@abtnode/blocklet-services 1.8.66 → 1.8.67-beta-f8b4c9ec

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 (48) hide show
  1. package/api/index.js +5 -1
  2. package/api/libs/connect/v1.js +46 -6
  3. package/api/routes/env.js +1 -0
  4. package/api/services/notification/index.js +17 -14
  5. package/api/services/relay/index.js +72 -0
  6. package/api/{services/notification/channel/did-channel.js → socket/channel/did.js} +2 -2
  7. package/api/{services/notification/channel/get-hooks-by-channel.js → socket/channel/hooks.js} +6 -2
  8. package/api/socket/channel/relay.js +28 -0
  9. package/api/{services/notification → socket}/util.js +6 -4
  10. package/build/asset-manifest.json +19 -19
  11. package/build/index.html +1 -1
  12. package/build/static/js/255.4b68f586.chunk.js +2 -0
  13. package/build/static/js/255.4b68f586.chunk.js.map +1 -0
  14. package/build/static/js/313.a7c0a03a.chunk.js +3 -0
  15. package/build/static/js/313.a7c0a03a.chunk.js.map +1 -0
  16. package/build/static/js/{371.ab486e50.chunk.js → 371.60842581.chunk.js} +2 -2
  17. package/build/static/js/371.60842581.chunk.js.map +1 -0
  18. package/build/static/js/409.ee9ecd0d.chunk.js +2 -0
  19. package/build/static/js/409.ee9ecd0d.chunk.js.map +1 -0
  20. package/build/static/js/560.4d01281e.chunk.js +2 -0
  21. package/build/static/js/560.4d01281e.chunk.js.map +1 -0
  22. package/build/static/js/737.76692b09.chunk.js +2 -0
  23. package/build/static/js/737.76692b09.chunk.js.map +1 -0
  24. package/build/static/js/{868.c537e380.chunk.js → 868.43103624.chunk.js} +2 -2
  25. package/build/static/js/868.43103624.chunk.js.map +1 -0
  26. package/build/static/js/906.24196de2.chunk.js +2 -0
  27. package/build/static/js/906.24196de2.chunk.js.map +1 -0
  28. package/build/static/js/main.40b5f8f8.js +3 -0
  29. package/build/static/js/{main.adf4dcff.js.map → main.40b5f8f8.js.map} +1 -1
  30. package/package.json +31 -31
  31. package/build/static/js/255.db03c1c4.chunk.js +0 -2
  32. package/build/static/js/255.db03c1c4.chunk.js.map +0 -1
  33. package/build/static/js/313.0dd4a9dc.chunk.js +0 -3
  34. package/build/static/js/313.0dd4a9dc.chunk.js.map +0 -1
  35. package/build/static/js/371.ab486e50.chunk.js.map +0 -1
  36. package/build/static/js/409.44ccfc22.chunk.js +0 -2
  37. package/build/static/js/409.44ccfc22.chunk.js.map +0 -1
  38. package/build/static/js/560.3efa5410.chunk.js +0 -2
  39. package/build/static/js/560.3efa5410.chunk.js.map +0 -1
  40. package/build/static/js/737.a6089895.chunk.js +0 -2
  41. package/build/static/js/737.a6089895.chunk.js.map +0 -1
  42. package/build/static/js/868.c537e380.chunk.js.map +0 -1
  43. package/build/static/js/906.e4362664.chunk.js +0 -2
  44. package/build/static/js/906.e4362664.chunk.js.map +0 -1
  45. package/build/static/js/main.adf4dcff.js +0 -3
  46. /package/api/{services/notification/channel/app-channel.js → socket/channel/app.js} +0 -0
  47. /package/build/static/js/{313.0dd4a9dc.chunk.js.LICENSE.txt → 313.a7c0a03a.chunk.js.LICENSE.txt} +0 -0
  48. /package/build/static/js/{main.adf4dcff.js.LICENSE.txt → main.40b5f8f8.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/js/409.ee9ecd0d.chunk.js","mappings":"mlBASQA,EAAuBC,EAAAA,YAAAA,SAAAA,EAAAA,YAAAA,SAG/B,SAASC,EAAa,GAAe,IAAbC,EAAQ,EAARA,SAChBC,EAAS,UAAMC,EAAAA,8BAA6B,kBAElD,EAA2CC,OAAOC,IAA1CC,EAAS,EAATA,UAAWC,EAAa,EAAbA,cAAeC,EAAI,EAAJA,KAE5BC,EAAQ,CACZP,UAAAA,EACAQ,IAAKC,EAAAA,EACLC,QAAAA,EAAAA,EACAC,GAAI,CACFC,YAAAA,EAAAA,GACAC,OAAAA,EAAAA,GACAC,gBAAAA,EAAAA,IAEFC,KAAM,UAGNC,KAAM,CAEJC,IAAKb,EACLc,QAASb,EACTC,KAAAA,IAIJ,OAAO,SAACV,EAAQ,CAACW,MAAO,CAAEY,KAAMZ,GAAQ,SAAER,GAC5C,C,qCC1BQH,EAAuBwB,EAAAA,YAAAA,SAE/B,GAF+BA,EAAAA,YAAAA,SAEClB,OAAOC,KAA1BkB,EAAO,EAAZJ,IAAcK,EAAK,EAALA,MAGtB,SAASC,EAAa,GAAe,IAAD,IAAZxB,EAAQ,EAARA,SACdyB,GAAaC,EAAAA,EAAAA,MAAbD,SAER,GAAsCE,EAAAA,EAAAA,UAAS,IAAG,eAA3CC,EAAW,KAAEC,EAAc,KAClC,GAA0BF,EAAAA,EAAAA,UAAS,IAAG,eAA/BG,EAAK,KAAEC,EAAQ,KACtB,GAAsCJ,EAAAA,EAAAA,UAAS,IAAG,eAA3CK,EAAW,KAAEC,EAAc,KAE5BC,GAAWC,EAAAA,EAAAA,gBAAeV,GAE1BW,GACmG,QAAvG,IAAS,OAARX,QAAQ,IAARA,OAAQ,EAARA,EAAUY,eAAgB,IAAIC,MAAK,SAACC,GAAC,OAAKA,EAAEC,MAAQC,EAAAA,0BAAAA,uBAAiD,WAAC,aAAvG,EAAyGjC,QACzG,OAEIkC,GAA2B,OAARjB,QAAQ,IAARA,OAAQ,EAARA,EAAUiB,mBAAoB,GACjDC,GAA8D,KAA7B,OAARlB,QAAQ,IAARA,OAAQ,EAARA,EAAUkB,wBAEnCC,EAAW,yCAAG,kHAEElC,EAAAA,EAAAA,aAAoB,CACpCmC,SAAU,CAAEC,MAAO,CAAExB,QAAAA,IACrByB,eAAgB,CAAED,MAAO,CAAExB,QAAAA,IAC3B0B,eAAgB,CAAEF,MAAO,CAAExB,QAAAA,MAC1B,KAAD,EAJI2B,EAAG,OAMTlB,GACGkB,EAAIJ,SAASf,OAAS,IAEpBoB,QAAO,SAACX,GAAC,OAAMY,EAAAA,YAAAA,MAAAA,MAAuB,SAACC,GAAC,OAAKA,EAAEC,OAASd,EAAEc,QAAUD,EAAEE,UAAYF,EAAEG,GAAG,GAAC,IAExFC,KAAI,SAACjB,GAEJ,OADAA,EAAEkB,YAAclB,EAAEkB,aAAW,uCAAoCvB,EAAQ,eAAOK,EAAEmB,OAC3EnB,CACT,KAEJN,EAAegB,EAAIF,eAAef,aAAe,IACjDH,EAAeoB,EAAID,eAAepB,aAAe,IAAI,gDAErD+B,EAAAA,QAAAA,MAAY,KAAIC,SAAS,yDAE5B,kBAvBgB,mCAyBXC,EAAQ,yCAAG,2GAUkB,OAVlB,iCAA2B,CAAC,EAAnBC,EAAK,EAALA,MAAOC,EAAM,EAANA,OACzBjB,EAAQ,CAAExB,QAAAA,GACZyC,IACFjB,EAAMiB,OAASA,GAGbD,IACFhB,EAAMgB,MAAQA,GAGhBhB,EAAMkB,KAAO,CAAEC,aAAc,GAAI,kBAE1BvD,EAAAA,EAAAA,SAAgB,CAAEoC,MAAAA,KAAQ,2CAClC,kBAba,oCAmBdoB,EAAAA,EAAAA,YAAU,WAAO,IAAD,EACD,OAARzC,QAAQ,IAARA,GAAc,QAAN,EAARA,EAAU0C,YAAI,OAAd,EAAgBjD,KAGrB0B,GACF,GAAG,CAAS,OAARnB,QAAQ,IAARA,GAAc,QAAN,EAARA,EAAU0C,YAAI,WAAN,EAAR,EAAgBjD,MAEpB,IAAMkD,EAAc,SAACC,GACfA,EAAK/C,UAAYA,GACnBsB,EAAYtB,EAEhB,GAEAP,EAAAA,EAAAA,IAAgBuD,EAAAA,OAAAA,WAAmBF,EAAa,CAAC9C,KACjDP,EAAAA,EAAAA,IAAgBuD,EAAAA,OAAAA,aAAqBF,EAAa,CAAC9C,KACnDP,EAAAA,EAAAA,IAAgBuD,EAAAA,OAAAA,aAAqBF,EAAa,CAAC9C,IAEnD,IAAMd,EAAQ,CACZc,QAAAA,EACAiD,cAAehD,EACfW,SAAAA,EACAN,YAAAA,EACAE,MAAAA,EACAE,YAAAA,EACAU,iBAAAA,EACA8B,YAAY,EACZ7B,uBAAAA,EACA8B,QA7BkB,WAAH,OAAS7B,GAAc,EA8BtCR,cAAAA,EACAsC,SAAUvE,OAAOwE,SAASC,OAC1BnD,SAAAA,EACAhB,IAAK,CACHoD,SAAAA,EACAgB,qBArCyB,WAAH,OAASnE,EAAAA,EAAAA,qBAA4B,CAAEoC,MAAO,CAAExB,QAAAA,IAAa,IAyCvF,OAAO,SAAC,EAAQ,CAACd,MAAOA,EAAM,SAAER,GAClC,C,8DC9Ge,SAAS8E,GAAkB,GAAyB,IAAvBrD,EAAQ,EAARA,SAAasD,GAAK,aAG5D,OAAO,SAAC,KAAU,QAACtD,SAAUA,EAAUuD,gBAFf,SAACC,GAAU,gBAAQC,IAAQ/E,OAAOwE,SAASC,OAAQK,GAAW,GAETF,GAC/E,CAMAD,GAAkBK,aAAe,CAAC,E,iHCMnB,SAASC,GAAO,GAAe,IAAD,EAAZpF,EAAQ,EAARA,SACvBqF,GAAMC,EAAAA,EAAAA,oBAAND,EACR,GAMI3D,EAAAA,EAAAA,MALF6D,EAAO,EAAPA,QACAC,EAAK,EAALA,MACWC,EAAe,EAA1BC,QAAWD,gBACXrF,EAAG,EAAHA,IACAqB,EAAQ,EAARA,SAEYkE,GHWGC,EAAAA,EAAAA,YAAW9F,EAAAA,aAApBsB,KGXAH,KACF0D,GAAWkB,EAAAA,EAAAA,MAIXC,EAAQ,CACZ,CACEC,MAAO,SACPvF,MALuBJ,EAAnBmB,OAON,CACEwE,MAAO,cACPvF,MATuBJ,EAAZe,SAWb,CACE4E,MAAO,kBACPvF,MAAe,OAARiB,QAAQ,IAARA,GAAc,QAAN,EAARA,EAAU0C,YAAI,WAAN,EAAR,EAAgB6B,YAEzB,CACED,MAAO,YACPvF,MAAOmF,EAASzE,KAElB,CACE6E,MAAO,iBACPvF,MAAOmF,EAASxE,UAIpB,OACE,WAAC8E,GAAe,CACdC,QAAQ,EACRC,WAAS,EACTC,YAAa,CACXC,OAAO,UAAC,KAAQ,CAACP,MAAOA,KACxB,WACArE,GAAY8D,IACZ,UAACe,GAAA,QAAM,CAACC,SAAS,SAAQ,UACvB,UAAC,IAAO,OAIV9E,GAAY+D,IACZ,WAACc,GAAA,QAAM,CAACC,SAAS,SAAQ,WACvB,WAACC,EAAA,EAAG,CAACC,QAAQ,OAAOC,WAAW,SAAQ,WACrC,UAACC,GAAA,QAAgB,CAACC,MAAM,QAAQC,GAAI,CAAEC,YAAa,MAClDC,EAAAA,EAAAA,aAAYvB,OAEf,UAACwB,GAAA,QAAM,CAACC,QAAS,kBAAMxB,GAAiB,EAAC,UACvC,kBAAMyB,MAAO,CAAEC,eAAgB,aAAc,SAAE9B,EAAE,yBAKpD5D,IACD,iBAAK2F,UAAU,wBAAuB,UACpC,iBAAKA,UAAU,wBAAuB,UACpC,UAACZ,EAAA,EAAG,CAACY,UAAU,wBAAuB,UACpC,UAACZ,EAAA,EAAG,CAACa,KAAM,EAAGC,QAAQ,OAAOb,QAAQ,OAAOc,cAAc,SAAQ,UAChE,UAAC,GAAAC,cAAa,CAACC,kBAAmBC,GAAAA,cAAeC,UAAW,CAAChD,EAASiD,UAAU,SAC7E5H,cASnB,CAMAoF,GAAOD,aAAe,CACpBnF,SAAU,MAGZ,I,GAAMiG,IAAkB4B,EAAAA,EAAAA,SAAOC,GAAAA,QAAPD,CAAiB,6PCpEzC,SAASE,KAAmB,CAE5B,SAASD,KAAa,IAAD,EACbE,GAAWC,EAAAA,EAAAA,MACmC,GAAXC,EAAAA,EAAAA,MAAjCC,IAAKC,OAAU,MAAG,WAAU,EACpC,GAGI1G,EAAAA,EAAAA,MAFFD,EAAQ,EAARA,SACWgE,EAAe,EAA1BC,QAAWD,gBAELJ,GAAMC,EAAAA,EAAAA,oBAAND,EAEFnE,EAAc,OAARO,QAAQ,IAARA,GAAc,QAAN,EAARA,EAAU0C,YAAI,WAAN,EAAR,EAAgBjD,IAMtBmH,EAAQ,yCAAG,mFACf5C,IAAkB,2CACnB,kBAFa,mCAIR6C,GAA0B7G,IAAY8G,EAAAA,EAAAA,cAAa9G,EAAS+G,QAAU,IAAKC,EAAAA,EAAAA,sBAAqBhH,GAEhGiH,EAAO,CACX,CAAE3C,MAAOV,EAAE,mBAAoB7E,MAAO,YAGtC,CACEuF,OACE,SAAC4C,EAAA,EAAK,CAAC/B,MAAM,QAAQgC,QAAQ,MAAMC,WAAYP,EAAuBQ,OAAO,SAC1EzD,EAAE,uBAGP7E,MAAO,gBAIN+H,EAAAA,EAAAA,cAAqB,OAAR9G,QAAQ,IAARA,OAAQ,EAARA,EAAU+G,SAC1BE,EAAKK,KAAK,CAAEhD,MAAOV,EAAE,wBAAyB7E,MAAO,kBAGvDkI,EAAKK,KAAK,CAAEhD,MAAOV,EAAE,oBAAqB7E,MAAO,eACjDkI,EAAKK,KAAK,CAAEhD,MAAOV,EAAE,eAAgB7E,MAAO,SAC5CkI,EAAKK,KAAK,CAAEhD,MAAOV,EAAE,2BAA4B7E,MAAO,eACxDkI,EAAKK,KAAK,CAAEhD,MAAOV,EAAE,kBAAmB7E,MAAO,YAE3CwI,EAAAA,GACFN,EAAKK,KAAK,CAAEhD,MAAOV,EAAE,kBAAmB7E,MAAO,aAGhCyI,EAAAA,EAAAA,qBAAoBxH,GACxBqH,OAKb,IAAMI,GAAkB,SAAC,IAAS,CAACC,MAAOjI,IAEpCkI,GAAO,QACXC,UAAU,SAAC,IAAQ,IACnBC,UAAU,SAACvB,GAAe,IAC1BwB,SACE,SAAC/C,EAAA,EAAG,CAACgD,IAAK,EAAE,UACV,SAAC,IAAO,CAACxI,KAAK,eAGlByI,WACE,SAACjD,EAAA,EAAG,CAACgD,IAAK,IAAI,UACZ,SAAC,IAAS,MAGdE,WAAYC,GACZC,eAAe,SAAC,IAAW,CAACnI,SAAUA,EAAU4G,SAAUA,IAC1D,aAAca,EACdW,KAAMC,EAAAA,EACNC,WAAYC,EAAAA,EACZC,SAAS,SAAC,IAAO,KACd,CACDC,QAASlB,EAAAA,GAAc,SAAC,IAAO,SAAMmB,IAGnCC,EAAehB,EAAQhB,IAAegB,EAAQC,SAE9CgB,GAAc,CAAC,UAAW,aAAaC,SAASlC,GAEhDmC,EAAW9I,GAGf,UAAC,EAAA+I,yBAAwB,CAACxJ,KAAK,aAAY,UACxCqJ,IAAc,SAACI,EAAA,QAAI,CAAC/B,KAAMA,EAAMgC,QAAStC,EAAYuC,SA5EtC,SAACC,GACnB5C,EAAS,GAAD,OAAI9H,EAAAA,8BAA6B,kBAAU0K,GACrD,EA0EiFC,cAAc,UAC3F,gBAAKzD,UAAU,eAAc,UAC1B0D,EAAAA,EAAAA,gBAAeV,GAAgBA,GAAe,SAACA,EAAY,CAAC3I,SAAUA,UAL3E,SAAC,IAAO,IAUV,OACE,SAAC1B,EAAY,WACX,SAACyB,EAAY,WACX,SAAC,GAAW,WACV,UAACuJ,GAAI,WACFV,IACC,iCACE,UAAC7D,EAAA,EAAG,CAACwE,UAAU,MAAM5D,UAAU,cAAa,WAC1C,UAACZ,EAAA,EAAG,CAACwE,UAAU,KAAKpC,QAAQ,KAAKxB,UAAU,aAAaR,MAAM,cAAa,UACxEnF,GAAW,SAAC,IAAiB,CAACA,SAAUA,EAAUyF,MAAO,CAAEJ,YAAa,MAAW,KACnFrF,GACC,UAAC+E,EAAA,EAAG,CAACC,QAAQ,OAAOC,WAAW,SAAQ,WACrC,SAACF,EAAA,EAAG,WAAErE,EAAAA,EAAAA,gBAAeV,OAClBA,IACD,SAAC,UAAc,CACbwJ,KAAK,OACL/D,MAAO,CAAEgE,WAAY,GACrB1C,OAAQ/G,EAAS+G,OACjB2C,OAAQ1J,EAAS0J,YAGjB,UAEH9F,EAAE,mBAAkB,YAAIA,EAAE,qBAGhC5D,GACC,SAAC,IAAe,CACd2F,UAAU,eACVgE,eAAa,EACb3J,SAAUA,EACV4J,QAAS,WAAO,EAChBC,WAAY,WAAqB,IAAD,yDAAP,CAAC,EAAX9F,EAAK,EAALA,MACTA,GACF7B,EAAAA,QAAAA,MAAY6B,EAAM5B,QAEtB,EACAgF,QAAQ,UAER,UAGHN,EAAuBQ,SACxB,SAACyC,EAAA,QAAK,CAACvK,KAAK,QAAQkG,MAAO,CAAEsE,OAAQ,UAAW,SAC7CnG,EAAE,wCAKVkF,UAMb,CAEe,SAASkB,KAAiB,IAAD,EAC9BhK,GAAaC,EAAAA,EAAAA,MAAbD,SAEFP,EAAc,OAARO,QAAQ,IAARA,GAAc,QAAN,EAARA,EAAU0C,YAAI,WAAN,EAAR,EAAgBjD,IAgB5B,OAdAgD,EAAAA,EAAAA,YAAU,WACR,IAAMwH,GAAW7K,EAAAA,EAAAA,MAMjB,OAJIK,GACFwK,EAASC,UAGJ,WACDzK,GAAOwK,EAASE,eAClBF,EAASG,YAEb,CACF,GAAG,CAAC3K,KAEG,SAAC,GAAS,GACnB,CAEA,IAAM6J,GAAOlD,EAAAA,QAAAA,KAAW,qxBAsBD,SAAC9C,GAAK,OAAKA,EAAM+G,MAAMC,YAAYC,OAAOC,EAAE,G,qCC7OtD,2DACTC,EAAmBC,MAAQA,KAAKD,iBAAoB,SAAUE,GAC9D,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAE,QAAWA,EACxD,EACAE,OAAOC,eAAeC,EAAS,aAAc,CAAEhM,OAAO,IACtDgM,EAAQC,yBAA2BD,EAAQE,mBAAqBF,EAAQG,UAAYH,EAAQI,SAAWJ,EAAQK,sBAAwBL,EAAQM,iBAAmBN,EAAQO,mBAAqBP,EAAQQ,eAAiBR,EAAQS,SAAWT,EAAQU,qBAAkB,EACrQ,IAAMC,EAAcjB,EAAgBkB,EAAQ,OACtCC,EAAYnB,EAAgBkB,EAAQ,QACpCE,EAASpB,EAAgBkB,EAAQ,QACjCG,EAAUrB,EAAgBkB,EAAQ,QAClCI,EAAStB,EAAgBkB,EAAQ,QACjCK,EAAcvB,EAAgBkB,EAAQ,QACtCM,EAAaxB,EAAgBkB,EAAQ,QACrCO,EAASzB,EAAgBkB,EAAQ,QACjCQ,EAAoB1B,EAAgBkB,EAAQ,QAC5CS,EAAWT,EAAQ,OACnBU,EAAkB,SAClBC,EAAY,IACZC,EAAe,IAYfrB,EAAY,SAACnM,GACf,UAAI,EAAIoN,EAAkBK,SAASzN,KAJlB,SAACA,GAClB,MAAO,mBAAmB0N,KAAK1N,IAAU,wBAAwB0N,KAAK1N,EAC1E,CAEiD2N,CAAa3N,GAI9D,EAEA,SAASyM,EAASmB,GAAkE,IAA5DC,EAAK,UAAH,6CAAG,WAAQ,EAAC,yDAA0C,CAAC,EAAC,IAAxC7L,IAAAA,OAAG,IAAG,aAAU,MAAE8L,MAAAA,OAAK,IAAG,UAAO,EACvE,SAASC,EAAK7D,GAAuD,6DAAJ,CAAC,EAAC,IAA1C8D,MAAAA,OAAK,IAAG,IAAC,MAAEC,OAAAA,OAAM,IAAG,OAAI,MAAEC,MAAAA,OAAK,IAAG,IAAC,EACpDC,MAAMC,QAAQlE,GACdA,EAAQmE,SAAQ,SAACC,EAAMC,GACnBR,EAAKO,EAAM,CAAEN,MAAOO,EAAGN,OAAAA,EAAQC,MAAOA,EAAQ,GAClD,IAEKhE,IACS,UAAV4D,GACAD,EAAG3D,EAAS+D,EAAQ,CAAED,MAAAA,EAAOE,MAAAA,IAEjCH,EAAK7D,EAAQlI,GAAM,CAAEiM,OAAQ/D,EAASgE,MAAAA,IACxB,SAAVJ,GACAD,EAAG3D,EAAS+D,EAAQ,CAAED,MAAAA,EAAOE,MAAAA,IAGzC,CACAH,EAAKH,EACT,CAOA,SAASpB,EAAegC,EAAUC,GAC9B,QAAIA,IAAYnB,KAAmB,EAAIP,EAAQU,SAASe,MAGpDL,MAAMC,QAAQI,GACPA,EAAS1E,SAAS2E,GAEtBD,IAAaC,EACxB,CAEA,SAASC,EAAaJ,GAClB,IACI,OAAOK,KAAKC,MAAMN,EAItB,CAFA,SACI,OAAOA,CACX,CACJ,CACA,SAASO,EAAwBC,GAC7B,OAAOA,EAAe9L,KAAI,SAACsL,GACvB,IAAMS,EAAW,EAAH,GAAQT,GAatB,OAZIS,EAASC,OACTD,EAASC,KAAON,EAAaK,EAASC,OAEtCD,EAASN,UACTM,EAASN,QAAUC,EAAaK,EAASN,UAEzCM,EAAS7L,QACT6L,EAAS7L,MAAQwL,EAAaK,EAAS7L,QAEvC6L,EAASE,OACTF,EAASE,KAAOP,EAAaK,EAASE,OAEnCF,CACX,GACJ,CACA,SAASG,IAAqC,IAAxBC,EAAS,UAAH,6CAAG,IAAKC,EAAM,UAAH,6CAAG,GACtC,IAAI,EAAIhC,EAAkBK,SAAS2B,GAAO,IACtC,OAAOA,EAGX,IAAMC,EAAYlC,EAAOM,QAAQ6B,KAAKH,EAAQC,GAAO5B,GACrD,OAAI6B,EAAU/G,OAAS,GAAK+G,EAAUE,SAAS,KACpCF,EAAUG,MAAM,EAAGH,EAAU/G,OAAS,GAE1C+G,CACX,CACA,SAASI,EAAcC,EAAaC,GAAqC,6DAAJ,CAAC,EAAC,IAArBC,OAAAA,OAAM,IAAG,GAAI,EACvDC,EAAaH,EACbI,EAAYH,EAKhB,GAJKC,IACDC,EAAaA,GAAc,IAC3BC,EAAYA,GAAa,MAEzB,EAAIzC,EAAS0C,UAAUF,KAAe,EAAIxC,EAAS2C,UAAUF,IAAc3D,EAAU2D,GACrF,OAAOhE,OAAOmE,KAAKJ,GAAYK,QAAO,SAACzN,EAAKT,GAExC,OADAS,EAAIT,GAAOkN,EAAaW,EAAW7N,GAAM8N,GAClCrN,CACX,GAAG,CAAC,GAER,IAAI,EAAI4K,EAAS2C,UAAUH,IAAe1D,EAAU0D,KAAe,EAAIxC,EAAS0C,UAAUD,GACtF,OAAOhE,OAAOmE,KAAKH,GAAWI,QAAO,SAACzN,EAAKT,GAEvC,OADAS,EAAIT,GAAOkN,EAAaW,EAAYC,EAAU9N,IACvCS,CACX,GAAG,CAAC,GAER,IAAI,EAAI4K,EAAS2C,UAAUH,KAAe,EAAIxC,EAAS2C,UAAUF,GAC7D,OAAI3D,EAAU0D,IAAe1D,EAAU2D,GAC5BZ,EAAaW,EAAYC,GAE7BA,EAEX,IAAI,EAAIzC,EAAS0C,UAAUF,KAAe,EAAIxC,EAAS0C,UAAUD,GAAY,CACzE,IAAMG,EAAO,EAAI,IAAIE,IAAI,GAAD,SAAKrE,OAAOmE,KAAKJ,IAAW,EAAK/D,OAAOmE,KAAKH,OACrE,OAAOG,EAAKC,QAAO,SAACzN,EAAKT,GAErB,OADAS,EAAIT,GAAOkN,EAAaW,EAAW7N,GAAM8N,EAAU9N,IAC5CS,CACX,GAAG,CAAC,EACR,CACA,OAAOqN,CACX,CA0BA,SAAS5D,IAAwE,IAArDkE,EAAO,UAAH,6CAAG,GAAE,yDAAwC,CAAC,EAAC,IAAtCC,MAAAA,OAAK,IAAG,IAAC,MAAEC,UAAAA,OAAS,IAAG,WAACC,GAAC,OAAKA,CAAC,IAC9DC,GAAW,EAAIvD,EAAYQ,SAAS2C,GACpCK,EAAY,GAwBlB,OAvBAhE,EAAS+D,GAAU,SAAClC,EAAML,EAAQ,GAAc,IAAZC,EAAK,EAALA,MAChC,GAAIA,GAASmC,EAAO,CAChB,MAAuB/B,EAAfoC,MAAAA,OAAK,IAAG,KAAE,EAClB,GAAIA,GAASvC,MAAMC,QAAQsC,IAAUA,EAAMpI,OAAS,EAAG,QAC5CgG,EAAKoC,MACZ,IAAMC,EAAmBD,EAAM1N,KAAI,SAACuN,GAAC,OAAKD,EAAUC,EAAGjC,EAAK,IAC5D,GAAIL,EAAQ,QACR,EAAAA,EAAOyC,OAAMnI,KAAI,UAAIoI,GACzB,KACK,CACD,IAAMC,EAAUN,GAAU,EAAItD,EAAOS,SAASa,EAAM,CAAC,UAAWL,GAChEwC,EAAUlI,KAAI,MAAdkI,EAAS,CAAMG,GAAO,SAAKD,IAC/B,CACJ,MACK,GAAc,IAAVzC,EAAa,CAClB,IAAM0C,EAAUN,GAAU,EAAItD,EAAOS,SAASa,EAAM,CAAC,UAAWL,GAChEwC,EAAUlI,KAAKqI,EACnB,CACJ,MACmB,IAAV1C,GACLuC,EAAUlI,KAAK+F,EAEvB,GAAG,CAAEtM,IAAK,QAAS8L,MAAO,SACnB2C,CACX,CAOA,SAASI,IAA2C,IAAf5P,EAAW,UAAH,6CAAG,CAAC,EACvCiI,EAAa,GAOnB,SAAS4H,EAA4B5G,GAAsB,QAAb+D,EAAS,UAAH,6CAAG,CAAC,EAC9C8C,EAAa,GACnB,EAAqC7G,EAA7B1K,SAAAA,OAAQ,IAAG,KAAE,IAAgB0K,EAAdvG,KAAAA,OAAI,IAAG,GAAC,EAAC,EAC1B4F,GAAa,EAAI0D,EAAYQ,UAAa,OAAJ9J,QAAI,IAAJA,OAAI,EAAJA,EAAM4F,aAAc,KACjB,KAA/B,QAAZ,EAAAW,EAAQvG,YAAI,OAAc,QAAd,EAAZ,EAAcqN,oBAAY,WAAd,EAAZ,EAA4BzH,aAC5BwH,EAAWxI,KAAI,MAAfwI,EAAU,EAASxH,IAEvB,IAI4B,EAJtB0H,EAAahD,EAAOpL,MAAQ,GAC5BqO,EAAajD,EAAOxJ,YAAc8I,EAClC4D,EAAcjH,IAAYjJ,EAAW,GAAK0C,EAAKd,MAAQ,GACvDuO,EAAclH,IAAYjJ,EAAW,GAAKiJ,EAAQzF,YAAc8I,EAAU,IAC5D/N,GAAQ,qBAAE,YAAnB6R,EAAK,QACNC,EAAYD,EAAM1N,KAAKd,KACvB0O,EAAYF,EAAM5M,WAClB+M,EAAY,CAACP,EAAYE,EAAaG,GAAW5O,OAAO+O,SAASnC,KAAK,KACtEoC,EAAkBL,EAAM1N,KAAK4F,YAAc,GAC3CoI,GAAY,EAAIzE,EAAWO,SAASyD,EAAYE,EAAaG,IACtB,KAA/B,QAAV,EAAAF,EAAM1N,YAAI,OAAc,QAAd,EAAV,EAAYqN,oBAAY,WAAd,EAAV,EAA0BzH,aAC1BL,EAAWX,KAAK,CACZ7H,IAAK2Q,EAAM1N,KAAKjD,IAChBmC,KAAM2O,EACNvC,KAAM0C,EACNzO,MAAOmO,EAAM1N,KAAKT,OAAS,GAC3BqG,WAAYmI,EAAgB1O,KAAI,SAACsL,GAAI,UAEjCG,QAASnB,GACNgB,EAAI,MAKnB,IAAMsD,EAAkBrI,EAAWzH,MAAK,SAACwM,GACrC,QAAIA,EAAK9D,WACE8D,EAAK9D,YAAc8G,CAGlC,IAEA,GAAIM,GACA,IAAKA,EAAgB3C,KACjB,GAAIoC,EAAM1N,KAAK4F,YAAc8H,EAAM1N,KAAK4F,WAAWjB,OAAS,EAAG,CAC3D,IACsB,IADhBoI,EAAQI,EAA4BO,EAAO,CAAE5M,WAAY2M,EAAavO,KAAMsO,IAClF,GAAIT,EAAMpI,OAAS,EACfsJ,EAAgBlB,MAA6B,QAAxB,EAAGkB,EAAgBlB,aAAK,QAAI,IACjD,EAAAkB,EAAgBlB,OAAMnI,KAAI,UAAImI,GAEtC,MAEIkB,EAAgB3C,KAAOzB,OAI9B,IAA6C,KAA/B,QAAV,EAAA6D,EAAM1N,YAAI,OAAc,QAAd,EAAV,EAAYqN,oBAAY,WAAd,EAAV,EAA0BzH,YAAsB,CACrD,IAAMsI,EAAaf,EAA4BO,EAAO,CAAE5M,WAAY2M,EAAavO,KAAMsO,IAEjFW,EAAU,CACZ5O,MAAOmO,EAAM1N,KAAKT,MAClBsH,UAAW8G,EAEXS,GAAIV,EAAM1N,KAAKjD,KAEfmR,EAAWvJ,OAAS,GACpBwJ,EAAQpB,MAAQmB,EAChBC,EAAQ7C,UAAOtF,GAGfmI,EAAQ7C,KAAOzB,EAEnBuD,EAAWxI,KAAKuJ,EACpB,CACJ,EA3DA,IAAK,EAAL,wBA2DC,+BACD,OAAOf,CACX,CACA,IAAMjC,EAAiBgC,EAA4B7P,GACnD,MAAO,CACH6N,eAAAA,EACA5F,WAAAA,EAER,CACA,SAAS8I,EAAuBzI,GAC5B,IAAM0I,GAAiB,EAAIhF,EAAYQ,SAASlE,GAAY7G,QAAO,SAAC4L,GAAI,OAAKA,EAAKyD,EAAE,IAuBpF,OAtBAtF,EAASwF,GAAgB,SAAC3D,EAAML,GAAW,MACvC,GAAIK,EAAKoC,OAASpC,EAAKoC,MAAMpI,OAAQ,CACjC,IAAK,IAAIiG,EAAID,EAAKoC,MAAMpI,OAAS,EAAGiG,GAAK,EAAGA,IACnCD,EAAKoC,MAAMnC,GAAGwD,IACfzD,EAAKoC,MAAMwB,OAAO3D,EAAG,GAIH,IAAtBD,EAAKoC,MAAMpI,QACPgG,EAAK9D,YACL8D,EAAKW,KAAOX,EAAKW,MAAQzB,EAGrC,CACIS,IACAK,EAAKL,OAASA,EAAO8D,GAErBzD,EAAKyD,GAAK,CAAC9D,EAAO8D,GAAIzD,EAAKyD,IAAIzC,KAjSvB,MAmSZhB,EAAK6D,KAAO7D,EAAK6D,MAAQ,OACzB7D,EAAK8D,QAAsB,QAAf,EAAG9D,EAAK8D,eAAO,QAC/B,GAAG,CAAEpQ,IAAK,UACHiQ,CACX,CAOA,SAASI,EAAkB9I,GAAuB,IAAX8G,EAAQ,UAAH,6CAAG,EACrC4B,GAAiB,EAAIhF,EAAYQ,SAASlE,GAC1C+I,EAAUpG,EAAmB+F,EAAgB,CAC/C5B,MAAAA,EACAC,UAAW,SAAChC,EAAML,GACF,MAARA,IACKK,EAAKiE,UACNjE,EAAKiE,QAAUtE,EAAO8D,GACjB9D,EAAOzD,YACR8D,EAAKW,KAAOQ,EAAcxB,EAAOgB,KAAMX,EAAKW,QAGpDX,EAAKG,QAAUH,EAAKG,SAAWR,EAAOQ,SAAW,CAACnB,GAClDgB,EAAK8D,QAAsB,QAAf,EAAG9D,EAAK8D,eAAO,QAAInE,EAAOmE,SAG1C,OADA9D,EAAK9D,UAAY,CAACyD,EAAOzD,UAAW8D,EAAK9D,WAAW9H,OAAO+O,SAASnC,KAAK,KAClEhB,CACX,IAgBJ,OAdA7B,EAAS6F,GAAS,SAAChE,GACXA,EAAKoC,OAASpC,EAAKoC,MAAMpI,OAAS,GAClCgG,EAAKoC,MAAM8B,aAAY,SAACC,EAAKC,GACzB,GAAIA,EAAIH,QAAS,CACb,IAAMvE,EAAQM,EAAKoC,MAAMiC,WAAU,SAACpC,GAAC,OAAKA,EAAEwB,KAAOW,EAAIH,OAAO,IAC1DvE,GAAS,GACTM,EAAKoC,MAAMwB,OAAOlE,EAAO,UAEtB0E,EAAIH,OACf,CACA,OAAO,IACX,GAAG,KAEX,GAAG,CAAEvQ,IAAK,UACHsQ,CACX,CA6BA,SAASrG,EAAyB1C,GAC9B,IAE2C,EAFrC0I,GAAiB,EAAIhF,EAAYQ,SAASlE,GAC1CqJ,EAAoB,GAAG,IACAX,GAAc,qBAAE,IAAlCY,EAAc,QACfC,GAAiB,EAAI7F,EAAYQ,UAAS,EAAIT,EAAOS,SAASoF,EAAgB,CAAC,WAC/EE,EAAqB,GAE3B,SAASC,EAAoB1E,EAAMG,GAC/B,IAAMwE,EA9BlB,SAAoCJ,EAAgBpE,GAChD,OAAIA,GAAWN,MAAMC,QAAQyE,EAAenC,OACjCmC,EAAenC,MACjBhO,QAAO,SAAC4L,GAET,OAAI,EAAIvB,EAAQU,SAASa,EAAKG,SACnBjC,EAAeqG,EAAepE,QAASA,KAE9CjC,EAAe8B,EAAKG,QAASA,EAIrC,IACKzL,KAAI,SAACsL,GAAI,cAAWA,GAAI,IAAEG,QAAAA,GAAO,IAEnC,EACX,CAc0CyE,CAA2B5E,EAAMG,GAC/DsE,EAAmBxK,KAAK,EAAD,KAChBuK,GAAc,IACjBrE,QAAAA,EACAiC,MAAOuC,IAEf,CACA,GAAI9E,MAAMC,QAAQyE,EAAepE,SAAU,KACK,EADL,IACjBoE,EAAepE,SAAO,IAA5C,IAAK,EAAL,qBAA8C,CAC1CuE,EAAoBH,EADN,QAElB,CAAC,+BACL,MACK,GAAIA,EAAepE,QAAS,CAE7BuE,EAAoBH,EADAA,EAAZpE,QAEZ,MACK,GAAIoE,EAAenC,OAASmC,EAAenC,MAAMpI,OAAS,EAAG,CAC9D,IAMiC,EAN3B6K,EAAiBN,EAAenC,MAAMR,QAAO,SAACE,EAAMgD,GACtD,IAA0D,GAAlBA,GAAgB,CAAC,GAAjD3E,QAAAA,OAAO,IAAG,GAACnB,GAAgB,EAEnC,OADA8C,EAAK7H,KAAI,MAAT6H,EAAI,EAAS3B,IACN2B,CACX,GAAG,IACGiD,EAAc,EAAI,IAAIlD,IAAIgD,IAAiB,IAC3BE,GAAW,IAAjC,IAAK,EAAL,qBAAmC,CAC/BL,EAAoBH,EADN,QAElB,CAAC,+BACL,MAEIE,EAAmBxK,KAAK,EAAD,KAChBsK,GAAc,IACjBpE,QAASnB,KAGjBsF,EAAkBrK,KAAI,MAAtBqK,EAA0BG,EAC9B,EAvCA,IAAK,EAAL,wBAuCC,+BACD,OAAOH,CACX,CAOA,SAASrG,IAA8B,IAAX6D,EAAO,UAAH,6CAAG,GACzBkD,GAAY,EAAIrG,EAAYQ,SAAS2C,GAmB3C,OAlBAkD,EAAUd,aAAY,SAAC/P,EAAK6L,EAAMN,GAC9B,GAAIM,EAAKL,OAAQ,CACb,IAAMA,EAASqF,EAAUxR,MAAK,SAACyM,GAC3B,OAAID,EAAKG,SAAWF,EAAEE,QACXF,EAAEE,UAAYH,EAAKG,SAAWF,EAAEwD,KAAOzD,EAAKL,OAEhDM,EAAEwD,KAAOzD,EAAKL,MACzB,IACIA,IACKA,EAAOyC,QACRzC,EAAOyC,MAAQ,IAEnBzC,EAAOyC,MAAQ,CAACpC,GAAI,SAAKL,EAAOyC,SAEpC4C,EAAUpB,OAAOlE,EAAO,EAC5B,CACA,OAAO,IACX,GAAG,MACIsF,CACX,CApaAtH,EAAQG,UAAYA,EAoBpBH,EAAQS,SAAWA,EAenBT,EAAQQ,eAAiBA,EAwFzBR,EAAQI,SAhBR,SAAkB7C,EAAYL,GAC1B,IAAM+I,GAAiB,EAAIhF,EAAYQ,SAASlE,GAahD,OAZAkD,EAASwF,GAAgB,SAAC3D,EAAML,GAC5B,IAAMzD,EAAY8D,EAAK9D,WAAa8D,EAAK+C,MACzC,GAAI7G,EAAW,CACX,IAAM+I,EAAgBrK,EAAWpH,MAAK,SAACyO,GAAC,OAAKA,EAAE1N,OAAS2H,CAAS,IAC7D+I,IACAjF,EAAKW,KAAOQ,EAAc8D,EAActE,KAAMX,EAAKW,KAAM,CAAEW,QAAQ,IAE3E,MACS3B,IACLK,EAAKW,KAAOQ,EAAcxB,EAAOgB,KAAMX,EAAKW,MAEpD,GAAG,CAAEjN,IAAK,UACHiQ,CACX,EAsCAjG,EAAQE,mBAAqBA,EAyO7BF,EAAQC,yBAA2BA,EA4BnCD,EAAQO,mBAAqBA,EA8B7BP,EAAQM,iBA7BR,SAA0BwC,GAAiC,IAAjB5F,EAAa,UAAH,6CAAG,GAC7CsK,EAAmBjH,EAAmBuC,GAC5CrC,EAAS+G,GAAkB,SAAClF,GAMxB,GALQ,OAAJA,QAAI,IAAJA,GAAAA,EAAM9D,YACDtB,EAAWuK,MAAK,SAAC1R,GAAC,OAAKA,EAAEc,OAASyL,EAAK9D,SAAS,MACjD8D,EAAK8D,SAAU,IAGnB9D,EAAKoC,OAASpC,EAAKoC,MAAMpI,OACzB,IAAK,IAAIiG,EAAID,EAAKoC,MAAMpI,OAAS,EAAGiG,GAAK,EAAGA,KACV,IAA1BD,EAAKoC,MAAMnC,GAAG6D,SACd9D,EAAKoC,MAAMwB,OAAO3D,EAAG,EAIrC,GAAG,CAAEvM,IAAK,UACV,IAAM0R,EAAqBF,EAAiB9Q,QAAO,SAAC4L,GAAS,MACzD,OAAqB,IAAjBA,EAAK8D,WAGL9D,EAAKoC,OACLvC,MAAMC,QAAQE,EAAKoC,QACnBpC,EAAKoC,MAAMpI,OAAS,GACV,QADW,EACrBgG,EAAKoC,aAAK,OAAV,EAAYiD,OAAM,SAACpD,GAAC,OAAmB,IAAdA,EAAE6B,OAAiB,IAGpD,IACA,OAAOsB,CACX,EAaA1H,EAAQK,sBAXR,SAA+B+D,GAE3B,OAAOA,EAAKpN,KAAI,SAACsL,GACb,OAAIA,EAAKoC,OAASvC,MAAMC,QAAQE,EAAKoC,QAAgC,IAAtBpC,EAAKoC,MAAMpI,QAClD,CAAC,SAAU,SAAU,QAAIqB,EAAW,MAAMG,SAASwE,EAAKG,SACjDH,EAAKoC,MAAM,GAGnBpC,CACX,GACJ,EAwCAtC,EAAQU,gBAtCR,WAAsD,MAA7BzL,EAAW,UAAH,6CAAG,CAAC,EAAG2S,EAAU,UAAH,6CAAG,CAAC,EAC/C,EAAqCA,EAA7BC,cAAAA,OAAa,IAAG,WAACtD,GAAC,OAAKA,CAAC,IAChC,EAA0DM,EAA4B5P,GAA9D6S,EAAiB,EAAjChF,eAAmC5F,EAAU,EAAVA,WACrC6K,GAA+B,OAAR9S,QAAQ,IAARA,GAAkB,QAAV,EAARA,EAAU+S,gBAAQ,WAAV,EAAR,EAAoBC,cAAe,GAC1DC,EAAsB7B,EAAkBwB,EAAcC,IACtDK,EAAoBnC,EAAuBkC,GAC3CE,EAAkBnI,EAAyBkI,GAE3CE,EAAoBD,EAAgBlE,QAAO,SAACuC,EAAKC,GACnD,MAAI,CAAC,SAAU,SAAU,kBAAkB5I,SAAS4I,EAAIjE,UAChDiE,EAAIhC,OAASgC,EAAIhC,MAAMpI,OAAS,GAChCmK,EAAIlK,KAAI,MAARkK,EAAG,EAASC,EAAIhC,MAAM1N,KAAI,SAACjB,GACvB,IAAQ0M,EAAYiE,EAAZjE,QACFQ,EAAOQ,EAAciD,EAAIzD,KAAMlN,EAAEkN,MACjCzE,EAAY,CAACkI,EAAIlI,UAAWzI,EAAEyI,WAAW9H,OAAO+O,SAASnC,KAAK,KACpE,OAAO,EAAP,KAAYvN,GAAC,IAAE0M,QAAAA,EAASQ,KAAAA,EAAMzE,UAAAA,EAAWyD,OAAQ,IACrD,MACOwE,IAGfA,EAAIlK,KAAKmK,GACFD,EACX,GAAG,IACG6B,EAAiBpI,EAAmBmI,EAAmB,CACzD/D,UAAS,SAAChC,EAAML,GACZ,IAAMzD,EAAc8D,EAAd9D,UAIN,OAHU,OAANyD,QAAM,IAANA,GAAAA,EAAQzD,YACRA,EAAY,CAACyD,EAAOzD,UAAW8D,EAAK9D,WAAW9H,OAAO+O,SAASnC,KAAK,MAEjE,EAAP,KAAYhB,GAAI,IAAE9D,UAAAA,GACtB,IAEE+J,GAAgB,EAAI5H,EAAYc,SAASoB,EAAwBkF,GAAuBO,GAAgB,SAACE,EAAMC,GACjH,IAAMxE,EAAO,CAAC,KAAM,WACpB,OAAO,EAAIpD,EAAUY,UAAS,EAAIX,EAAOW,SAAS+G,EAAMvE,IAAO,EAAInD,EAAOW,SAASgH,EAAMxE,GAC7F,IACA,MAAO,CAAEnB,eAAgByF,EAAerL,WAAAA,EAAYwL,YAAaJ,EACrE,C,wBCzhBA,IAAMK,EAAU/H,EAAQ,OAIxBgI,EAAO5I,QAFY,SAACnJ,GAAI,OAAK8R,EAAQ9R,EAAKgS,QAAQ,UAAW,IAAIA,QAAQ,UAAW,KAAK,C,wBCFzF,IAAMC,EAAsBlI,EAAQ,MAEpCgI,EAAO5I,QAAU,SAAC+I,EAAGC,GAAC,OAAKF,EAAoBC,KAAOD,EAAoBE,EAAE,C,oCCF/D,uBAEblJ,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBiJ,EAClB,IAUIC,EAVAC,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C0I,EAAUD,EAAuBzI,EAAQ,QACzC2I,EAAcF,EAAuBzI,EAAQ,QAC7C4I,EAAQH,EAAuBzI,EAAQ,OACvC6I,EAAYJ,EAAuBzI,EAAQ,QAC3C8I,EAAaL,EAAuBzI,EAAQ,QAC5C+I,EAAgBN,EAAuBzI,EAAQ,QAC/CgJ,EAAgBP,EAAuBzI,EAAQ,QAC/CiJ,EAAcjJ,EAAQ,OAEpBkJ,EAAY,CAAC,WACjBC,EAAa,CAAC,OAAQ,OAAQ,UAAW,YAC3C,SAASV,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAAS1B,EAAQoD,GACX,IACAnT,EACEmT,EADFnT,QAEFX,EAAQsT,EAAyBQ,EAAMvC,GACzC,GAAgC,EAAIX,EAAOhU,UAAU,MAAK,SAAnDmX,EAAQ,KAAEC,EAAW,KACtBC,EAAO/G,QAAQ6G,GASfG,EAAU,SAAAC,GACd,IACEA,EAAEC,kBACFD,EAAEE,gBAEgB,CAAlB,MAAOC,GAAW,CACpBN,EAAY,KACd,EACA,OAAoB,EAAI1C,EAAYiD,MAAMC,EAAKrC,EAAcA,EAAc,CAAC,EAAGnS,GAAQ,CAAC,EAAG,CACzF/E,SAAU,EAAc,EAAIqW,EAAYmD,KAAKzD,EAAY9H,QAAS,CAChE,aAAc,OACd,gBAAiB,eACjB,gBAAiB,OACjB,UAAW,oBACXhH,QAtBW,SAAAiS,GACb,IACEA,EAAEC,kBACFD,EAAEE,gBAEe,CAAjB,MAAOK,GAAU,CACnBV,EAAYG,EAAEQ,cAChB,EAgBIzO,KAAM,QACNjL,UAAuB,EAAIqW,EAAYmD,KAAKtD,EAAWjI,QAAS,CAAC,MAClD,EAAIoI,EAAYmD,KAAKxD,EAAM/H,QAAS,CACnDsE,GAAI,eACJ,UAAW,eACXuG,SAAUA,EACVa,aAAa,EACbX,KAAMA,EACNC,QAASA,EACTW,WAAY,CAAC,EACb5Z,SAAU0F,EAAQlC,KAAI,SAACqW,EAAQrL,GAC7B,GAAsB,oBAAXqL,EACT,OAAOA,EAAO,CACZC,MAAOb,IAGX,IACIc,EAIEF,EAJFE,KACAC,EAGEH,EAHFG,KACSC,EAEPJ,EAFF5S,QAAO,EAEL4S,EADFK,SAAAA,OAAQ,IAAG,GAAK,EAElBC,EAAO9B,EAAyBwB,EAAQtD,GAC1C,OAAoB,EAAIZ,EAAOyE,eAAenE,EAAUhI,QAASiJ,EAAcA,EAAc,CAAC,EAAGiD,GAAO,CAAC,EAAG,CAC1GD,SAAUA,EACVG,OAAO,EACPpT,QAAS,SAAAiS,GACPD,IACAgB,EAASf,EACX,EAGA1W,IAAKgM,KACU,EAAI6H,EAAYmD,KAAKrD,EAAclI,QAAS,CAC3D/G,MAAO,CACLoT,SAAU,GACVxT,YAAa,GAEf9G,SAAU+Z,KACK,EAAI1D,EAAYmD,KAAKpD,EAAcnI,QAAS,CAC3DsM,QAASP,IAEb,SAGN,CACAvE,EAAQ+E,UAAY,CAClB9U,QAASkQ,EAAW3H,QAAQwM,OAE9BhF,EAAQtQ,aAAe,CACrBO,QAAS,IAEX,IA1FgCgV,EAASC,EA0FnCpB,EAAMzD,EAAQ7H,QAAQ2M,IAAIlF,IA1FAgF,EA0F6D,CAAC,IA1FzCC,IAAOA,EAAMD,EAAQ1K,MAAM,IA0F5B0F,EA1FyCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,Q,qCCpB7J,gFAEbrO,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBsO,EAClBtO,EAAQuO,8BAA2B,EACnC,IA2BIrF,EAAiBsF,EA3BjBrF,EAASvI,EAAQ,OACjB6N,EAAOpF,EAAuBzI,EAAQ,QACtC0I,EAAUD,EAAuBzI,EAAQ,QACzCwI,EAAaC,EAAuBzI,EAAQ,QAC5C8N,EAAarF,EAAuBzI,EAAQ,QAC5C6I,EAAYJ,EAAuBzI,EAAQ,QAC3C2I,EAAcF,EAAuBzI,EAAQ,QAC7C+N,EAAOtF,EAAuBzI,EAAQ,QACtCgO,EAAQvF,EAAuBzI,EAAQ,QACvCiO,EAAYxF,EAAuBzI,EAAQ,QAC3CkO,EAASzF,EAAuBzI,EAAQ,QACxCmO,EAAQ1F,EAAuBzI,EAAQ,QACvCgJ,EAAgBP,EAAuBzI,EAAQ,QAC/CoO,EAAY3F,EAAuBzI,EAAQ,QAC3CqO,EAAYrO,EAAQ,OACpBsO,EAAatO,EAAQ,OACrBuO,EAAQvO,EAAQ,MAChBwO,EAAWxO,EAAQ,OACnByO,EAAUhG,EAAuBzI,EAAQ,QACzC0O,EAAUjG,EAAuBzI,EAAQ,QACzC2O,EAAoBlG,EAAuBzI,EAAQ,KACnD4O,EAAQ5O,EAAQ,OAChB6O,EAAQ7O,EAAQ,OAChB8O,EAAS9O,EAAQ,OACjB+O,EAAStG,EAAuBzI,EAAQ,QACxCgP,EAAUvG,EAAuBzI,EAAQ,QACzCiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAAS6F,EAAuB3B,EAASC,GAA6C,OAAjCA,IAAOA,EAAMD,EAAQ1K,MAAM,IAAa1D,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,MAAY,CACtL,IAAM2B,EAAc,QACdC,EAAU,GAAH,SAAOH,EAAQnO,SAAO,CAAE,CACnCzN,MAAO8b,EACPvC,KAAMuB,EAAOrN,QACbvK,MAAO,CACL8Y,GAAI,mDACJC,GAAI,oCAENhZ,YAAa,CACX+Y,GAAI,2EACJC,GAAI,0CAGFC,EAAY,SAACC,EAAcC,GAC/B,GAAID,GAAgBA,EAAaE,WAAWnB,EAAWoB,6BAA8B,CACnF,IAAMC,GAAY,EAAIpB,EAAMqB,wBAAwB,CAClDL,aAAAA,IAEIM,EAAcL,EAAU1Z,QAAO,SAAAX,GAAC,OAAIwa,EAAUzS,SAAS/H,EAAEc,KAAK,IACpE,MAAO,CACL6Z,OAAQZ,EACRxa,MAAOmb,EAEX,CACA,MAAO,CACLC,OAAQP,EACR7a,MAAO,GAEX,EACMiZ,EAA2B,SAAkC/P,EAAWmS,GAC5E,MAEI/F,UAAUtO,OAAS,QAAsBqB,IAAjBiN,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAAC,IADxEtV,MAAAA,OAAK,IAAG,KAAE,EAENob,GAAUlS,EAAUoS,SAAW,IAAI9a,MAAK,SAAAC,GAAC,OAAIA,EAAEC,MAAQiZ,EAAUhZ,0BAA0B4a,oBAAoB,IACrH,GAAIH,EACF,OAAOR,EAAUQ,EAAO1c,MAAOsB,GAEjC,GAAIqb,IAAO,EAAIlC,EAAKhN,SAASkP,EAAK,2BAA4B,EAAIlC,EAAKhN,SAASkP,EAAK,2BAA6BzB,EAAW4B,eAAeC,IAC1I,OAAOb,GAAU,EAAIzB,EAAKhN,SAASkP,EAAK,yBAA0Brb,GAEpE,IAAM0b,GAAU,EAAI7B,EAAM8B,qBAAqBzS,EAAU7G,KAAMuX,EAAWgC,cAAcC,MACxF,OAAI,EAAI1C,EAAKhN,SAASuP,EAAS,uBACtBd,EAAUc,EAAQI,OAAOjB,aAAc7a,GAEzC,CACLob,OAAQxB,EAAW4B,eAAeC,IAClCzb,MAAO,GAEX,EAEA,SAASgZ,EAAajC,GACpB,IACEpX,EAGEoX,EAHFpX,SACAoc,EAEEhF,EAFFgF,UACA7d,EACE6Y,EADF7Y,SAEI8L,GAAQ,EAAIuP,EAAUpN,WAC5B,GAAoC,EAAI0H,EAAOhU,UAAU,IAAG,SAArDmc,EAAU,KAAEC,EAAa,KAChC,GAGI,EAAInC,EAAStW,oBAFfD,EAAC,EAADA,EACA2Y,EAAM,EAANA,OAGAvd,GACE,EAAIub,EAAMiC,kBADZxd,IAGOyd,GACL,EAAIjC,EAAMkC,kBADZrc,MAEF,GAA8B,EAAI6T,EAAOhU,UAAU,IAAG,SAA/C4D,EAAO,KAAE6Y,EAAU,KACpBC,EAAOR,EAAU,IAAMpc,EAC7B,EAGIsZ,EAAyBtZ,EAAU4c,EAAM,CAC3Cvc,MAAOoc,IAHCI,EAAY,EAApBpB,OACOqB,EAAY,EAAnBzc,MAIF,GAAwC,EAAI6T,EAAOhU,UAAU2c,GAAa,SAAnE3B,EAAY,KAAE6B,GAAe,KACpC,IAA0B,EAAI7I,EAAOhU,UAAU4c,GAAa,WAArDzc,GAAK,MAAEC,GAAQ,MAChB0c,GAAO,GAAH,SAAOZ,EAAUra,KAAI,SAAAjB,GAAC,OAAIA,EAAE4B,KAAKjD,GAAG,KAAC,CAAEO,EAAS0C,KAAKjD,MACzDwd,GAAY,CAChB5X,YAAa,EACb6X,SAAU,GACVC,cAAe,cACfhY,MAAOkF,EAAM+S,QAAQ7E,KAAK8E,WAEtBC,GAAgBlB,EAAUmB,OAAOvd,GAAU+B,KAAI,SAAAjB,GAAC,OAAI,EAAIoZ,EAAMxZ,gBAAgBI,GAAG,EAAK,IAAEuN,KAAK,OACnG,IAAI,EAAIoM,EAAO3T,cAAc9G,EAAS+G,QACpC,OAAO,KAET,GAAwB,YAApB/G,EAAS+G,SAAwB,EAAI0T,EAAO3T,cAAc9G,EAAS+G,QACrE,OAAO,KAET,IAAMyQ,GAAU,WACd8E,GAAc,EAChB,EACMkB,GAAS,SAAA/F,GACbA,EAAEC,kBAEF4E,GAAc,EAChB,EAUMmB,GAAS,6BAAG,wFACZ3Z,EAAS,CAAF,gDAQR,OALH6Y,GAAW,GAAM,UAEX5d,EAAQmc,KACEL,IACZ9b,EAAQ,GAAGwe,OAAOtD,EAAWoB,6BAA6BkC,OAAOld,GAAM0B,KAAI,SAAAjB,GAAC,OAAIA,EAAEc,IAAI,IAAEyM,KAAK,OAC9F,SACKrP,EAAI0e,mBAAmB,CAC3Brc,MAAO,CACL5B,IAAKud,GACL9B,aAAcnc,KAEhB,OACF2b,EAAOlO,QAAQmR,QAAQ/Z,EAAE,sCACzB4T,KACAmF,GAAW,GAAO,kDAElBA,GAAW,GACXjC,EAAOlO,QAAQzI,OAAM,EAAI0W,EAAOnV,aAAa,EAAF,KAAQ,0DAEtD,kBAvBc,mCAwBTmT,GAAW3U,GAAWoX,IAAiBL,IAAgBxa,GAAMgH,OACnE,MAAO,CAAqB,oBAAb9I,EAA0BA,EAAS,CAChDgZ,KAAMiG,MACU,EAAI5I,EAAYmD,KAAKzD,EAAY9H,QAAS,CAC1DhH,QAASgY,GACT,UAAW,0BACXjf,UAAuB,EAAIqW,EAAYmD,KAAK4B,EAAMnN,QAAS,CAAC,KAC1D6P,IAA2B,EAAIzH,EAAYiD,MAAM+F,EAAc,CACjErG,MAAM,EACN7S,WAAW,EACXzC,MAAOqb,GACP9F,QAASA,GACTW,WAAY,CACV1S,MAAO,CACLoY,UAAW,SAGf5Z,SAAsB,EAAI2Q,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAChEvf,SAAU,EAAc,EAAIqW,EAAYmD,KAAKsC,EAAQ7N,QAAS,CAC5DhH,QAASgS,GACTrS,MAAO,UACP,UAAW,uBACX5G,SAAUqF,EAAE,oBACG,EAAIgR,EAAYiD,MAAMwC,EAAQ7N,QAAS,CACtDhH,QAASiY,GACTtY,MAAO,UACPsT,SAAUA,GACVtR,QAAS,YACT4W,WAAW,EACX,UAAW,wBACXxf,SAAU,CAACuF,IAAwB,EAAI8Q,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACjFhD,KAAM,KACJ5F,EAAE,wBAGVrF,SAAU,EAAc,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACzDzE,GAAI,EACJiW,GAAI,EACJzf,UAAuB,EAAIqW,EAAYmD,KAAK0B,EAAWjN,QAAS,CAC9DlI,MAAOV,EAAE,sCACTqa,QAAQ,EACRvZ,WAAW,EACX3F,MAAOmc,EACPhS,SA5EuB,SAAAuO,GAC3B,IACE1Y,EACE0Y,EAAE/B,OADJ3W,MAEFge,GAAgBhe,EAClB,EAwEM,UAAW,uBACXmf,YAAa,CACXC,YAAa,SAAAC,GACX,IAAMC,EAAIvD,EAAQja,MAAK,SAAAC,GAAC,OAAIA,EAAE/B,QAAUqf,CAAQ,IAChD,OAAOC,GAAiB,EAAIzJ,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1DjO,SAAU,EAAc,EAAIqW,EAAYmD,KAAKsG,EAAE/F,KAAM,CACnD7S,MAAOwX,KACLoB,EAAEpc,MAAMsa,MACT,IACP,GAEFhe,SAAUuc,EAAQ/Y,KAAI,SAAAsc,GACpB,OAAoB,EAAIzJ,EAAYiD,MAAMyG,EAAgB,CACxDvf,MAAOsf,EAAEtf,MACTqG,GAAI,CACFJ,QAAS,SAEX,UAAW,qBAAqBuY,OAAOc,EAAEtf,OACzCR,SAAU,EAAc,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1DxH,QAAS,OACTC,WAAY,SACZ1G,SAAU,EAAc,EAAIqW,EAAYmD,KAAKsG,EAAE/F,KAAM,CACnD7S,MAAOwX,MACQ,EAAIrI,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDjO,SAAU8f,EAAEpc,MAAMsa,SAEL,EAAI3H,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDjO,UAAuB,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACxD7G,UAAW,MACXpH,SAAU8f,EAAErc,YAAYua,SAIhC,QAEArB,IAAiBL,IAA4B,EAAIjG,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClFzE,GAAI,EACJiW,GAAI,EACJzf,UAAuB,EAAIqW,EAAYmD,KAAK0B,EAAWjN,QAAS,CAC9DlI,MAAOV,EAAE,sCACTqa,QAAQ,EACRvZ,WAAW,EACX3F,MAAOsB,GAAM0B,KAAI,SAAAjB,GAAC,OAAIA,EAAEc,IAAI,IAC5BsH,SAlHgB,SAAAuO,GACpBnX,GAASmc,EAAShb,QAAO,SAAAX,GAAC,OAAK2W,EAAE/B,OAAO3W,OAAS,IAAI8J,SAAS/H,EAAEc,KAAK,IACvE,EAiHMsc,YAAa,CACXK,UAAU,EACVJ,YAAa,SAAAC,GAAQ,OAAiB,EAAIxJ,EAAYmD,KAAK2B,EAAKlN,QAAS,CACvEpH,GAAI,CACFJ,QAAS,OACTwZ,SAAU,OACVC,IAAK,IAEPlgB,SAAU6f,EAASrc,KAAI,SAAAhD,GACrB,IAAMgP,EAAO0O,EAAS5b,MAAK,SAAAC,GAAC,OAAIA,EAAEc,OAAS7C,CAAK,IAChD,OAAoB,EAAI6V,EAAYmD,KAAK+B,EAAMtN,QAAS,CACtDlI,MAAOyJ,EAAK9L,OACX8L,EAAKwK,KACV,KACA,GAEJha,SAAUke,EAAS1a,KAAI,SAAA2c,GACrB,IACE9c,EAEE8c,EAFF9c,KACAK,EACEyc,EADFzc,MAEF,OAAoB,EAAI2S,EAAYiD,MAAMrD,EAAUhI,QAAS,CAC3DzN,MAAO6C,EACPrD,SAAU,EAAc,EAAIqW,EAAYmD,KAAKgC,EAAUvN,QAAS,CAC9DmS,QAASte,GAAMmS,MAAK,SAAA1R,GAAC,OAAIA,EAAEc,OAASA,CAAI,OACzB,EAAIgT,EAAYmD,KAAKpD,EAAcnI,QAAS,CAC3DsM,QAAS7W,MAEVL,EACL,WAIR,CA7MAmJ,EAAQuO,yBAA2BA,EA8MnCD,EAAaN,UAAY,CACvB/Y,SAAUmU,EAAW3H,QAAQyI,OAAO2J,WACpCxC,UAAWjI,EAAW3H,QAAQwM,MAC9Bza,SAAU4V,EAAW3H,QAAQqS,KAE/BxF,EAAa3V,aAAe,CAC1B0Y,UAAW,GACX7d,SAAU,MAEZ,IAAMqf,GAAe,EAAIvJ,EAAQ7H,SAAS4N,EAAQ5N,QAA7B,CAAsCyH,IAAoBA,EAAkB2G,EAAuB,CAAC,iMACnH0D,GAAiB,EAAIjK,EAAQ7H,SAASgI,EAAUhI,QAA/B,CAAwC+M,IAAqBA,EAAmBqB,EAAuB,CAAC,gDAAiD,eAAe,SAAAtX,GAAK,OAAIA,EAAM+G,MAAM+S,QAAQ7E,KAAK8E,SAAS,G,qCC9S7N,0CAEbxS,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB+T,EAClB,IAuBI7K,EAvBAC,EAASvI,EAAQ,OACjB0I,EAAUD,EAAuBzI,EAAQ,QACzCwI,EAAaC,EAAuBzI,EAAQ,QAC5CiO,EAAYxF,EAAuBzI,EAAQ,QAC3C+N,EAAOtF,EAAuBzI,EAAQ,QACtCoT,EAAW3K,EAAuBzI,EAAQ,QAC1C2I,EAAcF,EAAuBzI,EAAQ,QAC7CqT,EAAc5K,EAAuBzI,EAAQ,QAC7CsT,EAAgB7K,EAAuBzI,EAAQ,QAC/CuT,EAAY9K,EAAuBzI,EAAQ,QAC3CwT,EAAU/K,EAAuBzI,EAAQ,QACzCyT,EAAYhL,EAAuBzI,EAAQ,OAC3CuO,EAAQvO,EAAQ,MAChBwO,EAAWxO,EAAQ,OACnB0T,EAASjL,EAAuBzI,EAAQ,QACxC2T,EAAY3T,EAAQ,OACpB6O,EAAQ7O,EAAQ,OAChB8O,EAAS9O,EAAQ,OACjB4T,EAAQnL,EAAuBzI,EAAQ,QACvC6T,EAAgBpL,EAAuBzI,EAAQ,QAC/C8T,EAKJ,SAAiC1K,EAAK2K,GAAe,IAAKA,GAAe3K,GAAOA,EAAInK,WAAc,OAAOmK,EAAO,GAAY,OAARA,GAA+B,kBAARA,GAAmC,oBAARA,EAAsB,MAAO,CAAEvI,QAASuI,GAAS,IAAI4K,EAAQC,EAAyBF,GAAc,GAAIC,GAASA,EAAME,IAAI9K,GAAQ,OAAO4K,EAAMG,IAAI/K,GAAQ,IAAIgL,EAAS,CAAC,EAAOC,EAAwBnV,OAAOC,gBAAkBD,OAAOyK,yBAA0B,IAAK,IAAIvU,KAAOgU,EAAO,GAAY,YAARhU,GAAqB8J,OAAOqM,UAAU+I,eAAe7J,KAAKrB,EAAKhU,GAAM,CAAE,IAAImf,EAAOF,EAAwBnV,OAAOyK,yBAAyBP,EAAKhU,GAAO,KAAUmf,IAASA,EAAKJ,KAAOI,EAAKC,KAAQtV,OAAOC,eAAeiV,EAAQhf,EAAKmf,GAAgBH,EAAOhf,GAAOgU,EAAIhU,EAAQ,CAAIgf,EAAOvT,QAAUuI,EAAS4K,GAASA,EAAMQ,IAAIpL,EAAKgL,GAAW,OAAOA,CAAQ,CAL/wBK,CAAwBzU,EAAQ,QAChDgP,EAAUvG,EAAuBzI,EAAQ,QACzCiJ,EAAcjJ,EAAQ,OAE1B,SAASiU,EAAyBF,GAAe,GAAuB,oBAAZW,QAAwB,OAAO,KAAM,IAAIC,EAAoB,IAAID,QAAeE,EAAmB,IAAIF,QAAW,OAAQT,EAA2B,SAAkCF,GAAe,OAAOA,EAAca,EAAmBD,CAAmB,GAAGZ,EAAc,CAE9U,SAAStL,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASyL,EAAcpJ,GACrB,IAAIqJ,EA8CAC,EA5CF1gB,EAGEoX,EAHFpX,SACAoc,EAEEhF,EAFFgF,UACAhN,EACEgI,EADFhI,MAEI/E,GAAQ,EAAIuP,EAAUpN,WAC5B,GAGI,EAAI2N,EAAStW,oBAFfD,EAAC,EAADA,EACA2Y,EAAM,EAANA,OAGOE,GACL,EAAIjC,EAAMkC,kBADZrc,MAEF,GAA4B,EAAI6T,EAAOhU,WAAU,GAAK,SAA/CygB,EAAM,KAAEC,EAAS,KAEHC,GACjB,EAAIvB,EAAUrf,sBADhB6gB,kBAEIpF,EAAMU,EAAU,IAAMpc,EACtBwD,EAAa,IAAI+Z,OAAOnB,EAAUra,KAAI,SAAAjB,GAAC,OAAIA,EAAE0C,YAAc,GAAG,IAAE6K,KAAK,KAAM,KAAKkP,OAAOvd,EAASwD,YAAc,KAAKoQ,QAAQ,OAAQ,KACnImN,GAAO,EAAItG,EAAOuG,gBAAgB,CACtChhB,SAAU0b,EACVmF,OAAQ,CACN9hB,MAAO8hB,GAETrd,WAAAA,EACAyd,QAAQ,EAAIxG,EAAOyG,sBAAsBxF,EAAKa,KAE1CU,EAAY,CAChBkE,KAAM9W,EAAM+S,QAAQ7E,KAAK8E,WAErB+D,EAAYhS,EAAQ,GAAKpP,EAASzB,SAAS8I,OAAS,EACpDga,GAA0B,EAAIzM,EAAYmD,KAAKzD,EAAY9H,QAAS,CACxEhD,KAAM,QACNjL,SAAUoiB,GAAsB,EAAI/L,EAAYmD,KAAKiH,EAAYxS,QAAS,CACxE0Q,SAAU,aACM,EAAItI,EAAYmD,KAAKkH,EAAczS,QAAS,CAC5D0Q,SAAU,cAGd,GAGI,EAAIuC,EAAcnG,0BAA0BtZ,EAAU0b,EAAK,CAC7Drb,MAAOoc,IAHCvB,EAAY,EAApBO,OACApb,EAAK,EAALA,MAKF,GAAqB,UAAjB6a,EACFwF,EAAe/F,EAAQnO,QAAQ3L,MAAK,SAAAC,GAAC,OAAIA,EAAE/B,QAAUmc,CAAY,KAAKP,EAAQnO,QAAQ,OACjF,CACL,IAAM8U,EAAMjhB,EAAM0B,KAAI,SAAAjB,GAAC,OAAIA,EAAEmB,KAAK,IAAEoM,KAAK,KACzCqS,EAAe,CACbze,MAAO,CACL8Y,GAAI,gBAAgBwC,OAAO+D,EAAK,6BAChCtG,GAAI,QAAQuC,OAAO+D,EAAK,gBAG9B,CACA,MAAO,EAAElS,EAAQ,GAA6B,YAAxBpP,EAAS0C,KAAK6e,SAAqC,EAAI3M,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC3GxH,QAAS,OACTwc,GAAI,EACJ7b,UAAW,iBACX8b,eAAgB,gBAChBxc,WAAY,SACZ1G,SAAU,EAAc,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1DkV,GAAIC,KAAKC,IAAkB,GAAbxS,EAAQ,GAAQ,GAC9ByS,MAAO,CACLC,GAAI,IACJtX,GAAI,KAENxF,QAAS,OACTC,WAAY,SACZQ,MAAO,CACLsc,OAAQX,EAAY,UAAY,UAElC5b,QAAS,kBAAM4b,GAAaR,GAAWD,EAAO,EAC9CpiB,SAAU,CAAC6iB,EAAYC,GAA0B,EAAIzM,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClFqV,MAAO,MACQ,EAAIjN,EAAYmD,KAAKyH,EAAchT,QAAS,CAC3DxM,SAAUA,EACVoc,UAAWA,KACI,EAAIxH,EAAYiD,MAAM6B,EAAKlN,QAAS,CACnDwV,GAAI,OACJzjB,SAAU,EAAc,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACzD/G,MAAO,CACLN,MAAO,OACP+X,SAAU,IAEZ3e,UAAU,EAAI2b,EAAMxZ,gBAAgBV,GAAU,MAC/B,EAAI4U,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDxH,QAAS,OACTC,WAAY,SACZ1G,UAAuB,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACxDrH,MAAO,iBACP5G,SAAUmiB,EAAaze,MAAMsa,YAIlCvc,IAAwB,EAAI4U,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC7DjO,SAAU,EAAc,EAAIqW,EAAYmD,KAAKgH,EAASvS,QAAS,CAC7DvK,MAAO2B,EAAE,gBACTrF,UAAuB,EAAIqW,EAAYmD,KAAK,IAAK,CAC/CrC,OAAQ,SACRqL,KAAMA,EACNkB,IAAK,sBACLhgB,MAAO8e,EACPxiB,UAAuB,EAAIqW,EAAYmD,KAAKzD,EAAY9H,QAAS,CAC/DjO,UAAuB,EAAIqW,EAAYmD,KAAKoH,EAAQ3S,QAAS,CAAC,UAGnD,EAAIoI,EAAYmD,KAAK0H,EAAcjT,QAAS,CAC3DxM,SAAUA,EACVoc,UAAWA,EACX7d,SAAU,SAAAmgB,GACR,IACEnH,EACEmH,EADFnH,KAEF,OAAoB,EAAI3C,EAAYmD,KAAKgH,EAASvS,QAAS,CACzDvK,MAAO2B,EAAE,eACTrF,UAAuB,EAAIqW,EAAYmD,KAAKzD,EAAY9H,QAAS,CAC/DhH,QAAS+R,EACT,UAAW,YAAYgG,OAAOvd,EAAS0C,KAAKjD,KAC5ClB,UAAuB,EAAIqW,EAAYmD,KAAKqH,EAAU5S,QAAS,CAC7D/G,MAAOwX,OAIf,MAED,aACF,0BAAuC,EAAIrI,EAAYmD,KAAKwH,EAAM/S,QAAS,CAC5E4C,MAAOA,IACwC,QAA5CqR,EAAqBzgB,EAASzB,gBAA6C,IAAvBkiB,GAAiCA,EAAmBpZ,QAAsB,EAAIuN,EAAYmD,KAAKmH,EAAU1S,QAAS,CACzK0V,GAAIvB,EACJpiB,SAAUyB,EAASzB,SAASwD,KAAI,SAAAjB,GAAC,OAAiB,EAAI8T,EAAYmD,KAAKyI,EAAe,CACpFxgB,SAAUc,EACVsb,UAAW,GAAF,SAAMA,GAAS,CAAEpc,IAC1BoP,MAAOA,EAAQ,GACd,GAAGmO,OAAOnO,EAAQ,EAAG,KAAKmO,OAAOzc,EAAE4B,KAAKjD,KAAK,KAC/C,qBAAuB,KAC5B,CAUA,SAASqf,IACP,IACElb,GACE,EAAIuW,EAAStW,oBADfD,EAGA5D,GACE,EAAIsf,EAAUrf,sBADhBD,SAEIiI,EAAa,EAAIjI,EAASzB,WAAa,GAK7C,MAJ4B,YAAxByB,EAAS0C,KAAK6e,OAEhBtZ,EAAWka,QAAQniB,IAED,EAAI4U,EAAYmD,KAAKD,EAAK,CAC5CvO,UAAW,MACXhL,SAAU0J,GAAcA,EAAWZ,OAAS,EAAc,EAAIuN,EAAYmD,KAAK2B,EAAKlN,QAAS,CAC3FzE,GAAI,EACJia,GAAI,CACFF,GAAI,QACJtX,GAAI,SAEN/E,MAAO,CACL2c,SAAU,MAEZ7jB,UAAuB,EAAIqW,EAAYmD,KAAKyI,EAAe,CACzDxgB,SAAUA,GACT,KAAKud,OAAOvd,EAAS0C,KAAKjD,OAC5B,gBAAgB8d,OAAOvd,EAAS0C,KAAKjD,QAAsB,EAAImV,EAAYmD,KAAK2B,EAAKlN,QAAS,CAC/FzE,GAAI,EACJxJ,UAAuB,EAAIqW,EAAYmD,KAAKsH,EAAO7S,QAAS,CAC1DjO,SAAUqF,EAAE,uCAIpB,CA1CA4c,EAAczH,UAAY,CACxB/Y,SAAUmU,EAAW3H,QAAQyI,OAAO2J,WACpCxC,UAAWjI,EAAW3H,QAAQwM,MAC9B5J,MAAO+E,EAAW3H,QAAQ6V,QAE5B7B,EAAc9c,aAAe,CAC3B0Y,UAAW,GACXhN,MAAO,GAoCT0P,EAAe/F,UAAY,CAAC,EAC5B,IA3LgCE,EAASC,EA2LnCpB,GAAM,EAAIzD,EAAQ7H,SAASkN,EAAKlN,QAA1B,CAAmCyH,IA3LfgF,EA2L4E,CAAC,iFAAkF,yBAA0B,wDA3LpKC,IAAOA,EAAMD,EAAQ1K,MAAM,IA2Lb0F,EA3L0BpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SA2L0G,SAAA5V,GAAK,OAAIA,EAAM+G,MAAMiY,QAAQ,EAAE,IAAE,SAAAhf,GAAK,OAAIA,EAAM+G,MAAMiY,QAAQ,EAAE,G,yCC5NvU,yDAKbvX,EAAQ,EAAUwX,EAClB,IA8BItO,EA9BAC,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C0I,EAAUD,EAAuBzI,EAAQ,QACzC6W,EAAkB7W,EAAQ,OAC1B8W,EAAmBrO,EAAuBzI,EAAQ,QAClD2I,EAAcF,EAAuBzI,EAAQ,QAC7C4I,EAAQH,EAAuBzI,EAAQ,OACvC+W,EAAWtO,EAAuBzI,EAAQ,QAC1CgX,EAAevO,EAAuBzI,EAAQ,QAC9C2O,EAAoBlG,EAAuBzI,EAAQ,KACnD6I,EAAYJ,EAAuBzI,EAAQ,QAC3CiX,EAAYxO,EAAuBzI,EAAQ,QAC3C+I,EAAgBN,EAAuBzI,EAAQ,QAC/CgJ,EAAgBP,EAAuBzI,EAAQ,QAC/CkX,EAAczO,EAAuBzI,EAAQ,QAC7CmX,EAAS1O,EAAuBzI,EAAQ,QACxCoX,EAAc3O,EAAuBzI,EAAQ,QAC7CqX,EAAoB5O,EAAuBzI,EAAQ,QACnDsX,EAAS7O,EAAuBzI,EAAQ,QACxC0O,EAAUjG,EAAuBzI,EAAQ,QACzCuO,EAAQvO,EAAQ,MAChBwO,EAAWxO,EAAQ,OACnBqO,EAAYrO,EAAQ,OACpB+O,EAAStG,EAAuBzI,EAAQ,QACxC8O,EAAS9O,EAAQ,OACjBuX,EAASvX,EAAQ,MACjB4O,EAAQ5O,EAAQ,OAChBwX,EAAW/O,EAAuBzI,EAAQ,OAC1CyX,EAAShP,EAAuBzI,EAAQ,QACxCiJ,EAAcjJ,EAAQ,OAEpBkJ,EAAY,CAAC,WAAY,UAAW,aAAc,UAAW,gBAAiB,4BACpF,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAAS6M,EAAgBnL,GACvB,IACIpX,EAMEoX,EANFpX,SACA4J,EAKEwN,EALFxN,QACAC,EAIEuN,EAJFvN,WACA1C,EAGEiQ,EAHFjQ,QACAwC,EAEEyN,EAFFzN,cACA0Z,EACEjM,EADFiM,yBAEFC,EAAO1M,EAAyBQ,EAAMvC,GAClCtO,GAAW,EAAIic,EAAgBhc,eAC/B7G,GAAO,EAAI4a,EAAMiC,kBACvB,GAAgC,EAAItI,EAAOhU,UAAU,MAAK,SAAnDmX,EAAQ,KAAEC,EAAW,KAC5B,GAA0C,EAAIpD,EAAOhU,UAAU,MAAK,SAA7DqjB,EAAa,KAAEC,EAAgB,KACtC,GAA8B,EAAItP,EAAOhU,WAAU,GAAM,UAAlD4D,GAAO,MAAE6Y,GAAU,MAC1B,IAA4C,EAAIzI,EAAOhU,UAAU,MAAK,WAA/DujB,GAAc,MAAEC,GAAiB,MAEtC9f,IACE,EAAIsQ,EAAO/P,YAAYgW,EAASwJ,eADlC/f,EAEF,IAAoB,EAAI6e,EAAiBjW,SAAS,uBAAuB,GAAlEoX,GAAwE,QAA/D,GAChB,GAGIP,EAAyBrjB,GAFlB6jB,GAAqB,GAA9B/f,QACAggB,GAAc,GAAdA,eAEIC,IAAa,EAAItJ,EAAOuJ,cAAchkB,EAAS+G,QAEnDkd,GACEtkB,EADFskB,UAEIC,GAAgB,SAAuB9L,EAAQ+L,GACnD,IAAIC,EAAqBzO,UAAUtO,OAAS,QAAsBqB,IAAjBiN,UAAU,IAAmBA,UAAU,GACxF,mBAAO,4FA0IJ,GAzIK8H,EAAS,6BAAG,WAAMwD,GAAM,iFAgBzB,GAfHrX,EAAQ,CACNwO,OAAAA,EACApY,SAAAA,IAEF2c,IAAW,GACX6G,EAAiBpL,GACjBsL,GAAkB,MACdW,GAAY,EAAK,SAGbhjB,EAAQ,CACZ5B,IAAKO,EAAS0C,KAAKjD,KAEN,WAAX2Y,IACF/W,EAAMijB,SAAiC,aAAtBrD,EAAOsD,YAEX,UAAXnM,GAAuB6L,IAAcL,IAA4D,QAA5CY,EAAqBxkB,EAAS+S,gBAA6C,IAAvByR,GAAiCA,EAAmBC,YAAY,iBASxK,OAPGC,GAAY,EAAIxB,EAAOyB,cAAchlB,EAAKH,OAC1C2O,EAAM,IAAIyW,IAAId,KAChBe,aAAa1E,IAAI,YAAauE,GAClChmB,OAAO6Y,KAAKpJ,EAAI4S,MAChBlX,EAAW,CACTuO,OAAAA,EACApY,SAAAA,IACC,4CAGCmkB,EAAG,CACP9iB,MAAAA,IACA,WACa,WAAX+W,EAAmB,iBACrBiM,GAAY,EAAM,0CAEZ,EAAI5J,EAAOqK,OAAO,KAAK,QAGhB,WAAX1M,GACFsC,EAAOlO,QAAQmR,QAAQ/Z,GAAE,2BAE3BiG,EAAW,CACTuO,OAAAA,EACApY,SAAAA,IACC,kDAEG+kB,EAAS,YAAYxH,OAAOnF,EAAQ,aAAamF,QAAO,EAAI9C,EAAOnV,aAAa,EAAF,KACpFuE,EAAW,CACTuO,OAAAA,EACApY,SAAAA,EACA+D,MAAO,IAAIihB,MAAMD,KAChB,QAIF,OAJE,UAEEV,GACH1H,IAAW,GACZ,6EAEJ,gBAzDc,sCA0DTsI,EAAW,WACftI,IAAW,GACX+G,GAAkB,KACpB,EACM9hB,GAAO,EAAIsY,EAAMxZ,gBAAgBV,GAAU,GAC3CklB,EAAgBllB,EAAS0J,UAAW,EAAIsQ,EAAUmL,oBAAoBnL,EAAUoL,eAAeC,QAAU,CAC7GrjB,YAAa,kBAAmB,EAAI4S,EAAYmD,KAAK8K,EAAYrW,QAAS,CACxEjD,UAAW,MACXhL,UAAuB,EAAIqW,EAAYmD,KAAK8K,EAAYrW,QAAS,CAC/D8Y,cAAc,EACd/mB,UAAuB,EAAIqW,EAAYmD,KAAK,IAAK,CAC/CxZ,SAAUqF,GAAE,+CAGhB,EACFqd,OAAQ,CACNsD,WAAY,aAEZ,CACFviB,YAAa,SAACif,EAAQsE,GAAS,OAAkB,EAAI3Q,EAAYiD,MAAMgL,EAAYrW,QAAS,CAC1FjD,UAAW,MACXhL,SAAU,EAAc,EAAIqW,EAAYmD,KAAK8K,EAAYrW,QAAS,CAChE8Y,cAAc,EACd/mB,SAAUqF,GAAE,wCACG,EAAIgR,EAAYiD,MAAMkL,EAAYvW,QAAS,CAC1D5K,KAAM,aACN7C,MAAOkiB,EAAOsD,WACdrb,SAAU,SAAAuO,GAAC,OAAI8N,EAAU9P,EAAcA,EAAc,CAAC,EAAGwL,GAAS,CAAC,EAAG,CACpEsD,WAAY9M,EAAE/B,OAAO3W,QACpB,EACHR,SAAU,EAAc,EAAIqW,EAAYmD,KAAKiL,EAAkBxW,QAAS,CACtEzN,MAAO,WACPymB,SAAsB,EAAI5Q,EAAYmD,KAAK+K,EAAOtW,QAAS,CAAC,GAC5DlI,MAAOV,GAAE,qCACM,EAAIgR,EAAYmD,KAAKiL,EAAkBxW,QAAS,CAC/DzN,MAAO,WACPymB,SAAsB,EAAI5Q,EAAYmD,KAAK+K,EAAOtW,QAAS,CAAC,GAC5DlI,MAAOV,GAAE,yCAGb,EACFqd,OAAQ,CACNsD,WAAY,aAGVkB,EAAkB,CACtBC,KAAM,CACJzjB,MAAO,GAAGsb,OAAO3Z,GAAE,eAAgB,KAAK2Z,OAAO3b,GAC/CI,YAAa4B,GAAE,mCACf+hB,QAAS/hB,GAAE,+BACXgiB,OAAQhiB,GAAE,iBACV6Z,UAAAA,EACAwH,SAAAA,GAEFY,QAAS,CACP5jB,MAAO,GAAGsb,OAAO3Z,GAAE,kBAAmB,KAAK2Z,OAAO3b,GAClDI,YAAa4B,GAAE,sCACf+hB,QAAS/hB,GAAE,kCACXgiB,OAAQhiB,GAAE,iBACV6Z,UAAAA,EACAwH,SAAAA,GAEFa,OAAQrQ,EAAc,CACpBxT,MAAO,GAAGsb,OAAO3Z,GAAE,iBAAkB,KAAK2Z,OAAO3b,GACjD+jB,QAAS/hB,GAAE,iCACXgiB,OAAQhiB,GAAE,iBACV6Z,UAAAA,EACAwH,SAAAA,GACCC,GACHa,eAAgB,CACd9jB,MAAO,GAAGsb,OAAO3Z,GAAE,kBACnB5B,YAAa4B,GAAE,4CAA6C,CAC1DhC,KAAAA,IAEF+jB,QAAS/hB,GAAE,kBACXgiB,OAAQhiB,GAAE,iBACV6Z,UAAAA,EACAwH,SAAAA,KAGAb,EAAoB,CAAF,eACpBV,GAAkB+B,EAAgBrN,IAAS,wCAErCqF,IAAW,2CAGvB,EACMlG,GAAO/G,QAAQ6G,GAiBf2O,GAAQ,6BAAG,WAAO5N,EAAQX,GAAC,iEAC/B,IACEA,EAAEC,kBACFD,EAAEE,gBAEgB,CAAlB,MAAOsO,GAAW,CACF,GAAlB3O,EAAY,MACkB,oBAAnBc,EAAO8N,QAAsB,iBAGJ,OAHI,SAEpCvJ,IAAW,GACX6G,EAAiBpL,EAAOA,QAAQ,SAC1BA,EAAO8N,UAAS,yDAGtBC,QAAQpiB,MAAM,YAAYwZ,OAAOnF,EAAOxW,KAAM,aAAc,EAAF,IAAO,QAE/C,OAF+C,UAEjE+a,IAAW,GAAO,6EAGvB,gBAnBa,wCAoBRyJ,IAAgBnC,KAAa,EAAI/J,EAAMmM,qBAAqBrmB,GAAY,CAC5EoY,OAAQ,SACRE,KAAM8K,EAAO5W,QAAQ8Z,OACrB1kB,KAAMgC,GAAE,iBACRsiB,QAAShC,GAAc,SAAUvkB,EAAKX,IAAIunB,gBAAgB,GAC1D9N,SAAUsL,IACR,KACEyC,GAAwBvC,GAK1B,KALsC,CACxC7L,OAAQ,SACRE,KAAM8K,EAAO5W,QAAQ8Z,OACrB1kB,KAAMgC,GAAE,iBACRsiB,QAAShC,GAAc,iBAAkBvkB,EAAKX,IAAIynB,wBAAwB,IAEtE5f,IAAyB,EAAIqT,EAAMlT,sBAAsBhH,GACzDiE,GAAU,CAAC,CACfmU,OAAQ,QACRE,KAAM8K,EAAO5W,QAAQka,MACrB9kB,KAAMgC,GAAE,gBACRsiB,QAAShC,GAAc,QAASvkB,EAAKX,IAAI2nB,eACzClO,WAAW,EAAIyB,EAAM0M,sBAAsB5mB,IAAiC,YAApBA,EAAS+G,QAA4C,cAApB/G,EAAS+G,QAA0BF,GAAuBQ,OAAS,IAAK,EAAIoT,EAAOoM,eAAe7mB,EAAS+G,SAAW/G,EAASlB,OAASkb,EAAU8M,eAAeC,aAAelD,IAAyBE,IACjS,CACD3L,OAAQ,OACRE,KAAM8K,EAAO5W,QAAQwa,KACrBplB,KAAMgC,GAAE,eACRsiB,QAAShC,GAAc,OAAQvkB,EAAKX,IAAIioB,cAAc,GACtDxO,UAAW,CAAC,UAAW,YAAY5P,SAAS7I,EAAS+G,SAAW/G,EAASlB,OAASkb,EAAU8M,eAAeC,aAC1G,CACD3O,OAAQ,UACRE,KAAM8K,EAAO5W,QAAQ0a,QACrBtlB,KAAMgC,GAAE,kBACRsiB,QAAShC,GAAc,UAAWvkB,EAAKX,IAAImoB,iBAAiB,GAC5D1O,SAA8B,YAApBzY,EAAS+G,QAAwB/G,EAASlB,OAASkb,EAAU8M,eAAeC,aACrF,CACD3O,OAAQ,SACRE,KAAM8K,EAAO5W,QAAQ4a,OACrBxlB,KAAMgC,GAAE,iBACRsiB,QAAShC,GAAc,SAAUvkB,EAAKX,IAAIqoB,gBAC1C5O,SAA8B,YAApBzY,EAAS+G,QAAwB/G,EAASlB,OAASkb,EAAU8M,eAAeC,cACrF,EAAItM,EAAOoM,eAAe7mB,EAAS+G,QAAUyf,GAAuBJ,GAAc,CACnFkB,WAAW,GACV,CACDC,YAAY,EACZnP,OAAQ,SACRE,KAAM8K,EAAO5W,QAAQgb,OACrB5lB,KAAMgC,GAAE,iBACRsiB,QAAS,WACP3f,EAAS,cAAcgX,OAAOvd,EAAS0C,KAAKjD,IAAK,kBACnD,EACAgZ,UAAU,EAAIgC,EAAOoM,eAAe7mB,EAAS+G,SAC5C,CACDwgB,YAAY,EACZnP,OAAQ,OACRE,KAAM8K,EAAO5W,QAAQib,MACrB7lB,KAAMgC,GAAE,qBACRsiB,QAAS,WACP3f,EAAS,cAAcgX,OAAOvd,EAAS0C,KAAKjD,IAAK,YACnD,EACAgZ,UAAU,EAAIgC,EAAOoM,eAAe7mB,EAAS+G,SAC5C,CACDwgB,YAAY,EACZnP,OAAQ,MACRE,KAAM8K,EAAO5W,QAAQkb,IACrB9lB,KAAMgC,GAAE,cACRsiB,QAAS,WACP3f,EAAS,kBAAkBgX,OAAOvd,EAAS0C,KAAKjD,KAClD,EACAgZ,UAAU,EAAIgC,EAAOoM,eAAe7mB,EAAS+G,UAC5CtF,OAAO+O,SACV,MAAgB,SAAZrJ,GACkB,EAAIyN,EAAYiD,MAAMC,EAAK,CAC7C,UAAW,mBACXvZ,SAAU,EAAc,EAAIqW,EAAYmD,KAAKzD,EAAY9H,QAAS,CAChE,aAAc,OACd,gBAAiB,eACjB,gBAAiB,OACjB,UAAW,2BACX,uBAAwBxM,EAAS0C,KAAKjD,IACtC+F,QAjHS,SAAAiS,GACb,IACEA,EAAEC,kBACFD,EAAEE,gBAEe,CAAjB,MAAOK,GAAU,CACnBV,EAAYG,EAAEQ,cAChB,EA2GMzO,KAAM,QACNiP,UAAW9O,KAAkB,EAAI8Q,EAAOoM,eAAe7mB,EAAS+G,SAAWjD,GAC3EvF,UAAuB,EAAIqW,EAAYmD,KAAK6K,EAAUpW,QAAS,CAAC,MACjD,EAAIoI,EAAYiD,MAAMtD,EAAM/H,QAAS,CACpDsE,GAAI,eACJuG,SAAUA,EACVa,aAAa,EACbX,KAAMA,GACNC,QAlHU,SAAAC,GACd,IACEA,EAAEC,kBACFD,EAAEE,gBAEgB,CAAlB,MAAOC,GAAW,CACpBN,EAAY,KACd,EA4GMa,WAAY,CAAC,EACb5Z,SAAU,CAACsI,GAAuBQ,OAAS,IAAkB,EAAIuN,EAAYiD,MAAMoL,EAAOzW,QAAS,CACjG/G,MAAO,CACL2c,SAAU,SAEZuF,SAAU,QACVppB,SAAU,CAACqF,GAAE,oCAAiD,EAAIgR,EAAYmD,KAAK,KAAM,CAAC,IAAiB,EAAInD,EAAYmD,KAAKyK,EAAgBoF,KAAM,CACpJC,GAAI,cAActK,OAAOvd,EAAS0C,KAAKjD,IAAK,eAC5ClB,SAAUqF,GAAE,gCAEZK,GAAQlC,KAAI,SAACqW,EAAQ9K,GACvB,OAAI8K,EAAOkP,WAEW,EAAI1S,EAAYmD,KAAK2K,EAASlW,QAAS,CAAC,EAAG,aAAa+Q,OAAOjQ,KAEjE,EAAIsH,EAAYiD,MAAMrD,EAAUhI,QAAS,CAC3DoM,OAAO,EACPpT,QAAS,SAAAiS,GAAC,OAAIuO,GAAS5N,EAAQX,EAAE,EACjCgB,SAAUL,EAAOK,SACjB,UAAW,GAAG8E,OAAOnF,EAAOA,OAAQ,aACpC7Z,SAAU,EAAc,EAAIqW,EAAYmD,KAAKrD,EAAclI,QAAS,CAClE/G,MAAO,CACLoT,SAAU,IAEZta,UAAuB,EAAIqW,EAAYmD,KAAKK,EAAOE,KAAM,CACvD4E,SAAU,aAEG,EAAItI,EAAYmD,KAAKpD,EAAcnI,QAAS,CAC3DsM,QAASV,EAAOxW,SAEjBwW,EAAOxW,KACZ,OACE6hB,KAA+B,EAAI7O,EAAYmD,KAAKoL,EAAS3W,QAAS,CACxEvK,MAAOwhB,GAAexhB,MACtBD,YAAayhB,GAAezhB,YAC5B2jB,QAASlC,GAAekC,QACxBC,OAAQnC,GAAemC,OACvB3E,OAAQwC,GAAexC,OACvBxD,UAAWgG,GAAehG,UAC1BwH,SAAUxB,GAAewB,eAIX,EAAIrQ,EAAYiD,MAAMC,EAAKrC,EAAcA,EAAc,CACzE,UAAW,oBACV6N,GAAO,CAAC,EAAG,CACZ/kB,SAAU,EAAc,EAAIqW,EAAYmD,KAAK4K,EAAanW,QAAS,CACjEjO,SAAU0F,GAAQxC,QAAO,SAAAX,GAAC,OAAKA,EAAEwmB,YAAcxmB,EAAEymB,UAAU,IAAExlB,KAAI,SAAAqW,GAAM,OAAiB,EAAIxD,EAAYiD,MAAMwC,EAAQ7N,QAAS,CAC7HvK,MAAOmW,EAAOxW,KACd,UAAW,GAAG2b,OAAOnF,EAAOA,OAAQ,aACpC5S,QAAS,kBAAMwgB,GAAS5N,EAAO,EAC/BK,SAAUjI,QAAQ4H,EAAOK,WAAa3U,GACtCvF,SAAU,CAACglB,IAAkBnL,EAAOA,QAAUtU,IAAWigB,IAA0B,EAAInP,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACjIhD,KAAM,MACU,EAAIoL,EAAYmD,KAAKK,EAAOE,KAAM,CAAC,IAAiB,EAAI1D,EAAYmD,KAAK,OAAQ,CACjGpS,UAAW,uBACXpH,SAAU6Z,EAAOxW,SAElBwW,EAAOxW,KAAK,MACb6hB,KAA+B,EAAI7O,EAAYmD,KAAKoL,EAAS3W,QAAS,CACxEvK,MAAOwhB,GAAexhB,MACtBD,YAAayhB,GAAezhB,YAC5B2jB,QAASlC,GAAekC,QACxBC,OAAQnC,GAAemC,OACvB3E,OAAQwC,GAAexC,OACvBxD,UAAWgG,GAAehG,UAC1BwH,SAAUxB,GAAewB,cAG/B,CACA1C,EAAgBxJ,UAAY,CAC1B/Y,SAAUmU,EAAW3H,QAAQyI,OAAO2J,WACpChV,QAASuK,EAAW3H,QAAQsb,KAAKlJ,WACjC/U,WAAYsK,EAAW3H,QAAQsb,KAAKlJ,WACpCzX,QAASgN,EAAW3H,QAAQub,MAAM,CAAC,OAAQ,UAC3Cpe,cAAewK,EAAW3H,QAAQwb,KAClC3E,yBAA0BlP,EAAW3H,QAAQsb,MAE/CvF,EAAgB7e,aAAe,CAC7ByD,QAAS,OACTwC,eAAe,EACf0Z,yBAA0B,WACxB,IAAI4E,EAASC,EACb,MAAO,CACLpkB,SAAS,EACTggB,eAAuC,QAAtBmE,EAAUvpB,cAAgC,IAAZupB,GAAwE,QAAzCC,EAAmBD,EAAQ/kB,gBAA2C,IAArBglB,OAA3D,EAAkGA,EAAiBnH,KAE3L,GAEF,IA7YgC9H,EAASC,EA6YnCpB,EAAMzD,EAAQ7H,QAAQ2M,IAAIlF,IA7YAgF,EA6Y6D,CAAC,sEAAuE,2FA7YhHC,IAAOA,EAAMD,EAAQ1K,MAAM,IA6Y5B0F,EA7YyCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SA6YyF,SAAA5V,GAAK,OAAIA,EAAM+G,MAAMC,YAAYC,OAAO4d,EAAE,G,qCCpbhS,6DAEbtd,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBqd,EAClB,IAAIlU,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C0c,EAAiBjU,EAAuBzI,EAAQ,QAChDoT,EAAW3K,EAAuBzI,EAAQ,QAC1C2O,EAAoBlG,EAAuBzI,EAAQ,KACnDsX,EAAS7O,EAAuBzI,EAAQ,QACxCwO,EAAWxO,EAAQ,OACnBqO,EAAYrO,EAAQ,OACpB+O,EAAStG,EAAuBzI,EAAQ,QACxCwX,EAAW/O,EAAuBzI,EAAQ,OAC1C4O,EAAQ5O,EAAQ,OAChB2T,EAAY3T,EAAQ,OACpBuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OACpBkJ,EAAY,CAAC,SAAU,gBAC7B,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAG3e,SAAS4S,EAAIhlB,GACX,IAAIilB,EAEF3kB,GACE,EAAIuW,EAAStW,oBADfD,EAEF,GAA8B,EAAIsQ,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAA4C,EAAIzI,EAAOhU,UAAU,MAAK,SAA/DujB,EAAc,KAAEC,EAAiB,KAEtC7C,EAIEvd,EAJFud,OACA2H,EAGEllB,EAHFklB,MACAjqB,EAEE+E,EAFF/E,SACAkB,EACE6D,EADF7D,IAEF,GAKI,EAAI8a,EAAMiC,kBAJZxd,EAAG,EAAHA,IAEEM,EAAe,EADjBH,GACEG,gBAGJ,GAA8B,EAAI4U,EAAOhU,WAAU,GAAM,SAAlDuoB,EAAO,KAAEC,EAAU,KAGtBC,GAEA,EAAIrJ,EAAUrf,sBAHhBgE,QACE0kB,oBAGEC,GAAY,EAAIP,EAAe7b,SAAO,YAAE,sGAGlCxN,EAAI6pB,wBAAwB,CACpCxnB,MAAO,CACLwf,OAAAA,EACAphB,IAAAA,KAEF,OANI,OAMJ,SANAqpB,EAAI,EAAJA,KAAI,kBAOCA,GAAI,4CAEPC,EAAsB,SAACD,EAAMvpB,GAC7BupB,EAAKjI,SAAWA,IAClB6H,GAAW,GACE,YAATnpB,EACFmb,EAAOlO,QAAQmR,QAAQ,OAAOJ,OAAOuL,EAAKjI,OAAQ,wCAChC,UAATthB,GACTmb,EAAOlO,QAAQzI,MAAM,mCAAmCwZ,OAAOuL,EAAKjI,SAG1E,EAaA,IAZA,EAAI3M,EAAOzR,YAAW,WACpB,IAAIumB,EAhDiBjiB,GAiDhB6hB,EAAU9kB,UAjDMiD,EAiD+D,QAAxCiiB,EAAmBJ,EAAU7pB,aAAwC,IAArBiqB,OAA8B,EAASA,EAAiBjiB,OAjDrH,CAAC,UAAW,WAAY,cAAc8B,SAAS9B,KAkD5E2hB,GAAW,EAEf,GAAG,CAACE,IACJtpB,EAAgB0a,EAAUiP,eAAeC,WAAW,SAAAJ,GAAI,OAAIC,EAAoBD,EAAM,QAAQ,IAC9FxpB,EAAgB0a,EAAUiP,eAAeE,YAAY,SAAAL,GACnDF,EAAUQ,QACVT,EAAoBG,EAAKjI,QACzBkI,EAAoBD,EAAM,UAC5B,IACIF,EAAU9kB,QACZ,MAAO,GAGT,GAA6H,YAA9E,QAAzCykB,EAAoBK,EAAU7pB,aAAyC,IAAtBwpB,OAA+B,EAASA,EAAkBxhB,QAC/G,MAAO,GAGT,IAIM0W,EAAS,6BAAG,8EACC,OAAjBd,GAAW,GAAM,kBAET3d,EAAIqqB,qBAAqB,CAC7BhoB,MAAO,CACLwf,OAAAA,EACAphB,IAAAA,KAEF,OACF+oB,IACAE,GAAW,GAAM,gDAEjBvC,QAAQpiB,MAAM,EAAD,IACb2kB,GAAW,GAAO,QAGM,OAHN,UAElB/L,GAAW,GACX+G,EAAkB,MAAM,4EAE3B,kBAlBc,mCAmBT4F,EAAU,CACdrnB,MAAO2B,EAAE,wCACT5B,aAA0B,EAAI4S,EAAYiD,MAAM,MAAO,CACrDtZ,SAAU,EAAc,EAAIqW,EAAYmD,KAAKkL,EAAOzW,QAAS,CAC3DjN,KAAM,UACNhB,SAAUqF,EAAE,2CACVA,EAAE,iDAER+hB,QAAS/hB,EAAE,kBACX6Z,UAAAA,EACAwH,SAjCe,WACftI,GAAW,GACX+G,EAAkB,KACpB,GAoCA,OAAoB,EAAI9O,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,CAACkqB,GAAuB,EAAI7T,EAAYmD,KAAKgH,EAASvS,QAAS,CACvEvK,MAAO2B,EAAE,uBACTrF,UAAuB,EAAIqW,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACrEhD,KAAM,OAELjL,EAAS,CACZuF,QAAAA,EACAyT,KAZY,SAAAE,GACdA,EAAEC,kBACFgM,EAAkB4F,EACpB,IAUM7F,IAA+B,EAAI7O,EAAYmD,KAAKoL,EAAS3W,QAAS,CACxErH,MAAO,UACPlD,MAAOwhB,EAAexhB,MACtBD,YAAayhB,EAAezhB,YAC5B2jB,QAASlC,EAAekC,QACxB1E,OAAQwC,EAAexC,OACvBxD,UAAWgG,EAAehG,UAC1BwH,SAAUxB,EAAewB,aAG/B,CAWA,SAASmD,EAAQ9kB,GACf,IACIud,EAEEvd,EAFFud,OACA0I,EACEjmB,EADFimB,aAEFC,EAAS5S,EAAyBtT,EAAOuR,GAC3C,QAAK,EAAIqF,EAAMuP,yBAAyB5I,IAA4B,OAAjB0I,QAA0C,IAAjBA,GAA2BA,EAAaG,QAC3G,IAEW,EAAI9U,EAAYmD,KAAKuQ,EAAK7S,EAAc,CAAC,EAAGA,EAAc,CAC5EoL,OAAAA,GACC2I,IACL,CAtBAlB,EAAIvP,UAAY,CACd8H,OAAQ1M,EAAW3H,QAAQmd,OAAO/K,WAClCnf,IAAK0U,EAAW3H,QAAQmd,OAAO/K,WAC/B4J,MAAOrU,EAAW3H,QAAQsb,KAC1BvpB,SAAU4V,EAAW3H,QAAQqS,KAE/ByJ,EAAI5kB,aAAe,CACjB8kB,MAAO,WAAO,EACdjqB,SAAU,MAeZ6pB,EAAQrP,UAAY,CAClB8H,OAAQ1M,EAAW3H,QAAQmd,OAAO/K,WAClC2K,aAAcpV,EAAW3H,QAAQod,MAAM,CACrCF,QAASvV,EAAW3H,QAAQwb,OAC3BpJ,WACHnf,IAAK0U,EAAW3H,QAAQmd,OAAO/K,WAC/B4J,MAAOrU,EAAW3H,QAAQsb,KAC1BvpB,SAAU4V,EAAW3H,QAAQqS,KAE/BuJ,EAAQ1kB,aAAe,CACrB8kB,MAAO,WAAO,EACdjqB,SAAU,K,qCC3LZsM,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAQA,SAAsBqM,GACpB,IAAI9T,EAAQuH,OAAOgf,OAAO,CAAC,GAF7B,SAAmC9U,GAAO,GAAW,MAAPA,EAAa,MAAM,IAAIsB,UAAU,sBAAwBtB,EAAM,CAE5E+U,CAA0B1S,GAAOA,IAChE,OAAoB,EAAIxC,EAAYiD,MAAM,MAAOpC,EAAcA,EAAc,CAAC,EAAGnS,GAAQ,CAAC,EAAG,CAC3FmC,MAAO,CACLoc,MAAO,QAETtjB,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,KAAM,CACjDxZ,SAAU,gDACK,EAAIqW,EAAYmD,KAAK,IAAK,CACzCxZ,SAAU,yEACK,EAAIqW,EAAYmD,KAAK,IAAK,CACzCxZ,SAAU,uCACK,EAAIqW,EAAYmD,KAAK,IAAK,CACzCxZ,SAAU,oBAGhB,EAvBA,IAAIqW,EAAcjJ,EAAQ,OAC1B,SAASqJ,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,C,qCCP3OlK,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBgf,EAClB,IAQI9V,EARAE,EAAaC,EAAuBzI,EAAQ,QAC5C6W,EAAkB7W,EAAQ,OAC1B0I,EAAUD,EAAuBzI,EAAQ,QACzCwO,EAAWxO,EAAQ,OACnBqe,EAAc5V,EAAuBzI,EAAQ,QAC7Cse,EAAc7V,EAAuBzI,EAAQ,QAC7Cue,EAAgB9V,EAAuBzI,EAAQ,QAC/CiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAG9F,SAASgV,EAAU3S,GACjB,IACE1U,EAGE0U,EAHF1U,KACAynB,EAEE/S,EAFF+S,YACAC,EACEhT,EADFgT,cAEI7jB,GAAW,EAAIic,EAAgBhc,eACrC,GAGI,EAAI2T,EAAStW,oBAFfD,EAAC,EAADA,EACA2Y,EAAM,EAANA,OAEI8N,EAAYF,GAAgB,WAChC5jB,EAAS,2BAA2BgX,OAAO7e,OAAOwE,SAASonB,QAC7D,EACA,OAAoB,EAAI1V,EAAYiD,MAAM0S,EAAW,CACnDhsB,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,MAAO,CAClDpS,UAAW,cACXpH,UAAuB,EAAIqW,EAAYmD,KAAK,MAAO,CACjDpS,UAAW,YACXpH,UAAuB,EAAIqW,EAAYmD,KAAK,MAAO,CACjDpS,UAAW,oBACXpH,UAAuB,EAAIqW,EAAYmD,KAAKkS,EAAYzd,QAAS,CAC/Dge,aAAc,CACZ5nB,KAAMF,GAER6Z,OAAQA,EACR6N,cAAeA,WAIN,EAAIxV,EAAYmD,KAAK,MAAO,CAC3CpS,UAAW,mBACX,UAAW,YACXpH,UAAuB,EAAIqW,EAAYmD,KAAKiS,EAAYxd,QAAS,CAC/Die,WAAYJ,EACZroB,aAA0B,EAAI4S,EAAYmD,KAAKmS,EAAc1d,QAAS,CAAC,GACvEke,MAAO,CACLC,WAAY/mB,EAAE,0BACdgnB,WAAYhnB,EAAE,8BAKxB,CACAmmB,EAAUhR,UAAY,CACpBrW,KAAMyR,EAAW3H,QAAQyI,OAAO2J,WAChCuL,YAAahW,EAAW3H,QAAQsb,KAChCsC,cAAejW,EAAW3H,QAAQ7M,MAEpCoqB,EAAUrmB,aAAe,CACvBymB,YAAa,KACbC,cAAe,IAEjB,IAvDgCnR,EAASC,EAuDnCqR,EAAYlW,EAAQ7H,QAAQ2M,IAAIlF,IAvDNgF,EAuDmE,CAAC,0KAA2K,+PAAgQ,oCAAqC,2CAA4C,2NAA4N,gDAAiD,oOAAqO,wEAAyE,wEAvDtmCC,IAAOA,EAAMD,EAAQ1K,MAAM,IAuDtB0F,EAvDmCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SAuD4jC,SAAA5V,GAAK,OAAIA,EAAM+G,MAAMC,YAAYugB,KAAK,KAAK,IAAE,SAAAvnB,GAAK,OAAIA,EAAM+G,MAAM+S,QAAQ0N,KAAK,IAAM,IAAE,SAAAxnB,GAAK,OAAIA,EAAM+G,MAAMC,YAAYygB,GAAG,KAAK,IAAE,SAAAznB,GAAK,OAAIA,EAAM+G,MAAMC,YAAYugB,KAAK,KAAK,IAAE,SAAAvnB,GAAK,OAAIA,EAAM+G,MAAMC,YAAYygB,GAAG,KAAK,IAAE,SAAAznB,GAAK,OAAIA,EAAM+G,MAAMC,YAAYugB,KAAK,KAAK,IAAE,SAAAvnB,GAAK,OAAIA,EAAM+G,MAAMC,YAAYygB,GAAG,KAAK,IAAE,SAAAznB,GAAK,OAAIA,EAAM+G,MAAMC,YAAYugB,KAAK,KAAK,G,qCClEnkD9f,EAAQ,EAAUigB,EAClB,IAAI7W,EAAaC,EAAuBzI,EAAQ,QAC5Csf,EAAU7W,EAAuBzI,EAAQ,QACzCuf,EAAW9W,EAAuBzI,EAAQ,QAC1CqO,EAAYrO,EAAQ,OACpBwf,EAAc/W,EAAuBzI,EAAQ,QAC7CiJ,EAAcjJ,EAAQ,OACpBkJ,EAAY,CAAC,WAAY,QAAS,QACxC,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAASsV,EAAkB5T,GACzB,IAsBMgU,EArBFprB,EAGEoX,EAHFpX,SACAyF,EAEE2R,EAFF3R,MACA+D,EACE4N,EADF5N,KAEF8Z,EAAO1M,EAAyBQ,EAAMvC,GAEtCwW,GACE,EAAIF,EAAY3e,SAAS,CAC3BxM,SAAAA,IAFAqrB,QAKAlkB,EACEmc,EADFnc,QAEEmkB,GAAsB,EAAI1W,EAAYmD,KAAK,MAAO,CACpDwT,IAAKF,EACLG,IAAK,GACL/lB,MAAO,CACLoc,MAAOrY,KAGNxJ,EAAS0C,KAAK+oB,QAEsH,QAAxHL,GAASprB,EAAS2b,SAAW,IAAI9a,MAAK,SAAAC,GAAC,OAAIA,EAAEC,MAAQiZ,EAAUhZ,0BAA0B0qB,wBAAwB,WAAyB,IAAVN,OAAmB,EAASA,EAAMrsB,SAE/KusB,GAAsB,EAAI1W,EAAYmD,KAAKmT,EAAS1e,QAAS,CAC3D/M,IAAKO,EAAS0C,KAAKjD,KAAO,GAC1BksB,YAAY,MAIlB,OAAoB,EAAI/W,EAAYmD,KAAKkT,EAAQze,QAASiJ,EAAcA,EAAc,CACpFtO,QAASA,GAAW,SACpB1B,MAAOoF,OAAOgf,OAAO,CACnB+B,gBAAiB,cACjB/J,MAAOrY,EACPqiB,OAAQriB,EACRsiB,aAAc,IACbrmB,IACF6d,GAAO,CAAC,EAAG,CACZ/kB,SAAU+sB,IAEd,CACAN,EAAkBjS,UAAY,CAC5B/Y,SAAUmU,EAAW3H,QAAQyI,OAAO2J,WACpCnZ,MAAO0O,EAAW3H,QAAQyI,OAC1BzL,KAAM2K,EAAW3H,QAAQuf,UAAU,CAAC5X,EAAW3H,QAAQ6V,OAAQlO,EAAW3H,QAAQmd,UAEpFqB,EAAkBtnB,aAAe,CAC/B+B,MAAO,CAAC,EACR+D,KAAM,G,qCCnERuB,EAAQ,EAiLR,SAA0BihB,GACxB,IACEtkB,EACEskB,EADFtkB,MAEF,OAAoB,EAAIkN,EAAYmD,KAAKkU,EAAUC,iBAAkB,CACnExkB,MAAOA,EACPnJ,UAAuB,EAAIqW,EAAYmD,KAAKoU,EAAW,CAAC,IAE5D,EAxLA,IAkBIlY,EAlBAI,EAAUD,EAAuBzI,EAAQ,QACzC6W,EAAkB7W,EAAQ,OAC1BygB,EAAwBhY,EAAuBzI,EAAQ,QACvDsf,EAAU7W,EAAuBzI,EAAQ,QACzC2O,EAAoBlG,EAAuBzI,EAAQ,KACnD0T,EAASjL,EAAuBzI,EAAQ,QACxCwO,EAAWxO,EAAQ,OACnB+N,EAAOtF,EAAuBzI,EAAQ,QACtCkX,EAAczO,EAAuBzI,EAAQ,QAC7C0gB,EAAcjY,EAAuBzI,EAAQ,QAC7C6I,EAAYJ,EAAuBzI,EAAQ,QAC3C2gB,EAAUlY,EAAuBzI,EAAQ,QACzC4gB,EAAcnY,EAAuBzI,EAAQ,QAC7C6gB,EAAepY,EAAuBzI,EAAQ,QAC9CsgB,EAAYtgB,EAAQ,OACpB4O,EAAQ5O,EAAQ,OAChB8gB,EAAgBrY,EAAuBzI,EAAQ,QAC/CiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,IAAM2X,EAAc,SAAAtV,GAClB,IACEuV,EAGEvV,EAHFuV,IACAntB,EAEE4X,EAFF5X,KAGF,OADI4X,EADF6M,UAIO,gBAAgB1G,OAAOoP,EAAIC,MAAMntB,KAEtCktB,EAAIjlB,QAAUlI,EAAKC,IACd,qBAAqB8d,OAAOoP,EAAIC,MAAMntB,KAExC,cAAc8d,OAAOoP,EAAIjlB,MAAO,iBAAiB6V,OAAOoP,EAAIC,MAAMntB,IAC3E,EACA,SAASotB,EAASnO,GAChB,IAAIoO,EAAaC,EAEfJ,EACEjO,EADFiO,IAEF,GAGI,EAAIpS,EAAMiC,kBAFZyH,EAAS,EAATA,UACAzkB,EAAI,EAAJA,KAEF,OAAKmtB,EAAIC,MAAMntB,KAGK,EAAImV,EAAYiD,MAAM6B,EAAKlN,QAAS,CACtD7G,UAAW,YACX,UAAW,YACXpH,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,MAAO,CAClDpS,UAAW,aACXpH,UAAuB,EAAIqW,EAAYmD,KAAKkT,EAAQze,QAAS,CAC3D/M,IAAKktB,EAAIC,MAAMntB,IACf+J,KAAM,GACNogB,MAAO,cAEM,EAAIhV,EAAYiD,MAAM,MAAO,CAC5ClS,UAAW,WACXpH,SAAU,EAAc,EAAIqW,EAAYiD,MAAMgL,EAAYrW,QAAS,CACjE7G,UAAW,aACXR,MAAO,gBACPoE,UAAW,IACX+b,cAAc,EACd/mB,SAAU,EAAc,EAAIqW,EAAYiD,MAAM2K,EAAgBoF,KAAM,CAClEC,GAAI6E,EAAY,CACdC,IAAAA,EACA1I,UAAAA,EACAzkB,KAAAA,IAEFkW,OAAQ,SACRnX,SAAU,CAACouB,EAAIC,MAAMI,SAAUL,EAAIC,MAAM7e,KAAO,IAAIwP,OAAOoP,EAAIC,MAAM7e,KAAM,KAAO,MAChF,IAAK,KAAM4e,EAAIvU,WACJ,EAAIxD,EAAYmD,KAAK8K,EAAYrW,QAAS,CACzD7G,UAAW,cACXR,MAAO,cACPoE,UAAW,MACX,kBAAmB,QACnB+b,cAAc,EACd/mB,UAAuB,EAAIqW,EAAYmD,KAAKqU,EAAsB5f,QAAS,CACzE9C,OAAQijB,EAAI7jB,QACZmkB,WAAY,cAEC,EAAIrY,EAAYiD,MAAM6B,EAAKlN,QAAS,CACnD7G,UAAW,WACXwB,QAAS,QACT5I,SAAU,GAAGouB,EAAIO,KAAmB,EAAItY,EAAYmD,KAAK8K,EAAYrW,QAAS,CAC5EjD,UAAW,OACXpE,MAAO,gBACP5G,SAAU,OAAOgf,OAAOoP,EAAIO,QACQ,QAA9BJ,EAAcH,EAAIhuB,IAAIwuB,UAAgC,IAAhBL,IAA0BA,EAAYlrB,QAAsB,EAAIgT,EAAYiD,MAAMgL,EAAYrW,QAAS,CACnJjD,UAAW,OACXpE,MAAO,gBACP5G,SAAU,CAACouB,EAAIhuB,IAAIwuB,GAAGvrB,KAAM,IAAK+qB,EAAIhuB,IAAIwuB,GAAGztB,QAAS,SACP,QAAxCqtB,EAAmBJ,EAAIhuB,IAAIyuB,eAA0C,IAArBL,IAA+BA,EAAiBnrB,QAAsB,EAAIgT,EAAYiD,MAAMgL,EAAYrW,QAAS,CACvKjD,UAAW,OACXpE,MAAO,gBACP5G,SAAU,CAACouB,EAAIhuB,IAAIyuB,QAAQxrB,KAAM,IAAK+qB,EAAIhuB,IAAIyuB,QAAQ1tB,QAAS,QAChD,EAAIkV,EAAYmD,KAAK8K,EAAYrW,QAAS,CACzDjD,UAAW,OACXpE,MAAO,gBACP5G,UAAuB,EAAIqW,EAAYmD,KAAK0U,EAAcjgB,QAAS,CACjEzN,MAAO4tB,EAAIU,uBAzDZ,IA+DX,CACA,SAASlB,IACP,IACEvoB,GACE,EAAIuW,EAAStW,oBADfD,EAEF,GAQI,EAAIqoB,EAAUqB,sBAPhB1qB,EAAI,EAAJA,KACAkB,EAAO,EAAPA,QACAxB,EAAM,EAANA,OACAb,EAAM,EAANA,OACA8rB,EAAU,EAAVA,WACAC,EAAW,EAAXA,YACAC,EAAK,EAALA,MAEF,OAAI3pB,GACkB,EAAI8Q,EAAYmD,KAAK,MAAO,CAC9CtS,MAAO,CACLioB,UAAW,SACXC,UAAW,QAEbpvB,UAAuB,EAAIqW,EAAYmD,KAAKuC,EAAkB9N,QAAS,CAAC,MAGxD,EAAIoI,EAAYiD,MAAMC,EAAK,CAC7C,UAAW,aACXvZ,SAAU,EAAc,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACzD7G,UAAW,eACXpH,UAAuB,EAAIqW,EAAYiD,MAAM2U,EAAahgB,QAAS,CACjE/G,MAAO,CACLoc,MAAO,SAET1a,QAAS,WACT5I,SAAU,EAAc,EAAIqW,EAAYmD,KAAKwU,EAAY/f,QAAS,CAChEjO,SAAUqF,EAAE,oBACG,EAAIgR,EAAYmD,KAAKuU,EAAQ9f,QAAS,CACrD,UAAW,6BACXzN,MAAO0C,EAAOmsB,SACd1kB,SAAU,SAAAuO,GAAC,OAAI+V,EAAY/V,EAAE/B,OAAO3W,MAAM,EAC1C2F,WAAW,EACXJ,MAAOV,EAAE,mBACT6U,SAAU3U,EACVvF,SAAUgvB,EAAWxrB,KAAI,SAAAjB,GAAC,OAAiB,EAAI8T,EAAYmD,KAAKvD,EAAUhI,QAAS,CACjFzN,MAAO+B,EAAE/B,MACT,UAAW,sBAAsBwe,OAAOzc,EAAE/B,OAC1CR,UAAuB,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACxDjO,UAAuB,EAAIqW,EAAYmD,KAAK,OAAQ,CAClDxZ,SAAUuC,EAAEwD,WAGfxD,EAAEwD,MAAM,WAGG,IAAhB1B,EAAKyE,SAA6B,EAAIuN,EAAYmD,KAAKsH,EAAO7S,QAAS,CACzEjO,SAAUqF,EAAE,kBACVhB,EAAKyE,OAAS,GAAKzE,EAAKb,KAAI,SAAAjB,GAAC,OAAiB,EAAI8T,EAAYmD,KAAK8U,EAAU,CAC/EF,IAAK7rB,GACJA,EAAEgQ,GAAG,IAAGxO,EAAOurB,UAAY,IAAkB,EAAIjZ,EAAYmD,KAAKsU,EAAY7f,QAAS,CACxFshB,KAAMxrB,EAAOwrB,KACbC,MAAOzrB,EAAOurB,UACd3kB,SAAU,SAACuO,EAAGqW,GAAI,OAAKL,EAAM,CAC3BK,KAAAA,GACA,EACFE,iBAAiB,EACjBC,gBAAgB,MAGtB,CAUA,IArKgChV,EAASC,EAqKnCpB,EAAMzD,EAAQ7H,QAAQ2M,IAAIlF,IArKAgF,EAqK6D,CAAC,oQAAqQ,2lBArK9SC,IAAOA,EAAMD,EAAQ1K,MAAM,IAqK5B0F,EArKyCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SAqKuxB,SAAAgV,GAI/7B,OADIA,EADF7jB,MAEW+S,QAAQtE,QAAQqV,IAC/B,G,qCClMAtjB,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBqa,EAClB,IAAIlR,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5CyiB,EAAWha,EAAuBzI,EAAQ,QAC1C0iB,EAAWja,EAAuBzI,EAAQ,OAC1C2iB,EAAOla,EAAuBzI,EAAQ,QACtCwO,EAAWxO,EAAQ,OACnB4iB,EAAQna,EAAuBzI,EAAQ,QACvC+N,EAAOtF,EAAuBzI,EAAQ,QACtCiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASqQ,EAAehO,GACtB,IAAIoX,EAEFC,EAEErX,EAFFqX,WACAzuB,EACEoX,EADFpX,SAGA4D,GACE,EAAIsQ,EAAO/P,YAAYgW,EAASwJ,eADlC/f,EAEF,OAAoB,EAAIgR,EAAYiD,MAAM6B,EAAKlN,QAAS,CACtDxH,QAAS,OACTC,WAAY,SACZ1G,SAAU,EAAc,EAAIqW,EAAYmD,KAAKuW,EAAK9hB,QAAS,CACzDjN,KAAM,UACNhB,UAAU,EAAI8vB,EAAS7hB,SAASiiB,EAAW/kB,SAC1C,UAAiC,aAAtB+kB,EAAW/kB,SAAsC,EAAIkL,EAAYmD,KAAKwW,EAAM/hB,QAAS,CACjGuU,MAAM,EAAIqN,EAAS5hB,SAASiiB,EAAWC,aAAc,aAA2B,OAAb1uB,QAAkC,IAAbA,GAAoE,QAApCwuB,EAAiBxuB,EAAS0C,YAAqC,IAAnB8rB,OAAtD,EAA2FA,EAAeG,YAAc,IACtOjZ,OAAQ,SACR/P,UAAW,YACXipB,UAAW,QACXnpB,MAAO,CACLT,QAAS,OACTC,WAAY,SACZwE,WAAY,GAEdlL,SAAUqF,EAAE,qCAGlB,CACAwhB,EAAerM,UAAY,CACzB0V,WAAYta,EAAW3H,QAAQod,MAAM,CACnClgB,OAAQyK,EAAW3H,QAAQmd,OAC3B+E,aAAcva,EAAW3H,QAAQmd,SAEnC3pB,SAAUmU,EAAW3H,QAAQyI,QAE/BmQ,EAAe1hB,aAAe,CAC5B+qB,WAAY,CAAC,EACbzuB,SAAU,CAAC,E,qCCpDb6K,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB8jB,EAClB,IAAI1a,EAAaC,EAAuBzI,EAAQ,QAC5Csf,EAAU7W,EAAuBzI,EAAQ,QACzCuf,EAAW9W,EAAuBzI,EAAQ,QAC1CmjB,EAAiB1a,EAAuBzI,EAAQ,QAChD4O,EAAQ5O,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OACpBkJ,EAAY,CAAC,WAAY,QAAS,OAAQ,aAChD,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAASmZ,EAAezX,GACtB,IACIpX,EAIEoX,EAJFpX,SACAyF,EAGE2R,EAHF3R,MACA+D,EAEE4N,EAFF5N,KACA4S,EACEhF,EADFgF,UAEFkH,EAAO1M,EAAyBQ,EAAMvC,GAClClV,GAAO,EAAI4a,EAAMiC,kBACvB,GAGI,EAAIsS,EAAetiB,SAAS,CAC9BxM,SAAAA,EACAoc,UAAAA,IAJAiP,EAAO,EAAPA,QACApH,EAAS,EAATA,UAMA9c,EACEmc,EADFnc,QAEI4nB,EAAiB9K,EAAY,WAAO,EAAI,SAAA+K,GAC5CA,EAAGtZ,OAAO6V,IAAM,GAAGhO,OAAO5d,EAAKnB,UAAW,gBAC5C,EACI8sB,GAAsB,EAAI1W,EAAYmD,KAAK,MAAO,CACpDwT,IAAKF,EACL4D,QAASF,EACTvD,IAAKxrB,EAAS0C,KAAKd,KACnB6D,MAAO,CACLoc,MAAOrY,KASX,OANKxJ,EAAS0C,KAAK+oB,OACjBH,GAAsB,EAAI1W,EAAYmD,KAAKmT,EAAS1e,QAAS,CAC3D/M,IAAKO,EAAS0C,KAAKjD,KAAO,GAC1BksB,YAAY,MAGI,EAAI/W,EAAYmD,KAAKkT,EAAQze,QAASiJ,EAAcA,EAAc,CACpFtO,QAASA,GAAW,SACpB1B,MAAOoF,OAAOgf,OAAO,CACnB+B,gBAAiB,cACjB/J,MAAOrY,EACPqiB,OAAQriB,EACRsiB,aAAc,IACbrmB,IACF6d,GAAO,CAAC,EAAG,CACZ/kB,SAAU+sB,IAEd,CACAuD,EAAe9V,UAAY,CACzB/Y,SAAUmU,EAAW3H,QAAQyI,OAAO2J,WACpCnZ,MAAO0O,EAAW3H,QAAQyI,OAC1BzL,KAAM2K,EAAW3H,QAAQuf,UAAU,CAAC5X,EAAW3H,QAAQ6V,OAAQlO,EAAW3H,QAAQmd,SAClFvN,UAAWjI,EAAW3H,QAAQwM,OAEhC6V,EAAenrB,aAAe,CAC5B+B,MAAO,CAAC,EACR+D,KAAM,GACN4S,UAAW,G,qCC9EA,gFAEbvR,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBmkB,GAClB,IAyCIjb,EAAiBsF,EAAkB4V,EAAkBC,EAAkBC,EAAkBC,EAAkBC,EAzC3Grb,EAASvI,EAAQ,OACjBwI,EAAaC,GAAuBzI,EAAQ,QAC5C6jB,EAAUpb,GAAuBzI,EAAQ,QACzC8jB,EAAWrb,GAAuBzI,EAAQ,QAC1C+jB,EAAWtb,GAAuBzI,EAAQ,QAC1CgkB,EAASvb,GAAuBzI,EAAQ,QACxCikB,EAAcxb,GAAuBzI,EAAQ,QAC7CyO,EAAUhG,GAAuBzI,EAAQ,QACzC2O,EAAoBlG,GAAuBzI,EAAQ,KACnDkkB,EAAqBzb,GAAuBzI,EAAQ,OACpDkX,EAAczO,GAAuBzI,EAAQ,QAC7C8N,EAAarF,GAAuBzI,EAAQ,QAC5C6I,EAAYJ,GAAuBzI,EAAQ,QAC3C4iB,EAAQna,GAAuBzI,EAAQ,OACvCmkB,EAAS1b,GAAuBzI,EAAQ,QACxCokB,EAAiB3b,GAAuBzI,EAAQ,QAChD0I,EAAUD,GAAuBzI,EAAQ,QACzCwO,EAAWxO,EAAQ,OACnBqO,EAAYrO,EAAQ,OACpBqkB,EAAkB5b,GAAuBzI,EAAQ,QACjDskB,EAAQtkB,EAAQ,OAChBsO,EAAatO,EAAQ,OACrB0O,EAAUjG,GAAuBzI,EAAQ,QACzCsX,EAAS7O,GAAuBzI,EAAQ,QACxC2iB,EAAOla,GAAuBzI,EAAQ,QACtCukB,EAAmB9b,GAAuBzI,EAAQ,QAClDwkB,EAAuB/b,GAAuBzI,EAAQ,QACtDuO,EAAQvO,EAAQ,MAChBykB,EAAehc,GAAuBzI,EAAQ,OAC9C4O,EAAQ5O,EAAQ,OAChB8O,EAAS9O,EAAQ,OACjB+O,EAAStG,GAAuBzI,EAAQ,QACxC0kB,EAAcjc,GAAuBzI,EAAQ,QAC7C2kB,EAAYlc,GAAuBzI,EAAQ,QAC3C4kB,EAAY5kB,EAAQ,OACpBuX,EAASvX,EAAQ,MACjB6kB,EAAapc,GAAuBzI,EAAQ,QAC5C8kB,EAAkBrc,GAAuBzI,EAAQ,QACjD+kB,EAAetc,GAAuBzI,EAAQ,QAC9CglB,EAAqBvc,GAAuBzI,EAAQ,QACpDiJ,GAAcjJ,EAAQ,OAEpBkJ,GAAY,CAAC,OAAQ,cACzBC,GAAa,CAAC,UAAW,OAC3B,SAASV,GAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAAS6F,GAAuB3B,EAASC,GAA6C,OAAjCA,IAAOA,EAAMD,EAAQ1K,MAAM,IAAa1D,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,MAAY,CACtL,SAAStC,GAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAASV,GAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,GAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,GAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,GAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,GAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,GAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,IACM6b,GAA0B,SAAAluB,GAAI,OAAKA,EAAK9B,cAAgB,IAAI4R,MAAK,SAAA1R,GAAC,OAAIA,EAAE+vB,QAAQ,GAAC,EACjFC,GAAyB,SAACC,EAAaC,GAC3C,OAAuB,OAAhBD,QAAwC,IAAhBA,OAAyB,EAASA,EAAYve,MAAK,SAAAnF,GAChF,OAAOA,EAAKwjB,WAAaG,EAAe3jB,EAAKtM,IAC/C,GACF,EACMkwB,GAAgB,WACpB,IAAIhQ,EAAStL,UAAUtO,OAAS,QAAsBqB,IAAjBiN,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAClF,OAAOsL,EAAOhf,OAASgf,EAAOrf,IAChC,EACMsvB,IAA2B,EAAIhd,EAAOid,aAAY,SAAC/Z,EAAMga,GAC7D,IACE1uB,EAGE0U,EAHF1U,KACA2uB,EAEEja,EAFFia,SACAC,EACEla,EADFka,aAEF,GAKI,EAAIrB,EAAMsB,kBAJZC,EAAK,EAALA,MACAC,EAAU,EAAVA,WACAC,EAAkB,EAAlBA,mBACAC,EAAoB,EAApBA,qBAEF,GAGI,EAAIxX,EAAStW,oBAFfD,EAAC,EAADA,EACA2Y,EAAM,EAANA,OAEIqV,EAAOJ,EAAMC,GAUnB,OATA,EAAIvd,EAAOzR,YAAW,WACpB6uB,EAAaG,EACf,GAAG,CAACH,EAAcG,KAGlB,EAAIvd,EAAO2d,qBAAqBT,GAAK,iBAAO,CAC1CM,mBAAAA,EACAC,qBAAAA,EACD,KACmB,EAAI/c,GAAYmD,KAAK+Z,GAAsB,CAC7DvoB,UAAW,MACX5D,UAAW0rB,EAAW,cAAgB,GACtC9yB,UAAuB,EAAIqW,GAAYmD,KAAKiY,EAAgBxjB,QAAS,CACnE+P,OAAQA,EACRiO,aAAc/U,GAAc,CAC1BxT,MAAO,KACNS,GACHqvB,QAAS,OACTC,SAAU,OACV3G,QAAS3oB,GAAQA,EAAK+oB,MAAQ/oB,EAAKuvB,aAAc,EAAIxX,EAAOyX,oBAAoB,CAC9EzyB,IAAKiD,EAAKjD,IACV0yB,QAASzvB,EAAKuvB,YACdG,SAAU1vB,EAAK+oB,OACZ,KACL4G,QAASzuB,EAAE,0BACXrF,UAAuB,EAAIqW,GAAYmD,KAAKua,GAAc,CACxD/zB,SAAmB,OAATqzB,QAA0B,IAATA,GAAmBA,EAAKW,MAA6B,oBAAdX,EAAKW,KAAsBX,EAAKW,OAASX,EAAKW,UAIxH,IASA,SAASrD,GAAaxQ,GACpB,IAAI8T,EAAiBC,EAAiBC,EAAiBC,EAAsBC,EAAuBC,EAAuBC,EAEzH9yB,EAEE0e,EAFF1e,SACAzB,EACEmgB,EADFngB,SAEF,GAGI,EAAI4b,EAAStW,oBAFfD,EAAC,EAADA,EACA2Y,EAAM,EAANA,OAEF,GAA8B,EAAIrI,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,GAAU,KAC1B,IAAsC,EAAIzI,EAAOhU,UAAU,MAAK,WAAzD6yB,GAAW,MAAEC,GAAc,MAClC,IAA0B,EAAI9e,EAAOhU,UAAU,IAAG,WAA3C6D,GAAK,MAAEkvB,GAAQ,MACtB,IAAoC,EAAI/e,EAAOhU,UAAU,IAAG,WAArDmc,GAAU,MAAEC,GAAa,MAChC,IAA8B,EAAIpI,EAAOhU,UAAU,IAAG,WAA/Cyb,GAAO,MAAEuX,GAAU,MAC1B,IAAwD,EAAIhf,EAAOhU,UAAU,IAAG,WAAzEizB,GAAoB,MAAEC,GAAuB,MACpD,IAOI,EAAI7Y,EAAMiC,kBANZxd,GAAG,GAAHA,IAEEM,GAAe,GADjBH,GACEG,gBAEF2kB,GAAS,GAATA,UACM/f,GAAQ,GAAd1E,KAEF,IAAwC,EAAI0U,EAAOhU,UAAU,MAAK,WAA3DmzB,GAAY,MAAEC,GAAe,MACpC,IAAkD,EAAIpf,EAAOhU,WAAU,GAAM,WAAtEqzB,GAAiB,MAAEC,GAAoB,MACxCC,GAAa,CACjB9E,UAAW,GACX+E,aAAc,GACdpW,cAAe,GACfqW,WAAY,GACZ/xB,KAAM,GACNK,MAAO,GACP8uB,YAAa,GACb6C,aAAc,CAAC,EACf9C,wBAAwB,EACxB+C,qBAAqB,EACrBjD,yBAAyB,EACzBkD,iBAAiB,EACjBC,mBAAoB,CAAC,EACrBC,oBAAqB,CAAC,EACtBC,mBAAmB,GAErB,IAA4B,EAAI/f,EAAOhU,UAAUuzB,IAAW,WAArDxS,GAAM,MAAEsE,GAAS,MACxB,IAAoC,EAAIrR,EAAOhU,UAAU,GAAE,WAApDuxB,GAAU,MAAEyC,GAAa,MAC1B3qB,IAAY,EAAI2K,EAAOigB,QAAQ,CAAC,GAChCC,IAAU,EAAIlgB,EAAOigB,QAAQ,CAAC,GAC9BE,IAAc,EAAIngB,EAAOigB,QAAQ,CAAC,GAClC9C,IAAW,EAAItB,EAAevjB,UAAS,SAAAnC,GAAK,OAAIA,EAAMC,YAAYugB,KAAK,KAAK,IAEhFnoB,GACE6G,GAAUN,QADZvG,KAIAivB,IACEyC,GAAQnrB,SAAW,CAAC,GADtB0oB,qBAEI2C,GAAmBpwB,GAASpF,OAASmb,EAAWsa,WAAWC,WAC3DC,GAAe,SAAA1f,GAAG,OAAIwQ,IAAU,SAAAzkB,GAAC,OAAI2U,GAAcA,GAAc,CAAC,EAAG3U,GAAIiU,EAAI,GAAC,GACpF,EAAIb,EAAOzR,YAAW,WACpB,GAAIwe,GAAO0S,WAAY,CACrB,IACE5O,EACE2P,GAAcjf,GAAcA,GAAc,CAAC,EAAGwL,IAAS,CAAC,EAAG,CAC7D0S,WAAY1S,GAAO0S,WACnBpX,OAAAA,KAHAwI,OAKFkO,GAASlO,EACX,CACF,GAAG,CAAC9D,GAAO0S,cAEX,EAAIzf,EAAOzR,YAAW,WACD,IAAfgvB,IAEFlM,GAAUkO,GAEd,GAAG,CAAChC,KAEJ,IAAMkD,GAAmB,WACvB,IAAIC,EACJ,OAAkB,OAAdrrB,SAAoC,IAAdA,IAAqE,QAA5CqrB,EAAqBrrB,GAAUN,eAA4C,IAAvB2rB,GAAiCA,EAAmBlyB,MAClJ,EAAIwX,EAAMxZ,gBAAgB6I,GAAUN,SAEtC,EACT,EACM4rB,GAAwB,SAAAC,GAC5BL,GAAa,CACXV,mBAAoB,CAClB5sB,QAAS,QACTlF,MAAO0yB,KACPI,SAAUD,EACVE,QAAqB,EAAIpgB,GAAYmD,KAAKsC,EAAQ7N,QAAS,CACzD7G,UAAW,gBACX,UAAW,0BACXH,QAAS,WACPivB,GAAa,CACXV,mBAAoB,CAAC,IAEvBkB,GAAU1rB,GAAUN,QAAQisB,aAC9B,EACA32B,SAAUqF,EAAE,oBAIpB,EACMuxB,GAA6B,SAAAjP,GACjC,OAAO,SAAAnS,GACL,IAAIqhB,EAAS5G,IACD,OAANza,QAAoB,IAANA,GAA+C,QAAtBqhB,EAAUrhB,EAAErR,YAA8B,IAAZ0yB,OAAxC,EAAsEA,EAAQ31B,OAAe,OAANsU,QAAoB,IAANA,OAAe,EAASA,EAAErR,UAAyB,OAAb1C,QAAkC,IAAbA,GAAoE,QAApCwuB,EAAiBxuB,EAAS0C,YAAqC,IAAnB8rB,OAAtD,EAA2FA,EAAe/uB,MACjUymB,EAAQnS,EAEZ,CACF,EACAzU,GAAgB0a,EAAUiP,eAAeoM,aAAcF,IAA2B,SAAA1d,GAChF,GAAQA,EAAE1Q,SACHiT,EAAUsb,eAAeC,UAC5Bd,GAAa,CACXV,mBAAoB,CAClB5sB,QAAS,UACTlF,MAAO0yB,KACPI,SAAUnxB,EAAE,0CAMtB,IAAI,CAAc,OAAb5D,QAAkC,IAAbA,GAAqE,QAArCwyB,EAAkBxyB,EAAS0C,YAAsC,IAApB8vB,OAAvD,EAA6FA,EAAgB/yB,MAC7JH,GAAgB0a,EAAUiP,eAAeuM,eAAgBL,IAA2B,WAClFN,GAAsBjxB,EAAE,4CAC1B,IAAI,CAAc,OAAb5D,QAAkC,IAAbA,GAAqE,QAArCyyB,EAAkBzyB,EAAS0C,YAAsC,IAApB+vB,OAAvD,EAA6FA,EAAgBhzB,MAC7JH,GAAgB0a,EAAUiP,eAAewM,cAAeN,IAA2B,WACjFN,GAAsBjxB,EAAE,4CAC1B,IAAI,CAAc,OAAb5D,QAAkC,IAAbA,GAAqE,QAArC0yB,EAAkB1yB,EAAS0C,YAAsC,IAApBgwB,OAAvD,EAA6FA,EAAgBjzB,MAC7J,IAAM+X,GAAU,WACdmF,IAAW,GACXL,IAAc,GACdiJ,GAAU,CAAC,GACXhc,GAAUN,QAAU,CAAC,CACvB,EACMgsB,GAAS,6BAAG,WAAMS,GAAO,qHAkCZ,OA/BHlyB,EAKVyd,GALF0S,WACAhF,EAIE1N,GAJF0N,UACA1sB,EAGEgf,GAHFhf,MAAK,EAGHgf,GAFF3D,cAAAA,OAAa,IAAG,KAAE,IAEhB2D,GADFyS,aAAAA,OAAY,IAAG,KAAE,EAEnB,GAMmD,QAA7CiC,EAAsBpsB,GAAUN,eAA6C,IAAxB0sB,OAAiC,EAASA,EAAoBjzB,OAAS,CAAC,EAAC,IAJlIiZ,QAAAA,OAAO,IAAG,KAAE,EACZsW,EAAW,EAAXA,YACA2D,EAAO,EAAPA,QACAC,EAAQ,EAARA,SAEIC,EAAkE,QAA7CC,EAAsBxsB,GAAUN,eAA6C,IAAxB8sB,OAAiC,EAASA,EAAoBD,kBACxI3nB,EAAMynB,GAAU,EAAInb,EAAOub,oBAAoB/D,EAAatD,GAAakH,EAC/ElZ,IAAW,GACLuY,EAAezf,GAAcA,GAAcA,GAAc,CAC7DwgB,QAASj2B,EAAS0C,KAAKjD,IACvB0O,IAAAA,EACA3K,YAAY,EAAI4sB,EAAa5jB,SAAShJ,GACtCvB,MAAAA,EACAL,KAAM0b,EACN7d,IAAKi0B,GACJzS,GAAO4S,qBAAuBlY,EAAQtU,OAAS,EAAI,CACpDsU,QAASA,EAAQ5Z,KAAI,SAAAsL,GACnB,OAAOoI,GAAcA,GAAc,CAAC,EAAGpI,GAAO,CAAC,EAAG,CAChDtO,MAAOkiB,GAAO2S,aAAavmB,EAAKtM,MAAQ,IAE5C,KACE,CAAC,GAAI+0B,EAAoB,CAC3BA,kBAAAA,GACE,CAAC,GAAIJ,GAAQ,kBAET12B,GAAIk3B,iBAAiB,CACzB70B,MAAO6zB,IACP,WACEjD,EAAa,CAAF,gBAWJ,GAXI,GAIT,EAAIxX,EAAO0b,cAAc,CAC3BC,aAAcnS,GACd/f,SAAAA,GACAlE,SAAAA,IALAH,EAAO,EAAPA,QACAw2B,EAAS,EAATA,UAAS,GASP,EAAI5b,EAAO6b,eAAerE,EAAaoE,GAFzCE,EAAK,EAALA,MACAC,EAAO,EAAPA,SAEED,EAAO,CAAF,iCACDv3B,GAAIy3B,iBAAiB,CACzBp1B,MAAO,CACLxB,QAAAA,EACAsO,IAAKqoB,KAEP,0DAIN9b,EAAOlO,QAAQzI,MAAM,KAAI5B,SACzBgkB,QAAQpiB,MAAM,2BAA4B,EAAF,IACxC8wB,GAAsB,KAAI1yB,SAAS,QAGW,OAHX,UAEnCwa,IAAW,GACXpT,GAAUN,QAAQisB,aAAeA,EAAa,6EAEjD,gBArEc,sCAsETR,GAAgB,SAAArzB,GAWpB,MAAO,CACL0jB,QAVa,EAAI7B,EAAOwT,oBAAoB,CAC5CzV,OAAQxL,GAAcA,GAAc,CAAC,EAAGpU,GAAQ,CAAC,EAAG,CAClD5B,IAAK4B,EAAMstB,YAEbgI,UAAW,CAAC32B,GAEZA,SAAAA,EACAuc,OAAAA,IAKJ,EACMqa,GAAS,SAAAlB,GACb,IACE3Q,EACE2P,GAAcjf,GAAcA,GAAc,CAAC,EAAGwL,IAAS,CAAC,EAAG,CAC7D1E,OAAAA,KAFAwI,OAIFkO,GAASlO,GAGL0M,KAAeD,GAAMnqB,OAAS,IAChCotB,GAAa,CACXV,mBAAoB,CAAC,IAEvBkB,GAAUS,IAEZ/D,IAAqB,SAAA7wB,GAAC,OAAIA,EAAI,CAAC,GACjC,EACM+1B,GAAY,WAChBlF,IAAqB,SAAA7wB,GAAC,OAAIA,EAAI,CAAC,GACjC,EACMg2B,GAAsB,6BAAG,8GAEftzB,EAKVyd,GALF0S,WACAhF,EAIE1N,GAJF0N,UACA1sB,EAGEgf,GAHFhf,MAAK,EAGHgf,GAFF3D,cAAAA,OAAa,IAAG,KAAE,IAEhB2D,GADFyS,aAAAA,OAAY,IAAG,KAAE,EAGnB,EAGInqB,GAAUN,SAAW,CAAC,EAAC,IADzBvG,KAGAuvB,GAHAvvB,OAAI,IAAG,GAAC,EAAC,GAGTuvB,YACA2D,EAEElzB,EAFFkzB,QACAC,EACEnzB,EADFmzB,SAEI1nB,EAAMynB,GAAU,EAAInb,EAAOub,oBAAoB/D,EAAatD,GAAakH,EAC/EvC,GAAgB,CACd5wB,KAAAA,EACAq0B,YAAa,CACXx3B,KAAM,YACN02B,QAASj2B,EAAS0C,KAAKjD,IACvB+D,WAAAA,EACA2K,IAAAA,EACAlM,MAAAA,EACAL,KAAM0b,EACN7d,IAAKi0B,KAEN,2CACJ,kBA/B2B,mCA+DtBsD,GAAiB,SAAA9I,GACrB,IAAI1J,EAAoByS,EAAQC,EAAaC,EAC7C,EAIIjJ,EAHFkJ,aAAAA,OAAY,IAAG,EAAA7tB,GAAUN,QAAO,EAClBouB,EAEZnJ,EAFFwF,aAAY,EAEVxF,EADFoJ,OAAAA,OAAM,IAAG,GAAK,EAId50B,EAIE00B,EAJF10B,KACAuvB,EAGEmF,EAHFnF,YACA2D,EAEEwB,EAFFxB,QACAC,EACEuB,EADFvB,SAGKlH,EAGHjsB,EAHFjD,IACAwC,EAEES,EAFFT,MACAL,EACEc,EADFd,KAIIuN,IAAsD,QAA5CqV,EAAqBxkB,EAAS+S,gBAA6C,IAAvByR,OAAgC,EAASA,EAAmBjmB,WAAa,IAAIkD,QAAO,SAAAX,GAAC,MAAiB,YAAbA,EAAEiG,QAAwBjG,EAAE4B,KAAKisB,YAAcA,CAAS,IAAEpsB,MAAK,SAACuR,EAAGC,GAAC,OAAK,IAAIwjB,KAAKzjB,EAAE0jB,WAAa,IAAID,KAAKxjB,EAAEyjB,YAAc,EAAI,CAAC,IAC5RtE,GAAW/jB,GACX,IAAMukB,EAAe2D,IAA6C,QAAtBJ,EAAS9nB,EAAK,UAA2B,IAAX8nB,GAA6D,QAA/BC,EAAcD,EAAOv0B,YAAkC,IAAhBw0B,OAAjD,EAAmFA,EAAYz3B,MAAQ,GAC/Lg4B,EAA0D,QAA5CN,EAAqBz0B,EAAK9B,oBAAiD,IAAvBu2B,OAAgC,EAASA,EAAmBp1B,KAAI,SAAAsL,GACtI,IACUtM,EAEJsM,EAFFzL,KACA81B,EACErqB,EADFqqB,WAEFpU,EAAO1M,GAAyBvJ,EAAMwH,IAClC8iB,EAAa,CAEjBD,YAAY,EAAI/H,EAAOnjB,SAASkrB,GAAc,GAAKA,GAErD,OAAOjiB,GAAcA,GAAc,CAAC,EAAG6N,GAAO,CAAC,EAAG,CAChDviB,IAAAA,GACC42B,EACL,IACApuB,GAAUN,QAAUwM,GAAcA,GAAc,CAAC,EAAG2hB,GAAe,CAAC,EAAG,CACrE10B,KAAM+S,GAAcA,GAAc,CAAC,EAAG/S,GAAO,CAAC,EAAG,CAE/CiZ,QAAS8b,EACTxF,YAAAA,EACA2D,QAAAA,EACAC,SAAAA,MAGJ,IAAI+B,EAAM,CAAC,EAGX,GAAIN,EAAQ,CACV,IAAMlb,EAAY,CAACpc,GAGb63B,EAAuBJ,GAAc,GAmBrCK,GAAsB,EAAItI,EAAQhjB,UAAS,EAAIijB,EAASjjB,SAAS,GAAF,SAAMqrB,GAhB1C,KAgB+F,OAAOp2B,QAAO,SAAAX,GAAC,QAAMA,EAAEC,GAAG,IAAEwB,MAAK,SAACuR,EAAGC,GACnK,OAAID,EAAE+c,WAAa9c,EAAE8c,UACX,EAEN9c,EAAE8c,WAAa/c,EAAE+c,SACZ,EAEF,CACT,IACMkH,GAAkB,EAAI7d,EAAM8d,oBAAoB,CACpDrc,QAASmc,GACR1b,GACGwX,EAAe,CAAC,EAChB7C,EAAc+G,EAAoB/1B,KAAI,SAAAsL,GAC1C,IACawP,EAEPxP,EAFFb,QACAzL,EACEsM,EADFtM,IAEFuiB,EAAO1M,GAAyBvJ,EAAMyH,IAExC,OADA8e,EAAa7yB,GAAOg3B,EAAgBh3B,IAAQ8b,EACrCpH,GAAcA,GAAc,CAAC,EAAG6N,GAAO,CAAC,EAAG,CAChDviB,IAAAA,EACAk3B,SAAUje,EAAUhZ,0BAA0BD,IAElD,IACA62B,EAAMniB,GAAcA,GAAc,CAAC,EAAGmiB,GAAM,CAAC,EAAG,CAC9C7G,YAAAA,EACA6C,aAAAA,EACA9C,uBAAwBA,GAAuBC,EAAa6C,IAEhE,CAGA,GAAIF,GAAiC,YAAjBA,EAA4B,CAC9C,IAAMvX,EAAShN,EAAKtO,MAAK,SAAAC,GAAC,OAAIA,EAAE4B,KAAKjD,MAAQi0B,CAAY,IACzDkE,EAAMniB,GAAcA,GAAc,CAAC,EAAGmiB,GAAM,CAAC,EAAG,CAC9CjE,WAAuB,OAAXxX,QAA8B,IAAXA,OAAoB,EAASA,EAAO3Y,WACnEvB,MAAkB,OAAXka,QAA8B,IAAXA,OAAoB,EAASA,EAAOzZ,KAAKT,MACnEqb,cAA0B,OAAXnB,QAA8B,IAAXA,OAAoB,EAASA,EAAOzZ,KAAKd,KAE3EiyB,qBAAqB,GAEzB,KAAO,CACL,IAAIqE,EAAuBC,EAC3BP,EAAMniB,GAAcA,GAAc,CAAC,EAAGmiB,GAAM,CAAC,EAAG,CAC9CjE,WAAY,IAAIpW,QAAO,EAAI6S,EAAa5jB,SAAS5K,IACjDK,MAAOA,GAAS,GAChBqb,cAAe,GACfuW,qBAA2E,QAApDqE,EAAwB3uB,GAAUN,QAAQvG,YAA4C,IAA1Bw1B,GAA8G,QAAjEC,EAAyBD,EAAsBt3B,oBAAqD,IAA3Bu3B,OAAnF,EAAgIA,EAAuB9wB,QAAU,GAE3R,CAGA,IAAM+wB,EAnfc,SAAA11B,GAAI,OAAIA,EAAKkzB,UAA+C,KAApC,EAAI1b,EAAMme,gBAAgB31B,EAAe,CAmfpDoxB,CAAgBvqB,GAAUN,QAAQvG,MACnE+xB,GAAahf,GAAcA,GAAc,CACvCkZ,UAAAA,EACA+E,aAAAA,GACCkE,GAAM,CAAC,EAAG,CACXhH,wBAAyBA,GAAwBrnB,GAAUN,QAAQvG,MACnEoxB,gBAAiBsE,KAEfd,GAAUc,GACZtB,IAEJ,EACMtF,GAAQ,CAAC,CACbzwB,IAAK,kBACLa,KAAMgC,EAAE,sCACR2uB,MAAmB,EAAI3d,GAAYiD,MAAMygB,GAAmB,CAC1D/uB,UAAW,MACXhL,SAAU,CAAC0iB,GAAOgT,oBAAkC,EAAIrf,GAAYmD,KAAK0Y,EAAgBjkB,QAGvF,CACA1N,KAAM,YACNmmB,SAAU,WACRwP,GAAa,CACXR,mBAAmB,GAEvB,EAGAsE,UAAW,SAAAC,GACT,IACE91B,EAIE81B,EAJF91B,KACAmzB,EAGE2C,EAHF3C,SACAD,EAEE4C,EAFF5C,QACA3D,EACEuG,EADFvG,YAEF+E,GAAe,CACbI,aAAc,CACZ10B,KAAAA,EACAmzB,SAAAA,EACAD,QAAAA,EACA3D,YAAAA,GAEFqF,QAAQ,IAEV7C,GAAa,CACXR,mBAAmB,IAErB2C,IACF,EACA6B,WAAY,CACVx2B,MAAO2B,EAAE,8CACT+hB,QAAS/hB,EAAE,iCAEE,EAAIgR,GAAYmD,KAAK2Y,EAAalkB,QAAS,CAC1DksB,MAAQpE,GAkBH,MAlBmC,EAAI1f,GAAYiD,MAAMwC,EAAQ7N,QAAS,CAC7ErF,QAAS,OACThC,MAAO,UACP,UAAW,yBACXK,QAAS,WACPivB,GAAa,CACXR,mBAAmB,GAEvB,EACAxuB,MAAO,CACLI,QAAS,SAEXtH,SAAU,EAAc,EAAIqW,GAAYmD,KAAKwW,EAAM/hB,QAAS,CAC1D/G,MAAO,CACLyX,SAAU,GACV7X,YAAa,KAEb,IAAKzB,EAAE,8CAA+C,OAE5DE,QAASA,EACToF,SAAU,WACRqc,GAAU,CAAC,GACXhc,GAAUN,QAAU,CAAC,CACvB,EACA1K,SAAU,SAAAo6B,GACR,IACEC,EACED,EADFC,gBAEF,OAAoB,EAAIhkB,GAAYmD,KAAK4Y,EAAmBnkB,QAAS,CACnE/G,MAAO4rB,GAAW,CAEhBxF,OAAQ,6CACN,CACFA,OAAQ,qBAEVgN,SAAUD,EAAgBzqB,IAC1B2qB,kBAAmB,SAAA1B,GACjBJ,GAAe,CACbI,aAAc3hB,GAAcA,GAAc,CAAC,EAAG2hB,GAAe,CAAC,EAAG,CAC/DxB,SAAS,IAGX0B,QAAQ,GAEZ,EACAyB,qBAAsB,SAAAC,GACpB,IACYC,EAERD,EAFFh5B,SACAk5B,EACEF,EADFE,cAEIC,GAAuB,OAAXlY,SAA8B,IAAXA,QAAoB,EAASA,GAAO0N,aAA0B,OAAX1N,SAA8B,IAAXA,QAAoB,EAASA,GAAO0N,cAAiC,OAAjBsK,QAA0C,IAAjBA,OAA0B,EAASA,EAAax5B,KACxO,OAAoB,EAAImV,GAAYiD,MAAMuhB,GAA0B,CAClE76B,SAAU,CAAC46B,IAAyB,EAAIvkB,GAAYmD,KAAK,MAAO,CAC9DpS,UAAW,kBACXpH,UAAuB,EAAIqW,GAAYmD,KAAK+X,EAAOtjB,QAAS,CAC1D7G,UAAW,kBAEE,EAAIiP,GAAYmD,KAAK,MAAO,CAC3CpS,UAAWwzB,EAAW,kBAAoB,GAC1C1zB,MAAO,CACLgE,WAAY,IAEdlL,SAAU26B,MAGhB,EACAG,YAAa,SAAAC,GAEX,OAAwB,OAAjBA,QAA0C,IAAjBA,OAA0B,EAASA,EAAa73B,QAAO,SAAAX,GAAC,SAAM,EAAIoZ,EAAMqf,qBAAqBz4B,EAAE,GACjI,GAEJ,OAGJ8kB,OAAQhiB,EAAE,iBACV+hB,QAASsL,GAAchQ,IAAUrd,EAAE,6BAA8B,CAC/DhC,KAAMqvB,GAAchQ,MACjBrd,EAAE,eACPqhB,SAAUzN,GACViG,UAAW,WACTmZ,IACF,GACC,CACD71B,IAAK,YACLa,KAAMgC,EAAE,+BACR2uB,MAAmB,EAAI3d,GAAYiD,MAAMygB,GAAmB,CAC1D/uB,UAAW,MACX5D,UAAW,oBACXpH,SAAU,EAAc,EAAIqW,GAAYmD,KAAK6X,EAAYpjB,QAAS,CAChEvK,MAAO2B,EAAE,+BACTmxB,SAAUnxB,EAAE,sDACG,EAAIgR,GAAYmD,KAAKyY,EAAWhkB,QAAS,CACxD9J,KAAMA,GACNynB,YAAayM,GACbxM,eAA4B,EAAIxV,GAAYiD,MAAMjD,GAAYkJ,SAAU,CACtEvf,SAAU,EAAc,EAAIqW,GAAYmD,KAAK,IAAK,CAChDxZ,UAAuB,EAAIqW,GAAYmD,KAAK,MAAO,CAEjDyhB,wBAAyB,CACvBC,OAAQ71B,EAAE,sCAAsC2Z,OAAO0D,GAAO6S,gBAAkB,aAAe,UAAW,CACxGlyB,KAAM+yB,aAIG,EAAI/f,GAAYmD,KAAK,IAAK,CACzCxZ,SAAUqF,EAAE,iEAKpBgiB,OAAQhiB,EAAE,cACV+hB,QAAS/hB,EAAE,uBACXqhB,SAAU4R,GACVpZ,UAAW,WACT+V,IAAqB,GACrBoD,IACF,GACCl0B,IAAQue,GAAO6S,iBAAmB,CACnC/yB,IAAK,WACLa,MAAmB,EAAIgT,GAAYiD,MAAMjD,GAAYkJ,SAAU,CAC7Dvf,SAAU,CAACqF,EAAE,qBAAkC,EAAIgR,GAAYmD,KAAKuY,EAAU9jB,QAAS,CAAC,MAE1F+lB,MAAmB,EAAI3d,GAAYiD,MAAMygB,GAAmB,CAC1D/uB,UAAW,MACX5D,UAAW,oBACXF,MAAO,CACLK,cAAe,UAEjBvH,SAAU,GAAoR,KAA/N,QAAhDo0B,EAAuB0B,GAAYprB,eAA8C,IAAzB0pB,GAA6G,QAAjEC,EAAwBD,EAAqB+G,sBAAsD,IAA1B9G,OAAnF,EAA+HA,EAAsBxc,KAAKuc,KAAgCY,MAAmC,EAAI3e,GAAYmD,KAAK4hB,GAAmB,CAC5W13B,MAAO2B,EAAE,oBACTmxB,SAAUnxB,EAAE,mDACT,EAAI8rB,EAASljB,SAASyU,GAAO+S,qBAG7BX,KAA6B,EAAIze,GAAYmD,KAAKwY,EAAUqJ,wBAAyB,CACxFxI,IAAKiD,GACL3xB,KAAM2wB,GAAa3wB,KAGnB5D,KAAMmiB,GAAOyS,aAAe,SAAW,OACvCzO,SAhWmB,SAAA6P,GACvBtB,IAAqB,GACrBiB,GAAa,CACXT,oBAAqB,CACnB7sB,QAAS,QACTlF,MAAO0yB,KACPI,SAAUD,EACVrvB,MAAO,CACLo0B,WAAY,KAEd7E,QAAqB,EAAIpgB,GAAYmD,KAAKsC,EAAQ7N,QAAS,CACzD7G,UAAW,gBACX,UAAW,2BACXH,QAAS,WACPivB,GAAa,CACXT,oBAAqB,CAAC,GAE1B,EACAz1B,SAAUqF,EAAE,oBAIpB,EA2UMmzB,YAAa1D,GAAa0D,YAC1B+C,iBA3UoB,SAAA9N,GACxB,IACE8J,EACE9J,EADF8J,kBAEFvsB,GAAUN,QAAQ6sB,kBAAoBA,EACtCtC,IAAqB,GACrBoD,IACF,KAyT0E,EAAIhiB,GAAYmD,KAAK,MAAO,CAChGpS,UAAW,wCACXpH,UAAuB,EAAIqW,GAAYmD,KAAKoY,EAAqB3jB,QAASiJ,GAAc,CAAC,EAAGwL,GAAO+S,2BAYvGvb,SAA+R,KAAlO,QAAjDoa,EAAwBwB,GAAYprB,eAA+C,IAA1B4pB,GAA+G,QAAlEC,EAAwBD,EAAsB6G,sBAAsD,IAA1B5G,OAApF,EAAgIA,EAAsB1c,KAAKyc,KAAiCU,GACpS3N,OAAQhiB,EAAE,cACV+hB,QAAS/hB,EAAE,eACX6Z,UAAW,WACiC,oBAA/B4W,GAAYprB,QAAQ2tB,SAC7BvC,GAAYprB,QAAQ2tB,SACpBpD,IAAqB,GAEzB,EACAvO,SAAU,WACR4R,IACF,GACC,CACD91B,IAAK,SACLa,KAAMgC,EAAE,iBACRG,MAAAA,GACAwuB,MAAmB,EAAI3d,GAAYiD,MAAMygB,GAAmB,CAC1D/uB,UAAW,MACXhL,SAAU,EAAc,EAAIqW,GAAYmD,KAAK4hB,GAAmB,CAC9D13B,MAAO2B,EAAE,iBACTmxB,SAAUnxB,EAAE,iDACRqd,GAAO0N,aAAehT,GAAQtU,SAAuB,EAAIuN,GAAYiD,MAAM4B,EAAWjN,QAAS,CACnGyR,QAAQ,EACR3Z,MAAOV,EAAE,qCACTm2B,aAAc,MACd5yB,QAAS,WACTvF,KAAM,MACNo4B,WAAYp2B,EAAE,wCACd,UAAW,4BACXc,WAAW,EACX3F,MAAOkiB,GAAOyS,cAAgB,UAC9BxqB,SAAU,SAAAuO,GACRuf,GAAe,CACbtD,aAAcjc,EAAE/B,OAAO3W,OAE3B,EACA0G,MAAO,CACLw0B,aAAc,IAEhBlwB,OAAQ,SACRxL,SAAU,EAAc,EAAIqW,GAAYmD,KAAKvD,EAAUhI,QAAS,CAC9DzN,MAAO,UACPR,SAAUqF,EAAE,mCACX,WAAY+X,GAAQ5Z,KAAI,SAAAjB,GACzB,OAAoB,EAAI8T,GAAYiD,MAAMrD,EAAUhI,QAAS,CAC3DzN,MAAO+B,EAAE4B,KAAKjD,IACd,UAAWqB,EAAE4B,KAAKjD,IAClBlB,SAAU,CAACuC,EAAE4B,KAAKT,OAAoB,EAAI2S,GAAYmD,KAAKuW,EAAK9hB,QAAS,CACvE/G,MAAO,CACLgE,WAAY,GAEdlL,UAAU,EAAIkc,EAAOyf,kBAAkBp5B,EAAE02B,eAE1C12B,EAAE4B,KAAKjD,IACZ,QACe,EAAImV,GAAYmD,KAAK0B,EAAWjN,QAAS,CACxDlI,MAAOV,EAAE,iCACTm2B,aAAc,MACd5yB,QAAS,WACTvF,KAAM,aACNu4B,WAAY,CACV,UAAW,qBAEbz1B,WAAW,EACXs1B,WAAY7G,IAAwBvvB,EAAE,oCACtC6B,MAAO,CACLw0B,aAAc,IAEhBlwB,OAAQ,SACRhL,MAAOkiB,GAAO0S,WACdzqB,SAAU,SAAAuO,GACR,IAAMkc,EAAalc,EAAE/B,OAAO3W,MAC5B01B,GAAa,CACXd,WAAAA,IAEFP,GAAwBxvB,EAAE,qBAAsB,CAC9C7E,OAAO,EAAI0b,EAAO2f,kBAAkBzG,KAExC,KACe,EAAI/e,GAAYmD,KAAK0B,EAAWjN,QAAS,CACxDlI,MAAOV,EAAE,gBACTm2B,aAAc,MACd5yB,QAAS,WACTzC,WAAW,EACXe,MAAO,CACLw0B,aAAc,IAEhBlwB,OAAQ,SACRhL,MAAOkiB,GAAOhf,MACd+3B,WAAYp2B,EAAE,+BACdsF,SAAU,SAAAuO,GACR,IAAMxV,EAAQwV,EAAE/B,OAAO3W,MACvBwmB,GAAU9P,GAAcA,GAAc,CAAC,EAAGwL,IAAS,CAAC,EAAG,CACrDhf,MAAAA,IAEJ,MACI8B,KAAsB,EAAI6Q,GAAYmD,KAAKkL,EAAOzW,QAAS,CAC/DjN,KAAM,QACNkG,MAAO,CACLoc,MAAO,OACP8L,UAAW,GAEbpvB,SAAUwF,QAGd6hB,OAAQhiB,EAAE,cACV+hB,QAAS/hB,EAAE,eACXqhB,SAAU4R,GACVpZ,UAAW,WACTmZ,IACF,GACCl0B,KAAoB,OAAXue,SAA8B,IAAXA,QAAoB,EAASA,GAAO4S,sBAAwB,CACzF9yB,IAAK,cACLa,MAAmB,EAAIgT,GAAYiD,MAAMjD,GAAYkJ,SAAU,CAC7Dvf,SAAU,CAACqF,EAAE,sBAAuB,IAAKqd,GAAO2P,0BAAwC,EAAIhc,GAAYmD,KAAKuY,EAAU9jB,QAAS,CAAC,MAEnIiM,WAAYsa,KAA2B,OAAX9R,SAA8B,IAAXA,QAAoB,EAASA,GAAO6P,wBACnFyB,KAAM,WACJ,OAAoB,EAAI3d,GAAYiD,MAAMygB,GAAmB,CAC3D/uB,UAAW,MACXhL,SAAU,EAAc,EAAIqW,GAAYmD,KAAK4hB,GAAmB,CAC9D13B,MAAO2B,EAAE,sBACTmxB,SAAUnxB,EAAE,qDACG,EAAIgR,GAAYmD,KAAKsY,EAAY7jB,QAAS,CACzD/G,MAAO,CACLkoB,WAAY,GACZ9L,MAAO,QAETwY,OAAQpZ,GAAO8P,YACflU,aAAcoE,GAAO2S,aAGrB1qB,SAAU,SAACoxB,EAAaC,GACtB,IACEniB,EAGEmiB,EAHFniB,OACAoiB,EAEED,EAFFC,YACAC,EACEF,EADFE,UAEa,YAAXriB,GACFqc,GAAa,CACX3D,uBAAwBA,GAAuB7P,GAAO8P,YAAa0J,GACnE7G,aAAc6G,IAGH,SAAXriB,EACF4a,GAAewH,GACN,CAAC,SAAU,WAAW3xB,SAASuP,IACxC4a,GAAe,KAEnB,MAGN,EACApN,OAAQhiB,EAAE,cACV+hB,QAAS/hB,EAAE,eACXqhB,SAAU4R,GACVpZ,UAAWmZ,IACV,CACD71B,IAAK,UACLa,KAAMgC,EAAE,kBACR6U,UAAU,EACV3U,SAAS,EACTyuB,MAAmB,EAAI3d,GAAYmD,KAAKugB,GAAmB,CACzD/uB,UAAW,MACX5D,UAAW,wCACXF,MAAO,CACLK,cAAe,UAEjBvH,UAAU,EAAImxB,EAASljB,SAASyU,GAAO8S,qBAAmC,EAAInf,GAAYmD,KAAKmY,EAAiB1jB,QAAS,CACvHrK,SAAsB,EAAIyS,GAAYmD,KAAK2iB,GAAY,CACrDn8B,SAAUqF,EAAE,oDAEd+2B,cAAe,GACfC,aAAa,KACG,EAAIhmB,GAAYmD,KAAK,MAAO,CAC5CtS,MAAO,CACLkoB,UAAW,KAEbpvB,UAAuB,EAAIqW,GAAYmD,KAAKoY,EAAqB3jB,QAASiJ,GAAc,CAAC,EAAGwL,GAAO8S,yBAGvGpO,QAAS/hB,EAAE,mBAEX6Z,UAAW,WACTjG,KAEAqjB,YAAW,WACT,IAAMC,EAAYC,SAASC,uBAAuB,kBAAkB,GAChEF,IACFA,EAAUG,UAAYH,EAAUI,aAEpC,GAAG,IACL,IACCz5B,QAAO,SAAA4L,GAAI,OAAIA,CAAI,IAChBukB,GAAOJ,GAAMC,KAAe,CAAC,EAC7B0J,GAAkB,SAAA1jB,GACtBA,EAAEC,kBAEF4E,IAAc,EAChB,EAYM8e,GAAkB3J,GAAaD,GAAMnqB,OAAS,EACpD,OAAoB,EAAIuN,GAAYiD,MAAMjD,GAAYkJ,SAAU,CAC9Dvf,SAAU,CAAqB,oBAAbA,EAA0BA,EAAS,CACnDuF,QAAAA,EACAyT,KAAM4jB,MACU,EAAIvmB,GAAYiD,MAAMrD,EAAUhI,QAAS,CACzDhH,QAAS21B,GACTx1B,UAAW,mBACX,UAAW,uBACXpH,SAAU,CAACuF,GAAuB,EAAI8Q,GAAYmD,KAAKuC,EAAkB9N,QAAS,CAChFhD,KAAM,MACU,EAAIoL,GAAYmD,KAAKwW,EAAM/hB,QAAS,CACpD/G,MAAO,CACLyX,SAAU,GACV7X,YAAa,KAEbzB,EAAE,6BACJyY,KAA2B,EAAIzH,GAAYmD,KAAKsjB,GAAe,CACjEp5B,MAAO2B,EAAE,iCAAkC,CACzChC,MAAM,EAAIsY,EAAMxZ,gBAAgBV,KAElCoiB,UAAU,EACV1d,WAAW,EACXyT,WAAY,CACV1S,MAAO4rB,GAAW,CAChBxP,MAAO,OACPgK,OAAQntB,OAAO48B,aACb,CACFlZ,SAAU,KACVvJ,SAAU,IACVgJ,MAAO,QAKXrK,QAAS,SAAC+jB,EAAOC,GACf,IAAIC,EAASC,EAEE,kBAAXF,IAGqB,QAAxBC,EAAUjK,GAAM,UAA4B,IAAZiK,GAAwE,QAAzCC,EAAmBD,EAAQxW,gBAA2C,IAArByW,GAAuCA,EAAiBtlB,KAAKqlB,GAChL,EACAL,gBAAiBA,GACjBO,sBAAsB,EACtBpkB,MAAM,EACNtT,SAAsB,EAAI2Q,GAAYiD,MAAMjD,GAAYkJ,SAAU,CAChEvf,SAAU,CAACqzB,GAAKhM,SAAuB,EAAIhR,GAAYmD,KAAKsC,EAAQ7N,QAAS,CAC3EhH,QAAS,SAAAiS,GACPA,EAAEC,kBACFka,GAAK3M,UACP,EACA9f,MAAO,UACP5G,SAAUqzB,GAAKhM,QAAUhiB,EAAE,mBACzBguB,GAAKjM,UAAwB,EAAI/Q,GAAYiD,MAAMwC,EAAQ7N,QAAS,CACtEhH,QAAS,SAAAiS,GACPA,EAAEC,kBACFka,GAAKnU,WACP,EACAtY,MAAO,UACP,UAAW,sBACXsT,SAAmC,mBAAlBmZ,GAAKnZ,SAAyBmZ,GAAKnZ,YAvEtD3U,IAAW8tB,GAAK7tB,OAAUkd,GAAO0N,YAGjC8C,GAAa,IACPxQ,GAAO0S,WAoEXxsB,QAAS,YACT4W,WAAW,EACX9b,MAAO2vB,GAAKjM,QACZlgB,MAAO,CACLgE,WAAY,EACZmyB,SAAU,SACVC,aAAc,WACdC,WAAY,SACZ1Z,SAAU,QACVpd,QAAS,gBAEXzG,SAAU,EAA0B,mBAAjBqzB,GAAK9tB,QAAwB8tB,GAAK9tB,QAAUA,KAAyB,EAAI8Q,GAAYmD,KAAKuC,EAAkB9N,QAAS,CACtIhD,KAAM,KACJooB,GAAKjM,cAGbpnB,UAAuB,EAAIqW,GAAYmD,KAAKkY,EAAM8L,aAAc,CAC9DvK,MAAOA,GACP1yB,KAAM,SACNP,UAAuB,EAAIqW,GAAYmD,KAAKmZ,GAAa,CACvDE,IAAKgD,GACL1xB,KAAMA,GACN2uB,SAAUA,GACVC,aAAc,SAAA0K,GACZ9H,GAAc8H,EAChB,UAKV,CA/6BA9K,GAAYnY,UAAY,CACtBrW,KAAMyR,EAAW3H,QAAQqS,IACzByS,aAAcnd,EAAW3H,QAAQsb,KAAKlJ,WACtCyS,SAAUld,EAAW3H,QAAQwb,KAAKpJ,YAEpCsS,GAAYxtB,aAAe,CACzBhB,KAAM,MA06BRwsB,GAAanW,UAAY,CACvBxa,SAAU4V,EAAW3H,QAAQqS,IAC7B7e,SAAUmU,EAAW3H,QAAQyI,OAAO2J,YAEtCsQ,GAAaxrB,aAAe,CAC1BnF,SAAU,MAEZ,IAAM88B,IAAgB,EAAIhnB,EAAQ7H,SAAS4N,EAAQ5N,QAA7B,CAAsCyH,IAAoBA,EAAkB2G,GAAuB,CAAC,yKACpH0d,IAAoB,EAAIjkB,EAAQ7H,SAASqW,EAAYrW,QAAjC,CAA0C+M,IAAqBA,EAAmBqB,GAAuB,CAAC,0CAC9H0X,GAAeje,EAAQ7H,QAAQ2M,IAAIgW,IAAqBA,EAAmBvU,GAAuB,CAAC,gRACnGqhB,GAAwB,SAAA34B,GAC5B,OAAIA,EAAM+tB,SACD,kEAEF,EACT,EACMS,IAAuB,EAAIzd,EAAQ7H,SAASqjB,EAAmBrjB,QAAxC,CAAiD4iB,IAAqBA,EAAmBxU,GAAuB,CAAC,OAAQ,2LAA4L,0CAA2C,0LAA0L,SAAAshB,GAKrjB,MAAkB,gBAFdA,EADFv2B,UAIO,2UAEF,2oCACT,IAAG,SAAArC,GAAK,OAAI24B,GAAsB34B,EAAM,IAAE,SAAAA,GAAK,OAAI24B,GAAsB34B,EAAM,IACzEq2B,IAAoB,EAAItlB,EAAQ7H,SAASojB,EAAYpjB,QAAjC,CAA0C6iB,IAAqBA,EAAmBzU,GAAuB,CAAC,iCAC9Hwe,GAA2B/kB,EAAQ7H,QAAQ2M,IAAImW,IAAqBA,EAAmB1U,GAAuB,CAAC,mZAAoZ,gSAAiS,qCAAsC,uPAAuP,SAAAtX,GAAK,OAAIA,EAAM+G,MAAM+S,QAAQ+e,OAAOC,KAAK,IAAE,SAAA94B,GAAK,OAAIA,EAAM+G,MAAM+S,QAAQtE,QAAQqV,IAAI,IAAE,SAAA7qB,GAAK,OAAIA,EAAM+G,MAAM+S,QAAQtE,QAAQqV,IAAI,IAChsCuM,GAAarmB,EAAQ7H,QAAQ2M,IAAIoW,IAAqBA,EAAmB3U,GAAuB,CAAC,cAAe,4HAA4H,SAAAtX,GAAK,OAAIA,EAAM+G,MAAM+S,QAAQtE,QAAQqV,IAAI,G,qCClkC9Q,uBAEbtjB,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBsxB,EAClB,IAcIpoB,EAdAC,EAASvI,EAAQ,OACjB0I,EAAUD,EAAuBzI,EAAQ,QACzCwI,EAAaC,EAAuBzI,EAAQ,QAC5C2I,EAAcF,EAAuBzI,EAAQ,QAC7C+N,EAAOtF,EAAuBzI,EAAQ,QACtCgO,EAAQvF,EAAuBzI,EAAQ,QACvCuO,EAAQvO,EAAQ,MAChBwO,EAAWxO,EAAQ,OACnByO,EAAUhG,EAAuBzI,EAAQ,QACzC2wB,EAAQloB,EAAuBzI,EAAQ,OACvC8O,EAAS9O,EAAQ,OACjB4wB,EAAenoB,EAAuBzI,EAAQ,QAC9C6wB,EAAWpoB,EAAuBzI,EAAQ,QAC1CiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASsnB,EAAuBjlB,GAC9B,IACEpX,EAGEoX,EAHFpX,SACAoc,EAEEhF,EAFFgF,UACA7d,EACE6Y,EADF7Y,SAEF,GAAoC,EAAI2V,EAAOhU,UAAU,IAAG,SAArDmc,EAAU,KAAEC,EAAa,KAE9B1Y,GACE,EAAIuW,EAAStW,oBADfD,EAEI64B,GAAUrgB,EAAUra,KAAI,SAAAjB,GAAC,OAAIA,EAAE4B,KAAKjD,GAAG,IAAE,GACzCi9B,EAAY18B,EAAS28B,QAC3B,GAAsB,EAAIzoB,EAAOhU,UAAU,YAAW,SAA/CwG,EAAG,KAAEk2B,EAAM,KACZh7B,EAAOwa,EAAUmB,OAAOvd,GAAU+B,KAAI,SAAAjB,GAAC,OAAI,EAAIoZ,EAAMxZ,gBAAgBI,GAAG,EAAK,IAAEuN,KAAK,OAC1F,IAAI,EAAIoM,EAAO3T,cAAc9G,EAAS+G,QACpC,OAAO,KAET,GAAwB,YAApB/G,EAAS+G,SAAwB,EAAI0T,EAAO3T,cAAc9G,EAAS+G,QACrE,OAAO,KAET,IAGMyW,EAAS,SAAA/F,GACbA,EAAEC,kBAEF4E,GAAc,EAChB,EACMugB,EAAa,CACjB9pB,SAAU,CACRzO,MAAOV,EAAE,8BACT7E,MAAO,WACPwK,WAAwB,EAAIqL,EAAYmD,KAAKykB,EAAShwB,QAAS,CAC7DxM,SAAUA,EACVoc,UAAWA,KAGfxb,aAAc,CACZ0D,MAAOV,EAAE,sBACT7E,MAAO,eACPwK,WAAwB,EAAIqL,EAAYmD,KAAKwkB,EAAa/vB,QAAS,CACjExM,SAAUA,EACVoc,UAAWA,MAIXnV,EAAO4D,OAAON,OAAOsyB,GAAY96B,KAAI,SAAA2c,GAKzC,MAAO,CACLpa,MAFEoa,EAFFpa,MAKAvF,MAHE2f,EADF3f,MAMJ,IAIM+9B,EAAYD,EAAWn2B,IAAQm2B,EAAW9pB,SAChD,MAAO,CAAqB,oBAAbxU,EAA0BA,EAAS,CAChDgZ,KAAMiG,KACU,EAAI5I,EAAYmD,KAAKzD,EAAY9H,QAAS,CAC1DhH,QAASgY,EACT,UAAW,0BACXjf,UAAuB,EAAIqW,EAAYmD,KAAK4B,EAAMnN,QAAS,CAAC,KAC1D6P,IAA2B,EAAIzH,EAAYmD,KAAK6F,EAAc,CAChErG,MAAM,EACN7S,WAAW,EACX0d,SAAU,KACVngB,MAAOL,EACP4V,QAnDc,WACd8E,GAAc,EAChB,EAkDEnE,WAAY,CACV1S,MAAO,CACLoY,UAAW,SAGftf,SAAUk+B,GAAUC,GAAyB,EAAI9nB,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC/EzE,GAAI,EACJxJ,SAAU,EAAc,EAAIqW,EAAYmD,KAAKukB,EAAM9vB,QAAS,CAC1DvF,KAAMA,EACNgC,QAASvC,EACTwC,SA1Bc,SAAAC,GAClByzB,EAAOzzB,EACT,EAyBMC,cAAe,SACb0zB,EAAUvzB,cACE,EAAIqL,EAAYmD,KAAKwkB,EAAa/vB,QAAS,CAC3DxM,SAAUA,EACVoc,UAAWA,MAGjB,CACAigB,EAAuBtjB,UAAY,CACjC/Y,SAAUmU,EAAW3H,QAAQyI,OAAO2J,WACpCxC,UAAWjI,EAAW3H,QAAQwM,MAC9Bza,SAAU4V,EAAW3H,QAAQqS,KAE/Bwd,EAAuB34B,aAAe,CACpC0Y,UAAW,GACX7d,SAAU,MAEZ,IArGgC0a,EAASC,EAqGnC0E,GAAe,EAAIvJ,EAAQ7H,SAAS4N,EAAQ5N,QAA7B,CAAsCyH,IArG3BgF,EAqGwF,CAAC,8LArGpEC,IAAOA,EAAMD,EAAQ1K,MAAM,IAqGD0F,EArGcpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,Q,oCCtB7J,6DAEbrO,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBgyB,EAClB,IAaI9oB,EAbAC,EAASvI,EAAQ,OACjB0I,EAAUD,EAAuBzI,EAAQ,QACzCwI,EAAaC,EAAuBzI,EAAQ,QAC5CqxB,EAAU5oB,EAAuBzI,EAAQ,QACzCwO,EAAWxO,EAAQ,OACnB2I,EAAcF,EAAuBzI,EAAQ,QAC7CoT,EAAW3K,EAAuBzI,EAAQ,QAC1CkX,EAAczO,EAAuBzI,EAAQ,QAC7CmX,EAAS1O,EAAuBzI,EAAQ,QACxCoX,EAAc3O,EAAuBzI,EAAQ,QAC7CqX,EAAoB5O,EAAuBzI,EAAQ,QACnDwX,EAAW/O,EAAuBzI,EAAQ,OAC1CiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAASgoB,EAAgB3lB,GACvB,IACE7N,EAIE6N,EAJF7N,UACAuc,EAGE1O,EAHF0O,OACArN,EAEErB,EAFFqB,SACAwkB,EACE7lB,EADF6lB,IAGAr5B,GACE,EAAIsQ,EAAO/P,YAAYgW,EAASwJ,eADlC/f,EAEF,GAA8B,EAAIsQ,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAA0C,EAAIzI,EAAOhU,UAAU,MAAK,SAA7Dg9B,EAAa,KAAEC,EAAgB,KAChCC,EAAe,6BAAG,WAAMC,GAAK,iEAChB,OAAjB1gB,GAAW,GAAM,SACXmJ,EAAOuX,EAAM9zB,UAAW8zB,EAAM9Y,YAAW,OAC/C5H,GAAW,GACXwgB,EAAiB,MAAM,2CACxB,gBALoB,sCAMfG,EAAoB7kB,GAAY3U,EAChCy5B,GAAmB,EAAI3oB,EAAYmD,KAAKylB,EAAc,CAC1D/kB,SAAU6kB,EACV93B,QAAS,kBAAM23B,EAAiB,CAC9Bl7B,MAAO2B,EAAE,6BAET5B,YAAa,SAACif,EAAQsE,GAAS,OAAkB,EAAI3Q,EAAYiD,MAAMgL,EAAYrW,QAAS,CAC1FjD,UAAW,MACXhL,SAAU,EAAc,EAAIqW,EAAYmD,KAAK8K,EAAYrW,QAAS,CAChE8Y,cAAc,EACd/mB,SAAUqF,EAAE,iDACG,EAAIgR,EAAYiD,MAAMkL,EAAYvW,QAAS,CAC1D5K,KAAM,aACN7C,MAAOkiB,EAAOsD,WACdrb,SAAU,SAAAuO,GAAC,OAAI8N,EAAU9P,EAAcA,EAAc,CAAC,EAAGwL,GAAS,CAAC,EAAG,CACpEsD,WAAY9M,EAAE/B,OAAO3W,QACpB,EACHR,SAAU,EAAc,EAAIqW,EAAYmD,KAAKiL,EAAkBxW,QAAS,CACtEzN,MAAO,WACPymB,SAAsB,EAAI5Q,EAAYmD,KAAK+K,EAAOtW,QAAS,CAAC,GAC5DlI,MAAOV,EAAE,8CACM,EAAIgR,EAAYmD,KAAKiL,EAAkBxW,QAAS,CAC/DzN,MAAO,WACPymB,SAAsB,EAAI5Q,EAAYmD,KAAK+K,EAAOtW,QAAS,CAAC,GAC5DlI,MAAOV,EAAE,kDAGb,EACF+hB,QAAS/hB,EAAE,kBACXgiB,OAAQhiB,EAAE,iBACVqd,OAAQ,CACN1X,UAAAA,EACAgb,WAAY,YAEd9G,UAAW2f,EACXnY,SAAU,kBAAMkY,EAAiB,KAAK,GACtC,EACF,UAAW,uBACX5+B,UAAuB,EAAIqW,EAAYmD,KAAKilB,EAAQxwB,QAAS,CAC3DiM,SAAU6kB,MAGRG,GAA8B,EAAI7oB,EAAYmD,KAAKgH,EAASvS,QAAS,CACzEvK,MAAOg7B,GAAOr5B,EAAE,iBAChBrF,UAAuB,EAAIqW,EAAYmD,KAAK,OAAQ,CAClDxZ,SAAUg/B,MAGd,OAAoB,EAAI3oB,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,CAACk/B,EAAgBP,IAA8B,EAAItoB,EAAYmD,KAAKoL,EAAS3W,QAAS,CAC9FvK,MAAOi7B,EAAcj7B,MACrBD,YAAak7B,EAAcl7B,YAC3B2jB,QAASuX,EAAcvX,QACvBC,OAAQsX,EAActX,OACtB3E,OAAQic,EAAcjc,OACtBxD,UAAWyf,EAAczf,UACzBwH,SAAUiY,EAAcjY,aAG9B,CACA8X,EAAgBhkB,UAAY,CAC1BxP,UAAW4K,EAAW3H,QAAQyI,OAAO2J,WACrCkH,OAAQ3R,EAAW3H,QAAQsb,KAC3BrP,SAAUtE,EAAW3H,QAAQwb,KAC7BiV,IAAK9oB,EAAW3H,QAAQmd,QAE1BoT,EAAgBr5B,aAAe,CAC7BoiB,OAAQ,WAAF,kBAAE,kHAAc,kDAAd,GACRrN,UAAU,EACVwkB,IAAK,IAEP,IA/FgChkB,EAASC,EA+FnCskB,GAAe,EAAInpB,EAAQ7H,SAAS8H,EAAY9H,QAAjC,CAA0CyH,IA/F/BgF,EA+F4F,CAAC,kDA/FxEC,IAAOA,EAAMD,EAAQ1K,MAAM,IA+FG0F,EA/FUpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,Q,qCCrB7J,6DAEbrO,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB2yB,EAClB,IAkBIzpB,EAAiBsF,EAlBjBrF,EAASvI,EAAQ,OACjB0I,EAAUD,EAAuBzI,EAAQ,QACzCwI,EAAaC,EAAuBzI,EAAQ,QAC5CgyB,EAAQvpB,EAAuBzI,EAAQ,QACvC8N,EAAarF,EAAuBzI,EAAQ,QAC5CsX,EAAS7O,EAAuBzI,EAAQ,QACxCqO,EAAYrO,EAAQ,OACpBuO,EAAQvO,EAAQ,MAChBwO,EAAWxO,EAAQ,OACnBiyB,EAAexpB,EAAuBzI,EAAQ,QAC9C+O,EAAStG,EAAuBzI,EAAQ,QACxC4O,EAAQ5O,EAAQ,OAChBkyB,EAAczpB,EAAuBzI,EAAQ,QAC7CmyB,EAAS1pB,EAAuBzI,EAAQ,QACxCoyB,EAAc3pB,EAAuBzI,EAAQ,QAC7C8O,EAAS9O,EAAQ,OACjByX,EAAShP,EAAuBzI,EAAQ,QACxCiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAAS6F,EAAuB3B,EAASC,GAA6C,OAAjCA,IAAOA,EAAMD,EAAQ1K,MAAM,IAAa1D,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,MAAY,CACtL,SAASlE,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS2oB,EAAqBtmB,GAC5B,IACEpX,EAEEoX,EAFFpX,SACAoc,EACEhF,EADFgF,UAEIzc,GAAO,EAAI4a,EAAMiC,kBAErByH,EACEtkB,EADFskB,UAGArgB,GACE,EAAIsQ,EAAO/P,YAAYgW,EAASwJ,eADlC/f,EAEIoZ,EAAO,GAAH,SAAOZ,EAAUra,KAAI,SAAAjB,GAAC,OAAIA,EAAE4B,KAAKjD,GAAG,KAAC,CAAEO,EAAS0C,KAAKjD,MACzDu+B,EAAkB,WAAH,OAAStjB,EAAOlO,QAAQmR,QAAQ/Z,EAAE,8BAA8B,EAC/Eq6B,EAAmB,SAAAn9B,GAAC,OAAIA,EAAEukB,MAAM,EACtC,IAAI,EAAI5K,EAAO3T,cAAc9G,EAAS+G,QACpC,OAAO,KAET,GAAwB,YAApB/G,EAAS+G,SAAwB,EAAI0T,EAAO3T,cAAc9G,EAAS+G,QACrE,OAAO,KAET,IAAMm3B,EAAW,6BAAG,WAAMt7B,GAAI,0EACvBA,EAAK7B,IAAIo9B,QAAWv7B,EAAK7D,MAAMo/B,OAAM,gBACgC,OAAxEzjB,EAAOlO,QAAQzI,MAAMH,EAAE,iDAAiD,8BAGtEhB,EAAK7B,IAAIqa,WAAW,eAAgBxY,EAAK7B,IAAIqa,WAAW,cAAa,gBACL,OAAlEV,EAAOlO,QAAQzI,MAAMH,EAAE,2CAA2C,0BAGjD,OAAnBhB,EAAKyiB,QAAS,EAAK,SACE1lB,EAAKX,IAAIo/B,eAAe,CAC3C/8B,MAAO,CACL5B,IAAKud,EACLrB,QAAS,CAAC/Y,MAEZ,OACkB,QANdy7B,EAAS,EAAH,MAMDC,MACTN,EAAgBK,EAAOr+B,UACxB,4CACF,gBAnBgB,sCAoBXu+B,EAAY,6BAAG,WAAOC,EAASC,GAAO,+EAEtCD,EAAQ3N,UAAc2N,EAAQz9B,IAAIo9B,QAAWK,EAAQz/B,MAAMo/B,OAAO,gBACI,OAAxEzjB,EAAOlO,QAAQzI,MAAMH,EAAE,iDAAiD,8BAGtE46B,EAAQz9B,IAAIqa,WAAW,cAAiBpB,EAAUhZ,0BAA0Bw9B,EAAQz9B,KAAI,gBACxB,OAAlE2Z,EAAOlO,QAAQzI,MAAMH,EAAE,2CAA2C,6BAGhE46B,EAAQz9B,MAAQiZ,EAAUhZ,0BAA0B09B,sBAAqB,iBACjB,KAApDC,GAAa,EAAIlkB,EAAOmkB,oBAAoBJ,IAClC,CAAF,gBACqB,OAAjC9jB,EAAOlO,QAAQzI,MAAM46B,GAAY,2BAIZ,GAAnBhjB,EAAU,CAAC6iB,GACbA,EAAQz9B,MAAQ09B,EAAQ19B,IAAG,oBACxBy9B,EAAQnZ,OAAQ,CAAF,gBAC6C,OAA9D3K,EAAOlO,QAAQzI,MAAM,yCAAyC,2BAGhE4X,EAAQrU,KAAK,CACXvG,IAAK09B,EAAQ19B,IACbskB,QAAQ,IACP,mCAGkB1lB,EAAKX,IAAIo/B,eAAe,CAC3C/8B,MAAO,CACL5B,IAAKud,EACLrB,QAAAA,KAEF,QACkB,QANd0iB,EAAS,EAAH,MAMDC,MACTN,EAAgBK,EAAOr+B,UACxB,mDAED0a,EAAOlO,QAAQzI,OAAM,EAAI0W,EAAOnV,aAAa,EAAF,KAAQ,2DAEtD,gBAzCiB,wCA0CZu5B,EAAc,6BAAG,WAAMj8B,GAAI,2EAC3BA,EAAKiuB,SAAU,CAAF,eACwD,OAAvEnW,EAAOlO,QAAQzI,MAAMH,EAAE,gDAAgD,6BAGpEhB,EAAKyiB,OAAQ,CAAF,eACgD,OAA9D3K,EAAOlO,QAAQzI,MAAM,yCAAyC,0CAG3CpE,EAAKX,IAAIo/B,eAAe,CAC3C/8B,MAAO,CACL5B,IAAKud,EACLrB,QAAS,CAAC,CACR5a,IAAK6B,EAAK7B,IACVskB,QAAQ,OAGZ,OACkB,QATdgZ,EAAS,EAAH,MASDC,MACTN,EAAgBK,EAAOr+B,UACxB,4CACF,gBArBmB,sCAwBd8+B,GAAoB9+B,EAAS2b,SAAW,IAAIla,QAAO,SAAAX,GAAC,OAAKkZ,EAAUhZ,0BAA0BF,EAAEC,IAAI,IACnGg3B,GAAkB,EAAI7d,EAAM8d,oBAAoBh4B,EAAUoc,GAC1DvV,GAAyB,EAAIqT,EAAM6kB,4BAA4B/+B,EAAUoc,GACzET,EAAUmjB,EAAiB/8B,KAAI,SAAAjB,GAAC,OAAI2U,EAAcA,EAAc,CAAC,EAAG3U,GAAI,CAAC,EAAG,CAChF/B,MAAOg5B,EAAgBj3B,EAAEC,MAAQD,EAAE/B,OACnC,IACIigC,EAAerjB,EAAQnJ,MAAK,SAAA1R,GAAC,OAAIA,EAAEC,KAAOD,EAAEC,IAAIqa,WAAW,OAAO,IAClEhD,EAAS,CACb6mB,SAAUf,EACVgB,YAAaX,EACbY,YAAaN,EAEbO,YAAanB,GAoFf,OAAoB,EAAIrpB,EAAYiD,MAAMC,EAAK,CAC7CvZ,SAAU,GAAGsI,EAAuBQ,SAAuB,EAAIuN,EAAYmD,KAAKkL,EAAOzW,QAAS,CAC9Fmb,SAAU,QACVliB,MAAO,CACLkoB,UAAW,IAEbpvB,SAAUqF,EAAE,qCACVo7B,IAA6B,EAAIpqB,EAAYmD,KAAKkL,EAAOzW,QAAS,CACpEmb,SAAU,OACVppB,SAAUqF,EAAE,sCACG,EAAIgR,EAAYmD,KAAKgmB,EAAYvxB,QAAS,CACzD6yB,WAAYpb,EAAY,GAAK,mBAC7BlW,KAAMkW,EAAYxJ,EAAO6kB,mBAAqB,GAC9C/gC,SAAU,SAAAoL,GAAa,OAAiB,EAAIiL,EAAYmD,KAAK+lB,EAAOtxB,QAAS,CAC3E7G,WAAW,EAAI8U,EAAO8kB,eAAev/B,GAAY,8BAAgC,eACjF,qBAAsB4D,EAAE,gCACxBrF,UAAuB,EAAIqW,EAAYmD,KAAK4lB,EAAMnxB,QAAS,CACzDvK,OAAoB,EAAI2S,EAAYmD,KAAK,KAAM,CAC7CxZ,SAAUqF,EAAE,wBAEd47B,QAtGgB,CAAC,CACvBv9B,MAAO2B,EAAE,cACT67B,MAAO,MACPC,iBAAkB,MAClB7d,MAAO,MACP8d,OAAQ,SAAAthB,GAAC,OAAiB,EAAIzJ,EAAYmD,KAAK6lB,EAAapxB,QAAS,CACnEzN,MAAOsf,EAAEtf,MACT0G,MAAO,CACLN,MAAOkZ,EAAEwS,WAAaxS,EAAEtf,MAAQ,UAAY,UAC5C6gC,WAAYvhB,EAAEwS,SAAW,OAAS,UAEpCtyB,SAAU8f,EAAEtd,KACZ,EACF8+B,cAAe,SAAAv8B,GACb,IACEvE,EAGEuE,EAHFvE,MACA+gC,EAEEx8B,EAFFw8B,QACUC,EACRz8B,EADF4F,SAEF,OAAoB,EAAI0L,EAAYmD,KAAKioB,EAAS,CAChDzhC,UAAuB,EAAIqW,EAAYmD,KAAK0B,EAAWjN,QAAS,CAC9D9H,WAAW,EACX8E,KAAM,QACNiP,UAAwC,IAA9BwlB,EAAiB6B,GAC3B/gC,MAAOA,EACPmK,SAAU,SAAAuO,GAAC,OAAIsoB,EAAUtoB,EAAE/B,OAAO3W,MAAM,EACxCoI,QAAS,WACT7C,MAAO,MACP27B,YAAar8B,EAAE,mCACfmG,OAAQ,QACRgU,WAAW,KAGjB,GACC,CACD9b,MAAO2B,EAAE,gBACT67B,MAAO,QACPC,iBAAkB,QAClB7d,MAAO,kCACP8d,OAAQ,SAAAthB,GACN,OAAIA,EAAE6hB,OACG,SAEJ7hB,EAAEtf,OAGa,EAAI6V,EAAYmD,KAAK6lB,EAAapxB,QAAS,CAC7D2zB,UAAU,EACVphC,MAAOsf,EAAEtf,MACT0G,MAAO,CACL26B,UAAW,aAEb7hC,SAAU8f,EAAEtf,QARL,IAUX,EAEA8gC,cAAe,SAAAv8B,GACb,IACEvE,EAGEuE,EAHFvE,MACA+gC,EAEEx8B,EAFFw8B,QACUO,EACR/8B,EADF4F,SAEF,OAAoB,EAAI0L,EAAYiD,MAAMmoB,EAAS,CACjDzhC,SAAU,EAAc,EAAIqW,EAAYmD,KAAK0B,EAAWjN,QAAS,CAC/D9H,WAAW,EACX8E,KAAM,QACNzK,MAAiB,kBAAVA,EAA4B,GAAKA,EACxCmK,SAAU,SAAAuO,GAAC,OAAI4oB,EAAW5oB,EAAE/B,OAAO3W,MAAM,EACzCoI,QAAS,WACT7C,MAAOV,EAAE,gBACTq8B,YAAar8B,EAAE,qCACfmG,OAAQ,QACRgU,WAAW,IACT+hB,EAAQ99B,cAA4B,EAAI4S,EAAYmD,KAAK,MAAO,CAClEtS,MAAO,CACLgE,WAAY,IAEdlL,SAAUuhC,EAAQ99B,gBAGxB,IAuBMs+B,MAAO7qB,EAAcA,EAAc,CAAC,EAAG2N,EAAO5W,SAAUqxB,EAAYrxB,SACpEmG,QAAS,CACP4tB,qBAAqB,EACrBC,oBAAqB,EACrBC,YAAa,OACbC,cAAe,OACfp+B,QAAQ,EACRgoB,QAAQ,GAEVqW,aAAc,CACZC,OAAQ,CACN38B,QAASL,EAAE,mBAEb2uB,KAAM,CACJsO,uBAAwBj9B,EAAE,mBAG9BhB,KAAM+Y,EACNmlB,SAAUn3B,EAAgByO,EAAS,CAAC,KAEtC,MAGR,CACAslB,EAAqB3kB,UAAY,CAC/B/Y,SAAUmU,EAAW3H,QAAQyI,OAAO2J,WACpCxC,UAAWjI,EAAW3H,QAAQwM,OAEhC0kB,EAAqBh6B,aAAe,CAClC0Y,UAAW,IAEb,IAAMtE,EAAMzD,EAAQ7H,QAAQ2M,IAAIlF,IAAoBA,EAAkB2G,EAAuB,CAAC,isBAAksB,6vBAA6vB,SAAAtX,GAAK,OAAIA,EAAM+G,MAAMC,YAAYC,OAAO4d,EAAE,IACjkD6X,EAAU3rB,EAAQ7H,QAAQ2M,IAAII,IAAqBA,EAAmBqB,EAAuB,CAAC,yB,qCChSvF,0CAEb/P,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,aAAkB,EAClB,IAAIoJ,EAAaC,EAAuBzI,EAAQ,QAC5C6N,EAAOpF,EAAuBzI,EAAQ,QACtCo1B,EAAQ3sB,EAAuBzI,EAAQ,QACvCyiB,EAAWha,EAAuBzI,EAAQ,QAC1Cq1B,EAAY5sB,EAAuBzI,EAAQ,QAC3Cs1B,EAAgB7sB,EAAuBzI,EAAQ,QAC/CwO,EAAWxO,EAAQ,OACnB0O,EAAUjG,EAAuBzI,EAAQ,QACzC4iB,EAAQna,EAAuBzI,EAAQ,QACvCkX,EAAczO,EAAuBzI,EAAQ,QAC7CuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASmsB,EAAW9pB,GAClB,IAAI+pB,EAAcC,EAAmBC,EAEnCC,EACElqB,EADFkqB,WAEF,GAGI,EAAInnB,EAAStW,oBAFfD,EAAC,EAADA,EACA2Y,EAAM,EAANA,OAEIglB,GAAQ,EAAIP,EAAUx0B,SAAO,YAAE,wGAAY,EAAI0N,EAAMsnB,UAAUF,EAAWG,UAAWH,EAAWI,QAAM,4CAC5G,GAAIH,EAAMz9B,QACR,MAAO,GAET,IAAM69B,GAAiB,EAAIZ,EAAMv0B,UAAS,EAAIgN,EAAKhN,SAAS+0B,EAAMxiC,MAAO,4BAA6B,KACtG,OAAoB,EAAI6V,EAAYiD,MAAMgL,EAAYrW,QAAS,CAC7DjO,SAAU,EAAc,EAAIqW,EAAYmD,KAAKkpB,EAAcz0B,QAAS,CAClEzN,MAAO4iC,EACPplB,OAAQA,KACO,EAAI3H,EAAYmD,KAAKsC,EAAQ7N,QAAS,CACrD/G,MAAO,CACLgE,WAAY,OAEdtC,QAAS,YACToC,UAAWglB,EAAM/hB,QACjBuU,MAAM,EAAIqN,EAAS5hB,SAA0C,QAAhC20B,EAAeI,EAAMxiC,aAAoC,IAAjBoiC,GAA+E,QAA3CC,EAAoBD,EAAav+B,YAAwC,IAAtBw+B,GAA8F,QAArDC,EAAwBD,EAAkBriC,aAA6C,IAA1BsiC,OAAnK,EAA+MA,EAAsBO,YAAa,cAAcrkB,OAAO+jB,EAAWI,MAAO,oBAAoBnkB,OAAOhB,EAAQ,gBAAgBgB,OAAOskB,mBAAmBnjC,OAAOwE,SAAS6d,QACrdxiB,SAAUqF,EAAE,oBAGlB,CACAs9B,EAAWnoB,UAAY,CACrBuoB,WAAYntB,EAAW3H,QAAQyI,OAAO2J,YAExC,IAAIkjB,EAAWZ,EACfn2B,EAAAA,QAAkB+2B,C,yCCpDL,4EAKb/2B,EAAQ,EAAU1H,GAClB,IAkDI4Q,EAAiBsF,EAlDjBrF,EAASvI,EAAQ,OACjB0I,EAAUD,GAAuBzI,EAAQ,QACzCwI,EAAaC,GAAuBzI,EAAQ,QAC5Co2B,EAAU3tB,GAAuBzI,EAAQ,QACzCyO,EAAUhG,GAAuBzI,EAAQ,QACzC+N,EAAOtF,GAAuBzI,EAAQ,QACtCq2B,EAAiB5tB,GAAuBzI,EAAQ,QAChDs2B,EAAe7tB,GAAuBzI,EAAQ,QAC9Cu2B,EAAiB9tB,GAAuBzI,EAAQ,QAChDw2B,EAAU/tB,GAAuBzI,EAAQ,QACzC2I,EAAcF,GAAuBzI,EAAQ,QAC7Cy2B,EAAOhuB,GAAuBzI,EAAQ,OACtC02B,EAASjuB,GAAuBzI,EAAQ,QACxC22B,EAAoBluB,GAAuBzI,EAAQ,QACnD42B,EAAgBnuB,GAAuBzI,EAAQ,QAC/CwT,EAAU/K,GAAuBzI,EAAQ,QACzC62B,EAAQpuB,GAAuBzI,EAAQ,QACvCuT,EAAY9K,GAAuBzI,EAAQ,QAC3CoT,EAAW3K,GAAuBzI,EAAQ,QAC1C82B,EAAgBruB,GAAuBzI,EAAQ,QAC/CqT,EAAc5K,GAAuBzI,EAAQ,QAC7CsT,EAAgB7K,GAAuBzI,EAAQ,QAC/CoO,EAAY3F,GAAuBzI,EAAQ,QAC3C2O,EAAoBlG,GAAuBzI,EAAQ,KACnD+2B,EAAWtuB,GAAuBzI,EAAQ,QAC1CwO,EAAWxO,EAAQ,OACnB0O,EAAUjG,GAAuBzI,EAAQ,QACzC0T,EAASjL,GAAuBzI,EAAQ,QACxCuO,EAAQvO,EAAQ,MAChBg3B,EAAuBvuB,GAAuBzI,EAAQ,OACtDi3B,EAAqBj3B,EAAQ,OAC7Bk3B,EAAczuB,GAAuBzI,EAAQ,QAC7Cm3B,EAAO1uB,GAAuBzI,EAAQ,QACtC+O,EAAStG,GAAuBzI,EAAQ,QACxCo3B,EAAkB3uB,GAAuBzI,EAAQ,QACjDq3B,EAAU5uB,GAAuBzI,EAAQ,QACzCs3B,EAAW7uB,GAAuBzI,EAAQ,QAC1C4O,EAAQ5O,EAAQ,OAChB8O,EAAS9O,EAAQ,OACjBoyB,EAAc3pB,GAAuBzI,EAAQ,QAC7C6T,EAAgBpL,GAAuBzI,EAAQ,QAC/Cu3B,EAAQ9uB,GAAuBzI,EAAQ,QACvCw3B,EAAiB/uB,GAAuBzI,EAAQ,QAChDy3B,EAAUhvB,GAAuBzI,EAAQ,OACzC4T,EAAQnL,GAAuBzI,EAAQ,QACvC03B,GAAOjvB,GAAuBzI,EAAQ,QACtC23B,GAAWlvB,GAAuBzI,EAAQ,OAC1C43B,GAAYnvB,GAAuBzI,EAAQ,QAC3CiJ,GAAcjJ,EAAQ,OACpBkJ,GAAY,CAAC,WAAY,WAAY,mBAE3C,SAAST,GAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,GAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,GAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,GAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,GAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,GAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,GAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,GAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAASkF,GAAuB3B,EAASC,GAA6C,OAAjCA,IAAOA,EAAMD,EAAQ1K,MAAM,IAAa1D,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,MAAY,CACtL,IAAMsqB,GAAgB,SAACC,EAAQ7/B,GAC7B,OAAK6/B,EAGE,CAAC,CACN7hC,KAAMgC,EAAE,eACR7E,MAAO0kC,EAAOC,aACb,CACD9hC,KAAMgC,EAAE,sBACR7E,MAAO0kC,EAAOzhC,aACb,CACDJ,KAAMgC,EAAE,kBACR7E,OAAoB,EAAI6V,GAAYmD,KAAK+qB,EAAKt2B,QAAS,CACrDjO,SAAUklC,EAAO/jC,YAXZ,EAcX,EAiCA,SAAS8gB,GAAcpJ,GACrB,IAAIqJ,EAEFzgB,EAKEoX,EALFpX,SACAoc,EAIEhF,EAJFgF,UACAhN,EAGEgI,EAHFhI,MACAu0B,EAEEvsB,EAFFusB,SACApgC,EACE6T,EADF7T,gBAGAK,GACE,EAAIsQ,EAAO/P,YAAYgW,EAASwJ,eADlC/f,EAEF,GAA4B,EAAIsQ,EAAOhU,WAAU,GAAK,SAA/CygB,EAAM,KAAEC,EAAS,KACxB,GAA0C,EAAI1M,EAAOhU,YAAW,SAAzD0jC,EAAa,KAAEC,EAAgB,KAEjBC,GACjB,EAAIlB,EAAmBmB,8BADzBC,kBAGAj9B,EACE/G,EADF+G,OAEEqI,GAAS,GAAK00B,EAAmBj7B,SAAS7I,EAAS0C,KAAKjD,OAC1DsH,EAAS,YAEX,IAgBmBk9B,EAhBbzgC,EAAa,IAAI+Z,OAAOnB,EAAU7N,MAAM,GAC7CxM,KAAI,SAAAjB,GAAC,OAAIA,EAAE0C,YAAc,GAAG,IAAE6K,KAAK,KAAM,KAAKkP,OAAOvd,EAASwD,YAAc,KAAKoQ,QAAQ,OAAQ,KAG5FswB,IAAe9nB,EAAU/U,QAAU,CAAC,cAAe,WAAY,YAAYwB,SAAS9B,GACpFqa,EAAYhS,EAAQ,GAAKpP,EAASzB,SAAS8I,OAAS,EACpDga,GAA0B,EAAIzM,GAAYmD,KAAKzD,EAAY9H,QAAS,CACxEhD,KAAM,QACNjL,SAAUoiB,GAAsB,EAAI/L,GAAYmD,KAAKiH,EAAYxS,QAAS,CACxE0Q,SAAU,aACM,EAAItI,GAAYmD,KAAKkH,EAAczS,QAAS,CAC5D0Q,SAAU,cAGRN,GAAOR,EAAU,IAAMpc,EACvB+gB,GAAOxd,EAAgBC,GAkBvBirB,GAAamV,EAxFC,SAAA5jC,GACpB,IACE0J,EAGE1J,EAHF0J,OACAglB,EAEE1uB,EAFF0uB,aACAyV,EACEnkC,EADFmkC,aAEF,OAAIz6B,EACK,CACLA,OAAAA,EACAglB,aAAAA,GAGCyV,EAMDA,EAAah2B,IACR,CACLzE,OAAQ,MACRglB,aAAcA,GAAgBxhB,MAAMC,QAAQg3B,EAAah2B,KAAOg2B,EAAah2B,IAAI,GAAKg2B,EAAah2B,KAGnGg2B,EAAaC,MACR,CACL16B,OAAQ,WACRglB,aAAcA,GAAgBxhB,MAAMC,QAAQg3B,EAAaC,OAASD,EAAaC,MAAM,GAAKD,EAAaC,OAGpG,CAAC,EAjBC,CACL16B,OAAQ,SACRglB,aAAAA,EAgBN,CAyDqC2V,CAAcT,GAAiB,CAAC,EAC7DU,GAAgBV,EAAgB,CAAC,CACrChiC,KAAMgC,EAAE,eACR7E,OAAO,EAAImb,EAAMxZ,gBAAgBkjC,GAAe,IAC/C,CACDhiC,KAAMgC,EAAE,kBACR7E,OAAoB,EAAI6V,GAAYmD,KAAKkrB,EAASz2B,QAAS,CACzDxM,SAAU4jC,EACVW,cAAc,KAEf,CACD3iC,KAAMgC,EAAE,iBACR7E,OAAoB,EAAI6V,GAAYmD,KAAKirB,EAAQx2B,QAAS,CACxDzF,OAAQA,EACR2C,OAAQk6B,EAAcl6B,UAEvB,CACD9H,KAAMgC,EAAE,qBACR7E,MAAOyE,GACN,CACD5B,KAAMgC,EAAE,gBACR7E,OAAoB,EAAI6V,GAAYmD,KAAK+qB,EAAKt2B,QAAS,CACrDjN,KAAM,UACNhB,SAAUqlC,EAAclhC,KAAK6e,SAE9B,CACD3f,KAAMgC,EAAE,4BACR7E,OAAoB,EAAI6V,GAAYmD,KAAKgrB,EAAgBv2B,QAAS,CAChEiiB,WAAYA,GACZzuB,SAAUA,KAEX,CACD4B,KAAMgC,EAAE,kCACR7E,MAAO0vB,GAAWC,cAAgB,KACjC,CACD9sB,KAAMgC,EAAE,cACR7E,OAAoB,EAAI6V,GAAYmD,KAAK8qB,EAAYr2B,QAAS,CAC5D/M,IAAKmkC,EAAclhC,KAAKjD,OAEzB,CACDmC,KAAMgC,EAAE,iBACR7E,OAAO,EAAI0b,EAAO+pB,cAAcZ,EAAclhC,KAAK+hC,SAClD,CACD7iC,KAAMgC,EAAE,iBACR7E,MAAOykC,GAAcI,EAAcH,OAAQ7/B,GAAG7B,KAAI,SAAA2c,GAChD,IACE9c,EAEE8c,EAFF9c,KACA7C,EACE2f,EADF3f,MAEF,OAAoB,EAAI6V,GAAYmD,KAAK2qB,EAASl2B,QAAS,CACzD/G,MAAO,CACLw0B,aAAc,GAEhByK,UAAW,IACX9iC,KAAMA,EACNrD,SAAUQ,GACT6C,EACL,MACCH,OAAO+O,SAAW,GACjBm0B,GAAoB,GAMxB,OALc,IAAVv1B,GAAgBpP,EAAS28B,UAElB,EAAIliB,EAAOuJ,cAAcpH,GAAK7V,SAAqB,IAAVqI,GAAe00B,EAAmBj7B,SAAS7I,EAAS0C,KAAKjD,QAC3GklC,GAAoB/gC,EAAE,wCAFtB+gC,GAAoB/gC,EAAE,qCAIjB,EAAEwL,EAAQ,GAA6B,YAAxBpP,EAAS0C,KAAK6e,SAAqC,EAAI3M,GAAYiD,MAAM6B,EAAKlN,QAAS,CAC3GxH,QAAS,OACTwc,GAAI,EACJ7b,UAAW,iBACX8b,eAAgB,gBAChBxc,WAAY,SACZ1G,SAAU,EAAc,EAAIqW,GAAYiD,MAAM6B,EAAKlN,QAAS,CAC1DkV,GAAIC,KAAKC,IAAkB,GAAbxS,EAAQ,GAAQ,GAC9ByS,MAAO,CACLC,GAAI,IACJtX,GAAI,KAENxF,QAAS,OACTC,WAAY,SACZQ,MAAO,CACLsc,OAAQX,EAAY,UAAY,UAElC5b,QAAS,kBAAM4b,GAAaR,GAAWD,EAAO,EAC9CpiB,SAAU,CAAC6iB,EAAYC,GAA0B,EAAIzM,GAAYmD,KAAK2B,EAAKlN,QAAS,CAClFqV,MAAO,MACQ,EAAIjN,GAAYmD,KAAKyH,EAAchT,QAAS,CAC3DxM,SAAUA,EACVoc,UAAWA,KACI,EAAIxH,GAAYiD,MAAM6B,EAAKlN,QAAS,CACnDwV,GAAI,OACJzjB,SAAU,EAAc,EAAIqW,GAAYmD,KAAK2B,EAAKlN,QAAS,CACzD/G,MAAO,CACLN,MAAO,OACP+X,SAAU,IAEZ3e,UAAU,EAAI2b,EAAMxZ,gBAAgBV,GAAU,MAC/B,EAAI4U,GAAYiD,MAAM6B,EAAKlN,QAAS,CACnDxH,QAAS,OACTC,WAAY,SACZ1G,SAAU,EAAc,EAAIqW,GAAYmD,KAAKkrB,EAASz2B,QAAS,CAC7DxM,SAAUA,EACVukC,cAAc,KACC,EAAI3vB,GAAYmD,KAAKmrB,EAAM12B,QAAS,CACnD/G,MAAO,CACLgE,WAAY,GAEd3K,KAAMkB,EAASlB,MAAQ,KACrBolC,IAA2B,EAAItvB,GAAYmD,KAAKirB,EAAQx2B,QAAS,CACnE/G,MAAO,CACLgE,WAAY,GAEd1C,OAAQA,EACR2C,OAAQ1J,EAAS0J,iBAItB1J,IAAwB,EAAI4U,GAAYmD,KAAK2B,EAAKlN,QAAS,CAC5DpH,GAAI,CACFJ,QAAS,CACP8c,GAAI,OACJtX,GAAI,SAGRvF,WAAY,SACZ2/B,SAAU,IACVrmC,UAAuB,EAAIqW,GAAYmD,KAAK,IAAK,CAC/CrC,OAAQ,SACRqL,KAAMA,GACNkB,IAAK,sBACLhgB,MAAO8e,GACPxiB,UAAuB,EAAIqW,GAAYmD,KAAK2B,EAAKlN,QAAS,CACxD4V,SAAU,IACVhd,GAAI,CACFD,MAAO,iBACP+X,SAAU,GACV2nB,GAAI,GAENjJ,SAAU,SACVE,WAAY,SACZD,aAAc,WACdt9B,UAAU,EAAIokC,EAAqBn2B,SAAShJ,QAG/CA,IAA0B,EAAIoR,GAAYiD,MAAM6B,EAAKlN,QAAS,CAC/DjO,SAAU,EAAc,EAAIqW,GAAYmD,KAAKgH,EAASvS,QAAS,CAC7DvK,MAAO2B,EAAE,gBACTrF,UAAuB,EAAIqW,GAAYmD,KAAK,IAAK,CAC/CrC,OAAQ,SACRqL,KAAMA,GACNkB,IAAK,sBACL1jB,UAAuB,EAAIqW,GAAYmD,KAAKzD,EAAY9H,QAAS,CAC/DjO,UAAuB,EAAIqW,GAAYmD,KAAKoH,EAAQ3S,QAAS,CAAC,UAGnD,EAAIoI,GAAYmD,KAAKgH,EAASvS,QAAS,CACtDvK,MAAO2B,EAAE,mBACTrF,UAAuB,EAAIqW,GAAYmD,KAAKzD,EAAY9H,QAAS,CAC/DhH,QAAS,kBAAMq+B,EAAiB7jC,EAAS,EACzCzB,UAAuB,EAAIqW,GAAYmD,KAAKwqB,EAAc/1B,QAAS,CAAC,QAEvD,EAAIoI,GAAYmD,KAAKorB,EAAe32B,QAAS,CAC5DxM,SAAUA,EACVoc,UAAWA,EACX7d,SAAU,SAAAytB,GACR,IACEzU,EACEyU,EADFzU,KAEF,OAAoB,EAAI3C,GAAYmD,KAAKgH,EAASvS,QAAS,CACzDvK,MAAO2B,EAAE,iBACTrF,UAAuB,EAAIqW,GAAYmD,KAAK+sB,GAAa,CACvD3/B,MAAO,QACP4/B,aAAc,GACd59B,QAAS,MACTC,YAAY,EAAI8S,EAAM6kB,4BAA4B/+B,EAAUoc,GAAW/U,OACvE9I,UAAuB,EAAIqW,GAAYmD,KAAKzD,EAAY9H,QAAS,CAC/DhH,QAAS+R,EACThZ,UAAuB,EAAIqW,GAAYmD,KAAKuqB,EAAkB91B,QAAS,CAAC,QAG3E,SACL,KACe,EAAIoI,GAAYmD,KAAKqrB,EAAQ52B,QAAS,CACrDxM,SAAU4c,GACVrT,UAAWvJ,EACX8lB,OAAQ6d,EACRlrB,WAAYksB,GACZ1H,IAAK0H,OAEN,aACF,0BAAuC,EAAI/vB,GAAYmD,KAAKwH,EAAM/S,QAAS,CAC5E4C,MAAOA,IACwC,QAA5CqR,EAAqBzgB,EAASzB,gBAA6C,IAAvBkiB,GAAiCA,EAAmBpZ,QAAsB,EAAIuN,GAAYmD,KAAKmH,EAAU1S,QAAS,CACzK0V,GAAIvB,EACJpiB,SAAUyB,EAASzB,SAASwD,KAAI,SAAAjB,GAAC,OAAiB,EAAI8T,GAAYmD,KAAKyI,GAAe,CACpFxgB,SAAUc,EACVsb,UAAW,GAAF,SAAMA,GAAS,CAAEpc,IAC1BoP,MAAOA,EAAQ,EACfu0B,SAAUA,EACVpgC,gBAAiBA,GAChB,GAAGga,OAAOnO,EAAQ,EAAG,KAAKmO,OAAOzc,EAAE4B,KAAKjD,KAAK,KAC/C,qBAAuB,OAAQmkC,IAA8B,EAAIhvB,GAAYmD,KAAKqC,EAAQ5N,QAAS,CACpG+K,MAAM,EACN7S,WAAW,EACX0d,SAAU,KACV5K,QAAS,WACPqsB,EAAiB,KACnB,EACAtlC,UAAuB,EAAIqW,GAAYiD,MAAM6B,EAAKlN,QAAS,CACzDw4B,SAAU,IACVzmC,SAAU,EAAc,EAAIqW,GAAYmD,KAAKkqB,EAAaz1B,QAAS,CACjEjO,SAAUqF,EAAE,gCACG,EAAIgR,GAAYmD,KAAKiqB,EAAex1B,QAAS,CAC5DjO,UArOa0lC,EAqOQK,GArOAL,EAAKliC,KAAI,SAAAkjC,GAClC,OAAIA,EAAIrjC,OAASgC,EAAE,eAAiBqhC,EAAIrjC,OAASgC,EAAE,mBAC7B,EAAIgR,GAAYmD,KAAK2qB,EAASl2B,QAAS,CACzD04B,eAAgB,MAChBR,UAAW,IACX9iC,KAAMqjC,EAAIrjC,KACVujC,cAAe,kBAAMF,EAAIrjC,IAAI,EAC7BrD,SAAU0mC,EAAIlmC,OACbkmC,EAAIrjC,OAEW,EAAIgT,GAAYmD,KAAK2qB,EAASl2B,QAAS,CACzD04B,eAAgB,MAChBR,UAAW,IACX9iC,KAAMqjC,EAAIrjC,KACVrD,SAAU0mC,EAAIlmC,OACbkmC,EAAIrjC,KACT,SAuNK,mBACF,oBACL,CACA4e,GAAczH,UAAY,CACxB/Y,SAAUmU,EAAW3H,QAAQyI,OAAO2J,WACpCxC,UAAWjI,EAAW3H,QAAQwM,MAC9B5J,MAAO+E,EAAW3H,QAAQ6V,OAC1BshB,SAAUxvB,EAAW3H,QAAQsb,KAC7BvkB,gBAAiB4Q,EAAW3H,QAAQsb,MAEtCtH,GAAc9c,aAAe,CAC3B0Y,UAAW,GACXhN,MAAO,EACPu0B,SAAU,WAAO,EACjBpgC,gBAAiB,kBAAM7E,OAAOwE,SAASC,MAAM,GAE/C,IAAM2hC,IAAc,EAAIzwB,EAAQ7H,SAAS61B,EAAO71B,QAA5B,CAAqCyH,IAAoBA,EAAkB2G,GAAuB,CAAC,oCAAqC,mBAAoB,iBAAiB,SAAAtX,GAAK,OAAgB,EAAZA,EAAM8hC,KAAW,CAAC,IAAE,SAAA9hC,GAAK,OAAkB,EAAdA,EAAM+hC,OAAa,CAAC,IAC3P,SAAShiC,GAAkB6qB,GACzB,IAAIM,EAEAxuB,EAGEkuB,EAHFluB,SAEAuD,GACE2qB,EAFFtnB,SAEEsnB,EADF3qB,iBAEF+f,EAAO1M,GAAyBsX,EAAOrZ,IAEvCjR,GACE,EAAIsQ,EAAO/P,YAAYgW,EAASwJ,eADlC/f,EAEF,GAGI,EAAI2W,EAAMiC,kBAFZxd,EAAG,EAAHA,IACAilB,EAAS,EAATA,UAEF,GAII,EAAI2e,EAAmBmB,8BAHzBuB,EAAc,EAAdA,eACAC,EAAiB,EAAjBA,kBACAC,EAAgB,EAAhBA,iBAEF,GAA8B,EAAItxB,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAA0C,EAAIzI,EAAOhU,UAAU,MAAK,SAA7DulC,EAAa,KAAEC,EAAgB,KACtC,GAA0C,EAAIxxB,EAAOhU,WAAU,GAAM,SAA9DylC,EAAa,KAAEC,EAAgB,KAChC39B,EAAa,EAAIjI,EAASzB,WAAa,GACjB,YAAxByB,EAAS0C,KAAK6e,OAEhBtZ,EAAWka,QAAQniB,GAErBwlC,EAAiBv9B,EAAWlG,KAAI,SAAA0V,GAAC,OAAIA,EAAE/U,KAAKjD,GAAG,MAC/C,EAAIyU,EAAOzR,YAAW,WAChBzC,KAAa,EAAIya,EAAOuJ,cAAchkB,EAAS+G,SACjD/H,EAAI6mC,yBAAyB,CAC3BxkC,MAAO,CACL5B,IAAKO,EAAS0C,KAAKjD,IACnBC,QAASM,EAAS0C,KAAKhD,WAExBomC,MAAK,SAAAtkC,GACN,IACE9B,GACE8B,EAAIoB,MAAQ,CAAC,GADflD,QAEEA,GAAWqiC,EAAQv1B,QAAQu5B,GAAGrmC,EAASM,EAAS0C,KAAKhD,UACvDkmC,GAAiB,EAErB,IAAGI,OAAM,SAAAC,GACP9f,QAAQpiB,MAAMkiC,EAAI9jC,QACpB,GAEJ,GAAG,CAAc,OAAbnC,QAAkC,IAAbA,GAAoE,QAApCwuB,EAAiBxuB,EAAS0C,YAAqC,IAAnB8rB,OAAtD,EAA2FA,EAAe/uB,MAEzJ,IAAMymC,EAAe,6BAAG,sGAClBpiC,EAAS,CAAF,gDAGM,OAAjB6Y,GAAW,GAAM,kBAMJ3d,EAAI6mC,yBAAyB,CACtCxkC,MAAO,CACL5B,IAAKO,EAAS0C,KAAKjD,IACnBC,QAASM,EAAS0C,KAAKhD,WAEzB,OAAM,GAAN,YAAEkD,KAAI,0BAAI,CAAC,EAAC,OAND,GAMC,OAPZlD,EAAO,EAAPA,QACAuyB,EAAW,EAAXA,aAOEvyB,IAAWqiC,EAAQv1B,QAAQu5B,GAAGrmC,EAASM,EAAS0C,KAAKhD,SAAQ,iBAa7C,OAZlBgmC,EAAiB,CACfnmC,KAAM,MACN0hB,OAAQ,CACNvhB,QAAAA,EACAuyB,YAAAA,GAEF9iB,KAAM,CAAC,CACLvN,MAAM,EAAIsY,EAAMxZ,gBAAgBV,GAChCN,QAASM,EAAS0C,KAAKhD,QACvBymC,WAAYzmC,MAGhBid,GAAW,GAAO,4CAQT3d,EAAIonC,0BAA0B,CACvC/kC,MAAO,CACL5B,IAAKO,EAAS0C,KAAKjD,OAErB,QAAe,GAAf,YAAE4mC,cAAa,2BAAI,CAAC,EAAC,QACL,GADK,OANrBC,EAAQ,EAARA,SACAC,EAAU,EAAVA,WAMF5pB,GAAW,GACN2pB,EAAU,CAAF,gBAC2C,OAAtD5rB,EAAOlO,QAAQhN,KAAKoE,EAAE,gCAAgC,2BAGlDuL,EAAO,IACb,EAAI+K,EAAMssB,kBAAkBxmC,GAAU,SAAC+T,EAAGykB,GACxC,IACE1nB,EAEE0nB,EAFF1nB,GACAsL,EACEoc,EADFpc,UAEIqqB,EAAaF,EAAW1lC,MAAK,SAAAC,GAAC,OAAIA,EAAEgQ,KAAOA,CAAE,IACnD,GAAI21B,EAAY,CACd,IAAM7kC,EAAOwa,EAAU7N,MAAM,GAAGgP,OAAOxJ,GAAGhS,KAAI,SAAAjB,GAAC,OAAIA,EAAE4B,KAAKT,OAASnB,EAAE4B,KAAKd,IAAI,IAAEyM,KAAK,OAG/Eq4B,GAAWtqB,EAAU,IAAMrI,GAAGrR,KAAKjD,IACzC0P,EAAK7H,KAAK,CACRo/B,QAAAA,EACA9kC,KAAAA,EACAlC,QAASqU,EAAErR,KAAKhD,QAChBymC,WAAYM,EAAW/jC,KAAKhD,SAEhC,CACF,IACMinC,EAAS,CAAC,EAChBx3B,EAAK/B,SAAQ,SAAAtM,GACN6lC,EAAO7lC,EAAE4lC,SAGZ5lC,EAAE2X,UAAW,EAFbkuB,EAAO7lC,EAAE4lC,UAAW,CAIxB,IACAhB,EAAiB,CACfnmC,KAAM,YACN0hB,OAAQ,CACNqlB,SAAAA,GAEFn3B,KAAAA,EACAw3B,OAAAA,EACAC,WAAW,IACV,kDAEHjqB,GAAW,GACXjC,EAAOlO,QAAQzI,OAAM,EAAI0W,EAAOnV,aAAa,EAAF,KAAQ,0DAEtD,kBAxFoB,mCAyFfuhC,EAAe,6BAAG,4FAClB/iC,EAAS,CAAF,gDAsBQ,MAjBQ,QAAvB2hC,EAAclmC,MAChB4kB,EAAKnlB,EAAI8nC,gBAAgBC,KAAK/nC,GAC9BqC,EAAQ,CACN5B,IAAKO,EAAS0C,KAAKjD,IACnBC,QAAS+lC,EAAcxkB,OAAOvhB,QAC9Bm5B,SAAU4M,EAAcxkB,OAAOgR,aAAe,MAGhD9N,EAAKnlB,EAAIgoC,kBAAkBD,KAAK/nC,GAC1BioC,EAAqBp8B,OAAOmE,KAAKy2B,EAAckB,QAAQllC,QAAO,SAAAX,GAAC,OAAI2kC,EAAckB,OAAO7lC,EAAE,IAChGO,EAAQ,CACNilC,SAAUb,EAAcxkB,OAAOqlB,SAC/BrQ,QAASj2B,EAAS0C,KAAKjD,IACvBwnC,mBAAAA,IAEH,SAECtqB,GAAW,GAAM,SACXwH,EAAG,CACP9iB,MAAAA,IACA,OACFsb,GAAW,GACX+oB,EAAiB,MACjBE,EAAiB,MAAM,kDAEvBjpB,GAAW,GACXjC,EAAOlO,QAAQzI,OAAM,EAAI0W,EAAOnV,aAAa,EAAF,KAAU,0DAExD,kBAlCoB,mCAmCf4hC,GAAe,6BAAG,WAAO7oB,EAAG9e,GAAI,iEACT,OAA3B+lC,EAAejnB,EAAE3b,KAAKjD,KAAK,kBAEnBT,EAAIo+B,gBAAgB,CACxB/7B,MAAO,CACL5B,IAAK4e,EAAE3b,KAAKjD,IACZ6kB,SAAmB,aAAT/kB,EACV02B,QAASj2B,EAAS0C,KAAKjD,OAEzB,wBACI,EAAIgb,EAAOqK,OAAO,KAAI,uDAE5BpK,EAAOlO,QAAQzI,OAAM,EAAI0W,EAAOnV,aAAa,EAAF,KAC3CigC,EAAkBlnB,EAAE3b,KAAKjD,KAAK,yDAEjC,gBAfoB,wCAiCrB,OAAoB,EAAImV,GAAYiD,MAAMC,GAAKrC,GAAcA,GAAc,CACzElM,UAAW,OACV+Z,GAAO,CAAC,EAAG,CACZ/kB,SAAU,EAAc,EAAIqW,GAAYiD,MAAM6B,EAAKlN,QAAS,CAC1DxH,QAAS,OACTyc,eAAgB,gBAChBxc,WAAY,SACZ1G,SAAU,EAAc,EAAIqW,GAAYiD,MAAM,MAAO,CACnDlS,UAAW,QACXpH,SAAU,CAACqF,EAAE,sBAAmC,EAAIgR,GAAYmD,KAAKgmB,EAAYvxB,QAAS,CACxF6yB,WAAYpb,EAAY,GAAK,mBAC7BlW,KAAMkW,EAAYxJ,EAAO6kB,mBAAqB,GAC9C/gC,UAAuB,EAAIqW,GAAYmD,KAAK+sB,GAAa,CACvDM,IAAK,IACLC,MAAO,GACPlgC,MAAO,QACP4/B,aAAc,GACd59B,QAAS,MACTC,WAAYu+B,EACZpnC,UAAuB,EAAIqW,GAAYiD,MAAMwC,EAAQ7N,QAAS,CAC5DiM,SAAU3U,IAAW,EAAI2W,EAAOuJ,cAAchkB,EAAS+G,QACvD5B,MAAO,YACPK,QAAS,WACP0gC,GACF,EACA,UAAW,oBACX3nC,SAAU,EAAc,EAAIqW,GAAYmD,KAAK2B,EAAKlN,QAAS,CACzD26B,GAAI,GACJniC,QAAS,OACTzG,SAAUuF,GAAuB,EAAI8Q,GAAYmD,KAAKuC,EAAkB9N,QAAS,CAC/EhD,KAAM,MACU,EAAIoL,GAAYmD,KAAKoqB,EAAQ31B,QAAS,CACtD/G,MAAO,CACLyX,SAAU,WAGZtZ,EAAE,kDAIG,EAAIgR,GAAYmD,KAAKgmB,EAAYvxB,QAAS,CACzD6yB,WAAYpb,EAAY,GAAK,mBAC7BlW,KAAMkW,EAAYxJ,EAAO6kB,mBAAqB,GAC9C/gC,UAAuB,EAAIqW,GAAYiD,MAAM6B,EAAKlN,QAAS,CACzDxH,QAAS,OACTC,WAAY,SACZ1G,SAAU,EAAc,EAAIqW,GAAYmD,KAAKurB,GAAS92B,QAAS,CAC7DjO,SAAU,SAAAy6B,GACR,IACEzhB,EACEyhB,EADFzhB,KAEF,OAAoB,EAAI3C,GAAYiD,MAAMwC,EAAQ7N,QAAS,CACzDiM,SAAU3U,IAAW,EAAI2W,EAAOuJ,cAAchkB,EAAS+G,QACvDI,QAAS,OACThC,MAAO,UACP,UAAW,WACXK,QAAS+R,EACThZ,SAAU,EAAc,EAAIqW,GAAYmD,KAAKqqB,EAAK51B,QAAS,CACzD/G,MAAO,CACLyX,SAAU,QACV7X,YAAa,KAEbzB,EAAE,2BAEV,KACe,EAAIgR,GAAYmD,KAAKsrB,GAAK72B,QAAS,CAClDxM,SAAUA,EACVzB,SAAU,SAAAg8B,GACR,IACEhjB,EACEgjB,EADFhjB,KAEF,OAAoB,EAAI3C,GAAYiD,MAAMwC,EAAQ7N,QAAS,CACzDiM,SAAU3U,IAAW,EAAI2W,EAAOuJ,cAAchkB,EAAS+G,QACvDI,QAAS,OACThC,MAAO,UACP,UAAW,gBACXK,QAAS+R,EACThZ,SAAU,EAAc,EAAIqW,GAAYmD,KAAKqqB,EAAK51B,QAAS,CACzD/G,MAAO,CACLyX,SAAU,QACV7X,YAAa,KAEbzB,EAAE,4BAEV,YAIJqE,GAAcA,EAAWZ,OAAS,EAAc,EAAIuN,GAAYmD,KAAK2B,EAAKlN,QAAS,CACrFzE,GAAI,EACJia,GAAI,CACFF,GAAI,QACJtX,GAAI,SAENjM,UAAuB,EAAIqW,GAAYmD,KAAKyI,GAAe,CACzDxgB,SAAUA,EACV2jC,SAAUuD,GACV3jC,gBAAiBA,GAChB,KAAKga,OAAOvd,EAAS0C,KAAKjD,OAC5B,gBAAgB8d,OAAOvd,EAAS0C,KAAKjD,QAAsB,EAAImV,GAAYmD,KAAK2B,EAAKlN,QAAS,CAC/FzE,GAAI,EACJxJ,UAAuB,EAAIqW,GAAYmD,KAAKsH,EAAO7S,QAAS,CAC1DjO,SAAUqF,EAAE,wCAEV5D,EAASonC,KAAKC,MAAMhgC,SAAuB,EAAIuN,GAAYmD,KAAK2B,EAAKlN,QAAS,CAClFzE,GAAI,EACJia,GAAI,CACFF,GAAI,QACJtX,GAAI,SAENjM,UAAuB,EAAIqW,GAAYmD,KAAKwrB,GAAU/2B,QAAS,CAAC,OAC5Di5B,IAA8B,EAAI7wB,GAAYmD,KAAKqC,EAAQ5N,QAAS,CACxE+K,MAAM,EACN7S,WAAW,EACXnG,UAAuB,EAAIqW,GAAYiD,MAAM6B,EAAKlN,QAAS,CACzDw4B,SAAU,IACVzmC,SAAU,EAAc,EAAIqW,GAAYmD,KAAKkqB,EAAaz1B,QAAS,CACjEjO,SAAiC,cAAvBknC,EAAclmC,KAAuBqE,EAAE,kCAAoCA,EAAE,wCACxE,EAAIgR,GAAYmD,KAAK2B,EAAKlN,QAAS,CAClDjD,UAAWy4B,EAAex1B,QAC1BgV,GAAI,EACJQ,GAA2B,cAAvByjB,EAAclmC,KAAuB,EAAI,EAC7ChB,SAAUknC,EAAct2B,KAAKpN,KAAI,SAAAjB,GAAC,OAAiB,EAAI8T,GAAYiD,MAAM6B,EAAKlN,QAAS,CACrFxH,QAAS,OACTC,WAAY,SACZ1G,SAAU,CAAwB,cAAvBknC,EAAclmC,OAAqC,EAAIqV,GAAYmD,KAAKgC,EAAUvN,QAAS,CACpGmS,QAAS8mB,EAAckB,OAAO7lC,EAAE4lC,SAChCx9B,SAAU,SAAAuO,GAAC,OAhJM,SAACA,EAAGivB,GAC/B,IACWY,EACP7vB,EAAE/B,OADJiJ,QAEF+mB,GAAiB,SAAA5kC,GACf,IAAM6lC,EAAS97B,OAAO08B,QAAQzmC,EAAE6lC,QAAQ13B,QAAO,SAACu4B,EAAG7O,GACjD,QAAsBA,EAAK,GAAtB53B,EAAG,KAAE0mC,EAAQ,KAElB,OADAD,EAAEzmC,GAAO2lC,IAAY3lC,EAAMumC,EAAWG,EAC/BD,CACT,GAAG,CAAC,GACEZ,EAAY/7B,OAAON,OAAOo8B,GAAQ99B,UAAS,GACjD,OAAO4M,GAAcA,GAAc,CAAC,EAAG3U,GAAI,CAAC,EAAG,CAC7C6lC,OAAAA,EACAC,UAAAA,GAEJ,GACF,CAgI2Bc,CAAqBjwB,EAAG3W,EAAE4lC,QAAQ,EACjDjhC,MAAO,CACLgE,WAAY3I,EAAE2X,SAAW,GAAK,GAEhCkvB,gBAAgB,EAChBlvB,SAAU3X,EAAE2X,YACG,EAAI7D,GAAYiD,MAAM6B,EAAKlN,QAAS,CACnDo4B,SAAU,EACV78B,GAAI,EACJxJ,SAAU,EAAc,EAAIqW,GAAYmD,KAAK2B,EAAKlN,QAAS,CACzDa,MAAM,EACNyU,GAAI,EACJvjB,SAAUuC,EAAEc,OACVd,EAAEpB,UAAwB,EAAIkV,GAAYiD,MAAM2qB,EAAMh2B,QAAS,CACjE0Q,SAAU,cACV0qB,WAAW,EACXtlB,QAAS,EACTrd,WAAY,SACZ1G,SAAU,EAAc,EAAIqW,GAAYmD,KAAKyqB,EAAMh2B,QAAS,CAC1Da,MAAM,EACNyU,GAAI,EACJvjB,SAAUuC,EAAEpB,WACG,EAAIkV,GAAYmD,KAAKyqB,EAAMh2B,QAAS,CACnDa,MAAM,EACNyU,GAAI,EACJvjB,UAAuB,EAAIqW,GAAYmD,KAAK0qB,EAAcj2B,QAAS,CACjE/G,MAAO,CACLyX,SAAU,cAGC,EAAItI,GAAYmD,KAAKyqB,EAAMh2B,QAAS,CACnDa,MAAM,EACNyU,GAAI,EACJvjB,UAAuB,EAAIqW,GAAYmD,KAAK2B,EAAKlN,QAAS,CACxDrH,MAAO,iBACP5G,SAAUuC,EAAEqlC,oBAIjB,GAAG5oB,OAAOzc,EAAEc,KAAM,KAAK2b,OAAOzc,EAAEqlC,eACnC,OACa,EAAIvxB,GAAYiD,MAAMqqB,EAAe11B,QAAS,CAC7D/G,MAAO,CACLI,QAAS,iBAEXtH,SAAU,EAAc,EAAIqW,GAAYmD,KAAKsC,EAAQ7N,QAAS,CAC5DhH,QAAS,WACPkgC,EAAiB,KACnB,EACAnnC,SAAUqF,EAAE,oBACG,EAAIgR,GAAYiD,MAAMwC,EAAQ7N,QAAS,CACtDhH,QAAS,SAAAiS,GACPA,EAAEC,kBACFmvB,GACF,EACA1hC,MAAO,UACPsT,SAAU3U,GAAkC,cAAvB2hC,EAAclmC,OAAyBkmC,EAAcmB,UAC1Ez/B,QAAS,YACT4W,WAAW,EACXxf,SAAU,CAACuF,IAAwB,EAAI8Q,GAAYmD,KAAKuC,EAAkB9N,QAAS,CACjFhD,KAAM,KACJ5F,EAAE,+BAMlB,CACAP,GAAkB0V,UAAY,CAC5B/Y,SAAUmU,EAAW3H,QAAQyI,OAAO2J,WACpChY,SAAUuN,EAAW3H,QAAQsb,KAC7BvkB,gBAAiB4Q,EAAW3H,QAAQsb,MAEtCzkB,GAAkBK,aAAe,CAC/BkD,SAAU,WAAO,EACjBrD,gBAAiB,kBAAM7E,OAAOwE,SAASC,MAAM,GAE/C,IAAM2U,GAAMzD,EAAQ7H,QAAQ2M,IAAII,IAAqBA,EAAmBqB,GAAuB,CAAC,oFAAqF,gMAAgM,SAAAtX,GAAK,OAAIA,EAAM+G,MAAMiY,QAAQ,EAAE,G,qCC1yBpZzX,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB88B,EAClB,IAAI1zB,EAAaC,EAAuBzI,EAAQ,QAC5C+N,EAAOtF,EAAuBzI,EAAQ,QACtCiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAAS8yB,EAAKzwB,GACZ,IACEhI,EACEgI,EADFhI,MAEF,OAAoB,EAAIwF,EAAYmD,KAAK2B,EAAKlN,QAAS,CACrDwV,GAAIL,KAAKC,IAAkB,GAAbxS,EAAQ,GAAQ,GAC9BhK,GAAI,CACF0iC,aAAc,EACdC,YAAa,qBAEd,qBACL,CACAF,EAAK9uB,UAAY,CACf3J,MAAO+E,EAAW3H,QAAQ6V,QAE5BwlB,EAAKnkC,aAAe,CAClB0L,MAAO,E,qCC1BI,0CAEbvE,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,aAAkB,EAClB,IAAIoJ,EAAaC,EAAuBzI,EAAQ,QAC5Cq8B,EAAUr8B,EAAQ,OAClBs8B,EAAUt8B,EAAQ,OAClBuI,EAASvI,EAAQ,OACjBu8B,EAAUv8B,EAAQ,OAClBw8B,EAAYx8B,EAAQ,OACpBwO,EAAWxO,EAAQ,OACnBy8B,EAAgBh0B,EAAuBzI,EAAQ,QAC/C08B,EAAWj0B,EAAuBzI,EAAQ,QAC1CiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAG9F,IAAMuzB,EAAgB,KACtB,SAASC,EAAWnxB,GAClB,IACEhS,EAIEgS,EAJFhS,GACA8D,EAGEkO,EAHFlO,SACAs/B,EAEEpxB,EAFFoxB,QACAC,EACErxB,EADFqxB,eAGA7kC,GACE,EAAIuW,EAAStW,oBADfD,EAEI8kC,GAAW,EAAIx0B,EAAOigB,UAC5B,GAAkD,EAAIjgB,EAAOhU,UAAU,MAAK,SAArEyoC,EAAiB,KAAEC,EAAoB,KACxCrH,GAAQ,EAAIyG,EAAQa,aAAa,CACrCC,cAAeR,EACfS,WAAY,GACZC,YAAa,GACbC,YAAa,KAETC,GAAmB,EAAIh1B,EAAOi1B,UAAS,WAC3C,QAASR,CACX,GAAG,CAACA,IACES,GAAgB,EAAIl1B,EAAOi1B,UAAS,WACxC,OAAOt+B,OAAOmE,MAAK,EAAIi5B,EAAQoB,MAAMhB,EAAS77B,QAAS,GAAF,SAAM+0B,EAAMwH,YAAU,CAAET,MAAiBvmC,KAAI,SAAAwa,GAAM,MAAK,CAC3Gta,MAAOomC,EAAS77B,QAAQ+P,GACxBxd,MAAOwd,EACR,GACH,GAAG,CAACglB,EAAMwH,aAeV,SAASO,EAAY/sB,GACnB,OAAKA,EAKU,OAAXA,IAAmBglB,EAAMwH,WAAWlgC,SAAS0T,IACxC3Y,EAAE,+BAAgC,CACvC7E,MAAOwd,IANF3Y,EAAE,2BAA4B,CACnChC,KAAM,UASZ,CACA,SAAS2nC,IACP,IAAIhtB,EAAS5G,UAAUtO,OAAS,QAAsBqB,IAAjBiN,UAAU,GAAmBA,UAAU,GAAK,GAC3E5W,EAAmB,OAAXwd,QAA8B,IAAXA,OAAoB,EAASA,EAAO4hB,OAC/DqL,EAAcF,EAAYvqC,GAMhC,OAJEwiC,EAAM0H,aADY,IAAhBO,EACkBA,EAEA,GAEfA,CACT,CACA,SAASC,IACP,IAAIC,EACE3qC,EAAqD,QAA5C2qC,EAAqBnI,EAAMyH,mBAAgD,IAAvBU,OAAgC,EAASA,EAAmBvL,QAE3G,IADAoL,EAAiBxqC,KAEnCsZ,IACAkpB,EAAMwH,WAAWzhC,KAAKvI,GACtBwiC,EAAMuH,cAAgB/pC,EAE1B,CACA,SAASsZ,IACPuwB,EAAqB,MACrBrH,EAAMyH,YAAc,GACpBzH,EAAM0H,YAAc,EACtB,CAiBA,OArEA,EAAI/0B,EAAOzR,YAAW,WACpByG,EAASq4B,EAAMuH,cACjB,GAAG,CAAC5/B,EAAUq4B,EAAMuH,iBACpB,EAAI50B,EAAOzR,YAAW,WACpB8+B,EAAMwH,WAAa,EAAIP,EACzB,GAAG,CAACA,EAASjH,KACb,EAAIyG,EAAQ2B,aAAa,SAAS,WAEhC9O,YAAW,WACT4O,GACF,GACF,GAAG,CACD/zB,OAAQgzB,KAyDU,EAAI9zB,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,EAAc,EAAIqW,EAAYiD,MAAMswB,EAAUn/B,KAAM,CAC5D5D,GAAIA,EACJrG,MAAOwiC,EAAMuH,cACb5/B,SAAU,SAACuO,EAAG1Y,GACZwiC,EAAMuH,cAAgB/pC,CACxB,EACAR,SAAU,EAAc,EAAIqW,EAAYmD,KAAKowB,EAAUyB,IAAK,CAC1DtlC,MAAO,YAAYiZ,OAAO8qB,EAAS77B,QAAQ87B,GAAgB,KAC3DvpC,MAAO,OACLwiC,EAAMwH,WAAWhnC,KAAI,SAAAsL,GAAI,OAAiB,EAAIuH,EAAYmD,KAAKowB,EAAUyB,IAAK,CAChFxkC,GAAI,CACFykC,SAAU,YAEZvlC,OAAoB,EAAIsQ,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,CAAC8pC,EAAS77B,QAAQa,IAAoB,EAAIuH,EAAYmD,KAAKowB,EAAU2B,WAAY,CACzFtgC,KAAM,QACNrE,MAAO,UACPC,GAAI,CACFykC,SAAU,WACVzE,IAAK,EACLC,MAAO,GAET7/B,QAAS,SAAAiS,IAvCnB,SAA4BA,EAAG8E,GAC7B9E,EAAEE,iBACFF,EAAEC,kBACF6pB,EAAMwH,YAAa,EAAId,EAAQ8B,SAASxI,EAAMwH,WAAYxsB,GAC1DksB,EAAelsB,GACXA,IAAWglB,EAAMuH,gBACnBvH,EAAMuH,cAAgBR,EAE1B,CAgCY0B,CAAmBvyB,EAAGpK,EACxB,EACA9O,UAAuB,EAAIqW,EAAYmD,KAAKmwB,EAAQ+B,KAAM,CACxD3xB,KAAM,YACNuT,OAAQ,UAId9sB,MAAOsO,GACNA,EAAK,KAAgB,EAAIuH,EAAYmD,KAAKowB,EAAU2B,WAAY,CACjE3kC,MAAO,UACP+kC,oBAAoB,EACpB9kC,GAAI,CACFyc,MAAO,QAETrc,QAAS,SAAAiS,GACPmxB,EAAqBnxB,EAAEQ,cACzB,EACA1Z,UAAuB,EAAIqW,EAAYmD,KAAKmwB,EAAQ+B,KAAM,CACxD3xB,KAAM,mBAGK,EAAI1D,EAAYmD,KAAKowB,EAAUgC,QAAS,CACvD5yB,KAAM2xB,EACN7xB,SAAUsxB,EACVnxB,QAASa,EACT+xB,aAAc,CACZC,SAAU,SACVC,WAAY,QAEd/rC,UAAuB,EAAIqW,EAAYiD,MAAMswB,EAAUpjC,IAAK,CAC1DK,GAAI,CACFmlC,EAAG,EACH1oB,MAAO,SAETtjB,SAAU,EAAc,EAAIqW,EAAYmD,KAAKowB,EAAUqC,WAAY,CACjErjC,QAAS,YACT5I,SAAUqF,EAAE,wCACG,EAAIgR,EAAYmD,KAAKowB,EAAUpjC,IAAK,CACnDgD,GAAI,EACJxJ,UAAuB,EAAIqW,EAAYmD,KAAKqwB,EAAc57B,QAAS,CACjEqkB,UAAU,EACVnsB,WAAW,EACXJ,MAAO,SACPvF,MAAOwiC,EAAMyH,YACbr2B,QAASy2B,EACTlgC,SA7EV,SAA4BuO,GAC1B,IACE1Y,EACE0Y,EAAE/B,OADJ3W,MAEFwqC,EAAiBxqC,GACjBwiC,EAAMyH,YAAcjqC,CACtB,EAwEUgF,QAASw9B,EAAM0H,YACfjP,WAAYuH,EAAM0H,aAAe,SAEpB,EAAIr0B,EAAYmD,KAAKowB,EAAUpjC,IAAK,CACnDC,QAAS,OACTyc,eAAgB,WAChBljB,UAAuB,EAAIqW,EAAYmD,KAAKowB,EAAU5iC,OAAQ,CAC5DiE,KAAM,QACNrC,QAAS,YACT3B,QAASikC,EACTlrC,SAAUqF,EAAE,6BAMxB,CACA2kC,EAAWxvB,UAAY,CACrB3T,GAAI+O,EAAW3H,QAAQqS,IACvB3V,SAAUiL,EAAW3H,QAAQsb,KAC7B2gB,eAAgBt0B,EAAW3H,QAAQsb,KACnC0gB,QAASr0B,EAAW3H,QAAQwM,OAE9BuvB,EAAW7kC,aAAe,CACxB0B,GAAI,KACJ8D,SAAU,WAAO,EACjBu/B,eAAgB,WAAO,EACvBD,QAAS,IAEX,IAAI1G,EAAWyG,EACfx9B,EAAAA,QAAkB+2B,C,qCCvNlBj3B,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,aAAkB,EAClB,IAMgCgK,EAN5BZ,GAM4BY,EANQpJ,EAAQ,SAMKoJ,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,GALnFb,EAASvI,EAAQ,OACjBw8B,EAAYx8B,EAAQ,OACpBu8B,EAAUv8B,EAAQ,OAClBwO,EAAWxO,EAAQ,OACnBiJ,EAAcjJ,EAAQ,OAE1B,SAAS8+B,EAAkBrzB,GACzB,IACEzR,EAOEyR,EAPFzR,UACA+kC,EAMEtzB,EANFszB,IACAC,EAKEvzB,EALFuzB,KACAC,EAIExzB,EAJFwzB,OACAC,EAGEzzB,EAHFyzB,IACAjoC,EAEEwU,EAFFxU,KACA4K,EACE4J,EADF5J,QAGA5J,GACE,EAAIuW,EAAStW,oBADfD,EAEIknC,EAAa,CAAC,OAAQ,QAAQjiC,SAASjG,EAAKsO,MAC5C65B,GAA6B,EAAI7C,EAAQ7+B,gBAAgBzG,EAAKooC,UACpE,SAASC,EAAYxzB,GACnBA,EAAEE,iBACFF,EAAEC,iBACJ,CACA,IAAMwzB,GAAiB,EAAIhD,EAAQiD,cAAa,SAAA1zB,GAC9CwzB,EAAYxzB,GACZizB,EAAI9nC,EACN,GAAG,CAAC8nC,EAAK9nC,IACHwoC,GAAkB,EAAIlD,EAAQiD,cAAa,SAAA1zB,GAC/CwzB,EAAYxzB,GACZkzB,EAAK/nC,EACP,GAAG,CAAC+nC,EAAM/nC,IACJyoC,GAAoB,EAAInD,EAAQiD,cAAa,SAAA1zB,GACjDwzB,EAAYxzB,GACZmzB,EAAOhoC,EACT,GAAG,CAACgoC,EAAQhoC,IACN0oC,GAAoB,EAAIpD,EAAQiD,cAAa,SAAA1zB,GACjDwzB,EAAYxzB,GACZozB,EAAIjoC,EACN,GAAG,CAACioC,EAAKjoC,IACT,OAAoB,EAAIgS,EAAYiD,MAAM,MAAO,CAC/ClS,UAAWA,EACXpH,SAAU,EAAEqE,EAAKoK,QAAU,CAAC,SAAU,SAAU,aAAanE,SAAS2E,KAAyB,EAAIoH,EAAYmD,KAAK,OAAQ,CAC1H9V,MAAuB2B,EAAhBmnC,EAAkB,6BAAkC,4BAC3DxsC,UAAuB,EAAIqW,EAAYmD,KAAKowB,EAAU2B,WAAY,CAChEtgC,KAAM,QACNrE,MAAO,UACPK,QAAS0lC,EACTzyB,SAAUsyB,EACVxsC,UAAuB,EAAIqW,EAAYmD,KAAK7D,EAAO+1B,KAAM,CACvD3xB,KAAM,8BAGK,EAAI1D,EAAYmD,KAAK,OAAQ,CAC5C9V,MAAuB2B,EAAhBmnC,EAAkB,2BAAgC,0BACzDxsC,UAAuB,EAAIqW,EAAYmD,KAAKowB,EAAU2B,WAAY,CAChEtgC,KAAM,QACNrE,MAAO,UACPK,QAAS4lC,EACT3yB,SAAUsyB,EACVxsC,UAAuB,EAAIqW,EAAYmD,KAAK7D,EAAO+1B,KAAM,CACvD3xB,KAAM,oBAGK,EAAI1D,EAAYmD,KAAK,OAAQ,CAC5C9V,MAEA8oC,EAAgBnnC,EAAE,4BAA8BhB,EAAKuO,QAAUvN,EAAE,0BAA4BA,EAAE,0BAC/FrF,UAAuB,EAAIqW,EAAYmD,KAAKowB,EAAU2B,WAAY,CAChEtgC,KAAM,QACNrE,MAAO,UACPK,QAAS6lC,EACT5yB,SAAUsyB,EACVxsC,UAA2B,IAAjBqE,EAAKuO,SAAiC,EAAIyD,EAAYmD,KAAK7D,EAAO+1B,KAAM,CAChF3xB,KAAM,yBACU,EAAI1D,EAAYmD,KAAK7D,EAAO+1B,KAAM,CAClD3xB,KAAM,yBAGK,EAAI1D,EAAYmD,KAAK,OAAQ,CAC5C9V,MAAsC2B,EAA/BknC,IAAeC,EAAkB,0BAA+B,yBACvExsC,UAAuB,EAAIqW,EAAYmD,KAAKowB,EAAU2B,WAAY,CAChErxB,SAAUqyB,IAAeC,EACzBvhC,KAAM,QACNrE,MAAO,QACPK,QAAS8lC,EACT/sC,UAAuB,EAAIqW,EAAYmD,KAAK7D,EAAO+1B,KAAM,CACvD3xB,KAAM,qBAKhB,CACAmyB,EAAkB1xB,UAAY,CAC5BnW,KAAMuR,EAAW3H,QAAQyI,OAAO2J,WAChCjZ,UAAWwO,EAAW3H,QAAQmd,OAC9B+gB,IAAKv2B,EAAW3H,QAAQsb,KACxB6iB,KAAMx2B,EAAW3H,QAAQsb,KACzB8iB,OAAQz2B,EAAW3H,QAAQsb,KAC3B+iB,IAAK12B,EAAW3H,QAAQsb,KACxBta,QAAS2G,EAAW3H,QAAQmd,QAE9B8gB,EAAkB/mC,aAAe,CAC/BiC,UAAW,GACX+kC,IAAK,WAAO,EACZC,KAAM,WAAO,EACbC,OAAQ,WAAO,EACfC,IAAK,WAAO,EACZr9B,QAAS,IAEX,IAAIs0B,EAAW2I,EACf1/B,EAAAA,QAAkB+2B,C,qCCvHL,gFAEbj3B,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,aAAkB,EAClB,IAAIoJ,EAAaC,EAAuBzI,EAAQ,QAC5C0O,EAAUjG,EAAuBzI,EAAQ,QACzCyO,EAAUhG,EAAuBzI,EAAQ,QACzCwO,EAAWxO,EAAQ,OACnBw8B,EAAYx8B,EAAQ,OACpBq8B,EAAUr8B,EAAQ,OAClB4/B,EAAQn3B,EAAuBzI,EAAQ,QACvC6/B,EAAQp3B,EAAuBzI,EAAQ,QACvC8/B,EAAUr3B,EAAuBzI,EAAQ,OACzC+/B,EAAWt3B,EAAuBzI,EAAQ,QAC1C+jB,EAAWtb,EAAuBzI,EAAQ,QAC1CggC,EAAYv3B,EAAuBzI,EAAQ,QAC3CigC,EAAYx3B,EAAuBzI,EAAQ,QAC3CkgC,EAAaz3B,EAAuBzI,EAAQ,QAC5CuI,EAASvI,EAAQ,OACjBmgC,EAAiBngC,EAAQ,OACzBu8B,EAAUv8B,EAAQ,OAClBogC,EAAapgC,EAAQ,OACrBqgC,EAA+BrgC,EAAQ,OACvCyiB,EAAWha,EAAuBzI,EAAQ,QAC1CsgC,EAAStgC,EAAQ,OACjBugC,EAAiB93B,EAAuBzI,EAAQ,QAChDwgC,EAAc/3B,EAAuBzI,EAAQ,QAC7Cy8B,EAAgBh0B,EAAuBzI,EAAQ,QAC/C6O,EAAQ7O,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,IAEMuzB,EAAgB,KAChB8D,EAAmB,CACvBnqC,MAAO,EAAF,GACFqmC,EAAgB,IAEnBt6B,KAAM,EAAF,GACDs6B,EAAgB,KAGrB,SAAS+D,EAAWj1B,GAClB,IACEkB,EACElB,EADFkB,KAEF,GAA4B,EAAIpE,EAAOhU,WAAU,GAAM,SAAhDosC,EAAM,KAAEC,EAAS,KAMxB,OALA,EAAIvE,EAAQwE,gBAAc,YAAE,8EACT,OAAjBD,GAAU,GAAO,UACX,EAAIrE,EAAQuE,UAAUn0B,GAAK,OACjCi0B,GAAU,GAAM,2CACf,CAACj0B,IACAA,EACEg0B,GACkB,EAAI13B,EAAYmD,KAAKmwB,EAAQ+B,KAAM,CACrD3xB,KAAMA,KAGU,EAAI1D,EAAYmD,KAAKmwB,EAAQ+B,KAAM,CACrD9kC,MAAO,UACPmT,KAAM,uBAGU,EAAI1D,EAAYmD,KAAKmwB,EAAQ+B,KAAM,CACrD3xB,KAAM,iBAEV,CACA+zB,EAAWtzB,UAAY,CACrBT,KAAMnE,EAAW3H,QAAQmd,OAAO/K,YAElC,IAAM8tB,GAAgC,EAAIx4B,EAAOid,aAAY,SAA0BzS,EAAO0S,GAC5F,IACE5jB,EAGEkR,EAHFlR,QACAvF,EAEEyW,EAFFzW,WACA0kC,EACEjuB,EADFiuB,eAGAtsC,GACE,EAAIma,EAAMkC,kBADZrc,MAEF,GAGI,EAAI8Z,EAAStW,oBAFfD,EAAC,EAADA,EACA2Y,EAAM,EAANA,OAEIqwB,GAAS,EAAI14B,EAAOigB,SAAQ,WAAO,IACzC,GAGK,EAAI6T,EAAQ6E,aAAY,GAAM,SAH5BC,EAAI,YACTC,EAAQ,EAARA,SACAC,EAAO,EAAPA,QAGAC,GACE,EAAIlB,EAAWmB,eADjBD,gBAEI1L,GAAQ,EAAIyG,EAAQa,aAAa,CACrCpM,QAAQ,EACRl9B,KA7DgB,MA8DhB4tC,cAAc,EACd5wB,OAAQ+rB,EACR8E,WAAW,EAAIvB,EAAWr/B,SAAS4/B,GAC/BrD,iBAEF,OAAO,EAAI2C,EAASl/B,SAAS3B,OAAOmE,KAAKtE,KAAK0iC,UAAUnrC,OAAQqmC,EAClE,IAEF,GASI,EAAIwD,EAAeuB,SAAS,CAC9BvuC,KAAM,WACNwuC,cAAe,CACbx8B,QAAIpI,EACJzG,WAAOyG,EACP4P,UAAM5P,EACNsF,UAAMtF,EACNa,eAAWb,EACXsE,YAAQtE,EACRqF,KAAM,MAjBRw/B,EAAY,EAAZA,aACA/nB,EAAO,EAAPA,QACAgoB,GAAK,EAALA,MACAC,GAAQ,EAARA,SACAC,GAAW,EAAXA,YAEEC,GAAM,EADRP,UACEO,QAcJ,EAAIz5B,EAAOzR,YAAW,WACpBgrC,GAAS,QAASlM,EAAM6L,UAAUnrC,MAAMs/B,EAAMhlB,SAC9CkxB,GAAS,OAAQlM,EAAM6L,UAAUp/B,KAAKuzB,EAAMhlB,QAE9C,GAAG,CAACkxB,GAAUlM,EAAMhlB,OAAQuwB,IAC5B,IAAMc,GAAiBJ,GAAM,aACvBK,GAAaL,GAAM,SACnBM,GAAYN,GAAM,QAClBO,GAAYP,GAAM,QAClBQ,GAAcR,GAAM,WAC1B,EAAIt5B,EAAOzR,YAAW,WACpB8+B,EAAM6L,UAAUnrC,MAAMs/B,EAAMhlB,QAAUsxB,EAExC,GAAG,CAACA,MACJ,EAAI35B,EAAOzR,YAAW,WACpB8+B,EAAM6L,UAAUp/B,KAAKuzB,EAAMhlB,QAAUuxB,EAEvC,GAAG,CAACA,KACJ,IAAMG,IAAiB,EAAI/5B,EAAOi1B,UAAS,WAQzC,OAPmBwD,EAAe9rC,MAAK,SAAAwM,GACrC,OAAIugC,GACoB3lC,EAAWpH,MAAK,SAAAC,GAAC,OAAIA,EAAEc,OAASgsC,EAAc,IAC/CnuC,MAAQ4N,EAAKyD,GAE7BzD,EAAKyD,KAAOk9B,EACrB,GAEF,GAAG,CAAC/lC,EAAY0kC,EAAgBiB,GAAgBI,KAC1CE,IAAa,EAAIh6B,EAAOi1B,UAAS,WACrC,GAAuB,OAAnB8E,SAA8C,IAAnBA,IAA6BA,GAAe1kC,UAAW,CACpF,IAEEyE,GAFoB/F,EAAWpH,MAAK,SAAAwM,GAAI,OAAIA,EAAKzL,OAASqsC,GAAe1kC,SAAS,KAG/D,CAAC,GADpByE,KAEImgC,GAAa,EAAIvC,EAAUp/B,SAASwB,GAAQA,EAAKuzB,EAAMhlB,QAAUvO,EACvE,GAAI4/B,GACF,OAAO,EAAI3B,EAAOmC,sBAAsBD,GAE1C,IAAME,GAAe,EAAIzC,EAAUp/B,SAASyhC,GAAejgC,MAAQigC,GAAejgC,KAAKuzB,EAAMhlB,QAAU0xB,GAAejgC,KACtH,OAAO,EAAIi+B,EAAOmC,uBAAsB,EAAIhgB,EAAS5hB,SAAS2hC,EAAYE,GAAgB,KAC5F,CACA,OAAO,IACT,GAAG,CAACpmC,EAAYs5B,EAAMhlB,OAAQ0xB,GAAgBL,KACxCU,IAAsB,EAAIp6B,EAAOi1B,UAAS,WAC9C,IACE5/B,GACE0kC,IAAkB,CAAC,GADrB1kC,UAKyB,GAHDtB,EAAWpH,MAAK,SAAAwM,GAAI,OAAIA,EAAKzL,OAAS2H,CAAS,KAGhD,CAAC,GADxBjB,WAAAA,OAAU,IAAG,KAAE,EAUjB,OAR6B,EAAI0jC,EAA6B/gC,oBAAoB3C,EAAY,CAC5F+G,UAAS,SAAChC,EAAML,GAId,OAHe,OAAXA,QAA8B,IAAXA,GAAqBA,EAAOQ,UACjDH,EAAKG,QAAUH,EAAKG,SAAWR,EAAOQ,SAEjCH,CACT,IAE0B5L,QAAO,SAAA4L,GAAI,OAAIA,EAAKW,IAAI,IAEnDvM,QAAO,SAAA4L,GAAI,OAAI,EAAI2+B,EAA6BzgC,gBAAgB8B,EAAKG,QAASA,EAAQ,IAAEzL,KAAI,SAAAsL,GAC3F,MAAO,CACL/I,MAAO+I,EAAKW,KACZ/L,MAAOoL,EAAKpL,MAAMsa,IAAWlP,EAAKpL,MAEtC,GACF,GAAG,CAACgsC,GAAgBhmC,EAAYuF,EAAS+O,IACnC3a,IAAO,EAAIsS,EAAOi1B,UAAS,WAC/B,IAIMoF,EAJU,CACd7D,IAAK9mC,EAAE,iBACP+mC,KAAM/mC,EAAE,gBAEe29B,EAAMhiC,MAC/B,OAAIgvC,EACK,GAAGhxB,OAAOgxB,EAAU,KAAKhxB,OAAO3Z,EAAE,0BAEpC,IACT,GAAG,CAAC29B,EAAMhiC,KAAMqE,IACV4qC,IAAQ,EAAIt6B,EAAOi3B,cAAa,WACpC5J,EAAMhiC,KA3KU,MA4KhBgiC,EAAM4L,cAAe,EACrBP,EAAO3jC,QAAU,WAAO,EACxBwkC,GAAS,UAAM/kC,GACf+kC,GAAS,YAAQ/kC,GACjB+kC,GAAS,aAAS/kC,GAClB+kC,GAAS,YAAQ/kC,GACjB+kC,GAAS,iBAAa/kC,GACtB+kC,GAAS,cAAU/kC,GACnB+kC,GAAS,OAAQ,IACjBlM,EAAM6L,WAAY,EAAIvB,EAAWr/B,SAAS4/B,GAC1CsB,IACF,GAAG,CAACA,GAAaD,GAAUlM,IACrBkN,IAAkB,EAAIv6B,EAAOi3B,cAAa,WAC9C,IAAIlqB,EAAStL,UAAUtO,OAAS,QAAsBqB,IAAjBiN,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAYlF,OAXI4rB,EAAMwH,WAAW1hC,OAAS,IACxB,IAAI6H,KAAI,EAAIu8B,EAAQj/B,SAAS+0B,EAAM6L,UAAUnrC,QAAQuH,KAAO,IAC9DyX,EAAOhf,MAAQs/B,EAAM6L,UAAUnrC,OAE7B,IAAIiN,KAAI,EAAIu8B,EAAQj/B,SAAS+0B,EAAM6L,UAAUp/B,OAAOxE,KAAO,IAC7DyX,EAAOjT,KAAOuzB,EAAM6L,UAAUp/B,QAG9B,EAAI0hB,EAASljB,SAASyU,EAAOlT,QAC/BkT,EAAOlT,UAAOrF,GAETuY,CACT,GAAG,CAACsgB,EAAM6L,UAAUp/B,KAAMuzB,EAAM6L,UAAUnrC,MAAOs/B,EAAMwH,aACjD1wB,IAAQ,EAAInE,EAAOi3B,cAAa,WACpC4B,IACAlS,YAAW,WACT2T,IACF,GACF,GAAG,CAACA,GAAOzB,IACLrC,IAAM,EAAIx2B,EAAOi3B,cAAa,WAClC,MAEIx1B,UAAUtO,OAAS,QAAsBqB,IAAjBiN,UAAU,GAAmBA,UAAU,GAAK,CAAC,EADvE3I,EAAM,EAANA,OAEEJ,EAAK+I,UAAUtO,OAAS,QAAsBqB,IAAjBiN,UAAU,GAAmBA,UAAU,GAAK,WAAO,EACpF4rB,EAAMhiC,KAAO,MACbgiC,EAAM9E,QAAUzvB,EAChBygC,GAAS,SAAqB,OAAXzgC,QAA8B,IAAXA,OAAoB,EAASA,EAAO8D,IAC1E87B,EAAO3jC,QAAU,SAAAgY,GACfrU,EAAGyL,GAAO4I,EACZ,EACA+rB,GACF,GAAG,CAAC30B,GAAO20B,EAASS,GAAUlM,IACxBoJ,IAAO,EAAIz2B,EAAOi3B,cAAa,WACnC,IAAIvoC,EAAO+S,UAAUtO,OAAS,QAAsBqB,IAAjBiN,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC5E/I,EAAK+I,UAAUtO,OAAS,QAAsBqB,IAAjBiN,UAAU,GAAmBA,UAAU,GAAK,WAAO,EAElF7E,EAOElO,EAPFkO,GACA7O,EAMEW,EANFX,MACAqW,EAKE1V,EALF0V,KACAtK,EAIEpL,EAJFoL,KACAhB,EAGEpK,EAHFoK,OACAzD,EAEE3G,EAFF2G,UAAS,EAEP3G,EADFmL,KAAAA,OAAI,IAAG,KAAE,EAEX0/B,GAAS,KAAM38B,GACf28B,GAAS,OAAQn1B,GACC,SAAd1V,EAAKsO,OACPqwB,EAAM4L,cAAe,IAEnB,EAAIxB,EAAUn/B,SAASvK,GACzBs/B,EAAM6L,UAAUnrC,MAAQs/B,EAAMwH,WAAW95B,QAAO,SAACoC,EAASq9B,GAExD,OADAr9B,EAAQq9B,GAAczsC,EACfoP,CACT,GAAG,EAAF,GACEi3B,EAAgBrmC,KAEV,EAAI2pC,EAAUp/B,SAASvK,GAChCs/B,EAAM6L,UAAUnrC,OAAQ,EAAI4pC,EAAWr/B,SAASvK,GAEhDs/B,EAAM6L,UAAUnrC,MAAQ,CAAC,GAEvB,EAAI0pC,EAAUn/B,SAASwB,GACzBuzB,EAAM6L,UAAUp/B,KAAOuzB,EAAMwH,WAAW95B,QAAO,SAACoC,EAASq9B,GAEvD,OADAr9B,EAAQq9B,GAAc1gC,EACfqD,CACT,GAAG,EAAF,GACEi3B,EAAgBt6B,KAEV,EAAI49B,EAAUp/B,SAASwB,GAChCuzB,EAAM6L,UAAUp/B,MAAO,EAAI69B,EAAWr/B,SAASwB,GAE/CuzB,EAAM6L,UAAUp/B,KAAO,CAAC,EAE1By/B,GAAS,YAAalkC,GACtBkkC,GAAS,SAAUzgC,GACnBygC,GAAS,OAAQ1/B,GAAQ,IACzBi/B,IACAzL,EAAMhiC,KAAO,OACbgiC,EAAM9E,QAAUzvB,EAChB4/B,EAAO3jC,QAAU,SAAAgY,GACf,IAAM0tB,GAAW,EAAInD,EAAMh/B,SAASyU,EAAQ,CAAC,KAAM,QAAS,OAAQ,OAAQ,SAC5ErU,EAAGyL,GAAOs2B,EACZ,CACF,GAAG,CAACt2B,GAAO20B,EAASS,GAAUlM,IAQ9B,SAASqN,GAAW11B,GAClB,IAAMna,EAAgB,OAARma,QAAwB,IAARA,OAAiB,EAASA,EAAIilB,OAC5D,OAAKp/B,IAGDA,EAAMsI,OA3RW,KA2RuBzD,EAAE,+BAAgC,CAC5EirC,IA5RmB,KAwRFjrC,EAAE,2BAA4B,CAC/ChC,KAAMgC,EAAE,0BAMZ,CACwB,cAUvB,OAVuB,eAAxB,WAAyBsV,GAAG,uEACwC,KAA5Dna,EAAgB,OAARma,QAAwB,IAARA,OAAiB,EAASA,EAAIilB,QACjD,CAAF,0CAEC,EAAI+J,EAAQuE,UAAU1tC,GAAM,gFAE3B6E,EAAE,gCAA8B,kCAGpC,GAAI,0DACZ,sBACD,SAASkrC,GAAU51B,GACjB,IAAMna,EAAgB,OAARma,QAAwB,IAARA,OAAiB,EAASA,EAAIilB,OAC5D,OAAKp/B,KAQA,EAAIitC,EAA6B9gC,WAAWnM,IACxC6E,EAAE,iCARJ29B,EAAM9E,QACF74B,EAAE,2BAA4B,CACnChC,KAAMgC,EAAE,yBAShB,EA1CA,EAAIsQ,EAAO2d,qBAAqBT,GAAK,WACnC,MAAO,CACLsZ,IAAAA,GACAC,KAAAA,GACAtyB,MAAAA,GAEJ,GAAG,CAACqyB,GAAKryB,GAAOsyB,KAqChB,IAAMoE,IAAqB,EAAI76B,EAAOi3B,cAAa,SAAArC,GACjDvH,EAAMhlB,OAASusB,EACVvH,EAAM6L,UAAUnrC,MAAM6mC,KACzBvH,EAAM6L,UAAUnrC,MAAM6mC,GAAiB,IAEpCvH,EAAM6L,UAAUp/B,KAAK86B,KACxBvH,EAAM6L,UAAUp/B,KAAK86B,GAAiB,IAExCjO,YAAW,WACT6S,IACF,GACF,GAAG,CAACA,GAAanM,IACXyN,IAAiB,EAAI96B,EAAOi3B,cAAa,WAK7C,IAJA,MAGI5J,EAAM6L,UAFRnrC,EAAK,EAALA,MACA+L,EAAI,EAAJA,KAEF,MAAkBnD,OAAOmE,KAAK/M,GAAM,eAAE,CAAjC,IACGgtC,EAAWL,GAAW3sC,EADhB,OAEZ,IAAiB,IAAbgtC,EACF,OAAOA,CAEX,CACA,IAAK,IAAL,MAAkBpkC,OAAOmE,KAAKhB,GAAK,eAAE,CAAhC,IACGihC,EAAWH,GAAU9gC,EADf,OAEZ,IAAiB,IAAbihC,EACF,OAAOA,CAEX,CACA,OAAO,CAET,GAAG,CAAC1N,EAAM6L,YACJ8B,IAAmB,EAAIh7B,EAAOi3B,cAAa,SAAAlqB,GAC/C,IAAMkuB,EAAWH,MACA,IAAbG,EACFvC,EAAO3jC,QAAQwlC,GAAgBxtB,IAE/BgsB,EAAgBkC,EAAU,CACxBhoC,QAAS,SAGf,GAAG,CAAC6nC,GAAgB/B,EAAiBwB,KAC/BzE,IAAqB,EAAI91B,EAAOi3B,cAAa,SAAArC,GACjDvH,EAAM6L,UAAUnrC,OAAQ,EAAIspC,EAAM/+B,SAAS+0B,EAAM6L,UAAUnrC,MAAO6mC,GAClEvH,EAAM6L,UAAUp/B,MAAO,EAAIu9B,EAAM/+B,SAAS+0B,EAAM6L,UAAUp/B,KAAM86B,EAClE,GAAG,CAACvH,EAAM6L,YACV,OAAoB,EAAIx4B,EAAYiD,MAAMuC,EAAQ5N,QAAS,CACzD+K,KAAMu1B,EACN7qC,MAAOL,GACP4V,QAASa,GACTpU,SAAsB,EAAI2Q,EAAYmD,KAAKsC,EAAQ7N,QAAS,CAC1DhH,QAAS+nC,EAAa2B,IACtB/pC,MAAO,UACP4Y,WAAW,EACX5W,QAAS,YACT5I,SAAUqF,EAAE,oBAEdrF,SAAU,EAAc,EAAIqW,EAAYmD,KAAKo0B,EAAY3/B,QAAS,CAChEpH,GAAI,CACF4Y,GAAI,GAEN9U,SAAU6lC,GACVtG,eAAgBuB,GAChBxB,QAASjH,EAAMwH,cACA,EAAIn0B,EAAYiD,MAAM,OAAQ,CAC7Cu3B,YAAY,EACZrV,aAAc,MACdx7B,SAAU,EAAc,EAAIqW,EAAYmD,KAAK+zB,EAAeuD,WAAY,CACtEztC,KAAM,QACN4jB,QAASA,EACT6hB,MAAO,CACLiI,SAAUV,IAEZjP,OAAQ,SAAA3T,GACN,IAAIujB,EAAeC,EAEjB/P,EACEzT,EADFyT,MAEF,OAAoB,EAAI7qB,EAAYmD,KAAKowB,EAAUsH,UAAWh6B,EAAc,CAC1E/Q,WAAW,EACXyC,QAAS,WACT4C,OAAQ,QACR8mB,UAAU,EACVoP,YAAar8B,EAAE,oCACfU,MAAOV,EAAE,yBACT6U,SAAU8oB,EAAMmO,OAChB3rC,QAAqB,OAAX4pC,SAA8B,IAAXA,IAAwD,QAAlC4B,EAAgB5B,GAAO1rC,aAAqC,IAAlBstC,IAA4BA,EAAcptC,SACvI63B,YAAwB,OAAX2T,SAA8B,IAAXA,IAAiE,QAAnC6B,EAAiB7B,GAAO1rC,aAAsC,IAAnButC,OAArD,EAA0FA,EAAertC,UAAY,KACxKs9B,GACL,KACe,EAAI7qB,EAAYmD,KAAK+zB,EAAeuD,WAAY,CAC/DztC,KAAM,OACN4jB,QAASA,EACT6hB,MAAO,CACLiI,SAzHP,SACwB,GAAD,kCA0HlB3P,OAAQ,SAAAzR,GACN,IAAIyhB,EAAcC,EAEhBnQ,EACEvR,EADFuR,MAEF,OAAoB,EAAI7qB,EAAYmD,KAAKowB,EAAUsH,UAAWh6B,EAAcA,EAAc,CACxF/Q,WAAW,EACXyC,QAAS,WACT4C,OAAQ,QACRk2B,YAAar8B,EAAE,mCACfU,MAAOV,EAAE,wBACTG,QAAqB,OAAX4pC,SAA8B,IAAXA,IAAsD,QAAhCgC,EAAehC,GAAOr1B,YAAmC,IAAjBq3B,IAA2BA,EAAaxtC,SACnI63B,YAAwB,OAAX2T,SAA8B,IAAXA,IAA+D,QAAjCiC,EAAgBjC,GAAOr1B,YAAoC,IAAlBs3B,OAAnD,EAAuFA,EAAcztC,WAAyB,EAAIyS,EAAYmD,KAAKowB,EAAUpjC,IAAK,CACpNC,QAAS,OACTzG,UAAuB,EAAIqW,EAAYiD,MAAMswB,EAAUpjC,IAAK,CAC1DwE,UAAW,IACXwX,KAAM,wBACNrL,OAAQ,SACR1Q,QAAS,OACTC,WAAY,SACZ1G,SAAU,CAACqF,EAAE,gCAAiC,KAAkB,EAAIgR,EAAYmD,KAAKmwB,EAAQ+B,KAAM,CACjGxkC,MAAO,CACLgE,WAAY,GAEd6O,KAAM,oCAIXmnB,GAAQ,CAAC,EAAG,CACboQ,WAAY,CACVC,cAA2B,EAAIl7B,EAAYmD,KAAKowB,EAAU4H,eAAgB,CACxElG,SAAU,MACVtrC,UAAuB,EAAIqW,EAAYmD,KAAKowB,EAAU2B,WAAY,CAChE1kC,GAAI,CACF2c,OAAQ,WAEVmoB,oBAAoB,EACpB8F,eAAe,EACfzxC,UAAuB,EAAIqW,EAAYmD,KAAKs0B,EAAY,CACtD/zB,KAAMy1B,YAMlB,IACExM,EAAM9E,SAAuB,EAAI7nB,EAAYmD,KAAK+zB,EAAeuD,WAAY,CAC/EztC,KAAM,YACN4jB,QAASA,EACTma,OAAQ,SAAAnH,GACN,IAAIyX,EAAmBC,EAErBzQ,EACEjH,EADFiH,MAEF,OAAoB,EAAI7qB,EAAYmD,KAAKqwB,EAAc57B,QAASiJ,EAAc,CAC5E/Q,WAAW,EACXqF,OAAQ,QACR0O,SAAyB,SAAf8oB,EAAMhiC,KAChB+E,MAAOV,EAAE,6BACTusC,WAAYvsC,EAAE,wCACd+O,QAAS1K,EAAWlG,KAAI,SAAAsL,GAAI,MAAK,CAC/BpL,MAAOoL,EAAKpL,MACZlD,MAAOsO,EAAKzL,KACZI,YAAaqL,EAAKW,KACnB,IACDjK,QAAqB,OAAX4pC,SAA8B,IAAXA,IAAgE,QAA1CsC,EAAoBtC,GAAOpkC,iBAA6C,IAAtB0mC,IAAgCA,EAAkB9tC,SACvJ63B,YAAwB,OAAX2T,SAA8B,IAAXA,IAAyE,QAA3CuC,EAAqBvC,GAAOpkC,iBAA8C,IAAvB2mC,OAA7D,EAAsGA,EAAmB/tC,UAAY,KACxLs9B,GACL,KACe,EAAI7qB,EAAYmD,KAAK+zB,EAAeuD,WAAY,CAC/DztC,KAAM,OACN4jB,QAASA,EACT6hB,MAAO,CACLiI,SAAUR,IAEZnP,OAAQ,SAAAhH,GACN,IAAIyX,EAAeC,EAEjB5Q,EACE9G,EADF8G,MAEF,OAAoB,EAAI7qB,EAAYmD,KAAKowB,EAAUmI,YAAa,CAC9D5rC,WAAW,EACXqF,OAAQ,QACRxL,UAAuB,EAAIqW,EAAYmD,KAAKowB,EAAUoI,aAAc96B,EAAcA,EAAc,CAC9F+6B,eAAe,EACfC,UAAU,EACVC,cAAc,EACdC,YAAY,EACZjsC,WAAW,EACX+T,SAAU8oB,EAAM4L,aAChByD,qBAAsB,SAAAC,GAAM,OAAIA,EAAOvsC,KAAK,EAC5CqO,QAAS27B,GACTwC,YAAa,SAAA7vB,GACX,IAAI8vB,EAAcC,EAClB,OAAoB,EAAIp8B,EAAYmD,KAAKowB,EAAUsH,UAAWh6B,EAAcA,EAAc,CAAC,EAAGwL,GAAS,CAAC,EAAG,CACzGgf,YAAar8B,EAAE,mCACfU,MAAOV,EAAE,wBACTG,QAAqB,OAAX4pC,SAA8B,IAAXA,IAAsD,QAAhCoD,EAAepD,GAAO3/B,YAAmC,IAAjB+iC,IAA2BA,EAAa5uC,SACnI63B,YAAwB,OAAX2T,SAA8B,IAAXA,IAA+D,QAAjCqD,EAAgBrD,GAAO3/B,YAAoC,IAAlBgjC,OAAnD,EAAuFA,EAAc7uC,UAAY,0CAGrK0tC,WAAY,CACVoB,eAAgB/C,IAA0B,EAAIt5B,EAAYmD,KAAKowB,EAAU4H,eAAgB,CACvFlG,SAAU,QACVzkC,GAAI,CACFM,gBAAgB,EAAIwmC,EAAe1/B,SAASshC,IAAa,IAAM,eAAiB,IAElFvvC,SAAU2vC,KACP,QAGX,EACAgD,aAAc,SAAC5tC,EAAOutC,GAAM,OAAkB,EAAIj8B,EAAYiD,MAAMswB,EAAUpjC,IAAK0Q,EAAcA,EAAc,CAC7GlM,UAAW,MACVjG,GAAQ,CAAC,EAAG,CACb/E,SAAU,CAACsyC,EAAOvsC,OAAoB,EAAIsQ,EAAYmD,KAAKowB,EAAUqC,WAAY,CAC/E/gC,WAAY,EACZF,UAAW,OACXpC,QAAS,QACThC,MAAO,iBACP5G,SAAUsyC,EAAO5uC,WAElB,EACH8B,QAAqB,OAAX4pC,SAA8B,IAAXA,IAAuD,QAAjCyC,EAAgBzC,GAAO3/B,YAAoC,IAAlBoiC,IAA4BA,EAAcjuC,SACtI63B,YAAwB,OAAX2T,SAA8B,IAAXA,IAA+D,QAAjC0C,EAAgB1C,GAAO3/B,YAAoC,IAAlBqiC,OAAnD,EAAuFA,EAAcluC,UAAY,IACrK4H,OAAQ,SACP01B,GAAQ,CAAC,EAAG,CACbv2B,SAAU,WAAO,EACjBioC,cAAe,SAAC15B,EAAG1Y,GACjB0gC,EAAMv2B,SAASnK,EACjB,MAGN,IACE,CAAC,YAAa,kBAAkB8J,SAAS2E,KAAyB,EAAIoH,EAAYmD,KAAK+zB,EAAeuD,WAAY,CACpHztC,KAAM,OACN4jB,QAASA,EACTma,OAAQ,SAAA3G,GACN,IAAIoY,EAAcC,EAEhB5R,EACEzG,EADFyG,MAEF,OAAoB,EAAI7qB,EAAYmD,KAAKqwB,EAAc57B,QAASiJ,EAAc,CAC5E/Q,WAAW,EACX6Z,UAAU,EACVxU,OAAQ,QACRzF,MAAOV,EAAE,wBACTusC,WAAYvsC,EAAE,mCACd+O,QAAStS,EAAM0B,KAAI,SAAAgM,GAAI,MAAK,CAC1B9L,MAAO8L,EAAK9L,MACZlD,MAAOgP,EAAKnM,KACb,IACDmC,QAAqB,OAAX4pC,SAA8B,IAAXA,IAAsD,QAAhCyD,EAAezD,GAAO5/B,YAAmC,IAAjBqjC,IAA2BA,EAAajvC,SACnI63B,YAAwB,OAAX2T,SAA8B,IAAXA,IAA+D,QAAjC0D,EAAgB1D,GAAO5/B,YAAoC,IAAlBsjC,OAAnD,EAAuFA,EAAclvC,UAAY,KACpKs9B,GACL,SAIR,IACAiN,EAAiB3zB,UAAY,CAC3BvL,QAAS2G,EAAW3H,QAAQmd,OAC5B1hB,WAAYkM,EAAW3H,QAAQwM,MAC/B2zB,eAAgBx4B,EAAW3H,QAAQwM,OAErC0zB,EAAiBhpC,aAAe,CAC9B8J,QAAS,GACTvF,WAAY,GACZ0kC,eAAgB,IAElB,IAAI7K,EAAW4K,EACf3hC,EAAAA,QAAkB+2B,C,qCCzmBlBj3B,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,aAAkB,EAClB,IAUIkJ,EAVAE,EAAaC,EAAuBzI,EAAQ,QAC5C2lC,EAAUl9B,EAAuBzI,EAAQ,QACzC4lC,EAAUn9B,EAAuBzI,EAAQ,QACzC6lC,EAAap9B,EAAuBzI,EAAQ,QAC5C8lC,EAAer9B,EAAuBzI,EAAQ,QAC9Cw8B,EAAYx8B,EAAQ,OACpB0I,EAAUD,EAAuBzI,EAAQ,QACzC2T,EAAY3T,EAAQ,OACpBwf,EAAc/W,EAAuBzI,EAAQ,QAC7CiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAAS28B,EAAkBt6B,GACzB,IACEzR,EAEEyR,EAFFzR,UACA2C,EACE8O,EADF9O,WAGAtI,GACE,EAAIsf,EAAUrf,sBADhBD,SAGAqrB,GACE,EAAIF,EAAY3e,SAAS,CAC3BxM,SAAAA,IAFAqrB,QAIIsmB,EAAe,CACnB7xC,MAAOE,EAAS4xC,OAChBC,QAASxmB,EACTymB,QAAS9xC,EAAS0C,KAAKT,MACvB8vC,eAAe,EACfC,cAAc,EACd1pC,WAAAA,GAEF,OAAoB,EAAIsM,EAAYmD,KAAK05B,EAAajlC,QAAS,CAC7DjO,UAAuB,EAAIqW,EAAYiD,MAAMswB,EAAUpjC,IAAK,CAC1DY,UAAWA,EACXpH,SAAU,EAAc,EAAIqW,EAAYmD,KAAKu5B,EAAQ9kC,QAAS,CAC5D9J,KAAMivC,KACS,EAAI/8B,EAAYmD,KAAKowB,EAAUpjC,IAAK,CACnDxG,UAAuB,EAAIqW,EAAYmD,KAAKy5B,EAAWhlC,QAAS,CAC9D9J,KAAMivC,EACNM,oBAAqB,WAAO,EAC5BC,YAAa,CACXzsC,MAAO,CACLT,QAAS,SAGbzG,UAAuB,EAAIqW,EAAYmD,KAAKowB,EAAUgK,KAAM,CAC1DvK,WAAW,EACXtlB,QAAS,EACT/jB,SAAU,IAAI2O,MAAM,GAAGiU,OAAOpf,KAAI,SAACsL,EAAMN,GACvC,OAGE,EAAI6H,EAAYiD,MAAMswB,EAAUgK,KAAM,CACpC9kC,MAAM,EACNyU,GAAI,EACJvjB,SAAU,EAAc,EAAIqW,EAAYmD,KAAKowB,EAAUiK,SAAU,CAC/DC,WAAW,EACXlrC,QAAS,cACT0a,MAAO,OACPgK,OAAQ,OACO,EAAIjX,EAAYiD,MAAMswB,EAAUpjC,IAAK,CACpDK,GAAI,CACFktC,GAAI,IAEN/zC,SAAU,EAAc,EAAIqW,EAAYmD,KAAKowB,EAAUiK,SAAU,CAC/DC,WAAW,KACI,EAAIz9B,EAAYmD,KAAKowB,EAAUiK,SAAU,CACxDvwB,MAAO,MACPwwB,WAAW,SAGdtlC,EAEP,WAGW,EAAI6H,EAAYmD,KAAKw5B,EAAQ/kC,QAAS,CACrD9J,KAAMivC,QAId,CACAD,EAAkB34B,UAAY,CAC5BpT,UAAWwO,EAAW3H,QAAQmd,OAC9BrhB,WAAY6L,EAAW3H,QAAQwM,OAEjC04B,EAAkBhuC,aAAe,CAC/BiC,UAAW,GACX2C,WAAY,IAEd,IAjFgC2Q,EAASC,EAkFrC4oB,GAD4B,EAAIztB,EAAQ7H,SAASklC,EAArB,CAAwCz9B,IAjFxCgF,EAiFqG,CAAC,gHAjFjFC,IAAOA,EAAMD,EAAQ1K,MAAM,IAiFY0F,EAjFCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SAmF1KnO,EAAAA,QAAkB+2B,C,qCCnGlBj3B,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,aAAkB,EAClB,IAIgCgK,EAJ5BZ,GAI4BY,EAJQpJ,EAAQ,SAIKoJ,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,GAHnFozB,EAAYx8B,EAAQ,OACpBiJ,EAAcjJ,EAAQ,OACpBkJ,EAAY,CAAC,YAAa,WAAY,WAAY,QAAS,aAAc,UAAW,aAAc,QAAS,UAEjH,SAASG,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAAS68B,EAAan7B,GACpB,IACI1S,EASE0S,EATF1S,UACA6Z,EAQEnH,EARFmH,SACAsS,EAOEzZ,EAPFyZ,SACAvsB,EAME8S,EANF9S,MACA6rC,EAKE/4B,EALF+4B,WACAx9B,EAIEyE,EAJFzE,QACAqnB,EAGE5iB,EAHF4iB,WACAj2B,EAEEqT,EAFFrT,MACAgG,EACEqN,EADFrN,OAEFuZ,EAAO1M,EAAyBQ,EAAMvC,GAClC29B,EAAgB7/B,EAAQ9R,MAAK,SAAAwM,GAAI,OAAIA,EAAKtO,QAAUukB,EAAKvkB,KAAK,IAC9D8d,EAAiC,OAAlB21B,QAA4C,IAAlBA,OAA2B,EAASA,EAAcvwC,MACjG,OAAoB,EAAI2S,EAAYiD,MAAMswB,EAAUmI,YAAa,CAC/DvmC,OAAQA,EACRrF,UAAWA,EACXX,MAAOA,EACPxF,SAAU,EAAc,EAAIqW,EAAYmD,KAAKowB,EAAUsK,WAAY,CACjEl0C,SAAU,GAAGgf,OAAOjZ,GAAOiZ,OAAOsT,EAAW,IAAM,OACpC,EAAIjc,EAAYiD,MAAMswB,EAAUuK,OAAQj9B,EAAcA,EAAc,CACnF8I,SAAUA,EACVld,OAAoB,EAAIuT,EAAYmD,KAAKowB,EAAUwK,cAAe,CAChE91B,aAAcA,EACdzX,GAAI,CACFQ,KAAM,GAERirB,SAAUA,EACVvsB,MAAOA,EACP61B,WAAY,CACVpwB,OAAAA,KAGJoU,YAAa,SAAAC,GACX,GAAIG,EACF,OAAoB,EAAI3J,EAAYmD,KAAKowB,EAAUpjC,IAAK,CACtDK,GAAI,CACFJ,QAAS,OACTwZ,SAAU,OACVC,IAAK,IAEPlgB,SAAU6f,EAASrc,KAAI,SAAAhD,GACrB,IAAM8xC,EAASl+B,EAAQ9R,MAAK,SAAAwM,GAAI,OAAIA,EAAKtO,QAAUA,CAAK,IACxD,OAAO8xC,GAAUA,EAAO5uC,QAAsB,EAAI2S,EAAYmD,KAAKowB,EAAUyK,KAAM,CACjFppC,KAAM,QACNlF,MAAOusC,EAAO5uC,OACblD,EACL,MAGJ,IAAM8xC,EAASl+B,EAAQ9R,MAAK,SAAAwM,GAAI,OAAIA,EAAKtO,QAAUqf,CAAQ,IAC3D,OAAOyyB,GAAUA,EAAO5uC,QAAsB,EAAI2S,EAAYiD,MAAMswB,EAAUpjC,IAAK,CACjFxG,SAAU,EAAc,EAAIqW,EAAYmD,KAAKowB,EAAUqC,WAAY,CACjEjhC,UAAW,OACXhL,SAAUsyC,EAAO5uC,SACF,EAAI2S,EAAYmD,KAAKowB,EAAUqC,WAAY,CAC1D/gC,WAAY,EACZF,UAAW,OACXpC,QAAS,QACThC,MAAO,iBACP5G,SAAUsyC,EAAO7uC,gBAGvB,GACCshB,GAAO,CAAC,EAAG,CACZ/kB,SAAU,EAAc,EAAIqW,EAAYmD,KAAKowB,EAAU0K,SAAU,CAC/Dp6B,UAAU,EACVla,UAAuB,EAAIqW,EAAYmD,KAAK,KAAM,CAChDxZ,SAAU4xC,OAET5xB,IAAyB,EAAI3J,EAAYmD,KAAKowB,EAAU0K,SAAU,CACrE9zC,MAAO,GACPR,SAAU,SACRoU,EAAQ5Q,KAAI,SAAA8uC,GAAM,OAAIA,GAAUA,EAAO9xC,QAAsB,EAAI6V,EAAYiD,MAAMswB,EAAU0K,SAAU,CACzG9zC,MAAO8xC,EAAO9xC,MACdR,SAAU,EAAc,EAAIqW,EAAYmD,KAAKowB,EAAU2K,aAAc,CACnEv0C,SAAUsyC,EAAO5uC,QACf4uC,EAAO7uC,cAA4B,EAAI4S,EAAYmD,KAAKowB,EAAUqC,WAAY,CAChFrjC,QAAS,QACThC,MAAO,iBACP5G,SAAUsyC,EAAO7uC,gBAElB6uC,EAAO9xC,MAAM,SACA,EAAI6V,EAAYmD,KAAKowB,EAAU4K,eAAgB,CAC/Dx0C,SAAUy7B,MAGhB,CACAuY,EAAax5B,UAAY,CACvBhV,MAAOoQ,EAAW3H,QAAQwb,KAC1B6I,SAAU1c,EAAW3H,QAAQwb,KAC7BzJ,SAAUpK,EAAW3H,QAAQwb,KAC7BtjB,UAAWyP,EAAW3H,QAAQwb,KAC9B1jB,MAAO6P,EAAW3H,QAAQmd,OAC1BwmB,WAAYh8B,EAAW3H,QAAQmd,OAC/BhX,QAASwB,EAAW3H,QAAQwM,MAC5BghB,WAAY7lB,EAAW3H,QAAQmd,OAC/B5f,OAAQoK,EAAW3H,QAAQmd,QAE7B4oB,EAAa7uC,aAAe,CAC1BK,OAAO,EACP8sB,UAAU,EACVtS,UAAU,EACV7Z,WAAW,EACXJ,MAAO,GACP6rC,WAAY,GACZx9B,QAAS,GACTqnB,WAAY,GACZjwB,OAAQ,IAEV,IAAI+3B,EAAWyQ,EACfxnC,EAAAA,QAAkB+2B,C,qCClIL,uBAEbj3B,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBioC,EAClB,IAkBI/+B,EAlBAC,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C0I,EAAUD,EAAuBzI,EAAQ,QACzCwO,EAAWxO,EAAQ,OACnB8N,EAAarF,EAAuBzI,EAAQ,QAC5C6I,EAAYJ,EAAuBzI,EAAQ,QAC3CqO,EAAYrO,EAAQ,OACpB0O,EAAUjG,EAAuBzI,EAAQ,QACzCsnC,EAAiB7+B,EAAuBzI,EAAQ,QAChDkX,EAAczO,EAAuBzI,EAAQ,QAC7C8W,EAAmBrO,EAAuBzI,EAAQ,QAClDunC,EAAavnC,EAAQ,OACrB4O,EAAQ5O,EAAQ,OAChB2T,EAAY3T,EAAQ,OACpB03B,EAAOjvB,EAAuBzI,EAAQ,QACtCwnC,EAAQ/+B,EAAuBzI,EAAQ,QACvCuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASi+B,EAAY57B,GACnB,IACY2oB,EAIR3oB,EAJFlO,SACApF,EAGEsT,EAHFtT,QACAvF,EAEE6Y,EAFF7Y,SACAm6B,EACEthB,EADFshB,MAGA90B,GACE,EAAIuW,EAAStW,oBADfD,EAEF,GAGI,EAAI2W,EAAMiC,kBAFNtY,EAAQ,EAAd1E,KACAykB,EAAS,EAATA,UAGAjkB,GACE,EAAIsf,EAAUrf,sBADhBD,SAEF,GAAwB,EAAIkU,EAAOhU,WAAU,GAAM,SAA5CqX,EAAI,KAAE67B,EAAO,KACdC,GAAiB,EAAIn/B,EAAOigB,QAAQ,MACpCmf,EAAarvB,EAAYivB,EAAWK,2BAA6BL,EAAWM,yBAClF,GAAgC,EAAI/wB,EAAiBjW,SAAS8mC,GAAW,SAAlEza,EAAQ,KAAE4a,EAAW,KAC5B,GAGI,EAAIv5B,EAAMic,cAAc,CAC1BC,aAAcnS,EACdjkB,SAAAA,EACAkE,SAAAA,IALAmyB,EAAS,EAATA,UACAx2B,EAAO,EAAPA,QAMI+4B,EAAkBC,GAAYxC,EAAUx1B,MAAK,SAAAC,GAAC,OAAI+3B,IAAa/3B,EAAEqN,GAAG,KAAKkoB,EAAU,GACnF/B,EAAmBpwB,EAASpF,OAASkb,EAAUua,WAAWC,WAChE,OAAoB,EAAI5f,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,EAAc,EAAIqW,EAAYiD,MAAM67B,EAAkB,CAC9Dn1C,SAAU,EAAc,EAAIqW,EAAYmD,KAAKsC,EAAQ7N,QAAS,CAC5D4kB,IAAKiiB,EACLluC,MAAO,YACP,UAAW,6BACXwuC,SAAsB,EAAI/+B,EAAYmD,KAAKk7B,EAAezmC,QAAS,CACjErH,MAAO,cAETK,QAAS,WACP4tC,GAAQ,EACV,EACA3tC,MAAO,CACLI,QAAS,SAEXtH,UAAuB,EAAIqW,EAAYmD,KAAK8K,EAAYrW,QAAS,CAC/DrH,MAAO,YACP5G,SAAUq6B,EAAgBh3B,UAEb,EAAIgT,EAAYmD,KAAK8K,EAAYrW,QAAS,CACzDrH,MAAO,YACP5G,SAAUm6B,QAEG,EAAI9jB,EAAYiD,MAAM4B,EAAWjN,QAAS,CACzDsE,GAAI,sBACJmN,QAAQ,EACR8b,aAAc,MACd5yB,QAAS,WACTvF,KAAM,MACNo4B,WAAYp2B,EAAE,wCACd,UAAW,4BACXc,WAAW,EACX3F,MAAO65B,EACP7a,WAAW,EACX7U,SAAU,SAAAuO,GACR,IAAMm8B,EAAcn8B,EAAE/B,OAAO3W,MAC7B00C,EAAYG,EAAYzlC,KACxB4xB,EAAU6T,EACZ,EACA11B,YAAa,CACX3G,KAAAA,EACAs8B,UAAW,CACTx8B,SAAUg8B,EAAepqC,SAE3BkV,YAAa,SAAA9Q,GACX,OAAgB,OAATA,QAA0B,IAATA,OAAkB,EAASA,EAAKzL,IAC1D,EACA4V,QAAS,WACP47B,GAAQ,EACV,GAEF3tC,MAAO,CACLT,QAAS,QAEX+E,OAAQ,SACRxL,SAAU,CAAe,OAAd83B,QAAoC,IAAdA,OAAuB,EAASA,EAAUt0B,KAAI,SAAAjB,GAC7E,OAAoB,EAAI8T,EAAYmD,KAAKvD,EAAUhI,QAAS,CAC1DzN,MAAO+B,EACP,UAAWA,EAAEqN,IACb5P,UAAuB,EAAIqW,EAAYmD,KAAKo7B,EAAM3mC,QAAS,CACzD3M,QAASA,EACTukC,MAAOtjC,EACPgzC,SAAU,WAEN,IAAIC,EADFlb,IAAa/3B,EAAEqN,KAEjBslC,EAA6C,QAAhCM,EAAc1d,EAAU,UAAgC,IAAhB0d,OAAyB,EAASA,EAAY5lC,IAEvG,KAEDrN,EAAEqN,IACP,KAAKmmB,IAAiC,EAAI1f,EAAYmD,KAAKsrB,EAAK72B,QAAS,CACvEiM,SAAU3U,EACVuyB,UAAWA,EACXx2B,QAASA,EACT2oB,MAAO,SAAAra,GACLslC,EAAYtlC,EACd,OAEA5P,EAAS,CACXq6B,gBAAAA,MAGN,CACAoa,EAAYj6B,UAAY,CACtB7P,SAAUiL,EAAW3H,QAAQsb,KAC7BhkB,QAASqQ,EAAW3H,QAAQwb,KAC5BzpB,SAAU4V,EAAW3H,QAAQqS,IAAID,WACjC8Z,MAAOvkB,EAAW3H,QAAQ7M,MAE5BqzC,EAAYtvC,aAAe,CACzBwF,SAAU,WAAO,EACjBpF,SAAS,EACT40B,MAAO,IAET,IA9HgCzf,EAASC,EA8HnCw6B,EAAmBr/B,EAAQ7H,QAAQ2M,IAAIlF,IA9HbgF,EA8H0E,CAAC,uJAAwJ,uCA9H9MC,IAAOA,EAAMD,EAAQ1K,MAAM,IA8Hf0F,EA9H4BpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SA8HmI,SAAA5V,GAAK,OAAIA,EAAM+G,MAAM+S,QAAQ+e,OAAO6X,KAAK,G,qCCxJzU,6DAEbnpC,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAiIA,SAAwCzH,GAItC,IADI,EAAIiX,EAAMiC,kBADZyH,UAGA,OAAoB,EAAIrP,EAAYmD,KAAKk8B,EAA2Bx+B,EAAc,CAAC,EAAGnS,IAExF,OAAoB,EAAIsR,EAAYmD,KAAKm8B,EAA0Bz+B,EAAc,CAAC,EAAGnS,GACvF,EAxIA,IAYI2Q,EAZAC,EAASvI,EAAQ,OACjB0I,EAAUD,EAAuBzI,EAAQ,QACzCwI,EAAaC,EAAuBzI,EAAQ,QAC5C+N,EAAOtF,EAAuBzI,EAAQ,QACtCwO,EAAWxO,EAAQ,OACnBykB,EAAehc,EAAuBzI,EAAQ,OAC9C+O,EAAStG,EAAuBzI,EAAQ,QACxCwoC,EAAiB//B,EAAuBzI,EAAQ,QAChD4O,EAAQ5O,EAAQ,OAChBoyB,EAAcpyB,EAAQ,OACtBuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAEpBkJ,EAAY,CAAC,WAAY,YAAa,iBAC5C,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAAS0+B,EAAiBh9B,GACxB,IACIpX,EAGEoX,EAHFpX,SACAoc,EAEEhF,EAFFgF,UACAzS,EACEyN,EADFzN,cAEF2Z,EAAO1M,EAAyBQ,EAAMvC,GAEtCjR,GACE,EAAIuW,EAAStW,oBADfD,EAGA5E,GACE,EAAIub,EAAMiC,kBADZxd,IAEIy9B,GAAUrgB,EAAU/U,OACpBq1B,EAAY18B,EAAS28B,QACrB1G,EAAUwG,EAASz8B,EAAS0C,KAAKjD,IAAM2c,EAAUra,KAAI,SAAAjB,GAAC,OAAIA,EAAE4B,KAAKjD,GAAG,IAAE,GAC5E,GAA8B,EAAIyU,EAAOhU,UAAU,IAAG,SAA/C4D,EAAO,KAAE6Y,EAAU,KAC1B,GAAwD,EAAIzI,EAAOhU,UAAU,IAAG,SAAzEizB,EAAoB,KAAEC,EAAuB,KAE9C3a,GADQ,EAAIyB,EAAMqlB,eAAev/B,IACb8D,IAAY6F,EACtC,IAAKssB,EACH,OAAO,KAET,GAAwB,YAApBj2B,EAAS+G,SAAwB,EAAImT,EAAMpT,cAAc9G,EAAS+G,QACpE,OAAO,KAET,IAAMstC,EAAa,6BAAG,WAAMt1C,GAAK,iEAGX,OAFpB4d,GAAW,GAAM,SAEfA,GAAW,GAAO,SACZ3d,EAAIs1C,qBAAqB,CAC7BjzC,MAAO,CACL40B,QAAAA,EACAx2B,IAAKO,EAAS0C,KAAKjD,IACnBwC,MAAOlD,KAET,8BAIgC,MAJhC,yBAEF4d,GAAW,GACX,KAAIxa,SAAU,EAAI+X,EAAM5U,aAAa,EAAF,IACnCoV,EAAOlO,QAAQzI,MAAM,KAAI5B,SAAS,8DAGrC,gBAjBkB,sCAkBboyC,EAAkB,6BAAG,WAAMx1C,GAAK,uEASjC,OARH4d,GAAW,GAAM,SAETtb,EAAQ,CACZ40B,QAAAA,EACAzyB,YAAY,EAAI4sB,EAAa5jB,SAASzN,IAEnC09B,IACHp7B,EAAM5B,IAAMO,EAAS0C,KAAKjD,KAC3B,SACKT,EAAIw1C,0BAA0B,CAClCnzC,MAAAA,IACA,OACgB,OAAlBsb,GAAW,GAAO,mBACX,GAAI,QAIuB,MAJvB,0BAEXA,GAAW,GACX,KAAIxa,SAAU,EAAI+X,EAAM5U,aAAa,EAAF,IACnCoV,EAAOlO,QAAQzI,MAAM,KAAI5B,SAAS,+DAGrC,gBArBuB,sCA2BxB,OAAoB,EAAIyS,EAAYmD,KAAKD,EAAKrC,EAAcA,EAAc,CACxElM,UAAW,OACV+Z,GAAO,CAAC,EAAG,CACZ/kB,UAAuB,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CACzDzE,GAAI,EACJxJ,SAAU,CAACm+B,IAA0B,EAAI9nB,EAAYmD,KAAKo8B,EAAe3nC,QAAS,CAChFlI,MAAOV,EAAE,gBACT6B,MAAO,CACLkoB,WAAY,IAEdlV,SAAU3U,GAAW2U,EACrB3U,QAASA,EACT+sB,UAAU,EACV4jB,aAAcz0C,EAAS0C,KAAKT,MAC5ByyC,SAAUL,KACK,EAAIz/B,EAAYmD,KAAKo8B,EAAe3nC,QAAS,CAC5DlI,MAAOV,EAAE,iCACT6B,MAAO,CACLkoB,WAAY,IAEdlV,SAAU3U,GAAW2U,EACrB3U,QAASA,EACT+sB,UAAU,EACV4jB,aAAcz0C,EAASwD,WACvBkxC,SAAUH,EACVrrC,SA9ByB,SAAAnK,GAC7Bq0B,EAAwBxvB,EAAE,qBAAsB,CAC9C7E,OAAO,EAAImb,EAAMkgB,kBAAkBr7B,KAEvC,EA2BMi7B,WAAY7G,EACZwhB,sBAAuB,SAAA51C,GAAK,OAAI,EAAIqxB,EAAa5jB,SAASzN,EAAM,SAIxE,CACA,IAAMm1C,GAA2B,EAAInW,EAAY6W,gBAAgBR,EAAkB,oBAC7EH,GAA4B,EAAIlW,EAAY6W,gBAAgBR,EAAkB,GAAIl6B,EAAMolB,oBAU9F8U,EAAiBr7B,UAAY,CAC3B/Y,SAAUmU,EAAW3H,QAAQyI,OAAO2J,WACpCxC,UAAWjI,EAAW3H,QAAQwM,MAC9BrP,cAAewK,EAAW3H,QAAQwb,MAEpCosB,EAAiB1wC,aAAe,CAC9B0Y,UAAW,GACXzS,eAAe,GAEjB,IAnIgCsP,EAASC,EAmInCpB,EAAMzD,EAAQ7H,QAAQ2M,IAAIlF,IAnIAgF,EAmI6D,CAAC,IAnIzCC,IAAOA,EAAMD,EAAQ1K,MAAM,IAmI5B0F,EAnIyCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,Q,oCCnB1KrO,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,aAAkB,EAClB,IAAImJ,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5CkpC,EAAqBlpC,EAAQ,OAC7BmpC,EAAoC1gC,EAAuBzI,EAAQ,QACnEu8B,EAAUv8B,EAAQ,OAClBigC,EAAYx3B,EAAuBzI,EAAQ,QAC3CopC,EAAW3gC,EAAuBzI,EAAQ,QAC1CwO,EAAWxO,EAAQ,OACnBw8B,EAAYx8B,EAAQ,OACpBqpC,EAAwBrpC,EAAQ,OAChCspC,EAAYtpC,EAAQ,OACpBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAASmgC,EAAa99B,GACpB,IACE+9B,EAEE/9B,EAFF+9B,SACAC,EACEh+B,EADFg+B,SAEIC,EAAUF,EAAS9tC,OACnBiuC,EAAUF,EAAS/tC,OACzB,QAAIguC,IAAYC,KACV,EAAIP,EAASvoC,SAAS2oC,EAAS5mC,MAAM,EAAG8mC,EAAU,GAAID,EAAS7mC,MAAM,EAAG+mC,EAAU,IAK1F,CACA,SAASC,EAAU72B,GACjB,IACE82B,EACE92B,EADF82B,SAGAj5B,GACE,EAAIpC,EAAStW,oBADf0Y,OA8BF,OAAoB,EAAI3H,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,CAACi3C,EAASl9B,OAAqB,EAAI1D,EAAYmD,KAAKmwB,EAAQ+B,KAAM,CAC1ExkC,MAAO,CACLJ,YAAa,GAEfiT,KAAMk9B,EAASl9B,OAjCnB,WACE,IACErW,EAEEuzC,EAFFvzC,MACA+oC,EACEwK,EADFxK,SAEEyK,EAAYxzC,EACZyzC,EAAe1K,EAOnB,OANI,EAAIY,EAAUp/B,SAASvK,KACzBwzC,EAAYxzC,EAAMsa,MAED,EAAIrI,EAAO7K,gBAAgB2hC,KAAa,EAAIY,EAAUp/B,SAASw+B,KAChF0K,EAAe1K,EAASzuB,KAEN,EAAI3H,EAAYiD,MAAMswB,EAAUpjC,IAAK,CACvDC,QAAS,OACTC,WAAY,SACZ1G,SAAU,EAAc,EAAIqW,EAAYmD,KAAKowB,EAAUqC,WAAY,CACjErjC,QAAS,YACT+V,SAAU,GACV3e,SAAUk3C,IACRzK,IAAyB,EAAIp2B,EAAYmD,KAAKowB,EAAUqC,WAAY,CACtErjC,QAAS,QACThC,MAAO,OACP6c,GAAI,IACJzjB,SAAUm3C,MAGhB,CAOMC,KAER,CAIA,SAASC,EAAa5pB,GACpB,IACE6pB,EAGE7pB,EAHF6pB,SACAC,EAEE9pB,EAFF8pB,YACAC,EACE/pB,EADF+pB,cAEIC,EAAeH,EAAS9zC,KAAI,SAAAsL,GAAI,OAAIoI,EAAcA,EAAc,CAAC,EAAGpI,GAAO,CAAC,EAAG,CACnF4oC,UAAU,GACV,IAGIC,EAAW,CAAC,EAIlB,MAHsB,qBAAXx3C,SACTw3C,EAASC,QAAUz3C,SAED,EAAIkW,EAAYmD,KAAKk9B,EAAUmB,YAAa3gC,EAAcA,EAAc,CAC1F4gC,QAASrB,EAAsBsB,cAC9BJ,GAAW,CAAC,EAAG,CAChB33C,UAAuB,EAAIqW,EAAYmD,KAAK88B,EAAmB0B,8BAA+B,CAC5FC,kBAAmB,SAAAC,GACjB,MAAO,CACLC,QAASX,EAAc,CACrBnzC,KAAM6zC,EAAQ92C,KACdgG,UAAW,sBAEb26B,OAAoB,EAAI1rB,EAAYmD,KAAKmwB,EAAQ+B,KAAM,CACrD3xB,KAAM,4BAERrW,OAAoB,EAAI2S,EAAYmD,KAAKw9B,EAAW,CAClDC,SAAUiB,EAAQ92C,OAGxB,EACAg3C,SAAU,EACVC,eAAe,EACff,SAAUG,EACV9sC,SAAU4sC,EACVe,QAAS3B,EACT7qC,MAAOyqC,EAAkCtoC,YAG/C,CA5CA+oC,EAAUx8B,UAAY,CACpBy8B,SAAUrhC,EAAW3H,QAAQyI,OAAO2J,YA4CtCg3B,EAAa78B,UAAY,CACvB88B,SAAU1hC,EAAW3H,QAAQyI,OAAO2J,WACpCk3B,YAAa3hC,EAAW3H,QAAQsb,KAChCiuB,cAAe5hC,EAAW3H,QAAQsb,MAEpC8tB,EAAalyC,aAAe,CAC1BoyC,YAAa,WAAO,EACpBC,cAAe,WAAO,GAExB,IAAIjU,EAAW8T,EACf7qC,EAAAA,QAAkB+2B,C,qCCzIL,6DAEbj3B,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB+rC,EAClB,IAgBI7iC,EAhBAC,EAASvI,EAAQ,OACjB0I,EAAUD,EAAuBzI,EAAQ,QACzCwI,EAAaC,EAAuBzI,EAAQ,QAC5CyiB,EAAWha,EAAuBzI,EAAQ,QAC1C4iB,EAAQna,EAAuBzI,EAAQ,QACvCorC,EAAiBprC,EAAQ,MACzBqrC,EAAsBrrC,EAAQ,OAC9BsrC,EAAQ7iC,EAAuBzI,EAAQ,QACvCwO,EAAWxO,EAAQ,OACnBurC,EAUJ,SAAiCniC,EAAK2K,GAAe,IAAKA,GAAe3K,GAAOA,EAAInK,WAAc,OAAOmK,EAAO,GAAY,OAARA,GAA+B,kBAARA,GAAmC,oBAARA,EAAsB,MAAO,CAAEvI,QAASuI,GAAS,IAAI4K,EAAQC,EAAyBF,GAAc,GAAIC,GAASA,EAAME,IAAI9K,GAAQ,OAAO4K,EAAMG,IAAI/K,GAAQ,IAAIgL,EAAS,CAAC,EAAOC,EAAwBnV,OAAOC,gBAAkBD,OAAOyK,yBAA0B,IAAK,IAAIvU,KAAOgU,EAAO,GAAY,YAARhU,GAAqB8J,OAAOqM,UAAU+I,eAAe7J,KAAKrB,EAAKhU,GAAM,CAAE,IAAImf,EAAOF,EAAwBnV,OAAOyK,yBAAyBP,EAAKhU,GAAO,KAAUmf,IAASA,EAAKJ,KAAOI,EAAKC,KAAQtV,OAAOC,eAAeiV,EAAQhf,EAAKmf,GAAgBH,EAAOhf,GAAOgU,EAAIhU,EAAQ,CAAIgf,EAAOvT,QAAUuI,EAAS4K,GAASA,EAAMQ,IAAIpL,EAAKgL,GAAW,OAAOA,CAAQ,CAVnxBK,CAAwBzU,EAAQ,QAC5C2O,EAAoBlG,EAAuBzI,EAAQ,KACnD0O,EAAUjG,EAAuBzI,EAAQ,QACzCuO,EAAQvO,EAAQ,MAChB+O,EAAStG,EAAuBzI,EAAQ,QACxC8O,EAAS9O,EAAQ,OACjBiJ,EAAcjJ,EAAQ,OAEpBkJ,EAAY,CAAC,oBAAqB,qBAAsB,WAAY,uBAAwB,eAClG,SAAS+K,EAAyBF,GAAe,GAAuB,oBAAZW,QAAwB,OAAO,KAAM,IAAIC,EAAoB,IAAID,QAAeE,EAAmB,IAAIF,QAAW,OAAQT,EAA2B,SAAkCF,GAAe,OAAOA,EAAca,EAAmBD,CAAmB,GAAGZ,EAAc,CAE9U,SAAStL,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,IAAMyhC,EAAiB,SAACz0C,EAAMO,GAC5B,OAAO,EAAImrB,EAAS5hB,SAASvJ,EAAU,cAAcsa,OAAO7a,EAAKjD,KACnE,EACM23C,EAAoB,SAAAhgC,GACxB,IACEpX,EAGEoX,EAHFpX,SACAq3C,EAEEjgC,EAFFigC,UACAt4C,EACEqY,EADFrY,MAEF,OAAIiB,EAASs3C,WACJt3C,EAASs3C,WAAWD,GAEtBt4C,CACT,EAEA,SAASw4C,EAAa74B,GACpB,IAFsBhc,EAGpB1C,EAIE0e,EAJF1e,SACA22B,EAGEjY,EAHFiY,UACAmC,EAEEpa,EAFFoa,kBACA71B,EACEyb,EADFzb,SAGAW,GACE,EAAIuW,EAAStW,oBADfD,EAEIynB,GAAU,EAAI+C,EAAS5hB,SAASvJ,GAAU,EAAIwX,EAAO+8B,wBAAwBx3C,EAASP,IAAKO,EAASyrB,MAAQ,KAClH,GAA8B,EAAIvX,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAQpB86B,GApBgB/0C,EAoBS1C,GApBI41B,UAA+C,KAApC,EAAI1b,EAAMme,gBAAgB31B,GAoB7BkB,EAAE,mBAAqBA,EAAE,6BAC9DoiB,EAAQ,6BAAG,WAAMvO,GAAC,iEAIH,OAHnBA,EAAEE,iBACFF,EAAEC,kBAAkB,SAElBiF,GAAW,GAAM,SACXmc,EAAkB,CACtBp2B,KAAM1C,EACNiyB,YAAahvB,EACb0zB,UAAAA,IACA,uDAEFjc,EAAOlO,QAAQzI,MAAM,KAAI5B,SAAS,QAEhB,OAFgB,UAElCwa,GAAW,GAAO,4EAErB,gBAfa,sCAgBd,OAAoB,EAAI/H,EAAYmD,KAAKwW,EAAM/hB,QAAS,CACtDuU,KAAMo2B,EAAen3C,EAAUiD,GAC/BwC,MAAO,CACLN,MAAO,UACPO,eAAgB,QAElBF,QA9BkB,SAAAiS,GAClB,QAAKA,EAAEQ,cAAcy/B,SAASjgC,EAAE/B,UAC9B+B,EAAEE,kBACK,EAGX,EAyBEjC,OAAQ,SACRnX,UAAuB,EAAIqW,EAAYmD,KAAK4/B,EAAgB,CAC1D11C,MAAOm1C,EAAkB,CACvBp3C,SAAAA,EACAq3C,UAAW,QACXt4C,MAAOiB,EAASiC,OAASjC,EAAS4B,OAEpCnC,IAAKO,EAASP,IACduC,YAAao1C,EAAkB,CAC7Bp3C,SAAAA,EACAq3C,UAAW,cACXt4C,MAAOiB,EAASgC,cAElB41C,MAAO53C,EAASyrB,KAAOJ,EAAU,GACjC3rB,QAASM,EAASN,QAClBm4C,QAAqB,EAAIjjC,EAAYmD,KAAK,MAAO,CAC/CtS,MAAO,CACLT,QAAS,OACTC,WAAY,UAEd1G,UAAuB,EAAIqW,EAAYmD,KAAKm/B,EAAUY,aAAc,CAClEv5C,UAAuB,EAAIqW,EAAYmD,KAAKsC,EAAQ7N,QAAS,CAC3DhH,QAASwgB,EACTxc,KAAM,QACNiP,SAAU3U,EACVqD,QAAS,WACThC,MAAO,UACP,UAAW,mBACX5G,SAAUuF,GAAuB,EAAI8Q,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC3Evf,SAAU,EAAc,EAAIqW,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACtEhD,KAAM,GACN/D,MAAO,CACLJ,YAAa,KAEboyC,KACDA,GACJz3C,EAASP,YAKtB,CAYA,SAASq3C,EAAa9qB,GACpB,IACI8M,EAKE9M,EALF8M,kBACAif,EAIE/rB,EAJF+rB,mBACAlf,EAGE7M,EAHF6M,SACAE,EAEE/M,EAFF+M,qBACAM,EACErN,EADFqN,YAEF/V,EAAO1M,EAAyBoV,EAAOnX,GAEvC0H,GACE,EAAIpC,EAAStW,oBADf0Y,OAEF,GAA8B,EAAIrI,EAAOhU,UAAU,CAAC,GAAE,SAA/C83C,EAAO,KAAEC,EAAU,KAIpBh1C,EAAW41B,EAIjB,OAHA,EAAI3kB,EAAOzR,YAAW,WACpBw1C,EAAW,CAAC,EACd,GAAG,CAACh1C,KACgB,EAAI2R,EAAYmD,KAAKi/B,EAAoBjxC,cAAe,CAC1EC,kBAAmB+wC,EAAe9wC,cAClCC,UAAW,CAACjD,GACZ1E,UAAuB,EAAIqW,EAAYmD,KAAK,MAAOtC,EAAcA,EAAc,CAAC,EAAG6N,GAAO,CAAC,EAAG,CAC5F/kB,UAAuB,EAAIqW,EAAYmD,KAAKk/B,EAAMzqC,QAAS,CACzD0rC,eAAgB,SAAAC,GACd,IAAMz0C,EAAe+R,EAAcA,EAAc,CAAC,EAAG0iC,GAAsB,CAAC,EAAG,CAC7Erf,kBAAAA,EACA71B,SAAAA,IAEF,OAAO81B,EAAqBtjB,EAAcA,EAAc,CAAC,EAAG0iC,GAAsB,CAAC,EAAG,CACpFjf,eAA4B,EAAItkB,EAAYmD,KAAKw/B,EAAc9hC,EAAc,CAAC,EAAG/R,MAErF,EACA00C,YAAY,EACZn1C,SAAUA,EACVsZ,OAAQA,EACR87B,eAxBe,SAAAC,GACnBL,EAAWK,EACb,EAuBMC,eAAgBR,EAChBC,QAASA,EACT3e,YAAaA,QAIrB,CAvDAke,EAAax+B,UAAY,CACvB/Y,SAAUmU,EAAW3H,QAAQyI,OAAO2J,WACpC+X,UAAWxiB,EAAW3H,QAAQwM,MAC9B8f,kBAAmB3kB,EAAW3H,QAAQsb,KACtC7kB,SAAUkR,EAAW3H,QAAQmd,QAE/B4tB,EAAa7zC,aAAe,CAC1Bo1B,kBAAmB,KACnB71B,SAAU,GACV0zB,UAAW,IA+CbmgB,EAAa/9B,UAAY,CACvB8f,SAAU1kB,EAAW3H,QAAQmd,OAAO/K,WACpCka,kBAAmB3kB,EAAW3H,QAAQsb,KACtCiwB,mBAAoB5jC,EAAW3H,QAAQsb,KACvCiR,qBAAsB5kB,EAAW3H,QAAQsb,KACzCuR,YAAallB,EAAW3H,QAAQsb,MAElCgvB,EAAapzC,aAAe,CAC1Bo1B,kBAAmB,KACnBif,mBAAoB,KACpBhf,qBAAsB,KACtBM,iBAAa3wB,GAEf,IAjLgCuQ,EAASC,EAiLnCy+B,GAAiB,EAAItjC,EAAQ7H,SAAS0qC,EAAU1qC,QAA/B,CAAwCyH,IAjL/BgF,EAiL4F,CAAC,mCAAoC,YAjL5GC,IAAOA,EAAMD,EAAQ1K,MAAM,IAiLG0F,EAjLUpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SAiLM,SAAA5V,GAAK,OAAIA,EAAM+G,MAAM+S,QAAQtE,QAAQqV,IAAI,G,uCC5M5M,sCAKbpjB,EAAQ,OAAU,EAClB,IAAImJ,EAASvI,EAAQ,OACjBw8B,EAAYx8B,EAAQ,OACpB6sC,EAAO7sC,EAAQ,OACfu8B,EAAUv8B,EAAQ,OAClBogC,EAAapgC,EAAQ,OACrBq8B,EAAUr8B,EAAQ,OAClByO,EAAUzO,EAAQ,OAClBwO,EAAWxO,EAAQ,OACnB8sC,EAAW9sC,EAAQ,MACnB+sC,EAAgBtkC,EAAuBzI,EAAQ,OAC/CgtC,EAAoBvkC,EAAuBzI,EAAQ,QACnDitC,EAAqBxkC,EAAuBzI,EAAQ,QACpDktC,EAAiBzkC,EAAuBzI,EAAQ,QAChD2T,EAAY3T,EAAQ,OACpBmtC,EAAqB1kC,EAAuBzI,EAAQ,QACpD6O,EAAQ7O,EAAQ,OAChBuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,IAAMgkC,EAAc,CAClBC,MAAO,WAAO,EACdC,OAAQ,WAAO,EACfC,OAAQ,WAAO,EACfC,UAAW,WAAO,EAClBC,cAAe,WAAO,EACtBC,eAAgB,WAAO,GAEnBC,EAAoB,CACxB1Y,OAAQ,SACR5L,OAAQ,SACRukB,OAAQ,cACRC,OAAQ,gBACRC,UAAW,YACXC,eAAgB,kBA0SlB,IAAI5X,EAxSJ,WACE,IACEl+B,GACE,EAAIuW,EAAStW,oBADfD,EAGA5D,GACE,EAAIsf,EAAUrf,sBADhBD,SAEI25C,GAAsB,EAAIzlC,EAAOigB,QAAQ,MAE7C9zB,GACE,EAAIma,EAAMkC,kBADZrc,MAGA4sC,GACE,EAAIlB,EAAWmB,eADjBD,gBAEI2M,GAAY,EAAI5R,EAAQa,aAAa,CACzCgR,aAAa,EACbC,cAAc,EACdC,kBAAkB,EAClBC,SAAU,UAEZ,GAWI,EAAInB,EAAersC,WAVdytC,EAAe,EAAtB1Y,MACAj5B,EAAU,EAAVA,WACA4xC,EAAa,EAAbA,cACAC,EAAkB,EAAlBA,mBACAC,EAAe,EAAfA,gBACAC,EAAmB,EAAnBA,oBACAC,EAAoB,EAApBA,qBACAC,EAAoB,EAApBA,qBACAC,EAAiB,EAAjBA,kBACAC,EAAiB,EAAjBA,kBAEIC,GAAsB,EAAIxmC,EAAOi3B,cAAa,SAAAlqB,GAClD04B,EAAoB1wC,QAAQyhC,IAAI,CAC9B19B,OAAQiU,IACP,SAAC5I,EAAOzV,GACT63C,EAAkB73C,GAClByV,GACF,GACF,GAAG,CAACoiC,IACEE,GAAuB,EAAIzmC,EAAOi3B,cAAa,SAAU5rC,GAC7D,IAAI0hB,EAAStL,UAAUtO,OAAS,QAAsBqB,IAAjBiN,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAClF,OAAQpW,GACN,IAAK,OACHo6C,EAAoB1wC,QAAQ0hC,KAAK1pB,GAAQ,SAAC5I,EAAOzV,GAC/C23C,EAAqB33C,GACrByV,GACF,IACA,MACF,IAAK,SACHkiC,EAAqB,CACnBzpC,GAAImQ,EAAOnQ,GACXK,SAAU8P,EAAO9P,UAEnB,MACF,IAAK,MACHqpC,EAAkBv5B,EAAOnQ,IAI/B,GAAG,CAAC0pC,EAAmBD,IACjBK,GAAuB,EAAI1mC,EAAOi3B,aAAW,YAAE,8EAEpB,OAFoB,SAEjDyO,EAAUC,aAAc,EAAK,SACvBM,EAAmBF,EAAgB3mC,eAAc,OACvD25B,EAAgB,2BAAQ,CACtB9lC,QAAS,YACR,gDAEH8lC,GAA8B,EAAIr4B,EAAYiD,MAAMswB,EAAUpjC,IAAK,CACjExG,SAAU,EAAc,EAAIqW,EAAYmD,KAAKowB,EAAUqC,WAAY,CACjErjC,QAAS,YACT5I,SAAUqF,EAAE,8BACG,EAAIgR,EAAYmD,KAAKowB,EAAUqC,WAAY,CAC1DrjC,QAAS,QACT5I,UAAU,EAAI2b,EAAM5U,aAAa,EAAF,KAAQ,KAAEvB,WAEzC,CACFoD,QAAS,UACR,QAE2B,OAF3B,UAEHyyC,EAAUC,aAAc,EAAM,4EAE/B,CAAC5M,EAAiBgN,EAAgB3mC,cAAesmC,EAAWO,EAAoBv2C,IAC7Ei3C,GAAwB,EAAI3mC,EAAOi3B,aAAW,YAAE,8EAEpB,OAFoB,SAElDyO,EAAUE,cAAe,EAAK,SACxBM,IAAiB,OACvBnN,EAAgB,2BAAQ,CACtB9lC,QAAS,YACR,gDAEH8lC,GAA8B,EAAIr4B,EAAYiD,MAAMswB,EAAUpjC,IAAK,CACjExG,SAAU,EAAc,EAAIqW,EAAYmD,KAAKowB,EAAUqC,WAAY,CACjErjC,QAAS,YACT5I,SAAUqF,EAAE,8BACG,EAAIgR,EAAYmD,KAAKowB,EAAUqC,WAAY,CAC1DrjC,QAAS,QACT5I,UAAU,EAAI2b,EAAM5U,aAAa,EAAF,KAAQ,KAAEvB,WAEzC,CACFoD,QAAS,UACR,QAE4B,OAF5B,UAEHyyC,EAAUE,cAAe,EAAM,4EAEhC,CAAC7M,EAAiB2M,EAAWQ,EAAiBx2C,IAC3Ck3C,GAAkB,EAAI5mC,EAAOi1B,UAAS,WAC1C,MAAO,CACL4R,QAAStlC,EAAcA,EAAc,CAAC,EAAGsjC,GAAc,CAAC,EAAG,CACzDiC,KAAM,CACJv7C,IAAKO,EAAS4xC,OACd5kB,SAAU,eACVjf,KAAM6rC,EAAUI,YAIxB,GAAG,CAACh6C,EAAS4xC,OAAQgI,EAAUI,WAC/B,OAAoB,EAAIplC,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,EAAc,EAAIqW,EAAYmD,KAAKowB,EAAU8S,YAAa,CAClE9zC,QAAS,WACT5I,SAAUsM,OAAOmE,KAAKsqC,GAAmBv3C,KAAI,SAAAhB,GAC3C,OAAoB,EAAI6T,EAAYiD,MAAMswB,EAAU5iC,OAAQ,CAC1D4B,QAAS8yC,EAAgBiB,gBAAkBn6C,EAAM,iBAAc2H,EAC/DlD,QAAS,kBAAM60C,EAAoBt5C,EAAI,EACvCxC,SAAU,CAAC+6C,EAAkBv4C,GAAM,KAAKwc,OAAO28B,EAAcn5C,GAAKsG,OAAQ,OACzEtG,EACL,OACe,EAAI6T,EAAYiD,MAAMswB,EAAUgT,QAAS,CACxDh0C,QAAS,QACT/B,GAAI,CACFg2C,YAAa,iBACbC,aAAc,iBACdtzC,GAAI,GAENxJ,SAAU,EAAc,EAAIqW,EAAYmD,KAAKowB,EAAUqC,WAAY,CACjErjC,QAAS,KACToC,UAAW,MACXnE,GAAI,CACFw/B,SAAU,GAEZrmC,SAAU,YACK,EAAIqW,EAAYmD,KAAKowB,EAAU8S,YAAa,CAC3D9zC,QAAS,WACT5I,UAAuB,EAAIqW,EAAYmD,KAAKygC,EAAK8C,cAAe,CAC9D9xC,KAAM,QACNrC,QAAS,WACThC,MAAO,QACPo2C,WAAwB,EAAI3mC,EAAYmD,KAAKmwB,EAAQ+B,KAAM,CACzD3xB,KAAM,wBAERlT,GAAI,CACF+hC,GAAI,GAENrjC,QAAS81C,EAAUE,aACnB0B,gBAAiB,QACjBh2C,QAAS,WACPo0C,EAAUG,kBAAmB,CAC/B,EACAx7C,SAAU,oBAEG,EAAIqW,EAAYiD,MAAMswB,EAAU8S,YAAa,CAC5D9zC,QAAS,WACT5I,SAAU,EAAc,EAAIqW,EAAYmD,KAAKowB,EAAU5iC,OAAQ,CAC7DiE,KAAM,QACNrC,QAAS,WACTo0C,WAAwB,EAAI3mC,EAAYmD,KAAKmwB,EAAQ+B,KAAM,CACzD3xB,KAAM,aAER9S,QAAS,kBAAMk1C,GAAqB,EACpCn8C,SAAU,kBACK,EAAIqW,EAAYmD,KAAKygC,EAAK8C,cAAe,CACxD9xC,KAAM,QACNrC,QAAS,YACTo0C,WAAwB,EAAI3mC,EAAYmD,KAAKmwB,EAAQ+B,KAAM,CACzD3xB,KAAM,qBAERxU,QAAS81C,EAAUC,YACnB2B,gBAAiB,QACjBh2C,QAASo1C,EACTr8C,SAAU,wBAGC,EAAIqW,EAAYmD,KAAKowB,EAAUsT,MAAO,CACrDt0C,QAAS,WACT/B,GAAI,CACFJ,QAAS,OACT6mB,OAAQ,IACR+P,SAAU,UAEZr9B,UAAuB,EAAIqW,EAAYmD,KAAKowB,EAAUsT,MAAO,CAC3DC,UAAW,EACXt2C,GAAI,CACFQ,KAAM,EACNg2B,SAAU,QAEZr9B,UAAuB,EAAIqW,EAAYmD,KAAK2gC,EAAclsC,QAAS,CACjEqpC,SAAUqE,EAAcD,EAAgBiB,eACxCpF,YAAawE,EACbvE,cAAe,SAAA3+B,GACb,IACExU,EAEEwU,EAFFxU,KACA+C,EACEyR,EADFzR,UAEF,OAAoB,EAAIiP,EAAYmD,KAAK6gC,EAAmBpsC,QAAS,CACnE5J,KAAMA,EACN+C,UAAWA,EACX6H,QAASysC,EAAgBiB,cACzBxQ,IAAK,WACH,OAAOgQ,EAAmB,aAAI/kC,UAChC,EACAk1B,IAAK,WACH,IAAK,IAAI8Q,EAAOhmC,UAAUtO,OAAQu0C,EAAO,IAAI1uC,MAAMyuC,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,GAAQlmC,UAAUkmC,GAEzB,OAAOlB,EAAoB,cAAC,OAAK,OAAKiB,GACxC,EACAjR,KAAM,WACJ,IAAK,IAAImR,EAAQnmC,UAAUtO,OAAQu0C,EAAO,IAAI1uC,MAAM4uC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFH,EAAKG,GAASpmC,UAAUomC,GAE1B,OAAOpB,EAAoB,cAAC,QAAM,OAAKiB,GACzC,EACAhR,OAAQ,WACN,IAAK,IAAIoR,EAAQrmC,UAAUtO,OAAQu0C,EAAO,IAAI1uC,MAAM8uC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFL,EAAKK,GAAStmC,UAAUsmC,GAE1B,OAAOtB,EAAoB,cAAC,UAAQ,OAAKiB,GAC3C,GAEJ,SAGW,EAAIhnC,EAAYiD,MAAMswB,EAAUgT,QAAS,CACxDh0C,QAAS,QACT/B,GAAI,CACFg2C,YAAa,iBACbC,aAAc,iBACdtzC,GAAI,GAENxJ,SAAU,EAAc,EAAIqW,EAAYmD,KAAKowB,EAAUqC,WAAY,CACjErjC,QAAS,KACToC,UAAW,MACXnE,GAAI,CACFw/B,SAAU,GAEZrmC,SAAU,aACK,EAAIqW,EAAYiD,MAAMswB,EAAUmI,YAAa,CAC5DlrC,GAAI,CACF82C,EAAG,EACHrjC,SAAU,KAEZrP,KAAM,QACNjL,SAAU,EAAc,EAAIqW,EAAYmD,KAAKowB,EAAUsK,WAAY,CACjEl0C,SAAU,UACK,EAAIqW,EAAYmD,KAAKowB,EAAUuK,OAAQ,CACtD3zC,MAAO66C,EAAUI,SACjB11C,MAAO,OACP4E,SAAU,SAAAuO,GACRmiC,EAAUI,SAAWviC,EAAE/B,OAAO3W,KAChC,EACAR,SAAU8B,EAAM0B,KAAI,SAAAsL,GAAI,OAAiB,EAAIuH,EAAYmD,KAAKowB,EAAU0K,SAAU,CAChF9zC,MAAOsO,EAAKzL,KACZrD,SAAU8O,EAAKpL,OACdoL,EAAKzL,KAAK,aAGF,EAAIgT,EAAYmD,KAAKowB,EAAUsT,MAAO,CACrDt0C,QAAS,WACT5I,UAAuB,EAAIqW,EAAYmD,KAAK0gC,EAAS0D,eAAe/9C,SAAU,CAC5EW,MAAO+7C,EACPv8C,UAAuB,EAAIqW,EAAYmD,KAAK+gC,EAAmBtsC,QAAS,CACtElE,WAAYA,SAGD,EAAIsM,EAAYmD,KAAK4gC,EAAkBnsC,QAAS,CAC/D4kB,IAAKuoB,EACLnsC,QAASysC,EAAgBiB,cACzBjzC,WAAYgyC,EAAgBhyC,WAC5B0kC,eAAgBsN,EAAgB3mC,iBACjB,EAAIsB,EAAYmD,KAAKqC,EAAQgiC,QAAS,CACrD7kC,KAAMqiC,EAAUG,iBAChB93C,MAAO,qEACPwb,UAAW,WAAF,kBAAE,8FACHo9B,IAAuB,OAC7BjB,EAAUG,kBAAmB,EAAM,2CACpC,kDAHU,GAIX90B,SAAU,WACR20B,EAAUG,kBAAmB,CAC/B,EACAx7C,UAAuB,EAAIqW,EAAYmD,KAAK,IAAK,CAC/CxZ,SAAU,yHAIlB,EAEAwM,EAAQ,EAAU+2B,C,qCCvVL,6DAEbj3B,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAoiBA,SAA2CzH,GAIzC,IADI,EAAIiX,EAAMiC,kBADZyH,UAGA,OAAoB,EAAIrP,EAAYmD,KAAKskC,EAA8B5mC,EAAc,CAAC,EAAGnS,IAE3F,OAAoB,EAAIsR,EAAYmD,KAAKukC,EAA6B7mC,EAAc,CAAC,EAAGnS,GAC1F,EA3iBA,IAiCI2Q,EAjCAC,EAASvI,EAAQ,OACjB0I,EAAUD,EAAuBzI,EAAQ,QACzCwI,EAAaC,EAAuBzI,EAAQ,QAC5C6N,EAAOpF,EAAuBzI,EAAQ,QACtC4/B,EAAQn3B,EAAuBzI,EAAQ,QACvCopC,EAAW3gC,EAAuBzI,EAAQ,QAC1C+N,EAAOtF,EAAuBzI,EAAQ,QACtCiO,EAAYxF,EAAuBzI,EAAQ,QAC3C4wC,EAAUnoC,EAAuBzI,EAAQ,QACzC+W,EAAWtO,EAAuBzI,EAAQ,QAC1Cy2B,EAAOhuB,EAAuBzI,EAAQ,OACtC2I,EAAcF,EAAuBzI,EAAQ,QAC7CoT,EAAW3K,EAAuBzI,EAAQ,QAC1CwO,EAAWxO,EAAQ,OACnB0O,EAAUjG,EAAuBzI,EAAQ,QACzC0T,EAASjL,EAAuBzI,EAAQ,QACxC6wC,EAAYpoC,EAAuBzI,EAAQ,QAC3CqO,EAAYrO,EAAQ,OACpBsO,EAAatO,EAAQ,OACrBuO,EAAQvO,EAAQ,MAChB+O,EAAStG,EAAuBzI,EAAQ,QACxC0kB,EAAcjc,EAAuBzI,EAAQ,QAC7CwoC,EAAiB//B,EAAuBzI,EAAQ,QAChD4O,EAAQ5O,EAAQ,OAChB8O,EAAS9O,EAAQ,OACjBoyB,EAAcpyB,EAAQ,OACtB8wC,EAAkBroC,EAAuBzI,EAAQ,QACjD+wC,EAAgBtoC,EAAuBzI,EAAQ,QAC/CgxC,EAAiBvoC,EAAuBzI,EAAQ,QAChDixC,EAAcxoC,EAAuBzI,EAAQ,QAC7CkxC,EAASzoC,EAAuBzI,EAAQ,QACxCmxC,EAAW1oC,EAAuBzI,EAAQ,QAC1CiJ,EAAcjJ,EAAQ,OAEpBkJ,EAAY,CAAC,WAAY,WAAY,iBACzCC,EAAa,CAAC,SAChB,SAASV,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAASqnC,EAAoB3lC,GAC3B,IAAIoN,EAEAxkB,EAGEoX,EAHFpX,SACA4G,EAEEwQ,EAFFxQ,SACA+C,EACEyN,EADFzN,cAEF2Z,EAAO1M,EAAyBQ,EAAMvC,GAClClV,GAAO,EAAI4a,EAAMiC,kBAErB5Y,GACE,EAAIsQ,EAAO/P,YAAYgW,EAASwJ,eADlC/f,EAEF,GAAgC,EAAIsQ,EAAOhU,UAAU,IAAG,SAAjD88C,EAAQ,KAAEC,EAAW,KAC5B,GAA8B,EAAI/oC,EAAOhU,UAAU,IAAG,SAA/C4D,EAAO,KAAE6Y,EAAU,KACpBzB,IAAe,EAAIhB,EAAMgjC,iBAAiBl9C,GAC1Cm9C,GAA6B,OAAbn9C,QAAkC,IAAbA,GAA4E,QAA5CwkB,EAAqBxkB,EAAS+S,gBAA6C,IAAvByR,OAA9D,EAAuGA,EAAmB24B,cACrL9yC,IAAQ,EAAIuP,EAAUpN,WAC5B,IAAsC,EAAI0H,EAAOhU,UAAU,MAAK,WAAzD6yB,GAAW,MAAEC,GAAc,MAC5Bva,GAAW3U,IAAY6F,EAE3Bsa,GAIEtkB,EAJFskB,UAEE3kB,GAEAK,EAHFR,GACEG,gBAIFG,GACEO,EAAS0C,KADXjD,IAGA2nC,GACEpnC,EADFonC,KAEIgW,IAAU,EAAI3iC,EAAO4iC,aAAsB,OAATjW,SAA0B,IAATA,QAAkB,EAASA,GAAKkW,eACnFC,IAAc,EAAI/jC,EAAKhN,SAASxM,EAAS0C,KAAM,4BAA4B,GAMjF,GALApD,GAAgB0a,EAAUnX,OAAO26C,mBAAmB,SAAAh8C,GAC9C+7C,IACFN,GAAY,EAAIzjC,EAAKhN,SAAShL,EAAK,oBAAqB,IAE5D,KACI,EAAIiZ,EAAO3T,cAAc9G,EAAS+G,QACpC,OAAO,KAIT,IAAM02C,GAAaz9C,EAASY,aAAaC,MAAK,SAAAC,GAAC,MAAc,yBAAVA,EAAEC,GAA8B,IAC7E28C,GAAe19C,EAASY,aAAaC,MAAK,SAAAC,GAAC,MAAc,uBAAVA,EAAEC,GAA4B,IAC7E48C,IAAaD,IAAuC,QAAvBA,GAAa3+C,MAC1C6+C,GAAY59C,EAASY,aAAaC,MAAK,SAAAC,GAAC,MAAc,qBAAVA,EAAEC,GAA0B,IACxE88C,GAAmB79C,EAASY,aAAaC,MAAK,SAAAC,GAAC,MAAc,6BAAVA,EAAEC,GAAkC,IACvF+8C,GAAiB99C,EAASY,aAAaC,MAAK,SAAAC,GAAC,MAAc,2BAAVA,EAAEC,GAAgC,IACnFg9C,GAAoB/9C,EAASY,aAAaC,MAAK,SAAAC,GAAC,MAAc,8BAAVA,EAAEC,GAAmC,IACzFi9C,GAAuBh+C,EAASY,aAAaC,MAAK,SAAAC,GAAC,MAAc,sBAAVA,EAAEC,GAA2B,IACpFk9C,GAAmB,CAAC,CACxBl9C,IAAKkZ,EAAWjZ,0BAA0Bk9C,kBAC1Cl8C,YAAa4B,EAAE,wBACf7E,MAAOiB,EAASY,aAAaC,MAAK,SAAAC,GAAC,MAAc,sBAAVA,EAAEC,GAA2B,IAAEhC,OACrE,CACDgC,IAAKkZ,EAAWjZ,0BAA0Bm9C,yBAC1Cn8C,YAAa4B,EAAE,+BACf7E,MAAOiB,EAASY,aAAaC,MAAK,SAAAC,GAAC,MAAc,6BAAVA,EAAEC,GAAkC,IAAEhC,OAC5E,CACDgC,IAAKkZ,EAAWjZ,0BAA0Bo9C,iBAC1Cp8C,YAAa4B,EAAE,0BACf7E,MAAO6+C,GAAYA,GAAU7+C,MAAQ,IACpC,CACDgC,IAAKkZ,EAAWjZ,0BAA0B0qB,yBAC1C1pB,YAAa4B,EAAE,8BACf7E,MAAO8+C,GAAmBA,GAAiB9+C,MAAQ,IAClD,CACDgC,IAAKkZ,EAAWjZ,0BAA0Bq9C,uBAC1Cr8C,YAAa4B,EAAE,4BACf7E,MAAO++C,GAAiBA,GAAe/+C,MAAQ,IAC9C,CACDgC,IAAKkZ,EAAWjZ,0BAA0Bs9C,0BAC1Ct8C,YAAa4B,EAAE,+BACf7E,MAAOg/C,GAAoBA,GAAkBh/C,MAAQ,IACpD,CACDgC,IAAKkZ,EAAWjZ,0BAA0Bu9C,kBAC1Cv8C,YAAa4B,EAAE,wBACf7E,MAAOi/C,GAAuBA,GAAqBj/C,MAAQ,KAE7D,GAAIw+C,GAAa,CACf,IAAMiB,GAAQx+C,EAAS2b,QAAQ9a,MAAK,SAAAC,GAAC,OAAIA,EAAEC,MAAQkZ,EAAWjZ,0BAA0B09B,qBAAqB,IACvG3/B,GAAQy/C,GAAQA,GAAMz/C,MAAQi+C,EACpCiB,GAAiB32C,KAAK,CACpBvG,IAAKkZ,EAAWjZ,0BAA0B09B,sBAC1C18B,YAAa4B,EAAE,+BACf7E,MAAAA,GACAi+C,SAAAA,GAEJ,CACA,IAAMngC,GAAe,CAAC,EAChB4hC,GAAaR,GAAiBl8C,KAAI,SAAAsL,GAChC,IACFtO,EACEsO,EADFtO,MAEFuE,EAAQsT,EAAyBvJ,EAAMyH,GAEzC,OADA+H,GAAaxP,EAAKtM,KAAOhC,EAClB0W,EAAc,CAAC,EAAGnS,EAC3B,IACMo7C,GAAqB,6BAAG,WAAMjnC,GAAC,+EAC/B3T,EAAS,CAAF,gDAMA,OAHX6Y,GAAW,GAAM,SAGbgC,EACElH,EAAE/B,OADJiJ,QAAO,SAIChf,EAAKX,IAAI2/C,oBAAoB,CACrCt9C,MAAO,CACL5B,IAAKO,EAAS0C,KAAKjD,IACnB09C,cAAex+B,KAEjB,gBANU/b,EAAI,EAAd5C,SAOF4G,EAAShE,GAAM,kDAEf8X,EAAOlO,QAAQzI,MAAM,KAAI5B,SAAS,QAEhB,OAFgB,UAElCwa,GAAW,GAAO,6EAErB,gBAvB0B,sCAwBrBiiC,GAAc,6BAAG,WAAM7/C,GAAK,gFAC5BA,EAAMgC,MAAQkZ,EAAWjZ,0BAA0B09B,sBAAqB,gBAClB,KAAlDC,GAAa,EAAIlkB,EAAOmkB,oBAAoB7/B,IAClC,CAAF,eACqB,OAAjC2b,EAAOlO,QAAQzI,MAAM46B,GAAY,0BAQlB,OAJb1d,EAAS,CAACxL,EAAcA,EAAc,CAAC,GAAG,EAAI81B,EAAM/+B,SAASumB,GAAa,CAAC,WAAY,gBAAiB,oBAAqB,CAAC,EAAG,CACrIh0B,MAAAA,KACC,SAED4d,GAAW,GAAM,UAGPhd,EAAKX,IAAIo/B,eAAe,CAChC/8B,MAAO,CACL5B,IAAKO,EAAS0C,KAAKjD,IACnBkc,QAASsF,KAEX,iBANUre,EAAI,EAAd5C,SAOF4G,EAAShE,GAAM,kDAEf8X,EAAOlO,QAAQzI,MAAM,KAAI5B,SAAS,QAEhB,OAFgB,UAElCwa,GAAW,GAAO,6EAErB,gBA3BmB,sCA4BdkiC,GAAiB,6BAAG,WAAMpnC,GAAC,+EAC3B3T,EAAS,CAAF,gDAMA,OAHX6Y,GAAW,GAAM,SAGbgC,EACElH,EAAE/B,OADJiJ,QAAO,SAIChf,EAAKX,IAAIo/B,eAAe,CAChC/8B,MAAO,CACL5B,IAAKO,EAAS0C,KAAKjD,IACnBkc,QAAS,CAAC,CACR5a,IAAKkZ,EAAWjZ,0BAA0B89C,mBAC1C//C,MAAO4f,EAAU,KAAO,WAG5B,gBATU/b,EAAI,EAAd5C,SAUF4G,EAAShE,GAAM,kDAEf8X,EAAOlO,QAAQzI,MAAM,KAAI5B,SAAS,QAEhB,OAFgB,UAElCwa,GAAW,GAAO,6EAErB,gBA1BsB,sCA2BjBoiC,GAAkB,6BAAG,WAAMhgD,GAAK,6EAChC+E,EAAS,CAAF,gDAGM,OAAjB6Y,GAAW,GAAM,kBAILhd,EAAKX,IAAIo/B,eAAe,CAChC/8B,MAAO,CACL5B,IAAKO,EAAS0C,KAAKjD,IACnBkc,QAAS,CAAC,CACR5a,IAAKkZ,EAAWjZ,0BAA0Bg+C,qBAC1CjgD,MAAAA,OAGJ,gBATU6D,EAAI,EAAd5C,SAUF4G,EAAShE,GAAM,kDAEf8X,EAAOlO,QAAQzI,MAAM,KAAI5B,SAAS,QAEhB,OAFgB,UAElCwa,GAAW,GAAO,6EAErB,gBAvBuB,sCAwBlBsiC,GAAY,6BAAG,WAAMlgD,GAAK,2EAEsC,GAD9D0oC,EAAWL,GAAK8X,oBAAsB,GACtC5X,EAAWvoC,EAAMogD,MAAM,KAAKp9C,KAAI,SAAAjB,GAAC,OAAIA,EAAEq9B,MAAM,IAAE18B,OAAO+O,WACxD,EAAIukC,EAASvoC,SAASi7B,EAAUH,GAAW,CAAF,yCACpC,GAAK,OAIwD,OAJxD,SAGZ3qB,GAAW,GACLuiC,EAAqB5X,EAASjgC,OAASigC,EAAW,CAAC,YAAW,SAC9D3nC,EAAKX,IAAIogD,kBAAkB,CAC/B/9C,MAAO,CACLyP,GAAIs2B,GAAKt2B,GACTouC,mBAAAA,EACAr/C,QAASG,EAAS0C,KAAKjD,OAEzB,OACFkd,GAAW,GAAO,wBAGA,OAHA,0BAElBjC,EAAOlO,QAAQzI,MAAM,KAAI5B,SACzBwa,GAAW,GAAO,mBACX,GAAK,kCAEP,GAAI,0DACZ,gBAvBiB,sCAwBZ0iC,GAAa,6BAAG,WAAMtgD,GAAK,6EAC3B+E,EAAS,CAAF,gDAGM,OAAjB6Y,GAAW,GAAM,kBAILhd,EAAKX,IAAIo/B,eAAe,CAChC/8B,MAAO,CACL5B,IAAKO,EAAS0C,KAAKjD,IACnBkc,QAAS,CAAC,CACR5a,IAAKkZ,EAAWjZ,0BAA0Bs+C,gBAC1CvgD,MAAAA,OAGJ,gBATU6D,EAAI,EAAd5C,SAUF4G,EAAShE,GAAM,kDAEf8X,EAAOlO,QAAQzI,MAAM,KAAI5B,SAAS,QAEhB,OAFgB,UAElCwa,GAAW,GAAO,6EAErB,gBAvBkB,sCAwBnB,OAAoB,EAAI/H,EAAYiD,MAAMC,EAAKrC,EAAcA,EAAc,CAAC,EAAG6N,GAAO,CAAC,EAAG,CACxF/kB,SAAU,EAAc,EAAIqW,EAAYmD,KAAKsY,EAAY7jB,QAAS,CAChEiM,SAAUA,GACVhT,MAAO,CACLkoB,WAAY,IAEd7pB,QAASA,EACTu2B,OAAQokB,GACR5hC,aAAcA,GACd3T,SAAU,SAACoxB,EAAa5b,GACtB,IACEtG,EAEEsG,EAFFtG,OACAoiB,EACE9b,EADF8b,YAEa,SAAXpiB,EACF4a,GAAewH,GACN,CAAC,SAAU,WAAW3xB,SAASuP,IACxC4a,GAAe,MAEF,YAAX5a,GACFwmC,GAAetkB,EAAYE,EAAYz5B,KAE3C,KACe,EAAI6T,EAAYiD,MAAM6B,EAAKlN,QAAS,CACnD7G,UAAW,cACXpH,SAAU,CAAkB,QAAjB2c,IAA8C,aAApBlb,EAAS0J,SAAsC,EAAIkL,EAAYiD,MAAM6B,EAAKlN,QAAS,CACtH7G,UAAW,cACXpH,SAAU,EAAc,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1D7G,UAAW,eACXpH,SAAU,CAACqF,EAAE,yCAAsD,EAAIgR,EAAYmD,KAAK2B,EAAKlN,QAAS,CACpG7G,UAAW,cACXpH,SAAUqF,EAAE,kDAEC,EAAIgR,EAAYmD,KAAKwkC,EAAQ/vC,QAAS,CACrDiM,SAAUA,GACVkG,QAASw+B,GACTxV,gBAAgB,EAChBz+B,SAAUw1C,SAETz6B,KAA0B,EAAIrP,EAAYiD,MAAM6B,EAAKlN,QAAS,CACjE7G,UAAW,cACXpH,SAAU,EAAc,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1D7G,UAAW,eACXpH,SAAU,CAACqF,EAAE,mCAAgD,EAAIgR,EAAYmD,KAAK2B,EAAKlN,QAAS,CAC9F7G,UAAW,cACXpH,SAAsBqF,EAAZ+5C,GAAc,oCAAyC,0CAEpD,EAAI/oC,EAAYmD,KAAKwkC,EAAQ/vC,QAAS,CACrDiM,SAAUA,GACVkG,SAAUg/B,GACVhW,gBAAgB,EAChBz+B,SAAU21C,YAGC,EAAIjqC,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClD7G,UAAW,cACX4D,UAAWmZ,EAASlW,QACpB+yC,GAAI,KACW,EAAI3qC,EAAYiD,MAAM6B,EAAKlN,QAAS,CACnD7G,UAAW,cACXpH,SAAU,EAAc,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1DxH,QAAS,OACTyc,eAAgB,gBAChBxc,WAAY,SACZ1G,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,MAAO,CAClDpS,UAAW,eACXpH,SAAUqF,EAAE,oBACG,EAAIgR,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDxH,QAAS,OACTC,WAAY,SACZ1G,UAAuB,EAAIqW,EAAYmD,KAAK0kC,EAAgBjwC,QAAS,CACnEsE,GAAIs2B,GAAKt2B,GACT7O,MAAO2B,EAAE,2BACT/D,QAASJ,GACTlB,SAAU,SAAAytB,GACR,IACEzU,EACEyU,EADFzU,KAEF,OAAoB,EAAI3C,EAAYiD,MAAMwC,EAAQ7N,QAAS,CACzD/G,MAAO,CACLgE,WAAY,IAEdtC,QAAS,YACThC,MAAO,UACP,UAAW,mBACXK,QAAS+R,EACTkB,UAAU,EAAIgC,EAAOuJ,cAAchkB,EAAS+G,QAC5CxI,SAAU,EAAc,EAAIqW,EAAYmD,KAAKqqB,EAAK51B,QAAS,CACzD/G,MAAO,CACLyX,SAAU,QACV7X,YAAa,KAEbzB,EAAE,gBAEV,SAGFw5C,GAAQr7C,KAAI,SAAC8e,EAAQ9T,GAAK,OAAkB,EAAI6H,EAAYiD,MAAM6B,EAAKlN,QAAS,CAClFxH,QAAS,OACTC,WAAY,SACZwc,eAAgB,gBAChB1Z,GAAIgF,EAAQ,EAAI,EAChBxO,SAAU,EAAc,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1DxH,QAAS,OACTC,WAAY,SACZwc,eAAgB,gBAChBljB,SAAU,EAAc,EAAIqW,EAAYmD,KAAK2kC,EAAclwC,QAAS,CAClEqU,OAAQA,EACRm3B,QAAS,CAAC,WACT,GAAGz6B,OAAOsD,EAAO9hB,MAAO,aAA0B,EAAI6V,EAAYmD,KAAK2B,EAAKlN,QAAS,CACtFwV,GAAI,EACJmlB,GAAI,GACJ5oC,SAAUsiB,EAAO9hB,SACF,EAAI6V,EAAYmD,KAAK2kC,EAAclwC,QAAS,CAC3DqU,OAAQA,EACRm3B,QAAS,CAAC,SACT,GAAGz6B,OAAOsD,EAAO9hB,MAAO,WAAwB,EAAI6V,EAAYmD,KAAK,OAAQ,CAC9EtS,MAAO,CACLgE,WAAY,OAEC,EAAImL,EAAYmD,KAAK+kC,EAAStwC,QAAS,CACtDqU,OAAQA,EAAO9hB,MACfwqB,aAAc1I,EAAO0I,aACrB9pB,IAAKO,EAAS0C,KAAKjD,IACnBlB,SAAU,SAAA2vB,GACR,IACE3W,EACE2W,EADF3W,KAEF,OAAoB,EAAI3C,EAAYmD,KAAKsC,EAAQ7N,QAAS,CACxDhD,KAAM,QACNhE,QAAS,SAAAiS,GAAC,OAAIF,EAAKE,EAAE,EACrBlZ,SAAUqF,EAAE,yCAEhB,OAEA+F,IAAkBkX,EAAO2+B,aAA2B,EAAI5qC,EAAYmD,KAAK4kC,EAAenwC,QAAS,CACnG46B,KAAMA,GACNvmB,OAAQA,EACR7gB,SAAUA,KACM,EAAI4U,EAAYmD,KAAKgH,EAASvS,QAAS,CACvDvK,MAAO2B,EAAE,qCACT67C,UAAW,MACXlhD,UAAuB,EAAIqW,EAAYmD,KAAKzD,EAAY9H,QAAS,CAC/DiM,UAAU,EACVjP,KAAM,QACN/D,MAAO,CACLi6C,cAAe,OAEf7lB,WAAY,EACZ8lB,cAAe,EACf51C,OAAQ,UAEVxL,UAAuB,EAAIqW,EAAYmD,KAAKykC,EAAUhwC,QAAS,CAC7D/G,MAAO,CACL0b,KAAM9W,GAAM+S,QAAQ7E,KAAKE,kBAKhCoI,EAAO9hB,MAAM,KAAIq+C,GAAQ/1C,SAAuB,EAAIuN,EAAYmD,KAAK2B,EAAKlN,QAAS,CACpFzE,GAAI,EACJxJ,UAAuB,EAAIqW,EAAYmD,KAAKsH,EAAO7S,QAAS,CAC1DjO,SAAUqF,EAAE,wBAGD,EAAIgR,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClD7G,UAAW,cACX4D,UAAWmZ,EAASlW,QACpB+yC,GAAI,KACW,EAAI3qC,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClD7G,UAAW,cACXoC,GAAI,EACJxJ,UAAuB,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACxD7G,UAAW,eACXqY,GAAI,EACJzf,SAAUqF,EAAE,wBAEC,EAAIgR,EAAYiD,MAAM6B,EAAKlN,QAAS,CACnD7G,UAAW,cACXoC,GAAI,EACJxJ,SAAU,EAAc,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACzD7G,UAAW,eACXuX,SAAU,GACVc,GAAI,EACJzf,SAAUqF,EAAE,uCACG,EAAIgR,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDwR,GAAI,IACJrY,UAAW,cACXpH,SAAUqF,EAAE,yCAA0C,CACpDhC,KAAM,oBAEO,EAAIgT,EAAYmD,KAAKo8B,EAAe3nC,QAAS,CAC5D/G,MAAO,CACLkoB,UAAW,GAEblV,SAAU3U,GAAW2U,GACrB3U,QAASA,EACT2wC,cAAerN,GAAK8X,oBAAsB,IAAI7wC,KAAK,MACnDqmC,SAAUuK,SAEG,EAAIrqC,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClD7G,UAAW,cACX4D,UAAWmZ,EAASlW,QACpB+yC,GAAI,KACW,EAAI3qC,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDwR,GAAI,EACJrY,UAAW,eACXuX,SAAU,GACV3e,SAAUqF,EAAE,iCACG,EAAIgR,EAAYiD,MAAM6B,EAAKlN,QAAS,CACnDq4B,GAAI,EACJrjB,GAAI,EACJpc,GAAI,CACFw6C,OAAQ,gBACR9zB,aAAc,GAEhBvtB,SAAU,EAAc,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACzD7G,UAAW,cACXpH,UAAuB,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CACzD7G,UAAW,cACXpH,SAAU,EAAc,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1D7G,UAAW,eACXpH,SAAU,CAACqF,EAAE,oCAAiD,EAAIgR,EAAYmD,KAAK2B,EAAKlN,QAAS,CAC/F7G,UAAW,cACXpH,SAAUqF,EAAE,gDAEC,EAAIgR,EAAYmD,KAAK6kC,EAAYpwC,QAAS,CACzDzN,OAAuB,OAAf0+C,SAAsC,IAAfA,QAAwB,EAASA,GAAW1+C,QAAU,UACrF0Z,SAAUA,GACVvP,SAAU61C,WAGC,EAAInqC,EAAYiD,MAAM6B,EAAKlN,QAAS,CACnD7G,UAAW,cACXoC,GAAI,EACJxJ,SAAU,EAAc,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACzD7G,UAAW,eACXuX,SAAU,GACVc,GAAI,EACJzf,SAAUqF,EAAE,yBACG,EAAIgR,EAAYmD,KAAK8kC,EAAOrwC,QAAS,CACpDiM,SAAU3U,GAAW2U,GACrB3U,QAASA,EACT2wC,aAAcz0C,EAASY,aAAaC,MAAK,SAAAC,GAAC,MAAc,oBAAVA,EAAEC,GAAyB,IAAEhC,MAC3EmK,SAAUm2C,cAKpB,CACA,IAAM/C,GAA8B,EAAIve,EAAY6W,gBAAgBmI,EAAqB,oBACnFV,GAA+B,EAAIte,EAAY6W,gBAAgBmI,EAAqB,GAAItiC,EAAO6kB,oBAUrGyd,EAAoBhkC,UAAY,CAC9B/Y,SAAUmU,EAAW3H,QAAQyI,OAAO2J,WACpChY,SAAUuN,EAAW3H,QAAQsb,KAC7Bne,cAAewK,EAAW3H,QAAQwb,MAEpC+0B,EAAoBr5C,aAAe,CACjCkD,SAAU,WAAO,EACjB+C,eAAe,GAEjB,IAhhBgCsP,EAASC,EAghBnCpB,EAAMzD,EAAQ7H,QAAQ2M,IAAIlF,IAhhBAgF,EAghB6D,CAAC,2FAA4F,4cAhhBrIC,IAAOA,EAAMD,EAAQ1K,MAAM,IAghB5B0F,EAhhByCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SAghB+d,SAAA5V,GAAK,OAAIA,EAAM+G,MAAMC,YAAYugB,KAAK,KAAK,G,qCCzjBprBhgB,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB80C,EAClB,IASI5rC,EATAC,EAASvI,EAAQ,OACjB0I,EAAUD,EAAuBzI,EAAQ,QACzCwI,EAAaC,EAAuBzI,EAAQ,QAC5Cm0C,EAAY1rC,EAAuBzI,EAAQ,QAC3CkX,EAAczO,EAAuBzI,EAAQ,QAC7C4iB,EAAQna,EAAuBzI,EAAQ,QACvC+2B,EAAWtuB,EAAuBzI,EAAQ,QAC1CwO,EAAWxO,EAAQ,OACnBiJ,EAAcjJ,EAAQ,OAEpBkJ,EAAY,CAAC,YACnB,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAASmqC,EAAiBzoC,GACpB,IACApX,EACEoX,EADFpX,SAEFsjB,EAAO1M,EAAyBQ,EAAMvC,GAEtCjR,GACE,EAAIsQ,EAAO/P,YAAYgW,EAASwJ,eADlC/f,EAEF,IAAK5D,EAAS+/C,SACZ,OAAoB,EAAInrC,EAAYmD,KAAK8K,EAAYrW,QAAS,CAC5DjO,SAAUqF,EAAE,6BAGhB,IAAMo8C,EAAiB,SAACC,EAAKz2C,EAAM0c,GAAO,OAAkB,EAAItR,EAAYiD,MAAMgL,EAAYrW,QAAS,CACrGjO,SAAU,CAAC2nB,GAGX,EAAItR,EAAYmD,KAAKwW,EAAM/hB,QAAS,CAClC/G,MAAO,CACLsc,OAAQ,WAEVvc,QAAS0gB,EACT0I,UAAW,QACXrwB,SAAU0hD,IACPA,EAAK,KAAkB,EAAIrrC,EAAYmD,KAAK,SAAU,CACzDxZ,SAAUiL,GAAO,EAAIs2C,EAAUtzC,SAAShD,GAAQ,YAElD,EACI7K,EAAMqB,EAASY,aAAaqO,QAAO,SAACixC,EAAKp/C,GAE7C,OADAo/C,EAAIp/C,EAAEC,KAAOD,EAAE/B,MACRmhD,CACT,GAAG,CAAC,GACEjc,EAAO,CAAC,CACZljC,IAAK,SACLa,KAAMgC,EAAE,4BACR7E,MAAOihD,EAAerhD,EAAIwhD,iBAAkBngD,EAAS+/C,SAASrkC,MAC7D,CACD3a,IAAK,UACLa,KAAMgC,EAAE,6BACR7E,MAAOihD,EAAerhD,EAAIyhD,kBAAmBpgD,EAAS+/C,SAASn9C,OAC9D,CACD7B,IAAK,SACLa,KAAMgC,EAAE,4BACR7E,MAAOihD,EAAerhD,EAAI0hD,iBAAkBrgD,EAAS+/C,SAASpzB,MAC7D,CACD5rB,IAAK,WACLa,KAAMgC,EAAE,8BACR7E,MAAOihD,EAAerhD,EAAI2hD,mBAAoBtgD,EAAS+/C,SAASpgC,SAElE,OAAoB,EAAI/K,EAAYmD,KAAKD,EAAKrC,EAAcA,EAAc,CACxElM,UAAW,OACV+Z,GAAO,CAAC,EAAG,CACZ/kB,SAAU0lC,EAAKliC,KAAI,SAAAkjC,GAAG,OAAiB,EAAIrwB,EAAYmD,KAAK2qB,EAASl2B,QAAS,CAC5E04B,eAAgB,MAChBR,UAAW,IACX9iC,KAAMqjC,EAAIrjC,KACVrD,SAAU0mC,EAAIlmC,OACbkmC,EAAIlkC,IAAI,MAEf,CACA8+C,EAAiB9mC,UAAY,CAC3B/Y,SAAUmU,EAAW3H,QAAQyI,OAAO2J,YAEtCihC,EAAiBn8C,aAAe,CAAC,EACjC,IAxEgCuV,EAASC,EAwEnCpB,GAAM,EAAIzD,EAAQ7H,SAASqW,EAAYrW,QAAjC,CAA0CyH,IAxEtBgF,EAwEmF,CAAC,IAxE/DC,IAAOA,EAAMD,EAAQ1K,MAAM,IAwEN0F,EAxEmBpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,Q,qCChB1KrO,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,aAAkB,EAClB,IAAIiyB,EAAU5oB,EAAuBzI,EAAQ,QACzC40C,EAAansC,EAAuBzI,EAAQ,OAC5C60C,EAAQpsC,EAAuBzI,EAAQ,QACvC80C,EAAUrsC,EAAuBzI,EAAQ,QACzC+0C,EAAatsC,EAAuBzI,EAAQ,QAC5Cg1C,EAAYvsC,EAAuBzI,EAAQ,QAC3Ci1C,EAAWxsC,EAAuBzI,EAAQ,QAC1CkO,EAASzF,EAAuBzI,EAAQ,QAC5C,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,IAAI+sB,EAAW,CACbpb,MAAO65B,EAAW/zC,QAClBwa,KAAMw5B,EAAMh0C,QACZ0a,QAASu5B,EAAQj0C,QACjB4a,OAAQs5B,EAAWl0C,QACnB8Z,OAAQ0W,EAAQxwB,QAChBgb,OAAQm5B,EAAUn0C,QAClBkb,IAAKk5B,EAASp0C,QACdib,MAAO5N,EAAOrN,SAEhBzB,EAAAA,QAAkB+2B,C,qCCzBL,6DAEbj3B,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB81C,EAClB,IAAI3sC,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5Co2B,EAAU3tB,EAAuBzI,EAAQ,QACzCyO,EAAUhG,EAAuBzI,EAAQ,QACzC2O,EAAoBlG,EAAuBzI,EAAQ,KACnDkkB,EAAqBzb,EAAuBzI,EAAQ,OACpDkX,EAAczO,EAAuBzI,EAAQ,QAC7C8N,EAAarF,EAAuBzI,EAAQ,QAC5Cm1C,EAAW1sC,EAAuBzI,EAAQ,QAC1Co1C,EAAQ3sC,EAAuBzI,EAAQ,QACvCq1C,EAAa5sC,EAAuBzI,EAAQ,QAC5C+2B,EAAWtuB,EAAuBzI,EAAQ,QAC1Cs1C,EAAW7sC,EAAuBzI,EAAQ,OAC1CwO,EAAWxO,EAAQ,OACnB0O,EAAUjG,EAAuBzI,EAAQ,QACzCsX,EAAS7O,EAAuBzI,EAAQ,QACxC2iB,EAAOla,EAAuBzI,EAAQ,QACtCuO,EAAQvO,EAAQ,MAChB4O,EAAQ5O,EAAQ,OAChBu1C,EAAWv1C,EAAQ,OACnB8O,EAAS9O,EAAQ,OACjBk3B,EAAczuB,EAAuBzI,EAAQ,QAC7CiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS8rC,EAAezpC,GACtB,IACE+pC,EAME/pC,EANF+pC,WACUtqB,EAKRzf,EALF6N,SACAsT,EAIEnhB,EAJFmhB,UACAtJ,EAGE7X,EAHF6X,QACAnwB,EAEEsY,EAFFtY,KACA25B,EACErhB,EADFqhB,WAGAz5B,GACE,EAAIub,EAAMiC,kBADZxd,IAGKoiD,GACH,EAAIF,EAASG,qBADfriD,IAEF,GAA8B,EAAIkV,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAA0B,EAAIzI,EAAOhU,UAAU,IAAG,SAA3C6D,EAAK,KAAEkvB,EAAQ,KAEpBrvB,GACE,EAAIuW,EAAStW,oBADfD,EAEI09C,EAAW,CACfC,KAAM,CAAC,GAET,GAAsB,EAAIrtC,EAAOhU,UAAUihD,GAAW,SAA/ChzC,EAAG,KAAEqzC,EAAM,KAClB,GAAoC,EAAIttC,EAAOhU,UAAUihD,EAAa,EAAI,GAAE,SAArE1vB,EAAU,KAAEyC,EAAa,KAChC,GAAwB,EAAIhgB,EAAOhU,UAAUohD,GAAS,UAA/C5+C,GAAI,MAAE++C,GAAO,MACpB,IAAwC,EAAIvtC,EAAOhU,UAAU,MAAK,WAA3DwhD,GAAY,MAAEC,GAAe,MACpC,IAAwC,EAAIztC,EAAOhU,WAAU,GAAM,WAA5D0hD,GAAa,MAAEC,GAAc,MACpC,IAAoC,EAAI3tC,EAAOhU,WAAU,GAAM,WAAxD4hD,GAAU,MAAEC,GAAa,MAChC,IAA4B,EAAI7tC,EAAOhU,UAAU,CAAC,GAAE,WAA7C+gB,GAAM,MAAEsE,GAAS,MAClBy8B,GAA2B,cAATljD,EAElBmjD,KAAiBD,KAA0Bb,EAC3Ce,GAAS,6BAAG,kGAChBT,GAAQH,GACRruB,EAAS,MACTtW,GAAW,GAAM,SAET6Z,EAAU2rB,mBAAmBh0C,EAAIgwB,QACvC,SAEE,IAAIvZ,IAAI4R,GAAU,sDAEZ,IAAIxR,MAAM,eAAc,yBAQtBhmB,EAAIojD,uBAAuB,CACnC/gD,MAAO,CACL8M,IAAKqoB,KAEP,QALW,GAKX,SAPM6rB,EAAK,EAAX3/C,KACAkzB,EAAO,EAAPA,QACA3D,EAAW,EAAXA,aAQE+vB,GAAiB,CAAF,gBACjBP,GAAQY,GAAO,yCAILrjD,EAAIsjD,YAAY,CACxBjhD,MAAO,CACL5B,IAAK4iD,EAAM5iD,IACX8iD,mBAAmB,KAErB,kBANUC,EAAe,EAAzBxiD,YAQA2hD,GAAgBa,EAAgB9/C,MAChCq/C,GAAchgB,EAAQv1B,QAAQi2C,GAAGD,EAAgB9/C,KAAKhD,QAAS2iD,EAAM3iD,WAEvE+hD,GAAQY,GAAO,QAEjB98B,GAAU,CACRqQ,QAAAA,EACA3D,YAAAA,EACA4D,SAAU1nB,EAAIgwB,SACb,kDAEHhY,QAAQpiB,MAAM,EAAD,IACPghB,EAAS,4BAA4BxH,QAAO,EAAI9C,EAAOnV,aAAa,EAAF,KACxE2tB,EAASlO,GACTkK,EAAQ,EAAD,IAAM,QAEK,OAFL,UAEbtS,GAAW,GAAO,mFAErB,kBAvDc,mCAwDT+lC,GAAU,6BAAG,wFACbV,GAAiB,CAAF,eAIL,OAHZzpB,EAAU9iB,EAAc,CACtB/S,KAAAA,IACCue,KACH4V,IAAY,8BAGVirB,GAAY,CAAF,gBAEO,OAFP,SAEVnlC,GAAW,GAAM,SACX3d,EAAI2jD,gBAAgB,CACxBthD,MAAO,CACL8M,IAAKg0C,mBAAmBh0C,EAAIgwB,WAE9B,OACF5F,EAAU9iB,EAAc,CACtB/S,KAAAA,IACCue,KACH4V,IAAY,kDAEN9R,EAAS,4BAA4BxH,QAAO,EAAI9C,EAAOnV,aAAa,EAAF,KACxE2tB,EAASlO,GAAQ,QAEC,OAFD,UAEjBpI,GAAW,GAAO,uDAItBA,GAAW,GACXklC,IAAe,GAAM,gEACtB,kBA9Be,oCA2ChB,EAAI3tC,EAAOzR,YAAW,WAChB0+C,GACFe,IAEJ,GAAG,CAACf,IAEJ,IAAMld,GAAO,CAAC,CACZriC,KAAMgC,EAAE,eACR7E,OAAO,EAAImb,EAAMxZ,gBAAgB,CAC/BgC,KAAAA,KACC,IACF,CACDd,KAAMgC,EAAE,kBACR7E,MAAO2D,GAAKhD,SACX,CACDkC,KAAMgC,EAAE,cACR7E,OAAoB,EAAI6V,EAAYmD,KAAK8qB,EAAYr2B,QAAS,CAC5D/M,IAAKiD,GAAKjD,OAEX,CACDmC,KAAMgC,EAAE,iBACR7E,OAAO,EAAI0b,EAAO+pB,cAAc9hC,GAAK+hC,SACpC,CACD7iC,KAAMgC,EAAE,8BACR7E,MAAO2D,GAAK6+C,KAAKqB,UAwDbpxB,GAAQ,CAAC,CACbltB,MAAOV,EAAE,0BACT2uB,MAAmB,EAAI3d,EAAYmD,KAAK8K,EAAYrW,QAAS,CAC3DjD,UAAW,MACXhL,UAAuB,EAAIqW,EAAYmD,KAAK0B,EAAWjN,QAAS,CAC9DlI,MAAOV,EAAE,0BACTm2B,aAAc,MACd5yB,QAAS,WACTvF,KAAM,MACN,UAAW,qBACX8C,WAAW,EACXqZ,WAAW,EACXtY,MAAO,CACLw0B,aAAc,IAEhBlwB,OAAQ,QACRiwB,WAAYp2B,EAAE,gCACd7E,MAAOoP,EACPjF,SAAU,SAAAuO,GACRwb,EAAS,MACTuuB,EAAO/pC,EAAE/B,OAAO3W,MAClB,EACA0Z,SAAU3U,EACV++C,WAAY,SAAAprC,GACI,UAAVA,EAAE1W,MACJ0W,EAAEE,iBACFuqC,KACAhuB,EAAc,GAElB,MAGJtO,OAAQhiB,EAAE,iBACV+hB,QAAS/hB,EAAE,eACXqhB,SAAU4R,EACVpZ,UAAW,WACTykC,KACAhuB,EAAc,EAChB,GACC,CACD5vB,MAAOV,EAAE,0BACT2uB,KA9FIzuB,GACkB,EAAI8Q,EAAYmD,KAAK,MAAO,CAC9CtS,MAAO,CACLomB,OAAQ,IACRhK,MAAO,OACP7c,QAAS,OACTC,WAAY,SACZwc,eAAgB,SAChB3b,cAAe,UAEjBvH,UAAuB,EAAIqW,EAAYmD,KAAKuC,EAAkB9N,QAAS,CAAC,KAGxE9J,GAAKjD,KACa,EAAImV,EAAYiD,MAAM,MAAO,CAC/CpS,MAAO,CACL21C,YAAa,OAEf78C,SAAU,CAAC0lC,GAAKliC,KAAI,SAAAkjC,GAClB,OAAIA,EAAIrjC,OAASgC,EAAE,eACG,EAAIgR,EAAYmD,KAAK2qB,EAASl2B,QAAS,CACzD04B,eAAgB,MAChBR,UAAW,IACX9iC,KAAMqjC,EAAIrjC,KACVujC,cAAe,kBAAMvhC,EAAE,aAAa,EACpCrF,SAAU0mC,EAAIlmC,OACbkmC,EAAIrjC,OAEW,EAAIgT,EAAYmD,KAAK2qB,EAASl2B,QAAS,CACzD04B,eAAgB,MAChBR,UAAW,IACX9iC,KAAMqjC,EAAIrjC,KACVrD,SAAU0mC,EAAIlmC,OACbkmC,EAAIrjC,KACT,IAAI8/C,KAAiBI,KAA2B,EAAIltC,EAAYmD,KAAKkL,EAAOzW,QAAS,CACnFjN,KAAM,QACN4H,QAAS,OACT1B,MAAO,CACLsE,OAAQ,kBAEVxL,UAAuB,EAAIqW,EAAYiD,MAAM,MAAO,CAClDtZ,SAAU,CAACqF,EAAE,oCAAiD,EAAIgR,EAAYmD,KAAKuW,EAAK9hB,QAAS,CAC/F1D,QAAS44C,GAAahiD,QACtB+F,MAAO,CACLsE,OAAQ,WAERnG,EAAE,2CAKP,KA4CPgiB,OAAyBhiB,EAAjBq+C,GAAmB,aAAkB,iBAC7Ct8B,SAAyB,OAAf8S,QAAsC,IAAfA,OAAwB,EAASA,EAAW9S,UAA4B/hB,EAAf89C,GAAiB,iBAAsB,4BACjIz8B,SAAU,WACJg9B,GACF/tB,GAAc,SAAA4uB,GAAC,OAAIA,EAAI,CAAC,IAExBjsB,GAEJ,EACApZ,UAAW,WACLikC,KAAiBI,GACnBjrB,IAEA6rB,IAEJ,IAEI9wB,GAAOJ,GAAMC,GACnB,OAAoB,EAAI7c,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,EAAc,EAAIqW,EAAYiD,MAAMuC,EAAQ5N,QAAS,CAC7DvK,OAAuB,OAAfw2B,QAAsC,IAAfA,OAAwB,EAASA,EAAWx2B,QAAU2B,EAAE,0BACvFc,WAAW,EACX0d,SAAU,KACV5K,QAAS,kBAAMoa,GAAK3M,UAAU,EAC9BmW,gBAAgC,IAAf3J,EACjBkK,sBAAsB,EACtBpkB,MAAM,EACNtT,SAAsB,EAAI2Q,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAChEvf,SAAU,CAACqzB,GAAKhM,SAAuB,EAAIhR,EAAYmD,KAAKsC,EAAQ7N,QAAS,CAC3EhH,QAAS,SAAAiS,GACPA,EAAEC,kBACFub,EAAS,MACTrB,GAAK3M,UACP,EACA9f,MAAO,UACP5G,SAAUqzB,GAAKhM,QAAUhiB,EAAE,oBACZ,EAAIgR,EAAYiD,MAAMwC,EAAQ7N,QAAS,CACtDhH,QAAS,SAAAiS,GACPA,EAAEC,kBACFka,GAAKnU,WACP,EACAtY,MAAO,UACP,UAAW,6BACXsT,SAAU3U,IAAYqK,GAAOpK,EAC7BoD,QAAS,YACT4W,WAAW,EACXtY,MAAO,CACLgE,WAAY,GAEdlL,SAAU,CAACuF,GAA0B,IAAf2tB,IAAiC,EAAI7c,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACrGhD,KAAM,KACJooB,GAAKjM,cAGbpnB,SAAU,CAAC0jD,KAA+B,EAAIrtC,EAAYmD,KAAK+oC,EAASt0C,QAAS,CAC/Eu2C,kBAAkB,EAClBtxB,WAAYA,EACZlzB,SAAUizB,GAAMzvB,KAAI,SAAA2c,GAClB,IACEpa,EACEoa,EADFpa,MAEF,OAAoB,EAAIsQ,EAAYmD,KAAKgpC,EAAMv0C,QAAS,CACtDjO,UAAuB,EAAIqW,EAAYmD,KAAKipC,EAAWx0C,QAAS,CAC9DjO,SAAU+F,KAEXA,EACL,OACe,EAAIsQ,EAAYmD,KAAK8X,EAAmBrjB,QAAS,CAChEjD,UAAW,MACX9D,MAAO,CACLkoB,UAAW,IAEbpvB,SAAUqzB,GAAKW,SACXxuB,IAAsB,EAAI6Q,EAAYmD,KAAKkL,EAAOzW,QAAS,CAC/DjN,KAAM,QACNkG,MAAO,CACLoc,MAAO,OACP8L,UAAW,GAEbpvB,SAAUwF,OAEVrB,IAAQk/C,KAA8B,EAAIhtC,EAAYmD,KAAKkpC,EAASz0C,QAAS,CAC/Ew2C,OAAO,EACPzrC,MAAM,EACN0rC,gBAAgB,EAChBt9C,UAAW,uBACXyS,OAAQ,kCACR8qC,QAAS9B,EAAKthC,IACdqjC,aAAc,IACd5qB,UA/NiB,WACnB5b,GAAW,GACXklC,IAAe,GACftpB,EAAU9iB,EAAc,CACtB/S,KAAAA,IACCue,KACH4V,GACF,EAyNIusB,YAAa,CACXnhD,MAAOS,GAAKT,MACZohD,gBAAiBlB,mBAAmBh0C,EAAIgwB,SAE1CmlB,SAAU,CACRrhD,MAAO2B,EAAE,uBACT2/C,KAAM3/C,EAAE,sBACR+hB,QAAS/hB,EAAE,yBACX+Z,QAAS/Z,EAAE,0BAEb4T,QAlOoB,WACtBmF,GAAW,GACXklC,IAAe,EACjB,MAkOF,CACAhB,EAAe9nC,UAAY,CACzBooC,WAAYhtC,EAAW3H,QAAQmd,OAC/B1E,SAAU9Q,EAAW3H,QAAQsb,KAAKlJ,WAClC2Z,UAAWpkB,EAAW3H,QAAQsb,KAAKlJ,WACnCqQ,QAAS9a,EAAW3H,QAAQsb,KAC5BhpB,KAAMqV,EAAW3H,QAAQub,MAAM,CAAC,UAAW,cAC3C0Q,WAAYtkB,EAAW3H,QAAQyI,QAEjC4rC,EAAen9C,aAAe,CAC5BurB,QAAS,WAAO,EAChBkyB,WAAY,GACZriD,KAAM,UACN25B,WAAY,CAAC,E,qCChZf1tB,EAAQ,EAAUy4C,EAClB,IAAIrvC,EAAaC,EAAuBzI,EAAQ,QAC5C+N,EAAOtF,EAAuBzI,EAAQ,QACtCuO,EAAQvO,EAAQ,MAChB83C,EAAe93C,EAAQ,OACvB+3C,EAAYtvC,EAAuBzI,EAAQ,QAC3CiJ,EAAcjJ,EAAQ,OACpBkJ,EAAY,CAAC,YACnB,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAgB3e,SAAS8tC,EAAYpsC,GACf,IACApX,EACEoX,EADFpX,SAEFsjB,EAAO1M,EAAyBQ,EAAMvC,GAExC,OAAoB,EAAID,EAAYmD,KAAK2B,EAAKlN,QAASiJ,EAAcA,EAAc,CACjFoW,OAAQ,CACN/J,GAAI,sBACJqG,GAAI,sBACJ3d,GAAI,wBAEL8Y,GAAO,CAAC,EAAG,CACZ/kB,UAAuB,EAAIqW,EAAYmD,KAAK0rC,EAAaE,iBAAkB,CACzE/hD,MAAM,EAAIsY,EAAMxZ,gBAAgBV,GAChC4jD,MAAO,YAAYrmC,OAAOvd,EAAS0C,KAAKjD,KACxCokD,YAXgB,CAAC,iJAAkJ,YAYnKC,UAAuB,EAAIlvC,EAAYmD,KAAK2rC,EAAUl3C,QAAS,CAC7DsE,GAAI9Q,EAAS0C,KAAKjD,IAClBmC,KAAM5B,EAAS0C,KAAKd,WAI5B,CACA4hD,EAAYzqC,UAAY,CACtB/Y,SAAUmU,EAAW3H,QAAQyI,OAAO2J,W,qCC1DtC/T,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBg5C,EAClB,IAAI5vC,EAAaC,EAAuBzI,EAAQ,QAC5Cm3B,EAAO1uB,EAAuBzI,EAAQ,QACtCiJ,EAAcjJ,EAAQ,OACpBkJ,EAAY,CAAC,QACnB,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAASquC,EAAa3sC,GAChB,IACAtY,EACEsY,EADFtY,KAEFwkB,EAAO1M,EAAyBQ,EAAMvC,GACxC,MAAa,gBAAT/V,GACkB,EAAI8V,EAAYmD,KAAK+qB,EAAKt2B,QAASiJ,EAAcA,EAAc,CACjFlW,KAAM,WACL+jB,GAAO,CAAC,EAAG,CACZ/kB,SAAU,SAGP,IACT,CACAwlD,EAAahrC,UAAY,CACvBja,KAAMqV,EAAW3H,QAAQmd,OAAO/K,W,qCC5BlC7T,EAAQ,EAAUi5C,EAClB,IAeI/vC,EAfAC,EAASvI,EAAQ,OACjB0I,EAAUD,EAAuBzI,EAAQ,QACzCm0C,EAAY1rC,EAAuBzI,EAAQ,QAC3Cs4C,EAAgB7vC,EAAuBzI,EAAQ,QAC/C+N,EAAOtF,EAAuBzI,EAAQ,QACtCu4C,EAAa9vC,EAAuBzI,EAAQ,QAC5CkX,EAAczO,EAAuBzI,EAAQ,QAC7CuO,EAAQvO,EAAQ,MAChBwO,EAAWxO,EAAQ,OACnB2T,EAAY3T,EAAQ,OACpB8O,EAAS9O,EAAQ,OACjBw4C,EAAe/vC,EAAuBzI,EAAQ,QAC9Cy4C,EAAYhwC,EAAuBzI,EAAQ,QAC3C6T,EAAgBpL,EAAuBzI,EAAQ,QAC/CiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASivC,IACP,OAGI,EAAI7pC,EAAStW,oBAFfD,EAAC,EAADA,EACA2Y,EAAM,EAANA,OAEF,GAMI,EAAI+C,EAAUrf,sBALhBD,EAAQ,EAARA,SACAqkD,EAAc,EAAdA,eAEErgD,EAAe,EADjBC,QACED,gBAGEsgD,GAAY,EAAIpwC,EAAOi1B,UAAS,WACpC,IAAMob,EAAM,GAsBZ,OArBA,EAAIrqC,EAAMsqC,qBAAqBxkD,GAAU,SAACuJ,EAAW6N,GACnD,IACEgF,EAGEhF,EAHFgF,UACAtL,EAEEsG,EAFFtG,GACA7D,EACEmK,EADFnK,MAEE1D,EAAUk7C,aACZF,EAAIj9C,KAAK,CACP/H,KAAM,WACNmnC,QAAS1mC,EAAS0C,KAAKjD,IACvBilD,WAAW,EAAIxqC,EAAMxZ,gBAAgBV,GACrC8Q,GAAAA,EACAlP,MAAM,EAAIsY,EAAMxZ,gBAAgB6I,GAAW,GAC3CvJ,SAAAA,EACAuJ,UAAAA,EACA0D,MAAOA,EAAQ,GAAK,EAAIA,EAAQ,EAAI,EACpCw3C,YAAal7C,EAAUk7C,YACvBroC,UAAAA,GAGN,IACOmoC,CACT,GAAG,CAACvkD,KAEJ,EAAIkU,EAAOzR,YAAW,WACpB,IAAMkiD,EAAWC,aAAY,WAC3B5gD,GACF,GAAG,KACH,OAAO,WACL6gD,cAAcF,EAChB,CACF,GAAG,IAEH,IAKMG,EAAiB,CAAC,CACtBxgD,MAAOV,EAAE,eACThC,KAAM,OACN+Q,QAAS,CAEPoyC,qBAAoB,SAACC,GACnB,MAKIV,EAAUU,GAJZpjD,EAAI,EAAJA,KACA2H,EAAS,EAATA,UACA0D,EAAK,EAALA,MACAmP,EAAS,EAATA,UAEF,OAAoB,EAAIxH,EAAYiD,MAAM6B,EAAKlN,QAAS,CACtDxH,QAAS,OACTC,WAAY,SACZyc,GAAY,EAARzU,EACJ1O,SAAU,EAAc,EAAIqW,EAAYmD,KAAKyH,EAAchT,QAAS,CAClEhD,KAAM,GACNxJ,SAAUuJ,EACV6S,UAAWA,KACI,EAAIxH,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDwV,GAAI,EACJzjB,SAAUqD,MAGhB,IAED,CACD0C,MAAOV,EAAE,iBACThC,KAAM,qBACN+Q,QAAS,CACPoyC,qBAAoB,SAACC,GACnB,IArCeC,EAsCbR,EACEH,EAAUU,GADZP,YAEF,OAxCeQ,EAwCKR,EAAYQ,QAvC7B,EAAIhB,EAAcz3C,SAAS+J,OAAO0uC,GAAU,GAAI,CACrD1oC,QAAQ,EAAI9B,EAAOyqC,cAAc3oC,IAuCjC,IAED,CACDjY,MAAOV,EAAE,oCACThC,KAAM,0BACN+Q,QAAS,CACPoyC,qBAAoB,SAACC,GACnB,IACEP,EACEH,EAAUU,GADZP,YAEF,OAAO,EAAI3E,EAAUtzC,UAA0B,OAAhBi4C,QAAwC,IAAhBA,OAAyB,EAASA,EAAYU,cAAgB,EACvH,IAED,CACD7gD,MAAOV,EAAE,iCACThC,KAAM,uBACN+Q,QAAS,CACPoyC,qBAAoB,SAACC,GACnB,IACEP,EACEH,EAAUU,GADZP,YAEF,MAAO,GAAGlnC,QAAQknC,EAAYW,UAAY,GAAGC,QAAQ,GAAI,IAC3D,IAED,CACD/gD,MAAOV,EAAE,kCACThC,KAAM,oBAER,OAAoB,EAAIgT,EAAYiD,MAAMC,EAAK,CAC7CvO,UAAW,MACXhL,SAAU,EAAc,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACzDzE,GAAI,EACJ/C,QAAS,OACTC,WAAY,SACZU,UAAW,QACXpH,UAAuB,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACxDjO,SAAUqF,EAAE,0BAEQ,YAApB5D,EAAS+G,OAAuB,EAAc,EAAI6N,EAAYmD,KAAK2B,EAAKlN,QAAS,CACnFjO,UAAuB,EAAIqW,EAAYmD,KAAKosC,EAAa33C,QAAS,CAChExM,SAAUA,EACVslD,WAAYjB,EAAekB,IAC3BC,cAAenB,EAAeoB,YAEjB,EAAI7wC,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDzE,GAAI,EACJxJ,UAAuB,EAAIqW,EAAYmD,KAAKmsC,EAAW13C,QAAS,CAC9D7G,UAAW,gBACX4W,OAAQA,EACR3Z,KAAM0hD,EACN9kB,QAASslB,EACT7iD,MAAO,GACP0Q,QAAS,CACP2X,QAAQ,EACRo7B,UAAU,EACVjkD,QAAQ,EACRkkD,OAAO,EACPC,aAAa,EACbC,YAAY,EACZC,YAAa,WAGA,EAAIlxC,EAAYmD,KAAK8K,EAAYrW,QAAS,CAC3DjO,SAAUqF,EAAE,qCACG,EAAIgR,EAAYmD,KAAK,MAAO,CAC3CpS,UAAW,QACXpH,SAAUqF,EAAE,yBACG,EAAIgR,EAAYmD,KAAKqsC,EAAU53C,QAAS,CACvDxM,SAAUA,MAGhB,CACAgkD,EAAgBjrC,UAAY,CAAC,EAC7B,IAlKgCE,EAASC,EAkKnCpB,GAAM,EAAIzD,EAAQ7H,SAASqW,EAAYrW,QAAjC,CAA0CyH,IAlKtBgF,EAkKmF,CAAC,iFAAkF,yBAA0B,wDAlK3KC,IAAOA,EAAMD,EAAQ1K,MAAM,IAkKN0F,EAlKmBpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SAkKiH,SAAA5V,GAAK,OAAIA,EAAM+G,MAAMiY,QAAQ,EAAE,IAAE,SAAAhf,GAAK,OAAIA,EAAM+G,MAAMiY,QAAQ,EAAE,G,qCCpL3VvX,EAAQ,EAAUg7C,EAClB,IAuBI9xC,EAAiBsF,EAvBjBlF,EAAUD,EAAuBzI,EAAQ,QACzCwI,EAAaC,EAAuBzI,EAAQ,QAC5C+N,EAAOtF,EAAuBzI,EAAQ,QACtCsX,EAAS7O,EAAuBzI,EAAQ,QACxCoT,EAAW3K,EAAuBzI,EAAQ,QAC1C2O,EAAoBlG,EAAuBzI,EAAQ,KACnDkX,EAAczO,EAAuBzI,EAAQ,QAC7C2iB,EAAOla,EAAuBzI,EAAQ,QACtC+2B,EAAWtuB,EAAuBzI,EAAQ,QAC1CuO,EAAQvO,EAAQ,MAChBwO,EAAWxO,EAAQ,OACnB0T,EAASjL,EAAuBzI,EAAQ,QACxC2T,EAAY3T,EAAQ,OACpB4O,EAAQ5O,EAAQ,OAChB8O,EAAS9O,EAAQ,OACjBk3B,EAAczuB,EAAuBzI,EAAQ,QAC7Co3B,EAAkB3uB,EAAuBzI,EAAQ,QACjDq3B,EAAU5uB,EAAuBzI,EAAQ,QACzCs3B,EAAW7uB,EAAuBzI,EAAQ,QAC1C+wC,EAAgBtoC,EAAuBzI,EAAQ,QAC/Cq6C,EAASr6C,EAAQ,OACjBs6C,EAAc7xC,EAAuBzI,EAAQ,QAC7CiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAAS6F,EAAuB3B,EAASC,GAA6C,OAAjCA,IAAOA,EAAMD,EAAQ1K,MAAM,IAAa1D,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,MAAY,CACtL,SAASgtC,EAAW9uC,GAClB,IACEyJ,EAEEzJ,EAFFyJ,OACAtiB,EACE6Y,EADF7Y,SAGAqF,GACE,EAAIuW,EAAStW,oBADfD,EAGAmd,EAEEF,EAFFE,KACAolC,EACEtlC,EADFslC,cAEF,OAAKA,GAAiBA,EAAcriD,SACd,EAAI8Q,EAAYiD,MAAMuuC,EAAS,CACjD7nD,SAAU,CAACA,GAAuB,EAAIqW,EAAYmD,KAAKgH,EAASvS,QAAS,CACvEvK,MAAO2B,EAAE,sCACT67C,UAAW,UACXlhD,UAAuB,EAAIqW,EAAYmD,KAAK,OAAQ,CAClDpS,UAAW,SACXpH,UAAuB,EAAIqW,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACrEhD,KAAM,YAMX28C,EAAcE,YAWC,EAAIzxC,EAAYmD,KAAKquC,EAAS,CAChD7nD,UAAuB,EAAIqW,EAAYmD,KAAK,IAAK,CAC/CgJ,KAAMA,EACNrL,OAAQ,SACRuM,IAAK,sBACL1jB,SAAUA,OAfQ,EAAIqW,EAAYmD,KAAKquC,EAAS,CAChD7nD,UAAuB,EAAIqW,EAAYmD,KAAKgH,EAASvS,QAAS,CAC5DvK,MAAO2B,EAAE,mCACT67C,UAAW,UACXlhD,UAAuB,EAAIqW,EAAYmD,KAAK,OAAQ,CAClDxZ,SAAUA,OAapB,CACA2nD,EAAWntC,UAAY,CACrB8H,OAAQmlC,EAAOM,WAAW1nC,WAC1BrgB,SAAU4V,EAAW3H,QAAQqS,IAAID,YAEnC,IAAMwnC,EAAU/xC,EAAQ7H,QAAQ+5C,KAAKtyC,IAAoBA,EAAkB2G,EAAuB,CAAC,kHAkBnG,SAASmrC,IACP,IAAIvhC,EAAoBgiC,EACxB,GAGI,EAAIrsC,EAAStW,oBAFfD,EAAC,EAADA,EACA2Y,EAAM,EAANA,OAEF,GAGI,EAAIhC,EAAMiC,kBAFNtY,EAAQ,EAAd1E,KACAykB,EAAS,EAATA,UAEF,GAGI,EAAI3E,EAAUrf,sBAFhBD,EAAQ,EAARA,SACAymD,EAAkB,EAAlBA,mBAGO7U,IACJ5xC,EAASY,cAAgB,IAAIC,MAAK,SAAAC,GAAC,MAAc,oBAAVA,EAAEC,GAAyB,KAAK,CAAC,GAD3EhC,MAEI2nD,EAAW,CAAC9U,EAAS,CACzBhwC,KAAMgC,EAAE,kBACR7E,OAAoB,EAAI6V,EAAYmD,KAAK8qB,EAAYr2B,QAAS,CAC5D/M,IAAKmyC,KAEL,KAAM,CACRhwC,KAAMgC,EAAE,eACR7E,OAAO,EAAImb,EAAMxZ,gBAAgBV,GAAU,IAC1C,CACD4B,KAAMgC,EAAE,iBACR7E,OAAoB,EAAI6V,EAAYmD,KAAKirB,EAAQx2B,QAAS,CACxDzF,OAAQ/G,EAAS+G,OACjB2C,OAAQ1J,EAAS0J,UAElB,CACD9H,KAAMgC,EAAE,kBACR7E,OAAoB,EAAI6V,EAAYmD,KAAKkrB,EAASz2B,QAAS,CACzDxM,SAAUA,KAEX,CACD4B,KAAMgC,EAAE,gBACR7E,OAAoB,EAAI6V,EAAYmD,KAAKuW,EAAK9hB,QAAS,CACrDjN,KAAM,UACNhB,SAAUyB,EAAS0C,KAAK6e,SAEzB,CACD3f,KAAMgC,EAAE,iBACR7E,OAAO,EAAI0b,EAAO+pB,cAAcxkC,EAAS0C,KAAK+hC,SAC7CzkC,EAASshC,WAAa,CACvB1/B,KAAMgC,EAAE,kBACR7E,OAAoB,EAAI6V,EAAYmD,KAAKkuC,EAAYz5C,QAAS,CAC5D80B,WAAYthC,EAASshC,WACrB/kB,OAAQA,KAER,KAAM,CACR3a,KAAMgC,EAAE,wBACR7E,OAAO,EAAI0b,EAAOyf,kBAAkBl6B,EAAS2mD,cACxB,YAApB3mD,EAAS+G,OAAuB,CACjCnF,KAAMgC,EAAE,sBACR7E,OAAO,EAAI0b,EAAOyf,kBAAkBl6B,EAAS4mD,YAC3C,KAA0B,YAApB5mD,EAAS+G,OAAuB,CACxCnF,KAAMgC,EAAE,sBACR7E,OAAO,EAAI0b,EAAOyf,kBAAkBl6B,EAAS6mD,YAC3C,KAAM,CACRjlD,KAAMgC,EAAE,4BACR7E,OAAoB,EAAI6V,EAAYmD,KAAKgrB,EAAgBv2B,QAAS,CAChEiiB,WAAY,CACV/kB,OAAQ1J,EAAS0J,OACjBglB,aAAc1uB,EAAS0uB,cAEzB1uB,SAAUA,KAEX,CACD4B,KAAMgC,EAAE,kCACR7E,MAAOiB,EAAS0uB,cAAgB,KAC/B,CACD9sB,KAAMgC,EAAE,mCACR7E,MAAO6E,EAAE,qBAAqB2Z,QAAO,EAAIrD,EAAMgjC,iBAAiBl9C,GAAW,YAC1E,CACD4B,KAAMgC,EAAE,cACR7E,OAAoB,EAAI6V,EAAYmD,KAAK8qB,EAAYr2B,QAAS,CAC5D/M,IAAKO,EAAS0C,KAAKjD,OAEpB,CACDmC,KAAMgC,EAAE,gBACR7E,MAAoD,QAA5CylB,EAAqBxkB,EAAS+S,gBAA6C,IAAvByR,GAAiCA,EAAmBsiC,OAAqB,EAAIlyC,EAAYmD,KAAK8qB,EAAYr2B,QAAS,CAC7K/M,IAAKO,EAAS+S,SAAS+zC,MAAMrnD,MAC1B,OACJgC,OAAO+O,SACNyT,GACFyiC,EAASp/C,KAAK,CACZ1F,KAAMgC,EAAE,oBACR7E,OAAoB,EAAI6V,EAAYmD,KAAK8qB,EAAYr2B,QAAS,CAC5D/M,IAAKyE,EAASzE,OAEf,CACDmC,KAAMgC,EAAE,wBACR7E,OAAoB,EAAI6V,EAAYmD,KAAKuW,EAAK9hB,QAAS,CACrDjO,SAAU2F,EAASxE,YAIzB,IACmBukC,EADb8iB,EApHc,SAACtjB,EAAQ7/B,GAC7B,OAAK6/B,EAGE,CAAC,CACN7hC,KAAMgC,EAAE,eACR7E,MAAO0kC,EAAOC,aACb,CACD9hC,KAAMgC,EAAE,sBACR7E,MAAO0kC,EAAOzhC,aACb,CACDJ,KAAMgC,EAAE,kBACR7E,OAAoB,EAAI6V,EAAYmD,KAAKuW,EAAK9hB,QAAS,CACrDjO,SAAUklC,EAAO/jC,YAXZ,EAcX,CAoGqB8jC,CAAcxjC,EAASyjC,OAAQ7/B,GAU5Cw5C,GAAU,EAAI3iC,EAAO4iC,aAAkD,QAApCmJ,EAAiBxmD,EAASonC,YAAqC,IAAnBof,OAA4B,EAASA,EAAelJ,eACzI,OAAoB,EAAI1oC,EAAYiD,MAAMC,EAAK,CAC7CvO,UAAW,MACXhL,SAAU,EAAc,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACzDxH,QAAS,OACTyc,eAAgB,gBAChBxc,WAAY,SACZ1G,UAAuB,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACxD7G,UAAW,cACXqY,GAAI,EACJzf,SAAUqF,EAAE,qBAEQ,YAApB5D,EAAS+G,SAAqC,EAAI6N,EAAYmD,KAAK2B,EAAKlN,QAAS,CACnFzE,IAAK,EACLiW,GAAI,IACJzf,UAAuB,EAAIqW,EAAYmD,KAAKkL,EAAOzW,QAAS,CAC1Dmb,SAAU,UACVppB,SAAUqF,EAAE,iCAEZw5C,EAAQr7C,KAAI,SAAC8e,EAAQ9T,GAAK,OAAkB,EAAI6H,EAAYmD,KAAK2B,EAAKlN,QAAS,CACjFxH,QAAS,OACTC,WAAY,SACZwc,eAAgB,gBAChB1Z,GAAIgF,EAAQ,EAAI,EAChBxO,UAAuB,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CACzDxH,QAAS,OACTC,WAAY,SACZwc,eAAgB,gBAChBljB,SAAU,EAAc,EAAIqW,EAAYmD,KAAK2kC,EAAclwC,QAAS,CAClEqU,OAAQA,EACRm3B,QAAS,CAAC,WACT,GAAGz6B,OAAOsD,EAAO9hB,MAAO,aAA0B,EAAI6V,EAAYmD,KAAK2B,EAAKlN,QAAS,CACtFwV,GAAI,EACJmlB,GAAI,GACJ5oC,UAAuB,EAAIqW,EAAYmD,KAAKmuC,EAAY,CACtDrlC,OAAQA,EACRnL,OAAQ,SACRnX,SAAUsiB,EAAO9hB,WAEJ,EAAI6V,EAAYmD,KAAK2kC,EAAclwC,QAAS,CAC3DqU,OAAQA,EACRm3B,QAAS,CAAC,SACT,GAAGz6B,OAAOsD,EAAO9hB,MAAO,WAAwB,EAAI6V,EAAYmD,KAAK,OAAQ,CAC9EtS,MAAO,CACLgE,WAAY,UAIjBoX,EAAO9hB,MAAM,KAAIq+C,EAAQ/1C,SAAWo/C,GAAkC,EAAI7xC,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACvHhD,KAAM,MACU,EAAIoL,EAAYmD,KAAKsH,EAAO7S,QAAS,CACrDjO,SAAUqF,EAAE,oBACI,EAAIgR,EAAYmD,KAAK,MAAO,CAC5CpS,UAAW,QACXpH,UAAuB,EAAIqW,EAAYmD,KAAK,OAAQ,CAClDxZ,SAAUqF,EAAE,yBAEC,EAAIgR,EAAYmD,KAAK,MAAO,CAC3CpS,UAAW,YACXpH,UApEe0lC,EAoEMyiB,EApEEziB,EAAKliC,KAAI,SAAAkjC,GAClC,OAAoB,EAAIrwB,EAAYmD,KAAK2qB,EAASl2B,QAAS,CACzD04B,eAAgB,MAChBR,UAAW,IACX9iC,KAAMqjC,EAAIrjC,KACVujC,cAAe,kBAAMF,EAAIrjC,IAAI,EAC7BrD,SAAU0mC,EAAIlmC,OACbkmC,EAAIrjC,KACT,QA6DmB,EAAIgT,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC3Dvf,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,MAAO,CAClDpS,UAAW,QACXpH,SAAUqF,EAAE,mBACVmjD,EAAWhlD,KAAI,SAAA2c,GACjB,IACE9c,EAEE8c,EAFF9c,KACA7C,EACE2f,EADF3f,MAEF,OAAoB,EAAI6V,EAAYmD,KAAK2qB,EAASl2B,QAAS,CACzDk4B,UAAW,IACX9iC,KAAMA,EACNrD,SAAUQ,GACT6C,EACL,SAGN,CACAmkD,EAAiBhtC,UAAY,CAAC,EAC9B,IAAMjB,GAAM,EAAIzD,EAAQ7H,SAASqW,EAAYrW,QAAjC,CAA0C+M,IAAqBA,EAAmBqB,EAAuB,CAAC,iFAAkF,yBAA0B,2DAA2D,SAAAtX,GAAK,OAAIA,EAAM+G,MAAMiY,QAAQ,EAAE,IAAE,SAAAhf,GAAK,OAAIA,EAAM+G,MAAMiY,QAAQ,EAAE,G,qCChShV,6DAEbzX,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBi8C,EAClB,IAQI/yC,EARAC,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C0I,EAAUD,EAAuBzI,EAAQ,QACzC+N,EAAOtF,EAAuBzI,EAAQ,QACtCwO,EAAWxO,EAAQ,OACnBwoC,EAAiB//B,EAAuBzI,EAAQ,QAChDwX,EAAW/O,EAAuBzI,EAAQ,OAC1CiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASiyC,EAAM5vC,GACb,IACEq9B,EAIEr9B,EAJFq9B,aACAvrC,EAGEkO,EAHFlO,SACAuP,EAEErB,EAFFqB,SACA3U,EACEsT,EADFtT,QAGAF,GACE,EAAIuW,EAAStW,oBADfD,EAEF,GAAwC,EAAIsQ,EAAOhU,UAAU,MAAK,SAA3D+mD,EAAY,KAAEC,EAAe,KAO9BxE,EAAU,6BAAG,WAAMpzC,GAAC,0FAEhBpG,EAASoG,GAAE,OAEK,OAFL,SAEjB43C,EAAgB,MAAM,uEAEzB,gBANe,sCAOhB,MAAO,EAAc,EAAItyC,EAAYmD,KAAKo8B,EAAe3nC,QAAS,CAChEiM,SAAUA,EACV3U,QAASA,EACT2wC,aAAcA,EACdC,SAjBoB,SAAA31C,GAIpB,OAHAmoD,EAAgB,CACdnoD,MAAAA,KAEK,CACT,EAaEmhC,QAAQ,IACN+mB,IAA6B,EAAIryC,EAAYmD,KAAKoL,EAAS3W,QAAS,CACtEvK,MAAO2B,EAAE,8BACT5B,aAA0B,EAAI4S,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC5DjO,SAAU,EAAc,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACzDjO,SAAUqF,EAAE,qCACG,EAAIgR,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDozB,WAAY,OACZ73B,GAAI,EACJxJ,SAAUqF,EAAE,sCACG,EAAIgR,EAAYiD,MAAMsvC,EAAI,CACzC5oD,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,KAAM,CACjDxZ,SAAUqF,EAAE,wCACG,EAAIgR,EAAYmD,KAAK,KAAM,CAC1CxZ,SAAUqF,EAAE,6CAIlB+hB,QAAS/hB,EAAE,WACXgiB,OAAQhiB,EAAE,UACV6Z,UAAW,kBAAMilC,EAAWuE,EAAaloD,MAAM,EAC/CkmB,SAAU,kBAAMiiC,EAAgB,KAAK,IAEzC,CACAF,EAAMjuC,UAAY,CAChB07B,aAActgC,EAAW3H,QAAQmd,OACjCzgB,SAAUiL,EAAW3H,QAAQsb,KAC7BrP,SAAUtE,EAAW3H,QAAQwb,KAC7BlkB,QAASqQ,EAAW3H,QAAQwb,MAE9Bg/B,EAAMtjD,aAAe,CACnB+wC,aAAc,UACdvrC,SAAU,WAAO,EACjBuP,UAAU,EACV3U,SAAS,GAEX,IAlEgCmV,EAASC,EAkEnCiuC,GAAK,EAAI9yC,EAAQ7H,SAAS,KAArB,CAA2ByH,IAlENgF,EAkEmE,CAAC,+GAlE/CC,IAAOA,EAAMD,EAAQ1K,MAAM,IAkEtB0F,EAlEmCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,Q,yCChB7J,sCAKbnO,EAAQ,EAAUq8C,EAClB,IAoBInzC,EApBAC,EAwBJ,SAAiCa,EAAK2K,GAAe,IAAKA,GAAe3K,GAAOA,EAAInK,WAAc,OAAOmK,EAAO,GAAY,OAARA,GAA+B,kBAARA,GAAmC,oBAARA,EAAsB,MAAO,CAAEvI,QAASuI,GAAS,IAAI4K,EAAQC,EAAyBF,GAAc,GAAIC,GAASA,EAAME,IAAI9K,GAAQ,OAAO4K,EAAMG,IAAI/K,GAAQ,IAAIgL,EAAS,CAAC,EAAOC,EAAwBnV,OAAOC,gBAAkBD,OAAOyK,yBAA0B,IAAK,IAAIvU,KAAOgU,EAAO,GAAY,YAARhU,GAAqB8J,OAAOqM,UAAU+I,eAAe7J,KAAKrB,EAAKhU,GAAM,CAAE,IAAImf,EAAOF,EAAwBnV,OAAOyK,yBAAyBP,EAAKhU,GAAO,KAAUmf,IAASA,EAAKJ,KAAOI,EAAKC,KAAQtV,OAAOC,eAAeiV,EAAQhf,EAAKmf,GAAgBH,EAAOhf,GAAOgU,EAAIhU,EAAQ,CAAIgf,EAAOvT,QAAUuI,EAAS4K,GAASA,EAAMQ,IAAIpL,EAAKgL,GAAW,OAAOA,CAAQ,CAxBtxBK,CAAwBzU,EAAQ,QACzC0I,EAAUD,EAAuBzI,EAAQ,QACzCwI,EAAaC,EAAuBzI,EAAQ,QAC5C07C,EAAejzC,EAAuBzI,EAAQ,QAC9CyiB,EAAWha,EAAuBzI,EAAQ,QAC1CqO,EAAYrO,EAAQ,OACpBw8B,EAAYx8B,EAAQ,OACpB27C,EAAelzC,EAAuBzI,EAAQ,QAC9C47C,EAAOnzC,EAAuBzI,EAAQ,QACtC22B,EAAoBluB,EAAuBzI,EAAQ,QACnDsT,EAAgB7K,EAAuBzI,EAAQ,QAC/CqT,EAAc5K,EAAuBzI,EAAQ,QAC7CwO,EAAWxO,EAAQ,OACnB2wB,EAAQloB,EAAuBzI,EAAQ,OACvCuO,EAAQvO,EAAQ,MAChB6T,EAAgBpL,EAAuBzI,EAAQ,QAC/Cw3B,EAAiB/uB,EAAuBzI,EAAQ,QAChDsgC,EAAS73B,EAAuBzI,EAAQ,QACxC4O,EAAQ5O,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAEpBkJ,EAAY,CAAC,WAAY,YAC/B,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAAS6K,EAAyBF,GAAe,GAAuB,oBAAZW,QAAwB,OAAO,KAAM,IAAIC,EAAoB,IAAID,QAAeE,EAAmB,IAAIF,QAAW,OAAQT,EAA2B,SAAkCF,GAAe,OAAOA,EAAca,EAAmBD,CAAmB,GAAGZ,EAAc,CAG9U,SAAS1K,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,IAAM8xC,EAAmB,SAASA,EAAiBvgD,EAAMjH,GACvD,IAAIoc,EAAYzG,UAAUtO,OAAS,QAAsBqB,IAAjBiN,UAAU,GAAmBA,UAAU,GAAK,GAChFvG,EAAQuG,UAAUtO,OAAS,QAAsBqB,IAAjBiN,UAAU,GAAmBA,UAAU,GAAK,EAC1E5U,EAAM,YAAIqb,EAAUra,KAAI,SAAAjB,GAAC,OAAIA,EAAE4B,KAAKjD,GAAG,KAAC,CAAEO,EAAS0C,KAAKjD,MAAK4O,KAAK,KACxEpH,EAAKK,KAAK,CACRhD,OAAoB,EAAIsQ,EAAYiD,MAAMswB,EAAUpjC,IAAK,CACvD2c,GAA6B,EAAzBC,KAAKC,IAAI,EAAGxS,EAAQ,GACxBpK,QAAS,OACTC,WAAY,SACZwc,eAAgB,aAChBljB,SAAU,EAAc,EAAIqW,EAAYmD,KAAKyH,EAAchT,QAAS,CAClEhD,KAAM,GACNxJ,SAAUA,EACVoc,UAAWA,KACI,EAAIxH,EAAYmD,KAAKowB,EAAUpjC,IAAK,CACnDid,GAAI,OACJzjB,UAAuB,EAAIqW,EAAYmD,KAAKowB,EAAUpjC,IAAK,CACzDU,MAAO,CACLN,MAAO,QAET5G,UAAU,EAAI2b,EAAMxZ,gBAAgBV,GAAU,SAGjDe,GACHhC,MAAOgC,IAELf,EAASzB,SAAS8I,OAAS,GAC7BrH,EAASzB,SAAS6O,SAAQ,SAAAtM,GACxB0mD,EAAiBvgD,EAAMnG,EAAG,GAAF,SAAMsb,GAAS,CAAEpc,IAAWoP,EAAQ,EAC9D,GAEJ,EACA,SAASg4C,EAAoBhwC,GAC3B,IACIpX,EAEEoX,EAFFpX,SACA4G,EACEwQ,EADFxQ,SAEF0c,EAAO1M,EAAyBQ,EAAMvC,GAEtCjR,GACE,EAAIsQ,EAAO/P,YAAYgW,EAASwJ,eADlC/f,EAEF,GAGI,EAAI2W,EAAMiC,kBAFZhd,EAAI,EAAJA,KACAykB,EAAS,EAATA,UAEF,GAA8B,EAAI/P,EAAOhU,UAAU,WAAU,SAAtD+I,EAAO,KAAEw+C,EAAU,KAC1B,GAAoC,EAAIvzC,EAAOhU,WAAU,GAAK,SAAvDwnD,EAAU,KAAEC,EAAa,KAC1B1gD,EAAO,CAAC,CACZ3C,OAAoB,EAAIsQ,EAAYiD,MAAMswB,EAAUpjC,IAAK,CACvDC,QAAS,OACTC,WAAY,SACZ,UAAW,4BACX1G,SAAU,EAAc,EAAIqW,EAAYmD,KAAKuvC,EAAa96C,QAAS,CACjEpH,GAAI,CACF8X,SAAU,OAEG,EAAItI,EAAYmD,KAAKowB,EAAUpjC,IAAK,CACnDid,GAAI,OACJzjB,UAAuB,EAAIqW,EAAYmD,KAAKowB,EAAUpjC,IAAK,CACzDU,MAAO,CACLN,MAAO,QAET5G,SAAUqF,EAAE,wBAGf,WACH7E,MAAO,WACN,CACDuF,OAAoB,EAAIsQ,EAAYiD,MAAMswB,EAAUpjC,IAAK,CACvDC,QAAS,OACTC,WAAY,SACZ,UAAW,2BACX1G,SAAU,EAAc,EAAIqW,EAAYmD,KAAKwvC,EAAK/6C,QAAS,CACzDpH,GAAI,CACF8X,SAAU,OAEG,EAAItI,EAAYmD,KAAKowB,EAAUpjC,IAAK,CACnDid,GAAI,OACJzjB,UAAuB,EAAIqW,EAAYmD,KAAKowB,EAAUpjC,IAAK,CACzDU,MAAO,CACLN,MAAO,QAET5G,SAAUqF,EAAE,uBAGf,UACH7E,MAAO,UACN,CACDuF,OAAoB,EAAIsQ,EAAYiD,MAAMswB,EAAUpjC,IAAK,CACvDC,QAAS,OACTC,WAAY,SACZ,UAAW,+BACX1G,SAAU,EAAc,EAAIqW,EAAYmD,KAAKowB,EAAUpjC,IAAK,CAC1Did,IAAK,EACLvc,MAAO,CACL4J,UAAW,mBAEb9Q,SAAUmpD,GAA0B,EAAI9yC,EAAYmD,KAAKiH,EAAYxS,QAAS,CAC5E0Q,SAAU,aACM,EAAItI,EAAYmD,KAAKkH,EAAczS,QAAS,CAC5D0Q,SAAU,eAEG,EAAItI,EAAYmD,KAAKuqB,EAAkB91B,QAAS,CAC/DpH,GAAI,CACF8X,SAAU,OAEG,EAAItI,EAAYmD,KAAKowB,EAAUpjC,IAAK,CACnDid,GAAI,OACJzjB,UAAuB,EAAIqW,EAAYmD,KAAKowB,EAAUpjC,IAAK,CACzDU,MAAO,CACLN,MAAO,QAET5G,SAAUqF,EAAE,4BAGf,cACH7E,MAAO,eAEL2oD,GACFF,EAAiBvgD,EAAMjH,GAEzB,IAOI8I,EAAU,KACd,GAAgB,YAAZG,EACFH,GAAuB,EAAI8L,EAAYmD,KAAKorB,EAAe32B,QAAS,CAClExM,SAAUA,EACV4G,SAAUA,SAEP,GAAgB,WAAZqC,EACTH,GAAuB,EAAI8L,EAAYmD,KAAKk0B,EAAOz/B,QAAS,CAAC,OACxD,CAEL,IAAMmnB,EAAa1P,EAAYjK,EAAUvb,8BAAwEe,EAAKooD,QAAQC,UACxHhjC,EAAe,IAAIijC,gBACpB7jC,GACHY,EAAa1E,IAAI,UAAW,SAE9B0E,EAAa1E,IAAI,aAAa,EAAIiO,EAAS5hB,SAAS9N,OAAOwE,SAASC,OAAQwwB,EAAY,uBAAuBpW,OAAOskB,mBAAmB54B,MACzIH,GAAuB,EAAI8L,EAAYmD,KAAKsvC,EAAa76C,QAAS,CAChE2B,IAAK,GAAGoP,QAAO,EAAI6Q,EAAS5hB,SAAS9N,OAAOwE,SAASC,OAAQwwB,EAAY,2BAA4B,KAAKpW,OAAOsH,EAAakjC,YAC9HlmC,MAAO,OACPgK,OAAQ,OACRm8B,YAAa,EACbC,OAAQ,CACNrI,OAAQ,IAGd,CACA,OAAoB,EAAIhrC,EAAYmD,KAAKD,EAAKrC,EAAcA,EAAc,CAAC,EAAG6N,GAAO,CAAC,EAAG,CACvF/kB,UAAuB,EAAIqW,EAAYiD,MAAMswB,EAAUgK,KAAM,CAC3DvK,WAAW,EACXtlB,QAAS,EACTkd,QAAS,GACTjhC,SAAU,EAAc,EAAIqW,EAAYmD,KAAKowB,EAAUgK,KAAM,CAC3D9kC,MAAM,EACN8a,GAAI,EACJ3d,GAAI,EACJjM,UAAuB,EAAIqW,EAAYmD,KAAKukB,EAAM9vB,QAAS,CACzDvF,KAAMA,EACNgC,QAASA,EACTi/C,YAAa,WACbh/C,SA9CY,SAAApI,GACR,eAANA,EACF6mD,GAAeD,GAEfD,EAAW3mD,EAEf,EAyCQsE,GAAI,CACF+iD,YAAa,EACbt8B,OAAQ,OACRkc,YAAa,gBAGF,EAAInzB,EAAYmD,KAAKowB,EAAUgK,KAAM,CACpD9kC,MAAM,EACN8a,GAAI,GACJ3d,GAAI,GACJjM,UAAuB,EAAIqW,EAAYmD,KAAKowB,EAAUpjC,IAAK,CACzDU,MAAO,CACLoY,UAAW,OACXgO,OAAQ,OACRge,SAAU,WACVjO,SAAU,UAEZr9B,SAAUuK,WAKpB,CACAs+C,EAAoBruC,UAAY,CAC9B/Y,SAAUmU,EAAW3H,QAAQyI,OAAO2J,WACpChY,SAAUuN,EAAW3H,QAAQsb,MAE/Bs/B,EAAoB1jD,aAAe,CACjCkD,SAAU,WAAO,GAEnB,IA9MgCqS,EAASC,EA8MnCpB,EAAMzD,EAAQ7H,QAAQ2M,IAAIlF,IA9MAgF,EA8M6D,CAAC,4JA9MzCC,IAAOA,EAAMD,EAAQ1K,MAAM,IA8M5B0F,EA9MyCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,Q,qCC/B7J,6DAEbrO,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBq9C,EAClB,IASIn0C,EAAiBsF,EATjBrF,EAASvI,EAAQ,OACjB0I,EAAUD,EAAuBzI,EAAQ,QACzCwI,EAAaC,EAAuBzI,EAAQ,QAC5C8N,EAAarF,EAAuBzI,EAAQ,QAC5C+N,EAAOtF,EAAuBzI,EAAQ,QACtC6I,EAAYJ,EAAuBzI,EAAQ,QAC3CwO,EAAWxO,EAAQ,OACnBwX,EAAW/O,EAAuBzI,EAAQ,OAC1CiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAAS6F,EAAuB3B,EAASC,GAA6C,OAAjCA,IAAOA,EAAMD,EAAQ1K,MAAM,IAAa1D,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,MAAY,CACtL,SAASkvC,EAAWhxC,GAClB,IACErY,EAGEqY,EAHFrY,MACAmK,EAEEkO,EAFFlO,SACAuP,EACErB,EADFqB,SAGA7U,GACE,EAAIuW,EAAStW,oBADfD,EAEF,GAAkD,EAAIsQ,EAAOhU,UAAU,MAAK,SAArEmoD,EAAiB,KAAEC,EAAoB,KACxCC,EAAc,CAAC,CACnBjkD,MAAO,MACPvF,MAAO,WACN,CACDuF,MAAO,MACPvF,MAAO,QAEHggD,EAAkB,6BAAG,WAAMtnC,GAAC,iEAChC6wC,EAAqB,CACnBvpD,MAAO0Y,EAAE/B,OAAO3W,QACf,2CACJ,gBAJuB,sCAKlB2jD,EAAU,6BAAG,WAAMpzC,GAAC,0FAEhBpG,EAASoG,GAAE,OAEU,OAFV,SAEjBg5C,EAAqB,MAAM,uEAE9B,gBANe,sCAOhB,MAAO,EAAc,EAAI1zC,EAAYmD,KAAK0B,EAAWjN,QAAS,CAC5DiM,SAAUA,EACVwF,QAAQ,EACRzU,KAAM,QACNzK,MAAOA,GAAS,UAChBmK,SAAU61C,EACVxgD,SAAUgqD,EAAYxmD,KAAI,SAAAxC,GACxB,OAAoB,EAAIqV,EAAYmD,KAAKuG,EAAgB,CACvDvf,MAAOQ,EAAKR,MACZqG,GAAI,CACFJ,QAAS,SAEXzG,UAAuB,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACxDxH,QAAS,OACTC,WAAY,SACZ1G,UAAuB,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACxDjO,SAAUgB,EAAK+E,WAIvB,MACE+jD,IAAkC,EAAIzzC,EAAYmD,KAAKoL,EAAS3W,QAAS,CAC3EvK,MAAO2B,EAAE,mCACT5B,aAA0B,EAAI4S,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC5DjO,SAAU,EAAc,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACzDgtB,wBAAyB,CACvBC,OAAQ71B,EAAE,wCAAyC,CACjD7E,MAAOwpD,EAAY1nD,MAAK,SAAAC,GAAC,OAAIA,EAAE/B,QAAUspD,EAAkBtpD,KAAK,IAAEuF,YAGvD,EAAIsQ,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDozB,WAAY,OACZ73B,GAAI,EACJxJ,SAAUqF,EAAE,sCACG,EAAIgR,EAAYiD,MAAMsvC,EAAI,CACzC5oD,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,KAAM,CACjDxZ,SAAUqF,EAAE,wCACG,EAAIgR,EAAYmD,KAAK,KAAM,CAC1CxZ,SAAUqF,EAAE,6CAIlB+hB,QAAS/hB,EAAE,WACXgiB,OAAQhiB,EAAE,UACV6Z,UAAW,kBAAMilC,EAAW2F,EAAkBtpD,MAAM,EACpDkmB,SAAU,kBAAMqjC,EAAqB,KAAK,IAE9C,CACAF,EAAWrvC,UAAY,CACrBha,MAAOoV,EAAW3H,QAAQmd,OAC1BzgB,SAAUiL,EAAW3H,QAAQsb,KAC7BrP,SAAUtE,EAAW3H,QAAQwb,MAE/BogC,EAAW1kD,aAAe,CACxB3E,MAAO,UACPmK,SAAU,WAAO,EACjBuP,UAAU,GAEZ,IAAM6F,GAAiB,EAAIjK,EAAQ7H,SAASgI,EAAUhI,QAA/B,CAAwCyH,IAAoBA,EAAkB2G,EAAuB,CAAC,gDAAiD,eAAe,SAAAtX,GAAK,OAAIA,EAAM+G,MAAM+S,QAAQ7E,KAAK8E,SAAS,IAClO8pC,GAAK,EAAI9yC,EAAQ7H,SAAS,KAArB,CAA2B+M,IAAqBA,EAAmBqB,EAAuB,CAAC,iH,qCCxGtG/P,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAQy9C,aAAeA,EACvBz9C,EAAQ09C,UAAY19C,EAAQ29C,iBAAc,EAC1C,IAAIC,EAAUh9C,EAAQ,OAClBwI,EAAaC,EAAuBzI,EAAQ,QAC5Ci9C,EAAQx0C,EAAuBzI,EAAQ,QACvCk9C,EAAYz0C,EAAuBzI,EAAQ,QAC3CgJ,EAAgBP,EAAuBzI,EAAQ,QAC/C+I,EAAgBN,EAAuBzI,EAAQ,QAC/Cm9C,EAAgB10C,EAAuBzI,EAAQ,QAC/Co9C,EAAgB30C,EAAuBzI,EAAQ,QAC/C0O,EAAUjG,EAAuBzI,EAAQ,QACzCq9C,EAAU50C,EAAuBzI,EAAQ,QACzCwO,EAAWxO,EAAQ,OACnBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,IAAM2zC,EAAc,CAClBhmD,KAAMyR,EAAW3H,QAAQyI,OAAO2J,WAChCqG,SAAU9Q,EAAW3H,QAAQsb,KAAKlJ,YAEpC7T,EAAQ29C,YAAcA,EACtB,IAAMD,GAAY,EAAIE,EAAQM,aAAY,iBAAO,CAC/CC,WAAY,CACVrjD,QAAS,sBACT,gBAAiB,CACf6nB,UAAW,oBACXuM,aAAc,kBAEhB,oBAAqB,CACnBvM,UAAW,sBAGfy7B,SAAU,CACRtwC,SAAU,IAEb,IAED,SAAS2vC,EAAapxC,GACpB,IACEgB,EAGEhB,EAHFgB,OACAgxC,EAEEhyC,EAFFgyC,SACAxyB,EACExf,EADFwf,OAEIyyB,EAAUZ,IAEd7kD,GACE,EAAIuW,EAAStW,oBADfD,EAEI+O,EAAU,CAAC,CACfyF,OAAQ,WACRnW,MAAO2B,EAAE,iCACT5B,YAAa4B,EAAE,wCACd,CACDwU,OAAQ,SACRnW,MAAO2B,EAAE,+BACT5B,YAAa4B,EAAE,uCAEjB,OAAoB,EAAIgR,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,EAAc,EAAIqW,EAAYmD,KAAK6wC,EAAMp8C,QAAS,CAC1D7G,UAAW0jD,EAAQC,SACnB/qD,SAAUoU,EAAQ5Q,KAAI,SAAAjB,GAAC,OAAiB,EAAI8T,EAAYiD,MAAMgxC,EAAUr8C,QAAS,CAC/EqrC,QAAQ,EACRz5B,SAAUhG,IAAWtX,EAAEsX,OACvB5S,QAAS,kBAAM4jD,EAAStoD,EAAEsX,OAAO,EACjC7Z,SAAU,EAAc,EAAIqW,EAAYmD,KAAKrD,EAAclI,QAAS,CAClE7G,UAAW0jD,EAAQF,SACnB5qD,SAAuB,aAAbuC,EAAEsX,QAAqC,EAAIxD,EAAYmD,KAAK+wC,EAAct8C,QAAS,CAC3F/G,MAAO,CACLN,MAAkB,aAAXiT,EAAwB4wC,EAAQx8C,QAAQsM,QAAQqV,KAAO,OAC9DjR,SAAU,OAEI,EAAItI,EAAYmD,KAAKgxC,EAAcv8C,QAAS,CAC5D/G,MAAO,CACLN,MAAkB,WAAXiT,EAAsB4wC,EAAQx8C,QAAQsM,QAAQqV,KAAO,OAC5DjR,SAAU,SAGC,EAAItI,EAAYmD,KAAKpD,EAAcnI,QAAS,CAC3DsM,QAAShY,EAAEmB,MACXob,UAAWvc,EAAEkB,gBAEdlB,EAAEsX,OAAO,MACVwe,IAAuB,EAAIhiB,EAAYmD,KAAKsC,EAAQ7N,QAAS,CAC/D9H,WAAW,EACX+T,UAAWL,EACXjR,QAAS,YACThC,MAAO,UACPM,MAAO,CACLkoB,UAAW,IAEbnoB,QAASoxB,EACTr4B,SAAUqF,EAAE,mBAGlB,CAzDAmH,EAAQ09C,UAAYA,EA0DpBD,EAAazvC,UAAY,CACvBX,OAAQjE,EAAW3H,QAAQub,MAAM,CAAC,OAAQ,WAAY,WAAWnJ,WACjEwqC,SAAUj1C,EAAW3H,QAAQsb,KAAKlJ,WAClCgY,OAAQziB,EAAW3H,QAAQsb,KAAKlJ,W,qCCrGrB,6DAEb/T,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAQw+C,kBAAoBA,EAC5Bx+C,EAAAA,aAAkB,EAClB,IAAImJ,EAASvI,EAAQ,OACjByiB,EAAWha,EAAuBzI,EAAQ,QAC1CuO,EAAQvO,EAAQ,MAChBwO,EAAWxO,EAAQ,OACnBs1C,EAAW7sC,EAAuBzI,EAAQ,OAC1CwI,EAAaC,EAAuBzI,EAAQ,QAC5C69C,EAAYp1C,EAAuBzI,EAAQ,QAC3C+O,EAAStG,EAAuBzI,EAAQ,QACxC4O,EAAQ5O,EAAQ,OAChB8O,EAAS9O,EAAQ,OACjB89C,EAAO99C,EAAQ,OACf+9C,EAAU/9C,EAAQ,OAClBiJ,EAAcjJ,EAAQ,OACpBkJ,EAAY,CAAC,QACnB,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAASV,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAASw0C,EAAkBnyC,GACzB,IACE1U,EAIE0U,EAJF1U,KACAuiB,EAGE7N,EAHF6N,SACAnmB,EAEEsY,EAFFtY,KACAg7B,EACE1iB,EADF0iB,iBAEF,GAGI,EAAI3f,EAAStW,oBAFfD,EAAC,EAADA,EACA2Y,EAAM,EAANA,OAGA/c,GACE,EAAI+a,EAAMiC,kBADZhd,KAEImqD,GAAe,EAAIlvC,EAAOmvC,iBAAiBpqD,GACjD,GAAoB,EAAI0U,EAAOhU,UAAU,MAAK,SAAvC2pD,EAAE,KAAEC,EAAK,KACV33B,EAAU,IAAIvN,IAAa,OAATliB,QAA0B,IAATA,OAAkB,EAASA,EAAKuvB,aAAa9uB,OAChFvB,GAAO,EAAIsY,EAAMxZ,gBAAgB,CACrCgC,KAAAA,IAEIqnD,EAAoB,6BAAG,WAAO1rB,EAAQ2rB,GAAO,QAalCC,EAA0B,uEAJ5B,GAI4B,aA4BxC,OA5BwC,cAAzC,WAA0C97C,GAAG,2FACpC,EAAIq7C,EAAUh9C,UAAS,WAC5B,OAAOi9C,EAAKzqD,IAAI8gB,IAAI3R,GAAK23B,KAAI,6BAAC,WAAM9Z,GAAK,yEAIqD,GAF1FppB,EACEopB,EADFppB,KAEIkzB,EAA6B,OAATlzB,QAA0B,IAATA,OAAkB,EAASA,EAAKkzB,kBACvD,YAAhBlzB,EAAKmE,OAAoB,qBACvB+uB,IAAqBA,EAAkBzuB,OAAM,gCACzCsW,EAAQ,CACZmY,kBAAAA,IACA,+CAEIo0B,EAAQtmD,EAAE,4CAA2C,QAChD,QAMwD,kCAC9D,GALI,WAEO,UAAhBhB,EAAKmE,OAAkB,iBACS,OAAlCof,QAAQpiB,MAAM,aAAcnB,GAAM,UAC5BsnD,EAAiB,OAATtnD,QAA0B,IAATA,OAAkB,EAASA,EAAKmB,OACpD,kCAEN,GAAK,4CACb,mDAtB4B,GAuB/B,GAAG,CACD4gD,SAAU,OACV,2CACH,yBA5BcsF,EAA0B,4CAZnCtsC,EAAO,6BAAG,WAAMe,GAAK,uEAEvBoX,EACEpX,EADFoX,kBAEFgE,EAAiB,CACfhE,kBAAAA,IACC,2CACJ,gBAPY,sCAQPo0B,EAAO,6BAAG,WAAMp1B,GAAY,iEAChCpa,EAAOlO,QAAQzI,MAAM+wB,GACrB7P,EAAS6P,GAAc,2CACxB,gBAHY,sCAiCA,aAATh2B,IAAuB+qD,EAAE,iBAI3B,OAJ2B,GAGvB,EAAIpvC,EAAO0vC,kCAAkCN,GAD/CO,EAAS,EAATA,UAEF,SACMH,EAA2BG,GAAU,gDAErCzsC,EAAQ,CACZmY,kBAAmBuI,EAAOvI,mBAAqBk0B,EAAQ3rB,EAAOvI,qBAC9D,4CAEL,gBArDyB,wCA+E1B,IAzBA,EAAI5hB,EAAOzR,YAAW,WAEpB,GAAa,aAAT3D,EAAqB,CACvB,IAAMurD,EAAkB,IAAIzlC,IAAIuN,GAChCk4B,EAAgBlkD,SAAW,0CAC3BkkD,EAAgBxlC,aAAa1E,IAAI,YAAa3gB,EAAKC,KACnD4qD,EAAgBxlC,aAAa1E,IAAI,cAAwB,OAATzd,QAA0B,IAATA,OAAkB,EAASA,EAAKjD,KACjG,IACEgqD,EAAKzqD,IAAI8gB,IAAIuqC,EAAgBtpC,MAAM+kB,MAAK,SAAA5X,GACtC,IACEtrB,EACEsrB,EADFtrB,KAEIuL,EAAM,GAAGoP,OAAO3a,EAAKuL,KAC3B27C,EAAM37C,EACR,GAGF,CAFE,MAAOpK,GACPoiB,QAAQpiB,MAAM,gCAAiCA,EACjD,CACF,CACA,OAAO,WACL+lD,EAAM,KACR,CACF,GAAG,CAAChrD,IAGS,aAATA,IAAwB+qD,EAC1B,MAAO,GAET,IAAMS,EAAe,CACnBC,OAAQ,CACNnyC,OAAQ,2BACR8qC,QAASuG,EAAKe,MAAMnrD,OAAO,CACzBorD,QAASt4B,IACRrS,IACHsjC,YAAa,CACXxkD,UAAWY,EAAKC,IAChBirD,YAAsB,OAAThoD,QAA0B,IAATA,OAAkB,EAASA,EAAKjD,KAEhE6jD,SAAU,CACRrhD,MAAO2B,EAAE,mCAAoC,CAC3ChC,KAAAA,IAEF2hD,KAAM3/C,EAAE,mCACR+hB,QAAS/hB,EAAE,sCACX+Z,QAAS/Z,EAAE,wCAGf+mD,SAAU,CACRvyC,OAAQ,gBACR8qC,QAASuG,EAAKe,MAAMnrD,OAAO,CACzBorD,SAAS,EAAIr8B,EAAS5hB,SAAS2lB,EAAS,YACvCrS,IACHsjC,YAAa,CACXwH,QAASloD,EAAKmoD,WACdhB,GAAAA,GAEFvG,SAAU,CACRrhD,MAAO2B,EAAE,4BAA6B,CACpChC,KAAAA,IAEF2hD,KAAM3/C,EAAE,4BACR+hB,QAAS/hB,EAAE,+BACX+Z,SAAsB,EAAI/I,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAChEvf,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,IAAK,CAChDxZ,SAAUqF,EAAE,kCACG,EAAIgR,EAAYmD,KAAK,IAAK,CACzCxZ,SAAUqF,EAAE,8DAMtB,OAAoB,EAAIgR,EAAYmD,KAAKkpC,EAASz0C,QAASiJ,EAAc,CACvE8B,MAAM,EACNgF,OAAQA,EACRymC,OAAO,EACP8H,aAAa,EACbnlD,UAAW,UACXwsB,QAASA,EACToG,UAAWwxB,EACXgB,kBAAmB9lC,EACnBzN,QAASyN,EACTk+B,aAAc,IACdwG,aAAcA,EACdqB,cAAc,EACdC,cAAc,GACbX,EAAaxrD,IAClB,CACAyqD,EAAkBxwC,UAAYtD,EAAcA,EAAc,CAAC,EAAGi0C,EAAQhB,aAAc,CAAC,EAAG,CACtF5uB,iBAAkB3lB,EAAW3H,QAAQsb,KACrChpB,KAAMqV,EAAW3H,QAAQub,MAAM,CAAC,SAAU,aAAanJ,aAEzD2qC,EAAkB7lD,aAAe,CAC/Bo2B,iBAAkB,WAAO,GAE3B,IAAMF,GAAuC,EAAI1lB,EAAOid,aAAY,SAACqH,EAAOpH,GACtE,IACAtyB,EACE05B,EADF15B,KAEFwkB,EAAO1M,EAAyB4hB,EAAO3jB,GACzC,GAA4B,EAAIX,EAAOhU,UAAmB,SAATpB,EAAkBA,EAAO,UAAS,SAA5EsZ,EAAM,KAAE8yC,EAAS,KACxB,GAAwB,EAAIh3C,EAAOhU,UAAmB,SAATpB,EAAkB,EAAI,GAAE,SAA9D8yB,EAAI,KAAEu5B,EAAO,KACd/B,EAAQ,6BAAG,WAAMgC,GAAG,oEACpBA,IAAQhzC,EAAM,iDAGlB8yC,EAAUE,GAAK,2CAChB,gBALa,sCAMRx0B,EAAM,6BAAG,iFACRxe,EAAQ,CAAF,mDAGE,IAATwZ,EAAU,iDAGdu5B,EAAQ,GAAG,2CACZ,kBARW,mCAiBZ,OANA,EAAIj3C,EAAO2d,qBAAqBT,GAAK,iBAAO,CAC1CwF,OAAAA,EACA8C,eAAgB,WACd,OAAO9H,CACT,EACD,IACY,IAATA,GACkB,EAAIhd,EAAYmD,KAAK,MAAO,CAC9CtS,MAAO,CACL2c,SAAU,KAEZ7jB,UAAuB,EAAIqW,EAAYmD,KAAK2xC,EAAQlB,aAAc,CAChEpwC,OAAQA,EACRwe,OAAQ,KACRwyB,SAAUA,OAII,EAAIx0C,EAAYmD,KAAKwxC,EAAmB9zC,EAAcA,EAAc,CAAC,EAAG6N,GAAO,CAAC,EAAG,CACrGxkB,KAAMsZ,IAEV,IACAwhB,EAAwB7gB,UAAY,CAClCja,KAAMqV,EAAW3H,QAAQub,MAAM,CAAC,OAAQ,SAAU,aAAanJ,WAC/DwS,IAAKjd,EAAW3H,QAAQqS,KAE1B+a,EAAwBl2B,aAAe,CACrC0tB,IAAK,CAAC,GAER,IAAI0Q,EAAWlI,EACf7uB,EAAAA,QAAkB+2B,C,qCC1PlBj3B,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAET8L,OAAOC,eAAeC,EAAS,0BAA2B,CACxDwK,YAAY,EACZuK,IAAK,WACH,OAAOurC,EAAmB7+C,OAC5B,IAEF,IACgCuI,EAD5Bs2C,GAC4Bt2C,EADgBpJ,EAAQ,SACHoJ,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,E,qCCZ1E,6DAEblK,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBugD,EAClB,IAAIp3C,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C4/C,EAAan3C,EAAuBzI,EAAQ,QAC5C2O,EAAoBlG,EAAuBzI,EAAQ,KACnDkX,EAAczO,EAAuBzI,EAAQ,QAC7C8N,EAAarF,EAAuBzI,EAAQ,QAC5C6I,EAAYJ,EAAuBzI,EAAQ,QAC3CwO,EAAWxO,EAAQ,OACnB+O,EAAStG,EAAuBzI,EAAQ,QACxCwX,EAAW/O,EAAuBzI,EAAQ,OAC1CuO,EAAQvO,EAAQ,OAChB4O,EAAQ5O,EAAQ,OAChB8O,EAAS9O,EAAQ,MACjBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAASu2C,EAAel0C,GACtB,IACEtG,EAIEsG,EAJFtG,GACAvS,EAGE6Y,EAHF7Y,SACA0D,EAEEmV,EAFFnV,MACApC,EACEuX,EADFvX,QAGA+D,GACE,EAAIuW,EAAStW,oBADfD,EAGA5E,GACE,EAAIub,EAAMiC,kBADZxd,IAEF,GAA8B,EAAIkV,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAA4C,EAAIzI,EAAOhU,UAAU,MAAK,SAA/DujB,EAAc,KAAEC,EAAiB,KAKlCjG,EAAS,6BAAG,WAAMwD,GAAM,iEACX,OAAjBtE,GAAW,GAAM,kBAET3d,EAAIwsD,eAAe,CACvBnqD,MAAO,CACLyP,GAAAA,EACA26C,YAAaxqC,EAAOJ,OAAOsd,OAC3Bt+B,QAAAA,KAEF,wBACI,EAAIqa,EAAM4K,OAAO,KAAK,uDAE5BpK,EAAOlO,QAAQzI,MAAM,KAAI5B,SAAS,QAGhB,OAHgB,UAElCuhB,EAAkB,MAClB/G,GAAW,GAAO,4EAErB,gBAjBc,sCAkBT+uC,EAAO,6BAAG,WAAOzqC,EAAQ0E,EAASsN,GAAQ,0FAEtCtN,EAAQ1E,GAAO,sDAErBgS,GAAS,EAAI/Y,EAAM5U,aAAa,EAAF,KAAQ,OAEpB,OAFoB,SAEtCqX,GAAW,GAAO,0EAErB,gBARY,0CASP2M,EAAU,CACdrnB,MAAOA,GAAS2B,EAAE,gCAElB5B,YAAa,SAACif,EAAQsE,EAAW0N,GAAQ,OAAkB,EAAIre,EAAYmD,KAAK8K,EAAYrW,QAAS,CACnGjD,UAAW,MACXhL,UAAuB,EAAIqW,EAAYmD,KAAK0B,EAAWjN,QAAS,CAC9DlI,MAAOV,EAAE,4CACTm2B,aAAc,MACd5yB,QAAS,WACTvF,KAAM,SACN,UAAW,aACX8C,WAAW,EACXqZ,WAAW,EACXoc,WAAY,CACV,UAAW,qBAEbp7B,MAAOkiB,EAAOJ,OACdpb,MAAO,CACLw0B,aAAc,GAEhBlwB,OAAQ,QACRb,SAAU,SAAAuO,GACR,IAAMoJ,EAASpJ,EAAE/B,OAAO3W,MAAMo/B,OACxBpZ,GAAS,EAAItK,EAAOkxC,gBAAgB9qC,EAAQjd,GAClD2hB,EAAU9P,EAAcA,EAAc,CAAC,EAAGwL,GAAS,CAAC,EAAG,CACrDJ,OAAAA,EACA+qC,mBAAoB7mC,KAGpBkO,EADElO,GAGO,GAEb,EACA89B,WAAY,SAAAprC,GACV,GAAc,UAAVA,EAAE1W,IAAiB,CACrB0W,EAAEE,iBACF,IAAMkJ,EAASpJ,EAAE/B,OAAO3W,MAAMo/B,OACxBpZ,GAAS,EAAItK,EAAOkxC,gBAAgB9qC,EAAQjd,GAC9CmhB,EACFkO,EAASlO,GAET2mC,EAAQzqC,EAAQxD,EAAWwV,EAE/B,CACF,KAEF,EACFtN,QAAS/hB,EAAE,kBACXgiB,OAAQhiB,EAAE,iBACVqd,OAAQ,CACNJ,OAAQ,GACR+qC,kBAAkB,GAEpBnuC,UAAAA,EACAwH,SAtFe,WACftI,GAAW,GACX+G,EAAkB,KACpB,GAqFMyX,EAAkB,SAAA1jB,GACtBA,EAAEC,kBAEFgM,EAAkB4F,EACpB,EACA,OAAoB,EAAI1U,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,CAAqB,oBAAbA,EAA0BA,EAAS,CACnDuF,QAAAA,EACAyT,KAAM4jB,KACU,EAAIvmB,EAAYiD,MAAMrD,EAAUhI,QAAS,CACzDhH,QAAS21B,EACTx1B,UAAW,cACX,UAAW,0BACXpH,SAAU,CAACuF,GAAuB,EAAI8Q,EAAYmD,KAAKuC,EAAkB9N,QAAS,CAChFhD,KAAM,MACU,EAAIoL,EAAYmD,KAAKwzC,EAAW/+C,QAAS,CACzD/G,MAAO,CACLyX,SAAU,GACV7X,YAAa,KAEbzB,EAAE,mCACJ6f,IAA+B,EAAI7O,EAAYmD,KAAKoL,EAAS3W,QAAS,CACxEvK,MAAOwhB,EAAexhB,MACtBD,YAAayhB,EAAezhB,YAC5B2jB,QAASlC,EAAekC,QACxBC,OAAQnC,EAAemC,OACvB3E,OAAQwC,EAAexC,OACvBxD,UAAWgG,EAAehG,UAC1BwH,SAAUxB,EAAewB,SACzB9f,MAAO,cAGb,CACAmmD,EAAevyC,UAAY,CACzBjI,GAAIqD,EAAW3H,QAAQmd,OAAO/K,WAC9BrgB,SAAU4V,EAAW3H,QAAQqS,IAC7B5c,MAAOkS,EAAW3H,QAAQmd,OAC1B9pB,QAASsU,EAAW3H,QAAQmd,QAE9B2hC,EAAe5nD,aAAe,CAC5BnF,SAAU,KACV0D,MAAO,GACPpC,QAAS,G,oCC3KE,6DAEbgL,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB8gD,EAClB,IAAI33C,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C4iB,EAAQna,EAAuBzI,EAAQ,OACvC2O,EAAoBlG,EAAuBzI,EAAQ,KACnDkX,EAAczO,EAAuBzI,EAAQ,QAC7C8N,EAAarF,EAAuBzI,EAAQ,QAC5C6I,EAAYJ,EAAuBzI,EAAQ,QAC3CwO,EAAWxO,EAAQ,OACnBqO,EAAYrO,EAAQ,OACpBykB,EAAehc,EAAuBzI,EAAQ,OAC9C4O,EAAQ5O,EAAQ,OAChB2T,EAAY3T,EAAQ,OACpBwX,EAAW/O,EAAuBzI,EAAQ,OAC1C+O,EAAStG,EAAuBzI,EAAQ,QACxCuO,EAAQvO,EAAQ,MAChBmgD,EAAqB13C,EAAuBzI,EAAQ,QACpD8O,EAAS9O,EAAQ,OACjBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS82C,EAAQz0C,GACf,IACE7Y,EACE6Y,EADF7Y,SAGAqF,GACE,EAAIuW,EAAStW,oBADfD,EAGA5E,GACE,EAAIub,EAAMiC,kBADZxd,IAGAgB,GACE,EAAIsf,EAAUrf,sBADhBD,SAEF,GAA8B,EAAIkU,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAA4C,EAAIzI,EAAOhU,UAAU,MAAK,SAA/DujB,EAAc,KAAEC,EAAiB,KAClC7jB,EAAUG,EAAS0C,KAAKjD,IACxBssD,EAAS/rD,EAASonC,KAAKt2B,GAKvB2M,EAAS,6BAAG,WAAMwD,GAAM,mGAER,EAAI/G,EAAM8xC,cAAc/qC,EAAQrd,GAAE,OAA3C,KAAHqiC,EAAM,EAAH,MACA,CAAF,qBACCA,EAAG,OAcV,OAZDtpB,GAAW,GACLsvC,EAAO,CACX/6C,KAAM,CACJyiB,YAAY,EAAIvD,EAAa5jB,SAASyU,EAAO0S,aAE/C9L,GAAI,CACFtoB,KAAM0hB,EAAO1hB,OAGb0hB,EAAO1hB,OAASya,EAAUkyC,mBAAmBC,WAC/CF,EAAKpkC,GAAG1Z,IAAM8S,EAAO9S,IAAIgwB,OACzB8tB,EAAKpkC,GAAGukC,aAAenrC,EAAOmrC,cAC/B,UACKptD,EAAIqtD,eAAe,CACvBhrD,MAAO,CACLyP,GAAIi7C,EACJE,KAAAA,EACApsD,QAAAA,KAEF,0DAEF6a,EAAOlO,QAAQzI,MAAM,KAAM5B,SAAS,QAGZ,OAHY,UAEpCwa,GAAW,GACX+G,EAAkB,MAAM,6EAE3B,gBAhCc,sCAiCT4F,EAAU,CACdrnB,MAAO2B,EAAE,yBAET5B,YAAa,SAACif,EAAQsE,EAAW0N,GAY/B,OAAoB,EAAIre,EAAYiD,MAAMgL,EAAYrW,QAAS,CAC7DjD,UAAW,MACXhL,SAAU,EAAc,EAAIqW,EAAYmD,KAAK0B,EAAWjN,QAAS,CAC/DlI,MAAOV,EAAE,8BACTm2B,aAAc,MACd5yB,QAAS,WACTvF,KAAM,aACN,UAAW,oBACX8C,WAAW,EACXqZ,WAAW,EACXic,WAAY/Y,EAAO+Y,YAAcp2B,EAAE,iCACnC6B,MAAO,CACLw0B,aAAc,IAEhBlwB,OAAQ,QACRhL,MAAOkiB,EAAO0S,WACdzqB,SAAU,SAAAuO,GACR,IAAI60C,GAAU,EACRC,GAAiB,EAAIryC,EAAMwc,oBAAoB,CACnDzV,OAAQxL,EAAcA,EAAc,CAAC,EAAGwL,GAAS,CAAC,EAAG,CACnD0S,WAAYlc,EAAE/B,OAAO3W,QAEvB43B,UAAW,CAAC32B,KAEdizB,EAASs5B,GACLtrC,EAAO1hB,OAASya,EAAUkyC,mBAAmBM,UAAYD,IAC3DD,GAAU,GAERrrC,EAAO1hB,OAASya,EAAUkyC,mBAAmBC,UAAalrC,EAAO9S,MACnEm+C,GAAU,GAEP70C,EAAE/B,OAAO3W,MAAMo/B,SAClBmuB,GAAU,EACVr5B,EAASrvB,EAAE,0CAER0oD,GACHr5B,EAAS,IAEX,IAAM+G,EAAap2B,EAAE,qBAAsB,CACzC7E,OAAO,EAAI0b,EAAO2f,kBAAkB3iB,EAAE/B,OAAO3W,SAE/CwmB,EAAU9P,EAAcA,EAAc,CAAC,EAAGwL,GAAS,CAAC,EAAG,CACrD0S,WAAYlc,EAAE/B,OAAO3W,MACrBi7B,WAAAA,EACA4xB,iBAAkBU,IAEtB,KACe,EAAI13C,EAAYmD,KAAK+zC,EAAmBt/C,QAAS,CAChEyU,OAAQA,EACRsE,UA5Da,SAAAxmB,GACfk0B,EAAS,OACc,EAAI/Y,EAAM8xC,cAAcjtD,EAAO6E,GAEpD2hB,EAAU9P,EAAcA,EAAc,CAAC,EAAG1W,GAAQ,CAAC,EAAG,CACpD6sD,kBAAkB,KAItBrmC,EAAU9P,EAAc,CAAC,EAAG1W,GAC9B,EAmDIk0B,SAAUA,MAGhB,EACAtN,QAAS/hB,EAAE,2BACXgiB,OAAQhiB,EAAE,iBACVqd,OAAQ,CACN0S,WAAY,GACZp0B,KAAMya,EAAUkyC,mBAAmBC,SACnCM,cAAe,GACfL,aAAc,IACdR,kBAAkB,GAEpBnuC,UAAAA,EACAwH,SApHe,WACftI,GAAW,GACX+G,EAAkB,KACpB,GAmHMyX,EAAkB,SAAA1jB,GACtBA,EAAEC,kBAEFgM,EAAkB4F,EACpB,EACA,OAAoB,EAAI1U,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,CAAqB,oBAAbA,EAA0BA,EAAS,CACnDuF,QAAAA,EACAyT,KAAM4jB,KACU,EAAIvmB,EAAYiD,MAAMrD,EAAUhI,QAAS,CACzDhH,QAAS21B,EACTx1B,UAAW,cACX,UAAW,kBACXpH,SAAU,CAACuF,GAAuB,EAAI8Q,EAAYmD,KAAKuC,EAAkB9N,QAAS,CAChFhD,KAAM,MACU,EAAIoL,EAAYmD,KAAKwW,EAAM/hB,QAAS,CACpD/G,MAAO,CACLyX,SAAU,GACV7X,YAAa,KAEbzB,EAAE,4BACJ6f,IAA+B,EAAI7O,EAAYmD,KAAKoL,EAAS3W,QAAS,CACxEvK,MAAOwhB,EAAexhB,MACtBD,YAAayhB,EAAezhB,YAC5B2jB,QAASlC,EAAekC,QACxBC,OAAQnC,EAAemC,OACvB3E,OAAQwC,EAAexC,OACvBxD,UAAWgG,EAAehG,UAC1BwH,SAAUxB,EAAewB,SACzB9f,MAAO,cAGb,CACA0mD,EAAQ9yC,UAAY,CAClBxa,SAAU4V,EAAW3H,QAAQqS,KAE/BgtC,EAAQnoD,aAAe,CACrBnF,SAAU,K,qCCxMZsM,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB2hD,EAClB,IAAIv4C,EAAaC,EAAuBzI,EAAQ,QAC5C8N,EAAarF,EAAuBzI,EAAQ,QAC5C6I,EAAYJ,EAAuBzI,EAAQ,QAC3CwO,EAAWxO,EAAQ,OACnBqO,EAAYrO,EAAQ,OACpBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS23C,EAAkBt1C,GACzB,IACE6J,EAIE7J,EAJF6J,OACAsE,EAGEnO,EAHFmO,UACA0N,EAEE7b,EAFF6b,SACA05B,EACEv1C,EADFu1C,aAGA/oD,GACE,EAAIuW,EAAStW,oBADfD,EAEIgpD,EAAmB,CACvB,IAAKhpD,EAAE,8BACP,IAAKA,EAAE,4BACP,IAAKA,EAAE,4BACP,IAAKA,EAAE,+BAET,OAAoB,EAAIgR,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,EAAc,EAAIqW,EAAYmD,KAAK0B,EAAWjN,QAAS,CAC/DyR,QAAQ,EACR3Z,MAAOV,EAAE,0BACTm2B,aAAc,MACd5yB,QAAS,WACTvF,KAAM,OACN,UAAW,kBACX8C,WAAW,EACX3F,MAAOkiB,EAAO1hB,KACd2J,SAAU,SAAAuO,GACRwb,EAAS,IACT1N,EAAU9P,EAAcA,EAAc,CAAC,EAAGwL,GAAS,CAAC,EAAG,CACrD1hB,KAAMkY,EAAE/B,OAAO3W,MACf6sD,kBAAkB,IAEtB,EACAnmD,MAAO,CACLw0B,aAAc,IAEhB/b,YAAa,CAAC,EACd3f,SAAUouD,EAAa5qD,KAAI,SAAA2c,GACzB,IACE9c,EAEE8c,EAFF9c,KACA7C,EACE2f,EADF3f,MAEF,OAAoB,EAAI6V,EAAYmD,KAAKvD,EAAUhI,QAAS,CAC1DzN,MAAOA,EACPR,SAAUqD,GACT7C,EACL,MACEkiB,EAAO1hB,OAASya,EAAUkyC,mBAAmBC,UAAY,EAAc,EAAIv3C,EAAYmD,KAAK0B,EAAWjN,QAAS,CAClHyR,QAAQ,EACR3Z,MAAOV,EAAE,8BACTm2B,aAAc,MACd5yB,QAAS,WACTvF,KAAM,OACN8C,WAAW,EACX3F,MAAOkiB,EAAOmrC,aACdljD,SAAU,SAAAuO,GAAC,OAAI8N,EAAU9P,EAAcA,EAAc,CAAC,EAAGwL,GAAS,CAAC,EAAG,CACpEmrC,aAAc30C,EAAE/B,OAAO3W,QACtB,EACH0G,MAAO,CACLw0B,aAAc,IAEhB/b,YAAa,CAAC,EACd3f,SAAUsM,OAAOmE,KAAK49C,GAAkB7qD,KAAI,SAAAu8B,GAAI,OAAiB,EAAI1pB,EAAYmD,KAAKvD,EAAUhI,QAAS,CACvGzN,MAAOu/B,EACP//B,SAAU,GAAGgf,OAAOqvC,EAAiBtuB,GAAO,OAAO/gB,OAAO+gB,IACzDA,EAAK,OACO,EAAI1pB,EAAYmD,KAAK0B,EAAWjN,QAAS,CACxDlI,MAAOV,EAAE,sBACTm2B,aAAc,MACd5yB,QAAS,WACTvF,KAAM,MACN,UAAW,qBACX8C,WAAW,EACXqZ,WAAW,EACXhf,MAAOkiB,EAAO9S,IACd6rB,WAAYp2B,EAAE,wBACd6B,MAAO,CACLw0B,aAAc,IAEhB/wB,SAAU,SAAAuO,GACR8N,EAAU9P,EAAcA,EAAc,CAAC,EAAGwL,GAAS,CAAC,EAAG,CACrD9S,IAAKsJ,EAAE/B,OAAO3W,MACd6sD,kBAAmBn0C,EAAE/B,OAAO3W,MAAMo/B,UAE/B1mB,EAAE/B,OAAO3W,MAAMo/B,OAGlBlL,EAAS,IAFTA,EAASrvB,EAAE,yCAIf,OAGN,CACA8oD,EAAkB3zC,UAAY,CAC5BkI,OAAQ9M,EAAW3H,QAAQyI,OAC3B03C,aAAcx4C,EAAW3H,QAAQwM,MACjCuM,UAAWpR,EAAW3H,QAAQsb,KAC9BmL,SAAU9e,EAAW3H,QAAQsb,MAE/B4kC,EAAkBhpD,aAAe,CAC/Bud,OAAQ,CAAC,EACT0rC,aAAc,CAAC,CACb/qD,KAAM,WACN7C,MAAOib,EAAUkyC,mBAAmBC,UACnC,CACDvqD,KAAM,uCACN7C,MAAOib,EAAUkyC,mBAAmBW,OAEtCtnC,UAAW,WAAO,EAClB0N,SAAU,WAAO,E,qCC/HN,6DAEbpoB,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB+hD,EAClB,IAAI54C,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5CqxB,EAAU5oB,EAAuBzI,EAAQ,QACzC2O,EAAoBlG,EAAuBzI,EAAQ,KACnD0O,EAAUjG,EAAuBzI,EAAQ,QACzCwO,EAAWxO,EAAQ,OACnBwX,EAAW/O,EAAuBzI,EAAQ,OAC1C+O,EAAStG,EAAuBzI,EAAQ,QACxC4O,EAAQ5O,EAAQ,OAChBuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAAS+3C,EAAkBxpD,GACzB,IACEM,GACE,EAAIuW,EAAStW,oBADfD,EAEF,GAA8B,EAAIsQ,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAA4C,EAAIzI,EAAOhU,UAAU,MAAK,SAA/DujB,EAAc,KAAEC,EAAiB,KAEtC5S,EAIExN,EAJFwN,GACA+P,EAGEvd,EAHFud,OACAtiB,EAEE+E,EAFF/E,SACAsB,EACEyD,EADFzD,QAGAb,GACE,EAAIub,EAAMiC,kBADZxd,IAEF,GAAI6hB,IAAWniB,OAAOwE,SAAS6pD,SAC7B,MAAO,GAET,IAIMtvC,EAAS,6BAAG,8EACC,OAAjBd,GAAW,GAAM,kBAET3d,EAAIguD,kBAAkB,CAC1B3rD,MAAO,CACLyP,GAAAA,EACA26C,YAAa5qC,EACbhhB,QAAAA,KAEF,wBACI,EAAIqa,EAAM4K,OAAO,KAAK,uDAE5BpK,EAAOlO,QAAQzI,MAAM,KAAI5B,SAAS,QAGhB,OAHgB,UAElCuhB,EAAkB,MAClB/G,GAAW,GAAO,4EAErB,kBAjBc,mCAkBT2M,EAAU,CACdrnB,MAAO2B,EAAE,mCACT5B,YAAa4B,EAAE,yCACf+hB,QAAS/hB,EAAE,kBACX6Z,UAAAA,EACAwH,SA3Be,WACftI,GAAW,GACX+G,EAAkB,KACpB,GA0BMle,EAAU,SAAAiS,GACdA,EAAEC,kBACFgM,EAAkB4F,EACpB,EACA,OAAoB,EAAI1U,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,CAAqB,oBAAbA,EAA0BA,EAAS,CACnDuF,QAAAA,EACAyT,KAAM/R,KACU,EAAIoP,EAAYiD,MAAMwC,EAAQ7N,QAAS,CACvDygD,KAAM,MACNznD,QAASA,EACTgE,KAAM,QACN7D,UAAW,cACXR,MAAO,QACP,UAAW,6BACX5G,SAAU,CAACuF,GAAuB,EAAI8Q,EAAYmD,KAAKuC,EAAkB9N,QAAS,CAChFhD,KAAM,MACU,EAAIoL,EAAYmD,KAAKilB,EAAQxwB,QAAS,CACtD/G,MAAO,CACLyX,SAAU,MAEVtZ,EAAE,sCACJ6f,IAA+B,EAAI7O,EAAYmD,KAAKoL,EAAS3W,QAAS,CACxEvK,MAAOwhB,EAAexhB,MACtBD,YAAayhB,EAAezhB,YAC5B2jB,QAASlC,EAAekC,QACxB1E,OAAQwC,EAAexC,OACvBxD,UAAWgG,EAAehG,UAC1BwH,SAAUxB,EAAewB,aAG/B,CACA6nC,EAAkB/zC,UAAY,CAC5BjI,GAAIqD,EAAW3H,QAAQmd,OAAO/K,WAC9BiC,OAAQ1M,EAAW3H,QAAQmd,OAAO/K,WAClCrgB,SAAU4V,EAAW3H,QAAQqS,IAC7Bhf,QAASsU,EAAW3H,QAAQmd,QAE9BmjC,EAAkBppD,aAAe,CAC/BnF,SAAU,KACVsB,QAAS,G,qCCzGE,6DAEbgL,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBmiD,EAClB,IAAIh5C,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5CqxB,EAAU5oB,EAAuBzI,EAAQ,QACzC2O,EAAoBlG,EAAuBzI,EAAQ,KACnD6I,EAAYJ,EAAuBzI,EAAQ,QAC3CwO,EAAWxO,EAAQ,OACnB4O,EAAQ5O,EAAQ,OAChB2T,EAAY3T,EAAQ,OACpBwhD,EAAiB/4C,EAAuBzI,EAAQ,QAChD+O,EAAStG,EAAuBzI,EAAQ,QACxCiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASm4C,EAAW91C,GAClB,IACMg2C,EAGFh2C,EAHFtG,GACAI,EAEEkG,EAFFlG,KACA3S,EACE6Y,EADF7Y,SAGAqF,GACE,EAAIuW,EAAStW,oBADfD,EAGA5E,GACE,EAAIub,EAAMiC,kBADZxd,IAGAgB,GACE,EAAIsf,EAAUrf,sBADhBD,SAEF,GAA8B,EAAIkU,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAA4C,EAAIzI,EAAOhU,UAAU,MAAK,SAA/DujB,EAAc,KAAEC,EAAiB,KAClC7jB,EAAUG,EAAS0C,KAAKjD,IACxBssD,EAAS/rD,EAASonC,KAAKt2B,GACvBlP,EAAOsP,EAAKyiB,WAKZlW,EAAS,6BAAG,8EACC,OAAjBd,GAAW,GAAM,kBAET3d,EAAIquD,kBAAkB,CAC1BhsD,MAAO,CACLyP,GAAIi7C,EACJqB,OAAAA,EACAvtD,QAAAA,KAEF,sDAEF6a,EAAOlO,QAAQzI,MAAM,KAAM5B,SAAS,OAGlB,OAHkB,SAEpCuhB,EAAkB,MAClB/G,GAAW,GAAO,0EAErB,kBAhBc,mCAiBT2M,EAAU,CACdgkC,QAAS1rD,EACTK,MAAO2B,EAAE,4BACT5B,YAAa4B,EAAE,iCAAkC,CAC/ChC,KAAM,MAAM2b,OAAO3b,EAAM,UAE3B2rD,mBAAoB3pD,EAAE,kCAAmC,CACvDhC,KAAAA,IAEF+jB,QAAS/hB,EAAE,qBACXgiB,OAAQhiB,EAAE,6BACV6Z,UAAAA,EACAwH,SAjCe,WACftI,GAAW,GACX+G,EAAkB,KACpB,GAgCMyX,EAAkB,SAAA1jB,GACtBA,EAAEC,kBACFgM,EAAkB4F,EACpB,EACA,OAAoB,EAAI1U,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,CAAqB,oBAAbA,EAA0BA,EAAS,CACnDuF,QAAAA,EACAyT,KAAM4jB,KACU,EAAIvmB,EAAYiD,MAAMrD,EAAUhI,QAAS,CACzDhH,QAAS21B,EACTx1B,UAAW,cACX,UAAW,qBACXpH,SAAU,CAACuF,GAAuB,EAAI8Q,EAAYmD,KAAKuC,EAAkB9N,QAAS,CAChFhD,KAAM,MACU,EAAIoL,EAAYmD,KAAKilB,EAAQxwB,QAAS,CACtD/G,MAAO,CACLyX,SAAU,GACV7X,YAAa,KAEbzB,EAAE,+BACJ6f,IAA+B,EAAI7O,EAAYmD,KAAKo1C,EAAe3gD,QAAS,CAC9E8gD,QAAS7pC,EAAe6pC,QACxBrrD,MAAOwhB,EAAexhB,MACtBD,YAAayhB,EAAezhB,YAC5BurD,mBAAoB9pC,EAAe8pC,mBACnC5nC,QAASlC,EAAekC,QACxBC,OAAQnC,EAAemC,OACvB3E,OAAQwC,EAAexC,OACvBxD,UAAWgG,EAAehG,UAC1BwH,SAAUxB,EAAewB,aAG/B,CACAioC,EAAWn0C,UAAY,CACrBjI,GAAIqD,EAAW3H,QAAQmd,OAAO/K,WAC9B1N,KAAMiD,EAAW3H,QAAQyI,OAAO2J,WAChCrgB,SAAU4V,EAAW3H,QAAQqS,KAE/BquC,EAAWxpD,aAAe,CACxBnF,SAAU,K,qCChHC,6DAEbsM,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkByiD,EAClB,IAAIt5C,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5CgO,EAAQvF,EAAuBzI,EAAQ,QACvC2O,EAAoBlG,EAAuBzI,EAAQ,KACnDkX,EAAczO,EAAuBzI,EAAQ,QAC7C8N,EAAarF,EAAuBzI,EAAQ,QAC5C6I,EAAYJ,EAAuBzI,EAAQ,QAC3CqO,EAAYrO,EAAQ,OACpBwO,EAAWxO,EAAQ,OACnBykB,EAAehc,EAAuBzI,EAAQ,OAC9C4O,EAAQ5O,EAAQ,OAChB2T,EAAY3T,EAAQ,OACpBwX,EAAW/O,EAAuBzI,EAAQ,OAC1C+O,EAAStG,EAAuBzI,EAAQ,QACxCuO,EAAQvO,EAAQ,MAChBmgD,EAAqB13C,EAAuBzI,EAAQ,QACpD8O,EAAS9O,EAAQ,OACjBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAASy4C,EAAWp2C,GAClB,IACMg2C,EAIFh2C,EAJFtG,GACAI,EAGEkG,EAHFlG,KACA2W,EAEEzQ,EAFFyQ,GACAtpB,EACE6Y,EADF7Y,SAGAqF,GACE,EAAIuW,EAAStW,oBADfD,EAGA5E,GACE,EAAIub,EAAMiC,kBADZxd,IAGAgB,GACE,EAAIsf,EAAUrf,sBADhBD,SAEF,GAA8B,EAAIkU,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAA4C,EAAIzI,EAAOhU,UAAU,MAAK,SAA/DujB,EAAc,KAAEC,EAAiB,KAClC7jB,EAAUG,EAAS0C,KAAKjD,IACxBssD,EAAS/rD,EAASonC,KAAKt2B,GACvBlP,EAAOsP,EAAKyiB,WAKZlW,EAAS,6BAAG,WAAMwD,GAAM,mGAER,EAAI/G,EAAM8xC,cAAc/qC,EAAQrd,GAAE,OAA3C,KAAHqiC,EAAM,EAAH,MACA,CAAF,qBACCA,EAAG,OAeV,OAbDtpB,GAAW,GACLsvC,EAAO,CACXn7C,GAAIs8C,EACJl8C,KAAM,CACJyiB,YAAY,EAAIvD,EAAa5jB,SAASyU,EAAO0S,aAE/C9L,GAAI,CACFtoB,KAAM0hB,EAAO1hB,OAGb0hB,EAAO1hB,OAASya,EAAUkyC,mBAAmBC,WAC/CF,EAAKpkC,GAAG1Z,IAAM8S,EAAO9S,IACrB89C,EAAKpkC,GAAGukC,aAAenrC,EAAOmrC,cAC/B,UACKptD,EAAIyuD,kBAAkB,CAC1BpsD,MAAO,CACLyP,GAAIi7C,EACJE,KAAAA,EACApsD,QAAAA,KAEF,0DAEF6a,EAAOlO,QAAQzI,MAAM,KAAM5B,SAAS,QAGZ,OAHY,UAEpCwa,GAAW,GACX+G,EAAkB,MAAM,6EAE3B,gBAjCc,sCAkCT4F,EAAU,CACdrnB,MAAO2B,EAAE,4BAET5B,YAAa,SAACif,EAAQsE,EAAW0N,GAW/B,OAAoB,EAAIre,EAAYiD,MAAMgL,EAAYrW,QAAS,CAC7DjD,UAAW,MACXhL,SAAU,EAAc,EAAIqW,EAAYmD,KAAK0B,EAAWjN,QAAS,CAC/DlI,MAAOV,EAAE,8BACTm2B,aAAc,MACd5yB,QAAS,WACTvF,KAAM,aACN,UAAW,oBACX8C,WAAW,EACXqZ,WAAW,EACXic,WAAY/Y,EAAO+Y,YAAcp2B,EAAE,iCACnC6B,MAAO,CACLw0B,aAAc,IAEhBlwB,OAAQ,QACRhL,MAAOkiB,EAAO0S,WACdzqB,SAAU,SAAAuO,GACR,IAAI60C,GAAU,EACVrrC,EAAO1hB,OAASya,EAAUkyC,mBAAmBC,UAAalrC,EAAO9S,MACnEm+C,GAAU,GAEP70C,EAAE/B,OAAO3W,MAAMo/B,SAClBmuB,GAAU,EACVr5B,EAASrvB,EAAE,0CAER0oD,GACHr5B,EAAS,IAEX,IAAM+G,EAAap2B,EAAE,qBAAsB,CACzC7E,OAAO,EAAI0b,EAAO2f,kBAAkB3iB,EAAE/B,OAAO3W,SAE/CwmB,EAAU9P,EAAcA,EAAc,CAAC,EAAGwL,GAAS,CAAC,EAAG,CACrD0S,WAAYlc,EAAE/B,OAAO3W,MACrBi7B,WAAAA,EACA4xB,iBAAkBU,IAEtB,KACe,EAAI13C,EAAYmD,KAAK+zC,EAAmBt/C,QAAS,CAChEyU,OAAQA,EACRsE,UAjDa,SAAAxmB,IACQ,EAAImb,EAAM8xC,cAAcjtD,EAAO6E,GAEpD2hB,EAAU9P,EAAcA,EAAc,CAAC,EAAG1W,GAAQ,CAAC,EAAG,CACpD6sD,kBAAkB,KAItBrmC,EAAU9P,EAAc,CAAC,EAAG1W,GAC9B,EAyCIk0B,SAAUA,MAGhB,EACAtN,QAAS/hB,EAAE,8BACXgiB,OAAQhiB,EAAE,6BACVuB,MAAO,UACP8b,OAAQ,CACN0S,WAAqB,MAAT/xB,EAAeA,EAAOA,EAAKgS,QAAQ,OAAQ,IAAIA,QAAQ,OAAQ,IAC3ErU,KAAMsoB,EAAGtoB,MAAQya,EAAUkyC,mBAAmBM,SAC9CC,cAAe5kC,EAAG4kC,eAAiB,GACnCL,aAAcvkC,EAAGukC,cAAgB,IACjCj+C,IAAK0Z,EAAG1Z,KAAO,GACfy9C,kBAAkB,GAEpBnuC,UAAAA,EACAwH,SA5Ge,WACftI,GAAW,GACX+G,EAAkB,KACpB,GA2GMyX,EAAkB,SAAA1jB,GACtBA,EAAEC,kBAEFgM,EAAkB4F,EACpB,EACA,OAAoB,EAAI1U,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,CAAqB,oBAAbA,EAA0BA,EAAS,CACnDuF,QAAAA,EACAyT,KAAM4jB,KACU,EAAIvmB,EAAYiD,MAAMrD,EAAUhI,QAAS,CACzDhH,QAAS21B,EACTx1B,UAAW,cACX,UAAW,qBACXpH,SAAU,CAACuF,GAAuB,EAAI8Q,EAAYmD,KAAKuC,EAAkB9N,QAAS,CAChFhD,KAAM,MACU,EAAIoL,EAAYmD,KAAK4B,EAAMnN,QAAS,CACpD/G,MAAO,CACLyX,SAAU,GACV7X,YAAa,KAEbzB,EAAE,+BACJ6f,IAA+B,EAAI7O,EAAYmD,KAAKoL,EAAS3W,QAAS,CACxEvK,MAAOwhB,EAAexhB,MACtBD,YAAayhB,EAAezhB,YAC5B2jB,QAASlC,EAAekC,QACxBxgB,MAAOse,EAAete,MACtBygB,OAAQnC,EAAemC,OACvB3E,OAAQwC,EAAexC,OACvBxD,UAAWgG,EAAehG,UAC1BwH,SAAUxB,EAAewB,aAG/B,CACAuoC,EAAWz0C,UAAY,CACrBjI,GAAIqD,EAAW3H,QAAQmd,OAAO/K,WAC9B1N,KAAMiD,EAAW3H,QAAQyI,OAAO2J,WAChCiJ,GAAI1T,EAAW3H,QAAQyI,OAAO2J,WAC9BrgB,SAAU4V,EAAW3H,QAAQqS,KAE/B2uC,EAAW9pD,aAAe,CACxBnF,SAAU,K,qCCvMZsM,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB2iD,EAClB,IAAIv5C,EAAaC,EAAuBzI,EAAQ,QAC5C6I,EAAYJ,EAAuBzI,EAAQ,QAC3C+I,EAAgBN,EAAuBzI,EAAQ,QAC/CgJ,EAAgBP,EAAuBzI,EAAQ,QAC/CwO,EAAWxO,EAAQ,OACnBqxB,EAAU5oB,EAAuBzI,EAAQ,QACzCgiD,EAAWv5C,EAAuBzI,EAAQ,OAC1CiiD,EAAqBx5C,EAAuBzI,EAAQ,QACpDiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAAS24C,EAAct2C,GACrB,IACEgwB,EAGEhwB,EAHFgwB,KACAvmB,EAEEzJ,EAFFyJ,OACA7gB,EACEoX,EADFpX,SAGA4D,GACE,EAAIuW,EAAStW,oBADfD,EAEF,OAAoB,EAAIgR,EAAYmD,KAAK41C,EAASnhD,QAAS,CACzD,UAAW,iBACXvI,QAAS,CAET,SAAAya,GACE,IAAI8P,EAEFnW,EACEqG,EADFrG,MAEF,OAAoB,EAAIzD,EAAYmD,KAAK61C,EAAmBphD,QAAS,CACnEsE,GAAIs2B,EAAKt2B,GACT+P,OAAQA,EAAO9hB,MACfc,QAAsB,OAAbG,QAAkC,IAAbA,GAAoE,QAApCwuB,EAAiBxuB,EAAS0C,YAAqC,IAAnB8rB,OAAtD,EAA2FA,EAAe/uB,IAC9JlB,SAAU,SAAAytB,GACR,IACEzU,EACEyU,EADFzU,KAEF,OAAoB,EAAI3C,EAAYiD,MAAMrD,EAAUhI,QAAS,CAC3DiM,SAAUoI,EAAO2+B,YACjB5mC,OAAO,EACPpT,QAAS,SAAAiS,GACPY,IACAd,EAAKE,EACP,EACA,UAAW,sBACXlZ,SAAU,EAAc,EAAIqW,EAAYmD,KAAKrD,EAAclI,QAAS,CAClE/G,MAAO,CACLoT,SAAU,GACVxT,YAAa,GAEf9G,UAAuB,EAAIqW,EAAYmD,KAAKilB,EAAQxwB,QAAS,CAAC,MAC/C,EAAIoI,EAAYmD,KAAKpD,EAAcnI,QAAS,CAC3DsM,QAASlV,EAAE,qBAEZ,SACL,GAEJ,IAEJ,CACA8pD,EAAc30C,UAAY,CACxBquB,KAAMjzB,EAAW3H,QAAQyI,OAAO2J,WAChCiC,OAAQ1M,EAAW3H,QAAQyI,OAAO2J,WAClC5e,SAAUmU,EAAW3H,QAAQyI,OAAO2J,YAEtC8uC,EAAchqD,aAAe,CAAC,C,qCCtEjB,uBAEbmH,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB8iD,EAClB,IAAI35C,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5CmiD,EAAS15C,EAAuBzI,EAAQ,QACxCoT,EAAW3K,EAAuBzI,EAAQ,QAC1CwO,EAAWxO,EAAQ,OACnBoiD,EAAO35C,EAAuBzI,EAAQ,QACtCq6C,EAASr6C,EAAQ,OACjBuO,EAAQvO,EAAQ,OAChBqiD,EAAe55C,EAAuBzI,EAAQ,QAC9CiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAAS84C,EAAaz2C,GACpB,IACEyJ,EAEEzJ,EAFFyJ,OACAm3B,EACE5gC,EADF4gC,QAGAp0C,GACE,EAAIuW,EAAStW,oBADfD,EAGOhC,EAELif,EAFF9hB,MACAwqB,EACE1I,EADF0I,aAEF,KAAK,EAAIrP,EAAMuP,yBAAyB7nB,GACtC,OAAO,KAET,IAAIqsD,EAAa,KACbC,EAAY,KAEdxkC,EAEEH,EAFFG,QACAykC,EACE5kC,EADF4kC,YAEF,KAAK,EAAIj0C,EAAMk0C,uBAAuBxsD,GAAO,CAC3C,MAKI2nB,EAJF8kC,IAAG,aAGC,CAAC,EAAC,EAFJC,EAAQ,EAARA,SACAphC,EAAE,EAAFA,GAIF+gC,EADEK,GAAmB,cAAPphC,GACY,EAAItY,EAAYmD,KAAKgH,EAASvS,QAAS,CAC/DvK,MAAO2B,EAAE,2BACTrF,UAAuB,EAAIqW,EAAYmD,KAAKg2C,EAAKvhD,QAAS,CACxDrH,MAAO,eAIe,EAAIyP,EAAYmD,KAAKgH,EAASvS,QAAS,CAC/DvK,MAAO2B,EAAE,oCACTrF,UAAuB,EAAIqW,EAAYmD,KAAKg2C,EAAKvhD,QAAS,CACxDrH,MAAO,WAIf,CAEE+oD,EADExkC,GACuB,EAAI9U,EAAYmD,KAAKi2C,EAAaxhD,QAAS,CAClE+hD,YAAaJ,KAGU,EAAIv5C,EAAYmD,KAAKgH,EAASvS,QAAS,CAC9DvK,MAAO2B,EAAE,2BACTrF,UAAuB,EAAIqW,EAAYmD,KAAK+1C,EAAOthD,QAAS,CAC1D/G,MAAO,CACLN,MAAO,UACP+X,SAAU,GACVzT,WAAY,EACZsY,OAAQ,eAKhB,IAAMtS,EAAQuoC,EAAQj2C,KAAI,SAAAjB,GACxB,MAAU,WAANA,EACKmtD,EAEC,SAANntD,EACKotD,EAEF,IACT,IACA,OAAwBh6C,EAAOyE,cAAa,cAAEzE,EAAO4J,SAAU,MAAI,SAAKrO,IAC1E,CACAo+C,EAAa90C,UAAY,CACvB8H,OAAQmlC,EAAOM,WAAW1nC,WAC1Bo5B,QAAS7jC,EAAW3H,QAAQwM,OAE9B60C,EAAanqD,aAAe,CAC1Bs0C,QAAS,CAAC,SAAU,Q,qCC5FtBntC,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkByjD,EAClB,IAAIr6C,EAAaC,EAAuBzI,EAAQ,QAC5CwO,EAAWxO,EAAQ,OACnBqxB,EAAU5oB,EAAuBzI,EAAQ,QACzCwT,EAAU/K,EAAuBzI,EAAQ,QACzC2I,EAAcF,EAAuBzI,EAAQ,QAC7C22B,EAAoBluB,EAAuBzI,EAAQ,QACnD+N,EAAOtF,EAAuBzI,EAAQ,QACtC2T,EAAY3T,EAAQ,OACpB8iD,EAAcr6C,EAAuBzI,EAAQ,QAC7C+iD,EAAct6C,EAAuBzI,EAAQ,QAC7CuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAASy5C,EAAYvC,GACnB,IACE1vC,GACE,EAAIpC,EAAStW,oBADf0Y,OAEF,GAGI,EAAI+C,EAAUrf,sBAFhBD,EAAQ,EAARA,SACmB6gB,EAAM,EAAzBC,kBAEIC,GAAO,EAAI7G,EAAMy0C,cAAc9tC,EAAQorC,EAAK/6C,KAAKyiB,YAAY,EAAIzZ,EAAMgH,sBAAsBlhB,EAAUuc,IAC7G,OAAoB,EAAI3H,EAAYiD,MAAM6B,EAAKlN,QAAS,CACtDxH,QAAS,OACTC,WAAY,SACZ1G,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,IAAK,CAChDrC,OAAQ,SACRqL,KAAMA,EACNkB,IAAK,sBACLhgB,MAAO8e,EACPxiB,UAAuB,EAAIqW,EAAYmD,KAAKzD,EAAY9H,QAAS,CAC/DjO,UAAuB,EAAIqW,EAAYmD,KAAKoH,EAAQ3S,QAAS,CAAC,QAEjD,EAAIoI,EAAYmD,KAAK22C,EAAYliD,QAASiJ,EAAcA,EAAc,CAAC,EAAGw2C,GAAO,CAAC,EAAG,CACpG1tD,SAAU,SAAA6Y,GACR,IACQowB,EACJpwB,EADFG,KAEF,OAAoB,EAAI3C,EAAYmD,KAAKzD,EAAY9H,QAAS,CAC5DhH,QAASgiC,EACT/uB,SAAUwzC,EAAKzM,YACf,UAAW,qBACXjhD,UAAuB,EAAIqW,EAAYmD,KAAKuqB,EAAkB91B,QAAS,CAAC,IAE5E,MACgB,EAAIoI,EAAYmD,KAAK02C,EAAYjiD,QAASiJ,EAAcA,EAAc,CAAC,EAAGw2C,GAAO,CAAC,EAAG,CACrG1tD,SAAU,SAAAmgB,GACR,IACEnH,EACEmH,EADFnH,KAEF,OAAoB,EAAI3C,EAAYmD,KAAKzD,EAAY9H,QAAS,CAC5DhH,QAAS+R,EACTkB,SAAUwzC,EAAKzM,YACf,UAAW,qBACXjhD,UAAuB,EAAIqW,EAAYmD,KAAKilB,EAAQxwB,QAAS,CAAC,IAElE,OAGN,CACAgiD,EAAYz1C,UAAY,CACtBymC,YAAarrC,EAAW3H,QAAQwb,MAElCwmC,EAAY9qD,aAAe,CACzB87C,aAAa,E,qCCzEf30C,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAuKA,SAAgCzH,GAI9B,IADI,EAAIiX,EAAMiC,kBADZyH,UAGA,OAAoB,EAAIrP,EAAYmD,KAAK62C,EAAmBn5C,EAAc,CAAC,EAAGnS,IAEhF,OAAoB,EAAIsR,EAAYmD,KAAK82C,EAAkBp5C,EAAc,CAAC,EAAGnS,GAC/E,EA9KA,IAAI6Q,EAAaC,EAAuBzI,EAAQ,QAC5CmjD,EAAS16C,EAAuBzI,EAAQ,QACxCiO,EAAYxF,EAAuBzI,EAAQ,QAC3CoT,EAAW3K,EAAuBzI,EAAQ,QAC1C+N,EAAOtF,EAAuBzI,EAAQ,QACtC4iB,EAAQna,EAAuBzI,EAAQ,QACvC2I,EAAcF,EAAuBzI,EAAQ,QAC7Csf,EAAU7W,EAAuBzI,EAAQ,QACzC6wC,EAAYpoC,EAAuBzI,EAAQ,QAC3CwO,EAAWxO,EAAQ,OACnBqO,EAAYrO,EAAQ,OACpBuO,EAAQvO,EAAQ,OAChB2T,EAAY3T,EAAQ,OACpB4O,EAAQ5O,EAAQ,OAChBoyB,EAAcpyB,EAAQ,OACtB4T,EAAQnL,EAAuBzI,EAAQ,QACvCojD,EAAe36C,EAAuBzI,EAAQ,QAC9CiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAASi6C,EAAa53C,GACpB,IACEyJ,EAGEzJ,EAHFyJ,OACA6I,EAEEtS,EAFFsS,QACAulC,EACE73C,EADF63C,MAEIC,EAASxlC,EAAU,QAAU,OAC/BylC,EAAWF,EAIf,OAHK,EAAIH,EAAOtiD,SAAS2iD,KACvBA,EAAW,GAAG5xC,OAAO2xC,EAAQ,OAAO3xC,OAAOsD,GAAQtD,OAAO0xC,KAExC,EAAIr6C,EAAYmD,KAAKwW,EAAM/hB,QAAS,CACtDuU,KAAMouC,EACNz5C,OAAQ,SACRjQ,MAAO,CACLyX,SAAU,IAEZ0R,UAAW,QACXrwB,SAAU0wD,GACTE,EACL,CASA,SAASC,EAAS1wC,GAChB,IACE/U,EACE+U,EADF/U,cAEF,GAGI,EAAIwQ,EAAStW,oBAFfD,EAAC,EAADA,EACA2Y,EAAM,EAANA,OAEIlS,GAAQ,EAAIuP,EAAUpN,WAC5B,GAGI,EAAI8S,EAAUrf,sBAFhBD,EAAQ,EAARA,SACmB6gB,EAAM,EAAzBC,kBAGF,OADc9gB,EAASonC,KAAKC,MAAM5lC,QAAO,SAAAwqD,GAAI,OAAIA,EAAKpkC,GAAGpoB,MAAQO,EAAS0C,KAAKjD,GAAG,IAAEgC,QAAO,SAAAwqD,GAAI,OAAIA,EAAKpkC,GAAGtoB,OAASya,EAAUkyC,mBAAmBM,QAAQ,IAC5IzqD,KAAI,SAAAkqD,GACf,IAAIoD,EAAa,GACbpD,EAAKpkC,GAAGtoB,OAASya,EAAUkyC,mBAAmBW,KAChDwC,EAAa,MACJpD,EAAKpkC,GAAGtoB,OAASya,EAAUkyC,mBAAmBC,WACvDkD,EAAapD,EAAKpkC,GAAGukC,cAEvB,IAAMh0C,EAAS6zC,EAAKzM,aAA2B,EAAI5qC,EAAYmD,KAAKgH,EAASvS,QAAS,CACpFvK,MAAO2B,EAAE,kCACT67C,UAAW,MACXlhD,UAAuB,EAAIqW,EAAYmD,KAAKzD,EAAY9H,QAAS,CAC/DiM,UAAU,EACVjP,KAAM,QACN/D,MAAO,CACLi6C,cAAe,OAEf7lB,WAAY,EACZ8lB,cAAe,EACf51C,OAAQ,UAEVxL,UAAuB,EAAIqW,EAAYmD,KAAKykC,EAAUhwC,QAAS,CAC7D/G,MAAO,CACL0b,KAAM9W,EAAM+S,QAAQ7E,KAAKE,iBAIf,EAAI7D,EAAYmD,KAAKg3C,EAAaviD,QAASiJ,EAAc,CAAC,EAAGw2C,IAC/E,MAAO,EAAc,EAAIr3C,EAAYiD,MAAM6B,EAAKlN,QAAS,CACvDxH,QAAS,OACTwc,GAAI,EACJ7b,UAAW,iBACX8b,eAAgB,gBAChBxc,WAAY,SACZ1G,SAAU,EAAc,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1DqV,MAAO,CACLC,GAAI,IACJtX,GAAI,KAENxF,QAAS,OACTC,WAAY,SACZ1G,SAAU,EAAc,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACzDqV,MAAO,MACQ,EAAIjN,EAAYmD,KAAKkT,EAAQze,QAAS,CACrDjO,SAAU8wD,KACK,EAAIz6C,EAAYiD,MAAM6B,EAAKlN,QAAS,CACnDwV,GAAI,OACJzjB,SAAU,EAAc,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1D/G,MAAO,CACLN,MAAO,OACP+X,SAAU,IAEZ3e,SAAU,CAAC0tD,EAAKpkC,GAAGtoB,OAASya,EAAUkyC,mBAAmBW,MAAQjpD,EAAE,kBAAmBqoD,EAAKpkC,GAAGtoB,OAASya,EAAUkyC,mBAAmBC,UAAYvoD,EAAE,uBACnI,EAAIgR,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDxH,QAAS,OACTC,WAAY,SACZ1G,SAAU0tD,EAAKpkC,GAAGtoB,OAASya,EAAUkyC,mBAAmBC,WAAyB,EAAIv3C,EAAYmD,KAAKi3C,EAAc,CAClHnuC,OAAQA,EACRouC,MAAOhD,EAAKpkC,GAAG1Z,eAIN,EAAIyG,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDq4B,GAAI,EACJz/B,GAAI,CACFJ,QAAS,CACP8c,GAAI,OACJtX,GAAI,SAGRvF,WAAY,SACZ2/B,SAAU,IACVrmC,UAAuB,EAAIqW,EAAYmD,KAAKwW,EAAM/hB,QAAS,CACzDuU,MAAM,EAAI7G,EAAMy0C,cAAc9tC,EAAQorC,EAAK/6C,KAAKyiB,YAAY,EAAIzZ,EAAMgH,sBAAsBlhB,EAAUuc,IACtG7G,OAAQ,SACRjQ,MAAO,CACLyX,SAAU,IAEZ0R,UAAW,QACXrwB,SAAU0tD,EAAK/6C,KAAKyiB,cAErBs4B,EAAK/6C,KAAKyiB,aAA0B,EAAI/e,EAAYmD,KAAK2B,EAAKlN,QAAS,CACxEjO,SAAUoL,IAA8B,EAAIiL,EAAYmD,KAAK,MAAO,CAClEtS,MAAO,CACLioB,UAAW,SAEbnvB,SAAU6Z,KAEX,aACF,0BAAuC,EAAIxD,EAAYmD,KAAKwH,EAAM/S,QAAS,CAAC,GACjF,GACF,CAhHAwiD,EAAaj2C,UAAY,CACvB8H,OAAQ1M,EAAW3H,QAAQmd,OAAO/K,WAClCqwC,MAAO96C,EAAW3H,QAAQmd,OAAO/K,WACjC8K,QAASvV,EAAW3H,QAAQwb,MAE9BgnC,EAAatrD,aAAe,CAC1BgmB,SAAS,GA2GX0lC,EAASr2C,UAAY,CACnBpP,cAAewK,EAAW3H,QAAQwb,MAEpConC,EAAS1rD,aAAe,CACtBiG,eAAe,GAEjB,IAAMklD,GAAmB,EAAI9wB,EAAY6W,gBAAgBwa,EAAU,oBAC7DR,GAAoB,EAAI7wB,EAAY6W,gBAAgBwa,EAAU,GAAIl1C,EAAMolB,mB,oCCzK9Ez0B,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAQukD,aAAevkD,EAAQihD,aAAejhD,EAAQ2rB,mBAAqB3rB,EAAQ4gD,eAAiB5gD,EAAQwkD,gBAAkBxkD,EAAQykD,2BAAwB,EAC9J,IAGgCz6C,EAH5BiF,EAAYrO,EAAQ,OACpB8jD,GAE4B16C,EAFgBpJ,EAAQ,SAEHoJ,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,GADnFkF,EAAatO,EAAQ,OAIzB,IAAM+jD,EAA4B,SAACzuC,EAAQ0uC,GACzC,GAAI1uC,EAAO1hB,OAASya,EAAUkyC,mBAAmBC,SAAU,CACzD,IAAKlrC,EAAO9S,IACV,OAAO,IAAI6W,MAAM,GAAGzH,OAAOoyC,EAAc,2CAE3C,IAAK1uC,EAAOmrC,aACV,OAAO,IAAIpnC,MAAM,YAAYzH,OAAOoyC,EAAc,2CAEtD,MAAO,GAAI1uC,EAAO1hB,OAASya,EAAUkyC,mBAAmBM,WACjDvrC,EAAOxhB,IACV,OAAO,IAAIulB,MAAM2qC,EAAc,kCAGnC,OAAO,IACT,EACMhE,EAAiB,SAAC9qC,EAAQ8uC,GAC9B,OAAK9uC,EAGDA,EAAOvS,SAAS0L,EAAU41C,0BACrBD,EAAc,mCAAoC,CACvDE,OAAQ71C,EAAU41C,2BAGf,KAPED,EAAc,kCAQzB,EAOA5kD,EAAQ4gD,eAAiBA,EAkBzB5gD,EAAQukD,aAjBa,SAACruC,EAAQ0uC,GAC5B,IAAMpD,EAAiBmD,EAA0BzuC,EAAQ0uC,GACzD,GAAIpD,EACF,OAAOA,EAET,IAAMxnC,EAAS4mC,EAAe1qC,EAAOJ,OAAQ8uC,GAC7C,OAAI5qC,EACK,IAAIC,MAAMD,GAEZ,IACT,EAuBAha,EAAQihD,aAfa,SAAC/qC,EAAQ0uC,GAC5B,IAAMpD,EAAiBmD,EAA0BzuC,EAAQ0uC,GACzD,OAAIpD,IAGCtrC,EAAO0S,WAAWtsB,OAGnB4Z,EAAO0S,WAAWtsB,OAAS,IACtB,IAAI2d,MAAM2qC,EAAc,sCAAuC,CACpEtoD,OAAQ,OAGL,KAPE,IAAI2d,MAAM2qC,EAAc,8CAQnC,EA2CA5kD,EAAQ2rB,mBAzCmB,SAAAtf,GACzB,IACE6J,EAIE7J,EAJF6J,OACA0V,EAGEvf,EAHFuf,UACUm5B,EAER14C,EAFFpX,SAAQ,EAENoX,EADFmF,OAAAA,OAAM,IAAG,OAAI,EAGf,GAAIuzC,EAAa,CACf,IAAItR,GAASsR,EAAYvxD,UAAY,IAAIsC,MAAK,SAAAC,GAAC,OAAI,EAAI2uD,EAAmBjjD,SAAS1L,EAAE0C,WAAYyd,EAAO0S,WAAW,IAInH,GAH+B,YAA3Bm8B,EAAYptD,KAAK6e,OAA6C,MAAtBN,EAAO0S,aACjD6qB,EAAQ,KAENA,EACF,MAAO,CACLzjC,GAAI,sBAAsBwC,OAAO0D,EAAO0S,WAAY,6EACpD3Y,GAAI,mBAAmBuC,OAAO0D,EAAO0S,WAAY,mDACjDpX,EAEN,CACA,IAAMvc,EAAW22B,EAAU91B,MAAK,SAAAwM,GAAI,OAAIA,EAAK3K,KAAKjD,MAAQwhB,EAAOxhB,GAAG,IACpE,IAAKO,EACH,MAAO,GAET,IAAMoe,EAAWpe,EAAS0C,KAAKqtD,WAAWlvD,MAAK,SAAAC,GAAC,MAAe,QAAXA,EAAEvB,IAAc,IACpE,OAAK6e,GAGDA,EAASlQ,SAAW+L,EAAW+1C,8BAAgC/uC,EAAO0S,aAAevV,EAASlQ,OACzF,CACL6M,GAAI,kDAAkDwC,OAAOa,EAASlQ,QACtE8M,GAAI,wCAAwCuC,OAAOa,EAASlQ,SAC5DqO,GANK,EASX,EAuBAxR,EAAQykD,sBAhBsB,SAAA74B,GAC5B,GAAyB,IAArBA,EAAUtvB,OACZ,MAAO,GAET,IAGM4oD,EADF,IAAIrrC,IAAIlmB,OAAOwE,SAAS6d,MAD1B8D,aAE2B/E,IAAI,WACjC,GAAImwC,EAAS,CACX,IAAMjwD,EAAW22B,EAAU91B,MAAK,SAAAC,GAAC,OAAIA,EAAE4B,KAAKjD,MAAQwwD,CAAO,IAC3D,GAAIjwD,EACF,OAAOA,EAAS0C,KAAKjD,GAEzB,CACA,OAAOk3B,EAAU,GAAGj0B,KAAKjD,GAC3B,EASAsL,EAAQwkD,gBAPgB,SAAA3tD,GACtB,IAAMsuD,EAAiB,CAACl2C,EAAUm2C,0BAA2Bn2C,EAAUo2C,wBAAyBp2C,EAAUq2C,oBAI1G,MAHsB,qBAAX3xD,QAAqD,qBAApBA,OAAOwE,UACjDgtD,EAAe5oD,KAAK5I,OAAOwE,SAAS6pD,UAE/BmD,EAAernD,SAASjH,EACjC,C,qCC9IAiJ,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBulD,EAClB,IAOIr8C,EAPAI,EAAUD,EAAuBzI,EAAQ,QACzCwI,EAAaC,EAAuBzI,EAAQ,QAC5CkX,EAAczO,EAAuBzI,EAAQ,QAC7C62B,EAAQpuB,EAAuBzI,EAAQ,QACvC4kD,EAAOn8C,EAAuBzI,EAAQ,OACtC6kD,EAAUp8C,EAAuBzI,EAAQ,QACzCiJ,EAAcjJ,EAAQ,OAEpBkJ,EAAY,CAAC,WAAY,aAAc,iBAC7C,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAAS46C,EAAoBl5C,GAC3B,IACIpX,EAGEoX,EAHFpX,SACAslD,EAEEluC,EAFFkuC,WACAE,EACEpuC,EADFouC,cAEFliC,EAAO1M,EAAyBQ,EAAMvC,GAClC4vC,EAAczkD,EAASywD,gBAAkB,CAAC,EAChD,OAAoB,EAAI77C,EAAYmD,KAAKD,EAAKrC,EAAcA,EAAc,CACxElM,UAAW,OACV+Z,GAAO,CAAC,EAAG,CACZ/kB,UAAuB,EAAIqW,EAAYiD,MAAM2qB,EAAMh2B,QAAS,CAC1D7G,UAAW,eACXiiC,WAAW,EACXtlB,QAAS,EACT/jB,SAAU,EAAc,EAAIqW,EAAYmD,KAAKyqB,EAAMh2B,QAAS,CAC1Da,MAAM,EACNqjD,GAAI,EACJlmD,GAAI,EACJ2d,GAAI,EACJrG,GAAI,GACJvjB,WAAY+mD,EAAWj+C,SAAuB,EAAIuN,EAAYmD,KAAKw4C,EAAK/jD,QAAS,CAC/EmkD,YAAalM,EAAYW,UAAY,EACrCwL,QAAStL,EACT7/C,MAAO,CACLomB,OAAQ,KAEVglC,iBAAiB,KAElB,QAAqB,EAAIj8C,EAAYmD,KAAKyqB,EAAMh2B,QAAS,CAC1Da,MAAM,EACNqjD,GAAI,EACJlmD,GAAI,EACJ2d,GAAI,EACJrG,GAAI,GACJvjB,WAAYinD,EAAcn+C,SAAuB,EAAIuN,EAAYmD,KAAKy4C,EAAQhkD,QAAS,CACrFskD,KAAMrM,EAAYU,aAAe,EACjCyL,QAASpL,EACT//C,MAAO,CACLomB,OAAQ,KAEVglC,iBAAiB,KAElB,eAGT,CACAP,EAAoBv3C,UAAY,CAC9B/Y,SAAUmU,EAAW3H,QAAQyI,OAAO2J,WACpC0mC,WAAYnxC,EAAW3H,QAAQukD,QAAQ58C,EAAW3H,QAAQod,MAAM,CAC9DonC,KAAM78C,EAAW3H,QAAQ6V,OACzBtjB,MAAOoV,EAAW3H,QAAQ6V,UAE5BmjC,cAAerxC,EAAW3H,QAAQukD,QAAQ58C,EAAW3H,QAAQod,MAAM,CACjEonC,KAAM78C,EAAW3H,QAAQ6V,OACzBtjB,MAAOoV,EAAW3H,QAAQ6V,WAG9BiuC,EAAoB5sD,aAAe,CACjC4hD,WAAY,GACZE,cAAe,IAEjB,IAtEgCvsC,EAASC,EAsEnCpB,GAAM,EAAIzD,EAAQ7H,SAASqW,EAAYrW,QAAjC,CAA0CyH,IAtEtBgF,EAsEmF,CAAC,IAtE/DC,IAAOA,EAAMD,EAAQ1K,MAAM,IAsEN0F,EAtEmBpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,Q,qCCd1KrO,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBuqB,EAClB,IAAIphB,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C2O,EAAoBlG,EAAuBzI,EAAQ,KACnDoT,EAAW3K,EAAuBzI,EAAQ,QAC1CwO,EAAWxO,EAAQ,OACnBoiD,EAAO35C,EAAuBzI,EAAQ,QACtCm3B,EAAO1uB,EAAuBzI,EAAQ,QACtCuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OACpBkJ,EAAY,CAAC,SAAU,UAAW,UACxC,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,IAAMu7C,EACI,UADJA,EAEE,UAER,SAAS37B,EAAele,GACtB,IACIrQ,EAGEqQ,EAHFrQ,OACAI,EAEEiQ,EAFFjQ,QACAuC,EACE0N,EADF1N,OAEF4Z,EAAO1M,EAAyBQ,EAAMvC,GAEtCjR,GACE,EAAIsQ,EAAO/P,YAAYgW,EAASwJ,eADlC/f,EAmBIstD,EAAW,CACfC,MAAOF,EACPG,QAASH,EACTI,YAAaJ,EACbK,WAAYL,EACZM,WAAYN,EACZO,UAAWP,EACXQ,SAAUR,EACVS,QAAS,UACTC,SAAUV,EACVW,QAASX,EACTltD,MAAO,QACPwxB,UAAW07B,EACXY,WAAYZ,EACZa,UAAW,QACXC,SAAUd,GAENltC,GAAa,EAAI7J,EAAM8J,cAAcjd,GACrCirD,EAAYpuD,EAAE,mBAAmB2Z,OAAkB,WAAX7T,GAAkC,cAAX3C,EAAyB,UAAYA,IAC1G,MAAgB,QAAZI,GACkB,EAAIyN,EAAYmD,KAAKgH,EAASvS,QAAS,CACzDvK,MAAO2B,EAAE,qBAAsB,CAC7BmD,OAAQirD,IAEVzzD,UAAuB,EAAIqW,EAAYmD,KAAKg2C,EAAKvhD,QAASiJ,EAAc,CACtEtQ,MAAO+rD,EAASnqD,IACfuc,OAGa,EAAI1O,EAAYiD,MAAMirB,EAAKt2B,QAASiJ,EAAcA,EAAc,CAClFlW,KA/CU,CACV4xD,MAAO,UACPC,QAAS,UACTC,YAAa,UACbC,WAAY,UACZC,WAAY,UACZC,UAAW,UACXC,SAAU,UACVC,QAAS,UACTC,SAAU,UACVC,QAAS,UACT7tD,MAAO,QACPwxB,UAAW,UACXs8B,WAAY,UACZC,UAAW,QACXC,SAAU,WAgCAhrD,IACTuc,GAAO,CAAC,EAAG,CACZ/kB,SAAU,CAACwlB,IAA2B,EAAInP,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACpFhD,KAAM,GACNrE,MAAO,UACPM,MAAO,CACLJ,YAAa,KAEb2sD,KAER,CACA18B,EAAevc,UAAY,CACzBhS,OAAQoN,EAAW3H,QAAQmd,OAAO/K,WAClCzX,QAASgN,EAAW3H,QAAQub,MAAM,CAAC,MAAO,QAC1Cre,OAAQyK,EAAW3H,QAAQmd,QAE7B2L,EAAe5xB,aAAe,CAC5ByD,QAAS,MACTuC,OAAQ,G,yCCvGG,yDAKbqB,EAAQ,EAAUknD,EAClB,IAgBIh+C,EAAiBsF,EAhBjBG,EAAOtF,EAAuBzI,EAAQ,QACtCs1C,EAAW7sC,EAAuBzI,EAAQ,OAC1CuI,EAASvI,EAAQ,OACjBwO,EAAWxO,EAAQ,OACnBqO,EAAYrO,EAAQ,OACpBumD,EAAS99C,EAAuBzI,EAAQ,QACxCyiB,EAAWha,EAAuBzI,EAAQ,QAC1C0I,EAAUD,EAAuBzI,EAAQ,QACzCs8B,EAAUt8B,EAAQ,OAClBkX,EAAczO,EAAuBzI,EAAQ,QAC7C0O,EAAUjG,EAAuBzI,EAAQ,QACzCw8B,EAAYx8B,EAAQ,OACpB2T,EAAY3T,EAAQ,OACpB4O,EAAQ5O,EAAQ,OAChB+O,EAAStG,EAAuBzI,EAAQ,QACxCiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAAS6F,EAAuB3B,EAASC,GAA6C,OAAjCA,IAAOA,EAAMD,EAAQ1K,MAAM,IAAa1D,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,MAAY,CACtL,SAASlE,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAASk9C,IACP,IAAIE,EAAuBC,EAAuBC,EAAwBC,EACpE3/C,EAAU,CAEhB,CACE5T,MAAyE,QAAjEozD,EAAwBI,aAAaC,QAAQ,sBAAsD,IAA1BL,GAAoCA,EAAsB/2C,WAAW,QAAUm3C,aAAaC,QAAQ,eAAiB,oEACtMluD,MAAO,eACN,CACDvF,MAAO,wCACPuF,MAAO,kBACN,CACDvF,MAAO,oCACPuF,MAAO,gBAKPtF,GACE,EAAIub,EAAMiC,kBADZxd,IAEF,GAGI,EAAIkV,EAAO/P,YAAYgW,EAASwJ,eAFlC/f,EAAC,EAADA,EACA2Y,EAAM,EAANA,OAEF,GAAwC,EAAIrI,EAAOhU,WAAU,GAAM,SAA5D40B,EAAY,KAAE29B,EAAe,KAGlCzyD,GACE,EAAIsf,EAAUrf,sBADhBD,SAEF,GAAgC,EAAIkU,EAAOhU,WAAoJ,QAAxIkyD,EAAwBpyD,EAASY,aAAaC,MAAK,SAAA4W,GAAC,OAAIA,EAAE1W,MAAQiZ,EAAUhZ,0BAA0B0xD,2BAA2B,WAAyC,IAA1BN,OAAmC,EAASA,EAAsBrzD,QAAU,IAAG,SAA/QkE,EAAQ,KAAE0vD,EAAW,KAC5B,GAAwC,EAAIz+C,EAAOhU,UAAiQ,QAAtPmyD,EAA+J,QAArIC,EAAyBtyD,EAASY,aAAaC,MAAK,SAAA4W,GAAC,OAAIA,EAAE1W,MAAQiZ,EAAUhZ,0BAA0B4xD,uBAAuB,WAA0C,IAA3BN,OAAoC,EAASA,EAAuBvzD,aAA8C,IAA3BszD,EAAoCA,EAAyB1/C,EAAQ,GAAG5T,OAAM,SAAnY8zD,EAAY,KAAEC,EAAe,KACpC,GAAkC,EAAI5+C,EAAOhU,WAAU,GAAM,SAAtD6yD,EAAS,KAAEC,EAAY,KAE5BphB,EACE5xC,EADF4xC,OAEF,EAGI5xC,EAAS0C,KAFJovC,EAAO,EAAd7vC,MACagxD,EAAc,EAA3BjxD,YAGF,SAKekxD,EAAoB,EAAD,+CAkBjC,OAlBiC,cAAlC,WAAmCzzD,EAAK0zD,GAAe,iFAC/Cn0D,EAAIo/B,eAAe,CACvB/8B,MAAO,CACL5B,IAAK,CAACA,GACNkc,QAAS,CAAC,CACR5a,IAAKiZ,EAAUhZ,0BAA0B4xD,wBACzC7zD,MAAO8zD,GACN,CACD9xD,IAAKiZ,EAAUhZ,0BAA0B0xD,4BACzC3zD,MAAOo0D,OAGVrtB,MAAK,WACNprB,EAAOlO,QAAQmR,QAAQ/Z,EAAE,mDAAoD2Y,GAC/E,IAAGypB,OAAM,SAAAjiC,GACPoiB,QAAQpiB,MAAMA,GACd2W,EAAOlO,QAAQzI,MAAMA,EAAM5B,QAC7B,IAAE,4CACH,sBACD,IAAMixD,EAAyB,6BAAG,WAAOC,EAAUrJ,GAAO,iEAChB,OAAxC2I,EAAY3I,EAAQqJ,EAASpwD,WAAW,SAClCiwD,EAAoBlzD,EAAS0C,KAAKjD,IAAKuqD,EAAQqJ,EAASpwD,WAAU,OACxE43B,YAAW,WACTy4B,IAAoB,SAAAC,GAAQ,OAAI99C,EAAcA,EAAc,CAAC,EAAG89C,GAAW,CAAC,EAAG,CAC7Eh8C,MAAM,GACN,GACJ,GAAG,KAAM,2CACV,gBAR8B,wCAS/B,IAAgD,EAAIrD,EAAOhU,UAAU,CACnEqX,MAAM,EACNa,OAAQ,0BACR+qC,aAAc,IACdD,QAASgP,EAAO1lD,QAAQnN,OAAO,CAC7BorD,SAAS,EAAIr8B,EAAS5hB,SAASqmD,EAAc,WAC5C/yC,IACHtI,QAAS,WACP87C,IAAoB,SAAAC,GAAQ,OAAI99C,EAAcA,EAAc,CAAC,EAAG89C,GAAW,CAAC,EAAG,CAC7Eh8C,MAAM,GACN,GACJ,IACA,WAZKi8C,GAAgB,MAAEF,GAAmB,MAatCG,GAAsB,6BAAG,mFACzB,EAAIxrB,EAAQyrB,SAASb,GAAe,CAAF,eACoC,OAAxEn4C,EAAOlO,QAAQzI,MAAMH,EAAE,uCAAwC2Y,IAAS,0BAG1E+2C,IAAoB,SAAAC,GAAQ,OAAI99C,EAAcA,EAAc,CAAC,EAAG89C,GAAW,CAAC,EAAG,CAC7ErlD,QAAQ,EAAIkgB,EAAS5hB,SAASqmD,EAAc,iBAC5C1gC,QAAS,IAAIvN,IAAIiuC,GAAc1vD,OAC/B+/C,QAASgP,EAAO1lD,QAAQnN,OAAO,CAC7BorD,SAAS,EAAIr8B,EAAS5hB,SAASqmD,EAAc,WAC5C/yC,IACHsjC,YAAa,CACXxR,OAAAA,EACAE,QAAAA,EACAmhB,eAAAA,EACAU,OAAQ,wCAEVp8C,MAAM,GACN,IAAE,2CACL,kBAnB2B,mCA+BtBq8C,GAAQ,6BAAG,2FAETb,EAAW,CAAF,gDAGM,OAAnBC,GAAa,GAAM,SACbh0D,EAAI60D,eAAe,CACvBxyD,MAAO,CACL5B,IAAKO,EAAS4xC,UAEhB,OACFl3B,EAAOlO,QAAQmR,QAAQ/Z,EAAE,yCAAyC,gDAElE8W,EAAOlO,QAAQzI,MAAM,KAAM5B,SAC3BgkB,QAAQpiB,MAAM,EAAD,IAAQ,QAED,OAFC,UAErBivD,GAAa,GAAO,4EAEvB,kBAlBa,mCAoCd,OAjBA,EAAI9+C,EAAOzR,YAAW,WACpB6wD,IAAoB,SAAAC,GAAQ,OAAI99C,EAAcA,EAAc,CAAC,EAAG89C,GAAW,CAAC,EAAG,CAC7EjQ,SAAU,CACRrhD,MAAO2B,EAAE,oCAAqC,CAC5CkuC,QAAAA,IAEFyR,KAAM3/C,EAAE,mCAAoC,CAC1CkuC,QAAAA,IAEFnsB,QAAS,GACThI,SAAsB,EAAI/I,EAAYmD,KAAK8K,EAAYrW,QAAS,CAC9D8Y,cAAc,EACd/mB,SAAUqF,EAAE,2CAGhB,GACJ,GAAG,CAACkuC,EAASv1B,EAAQ3Y,KACD,EAAIgR,EAAYiD,MAAM0S,EAAW,CACnDhsB,SAAU,EAAc,EAAIqW,EAAYmD,KAAK+7C,EAAqB,CAChE71C,QAAQ,EACR7Y,GAAI,CACFuoB,UAAW,QAEbrpB,MAAOV,EAAE,2BACT7E,MAAO8zD,EACP3pD,SAvDyB,SAAAqyB,GAC3B,IACEx8B,EACEw8B,EAAM7lB,OADR3W,OAEE,EAAIkpC,EAAQyrB,SAAS30D,GACvB0zD,EAAgB7uD,EAAE,uCAAwC2Y,KAG5Dk2C,EAAgB,MAChBK,EAAgB/zD,GAClB,EA8CIgf,WAAW,EACXvU,KAAM,QACNzF,QAAS+wB,EACTkF,WAAYlF,EACZ+a,WAAY,CACVC,cAA2B,EAAIl7B,EAAYmD,KAAKsC,EAAQ7N,QAAS,CAC/DrF,QAAS,YACT3B,QAASiuD,GACTjqD,KAAM,QACNpE,GAAI,CACFykC,SAAU,WACVxE,MAAO,EACPrgC,QAAS,OACTyc,eAAgB,SAChBxc,WAAY,SACZ4c,MAAO,QACPgK,OAAQ,QAEVttB,SAAqBqF,EAAXX,EAAa,oCAAyC,0CAGpE1E,SAAUoU,EAAQ5Q,KAAI,SAAA8uC,GAAM,OAAiB,EAAIj8B,EAAYmD,KAAKowB,EAAU0K,SAAU,CACpF9zC,MAAO8xC,EAAO9xC,MACdR,SAAUsyC,EAAOvsC,OAChBusC,EAAO9xC,MAAM,MACdkE,IAAyB,EAAI2R,EAAYmD,KAAK2B,EAAKlN,QAAS,CAC9DrH,MAAO,iBACPC,GAAI,CACFuoB,UAAW,QAEbpvB,UAAuB,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACxDxH,QAAS,OACTzG,UAAuB,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CACzDxH,QAAS,SACTzG,SAAU,CAACqF,EAAE,0BAA2B,SAAU,KAAkB,EAAIgR,EAAYmD,KAAK2B,EAAKlN,QAAS,CACrGxH,QAAS,SACTG,MAAO,eACPy6B,WAAY,iBACZrhC,SAAUqF,EAAE,8DAIH,EAAIgR,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDxH,QAAS,OACTyc,eAAgB,SAChBrc,GAAI,CACFgd,SAAU,QACVuL,UAAW,OACX9nB,QAAS,WAEXtH,UAAuB,EAAIqW,EAAYmD,KAAKsC,EAAQ7N,QAAS,CAC3DhH,QAASouD,GACT9vD,QAASivD,EACT5rD,QAAS,YACThC,MAAO,UACP,UAAW,mBACXsT,UAAWxV,GAAY8vD,EACvBx0D,SAAUqF,EAAE,iCAEC,EAAIgR,EAAYmD,KAAKkpC,EAASz0C,QAAS,CACtD0B,OAAQslD,GAAiBtlD,OACzBqJ,KAAMi8C,GAAiBj8C,KACvByrC,OAAO,EACP5qC,OAAQo7C,GAAiBp7C,OACzB+Z,QAASqhC,GAAiBrhC,QAC1B+wB,QAASsQ,GAAiBtQ,QAC1B3qB,UAAW66B,EACX57C,QAASg8C,GAAiBh8C,QAC1B2rC,aAAcqQ,GAAiBrQ,aAC/BC,YAAaoQ,GAAiBpQ,YAC9BE,SAAUkQ,GAAiBlQ,SAC3B/mC,OAAQA,MAGd,CACA,IAAMgO,GAAY,EAAIlW,EAAQ7H,SAAS,MAArB,CAA4ByH,IAAoBA,EAAkB2G,EAAuB,CAAC,+CACtGk5C,GAAsB,EAAIz/C,EAAQ7H,SAAS27B,EAAUsH,UAA/B,CAA0Cl2B,IAAqBA,EAAmBqB,EAAuB,CAAC,yCAA0C,oGAAoG,SAAAtX,GAAK,OAAIA,EAAM+G,MAAMC,YAAYugB,KAAK,KAAK,IAC/TonC,EAAQl5C,UAAY,CAAC,C,qCC1QrBlO,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAQu7C,gBAAa,EACrB,IACgCvxC,EAD5BZ,GAC4BY,EADQpJ,EAAQ,SACKoJ,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,GAEvF,IAAMuxC,EAAanyC,EAAW3H,QAAQod,MAAM,CAC1C7I,KAAM5M,EAAW3H,QAAQmd,OACzBw8B,cAAehyC,EAAW3H,QAAQod,MAAM,CACtC9lB,QAASqQ,EAAW3H,QAAQwb,KAC5Bq+B,WAAYlyC,EAAW3H,QAAQwb,OAEjCuB,aAAcpV,EAAW3H,QAAQod,MAAM,CACrCF,QAASvV,EAAW3H,QAAQwb,KAC5BmmC,YAAah6C,EAAW3H,QAAQyI,SAElCo5C,IAAKl6C,EAAW3H,QAAQod,MAAM,CAC5B0kC,SAAUn6C,EAAW3H,QAAQwb,KAC7BkF,GAAI/Y,EAAW3H,QAAQmd,WAG3B5e,EAAQu7C,WAAaA,C,qCCxBR,6DAEbz7C,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAsKA,SAAyBzH,GAIvB,IADI,EAAIiX,EAAMiC,kBADZyH,UAGA,OAAoB,EAAIrP,EAAYmD,KAAKg8C,EAA0Bt+C,EAAc,CAAC,EAAGnS,IAEvF,OAAoB,EAAIsR,EAAYmD,KAAKi8C,EAAyBv+C,EAAc,CAAC,EAAGnS,GACtF,EA7KA,IAAI4Q,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5Co2B,EAAU3tB,EAAuBzI,EAAQ,QACzCogC,EAAapgC,EAAQ,OACrB2O,EAAoBlG,EAAuBzI,EAAQ,KACnD2I,EAAcF,EAAuBzI,EAAQ,QAC7CsoD,EAAe7/C,EAAuBzI,EAAQ,QAC9CoT,EAAW3K,EAAuBzI,EAAQ,QAC1CuoD,EAAS9/C,EAAuBzI,EAAQ,QACxCwO,EAAWxO,EAAQ,OACnBqO,EAAYrO,EAAQ,OACpBuO,EAAQvO,EAAQ,MAChBm3B,EAAO1uB,EAAuBzI,EAAQ,QACtCwX,EAAW/O,EAAuBzI,EAAQ,OAC1C4O,EAAQ5O,EAAQ,OAChB8O,EAAS9O,EAAQ,OACjBoyB,EAAcpyB,EAAQ,OACtBiJ,EAAcjJ,EAAQ,OACpBkJ,EAAY,CAAC,WAAY,eAAgB,iBAC/C,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAASy+C,EAAQ/8C,GACf,IACIpX,EAGEoX,EAHFpX,SACAukC,EAEEntB,EAFFmtB,aACA56B,EACEyN,EADFzN,cAEF2Z,EAAO1M,EAAyBQ,EAAMvC,GAEtC7V,GACE,EAAIub,EAAMiC,kBADZxd,IAGA4E,GACE,EAAIsQ,EAAO/P,YAAYgW,EAASwJ,eADlC/f,EAEF,GAA8B,EAAIsQ,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAA0B,EAAIzI,EAAOhU,UAAU,IAAG,SAA3C6D,EAAK,KAAEkvB,EAAQ,KACtB,GAAoD,EAAI/e,EAAOhU,UAAU,MAAK,SAAvEk0D,EAAkB,KAAEC,EAAqB,KAChD,GAA4C,EAAIngD,EAAOhU,UAAU,MAAK,SAA/DujB,EAAc,KAAEC,EAAiB,KAEtCupB,GACE,EAAIlB,EAAWmB,eADjBD,iBAEF,EAAI/4B,EAAOzR,YAAW,WACpB4xD,EAAsB,MAClB9vB,GAAgBvkC,EAASlB,OAASkb,EAAU8M,eAAeC,aAC7D/nB,EAAI6mC,yBAAyB,CAC3BxkC,MAAO,CACL5B,IAAKO,EAAS0C,KAAKjD,IACnBC,QAASM,EAAS0C,KAAKhD,WAExBomC,MAAK,SAAApnB,GACN,IACE9b,EACE8b,EADF9b,KAEF,GAAIA,EAAM,CACR,IACElD,EAEEkD,EAFFlD,QACAuyB,EACErvB,EADFqvB,YAEEvyB,GAAWqiC,EAAQv1B,QAAQu5B,GAAGrmC,EAASM,EAAS0C,KAAKhD,UACvD20D,EAAsB,CACpB30D,QAAAA,EACAuyB,YAAAA,GAGN,CACF,IAEC+T,OAAM,SAAAC,GAAG,OAAI9f,QAAQpiB,MAAM,mCAAmCwZ,OAAOvd,EAAS0C,KAAKd,KAAM,aAAa2b,QAAO,EAAI9C,EAAOnV,aAAa2gC,IAAM,GAEhJ,GAAG,CAACjmC,EAAUukC,IAEd,IAIM9mB,EAAS,6BAAG,oFAOb,OANHd,GAAW,GAAM,SAETtb,EAAQ,CACZ5B,IAAKO,EAAS0C,KAAKjD,IACnBC,QAAS00D,EAAmB10D,QAC5Bm5B,SAAUu7B,EAAmBniC,aAAe,IAC7C,UACK,EAAIxX,EAAOqK,OAAO,KAAK,uBACvB9lB,EAAI8nC,gBAAgB,CACxBzlC,MAAAA,IACA,uDAEF4rC,EAAgB,4BAA4B1vB,QAAO,EAAI9C,EAAOnV,aAAa,EAAF,KAAS,CAChFgvD,iBAAkB,IAClBntD,QAAS,UACR,QAGqB,OAHrB,UAEHwV,GAAW,GACX+G,EAAkB,MAAM,4EAE3B,kBArBc,mCAsBT4F,EAAU,CACdrnB,MAAO,GAAGsb,OAAO3Z,EAAE,kBAAmB,KAAK2Z,OAAO3Z,EAAE,mBAAoB,KAAK2Z,QAAO,EAAIrD,EAAMxZ,gBAAgBV,IAC9GgC,YAAa4B,EAAE,sCACf+hB,QAAS/hB,EAAE,kCACXgiB,OAAQhiB,EAAE,iBACV6Z,UAAAA,EACAwH,SAhCe,WACftI,GAAW,GACX+G,EAAkB,KACpB,GA+BA,OAAI/Z,GAAiByqD,KAAuB,EAAI35C,EAAOuJ,cAAchkB,EAAS+G,SACxD,EAAI6N,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,EAAc,EAAIqW,EAAYmD,KAAK+qB,EAAKt2B,QAASiJ,EAAcA,EAAc,CAAC,EAAG6N,GAAO,CAAC,EAAG,CACpG/kB,SAAUyB,EAAS0C,KAAKhD,YACR,EAAIkV,EAAYmD,KAAKgH,EAASvS,QAAS,CACvDvK,MAAO2B,EAAE,yBAA0B,CACjClE,QAAS00D,EAAmB10D,UAE9BnB,UAAuB,EAAIqW,EAAYmD,KAAKzD,EAAY9H,QAAS,CAC/DhD,KAAM,QACN/D,MAAO,CACLgE,WAAY,GAEdgP,SAAU3U,EACV0B,QAAS,kBAAMke,EAAkB4F,EAAQ,EACzC/qB,SAAUuF,GAAuB,EAAI8Q,EAAYmD,KAAKuC,EAAkB9N,QAAS,CAC/EhD,KAAM,MACU,EAAIoL,EAAYmD,KAAKk8C,EAAaznD,QAAS,CAC3D/G,MAAO,CACLyX,SAAU,GACV/X,MAAO,eAITpB,IAAsB,EAAI6Q,EAAYmD,KAAKm8C,EAAO1nD,QAAS,CAC/DrF,QAAS,QACThF,QAAS4B,EACTyT,QAAS,kBAAMyb,EAAS,GAAG,IACzBxP,IAA+B,EAAI7O,EAAYmD,KAAKoL,EAAS3W,QAAS,CACxEvK,MAAOwhB,EAAexhB,MACtBD,YAAayhB,EAAezhB,YAC5B2jB,QAASlC,EAAekC,QACxBC,OAAQnC,EAAemC,OACvB3E,OAAQwC,EAAexC,OACvBxD,UAAWgG,EAAehG,UAC1BwH,SAAUxB,EAAewB,eAIX,EAAIrQ,EAAYmD,KAAK+qB,EAAKt2B,QAASiJ,EAAcA,EAAc,CAAC,EAAG6N,GAAO,CAAC,EAAG,CAChG/kB,SAAUyB,EAAS0C,KAAKhD,UAE5B,CACAy0D,EAAQp7C,UAAY,CAClB/Y,SAAUmU,EAAW3H,QAAQyI,OAAO2J,WACpC2lB,aAAcpwB,EAAW3H,QAAQwb,KACjCre,cAAewK,EAAW3H,QAAQwb,MAEpCmsC,EAAQzwD,aAAe,CACrB6gC,cAAc,EACd56B,eAAe,GAEjB,IAAMqqD,GAA0B,EAAIj2B,EAAY6W,gBAAgBuf,EAAS,oBACnEJ,GAA2B,EAAIh2B,EAAY6W,gBAAgBuf,EAAS,GAAI15C,EAAO6kB,mB,qCC1KxE,uBAEbz0B,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBwpD,EAClB,IAAIrgD,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C6N,EAAOpF,EAAuBzI,EAAQ,QACtCmiD,EAAS15C,EAAuBzI,EAAQ,QACxC6oD,EAAWpgD,EAAuBzI,EAAQ,QAC1C8oD,EAAQrgD,EAAuBzI,EAAQ,QACvC+oD,EAAetgD,EAAuBzI,EAAQ,QAC9CkX,EAAczO,EAAuBzI,EAAQ,QAC7CwO,EAAWxO,EAAQ,OACnBuO,EAAQvO,EAAQ,OAChB4O,EAAQ5O,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASw/C,EAAYn9C,GACnB,IACEm3C,EACEn3C,EADFm3C,YAEF,GAAgC,EAAIr6C,EAAOhU,UAAU,MAAK,SAAnDmX,EAAQ,KAAEC,EAAW,KACtB3X,GAAO,EAAI4a,EAAMiC,kBAErB5Y,GACE,EAAIuW,EAAStW,oBADfD,EAKI+wD,EAAqB,WACzBr9C,EAAY,KACd,EACMC,EAAO/G,QAAQ6G,GACrB,OAAoB,EAAIzC,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,EAAc,EAAIqW,EAAYmD,KAAK+1C,EAAOthD,QAAS,CAC3D,YAAa+K,EAAO,0BAAuB7O,EAC3CksD,aAVsB,SAAAr5B,GACxBjkB,EAAYikB,EAAMtjB,cACpB,EASI48C,aAAcF,EACdlvD,MAAO,CACLN,MAAO,UACP+X,SAAU,GACVzT,WAAY,EACZsY,OAAQ,cAEK,EAAInN,EAAYmD,KAAKy8C,EAAShoD,QAAS,CACtDsE,GAAI,qBACJrL,MAAO,CACLi6C,cAAe,QAEjBnoC,KAAMA,EACNF,SAAUA,EACV+yB,aAAc,CACZC,SAAU,SACVC,WAAY,QAEdwqB,gBAAiB,CACfzqB,SAAU,MACVC,WAAY,QAEd9yB,QAASm9C,EACTI,qBAAqB,EACrBx2D,UAAuB,EAAIqW,EAAYmD,KAAK08C,EAAMjoD,QAAS,CACzDjO,UAAuB,EAAIqW,EAAYiD,MAAM68C,EAAaloD,QAAS,CACjE/G,MAAO,CACLT,QAAS,QAEXzG,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,MAAO,CAClDxZ,UAAuB,EAAIqW,EAAYmD,KAAK,MAAO,CACjDwT,IAAK,GAAGhO,OAAO5d,EAAKnB,UAAW,+BAC/BgtB,IAAK,mBACL/lB,MAAO,CACLuvD,UAAW,OACX5yC,SAAU,aAGC,EAAIxN,EAAYiD,MAAMgL,EAAYrW,QAAS,CAC1DjD,UAAW,MACX9D,MAAO,CACLgE,WAAY,QAEdlL,SAAU,EAAc,EAAIqW,EAAYmD,KAAK8K,EAAYrW,QAAS,CAChEjD,UAAW,MACX9D,MAAO,CACLm6B,WAAY,QAEdrhC,SAAUgwD,EAAY1tC,UACP,EAAIjM,EAAYmD,KAAK8K,EAAYrW,QAAS,CACzDjD,UAAW,MACXhL,SAAU,GAAGgf,OAAO3Z,EAAE,iBAAkB,MAAM2Z,QAAO,EAAI/D,EAAKhN,SAAS+hD,EAAa,oBAAqB,QAC1F,EAAI35C,EAAYmD,KAAK8K,EAAYrW,QAAS,CACzDjD,UAAW,MACXhL,SAAU,GAAGgf,OAAO3Z,EAAE,wBAAyB,MAAM2Z,QAAO,EAAIrD,EAAM+6C,cAAc1G,EAAY2G,eACjF,EAAItgD,EAAYmD,KAAK8K,EAAYrW,QAAS,CACzDjD,UAAW,MACXhL,SAAU,GAAGgf,OAAO3Z,EAAE,wBAAyB,MAAM2Z,QAAO,EAAIrD,EAAM+6C,cAAc1G,EAAY4G,wBAO9G,CACAZ,EAAYx7C,UAAY,CACtBw1C,YAAap6C,EAAW3H,QAAQyI,QAElCs/C,EAAY7wD,aAAe,CACzB6qD,YAAa,CAAC,E,qCC1GhB1jD,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBqqD,EAClB,IAAIlhD,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C0pD,EAAejhD,EAAuBzI,EAAQ,QAC9CwO,EAAWxO,EAAQ,OACnBiJ,EAAcjJ,EAAQ,OACpBkJ,EAAY,CAAC,YACnB,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAAS0/C,EAAYh+C,GACf,IACA7Y,EACE6Y,EADF7Y,SAEF+kB,EAAO1M,EAAyBQ,EAAMvC,GAEtCjR,GACE,EAAIsQ,EAAO/P,YAAYgW,EAASwJ,eADlC/f,EAEF,OAAoB,EAAIgR,EAAYmD,KAAKs9C,EAAa7oD,QAASiJ,EAAcA,EAAc,CACzFwnB,IAAKr5B,EAAE,kBACP0xD,UAAW1xD,EAAE,qBACZ0f,GAAO,CAAC,EAAG,CACZ/kB,SAAUA,IAEd,CACA62D,EAAYr8C,UAAY,CACtBxa,SAAU4V,EAAW3H,QAAQqS,IAAID,W,oCCpCtB,6DAEb/T,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBwqD,EAClB,IAiBIthD,EAjBAC,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C0I,EAAUD,EAAuBzI,EAAQ,QACzCyO,EAAUhG,EAAuBzI,EAAQ,QACzC2O,EAAoBlG,EAAuBzI,EAAQ,KACnDu2B,EAAiB9tB,EAAuBzI,EAAQ,QAChDq2B,EAAiB5tB,EAAuBzI,EAAQ,QAChDkkB,EAAqBzb,EAAuBzI,EAAQ,OACpDs2B,EAAe7tB,EAAuBzI,EAAQ,QAC9CsX,EAAS7O,EAAuBzI,EAAQ,QACxCiO,EAAYxF,EAAuBzI,EAAQ,QAC3CokB,EAAiB3b,EAAuBzI,EAAQ,QAChDwO,EAAWxO,EAAQ,OACnB0O,EAAUjG,EAAuBzI,EAAQ,QACzCuO,EAAQvO,EAAQ,OAChB6pD,EAAephD,EAAuBzI,EAAQ,QAC9CiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASwgD,EAAcn+C,GACrB,IACEnV,EASEmV,EATFnV,MACAD,EAQEoV,EARFpV,YACAyzD,EAOEr+C,EAPFq+C,WACA7vC,EAMExO,EANFwO,OACAD,EAKEvO,EALFuO,QACAxgB,EAIEiS,EAJFjS,MACQuwD,EAGNt+C,EAHF6J,OACAgE,EAEE7N,EAFF6N,SACAxH,EACErG,EADFqG,UAEF,GAA4B,EAAIvJ,EAAOhU,UAAUw1D,GAAc,SAAxDz0C,EAAM,KAAEsE,EAAS,KACxB,GAAwB,EAAIrR,EAAOhU,WAAU,GAAK,SAA3CqX,EAAI,KAAE67B,EAAO,KACpB,GAA8B,EAAIl/B,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAA0B,EAAIzI,EAAOhU,UAAU,IAAG,SAA3C6D,EAAK,KAAEkvB,EAAQ,KAEjB0iC,GACD,EAAIx7C,EAAStW,oBADfD,EAEIyG,GAAQ,EAAIuP,EAAUpN,WACtBopD,EAAU,6BAAG,WAAMhpD,GAAE,oEACP,oBAAPA,EAAiB,iBACT,OAAjB+P,GAAW,GAAM,kBAET/P,EAAGqU,GAAO,OAChBmyB,GAAQ,GAAO,gDAEfngB,GAAS,EAAI/Y,EAAM5U,aAAa,EAAF,KAC9B6gB,QAAQpiB,MAAM,EAAD,IAAM,QAED,OAFC,UAEnB4Y,GAAW,GAAO,6CAGpBy2B,GAAQ,GAAO,+DAElB,gBAfe,sCAgBVxvC,EAAqB,oBAAV3B,EAAuBA,IAAUA,EAC5Coc,EAA2B,oBAAhBrc,EAA6BA,EAAYif,EAAQsE,EAAW0N,GAAYjxB,EACnF6zD,GAAsB,EAAI9lC,EAAevjB,SAASnC,EAAMC,YAAYugB,KAAK,OAK7EhS,GACE,EAAI28C,EAAahpD,WADnBqM,SAEF,OAAoB,EAAIjE,EAAYiD,MAAM+F,EAAc,CACtDpY,QAPkB,SAAAiS,GAClBA,EAAEC,iBACJ,EAMEo+C,WAAYD,EACZt+C,KAAMA,EACN9R,MAAO,CACLoT,SAAAA,GAEFta,SAAU,EAAc,EAAIqW,EAAYmD,KAAKkqB,EAAaz1B,QAAS,CACjEjO,SAAUqF,KACK,EAAIgR,EAAYiD,MAAMmqB,EAAex1B,QAAS,CAC7D/G,MAAO,CACLoT,SAAAA,GAEFta,SAAU,EAAc,EAAIqW,EAAYmD,KAAK8X,EAAmBrjB,QAAS,CACvEjD,UAAW,MACXhL,SAAU8f,MACNta,IAAsB,EAAI6Q,EAAYmD,KAAKkL,EAAOzW,QAAS,CAC/Dmb,SAAU,QACVliB,MAAO,CACLoc,MAAO,OACP8L,UAAW,GAEbpvB,SAAUwF,QAEG,EAAI6Q,EAAYiD,MAAMqqB,EAAe11B,QAAS,CAC7D7G,UAAW,iBACXF,MAAO,CACLI,QAAS,iBAEXtH,SAAU,CAACk3D,IAA2B,EAAI7gD,EAAYmD,KAAKsC,EAAQ7N,QAAS,CAC1EhH,QAAS,SAAAiS,GACPA,EAAEC,kBACFk+C,EAAW3wC,EACb,EACA9f,MAAO,UACP,UAAW,wBACX5G,SAAUqnB,GAAU+vC,EAAa,oBAClB,EAAI/gD,EAAYiD,MAAMwC,EAAQ7N,QAAS,CACtDhH,QAAS,SAAAiS,GACPA,EAAEC,kBACFk+C,EAAWn4C,EACb,EACAtY,MAAOA,EAGPsT,SAAUwI,EAAO2qC,kBAAoB9nD,EACrCqD,QAAS,YACT,UAAW,wBACX4W,WAAW,EACXxf,SAAU,CAACuF,IAAwB,EAAI8Q,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACjFhD,KAAM,KACJmc,UAIZ,CACA4vC,EAAcx8C,UAAY,CACxB9W,MAAOkS,EAAW3H,QAAQqS,IAAID,WAC9B5c,YAAamS,EAAW3H,QAAQqS,IAAID,WAEpC62C,WAAYthD,EAAW3H,QAAQwb,KAC/BpC,OAAQzR,EAAW3H,QAAQmd,OAC3BxkB,MAAOgP,EAAW3H,QAAQmd,OAC1BhE,QAASxR,EAAW3H,QAAQmd,OAC5B1I,OAAQ9M,EAAW3H,QAAQyI,OAE3BgQ,SAAU9Q,EAAW3H,QAAQsb,KAC7BrK,UAAWtJ,EAAW3H,QAAQsb,KAAKlJ,YAErC22C,EAAc7xD,aAAe,CAC3BuhB,SAAU,WAAO,EACjBwwC,YAAY,EACZ7vC,OAAQ,GACRD,QAAS,UACTxgB,MAAO,QACP8b,OAAQ,CAAC,GAEX,IA3HgChI,EAASC,EA2HnC0E,GAAe,EAAIvJ,EAAQ7H,SAAS4N,EAAQ5N,QAA7B,CAAsCyH,IA3H3BgF,EA2HwF,CAAC,wKA3HpEC,IAAOA,EAAMD,EAAQ1K,MAAM,IA2HD0F,EA3HcpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,Q,qCCzB7J,6DAEbrO,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAQgrD,gBAAkBhrD,EAAQirD,sBAAmB,EACrDjrD,EAAQmhB,iBAiBR,SAA0B9U,GACxB,IACE7Y,EAEE6Y,EAFF7Y,SAAQ,EAEN6Y,EADF1P,MAAAA,OAAK,IAAG,KAAE,EAGLzI,GACH,EAAIsb,EAAMiC,kBADZxd,IAEF,GAAkC,EAAIkV,EAAOhU,UAAU,IAAG,SAAnD+1D,EAAS,KAAEC,EAAY,KAC9B,GAA4B,EAAIhiD,EAAOhU,UAAU,CAC/Ci2D,MAAO,EACPC,SAAU,GACVvoC,UAAW,EACXC,KAAM,IACN,SALKxrB,EAAM,KAAE+zD,EAAS,KAMxB,GAA8B,EAAIniD,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAAgC,EAAI8F,EAAiBjW,SAAS,sBAAsB+Q,OAAO7V,GAAQ,OAAM,SAAlGkmB,EAAQ,KAAEJ,EAAW,KACtB8oC,EAAS,6BAAG,0GAGD,GAHC,EAIZ,EAAUjvD,OAAS,QAAsBqB,IAAjB,EAAU,GAAmB,EAAU,GAAK,CAAC,EAAC,IAFxEolB,KAAAA,OAAI,IAAG,IAAC,MACRyoC,OAAAA,OAAM,IAAG,GAAI,GAEXzyD,EAAS,CAAF,gDAKV,OAFIyyD,GACH55C,GAAW,GACZ,kBAGmB1d,EAAOu3D,aAAa,CACpCn1D,MAAO,CACLiB,OAAQ,CACNwrB,KAAAA,GAEFF,SAAuB,QAAbA,EAAqB,GAAKA,EACpClmB,MAAAA,KAEF,OARIlG,EAAM,EAAH,KAST00D,EAAa10D,EAAI2N,MACjBknD,EAAU70D,EAAIc,QACdqa,GAAW,GAAO,kDAElBjC,EAAOlO,QAAQzI,MAAM,KAAI5B,SACzBwa,GAAW,GAAO,0DA3BoB,OA6BzC,WA7ByC,gCAA3B,IA8Bf,EAAIzI,EAAOzR,YAAW,WACpB6zD,EAAU,CACRxoC,KAAM,EACNyoC,QAAQ,GAEZ,GAAG,KAEH,EAAIriD,EAAOzR,YAAW,WACpB6zD,EAAU,CACRxoC,KAAM,EACNyoC,QAAQ,GAEZ,GAAG,CAAC3oC,IAEJ,IAAM7uB,EAAQ,CACZ+E,QAAAA,EACA2pB,MAAO6oC,EACP70D,OAAQ,CACNmsB,SAAAA,EACAlmB,MAAAA,GAEF6lB,WAAY,CAAC,CACXxuB,MAAO,MACPuF,MAAO,MACPtC,YAAa,IACZ,CACDjD,MAAO,WACPuF,MAAO,sBACPtC,YAAa,IACZ,CACDjD,MAAO,SACPuF,MAAO,oBACPtC,YAAa,IACZ,CACDjD,MAAO,OACPuF,MAAO,kBACPtC,YAAa,IACZ,CACDjD,MAAO,WACPuF,MAAO,WACPtC,YAAa,IACZ,CACDjD,MAAO,eACPuF,MAAO,yBACPtC,YAAa,IACZ,CACDjD,MAAO,eACPuF,MAAO,yBACPtC,YAAa,IACZ,CACDjD,MAAO,UACPuF,MAAO,UACPtC,YAAa,KAEfwrB,YAAAA,EACA5qB,KAAMqzD,EACN3zD,OAAAA,GAEF,OAAoB,EAAIsS,EAAYmD,KAAK3Z,EAAU,CACjDW,MAAO,CACLk3D,UAAWl3D,GAEbR,SAAUA,GAEd,EA/HAwM,EAAQuiB,mBAgIR,WAIE,OADI,EAAIpZ,EAAO/P,YAAY4xD,GADzBE,SAGJ,EApIA,IAAI/hD,EAASvI,EAAQ,OACjB8W,EAAmBrO,EAAuBzI,EAAQ,QAClD+O,EAAStG,EAAuBzI,EAAQ,QACxC4O,EAAQ5O,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,IAAMghD,GAA+B,EAAI7hD,EAAOuiD,eAAe,CAAC,GAChE1rD,EAAQgrD,gBAAkBA,EAC1B,IACE33D,EAEE23D,EAFF33D,SACAs4D,EACEX,EADFW,SAIF3rD,EAAQirD,iBAAmBU,C,qCCtBd,0CAEb7rD,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAQhC,yBAA2BA,EACnCgC,EAAQg5B,2BAqER,WACE,OAAO,EAAI7vB,EAAO/P,YAAYwyD,EAChC,EAtEA,IAAIziD,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5CirD,EAAWxiD,EAAuBzI,EAAQ,QAC1CiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,IAAM4hD,GAAuC,EAAIziD,EAAOuiD,eAAe,CAAC,GACxE,SAAS1tD,EAAyBqO,GAChC,IACE7Y,EAEE6Y,EAFF7Y,SACAgB,EACE6X,EADF7X,KAEF,GAAkD,EAAI2U,EAAOhU,UAAU,IAAG,SAAnE8jC,EAAiB,KAAE6yB,EAAoB,KACxCC,GAAuB,EAAI5iD,EAAOigB,QAAQ,IAkB1CoR,EAAoB,SAAA9lC,GACxB,GAAIq3D,EAAqB7tD,QAAQJ,SAASpJ,GAAM,CAC9C,IAAMs3D,EAAeD,EAAqB7tD,QAAQxH,QAAO,SAAA4c,GACvD,OAAOA,IAAM5e,CACf,IACAo3D,EAAqBE,GACrBD,EAAqB7tD,QAAU8tD,CACjC,CACF,EAWA,OAAoB,EAAIniD,EAAYmD,KAAK4+C,EAAwBv4D,SAAU,CAEzEW,MAAO,CACLQ,KAAAA,EACAykC,kBAAAA,EACAsB,eApCmB,SAAA7lC,GACrB,IAAKq3D,EAAqB7tD,QAAQJ,SAASpJ,GAAM,CAC/C,IAAMs3D,EAAe,GAAH,SAAOD,EAAqB7tD,SAAO,CAAExJ,IACvDo3D,EAAqBE,GACrBD,EAAqB7tD,QAAU8tD,CACjC,CACF,EA+BIxxB,kBAAAA,EACAC,iBAZqB,SAAAwxB,GACvB,IAAMC,EAAajzB,EAAkBviC,QAAO,SAAAhC,GAAG,OAAIu3D,EAAUn2D,MAAK,SAAA4W,GAAC,OAAIA,IAAMhY,CAAG,GAAC,KACrD,EAAIm3D,EAASpqD,SAASyqD,EAAYjzB,GAC1C52B,SAAQ,SAAA3N,GAAG,OAAI8lC,EAAkB9lC,EAAI,GAC3D,GAUElB,SAAUA,GAEd,CACAwK,EAAyBgQ,UAAY,CACnCxZ,KAAM4U,EAAW3H,QAAQmd,OACzBprB,SAAU4V,EAAW3H,QAAQ7M,KAAKif,YAEpC7V,EAAyBrF,aAAe,CACtCnE,KAAM,Y,qCCvERsL,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAQzM,aAAeyM,EAAQ1M,YAAc0M,EAAQmsD,kBAAe,EACpEnsD,EAAQyR,eAeR,WACE,IACE7c,GACE,EAAIuU,EAAO/P,YAAY9F,GADzBsB,KAEF,OAAO8V,EAAcA,EAAc,CAAC,EAAG9V,GAAO,CAAC,EAAG,CAChDskB,UAAyB,YAAdtkB,EAAKJ,KAChB43D,SAAwB,WAAdx3D,EAAKJ,MAEnB,EAtBA,IAAI2U,EAASvI,EAAQ,OACrB,SAASqJ,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,IAAM1W,GAA2B,EAAI6V,EAAOuiD,eAAe,CAAC,GAC5D1rD,EAAQ1M,YAAcA,EACtB,IACED,EAEEC,EAFFD,SACAs4D,EACEr4D,EADFq4D,SAEF3rD,EAAQmsD,aAAeR,EACvB3rD,EAAQzM,aAAeF,C,qCClBvByM,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAET8L,OAAOC,eAAeC,EAAS,iBAAkB,CAC/CwK,YAAY,EACZuK,IAAK,WACH,OAAO24B,EAAS0D,cAClB,IAEFpxC,EAAQs2C,kBAKR,WAEE,OADa,EAAIntC,EAAO/P,YAAYs0C,EAAS0D,eAE/C,EAPA,IAAIjoC,EAASvI,EAAQ,OACjB8sC,EAAW9sC,EAAQ,K,qCCXvBd,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAQhL,aAAegL,EAAQnL,YAAcmL,EAAQqsD,kBAAe,EACpErsD,EAAQ2R,eAUR,WACE,OAAO,EAAIxI,EAAO/P,YAAYvE,EAChC,EAXA,IAAIsU,EAASvI,EAAQ,OACf/L,GAA2B,EAAIsU,EAAOuiD,eAAe,CAAC,GAC5D1rD,EAAQnL,YAAcA,EACtB,IACExB,EAEEwB,EAFFxB,SACAs4D,EACE92D,EADF82D,SAEF3rD,EAAQqsD,aAAeV,EACvB3rD,EAAQhL,aAAe3B,C,qCCbvByM,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBssD,EAClB,IAAIljD,EAAaC,EAAuBzI,EAAQ,QAC5CkX,EAAczO,EAAuBzI,EAAQ,QAC7C8N,EAAarF,EAAuBzI,EAAQ,QAC5CsX,EAAS7O,EAAuBzI,EAAQ,QACxCwO,EAAWxO,EAAQ,OACnBiyB,EAAexpB,EAAuBzI,EAAQ,QAC9CwX,EAAW/O,EAAuBzI,EAAQ,OAC1CiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAASsiD,EAAcjgD,GACrB,IACSkgD,EASLlgD,EATFnV,MACas1D,EAQXngD,EARFpV,YACAurD,EAOEn2C,EAPFm2C,mBACA3nC,EAMExO,EANFwO,OACAD,EAKEvO,EALFuO,QACQ+vC,EAINt+C,EAJF6J,OACAgE,EAGE7N,EAHF6N,SACAxH,EAEErG,EAFFqG,UACA6vC,EACEl2C,EADFk2C,QAGA1pD,GACE,EAAIuW,EAAStW,oBADfD,EAEI6f,EAAiB,CACrBxhB,MAAO,kBAAmB,EAAI2S,EAAYiD,MAAM,MAAO,CACrDtZ,SAAU,CAAC+4D,EAAQ,KAAK/5C,OAAO+vC,EAAS,OACxC,EACFtrD,YAAa,SAACif,EAAQsE,GAOpB,OAAoB,EAAI3Q,EAAYiD,MAAM,MAAO,CAC/CtZ,SAAU,EAAc,EAAIqW,EAAYmD,KAAKkL,EAAOzW,QAAS,CAC3Dmb,SAAU,UACVliB,MAAO,CACLoc,MAAO,QAETtjB,SAAUqF,EAAE,oBACG,EAAIgR,EAAYmD,KAAK,MAAO,CAC3CtS,MAAO,CACLkoB,UAAW,GACXsM,aAAc,IAEhBT,wBAAyB,CACvBC,OAAQ89B,MAEK,EAAI3iD,EAAYiD,MAAM,MAAO,CAC5CpS,MAAO,CACLw0B,aAAc,IAEhB17B,SAAU,CAACqF,EAAE,gBAAiB,UAAuB,EAAIgR,EAAYmD,KAAK6lB,EAAapxB,QAAS,CAC9F,UAAW,aACXjO,SAAU+uD,QAEG,EAAI14C,EAAYmD,KAAK8K,EAAYrW,QAAS,CACzDjD,UAAW,MACXhL,UAAuB,EAAIqW,EAAYmD,KAAK0B,EAAWjN,QAAS,CAC9DlI,MAAOipD,EACPxzB,aAAc,MACd,UAAW,uBACX5yB,QAAS,WACTzC,WAAW,EACXqZ,WAAW,EACXhf,MAAOkiB,EAAOu2C,SACdtuD,SAAU,SAAAuO,GAvCC,IAAA1Y,IAwCA0W,EAAcA,EAAc,CAAC,EAAGwL,GAAS,CAAC,EAAG,CACpDu2C,SAAU//C,EAAE/B,OAAO3W,MACnB6sD,iBAAkB0B,IAAY71C,EAAE/B,OAAO3W,QAxC/CwmB,EAAU9P,EAAcA,EAAc,CAAC,EAAG1W,GAAQ,CAAC,EAAG,CACpD6sD,iBAAkB7sD,EAAM6sD,mBAyCtB,QAIR,EACAjmC,QAAAA,EACAC,OAAAA,EACAnI,UAAAA,EACAwH,SAAAA,EACAhE,OAAQxL,EAAc,CACpB+hD,SAAU,GACV5L,kBAAkB,GACjB8J,IAEL,OAAoB,EAAI9gD,EAAYmD,KAAKoL,EAAS3W,QAAS,CACzDvK,MAAOwhB,EAAexhB,MACtBD,YAAayhB,EAAezhB,YAC5B2jB,QAASlC,EAAekC,QACxBC,OAAQnC,EAAemC,OACvB3E,OAAQwC,EAAexC,OACvBxD,UAAWgG,EAAehG,UAC1BwH,SAAUxB,EAAewB,UAE7B,CACAoyC,EAAct+C,UAAY,CACxB9W,MAAOkS,EAAW3H,QAAQqS,IAAID,WAC9B0uC,QAASn5C,EAAW3H,QAAQqS,IAAID,WAChC5c,YAAamS,EAAW3H,QAAQqS,IAAID,WAEpC2uC,mBAAoBp5C,EAAW3H,QAAQqS,IAAID,WAC3CgH,OAAQzR,EAAW3H,QAAQmd,OAC3BhE,QAASxR,EAAW3H,QAAQmd,OAC5B1I,OAAQ9M,EAAW3H,QAAQyI,OAE3BgQ,SAAU9Q,EAAW3H,QAAQsb,KAC7BrK,UAAWtJ,EAAW3H,QAAQsb,KAAKlJ,YAErCy4C,EAAc3zD,aAAe,CAC3BuhB,SAAU,WAAO,EACjBW,OAAQ,GACRD,QAAS,UACT1E,OAAQ,CAAC,E,qCC3HXpW,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,aAAkB,EAClB,IAAIoJ,EAAaC,EAAuBzI,EAAQ,QAC5C+N,EAAOtF,EAAuBzI,EAAQ,QACtC6W,EAAkB7W,EAAQ,OAC1B4iB,EAAQna,EAAuBzI,EAAQ,QACvC8rD,EAAWrjD,EAAuBzI,EAAQ,QAC1Csf,EAAU7W,EAAuBzI,EAAQ,QACzCiJ,EAAcjJ,EAAQ,OACpBkJ,EAAY,CAAC,MAAO,OAAQ,WAAY,eAC9C,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAASgiD,EAAkBtgD,GACzB,IACI3X,EAIE2X,EAJF3X,IACAshB,EAGE3J,EAHF2J,KACA42C,EAEEvgD,EAFFugD,SACAC,EACExgD,EADFwgD,YAEFt0C,EAAO1M,EAAyBQ,EAAMvC,GAExC,SAASgjD,IACP,OAAI92C,EACE42C,GACkB,EAAI/iD,EAAYmD,KAAKwW,EAAM/hB,QAAS,CACtDkJ,OAAQ,SACRqL,KAAMA,EACN6N,UAAW,QACXrwB,SAAUkB,KAGM,EAAImV,EAAYmD,KAAKyK,EAAgBoF,KAAM,CAC7DC,GAAI9G,EACJxiB,SAAUkB,IAGPA,CACT,CACA,OAAoB,EAAImV,EAAYmD,KAAK0/C,EAASjrD,QAASiJ,EAAcA,EAAc,CACrFqiD,SAAsB,EAAIljD,EAAYmD,KAAK2B,EAAKlN,QAAS,CACvDjD,UAAW,OACXvE,QAAS,OACTmiC,GAAI,EACJ5oC,UAAuB,EAAIqW,EAAYmD,KAAKkT,EAAQze,QAASiJ,EAAc,CACzEhW,IAAKA,EACL+J,KAAM,IACLouD,OAEJt0C,GAAO,CAAC,EAAG,CACZ/kB,UAAuB,EAAIqW,EAAYmD,KAAK8/C,EAAS,CAAC,KAE1D,CACAH,EAAkB3+C,UAAY,CAC5BtZ,IAAK0U,EAAW3H,QAAQmd,OAAO/K,WAC/BiJ,GAAI1T,EAAW3H,QAAQmd,OACvB5I,KAAM5M,EAAW3H,QAAQmd,OACzBiuC,YAAazjD,EAAW3H,QAAQyI,OAChC0iD,SAAUxjD,EAAW3H,QAAQwb,MAE/B0vC,EAAkBh0D,aAAe,CAC/BmkB,GAAI,GACJ9G,KAAM,GACN62C,YAAa,CAAC,EACdD,UAAU,GAEZ,IAAI71B,EAAW41B,EACf3sD,EAAAA,QAAkB+2B,C,qCC1ElBj3B,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,aAAkB,EAClB,IAEgCgK,EAD5Bd,EADAI,GAE4BU,EAFKpJ,EAAQ,SAEQoJ,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,GAEvF,IADgCkE,EAASC,EACnC/T,EAAQ,CACZwY,QAAS,UACT5Z,MAAO,WAEHg0D,EAAc,OAEhBj2B,EADQztB,EAAQ7H,QAAQ2M,IAAIlF,IANAgF,EAM6D,CAAC,wCAAyC,gBAAiB,oBAAqB,+BANxHC,IAAOA,EAAMD,EAAQ1K,MAAM,IAM5B0F,EANyCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SAMqC,SAAA5V,GAAK,OAAIA,EAAMkG,MAAQuuD,CAAW,IAAE,SAAAz0D,GAAK,OAAIA,EAAMkG,MAAQuuD,CAAW,IAAE,SAAAz0D,GAAK,OAAI6B,EAAM7B,EAAM6B,QAAU7B,EAAM6B,OAASA,EAAMwY,OAAO,IAElV5S,EAAAA,QAAkB+2B,C,qCCjBL,6DAEbj3B,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBitD,EAClB,IAAI9jD,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C+N,EAAOtF,EAAuBzI,EAAQ,QACtC8N,EAAarF,EAAuBzI,EAAQ,QAC5C2O,EAAoBlG,EAAuBzI,EAAQ,KACnDyT,EAAYhL,EAAuBzI,EAAQ,OAC3CssD,EAAS7jD,EAAuBzI,EAAQ,QACxCusD,EAAQ9jD,EAAuBzI,EAAQ,QACvC2I,EAAcF,EAAuBzI,EAAQ,QAC7C2kB,EAAYlc,EAAuBzI,EAAQ,QAC3CwsD,EAAe/jD,EAAuBzI,EAAQ,QAC9CiJ,EAAcjJ,EAAQ,OACpBkJ,EAAY,CAAC,QAAS,WAAY,WAAY,eAAgB,WAAY,cAAe,QAAS,WAAY,SAAU,yBAC9H,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CAEpV,SAAS4G,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAASsiD,EAAc5gD,GACrB,IACI9S,EAUE8S,EAVF9S,MACAmU,EASErB,EATFqB,SACAoY,EAQEzZ,EARFyZ,SACA4jB,EAOEr9B,EAPFq9B,aACAvrC,EAMEkO,EANFlO,SACA+2B,EAKE7oB,EALF6oB,YACAx6B,EAIE2R,EAJF3R,MACAivC,EAGEt9B,EAHFs9B,SACAxU,EAEE9oB,EAFF8oB,OACAyU,EACEv9B,EADFu9B,sBAEFrxB,EAAO1M,EAAyBQ,EAAMvC,GACxC,GAA8B,EAAIX,EAAOhU,WAAU,GAAM,SAAlDk4D,EAAO,KAAEC,EAAU,KAC1B,GAA8B,EAAInkD,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAAwC,EAAIzI,EAAOhU,UAAUggC,GAA2B,kBAAjBuU,EAAmC,GAAKA,GAAa,SAArH53B,EAAY,KAAEy7C,EAAe,KACpC,GAA0B,EAAIpkD,EAAOhU,UAAU2c,GAAa,SAArD9d,EAAK,KAAE0uC,EAAQ,KAChBF,EAAY,6BAAG,oFACF,OAAjB5wB,GAAW,GAAM,kBAEY+3B,EAAS31C,GAAM,QACrB,IADA,EAAH,KAEhB0uC,EAAS5wB,IAEL07C,EAAWx5D,EACsB,oBAA1B41C,IACT4jB,EAAW5jB,EAAsB51C,IAEnC0uC,EAAS8qB,GACTD,EAAgBC,IACjB,gDAED9qB,EAAS5wB,GAAc,QAGL,OAHK,UAEvBF,GAAW,GACX07C,GAAW,GAAO,4EAErB,kBApBiB,mCAqBZlnB,EAAgB,SAAA7W,GACpBmT,EAASnT,GACTpxB,EAASoxB,EACX,EAQMj5B,EAAQ+2D,GAAuB,EAAIxjD,EAAYmD,KAAK0B,EAAWjN,QAxDvE,SAAuBkJ,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CAwDzaD,CAAc,CAC1FhQ,MAAO,CACLG,KAAM,GAERlB,WAAW,EACX3F,MAAOA,EACPmK,SAAU,SAAAuO,GACR05B,EAAc15B,EAAE/B,OAAO3W,MACzB,EACAgf,WAAW,EACXvU,KAAM,QACNrC,QAAS,WACT84B,YAAaA,EACbu4B,UAlBoB,SAAA/gD,GACN,UAAVA,EAAE1W,KACJwsC,GAEJ,EAeE90B,SAAUA,EACVlZ,KAAM2gC,EAAS,WAAa,QAC3B5c,KAAsB,EAAI1O,EAAYmD,KAAK2B,EAAKlN,QAAS,CAC1Dq4B,GAAI,EACJl/B,UAAW,uBACXF,MAAO,CACLq2B,WAAY,YAEdv9B,SAAU2hC,EAAS,SAAWnhC,IAEhC,OAAoB,EAAI6V,EAAYmD,KAAKogD,EAAa3rD,QAAS,CAC7D7G,UAAW,OACXF,MAAOA,EACPlH,UAAuB,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CACzD7G,UAAW,YACXpH,SAAU,EAAc,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1D7G,UAAW,kBACXpH,SAAU,CAAC+F,EAAOusB,IAAyB,EAAIjc,EAAYmD,KAAKuY,EAAU9jB,QAAS,CAAC,OACrE,EAAIoI,EAAYiD,MAAM6B,EAAKlN,QAAS,CACnD7G,UAAW,iBACXpH,SAAU,EAAc,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACzD7G,UAAW,kBACXpH,SAAU8C,KACK,EAAIuT,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClD7G,UAAW,mBACXpH,SAAU65D,GAAuB,EAAIxjD,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC3Evf,SAAU,EAAc,EAAIqW,EAAYmD,KAAKzD,EAAY9H,QAAS,CAChE,UAAW,2BACXhH,QAAS+nC,EACT90B,SAAUA,GAAY3U,EACtB0F,KAAM,QACNjL,SAAUuF,GAAuB,EAAI8Q,EAAYmD,KAAKuC,EAAkB9N,QAAS,CAC/EhD,KAAM,MACU,EAAIoL,EAAYmD,KAAKmgD,EAAM1rD,QAAS,CAAC,MACxC,EAAIoI,EAAYmD,KAAKzD,EAAY9H,QAAS,CACzD,UAAW,0BACXhH,QAAS,WACPioC,EAAS5wB,GACTw7C,GAAW,EACb,EACA5/C,SAAUA,GAAY3U,EACtB0F,KAAM,QACNjL,UAAuB,EAAIqW,EAAYmD,KAAKkgD,EAAOzrD,QAAS,CAAC,SAE/C,EAAIoI,EAAYmD,KAAKzD,EAAY9H,QAAS,CAC1D,UAAW,wBACXhH,QAAS,kBAAM6yD,GAAW,EAAK,EAC/B5/C,SAAUA,EACVjP,KAAM,QACNjL,UAAuB,EAAIqW,EAAYmD,KAAKqH,EAAU5S,QAAS,CAAC,cAM5E,CACAwrD,EAAcj/C,UAAY,CACxBtT,MAAO0O,EAAW3H,QAAQyI,OAC1By/B,SAAUvgC,EAAW3H,QAAQsb,KAC7B5e,SAAUiL,EAAW3H,QAAQsb,KAC7BxjB,MAAO6P,EAAW3H,QAAQmd,OAC1B8qB,aAActgC,EAAW3H,QAAQmd,OACjCsW,YAAa9rB,EAAW3H,QAAQmd,OAChCkH,SAAU1c,EAAW3H,QAAQwb,KAC7BvP,SAAUtE,EAAW3H,QAAQwb,KAC7BkY,OAAQ/rB,EAAW3H,QAAQwb,KAC3B2sB,sBAAuBxgC,EAAW3H,QAAQsb,MAE5CkwC,EAAct0D,aAAe,CAC3B+B,MAAO,CAAC,EACRivC,SAAU,WAAO,EACjBxrC,SAAU,WAAO,EACjB5E,MAAO,GACPmwC,aAAc,GACdxU,YAAa,GACbpP,UAAU,EACVpY,UAAU,EACVynB,QAAQ,EACRyU,sBAAuB,K,qCCvKzB9pC,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,aAAkB,EAClB,IAEgCgK,EAF5B4zC,EAAUh9C,EAAQ,OAClBokB,GAC4Bhb,EADYpJ,EAAQ,SACCoJ,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,GASvF,IAAI+sB,EARJ,WACE,IAAMz3B,GAAQ,EAAIs+C,EAAQ8P,YAG1B,MAAO,CACL5/C,UAH0B,EAAIkX,EAAevjB,SAASnC,EAAMC,YAAYugB,KAAK,OACxC,IAAMxgB,EAAMC,YAAYC,OAAO4d,GAIxE,EAEApd,EAAAA,QAAkB+2B,C,qCChBlBj3B,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAIA,SAAoBqM,GAClB,IAAIshD,EAAalqC,EAEfxuB,EACEoX,EADFpX,SAGAikB,GACE,EAAI1J,EAAMiC,kBADZyH,UAEI/V,GAAyC,QAA9BwqD,EAAch6D,OAAOC,WAAiC,IAAhB+5D,OAAyB,EAASA,EAAYC,YAAc,IAC7GruC,EAAS,MAAM/M,OAAoB,OAAbvd,QAAkC,IAAbA,GAAoE,QAApCwuB,EAAiBxuB,EAAS0C,YAAqC,IAAnB8rB,OAAtD,EAA2FA,EAAe9uB,SAEjL,MAAO,CACL2rB,SAFc,EAAI+C,EAAS5hB,SAAS0B,EAAQ,kBAAkBqP,OAAO0G,EAAY,GAAKjkB,EAAS0C,KAAKjD,KAAM6qB,GAI9G,EAjBA,IAEgCvV,EAF5BqZ,GAE4BrZ,EAFMpJ,EAAQ,SAEOoJ,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,GADnFwF,EAAQ5O,EAAQ,M,qCCLpBd,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAMA,SAAmBqM,GACjB,IAAIoX,EAEFxuB,EAEEoX,EAFFpX,SAAQ,EAENoX,EADFgF,UAAAA,OAAS,IAAG,KAAE,EAEVzc,GAAO,EAAI4a,EAAMiC,kBAErByH,EACEtkB,EADFskB,UAEIqG,EAAS,MAAM/M,OAAoB,OAAbvd,QAAkC,IAAbA,GAAoE,QAApCwuB,EAAiBxuB,EAAS0C,YAAqC,IAAnB8rB,OAAtD,EAA2FA,EAAe9uB,SAAS6d,QAAO,EAAIrD,EAAM2M,eAA4B,OAAb7mB,QAAkC,IAAbA,OAAsB,EAASA,EAAS+G,QAAU,IAAM,IACnSskB,EAAUpH,GAAY,EAAImK,EAAS5hB,SAAS0N,EAAM0+C,WAAY5+C,EAAUvb,8BAA+B,wBAAyB6rB,IAAU,EAAI8D,EAAS5hB,SAAS7M,EAAKnB,UAAW,gBACpL,GAAwB,aAApBwB,EAAS0J,QAAyB1J,EAAS0uB,cAAgB1uB,EAAS0C,KAAK+oB,KAC3EJ,GAAU,EAAI+C,EAAS5hB,SAASxM,EAAS0uB,cAAc,EAAIxU,EAAMs9B,wBAAwBx3C,EAAS0C,KAAKisB,UAAW3uB,EAAS0C,KAAK+oB,MAAOnB,OAClI,CACL,IAAMpc,EAASxP,OAAOC,IAAIg6D,WAAa,IACjC1wD,EAAamU,EAAUmB,OAAOvd,GAC9BmP,EAAO8U,EAAYhc,EAAWsG,MAAM,GAAKtG,EAC/CojB,GAAU,EAAI+C,EAAS5hB,SAAS0B,EAAQ,wBAAwBqP,OAAOpO,EAAKpN,KAAI,SAAAjB,GAAC,MAAI,IAAIyc,OAAOzc,EAAE4B,KAAKjD,IAAI,IAAE4O,KAAK,KAAMic,EAC1H,CACA,MAAO,CACLe,QAAAA,EACApH,UAAAA,EAEJ,EA7BA,IAIgClP,EAJ5BqZ,GAI4BrZ,EAJMpJ,EAAQ,SAIOoJ,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,GAHnFiF,EAAYrO,EAAQ,OACpB4O,EAAQ5O,EAAQ,OAChBuO,EAAQvO,EAAQ,M,qCCTP,6DAEbd,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QA0FA,WACE,OAGI,EAAIuU,EAAUrf,sBAFhBD,EAAQ,EAARA,SACAiE,EAAO,EAAPA,QAEF,GAII,EAAI+nC,EAA6BvgC,iBAAiBzL,EAAU,CAC9D4S,cAAa,SAACimD,GACZ,IAAMtpD,GAAW,EAAIs8B,EAAWr/B,SAASqsD,GAWzC,OATAC,EAAqBrf,UAAUrsC,SAAQ,SAAAC,GAChCkC,EAASiD,MAAK,SAAA1R,GAAC,OAAIA,EAAEgQ,KAAOzD,EAAKyD,EAAE,KACtCvB,EAASjI,KAAK+F,EAElB,IAEKkC,EAASiD,MAAK,SAAA1R,GAAC,OAAIA,EAAEgQ,KAAOhQ,EAAE0M,SAAW,IAAI3E,SAAS,iBAAiB,KAC1E0G,EAASjI,KAAI,MAAbiI,EAAQ,EAASupD,EAAqBpf,iBAEjCnqC,CACT,IAjBA1B,EAAc,EAAdA,eACA5F,EAAU,EAAVA,WACAwL,EAAW,EAAXA,YAiBI8tB,GAAQ,EAAIyG,EAAQa,aAAa,CACrCv1B,eAAe,EAAIu4B,EAAWr/B,SAASqB,GACvCqtC,cAjGoB,SAkGpBjzC,WAAAA,IAEIK,GAAa,EAAI4L,EAAOi1B,UAAS,WACrC,OAAO,EAAI6C,EAA6B1gC,oBAAoBi2B,EAAMjuB,cACpE,GAAG,CAACiuB,EAAMjuB,gBACJylD,GAAiB,EAAI7kD,EAAOi1B,UAAS,WACzC,IAAM6vB,GAAU,EAAIhtB,EAA6B3gC,kBAAkBk2B,EAAMjuB,cAAerL,GAClFgxD,GAAqB,EAAIjtB,EAA6B7gC,UAAU6tD,EAAS/wD,GAC/E,OAAO,EAAI+jC,EAA6B5gC,uBAAuB6tD,EACjE,GAAG,CAAChxD,EAAYs5B,EAAMjuB,gBACtB,SAAS4lD,EAAsBtnD,GAC7B,IAAKA,EAAed,GAAI,MAAO,GAC/B,IAAMqoD,GAAW,EAAIntB,EAA6B/gC,qBAAoB,EAAI+gC,EAA6B7gC,UAAU7C,EAAYL,IACvHmxD,EAAWD,EAASt4D,MAAK,SAAAwM,GAAI,OAAIA,EAAKyD,KAAOc,EAAed,EAAE,IAEpE,SAASuoD,EAAYjiD,GACnB,IACExV,EACEwV,EADFxV,KAEF,OAAoB,EAAIgT,EAAYmD,KAAKowB,EAAUyK,KAAM,CACvDtuC,MAAO,gBAAgBiZ,OAAO3b,GAC9BuD,MAAO,QACPqE,KAAM,QACNrC,QAAS,WACT/B,GAAI,CACF8X,SAAU,GACV2O,OAAQ,KAGd,CACA,GAAiB,OAAbutC,QAAkC,IAAbA,GAAuBA,EAAS7vD,WACvD,IAAKtB,EAAWuK,MAAK,SAAA1R,GAAC,OAAIA,EAAEc,OAASw3D,EAAS7vD,SAAS,IACrD,OAAoB,EAAIqL,EAAYmD,KAAKshD,EAAa,CACpDz3D,KAAMw3D,EAAS7vD,iBAGd,GAAI6vD,EAASpsD,OAAQ,CAC1B,IAAMA,EAASmsD,EAASt4D,MAAK,SAAAC,GAAC,OAAIA,EAAEgQ,KAAOsoD,EAASpsD,MAAM,IAC1D,GAAe,OAAXA,QAA8B,IAAXA,GAAqBA,EAAOzD,YAC5CtB,EAAWuK,MAAK,SAAA1R,GAAC,OAAIA,EAAEc,OAASoL,EAAOzD,SAAS,IACnD,OAAoB,EAAIqL,EAAYmD,KAAKshD,EAAa,CACpDz3D,KAAMoL,EAAOzD,WAIrB,CACA,OAAoB,OAAb6vD,QAAkC,IAAbA,OAAsB,EAASA,EAASprD,IACtE,CAkGA,SAASsrD,EAAgBnqD,GACvB,IAAIoqD,EAAW5jD,UAAUtO,OAAS,QAAsBqB,IAAjBiN,UAAU,GAAmBA,UAAU,GAAK6jD,EAC7E7sD,EAAOwC,EAAKpN,KAAI,SAAAsL,GACpB,IAAMiF,EAAgBrK,EAAWpH,MAAK,SAAA44D,GAAa,OAAIA,EAAc73D,OAASyL,EAAK9D,SAAS,IACtFmwD,GAA0B,OAAlBpnD,QAA4C,IAAlBA,OAA2B,EAASA,EAActE,OAASurD,EAC7Fh7D,EAAW8O,EAAKoC,OAAS,GAE7BzB,EACEX,EADFW,KAEF,MAAO,CACL/L,MAAOoL,EAAKpL,MACZ+oC,SAAUkuB,EAAsB7rD,GAChCW,KAAAA,EACAsK,KAAMjL,EAAKiL,KACX/Z,SAAU+6D,EAAgB/6D,EAAUyP,GAAQwrD,GAC5ChsD,QAASH,EAAKG,QACd2D,QAAS9D,EAAK8D,QACdnE,OAAQK,EAAKL,OACbzD,UAAW8D,EAAK9D,UAChBuH,GAAIzD,EAAKyD,GACT/C,KAAMV,EAAKU,KACXmD,KAAM7D,EAAK6D,KACXyoD,OAAQD,EAEZ,IACA,OAAO/sD,CACT,CAeA,SAIewtC,EAAmB,GAAD,4CAsBhC,OAtBgC,cAAjC,WAAkChrC,GAAI,yEAoBpC,OAnBMvM,EAAOuM,EAAKpN,KAAI,SAAAsL,GACpB,OAAO,EAAIusD,EAAQptD,SAASa,EAAMsiB,EAAOnjB,QAC3C,IACMqtD,EAAgBj3D,EAAKb,KAAI,SAAAsL,GAC7B,IAAMS,EAAW2H,EAAc,CAAC,EAAGpI,GAanC,OAZIS,EAASC,MAAQb,MAAMC,QAAQW,EAASC,QAC1CD,EAASC,KAAOL,KAAKosD,UAAUhsD,EAASC,OAEtCD,EAASN,SAAWN,MAAMC,QAAQW,EAASN,WAC7CM,EAASN,QAAUE,KAAKosD,UAAUhsD,EAASN,UAEzCM,EAAS7L,OAAS6L,EAAS7L,iBAAiB4I,SAC9CiD,EAAS7L,MAAQyL,KAAKosD,UAAUhsD,EAAS7L,QAEvC6L,EAASE,MAAQF,EAASE,gBAAgBnD,SAC5CiD,EAASE,KAAON,KAAKosD,UAAUhsD,EAASE,OAEnCF,CACT,IACA,SACM7J,EAAQ81D,kBAAkBF,GAAc,4CAC/C,sBAC6B,aAG7B,OAH6B,cAA9B,8FACQ1f,EAAmB,IAAG,OAC5B5Y,EAAMjuB,eAAgB,EAAIu4B,EAAWr/B,SAASiH,GAAa,4CAC5D,sBACD,MAAO,CACL8tB,MAAAA,EACAj5B,WAAYywD,EACZ9wD,WAAAA,EACAixD,sBAAAA,EACA7e,oBA9KF,SAA6Ba,GAC3B3Z,EAAM2Z,cAAgBA,CACxB,EA6KEX,qBApJF,SAA8Byf,IAG9B,WACE,IAAIC,EAAUtkD,UAAUtO,OAAS,QAAsBqB,IAAjBiN,UAAU,GAAmBA,UAAU,GAAK,GAC5EukD,EAAoB34B,EAAMjuB,cAAcvR,KAAI,SAAAsL,GAChD,IAAM8sD,EAAcF,EAAQp5D,MAAK,SAAAu5D,GAAU,OAAIC,EAAiB5kD,EAAcA,EAAc,CAAC,EAAG2kD,GAAa,CAAC,EAAG,CAC/G5sD,QAAS+zB,EAAM2Z,gBACb7tC,EAAK,IACT,OAAI8sD,EACK1kD,EAAcA,EAAc,CAAC,EAAGpI,GAAO8sD,GAEzC9sD,CACT,IACAk0B,EAAMjuB,cAAgB4mD,CACxB,CAdEI,CAAsB,CAACN,GACzB,EAmJExf,kBAjIF,SAA2B1pC,GACzB,IAAMypD,EAAsBh5B,EAAMjuB,cAAc7R,QAAO,SAAA4L,GAAI,OAAIA,EAAKyD,KAAOA,GAAMzD,EAAKL,SAAW8D,CAAE,IAAE/O,KAAI,SAAAsL,GAAI,OAAIA,EAAKyD,EAAE,IACxHywB,EAAMjuB,cAAgBiuB,EAAMjuB,cAAc7R,QAAO,SAAA4L,GAAI,OAAKktD,EAAoB1xD,SAASwE,EAAKyD,GAAG,GACjG,EA+HE2pC,kBA1HF,WACE,IAAIx5B,EAAStL,UAAUtO,OAAS,QAAsBqB,IAAjBiN,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC5E/S,EAAO6S,EAAcA,EAAc,CAAC,EAAGwL,GAAS,CAAC,EAAG,CAExDnQ,IAAI,EAAI0pD,EAAQC,UAChBjtD,QAAS+zB,EAAM2Z,cACf/pC,SAAS,IAEXowB,EAAMjuB,cAAgB,GAAH,SAAOiuB,EAAMjuB,eAAa,CAAE1Q,GACjD,EAkHE03C,qBA/KF,SAA8B3tC,GAC5B,IAAMwC,EAAO,IACb,EAAI68B,EAA6BxgC,UAAUmB,GAAM,SAAC+tD,EAAU1tD,GAC1D,IAAM6D,EAAU4E,EAAcA,EAAc,CAAC,GAAG,EAAI81B,EAAM/+B,SAASkuD,EAAU,CAAC,WAAY,YAAa,CAAC,EAAG,CACzG1tD,OAAmB,OAAXA,QAA8B,IAAXA,OAAoB,EAASA,EAAO8D,KAEjE3B,EAAK7H,KAAKuJ,EACZ,IACA,IAAM8pD,EAAsBp5B,EAAMjuB,cAAc7R,QAAO,SAAA4L,GACrD,IAAKk0B,EAAM2Z,cACT,OAAO,EAET,IAAMke,EAAWjqD,EAAKtO,MAAK,SAAAyO,GAAC,OAAI+qD,EAAiB/qD,EAAGjC,EAAK,IACzD,OAAI+rD,KACM,EAAIptB,EAA6BzgC,gBAAgB6tD,EAAS5rD,QAAS+zB,EAAM2Z,cAGrF,IACA3Z,EAAMjuB,cAAgB,GAAH,SAAOqnD,GAAwBxrD,EACpD,EA6JE+qC,cAjDF,SAAuB1sC,GAKrB,OAAO8rD,GAJgB,EAAIztB,EAAWr/B,SAASlE,GACE7G,QAAO,SAAA4L,GACtD,OAAO,EAAI2+B,EAA6BzgC,gBAAgB8B,EAAKG,QAASA,EACxE,IAEF,EA4CE2sC,mBAAAA,EACAC,gBAjBD,WAC6B,gCAkBhC,EA5VA,IAAIpS,EAAUr8B,EAAQ,OAClBkgC,EAAaz3B,EAAuBzI,EAAQ,QAC5CgkB,EAASvb,EAAuBzI,EAAQ,QACxC4/B,EAAQn3B,EAAuBzI,EAAQ,QACvCiuD,EAAUxlD,EAAuBzI,EAAQ,QACzCuI,EAASvI,EAAQ,OACjB6uD,EAAU7uD,EAAQ,OAClBw8B,EAAYx8B,EAAQ,OACpBqgC,EAA+BrgC,EAAQ,OACvCqO,EAAYrO,EAAQ,OACpB2T,EAAY3T,EAAQ,OACpBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,IAAMykD,EAAY,IAIZV,EAAuB,CAC3Bpf,eAAgB,CAAC,CACf5oC,GAAI,kBACJ7O,MAAO,CACL+Y,GAAI,SACJD,GAAI,gBAENvN,QAAS,CAAC,kBACV8K,KAAM,uBACNtK,KAAM,GAAGuP,OAAOvD,EAAUvb,8BAA+B,UACzDsP,KAAM,CAAC,QAAS,SAChBmD,KAAM,SAERuoC,UAAW,CAAC,CACV3oC,GAAI,UACJ7O,MAAO,CACL+Y,GAAI,SACJD,GAAI,4BAENhN,KAAM,CAAC,QAAS,QAAS,UACzBP,QAAS,CAAC,aACVQ,KAAM,GACNkD,KAAM,OACNzB,MAAO,CAAC,CACNqB,GAAI,SACJ7O,MAAO,CACL+Y,GAAI,UACJD,GAAI,gBAENzC,KAAM,2BACNtK,KAAM,GAAGuP,OAAOvD,EAAUvb,8BAA+B,kBACzDyS,KAAM,QACL,CACDJ,GAAI,WACJ7O,MAAO,CACL+Y,GAAI,WACJD,GAAI,sBAENzC,KAAM,6BACNtK,KAAM,GAAGuP,OAAOvD,EAAUvb,8BAA+B,oBACzDyS,KAAM,UAEP,CACDJ,GAAI,aACJ7O,MAAO,WACP8L,KAAM,CAAC,QAAS,SAChBP,QAAS,CAAC,aACVQ,KAAM,GACNkD,KAAM,OACNzB,MAAO,CAAC,CACNqB,GAAI,YACJ7O,MAAO,CACL+Y,GAAI,YACJD,GAAI,sBAENzC,KAAM,gCACNtK,KAAM,GAAGuP,OAAOvD,EAAUvb,8BAA+B,UACzDyS,KAAM,YAIZ,SAASmpD,EAAiBvmD,EAAGC,GAC3B,OAAID,EAAEtG,SAAWuG,EAAEvG,QACVsG,EAAEtG,UAAYuG,EAAEvG,SAAWsG,EAAEhD,KAAOiD,EAAEjD,GAExCgD,EAAEhD,KAAOiD,EAAEjD,EACpB,C,qCCzFA/F,EAAQ,EAAU6vD,EAClB,IAAIzmD,EAAaC,EAAuBzI,EAAQ,QAC5Cw8B,EAAYx8B,EAAQ,OACpB4iB,EAAQna,EAAuBzI,EAAQ,QACvCwO,EAAWxO,EAAQ,OACnBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAG9F,SAAS6lD,EAASxjD,GAChB,IACE/S,EACE+S,EADF/S,MAGAT,GACE,EAAIuW,EAAStW,oBADfD,EAEIi3D,EAAUx2D,EAAMtC,KAAI,SAAAjB,GAAC,MAAI,KAAKyc,OAAOzc,EAAEwD,MAAO,MAAMiZ,OAAOzc,EAAE/B,MAAM,IAAEsP,KAAK,MAC1EysD,EAAc,IAAIl2C,IAAI,wDAG5B,OAFAk2C,EAAYj2C,aAAa1E,IAAI,QAAS,cACtC26C,EAAYj2C,aAAa1E,IAAI,OAAQ,0EAAiE5C,OAAOs9C,EAAS,cAAct9C,OAAO7e,OAAOwE,SAAS6d,KAAM,gBAC1J,EAAInM,EAAYmD,KAAKowB,EAAUpjC,IAAK,CACzCK,GAAI,CACF21D,GAAI,CACFj5C,GAAI,EACJtX,GAAI,IAGRjM,UAAU,EAAIqW,EAAYmD,KAAKwW,EAAM/hB,QAAS,CAC5CpH,GAAI,CACFD,MAAO,gBAETuQ,OAAQ,SACRqL,KAAM+5C,EAAY/5C,KAClBkB,IAAK,aACLxc,MAAO,CACLC,eAAgB,aAElBnH,SAAUqF,EAAE,yBAGlB,CACAg3D,EAAS7hD,UAAY,CACnB1U,MAAO8P,EAAW3H,QAAQukD,QAAQ58C,EAAW3H,QAAQod,MAAM,CACzDtlB,MAAO6P,EAAW3H,QAAQmd,OAC1B5qB,MAAOoV,EAAW3H,QAAQmd,WAG9BixC,EAASl3D,aAAe,CACtBW,MAAO,G,qCCrDI,uBAEbwG,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,aAAkB,EAClB,IAGgCgK,EAH5Bb,EAASvI,EAAQ,OACjBqvD,GAE4BjmD,EAFUpJ,EAAQ,SAEGoJ,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,GADnFmF,EAAQvO,EAAQ,OASpB,IAAIm2B,EAPJ,WACE,OAAsC,EAAI5tB,EAAOhU,WAAW,IAAIq3B,MAAO,SAAhE0jC,EAAW,KAAEC,EAAc,KAIlC,OAHA,EAAIF,EAAaxuD,UAAS,WACxB0uD,GAAgB,IAAI3jC,KACtB,GAAG,MACI,EAAIrd,EAAMihD,YAAYF,EAAa,0BAC5C,EAEAlwD,EAAAA,QAAkB+2B,C,qCClBL,6DAEbj3B,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBqwD,EAClB,IAAIlnD,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C0vD,EAASjnD,EAAuBzI,EAAQ,QACxC+N,EAAOtF,EAAuBzI,EAAQ,QACtC2vD,EAAYlnD,EAAuBzI,EAAQ,QAC3C6gB,EAAepY,EAAuBzI,EAAQ,QAC9C2gB,EAAUlY,EAAuBzI,EAAQ,QACzC6I,EAAYJ,EAAuBzI,EAAQ,QAC3C2O,EAAoBlG,EAAuBzI,EAAQ,KACnD0O,EAAUjG,EAAuBzI,EAAQ,QACzCwO,EAAWxO,EAAQ,OACnByO,EAAUhG,EAAuBzI,EAAQ,QACzC4vD,EAAcnnD,EAAuBzI,EAAQ,QAC7C4O,EAAQ5O,EAAQ,OAChB+O,EAAStG,EAAuBzI,EAAQ,QACxCiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,IAAMymD,EAAO,CAAC,EAAG,GACjB,SAASJ,EAAYhkD,GACnB,IACEtG,EAEEsG,EAFFtG,GACAlP,EACEwV,EADFxV,KAGAgC,GACE,EAAIuW,EAAStW,oBADfD,EAEF,GAGI,EAAI2W,EAAMiC,kBAFZtd,EAAO,EAAPA,QACA+kB,EAAS,EAATA,UAEF,GAAoC,EAAI/P,EAAOhU,WAAU,GAAM,SAAxDmc,EAAU,KAAEC,EAAa,KAChC,GAA0C,EAAIpI,EAAOhU,WAAU,GAAM,SAA9D2mB,EAAa,KAAE40C,EAAgB,KACtC,GAAwB,EAAIvnD,EAAOhU,UAAU,GAAE,SAAxCw7D,EAAI,KAAEC,EAAO,KACdC,EAAU,6BAAG,8FACb/0C,EAAe,CAAF,gDAK8B,OAL9B,SAIf40C,GAAiB,GACX7X,EAAQ3/B,EAAY,GAAK,IAAI1G,OAAOzM,GAAG,SAC3B5R,EAAQ4gB,IAAI,gBAAgBvC,OAAOqmC,EAAO,UAAUrmC,OAAOm+C,GAAO,CAClFG,aAAc,SACd,OAFIr6D,EAAM,EAAH,KAGHuf,EAAO6D,IAAIk3C,gBAAgBt6D,EAAIoB,OAC/BoL,EAAO+sB,SAASpiB,cAAc,MAC/BoI,KAAOA,EACZ/S,EAAK+tD,aAAa,WAAY,GAAGx+C,QAAO,EAAIg+C,EAAY/uD,SAAS5K,GAAQkP,GAAK,KAAKyM,QAAO,EAAI89C,EAAO7uD,WAAWwvD,OAAO,kBAAmB,aAC1IjhC,SAASxI,KAAK0pC,YAAYjuD,GAC1BA,EAAKkuD,QACLnhC,SAASxI,KAAK4pC,YAAYnuD,GAC1B4W,IAAIw3C,gBAAgBr7C,GACpB06C,GAAiB,GAAO,kDAExBA,GAAiB,GACjB/gD,EAAOlO,QAAQzI,MAAM,KAAM5B,SAAS,0DAEvC,kBAvBe,mCA2BhB,MAAO,EAAc,EAAIyS,EAAYmD,KAAK2B,EAAKlN,QAAS,CACtDxH,QAAS,OACTC,WAAY,SACZQ,MAAO,CACLgZ,IAAK,IAEPlgB,UAAuB,EAAIqW,EAAYiD,MAAMwC,EAAQ7N,QAAS,CAC5D,UAAW,gBACXrF,QAAS,WACT3B,QAAS,kBAAM8W,GAAc,EAAK,EAClC7D,SAAUoO,EACVtoB,SAAU,CAACsoB,GAA6B,EAAIjS,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACtFhD,KAAM,MACU,EAAIoL,EAAYmD,KAAKujD,EAAU9uD,QAAS,CACxD0Q,SAAU,QACVzX,MAAO,CACL4J,UAAW,sBAEE,EAAIuF,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDwV,GAAI,GACJzjB,SAAUqF,EAAE,0BAGdyY,IAA2B,EAAIzH,EAAYmD,KAAKqC,EAAQ5N,QAAS,CACnE+K,MAAM,EACNC,QAAS,WACP8E,GAAc,EAChB,EACAqf,sBAAsB,EACtB15B,MAAO2B,EAAE,mBACTuU,WAAY,CACV1S,MAAO,CACLoY,UAAW,SAGf5Z,SAAsB,EAAI2Q,EAAYiD,MAAMwC,EAAQ7N,QAAS,CAC3D,UAAW,gBACXrF,QAAS,WACT3B,QAAS,kBAAMo2D,GAAY,EAC3BnjD,SAAUoO,EACVtoB,SAAU,CAACsoB,IAA8B,EAAIjS,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACvFhD,KAAM,MACS,EAAIoL,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDwV,GAAI,GACJzjB,SAAUqF,EAAE,uBAGhBrF,UAAuB,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACxDwR,GAAI,EACJhZ,QAAS,OACTyc,eAAgB,SAChBljB,UAAuB,EAAIqW,EAAYmD,KAAKyU,EAAahgB,QAAS,CAChEhD,KAAM,QACN9E,WAAW,EACXnG,UAAuB,EAAIqW,EAAYmD,KAAKuU,EAAQ9f,QAAS,CAC3DzN,MAAO28D,EACPxyD,SA3Da,SAAAuO,GACnBkkD,EAAQlkD,EAAE/B,OAAO3W,MACnB,EA0DQR,SAAUi9D,EAAKz5D,KAAI,SAAAjB,GAAC,OAAiB,EAAI8T,EAAYmD,KAAKvD,EAAUhI,QAAS,CAC3EzN,MAAO+B,EACPvC,SAAUqF,EAAE,gBAAgB2Z,OAAOzc,KAClCA,EAAE,YAKf,CACAs6D,EAAYriD,UAAY,CACtBjI,GAAIqD,EAAW3H,QAAQmd,OAAO/K,WAC9Bhd,KAAMuS,EAAW3H,QAAQmd,QAE3ByxC,EAAY13D,aAAe,CACzB9B,KAAM,G,qCCzIK,uBAEbiJ,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAQsxD,iBAAc,EACtBtxD,EAAQ44C,iBAAmBA,EAC3B,IAUI1vC,EAAiBsF,EAVjBrF,EAASvI,EAAQ,OACjB0I,EAAUD,EAAuBzI,EAAQ,QACzCwI,EAAaC,EAAuBzI,EAAQ,QAC5C0O,EAAUjG,EAAuBzI,EAAQ,QACzCgX,EAAevO,EAAuBzI,EAAQ,QAC9CokB,EAAiB3b,EAAuBzI,EAAQ,QAChD2wD,EAAYloD,EAAuBzI,EAAQ,QAC3C4wD,EAASnoD,EAAuBzI,EAAQ,QACxC4O,EAAQ5O,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAEpBkJ,EAAY,CAAC,OAAQ,QAAS,QAAS,cAAe,UAAW,YACrEC,EAAa,CAAC,WAChB,SAASV,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAAS6F,EAAuB3B,EAASC,GAA6C,OAAjCA,IAAOA,EAAMD,EAAQ1K,MAAM,IAAa1D,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,MAAY,CACtL,SAASlE,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAK3e,SAASiuC,EAAiBvsC,GACxB,IACIxV,EAMEwV,EANFxV,KACAgiD,EAKExsC,EALFwsC,MACA4Y,EAIEplD,EAJFolD,MACA3Y,EAGEzsC,EAHFysC,YACAiU,EAEE1gD,EAFF0gD,QACAhU,EACE1sC,EADF0sC,SAEFxgC,EAAO1M,EAAyBQ,EAAMvC,GAGpCvV,GAEA,EAAIib,EAAMiC,kBAHZrd,GACEG,gBAGEm9D,EAAgB,CACpBj9D,KAAM,OACNuE,MAAO,QACP0X,OAAQ,SACRihD,OAAQ,SACRC,OAAQ,UAEJtrC,GAAW,EAAItB,EAAevjB,UAAS,SAAAnC,GAAK,OAAIA,EAAMC,YAAYugB,KAAK,KAAK,IAClF,GAAsC,EAAI3W,EAAOhU,UAAUs8D,EAAM,IAAG,SAA7DI,EAAW,KAAEC,EAAc,KAClC,GAAgC,EAAI3oD,EAAOhU,YAAW,SAA/C48D,EAAQ,KAAEC,EAAW,KACtBC,GAAe,EAAI9oD,EAAOigB,QAAQ,CAAC,GA0BzC,OAvBA,EAAIjgB,EAAOzR,YAAW,WACpB+5D,EAAMpvD,SAAQ,SAAA7N,GACZ,IAAM09D,EAAWD,EAAa/zD,QAAQ1J,GAClC09D,IACFA,EAASC,MAAM,cAAc3/C,OAAOhe,EAAM,cAAcge,OAAO3b,EAAM,QACrEq7D,EAASC,MAAM,YACfrZ,EAAYz2C,SAAQ,SAAAC,GAAI,OAAI4vD,EAASC,MAAM7vD,EAAK,IAEpD,GAEF,GAAG,IAGH/N,EAAgB,OAAOie,OAAOqmC,IAAQ,SAAAj3B,GAC/BmwC,GACHC,EAAYpwC,EAAImwC,UAAY,CAAC,GAE/B,IAAMG,EAAWD,EAAa/zD,QAAQ0jB,EAAI1f,OACtCgwD,IACFA,EAASC,MAAMvwC,EAAI/pB,KAAKgR,QAAQ,QAAQ,SAAA22B,GAAC,MAAU,SAANA,EAAeA,EAAI,GAAGhtB,OAAOgtB,EAAE,GAAI,WAAW,KAC3F0yB,EAASC,MAAM,YAEnB,GAAG,KACiB,EAAItoD,EAAYiD,MAAMslD,EAAsB1nD,EAAcA,EAAc,CAAC,EAAG6N,GAAO,CAAC,EAAG,CACzG/kB,SAAU,EAAc,EAAIqW,EAAYiD,MAAM,MAAO,CACnDlS,UAAW,0BACXpH,SAAU,EAAc,EAAIqW,EAAYiD,MAAM,MAAO,CACnDlS,UAAW,gCACXpH,SAAU,CAACu5D,GAAsB,EAAIljD,EAAYmD,KAAK4K,EAAanW,QAAS,CAC1ErF,QAAS,WACTqC,KAAM6nB,EAAW,QAAU,SAC3B9yB,SAAUi+D,EAAMz6D,KAAI,SAAAxC,GAClB,IAAM+D,EAAQ/D,IAASq9D,EAAc,CACnCz1D,QAAS,aACP,CAAC,EACL,OAAoB,EAAIyN,EAAYmD,KAAKsC,EAAQ7N,QAASiJ,EAAcA,EAAc,CAAC,EAAGnS,GAAQ,CAAC,EAAG,CACpGkC,QAAS,kBAAMq3D,EAAet9D,EAAK,EACnChB,SAAUk+D,EAAcl9D,KACtBA,EACN,UAEa,EAAIqV,EAAYmD,KAAK,MAAO,CAC3CpS,UAAW,8BACXpH,SAAUulD,QAEG,EAAIlvC,EAAYmD,KAAK,MAAO,CAC3CpS,UAAW,+BACXpH,SAAUi+D,EAAMz6D,KAAI,SAAAxC,GAClB,OAAoB,EAAIqV,EAAYmD,KAAKskD,EAAa,CACpDjrC,IAAK,SAAA1S,GACHs+C,EAAa/zD,QAAQ1J,GAAQmf,CAC/B,EACA0+C,QAAsB,OAAbN,QAAkC,IAAbA,OAAsB,EAASA,EAASv9D,GACtEkG,MAAO,CACL43D,WAAY99D,IAASq9D,EAAc,UAAY,WAEhDr9D,EACL,SAGN,CACAokD,EAAiB5qC,UAAY,CAE3BnX,KAAMuS,EAAW3H,QAAQmd,OAAO/K,WAEhCglC,MAAOzvC,EAAW3H,QAAQmd,OAAO/K,WAEjC49C,MAAOroD,EAAW3H,QAAQukD,QAAQ58C,EAAW3H,QAAQmd,QAErDk6B,YAAa1vC,EAAW3H,QAAQukD,QAAQ58C,EAAW3H,QAAQmd,QAC3DmuC,QAAS3jD,EAAW3H,QAAQ7M,KAC5BmkD,SAAU3vC,EAAW3H,QAAQ7M,MAE/BgkD,EAAiBjgD,aAAe,CAC9B84D,MAAO,CAAC,QAAS,OAAQ,SAAU,SAAU,UAC7C3Y,YAAa,GACbiU,QAAS,KACThU,SAAU,MAEZ,IAAMqZ,EAAuB9oD,EAAQ7H,QAAQ2M,IAAIlF,IAAoBA,EAAkB2G,EAAuB,CAAC,iVAAkV,wMAAyM,sSAAsS,SAAAtX,GAAK,OAAIA,EAAM+G,MAAMC,YAAYugB,KAAK,KAAK,IAAE,SAAAvnB,GAAK,OAAIA,EAAM+G,MAAMC,YAAYugB,KAAK,KAAK,IAClgCwxC,GAA2B,EAAInoD,EAAOid,aAAY,SAACnF,EAAOoF,GAC1D,IACAgsC,EACEpxC,EADFoxC,QAEF95C,EAAO1M,EAAyBoV,EAAOlX,GAYzC,OAAoB,EAAIF,EAAYiD,MAAMylD,EAAiB7nD,EAAcA,EAAc,CAAC,EAAG6N,GAAO,CAAC,EAAG,CACpG/kB,SAAU,EAAc,EAAIqW,EAAYiD,MAAM,MAAO,CACnDlS,UAAW,mBACXpH,SAAU,EAAc,EAAIqW,EAAYmD,KAAKwkD,EAAO/vD,QAAS,CAAC,GAAI4wD,IAAwB,EAAIxoD,EAAYmD,KAAK,OAAQ,CACrHxZ,SAAU6+D,QAEG,EAAIxoD,EAAYmD,KAAK,MAAO,CAC3CpS,UAAW,yBACXF,MAAO,CACLokC,SAAU,YAEZtrC,UAAuB,EAAIqW,EAAYmD,KAAKukD,EAAU9vD,QAAS,CAC7D4kB,IAAKA,EACL3rB,MAxBgB,CACpBoc,MAAO,OACP07C,UAAW,aACX1xC,OAAQ,QAsBJlZ,QApBkB,CACtBtI,MAAO,CACLmzD,WAAY,UACZC,WAAY,mBAqBlB,IACA1yD,EAAQsxD,YAAcA,EACtBA,EAAYtjD,UAAY,CACtBqkD,QAASjpD,EAAW3H,QAAQmd,QAE9B0yC,EAAY34D,aAAe,CACzB05D,QAAS,IAEX,IAAME,EAAkBjpD,EAAQ7H,QAAQ2M,IAAII,IAAqBA,EAAmBqB,EAAuB,CAAC,itB,qCCpL5G/P,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB2yD,EAClB,IAOIzpD,EAPAE,EAAaC,EAAuBzI,EAAQ,QAC5C0I,EAAUD,EAAuBzI,EAAQ,QACzC8oD,EAAQrgD,EAAuBzI,EAAQ,QACvC+oD,EAAetgD,EAAuBzI,EAAQ,QAC9CkX,EAAczO,EAAuBzI,EAAQ,QAC7C+N,EAAOtF,EAAuBzI,EAAQ,QACtCiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS2oD,EAAUtmD,GACjB,IACE3R,EAME2R,EANF3R,MACAxD,EAKEmV,EALFnV,MACAlD,EAIEqY,EAJFrY,MACA4+D,EAGEvmD,EAHFumD,MACA37D,EAEEoV,EAFFpV,YACA6uD,EACEz5C,EADFy5C,gBAEF,OAAoB,EAAIj8C,EAAYmD,KAAK6lD,EAAY,CACnDr/D,UAAuB,EAAIqW,EAAYiD,MAAM68C,EAAaloD,QAAS,CACjE/G,MAAOgQ,EAAc,CAAC,EAAGhQ,GACzBlH,SAAU,EAAc,EAAIqW,EAAYmD,KAAK8K,EAAYrW,QAAS,CAChEpH,GAAI,CACF8X,SAAU,IAEZ/X,MAAO,iBACP5G,SAAU0D,KACK,EAAI2S,EAAYmD,KAAK8K,EAAYrW,QAAS,CACzDrF,QAAS,KACToC,UAAW,MACXxB,GAAI,EACJxJ,SAAUQ,IACR4+D,GAAQ9M,IAAgC,EAAIj8C,EAAYmD,KAAK2B,EAAKlN,QAAS,CAC7ExH,QAAS,OACTI,GAAI,CACF8X,SAAU,GACVyQ,UAAW,GAEbxoB,MAAO,iBACP5G,SAAUyD,QAIlB,CACA07D,EAAU3kD,UAAY,CACpBtT,MAAO0O,EAAW3H,QAAQyI,OAC1BhT,MAAOkS,EAAW3H,QAAQ7M,KAC1BZ,MAAOoV,EAAW3H,QAAQ7M,KAC1Bg+D,MAAOxpD,EAAW3H,QAAQ7M,KAC1BqC,YAAamS,EAAW3H,QAAQ7M,KAChCkxD,gBAAiB18C,EAAW3H,QAAQwb,MAEtC01C,EAAUh6D,aAAe,CACvB+B,MAAO,CAAC,EACRxD,MAAO,KACPlD,MAAO,KACP4+D,MAAO,KACP37D,YAAa,KACb6uD,iBAAiB,GAEnB,IAzDgC53C,EAASC,EAyDnC0kD,GAAa,EAAIvpD,EAAQ7H,SAASioD,EAAMjoD,QAA3B,CAAoCyH,IAzDvBgF,EAyDoF,CAAC,kNAAmN,gBAAiB,6TAzDpSC,IAAOA,EAAMD,EAAQ1K,MAAM,IAyDL0F,EAzDkBpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SAyD+e,SAAA5V,GAAK,OAAIA,EAAM+G,MAAM+S,QAAQtE,QAAQqV,IAAI,IAAE,SAAA7qB,GAAK,OAAIA,EAAM+G,MAAM+S,QAAQtE,QAAQqV,IAAI,G,oCCxEhuB,uBAEbtjB,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB8yD,EAClB,IAAI3pD,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5Cq8B,EAAUr8B,EAAQ,OAClBwO,EAAWxO,EAAQ,OACnBmyD,EAAa1pD,EAAuBzI,EAAQ,QAC5CoyD,EAAQ3pD,EAAuBzI,EAAQ,QACvCuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAI3O,SAAS8oD,EAAWzmD,GAClB,IACE4mD,EAIE5mD,EAJF4mD,KACArN,EAGEv5C,EAHFu5C,YACAC,EAEEx5C,EAFFw5C,QACAC,EACEz5C,EADFy5C,gBAGAjtD,GACE,EAAIsQ,EAAO/P,YAAYgW,EAASwJ,eADlC/f,EAEIq6D,GAAS,EAAI/pD,EAAOigB,QAAQ,MAC5B+pC,GAAa,EAAIhqD,EAAOigB,QAAQ,MAChCgqC,GAAe,EAAIn2B,EAAQa,aAAa,CAC5CpjC,MAAO,CACL2/B,IAAK,EACLg5B,KAAM,GAERnmC,QAAQ,EACRomC,YAAa,KAEf,GAA4B,EAAInqD,EAAOhU,YAAW,SAA3Co+D,EAAM,KAAEC,EAAS,KAClB/0D,GAAO,EAAIw+B,EAAQw2B,SAASF,IAAW,CAAC,EACxCG,EAAmB,CACvBC,YAAW,SAACnjC,EAAOojC,GACjB,IAzBe79D,EAyBTkwD,GAAO,EAAI92C,EAAMihD,YAAYwD,EAAU3N,KAAM,SAEnDmN,EAAaE,YAAc,GAAG9gD,OAAOyzC,EAAM,MAAMzzC,QA3BlCzc,EA2BsD69D,EAAU5/D,MA3B3D,GAAGwe,OAAOzc,EAAG,OA4BjCq9D,EAAa14D,MAAM2/B,IAAM,QACzB+4B,EAAa14D,MAAM24D,KAHN,OAIbD,EAAalmC,QAAS,CACxB,EACA2mC,WAAU,WACRT,EAAalmC,QAAS,CACxB,GAiBF,OAfA,EAAI/jB,EAAOzR,YAAW,WAIpBo4B,YAAW,WACT0jC,EAAUxjC,SAAS8jC,cAAc,mBACjChkC,YAAW,WACLojC,EAAOh1D,UAET,EAAI60D,EAAWtxD,SAASyxD,EAAOh1D,QAAS2nD,GAAW,GAAI6N,EAE3D,GAAG,IACL,GACF,GAAG,CAAC7N,KAEgB,EAAIh8C,EAAYmD,KAAKgmD,EAAMvxD,QAAS,CACtDvK,MAAO2B,EAAE,cACT7E,MAAO,GAAGwe,OAAOoE,KAAKm9C,MAAMnO,GAAe,GAAI,KAC/CgN,OAAoB,EAAI/oD,EAAYiD,MAAM,MAAO,CAC/ClS,UAAW,+BACXF,MAAO,CACLkoB,UAAW,IAEbpvB,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,MAAO,CAClDqZ,IAAK6sC,EACLt4D,UAAW,YACXkc,MAAOrY,EAAKqY,OAAS,IACrBgK,OAAQ,GACRkzC,YAAa,OACE,EAAInqD,EAAYmD,KAAK,OAAQ,CAC5CpS,UAAW,UACXyrB,IAAK8sC,EACLjmC,OAAQkmC,EAAalmC,OACrBxyB,MAAOgQ,EAAc,CAAC,EAAG0oD,EAAa14D,OACtClH,SAAU4/D,EAAaE,iBAG3Br8D,YAAa,GAAGub,OAAO3Z,EAAE,gBAAiB,MAAM2Z,QAAiB,OAATygD,QAA0B,IAATA,OAAkB,EAASA,EAAK32D,SAAW,GACpHwpD,gBAAiBA,GAErB,CACAgN,EAAW9kD,UAAY,CACrBilD,KAAM7pD,EAAW3H,QAAQwM,MACzB23C,YAAax8C,EAAW3H,QAAQ6V,OAChCuuC,QAASz8C,EAAW3H,QAAQwM,MAC5B63C,gBAAiB18C,EAAW3H,QAAQwb,MAEtC61C,EAAWn6D,aAAe,CACxBs6D,KAAM,GACNrN,YAAa,EACbC,QAAS,GACTC,iBAAiB,E,qCC3GN,uBAEbhmD,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBi0D,EAClB,IAAI9qD,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5Cm0C,EAAY1rC,EAAuBzI,EAAQ,QAC3Cq8B,EAAUr8B,EAAQ,OAClB+N,EAAOtF,EAAuBzI,EAAQ,QACtCwO,EAAWxO,EAAQ,OACnBmyD,EAAa1pD,EAAuBzI,EAAQ,QAC5CoyD,EAAQ3pD,EAAuBzI,EAAQ,QACvCuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAI3O,SAASiqD,EAAc5nD,GACrB,IACE6nD,EAME7nD,EANF6nD,cACAh9D,EAKEmV,EALFnV,MACAk0D,EAIE/+C,EAJF++C,MACArF,EAGE15C,EAHF05C,KACAF,EAEEx5C,EAFFw5C,QACAC,EACEz5C,EADFy5C,gBAGAjtD,GACE,EAAIsQ,EAAO/P,YAAYgW,EAASwJ,eADlC/f,EAEIq6D,GAAS,EAAI/pD,EAAOigB,QAAQ,MAC5B+pC,GAAa,EAAIhqD,EAAOigB,QAAQ,MAChCgqC,GAAe,EAAIn2B,EAAQa,aAAa,CAC5CpjC,MAAO,CACL2/B,IAAK,EACLg5B,KAAM,GAERnmC,QAAQ,EACRomC,YAAa,KAEf,GAAsB,EAAInqD,EAAOhU,YAAW,SAArCg/D,EAAG,KAAEC,EAAM,KACZ31D,GAAO,EAAIw+B,EAAQw2B,SAASU,IAAQ,CAAC,EACrCE,IAAgBjJ,EAChBkJ,EAAYlJ,EAAQrF,EACpBwO,EAAgBF,EAAc,IAAI7hD,OAAOoE,KAAKm9C,MAAMhO,EAAOqF,EAAQ,KAAM,MAAQ,GACjFoJ,EAAa,GACfN,GACFM,EAAWj4D,KAAK,CACdrF,MAAO2B,EAAE,oBACT47D,OAAQP,IAGZM,EAAWj4D,KAAK,CACdrF,MAAO2B,EAAE,eACT47D,QAAQ,EAAI1f,EAAUtzC,SAASskD,KAE7BsO,GACFG,EAAWj4D,KAAK,CACdrF,MAAO2B,EAAE,eACT47D,QAAQ,EAAI1f,EAAUtzC,SAAS6yD,IAC9B,CACDp9D,MAAO2B,EAAE,gBACT47D,QAAQ,EAAI1f,EAAUtzC,SAAS2pD,KAGnC,IAAMsI,EAAmB,CACvBC,YAAW,SAACnjC,EAAOojC,GACjB,IAlDe79D,EAkDTkwD,GAAO,EAAI92C,EAAMihD,YAAYwD,EAAU3N,KAAM,SAEnDmN,EAAaE,YAAc,GAAG9gD,OAAOyzC,EAAM,MAAMzzC,QApDlCzc,EAoDsD69D,EAAU5/D,OApD3D,EAAI+gD,EAAUtzC,SAAS1L,KAqD3Cq9D,EAAa14D,MAAM2/B,IAAM,QACzB+4B,EAAa14D,MAAM24D,KAHN,OAIbD,EAAalmC,QAAS,CACxB,EACA2mC,WAAU,WACRT,EAAalmC,QAAS,CACxB,GAgBF,OAdA,EAAI/jB,EAAOzR,YAAW,WAIpBo4B,YAAW,WACTskC,EAAOpkC,SAAS8jC,cAAc,mBAC9BhkC,YAAW,WACLojC,EAAOh1D,UACT,EAAI60D,EAAWtxD,SAASyxD,EAAOh1D,QAAS2nD,EAAS6N,EAErD,GAAG,IACL,GACF,GAAG,CAAC7N,KAEgB,EAAIh8C,EAAYmD,KAAKgmD,EAAMvxD,QAAS,CACtDvK,MAAOA,GAAS2B,EAAE,iBAClB7E,MAAO,GAAGwe,QAAO,EAAIuiC,EAAUtzC,SAASmV,KAAKm9C,MAAMhO,GAAQ,IAAK,KAAKvzC,OAAO+hD,GAC5E3B,OAAoB,EAAI/oD,EAAYiD,MAAM,MAAO,CAC/ClS,UAAW,+BACXF,MAAO,CACLkoB,UAAW,IAEbpvB,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,MAAO,CAClDqZ,IAAK6sC,EACLt4D,UAAW,YACXkc,MAAOrY,EAAKqY,OAAS,IACrBgK,OAAQ,GACRkzC,YAAa,OACE,EAAInqD,EAAYmD,KAAK,OAAQ,CAC5CpS,UAAW,UACXyrB,IAAK8sC,EACLjmC,OAAQkmC,EAAalmC,OACrBxyB,MAAOgQ,EAAc,CAAC,EAAG0oD,EAAa14D,OACtClH,SAAU4/D,EAAaE,iBAG3Br8D,YAAau9D,EAAWx9D,KAAI,SAACjB,EAAGiM,GAAK,OAAkB,EAAI6H,EAAYiD,MAAM6B,EAAKlN,QAAS,CACzFpH,GAAI,CACFqE,WAAsB,IAAVsD,EAAc,EAAI,GAEhCxO,SAAU,CAACuC,EAAEmB,MAAO,KAAMnB,EAAE0+D,SAC3B1+D,EAAEmB,MAAM,IACX4uD,gBAAiBA,GAErB,CACAmO,EAAcjmD,UAAY,CACxB9W,MAAOkS,EAAW3H,QAAQmd,OAC1Bs1C,cAAe9qD,EAAW3H,QAAQ6V,OAClC8zC,MAAOhiD,EAAW3H,QAAQ6V,OAC1ByuC,KAAM38C,EAAW3H,QAAQ6V,OACzBuuC,QAASz8C,EAAW3H,QAAQwM,MAC5B63C,gBAAiB18C,EAAW3H,QAAQwb,MAEtCg3C,EAAct7D,aAAe,CAC3BzB,MAAO,GACPg9D,cAAe,KACf9I,MAAO,KACPrF,KAAM,KACNF,QAAS,GACTC,iBAAiB,E,oCC5InBhmD,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB00D,EAClB,IAIIxrD,EAJAE,EAAaC,EAAuBzI,EAAQ,QAC5C0I,EAAUD,EAAuBzI,EAAQ,QACzCssD,EAAS7jD,EAAuBzI,EAAQ,QACxCiJ,EAAcjJ,EAAQ,OAEpBkJ,EAAY,CAAC,WAAY,YAC/B,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAAS+pD,EAAYn8D,GACnB,IACIzB,EAEEyB,EAFFzB,SACAiyC,EACExwC,EADFwwC,SAEFxwB,EAAO1M,EAAyBtT,EAAOuR,GACzC,OAAoB,EAAID,EAAYiD,MAAM6nD,EAAKjqD,EAAcA,EAAc,CAAC,EAAG6N,GAAO,CAAC,EAAG,CACxF/kB,SAAU,CAACsD,EAASI,OAASJ,EAASD,KAAM,MAAOkyC,IAAyB,EAAIl/B,EAAYmD,KAAKkgD,EAAOzrD,QAAS,CAC/G,UAAW,kBACX7G,UAAW,SACXH,QAASsuC,OAGf,CACA2rB,EAAY1mD,UAAY,CACtBlX,SAAUsS,EAAW3H,QAAQyI,OAAO2J,WACpCk1B,SAAU3/B,EAAW3H,QAAQsb,MAE/B23C,EAAY/7D,aAAe,CACzBowC,SAAU,MAEZ,IA7BgC76B,EAASC,EA6BnCwmD,EAAMrrD,EAAQ7H,QAAQ+5C,KAAKtyC,IA7BDgF,EA6B8D,CAAC,iEAAkE,2NA7B5GC,IAAOA,EAAMD,EAAQ1K,MAAM,IA6B3B0F,EA7BwCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SA6BqN,SAAA5V,GAAK,OAAIA,EAAM+G,MAAM+S,QAAQtE,QAAQqV,IAAI,G,qCCxCxatjB,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB40D,EAClB50D,EAAQ6pC,eAyCR,SAAwBgrB,EAAWC,EAAgB9xD,GACjD,OAAO,SAAwBzK,GAC7B,OAAoB,EAAIsR,EAAYmD,KAAK4nD,EAAY,CACnDtgC,WAAYwgC,EACZ9xD,KAAMA,EACNxP,SAAU,SAAAoL,GAAa,OAAiB,EAAIiL,EAAYmD,KAAK6nD,EAAWnqD,EAAcA,EAAc,CAAC,EAAGnS,GAAQ,CAAC,EAAG,CAClHqG,cAAeA,IACd,GAEP,CACF,EAlDA,IAGgCoL,EAH5BZ,GAG4BY,EAHQpJ,EAAQ,SAGKoJ,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,GAFnFmsC,EAAWv1C,EAAQ,OACnBiJ,EAAcjJ,EAAQ,OAE1B,SAASqJ,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS4qD,EAAWvoD,GAClB,IACEioB,EAIEjoB,EAJFioB,WACAtxB,EAGEqJ,EAHFrJ,KACAxE,EAEE6N,EAFF7N,UACAhL,EACE6Y,EADF7Y,SAGAw8C,GACE,EAAImG,EAASG,qBADftG,QAEE+kB,GAAM,EACJv/D,EAAc,GAAGgd,OAAO8hB,GAAY59B,OAAO+O,SAC3CnQ,EAAQ,GAAGkd,OAAOxP,GAAMtM,OAAO+O,SACrC,GAAIjQ,EAAY8G,OAAQ,CACtB,IAAM04D,EAAkBhlB,EAAQC,MAAQD,EAAQC,KAAKz6C,aAAe,GACpEu/D,EAAMv/D,EAAYiS,MAAK,SAAA+3B,GAAC,OAAIw1B,EAAgBl3D,SAAS0hC,EAAE,GACzD,CAIA,OAHIu1B,GAAOz/D,EAAMgH,SACfy4D,EAAMz/D,EAAMwI,SAASkyC,EAAQC,KAAKjtC,OAEX,oBAAdxE,EACFA,EAAUu2D,GAEK,oBAAbvhE,EACFA,EAASuhE,GAEdA,IACKv2D,GAAahL,IAEf,IACT,CAYAohE,EAAW5mD,UAAY,CACrBsmB,WAAYlrB,EAAW3H,QAAQuf,UAAU,CAAC5X,EAAW3H,QAAQmd,OAAQxV,EAAW3H,QAAQukD,QAAQ58C,EAAW3H,QAAQmd,UACnH5b,KAAMoG,EAAW3H,QAAQuf,UAAU,CAAC5X,EAAW3H,QAAQmd,OAAQxV,EAAW3H,QAAQukD,QAAQ58C,EAAW3H,QAAQmd,UAC7GpgB,UAAW4K,EAAW3H,QAAQuf,UAAU,CAAC5X,EAAW3H,QAAQsb,KAAM3T,EAAW3H,QAAQ7M,OACrFpB,SAAU4V,EAAW3H,QAAQuf,UAAU,CAAC5X,EAAW3H,QAAQsb,KAAM3T,EAAW3H,QAAQ7M,QAEtFggE,EAAWj8D,aAAe,CACxB27B,WAAY,GACZtxB,KAAM,GACNxE,UAAW,KACXhL,SAAU,K,qCClEZsM,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBi1D,EAClB,IAAI7rD,EAAaC,EAAuBzI,EAAQ,QAC5Cs4C,EAAgB7vC,EAAuBzI,EAAQ,QAC/CoT,EAAW3K,EAAuBzI,EAAQ,QAC1CwO,EAAWxO,EAAQ,OACnBuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASirD,EAAa5oD,GACpB,IACErY,EACEqY,EADFrY,MAEF,GAGI,EAAIob,EAAStW,oBAFfD,EAAC,EAADA,EACA2Y,EAAM,EAANA,OAEF,IAAKxd,EACH,MAAO,IAET,IAAMkhE,EAAe,CACnB1jD,OAAmB,OAAXA,EAAkB,QAAU,QACpC2jD,SAAS,GAELC,EAAU,IAAI5oC,KAAKx4B,GAAOqhE,UAC1BC,EAAM9oC,KAAK8oC,MACjB,GAAIF,EAAUE,EAAK,CACjB,IAAMC,GAAO,EAAIrc,EAAcz3C,SAAS2zD,EAAUE,EAAKJ,GACvD,OAAoB,EAAIrrD,EAAYmD,KAAKgH,EAASvS,QAAS,CACzDvK,OAAO,EAAIiY,EAAMggB,kBAAkBn7B,GACnC0gD,UAAW,UACX8gB,gBAAiB,EACjBhiE,UAAuB,EAAIqW,EAAYmD,KAAK,OAAQ,CAClDxZ,SAAUqF,EAAE,mBAAoB,CAC9B08D,KAAAA,OAIR,CACA,IAAMA,GAAO,EAAIrc,EAAcz3C,SAAS6zD,EAAMF,EAASF,GACvD,OAAoB,EAAIrrD,EAAYmD,KAAKgH,EAASvS,QAAS,CACzDvK,OAAO,EAAIiY,EAAMggB,kBAAkBn7B,GACnC0gD,UAAW,UACX8gB,gBAAiB,EACjBhiE,UAAuB,EAAIqW,EAAYmD,KAAK,OAAQ,CAClDxZ,SAAUqF,EAAE,iBAAkB,CAC5B08D,KAAAA,OAIR,CACAN,EAAajnD,UAAY,CACvBha,MAAOoV,EAAW3H,QAAQqS,KAE5BmhD,EAAat8D,aAAe,CAC1B3E,MAAO,G,qCC3DI,6DAEb8L,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBy1D,EAClB,IAAItsD,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5Cg9C,EAAUh9C,EAAQ,OAClB2O,EAAoBlG,EAAuBzI,EAAQ,KACnDyO,EAAUhG,EAAuBzI,EAAQ,QACzCkkB,EAAqBzb,EAAuBzI,EAAQ,OACpDkX,EAAczO,EAAuBzI,EAAQ,QAC7C8N,EAAarF,EAAuBzI,EAAQ,QAC5Ck9C,EAAYz0C,EAAuBzI,EAAQ,QAC3Cy2B,EAAOhuB,EAAuBzI,EAAQ,OACtCwO,EAAWxO,EAAQ,OACnB0O,EAAUjG,EAAuBzI,EAAQ,QACzCsX,EAAS7O,EAAuBzI,EAAQ,QACxC4O,EAAQ5O,EAAQ,OAChBuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,IAAM0zC,GAAY,EAAIE,EAAQM,aAAY,SAAA5+C,GAAK,MAAK,CAClDo2D,gBAAiB,CACfh/C,eAAgB,SAChBtc,MAAOkF,EAAM+S,QAAQtE,QAAQqV,KAC7BuyC,WAAY,OAEf,IACD,SAASF,EAASppD,GAChB,IACEqB,EAIErB,EAJFqB,SACA4d,EAGEjf,EAHFif,UACAx2B,EAEEuX,EAFFvX,QACA2oB,EACEpR,EADFoR,MAGAxpB,GACE,EAAIub,EAAMiC,kBADZxd,IAEF,GAA8B,EAAIkV,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAA8B,EAAIzI,EAAOhU,WAAU,GAAK,SAAjDosD,EAAO,KAAEqU,EAAU,KAC1B,GAAwB,EAAIzsD,EAAOhU,WAAU,GAAM,SAA5CqX,EAAI,KAAE67B,EAAO,KACpB,GAAsB,EAAIl/B,EAAOhU,UAAU,IAAG,SAAvCiO,EAAG,KAAEqzC,EAAM,KAClB,GAA0B,EAAIttC,EAAOhU,UAAU,IAAG,SAA3C6D,EAAK,KAAEkvB,EAAQ,KAEpBrvB,GACE,EAAIuW,EAAStW,oBADfD,EAEIylD,EAAUZ,IACVhrC,EAAS,6BAAG,0FAKL,GAJXd,GAAW,GAAM,YAKX,EAAIzC,EAAMoc,eAAenoB,EAAKkoB,GAFhCE,EAAK,EAALA,MACAC,EAAO,EAAPA,QAEGD,EAAO,CAAF,qBACF,IAAIvR,MAAMphB,EAAE,4CAA2C,uBAEzD5E,EAAIy3B,iBAAiB,CACzBp1B,MAAO,CACLxB,QAAAA,EACAsO,IAAKqoB,KAEP,OACFhO,EAAMgO,GACN4c,GAAQ,GAAO,kDAETruB,EAAS,GAAGxH,OAAO3Z,EAAE,oCAAqC,KAAK2Z,QAAO,EAAIrD,EAAM5U,aAAa,EAAF,KACjG2tB,EAASlO,GAAQ,QAEC,OAFD,UAEjBpI,GAAW,GAAO,6EAErB,kBAxBc,mCAyBf,OAAoB,EAAI/H,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,EAAc,EAAIqW,EAAYiD,MAAMgxC,EAAUr8C,QAAS,CAC/DqrC,QAAQ,EACRp/B,SAAUA,EACV9S,UAAW0jD,EAAQoX,gBACnBj7D,QAAS,WACP4tC,GAAQ,EACV,EACA70C,SAAU,EAAc,EAAIqW,EAAYmD,KAAKqqB,EAAK51B,QAAS,CACzDo0D,MAAM,KACS,EAAIhsD,EAAYmD,KAAK8K,EAAYrW,QAAS,CACzDrF,QAAS,UACT5I,SAAUqF,EAAE,4CAEC,EAAIgR,EAAYiD,MAAMuC,EAAQ5N,QAAS,CACtDvK,MAAO2B,EAAE,sCACTc,WAAW,EACX0d,SAAU,KACV7K,KAAMA,EACNC,QAAS,kBAAM47B,GAAQ,EAAM,EAC7Bj7B,WAAY,CACV1S,MAAO,CACLoY,UAAW,SAGf5Z,SAAsB,EAAI2Q,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAChEvf,SAAU,EAAc,EAAIqW,EAAYmD,KAAKsC,EAAQ7N,QAAS,CAC5DhH,QAAS,SAAAiS,GACPA,EAAEC,kBACF07B,GAAQ,EACV,EACAjuC,MAAO,UACP5G,SAAUqF,EAAE,oBACG,EAAIgR,EAAYiD,MAAMwC,EAAQ7N,QAAS,CACtDhH,QAAS,SAAAiS,GACPA,EAAEC,kBACF+F,GACF,EACAtY,MAAO,UACP,UAAW,6BACXsT,SAAU3U,IAAYqK,GAAOm+C,EAC7BnlD,QAAS,YACT4W,WAAW,EACXxf,SAAU,CAACuF,IAAwB,EAAI8Q,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACjFhD,KAAM,KACJ5F,EAAE,wBAGVrF,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,MAAO,CAClDtS,MAAO,CACLo0B,WAAY,GACZgnC,UAAW,UAEbtiE,UAAuB,EAAIqW,EAAYmD,KAAK8X,EAAmBrjB,QAAS,CACtEjD,UAAW,MACXhL,UAAuB,EAAIqW,EAAYmD,KAAK8K,EAAYrW,QAAS,CAC/DjD,UAAW,MACXhL,UAAuB,EAAIqW,EAAYmD,KAAK0B,EAAWjN,QAAS,CAC9DlI,MAAOV,EAAE,sCACTm2B,aAAc,MACd5yB,QAAS,WACTvF,KAAM,MACN8C,WAAW,EACX3F,MAAOoP,EACPjF,SAAU,SAAAuO,GACRwb,EAAS,MACT,IAAI6X,GAAa,EACZrzB,EAAE/B,OAAO3W,MAAMo/B,SAClB2M,GAAa,GAEVrzB,EAAE/B,OAAO3W,MAAMo/B,QAClBlL,EAASrvB,EAAE,4CAEb49C,EAAO/pC,EAAE/B,OAAO3W,OAChB4hE,EAAW71B,EACb,EACAryB,SAAU3U,EACV++C,WAAY,SAAAprC,GACI,UAAVA,EAAE1W,MACJ0W,EAAEE,iBACGF,EAAE/B,OAAO3W,MAAMo/B,OAGlB1gB,IAFAwV,EAASrvB,EAAE,4CAKjB,YAIFG,IAAsB,EAAI6Q,EAAYmD,KAAKkL,EAAOzW,QAAS,CAC/DjN,KAAM,QACNkG,MAAO,CACLoc,MAAO,QAETtjB,SAAUwF,SAIlB,CACAy8D,EAASznD,UAAY,CACnBlZ,QAASsU,EAAW3H,QAAQmd,OAAO/K,WACnCnG,SAAUtE,EAAW3H,QAAQwb,KAC7BqO,UAAWliB,EAAW3H,QAAQwM,MAC9BwP,MAAOrU,EAAW3H,QAAQsb,MAE5B04C,EAAS98D,aAAe,CACtB+U,UAAU,EACV4d,UAAW,GACX7N,MAAO,WAAO,E,qCCvLH,6DAEb3d,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB+1D,EAClB,IAAI5sD,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C2I,EAAcF,EAAuBzI,EAAQ,QAC7CiO,EAAYxF,EAAuBzI,EAAQ,QAC3CwO,EAAWxO,EAAQ,OACnBo1D,EAAiB3sD,EAAuBzI,EAAQ,QAChD4O,EAAQ5O,EAAQ,OAChB+O,EAAStG,EAAuBzI,EAAQ,QACxCwhD,EAAiB/4C,EAAuBzI,EAAQ,QAChDuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAAS+rD,EAAY1pD,GACnB,IACEgtB,EAGEhtB,EAHFgtB,MACAvkC,EAEEuX,EAFFvX,QACAi0C,EACE18B,EADF08B,SAGA90C,GACE,EAAIub,EAAMiC,kBADZxd,IAGA4E,GACE,EAAIuW,EAAStW,oBADfD,EAEF,GAA8B,EAAIsQ,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAA4C,EAAIzI,EAAOhU,UAAU,MAAK,SAA/DujB,EAAc,KAAEC,EAAiB,KAClCrZ,GAAQ,EAAIuP,EAAUpN,WAKtBiR,EAAS,6BAAG,8EAEG,OAFH,SAEdd,GAAW,GAAM,SACX3d,EAAIgiE,oBAAoB,CAC5B3/D,MAAO,CACLxB,QAAAA,EACAsO,IAAKi2B,EAAMj2B,OAEb,OACE2lC,GAAgC,oBAAbA,GACrBA,IACD,gDAEDp5B,EAAOlO,QAAQzI,MAAM,gCAAgCwZ,QAAO,EAAIrD,EAAM5U,aAAa,EAAF,MAAS,QAGlE,OAHkE,UAE1FqX,GAAW,GACX+G,EAAkB,MAAM,4EAE3B,kBAlBc,mCAmBT4F,EAAU,CACdgkC,QAASlpB,EAAMj2B,IACflM,MAAO2B,EAAE,yCACT5B,YAAa4B,EAAE,oCAAqC,CAClDhC,KAAM,MAAM2b,OAAO6mB,EAAMj2B,IAAK,QAC9BhJ,MAAOkF,EAAM+S,QAAQrZ,MAAMoqB,OAE7Bo/B,mBAAoB3pD,EAAE,qCAAsC,CAC1DhC,KAAMwiC,EAAMj2B,MAEdwX,QAAS/hB,EAAE,qBACXgiB,OAAQhiB,EAAE,iBACV6Z,UAAAA,EACAwH,SApCe,WACftI,GAAW,GACX+G,EAAkB,KACpB,GAuCA,OAAoB,EAAI9O,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,EAAc,EAAIqW,EAAYmD,KAAKzD,EAAY9H,QAAS,CAChEiM,SAAU3U,EACV0B,QAPoB,SAAAiS,GACtBA,EAAEC,kBACFgM,EAAkB4F,EACpB,EAKI9f,KAAM,QACNjL,UAAuB,EAAIqW,EAAYmD,KAAKgpD,EAAev0D,QAAS,CAAC,KACnEiX,IAA+B,EAAI7O,EAAYmD,KAAKo1C,EAAe3gD,QAAS,CAC9E8gD,QAAS7pC,EAAe6pC,QACxBrrD,MAAOwhB,EAAexhB,MACtBD,YAAayhB,EAAezhB,YAC5BurD,mBAAoB9pC,EAAe8pC,mBACnC5nC,QAASlC,EAAekC,QACxBC,OAAQnC,EAAemC,OACvB3E,OAAQwC,EAAexC,OACvBxD,UAAWgG,EAAehG,UAC1BwH,SAAUxB,EAAewB,aAG/B,CACA67C,EAAY/nD,UAAY,CACtBlZ,QAASsU,EAAW3H,QAAQmd,OAAO/K,WACnCwlB,MAAOjwB,EAAW3H,QAAQyI,OAAO2J,WACjCk1B,SAAU3/B,EAAW3H,QAAQsb,MAE/Bg5C,EAAYp9D,aAAe,CACzBowC,SAAU,WAAO,E,qCClGnBjpC,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBk2D,EAClB,IAAItY,EAAUh9C,EAAQ,OAClBkX,EAAczO,EAAuBzI,EAAQ,QAC7Cu1D,EAA2B9sD,EAAuBzI,EAAQ,QAC1DwT,EAAU/K,EAAuBzI,EAAQ,QACzC2I,EAAcF,EAAuBzI,EAAQ,QAC7CwI,EAAaC,EAAuBzI,EAAQ,QAC5Cy3B,EAAUhvB,EAAuBzI,EAAQ,QACzCiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAG9F,IAAM0zC,GAAY,EAAIE,EAAQM,aAAY,iBAAO,CAC/CkY,WAAY,CACVC,cAAe,mBAEjBjY,SAAU,CACRtwC,SAAU,IAEZwoD,SAAU,CACRr8D,QAAS,OACTc,cAAe,SACfT,YAAa,QACb,SAAU,CACRu2B,SAAU,SACVC,aAAc,WACdC,WAAY,WAGjB,IACD,SAASmlC,EAAU7pD,GACjB,IACEvX,EAGEuX,EAHFvX,QACAukC,EAEEhtB,EAFFgtB,MACA0P,EACE18B,EADF08B,SAEIuV,EAAUZ,IAChB,OAAoB,EAAI7zC,EAAYiD,MAAM,MAAO,CAC/ClS,UAAW0jD,EAAQgY,SACnB9iE,SAAU,EAAc,EAAIqW,EAAYmD,KAAK8K,EAAYrW,QAAS,CAChEjD,UAAW,OACXpC,QAAS,YACT1B,MAAO,CACLm6B,WAAY,OAEdrhC,SAAU6lC,EAAMxiC,QACD,EAAIgT,EAAYmD,KAAK8K,EAAYrW,QAAS,CACzD7G,UAAW,MACX4D,UAAW,OACXpC,QAAS,UACT5I,SAAU,GAAGgf,OAAO6mB,EAAMj2B,QACX,EAAIyG,EAAYiD,MAAMqpD,EAAyB10D,QAAS,CACvEjO,SAAU,EAAc,EAAIqW,EAAYmD,KAAKzD,EAAY9H,QAAS,CAChEhH,QAAS,SAAAiS,GACPA,EAAEC,kBACFhZ,OAAO6Y,KAAK6sB,EAAMj2B,IACpB,EACA3E,KAAM,QACNjL,UAAuB,EAAIqW,EAAYmD,KAAKoH,EAAQ3S,QAAS,CAAC,MAC3D43B,EAAMk9B,YAA0B,EAAI1sD,EAAYmD,KAAKqrB,EAAQ52B,QAAS,CACzE43B,MAAOA,EACP0P,SAAUA,EACVj0C,QAASA,SAIjB,CACAohE,EAAUloD,UAAY,CACpBlZ,QAASsU,EAAW3H,QAAQmd,OAAO/K,WACnCwlB,MAAOjwB,EAAW3H,QAAQod,MAAM,CAC9BhoB,KAAMuS,EAAW3H,QAAQmd,OAAO/K,WAChCzQ,IAAKgG,EAAW3H,QAAQmd,OAAO/K,WAC/B0iD,UAAWntD,EAAW3H,QAAQwb,OAC7BpJ,WACHk1B,SAAU3/B,EAAW3H,QAAQsb,MAE/Bm5C,EAAUv9D,aAAe,CACvBowC,SAAU,WAAO,E,qCChFnBjpC,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,aAAkB,EAClB,IAAIq3B,EAAOhuB,EAAuBzI,EAAQ,OACtCmkB,EAAS1b,EAAuBzI,EAAQ,QACxCqxB,EAAU5oB,EAAuBzI,EAAQ,QACzC41D,EAASntD,EAAuBzI,EAAQ,QACxC61D,EAAWptD,EAAuBzI,EAAQ,QAC1CgO,EAAQvF,EAAuBzI,EAAQ,QACvC81D,EAAUrtD,EAAuBzI,EAAQ,QACzC+1D,EAAattD,EAAuBzI,EAAQ,QAC5Cg2D,EAAYvtD,EAAuBzI,EAAQ,QAC3CsT,EAAgB7K,EAAuBzI,EAAQ,QAC/Ci2D,EAAextD,EAAuBzI,EAAQ,QAC9Ck2D,EAAUztD,EAAuBzI,EAAQ,QACzCsnC,EAAiB7+B,EAAuBzI,EAAQ,QAChDm2D,EAAU1tD,EAAuBzI,EAAQ,QACzCo2D,EAAc3tD,EAAuBzI,EAAQ,QACjD,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,IAAI+sB,EAAW,CACbxZ,IAAK8Z,EAAK51B,QACVw1D,MAAOlyC,EAAOtjB,QACdy1D,OAAQjlC,EAAQxwB,QAChB01D,KAAMvoD,EAAMnN,QACZ21D,MAAOZ,EAAO/0D,QACd41D,YAAanjD,EAAczS,QAC3B61D,OAAQZ,EAAQj1D,QAChB81D,UAAWZ,EAAWl1D,QACtB+1D,SAAUZ,EAAUn1D,QACpBg2D,SAAUvjD,EAAczS,QACxBi2D,aAAcb,EAAap1D,QAC3Bk2D,OAAQb,EAAQr1D,QAChBm2D,YAAapB,EAAO/0D,QACpBo2D,UAAW3vB,EAAezmC,QAC1Bq2D,OAAQrB,EAASh1D,QACjBs2D,gBAAiBhB,EAAQt1D,QACzBu2D,WAAYhB,EAAYv1D,SAE1BzB,EAAAA,QAAkB+2B,C,qCCnClB,IAEgC/sB,EAD5Bd,EALJpJ,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,aAAkB,EAKlB,IADgCkO,EAASC,EAErC4oB,IAH4B/sB,EAFKpJ,EAAQ,SAEQoJ,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,IAE5DvI,QAAQ2M,IAAIlF,IADPgF,EACoE,CAAC,moCADhDC,IAAOA,EAAMD,EAAQ1K,MAAM,IACrB0F,EADkCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SAG1KnO,EAAAA,QAAkB+2B,C,qCCVlBj3B,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBi4D,EAClB,IAAI7uD,EAAaC,EAAuBzI,EAAQ,QAC5C2iB,EAAOla,EAAuBzI,EAAQ,QACtCiJ,EAAcjJ,EAAQ,OACpBkJ,EAAY,CAAC,WAAY,SAC/B,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAE3e,SAASstD,EAAQ5rD,GACf,IACI7Y,EAEE6Y,EAFF7Y,SACAkH,EACE2R,EADF3R,MAEF6d,EAAO1M,EAAyBQ,EAAMvC,GACxC,OAAoB,EAAID,EAAYmD,KAAKuW,EAAK9hB,QAASiJ,EAAcA,EAAc,CACjFhQ,MAAOA,GACN6d,GAAO,CAAC,EAAG,CACZ/kB,SAAUA,IAEd,CACAykE,EAAQjqD,UAAY,CAClBxa,SAAU4V,EAAW3H,QAAQqS,IAAID,WACjCnZ,MAAO0O,EAAW3H,QAAQyI,QAE5B+tD,EAAQt/D,aAAe,CACrB+B,MAAO,CAAC,E,qCCnCG,uBAEboF,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBk4D,EAClB,IAAI/uD,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C6I,EAAYJ,EAAuBzI,EAAQ,QAC3Cy2B,EAAOhuB,EAAuBzI,EAAQ,OACtC+I,EAAgBN,EAAuBzI,EAAQ,QAC/CgJ,EAAgBP,EAAuBzI,EAAQ,QAC/CwO,EAAWxO,EAAQ,OACnBu3D,EAAmB9uD,EAAuBzI,EAAQ,QAClDw3D,EAAkB/uD,EAAuBzI,EAAQ,QACjD6O,EAAQ7O,EAAQ,OAChBgiD,EAAWv5C,EAAuBzI,EAAQ,OAC1Cy3D,EAAiBhvD,EAAuBzI,EAAQ,QAChD03D,EAAsBjvD,EAAuBzI,EAAQ,QACrDiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASkuD,EAAc7rD,GACrB,IACE4jC,EAEE5jC,EAFF4jC,KACAsoB,EACElsD,EADFksD,gBAEF,GAGI,EAAI9oD,EAAMkC,kBAFZ7c,EAAO,EAAPA,QACAQ,EAAK,EAALA,MAGAuD,GACE,EAAIsQ,EAAO/P,YAAYgW,EAASwJ,eADlC/f,EAEF,GAA4D,EAAIsQ,EAAOhU,WAAU,GAAM,SAAhFgB,EAAsB,KAAEqiE,EAAyB,KACxD,OAAoB,EAAI3uD,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,EAAc,EAAIqW,EAAYmD,KAAK41C,EAASnhD,QAAS,CAC7D,UAAW,iBACXvI,QAAS,CAAC,CACRqU,MAAmB,EAAI1D,EAAYmD,KAAKqqB,EAAK51B,QAAS,CACpD0Q,SAAU,UAEZ3E,KAAM3U,EAAE,uBACR,UAAW,wBACX4B,QAAS,SAAAiS,GACPA,EAAEC,kBACF6rD,GAA0B,EAC5B,GAGF,SAAA7kD,GACE,IACErG,EACEqG,EADFrG,MAEF,OAAoB,EAAIzD,EAAYmD,KAAKsrD,EAAoB72D,QAAS,CACpEwuC,KAAMA,EACNz8C,SAAU,SAAAytB,GACR,IACQwb,EACJxb,EADFzU,KAEF,OAAoB,EAAI3C,EAAYiD,MAAMrD,EAAUhI,QAAS,CAC3DoM,OAAO,EACPpT,QAAS,SAAAiS,GACPA,EAAEC,kBACFW,IACAmvB,EAAE/vB,EACJ,EACA,UAAW,sBACXlZ,SAAU,EAAc,EAAIqW,EAAYmD,KAAKrD,EAAclI,QAAS,CAClE/G,MAAO,CACLoT,SAAU,GACVxT,YAAa,GAEf9G,SAAUy8C,EAAKwoB,UAAwB,EAAI5uD,EAAYmD,KAAKmrD,EAAiB12D,QAAS,CAAC,IAAkB,EAAIoI,EAAYmD,KAAKorD,EAAgB32D,QAAS,CAAC,MACzI,EAAIoI,EAAYmD,KAAKpD,EAAcnI,QAAS,CAC3DsM,QAASkiC,EAAKwoB,SAAW5/D,EAAE,2BAA6BA,EAAE,8BAGhE,GACC,kBACL,KACE1C,IAAuC,EAAI0T,EAAYmD,KAAKqrD,EAAe52D,QAAS,CACtF3M,QAASA,EACT4jE,SAAUzoB,EAAKv7C,IACfY,MAAOA,EACP4kB,SAAU,kBAAMs+C,GAA0B,EAAM,EAChDhrC,UAAW,WACT+qC,IACAC,GAA0B,EAC5B,MAGN,CACAN,EAAclqD,UAAY,CACxBiiC,KAAM7mC,EAAW3H,QAAQyI,OAAO2J,WAChC0kD,gBAAiBnvD,EAAW3H,QAAQsb,MAEtCm7C,EAAcv/D,aAAe,CAC3B4/D,gBAAiB,WAAO,E,yCCjGb,mBAKbv4D,EAAQ,EAAU24D,EAClB,IAgCIzvD,EAhCAC,EAASvI,EAAQ,OACjB0I,EAAUD,EAAuBzI,EAAQ,QACzCwI,EAAaC,EAAuBzI,EAAQ,QAC5Cg4D,EAAcvvD,EAAuBzI,EAAQ,QAC7CyO,EAAUhG,EAAuBzI,EAAQ,QACzCoT,EAAW3K,EAAuBzI,EAAQ,QAC1C+N,EAAOtF,EAAuBzI,EAAQ,QACtCqX,EAAoB5O,EAAuBzI,EAAQ,QACnDoO,EAAY3F,EAAuBzI,EAAQ,QAC3Cy2B,EAAOhuB,EAAuBzI,EAAQ,OACtCi4D,EAAQxvD,EAAuBzI,EAAQ,QACvC8rD,EAAWrjD,EAAuBzI,EAAQ,QAC1Csf,EAAU7W,EAAuBzI,EAAQ,QACzCwO,EAAWxO,EAAQ,OACnB0O,EAAUjG,EAAuBzI,EAAQ,QACzCk4D,EAAczvD,EAAuBzI,EAAQ,QAC7Cm4D,EAAsB1vD,EAAuBzI,EAAQ,QACrDu4C,EAiBJ,SAAiCnvC,EAAK2K,GAAe,IAAKA,GAAe3K,GAAOA,EAAInK,WAAc,OAAOmK,EAAO,GAAY,OAARA,GAA+B,kBAARA,GAAmC,oBAARA,EAAsB,MAAO,CAAEvI,QAASuI,GAAS,IAAI4K,EAAQC,EAAyBF,GAAc,GAAIC,GAASA,EAAME,IAAI9K,GAAQ,OAAO4K,EAAMG,IAAI/K,GAAQ,IAAIgL,EAAS,CAAC,EAAOC,EAAwBnV,OAAOC,gBAAkBD,OAAOyK,yBAA0B,IAAK,IAAIvU,KAAOgU,EAAO,GAAY,YAARhU,GAAqB8J,OAAOqM,UAAU+I,eAAe7J,KAAKrB,EAAKhU,GAAM,CAAE,IAAImf,EAAOF,EAAwBnV,OAAOyK,yBAAyBP,EAAKhU,GAAO,KAAUmf,IAASA,EAAKJ,KAAOI,EAAKC,KAAQtV,OAAOC,eAAeiV,EAAQhf,EAAKmf,GAAgBH,EAAOhf,GAAOgU,EAAIhU,EAAQ,CAAIgf,EAAOvT,QAAUuI,EAAS4K,GAASA,EAAMQ,IAAIpL,EAAKgL,GAAW,OAAOA,CAAQ,CAjBlxBK,CAAwBzU,EAAQ,QAC7Cs1B,EAAgB7sB,EAAuBzI,EAAQ,QAC/CqO,EAAYrO,EAAQ,OACpB+O,EAAStG,EAAuBzI,EAAQ,QACxC4O,EAAQ5O,EAAQ,OAChB6O,EAAQ7O,EAAQ,OAChBoyB,EAAc3pB,EAAuBzI,EAAQ,QAC7CuO,EAAQvO,EAAQ,OAChBo4D,EAAgB3vD,EAAuBzI,EAAQ,QAC/Cq4D,EAAgB5vD,EAAuBzI,EAAQ,QAC/Cs4D,EAAU7vD,EAAuBzI,EAAQ,OACzCu4D,EAAe9vD,EAAuBzI,EAAQ,QAC9CgiD,EAAWv5C,EAAuBzI,EAAQ,QAC1C8O,EAAS9O,EAAQ,OACjBiJ,EAAcjJ,EAAQ,OAE1B,SAASiU,EAAyBF,GAAe,GAAuB,oBAAZW,QAAwB,OAAO,KAAM,IAAIC,EAAoB,IAAID,QAAeE,EAAmB,IAAIF,QAAW,OAAQT,EAA2B,SAAkCF,GAAe,OAAOA,EAAca,EAAmBD,CAAmB,GAAGZ,EAAc,CAE9U,SAAStL,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,IAAMovD,EAAW,OACXC,EAAY,QACZC,EAAW,SAACC,EAAQ1iE,GACxB,IAAMyL,EAAOi3D,EAAOzjE,MAAK,SAAAC,GAAC,OAAIA,EAAEC,MAAQa,CAAI,IAC5C,OAAiB,OAATyL,QAA0B,IAATA,OAAkB,EAASA,EAAKtO,QAAU,CACrE,EAWA,SAASwlE,EAAWntD,GAClB,IACE4jC,EACE5jC,EADF4jC,KAGAp3C,GACE,EAAIsQ,EAAO/P,YAAYgW,EAASwJ,eADlC/f,EAEIuqB,GAAoB,EAAIvZ,EAAYiD,MAAM,MAAO,CACrDlS,UAAW,eACXpH,SAAU,EAAc,EAAIqW,EAAYiD,MAAM,MAAO,CACnDlS,UAAW,gBACXpH,SAAU,EAAc,EAAIqW,EAAYmD,KAAKkT,EAAQze,QAAS,CAC5D+e,IAAKyvB,EAAKwpB,OACVh7D,KAAM,GACN/J,IAAKu7C,EAAKv7C,IACVmqB,MAAO,SACPnkB,MAAO,CACLqmB,aAAc,OACd8P,SAAU,aAETof,EAAKwoB,WAAyB,EAAI5uD,EAAYmD,KAAK,MAAO,CAC7DpS,UAAW,gBACTq1C,EAAKypB,iBAA+B,EAAI7vD,EAAYmD,KAAKgH,EAASvS,QAAS,CAC7EvK,MAAO2B,EAAE,kCACTrF,UAAuB,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACxDwV,GAAI,EACJrc,UAAW,OACXpH,UAAuB,EAAIqW,EAAYmD,KAAK+rD,EAAoBt3D,QAAS,CAAC,WAG/D,EAAIoI,EAAYmD,KAAK,MAAO,CAC3CpS,UAAW,cACXpH,SAAUy8C,EAAKhuB,cAGnB,OAAOguB,EAAKwoB,SAAWr1C,GAAoB,EAAIvZ,EAAYmD,KAAK2B,EAAKlN,QAAS,CAC5ExH,QAAS,OACTC,WAAY,SACZ1G,UAAuB,EAAIqW,EAAYmD,KAAKgH,EAASvS,QAAS,CAC5DvK,MAAO2B,EAAE,sCACTrF,SAAU4vB,KAGhB,CAIA,SAASu1C,EAAWhlD,GAClB,IACEnf,EACEmf,EADFnf,KAEF,GASI,EAAIib,EAAMkC,kBARZ7c,EAAO,EAAPA,QACAiD,EAAa,EAAbA,cACA3C,EAAW,EAAXA,YACAE,EAAK,EAALA,MACA2C,EAAO,EAAPA,QACA9B,EAAsB,EAAtBA,uBACA+B,EAAQ,EAARA,SACAjE,EAAG,EAAHA,IAEF,GAKI,EAAIub,EAAMiC,kBAJZyH,EAAS,EAATA,UAEE3kB,EAAe,EADjBH,GACEG,gBAGJ,GAGI,EAAI4U,EAAO/P,YAAYgW,EAASwJ,eAFlC/f,EAAC,EAADA,EACA2Y,EAAM,EAANA,OAEF,GAAgD,EAAIrI,EAAOhU,WAAU,GAAM,SAApEwkE,EAAgB,KAAEC,GAAmB,KAC5C,IAAoD,EAAIzwD,EAAOhU,WAAU,GAAM,WAAxE0kE,GAAkB,MAAEC,GAAqB,MAChD,IAAwC,EAAI3wD,EAAOhU,WAAU,GAAM,WAA5D4kE,GAAY,MAAEC,GAAe,MACpC,IAAwC,EAAI7wD,EAAOhU,WAAU,GAAM,WAA5D8kE,GAAY,MAAEC,GAAe,MACpC,IAA8B,EAAI/wD,EAAOhU,WAAU,GAAM,WAAlD4D,GAAO,MAAE6Y,GAAU,MAC1B,IAA0B,EAAIzI,EAAOhU,UAAU,IAAG,WAA3CglE,GAAK,MAAEC,GAAQ,MACtB,IAAgC,EAAIjxD,EAAOhU,YAAW,WAA/CklE,GAAQ,MAAEC,GAAW,MAC5B,IAAoC,EAAInxD,EAAOhU,UAAU,IAAG,WAArDolE,GAAU,MAAEC,GAAa,MAC1BC,GAAa,WAAWjoD,OAAO1d,GAC/B4lE,IAAmB,EAAIvhB,EAAWwhB,gBAAgBF,IACxD,IAA4B,EAAItxD,EAAOhU,UAAU,CAC/C6N,KAAMo2D,EACNwB,WAAYF,GAAiBE,YAAc,GAC3CC,aAAa,EACbxP,SAAUqP,GAAiB3f,aAAe,GAC1Ch4B,KAAM23C,GAAiB33C,KAAO23C,GAAiB33C,KAAO,EAAI,IAC1D,WANKxD,GAAM,MAAEu7C,GAAS,MAOlBC,IAAYzlE,GAAS,IAAI0B,KAAI,SAAAjB,GAAC,MAAK,CACvCc,KAAMd,EAAEc,KACRK,MAAOnB,EAAEmB,MACT8jE,IAAK1B,EAASiB,GAAYxkE,EAAEc,MAC7B,IACDkkE,GAAS3jD,QAAQ,CACfvgB,KAAMuiE,EACNliE,MAAO,cACP8jE,IAAK1B,EAASiB,GAAYnB,KAE5B2B,GAASx+D,KAAK,CACZ1F,KAAMwiE,EACNniE,MAAO,QACP8jE,IAAK1B,EAASiB,GAAYlB,KAE5B,IAAMhiE,GAAW,WACf,IAAMC,EAAQ,CAAC,EACXioB,GAAOs7C,cACTvjE,EAAMmhE,UAAW,GAEnBnhE,EAAM0L,KAAOuc,GAAOvc,KAChBuc,GAAOq7C,aACTtjE,EAAMioB,OAASA,GAAOq7C,YAExBhpD,IAAW,GACX3d,EAAIoD,SAAS,CACXC,MAAAA,EACAC,OAAQ,CACNwrB,KAAMxD,GAAOwD,KACbsoC,SAAU9rC,GAAO8rC,YAElBtwB,MAAK,SAAAtkC,GACNmb,IAAW,IACVnb,EAAI0jE,OAAS,IAAI93D,SAAQ,SAAAtM,GACxBA,EAAE2jE,eApIa,SAACzpB,EAAMl4C,GAC5B,IAAMqM,EAAO6rC,EAAKhzC,WAAa,GAC/B,QAAKmH,EAAK9H,SAGF8H,EAAKqD,MAAK,SAAAwzD,GAChB,IAAIC,EACJ,OAAmC,QAA1BA,EAAYD,EAAEE,cAAkC,IAAdD,OAAuB,EAASA,EAAUn1D,MAAQhO,CAC/F,GACF,CA2H2B2hE,CAAe3jE,EAAGgC,GACrChC,EAAE0jE,QAAS,EAAI/pD,EAAO0rD,aAAarlE,EAAE0jE,OAAQ3kE,EAASokB,GAGtDnjB,EAAEkH,WAAalH,EAAEkH,WAAa,IAAIvG,QAAO,SAAAE,GAAC,OAAIA,EAAEukE,MAAM,GACxD,IACAf,GAAS3jE,EAAI0jE,OAAS,IACtBG,GAAY7jE,EAAIc,OAAO6zD,MACzB,IAAGnwB,OAAM,SAAAC,GACPtpB,IAAW,GACXjC,EAAOlO,QAAQzI,MAAMkiC,EAAI9jC,QAC3B,GACF,EACMikE,GAAgB,WACpBpnE,EAAIoE,uBAAuB0iC,MAAK,SAAAtkC,GAC9B+jE,GAAc/jE,EAAI8iE,QAAU,GAC9B,IAAGt+B,OAAM,SAAAC,GACPvrB,EAAOlO,QAAQzI,MAAMkiC,EAAI9jC,QAC3B,GACF,EACMkkE,GAAmB,SAAAzjE,GACnBA,EAAK/C,UAAYA,IACnBuC,KACAgkE,KAEJ,GACA,EAAIlyD,EAAOzR,YAAW,WACpBL,IACF,GAAG,CAAC,GAAGmb,OAAO+M,GAAOs7C,YAAa,KAAKroD,OAAO+M,GAAOvc,KAAM,KAAKwP,OAAO+M,GAAOwD,KAAM,KAAKvQ,OAAO+M,GAAO8rC,SAAU,KAAK74C,OAAO+M,GAAOq7C,eAGpI,EAAIzxD,EAAOzR,YAAW,WACpB2jE,IACF,GAAG,IAEH9mE,EAAgB0a,EAAUnX,OAAOyjE,aAAcD,GAAkB,CAAC/7C,KAClEhrB,EAAgB0a,EAAUnX,OAAO0jE,WAAYF,GAAkB,CAAC/7C,KAChE,IAAMk8C,GAAsBtlE,EACtBs+B,GAAU,CAAC,CACfl7B,MAAOV,EAAE,eACThC,KAAM,WACN+Q,QAAS,CACPoyC,qBAAsB,SAAAC,GACpB,IAAMlkD,EAAIokE,GAAMlgB,GAChB,OAAoB,EAAIpwC,EAAYmD,KAAK,MAAO,CAC9C,UAAW,eAAewF,OAAOzc,EAAEksB,UACnCzuB,UAAuB,EAAIqW,EAAYmD,KAAKwsD,EAAY,CACtDvpB,KAAMl6C,KAEPA,EAAErB,IACP,IAED,CACD6E,MAAOV,EAAE,kBACThC,KAAM,MACN+Q,QAAS,CACP8zD,iBAAkB,SAAAhvD,GAChB,OAAoB,EAAI7C,EAAYmD,KAAK0/C,EAASjrD,QAAS,CACzDhD,KAAM,GACNk9D,UAAU,EACVnoE,SAAUkZ,GAEd,IAED,CACDnT,MAAOV,EAAE,yBACThC,KAAM,cACN+Q,QAAS,CACP8zD,iBAAkB,SAAAhvD,GAChB,OAAoB,EAAI7C,EAAYmD,KAAKkpB,EAAcz0B,QAAS,CAC9DzN,MAAO0Y,EACP8E,OAAQA,GAEZ,IAED,CACDjY,MAAOV,EAAE,2BACThC,KAAM,cACN+Q,QAAS,CACP8zD,iBAAkB,SAAAhvD,GAChB,OAAOA,GAAK,GACd,IAED,CACDnT,MAAOV,EAAE,kBACThC,KAAM,GACNigB,MAAO,IACP8kD,MAAO,SACPC,iBAAkB,SAClBj0D,QAAS,CACPoyC,qBAAsB,SAAAC,GACpB,IAAMlkD,EAAIokE,GAAMlgB,GAChB,OAAoB,EAAIpwC,EAAYmD,KAAKgmB,EAAYvxB,QAAS,CAC5D6yB,WAAYpb,EAAY,GAAK,cAC7BlW,KAAMkW,EAAY/J,EAAMolB,mBAAqB,GAC7C/gC,UAAuB,EAAIqW,EAAYmD,KAAK41C,EAASnhD,QAAS,CAC5DwuC,KAAMl6C,EACNwiE,gBAAiB,kBAAM2B,GAAgBxvD,EAAcA,EAAc,CAAC,EAAG3U,GAAI,CAAC,EAAG,CAC7E+lE,QAAS,cACR,KAGT,KAGEC,GAAgB,GAClBN,KACFM,GAAcx/D,MAAmB,EAAIsN,EAAYiD,MAAMwC,EAAQ7N,QAAS,CACtErF,QAAS,WACT1B,MAAO,CACLshE,WAAY,EACZ1hE,YAAa,IAEfF,MAAO,UACPqE,KAAM,QACNhE,QAAS,WACPu/D,IAAgB,EAClB,EACAxmE,SAAU,EAAc,EAAIqW,EAAYmD,KAAK8rD,EAAYr3D,QAAS,CAChE/G,MAAO,CACLomB,OAAQ,MACRxmB,YAAa,KAEbzB,EAAE,mBAAoBzD,EAAYkH,OAAS,KAAKkW,OAAOpd,EAAYkH,OAAQ,KAAO,OACvE,EAAIuN,EAAYmD,KAAKgmB,EAAYvxB,QAAS,CACzD6yB,WAAYpb,EAAY,GAAK,cAC7BlW,KAAMkW,EAAY/J,EAAMolB,mBAAqB,GAC7C/gC,UAAuB,EAAIqW,EAAYiD,MAAMwC,EAAQ7N,QAAS,CAC5D/G,MAAO,CACLshE,WAAY,EACZ1hE,YAAa,IAEf8B,QAAS,YACT8lD,KAAM,MACN9nD,MAAO,UACPqE,KAAM,QACN,UAAW,gBACXhE,QAAS,kBAAMm/D,IAAoB,EAAK,EACxCpmE,SAAU,EAAc,EAAIqW,EAAYmD,KAAKqqB,EAAK51B,QAAS,CACzD/G,MAAO,CACLyX,SAAU,QACV7X,YAAa,KAEbzB,EAAE,qBAGG,WAATrE,GACFunE,GAAcx/D,MAAmB,EAAIsN,EAAYmD,KAAKgmB,EAAYvxB,QAAS,CACzEuB,KAAM,QACNxP,UAAuB,EAAIqW,EAAYiD,MAAMwC,EAAQ7N,QAAS,CAC5D/G,MAAO,CACLshE,WAAY,GAEd5/D,QAAS,YACT8lD,KAAM,MACN9nD,MAAO,QACPqE,KAAM,QACN,UAAW,gBACXhE,QAAS,kBAAMq/D,IAAsB,EAAK,EAC1CtmE,SAAU,EAAc,EAAIqW,EAAYmD,KAAK6rD,EAAMp3D,QAAS,CAC1D/G,MAAO,CACLyX,SAAU,QACV7X,YAAa,KAEbzB,EAAE,iCAKd,IAuCMojE,GAAe,CACnBzkE,MAAM,EACNmjD,UAAU,EACVjkD,QAAQ,EACRkkD,OAAO,EACPshB,uBAAuB,EACvBC,WAAU,SAACzvD,EAAGyW,GACZ,IACEi5C,EACEj5C,EADFi5C,UAEIrmE,EAAIokE,GAAMiC,GAChBlC,GAAgBnkE,EAClB,EACAgtB,KAAMxD,GAAOwD,KAAO,EACpBg4B,YAAax7B,GAAO8rC,SACpBroC,MAAOq3C,GACPgC,mBAAoB,KAEtB,OAAoB,EAAIxyD,EAAYiD,MAAMC,EAAK,CAC7CvZ,SAAU,EAAc,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1D7G,UAAW,OACXX,QAAS,OACTzG,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,MAAO,CAClDpS,UAAW,OACXpH,UAAuB,EAAIqW,EAAYmD,KAAK,MAAO,CACjDpS,UAAW,OACXpH,SAAUunE,GAAS/jE,KAAI,SAAAjB,GAAC,OAAiB,EAAI8T,EAAYiD,MAAM,MAAO,CACpElS,UAAW,OAAO4X,OAAO+M,GAAOvc,OAASjN,EAAEc,KAAO,SAAW,IAC7D4D,QAAS,kBAnEEuI,EAmEiBjN,EAAEc,UAlElCkC,IAGJ+hE,IAAU,SAAA/kE,GAAC,OAAI2U,EAAcA,EAAc,CAAC,EAAG3U,GAAI,CAAC,EAAG,CACrDiN,KAAAA,EACA63D,aAAa,EACbD,WAAY,GACZ73C,KAAM,GACN,KATiB,IAAA/f,CAmEwB,EACnCxP,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,OAAQ,CACnDpS,UAAW,OACXpH,SAAUuC,EAAEmB,SACG,EAAI2S,EAAYmD,KAAK,OAAQ,CAC5CpS,WAAW,EAAIg+D,EAAYn3D,SAAS,QAAS,CAC3C,UAAW1L,EAAEilE,IAAM,MAErBxnE,SAAUuC,EAAEilE,QAEbjlE,EAAEc,KAAK,SAEG,EAAIgT,EAAYmD,KAAK,MAAO,CAC3CpS,UAAW,QACXpH,UAAuB,EAAIqW,EAAYmD,KAAKmsC,EAAW13C,QAAS,CAC9D7G,UAAW,aACX0hE,iBAAkB,IAClB9qD,OAAQA,EACR+qD,QAAS9B,GACT+B,YAAa,CAAC,OAAQ,eACtBtlE,OAAoB,EAAI2S,EAAYmD,KAAK,MAAO,CAC9CpS,UAAW,qBACXpH,UAAuB,EAAIqW,EAAYmD,KAAKiL,EAAkBxW,QAAS,CACrEgZ,SAAsB,EAAI5Q,EAAYmD,KAAKgC,EAAUvN,QAAS,CAC5DiM,SAAU3U,GACVqB,MAAO,UACPwZ,QAAS2L,GAAOs7C,YAChB18D,SAAU,SAAAuO,GAAC,OAnFG1Y,EAmFqB0Y,EAAE/B,OAAOiJ,aAlFxDknD,IAAU,SAAA/kE,GAAC,OAAI2U,EAAcA,EAAc,CAAC,EAAG3U,GAAI,CAAC,EAAG,CACrD8kE,YAAa7mE,EACb+uB,KAAM,GACN,IAJwB,IAAA/uB,CAmFsC,IAEtDuF,MAAOV,EAAE,qCAGbhB,KAAMsiE,GACN1lC,QAASA,GACTsnC,cAAeA,GACfn0D,QAASq0D,GACTljE,QAASA,GACToF,SAvFc,SAAA8iB,GACpB,IACE8B,EAGE9B,EAHF8B,KACAg4B,EAEE95B,EAFF85B,YACA6f,EACE35C,EADF25C,WAEEr7C,GAAO8rC,WAAatQ,EACtB+f,IAAU,SAAA/kE,GAAC,OAAI2U,EAAcA,EAAc,CAAC,EAAG3U,GAAI,CAAC,EAAG,CACrDs1D,SAAUtQ,EACVh4B,KAAM,GACN,IACOxD,GAAOwD,OAASA,EAAO,EAChC+3C,IAAU,SAAA/kE,GAAC,OAAI2U,EAAcA,EAAc,CAAC,EAAG3U,GAAI,CAAC,EAAG,CACrDgtB,KAAMA,EAAO,GACb,IACOxD,GAAOq7C,aAAeA,GAC/BE,IAAU,SAAA/kE,GAAC,OAAI2U,EAAcA,EAAc,CAAC,EAAG3U,GAAI,CAAC,EAAG,CACrD6kE,WAAAA,EACA73C,KAAM,GACN,GAEN,UAqEmB,EAAIlZ,EAAYmD,KAAKqC,EAAQ5N,QAAS,CACrDvK,MAAO2B,EAAE,mBACT4T,QAAS,kBAAMutD,IAAgB,EAAM,EACrCxtD,KAAMutD,GACN1iD,SAAU,KACV1d,WAAW,EACXnG,UAAuB,EAAIqW,EAAYmD,KAAKmsD,EAAa13D,QAAS,CAAC,KACjEw4D,KAA6B,EAAIpwD,EAAYmD,KAAKksD,EAAQz3D,QAAS,CACrEyY,SAAU,kBAAMggD,GAAgB,KAAK,EACrCuC,QAASxC,GAAavlE,IACtBonE,QAAS7B,GAAa6B,UACpBnC,IAAiC,EAAI9vD,EAAYmD,KAAKgsD,EAAcv3D,QAAS,CAC/E3M,QAASA,EACToD,SAAUA,EACV5C,MAAOA,EACP4kB,SAAU,kBAAM0/C,IAAoB,EAAM,EAC1CpsC,UAAW,WACTv1B,IACA2hE,IAAoB,EACtB,IACEC,KAAmC,EAAIhwD,EAAYmD,KAAKisD,EAAcx3D,QAAS,CACjF3M,QAASA,EACToD,SAAUA,EACV5C,MAAOA,EACP4kB,SAAU,kBAAM4/C,IAAsB,EAAM,EAC5CtsC,UAAW,WACTv1B,IACA6hE,IAAsB,EACxB,MAGN,CAjYAN,EAAWxrD,UAAY,CACrBiiC,KAAM7mC,EAAW3H,QAAQyI,OAAO2J,YAiYlC,IApcgC3F,EAASC,EAocnCpB,EAAMzD,EAAQ7H,QAAQ2M,IAAIlF,IApcAgF,EAoc6D,CAAC,41CAA61C,g9BApct4CC,IAAOA,EAAMD,EAAQ1K,MAAM,IAoc5B0F,EApcyCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SAocouE,SAAA5V,GAAK,OAAIA,EAAM+G,MAAMC,YAAYC,OAAOC,EAAE,IACx7Ek5D,EAAW3qD,UAAY,CACrBxZ,KAAM4U,EAAW3H,QAAQub,MAAM,CAAC,SAAU,aAAanJ,W,qCChf5C,gFAEb/T,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB08D,EAClB,IAgBIxzD,EAhBAC,EAASvI,EAAQ,OACjB0I,EAAUD,EAAuBzI,EAAQ,QACzCqxB,EAAU5oB,EAAuBzI,EAAQ,QACzC2O,EAAoBlG,EAAuBzI,EAAQ,KACnDwO,EAAWxO,EAAQ,OACnB0O,EAAUjG,EAAuBzI,EAAQ,QACzC0T,EAASjL,EAAuBzI,EAAQ,QACxCu4C,EAAa9vC,EAAuBzI,EAAQ,QAC5Cs1B,EAAgB7sB,EAAuBzI,EAAQ,QAC/C4O,EAAQ5O,EAAQ,OAChB6O,EAAQ7O,EAAQ,OAChBwX,EAAW/O,EAAuBzI,EAAQ,OAC1CoyB,EAAc3pB,EAAuBzI,EAAQ,QAC7CiyB,EAAexpB,EAAuBzI,EAAQ,QAC9CuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAAS0yD,IACP,OAGI,EAAIltD,EAAMiC,kBAFPvd,EAAM,EAAXD,IACAilB,EAAS,EAATA,UAEF,GAGI,EAAI/P,EAAO/P,YAAYgW,EAASwJ,eAFlC/f,EAAC,EAADA,EACA2Y,EAAM,EAANA,OAEF,GAKI,EAAI/B,EAAMkC,kBAJZ7c,EAAO,EAAPA,QACAM,EAAW,EAAXA,YACA6C,EAAO,EAAPA,QACAC,EAAQ,EAARA,SAEF,GAAoC,EAAIiR,EAAOhU,UAAU,MAAK,SAAvDwnE,EAAU,KAAEC,EAAa,KAChC,GAA8B,EAAIzzD,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KACpBirD,EAAgB,6BAAG,WAAMxwD,GAAI,uEAEvB,GAARywD,EACEzwD,EADFywD,UAEE/jE,EAAS,CAAF,gDAGM,OAAjB6Y,GAAW,GAAM,kBAET1d,EAAO2oE,iBAAiB,CAC5BvmE,MAAO,CACLxB,QAAAA,EACAgoE,SAAAA,KAEF,OACQ,OAAV7kE,IAAU,WACJ,EAAIkX,EAAM4K,OAAO,KAAI,0DAE3BqB,QAAQpiB,MAAM,EAAD,IAAQ,QAGD,OAHC,UAErB4Y,GAAW,GACXgrD,EAAc,MAAM,6EAEvB,gBAvBqB,sCAwBhB1iD,EAAW,WACftI,GAAW,GACXgrD,EAAc,KAChB,EACMG,EAAU,SAAAC,GACd,OAAK9kE,GAGE,EAAIiX,EAAM8tD,eAAe,CAC9BH,SAAUE,EAAOF,SACjB5kE,SAAAA,IAJO,EAMX,EACMu8B,EAAU,CAAC,CACfl7B,MAAOV,EAAE,sBACThC,KAAM,WACN+Q,QAAS,CACPpQ,MAAM,EACNwiD,qBAAsB,SAAAC,GACpB,IAAM3mC,EAAIle,EAAY6kD,GACtB,OAAK/hD,GAKe,EAAI2R,EAAYmD,KAAK6lB,EAAapxB,QAAS,CAC7DjO,SAAUupE,EAAQzpD,MALE,EAAIzJ,EAAYmD,KAAKuC,EAAkB9N,QAAS,CAClEhD,KAAM,IAMZ,IAED,CACDlF,MAAOV,EAAE,eACThC,KAAM,OACNqmE,MAAO,IACN,CACD3jE,MAAOV,EAAE,iBACThC,KAAM,SACN+Q,QAAS,CACP8zD,iBAAkB,SAAAhvD,GAChB,OAAOA,GAAK,IACd,IAED,CACDnT,MAAOV,EAAE,yBACThC,KAAM,mBACN+Q,QAAS,CACPpQ,MAAM,EACNkkE,iBAAkB,SAAChvD,EAAGiH,GACpB,IAAIwpD,EAEFC,EACEzpD,EADFypD,SAEI9pD,EAAIle,EAAYgoE,GACtB,OAAa,OAAN9pD,QAAoB,IAANA,GAAqD,QAA5B6pD,EAAa7pD,EAAE+pD,eAAoC,IAAfF,OAA9C,EAA+EA,EAAWl7C,QAChI,IAED,CACD1oB,MAAOV,EAAE,kBACThC,KAAM,aACN+Q,QAAS,CACP8zD,iBAAkB,SAAAhvD,GAChB,OAAoB,EAAI7C,EAAYmD,KAAKkpB,EAAcz0B,QAAS,CAC9DzN,MAAO0Y,EACP8E,OAAQA,GAEZ,IAED,CACDjY,MAAOV,EAAE,kBACThC,KAAM,GACNigB,MAAO,IACP8kD,MAAO,SACPh0D,QAAS,CACPpQ,MAAM,EACNwiD,qBAAsB,SAAAC,GACpB,IAAM33C,EAAOlN,EAAY6kD,GACzB,OAAoB,EAAIpwC,EAAYmD,KAAKgmB,EAAYvxB,QAAS,CAC5D6yB,WAAYpb,EAAY,GAAK,cAC7BlW,KAAMkW,EAAY/J,EAAMolB,mBAAqB,GAC7C/gC,UAAuB,EAAIqW,EAAYiD,MAAMwC,EAAQ7N,QAAS,CAC5DhH,QAAS,kBAAMmiE,EAAc,CAC3B1lE,MAAO2B,EAAE,8BACT5B,YAAa4B,EAAE,mCAAoC,CACjDoK,KAAM85D,EAAQz6D,KAEhBsY,QAAS/hB,EAAE,qBACXgiB,OAAQhiB,EAAE,iBACV6Z,UAAW,kBAAMmqD,EAAiBv6D,EAAK,EACvC4X,SAAAA,GACA,EACFzb,KAAM,QACNrE,MAAO,QACPgC,QAAS,OACT5I,SAAU,EAAc,EAAIqW,EAAYmD,KAAKilB,EAAQxwB,QAAS,CAC5D/G,MAAO,CACLyX,SAAU,WAEVtZ,EAAE,qBAGZ,KAGJ,OAAoB,EAAIgR,EAAYiD,MAAMC,EAAK,CAC7CvZ,SAAU,CAAC4B,EAAYkH,QAAsB,EAAIuN,EAAYmD,KAAKmsC,EAAW13C,QAAS,CACpF+P,OAAQA,EACR3Z,KAAM,EAAIzC,GACVq/B,QAASA,EACT6nC,iBAAkB,IAClB10D,QAAS,CACP+yC,UAAU,EACVjkD,QAAQ,EACRkkD,OAAO,MAEO,EAAI/wC,EAAYmD,KAAKsH,EAAO7S,QAAS,CACrDjO,SAAUqF,EAAE,kBACV8jE,IAA2B,EAAI9yD,EAAYmD,KAAKoL,EAAS3W,QAAS,CACpEvK,MAAOylE,EAAWzlE,MAClBD,YAAa0lE,EAAW1lE,YACxB2jB,QAAS+hD,EAAW/hD,QACpBC,OAAQ8hD,EAAW9hD,OACnB3E,OAAQymD,EAAWzmD,OACnBxD,UAAWiqD,EAAWjqD,UACtBwH,SAAUyiD,EAAWziD,aAG3B,CACA,IAzKgChM,EAASC,EAyKnCpB,EAAMzD,EAAQ7H,QAAQ2M,IAAIlF,IAzKAgF,EAyK6D,CAAC,4BAzKzCC,IAAOA,EAAMD,EAAQ1K,MAAM,IAyK5B0F,EAzKyCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SA0K1KuuD,EAAY1uD,UAAY,CAAC,EACzB0uD,EAAY/jE,aAAe,CAAC,C,qCCnMf,6DAEbmH,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBs9D,EAClB,IAmBIp0D,EAnBAC,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C0I,EAAUD,EAAuBzI,EAAQ,QACzCyO,EAAUhG,EAAuBzI,EAAQ,QACzC2O,EAAoBlG,EAAuBzI,EAAQ,KACnDkkB,EAAqBzb,EAAuBzI,EAAQ,OACpDkX,EAAczO,EAAuBzI,EAAQ,QAC7C6I,EAAYJ,EAAuBzI,EAAQ,QAC3C2gB,EAAUlY,EAAuBzI,EAAQ,QACzC8N,EAAarF,EAAuBzI,EAAQ,QAC5C4gB,EAAcnY,EAAuBzI,EAAQ,QAC7C6gB,EAAepY,EAAuBzI,EAAQ,QAC9CwO,EAAWxO,EAAQ,OACnB0O,EAAUjG,EAAuBzI,EAAQ,QACzCsX,EAAS7O,EAAuBzI,EAAQ,QACxCiyB,EAAexpB,EAAuBzI,EAAQ,QAC9C4O,EAAQ5O,EAAQ,OAChBuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASszD,EAAajxD,GACpB,IACEvX,EAMEuX,EANFvX,QACAQ,EAKE+W,EALF/W,MACA4kB,EAIE7N,EAJF6N,SACAsT,EAGEnhB,EAHFmhB,UACAtJ,EAEE7X,EAFF6X,QACAhsB,EACEmU,EADFnU,SAGAjE,GACE,EAAIub,EAAMiC,kBADZxd,IAEF,GAA8B,EAAIkV,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAA0B,EAAIzI,EAAOhU,UAAU,IAAG,SAA3C6D,EAAK,KAAEkvB,EAAQ,KAEpBrvB,GACE,EAAIuW,EAAStW,oBADfD,EAEF,GAAoC,EAAIsQ,EAAOhU,UAAU,GAAE,SAApDuxB,EAAU,KAAEyC,EAAa,KAChC,GAAoC,EAAIhgB,EAAOhU,UAAU,IAAG,SAArDooE,EAAU,KAAEC,EAAa,KAChC,GAAwB,EAAIr0D,EAAOhU,UAAU,IAAG,SAAzC6N,EAAI,KAAEy6D,EAAO,KACpB,GAA4B,EAAIt0D,EAAOhU,UAAU,IAAG,SAA7CuoE,EAAM,KAAEC,EAAS,KAClBC,GAAQ,6BAAG,6FACV56D,EAAM,CAAF,eACwC,OAA/CklB,EAASrvB,EAAE,oCAAoC,0BAKhC,OAFXglE,EAAaH,EAAOtqC,OAC1BlL,EAAS,MACTtW,GAAW,GAAM,kBAIL3d,EAAI6pE,uBAAuB,CACnCxnE,MAAO,CACLxB,QAAAA,EACAkO,KAAAA,EACA06D,OAAQG,KAEV,gBAPYppE,EAAI,EAAhB8oE,WAQFC,EAAc/oE,GACd00B,EAAc,GAAG,kDAEXnP,GAAS,EAAI7K,EAAM5U,aAAa,EAAF,IACpC2tB,EAASlO,GACTkK,EAAQ,EAAD,IAAM,QAEK,OAFL,UAEbtS,GAAW,GAAO,6EAErB,kBA3Ba,mCAqHRiV,GAzFQ,CAAC,CACbW,MAAmB,EAAI3d,EAAYiD,MAAMgL,EAAYrW,QAAS,CAC5DjD,UAAW,MACXhL,SAAU,EAAc,EAAIqW,EAAYiD,MAAM2U,EAAahgB,QAAS,CAClE/G,MAAO,CACLoc,MAAO,QAET1a,QAAS,WACT5I,SAAU,EAAc,EAAIqW,EAAYmD,KAAKwU,EAAY/f,QAAS,CAChEjO,SAAUqF,EAAE,sBACG,EAAIgR,EAAYmD,KAAKuU,EAAQ9f,QAAS,CACrD,UAAW,4BACXzN,MAAOgP,EACP7E,SAAU,SAAAuO,GACRwb,EAAS,MACTu1C,EAAQ/wD,EAAE/B,OAAO3W,MACnB,EACA2F,WAAW,EACXJ,MAAOV,EAAE,mBACT6U,SAAU3U,EACV++C,WAAY,SAAAprC,GACI,UAAVA,EAAE1W,MACJ0W,EAAEE,iBACFgxD,KAEJ,EACApqE,SAAU8B,EAAMoB,QAAO,SAAA4c,GAAC,MAAe,UAAXA,EAAEzc,IAAgB,IAAEG,KAAI,SAAA+mE,GAAC,OAAiB,EAAIl0D,EAAYmD,KAAKvD,EAAUhI,QAAS,CAC5GzN,MAAO+pE,EAAElnE,KACT,UAAW,+BAA+B2b,OAAOurD,EAAElnE,MACnDrD,UAAuB,EAAIqW,EAAYmD,KAAK,OAAQ,CAClDxZ,SAAUuqE,EAAE7mE,OAAS6mE,EAAElnE,QAExBknE,EAAElnE,KAAK,UAEG,EAAIgT,EAAYmD,KAAK,MAAO,CAC3CtS,MAAO,CACLkoB,UAAW,GACXsM,aAAc,OAED,EAAIrlB,EAAYmD,KAAK0B,EAAWjN,QAAS,CACxDlI,MAAOV,EAAE,iBACTm2B,aAAc,MACd5yB,QAAS,WACTzC,WAAW,EACXe,MAAO,CACLw0B,aAAc,GAEhBl7B,MAAO0pE,EACPv/D,SAAU,SAAAuO,GACRwb,EAAS,MACTy1C,EAAUjxD,EAAE/B,OAAO3W,MACrB,EACA0Z,SAAU3U,EACV,UAAW,gCACI,EAAI8Q,EAAYmD,KAAK,MAAO,CAC3CtS,MAAO,CACLkoB,UAAW,GACXsM,aAAc,SAIpBrU,OAAQhiB,EAAE,iBACV+hB,QAAS/hB,EAAE,6CACXqhB,SAAAA,EACAxH,UAAWkrD,IACV,CAEDp2C,KAAM,WACJ,IAAMvkB,GAAO,EAAIkM,EAAM8tD,eAAe,CACpCH,SAAUS,EAAWT,SACrB5kE,SAAAA,IAEF,OAAoB,EAAI2R,EAAYiD,MAAM,MAAO,CAC/CtZ,SAAU,EAAc,EAAIqW,EAAYmD,KAAKgxD,EAAM,CACjDxqE,SAAUqF,EAAE,4CAA6C,CACvDolE,YAAY,EAAI9uD,EAAMggB,kBAAkBouC,EAAWU,iBAEtC,EAAIp0D,EAAYmD,KAAK,MAAO,CAC3CtS,MAAO,CACLkoB,UAAW,WAEE,EAAI/Y,EAAYmD,KAAK6lB,EAAapxB,QAAS,CAC1DjO,SAAUyP,MAGhB,EACA2X,QAAS/hB,EAAE,kBACX6Z,UAAW8a,IAEM9G,GACnB,OAAoB,EAAI7c,EAAYiD,MAAMuC,EAAQ5N,QAAS,CACzDvK,MAAO2B,EAAE,iBACTc,WAAW,EACX6S,MAAM,EACN6jB,iBAAiB,EACjBn3B,SAAsB,EAAI2Q,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAChEvf,SAAU,CAACqzB,GAAKhM,SAAuB,EAAIhR,EAAYmD,KAAKsC,EAAQ7N,QAAS,CAC3EhH,QAASosB,GAAK3M,SACd9f,MAAO,UACP5G,SAAUqzB,GAAKhM,UACA,EAAIhR,EAAYiD,MAAMwC,EAAQ7N,QAAS,CACtDhH,QAASosB,GAAKnU,UACdtY,MAAO,UACPsT,SAAU3U,IAAYiK,EACtB5G,QAAS,YACT4W,WAAW,EACXxf,SAAU,CAACuF,IAAwB,EAAI8Q,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACjFhD,KAAM,KACJooB,GAAKjM,cAGbpnB,SAAU,EAAc,EAAIqW,EAAYmD,KAAK8X,EAAmBrjB,QAAS,CACvEjD,UAAW,MACXhL,SAA+B,oBAAdqzB,GAAKW,KAAsBX,GAAKW,OAASX,GAAKW,SAC3DxuB,IAAsB,EAAI6Q,EAAYmD,KAAKkL,EAAOzW,QAAS,CAC/DjN,KAAM,QACN4H,QAAS,OACT5I,SAAUwF,MAGhB,CACAskE,EAAatvD,UAAY,CACvBlZ,QAASsU,EAAW3H,QAAQmd,OAAO/K,WACnCqG,SAAU9Q,EAAW3H,QAAQsb,KAAKlJ,WAClC2Z,UAAWpkB,EAAW3H,QAAQsb,KAAKlJ,WACnCqQ,QAAS9a,EAAW3H,QAAQsb,KAC5BznB,MAAO8T,EAAW3H,QAAQwM,MAC1B/V,SAAUkR,EAAW3H,QAAQmd,QAE/B0+C,EAAa3kE,aAAe,CAC1BurB,QAAS,WAAO,EAChB5uB,MAAO,GACP4C,SAAU,IAEZ,IAxLgCgW,EAASC,EAwLnC6vD,EAAO10D,EAAQ7H,QAAQ2M,IAAIlF,IAxLDgF,EAwL8D,CAAC,gDAxL1CC,IAAOA,EAAMD,EAAQ1K,MAAM,IAwL3B0F,EAxLwCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,Q,qCC3B7J,6DAEbrO,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBk+D,EAClB,IAAI/0D,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5CyO,EAAUhG,EAAuBzI,EAAQ,QACzC2O,EAAoBlG,EAAuBzI,EAAQ,KACnDkkB,EAAqBzb,EAAuBzI,EAAQ,OACpDkX,EAAczO,EAAuBzI,EAAQ,QAC7C6I,EAAYJ,EAAuBzI,EAAQ,QAC3C2gB,EAAUlY,EAAuBzI,EAAQ,QACzC4gB,EAAcnY,EAAuBzI,EAAQ,QAC7C6gB,EAAepY,EAAuBzI,EAAQ,QAC9CwO,EAAWxO,EAAQ,OACnB0O,EAAUjG,EAAuBzI,EAAQ,QACzCsX,EAAS7O,EAAuBzI,EAAQ,QACxC4O,EAAQ5O,EAAQ,OAChBuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASk0D,EAAc7xD,GACrB,IACEvX,EAOEuX,EAPFvX,QACA4jE,EAMErsD,EANFqsD,SACApjE,EAKE+W,EALF/W,MACA4kB,EAIE7N,EAJF6N,SACAsT,EAGEnhB,EAHFmhB,UACAtJ,EAEE7X,EAFF6X,QACAi6C,EACE9xD,EADF8xD,kBAGAlqE,GACE,EAAIub,EAAMiC,kBADZxd,IAEF,GAA8B,EAAIkV,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAA0B,EAAIzI,EAAOhU,UAAU,IAAG,SAA3C6D,EAAK,KAAEkvB,EAAQ,KAEpBrvB,GACE,EAAIuW,EAAStW,oBADfD,EAEF,GAAwB,EAAIsQ,EAAOhU,UAAU,IAAG,SAAzC6N,EAAI,KAAEy6D,EAAO,KACdG,EAAQ,6BAAG,uFACV56D,EAAM,CAAF,eACwC,OAA/CklB,EAASrvB,EAAE,oCAAoC,0BAIhC,OADjBqvB,EAAS,MACTtW,GAAW,GAAM,kBAET3d,EAAImqE,uBAAuB,CAC/B9nE,MAAO,CACLxB,QAAAA,EACA+B,KAAMmM,EACN01D,SAAAA,KAEF,OACFlrC,IAAY,kDAENxT,GAAS,EAAI7K,EAAM5U,aAAa,EAAF,IACpC2tB,EAASlO,GACTkK,EAAQ,EAAD,IAAM,QAEK,OAFL,UAEbtS,GAAW,GAAO,6EAErB,kBAvBa,mCAwBd,OAAoB,EAAI/H,EAAYiD,MAAMuC,EAAQ5N,QAAS,CACzDvK,MAAO2B,EAAE,uBACTc,WAAW,EACX6S,MAAM,EACN/R,QAAS,SAAAiS,GAAC,OAAIA,EAAEC,iBAAiB,EACjCF,QAASyN,EACT0W,sBAAsB,EACtBxjB,WAAY,CACV1S,MAAO,CACLoY,UAAW,SAGf5Z,SAAsB,EAAI2Q,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAChEvf,SAAU,EAAc,EAAIqW,EAAYmD,KAAKsC,EAAQ7N,QAAS,CAC5DhH,QAASyf,EACT9f,MAAO,UACPqE,KAAM,QACNjL,SAAUqF,EAAE,oBACG,EAAIgR,EAAYiD,MAAMwC,EAAQ7N,QAAS,CACtDhH,QAASmjE,EACTxjE,MAAO,UACPqE,KAAM,QACNiP,SAAU3U,IAAYiK,EACtB5G,QAAS,YACT4W,WAAW,EACX,UAAW,4BACXxf,SAAU,CAACuF,IAAwB,EAAI8Q,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACjFhD,KAAM,KACJ5F,EAAE,6CAGVrF,SAAU,EAAc,EAAIqW,EAAYmD,KAAK8X,EAAmBrjB,QAAS,CACvEjD,UAAW,MACXhL,UAAuB,EAAIqW,EAAYmD,KAAK8K,EAAYrW,QAAS,CAC/DjD,UAAW,MACXhL,UAAuB,EAAIqW,EAAYiD,MAAM2U,EAAahgB,QAAS,CACjE/G,MAAO,CACLoc,MAAO,QAET1a,QAAS,WACT5I,SAAU,EAAc,EAAIqW,EAAYmD,KAAKwU,EAAY/f,QAAS,CAChEjO,SAAUqF,EAAE,sBACG,EAAIgR,EAAYmD,KAAKuU,EAAQ9f,QAAS,CACrD,UAAW,iCACXzN,MAAOgP,EACP7E,SAAU,SAAAuO,GACRwb,EAAS,MACTu1C,EAAQ/wD,EAAE/B,OAAO3W,MACnB,EACA2F,WAAW,EACXJ,MAAOV,EAAE,mBACT6U,SAAU3U,EACV++C,WAAY,SAAAprC,GACI,UAAVA,EAAE1W,MACJ0W,EAAEE,iBACFgxD,IAEJ,EACApqE,SAAU8B,EAAMoB,QAAO,SAAA4c,GAAC,OAAI6qD,GAAgC,UAAX7qD,EAAEzc,IAAgB,IAAEG,KAAI,SAAA+mE,GAAC,OAAiB,EAAIl0D,EAAYmD,KAAKvD,EAAUhI,QAAS,CACjIzN,MAAO+pE,EAAElnE,KACT,UAAW,gCAAgC2b,OAAOurD,EAAElnE,MACpDrD,UAAuB,EAAIqW,EAAYmD,KAAK,OAAQ,CAClDxZ,SAAUuqE,EAAE7mE,OAAS6mE,EAAElnE,QAExBknE,EAAElnE,KAAK,eAIZmC,IAAsB,EAAI6Q,EAAYmD,KAAKkL,EAAOzW,QAAS,CAC/DjN,KAAM,QACN4H,QAAS,OACT5I,SAAUwF,MAGhB,CACAklE,EAAclwD,UAAY,CACxBlZ,QAASsU,EAAW3H,QAAQmd,OAAO/K,WACnC6kD,SAAUtvD,EAAW3H,QAAQmd,OAAO/K,WACpCqG,SAAU9Q,EAAW3H,QAAQsb,KAAKlJ,WAClC2Z,UAAWpkB,EAAW3H,QAAQsb,KAAKlJ,WACnCqQ,QAAS9a,EAAW3H,QAAQsb,KAC5BznB,MAAO8T,EAAW3H,QAAQwM,MAC1BkwD,kBAAmB/0D,EAAW3H,QAAQwb,MAExCihD,EAAcvlE,aAAe,CAC3BurB,QAAS,WAAO,EAChB5uB,MAAO,GACP6oE,mBAAmB,E,oCCzJR,6DAEbr+D,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBq+D,EAClB,IAwBIn1D,EAAiBsF,EAAkB4V,EAxBnCjb,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C0I,EAAUD,EAAuBzI,EAAQ,QACzCogC,EAAapgC,EAAQ,OACrByO,EAAUhG,EAAuBzI,EAAQ,QACzC2O,EAAoBlG,EAAuBzI,EAAQ,KACnD+N,EAAOtF,EAAuBzI,EAAQ,QACtCsf,EAAU7W,EAAuBzI,EAAQ,QACzC2wB,EAAQloB,EAAuBzI,EAAQ,OACvC+2B,EAAWtuB,EAAuBzI,EAAQ,QAC1CwO,EAAWxO,EAAQ,OACnB8rD,EAAWrjD,EAAuBzI,EAAQ,QAC1Cu3D,EAAmB9uD,EAAuBzI,EAAQ,QAClDw3D,EAAkB/uD,EAAuBzI,EAAQ,QACjDqO,EAAYrO,EAAQ,OACpBoyB,EAAc3pB,EAAuBzI,EAAQ,QAC7C4O,EAAQ5O,EAAQ,OAChB6O,EAAQ7O,EAAQ,OAChBuO,EAAQvO,EAAQ,OAChB09D,EAAqBj1D,EAAuBzI,EAAQ,QACpD29D,EAAal1D,EAAuBzI,EAAQ,QAC5C03D,EAAsBjvD,EAAuBzI,EAAQ,QACrD8O,EAAS9O,EAAQ,OACjBiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAAS6F,EAAuB3B,EAASC,GAA6C,OAAjCA,IAAOA,EAAMD,EAAQ1K,MAAM,IAAa1D,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,MAAY,CACtL,SAASkwD,EAAOhyD,GACd,IACEowD,EAGEpwD,EAHFowD,QACAviD,EAEE7N,EAFF6N,SACA4hD,EACEzvD,EADFyvD,QAEF,GAMI,EAAItsD,EAAMiC,kBALZxd,EAAG,EAAHA,IAEEM,EAAe,EADjBH,GACEG,gBAEF2kB,EAAS,EAATA,UAEF,GAII,EAAIzJ,EAAMkC,kBAHZrc,EAAK,EAALA,MACAR,EAAO,EAAPA,QACAqB,EAAsB,EAAtBA,uBAGA0C,GACE,EAAIuW,EAAStW,oBADfD,EAEF,GAAkC,EAAIsQ,EAAOhU,UAAU,MAAK,SAArDqpE,EAAS,KAAEC,EAAY,KAC9B,GAAwB,EAAIt1D,EAAOhU,UAAU,MAAK,SAA3C86C,EAAI,KAAEyuB,EAAO,KAElBx8B,GACE,EAAIlB,EAAWmB,eADjBD,gBAEF,GAAsB,EAAI/4B,EAAOhU,UAAU2mE,GAAW,QAAO,SAAtDngE,EAAG,KAAEk2B,EAAM,KACZ8sC,GAAO,6BAAG,6GAEM1qE,EAAI2qE,aAAa,CACjCC,QAAS,CACPvoE,MAAO,CACLxB,QAAAA,EACAm7C,KAAM,CACJv7C,IAAK+nE,KAIXqC,qBAAsB,CACpBxoE,MAAO,CACLxB,QAAAA,EACA4jE,SAAU+D,MAGd,QAfIhmE,EAAM,EAAH,MAgBDooE,QAAQ5uB,OACdx5C,EAAIooE,QAAQ5uB,KAAKwpB,QAAS,EAAI/pD,EAAO0rD,aAAa3kE,EAAIooE,QAAQ5uB,KAAKwpB,OAAQ3kE,EAASokB,GAGpFziB,EAAIooE,QAAQ5uB,KAAKhzC,WAAaxG,EAAIooE,QAAQ5uB,KAAKhzC,WAAa,IAAIvG,QAAO,SAAAX,GAAC,OAAIA,EAAEolE,MAAM,KAEtFuD,EAAQjoE,EAAIooE,QAAQ5uB,MAAQ,CAAC,GAC7BwuB,EAAahoE,EAAIqoE,qBAAqB16D,MAAQ,IAAI,gDAElD89B,GAAgB,EAAI/yB,EAAM5U,aAAa,EAAF,IAAQ,CAC3CgvD,iBAAkB,IAClBntD,QAAS,UACR,yDAEN,kBAhCY,oCAiCb,EAAI+M,EAAOzR,YAAW,WAChB5C,GACF6pE,IAEJ,GAAG,CAAClC,EAAS3nE,IAObP,EAAgB0a,EAAUnX,OAAOyjE,cALb,SAAA1jE,GACdA,EAAK/C,UAAYA,GAAW+C,EAAKo4C,MAAQp4C,EAAKo4C,KAAKv7C,MAAQ+nE,GAC7DkC,IAEJ,GAC4D,CAAClC,EAAS3nE,KACtE,EAAIqU,EAAOzR,YAAW,WAChB8mE,IAAcA,EAAUliE,QAAkB,cAARX,GACpCk2B,EAAO,OAEX,GAAG,CAAC2sC,IAGJ,IA4CM1sC,GAAa,CACjBr9B,KAAM,CACJ8E,MAAOV,EAAE,oBACT7E,MAAO,OACPwK,UAhDS,WAuBX,OAtBayxC,EAAO,CAAC,CACnBp5C,KAAMgC,EAAE,oBACR7E,MAAOi8C,EAAKhuB,UACX,CACDprB,KAAMgC,EAAE,gBACR7E,MAAOi8C,EAAK8uB,OACX,CACDloE,KAAMgC,EAAE,0BACR7E,MAAOi8C,EAAKwoB,SAAW5/D,EAAE,cAAgBA,EAAE,cAC1C,CACDhC,KAAMgC,EAAE,yBACR7E,OAAO,EAAImb,EAAMggB,kBAAkB8gB,EAAKx4C,cACvC,CACDZ,KAAMgC,EAAE,2BACR7E,MAAOi8C,EAAK+uB,aAAe,IAC1B,CACDnoE,KAAMgC,EAAE,oBACR7E,OAAO,EAAImb,EAAMggB,kBAAkB8gB,EAAK3tB,YACvC,CACDzrB,KAAMgC,EAAE,iBACR7E,MAAOi8C,EAAKytB,QAAU,OACrBhnE,OAAO+O,SAAW,IACTzO,KAAI,SAAAkjC,GACd,OAAIA,EAAIrjC,OAASgC,EAAE,eACG,EAAIgR,EAAYmD,KAAK2qB,EAASl2B,QAAS,CACzD04B,eAAgB,MAChBR,UAAW,IACX9iC,KAAMqjC,EAAIrjC,KACVujC,cAAe,kBAAMvhC,EAAE,aAAa,EACpCrF,SAAU0mC,EAAIlmC,OACbkmC,EAAIrjC,OAEW,EAAIgT,EAAYmD,KAAK2qB,EAASl2B,QAAS,CACzD/G,MAAO,CACLR,WAAY,cAEdigC,eAAgB,MAChBR,UAAW,IACX9iC,KAAMqjC,EAAIrjC,KACVrD,SAAU0mC,EAAIlmC,OACbkmC,EAAIrjC,KACT,GACF,GAOEoG,UAAW,CACT1D,MAAOV,EAAE,mBACT7E,MAAO,YACPwK,UAAW,kBAAmB,EAAIqL,EAAYmD,KAAKuxD,EAAW98D,QAAS,CACrEwuC,KAAMA,EACNn7C,QAASA,EACTQ,MAAOA,EACPsoE,SAAU,WACRe,GAAQ7pE,GACR+8B,EAAO,YACT,EACAotC,UAAW,WACTN,GAAQ7pE,EACV,GACA,GAEJ0pE,UAAW,CACTjlE,MAAOV,EAAE,kCACT7E,MAAO,YACPwK,UAAW,kBAAmB,EAAIqL,EAAYmD,KAAKsxD,EAAmB78D,QAAS,CAC7E+8D,UAAWA,GAAa,GACxB1pE,QAASA,EACTmqE,UAAW,kBAAMN,GAAQ7pE,EAAQ,GACjC,IAGAoH,GAAO4D,OAAON,OAAOsyB,IAAY96B,KAAI,SAAA2c,GAKzC,MAAO,CACLpa,MAFEoa,EAFFpa,MAKAvF,MAHE2f,EADF3f,MAMJ,IAAG0C,QAAO,SAAAX,GACR,MAAgB,cAAZA,EAAE/B,OACGmC,GAA0BqoE,KAAeA,EAAUliE,MAG9D,IACMy1B,GAAYD,GAAWn2B,IAAQm2B,GAAWr9B,KAIhD,OAAoB,EAAIoV,EAAYmD,KAAKqC,EAAQ5N,QAAS,CACxDvK,MAAO2B,EAAE,iBACT4T,QAASyN,EACT1N,MAAM,EACNY,WAAY,CACV1S,MAAO,CACL2c,SAAU,IACVvE,UAAW,SAGfnZ,WAAW,EACXT,QAAS+2C,IAAqB,EAAIpmC,EAAYmD,KAAKgmB,EAAYvxB,QAAS,CACtE6yB,WAAYpb,EAAY,GAAK,cAC7BlW,KAAMkW,EAAY/J,EAAMolB,mBAAqB,GAC7C/gC,UAAuB,EAAIqW,EAAYmD,KAAKsrD,EAAoB72D,QAAS,CACvEwuC,KAAMA,EACNz8C,SAAU,SAAAytB,GACR,IACEzU,EACEyU,EADFzU,KAEF,OAAoB,EAAI3C,EAAYiD,MAAMoyD,EAAa,CACrDzkE,QAAS+R,EACThZ,SAAU,CAACy8C,EAAKwoB,UAAwB,EAAI5uD,EAAYmD,KAAKmrD,EAAiB12D,QAAS,CACrF/G,MAAO,CACLyX,SAAU,QACV7X,YAAa,YAEC,EAAIuP,EAAYmD,KAAKorD,EAAgB32D,QAAS,CAC9D/G,MAAO,CACLyX,SAAU,QACV7X,YAAa,WAEb21C,EAAKwoB,SAAW5/D,EAAE,2BAA6BA,EAAE,4BAEzD,MAGJrF,UAAuB,EAAIqW,EAAYiD,MAAMC,EAAK,CAChDvZ,SAAU,EAAEy8C,IAAqB,EAAIpmC,EAAYmD,KAAKlT,EAAQ,CAC5DtG,UAAuB,EAAIqW,EAAYmD,KAAKuC,EAAkB9N,QAAS,CAAC,KACtEwuC,IAAqB,EAAIpmC,EAAYiD,MAAM,MAAO,CACpDtZ,SAAU,EAAc,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1DxH,QAAS,OACTC,WAAY,SACZU,UAAW,OACXpH,SAAU,EAAc,EAAIqW,EAAYmD,KAAKkT,EAAQze,QAAS,CAC5D+e,IAAKyvB,EAAKwpB,OACV/+D,MAAO,CACLoc,MAAO,GACPgK,OAAQ,GACRD,gBAAiB,cACjBvmB,YAAa,OAEA,EAAIuP,EAAYiD,MAAM6B,EAAKlN,QAAS,CACnDjO,SAAU,EAAc,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACzD7G,UAAW,OACXpH,SAAUy8C,EAAKhuB,YACA,EAAIpY,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClD7G,UAAW,MACXoC,GAAI,EACJxJ,UAAuB,EAAIqW,EAAYmD,KAAK0/C,EAASjrD,QAAS,CAC5DjO,SAAUy8C,EAAKv7C,eAIN,EAAImV,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDuuD,GAAI,EACJp1D,UAAW,OACXpH,UAAuB,EAAIqW,EAAYmD,KAAKukB,EAAM9vB,QAAS,CACzDvF,KAAMA,GACNgC,QAASvC,EACTwC,SA1EU,SAAAC,GAClByzB,EAAOzzB,EACT,EAyEUC,cAAe,YAEF,EAAIwL,EAAYmD,KAAK,MAAO,CAC3CpS,UAAW,OACXpH,UAAuB,EAAIqW,EAAYmD,KAAK+kB,GAAUvzB,UAAW,CAAC,YAK5E,CACA6/D,EAAOrwD,UAAY,CACjByuD,QAASrzD,EAAW3H,QAAQmd,OAAO/K,WACnCqG,SAAU9Q,EAAW3H,QAAQsb,KAAKlJ,WAClCioD,QAAS1yD,EAAW3H,QAAQmd,QAE9By/C,EAAO1lE,aAAe,CACpBmjE,QAAS,QAEX,IAAM/uD,EAAMzD,EAAQ7H,QAAQ2M,IAAIlF,IAAoBA,EAAkB2G,EAAuB,CAAC,4QACxF/V,EAASwP,EAAQ7H,QAAQ2M,IAAII,IAAqBA,EAAmBqB,EAAuB,CAAC,6GAC7FqvD,EAAc51D,EAAQ7H,QAAQ2M,IAAIgW,IAAqBA,EAAmBvU,EAAuB,CAAC,mT,qCC3S3F,6DAEb/P,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBm/D,EAClB,IAcIj2D,EAdAC,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C0I,EAAUD,EAAuBzI,EAAQ,QACzCogC,EAAapgC,EAAQ,OACrB+N,EAAOtF,EAAuBzI,EAAQ,QACtCwO,EAAWxO,EAAQ,OACnB4O,EAAQ5O,EAAQ,OAChB6O,EAAQ7O,EAAQ,OAChBwX,EAAW/O,EAAuBzI,EAAQ,OAC1CoyB,EAAc3pB,EAAuBzI,EAAQ,QAC7CiyB,EAAexpB,EAAuBzI,EAAQ,QAC9Cw+D,EAAe/1D,EAAuBzI,EAAQ,OAC9CuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASm1D,EAAkB9yD,GACzB,IACEmyD,EAGEnyD,EAHFmyD,UACA1pE,EAEEuX,EAFFvX,QACAmqE,EACE5yD,EADF4yD,UAEF,GAGI,EAAIzvD,EAAMiC,kBAFPvd,EAAM,EAAXD,IACAilB,EAAS,EAATA,UAGArgB,GACE,EAAIsQ,EAAO/P,YAAYgW,EAASwJ,eADlC/f,EAEF,GAAoC,EAAIsQ,EAAOhU,UAAU,MAAK,SAAvDwnE,EAAU,KAAEC,EAAa,KAChC,GAA8B,EAAIzzD,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAExBswB,GACE,EAAIlB,EAAWmB,eADjBD,gBAGAhqC,GACE,EAAIuX,EAAMkC,kBADZzZ,SAEImnE,EAAc,6BAAG,WAAM1rD,GAAK,uEAE5B,GAAF5N,EACE4N,EADF5N,IAEEhN,EAAS,CAAF,gDAGM,OAAjB6Y,GAAW,GAAM,kBAET1d,EAAOorE,uBAAuB,CAClChpE,MAAO,CACLxB,QAAAA,EACAyqE,UAAWx5D,KAEb,OACFk5D,IAAY,kDAEZ/8B,EAAgB,KAAM9qC,QAAS,CAC7BmyD,iBAAkB,IAClBntD,QAAS,UACR,QAGiB,OAHjB,UAEHwV,GAAW,GACXgrD,EAAc,MAAM,6EAEvB,gBAzBmB,sCA0Bd1iD,EAAW,WACftI,GAAW,GACXgrD,EAAc,KAChB,EACMG,EAAU,SAAAC,GAAM,OAAI9kE,GAAW,EAAIiX,EAAMqwD,sBAAsB,CACnEz5D,GAAIi3D,EAAOj3D,GACX7N,SAAAA,IACG,EAAE,EAIP,SAASunE,EAASx+C,GAChB,IACQ3N,EACJ2N,EADFppB,KAEF,OAAoB,EAAIgS,EAAYiD,MAAM,MAAO,CAC/ClS,UAAW,WACXpH,SAAU,EAAc,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1DxH,QAAS,OACTyc,eAAgB,gBAChBljB,SAAU,EAAc,EAAIqW,EAAYmD,KAAKgmB,EAAYvxB,QAAS,CAChE6yB,WAAYpb,EAAY,GAAK,cAC7BlW,KAAMkW,EAAY/J,EAAMolB,mBAAqB,GAC7C/gC,SAAU,SAAAuhE,GAAG,OAAIA,GAAmB,EAAIlrD,EAAYmD,KAAKoyD,EAAa39D,QAAS,CAC7E3K,SAAU,CACRI,MAAOoc,EAAEpc,MACTL,KAAMyc,EAAEzc,MAEVkyC,SAAU,kBAAM6zB,EAAc,CAC5B1lE,MAAO2B,EAAE,uCACT5B,YAAa4B,EAAE,4CAA6C,CAC1DoK,KAAM85D,EAAQzpD,KAEhBsH,QAAS/hB,EAAE,qBACXgiB,OAAQhiB,EAAE,iBACV6Z,UAAW,WACT2sD,EAAe/rD,EACjB,EACA4G,SAAAA,GACA,KACc,EAAIrQ,EAAYmD,KAAKoyD,EAAa39D,QAAS,CAC3D3K,SAAU,CACRI,MAAOoc,EAAEpc,MACTL,KAAMyc,EAAEzc,OAEV,KACa,EAAIgT,EAAYiD,MAAM,MAAO,CAC5CpS,MAAO,CACLN,MAAO,QAET5G,SAAU,CAACqF,EAAE,kBAAmB,SAAS,EAAIsW,EAAMggB,kBAAkB7b,EAAE2qD,mBAE1D,EAAIp0D,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDzE,GAAI,EACJxJ,UAAuB,EAAIqW,EAAYmD,KAAK6lB,EAAapxB,QAAS,CAChEjO,SAAUupE,EAAQzpD,SAI1B,CACA,OAAoB,EAAIzJ,EAAYiD,MAAMC,EAAK,CAC7CvZ,SAAU,CAACgrE,EAAUxnE,KAAI,SAAAjB,GAAC,OAAiB,EAAI8T,EAAYmD,KAAKyyD,EAAU,CACxE5nE,KAAM9B,GACN,IAAG4mE,IAA2B,EAAI9yD,EAAYmD,KAAKoL,EAAS3W,QAAS,CACrEvK,MAAOylE,EAAWzlE,MAClBD,YAAa0lE,EAAW1lE,YACxB2jB,QAAS+hD,EAAW/hD,QACpBC,OAAQ8hD,EAAW9hD,OACnB3E,OAAQymD,EAAWzmD,OACnBxD,UAAWiqD,EAAWjqD,UACtBwH,SAAUyiD,EAAWziD,aAG3B,CACA,IA1HgChM,EAASC,EA0HnCpB,EAAMzD,EAAQ7H,QAAQ2M,IAAIlF,IA1HAgF,EA0H6D,CAAC,wUA1HzCC,IAAOA,EAAMD,EAAQ1K,MAAM,IA0H5B0F,EA1HyCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SA2H1KgxD,EAAkBnxD,UAAY,CAC5BlZ,QAASsU,EAAW3H,QAAQmd,OAAO/K,WACnC2qD,UAAWp1D,EAAW3H,QAAQwM,MAC9BgxD,UAAW71D,EAAW3H,QAAQsb,MAEhCoiD,EAAkBxmE,aAAe,CAC/B6lE,UAAW,GACXS,UAAW,WAAO,E,qCCxJP,6DAEbn/D,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB0/D,EAClB,IA2BIx2D,EA3BAC,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C0I,EAAUD,EAAuBzI,EAAQ,QACzCogC,EAAapgC,EAAQ,OACrB6N,EAAOpF,EAAuBzI,EAAQ,QACtC++D,EAAct2D,EAAuBzI,EAAQ,QAC7Cy2B,EAAOhuB,EAAuBzI,EAAQ,OACtC+N,EAAOtF,EAAuBzI,EAAQ,QACtCoT,EAAW3K,EAAuBzI,EAAQ,QAC1Cg/D,EAAgBv2D,EAAuBzI,EAAQ,QAC/CwO,EAAWxO,EAAQ,OACnB0O,EAAUjG,EAAuBzI,EAAQ,QACzCi/D,EAAcx2D,EAAuBzI,EAAQ,QAC7Cm4D,EAAsB1vD,EAAuBzI,EAAQ,QACrD0T,EAASjL,EAAuBzI,EAAQ,QACxCqO,EAAYrO,EAAQ,OACpBk/D,EAAqBz2D,EAAuBzI,EAAQ,QACpD4O,EAAQ5O,EAAQ,OAChBu1C,EAAWv1C,EAAQ,OACnB6O,EAAQ7O,EAAQ,OAChBuO,EAAQvO,EAAQ,OAChBwX,EAAW/O,EAAuBzI,EAAQ,OAC1CoyB,EAAc3pB,EAAuBzI,EAAQ,QAC7Cm/D,EAAe12D,EAAuBzI,EAAQ,QAC9Co/D,EAAc32D,EAAuBzI,EAAQ,QAC7Cy3D,EAAiBhvD,EAAuBzI,EAAQ,QAChDiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAASi2D,EAAmB5zD,GAC1B,IACEgB,EAEEhB,EAFFgB,OACAvW,EACEuV,EADFvV,SAGA+B,GACE,EAAIuW,EAAStW,oBADfD,EAKImK,GADF,EAAIyM,EAAMkC,kBADZrc,MAEiBQ,MAAK,SAAAC,GAAC,OAAIA,EAAEc,OAASC,EAASkM,IAAI,IACrD,OAAoB,EAAI6G,EAAYiD,MAAM,MAAO,CAC/CtZ,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,MAAO,CAClDxZ,SAAgCqF,EAAX,WAAXwU,EAAwB,wCAA6C,2CAC7ErK,IAAqB,EAAI6G,EAAYmD,KAAK2B,EAAKlN,QAAS,CAC1DzE,GAAI,EACJ63B,WAAY,OACZrhC,SAAUqF,EAAE,yCACVmK,IAAqB,EAAI6G,EAAYmD,KAAK2B,EAAKlN,QAAS,CAC1DzE,GAAI,EACJxJ,SAAUwP,EAAK/L,gBAGrB,CAMA,SAASyoE,EAAU/rD,GACjB,IAAI8F,EAEFw2B,EAEEt8B,EAFFs8B,KACA2tB,EACEjqD,EADFiqD,SAGA/kE,GACE,EAAIuW,EAAStW,oBADfD,EAGAm3C,GACE,EAAImG,EAASG,qBADftG,QAEF,GASI,EAAIvgC,EAAMkC,kBARZrc,EAAK,EAALA,MACAR,EAAO,EAAPA,QACAiD,EAAa,EAAbA,cACSmoE,EAAW,EAApBjoE,QACA9B,EAAsB,EAAtBA,uBACAD,EAAgB,EAAhBA,iBACAN,EAAa,EAAbA,cACAX,EAAQ,EAARA,SAEF,GAGI,EAAIua,EAAMiC,kBAFZxd,EAAG,EAAHA,IACAilB,EAAS,EAATA,UAGAgpB,GACE,EAAIlB,EAAWmB,eADjBD,gBAEF,GAA8B,EAAI/4B,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,IAA0C,EAAIzI,EAAOhU,UAAU,MAAK,WAA7DgrE,GAAa,MAAEC,GAAgB,MACtC,IAA8C,EAAIj3D,EAAOhU,WAAU,GAAM,WAAlEkrE,GAAe,MAAEC,GAAkB,MAC1C,IAA4B,EAAIn3D,EAAOhU,UAAU,IAAG,WAA7CoqB,GAAM,MAAEu7C,GAAS,MAClB79D,KAAa,EAAIwR,EAAKhN,SAASwuC,EAAM,cAAgB,IAAIj5C,KAAI,SAAAjB,GAAC,OAAI2U,EAAcA,EAAc,CAAC,EAAG3U,GAAI,CAAC,EAAG,CAC9GwqE,QAASxqE,EAAEiG,SAAWiT,EAAUuxD,gBAAgBC,SAChD,IACIC,GAAoB,6BAAG,WAAM5pE,GAAQ,2EACrCiC,EAAS,CAAF,gDAKyG,OAFpH6Y,GAAW,GAAM,SAET+uD,EAAS7pE,EAASkF,SAAWiT,EAAUuxD,gBAAgBC,QAAU,qBAAuB,qBAAoB,SAC5GxsE,EAAI0sE,GAAQ,CAChBrqE,MAAO,CACLxB,QAAAA,EACA2nE,QAASxsB,EAAKv7C,IACdksE,WAAY9pE,EAASiP,MAEvB,OACFm6D,IAAc,kDAEdh+B,GAAgB,EAAI/yB,EAAM5U,aAAa,EAAF,IAAQ,CAC3CgvD,iBAAkB,IAClBntD,QAAS,UACR,QAGoB,OAHpB,UAEHwV,GAAW,GACXwuD,GAAiB,MAAM,6EAE1B,gBAxByB,sCAyDpBS,GAAa,SAACjiE,EAAe9H,GACjC,OAAIm5C,EAAKv7C,MAAQs7C,EAAQC,KAAKv7C,KAAOs7C,EAAQC,KAAK2wB,YAAc5wB,EAAQC,KAAK2wB,aAAe9pE,EAASiP,GAC5F,CACL+6D,WAAW,EACX1pE,QAASyB,EAAE,yCAGV+F,EAMD9J,IAAYgC,EAASqkE,OAAOp1D,IAAwB,UAAlBjP,EAASD,KACtC,CACLiqE,WAAW,EACX1pE,QAASyB,EAAE,+BAGR,CACLioE,WAAW,GAZJ,CACLA,WAAW,EACX1pE,QAASyB,EAAE,8BAYjB,EACMkoE,GAAoB9jE,GAAUvG,QAAO,SAAAX,GAAC,OAAKwpB,IAAUxpB,EAAEmB,MAAM4G,SAASyhB,KAAWxpB,EAAEc,KAAKiH,SAASyhB,GAAO,IAC9G,OAAoB,EAAI1V,EAAYiD,MAAMC,EAAK,CAC7CvZ,SAAU,EAAc,EAAIqW,EAAYiD,MAAMkzD,EAAYv+D,QAAS,CACjEjO,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,MAAO,CAClDpS,UAAW,OACXpH,UAAuB,EAAIqW,EAAYmD,KAAK+yD,EAAat+D,QAAS,CAChEyzB,YAAar8B,EAAE,wBACf7E,MAAOurB,GACPphB,SAAU,SAAAuO,GAAC,OAAIouD,GAAUpuD,EAAE/B,OAAO3W,MAAM,OAE3B,EAAI6V,EAAYmD,KAAK,MAAO,CAC3CpS,UAAW,QACXpH,SAAU2C,KAA4B85C,EAAKwoB,WAAyB,EAAI5uD,EAAYmD,KAAKgmB,EAAYvxB,QAAS,CAC5G6yB,WAAYpb,EAAY,GAAK,cAC7BlW,KAAMkW,EAAY/J,EAAMolB,mBAAqB,GAC7C/gC,UAAuB,EAAIqW,EAAYiD,MAAMwC,EAAQ7N,QAAS,CAC5DrF,QAAS,YACThC,MAAO,UACP,UAAW,iBACXK,QAAS,kBAAM6lE,IAAmB,EAAK,EACvC9sE,SAAU,EAAc,EAAIqW,EAAYmD,KAAKqqB,EAAK51B,QAAS,CACzD/G,MAAO,CACLyX,SAAU,GACV7X,YAAa,KAEbzB,EAAE,kCAIG,EAAIgR,EAAYiD,MAAM6B,EAAKlN,QAAS,CACnDjO,SAAU,CAACutE,GAAkB/pE,KAAI,SAAAjB,GAAC,OAAiB,EAAI8T,EAAYmD,KAAKgmB,EAAYvxB,QAAS,CAC3F6yB,WAAYpb,EAAY,GAAK,cAC7BlW,KAAMkW,EAAY/J,EAAMolB,mBAAqB,GAC7C/gC,SAAU,SAAAuhE,GAAG,OAAiB,EAAIlrD,EAAYiD,MAAM6B,EAAKlN,QAAS,CAChE7G,UAAW,gBACXX,QAAS,OACTyc,eAAgB,gBAChBxc,WAAY,SACZ8C,GAAI,EACJxJ,SAAU,EAAc,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1DxH,QAAS,OACTC,WAAY,SACZ1G,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,MAAO,CAElDyhB,wBAAyB,CACvBC,QAAQ,EAAIoxC,EAAmBr+D,SAAS,CACtCvK,MAAOnB,EAAEmB,OAASnB,EAAEc,KACpBskE,OAAQplE,EAAEolE,QAAUplE,EAAEolE,OAAOtkE,KAC7BmqE,UAAWjrE,EAAEolE,QAAUplE,EAAEolE,OAAOp1D,GAChCk7D,UAAWhxB,EAAKhuB,SAChBi/C,eAAgBjxB,EAAKwpB,OACrB8G,QAASxqE,EAAEwqE,QACXY,eAAgBvrE,EAChBkhB,MAAO,cAGI,EAAIjN,EAAYiD,MAAM,MAAO,CAC5ClS,UAAW,OACXpH,SAAU,EAAc,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1D7G,UAAW,QACXX,QAAS,OACTC,WAAY,SACZ1G,SAAU,EAAC,EAAImsE,EAAYl+D,SAAS1L,EAAEmB,QAAqB,EAAI2S,EAAYiD,MAAM,MAAO,CACtFlS,UAAW,eACXpH,SAAU,GAAGuE,GAAiBhC,EAAEolE,OAAOp1D,KAAOhO,IAA8B,EAAI8R,EAAYmD,KAAK+rD,EAAoBt3D,QAAS,CAAC,GAAI1L,EAAEwqE,UAAwB,EAAI12D,EAAYmD,KAAK6yD,EAAYp+D,QAAS,CAAC,WAEtM1J,GAAiBhC,EAAEolE,OAAOp1D,KAAOhO,IAA8B,EAAI8R,EAAYiD,MAAM,MAAO,CAChGlS,UAAW,MACXpH,SAAU,CAACuC,EAAEolE,OAAOp1D,KAAOhO,IAAkB7B,EAAiBuR,MAAK,SAAA7Q,GAAC,OAAIA,EAAEoqE,YAAcjrE,EAAEolE,OAAOp1D,EAAE,MAAkB,EAAI8D,EAAYmD,KAAKgH,EAASvS,QAAS,CAC1JvK,MAAO2B,EAAE,qCACTrF,UAAuB,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACxDjD,UAAWohE,EAAcn+D,QACzB/G,MAAO,CACLyX,SAAU,SAEZ/X,MAAO,aACPgiC,GAAI,QAES,EAAIvyB,EAAYmD,KAAK,OAAQ,CAC5CxZ,SAAUqF,EAAE,wBAAyB,CACnChC,KAAMd,EAAEolE,OAAOtkE,mBAKR,EAAIgT,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDjO,SAAUqtE,GAAW9L,EAAKh/D,GAAG+qE,WAAyB,EAAIj3D,EAAYiD,MAAMwC,EAAQ7N,QAAS,CAC3FrF,QAAS,WACThC,MAAOrE,EAAEwqE,QAAU,UAAY,YAC/B9lE,QAAS,kBAhJC6H,EAgJmBvM,GAhJNiG,SAAWiT,EAAUuxD,gBAAgBC,QAAUL,GAAiB,CACjGlpE,MAAO2B,EAAE,8BACT5B,aAA0B,EAAI4S,EAAYmD,KAAKizD,EAAoB,CACjE5yD,OAAQ,SACRvW,SAAUwL,IAEZsY,QAAS/hB,EAAE,iBACXgiB,OAAQhiB,EAAE,iBACV6Z,UAAW,WACTguD,GAAqBp+D,EACvB,EACA4X,SAAU,WACRtI,GAAW,GACXwuD,GAAiB,KACnB,EACAhmE,MAAO,YACJgmE,GAAiB,CACpBlpE,MAAO2B,EAAE,8BACT5B,aAA0B,EAAI4S,EAAYmD,KAAKizD,EAAoB,CACjE5yD,OAAQ,SACRvW,SAAUwL,IAEZsY,QAAS/hB,EAAE,iBACXgiB,OAAQhiB,EAAE,iBACV6Z,UAAW,WACTguD,GAAqBp+D,EACvB,EACA4X,SAAU,WACRtI,GAAW,GACXwuD,GAAiB,KACnB,IA9BoB,IAAA99D,CAgJqB,EAC/B9O,SAAU,CAACuC,EAAEwqE,SAAuB,EAAI12D,EAAYmD,KAAKqqB,EAAK51B,QAAS,CACrE/G,MAAO,CACLyX,SAAU,GACV7X,YAAa,MAEC,EAAIuP,EAAYmD,KAAK6yD,EAAYp+D,QAAS,CAC1D/G,MAAO,CACLomB,OAAQ,GACRxmB,YAAa,KAEbvE,EAAEwqE,QAAU1nE,EAAE,iBAAmBA,EAAE,qBACvB,EAAIgR,EAAYmD,KAAKgH,EAASvS,QAAS,CACvDvK,MAAO2pE,GAAW9L,EAAKh/D,GAAGqB,QAC1B5D,UAAuB,EAAIqW,EAAYmD,KAAK4yD,EAAcn+D,QAAS,CACjE/G,MAAO,CACLN,MAAO,gBAKf,GACF,KAAI2mE,GAAkBzkE,SAAuB,EAAIuN,EAAYmD,KAAKsH,EAAO7S,QAAS,CAClFjO,SAAUqF,EAAE,qBAEZwnE,KAAgC,EAAIx2D,EAAYmD,KAAKqrD,EAAe52D,QAAS,CAC/E3M,QAASA,EACT4jE,SAAUzoB,EAAKv7C,IACfY,MAAOA,EACP4kB,SAAU,kBAAMomD,IAAmB,EAAM,EACzC9yC,UAAW,WACTowC,IACA0C,IAAmB,EACrB,EACAnC,kBAAmBlpE,KAA2D,QAA5CwkB,EAAqBxkB,EAAS+S,gBAA6C,IAAvByR,GAAiCA,EAAmBsiC,SACxIokB,KAA8B,EAAIt2D,EAAYmD,KAAKoL,EAAS3W,QAAS,CACvEvK,MAAOipE,GAAcjpE,MACrBD,YAAakpE,GAAclpE,YAC3B2jB,QAASulD,GAAcvlD,QACvBC,OAAQslD,GAActlD,OACtB3E,OAAQiqD,GAAcjqD,OACtBxD,UAAWytD,GAAcztD,UACzBwH,SAAUimD,GAAcjmD,SACxB9f,MAAO+lE,GAAc/lE,UAG3B,CAhQA6lE,EAAmBjyD,UAAY,CAC7BX,OAAQjE,EAAW3H,QAAQmd,OAAO/K,WAClC/c,SAAUsS,EAAW3H,QAAQyI,OAAO2J,YAEtCosD,EAAmBtnE,aAAe,CAAC,EA6PnC+mE,EAAU1xD,UAAY,CACpBiiC,KAAM7mC,EAAW3H,QAAQyI,OAAO2J,WAChC+pD,SAAUx0D,EAAW3H,QAAQsb,MAE/B2iD,EAAU/mE,aAAe,CACvBilE,SAAU,WAAO,GAEnB,IAvSgC1vD,EAASC,EAuSnCpB,EAAMzD,EAAQ7H,QAAQ2M,IAAIlF,IAvSAgF,EAuS6D,CAAC,yqBAvSzCC,IAAOA,EAAMD,EAAQ1K,MAAM,IAuS5B0F,EAvSyCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,Q,qCCnC7J,6DAEbrO,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBohE,EAClB,IAAIj4D,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5CwO,EAAWxO,EAAQ,OACnB+O,EAAStG,EAAuBzI,EAAQ,QACxCwX,EAAW/O,EAAuBzI,EAAQ,OAC1C4O,EAAQ5O,EAAQ,OAChB6O,EAAQ7O,EAAQ,OAChBu1C,EAAWv1C,EAAQ,OACnBuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,IACMq3D,EAAS,SAACC,EAAa7E,GAAO,OAAK6E,GAAeA,EAAY5sE,MAAQ+nE,CAAO,EACnF,SAAS2E,EAAmB/0D,GAC1B,IAqEI0oD,EApEF9kB,EAKE5jC,EALF4jC,KACUnkB,EAIRzf,EAJF6N,SACAsT,EAGEnhB,EAHFmhB,UACAtJ,EAEE7X,EAFF6X,QACA1wB,EACE6Y,EADF7Y,SAEF,GAII,EAAIgc,EAAMiC,kBAHZxd,EAAG,EAAHA,IACMkF,EAAQ,EAAd1E,KACAykB,EAAS,EAATA,UAGA82B,GACE,EAAImG,EAASG,qBADftG,QAEF,GAGI,EAAIvgC,EAAMkC,kBAFZ7c,EAAO,EAAPA,QACAmD,EAAO,EAAPA,QAGAY,GACE,EAAIuW,EAAStW,oBADfD,EAEF,GAA8B,EAAIsQ,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAAwB,EAAIzI,EAAOhU,WAAU,GAAM,SAA5C4sC,EAAI,KAAEw/B,EAAO,KAEdC,EAAkB,6BAAG,WAAMluD,GAAC,yEAGtB,GADR5e,EAEE4e,EAFF5e,IACA+jE,EACEnlD,EADFmlD,UAEE1/D,EAAS,CAAF,gDAGM,OAAjB6Y,GAAW,GAAM,kBAET3d,EAAIutE,mBAAmB,CAC3BlrE,MAAO,CACLxB,QAAAA,EACAm7C,KAAM,CACJv7C,IAAAA,EACA+jE,UAAWA,MAGf,OACF8I,GAAQ,GACR/zC,IACAv1B,IAAU,kDAEV0X,EAAOlO,QAAQzI,OAAM,EAAImW,EAAM5U,aAAa,EAAF,KAC1C2pB,IAAU,QAEQ,OAFR,UAEVtS,GAAW,GAAO,6EAErB,gBA5BuB,sCA6BlB6vD,EAAiB,CACrBvqE,MAAO+4C,EAAKwoB,SAAW5/D,EAAE,2BAA6BA,EAAE,0BACxD5B,YAAag5C,EAAKwoB,SAAW5/D,EAAE,sCAAwCA,EAAE,qCACzE+hB,QAAS/hB,EAAE,kBACXgiB,OAAQhiB,EAAE,iBACV6Z,UAAW,WACT8uD,EAAmBvxB,EACrB,EACA/1B,SAAU,WACRtI,GAAW,GACX2vD,GAAQ,GACRz1C,GACF,EACA1xB,MAAO61C,EAAKwoB,SAAW,QAAU,WAQnC,OAFE1D,GAHG77C,GACG/f,EAASuoE,YA1EC,SAACvoE,EAAUsjE,GAAO,OAAKtjE,EAASuoE,WAAavoE,EAASuoE,UAAUhtE,MAAQ+nE,CAAO,CA0ElEkF,CAAYxoE,EAAU82C,EAAKv7C,QAEjD2sE,EAAOrxB,EAAQC,KAAMA,EAAKv7C,KAE9BqgE,GAGe,EAAIlrD,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC9Dvf,SAAU,CAAqB,oBAAbA,EAA0BA,EAAS,CACnDuhE,IAAAA,EACAvoD,KAzDS,WAAH,OAAS+0D,GAAQ,EAAK,IA0DzB/tE,EAAUuuC,GAAoB,EAAIl4B,EAAYmD,KAAKoL,EAAS3W,QAAS,CACxEvK,MAAOuqE,EAAevqE,MACtBD,YAAawqE,EAAexqE,YAC5B2jB,QAAS6mD,EAAe7mD,QACxBC,OAAQ4mD,EAAe5mD,OACvB3E,OAAQurD,EAAevrD,OACvBxD,UAAW+uD,EAAe/uD,UAC1BwH,SAAUunD,EAAevnD,SACzB9f,MAAOqnE,EAAernE,QACnB,QAfE,IAiBX,CACAgnE,EAAmBpzD,UAAY,CAC7BiiC,KAAM7mC,EAAW3H,QAAQyI,OACzBsjB,UAAWpkB,EAAW3H,QAAQsb,KAC9B7C,SAAU9Q,EAAW3H,QAAQsb,KAC7BmH,QAAS9a,EAAW3H,QAAQsb,KAC5BvpB,SAAU4V,EAAW3H,QAAQuf,UAAU,CAAC5X,EAAW3H,QAAQyI,OAAQd,EAAW3H,QAAQsb,QAExFqkD,EAAmBzoE,aAAe,CAChCs3C,KAAM,CAAC,EACPziB,UAAW,WAAO,EAClBtT,SAAU,WAAO,EACjBgK,QAAS,WAAO,EAChB1wB,SAAU,K,qCC9HC,6DAEbsM,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkB4hE,EAClB,IAmBI14D,EAnBAC,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C0I,EAAUD,EAAuBzI,EAAQ,QACzCq1B,EAAY5sB,EAAuBzI,EAAQ,QAC3C6N,EAAOpF,EAAuBzI,EAAQ,QACtCyO,EAAUhG,EAAuBzI,EAAQ,QACzC2O,EAAoBlG,EAAuBzI,EAAQ,KACnDkkB,EAAqBzb,EAAuBzI,EAAQ,OACpDkX,EAAczO,EAAuBzI,EAAQ,QAC7C8N,EAAarF,EAAuBzI,EAAQ,QAC5Cs1C,EAAW7sC,EAAuBzI,EAAQ,OAC1CwO,EAAWxO,EAAQ,OACnB0O,EAAUjG,EAAuBzI,EAAQ,QACzCsX,EAAS7O,EAAuBzI,EAAQ,QACxCiyB,EAAexpB,EAAuBzI,EAAQ,QAC9C4O,EAAQ5O,EAAQ,OAChBuO,EAAQvO,EAAQ,OAChBu1C,EAAWv1C,EAAQ,OACnBiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAAS43D,EAAev1D,GACtB,IACEvX,EAKEuX,EALFvX,QACAolB,EAIE7N,EAJF6N,SACAsT,EAGEnhB,EAHFmhB,UACAtJ,EAEE7X,EAFF6X,QACAhsB,EACEmU,EADFnU,SAEF,GAGI,EAAIsX,EAAMiC,kBAFZxd,EAAG,EAAHA,IACAQ,EAAI,EAAJA,KAGKotE,GACH,EAAI14D,EAAO/P,YAAY+8C,EAAS/E,gBADlCn9C,IAEF,GAA8B,EAAIkV,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAExBJ,GACE,EAAIpC,EAAStW,oBADf0Y,OAEF,GAA0B,EAAIrI,EAAOhU,UAAU,IAAG,SAA3C6D,EAAK,KAAEkvB,EAAQ,KAEpBrvB,GACE,EAAIuW,EAAStW,oBADfD,EAEF,GAAsD,EAAIsQ,EAAOhU,WAAU,GAAM,SAA1E2sE,EAAmB,KAAEC,EAAsB,KAClD,GAAoC,EAAI54D,EAAOhU,UAAU,GAAE,SAApDuxB,EAAU,KAAEyC,EAAa,KAChC,GAAoC,EAAIhgB,EAAOhU,UAAU,IAAG,SAArDooE,EAAU,KAAEC,EAAa,KAChC,GAA4B,EAAIr0D,EAAOhU,UAAU,IAAG,UAA7CuoE,GAAM,MAAEC,GAAS,MAClBqE,MAAoB,EAAIvzD,EAAKhN,SAAShN,EAAM,gBAC5CwtE,IAAkB,EAAIhsC,EAAUx0B,SAAO,YAAE,0FACzCugE,GAAiB,CAAF,+BAGP/tE,EAAIiuE,qBAAoB,OAD3B,OAC2B,SADhC1rC,EAAK,EAALA,MAAK,kBAEAA,GAAK,gCAEP,CACL2rC,WAAW,IACZ,4CAEH,GAAIF,GAAgBlpE,QAClB,OAAoB,EAAI8Q,EAAYmD,KAAKqC,EAAQ5N,QAAS,CACxDvK,MAAO2B,EAAE,wCACTc,WAAW,EACX6S,MAAM,EACNC,QAASyN,EACT1mB,UAAuB,EAAIqW,EAAYmD,KAAK,MAAO,CACjDtS,MAAO,CACLT,QAAS,OACTyc,eAAgB,UAElBljB,UAAuB,EAAIqW,EAAYmD,KAAKuC,EAAkB9N,QAAS,CAAC,OAI9E,GAAIwgE,GAAgBjpE,MAClB,OAAoB,EAAI6Q,EAAYmD,KAAKqC,EAAQ5N,QAAS,CACxDvK,MAAO2B,EAAE,wCACTc,WAAW,EACX6S,MAAM,EACNC,QAASyN,EACT1mB,UAAuB,EAAIqW,EAAYmD,KAAKkL,EAAOzW,QAAS,CAC1DjN,KAAM,QACN4H,QAAS,OACT5I,UAAU,EAAI2b,EAAM5U,aAAa0nE,GAAgBjpE,WAIvD,IAAM4kE,GAAQ,6BAAG,wFAEE,OADjB11C,EAAS,MACTtW,GAAW,GAAM,kBAIL3d,EAAImuE,yBAAyB,CACrC9rE,MAAO,CACLxB,QAAAA,EACAkO,KAAM,QACN06D,OAAQA,GAAOtqC,UAEjB,gBAPYivC,EAAa,EAAzB9E,WAQFC,EAAc6E,GACdl5C,EAAc1C,GAAMnqB,OAAS,GAAI,kDAE3B0d,GAAS,EAAI7K,EAAM5U,aAAa,EAAF,IACpC2tB,EAASlO,GACTkK,EAAQ,EAAD,IAAM,QAEK,OAFL,UAEbtS,GAAW,GAAO,6EAErB,kBAtBa,mCA2BR0wD,GAA0B,WAC9BP,GAAuB,GACvB54C,EAAc,EAChB,EACM1C,GAAQ,CAAC,CACbe,MAAmB,EAAI3d,EAAYiD,MAAMgL,EAAYrW,QAAS,CAC5DjD,UAAW,MACXhL,SAAU,EAAc,EAAIqW,EAAYiD,MAAMoL,EAAOzW,QAAS,CAC5DjN,KAAM,UACNhB,SAAU,EAAc,EAAIqW,EAAYmD,KAAK8K,EAAYrW,QAAS,CAChEjO,SAAUqF,EAAE,mDACG,EAAIgR,EAAYmD,KAAK8K,EAAYrW,QAAS,CACzDjO,SAAUqF,EAAE,iEAEC,EAAIgR,EAAYmD,KAAKkL,EAAOzW,QAAS,CACpDjN,KAAM,UACNhB,UAAuB,EAAIqW,EAAYmD,KAAK8K,EAAYrW,QAAS,CAC/DjO,SAAUqF,EAAE,mDAEC,EAAIgR,EAAYmD,KAAK,MAAO,CAC3CtS,MAAO,CACLkoB,UAAW,GACXsM,aAAc,OAED,EAAIrlB,EAAYmD,KAAK0B,EAAWjN,QAAS,CACxDlI,MAAOV,EAAE,iBACTm2B,aAAc,MACd5yB,QAAS,WACTzC,WAAW,EACXe,MAAO,CACLw0B,aAAc,GAEhBl7B,MAAO0pE,GACPv/D,SAAU,SAAAuO,GACRwb,EAAS,MACTy1C,GAAUjxD,EAAE/B,OAAO3W,MACrB,EACA0Z,SAAU3U,EACV,UAAW,gCACI,EAAI8Q,EAAYmD,KAAK,MAAO,CAC3CtS,MAAO,CACLkoB,UAAW,GACXsM,aAAc,SAIpBrU,OAAQhiB,EAAE,iBACV+hB,QAAS/hB,EAAE,mDACXqhB,SAAAA,EACAxH,UAAWsvD,MAAoB,EAAIvzD,EAAKhN,SAASwgE,GAAiB,mBArD1C,WACxBF,GAAuB,GACvB54C,EAAc,EAChB,EAkD6Gy0C,IAC1G,CACDp2C,KAAM,WACJ,OAAoB,EAAI3d,EAAYmD,KAAKkpC,EAASz0C,QAAS,CACzD4L,OAAQ,wBACRb,KAAMs1D,EACNtwD,OAAQA,EACR2mC,QAAS0pB,EAAW9sD,IACpBtI,QAAS61D,GACT90C,UAAWowC,GACXxlB,aAAc,IACdwG,cAAc,EAAIzvC,EAAM0vC,iBAAiBpqD,GACzC4jD,YAAa,CACXkqB,UAAW9tE,EAAKC,KAElB6jD,SAAU,CACRrhD,MAAO2B,EAAE,0CACT2/C,KAAM3/C,EAAE,yCACR+hB,QAAS/hB,EAAE,4CACX+Z,QAAS/Z,EAAE,6CAEbo/C,OAAO,GAEX,GACC,CACDzwB,KAAM,WACJ,IAAMvkB,GAAO,EAAIkM,EAAM8tD,eAAe,CACpCH,SAAUS,EAAWT,SACrB5kE,SAAAA,IAEF,OAAoB,EAAI2R,EAAYiD,MAAM,MAAO,CAC/CtZ,SAAU,EAAc,EAAIqW,EAAYmD,KAAKgxD,EAAM,CACjDxqE,SAAUqF,EAAE,kDAAmD,CAC7DolE,YAAY,EAAI9uD,EAAMggB,kBAAkBouC,EAAWU,iBAEtC,EAAIp0D,EAAYmD,KAAK,MAAO,CAC3CtS,MAAO,CACLkoB,UAAW,WAEE,EAAI/Y,EAAYmD,KAAK6lB,EAAapxB,QAAS,CAC1DjO,SAAUyP,MAGhB,EACA2X,QAAS/hB,EAAE,kBACX6Z,UAAW8a,IAEP3G,GAAOJ,GAAMC,GACnB,OAAoB,EAAI7c,EAAYiD,MAAMuC,EAAQ5N,QAAS,CACzDvK,MAAO2B,EAAE,wCACTc,WAAW,EACX6S,MAAM,EACN6jB,iBAAiB,EACjBn3B,SAAsB,EAAI2Q,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAChEvf,SAAU,CAACqzB,GAAKhM,SAAuB,EAAIhR,EAAYmD,KAAKsC,EAAQ7N,QAAS,CAC3EhH,QAASosB,GAAK3M,SACd9f,MAAO,UACP5G,SAAUqzB,GAAKhM,UACA,EAAIhR,EAAYiD,MAAMwC,EAAQ7N,QAAS,CACtDhH,QAASosB,GAAKnU,UACdtY,MAAO,UACPsT,SAAU3U,EACVqD,QAAS,YACT4W,WAAW,EACXxf,SAAU,CAACuF,IAAwB,EAAI8Q,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACjFhD,KAAM,KACJooB,GAAKjM,cAGbpnB,SAAU,EAAc,EAAIqW,EAAYmD,KAAK8X,EAAmBrjB,QAAS,CACvEjD,UAAW,MACXhL,SAA+B,oBAAdqzB,GAAKW,KAAsBX,GAAKW,OAASX,GAAKW,SAC3DxuB,IAAsB,EAAI6Q,EAAYmD,KAAKkL,EAAOzW,QAAS,CAC/DjN,KAAM,QACN4H,QAAS,OACT5I,SAAUwF,MAGhB,CACA4oE,EAAe5zD,UAAY,CACzBlZ,QAASsU,EAAW3H,QAAQmd,OAAO/K,WACnCqG,SAAU9Q,EAAW3H,QAAQsb,KAAKlJ,WAClC2Z,UAAWpkB,EAAW3H,QAAQsb,KAAKlJ,WACnCqQ,QAAS9a,EAAW3H,QAAQsb,KAC5B7kB,SAAUkR,EAAW3H,QAAQmd,QAE/BgjD,EAAejpE,aAAe,CAC5BurB,QAAS,WAAO,EAChBhsB,SAAU,IAEZ,IA1OgCgW,EAASC,EA0OnC6vD,EAAO10D,EAAQ7H,QAAQ2M,IAAIlF,IA1ODgF,EA0O8D,CAAC,gDA1O1CC,IAAOA,EAAMD,EAAQ1K,MAAM,IA0O3B0F,EA1OwCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,Q,qCCzB1KrO,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAQo7D,YAKR,SAAqB3B,EAAQ3kE,EAASokB,GACpC,GAAIugD,GAAUA,EAAOppD,WAAWpB,EAAUuzD,wBAAyB,CACjE,IAAMr/D,EAASxP,OAAOC,IAAIg6D,WAAa,IACvC,OAAI10C,GACK,EAAImK,EAAS5hB,SAAS0B,EAAQ8L,EAAUwzD,wBAAyBhJ,EAAO5wD,QAAQoG,EAAUuzD,uBAAwB,MAEpH,EAAIn/C,EAAS5hB,SAAS0B,EAAQ8L,EAAUwzD,wBAAyB3tE,EAAS2kE,EAAO5wD,QAAQoG,EAAUuzD,uBAAwB,IACpI,CACA,OAAO/I,CACT,EAbA,IAEgCzvD,EAF5BqZ,GAE4BrZ,EAFMpJ,EAAQ,SAEOoJ,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,GADnFiF,EAAYrO,EAAQ,M,qCCPX,6DAEbd,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAiHA,SAAqCzH,GAInC,IADI,EAAIiX,EAAMiC,kBADZyH,UAGA,OAAoB,EAAIrP,EAAYmD,KAAK01D,EAAwBh4D,EAAc,CAAC,EAAGnS,IAErF,OAAoB,EAAIsR,EAAYmD,KAAK21D,EAAuBj4D,EAAc,CAAC,EAAGnS,GACpF,EAxHA,IAAI4Q,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C+N,EAAOtF,EAAuBzI,EAAQ,QACtCyO,EAAUhG,EAAuBzI,EAAQ,QACzC2O,EAAoBlG,EAAuBzI,EAAQ,KACnDgiE,EAAchiE,EAAQ,OACtBwO,EAAWxO,EAAQ,OACnB0O,EAAUjG,EAAuBzI,EAAQ,QACzCk/D,EAAqBz2D,EAAuBzI,EAAQ,QACpDuO,EAAQvO,EAAQ,MAChBiiE,EAAiBjiE,EAAQ,OACzBqO,EAAYrO,EAAQ,OACpB+O,EAAStG,EAAuBzI,EAAQ,QACxC4O,EAAQ5O,EAAQ,OAChB2T,EAAY3T,EAAQ,OACpB8O,EAAS9O,EAAQ,OACjBoyB,EAAcpyB,EAAQ,OACtBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS84D,EAAcz2D,GACrB,IACE6N,EAEE7N,EAFF6N,SACAsT,EACEnhB,EADFmhB,UAGAv5B,GACE,EAAIub,EAAMiC,kBADZxd,IAGAgB,GACE,EAAIsf,EAAUrf,sBADhBD,SAGA4D,GACE,EAAIuW,EAAStW,oBADfD,EAEF,GAA8B,EAAIsQ,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KACpBmxD,GAAY9tE,EAASY,aAAaC,MAAK,SAAAC,GAAC,MAAc,4BAAVA,EAAEC,GAAiC,KAAK,CAAC,GAAGhC,OAAS,OACjGgvE,EAA4B,SAAbD,GAAsB,EAAIF,EAAeI,yBAAyBhuE,EAAS4xC,QAAUk8B,EAC1G,GAA0B,EAAI55D,EAAOhU,UAAU6tE,GAAa,SAArD5oE,EAAK,KAAE8oE,EAAQ,KAChBv5B,EAAQ,6BAAG,oFAMI,OALbzzB,EAAS,CAAC,CACdlgB,IAAKiZ,EAAUhZ,0BAA0BktE,wBACzCnvE,MAAOoG,IACP,SAEAwX,GAAW,GAAM,SACX3d,EAAIo/B,eAAe,CACvB/8B,MAAO,CACL5B,IAAKO,EAAS0C,KAAKjD,IACnBkc,QAASsF,KAEX,OACFsX,IAAY,gDAEZ7d,EAAOlO,QAAQzI,MAAM,KAAI5B,SAAS,QAEhB,OAFgB,UAElCwa,GAAW,GAAO,4EAErB,kBAnBa,mCAoBd,OAAoB,EAAI/H,EAAYmD,KAAKqC,EAAQ5N,QAAS,CACxDvK,MAAO2B,EAAE,uBACT4T,QAASyN,EACT1N,MAAM,EACN7S,WAAW,EACXT,SAAsB,EAAI2Q,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAChEvf,SAAU,EAAc,EAAIqW,EAAYmD,KAAKsC,EAAQ7N,QAAS,CAC5DhH,QAASyf,EACT9f,MAAO,UACP5G,SAAUqF,EAAE,oBACG,EAAIgR,EAAYiD,MAAMwC,EAAQ7N,QAAS,CACtDhH,QAASkvC,EACTvvC,MAAO,UACPsT,SAAU3U,EACVqD,QAAS,YACT4W,WAAW,EACX,UAAW,oBACXxf,SAAU,CAACuF,IAAwB,EAAI8Q,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACjFhD,KAAM,KACJ5F,EAAE,qBAGVrF,UAAuB,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CACzDxH,QAAS,OACTyc,eAAgB,SAChBxc,WAAY,SACZU,UAAW,iBACXpH,SAAU,EAAc,EAAIqW,EAAYmD,KAAK41D,EAAYQ,aAAc,CACrEhpE,MAAOA,EACP+D,SAAU,SAAAklE,GAAC,OAAIH,EAASG,EAAEC,IAAI,KACf,EAAIz5D,EAAYmD,KAAK,MAAO,CAC3CtS,MAAO,CACLoc,MAAO,GACPpY,WAAY,IAEd+hB,IAAK,GACLD,KAAK,EAAIs/C,EAAmBr+D,SAAS,CACnCvK,MAAO,QACPikE,QAAQ,EAAIhsD,EAAMxZ,gBAAgBV,GAClC+rE,UAAW/rE,EAAS4xC,OACpBo6B,UAAW,YACXsC,WAAW,EACXpC,eAAgB/mE,UAK1B,CACA,IAAMuoE,GAAwB,EAAI3vC,EAAY6W,gBAAgBi5B,EAAe,eACvEJ,GAAyB,EAAI1vC,EAAY6W,gBAAgBi5B,EAAe,GAAIpzD,EAAO6kB,oBAUzFuuC,EAAc90D,UAAY,CACxBkM,SAAU9Q,EAAW3H,QAAQsb,KAAKlJ,WAClC2Z,UAAWpkB,EAAW3H,QAAQsb,KAAKlJ,YAErCivD,EAAcnqE,aAAe,CAAC,C,qCCnIjB,6DAEbmH,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAqPA,SAAsCzH,GAIpC,IADI,EAAIiX,EAAMiC,kBADZyH,UAGA,OAAoB,EAAIrP,EAAYmD,KAAKw2D,EAAyB94D,EAAc,CAAC,EAAGnS,IAEtF,OAAoB,EAAIsR,EAAYmD,KAAKy2D,EAAwB/4D,EAAc,CAAC,EAAGnS,GACrF,EA5PA,IAqBI2Q,EAAiBsF,EArBjBrF,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C0I,EAAUD,EAAuBzI,EAAQ,QACzCkgC,EAAaz3B,EAAuBzI,EAAQ,QAC5CyO,EAAUhG,EAAuBzI,EAAQ,QACzC2O,EAAoBlG,EAAuBzI,EAAQ,KACnD2I,EAAcF,EAAuBzI,EAAQ,QAC7CqX,EAAoB5O,EAAuBzI,EAAQ,QACnDoO,EAAY3F,EAAuBzI,EAAQ,QAC3CwO,EAAWxO,EAAQ,OACnB0O,EAAUjG,EAAuBzI,EAAQ,QACzCyT,EAAYhL,EAAuBzI,EAAQ,OAC3C8iE,EAAcr6D,EAAuBzI,EAAQ,QAC7C+O,EAAStG,EAAuBzI,EAAQ,QACxC4O,EAAQ5O,EAAQ,OAChB6O,EAAQ7O,EAAQ,OAChBuO,EAAQvO,EAAQ,OAChBoyB,EAAcpyB,EAAQ,OACtBwX,EAAW/O,EAAuBzI,EAAQ,OAC1C+iE,EAAct6D,EAAuBzI,EAAQ,QAC7CiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAAS6F,EAAuB3B,EAASC,GAA6C,OAAjCA,IAAOA,EAAMD,EAAQ1K,MAAM,IAAa1D,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,MAAY,CACtL,SAASlE,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS45D,EAAev3D,GACtB,IACE6N,EAKE7N,EALF6N,SACAsT,EAIEnhB,EAJFmhB,UACAub,EAGE18B,EAHF08B,SACA86B,EAEEx3D,EAFFw3D,SACAjlE,EACEyN,EADFzN,cAGA3K,GACE,EAAIub,EAAMiC,kBADZxd,IAEF,GAMI,EAAIwb,EAAMkC,kBALZrc,EAAK,EAALA,MACAE,EAAW,EAAXA,YACAV,EAAO,EAAPA,QACSorE,EAAW,EAApBjoE,QACAD,EAAU,EAAVA,WAGAa,GACE,EAAIuW,EAAStW,oBADfD,EAEF,GAA0B,EAAIsQ,EAAOhU,UAAU,IAAG,SAA3C2uE,EAAK,KAAEC,EAAQ,KACtB,GAAoC,EAAI56D,EAAOhU,WAAU,GAAM,SAAxD6uE,EAAU,KAAEC,EAAa,KAChC,GAAoC,EAAI96D,EAAOhU,UAAU,MAAK,SAAvDwnE,EAAU,KAAEC,EAAa,KAChC,GAA8B,EAAIzzD,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KACpB5O,IAAO,EAAI89B,EAAWr/B,SAASnM,EAAMQ,MAAK,SAAAC,GAAC,OAAIA,EAAEc,OAASgtE,CAAQ,KAClEpvB,IAAc,EAAItlC,EAAM+0D,iBAAiBL,GACzCM,GAAc,6BAAG,WAAMttE,GAAI,qEAC3BkC,EAAS,CAAF,gDAEQ,OAFR,SAET6Y,GAAW,GAAM,SACX3d,EAAImwE,WAAW,CACnB9tE,MAAO,CACLxB,QAAAA,EACA+B,KAAAA,KAEF,OACFkyC,IAAW,gDAEXp5B,EAAOlO,QAAQzI,MAAM,KAAI5B,SAAS,QAGd,OAHc,UAElCwa,GAAW,GACXgrD,EAAc,MAAM,4EAEvB,gBAjBmB,sCAkBd+B,GAAO,6BAAG,WAAO0F,EAAMxtE,GAAI,2FACb5C,EAAIqwE,qBAAqB,CACzChuE,MAAO,CACLxB,QAASuvE,EACTrhE,KAAM,CACJnM,KAAAA,MAGJ,OAPIJ,EAAM,EAAH,KAQH8tE,EAAiB9tE,EAAIjB,aAAe,GACpCgvE,EAAWhvE,EAAYwB,KAAI,SAAAjB,GAAC,OAAI2U,EAAcA,EAAc,CAAC,EAAG3U,GAAI,CAAC,EAAG,CAC5EimC,KAAMuoC,EAAe98D,MAAK,SAAA7Q,GAAC,OAAIA,EAAEC,OAASd,EAAEc,IAAI,KAChD,IACFktE,EAASS,GAAU,2CACpB,gBAdY,wCAePC,GAAM,6BAAG,oFAEgD,OAD7D7yD,GAAW,GACL8yD,EAAaZ,EAAMptE,QAAO,SAAAX,GAAC,OAAIA,EAAEimC,IAAI,IAAEhlC,KAAI,SAAAjB,GAAC,OAAIA,EAAEc,IAAI,IAAC,kBAErD5C,EAAI0wE,yBAAyB,CACjCruE,MAAO,CACLxB,QAAAA,EACA+uE,SAAU7gE,GAAKnM,KACf6tE,WAAAA,KAEF,OACF/0D,EAAOlO,QAAQmR,QAAQ/Z,EAAE,uBACzB20B,IAAY,gDAEZ7d,EAAOlO,QAAQzI,OAAM,EAAImW,EAAM5U,aAAa,EAAF,KAAQ,QAEhC,OAFgC,UAElDqX,GAAW,GAAO,4EAErB,kBAlBW,oCAmBZ,EAAIzI,EAAOzR,YAAW,WAChB5C,GAAW+uE,GACblF,GAAQ7pE,EAAS+uE,EAErB,GAAG,CAAC/uE,EAAS+uE,IAEb,IAAMe,GAAsB5sE,IAAe4G,EACvCimE,GAAiB,KAiCrB,OAhCI7sE,IACF6sE,IAA8B,EAAIh7D,EAAYiD,MAAM,MAAO,CACzDlS,UAAW,OACXpH,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,MAAO,CAClDpS,UAAW,QACXpH,SAAUqF,EAAE,wBACG,EAAIgR,EAAYmD,KAAK,MAAO,CAC3CpS,UAAW,OACXpH,SAAUswE,EAETptE,QAAO,SAAAX,GAAC,OAAI6uE,IAAsB7uE,EAAEimC,IAAW,IAAEhlC,KAAI,SAAAjB,GAAC,OAAiB,EAAI8T,EAAYmD,KAAK,MAAO,CAClGpS,UAAW,OACXpH,UAAuB,EAAIqW,EAAYmD,KAAKiL,EAAkBxW,QAAS,CACrEgZ,SAAsB,EAAI5Q,EAAYmD,KAAKgC,EAAUvN,QAAS,CAC5DiM,SAAUk3D,GACVhxD,QAAS7d,EAAEimC,KACX79B,SAAU,WACR4lE,GAAS,SAAAvtC,GAAK,OAAIA,EAAMx/B,KAAI,SAAAJ,GAI1B,OAHIA,EAAEC,OAASd,EAAEc,OACfD,EAAEolC,MAAQplC,EAAEolC,MAEPplC,CACT,GAAE,GACJ,EACAC,KAAMd,EAAEc,OAEV0C,MAAOxD,EAAEkB,eAEX,WAIY,EAAI4S,EAAYiD,MAAMuC,EAAQ5N,QAAS,CACzDvK,MAAO2B,EAAE,mBACT4T,QAASyN,EACT1N,MAAM,EACN7S,WAAW,EACXmrE,QAASlmE,IAAkB61C,KAA4B,EAAI5qC,EAAYiD,MAAMjD,EAAYkJ,SAAU,CACjGvf,SAAU,EAAc,EAAIqW,EAAYmD,KAAKzD,EAAY9H,QAAS,CAChEhH,QAAS,kBAAMwpE,EAAcjhE,GAAK,EAClC,UAAW,iBAAiBwP,OAAOxP,GAAKnM,MACxC4H,KAAM,QACNjL,UAAuB,EAAIqW,EAAYmD,KAAKqH,EAAU5S,QAAS,CAC7D2U,KAAM,eAEO,EAAIvM,EAAYmD,KAAKzD,EAAY9H,QAAS,CACzDhH,QAAS,kBAAMmiE,EAAc,CAC3B1lE,MAAO2B,EAAE,8BACT5B,YAAa4B,EAAE,mCAAoC,CACjDhC,KAAMmM,GAAK9L,QAEb0jB,QAAS/hB,EAAE,qBACXgiB,OAAQhiB,EAAE,iBACV6Z,UAAW,WACTyxD,GAAenhE,GAAKnM,KACtB,EACAqjB,SAAU,WACRtI,GAAW,GACXgrD,EAAc,KAChB,GACA,EACF,UAAW,mBAAmBpqD,OAAOxP,GAAKnM,MAC1C4H,KAAM,QACNjL,UAAuB,EAAIqW,EAAYmD,KAAK02D,EAAYjiE,QAAS,CAC/D,UAAW,wBACX2U,KAAM,iBAIZld,QAASlB,IAAe4sE,KAAoC,EAAI/6D,EAAYiD,MAAMjD,EAAYkJ,SAAU,CACtGvf,SAAU,EAAc,EAAIqW,EAAYmD,KAAKsC,EAAQ7N,QAAS,CAC5DhH,QAASyf,EACT9f,MAAO,UACP5G,SAAUqF,EAAE,oBACG,EAAIgR,EAAYiD,MAAMwC,EAAQ7N,QAAS,CACtDhH,QAASgqE,GACTrqE,MAAO,UACPsT,SAAU3U,IAAYiK,GACtB5G,QAAS,YACT4W,WAAW,EACX,UAAW,8BACXxf,SAAU,CAACuF,IAAwB,EAAI8Q,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACjFhD,KAAM,KACJ5F,EAAE,qBAGVrF,SAAU,EAAc,EAAIqW,EAAYiD,MAAMC,EAAK,CACjDvZ,SAAU,EAAEwP,KAAqB,EAAI6G,EAAYmD,KAAKlT,EAAQ,CAC5DtG,UAAuB,EAAIqW,EAAYmD,KAAKuC,EAAkB9N,QAAS,CAAC,KACtEuB,KAAqB,EAAI6G,EAAYiD,MAAM,MAAO,CACpDlS,UAAW,iBACXpH,SAAU,EAAc,EAAIqW,EAAYiD,MAAM,MAAO,CACnDlS,UAAW,SACXpH,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,MAAO,CAClDpS,UAAW,QACXpH,SAAUwP,GAAK9L,SACA,EAAI2S,EAAYmD,KAAK,MAAO,CAC3CpS,UAAW,cACXF,MAAO,CACLkoB,UAAW5qB,EAAa,GAAK,IAE/BxE,SAAUwP,GAAK/L,iBAEf4tE,SAEJb,IAA2B,EAAIn6D,EAAYmD,KAAK22D,EAAYliE,QAAS,CACvE3M,QAASA,EACTolB,SAAU,kBAAM+pD,EAAc,KAAK,EACnCz2C,UAAW,WACTy2C,EAAc,MACd/D,GACF,EACAnsE,KAAM,SACN8vE,SAAUG,EAAWntE,KACrByL,KAAM0hE,IACJrH,IAA2B,EAAI9yD,EAAYmD,KAAKoL,EAAS3W,QAAS,CACpEvK,MAAOylE,EAAWzlE,MAClBD,YAAa0lE,EAAW1lE,YACxB2jB,QAAS+hD,EAAW/hD,QACpBC,OAAQ8hD,EAAW9hD,OACnB3E,OAAQymD,EAAWzmD,OACnBxD,UAAWiqD,EAAWjqD,UACtBwH,SAAUyiD,EAAWziD,aAG3B,CACA,IAAMupD,GAAyB,EAAIzwC,EAAY6W,gBAAgB+5B,EAAgB,eACzEJ,GAA0B,EAAIxwC,EAAY6W,gBAAgB+5B,EAAgB,GAAIz0D,EAAMolB,oBAU1FqvC,EAAe51D,UAAY,CACzB61D,SAAUz6D,EAAW3H,QAAQmd,OAAO/K,WACpCqG,SAAU9Q,EAAW3H,QAAQsb,KAAKlJ,WAClC2Z,UAAWpkB,EAAW3H,QAAQsb,KAAKlJ,WACnCk1B,SAAU3/B,EAAW3H,QAAQsb,KAAKlJ,WAClCjV,cAAewK,EAAW3H,QAAQwb,MAEpC2mD,EAAejrE,aAAe,CAC5BiG,eAAe,GAEjB,IAAMmO,EAAMzD,EAAQ7H,QAAQ2M,IAAIlF,IAAoBA,EAAkB2G,EAAuB,CAAC,uvBACxF/V,EAASwP,EAAQ7H,QAAQ2M,IAAII,IAAqBA,EAAmBqB,EAAuB,CAAC,4G,yCC9QtF,yDAKb7P,EAAQ,EAAU+kE,EAClB,IAwBI77D,EAxBAC,EAASvI,EAAQ,OACjB0I,EAAUD,EAAuBzI,EAAQ,QACzCy2B,EAAOhuB,EAAuBzI,EAAQ,OACtC+N,EAAOtF,EAAuBzI,EAAQ,QACtCwO,EAAWxO,EAAQ,OACnB0O,EAAUjG,EAAuBzI,EAAQ,QACzCokE,EAAe37D,EAAuBzI,EAAQ,QAC9C2O,EAAoBlG,EAAuBzI,EAAQ,KACnDyT,EAAYhL,EAAuBzI,EAAQ,OAC3C6wC,EAAYpoC,EAAuBzI,EAAQ,QAC3Cm4D,EAAsB1vD,EAAuBzI,EAAQ,QACrDk/D,EAAqBz2D,EAAuBzI,EAAQ,QACpD+O,EAAStG,EAAuBzI,EAAQ,QACxC4O,EAAQ5O,EAAQ,OAChB6O,EAAQ7O,EAAQ,OAChBuO,EAAQvO,EAAQ,OAChBoyB,EAAc3pB,EAAuBzI,EAAQ,QAC7Cm/D,EAAe12D,EAAuBzI,EAAQ,QAC9Co/D,EAAc32D,EAAuBzI,EAAQ,QAC7CqkE,EAAU57D,EAAuBzI,EAAQ,QACzCskE,EAAS77D,EAAuBzI,EAAQ,QACxC+iE,EAAct6D,EAAuBzI,EAAQ,QAC7CukE,EAAkB97D,EAAuBzI,EAAQ,QACjDiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAAS+6D,IACP,IACElsE,GACE,EAAIsQ,EAAO/P,YAAYgW,EAASwJ,eADlC/f,EAEF,GAGI,EAAI2W,EAAMiC,kBAFZxd,EAAG,EAAHA,IACAilB,EAAS,EAATA,UAEF,GASI,EAAIzJ,EAAMkC,kBARZrc,EAAK,EAALA,MACAR,EAAO,EAAPA,QACAiD,EAAa,EAAbA,cACArC,EAAQ,EAARA,SACSwqE,EAAW,EAApBjoE,QACA9B,EAAsB,EAAtBA,uBACAP,EAAa,EAAbA,cACAoC,EAAU,EAAVA,WAEF,GAAoC,EAAImR,EAAOhU,WAAU,GAAM,SAAxDiwE,EAAU,KAAEC,EAAa,KAChC,GAAoC,EAAIl8D,EAAOhU,WAAU,GAAM,SAAxD6uE,EAAU,KAAEC,EAAa,KAChC,GAAkC,EAAI96D,EAAOhU,WAAU,GAAM,SAAtDmwE,EAAS,KAAEC,EAAY,KAC9B,GAAoD,EAAIp8D,EAAOhU,UAAU,MAAK,SAAvEqwE,GAAkB,KAAEC,GAAqB,KAChD,IAA4B,EAAIt8D,EAAOhU,UAAU,IAAG,WAA7CoqB,GAAM,MAAEu7C,GAAS,MACxB,IAA8B,EAAI3xD,EAAOhU,WAAU,GAAM,WAAlD4D,GAAO,MAAE6Y,GAAU,MACpB8zD,GAAe,6BAAG,kFAClB3sE,GAAS,CAAF,gDAGM,OAAjB6Y,IAAW,GAAM,kBAET3d,EAAI0xE,uBAAuB,CAC/BrvE,MAAO,CACLxB,QAAAA,EACA8wE,QAASzvE,KAEX,OACY,OAAd+pE,IAAc,UACR,EAAI/wD,EAAM4K,OAAO,KAAI,OAC3BpK,EAAOlO,QAAQmR,QAAQ/Z,EAAE,yBACzB+Y,IAAW,GAAO,kDAElBjC,EAAOlO,QAAQzI,MAAM,KAAM5B,SAC3Bwa,IAAW,GAAO,0DAErB,kBApBoB,mCAqBfi0D,GAAgBvwE,EAAMoB,QAAO,SAAAX,GAAC,OAAKwpB,IAAUxpB,EAAEmB,MAAM4G,SAASyhB,KAAWxpB,EAAEc,KAAKiH,SAASyhB,GAAO,IACtG,OAAoB,EAAI1V,EAAYiD,MAAMC,EAAK,CAC7CvZ,SAAU,EAAc,EAAIqW,EAAYiD,MAAMkzD,EAAYv+D,QAAS,CACjEjO,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,MAAO,CAClDpS,UAAW,OACXpH,UAAuB,EAAIqW,EAAYmD,KAAK+yD,EAAat+D,QAAS,CAChEyzB,YAAar8B,EAAE,wBACf7E,MAAOurB,GACPphB,SAAU,SAAAuO,GAAC,OAAIouD,GAAUpuD,EAAE/B,OAAO3W,MAAM,OAE3B,EAAI6V,EAAYmD,KAAK,MAAO,CAC3CpS,UAAW,QACXpH,UAAuB,EAAIqW,EAAYiD,MAAMkmB,EAAYvxB,QAAS,CAChE6yB,WAAYpb,EAAY,GAAK,cAC7BlW,KAAMkW,EAAY/J,EAAMolB,mBAAqB,GAC7C/gC,SAAU,EAAc,EAAIqW,EAAYmD,KAAKg4D,EAAavjE,QAAS,CACjErF,QAAS,WACT0pE,gBAAiB,CACf,UAAW,wBAEbC,MAAmB,EAAIl8D,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAC7Dvf,SAAU,EAAc,EAAIqW,EAAYmD,KAAKg4D,EAAavjE,QAAQukE,KAAM,CACtE,UAAW,6BACXvrE,QAAS,WACPirE,IACF,EACAlyE,UAAuB,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CACzDxH,QAAS,OACTC,WAAY,SACZ1G,SAAU,CAACuF,KAAwB,EAAI8Q,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACjFhD,KAAM,GACN/D,MAAO,CACLJ,YAAa,MAEA,EAAIuP,EAAYiD,MAAM6B,EAAKlN,QAAS,CACnDjO,SAAU,CAA0BqF,EAAzB1C,EAA2B,gCAAqC,iCAA8C,EAAI0T,EAAYmD,KAAK2B,EAAKlN,QAAS,CAC1J0Q,SAAU,GACV/X,MAAO,OACP5G,SAAmCqF,EAAzB1C,EAA2B,mCAAwC,8CAIhF6B,IAA2B,EAAI6R,EAAYmD,KAAKg4D,EAAavjE,QAAQukE,KAAM,CAC9EvrE,QAAS,kBAAM8qE,GAAa,EAAK,EACjC,UAAW,wBACX/xE,UAAuB,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACxDjO,SAAUqF,EAAE,oCAIlBrF,SAAU,kBAAmB,EAAIqW,EAAYiD,MAAMwC,EAAQ7N,QAAS,CAClErF,QAAS,WACT,UAAW,yBACX3B,QAAS,WACPgrE,IAAsB,EACxB,EACAjyE,SAAU,EAAc,EAAIqW,EAAYmD,KAAK+rD,EAAoBt3D,QAAS,CACxE/G,MAAO,CACLyX,SAAU,GACV7X,YAAa,KAEbzB,EAAE,0CACN,KACCb,IAA2B,EAAI6R,EAAYiD,MAAMwC,EAAQ7N,QAAS,CACrE/G,MAAO,CACLgE,WAAY,IAEdtC,QAAS,YACT8lD,KAAM,MACN9nD,MAAO,UACP,UAAW,cACXK,QAAS,kBAAM4qE,GAAc,EAAK,EAClC7xE,SAAU,EAAc,EAAIqW,EAAYmD,KAAKqqB,EAAK51B,QAAS,CACzD/G,MAAO,CACLyX,SAAU,GACV7X,YAAa,KAEbzB,EAAE,wBAIG,EAAIgR,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDzE,GAAI,KACW,EAAI6M,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClD7G,UAAW,OACXpH,SAAUqyE,GAAc7uE,KAAI,SAAAgM,GAAI,OAAiB,EAAI6G,EAAYiD,MAAM6B,EAAKlN,QAAS,CACnF,UAAW,YAAY+Q,OAAOxP,EAAKnM,MACnC+D,UAAW,OACXX,QAAS,OACTC,WAAY,SACZO,QAAS,kBAAMwpE,EAAcjhE,EAAK,EAClCxP,SAAU,EAAc,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1DxH,QAAS,OACTC,WAAY,SACZ1G,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,MAAO,CAClDtS,MAAO,CACLoc,MAAO,KAET2J,IAAK,GACLD,KAAK,EAAIs/C,EAAmBr+D,SAAS,CACnCvK,MAAO8L,EAAK9L,MACZikE,OAAQzlE,EACRsrE,UAAWjpE,EACXkpE,UAAW,YACXsC,WAAW,EACXpC,eAAgBvrE,OAEH,EAAIiU,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDwV,GAAI,EACJrc,UAAW,QACXpH,SAAUwP,EAAK9L,YAEF,EAAI2S,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClD7G,UAAW,cACXpH,SAAUwP,EAAK/L,eACA,EAAI4S,EAAYmD,KAAKgmB,EAAYvxB,QAAS,CACzD6yB,WAAYpb,EAAY,GAAK,cAC7BlW,KAAMkW,EAAY/J,EAAMolB,mBAAqB,GAC7C/gC,UAAuB,EAAIqW,EAAYmD,KAAK,MAAO,CACjDpS,UAAW,SACXpH,UAAU,EAAI2b,EAAM+0D,iBAAiBlhE,EAAKnM,OAAqB,EAAIgT,EAAYmD,KAAKykC,EAAUhwC,QAAS,CAAC,IAAkB,EAAIoI,EAAYmD,KAAKqH,EAAU5S,QAAS,CAAC,SAGtKuB,EAAKnM,KAAK,MACXuuE,IAA2B,EAAIv7D,EAAYmD,KAAK22D,EAAYliE,QAAS,CACvE3M,QAASA,EACTolB,SAAU,kBAAMmrD,GAAc,EAAM,EACpC73C,UAAW,WACT63C,GAAc,GACdnF,GACF,IACE8D,IAA2B,EAAIn6D,EAAYmD,KAAKi4D,EAAQxjE,QAAS,CACnEyY,SAAU,kBAAM+pD,EAAc,KAAK,EACnCz2C,UAAW,WACTy2C,EAAc,MACd/D,GACF,EACAn3B,SAAU,WACRk7B,EAAc,MACd/D,GACF,EACAnsE,KAAM,SACN8vE,SAAUG,EAAWntE,KACrByL,KAAM0hE,IACJwB,KAAmC,EAAI37D,EAAYmD,KAAKm4D,EAAgB1jE,QAAS,CACnFyY,SAAU,kBAAMurD,IAAsB,EAAM,IAC1CH,IAA0B,EAAIz7D,EAAYmD,KAAKk4D,EAAOzjE,QAAS,CACjEyY,SAAU,kBAAMqrD,EAAa,KAAK,EAClC/3C,UAAW,kBAAM+3C,EAAa,KAAK,MAGzC,CACA,IAtMgCr3D,EAASC,EAsMnCpB,EAAMzD,EAAQ7H,QAAQ2M,IAAIlF,IAtMAgF,EAsM6D,CAAC,uhBAtMzCC,IAAOA,EAAMD,EAAQ1K,MAAM,IAsM5B0F,EAtMyCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SAuM1K42D,EAAa/2D,UAAY,CAAC,EAC1B+2D,EAAapsE,aAAe,CAAC,C,qCCxOhB,6DAEbmH,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBimE,EAClB,IAAI98D,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5CslE,EAAM78D,EAAuBzI,EAAQ,QACrCyO,EAAUhG,EAAuBzI,EAAQ,QACzC2O,EAAoBlG,EAAuBzI,EAAQ,KACnDkkB,EAAqBzb,EAAuBzI,EAAQ,OACpDkX,EAAczO,EAAuBzI,EAAQ,QAC7C8N,EAAarF,EAAuBzI,EAAQ,QAC5CwO,EAAWxO,EAAQ,OACnB0O,EAAUjG,EAAuBzI,EAAQ,QACzCsX,EAAS7O,EAAuBzI,EAAQ,QACxC4O,EAAQ5O,EAAQ,OAChBuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAC1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASi8D,EAAW55D,GAClB,IACEvX,EAMEuX,EANFvX,QACAolB,EAKE7N,EALF6N,SACAsT,EAIEnhB,EAJFmhB,UACAtJ,EAGE7X,EAHF6X,QACAnwB,EAEEsY,EAFFtY,KACAuO,EACE+J,EADF/J,KAGArO,GACE,EAAIub,EAAMiC,kBADZxd,IAEF,GAA8B,EAAIkV,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAA0B,EAAIzI,EAAOhU,UAAU,IAAG,SAA3C6D,EAAK,KAAEkvB,EAAQ,KAEpBrvB,GACE,EAAIuW,EAAStW,oBADfD,EAEF,GAA0B,EAAIsQ,EAAOhU,UAAUmN,EAAKpL,OAAS,IAAG,SAAzDA,EAAK,KAAEivE,EAAQ,KACtB,GAAsC,EAAIh9D,EAAOhU,UAAUmN,EAAKrL,aAAe,IAAG,SAA3EA,EAAW,KAAEmvE,EAAc,KAC5BxI,EAAQ,6BAAG,0FACY,GAArBrR,EAASr1D,EAAMk8B,OACR,CAAF,eACqC,OAA9ClL,EAASrvB,EAAE,mCAAmC,+BAG5C0zD,EAAOjwD,OAAS,IAAE,gBAGhB,OAFJ4rB,EAASrvB,EAAE,mCAAoC,CAC7CyD,OAAQ,MACN,0BAGsC,GAAtC6Y,EAAOle,EAAY4R,QAAQ,MAAO,KAC7B,CAAF,gBAC6C,OAApDqf,EAASrvB,EAAE,yCAAyC,2BAKrC,GAFXhC,EAAgB,WAAT9C,GAAoB,EAAImyE,EAAIzkE,SAAS8qD,GAAUjqD,EAAKzL,KACjEqxB,EAAS,MACTtW,GAAW,GAAM,UAEF,WAAT7d,EAAiB,kCACbE,EAAIoyE,WAAW,CACnB/vE,MAAO,CACLxB,QAAAA,EACA+B,KAAAA,EACAK,MAAOq1D,EACPt1D,YAAake,KAEf,iDAEIlhB,EAAIqyE,WAAW,CACnBhwE,MAAO,CACLxB,QAAAA,EACAkO,KAAM,CACJnM,KAAAA,EACAK,MAAOq1D,EACPt1D,YAAake,MAGjB,QAEJqY,IAAY,mDAENxT,GAAS,EAAI7K,EAAM5U,aAAa,EAAF,IACpC2tB,EAASlO,GACTkK,EAAQ,EAAD,IAAM,QAEK,OAFL,UAEbtS,GAAW,GAAO,8EAErB,kBAlDa,mCAmDR4V,GAAoB,EAAI3d,EAAYiD,MAAM,MAAO,CACrDtZ,SAAU,CAAU,WAATO,IAAkC,EAAI8V,EAAYmD,KAAK8K,EAAYrW,QAAS,CACrFjD,UAAW,MACX9D,MAAO,CACLo0B,WAAY,IAEdt7B,UAAuB,EAAIqW,EAAYmD,KAAK0B,EAAWjN,QAAS,CAC9DlI,MAAO,KACPy1B,aAAc,MACd5yB,QAAS,WACTvF,KAAM,MACN,UAAW,yBACX8C,WAAW,EACXqZ,WAAW,EACXhf,MAAOsO,EAAKzL,KACZ6W,UAAU,OAEG,EAAI7D,EAAYmD,KAAK8K,EAAYrW,QAAS,CACzDjD,UAAW,MACX9D,MAAO,CACLkoB,UAAW,IAEbpvB,UAAuB,EAAIqW,EAAYmD,KAAK0B,EAAWjN,QAAS,CAC9DlI,MAAOV,EAAE,gBACTm2B,aAAc,MACd5yB,QAAS,WACTvF,KAAM,QACN,UAAW,0BACX8C,WAAW,EACXqZ,WAAW,EACXhf,MAAOkD,EACPiH,SAAU,SAAAuO,GACRwb,EAAS,MACTi+C,EAASz5D,EAAE/B,OAAO3W,MACpB,EACA0Z,SAAmB,WAAT3Z,GAAqBgF,EAC/Bk2B,WAAYp2B,EAAE,sCAED,EAAIgR,EAAYmD,KAAK8K,EAAYrW,QAAS,CACzDjD,UAAW,MACX9D,MAAO,CACLkoB,UAAW,GACXsM,aAAc,IAEhB17B,UAAuB,EAAIqW,EAAYmD,KAAK0B,EAAWjN,QAAS,CAC9DlI,MAAOV,EAAE,sBACTm2B,aAAc,MACd5yB,QAAS,WACTvF,KAAM,cACN,UAAW,gCACX8C,WAAW,EACXqZ,WAAW,EACXhf,MAAOiD,EACPkH,SAAU,SAAAuO,GACRwb,EAAS,MACTk+C,EAAe15D,EAAE/B,OAAO3W,MAC1B,EACA0Z,SAAU3U,EACVwtE,WAAW,EACXrtC,KAAM,SAIZ,OAAoB,EAAIrvB,EAAYiD,MAAMuC,EAAQ5N,QAAS,CACzDvK,MAAgB,WAATnD,EAAoB8E,EAAE,8BAAgC,GAC7Dc,WAAW,EACX6S,MAAM,EACNC,QAASyN,EACTmW,iBAAiB,EACjBn3B,SAAsB,EAAI2Q,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAChEvf,SAAU,EAAc,EAAIqW,EAAYmD,KAAKsC,EAAQ7N,QAAS,CAC5DhH,QAASyf,EACT9f,MAAO,UACP5G,SAAUqF,EAAE,oBACG,EAAIgR,EAAYiD,MAAMwC,EAAQ7N,QAAS,CACtD,UAAW,sBACXhH,QAASmjE,EACTxjE,MAAO,UACPsT,SAAU3U,EACVqD,QAAS,YACT4W,WAAW,EACXxf,SAAU,CAACuF,IAAwB,EAAI8Q,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACjFhD,KAAM,KACgB5F,EAAX,WAAT9E,EAAsB,gBAAqB,uBAGnDP,SAAU,EAAc,EAAIqW,EAAYmD,KAAK8X,EAAmBrjB,QAAS,CACvEjD,UAAW,MACXhL,SAAUg0B,MACNxuB,IAAsB,EAAI6Q,EAAYmD,KAAKkL,EAAOzW,QAAS,CAC/DjN,KAAM,QACN4H,QAAS,OACT1B,MAAO,CACLoc,MAAO,OACP9X,OAAQ,GAEVxL,SAAUwF,MAGhB,CACAitE,EAAWj4D,UAAY,CACrBlZ,QAASsU,EAAW3H,QAAQmd,OAAO/K,WACnCqG,SAAU9Q,EAAW3H,QAAQsb,KAAKlJ,WAClC2Z,UAAWpkB,EAAW3H,QAAQsb,KAAKlJ,WACnCqQ,QAAS9a,EAAW3H,QAAQsb,KAC5BhpB,KAAMqV,EAAW3H,QAAQub,MAAM,CAAC,SAAU,WAC1C1a,KAAM8G,EAAW3H,QAAQyI,QAE3B+7D,EAAWttE,aAAe,CACxBurB,QAAS,WAAO,EAChBnwB,KAAM,SACNuO,KAAM,CAAC,E,mCC1MI,gFAEbxC,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAAkBwmE,EAClB,IAqBIt9D,EArBAC,EAwBJ,SAAiCa,EAAK2K,GAAe,IAAKA,GAAe3K,GAAOA,EAAInK,WAAc,OAAOmK,EAAO,GAAY,OAARA,GAA+B,kBAARA,GAAmC,oBAARA,EAAsB,MAAO,CAAEvI,QAASuI,GAAS,IAAI4K,EAAQC,EAAyBF,GAAc,GAAIC,GAASA,EAAME,IAAI9K,GAAQ,OAAO4K,EAAMG,IAAI/K,GAAQ,IAAIgL,EAAS,CAAC,EAAOC,EAAwBnV,OAAOC,gBAAkBD,OAAOyK,yBAA0B,IAAK,IAAIvU,KAAOgU,EAAO,GAAY,YAARhU,GAAqB8J,OAAOqM,UAAU+I,eAAe7J,KAAKrB,EAAKhU,GAAM,CAAE,IAAImf,EAAOF,EAAwBnV,OAAOyK,yBAAyBP,EAAKhU,GAAO,KAAUmf,IAASA,EAAKJ,KAAOI,EAAKC,KAAQtV,OAAOC,eAAeiV,EAAQhf,EAAKmf,GAAgBH,EAAOhf,GAAOgU,EAAIhU,EAAQ,CAAIgf,EAAOvT,QAAUuI,EAAS4K,GAASA,EAAMQ,IAAIpL,EAAKgL,GAAW,OAAOA,CAAQ,CAxBtxBK,CAAwBzU,EAAQ,QACzCwI,EAAaC,EAAuBzI,EAAQ,QAC5C0I,EAAUD,EAAuBzI,EAAQ,QACzCkgC,EAAaz3B,EAAuBzI,EAAQ,QAC5CyO,EAAUhG,EAAuBzI,EAAQ,QACzC2O,EAAoBlG,EAAuBzI,EAAQ,KACnD+N,EAAOtF,EAAuBzI,EAAQ,QACtC6lE,EAAap9D,EAAuBzI,EAAQ,QAC5C2I,EAAcF,EAAuBzI,EAAQ,QAC7C6I,EAAYJ,EAAuBzI,EAAQ,QAC3C8N,EAAarF,EAAuBzI,EAAQ,QAC5CwO,EAAWxO,EAAQ,OACnB0O,EAAUjG,EAAuBzI,EAAQ,QACzC8iE,EAAcr6D,EAAuBzI,EAAQ,QAC7C0T,EAASjL,EAAuBzI,EAAQ,QACxCqO,EAAYrO,EAAQ,OACpB+O,EAAStG,EAAuBzI,EAAQ,QACxC4O,EAAQ5O,EAAQ,OAChB6O,EAAQ7O,EAAQ,OAChBuO,EAAQvO,EAAQ,OAChBiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAAS6K,EAAyBF,GAAe,GAAuB,oBAAZW,QAAwB,OAAO,KAAM,IAAIC,EAAoB,IAAID,QAAeE,EAAmB,IAAIF,QAAW,OAAQT,EAA2B,SAAkCF,GAAe,OAAOA,EAAca,EAAmBD,CAAmB,GAAGZ,EAAc,CAE9U,SAAS1K,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAI3O,IAAI08D,EAAY,SAAmBnuE,GACjC,OAAoB,EAAIsR,EAAYmD,KAAK,MAAOtC,EAAcA,EAAc,CAAC,EAAGnS,GAAQ,CAAC,EAAG,CAC1F/E,UAAuB,EAAIqW,EAAYmD,KAAK,OAAQ,CAClDsG,EAAG,0IACH8C,KAAM,WAGZ,EACAswD,EAAU/tE,aAAe,CACvBme,MAAO,KACPgK,OAAQ,KACR6lD,QAAS,YACTvwD,KAAM,OACNwwD,MAAO,8BAET,IAAMC,EAAU,SAAC7F,EAAW8F,GAC1B,QAAK9F,IAGG8F,EAASr/D,MAAK,SAAA1R,GAAC,OAAKA,EAAEoQ,KAAKrP,WAAaf,EAAE+mB,GAAG9Z,IAAI,GAC3D,EACA,SAASwjE,EAAcn6D,GACrB,IACE6N,EAIE7N,EAJF6N,SACAsT,EAGEnhB,EAHFmhB,UACA31B,EAEEwU,EAFFxU,KACA3B,EACEmW,EADFnW,iBAGAjC,GACE,EAAIub,EAAMiC,kBADZxd,IAEF,GAGI,EAAIwb,EAAMkC,kBAFZrc,EAAK,EAALA,MACAR,EAAO,EAAPA,QAGA+D,GACE,EAAIuW,EAAStW,oBADfD,EAEF,GAA8B,EAAIsQ,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAAkC,EAAIzI,EAAOhU,UAAU0C,EAAKmpE,WAAa,IAAG,SAArEA,EAAS,KAAE+F,EAAY,KAC9B,GAA4B,EAAI59D,EAAOhU,UAAU0C,EAAK6lE,QAAU,IAAG,SAA5DA,EAAM,KAAEC,EAAS,KACxB,GAAgC,EAAIx0D,EAAOhU,WAAU,EAAI2rC,EAAWr/B,SAAS5J,EAAKivE,WAAa,IAAG,SAA3FA,EAAQ,KAAEE,EAAW,KACtBC,EAAY/wE,EAAiByQ,WAAU,SAAA5Q,GAAC,OAAIA,EAAEirE,YAAcnpE,EAAKmpE,SAAS,IAC1EkG,EAAsB,6BAAG,0FACzBnuE,EAAS,CAAF,gDAeQ,OAZbuJ,EAAO,CACX0+D,UAAAA,EACAtD,OAAAA,EACAoJ,SAAAA,GAEIK,EAAc,EAAIjxE,IACL,IAAf+wE,EACFE,EAAY/vD,QAAQ9U,GAEpB6kE,EAAYF,GAAa3kE,EAC1B,SAECsP,GAAW,GAAM,SACX3d,EAAIizE,uBAAuB,CAC/B5wE,MAAO,CACLxB,QAAAA,EACAoB,iBAAkBixE,KAEpB,yBACI,EAAIh4D,EAAM4K,OAAO,KAAI,QAC3BnI,GAAW,GACXjC,EAAOlO,QAAQmR,QAAQ/Z,EAAE,uBACzB20B,IAAY,kDAEZ5b,GAAW,GACXjC,EAAOlO,QAAQzI,OAAM,EAAImW,EAAM5U,aAAa,EAAF,KAAQ,0DAErD,kBA/B2B,mCAgC5B,OAAoB,EAAIsP,EAAYmD,KAAKqC,EAAQ5N,QAAS,CACxDvK,MAAO2B,EAAE,gCACT2T,MAAM,EACN6jB,iBAAiB,EACjBjjB,WAAY,CACV1S,MAAO,CACLoY,UAAW,SAGfnZ,WAAW,EACXozD,SAAsB,EAAIljD,EAAYmD,KAAKzD,EAAY9H,QAAS,CAC9DhH,QAASyf,EACT,UAAW,uBACXzb,KAAM,QACNjL,UAAuB,EAAIqW,EAAYmD,KAAKy5D,EAAWhlE,QAAS,CAAC,KAEnEvI,SAAsB,EAAI2Q,EAAYiD,MAAMjD,EAAYkJ,SAAU,CAChEvf,SAAU,EAAc,EAAIqW,EAAYmD,KAAKsC,EAAQ7N,QAAS,CAC5DhH,QAASyf,EACT9f,MAAO,UACP5G,SAAUqF,EAAE,oBACG,EAAIgR,EAAYiD,MAAMwC,EAAQ7N,QAAS,CACtDhH,QAAS,kBAAMysE,GAAwB,EACvC9sE,MAAO,UACPsT,UAAWm5D,EAAQ7F,EAAW8F,KAAcpJ,GAAU3kE,EACtDqD,QAAS,YACT4W,WAAW,EACX,UAAW,eACXxf,SAAU,CAACuF,IAAwB,EAAI8Q,EAAYmD,KAAKuC,EAAkB9N,QAAS,CACjFhD,KAAM,KACJ5F,EAAE,qBAGVrF,UAAuB,EAAIqW,EAAYmD,KAAKD,EAAK,CAC/CvZ,UAAuB,EAAIqW,EAAYiD,MAAM,MAAO,CAClDlS,UAAW,iBACXpH,SAAU,EAAc,EAAIqW,EAAYmD,KAAK0B,EAAWjN,QAAS,CAC/D9H,WAAW,EACX,UAAW,mBACXu7B,YAAar8B,EAAE,2BACf7E,MAAOgtE,EACP7iE,SAAU,SAAAqyB,GACRu2C,EAAav2C,EAAM7lB,OAAO3W,MAC5B,KACe,EAAI6V,EAAYmD,KAAK0B,EAAWjN,QAAS,CACxD/G,MAAO,CACLkoB,UAAW,IAEbjpB,WAAW,EACX,UAAW,sBACXu7B,YAAar8B,EAAE,iBACf7E,MAAO0pE,EACPv/D,SAAU,SAAAqyB,GACRmtC,EAAUntC,EAAM7lB,OAAO3W,MACzB,KACe,EAAI6V,EAAYiD,MAAM6B,EAAKlN,QAAS,CACnDzE,GAAI,OACJ/C,QAAS,OACTyc,eAAgB,gBAChBxc,WAAY,SACZ1G,SAAU,EAAc,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACzD7G,UAAW,YACXpH,SAAUqF,EAAE,gCACG,EAAIgR,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDjO,UAAuB,EAAIqW,EAAYmD,KAAKsC,EAAQ7N,QAAS,CAC3DrF,QAAS,WACThC,MAAO,UACP,UAAW,cACXK,QAAS,WACPusE,GAAY,SAAA1zD,GACV,IAAM7c,EAAM,EAAI6c,GAShB,OARA7c,EAAI2gB,QAAQ,CACVjR,KAAM,CACJrP,SAAU,IAEZgmB,GAAI,CACF9Z,KAAMiM,EAAUm4D,MAAMC,SAGnB5wE,CACT,GACF,EACAjD,SAAUqF,EAAE,oBAGD,EAAIgR,EAAYiD,MAAM6B,EAAKlN,QAAS,CACnD7G,UAAW,OACXoC,IAAK,GACLxJ,SAAU,CAACszE,EAAS9vE,KAAI,SAACsL,EAAMN,GAAK,OAAkB,EAAI6H,EAAYiD,MAAM6B,EAAKlN,QAAS,CACxFxH,QAAS,OACTC,WAAY,SACZwc,eAAgB,gBAChB89B,GAAI,EACJhhD,SAAU,EAAc,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1DxH,QAAS,OACTC,WAAY,SACZ2/B,SAAU,EACVrmC,SAAU,EAAc,EAAIqW,EAAYmD,KAAK2B,EAAKlN,QAAS,CACzDo4B,SAAU,EACVytC,UAAW,EACX9zE,UAAuB,EAAIqW,EAAYmD,KAAK0B,EAAWjN,QAAS,CAC9D9H,WAAW,EACX8E,KAAM,QACN,UAAW,SAAS+T,OAAOxQ,EAAO,SAClCkzB,YAAa,iCACblhC,MAAOsO,EAAK6D,KAAKrP,SACjBqH,SAAU,SAAAqyB,GACR,IACEx8B,EACEw8B,EAAM7lB,OADR3W,MAEFgzE,GAAY,SAAA1zD,GACV,IAAM7c,EAAM,EAAI6c,GAEhB,OADA7c,EAAIuL,GAAOmE,KAAKrP,SAAW9C,EACpByC,CACT,GACF,OAEa,EAAIoT,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDu6D,WAAY,EACZhM,GAAI,EACJx8D,UAAuB,EAAIqW,EAAYmD,KAAK05D,EAAW,CAAC,MACzC,EAAI78D,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDo4B,SAAU,EACVytC,UAAW,EACX9zE,UAAuB,EAAIqW,EAAYmD,KAAK0B,EAAWjN,QAAS,CAC9D9H,WAAW,EACX8E,KAAM,QACNyU,QAAQ,EACRlf,MAAOsO,EAAKwa,GAAG9Z,KACf7E,SAAU,SAAAuO,GACRs6D,GAAY,SAAA1zD,GACV,IAAM7c,EAAM,EAAI6c,GAEhB,OADA7c,EAAIuL,GAAO8a,GAAG9Z,KAAO0J,EAAE/B,OAAO3W,MACvByC,CACT,GACF,EACA2F,QAAS,WACT5I,SAAU8B,EAAMoB,QAAO,SAAA4c,GAAC,MAAe,UAAXA,EAAEzc,IAAgB,IAAEG,KAAI,SAAA+mE,GAAC,OAAiB,EAAIl0D,EAAYmD,KAAKvD,EAAUhI,QAAS,CAC5GzN,MAAO+pE,EAAElnE,KACT,UAAW,kCAAkC2b,OAAOurD,EAAElnE,MACtDrD,UAAuB,EAAIqW,EAAYmD,KAAK,OAAQ,CAClDxZ,SAAUuqE,EAAE7mE,OAAS6mE,EAAElnE,QAExBknE,EAAElnE,KAAK,YAGC,EAAIgT,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDu6D,WAAY,EACZ/kD,GAAI,EACJzjB,UAAuB,EAAIqW,EAAYmD,KAAKzD,EAAY9H,QAAS,CAC/DhH,QAAS,WACPusE,GAAY,SAAA1zD,GACV,IAAM7c,EAAM,EAAI6c,GAEhB,OADA7c,EAAIyP,OAAOlE,EAAO,GACXvL,CACT,GACF,EACAgI,KAAM,QACNjL,UAAuB,EAAIqW,EAAYmD,KAAK02D,EAAYjiE,QAAS,CAAC,SAGtE,KAAIqlE,EAASxqE,SAAuB,EAAIuN,EAAYmD,KAAK2B,EAAKlN,QAAS,CACvE+yC,GAAI,EACJp6C,MAAO,iBACP+X,SAAU,OACV3e,UAAuB,EAAIqW,EAAYmD,KAAKsH,EAAO7S,QAAS,CAC1DjO,SAAUqF,EAAE,6BAO1B,CACA2tE,EAAcx4D,UAAY,CACxBkM,SAAU9Q,EAAW3H,QAAQsb,KAAKlJ,WAClC2Z,UAAWpkB,EAAW3H,QAAQsb,KAAKlJ,WACnC3d,iBAAkBkT,EAAW3H,QAAQwM,MACrCpW,KAAMuR,EAAW3H,QAAQyI,QAE3Bs8D,EAAc7tE,aAAe,CAC3Bd,KAAM,CAAC,EACP3B,iBAAkB,IAEpB,IApQgCgY,EAASC,EAoQnCpB,EAAMzD,EAAQ7H,QAAQ2M,IAAIlF,IApQAgF,EAoQ6D,CAAC,8TApQzCC,IAAOA,EAAMD,EAAQ1K,MAAM,IAoQ5B0F,EApQyCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,Q,qCCpC7J,gFAEbrO,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,QAiOA,SAAsCzH,GAIpC,IADI,EAAIiX,EAAMiC,kBADZyH,UAGA,OAAoB,EAAIrP,EAAYmD,KAAKu6D,EAAyB78D,EAAc,CAAC,EAAGnS,IAEtF,OAAoB,EAAIsR,EAAYmD,KAAKw6D,EAAwB98D,EAAc,CAAC,EAAGnS,GACrF,EAxOA,IAyBI2Q,EAzBAC,EAASvI,EAAQ,OACjBwI,EAAaC,EAAuBzI,EAAQ,QAC5C0I,EAAUD,EAAuBzI,EAAQ,QACzCkgC,EAAaz3B,EAAuBzI,EAAQ,QAC5CyO,EAAUhG,EAAuBzI,EAAQ,QACzC+N,EAAOtF,EAAuBzI,EAAQ,QACtCy2B,EAAOhuB,EAAuBzI,EAAQ,OACtC2I,EAAcF,EAAuBzI,EAAQ,QAC7CwO,EAAWxO,EAAQ,OACnB0O,EAAUjG,EAAuBzI,EAAQ,QACzC0T,EAASjL,EAAuBzI,EAAQ,QACxC8rD,EAAWrjD,EAAuBzI,EAAQ,QAC1CyT,EAAYhL,EAAuBzI,EAAQ,OAC3C8iE,EAAcr6D,EAAuBzI,EAAQ,QAC7Csf,EAAU7W,EAAuBzI,EAAQ,QACzC+O,EAAStG,EAAuBzI,EAAQ,QACxCoyB,EAAcpyB,EAAQ,OACtB4O,EAAQ5O,EAAQ,OAChB6O,EAAQ7O,EAAQ,OAChBuO,EAAQvO,EAAQ,OAChBwX,EAAW/O,EAAuBzI,EAAQ,OAC1Co/D,EAAc32D,EAAuBzI,EAAQ,QAC7Cm/D,EAAe12D,EAAuBzI,EAAQ,QAC9C6mE,EAAiBp+D,EAAuBzI,EAAQ,MAChDiJ,EAAcjJ,EAAQ,OAE1B,SAASyI,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAE9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS09D,EAAer7D,GACtB,IACE6N,EAEE7N,EAFF6N,SACAtb,EACEyN,EADFzN,cAGA3K,GACE,EAAIub,EAAMiC,kBADZxd,IAEF,GAGI,EAAIwb,EAAMkC,kBAFZ7c,EAAO,EAAPA,QACAoB,EAAgB,EAAhBA,iBAGA2C,GACE,EAAIuW,EAAStW,oBADfD,EAEF,GAAoC,EAAIsQ,EAAOhU,UAAU,MAAK,SAAvDwnE,EAAU,KAAEC,EAAa,KAChC,GAA8B,EAAIzzD,EAAOhU,WAAU,GAAM,SAAlD4D,EAAO,KAAE6Y,EAAU,KAC1B,GAA0C,EAAIzI,EAAOhU,WAAU,GAAM,SAA9DwyE,EAAa,KAAEC,EAAgB,KACtC,GAA4B,EAAIz+D,EAAOhU,UAAU,IAAG,SAA7CoqB,EAAM,KAAEu7C,EAAS,KAClB+M,EAAmB,6BAAG,WAAMnzE,GAAG,6EAC/BqE,EAAS,CAAF,gDAWQ,OAPJ,KADTiJ,EAAQ9L,EAAiByQ,WAAU,SAAA5Q,GAAC,OAAIA,EAAEirE,YAActsE,CAAG,MAG/Dib,EAAOlO,QAAQzI,MAAM,0BAEjBmuE,EAAc,EAAIjxE,IACZgQ,OAAOlE,EAAO,GAAG,SAE3B4P,GAAW,GAAM,UACX3d,EAAIizE,uBAAuB,CAC/B5wE,MAAO,CACLxB,QAAAA,EACAoB,iBAAkBixE,KAEpB,0BACI,EAAIh4D,EAAM4K,OAAO,KAAI,QAC3BnI,GAAW,GACXjC,EAAOlO,QAAQmR,QAAQ/Z,EAAE,uBACzB+jE,GAAc,GAAO,kDAErBhrD,GAAW,GACXjC,EAAOlO,QAAQzI,MAAM,KAAI5B,SAAS,0DAErC,gBA3BwB,sCA4BnB0wE,EAAkB5xE,EAAiBQ,QAAO,SAAAX,GAAC,OAAKwpB,GAAUxpB,EAAEirE,UAAU+G,cAAcjqE,SAASyhB,EAAOwoD,cAAc,IACxH,OAAoB,EAAIl+D,EAAYiD,MAAMuC,EAAQ5N,QAAS,CACzDvK,MAAO2B,EAAE,gCACT2T,MAAM,EACNC,QAASyN,EACTvgB,WAAW,EACXyT,WAAY,CACV1S,MAAO,CACLoY,UAAW,SAGftf,SAAU,EAAc,EAAIqW,EAAYmD,KAAKD,EAAK,CAChDvZ,UAAuB,EAAIqW,EAAYiD,MAAM,MAAO,CAClDlS,UAAW,iBACXpH,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,MAAO,CAClDpS,UAAW,YACXpH,SAAUqF,EAAE,2CACG,EAAIgR,EAAYiD,MAAM6B,EAAKlN,QAAS,CACnDjD,UAAWwhE,EAAYv+D,QACvBzE,GAAI,EACJxJ,SAAU,EAAc,EAAIqW,EAAYmD,KAAK,MAAO,CAClDpS,UAAW,OACXpH,UAAuB,EAAIqW,EAAYmD,KAAK+yD,EAAat+D,QAAS,CAChEyzB,YAAar8B,EAAE,iCACf7E,MAAOurB,EACPphB,SAAU,SAAAuO,GAAC,OAAIouD,EAAUpuD,EAAE/B,OAAO3W,MAAM,OAE3B,EAAI6V,EAAYmD,KAAK,MAAO,CAC3CpS,UAAW,QACXpH,SAAUoL,IAA8B,EAAIiL,EAAYiD,MAAMwC,EAAQ7N,QAAS,CAC7ErF,QAAS,YACThC,MAAO,UACP,UAAW,qBACXK,QAAS,kBAAMmtE,EAAiB,CAC9B7zE,KAAM,OACN,EACFP,SAAU,EAAc,EAAIqW,EAAYmD,KAAKqqB,EAAK51B,QAAS,CACzD/G,MAAO,CACLyX,SAAU,GACV7X,YAAa,KAEbzB,EAAE,qBAGK,EAAIgR,EAAYiD,MAAM,MAAO,CAC5ClS,UAAW,OACXpH,SAAU,CAACs0E,EAAgB9wE,KAAI,SAAAjB,GAAC,OAAiB,EAAI8T,EAAYiD,MAAM6B,EAAKlN,QAAS,CACnFxH,QAAS,OACTC,WAAY,SACZwc,eAAgB,gBAChB1Z,GAAI,OACJxJ,SAAU,EAAc,EAAIqW,EAAYiD,MAAM6B,EAAKlN,QAAS,CAC1Du6D,WAAY,EACZxoE,SAAU,EAAc,EAAIqW,EAAYmD,KAAK0/C,EAASjrD,QAAS,CAC7Dk6D,UAAU,EACV5O,SAAsB,EAAIljD,EAAYmD,KAAK2B,EAAKlN,QAAS,CACvDxH,QAAS,OACTC,WAAY,SACZkiC,GAAI,EACJ5oC,UAAuB,EAAIqW,EAAYmD,KAAKkT,EAAQze,QAAS,CAC3D/M,IAAKqB,EAAEirE,UACPviE,KAAM,OAGVupE,aAAa,EACbx0E,UAAuB,EAAIqW,EAAYmD,KAAK,OAAQ,CAClDtS,MAAO,CACLyX,SAAU,IAEZ3e,SAAUuC,EAAEirE,gBAEVjrE,EAAE2nE,SAAuB,EAAI7zD,EAAYmD,KAAK2B,EAAKlN,QAAS,CAChEkV,GAAI,IACJxE,SAAU,GACVkF,SAAU,QACV7jB,SAAUuC,EAAE2nE,aAEC,EAAI7zD,EAAYmD,KAAK2B,EAAKlN,QAAS,CAClDrH,MAAO,OACP6c,GAAI,OACJ4iB,SAAU,EACVrmC,SAAUuC,EAAE+wE,UAAY/wE,EAAE+wE,SAASxqE,OAAS,GAAGkW,OAAOzc,EAAE+wE,SAASxqE,OAAQ,KAAKkW,OAAO3Z,EAAE,8BAAgCA,EAAE,gCAC1G,EAAIgR,EAAYiD,MAAM6B,EAAKlN,QAAS,CACnDu6D,WAAY,EACZ/hE,QAAS,OACTC,WAAY,SACZ1G,SAAU,EAAc,EAAIqW,EAAYmD,KAAKzD,EAAY9H,QAAS,CAChEhH,QAAS,kBAAMmtE,EAAiB,CAC9B7zE,KAAM,SACN8D,MAAM,EAAIipC,EAAWr/B,SAAS1L,IAC9B,EACF,UAAW,oBACX0I,KAAM,QACNjL,UAAuB,EAAIqW,EAAYmD,KAAKqH,EAAU5S,QAAS,CAAC,MACjD,EAAIoI,EAAYmD,KAAKzD,EAAY9H,QAAS,CACzD,UAAW,sBACXhH,QAAS,kBAAMmiE,EAAc,CAC3B1lE,MAAO2B,EAAE,iBACT5B,YAAa4B,EAAE,gCACf+hB,QAAS/hB,EAAE,qBACXgiB,OAAQhiB,EAAE,iBACV6Z,UAAW,kBAAMm1D,EAAoB9xE,EAAEirE,UAAU,EACjD9mD,SAAU,WACRtI,GAAW,GACXgrD,EAAc,KAChB,GACA,EACFn+D,KAAM,QACNjL,UAAuB,EAAIqW,EAAYmD,KAAK02D,EAAYjiE,QAAS,CAAC,UAGtE,KAAIvL,EAAiBoG,SAAuB,EAAIuN,EAAYmD,KAAKsH,EAAO7S,QAAS,CACjFjO,SAAUqF,EAAE,0BAIhB8uE,IAA8B,EAAI99D,EAAYmD,KAAKy6D,EAAehmE,QAAS,CAC7E1N,KAAM4zE,EAAc5zE,KACpB8D,KAAM8vE,EAAc9vE,KACpB3B,kBAAkB,EAAI4qC,EAAWr/B,SAASvL,GAC1CgkB,SAAU,kBAAM0tD,EAAiB,KAAK,EACtCp6C,UAAW,WACTo6C,EAAiB,KACnB,IACEjL,IAA2B,EAAI9yD,EAAYmD,KAAKoL,EAAS3W,QAAS,CACpEvK,MAAOylE,EAAWzlE,MAClBD,YAAa0lE,EAAW1lE,YACxB2jB,QAAS+hD,EAAW/hD,QACpBC,OAAQ8hD,EAAW9hD,OACnB3E,OAAQymD,EAAWzmD,OACnBxD,UAAWiqD,EAAWjqD,UACtBwH,SAAUyiD,EAAWziD,aAG3B,CACAwtD,EAAe15D,UAAY,CACzBkM,SAAU9Q,EAAW3H,QAAQsb,KAAKlJ,WAClCjV,cAAewK,EAAW3H,QAAQwb,MAEpCyqD,EAAe/uE,aAAe,CAC5BiG,eAAe,GAEjB,IAAM4oE,GAAyB,EAAIx0C,EAAY6W,gBAAgB69B,EAAgB,eACzEH,GAA0B,EAAIv0C,EAAY6W,gBAAgB69B,EAAgB,GAAIv4D,EAAMolB,oBAU1F,IA9MgCrmB,EAASC,EA8MnCpB,EAAMzD,EAAQ7H,QAAQ2M,IAAIlF,IA9MAgF,EA8M6D,CAAC,sGA9MzCC,IAAOA,EAAMD,EAAQ1K,MAAM,IA8M5B0F,EA9MyCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,Q,qCC/B1KrO,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,aAAkB,EAClB,IAKIkJ,EALAI,EAAUD,EAAuBzI,EAAQ,QACzC8N,EAAarF,EAAuBzI,EAAQ,QAC5Ck2D,EAAUztD,EAAuBzI,EAAQ,QACzCiJ,EAAcjJ,EAAQ,OACpBkJ,EAAY,CAAC,YAEnB,SAAST,EAAuBW,GAAO,OAAOA,GAAOA,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,EAAO,CAC9F,SAASC,EAAQC,EAAQC,GAAkB,IAAIlG,EAAOnE,OAAOmE,KAAKiG,GAAS,GAAIpK,OAAOsK,sBAAuB,CAAE,IAAIC,EAAUvK,OAAOsK,sBAAsBF,GAASC,IAAmBE,EAAUA,EAAQ3T,QAAO,SAAU4T,GAAO,OAAOxK,OAAOyK,yBAAyBL,EAAQI,GAAKE,UAAY,KAAKvG,EAAK1H,KAAKkO,MAAMxG,EAAMoG,EAAU,CAAE,OAAOpG,CAAM,CACpV,SAASyG,EAAcC,GAAU,IAAK,IAAIpI,EAAI,EAAGA,EAAIqI,UAAUtO,OAAQiG,IAAK,CAAE,IAAI5D,EAAS,MAAQiM,UAAUrI,GAAKqI,UAAUrI,GAAK,CAAC,EAAGA,EAAI,EAAI0H,EAAQnK,OAAOnB,IAAS,GAAI0D,SAAQ,SAAUrM,GAAO6U,EAAgBF,EAAQ3U,EAAK2I,EAAO3I,GAAO,IAAK8J,OAAOgL,0BAA4BhL,OAAOiL,iBAAiBJ,EAAQ7K,OAAOgL,0BAA0BnM,IAAWsL,EAAQnK,OAAOnB,IAAS0D,SAAQ,SAAUrM,GAAO8J,OAAOC,eAAe4K,EAAQ3U,EAAK8J,OAAOyK,yBAAyB5L,EAAQ3I,GAAO,GAAI,CAAE,OAAO2U,CAAQ,CACzf,SAASE,EAAgBb,EAAKhU,EAAKhC,GAA4L,OAAnLgC,EAC5C,SAAwBgV,GAAO,IAAIhV,EACnC,SAAsBM,EAAO2U,GAAQ,GAAqB,kBAAV3U,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAI4U,EAAO5U,EAAM6U,OAAOC,aAAc,QAAazN,IAATuN,EAAoB,CAAE,IAAIzU,EAAMyU,EAAKG,KAAK/U,EAAO2U,GAAQ,WAAY,GAAmB,kBAARxU,EAAkB,OAAOA,EAAK,MAAM,IAAI6U,UAAU,+CAAiD,CAAE,OAAiB,WAATL,EAAoBM,OAASC,QAAQlV,EAAQ,CAD/UmV,CAAaT,EAAK,UAAW,MAAsB,kBAARhV,EAAmBA,EAAMuV,OAAOvV,EAAM,CADxE0V,CAAe1V,MAAiBgU,EAAOlK,OAAOC,eAAeiK,EAAKhU,EAAK,CAAEhC,MAAOA,EAAOwW,YAAY,EAAMmB,cAAc,EAAMC,UAAU,IAAkB5B,EAAIhU,GAAOhC,EAAgBgW,CAAK,CAG3O,SAAS6B,EAAyBlN,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAAkE3I,EAAKuM,EAAnEoI,EACzF,SAAuChM,EAAQmN,GAAY,GAAc,MAAVnN,EAAgB,MAAO,CAAC,EAAG,IAA2D3I,EAAKuM,EAA5DoI,EAAS,CAAC,EAAOoB,EAAajM,OAAOmE,KAAKtF,GAAqB,IAAK4D,EAAI,EAAGA,EAAIwJ,EAAWzP,OAAQiG,IAAOvM,EAAM+V,EAAWxJ,GAAQuJ,EAASE,QAAQhW,IAAQ,IAAa2U,EAAO3U,GAAO2I,EAAO3I,IAAQ,OAAO2U,CAAQ,CADhNsB,CAA8BtN,EAAQmN,GAAuB,GAAIhM,OAAOsK,sBAAuB,CAAE,IAAI8B,EAAmBpM,OAAOsK,sBAAsBzL,GAAS,IAAK4D,EAAI,EAAGA,EAAI2J,EAAiB5P,OAAQiG,IAAOvM,EAAMkW,EAAiB3J,GAAQuJ,EAASE,QAAQhW,IAAQ,GAAkB8J,OAAOqM,UAAUC,qBAAqBf,KAAK1M,EAAQ3I,KAAgB2U,EAAO3U,GAAO2I,EAAO3I,GAAQ,CAAE,OAAO2U,CAAQ,CAG3e,IADgCuD,EAASC,EAgBrC4oB,GAfgB,EAAIztB,EAAQ7H,UAAS,SAAA4K,GACnC,IACA7Y,EACE6Y,EADF7Y,SAEF+E,EAAQsT,EAAyBQ,EAAMvC,GACzC,OAAoB,EAAID,EAAYmD,KAAK0B,EAAWjN,QAASiJ,EAAcA,EAAc,CAAC,EAAGnS,GAAQ,CAAC,EAAG,CACvGwN,GAAI,iBACJ3J,QAAS,WACT0oC,WAAY,CACVoB,gBAA6B,EAAIr8B,EAAYmD,KAAK8pD,EAAQr1D,QAAS,CAAC,IAEtEhD,KAAM,QACNjL,SAAUA,IAEd,GAdoB,CAcjB0V,IAf6BgF,EAegC,CAAC,2oBAfZC,IAAOA,EAAMD,EAAQ1K,MAAM,IAezD0F,EAfsEpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SAiB1KnO,EAAAA,QAAkB+2B,C,qCC/BlB,IAEgC/sB,EAD5Bd,EALJpJ,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,aAAkB,EAKlB,IADgCkO,EAASC,EAErC4oB,IAH4B/sB,EAFKpJ,EAAQ,SAEQoJ,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,IAE5DvI,QAAQ2M,IAAIlF,IADPgF,EACoE,CAAC,kbADhDC,IAAOA,EAAMD,EAAQ1K,MAAM,IACrB0F,EADkCpJ,OAAOuO,OAAOvO,OAAOiL,iBAAiBmD,EAAS,CAAEC,IAAK,CAAEna,MAAO8L,OAAOuO,OAAOF,SAG1KnO,EAAAA,QAAkB+2B,C,qCCVlBj3B,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAQ/L,SAAM,EACd6L,OAAOC,eAAeC,EAAS,QAAS,CACtCwK,YAAY,EACZuK,IAAK,WACH,OAAOoyC,EAAO1lD,OAChB,IAEFzB,EAAAA,aAAkB,EAClB,IACgCgK,EAD5Bm9C,GAC4Bn9C,EADIpJ,EAAQ,SACSoJ,EAAInK,WAAamK,EAAM,CAAEvI,QAASuI,GACvFm9C,EAAO1lD,QAAQwmE,SAASC,QAAU,IAElC,IAAMj0E,EAAMkzD,EAAO1lD,QAAQnN,SAC3B0L,EAAQ/L,IAAMA,EACd,IAAI8iC,EAAW9iC,EACf+L,EAAAA,QAAkB+2B,C,mCClBlBj3B,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAQyoC,yBAA2BzoC,EAAQwoC,gCAA6B,EAExExoC,EAAQwoC,2BAD2B,kCAGnCxoC,EAAQyoC,yBADyB,qB,mCCNjC3oC,OAAOC,eAAeC,EAAS,aAAc,CAC3ChM,OAAO,IAETgM,EAAAA,aAAkB,EAsBlBA,EAAAA,QAnBe,CACbiQ,GAAI,UACJD,GAAI,eACJm4D,GAAI,cAEJC,GAAI,UAEJC,GAAI,6CAEJC,GAAI,aAEJC,GAAI,UAEJhhC,GAAI,yBAEJihC,GAAI,qBAEJC,GAAI,uC,mCCpBNzoE,EAAQ,OAAc,EAItB,IAAMxD,EAA0D,SAA5CgrD,aAAaC,QAAQ,mBACzCznD,EAAQ,EAAcxD,C","sources":["contexts/node.js","contexts/team.js","components/blocklet/component.js","components/layout/admin.js","pages/dashboard.js","../../../blocklet/meta/lib/parse-navigation-from-blocklet.js","../../util/lib/format-name.js","../../util/lib/is-path-prefix-equal.js","../../ux/lib/actions.js","../../ux/lib/blocklet/access/config-access.js","../../ux/lib/blocklet/access/index.js","../../ux/lib/blocklet/actions.js","../../ux/lib/blocklet/add-cert.js","../../ux/lib/blocklet/agreement-app.js","../../ux/lib/blocklet/agreement.js","../../ux/lib/blocklet/app-avatar.js","../../ux/lib/blocklet/audit-logs.js","../../ux/lib/blocklet/blocklet-source.js","../../ux/lib/blocklet/bundle-avatar.js","../../ux/lib/blocklet/component/add.js","../../ux/lib/blocklet/component/configuration.js","../../ux/lib/blocklet/component/delete.js","../../ux/lib/blocklet/component/environment.js","../../ux/lib/blocklet/component/expiration.js","../../ux/lib/blocklet/component/index.js","../../ux/lib/blocklet/component/line.js","../../ux/lib/blocklet/component/navigation/locale-tabs.js","../../ux/lib/blocklet/component/navigation/navigation-actions.js","../../ux/lib/blocklet/component/navigation/navigation-dialog.js","../../ux/lib/blocklet/component/navigation/navigation-preview.js","../../ux/lib/blocklet/component/navigation/simple-select.js","../../ux/lib/blocklet/component/select-store.js","../../ux/lib/blocklet/component/setting.js","../../ux/lib/blocklet/component/sortable-tree.js","../../ux/lib/blocklet/component/store-blocklet-list.js","../../ux/lib/blocklet/config-navigation.js","../../ux/lib/blocklet/configuration.js","../../ux/lib/blocklet/disk-info.js","../../ux/lib/blocklet/icons.js","../../ux/lib/blocklet/install-from-url.js","../../ux/lib/blocklet/log.js","../../ux/lib/blocklet/mode.js","../../ux/lib/blocklet/monitor.js","../../ux/lib/blocklet/overview.js","../../ux/lib/blocklet/preferences/app-sk.js","../../ux/lib/blocklet/preferences/index.js","../../ux/lib/blocklet/preferences/wallet-type.js","../../ux/lib/blocklet/purchase/common.js","../../ux/lib/blocklet/purchase/component-purchase.js","../../ux/lib/blocklet/purchase/index.js","../../ux/lib/blocklet/router/action/add-domain-alias.js","../../ux/lib/blocklet/router/action/add-rule.js","../../ux/lib/blocklet/router/action/config-routing-rule.js","../../ux/lib/blocklet/router/action/delete-domain-alias.js","../../ux/lib/blocklet/router/action/delete-rule.js","../../ux/lib/blocklet/router/action/update-rule.js","../../ux/lib/blocklet/router/domain-actions.js","../../ux/lib/blocklet/router/domain-status.js","../../ux/lib/blocklet/router/rule-actions.js","../../ux/lib/blocklet/router/rule-list.js","../../ux/lib/blocklet/router/util.js","../../ux/lib/blocklet/runtime-info.js","../../ux/lib/blocklet/status.js","../../ux/lib/blocklet/storage.js","../../ux/lib/blocklet/types.js","../../ux/lib/blocklet/version.js","../../ux/lib/certificate.js","../../ux/lib/click-to-copy.js","../../ux/lib/confirm.js","../../ux/lib/contexts/audit-log.js","../../ux/lib/contexts/deleting-blocklets.js","../../ux/lib/contexts/node.js","../../ux/lib/contexts/session.js","../../ux/lib/contexts/team.js","../../ux/lib/delete-confirm.js","../../ux/lib/did-address.js","../../ux/lib/dot.js","../../ux/lib/form/form-text-input.js","../../ux/lib/hooks/mobile-width.js","../../ux/lib/hooks/use-app-logo.js","../../ux/lib/hooks/use-bundle-logo.js","../../ux/lib/hooks/use-navigation.js","../../ux/lib/layout/feedback.js","../../ux/lib/logs/clock.js","../../ux/lib/logs/download.js","../../ux/lib/logs/log-terminal.js","../../ux/lib/monitor/card.js","../../ux/lib/monitor/cpu.js","../../ux/lib/monitor/memory.js","../../ux/lib/passport-tag.js","../../ux/lib/permission.js","../../ux/lib/relative-time.js","../../ux/lib/store/add.js","../../ux/lib/store/delete.js","../../ux/lib/store/item.js","../../ux/lib/table-icons.js","../../ux/lib/table.js","../../ux/lib/tag.js","../../ux/lib/team/members/actions.js","../../ux/lib/team/members/index.js","../../ux/lib/team/members/invitations.js","../../ux/lib/team/members/invite-member.js","../../ux/lib/team/members/issue-passport.js","../../ux/lib/team/members/member.js","../../ux/lib/team/members/passport-issuances.js","../../ux/lib/team/members/passports.js","../../ux/lib/team/members/toggle-user-approval.js","../../ux/lib/team/members/transfer-node.js","../../ux/lib/team/members/util.js","../../ux/lib/team/passports/color.js","../../ux/lib/team/passports/detail.js","../../ux/lib/team/passports/index.js","../../ux/lib/team/passports/mutate-role.js","../../ux/lib/team/passports/trusted-issuer.js","../../ux/lib/team/passports/trusted-issuers.js","../../ux/lib/team/search-input.js","../../ux/lib/team/styles/list-header.js","../../ux/lib/util/api.js","../../ux/lib/util/constants.js","../../ux/lib/util/locales.js","../../ux/lib/util/mode.js"],"sourcesContent":["import { useContext } from 'react';\n\nimport { NodeContext } from '@abtnode/ux/lib/contexts/node';\nimport { WELLKNOWN_SERVICE_PATH_PREFIX } from '@abtnode/constant';\n\nimport client from '../libs/client';\nimport getWsClient, { create, useSubscription } from '../libs/ws';\nimport restApi from '../libs/api';\n\nconst { Provider, Consumer } = NodeContext;\n\n// eslint-disable-next-line react/prop-types\nfunction NodeProvider({ children }) {\n const imgPrefix = `${WELLKNOWN_SERVICE_PATH_PREFIX}/static/images`;\n\n const { serverDid, serverVersion, mode } = window.env;\n\n const value = {\n imgPrefix,\n api: client,\n restApi,\n ws: {\n getWsClient,\n create,\n useSubscription,\n },\n type: 'service',\n\n // Compatible with format in server dashboard\n info: {\n // server did\n did: serverDid,\n version: serverVersion,\n mode,\n },\n };\n\n return <Provider value={{ node: value }}>{children}</Provider>;\n}\n\nfunction useNodeContext() {\n const { node } = useContext(NodeContext);\n return node;\n}\n\nexport { NodeContext, NodeProvider, Consumer as NodeConsumer, useNodeContext };\n","import { useState, useContext, useEffect } from 'react';\n\nimport Toast from '@abtnode/ux/lib/toast';\nimport { getDisplayName } from '@blocklet/meta/lib/util';\nimport { BLOCKLET_CONFIGURABLE_KEY } from '@blocklet/constant';\nimport { RBAC_CONFIG, EVENTS } from '@abtnode/constant';\nimport { TeamContext } from '@abtnode/ux/lib/contexts/team';\n\nimport { useBlockletContext } from './blocklet';\nimport client from '../libs/client';\nimport { useSubscription } from '../libs/ws';\n\nconst { Provider, Consumer } = TeamContext;\n\nconst { did: teamDid, appId } = window.env;\n\n// eslint-disable-next-line react/prop-types\nfunction TeamProvider({ children }) {\n const { blocklet } = useBlockletContext();\n\n const [invitations, setInvitations] = useState([]);\n const [roles, setRoles] = useState([]);\n const [permissions, setPermissions] = useState([]);\n\n const teamName = getDisplayName(blocklet);\n\n const passportColor =\n (blocklet?.environments || []).find((x) => x.key === BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_PASSPORT_COLOR)?.value ||\n 'auto';\n\n const trustedPassports = blocklet?.trustedPassports || [];\n const enablePassportIssuance = blocklet?.enablePassportIssuance !== false;\n\n const getTeamData = async () => {\n try {\n const res = await client.doBatchQuery({\n getRoles: { input: { teamDid } },\n getPermissions: { input: { teamDid } },\n getInvitations: { input: { teamDid } },\n });\n\n setRoles(\n (res.getRoles.roles || [])\n // exclude some roles: not passport or only for ci\n .filter((x) => !RBAC_CONFIG.roles.some((y) => y.name === x.name && (!y.passport || y.ci)))\n // backwards compatibility\n .map((x) => {\n x.description = x.description || `Use this passport to connect ${teamName} as ${x.title}`;\n return x;\n })\n );\n setPermissions(res.getPermissions.permissions || []);\n setInvitations(res.getInvitations.invitations || []);\n } catch (err) {\n Toast.error(err.message);\n }\n };\n\n const getUsers = async ({ query, paging } = {}) => {\n const input = { teamDid };\n if (paging) {\n input.paging = paging;\n }\n\n if (query) {\n input.query = query;\n }\n\n input.sort = { lastLoginAt: -1 };\n\n return client.getUsers({ input });\n };\n\n const getUsersCountPerRole = () => client.getUsersCountPerRole({ input: { teamDid } });\n\n const refreshTeam = () => getTeamData();\n\n useEffect(() => {\n if (!blocklet?.meta?.did) {\n return;\n }\n getTeamData();\n }, [blocklet?.meta?.did]); // eslint-disable-line\n\n const onUserEvent = (data) => {\n if (data.teamDid === teamDid) {\n getTeamData(teamDid);\n }\n };\n\n useSubscription(EVENTS.USER_ADDED, onUserEvent, [teamDid]);\n useSubscription(EVENTS.USER_REMOVED, onUserEvent, [teamDid]);\n useSubscription(EVENTS.USER_UPDATED, onUserEvent, [teamDid]);\n\n const value = {\n teamDid,\n teamIssuerDid: appId,\n teamName,\n invitations,\n roles,\n permissions,\n trustedPassports,\n isNodeTeam: false,\n enablePassportIssuance,\n refresh: refreshTeam,\n passportColor,\n endpoint: window.location.origin,\n blocklet,\n api: {\n getUsers,\n getUsersCountPerRole,\n },\n };\n\n return <Provider value={value}>{children}</Provider>;\n}\n\nfunction useTeamContext() {\n return useContext(TeamContext);\n}\n\nexport { TeamContext, TeamProvider, Consumer as TeamConsumer, useTeamContext };\n","import PropTypes from 'prop-types';\nimport joinUrl from 'url-join';\n\nimport Components from '@abtnode/ux/lib/blocklet/component';\n\nexport default function BlockletComponent({ blocklet, ...props }) {\n const getComponentUrl = (mountPoint) => `${joinUrl(window.location.origin, mountPoint)}`;\n\n return <Components blocklet={blocklet} getComponentUrl={getComponentUrl} {...props} />;\n}\n\nBlockletComponent.propTypes = {\n blocklet: PropTypes.object.isRequired,\n};\n\nBlockletComponent.defaultProps = {};\n","/** @jsxImportSource @emotion/react */\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport { Box } from '@mui/material';\nimport ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';\nimport { ErrorBoundary } from 'react-error-boundary';\nimport '@iconify/iconify';\n\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport Center from '@arcblock/ux/lib/Center';\nimport Button from '@arcblock/ux/lib/Button';\nimport Spinner from '@mui/material/CircularProgress';\nimport { ErrorFallback } from '@arcblock/ux/lib/ErrorBoundary';\nimport { useLocation } from 'react-router-dom';\nimport Dashboard from '@blocklet/ui-react/lib/Dashboard';\nimport { formatError } from '@abtnode/ux/lib/util';\nimport Feedback from '@abtnode/ux/lib/layout/feedback';\n\nimport { useBlockletContext } from '../../contexts/blocklet';\nimport { useNodeContext } from '../../contexts/node';\n\nexport default function Layout({ children }) {\n const { t } = useLocaleContext();\n const {\n loading,\n error,\n actions: { refreshBlocklet },\n env,\n blocklet,\n } = useBlockletContext();\n const { info: nodeInfo } = useNodeContext();\n const location = useLocation();\n\n const { appId, version } = env;\n\n const infos = [\n {\n label: 'App ID',\n value: appId,\n },\n {\n label: 'App Version',\n value: version,\n },\n {\n label: 'App Bundle Name',\n value: blocklet?.meta?.bundleName,\n },\n {\n label: 'Server Id',\n value: nodeInfo.did,\n },\n {\n label: 'Server Version',\n value: nodeInfo.version,\n },\n ];\n\n return (\n <StyledDashboard\n legacy={false}\n fullWidth\n footerProps={{\n addon: <Feedback infos={infos} />,\n }}>\n {!blocklet && loading && (\n <Center relative=\"parent\">\n <Spinner />\n </Center>\n )}\n\n {!blocklet && error && (\n <Center relative=\"parent\">\n <Box display=\"flex\" alignItems=\"center\">\n <ErrorOutlineIcon color=\"error\" sx={{ marginRight: 1 }} />\n {formatError(error)}\n </Box>\n <Button onClick={() => refreshBlocklet()}>\n <span style={{ textDecoration: 'underline' }}>{t('common.retry')}</span>\n </Button>\n </Center>\n )}\n\n {!!blocklet && (\n <div className=\"dashboard-layout-body\">\n <div className=\"dashboard-layout-main\">\n <Box className=\"dashboard-layout-main\">\n <Box flex={1} padding=\"16px\" display=\"flex\" flexDirection=\"column\">\n <ErrorBoundary FallbackComponent={ErrorFallback} resetKeys={[location.pathname]}>\n {children}\n </ErrorBoundary>\n </Box>\n </Box>\n </div>\n </div>\n )}\n </StyledDashboard>\n );\n}\n\nLayout.propTypes = {\n children: PropTypes.any,\n};\n\nLayout.defaultProps = {\n children: null,\n};\n\nconst StyledDashboard = styled(Dashboard)`\n .dashboard-layout-body {\n flex: 1;\n display: flex;\n padding-top: 16px;\n }\n .dashboard-layout-main {\n flex: 1;\n padding: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n`;\n","/* eslint-disable react/jsx-one-expression-per-line */\nimport styled from '@emotion/styled';\nimport { useEffect, isValidElement } from 'react';\nimport { useNavigate, useParams } from 'react-router-dom';\n\nimport Box from '@mui/material/Box';\nimport Badge from '@mui/material/Badge';\n\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport Tabs from '@arcblock/ux/lib/Tabs';\nimport { getDisplayName, getAppMissingConfigs } from '@blocklet/meta/lib/util';\nimport { WELLKNOWN_SERVICE_PATH_PREFIX } from '@abtnode/constant';\nimport { getBlockletServices, isInstalling } from '@abtnode/ux/lib/util';\nimport Spinner from '@mui/material/CircularProgress';\nimport Alert from '@arcblock/ux/lib/Alert';\n\nimport { DeletingBlockletProvider } from '@abtnode/ux/lib/contexts/deleting-blocklets';\nimport Logs from '@abtnode/ux/lib/blocklet/log';\nimport Overview from '@abtnode/ux/lib/blocklet/overview';\nimport Preferences from '@abtnode/ux/lib/blocklet/preferences';\nimport AuditLogs from '@abtnode/ux/lib/blocklet/audit-logs';\nimport BlockletConfigNavigation from '@abtnode/ux/lib/blocklet/config-navigation';\nimport Passports from '@abtnode/ux/lib/team/passports';\nimport Members from '@abtnode/ux/lib/team/members';\nimport BlockletStatus from '@abtnode/ux/lib/blocklet/status';\nimport BlockletActions from '@abtnode/ux/lib/blocklet/actions';\nimport BlockletAppAvatar from '@abtnode/ux/lib/blocklet/app-avatar';\nimport Monitor from '@abtnode/ux/lib/blocklet/monitor';\nimport Toast from '@abtnode/ux/lib/toast';\n\nimport Storage from '@abtnode/ux/lib/blocklet/storage';\n\nimport { isAlphaMode } from '@abtnode/ux/lib/util/mode';\nimport getWsClient from '../libs/ws';\nimport { useBlockletContext } from '../contexts/blocklet';\nimport { NodeProvider } from '../contexts/node';\nimport { TeamProvider } from '../contexts/team';\nimport Components from '../components/blocklet/component';\nimport AdminLayout from '../components/layout/admin';\n\nfunction BlockletService() {}\n\nfunction Dashboard() {\n const navigate = useNavigate();\n const { tab: currentTab = 'overview' } = useParams();\n const {\n blocklet,\n actions: { refreshBlocklet },\n } = useBlockletContext();\n const { t } = useLocaleContext();\n\n const did = blocklet?.meta?.did;\n\n const onTabChange = (newTab) => {\n navigate(`${WELLKNOWN_SERVICE_PATH_PREFIX}/admin/${newTab}`);\n };\n\n const onUpdate = async () => {\n refreshBlocklet();\n };\n\n const missingRequiredConfigs = !blocklet || isInstalling(blocklet.status) ? [] : getAppMissingConfigs(blocklet);\n\n const tabs = [\n { label: t('common.overview'), value: 'overview' },\n // TODO\n // { label: t('router.routerSetting'), value: 'access' },\n {\n label: (\n <Badge color=\"error\" variant=\"dot\" invisible={!missingRequiredConfigs.length}>\n {t('common.components')}\n </Badge>\n ),\n value: 'components',\n },\n ];\n\n if (!isInstalling(blocklet?.status)) {\n tabs.push({ label: t('common.configuration'), value: 'configuration' });\n }\n\n tabs.push({ label: t('common.auditLogs'), value: 'audit-logs' });\n tabs.push({ label: t('common.logs'), value: 'logs' });\n tabs.push({ label: t('common.configNavigation'), value: 'navigation' });\n tabs.push({ label: t('common.monitor'), value: 'monitor' });\n\n if (isAlphaMode) {\n tabs.push({ label: t('common.storage'), value: 'storage' });\n }\n\n const services = getBlockletServices(blocklet);\n if (services.length) {\n // TODO\n // tabs.splice(2, 0, { label: t('blocklet.services'), value: 'services' });\n }\n\n const renderAuditLogs = <AuditLogs scope={did} />;\n\n const renders = {\n overview: <Overview />,\n services: <BlockletService />,\n members: (\n <Box mt={-5}>\n <Members type=\"blocklet\" />\n </Box>\n ),\n passports: (\n <Box mt={-4.5}>\n <Passports />\n </Box>\n ),\n components: Components,\n configuration: <Preferences blocklet={blocklet} onUpdate={onUpdate} />,\n 'audit-logs': renderAuditLogs,\n logs: Logs,\n navigation: BlockletConfigNavigation,\n monitor: <Monitor />,\n ...{\n storage: isAlphaMode ? <Storage /> : undefined,\n },\n };\n const TabComponent = renders[currentTab] || renders.overview;\n\n const showHeader = !['members', 'passports'].includes(currentTab);\n\n const content = !blocklet ? (\n <Spinner />\n ) : (\n <DeletingBlockletProvider type=\"components\">\n {showHeader && <Tabs tabs={tabs} current={currentTab} onChange={onTabChange} scrollButtons=\"auto\" />}\n <div className=\"page-content\">\n {isValidElement(TabComponent) ? TabComponent : <TabComponent blocklet={blocklet} />}\n </div>\n </DeletingBlockletProvider>\n );\n\n return (\n <NodeProvider>\n <TeamProvider>\n <AdminLayout>\n <Main>\n {showHeader && (\n <>\n <Box component=\"div\" className=\"page-header\">\n <Box component=\"h2\" variant=\"h4\" className=\"page-title\" color=\"textPrimary\">\n {blocklet ? <BlockletAppAvatar blocklet={blocklet} style={{ marginRight: 16 }} /> : null}\n {blocklet ? (\n <Box display=\"flex\" alignItems=\"center\">\n <Box>{getDisplayName(blocklet)}</Box>\n {!!blocklet && (\n <BlockletStatus\n size=\"12px\"\n style={{ marginLeft: 8 }}\n status={blocklet.status}\n source={blocklet.source}\n />\n )}\n </Box>\n ) : (\n `${t('common.blocklet')} ${t('common.detail')}`\n )}\n </Box>\n {blocklet ? (\n <BlockletActions\n className=\"page-actions\"\n hasPermission\n blocklet={blocklet}\n onStart={() => {}}\n onComplete={({ error } = {}) => {\n if (error) {\n Toast.error(error.message);\n }\n }}\n variant=\"group\"\n />\n ) : null}\n </Box>\n\n {!!missingRequiredConfigs.length && (\n <Alert type=\"error\" style={{ margin: '12px 0' }}>\n {t('blocklet.config.missingRequired')}\n </Alert>\n )}\n </>\n )}\n {content}\n </Main>\n </AdminLayout>\n </TeamProvider>\n </NodeProvider>\n );\n}\n\nexport default function WrapDashboard() {\n const { blocklet } = useBlockletContext();\n\n const did = blocklet?.meta?.did;\n\n useEffect(() => {\n const wsClient = getWsClient();\n\n if (did) {\n wsClient.connect();\n }\n\n return () => {\n if (did && wsClient.isConnected()) {\n wsClient.disconnect();\n }\n };\n }, [did]);\n\n return <Dashboard />;\n}\n\nconst Main = styled.main`\n .page-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .page-title {\n display: flex;\n align-items: center;\n\n .page-link {\n font-size: 15px;\n margin-top: 8px;\n margin-left: 8px;\n }\n }\n\n .page-content {\n margin-top: 36px;\n }\n\n @media (max-width: ${(props) => props.theme.breakpoints.values.md}px) {\n .page-header {\n flex-direction: column;\n align-items: flex-start;\n .page-actions,\n .MuiButtonGroup-root {\n width: 100%;\n }\n .MuiButtonGroup-root {\n .MuiButtonBase-root {\n flex: 1;\n }\n .blocklet-action-text {\n display: none;\n }\n }\n }\n\n .page-title {\n margin-bottom: 15px;\n }\n }\n`;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitNavigationBySection = exports.flatternNavigation = exports.checkLink = exports.joinLink = exports.cleanOrphanNavigation = exports.filterNavigation = exports.nestNavigationList = exports.isMatchSection = exports.deepWalk = exports.parseNavigation = void 0;\nconst unionWith_1 = __importDefault(require(\"lodash/unionWith\"));\nconst isEqual_1 = __importDefault(require(\"lodash/isEqual\"));\nconst pick_1 = __importDefault(require(\"lodash/pick\"));\nconst isNil_1 = __importDefault(require(\"lodash/isNil\"));\nconst omit_1 = __importDefault(require(\"lodash/omit\"));\nconst cloneDeep_1 = __importDefault(require(\"lodash/cloneDeep\"));\nconst url_join_1 = __importDefault(require(\"url-join\"));\nconst path_1 = __importDefault(require(\"path\"));\nconst is_absolute_url_1 = __importDefault(require(\"is-absolute-url\"));\nconst lodash_1 = require(\"lodash\");\nconst DEFAULT_SECTION = 'header';\nconst BASE_PATH = '/';\nconst DEFAULT_LINK = '/';\nconst ID_SEPARATE = '/';\n/**\n * 判断一个 url 是否为合法的 url 拼接路径\n * /abc, /abc/bcd valid\n * /abc, /abc//bcd invalid\n * @param value 需要检查的 url path\n * @returns boolean\n */\nconst checkUrlPath = (value) => {\n return /^\\/(?:[^/]+\\/)*$/.test(value) || /^\\/(?:[^/]+\\/)*[^/]+$/.test(value);\n};\nconst checkLink = (value) => {\n if ((0, is_absolute_url_1.default)(value) || checkUrlPath(value)) {\n return true;\n }\n return false;\n};\nexports.checkLink = checkLink;\nfunction deepWalk(tree, cb = () => { }, { key = 'children', order = 'first' } = {}) {\n function walk(current, { index = 0, parent = null, level = 0 } = {}) {\n if (Array.isArray(current)) {\n current.forEach((item, i) => {\n walk(item, { index: i, parent, level: level + 1 });\n });\n }\n else if (current) {\n if (order === 'first') {\n cb(current, parent, { index, level });\n }\n walk(current[key], { parent: current, level });\n if (order === 'last') {\n cb(current, parent, { index, level });\n }\n }\n }\n walk(tree);\n}\nexports.deepWalk = deepWalk;\n/**\n * 判断一个传入值是否属于一个 section\n * @param {string | array} sections 需要判断的对象\n * @param {string} section 目标 section\n */\nfunction isMatchSection(sections, section) {\n if (section === DEFAULT_SECTION && (0, isNil_1.default)(sections)) {\n return true;\n }\n if (Array.isArray(sections)) {\n return sections.includes(section);\n }\n return sections === section;\n}\nexports.isMatchSection = isMatchSection;\nfunction tryParseItem(item) {\n try {\n return JSON.parse(item);\n }\n catch {\n return item;\n }\n}\nfunction normalizeNavigationList(navigationList) {\n return navigationList.map((item) => {\n const tempData = { ...item };\n if (tempData.role) {\n tempData.role = tryParseItem(tempData.role);\n }\n if (tempData.section) {\n tempData.section = tryParseItem(tempData.section);\n }\n if (tempData.title) {\n tempData.title = tryParseItem(tempData.title);\n }\n if (tempData.link) {\n tempData.link = tryParseItem(tempData.link);\n }\n return tempData;\n });\n}\nfunction optionalJoin(prefix = '/', url = '') {\n if ((0, is_absolute_url_1.default)(url || '')) {\n return url;\n }\n // remove last slash\n const resultUrl = path_1.default.join(prefix, url || DEFAULT_LINK);\n if (resultUrl.length > 1 && resultUrl.endsWith('/')) {\n return resultUrl.slice(0, resultUrl.length - 1);\n }\n return resultUrl;\n}\nfunction smartJoinLink(_parentLink, _childLink, { strict = true, } = {}) {\n let parentLink = _parentLink;\n let childLink = _childLink;\n if (!strict) {\n parentLink = parentLink || '/';\n childLink = childLink || '/';\n }\n if ((0, lodash_1.isObject)(parentLink) && (0, lodash_1.isString)(childLink) && checkLink(childLink)) {\n return Object.keys(parentLink).reduce((res, key) => {\n res[key] = optionalJoin(parentLink[key], childLink);\n return res;\n }, {});\n }\n if ((0, lodash_1.isString)(parentLink) && checkLink(parentLink) && (0, lodash_1.isObject)(childLink)) {\n return Object.keys(childLink).reduce((res, key) => {\n res[key] = optionalJoin(parentLink, childLink[key]);\n return res;\n }, {});\n }\n if ((0, lodash_1.isString)(parentLink) && (0, lodash_1.isString)(childLink)) {\n if (checkLink(parentLink) || checkLink(childLink)) {\n return optionalJoin(parentLink, childLink);\n }\n return childLink;\n }\n if ((0, lodash_1.isObject)(parentLink) && (0, lodash_1.isObject)(childLink)) {\n const keys = [...new Set([...Object.keys(parentLink), ...Object.keys(childLink)])];\n return keys.reduce((res, key) => {\n res[key] = optionalJoin(parentLink[key], childLink[key]);\n return res;\n }, {});\n }\n return childLink;\n}\nfunction joinLink(navigation, components) {\n const copyNavigation = (0, cloneDeep_1.default)(navigation);\n deepWalk(copyNavigation, (item, parent) => {\n const component = item.component || item.child;\n if (component) {\n const findComponent = components.find((v) => v.name === component);\n if (findComponent) {\n item.link = smartJoinLink(findComponent.link, item.link, { strict: false });\n }\n }\n else if (parent) {\n item.link = smartJoinLink(parent.link, item.link);\n }\n }, { key: 'items' });\n return copyNavigation;\n}\nexports.joinLink = joinLink;\n/**\n * 将树状结构的导航列表进行扁平化处理\n * @param {array} navigationList 树状结构的导航列表\n * @param {object} params 配置参数\n * @param {number} params.depth 扁平化的层级,默认为 1(全拍平)\n * @param {function} params.transform 当发生拍平处理时\n * @returns 扁平化后的导航列表\n */\nfunction flatternNavigation(list = [], { depth = 1, transform = (v) => v } = {}) {\n const copyList = (0, cloneDeep_1.default)(list);\n const finalList = [];\n deepWalk(copyList, (item, parent, { level }) => {\n if (level >= depth) {\n const { items = [] } = item;\n if (items && Array.isArray(items) && items.length > 0) {\n delete item.items;\n const transformedItems = items.map((v) => transform(v, item));\n if (parent) {\n parent.items.push(...transformedItems);\n }\n else {\n const tmpItem = transform((0, omit_1.default)(item, ['items']), parent);\n finalList.push(tmpItem, ...transformedItems);\n }\n }\n else if (level === 1) {\n const tmpItem = transform((0, omit_1.default)(item, ['items']), parent);\n finalList.push(tmpItem);\n }\n }\n else if (level === 1) {\n finalList.push(item);\n }\n }, { key: 'items', order: 'last' });\n return finalList;\n}\nexports.flatternNavigation = flatternNavigation;\n/**\n * 将 blocklet 中的数据进行处理,获得当前应用的导航数据及组件数据\n * @param {object} blocklet blocklet 应用实例对象\n * @returns 导航数据及组件数据\n */\nfunction parseBlockletNavigationList(blocklet = {}) {\n const components = [];\n /**\n *\n * @param {object} current 当前 blocklet 的数据\n * @param {object} parent 当前 blocklet 的父组件数据\n * @returns\n */\n function genNavigationListByBlocklet(current, parent = {}) {\n const targetList = [];\n const { children = [], meta = {} } = current;\n const navigation = (0, cloneDeep_1.default)(meta?.navigation || []);\n if (current.meta?.capabilities?.navigation !== false) {\n targetList.push(...navigation);\n }\n const parentName = parent.name || '';\n const parentBase = parent.mountPoint || BASE_PATH;\n const currentName = current === blocklet ? '' : meta.name || '';\n const currentBase = current === blocklet ? '' : current.mountPoint || BASE_PATH;\n for (const child of children) {\n const childName = child.meta.name;\n const childBase = child.mountPoint;\n const mergeName = [parentName, currentName, childName].filter(Boolean).join('.');\n const childNavigation = child.meta.navigation || [];\n const mergeBase = (0, url_join_1.default)(parentBase, currentBase, childBase);\n if (child.meta?.capabilities?.navigation !== false) {\n components.push({\n did: child.meta.did,\n name: mergeName,\n link: mergeBase,\n title: child.meta.title || '',\n navigation: childNavigation.map((item) => ({\n // 给每个 navigation 赋予一个 setion,用于在 autocomplete 提供依据 section 筛选的基础\n section: DEFAULT_SECTION,\n ...item,\n })),\n });\n }\n // 在现有的 navigation 中判断是否存在 children\n const matchNavigation = navigation.find((item) => {\n if (item.component) {\n return item.component === childName;\n }\n return false;\n });\n // 如果存在,并且当前 navigation 未配置任何 link,则将 child mountpoint 给它\n if (matchNavigation) {\n if (!matchNavigation.link) {\n if (child.meta.navigation && child.meta.navigation.length > 0) {\n const items = genNavigationListByBlocklet(child, { mountPoint: currentBase, name: currentName });\n if (items.length > 0) {\n matchNavigation.items = matchNavigation.items ?? [];\n matchNavigation.items.push(...items);\n }\n }\n else {\n matchNavigation.link = DEFAULT_LINK;\n }\n }\n }\n else if (child.meta?.capabilities?.navigation !== false) {\n const childItems = genNavigationListByBlocklet(child, { mountPoint: currentBase, name: currentName });\n // 否则动态注入一个 navigation\n const tmpData = {\n title: child.meta.title,\n component: childName,\n // 动态注入的 navigation 需要一个默认的 id,blocklet.meta.id 是唯一的,可以用上这个值\n id: child.meta.did,\n };\n if (childItems.length > 0) {\n tmpData.items = childItems;\n tmpData.link = undefined;\n }\n else {\n tmpData.link = DEFAULT_LINK;\n }\n targetList.push(tmpData);\n }\n }\n return targetList;\n }\n const navigationList = genNavigationListByBlocklet(blocklet);\n return {\n navigationList,\n components,\n };\n}\nfunction patchBuiltinNavigation(navigation) {\n const copyNavigation = (0, cloneDeep_1.default)(navigation).filter((item) => item.id);\n deepWalk(copyNavigation, (item, parent) => {\n if (item.items && item.items.length) {\n for (let i = item.items.length - 1; i >= 0; i--) {\n if (!item.items[i].id) {\n item.items.splice(i, 1);\n }\n }\n // 如果 items 全都不符合规范,保留 item 本身,为其增加一个默认的链接\n if (item.items.length === 0) {\n if (item.component) {\n item.link = item.link || DEFAULT_LINK;\n }\n }\n }\n if (parent) {\n item.parent = parent.id;\n // 由于默认设置的 id(在 blocklet.yml 中手动赋予的存在重复的可能性比较大,所以通过 `/` 拼接父节点的 id,可以大大降低重复的概率)\n item.id = [parent.id, item.id].join(ID_SEPARATE);\n }\n item.from = item.from || 'yaml';\n item.visible = item.visible ?? true;\n }, { key: 'items' });\n return copyNavigation;\n}\n/**\n * 将多层结构的导航列表压缩至指定最大深度的树状结构\n * @param {array} navigation 树状结构的导航列表数据\n * @param {number} depth 压缩的层级\n * @returns 压缩后的树状结构导航列表数据\n */\nfunction compactNavigation(navigation, depth = 2) {\n const copyNavigation = (0, cloneDeep_1.default)(navigation);\n const resData = flatternNavigation(copyNavigation, {\n depth,\n transform: (item, parent) => {\n if (parent) {\n if (!item._parent) {\n item._parent = parent.id;\n if (!parent.component) {\n item.link = smartJoinLink(parent.link, item.link);\n }\n }\n item.section = item.section || parent.section || [DEFAULT_SECTION];\n item.visible = item.visible ?? parent.visible;\n }\n item.component = [parent.component, item.component].filter(Boolean).join('.');\n return item;\n },\n });\n deepWalk(resData, (item) => {\n if (item.items && item.items.length > 0) {\n item.items.reduceRight((all, cur) => {\n if (cur._parent) {\n const index = item.items.findIndex((v) => v.id === cur._parent);\n if (index >= 0) {\n item.items.splice(index, 1);\n }\n delete cur._parent;\n }\n return null;\n }, null);\n }\n }, { key: 'items' });\n return resData;\n}\n/**\n * 返回指定的导航中的子菜单(属于指定 section)\n * @param {object} navigationItem 指定的某一个导航数据\n * @param {string} section 指定的 section 区域\n * @returns\n */\nfunction getNavigationListBySection(navigationItem, section) {\n if (section && Array.isArray(navigationItem.items)) {\n return navigationItem.items\n .filter((item) => {\n // 如果当前子菜单没有 section,它的 section 应该跟随父菜单的 section\n if ((0, isNil_1.default)(item.section)) {\n return isMatchSection(navigationItem.section, section);\n }\n if (isMatchSection(item.section, section)) {\n return true;\n }\n return false;\n })\n .map((item) => ({ ...item, section }));\n }\n return [];\n}\n/**\n * 根据导航中每一个子菜单所属的 section,将原由的导航数据分离为多个导航数据(此时每一个导航 item 只会包含一个 section)\n * @param {array} navigation 导航列表数据(树状结构,目前只适用于两层的树状结构)\n * @returns\n */\nfunction splitNavigationBySection(navigation) {\n const copyNavigation = (0, cloneDeep_1.default)(navigation);\n const allNavigationList = [];\n for (const navigationItem of copyNavigation) {\n const baseNavigation = (0, cloneDeep_1.default)((0, omit_1.default)(navigationItem, ['items']));\n const itemNavigationList = [];\n // eslint-disable-next-line no-inner-declarations\n function patchNavigationItem(item, section) {\n const sectionNavigationList = getNavigationListBySection(item, section);\n itemNavigationList.push({\n ...baseNavigation,\n section,\n items: sectionNavigationList,\n });\n }\n if (Array.isArray(navigationItem.section)) {\n for (const section of navigationItem.section) {\n patchNavigationItem(navigationItem, section);\n }\n }\n else if (navigationItem.section) {\n const { section } = navigationItem;\n patchNavigationItem(navigationItem, section);\n }\n else if (navigationItem.items && navigationItem.items.length > 0) {\n const allSectionList = navigationItem.items.reduce((list, currentValue) => {\n const { section = [DEFAULT_SECTION] } = currentValue || {};\n list.push(...section);\n return list;\n }, []);\n const sectionList = [...new Set(allSectionList)];\n for (const section of sectionList) {\n patchNavigationItem(navigationItem, section);\n }\n }\n else {\n itemNavigationList.push({\n ...navigationItem,\n section: DEFAULT_SECTION,\n });\n }\n allNavigationList.push(...itemNavigationList);\n }\n return allNavigationList;\n}\nexports.splitNavigationBySection = splitNavigationBySection;\n/**\n * 将导航数据进行层叠处理\n * @param {array} list 扁平化的导航数据\n * @returns 处理后的导航\n */\nfunction nestNavigationList(list = []) {\n const cloneList = (0, cloneDeep_1.default)(list);\n cloneList.reduceRight((res, item, index) => {\n if (item.parent) {\n const parent = cloneList.find((i) => {\n if (item.section && i.section) {\n return i.section === item.section && i.id === item.parent;\n }\n return i.id === item.parent;\n });\n if (parent) {\n if (!parent.items)\n parent.items = [];\n // 由于 reduceRight 是从后向前遍历,所以后遍历到的其实顺序在前面\n parent.items = [item, ...parent.items];\n }\n cloneList.splice(index, 1);\n }\n return null;\n }, null);\n return cloneList;\n}\nexports.nestNavigationList = nestNavigationList;\nfunction filterNavigation(navigationList, components = []) {\n const nestedNavigation = nestNavigationList(navigationList);\n deepWalk(nestedNavigation, (item) => {\n if (item?.component) {\n if (!components.some((x) => x.name === item.component)) {\n item.visible = false;\n }\n }\n if (item.items && item.items.length) {\n for (let i = item.items.length - 1; i >= 0; i--) {\n if (item.items[i].visible === false) {\n item.items.splice(i, 1);\n }\n }\n }\n }, { key: 'items' });\n const filteredNavigation = nestedNavigation.filter((item) => {\n if (item.visible === false)\n return false;\n // 如果某一菜单的 子菜单 均为隐藏状态,则一级菜单本身也不显示出来\n if (item.items &&\n Array.isArray(item.items) &&\n item.items.length > 0 &&\n item.items?.every((v) => v.visible === false))\n return false;\n return true;\n });\n return filteredNavigation;\n}\nexports.filterNavigation = filterNavigation;\nfunction cleanOrphanNavigation(list) {\n // 将仅有一个 child 的菜单提升到上一级\n return list.map((item) => {\n if (item.items && Array.isArray(item.items) && item.items.length === 1) {\n if (['header', 'footer', '', undefined, null].includes(item.section)) {\n return item.items[0];\n }\n }\n return item;\n });\n}\nexports.cleanOrphanNavigation = cleanOrphanNavigation;\nfunction parseNavigation(blocklet = {}, options = {}) {\n const { beforeProcess = (v) => v } = options;\n const { navigationList: builtinNavigation, components } = parseBlockletNavigationList(blocklet);\n const customNavigationList = blocklet?.settings?.navigations || [];\n const compactedNavigation = compactNavigation(beforeProcess(builtinNavigation));\n const patchedNavigation = patchBuiltinNavigation(compactedNavigation);\n const splitNavigation = splitNavigationBySection(patchedNavigation);\n // 将 footer-social, footer-bottom, sessionManager 的二级菜单提升为一级菜单\n const levelUpNavigation = splitNavigation.reduce((all, cur) => {\n if (['bottom', 'social', 'sessionManager'].includes(cur.section)) {\n if (cur.items && cur.items.length > 0) {\n all.push(...cur.items.map((x) => {\n const { section } = cur;\n const link = smartJoinLink(cur.link, x.link);\n const component = [cur.component, x.component].filter(Boolean).join('.');\n return { ...x, section, link, component, parent: '' };\n }));\n return all;\n }\n }\n all.push(cur);\n return all;\n }, []);\n const flatNavigation = flatternNavigation(levelUpNavigation, {\n transform(item, parent) {\n let { component } = item;\n if (parent?.component) {\n component = [parent.component, item.component].filter(Boolean).join('.');\n }\n return { ...item, component };\n },\n });\n const rawNavigation = (0, unionWith_1.default)(normalizeNavigationList(customNavigationList), flatNavigation, (prev, next) => {\n const keys = ['id', 'section'];\n return (0, isEqual_1.default)((0, pick_1.default)(prev, keys), (0, pick_1.default)(next, keys));\n });\n return { navigationList: rawNavigation, components, builtinList: flatNavigation };\n}\nexports.parseNavigation = parseNavigation;\n","const slugify = require('slugify');\n\nconst formatName = (name) => slugify(name.replace(/^[@./-]/, '').replace(/[@./_]/g, '-'));\n\nmodule.exports = formatName;\n","const normalizePathPrefix = require('./normalize-path-prefix');\n\nmodule.exports = (a, b) => normalizePathPrefix(a) === normalizePathPrefix(b);\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Actions;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\nvar _Menu = _interopRequireDefault(require(\"@mui/material/Menu\"));\nvar _MenuItem = _interopRequireDefault(require(\"@mui/material/MenuItem\"));\nvar _MoreHoriz = _interopRequireDefault(require(\"@mui/icons-material/MoreHoriz\"));\nvar _ListItemIcon = _interopRequireDefault(require(\"@mui/material/ListItemIcon\"));\nvar _ListItemText = _interopRequireDefault(require(\"@mui/material/ListItemText\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nconst _excluded = [\"actions\"],\n _excluded2 = [\"icon\", \"text\", \"onClick\", \"disabled\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction Actions(_ref) {\n let {\n actions\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n const [anchorEl, setAnchorEl] = (0, _react.useState)(null);\n const open = Boolean(anchorEl);\n const onOpen = e => {\n try {\n e.stopPropagation();\n e.preventDefault();\n // eslint-disable-next-line no-empty\n } catch (_unused) {}\n setAnchorEl(e.currentTarget);\n };\n const onClose = e => {\n try {\n e.stopPropagation();\n e.preventDefault();\n // eslint-disable-next-line no-empty\n } catch (_unused2) {}\n setAnchorEl(null);\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, _objectSpread(_objectSpread({}, props), {}, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n \"aria-label\": \"more\",\n \"aria-controls\": \"actions-menu\",\n \"aria-haspopup\": \"true\",\n \"data-cy\": \"actions-menu-icon\",\n onClick: onOpen,\n size: \"large\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MoreHoriz.default, {})\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Menu.default, {\n id: \"actions-menu\",\n \"data-cy\": \"actions-menu\",\n anchorEl: anchorEl,\n keepMounted: true,\n open: open,\n onClose: onClose,\n PaperProps: {},\n children: actions.map((action, index) => {\n if (typeof action === 'function') {\n return action({\n close: onClose\n });\n }\n const {\n icon,\n text,\n onClick: _onClick,\n disabled = false\n } = action,\n opts = _objectWithoutProperties(action, _excluded2);\n return /*#__PURE__*/(0, _react.createElement)(_MenuItem.default, _objectSpread(_objectSpread({}, opts), {}, {\n disabled: disabled,\n dense: true,\n onClick: e => {\n onClose();\n _onClick(e);\n }\n // eslint-disable-next-line react/no-array-index-key\n ,\n key: index\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemIcon.default, {\n style: {\n minWidth: 24,\n marginRight: 8\n },\n children: icon\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemText.default, {\n primary: text\n }));\n })\n })]\n }));\n}\nActions.propTypes = {\n actions: _propTypes.default.array\n};\nActions.defaultProps = {\n actions: []\n};\nconst Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ConfigAccess;\nexports.getComponentWhoCanAccess = void 0;\nvar _react = require(\"react\");\nvar _get = _interopRequireDefault(require(\"lodash/get\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _TextField = _interopRequireDefault(require(\"@mui/material/TextField\"));\nvar _MenuItem = _interopRequireDefault(require(\"@mui/material/MenuItem\"));\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _Edit = _interopRequireDefault(require(\"@mui/icons-material/Edit\"));\nvar _useTheme = _interopRequireDefault(require(\"@mui/material/styles/useTheme\"));\nvar _Group = _interopRequireDefault(require(\"@mui/icons-material/Group\"));\nvar _Chip = _interopRequireDefault(require(\"@mui/material/Chip\"));\nvar _ListItemText = _interopRequireDefault(require(\"@mui/material/ListItemText\"));\nvar _Checkbox = _interopRequireDefault(require(\"@mui/material/Checkbox\"));\nvar _constant = require(\"@blocklet/constant\");\nvar _constant2 = require(\"@abtnode/constant\");\nvar _util = require(\"@blocklet/meta/lib/util\");\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Dialog = _interopRequireDefault(require(\"@arcblock/ux/lib/Dialog\"));\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _node = require(\"../../contexts/node\");\nvar _team = require(\"../../contexts/team\");\nvar _util2 = require(\"../../util\");\nvar _toast = _interopRequireDefault(require(\"../../toast\"));\nvar _config = _interopRequireDefault(require(\"../../who-can-access/config\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject, _templateObject2;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nconst CONFIG_ROLE = 'roles';\nconst Configs = [..._config.default, {\n value: CONFIG_ROLE,\n icon: _Group.default,\n title: {\n zh: '指定通行证可访问',\n en: 'Accessible to selected passports'\n },\n description: {\n zh: '只有指定的通行证可以访问',\n en: 'Only specified passports can access'\n }\n}];\nconst getAccess = (whoCanAccess, roleStore) => {\n if (whoCanAccess && whoCanAccess.startsWith(_constant2.WHO_CAN_ACCESS_PREFIX_ROLES)) {\n const roleNames = (0, _util.getRolesFromAuthConfig)({\n whoCanAccess\n });\n const filterRoles = roleStore.filter(x => roleNames.includes(x.name));\n return {\n access: CONFIG_ROLE,\n roles: filterRoles\n };\n }\n return {\n access: whoCanAccess,\n roles: []\n };\n};\nconst getComponentWhoCanAccess = function getComponentWhoCanAccess(component, app) {\n let {\n roles = []\n } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const access = (component.configs || []).find(x => x.key === _constant.BLOCKLET_CONFIGURABLE_KEY.COMPONENT_ACCESS_WHO);\n if (access) {\n return getAccess(access.value, roles);\n }\n if (app && (0, _get.default)(app, 'settings.whoCanAccess') && (0, _get.default)(app, 'settings.whoCanAccess') !== _constant2.WHO_CAN_ACCESS.ALL) {\n return getAccess((0, _get.default)(app, 'settings.whoCanAccess'), roles);\n }\n const service = (0, _util.findServiceFromMeta)(component.meta, _constant2.NODE_SERVICES.AUTH);\n if ((0, _get.default)(service, 'config.whoCanAccess')) {\n return getAccess(service.config.whoCanAccess, roles);\n }\n return {\n access: _constant2.WHO_CAN_ACCESS.ALL,\n roles: []\n };\n};\nexports.getComponentWhoCanAccess = getComponentWhoCanAccess;\nfunction ConfigAccess(_ref) {\n let {\n blocklet,\n ancestors,\n children\n } = _ref;\n const theme = (0, _useTheme.default)();\n const [showDialog, setShowDialog] = (0, _react.useState)('');\n const {\n t,\n locale\n } = (0, _context.useLocaleContext)();\n const {\n api\n } = (0, _node.useNodeContext)();\n const {\n roles: roleList\n } = (0, _team.useTeamContext)();\n const [loading, setLoading] = (0, _react.useState)('');\n const root = ancestors[0] || blocklet;\n const {\n access: defaultValue,\n roles: defaultRoles\n } = getComponentWhoCanAccess(blocklet, root, {\n roles: roleList\n });\n const [whoCanAccess, setWhoCanAccess] = (0, _react.useState)(defaultValue);\n const [roles, setRoles] = (0, _react.useState)(defaultRoles);\n const dids = [...ancestors.map(x => x.meta.did), blocklet.meta.did];\n const iconStyle = {\n marginRight: 4,\n fontSize: 18,\n verticalAlign: 'text-bottom',\n color: theme.palette.text.secondary\n };\n const componentName = ancestors.concat(blocklet).map(x => (0, _util.getDisplayName)(x, true)).join(' / ');\n if ((0, _util2.isInstalling)(blocklet.status)) {\n return null;\n }\n if (blocklet.status === 'unknown' && (0, _util2.isInstalling)(blocklet.status)) {\n return null;\n }\n const onClose = () => {\n setShowDialog(false);\n };\n const onOpen = e => {\n e.stopPropagation();\n // eslint-disable-next-line no-unused-expressions\n setShowDialog(true);\n };\n const onWhoCanAccessChange = e => {\n const {\n value\n } = e.target;\n setWhoCanAccess(value);\n };\n const onRolesChange = e => {\n setRoles(roleList.filter(x => (e.target.value || []).includes(x.name)));\n };\n const onConfirm = async () => {\n if (loading) {\n return;\n }\n setLoading(true);\n try {\n let value = whoCanAccess;\n if (value === CONFIG_ROLE) {\n value = \"\".concat(_constant2.WHO_CAN_ACCESS_PREFIX_ROLES).concat(roles.map(x => x.name).join(','));\n }\n await api.updateWhoCanAccess({\n input: {\n did: dids,\n whoCanAccess: value\n }\n });\n _toast.default.success(t('blocklet.config.access.updatedTip'));\n onClose();\n setLoading(false);\n } catch (err) {\n setLoading(false);\n _toast.default.error((0, _util2.formatError)(err));\n }\n };\n const disabled = loading || whoCanAccess === CONFIG_ROLE && !roles.length;\n return [typeof children === 'function' ? children({\n open: onOpen\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n onClick: onOpen,\n \"data-cy\": \"action-config-component\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Edit.default, {})\n }), showDialog && /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledDialog, {\n open: true,\n fullWidth: true,\n title: componentName,\n onClose: onClose,\n PaperProps: {\n style: {\n minHeight: 'auto'\n }\n },\n actions: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: onClose,\n color: \"inherit\",\n \"data-cy\": \"config-access-cancel\",\n children: t('common.cancel')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: onConfirm,\n color: \"primary\",\n disabled: disabled,\n variant: \"contained\",\n autoFocus: true,\n \"data-cy\": \"config-access-confirm\",\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }), t('common.confirm')]\n })]\n }),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mt: 4,\n mb: 3,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n label: t('blocklet.config.access.description'),\n select: true,\n fullWidth: true,\n value: whoCanAccess,\n onChange: onWhoCanAccessChange,\n \"data-cy\": \"config-access-select\",\n SelectProps: {\n renderValue: selected => {\n const d = Configs.find(x => x.value === selected);\n return d ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(d.icon, {\n style: iconStyle\n }), d.title[locale]]\n }) : null;\n }\n },\n children: Configs.map(d => {\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledMenuItem, {\n value: d.value,\n sx: {\n display: 'block'\n },\n \"data-cy\": \"config-access-opt-\".concat(d.value),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(d.icon, {\n style: iconStyle\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n children: d.title[locale]\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"tip\",\n children: d.description[locale]\n })\n })]\n });\n })\n })\n }), whoCanAccess === CONFIG_ROLE && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mt: 4,\n mb: 3,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n label: t('blocklet.config.access.description'),\n select: true,\n fullWidth: true,\n value: roles.map(x => x.name),\n onChange: onRolesChange,\n SelectProps: {\n multiple: true,\n renderValue: selected => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n sx: {\n display: 'flex',\n flexWrap: 'wrap',\n gap: 0.5\n },\n children: selected.map(value => {\n const role = roleList.find(x => x.name === value);\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Chip.default, {\n label: role.title\n }, role.text);\n })\n })\n },\n children: roleList.map(_ref2 => {\n let {\n name,\n title\n } = _ref2;\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_MenuItem.default, {\n value: name,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.default, {\n checked: roles.some(x => x.name === name)\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemText.default, {\n primary: title\n })]\n }, name);\n })\n })\n })]\n })];\n}\nConfigAccess.propTypes = {\n blocklet: _propTypes.default.object.isRequired,\n ancestors: _propTypes.default.array,\n children: _propTypes.default.any\n};\nConfigAccess.defaultProps = {\n ancestors: [],\n children: null\n};\nconst StyledDialog = (0, _styled.default)(_Dialog.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .MuiDialogContent-root {\\n padding-top: 0;\\n margin-top: -32px;\\n }\\n .MuiToolbar-root {\\n padding-right: 12px;\\n }\\n .ux-dialog_right {\\n padding-right: 20px;\\n }\\n\"])));\nconst StyledMenuItem = (0, _styled.default)(_MenuItem.default)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n .tip {\\n font-size: 12px;\\n color: \", \";\\n }\\n\"])), props => props.theme.palette.text.secondary);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = BlockletAccess;\nvar _react = require(\"react\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _useTheme = _interopRequireDefault(require(\"@mui/material/styles/useTheme\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _Tooltip = _interopRequireDefault(require(\"@mui/material/Tooltip\"));\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\nvar _ExpandMore = _interopRequireDefault(require(\"@mui/icons-material/ExpandMore\"));\nvar _ChevronRight = _interopRequireDefault(require(\"@mui/icons-material/ChevronRight\"));\nvar _Collapse = _interopRequireDefault(require(\"@mui/material/Collapse\"));\nvar _Launch = _interopRequireDefault(require(\"@mui/icons-material/Launch\"));\nvar _EditIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/EditIcon\"));\nvar _util = require(\"@blocklet/meta/lib/util\");\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Empty = _interopRequireDefault(require(\"@arcblock/ux/lib/Empty\"));\nvar _blocklet = require(\"../../contexts/blocklet\");\nvar _team = require(\"../../contexts/team\");\nvar _util2 = require(\"../../util\");\nvar _line = _interopRequireDefault(require(\"../component/line\"));\nvar _bundleAvatar = _interopRequireDefault(require(\"../bundle-avatar\"));\nvar _configAccess = _interopRequireWildcard(require(\"./config-access\"));\nvar _config = _interopRequireDefault(require(\"../../who-can-access/config\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ComponentItem(_ref) {\n var _blocklet$children;\n let {\n blocklet,\n ancestors,\n depth\n } = _ref;\n const theme = (0, _useTheme.default)();\n const {\n t,\n locale\n } = (0, _context.useLocaleContext)();\n const {\n roles: roleList\n } = (0, _team.useTeamContext)();\n const [expand, setExpand] = (0, _react.useState)(true);\n const {\n recommendedDomain: domain\n } = (0, _blocklet.useBlockletContext)();\n const app = ancestors[0] || blocklet;\n const mountPoint = \"/\".concat(ancestors.map(x => x.mountPoint || '/').join('/'), \"/\").concat(blocklet.mountPoint || '/').replace(/\\/+/g, '/');\n const href = (0, _util2.getBlockletUrl)({\n blocklet: app,\n domain: {\n value: domain\n },\n mountPoint,\n params: (0, _util2.getBlockletUrlParams)(app, locale)\n });\n const iconStyle = {\n fill: theme.palette.text.secondary\n };\n const canExpand = depth > 0 && blocklet.children.length > 0;\n const expandIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n size: \"small\",\n children: expand ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExpandMore.default, {\n fontSize: \"inherit\"\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChevronRight.default, {\n fontSize: \"inherit\"\n })\n });\n const {\n access: whoCanAccess,\n roles\n } = (0, _configAccess.getComponentWhoCanAccess)(blocklet, app, {\n roles: roleList\n });\n let accessConfig;\n if (whoCanAccess !== 'roles') {\n accessConfig = _config.default.find(x => x.value === whoCanAccess) || _config.default[2];\n } else {\n const str = roles.map(x => x.title).join('/');\n accessConfig = {\n title: {\n zh: \"\\u53EA\\u6709 \".concat(str, \" \\u53EF\\u4EE5\\u8BBF\\u95EE\"),\n en: \"Only \".concat(str, \" can access\")\n }\n };\n }\n return [(depth > 0 || blocklet.meta.group !== 'gateway') && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n py: 2,\n className: \"component-item\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n pl: Math.max((depth - 1) * 2, 0),\n width: {\n xs: 300,\n md: 400\n },\n display: \"flex\",\n alignItems: \"center\",\n style: {\n cursor: canExpand ? 'pointer' : 'cursor'\n },\n onClick: () => canExpand && setExpand(!expand),\n children: [canExpand ? expandIcon : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n width: 28\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_bundleAvatar.default, {\n blocklet: blocklet,\n ancestors: ancestors\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n ml: \"16px\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n style: {\n color: '#222',\n fontSize: 18\n },\n children: (0, _util.getDisplayName)(blocklet, true)\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n color: \"text.secondary\",\n children: accessConfig.title[locale]\n })\n })]\n })]\n }, blocklet), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: t('common.visit'),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"a\", {\n target: \"_blank\",\n href: href,\n rel: \"noopener noreferrer\",\n title: href,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Launch.default, {})\n })\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_configAccess.default, {\n blocklet: blocklet,\n ancestors: ancestors,\n children: _ref2 => {\n let {\n open\n } = _ref2;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: t('common.edit'),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n onClick: open,\n \"data-cy\": \"btn-edit-\".concat(blocklet.meta.did),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditIcon.default, {\n style: iconStyle\n })\n })\n });\n }\n })]\n }, \"actions\")]\n }, \"group-not-gateway-box\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_line.default, {\n depth: depth\n }), (_blocklet$children = blocklet.children) !== null && _blocklet$children !== void 0 && _blocklet$children.length ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Collapse.default, {\n in: expand,\n children: blocklet.children.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(ComponentItem, {\n blocklet: x,\n ancestors: [...ancestors, blocklet],\n depth: depth + 1\n }, \"\".concat(depth + 1, \"-\").concat(x.meta.did)))\n }, \"blocklet-collapse\") : null];\n}\nComponentItem.propTypes = {\n blocklet: _propTypes.default.object.isRequired,\n ancestors: _propTypes.default.array,\n depth: _propTypes.default.number\n};\nComponentItem.defaultProps = {\n ancestors: [],\n depth: 0\n};\nfunction BlockletAccess() {\n const {\n t\n } = (0, _context.useLocaleContext)();\n const {\n blocklet\n } = (0, _blocklet.useBlockletContext)();\n const components = [...blocklet.children] || [];\n if (blocklet.meta.group !== 'gateway') {\n // add root blocklet to table list\n components.unshift(blocklet);\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(Div, {\n component: \"div\",\n children: components && components.length ? [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mt: 2,\n ml: {\n xs: '-12px',\n md: '-24px'\n },\n style: {\n maxWidth: 1080\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ComponentItem, {\n blocklet: blocklet\n }, \"0-\".concat(blocklet.meta.did))\n }, \"top-blocklet-\".concat(blocklet.meta.did))] : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mt: 8,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Empty.default, {\n children: t('blocklet.component.noComponent')\n })\n })\n });\n}\nBlockletAccess.propTypes = {};\nconst Div = (0, _styled.default)(_Box.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .title {\\n font-size: 1.2rem;\\n font-weight: bold;\\n margin-top: \", \";\\n margin-bottom: \", \";\\n &.first {\\n margin-top: 0;\\n }\\n }\\n\"])), props => props.theme.spacing(5), props => props.theme.spacing(3));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = BlockletActions;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _reactRouterDom = require(\"react-router-dom\");\nvar _useLocalStorage = _interopRequireDefault(require(\"react-use/lib/useLocalStorage\"));\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\nvar _Menu = _interopRequireDefault(require(\"@mui/material/Menu\"));\nvar _Divider = _interopRequireDefault(require(\"@mui/material/Divider\"));\nvar _ButtonGroup = _interopRequireDefault(require(\"@mui/material/ButtonGroup\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _MenuItem = _interopRequireDefault(require(\"@mui/material/MenuItem\"));\nvar _MoreVert = _interopRequireDefault(require(\"@mui/icons-material/MoreVert\"));\nvar _ListItemIcon = _interopRequireDefault(require(\"@mui/material/ListItemIcon\"));\nvar _ListItemText = _interopRequireDefault(require(\"@mui/material/ListItemText\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _Radio = _interopRequireDefault(require(\"@mui/material/Radio\"));\nvar _RadioGroup = _interopRequireDefault(require(\"@mui/material/RadioGroup\"));\nvar _FormControlLabel = _interopRequireDefault(require(\"@mui/material/FormControlLabel\"));\nvar _Alert = _interopRequireDefault(require(\"@mui/material/Alert\"));\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _util = require(\"@blocklet/meta/lib/util\");\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _constant = require(\"@blocklet/constant\");\nvar _toast = _interopRequireDefault(require(\"../toast\"));\nvar _util2 = require(\"../util\");\nvar _util3 = require(\"./util\");\nvar _node = require(\"../contexts/node\");\nvar _confirm = _interopRequireDefault(require(\"../confirm\"));\nvar _icons = _interopRequireDefault(require(\"./icons\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nconst _excluded = [\"blocklet\", \"onStart\", \"onComplete\", \"variant\", \"hasPermission\", \"useBlockletUrlEvaluation\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction BlockletActions(_ref) {\n let {\n blocklet,\n onStart,\n onComplete,\n variant,\n hasPermission,\n useBlockletUrlEvaluation\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n const navigate = (0, _reactRouterDom.useNavigate)();\n const node = (0, _node.useNodeContext)();\n const [anchorEl, setAnchorEl] = (0, _react.useState)(null);\n const [currentAction, setCurrentAction] = (0, _react.useState)(null);\n const [loading, setLoading] = (0, _react.useState)(false);\n const [confirmSetting, setConfirmSetting] = (0, _react.useState)(null);\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n const [skipSetup] = (0, _useLocalStorage.default)('skip-blocklet-setup', false);\n const {\n loading: recommendedUrlLoading,\n recommendedUrl\n } = useBlockletUrlEvaluation(blocklet);\n const inProgress = (0, _util2.isInProgress)(blocklet.status);\n const {\n inService\n } = node;\n const createHandler = function createHandler(action, fn) {\n let requireUserConfirm = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return async () => {\n const onConfirm = async params => {\n onStart({\n action,\n blocklet\n });\n setLoading(true);\n setCurrentAction(action);\n setConfirmSetting(null);\n let isRemoved = false;\n try {\n var _blocklet$settings;\n const input = {\n did: blocklet.meta.did\n };\n if (action === 'remove') {\n input.keepData = params.removeType === 'keepData';\n }\n if (action === 'start' && !inService && !skipSetup && !((_blocklet$settings = blocklet.settings) !== null && _blocklet$settings !== void 0 && _blocklet$settings.initialized)) {\n // 启动 blocklet 并跳转到 setup 流程界面时携带 serverUrl 查询参数\n const serverUrl = (0, _util3.getServerUrl)(node.info);\n const url = new URL(recommendedUrl);\n url.searchParams.set('serverUrl', serverUrl);\n window.open(url.href);\n onComplete({\n action,\n blocklet\n });\n return;\n }\n await fn({\n input\n });\n if (action === 'remove') {\n isRemoved = true; // Deleted send request and succeeded\n } else {\n await (0, _util2.sleep)(1000); // just avoid user feeling so fast\n }\n\n if (action === 'reload') {\n _toast.default.success(t('blocklet.reloadSuccess'));\n }\n onComplete({\n action,\n blocklet\n });\n } catch (err) {\n const errMsg = \"Blocklet \".concat(action, \" failed: \").concat((0, _util2.formatError)(err));\n onComplete({\n action,\n blocklet,\n error: new Error(errMsg)\n });\n } finally {\n if (!isRemoved) {\n setLoading(false);\n }\n }\n };\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n const name = (0, _util.getDisplayName)(blocklet, true);\n const removeSetting = blocklet.source === (0, _constant.fromBlockletSource)(_constant.BlockletSource.custom) ? {\n description: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n component: \"div\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n gutterBottom: true,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"b\", {\n children: t('blocklet.action.forceRemoveDescription')\n })\n })\n }),\n params: {\n removeType: 'complete'\n }\n } : {\n description: (params, setParams) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {\n component: \"div\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n gutterBottom: true,\n children: t('blocklet.action.removeDescription')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_RadioGroup.default, {\n name: \"removeType\",\n value: params.removeType,\n onChange: e => setParams(_objectSpread(_objectSpread({}, params), {}, {\n removeType: e.target.value\n })),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_FormControlLabel.default, {\n value: \"keepData\",\n control: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Radio.default, {}),\n label: t('blocklet.action.removeKeepData')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormControlLabel.default, {\n value: \"complete\",\n control: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Radio.default, {}),\n label: t('blocklet.action.removeComplete')\n })]\n })]\n }),\n params: {\n removeType: 'keepData'\n }\n };\n const confirmSettings = {\n stop: {\n title: \"\".concat(t('common.stop'), \" \").concat(name),\n description: t('blocklet.action.stopDescription'),\n confirm: t('blocklet.action.confirmStop'),\n cancel: t('common.cancel'),\n onConfirm,\n onCancel\n },\n restart: {\n title: \"\".concat(t('common.restart'), \" \").concat(name),\n description: t('blocklet.action.restartDescription'),\n confirm: t('blocklet.action.confirmRestart'),\n cancel: t('common.cancel'),\n onConfirm,\n onCancel\n },\n remove: _objectSpread({\n title: \"\".concat(t('common.remove'), \" \").concat(name),\n confirm: t('blocklet.action.confirmRemove'),\n cancel: t('common.cancel'),\n onConfirm,\n onCancel\n }, removeSetting),\n cancelDownload: {\n title: \"\".concat(t('common.cancel')),\n description: t('blocklet.action.cancelDownloadDescription', {\n name\n }),\n confirm: t('common.confirm'),\n cancel: t('common.cancel'),\n onConfirm,\n onCancel\n }\n };\n if (requireUserConfirm) {\n setConfirmSetting(confirmSettings[action]);\n } else {\n await onConfirm();\n }\n };\n };\n const open = Boolean(anchorEl);\n const onOpen = e => {\n try {\n e.stopPropagation();\n e.preventDefault();\n // eslint-disable-next-line no-empty\n } catch (_unused) {}\n setAnchorEl(e.currentTarget);\n };\n const onClose = e => {\n try {\n e.stopPropagation();\n e.preventDefault();\n // eslint-disable-next-line no-empty\n } catch (_unused2) {}\n setAnchorEl(null);\n };\n const onAction = async (action, e) => {\n try {\n e.stopPropagation();\n e.preventDefault();\n // eslint-disable-next-line no-empty\n } catch (_unused3) {}\n setAnchorEl(null);\n if (typeof action.handler === 'function') {\n try {\n setLoading(true);\n setCurrentAction(action.action);\n await action.handler();\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error(\"Blocklet \".concat(action.name, \" failed: \"), err);\n } finally {\n setLoading(false);\n }\n }\n };\n const removeAction = !inService && (0, _util.isDeletableBlocklet)(blocklet) ? {\n action: 'remove',\n icon: _icons.default.Remove,\n name: t('common.remove'),\n handler: createHandler('remove', node.api.deleteBlocklet, true),\n disabled: inProgress\n } : null;\n const cancelDownloadAction = !inService ? {\n action: 'remove',\n icon: _icons.default.Remove,\n name: t('common.cancel'),\n handler: createHandler('cancelDownload', node.api.cancelDownloadBlocklet, true)\n } : null;\n const missingRequiredConfigs = (0, _util.getAppMissingConfigs)(blocklet);\n const actions = [{\n action: 'start',\n icon: _icons.default.Start,\n name: t('common.start'),\n handler: createHandler('start', node.api.startBlocklet),\n disabled: !(0, _util.hasRunnableComponent)(blocklet) || blocklet.status === 'running' || blocklet.status === 'corrupted' || missingRequiredConfigs.length > 0 || (0, _util2.isDownloading)(blocklet.status) || blocklet.mode === _constant.BLOCKLET_MODES.DEVELOPMENT || recommendedUrlLoading || inProgress\n }, {\n action: 'stop',\n icon: _icons.default.Stop,\n name: t('common.stop'),\n handler: createHandler('stop', node.api.stopBlocklet, true),\n disabled: !['running', 'starting'].includes(blocklet.status) || blocklet.mode === _constant.BLOCKLET_MODES.DEVELOPMENT\n }, {\n action: 'restart',\n icon: _icons.default.Restart,\n name: t('common.restart'),\n handler: createHandler('restart', node.api.restartBlocklet, true),\n disabled: blocklet.status !== 'running' || blocklet.mode === _constant.BLOCKLET_MODES.DEVELOPMENT\n }, {\n action: 'reload',\n icon: _icons.default.Reload,\n name: t('common.reload'),\n handler: createHandler('reload', node.api.reloadBlocklet),\n disabled: blocklet.status !== 'running' || blocklet.mode === _constant.BLOCKLET_MODES.DEVELOPMENT\n }, (0, _util2.isDownloading)(blocklet.status) ? cancelDownloadAction : removeAction, {\n separator: true\n }, {\n onlyInMenu: true,\n action: 'config',\n icon: _icons.default.Config,\n name: t('common.config'),\n handler: () => {\n navigate(\"/blocklets/\".concat(blocklet.meta.did, \"/configuration\"));\n },\n disabled: (0, _util2.isDownloading)(blocklet.status)\n }, {\n onlyInMenu: true,\n action: 'team',\n icon: _icons.default.Group,\n name: t('common.manageTeam'),\n handler: () => {\n navigate(\"/blocklets/\".concat(blocklet.meta.did, \"/members\"));\n },\n disabled: (0, _util2.isDownloading)(blocklet.status)\n }, {\n onlyInMenu: true,\n action: 'log',\n icon: _icons.default.Log,\n name: t('common.log'),\n handler: () => {\n navigate(\"/logs/blocklet-\".concat(blocklet.meta.did));\n },\n disabled: (0, _util2.isDownloading)(blocklet.status)\n }].filter(Boolean);\n if (variant === 'menu') {\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {\n \"data-cy\": \"blocklet-actions\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n \"aria-label\": \"more\",\n \"aria-controls\": \"actions-menu\",\n \"aria-haspopup\": \"true\",\n \"data-cy\": \"trigger-blocklet-actions\",\n \"actions-blocklet-did\": blocklet.meta.did,\n onClick: onOpen,\n size: \"small\",\n disabled: !hasPermission || !(0, _util2.isDownloading)(blocklet.status) && loading,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MoreVert.default, {})\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Menu.default, {\n id: \"actions-menu\",\n anchorEl: anchorEl,\n keepMounted: true,\n open: open,\n onClose: onClose,\n PaperProps: {},\n children: [missingRequiredConfigs.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Alert.default, {\n style: {\n maxWidth: '400px'\n },\n severity: \"error\",\n children: [t('blocklet.config.missingRequired'), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"br\", {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Link, {\n to: \"/blocklets/\".concat(blocklet.meta.did, \"/components\"),\n children: t('blocklet.config.gotoFix')\n })]\n }), actions.map((action, i) => {\n if (action.separator) {\n // eslint-disable-next-line react/no-array-index-key\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Divider.default, {}, \"separator-\".concat(i));\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_MenuItem.default, {\n dense: true,\n onClick: e => onAction(action, e),\n disabled: action.disabled,\n \"data-cy\": \"\".concat(action.action, \"-blocklet\"),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemIcon.default, {\n style: {\n minWidth: 24\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(action.icon, {\n fontSize: \"small\"\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemText.default, {\n primary: action.name\n })]\n }, action.name);\n })]\n }), confirmSetting && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {\n title: confirmSetting.title,\n description: confirmSetting.description,\n confirm: confirmSetting.confirm,\n cancel: confirmSetting.cancel,\n params: confirmSetting.params,\n onConfirm: confirmSetting.onConfirm,\n onCancel: confirmSetting.onCancel\n })]\n });\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, _objectSpread(_objectSpread({\n \"data-cy\": \"blocklet-actions\"\n }, rest), {}, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonGroup.default, {\n children: actions.filter(x => !x.separator && !x.onlyInMenu).map(action => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n title: action.name,\n \"data-cy\": \"\".concat(action.action, \"-blocklet\"),\n onClick: () => onAction(action),\n disabled: Boolean(action.disabled) || loading,\n children: [currentAction === action.action && loading && inProgress ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(action.icon, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n className: \"blocklet-action-text\",\n children: action.name\n })]\n }, action.name))\n }), confirmSetting && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {\n title: confirmSetting.title,\n description: confirmSetting.description,\n confirm: confirmSetting.confirm,\n cancel: confirmSetting.cancel,\n params: confirmSetting.params,\n onConfirm: confirmSetting.onConfirm,\n onCancel: confirmSetting.onCancel\n })]\n }));\n}\nBlockletActions.propTypes = {\n blocklet: _propTypes.default.object.isRequired,\n onStart: _propTypes.default.func.isRequired,\n onComplete: _propTypes.default.func.isRequired,\n variant: _propTypes.default.oneOf(['menu', 'group']),\n hasPermission: _propTypes.default.bool,\n useBlockletUrlEvaluation: _propTypes.default.func\n};\nBlockletActions.defaultProps = {\n variant: 'menu',\n hasPermission: false,\n useBlockletUrlEvaluation: () => {\n var _window, _window$location;\n return {\n loading: false,\n recommendedUrl: (_window = window) === null || _window === void 0 ? void 0 : (_window$location = _window.location) === null || _window$location === void 0 ? void 0 : _window$location.href\n };\n }\n};\nconst Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n display: flex;\\n align-items: center;\\n\\n @media (max-width: \", \"px) {\\n .MuiButton-root {\\n padding: 4px;\\n font-size: 10px;\\n }\\n }\\n\"])), props => props.theme.breakpoints.values.sm);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = AddCert;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _useAsyncRetry = _interopRequireDefault(require(\"react-use/lib/useAsyncRetry\"));\nvar _Tooltip = _interopRequireDefault(require(\"@mui/material/Tooltip\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _Alert = _interopRequireDefault(require(\"@arcblock/ux/lib/Alert\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _constant = require(\"@blocklet/constant\");\nvar _toast = _interopRequireDefault(require(\"../toast\"));\nvar _confirm = _interopRequireDefault(require(\"../confirm\"));\nvar _node = require(\"../contexts/node\");\nvar _blocklet = require(\"../contexts/blocklet\");\nvar _util = require(\"../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nconst _excluded = [\"domain\", \"domainStatus\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nconst isCertInProgress = status => ['waiting', 'creating', 'renewaling'].includes(status);\nfunction Add(props) {\n var _certState$value2;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const [loading, setLoading] = (0, _react.useState)(false);\n const [confirmSetting, setConfirmSetting] = (0, _react.useState)(null);\n const {\n domain,\n onAdd,\n children,\n did\n } = props;\n const {\n api,\n ws: {\n useSubscription\n }\n } = (0, _node.useNodeContext)();\n const [issuing, setIssuing] = (0, _react.useState)(false);\n const {\n actions: {\n refreshDomainStatus\n }\n } = (0, _blocklet.useBlockletContext)();\n const certState = (0, _useAsyncRetry.default)(async () => {\n const {\n cert\n } = await api.findCertificateByDomain({\n input: {\n domain,\n did\n }\n });\n return cert;\n });\n const handleIssueComplete = (cert, type) => {\n if (cert.domain === domain) {\n setIssuing(false);\n if (type === 'success') {\n _toast.default.success(\"The \".concat(cert.domain, \" certificate is issued successfully\"));\n } else if (type === 'error') {\n _toast.default.error(\"Failed to issue certificate for \".concat(cert.domain));\n }\n }\n };\n (0, _react.useEffect)(() => {\n var _certState$value;\n if (!certState.loading && isCertInProgress((_certState$value = certState.value) === null || _certState$value === void 0 ? void 0 : _certState$value.status)) {\n setIssuing(true);\n }\n }, [certState]);\n useSubscription(_constant.BlockletEvents.certError, cert => handleIssueComplete(cert, 'error'));\n useSubscription(_constant.BlockletEvents.certIssued, cert => {\n certState.retry();\n refreshDomainStatus(cert.domain);\n handleIssueComplete(cert, 'success');\n });\n if (certState.loading) {\n return ''; // 如果正在加载证书的状态,则不渲染任何元素\n }\n\n if (((_certState$value2 = certState.value) === null || _certState$value2 === void 0 ? void 0 : _certState$value2.status) === 'normal') {\n return ''; // 如果证书已经生成,则不渲染任何元素\n }\n\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n const onConfirm = async () => {\n setLoading(true);\n try {\n await api.issueLetsEncryptCert({\n input: {\n domain,\n did\n }\n });\n onAdd();\n setIssuing(true);\n } catch (error) {\n console.error(error);\n setIssuing(false);\n } finally {\n setLoading(false);\n setConfirmSetting(null);\n }\n };\n const setting = {\n title: t('router.cert.genLetsEncryptCert.title'),\n description: /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n type: \"success\",\n children: t('router.cert.genLetsEncryptCert.dnsTip')\n }), t('router.cert.genLetsEncryptCert.description')]\n }),\n confirm: t('common.confirm'),\n onConfirm,\n onCancel\n };\n const onClick = e => {\n e.stopPropagation();\n setConfirmSetting(setting);\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [issuing ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: t('router.cert.issuing'),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 12\n })\n }) : children({\n loading,\n open: onClick\n }), confirmSetting && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {\n color: \"primary\",\n title: confirmSetting.title,\n description: confirmSetting.description,\n confirm: confirmSetting.confirm,\n params: confirmSetting.params,\n onConfirm: confirmSetting.onConfirm,\n onCancel: confirmSetting.onCancel\n })]\n });\n}\nAdd.propTypes = {\n domain: _propTypes.default.string.isRequired,\n did: _propTypes.default.string.isRequired,\n onAdd: _propTypes.default.func,\n children: _propTypes.default.any\n};\nAdd.defaultProps = {\n onAdd: () => {},\n children: null\n};\nfunction AddCert(props) {\n const {\n domain,\n domainStatus\n } = props,\n others = _objectWithoutProperties(props, _excluded);\n if (!(0, _util.shouldCheckDomainStatus)(domain) || domainStatus !== null && domainStatus !== void 0 && domainStatus.isHttps) {\n return '';\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(Add, _objectSpread({}, _objectSpread({\n domain\n }, others)));\n}\nAddCert.propTypes = {\n domain: _propTypes.default.string.isRequired,\n domainStatus: _propTypes.default.shape({\n isHttps: _propTypes.default.bool\n }).isRequired,\n did: _propTypes.default.string.isRequired,\n onAdd: _propTypes.default.func,\n children: _propTypes.default.any\n};\nAddCert.defaultProps = {\n onAdd: () => {},\n children: null\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = AgreementApp;\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectDestructuringEmpty(obj) { if (obj == null) throw new TypeError(\"Cannot destructure \" + obj); }\nfunction AgreementApp(_ref) {\n let props = Object.assign({}, (_objectDestructuringEmpty(_ref), _ref));\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", _objectSpread(_objectSpread({}, props), {}, {\n style: {\n width: '100%'\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"h3\", {\n children: \"End User License Agreement for Application\"\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"p\", {\n children: \"Blocklet Server License Agreement ArcBlock, Inc. version 2020-08-28\"\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"p\", {\n children: \"BLOCKLET SERVER LICENSE AGREEMENT\"\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"p\", {\n children: \"\\u6682\\u65E0\"\n })]\n }));\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Agreement;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactRouterDom = require(\"react-router-dom\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _serverEula = _interopRequireDefault(require(\"@blocklet/launcher-layout/lib/wizard/server-eula\"));\nvar _wizardDesc = _interopRequireDefault(require(\"@blocklet/launcher-layout/lib/wizard/wizard-desc\"));\nvar _agreementApp = _interopRequireDefault(require(\"./agreement-app\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n// TODO: 加载 Blocklet 定义的 Agreement\nfunction Agreement(_ref) {\n let {\n meta,\n onClickNext,\n handleDescEle\n } = _ref;\n const navigate = (0, _reactRouterDom.useNavigate)();\n const {\n t,\n locale\n } = (0, _context.useLocaleContext)();\n const clickNext = onClickNext || (() => {\n navigate(\"/launch-blocklet/install\".concat(window.location.search));\n });\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Container, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"app-content\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"agreement\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"agreement-content\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_wizardDesc.default, {\n blockletMeta: {\n data: meta\n },\n locale: locale,\n handleDescEle: handleDescEle\n })\n })\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"button-container\",\n \"data-cy\": \"agree-all\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_serverEula.default, {\n onContinue: clickNext,\n description: /*#__PURE__*/(0, _jsxRuntime.jsx)(_agreementApp.default, {}),\n texts: {\n listenName: t('launchBlocklet.license'),\n buttonNext: t('launchBlocklet.next')\n }\n })\n })]\n });\n}\nAgreement.propTypes = {\n meta: _propTypes.default.object.isRequired,\n onClickNext: _propTypes.default.func,\n handleDescEle: _propTypes.default.node\n};\nAgreement.defaultProps = {\n onClickNext: null,\n handleDescEle: ''\n};\nconst Container = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n width: 100%;\\n height: 100%;\\n flex: 1;\\n .app-content {\\n padding: 2px 24px 24px;\\n \", \" {\\n padding-top: 10px;\\n }\\n width: 100%;\\n flex: 1;\\n letter-spacing: normal;\\n }\\n .agreement {\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n height: 100%;\\n border: 1px solid \", \";\\n border-radius: 12px;\\n \", \" {\\n margin-top: 24px;\\n }\\n \", \" {\\n margin-top: 16px;\\n }\\n .agreement-content {\\n position: absolute;\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n font-size: 14px;\\n overflow-y: auto;\\n \", \" {\\n padding: 0 24px;\\n }\\n \", \" {\\n padding: 0 16px;\\n }\\n &:after {\\n display: block;\\n content: '';\\n height: 24px;\\n }\\n }\\n }\\n .button-container {\\n padding-top: 24px;\\n padding-bottom: 34px;\\n \", \" {\\n padding-right: 24px;\\n margin-left: auto;\\n }\\n \", \" {\\n padding-top: 0;\\n padding-bottom: 16px;\\n }\\n }\\n\"])), props => props.theme.breakpoints.down('md'), props => props.theme.palette.grey['100'], props => props.theme.breakpoints.up('md'), props => props.theme.breakpoints.down('md'), props => props.theme.breakpoints.up('md'), props => props.theme.breakpoints.down('md'), props => props.theme.breakpoints.up('md'), props => props.theme.breakpoints.down('md'));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = BlockletAppAvatar;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Avatar = _interopRequireDefault(require(\"@mui/material/Avatar\"));\nvar _Avatar2 = _interopRequireDefault(require(\"@arcblock/did-connect/lib/Avatar\"));\nvar _constant = require(\"@blocklet/constant\");\nvar _useAppLogo = _interopRequireDefault(require(\"../hooks/use-app-logo\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nconst _excluded = [\"blocklet\", \"style\", \"size\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction BlockletAppAvatar(_ref) {\n let {\n blocklet,\n style,\n size\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n const {\n logoUrl\n } = (0, _useAppLogo.default)({\n blocklet\n });\n const {\n variant\n } = rest;\n let imgEle = /*#__PURE__*/(0, _jsxRuntime.jsx)(\"img\", {\n src: logoUrl,\n alt: \"\",\n style: {\n width: size\n }\n });\n if (!blocklet.meta.logo) {\n var _find;\n const exist = (_find = (blocklet.configs || []).find(x => x.key === _constant.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_LOGO_SQUARE)) === null || _find === void 0 ? void 0 : _find.value;\n if (!exist) {\n imgEle = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar2.default, {\n did: blocklet.meta.did || '',\n responsive: true\n });\n }\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, _objectSpread(_objectSpread({\n variant: variant || 'square',\n style: Object.assign({\n backgroundColor: 'transparent',\n width: size,\n height: size,\n borderRadius: 10\n }, style)\n }, rest), {}, {\n children: imgEle\n }));\n}\nBlockletAppAvatar.propTypes = {\n blocklet: _propTypes.default.object.isRequired,\n style: _propTypes.default.object,\n size: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])\n};\nBlockletAppAvatar.defaultProps = {\n style: {},\n size: 40\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = WrappedAuditLogs;\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _reactRouterDom = require(\"react-router-dom\");\nvar _reactMarkdownPreview = _interopRequireDefault(require(\"@uiw/react-markdown-preview\"));\nvar _Avatar = _interopRequireDefault(require(\"@arcblock/did-connect/lib/Avatar\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _Empty = _interopRequireDefault(require(\"@arcblock/ux/lib/Empty\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _Pagination = _interopRequireDefault(require(\"@mui/lab/Pagination\"));\nvar _MenuItem = _interopRequireDefault(require(\"@mui/material/MenuItem\"));\nvar _Select = _interopRequireDefault(require(\"@mui/material/Select\"));\nvar _InputLabel = _interopRequireDefault(require(\"@mui/material/InputLabel\"));\nvar _FormControl = _interopRequireDefault(require(\"@mui/material/FormControl\"));\nvar _auditLog = require(\"../contexts/audit-log\");\nvar _node = require(\"../contexts/node\");\nvar _relativeTime = _interopRequireDefault(require(\"../relative-time\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nconst getUserLink = _ref => {\n let {\n log,\n info,\n inService\n } = _ref;\n if (inService) {\n // TODO\n return \"/members?did=\".concat(log.actor.did);\n }\n if (log.scope === info.did) {\n return \"/team/members?did=\".concat(log.actor.did);\n }\n return \"/blocklets/\".concat(log.scope, \"/members?did=\").concat(log.actor.did);\n};\nfunction AuditLog(_ref2) {\n var _log$env$os, _log$env$browser;\n let {\n log\n } = _ref2;\n const {\n inService,\n info\n } = (0, _node.useNodeContext)();\n if (!log.actor.did) {\n return null;\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"log-entry\",\n \"data-cy\": \"log-entry\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"log-author\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, {\n did: log.actor.did,\n size: 36,\n shape: \"circle\"\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"log-body\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {\n className: \"log-header\",\n color: \"textSecondary\",\n component: \"p\",\n gutterBottom: true,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactRouterDom.Link, {\n to: getUserLink({\n log,\n inService,\n info\n }),\n target: \"_blank\",\n children: [log.actor.fullName, log.actor.role ? \"(\".concat(log.actor.role, \")\") : '']\n }), ' ', \"- \", log.action]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n className: \"log-content\",\n color: \"textPrimary\",\n component: \"div\",\n \"data-color-mode\": \"light\",\n gutterBottom: true,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactMarkdownPreview.default, {\n source: log.content,\n linkTarget: \"_blank\"\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"log-meta\",\n variant: \"body2\",\n children: [!!log.ip && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n component: \"span\",\n color: \"textSecondary\",\n children: \"IP: \".concat(log.ip)\n }), !!((_log$env$os = log.env.os) !== null && _log$env$os !== void 0 && _log$env$os.name) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {\n component: \"span\",\n color: \"textSecondary\",\n children: [log.env.os.name, \"(\", log.env.os.version, \")\"]\n }), !!((_log$env$browser = log.env.browser) !== null && _log$env$browser !== void 0 && _log$env$browser.name) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {\n component: \"span\",\n color: \"textSecondary\",\n children: [log.env.browser.name, \"(\", log.env.browser.version, \")\"]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n component: \"span\",\n color: \"textSecondary\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_relativeTime.default, {\n value: log.createdAt\n })\n })]\n })]\n })]\n });\n}\nfunction AuditLogs() {\n const {\n t\n } = (0, _context.useLocaleContext)();\n const {\n data,\n loading,\n paging,\n filter,\n categories,\n setCategory,\n fetch\n } = (0, _auditLog.useAuditLogContext)();\n if (loading) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n style: {\n textAlign: 'center',\n marginTop: '50px'\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {})\n });\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {\n \"data-cy\": \"audit-logs\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"log-controls\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_FormControl.default, {\n style: {\n width: '240px'\n },\n variant: \"outlined\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_InputLabel.default, {\n children: t('common.filter')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Select.default, {\n \"data-cy\": \"filter-by-category-trigger\",\n value: filter.category,\n onChange: e => setCategory(e.target.value),\n fullWidth: true,\n label: t('common.category'),\n disabled: loading,\n children: categories.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {\n value: x.value,\n \"data-cy\": \"filter-by-category-\".concat(x.value),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n children: x.label\n })\n })\n }, x.label))\n })]\n })\n }), data.length === 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Empty.default, {\n children: t('common.empty')\n }), data.length > 0 && data.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(AuditLog, {\n log: x\n }, x.id)), paging.pageCount > 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pagination.default, {\n page: paging.page,\n count: paging.pageCount,\n onChange: (e, page) => fetch({\n page\n }),\n showFirstButton: true,\n showLastButton: true\n })]\n });\n}\nfunction WrappedAuditLogs(_ref3) {\n let {\n scope\n } = _ref3;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_auditLog.AuditLogProvider, {\n scope: scope,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(AuditLogs, {})\n });\n}\nconst Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .log-controls {\\n display: flex;\\n justify-content: space-between;\\n }\\n .log-entry {\\n display: flex;\\n margin: 16px 0;\\n\\n .log-author {\\n margin-right: 8px;\\n }\\n\\n .log-body {\\n flex: 1;\\n\\n a {\\n color: \", \";\\n }\\n\\n .log-header {\\n }\\n\\n .log-content {\\n p {\\n margin-bottom: 4px;\\n }\\n ul,\\n ol {\\n padding-left: 2rem;\\n }\\n li {\\n list-style-type: disc;\\n }\\n }\\n\\n .log-meta {\\n margin-top: 4px;\\n\\n span {\\n font-size: 0.8rem;\\n display: inline-block;\\n margin-right: 8px;\\n padding-right: 8px;\\n border-right: 1px solid #ccc;\\n\\n &:last-of-type {\\n border-right: none;\\n }\\n }\\n }\\n }\\n }\\n\"])), _ref4 => {\n let {\n theme\n } = _ref4;\n return theme.palette.primary.main;\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = BlockletSource;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _urlJoin = _interopRequireDefault(require(\"url-join\"));\nvar _toUpper = _interopRequireDefault(require(\"lodash/toUpper\"));\nvar _Tag = _interopRequireDefault(require(\"@arcblock/ux/lib/Tag\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Link = _interopRequireDefault(require(\"@mui/material/Link\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction BlockletSource(_ref) {\n var _blocklet$meta;\n let {\n sourceInfo,\n blocklet\n } = _ref;\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Tag.default, {\n type: \"success\",\n children: (0, _toUpper.default)(sourceInfo.source)\n }, \"source\"), sourceInfo.source === 'registry' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Link.default, {\n href: (0, _urlJoin.default)(sourceInfo.deployedFrom, 'blocklets', (blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta = blocklet.meta) === null || _blocklet$meta === void 0 ? void 0 : _blocklet$meta.bundleDid) || ''),\n target: \"_blank\",\n className: \"page-link\",\n underline: \"hover\",\n style: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: 8\n },\n children: t('blocklet.overview.viewInStore')\n })]\n });\n}\nBlockletSource.propTypes = {\n sourceInfo: _propTypes.default.shape({\n source: _propTypes.default.string,\n deployedFrom: _propTypes.default.string\n }),\n blocklet: _propTypes.default.object\n};\nBlockletSource.defaultProps = {\n sourceInfo: {},\n blocklet: {}\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = BlockletAvatar;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Avatar = _interopRequireDefault(require(\"@mui/material/Avatar\"));\nvar _Avatar2 = _interopRequireDefault(require(\"@arcblock/did-connect/lib/Avatar\"));\nvar _useBundleLogo = _interopRequireDefault(require(\"../hooks/use-bundle-logo\"));\nvar _node = require(\"../contexts/node\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nconst _excluded = [\"blocklet\", \"style\", \"size\", \"ancestors\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction BlockletAvatar(_ref) {\n let {\n blocklet,\n style,\n size,\n ancestors\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n const node = (0, _node.useNodeContext)();\n const {\n logoUrl,\n inService\n } = (0, _useBundleLogo.default)({\n blocklet,\n ancestors\n });\n const {\n variant\n } = rest;\n const setFallBackUrl = inService ? () => {} : ev => {\n ev.target.src = \"\".concat(node.imgPrefix, \"/blocklet.png\");\n };\n let imgEle = /*#__PURE__*/(0, _jsxRuntime.jsx)(\"img\", {\n src: logoUrl,\n onError: setFallBackUrl,\n alt: blocklet.meta.name,\n style: {\n width: size\n }\n });\n if (!blocklet.meta.logo) {\n imgEle = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar2.default, {\n did: blocklet.meta.did || '',\n responsive: true\n });\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, _objectSpread(_objectSpread({\n variant: variant || 'square',\n style: Object.assign({\n backgroundColor: 'transparent',\n width: size,\n height: size,\n borderRadius: 10\n }, style)\n }, rest), {}, {\n children: imgEle\n }));\n}\nBlockletAvatar.propTypes = {\n blocklet: _propTypes.default.object.isRequired,\n style: _propTypes.default.object,\n size: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n ancestors: _propTypes.default.array\n};\nBlockletAvatar.defaultProps = {\n style: {},\n size: 40,\n ancestors: []\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = AddComponent;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _uniqBy = _interopRequireDefault(require(\"lodash/uniqBy\"));\nvar _flatten = _interopRequireDefault(require(\"lodash/flatten\"));\nvar _isEmpty = _interopRequireDefault(require(\"lodash/isEmpty\"));\nvar _isNil = _interopRequireDefault(require(\"lodash/isNil\"));\nvar _pageHeader = _interopRequireDefault(require(\"@blocklet/launcher-layout/lib/page-header\"));\nvar _Dialog = _interopRequireDefault(require(\"@arcblock/ux/lib/Dialog\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _DialogContentText = _interopRequireDefault(require(\"@mui/material/DialogContentText\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _TextField = _interopRequireDefault(require(\"@mui/material/TextField\"));\nvar _MenuItem = _interopRequireDefault(require(\"@mui/material/MenuItem\"));\nvar _Link = _interopRequireDefault(require(\"@mui/icons-material/Link\"));\nvar _Check = _interopRequireDefault(require(\"@mui/icons-material/Check\"));\nvar _useMediaQuery = _interopRequireDefault(require(\"@mui/material/useMediaQuery\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _constant = require(\"@blocklet/constant\");\nvar _launcherLayout = _interopRequireDefault(require(\"@blocklet/launcher-layout\"));\nvar _step = require(\"@blocklet/launcher-layout/lib/context/step\");\nvar _constant2 = require(\"@abtnode/constant\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _Alert = _interopRequireDefault(require(\"@arcblock/ux/lib/Alert\"));\nvar _Tag = _interopRequireDefault(require(\"@arcblock/ux/lib/Tag\"));\nvar _AnimationWaiter = _interopRequireDefault(require(\"@arcblock/ux/lib/AnimationWaiter\"));\nvar _launchResultMessage = _interopRequireDefault(require(\"@blocklet/launcher-layout/lib/launch-result-message\"));\nvar _util = require(\"@blocklet/meta/lib/util\");\nvar _urlFriendly = _interopRequireDefault(require(\"@blocklet/meta/lib/url-friendly\"));\nvar _node = require(\"../../contexts/node\");\nvar _util2 = require(\"../../util\");\nvar _toast = _interopRequireDefault(require(\"../../toast\"));\nvar _schemaForm = _interopRequireDefault(require(\"../../schema-form\"));\nvar _required = _interopRequireDefault(require(\"../../form/required\"));\nvar _purchase = require(\"../purchase\");\nvar _util3 = require(\"../router/util\");\nvar _agreement = _interopRequireDefault(require(\"../agreement\"));\nvar _installFromUrl = _interopRequireDefault(require(\"../install-from-url\"));\nvar _selectStore = _interopRequireDefault(require(\"./select-store\"));\nvar _storeBlockletList = _interopRequireDefault(require(\"./store-blocklet-list\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;\nconst _excluded = [\"name\", \"validation\"],\n _excluded2 = [\"default\", \"key\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nconst requirePurchase = meta => meta.inStore && (0, _util.isFreeBlocklet)(meta) === false;\nconst hasRequiredEnvironments = meta => (meta.environments || []).some(x => x.required);\nconst hasMissRequiredConfigs = (configsList, sharedValueMap) => {\n return configsList === null || configsList === void 0 ? void 0 : configsList.some(item => {\n return item.required && !sharedValueMap[item.key];\n });\n};\nconst getParamsName = function getParamsName() {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return params.title || params.name;\n};\nconst StepContent = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {\n let {\n meta,\n isMobile,\n onStepChange\n } = _ref;\n const {\n steps,\n activeStep,\n setActiveStepByKey,\n setActiveStepByIndex\n } = (0, _step.useStepContext)();\n const {\n t,\n locale\n } = (0, _context.useLocaleContext)();\n const step = steps[activeStep];\n (0, _react.useEffect)(() => {\n onStepChange(activeStep);\n }, [onStepChange, activeStep]);\n\n // expose the func and activeStep\n (0, _react.useImperativeHandle)(ref, () => ({\n setActiveStepByKey,\n setActiveStepByIndex\n }));\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(DialogContentWrapper, {\n component: \"div\",\n className: isMobile ? 'mobileStyle' : '',\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_launcherLayout.default, {\n locale: locale,\n blockletMeta: _objectSpread({\n title: ' '\n }, meta),\n pcWidth: \"100%\",\n pcHeight: \"100%\",\n logoUrl: meta && meta.logo && meta.registryUrl ? (0, _util2.getBlockletLogoUrl)({\n did: meta.did,\n baseUrl: meta.registryUrl,\n logoPath: meta.logo\n }) : null,\n stepTip: t('blocklet.component.add'),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(RightContent, {\n children: step !== null && step !== void 0 && step.body && typeof step.body === 'function' ? step.body() : step.body\n })\n })\n });\n});\nStepContent.propTypes = {\n meta: _propTypes.default.any,\n onStepChange: _propTypes.default.func.isRequired,\n isMobile: _propTypes.default.bool.isRequired\n};\nStepContent.defaultProps = {\n meta: null\n};\nfunction AddComponent(_ref2) {\n var _blocklet$meta2, _blocklet$meta3, _blocklet$meta4, _purchaseRef$current, _purchaseRef$current$, _purchaseRef$current2, _purchaseRef$current3;\n let {\n blocklet,\n children\n } = _ref2;\n const {\n t,\n locale\n } = (0, _context.useLocaleContext)();\n const [loading, setLoading] = (0, _react.useState)(false);\n const [editingItem, setEditingItem] = (0, _react.useState)(null);\n const [error, setError] = (0, _react.useState)('');\n const [showDialog, setShowDialog] = (0, _react.useState)('');\n const [configs, setConfigs] = (0, _react.useState)([]);\n const [mountPointHelperText, setMountPointHelperText] = (0, _react.useState)('');\n const {\n api,\n ws: {\n useSubscription\n },\n inService,\n info: nodeInfo\n } = (0, _node.useNodeContext)();\n const [purchaseData, setPurchaseData] = (0, _react.useState)(null);\n const [isWaitingPurchase, setIsWaitingPurchase] = (0, _react.useState)(false);\n const initParams = {\n bundleDid: '',\n componentDid: '',\n componentName: '',\n pathPrefix: '',\n name: '',\n title: '',\n configsList: [],\n configsValue: {},\n hasMissRequiredConfigs: false,\n hasEnvironmentsStep: false,\n hasRequiredEnvironments: false,\n requirePurchase: false,\n installResultProps: {},\n purchaseResultProps: {},\n showFromUrlDialog: false\n };\n const [params, setParams] = (0, _react.useState)(initParams);\n const [activeStep, setActiveStep] = (0, _react.useState)(0);\n const component = (0, _react.useRef)({});\n const stepRef = (0, _react.useRef)({});\n const purchaseRef = (0, _react.useRef)({});\n const isMobile = (0, _useMediaQuery.default)(theme => theme.breakpoints.down('md'));\n const {\n meta\n } = component.current;\n // eslint-disable-next-line no-unused-vars\n const {\n setActiveStepByIndex\n } = stepRef.current || {};\n const isServerlessMode = nodeInfo.mode === _constant2.NODE_MODES.SERVERLESS;\n const updateParams = obj => setParams(x => _objectSpread(_objectSpread({}, x), obj));\n (0, _react.useEffect)(() => {\n if (params.pathPrefix) {\n const {\n errMsg\n } = validateInput(_objectSpread(_objectSpread({}, params), {}, {\n pathPrefix: params.pathPrefix,\n locale\n }));\n setError(errMsg);\n }\n }, [params.pathPrefix]); // eslint-disable-line\n\n (0, _react.useEffect)(() => {\n if (activeStep === 0) {\n // reset params, when step change to select component\n setParams(initParams);\n }\n }, [activeStep]); // eslint-disable-line\n\n const getComponentName = () => {\n var _component$current;\n if (component !== null && component !== void 0 && (_component$current = component.current) !== null && _component$current !== void 0 && _component$current.meta) {\n return (0, _util.getDisplayName)(component.current);\n }\n return '';\n };\n const setInstallErrorResult = errorMessage => {\n updateParams({\n installResultProps: {\n variant: 'error',\n title: getComponentName(),\n subTitle: errorMessage,\n footer: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n className: \"bottom-button\",\n \"data-cy\": \"retry-install-component\",\n onClick: () => {\n updateParams({\n installResultProps: {}\n });\n onInstall(component.current.installInput);\n },\n children: t('common.retry')\n })\n }\n });\n };\n const createBlockletEventHandler = handler => {\n return b => {\n var _b$meta, _blocklet$meta;\n if (((b === null || b === void 0 ? void 0 : (_b$meta = b.meta) === null || _b$meta === void 0 ? void 0 : _b$meta.did) || (b === null || b === void 0 ? void 0 : b.meta)) === (blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta = blocklet.meta) === null || _blocklet$meta === void 0 ? void 0 : _blocklet$meta.did)) {\n handler(b);\n }\n };\n };\n useSubscription(_constant.BlockletEvents.statusChange, createBlockletEventHandler(e => {\n switch (e.status) {\n case _constant.BlockletStatus.upgrading:\n updateParams({\n installResultProps: {\n variant: 'success',\n title: getComponentName(),\n subTitle: t('blocklet.component.installSuccessTip')\n }\n });\n break;\n default:\n }\n }), [blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta2 = blocklet.meta) === null || _blocklet$meta2 === void 0 ? void 0 : _blocklet$meta2.did]);\n useSubscription(_constant.BlockletEvents.downloadFailed, createBlockletEventHandler(() => {\n setInstallErrorResult(t('blocklet.component.installComponentError'));\n }), [blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta3 = blocklet.meta) === null || _blocklet$meta3 === void 0 ? void 0 : _blocklet$meta3.did]);\n useSubscription(_constant.BlockletEvents.installFailed, createBlockletEventHandler(() => {\n setInstallErrorResult(t('blocklet.component.installComponentError'));\n }), [blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta4 = blocklet.meta) === null || _blocklet$meta4 === void 0 ? void 0 : _blocklet$meta4.did]);\n const onClose = () => {\n setLoading(false);\n setShowDialog(false);\n setParams({});\n component.current = {};\n };\n const onInstall = async payload => {\n var _component$current2, _component$current3;\n const {\n pathPrefix: mountPoint,\n bundleDid,\n title,\n componentName = '',\n componentDid = ''\n } = params;\n // eslint-disable-next-line no-shadow\n const {\n configs = [],\n registryUrl,\n inStore,\n inputUrl\n } = ((_component$current2 = component.current) === null || _component$current2 === void 0 ? void 0 : _component$current2.meta) || {};\n const downloadTokenList = (_component$current3 = component.current) === null || _component$current3 === void 0 ? void 0 : _component$current3.downloadTokenList;\n const url = inStore ? (0, _util2.getBlockletMetaUrl)(registryUrl, bundleDid) : inputUrl;\n setLoading(true);\n const installInput = _objectSpread(_objectSpread(_objectSpread({\n rootDid: blocklet.meta.did,\n url,\n mountPoint: (0, _urlFriendly.default)(mountPoint),\n title,\n name: componentName,\n did: componentDid\n }, params.hasEnvironmentsStep && configs.length > 0 ? {\n configs: configs.map(item => {\n return _objectSpread(_objectSpread({}, item), {}, {\n value: params.configsValue[item.key] || ''\n });\n })\n } : {}), downloadTokenList ? {\n downloadTokenList\n } : {}), payload);\n try {\n await api.installComponent({\n input: installInput\n });\n if (registryUrl) {\n const {\n teamDid,\n storeList\n } = (0, _util2.getStoreList)({\n fromBlocklet: inService,\n nodeInfo,\n blocklet\n });\n const {\n isNew,\n decoded\n } = (0, _util2.isNewStoreUrl)(registryUrl, storeList);\n if (isNew) {\n await api.addBlockletStore({\n input: {\n teamDid,\n url: decoded\n }\n });\n }\n }\n } catch (err) {\n _toast.default.error(err.message);\n console.error('installComponent error: ', err);\n setInstallErrorResult(err.message);\n } finally {\n setLoading(false);\n component.current.installInput = installInput;\n }\n };\n const validateInput = input => {\n // FIXME: validatePathPrefix should be updated\n const errMsg = (0, _util3.validatePathPrefix)({\n params: _objectSpread(_objectSpread({}, input), {}, {\n did: input.bundleDid\n }),\n blocklets: [blocklet],\n // blocklets: component.current?.blocklets?.map(x => ({ meta: x })) || [],\n blocklet,\n locale\n });\n return {\n errMsg\n };\n };\n const onNext = payload => {\n const {\n errMsg\n } = validateInput(_objectSpread(_objectSpread({}, params), {}, {\n locale\n }));\n setError(errMsg);\n\n // the step can complete, install component\n if (activeStep === steps.length - 2) {\n updateParams({\n installResultProps: {}\n });\n onInstall(payload);\n }\n setActiveStepByIndex(x => x + 1);\n };\n const _onCancel = () => {\n setActiveStepByIndex(x => x - 1);\n };\n const onGeneratePurchaseData = async () => {\n const {\n pathPrefix: mountPoint,\n bundleDid,\n title,\n componentName = '',\n componentDid = ''\n } = params;\n\n // eslint-disable-next-line no-shadow\n const {\n meta = {}\n } = component.current || {};\n const {\n registryUrl,\n inStore,\n inputUrl\n } = meta;\n const url = inStore ? (0, _util2.getBlockletMetaUrl)(registryUrl, bundleDid) : inputUrl;\n setPurchaseData({\n meta,\n installOpts: {\n type: 'component',\n rootDid: blocklet.meta.did,\n mountPoint,\n url,\n title,\n name: componentName,\n did: componentDid\n }\n });\n };\n const onCancelPurchase = errorMessage => {\n setIsWaitingPurchase(false);\n updateParams({\n purchaseResultProps: {\n variant: 'error',\n title: getComponentName(),\n subTitle: errorMessage,\n style: {\n paddingTop: 120\n },\n footer: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n className: \"bottom-button\",\n \"data-cy\": \"retry-purchase-component\",\n onClick: () => {\n updateParams({\n purchaseResultProps: {}\n });\n },\n children: t('common.retry')\n })\n }\n });\n };\n const onSuccessPurchase = _ref3 => {\n let {\n downloadTokenList\n } = _ref3;\n component.current.downloadTokenList = downloadTokenList;\n setIsWaitingPurchase(false);\n onNext();\n };\n const setConfigValue = _ref4 => {\n var _blocklet$settings, _list$, _list$$meta, _meta$environments;\n let {\n chooseParams = component.current,\n componentDid: componentDidValue,\n isInit = false\n } = _ref4;\n // eslint-disable-next-line no-shadow\n const {\n meta,\n registryUrl,\n inStore,\n inputUrl\n } = chooseParams;\n const {\n did: bundleDid,\n title,\n name\n } = meta;\n\n // deleted history list\n const list = (((_blocklet$settings = blocklet.settings) === null || _blocklet$settings === void 0 ? void 0 : _blocklet$settings.children) || []).filter(x => x.status === 'deleted' && x.meta.bundleDid === bundleDid).sort((a, b) => new Date(a.deletedAt) > new Date(b.deletedAt) ? -1 : 1);\n setConfigs(list);\n const componentDid = componentDidValue || ((_list$ = list[0]) === null || _list$ === void 0 ? void 0 : (_list$$meta = _list$.meta) === null || _list$$meta === void 0 ? void 0 : _list$$meta.did) || '';\n const newConfigs = (_meta$environments = meta.environments) === null || _meta$environments === void 0 ? void 0 : _meta$environments.map(item => {\n const {\n name: key,\n validation\n } = item,\n rest = _objectWithoutProperties(item, _excluded);\n const formatItem = {\n // if the blocklet has validation, provide the validation (fix not inStore)\n validation: (0, _isNil.default)(validation) ? '' : validation\n };\n return _objectSpread(_objectSpread({}, rest), {}, {\n key\n }, formatItem);\n });\n component.current = _objectSpread(_objectSpread({}, chooseParams), {}, {\n meta: _objectSpread(_objectSpread({}, meta), {}, {\n // init configs from environments\n configs: newConfigs,\n registryUrl,\n inStore,\n inputUrl\n })\n });\n let doc = {};\n\n // if is init, should update configs\n if (isInit) {\n const ancestors = [blocklet];\n\n // component config\n const componentSelfConfigs = newConfigs || [];\n\n // TODO: meta not include children environments/configs before install, waiting for next sprint to design\n const componentChildrenConfigs = [];\n\n // eslint-disable-next-line\n // chooseBlocklet?.children?.map(childBlocklet => {\n // // eslint-disable-next-line no-shadow\n // forEachChildSync(childBlocklet, (b, { ancestors }) => {\n // const ancestorDids = ancestors.slice(1).map(x => x.meta.did);\n\n // componentChildrenConfigs.push(\n // (b.configs || []).map(x => ({ ...x, childDid: ancestorDids.concat(b.meta.did) }))\n // );\n // });\n\n // return false;\n // });\n\n const componentAllConfigs = (0, _uniqBy.default)((0, _flatten.default)([...componentSelfConfigs, ...componentChildrenConfigs]), 'key').filter(x => !!x.key).sort((a, b) => {\n if (a.required && !b.required) {\n return -1;\n }\n if (b.required && !a.required) {\n return 1;\n }\n return 0;\n });\n const sharedConfigObj = (0, _util.getSharedConfigObj)({\n configs: componentAllConfigs\n }, ancestors);\n const configsValue = {};\n const configsList = componentAllConfigs.map(item => {\n const {\n default: defaultValue,\n key\n } = item,\n rest = _objectWithoutProperties(item, _excluded2);\n configsValue[key] = sharedConfigObj[key] || defaultValue;\n return _objectSpread(_objectSpread({}, rest), {}, {\n key,\n hidden: !!_constant.BLOCKLET_CONFIGURABLE_KEY[key]\n });\n });\n doc = _objectSpread(_objectSpread({}, doc), {}, {\n configsList,\n configsValue,\n hasMissRequiredConfigs: hasMissRequiredConfigs(configsList, configsValue)\n });\n }\n\n // use deleted history\n if (componentDid && componentDid !== '_empty_') {\n const config = list.find(x => x.meta.did === componentDid);\n doc = _objectSpread(_objectSpread({}, doc), {}, {\n pathPrefix: config === null || config === void 0 ? void 0 : config.mountPoint,\n title: config === null || config === void 0 ? void 0 : config.meta.title,\n componentName: config === null || config === void 0 ? void 0 : config.meta.name,\n // use history's environments\n hasEnvironmentsStep: false\n });\n } else {\n var _component$current$me, _component$current$me2;\n doc = _objectSpread(_objectSpread({}, doc), {}, {\n pathPrefix: \"/\".concat((0, _urlFriendly.default)(name)),\n title: title || '',\n componentName: '',\n hasEnvironmentsStep: ((_component$current$me = component.current.meta) === null || _component$current$me === void 0 ? void 0 : (_component$current$me2 = _component$current$me.environments) === null || _component$current$me2 === void 0 ? void 0 : _component$current$me2.length) > 0\n });\n }\n\n // eslint-disable-next-line no-shadow\n const componentRequirePurchase = requirePurchase(component.current.meta);\n updateParams(_objectSpread(_objectSpread({\n bundleDid,\n componentDid\n }, doc), {}, {\n hasRequiredEnvironments: hasRequiredEnvironments(component.current.meta),\n requirePurchase: componentRequirePurchase\n }));\n if (isInit && componentRequirePurchase) {\n onGeneratePurchaseData();\n }\n };\n const steps = [{\n key: 'selectComponent',\n name: t('blocklet.component.selectComponent'),\n body: /*#__PURE__*/(0, _jsxRuntime.jsxs)(TypographyWrapper, {\n component: \"div\",\n children: [params.showFromUrlDialog && /*#__PURE__*/(0, _jsxRuntime.jsx)(_installFromUrl.default\n // if not set defaultUrl, the dialog will always show step 1 when the dialog is opened\n // defaultUrl={meta?.inputUrl}\n , {\n mode: \"component\",\n onCancel: () => {\n updateParams({\n showFromUrlDialog: false\n });\n }\n // eslint-disable-next-line no-shadow\n ,\n onSuccess: _ref5 => {\n let {\n meta,\n inputUrl,\n inStore,\n registryUrl\n } = _ref5;\n setConfigValue({\n chooseParams: {\n meta,\n inputUrl,\n inStore,\n registryUrl\n },\n isInit: true\n });\n updateParams({\n showFromUrlDialog: false\n });\n onNext();\n },\n handleText: {\n title: t('blocklet.component.addComponentTip.fromUrl'),\n confirm: t('blocklet.component.choose')\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_selectStore.default, {\n extra: !isServerlessMode ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n variant: \"text\",\n color: \"primary\",\n \"data-cy\": \"add-component-from-url\",\n onClick: () => {\n updateParams({\n showFromUrlDialog: true\n });\n },\n style: {\n padding: '0 2px'\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Link.default, {\n style: {\n fontSize: 20,\n marginRight: 4\n }\n }), \" \", t('blocklet.component.addComponentTip.fromUrl'), ' ']\n }) : null,\n loading: loading,\n onChange: () => {\n setParams({});\n component.current = {};\n },\n children: _ref6 => {\n let {\n currentRegistry\n } = _ref6;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_storeBlockletList.default, {\n style: isMobile ? {\n // should remove other dom height/margin\n height: 'calc(100vh - 56px - 80px - 32px - 40px )'\n } : {\n height: 'calc(100% - 40px)'\n },\n storeUrl: currentRegistry.url,\n handleButtonClick: chooseParams => {\n setConfigValue({\n chooseParams: _objectSpread(_objectSpread({}, chooseParams), {}, {\n inStore: true // choose from store, must be inStore\n }),\n\n isInit: true\n });\n },\n handleBlockletRender: _ref7 => {\n let {\n blocklet: blockletItem,\n defaultRender\n } = _ref7;\n const isChosen = (params === null || params === void 0 ? void 0 : params.bundleDid) && (params === null || params === void 0 ? void 0 : params.bundleDid) === (blockletItem === null || blockletItem === void 0 ? void 0 : blockletItem.did);\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StoreBlockletItemWrapper, {\n children: [isChosen && /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"check-container\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Check.default, {\n className: \"check-icon\"\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: isChosen ? 'choose-blocklet' : '',\n style: {\n marginLeft: 16\n },\n children: defaultRender\n })]\n });\n },\n extraFilter: allBlocklets => {\n // only use blocklets that are component\n return allBlocklets === null || allBlocklets === void 0 ? void 0 : allBlocklets.filter(x => !!(0, _util.isComponentBlocklet)(x));\n }\n });\n }\n })]\n }),\n cancel: t('common.cancel'),\n confirm: getParamsName(params) ? t('blocklet.component.addNext', {\n name: getParamsName(params)\n }) : t('common.next'),\n onCancel: onClose,\n onConfirm: () => {\n onNext();\n }\n }, {\n key: 'agreement',\n name: t('launchBlocklet.introduction'),\n body: /*#__PURE__*/(0, _jsxRuntime.jsxs)(TypographyWrapper, {\n component: \"div\",\n className: \"agreement-wrapper\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_pageHeader.default, {\n title: t('launchBlocklet.introduction'),\n subTitle: t('blocklet.component.addComponentTip.introduction')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_agreement.default, {\n meta: meta,\n onClickNext: onNext,\n handleDescEle: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"p\", {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n // eslint-disable-next-line\n dangerouslySetInnerHTML: {\n __html: t(\"blocklet.component.addComponentTip.\".concat(params.requirePurchase ? 'isPurchase' : 'isFree'), {\n name: getComponentName()\n })\n }\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"p\", {\n children: t('blocklet.component.addComponentTip.belowInformation')\n })]\n })\n })]\n }),\n cancel: t('common.pre'),\n confirm: t('launchBlocklet.next'),\n onCancel: _onCancel,\n onConfirm: () => {\n setIsWaitingPurchase(false);\n onNext();\n }\n }, meta && params.requirePurchase && {\n key: 'purchase',\n name: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [t('common.verifyNFT'), /*#__PURE__*/(0, _jsxRuntime.jsx)(_required.default, {})]\n }),\n body: /*#__PURE__*/(0, _jsxRuntime.jsxs)(TypographyWrapper, {\n component: \"div\",\n className: \"flex-align-center\",\n style: {\n flexDirection: 'column'\n },\n children: [!(((_purchaseRef$current = purchaseRef.current) === null || _purchaseRef$current === void 0 ? void 0 : (_purchaseRef$current$ = _purchaseRef$current.getCurrentStep) === null || _purchaseRef$current$ === void 0 ? void 0 : _purchaseRef$current$.call(_purchaseRef$current)) === 2 || isWaitingPurchase) && /*#__PURE__*/(0, _jsxRuntime.jsx)(PageHeaderWrapper, {\n title: t('common.verifyNFT'),\n subTitle: t('blocklet.component.addComponentTip.verifyNFT')\n }), !(0, _isEmpty.default)(params.purchaseResultProps) ? /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"flex-align-center flex-justify-center\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_launchResultMessage.default, _objectSpread({}, params.purchaseResultProps))\n }) : purchaseData && /*#__PURE__*/(0, _jsxRuntime.jsx)(_purchase.ComponentPurchaseSelect, {\n ref: purchaseRef,\n meta: purchaseData.meta\n // if select deleted history, use verify mode\n ,\n mode: params.componentDid ? 'verify' : 'both',\n onCancel: onCancelPurchase,\n installOpts: purchaseData.installOpts,\n handlePaySuccess: onSuccessPurchase\n })]\n }),\n disabled: ((_purchaseRef$current2 = purchaseRef.current) === null || _purchaseRef$current2 === void 0 ? void 0 : (_purchaseRef$current3 = _purchaseRef$current2.getCurrentStep) === null || _purchaseRef$current3 === void 0 ? void 0 : _purchaseRef$current3.call(_purchaseRef$current2)) === 2 || isWaitingPurchase,\n cancel: t('common.pre'),\n confirm: t('common.next'),\n onConfirm: () => {\n if (typeof purchaseRef.current.onNext === 'function') {\n purchaseRef.current.onNext();\n setIsWaitingPurchase(true);\n }\n },\n onCancel: () => {\n _onCancel();\n }\n }, {\n key: 'config',\n name: t('common.config'),\n error,\n body: /*#__PURE__*/(0, _jsxRuntime.jsxs)(TypographyWrapper, {\n component: \"div\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(PageHeaderWrapper, {\n title: t('common.config'),\n subTitle: t('blocklet.component.addComponentTip.config')\n }), !!params.bundleDid && !!configs.length && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TextField.default, {\n select: true,\n label: t('blocklet.component.selectInstance'),\n autoComplete: \"off\",\n variant: \"outlined\",\n name: \"did\",\n helperText: t('blocklet.component.selectInstanceTip'),\n \"data-cy\": \"component-instance-select\",\n fullWidth: true,\n value: params.componentDid || '_empty_',\n onChange: e => {\n setConfigValue({\n componentDid: e.target.value\n });\n },\n style: {\n marginBottom: 32\n },\n margin: \"normal\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {\n value: \"_empty_\",\n children: t('blocklet.component.newInstance')\n }, \"_empty_\"), configs.map(x => {\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_MenuItem.default, {\n value: x.meta.did,\n \"data-cy\": x.meta.did,\n children: [x.meta.title, /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tag.default, {\n style: {\n marginLeft: 8\n },\n children: (0, _util2.formatToDatetime)(x.deletedAt)\n })]\n }, x.meta.did);\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n label: t('blocklet.component.mountPoint'),\n autoComplete: \"off\",\n variant: \"outlined\",\n name: \"pathPrefix\",\n inputProps: {\n 'data-cy': 'mount-point-input'\n },\n fullWidth: true,\n helperText: mountPointHelperText || t('blocklet.component.mountPointTip'),\n style: {\n marginBottom: 32\n },\n margin: \"normal\",\n value: params.pathPrefix,\n onChange: e => {\n const pathPrefix = e.target.value;\n updateParams({\n pathPrefix\n });\n setMountPointHelperText(t('common.slugifyHint', {\n value: (0, _util2.formatMountPoint)(pathPrefix)\n }));\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n label: t('common.title'),\n autoComplete: \"off\",\n variant: \"outlined\",\n fullWidth: true,\n style: {\n marginBottom: 32\n },\n margin: \"normal\",\n value: params.title,\n helperText: t('blocklet.component.titleTip'),\n onChange: e => {\n const title = e.target.value;\n setParams(_objectSpread(_objectSpread({}, params), {}, {\n title\n }));\n }\n }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n type: \"error\",\n style: {\n width: '100%',\n marginTop: 8\n },\n children: error\n })]\n }),\n cancel: t('common.pre'),\n confirm: t('common.next'),\n onCancel: _onCancel,\n onConfirm: () => {\n onNext();\n }\n }, meta && (params === null || params === void 0 ? void 0 : params.hasEnvironmentsStep) && {\n key: 'environment',\n name: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [t('common.environment'), \" \", params.hasRequiredEnvironments && /*#__PURE__*/(0, _jsxRuntime.jsx)(_required.default, {})]\n }),\n disabled: !!editingItem || (params === null || params === void 0 ? void 0 : params.hasMissRequiredConfigs),\n body: () => {\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(TypographyWrapper, {\n component: \"div\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(PageHeaderWrapper, {\n title: t('common.environment'),\n subTitle: t('blocklet.component.addComponentTip.environment')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_schemaForm.default, {\n style: {\n marginTop: -12,\n width: '100%'\n },\n schema: params.configsList,\n defaultValue: params.configsValue\n // eslint-disable-next-line\n ,\n onChange: (changeValue, _ref8) => {\n let {\n action,\n currentItem,\n allValues\n } = _ref8;\n if (action === 'confirm') {\n updateParams({\n hasMissRequiredConfigs: hasMissRequiredConfigs(params.configsList, allValues),\n configsValue: allValues\n });\n }\n if (action === 'edit') {\n setEditingItem(currentItem);\n } else if (['cancel', 'confirm'].includes(action)) {\n setEditingItem(null);\n }\n }\n })]\n });\n },\n cancel: t('common.pre'),\n confirm: t('common.next'),\n onCancel: _onCancel,\n onConfirm: onNext\n }, {\n key: 'install',\n name: t('common.install'),\n disabled: false,\n loading: false,\n body: /*#__PURE__*/(0, _jsxRuntime.jsx)(TypographyWrapper, {\n component: \"div\",\n className: \"flex-justify-center flex-align-center\",\n style: {\n flexDirection: 'column'\n },\n children: (0, _isEmpty.default)(params.installResultProps) ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_AnimationWaiter.default, {\n message: /*#__PURE__*/(0, _jsxRuntime.jsx)(MessageDiv, {\n children: t('blocklet.component.installingCanCloseWindowTip')\n }),\n increaseSpeed: 0.3,\n messageLoop: false\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n style: {\n marginTop: 120\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_launchResultMessage.default, _objectSpread({}, params.installResultProps))\n })\n }),\n confirm: t('common.complete'),\n // onCancel: onClose,\n onConfirm: () => {\n onClose();\n // scroll to bottom\n setTimeout(() => {\n const scrollDom = document.getElementsByClassName('dashboard-main')[0];\n if (scrollDom) {\n scrollDom.scrollTop = scrollDom.scrollHeight;\n }\n }, 200);\n }\n }].filter(item => item);\n const step = steps[activeStep] || {};\n const onMenuItemClick = e => {\n e.stopPropagation();\n // eslint-disable-next-line no-unused-expressions\n setShowDialog(true);\n };\n const isDisabled = () => {\n if (loading || step.error || !params.bundleDid) {\n return true;\n }\n if (activeStep > 0) {\n return !params.pathPrefix;\n }\n return false;\n };\n\n // show close button when step is not the last one\n const showCloseButton = activeStep < steps.length - 1;\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [typeof children === 'function' ? children({\n loading,\n open: onMenuItemClick\n }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_MenuItem.default, {\n onClick: onMenuItemClick,\n className: \"component-action\",\n \"data-cy\": \"action-add-component\",\n children: [loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Link.default, {\n style: {\n fontSize: 18,\n marginRight: 5\n }\n }), t('blocklet.component.add')]\n }), showDialog && /*#__PURE__*/(0, _jsxRuntime.jsx)(DialogWrapper, {\n title: t('blocklet.component.addWithName', {\n name: (0, _util.getDisplayName)(blocklet)\n }),\n maxWidth: false,\n fullWidth: false,\n PaperProps: {\n style: isMobile ? {\n width: '100%',\n height: window.innerHeight\n } : {\n maxWidth: 1350,\n minWidth: 930,\n width: '80%'\n }\n }\n // eslint-disable-next-line no-unused-vars\n ,\n onClose: (event, reason) => {\n var _steps$, _steps$$onCancel;\n // disable backdropClick\n if (reason === 'backdropClick') {\n return;\n }\n (_steps$ = steps[0]) === null || _steps$ === void 0 ? void 0 : (_steps$$onCancel = _steps$.onCancel) === null || _steps$$onCancel === void 0 ? void 0 : _steps$$onCancel.call(_steps$);\n },\n showCloseButton: showCloseButton,\n disableEscapeKeyDown: true,\n open: true,\n actions: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [step.cancel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n step.onCancel();\n },\n color: \"inherit\",\n children: step.cancel || t('common.cancel')\n }), step.confirm && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n step.onConfirm();\n },\n color: \"primary\",\n \"data-cy\": \"submit-confirm-next\",\n disabled: typeof step.disabled === 'boolean' ? step.disabled : isDisabled(),\n variant: \"contained\",\n autoFocus: true,\n title: step.confirm,\n style: {\n marginLeft: 8,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n maxWidth: '200px',\n display: 'inline-block'\n },\n children: [(typeof step.loading === 'boolean' ? step.loading : loading) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }), step.confirm]\n })]\n }),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_step.StepProvider, {\n steps: steps,\n mode: \"memory\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StepContent, {\n ref: stepRef,\n meta: meta,\n isMobile: isMobile,\n onStepChange: newStep => {\n setActiveStep(newStep);\n }\n })\n })\n })]\n });\n}\nAddComponent.propTypes = {\n children: _propTypes.default.any,\n blocklet: _propTypes.default.object.isRequired\n};\nAddComponent.defaultProps = {\n children: null\n};\nconst DialogWrapper = (0, _styled.default)(_Dialog.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .MuiDialogContent-root {\\n padding-left: 0;\\n padding-right: 0;\\n padding-bottom: 0;\\n }\\n .MuiDialogActions-root {\\n padding: 16px 24px;\\n }\\n\"])));\nconst TypographyWrapper = (0, _styled.default)(_Typography.default)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n width: 100%;\\n height: 100%;\\n\"])));\nconst RightContent = _styled.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n padding: 34px 24px 24px;\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n align-items: flex-start;\\n\\n .bottom-button {\\n min-width: 200px;\\n }\\n\\n // blocklet-select-side\\n aside {\\n width: 140px;\\n }\\n\"])));\nconst isMobileDialogContent = props => {\n if (props.isMobile) {\n return \"\\n height: calc(100vh - 56px - 64px - 48px);\\n \";\n }\n return '';\n};\nconst DialogContentWrapper = (0, _styled.default)(_DialogContentText.default)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n \", \"\\n\\n & .flex-justify-center {\\n display: flex;\\n justify-content: center;\\n }\\n\\n & .flex-align-center {\\n display: flex;\\n height: 100%;\\n align-items: center;\\n \", \"\\n }\\n\\n & .agreement-wrapper {\\n \", \"\\n max-height: 60vh;\\n .eula-trigger {\\n padding-right: 0;\\n }\\n .next-button {\\n display: none;\\n }\\n }\\n\\n & .connect {\\n background: white;\\n }\\n\"])), _ref9 => {\n let {\n className\n } = _ref9;\n // mobile extra style\n if (className === 'mobileStyle') {\n return \"\\n & > div{\\n height: 100%;\\n }\\n .root-header {\\n .app-name-content {\\n display: none;\\n }\\n }\\n\\n // content-panel\\n .root-header + div{\\n padding-top: 0;\\n position: relative;\\n & > div {\\n padding-top: 0;\\n }\\n }\\n\\n \";\n }\n return \"\\n height: 72vh;\\n position: relative;\\n .root-header {\\n z-index: auto !important;\\n position: fixed !important;\\n }\\n & > div {\\n height: 100%;\\n width: 100%;\\n max-width: 100%;\\n & > div {\\n max-height: unset !important;\\n max-width: 100%;\\n & > div {\\n // left-panel\\n &:first-child {\\n padding-top: 0;\\n // padding-left: 0;\\n width: 25%;\\n min-width: 240px;\\n & > div:first-child {\\n display: none;\\n }\\n // step\\n & > div:last-child {\\n // margin-top: 32px;\\n margin-top: 0;\\n }\\n }\\n // right-panel\\n &:last-child {\\n padding-top: 0;\\n padding-right: 24px;\\n overflow-y: auto;\\n .app-content {\\n padding: 0 0 24px 0;\\n }\\n .button-container {\\n padding-right: 0;\\n }\\n }\\n }\\n }\\n }\\n\\n \";\n}, props => isMobileDialogContent(props), props => isMobileDialogContent(props));\nconst PageHeaderWrapper = (0, _styled.default)(_pageHeader.default)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n margin-bottom: 24px;\\n\"])));\nconst StoreBlockletItemWrapper = _styled.default.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n position: relative;\\n\\n .choose-blocklet {\\n background-color: rgb(236, 251, 253);\\n border-color: rgb(236, 251, 253);\\n border-radius: 8px;\\n }\\n\\n .check-container {\\n position: absolute;\\n right: 0;\\n bottom: 0;\\n display: flex;\\n justify-content: flex-end;\\n align-items: flex-end;\\n width: 30px;\\n height: 30px;\\n border-radius: 0 0 8px 0;\\n color: \", \";\\n overflow: hidden;\\n transition: all ease 0.3s;\\n &:after {\\n position: absolute;\\n z-index: 0;\\n display: block;\\n width: 0;\\n height: 0;\\n border-top: transparent solid 15px;\\n border-left: transparent solid 15px;\\n border-bottom: \", \" solid 15px;\\n border-right: \", \" solid 15px;\\n transition: all ease 0.1s;\\n content: '';\\n }\\n\\n .check-icon {\\n position: relative;\\n z-index: 2;\\n margin: 0 1px 1px 0;\\n font-size: 16px;\\n transition: all ease 0.2s;\\n }\\n }\\n\"])), props => props.theme.palette.common.white, props => props.theme.palette.primary.main, props => props.theme.palette.primary.main);\nconst MessageDiv = _styled.default.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n color: \", \";\\n .msg-before {\\n display: inline-block;\\n color: #aaa;\\n font-size: 14px;\\n margin-right: 6px;\\n }\\n\"])), props => props.theme.palette.primary.main);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ComponentConfiguration;\nvar _react = require(\"react\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _Edit = _interopRequireDefault(require(\"@mui/icons-material/Edit\"));\nvar _util = require(\"@blocklet/meta/lib/util\");\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Dialog = _interopRequireDefault(require(\"@arcblock/ux/lib/Dialog\"));\nvar _Tabs = _interopRequireDefault(require(\"@arcblock/ux/lib/Tabs\"));\nvar _util2 = require(\"../../util\");\nvar _environment = _interopRequireDefault(require(\"./environment\"));\nvar _setting = _interopRequireDefault(require(\"./setting\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ComponentConfiguration(_ref) {\n let {\n blocklet,\n ancestors,\n children\n } = _ref;\n const [showDialog, setShowDialog] = (0, _react.useState)('');\n const {\n t\n } = (0, _context.useLocaleContext)();\n const isRoot = !ancestors.map(x => x.meta.did)[0];\n const isDynamic = blocklet.dynamic;\n const [tab, setTab] = (0, _react.useState)('settings');\n const name = ancestors.concat(blocklet).map(x => (0, _util.getDisplayName)(x, true)).join(' / ');\n if ((0, _util2.isInstalling)(blocklet.status)) {\n return null;\n }\n if (blocklet.status === 'unknown' && (0, _util2.isInstalling)(blocklet.status)) {\n return null;\n }\n const onClose = () => {\n setShowDialog(false);\n };\n const onOpen = e => {\n e.stopPropagation();\n // eslint-disable-next-line no-unused-expressions\n setShowDialog(true);\n };\n const tabConfigs = {\n settings: {\n label: t('blocklet.component.setting'),\n value: 'settings',\n component: /*#__PURE__*/(0, _jsxRuntime.jsx)(_setting.default, {\n blocklet: blocklet,\n ancestors: ancestors\n })\n },\n environments: {\n label: t('common.environment'),\n value: 'environments',\n component: /*#__PURE__*/(0, _jsxRuntime.jsx)(_environment.default, {\n blocklet: blocklet,\n ancestors: ancestors\n })\n }\n };\n const tabs = Object.values(tabConfigs).map(_ref2 => {\n let {\n label,\n value\n } = _ref2;\n return {\n label,\n value\n };\n });\n const onTabChange = newTab => {\n setTab(newTab);\n };\n const tabConfig = tabConfigs[tab] || tabConfigs.settings;\n return [typeof children === 'function' ? children({\n open: onOpen\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n onClick: onOpen,\n \"data-cy\": \"action-config-component\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Edit.default, {})\n }), showDialog && /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledDialog, {\n open: true,\n fullWidth: true,\n maxWidth: \"md\",\n title: name,\n onClose: onClose,\n PaperProps: {\n style: {\n minHeight: 'auto'\n }\n },\n children: isRoot || isDynamic ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n mt: 1,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Tabs.default, {\n tabs: tabs,\n current: tab,\n onChange: onTabChange,\n scrollButtons: \"auto\"\n }), tabConfig.component]\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_environment.default, {\n blocklet: blocklet,\n ancestors: ancestors\n })\n })];\n}\nComponentConfiguration.propTypes = {\n blocklet: _propTypes.default.object.isRequired,\n ancestors: _propTypes.default.array,\n children: _propTypes.default.any\n};\nComponentConfiguration.defaultProps = {\n ancestors: [],\n children: null\n};\nconst StyledDialog = (0, _styled.default)(_Dialog.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .MuiDialogContent-root {\\n padding-top: 0;\\n margin-top: -32px;\\n }\\n .MuiToolbar-root {\\n padding-right: 12px;\\n }\\n .ux-dialog_right {\\n padding-right: 20px;\\n }\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = DeleteComponent;\nvar _react = require(\"react\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Delete = _interopRequireDefault(require(\"@mui/icons-material/Delete\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\nvar _Tooltip = _interopRequireDefault(require(\"@mui/material/Tooltip\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _Radio = _interopRequireDefault(require(\"@mui/material/Radio\"));\nvar _RadioGroup = _interopRequireDefault(require(\"@mui/material/RadioGroup\"));\nvar _FormControlLabel = _interopRequireDefault(require(\"@mui/material/FormControlLabel\"));\nvar _confirm = _interopRequireDefault(require(\"../../confirm\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction DeleteComponent(_ref) {\n let {\n component,\n remove,\n disabled,\n tip\n } = _ref;\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n const [loading, setLoading] = (0, _react.useState)(false);\n const [deleteSetting, setDeleteSetting] = (0, _react.useState)(null);\n const deleteComponent = async param => {\n setLoading(true);\n await remove(param.component, param.removeType);\n setLoading(false);\n setDeleteSetting(null);\n };\n const componentDisabled = disabled || loading;\n const btn = /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledButton, {\n disabled: componentDisabled,\n onClick: () => setDeleteSetting({\n title: t('blocklet.component.delete'),\n // eslint-disable-next-line react/no-unstable-nested-components\n description: (params, setParams) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {\n component: \"div\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n gutterBottom: true,\n children: t('blocklet.action.removeComponentDescription')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_RadioGroup.default, {\n name: \"removeType\",\n value: params.removeType,\n onChange: e => setParams(_objectSpread(_objectSpread({}, params), {}, {\n removeType: e.target.value\n })),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_FormControlLabel.default, {\n value: \"keepData\",\n control: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Radio.default, {}),\n label: t('blocklet.action.removeComponentKeepData')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormControlLabel.default, {\n value: \"complete\",\n control: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Radio.default, {}),\n label: t('blocklet.action.removeComponentComplete')\n })]\n })]\n }),\n confirm: t('common.confirm'),\n cancel: t('common.cancel'),\n params: {\n component,\n removeType: 'keepData'\n },\n onConfirm: deleteComponent,\n onCancel: () => setDeleteSetting(null)\n }),\n \"data-cy\": \"delete-component-btn\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Delete.default, {\n disabled: componentDisabled\n })\n });\n const btnWithToolTip = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: tip || t('common.delete'),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n children: btn\n })\n });\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [btnWithToolTip, deleteSetting && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {\n title: deleteSetting.title,\n description: deleteSetting.description,\n confirm: deleteSetting.confirm,\n cancel: deleteSetting.cancel,\n params: deleteSetting.params,\n onConfirm: deleteSetting.onConfirm,\n onCancel: deleteSetting.onCancel\n })]\n });\n}\nDeleteComponent.propTypes = {\n component: _propTypes.default.object.isRequired,\n remove: _propTypes.default.func,\n disabled: _propTypes.default.bool,\n tip: _propTypes.default.string\n};\nDeleteComponent.defaultProps = {\n remove: async () => {},\n disabled: false,\n tip: ''\n};\nconst StyledButton = (0, _styled.default)(_IconButton.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n &.Mui-disabled {\\n opacity: 0.5;\\n }\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ComponentEnvironment;\nvar _react = require(\"react\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _core = _interopRequireDefault(require(\"@material-table/core\"));\nvar _TextField = _interopRequireDefault(require(\"@mui/material/TextField\"));\nvar _Alert = _interopRequireDefault(require(\"@mui/material/Alert\"));\nvar _constant = require(\"@blocklet/constant\");\nvar _util = require(\"@blocklet/meta/lib/util\");\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _clickToCopy = _interopRequireDefault(require(\"../../click-to-copy\"));\nvar _toast = _interopRequireDefault(require(\"../../toast\"));\nvar _node = require(\"../../contexts/node\");\nvar _tableIcons = _interopRequireDefault(require(\"../../table-icons\"));\nvar _table = _interopRequireDefault(require(\"../../table\"));\nvar _permission = _interopRequireDefault(require(\"../../permission\"));\nvar _util2 = require(\"../../util\");\nvar _icons = _interopRequireDefault(require(\"../icons\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject, _templateObject2;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction ComponentEnvironment(_ref) {\n let {\n blocklet,\n ancestors\n } = _ref;\n const node = (0, _node.useNodeContext)();\n const {\n inService\n } = node;\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n const dids = [...ancestors.map(x => x.meta.did), blocklet.meta.did];\n const onConfigChanged = () => _toast.default.success(t('blocklet.config.changedTip'));\n const isConfigEditable = x => x.custom;\n if ((0, _util2.isInstalling)(blocklet.status)) {\n return null;\n }\n if (blocklet.status === 'unknown' && (0, _util2.isInstalling)(blocklet.status)) {\n return null;\n }\n const onAddConfig = async data => {\n if (!data.key.trim() || !data.value.trim()) {\n _toast.default.error(t('blocklet.config.environment.keyValueRequired'));\n return;\n }\n if (data.key.startsWith('BLOCKLET_') || data.key.startsWith('COMPONENT_')) {\n _toast.default.error(t('blocklet.config.environment.invalidKey'));\n return;\n }\n data.custom = true;\n const result = await node.api.configBlocklet({\n input: {\n did: dids,\n configs: [data]\n }\n });\n if (result.code === 'ok') {\n onConfigChanged(result.blocklet);\n }\n };\n const onEditConfig = async (newData, oldData) => {\n // only required field can't be empty\n if (newData.required && (!newData.key.trim() || !newData.value.trim())) {\n _toast.default.error(t('blocklet.config.environment.keyValueRequired'));\n return;\n }\n if (newData.key.startsWith('BLOCKLET_') && !_constant.BLOCKLET_CONFIGURABLE_KEY[newData.key]) {\n _toast.default.error(t('blocklet.config.environment.invalidKey'));\n return;\n }\n if (newData.key === _constant.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_CLUSTER_SIZE) {\n const errMessage = (0, _util2.isValidClusterSize)(newData);\n if (errMessage) {\n _toast.default.error(errMessage);\n return;\n }\n }\n const configs = [newData];\n if (newData.key !== oldData.key) {\n if (!newData.custom) {\n _toast.default.error('Only key of custom env can be changed');\n return;\n }\n configs.push({\n key: oldData.key,\n custom: true\n });\n }\n try {\n const result = await node.api.configBlocklet({\n input: {\n did: dids,\n configs\n }\n });\n if (result.code === 'ok') {\n onConfigChanged(result.blocklet);\n }\n } catch (err) {\n _toast.default.error((0, _util2.formatError)(err));\n }\n };\n const onDeleteConfig = async data => {\n if (data.required) {\n _toast.default.error(t('blocklet.config.environment.deleteForbidden'));\n return;\n }\n if (!data.custom) {\n _toast.default.error('Only key of custom env can be changed');\n return;\n }\n const result = await node.api.configBlocklet({\n input: {\n did: dids,\n configs: [{\n key: data.key,\n custom: true\n }]\n }\n });\n if (result.code === 'ok') {\n onConfigChanged(result.blocklet);\n }\n };\n\n // configs\n const componentConfigs = (blocklet.configs || []).filter(x => !_constant.BLOCKLET_CONFIGURABLE_KEY[x.key]);\n const sharedConfigObj = (0, _util.getSharedConfigObj)(blocklet, ancestors);\n const missingRequiredConfigs = (0, _util.getComponentMissingConfigs)(blocklet, ancestors);\n const configs = componentConfigs.map(x => _objectSpread(_objectSpread({}, x), {}, {\n value: sharedConfigObj[x.key] || x.value\n }));\n const hasBWAConfig = configs.some(x => x.key && x.key.startsWith('BWA_'));\n const action = {\n onRowAdd: onAddConfig,\n onRowUpdate: onEditConfig,\n onRowDelete: onDeleteConfig,\n // environment declare in blocklet.yml can't be deleted, only custom env can be deleted\n isDeletable: isConfigEditable\n };\n const onColumns = () => [{\n title: t('common.key'),\n field: 'key',\n initialEditValue: 'Key',\n width: '30%',\n render: d => /*#__PURE__*/(0, _jsxRuntime.jsx)(_clickToCopy.default, {\n value: d.value,\n style: {\n color: d.required && !d.value ? '#ff4436' : '#222222',\n fontWeight: d.required ? 'bold' : 'normal'\n },\n children: d.key\n }),\n editComponent: props => {\n const {\n value,\n rowData,\n onChange: _onChange\n } = props;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(EditDiv, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n fullWidth: true,\n size: \"small\",\n disabled: isConfigEditable(rowData) === false,\n value: value,\n onChange: e => _onChange(e.target.value),\n variant: \"outlined\",\n label: \"Key\",\n placeholder: t('blocklet.config.environment.key'),\n margin: \"dense\",\n autoFocus: true\n })\n });\n }\n }, {\n title: t('common.value'),\n field: 'value',\n initialEditValue: 'Value',\n width: 'calc((100% - (96px + 30%)) / 1)',\n render: d => {\n if (d.secure) {\n return '******';\n }\n if (!d.value) {\n return null;\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_clickToCopy.default, {\n unstyled: true,\n value: d.value,\n style: {\n wordBreak: 'break-all'\n },\n children: d.value\n });\n },\n // eslint-disable-next-line no-shadow\n editComponent: props => {\n const {\n value,\n rowData,\n onChange: _onChange2\n } = props;\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(EditDiv, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n fullWidth: true,\n size: \"small\",\n value: value === '__encrypted__' ? '' : value,\n onChange: e => _onChange2(e.target.value),\n variant: \"outlined\",\n label: t('common.value'),\n placeholder: t('blocklet.config.environment.value'),\n margin: \"dense\",\n autoFocus: true\n }), rowData.description && /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n style: {\n marginLeft: 12\n },\n children: rowData.description\n })]\n });\n }\n }];\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {\n children: [!!missingRequiredConfigs.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n severity: \"error\",\n style: {\n marginTop: 24\n },\n children: t('blocklet.config.missingRequired')\n }), hasBWAConfig && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n severity: \"info\",\n children: t('blocklet.config.environment.tip')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_permission.default, {\n permission: inService ? '' : 'mutate_blocklets',\n role: inService ? _util2.BlockletAdminRoles : [],\n children: hasPermission => /*#__PURE__*/(0, _jsxRuntime.jsx)(_table.default, {\n className: (0, _util2.isBlockletDev)(blocklet) ? 'readonly-block config-table' : 'config-table',\n \"data-disabled-text\": t('blocklet.config.disabledText'),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_core.default, {\n title: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"h4\", {\n children: t('common.environment')\n }),\n columns: onColumns(),\n icons: _objectSpread(_objectSpread({}, _icons.default), _tableIcons.default),\n options: {\n emptyRowsWhenPaging: false,\n actionsColumnIndex: -1,\n tableLayout: 'auto',\n maxBodyHeight: '100%',\n paging: false,\n search: false\n },\n localization: {\n header: {\n actions: t('common.actions')\n },\n body: {\n emptyDataSourceMessage: t('common.noData')\n }\n },\n data: configs,\n editable: hasPermission ? action : {}\n })\n })\n })]\n });\n}\nComponentEnvironment.propTypes = {\n blocklet: _propTypes.default.object.isRequired,\n ancestors: _propTypes.default.array\n};\nComponentEnvironment.defaultProps = {\n ancestors: []\n};\nconst Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .readonly-block {\\n position: relative;\\n &::after {\\n content: attr(data-disabled-text);\\n position: absolute;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n background-color: rgba(230, 230, 230, 0.7);\\n font-size: 24px;\\n letter-spacing: 2px;\\n color: #e33371;\\n padding: 20px;\\n word-break: break-all;\\n word-wrap: break-word;\\n z-index: 10;\\n }\\n }\\n .config-table {\\n margin-bottom: 24px;\\n position: relative;\\n .hide-control {\\n position: absolute;\\n top: 10px;\\n left: 200px;\\n @media (max-width: \", \"px) {\\n left: 160px;\\n }\\n }\\n\\n .MuiToolbar-root {\\n display: flex;\\n }\\n\\n .MuiTableRow-head {\\n display: none;\\n }\\n\\n &.hide-header {\\n .MuiToolbar-root {\\n display: none;\\n }\\n }\\n }\\n\\n .accordion {\\n margin-bottom: 16px;\\n &:last-of-type {\\n margin-bottom: 0;\\n }\\n padding: 8px 0 8px 0px;\\n &.MuiAccordion-root {\\n background: transparent;\\n box-shadow: none;\\n border: 1px solid #ddd;\\n border-radius: 4px;\\n &::before,\\n &::after {\\n height: 0;\\n }\\n .MuiAccordionSummary-root {\\n padding-left: 0;\\n }\\n .accordion-title {\\n font-weight: bold;\\n padding-left: 16px;\\n }\\n }\\n }\\n\"])), props => props.theme.breakpoints.values.sm);\nconst EditDiv = _styled.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n height: 60px;\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _get = _interopRequireDefault(require(\"lodash/get\"));\nvar _last = _interopRequireDefault(require(\"lodash/last\"));\nvar _urlJoin = _interopRequireDefault(require(\"url-join\"));\nvar _useAsync = _interopRequireDefault(require(\"react-use/lib/useAsync\"));\nvar _RelativeTime = _interopRequireDefault(require(\"@arcblock/ux/lib/RelativeTime\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@mui/material/Button\"));\nvar _Link = _interopRequireDefault(require(\"@mui/material/Link\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _util = require(\"../../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction Expiration(_ref) {\n var _state$value, _state$value$data, _state$value$data$val;\n let {\n controller\n } = _ref;\n const {\n t,\n locale\n } = (0, _context.useLocaleContext)();\n const state = (0, _useAsync.default)(async () => (0, _util.getAsset)(controller.chainHost, controller.nftId));\n if (state.loading) {\n return '';\n }\n const expirationDate = (0, _last.default)((0, _get.default)(state.value, 'data.value.expirationDate', []));\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_RelativeTime.default, {\n value: expirationDate,\n locale: locale\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n style: {\n marginLeft: '5px'\n },\n variant: \"contained\",\n component: _Link.default,\n href: (0, _urlJoin.default)((_state$value = state.value) === null || _state$value === void 0 ? void 0 : (_state$value$data = _state$value.data) === null || _state$value$data === void 0 ? void 0 : (_state$value$data$val = _state$value$data.value) === null || _state$value$data$val === void 0 ? void 0 : _state$value$data$val.launcherUrl, \"/instances/\".concat(controller.nftId, \"/renewal?locale=\").concat(locale, \"&return-url=\").concat(encodeURIComponent(window.location.href))),\n children: t('common.renew')\n })]\n });\n}\nExpiration.propTypes = {\n controller: _propTypes.default.object.isRequired\n};\nvar _default = Expiration;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = BlockletComponent;\nvar _react = require(\"react\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _semver = _interopRequireDefault(require(\"semver\"));\nvar _Dialog = _interopRequireDefault(require(\"@mui/material/Dialog\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _DialogContent = _interopRequireDefault(require(\"@mui/material/DialogContent\"));\nvar _DialogTitle = _interopRequireDefault(require(\"@mui/material/DialogTitle\"));\nvar _DialogActions = _interopRequireDefault(require(\"@mui/material/DialogActions\"));\nvar _Update = _interopRequireDefault(require(\"@mui/icons-material/Update\"));\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\nvar _Add = _interopRequireDefault(require(\"@mui/icons-material/Add\"));\nvar _Badge = _interopRequireDefault(require(\"@mui/material/Badge\"));\nvar _SettingsOutlined = _interopRequireDefault(require(\"@mui/icons-material/SettingsOutlined\"));\nvar _InfoOutlined = _interopRequireDefault(require(\"@mui/icons-material/InfoOutlined\"));\nvar _Launch = _interopRequireDefault(require(\"@mui/icons-material/Launch\"));\nvar _Grid = _interopRequireDefault(require(\"@mui/material/Grid\"));\nvar _Collapse = _interopRequireDefault(require(\"@mui/material/Collapse\"));\nvar _Tooltip = _interopRequireDefault(require(\"@mui/material/Tooltip\"));\nvar _ArrowForward = _interopRequireDefault(require(\"@mui/icons-material/ArrowForward\"));\nvar _ExpandMore = _interopRequireDefault(require(\"@mui/icons-material/ExpandMore\"));\nvar _ChevronRight = _interopRequireDefault(require(\"@mui/icons-material/ChevronRight\"));\nvar _Checkbox = _interopRequireDefault(require(\"@mui/material/Checkbox\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _InfoRow = _interopRequireDefault(require(\"@arcblock/ux/lib/InfoRow\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _Empty = _interopRequireDefault(require(\"@arcblock/ux/lib/Empty\"));\nvar _util = require(\"@blocklet/meta/lib/util\");\nvar _normalizePathPrefix = _interopRequireDefault(require(\"@abtnode/util/lib/normalize-path-prefix\"));\nvar _deletingBlocklets = require(\"../../contexts/deleting-blocklets\");\nvar _didAddress = _interopRequireDefault(require(\"../../did-address\"));\nvar _tag = _interopRequireDefault(require(\"../../tag\"));\nvar _toast = _interopRequireDefault(require(\"../../toast\"));\nvar _blockletSource = _interopRequireDefault(require(\"../blocklet-source\"));\nvar _status = _interopRequireDefault(require(\"../status\"));\nvar _version = _interopRequireDefault(require(\"../version\"));\nvar _node = require(\"../../contexts/node\");\nvar _util2 = require(\"../../util\");\nvar _permission = _interopRequireDefault(require(\"../../permission\"));\nvar _bundleAvatar = _interopRequireDefault(require(\"../bundle-avatar\"));\nvar _mode = _interopRequireDefault(require(\"../mode\"));\nvar _configuration = _interopRequireDefault(require(\"./configuration\"));\nvar _delete = _interopRequireDefault(require(\"./delete\"));\nvar _line = _interopRequireDefault(require(\"./line\"));\nvar _add = _interopRequireDefault(require(\"./add\"));\nvar _addRule = _interopRequireDefault(require(\"../router/action/add-rule\"));\nvar _ruleList = _interopRequireDefault(require(\"../router/rule-list\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nconst _excluded = [\"blocklet\", \"onUpdate\", \"getComponentUrl\"];\nvar _templateObject, _templateObject2;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nconst getEngineRows = (engine, t) => {\n if (!engine) {\n return [];\n }\n return [{\n name: t('common.name'),\n value: engine.displayName\n }, {\n name: t('common.description'),\n value: engine.description\n }, {\n name: t('common.version'),\n value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_tag.default, {\n children: engine.version\n })\n }];\n};\nconst getSourceInfo = blocklet => {\n const {\n source,\n deployedFrom,\n bundleSource\n } = blocklet;\n if (source) {\n return {\n source,\n deployedFrom\n };\n }\n if (!bundleSource) {\n return {\n source: 'upload',\n deployedFrom\n };\n }\n if (bundleSource.url) {\n return {\n source: 'url',\n deployedFrom: deployedFrom || Array.isArray(bundleSource.url) ? bundleSource.url[0] : bundleSource.url\n };\n }\n if (bundleSource.store) {\n return {\n source: 'registry',\n deployedFrom: deployedFrom || Array.isArray(bundleSource.store) ? bundleSource.store[0] : bundleSource.store\n };\n }\n return {};\n};\nfunction ComponentItem(_ref) {\n var _blocklet$children;\n let {\n blocklet,\n ancestors,\n depth,\n onRemove,\n getComponentUrl\n } = _ref;\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n const [expand, setExpand] = (0, _react.useState)(true);\n const [componentInfo, setComponentInfo] = (0, _react.useState)();\n const {\n deletingBlocklets: deletingComponents\n } = (0, _deletingBlocklets.useDeletingBlockletContext)();\n let {\n status\n } = blocklet;\n if (depth <= 1 && deletingComponents.includes(blocklet.meta.did)) {\n status = 'deleting';\n }\n const mountPoint = \"/\".concat(ancestors.slice(1) // ignore mountPoint of root component\n .map(x => x.mountPoint || '/').join('/'), \"/\").concat(blocklet.mountPoint || '/').replace(/\\/+/g, '/');\n\n // hide root's status and only display specific status\n const showStatus = !!ancestors.length && ['downloading', 'deleting', 'starting'].includes(status);\n const canExpand = depth > 0 && blocklet.children.length > 0;\n const expandIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n size: \"small\",\n children: expand ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExpandMore.default, {\n fontSize: \"inherit\"\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChevronRight.default, {\n fontSize: \"inherit\"\n })\n });\n const root = ancestors[0] || blocklet;\n const href = getComponentUrl(mountPoint);\n const renderRows = rows => rows.map(row => {\n if (row.name === t('common.did') || row.name === t('blocklet.appId')) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InfoRow.default, {\n valueComponent: \"div\",\n nameWidth: 120,\n name: row.name,\n nameFormatter: () => row.name,\n children: row.value\n }, row.name);\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InfoRow.default, {\n valueComponent: \"div\",\n nameWidth: 120,\n name: row.name,\n children: row.value\n }, row.name);\n });\n const sourceInfo = componentInfo ? getSourceInfo(componentInfo) : {};\n const componentRows = componentInfo ? [{\n name: t('common.name'),\n value: (0, _util.getDisplayName)(componentInfo, true)\n }, {\n name: t('common.version'),\n value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_version.default, {\n blocklet: componentInfo,\n checkUpgrade: false\n })\n }, {\n name: t('common.status'),\n value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_status.default, {\n status: status,\n source: componentInfo.source\n })\n }, {\n name: t('common.mountPoint'),\n value: mountPoint\n }, {\n name: t('common.group'),\n value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_tag.default, {\n type: \"success\",\n children: componentInfo.meta.group\n })\n }, {\n name: t('blocklet.overview.source'),\n value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockletSource.default, {\n sourceInfo: sourceInfo,\n blocklet: blocklet\n })\n }, {\n name: t('blocklet.overview.deployedFrom'),\n value: sourceInfo.deployedFrom || '-'\n }, {\n name: t('common.did'),\n value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_didAddress.default, {\n did: componentInfo.meta.did\n })\n }, {\n name: t('common.author'),\n value: (0, _util2.formatPerson)(componentInfo.meta.author)\n }, {\n name: t('common.engine'),\n value: getEngineRows(componentInfo.engine, t).map(_ref2 => {\n let {\n name,\n value\n } = _ref2;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InfoRow.default, {\n style: {\n marginBottom: 4\n },\n nameWidth: 120,\n name: name,\n children: value\n }, name);\n })\n }].filter(Boolean) : [];\n let deleteDisabledTip = '';\n if (depth !== 1 || !blocklet.dynamic) {\n deleteDisabledTip = t('blocklet.component.tip.notDynamic');\n } else if ((0, _util2.isInProgress)(root.status) || depth === 1 && deletingComponents.includes(blocklet.meta.did)) {\n deleteDisabledTip = t('blocklet.component.tip.stopBlocklet');\n }\n return [(depth > 0 || blocklet.meta.group !== 'gateway') && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n py: 2,\n className: \"component-item\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n pl: Math.max((depth - 1) * 2, 0),\n width: {\n xs: 300,\n md: 400\n },\n display: \"flex\",\n alignItems: \"center\",\n style: {\n cursor: canExpand ? 'pointer' : 'cursor'\n },\n onClick: () => canExpand && setExpand(!expand),\n children: [canExpand ? expandIcon : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n width: 28\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_bundleAvatar.default, {\n blocklet: blocklet,\n ancestors: ancestors\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n ml: \"16px\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n style: {\n color: '#222',\n fontSize: 18\n },\n children: (0, _util.getDisplayName)(blocklet, true)\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_version.default, {\n blocklet: blocklet,\n checkUpgrade: false\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_mode.default, {\n style: {\n marginLeft: 4\n },\n mode: blocklet.mode || ''\n }), showStatus && /*#__PURE__*/(0, _jsxRuntime.jsx)(_status.default, {\n style: {\n marginLeft: 4\n },\n status: status,\n source: blocklet.source\n })]\n })]\n })]\n }, blocklet), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n sx: {\n display: {\n xs: 'none',\n md: 'flex'\n }\n },\n alignItems: \"center\",\n flexGrow: \"1\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"a\", {\n target: \"_blank\",\n href: href,\n rel: \"noopener noreferrer\",\n title: href,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n maxWidth: 400,\n sx: {\n color: 'secondary.main',\n fontSize: 18,\n px: 2\n },\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n children: (0, _normalizePathPrefix.default)(mountPoint)\n })\n })\n }, mountPoint), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: t('common.visit'),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"a\", {\n target: \"_blank\",\n href: href,\n rel: \"noopener noreferrer\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Launch.default, {})\n })\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: t('common.overview'),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n onClick: () => setComponentInfo(blocklet),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_InfoOutlined.default, {})\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_configuration.default, {\n blocklet: blocklet,\n ancestors: ancestors,\n children: _ref3 => {\n let {\n open\n } = _ref3;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: t('common.config'),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledBadge, {\n color: \"error\",\n badgeContent: \"\",\n variant: \"dot\",\n invisible: !(0, _util.getComponentMissingConfigs)(blocklet, ancestors).length,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n onClick: open,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SettingsOutlined.default, {})\n })\n })\n }, \"config\");\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_delete.default, {\n blocklet: root,\n component: blocklet,\n remove: onRemove,\n disabled: !!deleteDisabledTip,\n tip: deleteDisabledTip\n })]\n }, \"actions\")]\n }, \"group-not-gateway-box\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_line.default, {\n depth: depth\n }), (_blocklet$children = blocklet.children) !== null && _blocklet$children !== void 0 && _blocklet$children.length ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Collapse.default, {\n in: expand,\n children: blocklet.children.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(ComponentItem, {\n blocklet: x,\n ancestors: [...ancestors, blocklet],\n depth: depth + 1,\n onRemove: onRemove,\n getComponentUrl: getComponentUrl\n }, \"\".concat(depth + 1, \"-\").concat(x.meta.did)))\n }, \"blocklet-collapse\") : null, !!componentInfo && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.default, {\n open: true,\n fullWidth: true,\n maxWidth: \"md\",\n onClose: () => {\n setComponentInfo(null);\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n paddingY: 1.5,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogTitle.default, {\n children: t('common.componentBasicInfo')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogContent.default, {\n children: renderRows(componentRows)\n })]\n }, \"dialog-wrapper\")\n }, \"base-info-dialog\")];\n}\nComponentItem.propTypes = {\n blocklet: _propTypes.default.object.isRequired,\n ancestors: _propTypes.default.array,\n depth: _propTypes.default.number,\n onRemove: _propTypes.default.func,\n getComponentUrl: _propTypes.default.func\n};\nComponentItem.defaultProps = {\n ancestors: [],\n depth: 0,\n onRemove: () => {},\n getComponentUrl: () => window.location.origin\n};\nconst StyledBadge = (0, _styled.default)(_Badge.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .BaseBadge-badge {\\n top: \", \"px;\\n right: \", \"px;\\n }\\n\"])), props => props.top * 8 || 6, props => props.right * 8 || 6);\nfunction BlockletComponent(_ref4) {\n var _blocklet$meta;\n let {\n blocklet,\n onUpdate,\n getComponentUrl\n } = _ref4,\n rest = _objectWithoutProperties(_ref4, _excluded);\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n const {\n api,\n inService\n } = (0, _node.useNodeContext)();\n const {\n addDeletingDid,\n removeDeletingDid,\n matchDeletingDid\n } = (0, _deletingBlocklets.useDeletingBlockletContext)();\n const [loading, setLoading] = (0, _react.useState)(false);\n const [updateConfirm, setUpdateConfirm] = (0, _react.useState)(null);\n const [showUpdateDot, setShowUpdateDot] = (0, _react.useState)(false);\n const components = [...blocklet.children] || [];\n if (blocklet.meta.group !== 'gateway') {\n // add root blocklet to table list\n components.unshift(blocklet);\n }\n matchDeletingDid(components.map(e => e.meta.did));\n (0, _react.useEffect)(() => {\n if (blocklet && !(0, _util2.isInProgress)(blocklet.status)) {\n api.getLatestBlockletVersion({\n input: {\n did: blocklet.meta.did,\n version: blocklet.meta.version\n }\n }).then(res => {\n const {\n version\n } = res.data || {};\n if (version && _semver.default.gt(version, blocklet.meta.version)) {\n setShowUpdateDot(true);\n }\n }).catch(err => {\n console.error(err.message);\n });\n }\n }, [blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta = blocklet.meta) === null || _blocklet$meta === void 0 ? void 0 : _blocklet$meta.did]); // eslint-disable-line\n\n const checkForUpdates = async () => {\n if (loading) {\n return;\n }\n setLoading(true);\n try {\n // check app version\n const {\n version,\n registryUrl\n } = (await api.getLatestBlockletVersion({\n input: {\n did: blocklet.meta.did,\n version: blocklet.meta.version\n }\n })).data || {};\n if (version && _semver.default.gt(version, blocklet.meta.version)) {\n setUpdateConfirm({\n type: 'app',\n params: {\n version,\n registryUrl\n },\n list: [{\n name: (0, _util.getDisplayName)(blocklet),\n version: blocklet.meta.version,\n newVersion: version\n }]\n });\n setLoading(false);\n return;\n }\n\n // check child component version\n const {\n updateId,\n updateList\n } = (await api.checkComponentsForUpdates({\n input: {\n did: blocklet.meta.did\n }\n })).preUpdateInfo || {};\n setLoading(false);\n if (!updateId) {\n _toast.default.info(t('blocklet.component.noUpdate'));\n return;\n }\n const list = [];\n (0, _util.forEachChildSync)(blocklet, (b, _ref5) => {\n let {\n id,\n ancestors\n } = _ref5;\n const updateItem = updateList.find(x => x.id === id);\n if (updateItem) {\n const name = ancestors.slice(1).concat(b).map(x => x.meta.title || x.meta.name).join(' / ');\n\n // groupId 为一级组件的 id\n const groupId = (ancestors[1] || b).meta.did;\n list.push({\n groupId,\n name,\n version: b.meta.version,\n newVersion: updateItem.meta.version\n });\n }\n });\n const checks = {};\n list.forEach(x => {\n if (!checks[x.groupId]) {\n checks[x.groupId] = true;\n } else {\n x.disabled = true;\n }\n });\n setUpdateConfirm({\n type: 'component',\n params: {\n updateId\n },\n list,\n checks,\n hasChecks: true\n });\n } catch (err) {\n setLoading(false);\n _toast.default.error((0, _util2.formatError)(err));\n }\n };\n const onConfirmUpdate = async () => {\n if (loading) {\n return;\n }\n let fn;\n let input;\n if (updateConfirm.type === 'app') {\n fn = api.upgradeBlocklet.bind(api);\n input = {\n did: blocklet.meta.did,\n version: updateConfirm.params.version,\n storeUrl: updateConfirm.params.registryUrl || ''\n };\n } else {\n fn = api.upgradeComponents.bind(api);\n const selectedComponents = Object.keys(updateConfirm.checks).filter(x => updateConfirm.checks[x]);\n input = {\n updateId: updateConfirm.params.updateId,\n rootDid: blocklet.meta.did,\n selectedComponents\n };\n }\n try {\n setLoading(true);\n await fn({\n input\n });\n setLoading(false);\n setUpdateConfirm(null);\n setShowUpdateDot(null);\n } catch (error) {\n setLoading(false);\n _toast.default.error((0, _util2.formatError)(error));\n }\n };\n const removeComponent = async (d, type) => {\n addDeletingDid(d.meta.did);\n try {\n await api.deleteComponent({\n input: {\n did: d.meta.did,\n keepData: type === 'keepData',\n rootDid: blocklet.meta.did\n }\n });\n await (0, _util2.sleep)(800);\n } catch (err) {\n _toast.default.error((0, _util2.formatError)(err));\n removeDeletingDid(d.meta.did);\n }\n };\n const onUpdateChecksChange = (e, groupId) => {\n const {\n checked: newValue\n } = e.target;\n setUpdateConfirm(x => {\n const checks = Object.entries(x.checks).reduce((o, _ref6) => {\n let [key, oldValue] = _ref6;\n o[key] = groupId === key ? newValue : oldValue;\n return o;\n }, {});\n const hasChecks = Object.values(checks).includes(true);\n return _objectSpread(_objectSpread({}, x), {}, {\n checks,\n hasChecks\n });\n });\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, _objectSpread(_objectSpread({\n component: \"div\"\n }, rest), {}, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"title\",\n children: [t('common.components'), /*#__PURE__*/(0, _jsxRuntime.jsx)(_permission.default, {\n permission: inService ? '' : 'mutate_blocklets',\n role: inService ? _util2.BlockletAdminRoles : [],\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledBadge, {\n top: 1.2,\n right: 0.4,\n color: \"error\",\n badgeContent: \"\",\n variant: \"dot\",\n invisible: !showUpdateDot,\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n disabled: loading || (0, _util2.isInProgress)(blocklet.status),\n color: \"secondary\",\n onClick: () => {\n checkForUpdates();\n },\n \"data-cy\": \"check-for-updates\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mr: 0.5,\n display: \"flex\",\n children: loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Update.default, {\n style: {\n fontSize: '1em'\n }\n })\n }), t('blocklet.component.checkUpdateTitle')]\n })\n })\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_permission.default, {\n permission: inService ? '' : 'mutate_blocklets',\n role: inService ? _util2.BlockletAdminRoles : [],\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_addRule.default, {\n children: _ref7 => {\n let {\n open\n } = _ref7;\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n disabled: loading || (0, _util2.isInProgress)(blocklet.status),\n variant: \"text\",\n color: \"primary\",\n \"data-cy\": \"add-rule\",\n onClick: open,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Add.default, {\n style: {\n fontSize: '1.3em',\n marginRight: 4\n }\n }), t('router.rule.add.title')]\n });\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_add.default, {\n blocklet: blocklet,\n children: _ref8 => {\n let {\n open\n } = _ref8;\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n disabled: loading || (0, _util2.isInProgress)(blocklet.status),\n variant: \"text\",\n color: \"primary\",\n \"data-cy\": \"add-component\",\n onClick: open,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Add.default, {\n style: {\n fontSize: '1.3em',\n marginRight: 4\n }\n }), t('blocklet.component.add')]\n });\n }\n })]\n })\n })]\n }), components && components.length ? [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mt: 2,\n ml: {\n xs: '-12px',\n md: '-24px'\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ComponentItem, {\n blocklet: blocklet,\n onRemove: removeComponent,\n getComponentUrl: getComponentUrl\n }, \"0-\".concat(blocklet.meta.did))\n }, \"top-blocklet-\".concat(blocklet.meta.did))] : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mt: 8,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Empty.default, {\n children: t('blocklet.component.noComponent')\n })\n }), !!blocklet.site.rules.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mt: 0,\n ml: {\n xs: '-16px',\n md: '-28px'\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ruleList.default, {})\n }), !!updateConfirm && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.default, {\n open: true,\n fullWidth: true,\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n paddingY: 1.5,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogTitle.default, {\n children: updateConfirm.type === 'component' ? t('blocklet.component.updateTitle') : t('blocklet.component.updateAppTitle')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n component: _DialogContent.default,\n py: 4,\n ml: updateConfirm.type === 'component' ? 0 : 4,\n children: updateConfirm.list.map(x => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n children: [updateConfirm.type === 'component' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.default, {\n checked: updateConfirm.checks[x.groupId],\n onChange: e => onUpdateChecksChange(e, x.groupId),\n style: {\n marginLeft: x.disabled ? 16 : 0\n },\n defaultChecked: true,\n disabled: x.disabled\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n flexGrow: 1,\n mt: 3,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n item: true,\n xs: 8,\n children: x.name\n }), x.version && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Grid.default, {\n fontSize: \"h6.fontSize\",\n container: true,\n spacing: 2,\n alignItems: \"center\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Grid.default, {\n item: true,\n xs: 3,\n children: x.version\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Grid.default, {\n item: true,\n xs: 1,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ArrowForward.default, {\n style: {\n fontSize: '0.9em'\n }\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Grid.default, {\n item: true,\n xs: 3,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n color: \"secondary.main\",\n children: x.newVersion\n })\n })]\n })]\n }, \"\".concat(x.name, \"-\").concat(x.newVersion))]\n }))\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_DialogActions.default, {\n style: {\n padding: '8px 24px 24px'\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: () => {\n setUpdateConfirm(null);\n },\n children: t('common.cancel')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n onConfirmUpdate();\n },\n color: \"primary\",\n disabled: loading || updateConfirm.type === 'component' && !updateConfirm.hasChecks,\n variant: \"contained\",\n autoFocus: true,\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }), t('common.update')]\n })]\n })]\n })\n })]\n }));\n}\nBlockletComponent.propTypes = {\n blocklet: _propTypes.default.object.isRequired,\n onUpdate: _propTypes.default.func,\n getComponentUrl: _propTypes.default.func\n};\nBlockletComponent.defaultProps = {\n onUpdate: () => {},\n getComponentUrl: () => window.location.origin\n};\nconst Div = _styled.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n .title {\\n font-size: 1.2rem;\\n font-weight: bold;\\n margin-bottom: \", \";\\n }\\n\\n @keyframes showDelay {\\n 0% {\\n opacity: 0;\\n }\\n\\n 100% {\\n opacity: 1;\\n }\\n }\\n\\n .component-item {\\n animation: showDelay 0.75s ease 1;\\n }\\n\"])), props => props.theme.spacing(1));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Line;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction Line(_ref) {\n let {\n depth\n } = _ref;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n ml: Math.max((depth - 1) * 2, 0),\n sx: {\n borderBottom: 1,\n borderColor: 'rgba(0,0,0,0.12)'\n }\n }, \"group-collapse-box\");\n}\nLine.propTypes = {\n depth: _propTypes.default.number\n};\nLine.defaultProps = {\n depth: 1\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _ahooks = require(\"ahooks\");\nvar _lodash = require(\"lodash\");\nvar _react = require(\"react\");\nvar _react2 = require(\"@iconify/react\");\nvar _material = require(\"@mui/material\");\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _simpleSelect = _interopRequireDefault(require(\"./simple-select\"));\nvar _locales = _interopRequireDefault(require(\"../../../util/locales\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n/* eslint-disable react/jsx-no-bind */\n\nconst defaultLocale = 'en';\nfunction LocaleTabs(_ref) {\n let {\n sx,\n onChange,\n locales,\n onRemoveLocale\n } = _ref;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const inputRef = (0, _react.useRef)();\n const [addLocaleButtonEl, setAddLocaleButtonEl] = (0, _react.useState)(null);\n const state = (0, _ahooks.useReactive)({\n currentLocale: defaultLocale,\n localeList: [],\n inputLocale: '',\n localeError: ''\n });\n const openChooseLocale = (0, _react.useMemo)(() => {\n return !!addLocaleButtonEl;\n }, [addLocaleButtonEl]);\n const localeOptions = (0, _react.useMemo)(() => {\n return Object.keys((0, _lodash.omit)(_locales.default, [...state.localeList, defaultLocale])).map(locale => ({\n title: _locales.default[locale],\n value: locale\n }));\n }, [state.localeList]);\n (0, _react.useEffect)(() => {\n onChange(state.currentLocale);\n }, [onChange, state.currentLocale]);\n (0, _react.useEffect)(() => {\n state.localeList = [...locales];\n }, [locales, state]);\n (0, _ahooks.useKeyPress)('enter', () => {\n // HACK: 必须加一个延时,否则无法正确关闭 chooseLocale 弹窗\n setTimeout(() => {\n handleAddLocale();\n });\n }, {\n target: inputRef\n });\n function checkLocale(locale) {\n if (!locale) {\n return t('common.requiredErrorText', {\n name: 'Locale'\n });\n }\n if (locale === 'en' || state.localeList.includes(locale)) {\n return t('navigation.form.localeExists', {\n value: locale\n });\n }\n return true;\n }\n function checkValidLocale() {\n let locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n const value = locale === null || locale === void 0 ? void 0 : locale.trim();\n const checkResult = checkLocale(value);\n if (checkResult !== true) {\n state.localeError = checkResult;\n } else {\n state.localeError = '';\n }\n return checkResult;\n }\n function handleAddLocale() {\n var _state$inputLocale;\n const value = (_state$inputLocale = state.inputLocale) === null || _state$inputLocale === void 0 ? void 0 : _state$inputLocale.trim();\n const checkResult = checkValidLocale(value);\n if (checkResult === true) {\n close();\n state.localeList.push(value);\n state.currentLocale = value;\n }\n }\n function close() {\n setAddLocaleButtonEl(null);\n state.inputLocale = '';\n state.localeError = '';\n }\n function handleRemoveLocale(e, locale) {\n e.preventDefault();\n e.stopPropagation();\n state.localeList = (0, _lodash.without)(state.localeList, locale);\n onRemoveLocale(locale);\n if (locale === state.currentLocale) {\n state.currentLocale = defaultLocale;\n }\n }\n function handleChangeLocale(e) {\n const {\n value\n } = e.target;\n checkValidLocale(value);\n state.inputLocale = value;\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Tabs, {\n sx: sx,\n value: state.currentLocale,\n onChange: (e, value) => {\n state.currentLocale = value;\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Tab, {\n label: \"Default (\".concat(_locales.default[defaultLocale], \")\"),\n value: \"en\"\n }), state.localeList.map(item => /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Tab, {\n sx: {\n position: 'relative'\n },\n label: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [_locales.default[item], /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.IconButton, {\n size: \"small\",\n color: \"inherit\",\n sx: {\n position: 'absolute',\n top: 0,\n right: 0\n },\n onClick: e => {\n handleRemoveLocale(e, item);\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.Icon, {\n icon: \"mdi:close\",\n height: 14\n })\n })]\n }),\n value: item\n }, item)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.IconButton, {\n color: \"primary\",\n disableFocusRipple: true,\n sx: {\n width: '48px'\n },\n onClick: e => {\n setAddLocaleButtonEl(e.currentTarget);\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.Icon, {\n icon: \"mdi:plus\"\n })\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Popover, {\n open: openChooseLocale,\n anchorEl: addLocaleButtonEl,\n onClose: close,\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'left'\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {\n sx: {\n p: 2,\n width: '270px'\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {\n variant: \"subtitle2\",\n children: t('navigation.form.localePlaceholder')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {\n mt: 1,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_simpleSelect.default, {\n required: true,\n fullWidth: true,\n label: \"Locale\",\n value: state.inputLocale,\n options: localeOptions,\n onChange: handleChangeLocale,\n error: !!state.localeError,\n helperText: state.localeError || ' '\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {\n display: \"flex\",\n justifyContent: \"flex-end\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Button, {\n size: \"small\",\n variant: \"contained\",\n onClick: handleAddLocale,\n children: t('common.confirm')\n })\n })]\n })\n })]\n });\n}\nLocaleTabs.propTypes = {\n sx: _propTypes.default.any,\n onChange: _propTypes.default.func,\n onRemoveLocale: _propTypes.default.func,\n locales: _propTypes.default.array\n};\nLocaleTabs.defaultProps = {\n sx: null,\n onChange: () => {},\n onRemoveLocale: () => {},\n locales: []\n};\nvar _default = LocaleTabs;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _react = require(\"@iconify/react\");\nvar _material = require(\"@mui/material\");\nvar _react2 = require(\"react\");\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction NavigationActions(_ref) {\n let {\n className,\n add,\n edit,\n toggle,\n del,\n data,\n section\n } = _ref;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const isDisabled = ['yaml', 'tmpl'].includes(data.from);\n const isUninstalled = /*#__PURE__*/(0, _react2.isValidElement)(data.subtitle);\n function handleClick(e) {\n e.preventDefault();\n e.stopPropagation();\n }\n const handleClickAdd = (0, _react2.useCallback)(e => {\n handleClick(e);\n add(data);\n }, [add, data]);\n const handleClickEdit = (0, _react2.useCallback)(e => {\n handleClick(e);\n edit(data);\n }, [edit, data]);\n const handleClickToggle = (0, _react2.useCallback)(e => {\n handleClick(e);\n toggle(data);\n }, [toggle, data]);\n const handleClickDelete = (0, _react2.useCallback)(e => {\n handleClick(e);\n del(data);\n }, [del, data]);\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: className,\n children: [!data.parent && ['header', 'footer', 'dashboard'].includes(section) && /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n title: isUninstalled ? t('navigation.action.noAddSub') : t('navigation.action.addSub'),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.IconButton, {\n size: \"small\",\n color: \"success\",\n onClick: handleClickAdd,\n disabled: isUninstalled,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Icon, {\n icon: \"mdi:plus-box-outline\"\n })\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n title: isUninstalled ? t('navigation.action.noEdit') : t('navigation.action.edit'),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.IconButton, {\n size: \"small\",\n color: \"primary\",\n onClick: handleClickEdit,\n disabled: isUninstalled,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Icon, {\n icon: \"mdi:pencil\"\n })\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n title:\n // eslint-disable-next-line no-nested-ternary\n isUninstalled ? t('navigation.action.noEdit') : data.visible ? t('navigation.action.hide') : t('navigation.action.show'),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.IconButton, {\n size: \"small\",\n color: \"warning\",\n onClick: handleClickToggle,\n disabled: isUninstalled,\n children: data.visible === false ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Icon, {\n icon: \"mdi:eye-off-outline\"\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Icon, {\n icon: \"mdi:eye-outline\"\n })\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n title: isDisabled && !isUninstalled ? t('navigation.action.noDel') : t('navigation.action.del'),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.IconButton, {\n disabled: isDisabled && !isUninstalled,\n size: \"small\",\n color: \"error\",\n onClick: handleClickDelete,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Icon, {\n icon: \"mdi:delete\"\n })\n })\n })]\n });\n}\nNavigationActions.propTypes = {\n data: _propTypes.default.object.isRequired,\n className: _propTypes.default.string,\n add: _propTypes.default.func,\n edit: _propTypes.default.func,\n toggle: _propTypes.default.func,\n del: _propTypes.default.func,\n section: _propTypes.default.string\n};\nNavigationActions.defaultProps = {\n className: '',\n add: () => {},\n edit: () => {},\n toggle: () => {},\n del: () => {},\n section: ''\n};\nvar _default = NavigationActions;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _Dialog = _interopRequireDefault(require(\"@arcblock/ux/lib/Dialog\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _material = require(\"@mui/material\");\nvar _ahooks = require(\"ahooks\");\nvar _omit = _interopRequireDefault(require(\"lodash/omit\"));\nvar _pick = _interopRequireDefault(require(\"lodash/pick\"));\nvar _values = _interopRequireDefault(require(\"lodash/values\"));\nvar _without = _interopRequireDefault(require(\"lodash/without\"));\nvar _isEmpty = _interopRequireDefault(require(\"lodash/isEmpty\"));\nvar _isString = _interopRequireDefault(require(\"lodash/isString\"));\nvar _isObject = _interopRequireDefault(require(\"lodash/isObject\"));\nvar _cloneDeep = _interopRequireDefault(require(\"lodash/cloneDeep\"));\nvar _react = require(\"react\");\nvar _reactHookForm = require(\"react-hook-form\");\nvar _react2 = require(\"@iconify/react\");\nvar _notistack = require(\"notistack\");\nvar _parseNavigationFromBlocklet = require(\"@blocklet/meta/lib/parse-navigation-from-blocklet\");\nvar _urlJoin = _interopRequireDefault(require(\"url-join\"));\nvar _index = require(\"ufo/dist/index.mjs\");\nvar _isAbsoluteUrl = _interopRequireDefault(require(\"is-absolute-url\"));\nvar _localeTabs = _interopRequireDefault(require(\"./locale-tabs\"));\nvar _simpleSelect = _interopRequireDefault(require(\"./simple-select\"));\nvar _team = require(\"../../../contexts/team\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nconst MAX_TITLE_LENGTH = 24;\nconst defaultType = 'add';\nconst defaultLocale = 'en';\nconst initialFormState = {\n title: {\n [defaultLocale]: ''\n },\n link: {\n [defaultLocale]: ''\n }\n};\nfunction IconSuffix(_ref) {\n let {\n icon\n } = _ref;\n const [loaded, setLoaded] = (0, _react.useState)(false);\n (0, _ahooks.useAsyncEffect)(async () => {\n setLoaded(false);\n await (0, _react2.loadIcon)(icon);\n setLoaded(true);\n }, [icon]);\n if (icon) {\n if (loaded) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.Icon, {\n icon: icon\n });\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.Icon, {\n color: \"#f06f6e\",\n icon: \"ic:baseline-error\"\n });\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.Icon, {\n icon: \"codicon:blank\"\n });\n}\nIconSuffix.propTypes = {\n icon: _propTypes.default.string.isRequired\n};\nconst NavigationDialog = /*#__PURE__*/(0, _react.forwardRef)(function NavigationDialog(_ref2, ref) {\n let {\n section,\n components,\n rawNavigations\n } = _ref2;\n const {\n roles\n } = (0, _team.useTeamContext)();\n const {\n t,\n locale\n } = (0, _context.useLocaleContext)();\n const saveFn = (0, _react.useRef)(() => {});\n const [show, {\n setFalse,\n setTrue\n }] = (0, _ahooks.useBoolean)(false);\n const {\n enqueueSnackbar\n } = (0, _notistack.useSnackbar)();\n const state = (0, _ahooks.useReactive)({\n isRoot: true,\n type: defaultType,\n linkDisabled: false,\n locale: defaultLocale,\n formState: (0, _cloneDeep.default)(initialFormState),\n get localeList() {\n // eslint-disable-next-line react/no-this-in-sfc\n return (0, _without.default)(Object.keys(this.formState.title), defaultLocale);\n }\n });\n const {\n handleSubmit,\n control,\n watch,\n setValue,\n clearErrors,\n formState: {\n errors\n }\n } = (0, _reactHookForm.useForm)({\n mode: 'onChange',\n defaultValues: {\n id: undefined,\n title: undefined,\n icon: undefined,\n link: undefined,\n component: undefined,\n parent: undefined,\n role: []\n }\n });\n (0, _react.useEffect)(() => {\n setValue('title', state.formState.title[state.locale]);\n setValue('link', state.formState.link[state.locale]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [setValue, state.locale, show]);\n const watchComponent = watch('component');\n const watchTitle = watch('title');\n const watchLink = watch('link');\n const watchIcon = watch('icon');\n const watchParent = watch('parent');\n (0, _react.useEffect)(() => {\n state.formState.title[state.locale] = watchTitle;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [watchTitle]);\n (0, _react.useEffect)(() => {\n state.formState.link[state.locale] = watchLink;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [watchLink]);\n const selectedOption = (0, _react.useMemo)(() => {\n const parentData = rawNavigations.find(item => {\n if (watchComponent) {\n const findComponent = components.find(x => x.name === watchComponent);\n return findComponent.did === item.id;\n }\n return item.id === watchParent;\n });\n return parentData;\n }, [components, rawNavigations, watchComponent, watchParent]);\n const linkPrefix = (0, _react.useMemo)(() => {\n if (selectedOption !== null && selectedOption !== void 0 && selectedOption.component) {\n const findComponent = components.find(item => item.name === selectedOption.component);\n const {\n link\n } = findComponent || {};\n const stringLink = (0, _isObject.default)(link) ? link[state.locale] : link;\n if (watchComponent) {\n return (0, _index.withoutTrailingSlash)(stringLink);\n }\n const selectedLink = (0, _isObject.default)(selectedOption.link) ? selectedOption.link[state.locale] : selectedOption.link;\n return (0, _index.withoutTrailingSlash)((0, _urlJoin.default)(stringLink, selectedLink || '/'));\n }\n return null;\n }, [components, state.locale, selectedOption, watchComponent]);\n const autocompleteOptions = (0, _react.useMemo)(() => {\n const {\n component\n } = selectedOption || {};\n const componentBlocklet = components.find(item => item.name === component);\n const {\n navigation = []\n } = componentBlocklet || {};\n const flatternedNavigation = (0, _parseNavigationFromBlocklet.flatternNavigation)(navigation, {\n transform(item, parent) {\n if (parent !== null && parent !== void 0 && parent.section) {\n item.section = item.section || parent.section;\n }\n return item;\n }\n });\n return flatternedNavigation.filter(item => item.link)\n // 在指定 section 下只展示能够展示的 navigation\n .filter(item => (0, _parseNavigationFromBlocklet.isMatchSection)(item.section, section)).map(item => {\n return {\n label: item.link,\n title: item.title[locale] || item.title\n };\n });\n }, [selectedOption, components, section, locale]);\n const name = (0, _react.useMemo)(() => {\n const typeMap = {\n add: t('common.create'),\n edit: t('common.edit')\n };\n const typeName = typeMap[state.type];\n if (typeName) {\n return \"\".concat(typeName, \" \").concat(t('navigation.navigation'));\n }\n return '--';\n }, [state.type, t]);\n const reset = (0, _react.useCallback)(() => {\n state.type = defaultType;\n state.linkDisabled = false;\n saveFn.current = () => {};\n setValue('id', undefined);\n setValue('icon', undefined);\n setValue('title', undefined);\n setValue('link', undefined);\n setValue('component', undefined);\n setValue('parent', undefined);\n setValue('role', []);\n state.formState = (0, _cloneDeep.default)(initialFormState);\n clearErrors();\n }, [clearErrors, setValue, state]);\n const patchFormValues = (0, _react.useCallback)(function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (state.localeList.length > 0) {\n if (new Set((0, _values.default)(state.formState.title)).size > 1) {\n params.title = state.formState.title;\n }\n if (new Set((0, _values.default)(state.formState.link)).size > 1) {\n params.link = state.formState.link;\n }\n }\n if ((0, _isEmpty.default)(params.role)) {\n params.role = undefined;\n }\n return params;\n }, [state.formState.link, state.formState.title, state.localeList]);\n const close = (0, _react.useCallback)(() => {\n setFalse();\n setTimeout(() => {\n reset();\n });\n }, [reset, setFalse]);\n const add = (0, _react.useCallback)(function () {\n let {\n parent\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let cb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : () => {};\n state.type = 'add';\n state.isRoot = !parent;\n setValue('parent', parent === null || parent === void 0 ? void 0 : parent.id);\n saveFn.current = params => {\n cb(close, params);\n };\n setTrue();\n }, [close, setTrue, setValue, state]);\n const edit = (0, _react.useCallback)(function () {\n let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let cb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : () => {};\n const {\n id,\n title,\n icon,\n link,\n parent,\n component,\n role = []\n } = data;\n setValue('id', id);\n setValue('icon', icon);\n if (data.from === 'tmpl') {\n state.linkDisabled = true;\n }\n if ((0, _isString.default)(title)) {\n state.formState.title = state.localeList.reduce((resData, localeItem) => {\n resData[localeItem] = title;\n return resData;\n }, {\n [defaultLocale]: title\n });\n } else if ((0, _isObject.default)(title)) {\n state.formState.title = (0, _cloneDeep.default)(title);\n } else {\n state.formState.title = {};\n }\n if ((0, _isString.default)(link)) {\n state.formState.link = state.localeList.reduce((resData, localeItem) => {\n resData[localeItem] = link;\n return resData;\n }, {\n [defaultLocale]: link\n });\n } else if ((0, _isObject.default)(link)) {\n state.formState.link = (0, _cloneDeep.default)(link);\n } else {\n state.formState.link = {};\n }\n setValue('component', component);\n setValue('parent', parent);\n setValue('role', role || []);\n setTrue();\n state.type = 'edit';\n state.isRoot = !parent;\n saveFn.current = params => {\n const pickData = (0, _pick.default)(params, ['id', 'title', 'icon', 'link', 'role']);\n cb(close, pickData);\n };\n }, [close, setTrue, setValue, state]);\n (0, _react.useImperativeHandle)(ref, () => {\n return {\n add,\n edit,\n close\n };\n }, [add, close, edit]);\n function validTitle(raw) {\n const value = raw === null || raw === void 0 ? void 0 : raw.trim();\n if (!value) return t('common.requiredErrorText', {\n name: t('navigation.form.title')\n });\n if (value.length > MAX_TITLE_LENGTH) return t('navigation.form.titleTooLong', {\n len: MAX_TITLE_LENGTH\n });\n return true;\n }\n async function validIcon(raw) {\n const value = raw === null || raw === void 0 ? void 0 : raw.trim();\n if (value) {\n try {\n await (0, _react2.loadIcon)(value);\n } catch (_unused) {\n return t('navigation.form.invalidIcon');\n }\n }\n return true;\n }\n function validLink(raw) {\n const value = raw === null || raw === void 0 ? void 0 : raw.trim();\n if (!value) {\n if (!state.isRoot) {\n return t('common.requiredErrorText', {\n name: t('navigation.form.link')\n });\n }\n return true;\n }\n if (!(0, _parseNavigationFromBlocklet.checkLink)(value)) {\n return t('navigation.form.invalidLink');\n }\n return true;\n }\n const handleChangeLocale = (0, _react.useCallback)(currentLocale => {\n state.locale = currentLocale;\n if (!state.formState.title[currentLocale]) {\n state.formState.title[currentLocale] = '';\n }\n if (!state.formState.link[currentLocale]) {\n state.formState.link[currentLocale] = '';\n }\n setTimeout(() => {\n clearErrors();\n });\n }, [clearErrors, state]);\n const checkFormState = (0, _react.useCallback)(() => {\n const {\n title,\n link\n } = state.formState;\n for (const key of Object.keys(title)) {\n const validRes = validTitle(title[key]);\n if (validRes !== true) {\n return validRes;\n }\n }\n for (const key of Object.keys(link)) {\n const validRes = validLink(link[key]);\n if (validRes !== true) {\n return validRes;\n }\n }\n return true;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.formState]);\n const handleFormSubmit = (0, _react.useCallback)(params => {\n const checkRes = checkFormState();\n if (checkRes === true) {\n saveFn.current(patchFormValues(params));\n } else {\n enqueueSnackbar(checkRes, {\n variant: 'error'\n });\n }\n }, [checkFormState, enqueueSnackbar, patchFormValues]);\n const handleRemoveLocale = (0, _react.useCallback)(currentLocale => {\n state.formState.title = (0, _omit.default)(state.formState.title, currentLocale);\n state.formState.link = (0, _omit.default)(state.formState.link, currentLocale);\n }, [state.formState]);\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Dialog.default, {\n open: show,\n title: name,\n onClose: close,\n actions: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: handleSubmit(handleFormSubmit),\n color: \"primary\",\n autoFocus: true,\n variant: \"contained\",\n children: t('common.confirm')\n }),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_localeTabs.default, {\n sx: {\n mb: 1\n },\n onChange: handleChangeLocale,\n onRemoveLocale: handleRemoveLocale,\n locales: state.localeList\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"form\", {\n noValidate: true,\n autoComplete: \"off\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {\n name: \"title\",\n control: control,\n rules: {\n validate: validTitle\n },\n render: _ref3 => {\n var _errors$title, _errors$title2;\n let {\n field\n } = _ref3;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.TextField, _objectSpread({\n fullWidth: true,\n variant: \"outlined\",\n margin: \"dense\",\n required: true,\n placeholder: t('navigation.form.titlePlaceholder'),\n label: t('navigation.form.title'),\n disabled: state.isEdit,\n error: !!(errors !== null && errors !== void 0 && (_errors$title = errors.title) !== null && _errors$title !== void 0 && _errors$title.message),\n helperText: (errors === null || errors === void 0 ? void 0 : (_errors$title2 = errors.title) === null || _errors$title2 === void 0 ? void 0 : _errors$title2.message) || ' '\n }, field));\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {\n name: \"icon\",\n control: control,\n rules: {\n validate: validIcon\n },\n render: _ref4 => {\n var _errors$icon, _errors$icon2;\n let {\n field\n } = _ref4;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.TextField, _objectSpread(_objectSpread({\n fullWidth: true,\n variant: \"outlined\",\n margin: \"dense\",\n placeholder: t('navigation.form.iconPlaceholder'),\n label: t('navigation.form.icon'),\n error: !!(errors !== null && errors !== void 0 && (_errors$icon = errors.icon) !== null && _errors$icon !== void 0 && _errors$icon.message),\n helperText: (errors === null || errors === void 0 ? void 0 : (_errors$icon2 = errors.icon) === null || _errors$icon2 === void 0 ? void 0 : _errors$icon2.message) || /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {\n display: \"flex\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {\n component: \"a\",\n href: \"https://icones.js.org\",\n target: \"_blank\",\n display: \"flex\",\n alignItems: \"center\",\n children: [t('navigation.form.findMoreIcon'), ' ', /*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.Icon, {\n style: {\n marginLeft: 4\n },\n icon: \"radix-icons:external-link\"\n })]\n })\n })\n }, field), {}, {\n InputProps: {\n endAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.InputAdornment, {\n position: \"end\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.IconButton, {\n sx: {\n cursor: 'default'\n },\n disableFocusRipple: true,\n disableRipple: true,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(IconSuffix, {\n icon: watchIcon\n })\n })\n })\n }\n }));\n }\n }), state.isRoot && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {\n name: \"component\",\n control: control,\n render: _ref5 => {\n var _errors$component, _errors$component2;\n let {\n field\n } = _ref5;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_simpleSelect.default, _objectSpread({\n fullWidth: true,\n margin: \"dense\",\n disabled: state.type === 'edit',\n label: t('navigation.form.component'),\n placeholer: t('navigation.form.componentPlaceholder'),\n options: components.map(item => ({\n title: item.title,\n value: item.name,\n description: item.link\n })),\n error: !!(errors !== null && errors !== void 0 && (_errors$component = errors.component) !== null && _errors$component !== void 0 && _errors$component.message),\n helperText: (errors === null || errors === void 0 ? void 0 : (_errors$component2 = errors.component) === null || _errors$component2 === void 0 ? void 0 : _errors$component2.message) || ' '\n }, field));\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {\n name: \"link\",\n control: control,\n rules: {\n validate: validLink\n },\n render: _ref6 => {\n var _errors$link3, _errors$link4;\n let {\n field\n } = _ref6;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormControl, {\n fullWidth: true,\n margin: \"dense\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Autocomplete, _objectSpread(_objectSpread({\n disablePortal: true,\n freeSolo: true,\n blurOnSelect: true,\n autoSelect: true,\n fullWidth: true,\n disabled: state.linkDisabled,\n isOptionEqualToValue: option => option.label,\n options: autocompleteOptions,\n renderInput: params => {\n var _errors$link, _errors$link2;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.TextField, _objectSpread(_objectSpread({}, params), {}, {\n placeholder: t('navigation.form.linkPlaceholder'),\n label: t('navigation.form.link'),\n error: !!(errors !== null && errors !== void 0 && (_errors$link = errors.link) !== null && _errors$link !== void 0 && _errors$link.message),\n helperText: (errors === null || errors === void 0 ? void 0 : (_errors$link2 = errors.link) === null || _errors$link2 === void 0 ? void 0 : _errors$link2.message) || '/abc/bcd or /abc or https://arcblock.io'\n // FIXME: 添加了 startAdornment 后,autocomplete 选项无法显示,之后换成 antd 的 autocomplete 可以解决这个问题\n ,\n InputProps: {\n startAdornment: linkPrefix ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.InputAdornment, {\n position: \"start\",\n sx: {\n textDecoration: (0, _isAbsoluteUrl.default)(watchLink || '') ? 'line-through' : ''\n },\n children: linkPrefix\n }) : null\n }\n }));\n },\n renderOption: (props, option) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, _objectSpread(_objectSpread({\n component: \"li\"\n }, props), {}, {\n children: [option.label, /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {\n marginLeft: 1,\n component: \"span\",\n variant: \"body2\",\n color: \"text.secondary\",\n children: option.title\n })]\n })),\n error: !!(errors !== null && errors !== void 0 && (_errors$link3 = errors.link) !== null && _errors$link3 !== void 0 && _errors$link3.message),\n helperText: (errors === null || errors === void 0 ? void 0 : (_errors$link4 = errors.link) === null || _errors$link4 === void 0 ? void 0 : _errors$link4.message) || ' ',\n margin: \"dense\"\n }, field), {}, {\n onChange: () => {},\n onInputChange: (e, value) => {\n field.onChange(value);\n }\n }))\n });\n }\n }), ['dashboard', 'sessionManager'].includes(section) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {\n name: \"role\",\n control: control,\n render: _ref7 => {\n var _errors$role, _errors$role2;\n let {\n field\n } = _ref7;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_simpleSelect.default, _objectSpread({\n fullWidth: true,\n multiple: true,\n margin: \"dense\",\n label: t('navigation.form.role'),\n placeholer: t('navigation.form.rolePlaceholder'),\n options: roles.map(role => ({\n title: role.title,\n value: role.name\n })),\n error: !!(errors !== null && errors !== void 0 && (_errors$role = errors.role) !== null && _errors$role !== void 0 && _errors$role.message),\n helperText: (errors === null || errors === void 0 ? void 0 : (_errors$role2 = errors.role) === null || _errors$role2 === void 0 ? void 0 : _errors$role2.message) || ' '\n }, field));\n }\n })]\n })]\n });\n});\nNavigationDialog.propTypes = {\n section: _propTypes.default.string,\n components: _propTypes.default.array,\n rawNavigations: _propTypes.default.array\n};\nNavigationDialog.defaultProps = {\n section: '',\n components: [],\n rawNavigations: []\n};\nvar _default = NavigationDialog;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Header = _interopRequireDefault(require(\"@blocklet/ui-react/lib/Header\"));\nvar _Footer = _interopRequireDefault(require(\"@blocklet/ui-react/lib/Footer\"));\nvar _Dashboard = _interopRequireDefault(require(\"@blocklet/ui-react/lib/Dashboard\"));\nvar _linkBlocker = _interopRequireDefault(require(\"@blocklet/ui-react/lib/common/link-blocker\"));\nvar _material = require(\"@mui/material\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _blocklet = require(\"../../../contexts/blocklet\");\nvar _useAppLogo = _interopRequireDefault(require(\"../../../hooks/use-app-logo\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction NavigationPreview(_ref) {\n let {\n className,\n navigation\n } = _ref;\n const {\n blocklet\n } = (0, _blocklet.useBlockletContext)();\n const {\n logoUrl\n } = (0, _useAppLogo.default)({\n blocklet\n });\n const blockletInfo = {\n appId: blocklet.appDid,\n appLogo: logoUrl,\n appName: blocklet.meta.title,\n enableConnect: true,\n enableLocale: false,\n navigation\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_linkBlocker.default, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {\n className: className,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Header.default, {\n meta: blockletInfo\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dashboard.default, {\n meta: blockletInfo,\n invalidPathFallback: () => {},\n headerProps: {\n style: {\n display: 'none'\n }\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Grid, {\n container: true,\n spacing: 2,\n children: new Array(6).fill().map((item, index) => {\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n (0, _jsxRuntime.jsxs)(_material.Grid, {\n item: true,\n xs: 4,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Skeleton, {\n animation: false,\n variant: \"rectangular\",\n width: \"100%\",\n height: 120\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {\n sx: {\n pt: 0.5\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Skeleton, {\n animation: false\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Skeleton, {\n width: \"60%\",\n animation: false\n })]\n })]\n }, index)\n );\n })\n })\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Footer.default, {\n meta: blockletInfo\n })]\n })\n });\n}\nNavigationPreview.propTypes = {\n className: _propTypes.default.string,\n navigation: _propTypes.default.array\n};\nNavigationPreview.defaultProps = {\n className: '',\n navigation: []\n};\nconst StyledNavigationPreview = (0, _styled.default)(NavigationPreview)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .dashboard {\\n height: auto !important;\\n }\\n .dashboard-content + div {\\n display: none;\\n }\\n\"])));\nvar _default = StyledNavigationPreview;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _material = require(\"@mui/material\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nconst _excluded = [\"fullWidth\", \"multiple\", \"required\", \"label\", \"placeholer\", \"options\", \"helperText\", \"error\", \"margin\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction SimpleSelect(_ref) {\n let {\n fullWidth,\n multiple,\n required,\n label,\n placeholer,\n options,\n helperText,\n error,\n margin\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n const defaultOption = options.find(item => item.value === rest.value);\n const defaultValue = defaultOption === null || defaultOption === void 0 ? void 0 : defaultOption.title;\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.FormControl, {\n margin: margin,\n fullWidth: fullWidth,\n error: error,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.InputLabel, {\n children: \"\".concat(label).concat(required ? '*' : '')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Select, _objectSpread(_objectSpread({\n multiple: multiple,\n input: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.OutlinedInput, {\n defaultValue: defaultValue,\n sx: {\n flex: 1\n },\n required: required,\n label: label,\n inputProps: {\n margin\n }\n }),\n renderValue: selected => {\n if (multiple) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {\n sx: {\n display: 'flex',\n flexWrap: 'wrap',\n gap: 0.5\n },\n children: selected.map(value => {\n const option = options.find(item => item.value === value);\n return option && option.title && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {\n size: \"small\",\n label: option.title\n }, value);\n })\n });\n }\n const option = options.find(item => item.value === selected);\n return option && option.title && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {\n component: \"span\",\n children: option.title\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {\n marginLeft: 1,\n component: \"span\",\n variant: \"body2\",\n color: \"text.secondary\",\n children: option.description\n })]\n });\n }\n }, rest), {}, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.MenuItem, {\n disabled: true,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"em\", {\n children: placeholer\n })\n }), !multiple && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.MenuItem, {\n value: \"\",\n children: \"None\"\n }), options.map(option => option && option.value && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.MenuItem, {\n value: option.value,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemText, {\n children: option.title\n }), option.description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {\n variant: \"body2\",\n color: \"text.secondary\",\n children: option.description\n })]\n }, option.value))]\n })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.FormHelperText, {\n children: helperText\n })]\n });\n}\nSimpleSelect.propTypes = {\n error: _propTypes.default.bool,\n required: _propTypes.default.bool,\n multiple: _propTypes.default.bool,\n fullWidth: _propTypes.default.bool,\n label: _propTypes.default.string,\n placeholer: _propTypes.default.string,\n options: _propTypes.default.array,\n helperText: _propTypes.default.string,\n margin: _propTypes.default.string\n};\nSimpleSelect.defaultProps = {\n error: false,\n required: false,\n multiple: false,\n fullWidth: false,\n label: '',\n placeholer: '',\n options: [],\n helperText: '',\n margin: ''\n};\nvar _default = SimpleSelect;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = SelectStore;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _TextField = _interopRequireDefault(require(\"@mui/material/TextField\"));\nvar _MenuItem = _interopRequireDefault(require(\"@mui/material/MenuItem\"));\nvar _constant = require(\"@abtnode/constant\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _ArrowDropDown = _interopRequireDefault(require(\"@mui/icons-material/ArrowDropDown\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _useLocalStorage = _interopRequireDefault(require(\"react-use/lib/useLocalStorage\"));\nvar _constants = require(\"../../util/constants\");\nvar _node = require(\"../../contexts/node\");\nvar _blocklet = require(\"../../contexts/blocklet\");\nvar _add = _interopRequireDefault(require(\"../../store/add\"));\nvar _item = _interopRequireDefault(require(\"../../store/item\"));\nvar _util = require(\"../../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction SelectStore(_ref) {\n let {\n onChange: _onChange,\n loading,\n children,\n extra\n } = _ref;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const {\n info: nodeInfo,\n inService\n } = (0, _node.useNodeContext)();\n const {\n blocklet\n } = (0, _blocklet.useBlockletContext)();\n const [open, setOpen] = (0, _react.useState)(false);\n const storeSelectRef = (0, _react.useRef)(null);\n const storageKey = inService ? _constants.STORAGE_KEY_STORE_BLOCKLET : _constants.STORAGE_KEY_STORE_SERVER;\n const [storeUrl, setStoreUrl] = (0, _useLocalStorage.default)(storageKey);\n const {\n storeList,\n teamDid\n } = (0, _util.getStoreList)({\n fromBlocklet: inService,\n blocklet,\n nodeInfo\n });\n const currentRegistry = storeUrl && storeList.find(x => storeUrl === x.url) || storeList[0];\n const isServerlessMode = nodeInfo.mode === _constant.NODE_MODES.SERVERLESS;\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(SelectStoreTitle, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n ref: storeSelectRef,\n color: \"secondary\",\n \"data-cy\": \"add-component-select-store\",\n endIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ArrowDropDown.default, {\n color: \"secondary\"\n }),\n onClick: () => {\n setOpen(true);\n },\n style: {\n padding: '0 2px'\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n color: \"secondary\",\n children: currentRegistry.name\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n color: \"secondary\",\n children: extra\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TextField.default, {\n id: \"mui-registry-select\",\n select: true,\n autoComplete: \"off\",\n variant: \"outlined\",\n name: \"did\",\n helperText: t('blocklet.component.selectRegistryTip'),\n \"data-cy\": \"component-registry-select\",\n fullWidth: true,\n value: currentRegistry,\n autoFocus: true,\n onChange: e => {\n const newRegistry = e.target.value;\n setStoreUrl(newRegistry.url);\n _onChange(newRegistry);\n },\n SelectProps: {\n open,\n MenuProps: {\n anchorEl: storeSelectRef.current\n },\n renderValue: item => {\n return item === null || item === void 0 ? void 0 : item.name;\n },\n onClose: () => {\n setOpen(false);\n }\n },\n style: {\n display: 'none'\n },\n margin: \"normal\",\n children: [storeList === null || storeList === void 0 ? void 0 : storeList.map(x => {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {\n value: x,\n \"data-cy\": x.url,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.default, {\n teamDid: teamDid,\n store: x,\n onDelete: () => {\n if (storeUrl === x.url) {\n var _storeList$;\n setStoreUrl((_storeList$ = storeList[0]) === null || _storeList$ === void 0 ? void 0 : _storeList$.url);\n }\n }\n })\n }, x.url);\n }), !isServerlessMode && /*#__PURE__*/(0, _jsxRuntime.jsx)(_add.default, {\n disabled: loading,\n storeList: storeList,\n teamDid: teamDid,\n onAdd: url => {\n setStoreUrl(url);\n }\n })]\n }), children({\n currentRegistry\n })]\n });\n}\nSelectStore.propTypes = {\n onChange: _propTypes.default.func,\n loading: _propTypes.default.bool,\n children: _propTypes.default.any.isRequired,\n extra: _propTypes.default.node\n};\nSelectStore.defaultProps = {\n onChange: () => {},\n loading: false,\n extra: ''\n};\nconst SelectStoreTitle = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin-bottom: 16px;\\n\\n span {\\n font-size: 16px;\\n color: \", \";\\n // font-weight: bold;\\n }\\n\"])), props => props.theme.palette.common.black);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ComponentSettingWithPermission;\nvar _react = require(\"react\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _urlFriendly = _interopRequireDefault(require(\"@blocklet/meta/lib/url-friendly\"));\nvar _toast = _interopRequireDefault(require(\"../../toast\"));\nvar _formTextInput = _interopRequireDefault(require(\"../../form/form-text-input\"));\nvar _node = require(\"../../contexts/node\");\nvar _permission = require(\"../../permission\");\nvar _util = require(\"../../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nconst _excluded = [\"blocklet\", \"ancestors\", \"hasPermission\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction ComponentSetting(_ref) {\n let {\n blocklet,\n ancestors,\n hasPermission\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n const {\n t\n } = (0, _context.useLocaleContext)();\n const {\n api\n } = (0, _node.useNodeContext)();\n const isRoot = !ancestors.length;\n const isDynamic = blocklet.dynamic;\n const rootDid = isRoot ? blocklet.meta.did : ancestors.map(x => x.meta.did)[0];\n const [loading, setLoading] = (0, _react.useState)('');\n const [mountPointHelperText, setMountPointHelperText] = (0, _react.useState)('');\n const isDev = (0, _util.isBlockletDev)(blocklet);\n const disabled = isDev || loading || !hasPermission;\n if (!rootDid) {\n return null;\n }\n if (blocklet.status === 'unknown' && (0, _util.isInstalling)(blocklet.status)) {\n return null;\n }\n const onSubmitTitle = async value => {\n setLoading(true);\n try {\n setLoading(false);\n await api.updateComponentTitle({\n input: {\n rootDid,\n did: blocklet.meta.did,\n title: value\n }\n });\n } catch (err) {\n setLoading(false);\n err.message = (0, _util.formatError)(err);\n _toast.default.error(err.message);\n throw err;\n }\n };\n const onSubmitMountPoint = async value => {\n setLoading(true);\n try {\n const input = {\n rootDid,\n mountPoint: (0, _urlFriendly.default)(value)\n };\n if (!isRoot) {\n input.did = blocklet.meta.did;\n }\n await api.updateComponentMountPoint({\n input\n });\n setLoading(false);\n return true;\n } catch (err) {\n setLoading(false);\n err.message = (0, _util.formatError)(err);\n _toast.default.error(err.message);\n throw err;\n }\n };\n const handleMountPointChange = value => {\n setMountPointHelperText(t('common.slugifyHint', {\n value: (0, _util.formatMountPoint)(value)\n }));\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(Div, _objectSpread(_objectSpread({\n component: \"div\"\n }, rest), {}, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n mt: 3,\n children: [isDynamic && /*#__PURE__*/(0, _jsxRuntime.jsx)(_formTextInput.default, {\n label: t('common.title'),\n style: {\n marginTop: -24\n },\n disabled: loading || disabled,\n loading: loading,\n required: true,\n initialValue: blocklet.meta.title,\n onSubmit: onSubmitTitle\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_formTextInput.default, {\n label: t('blocklet.component.mountPoint'),\n style: {\n marginTop: -24\n },\n disabled: loading || disabled,\n loading: loading,\n required: true,\n initialValue: blocklet.mountPoint,\n onSubmit: onSubmitMountPoint,\n onChange: handleMountPointChange,\n helperText: mountPointHelperText,\n formatterBeforeSubmit: value => (0, _urlFriendly.default)(value)\n })]\n })\n }));\n}\nconst ComponentSettingInDaemon = (0, _permission.withPermission)(ComponentSetting, 'mutate_blocklets');\nconst ComponentSettingInService = (0, _permission.withPermission)(ComponentSetting, '', _util.BlockletAdminRoles);\nfunction ComponentSettingWithPermission(props) {\n const {\n inService\n } = (0, _node.useNodeContext)();\n if (inService) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(ComponentSettingInService, _objectSpread({}, props));\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(ComponentSettingInDaemon, _objectSpread({}, props));\n}\nComponentSetting.propTypes = {\n blocklet: _propTypes.default.object.isRequired,\n ancestors: _propTypes.default.array,\n hasPermission: _propTypes.default.bool\n};\nComponentSetting.defaultProps = {\n ancestors: [],\n hasPermission: false\n};\nconst Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactSortableTree = require(\"react-sortable-tree\");\nvar _reactSortableTreeThemeMaterialUi = _interopRequireDefault(require(\"react-sortable-tree-theme-material-ui\"));\nvar _react2 = require(\"@iconify/react\");\nvar _isObject = _interopRequireDefault(require(\"lodash/isObject\"));\nvar _isEqual = _interopRequireDefault(require(\"lodash/isEqual\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _material = require(\"@mui/material\");\nvar _reactDndHtml5Backend = require(\"react-dnd-html5-backend\");\nvar _reactDnd = require(\"react-dnd\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction checkCanDrop(_ref) {\n let {\n prevPath,\n nextPath\n } = _ref;\n const prevLen = prevPath.length;\n const nextLen = nextPath.length;\n if (prevLen === nextLen) {\n if ((0, _isEqual.default)(prevPath.slice(0, prevLen - 1), nextPath.slice(0, nextLen - 1))) {\n return true;\n }\n }\n return false;\n}\nfunction TreeTitle(_ref2) {\n let {\n treeNode\n } = _ref2;\n const {\n locale\n } = (0, _context.useLocaleContext)();\n function renderTitle() {\n const {\n title,\n subtitle\n } = treeNode;\n let titleShow = title;\n let subtitleShow = subtitle;\n if ((0, _isObject.default)(title)) {\n titleShow = title[locale];\n }\n if (! /*#__PURE__*/(0, _react.isValidElement)(subtitle) && (0, _isObject.default)(subtitle)) {\n subtitleShow = subtitle[locale];\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {\n display: \"flex\",\n alignItems: \"center\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {\n variant: \"subtitle1\",\n fontSize: 16,\n children: titleShow\n }), subtitle && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {\n variant: \"body2\",\n color: \"gray\",\n ml: 1.5,\n children: subtitleShow\n })]\n });\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [treeNode.icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.Icon, {\n style: {\n marginRight: 4\n },\n icon: treeNode.icon\n }), renderTitle()]\n });\n}\nTreeTitle.propTypes = {\n treeNode: _propTypes.default.object.isRequired\n};\nfunction SortableTree(_ref3) {\n let {\n treeData,\n setTreeData,\n renderActions\n } = _ref3;\n const expandedData = treeData.map(item => _objectSpread(_objectSpread({}, item), {}, {\n expanded: true\n }));\n\n // HACK: 兼容 mui-datatables 中的 react-dnd 使用\n const dndProps = {};\n if (typeof window !== 'undefined') {\n dndProps.context = window;\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactDnd.DndProvider, _objectSpread(_objectSpread({\n backend: _reactDndHtml5Backend.HTML5Backend\n }, dndProps), {}, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactSortableTree.SortableTreeWithoutDndContext, {\n generateNodeProps: rowInfo => {\n return {\n buttons: renderActions({\n data: rowInfo.node,\n className: 'list-item-actions'\n }),\n icons: /*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.Icon, {\n icon: \"ic:round-drag-indicator\"\n }),\n title: /*#__PURE__*/(0, _jsxRuntime.jsx)(TreeTitle, {\n treeNode: rowInfo.node\n })\n };\n },\n maxDepth: 2,\n isVirtualized: false,\n treeData: expandedData,\n onChange: setTreeData,\n canDrop: checkCanDrop,\n theme: _reactSortableTreeThemeMaterialUi.default\n })\n }));\n}\nSortableTree.propTypes = {\n treeData: _propTypes.default.object.isRequired,\n setTreeData: _propTypes.default.func,\n renderActions: _propTypes.default.func\n};\nSortableTree.defaultProps = {\n setTreeData: () => {},\n renderActions: () => {}\n};\nvar _default = SortableTree;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = BlockletList;\nvar _react = require(\"react\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _urlJoin = _interopRequireDefault(require(\"url-join\"));\nvar _Link = _interopRequireDefault(require(\"@mui/material/Link\"));\nvar _ErrorBoundary = require(\"@arcblock/ux/lib/ErrorBoundary\");\nvar _reactErrorBoundary = require(\"react-error-boundary\");\nvar _list = _interopRequireDefault(require(\"@blocklet/list\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Blocklet = _interopRequireWildcard(require(\"@arcblock/ux/lib/Blocklet\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _util = require(\"@blocklet/meta/lib/util\");\nvar _toast = _interopRequireDefault(require(\"../../toast\"));\nvar _util2 = require(\"../../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nconst _excluded = [\"handleButtonClick\", \"handleSearchSelect\", \"storeUrl\", \"handleBlockletRender\", \"extraFilter\"];\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nconst getStoreDetail = (meta, endpoint) => {\n return (0, _urlJoin.default)(endpoint, \"/blocklets/\".concat(meta.did));\n};\nconst displayAttributes = _ref => {\n let {\n blocklet,\n attribute,\n value\n } = _ref;\n if (blocklet._formatted) {\n return blocklet._formatted[attribute];\n }\n return value;\n};\nconst requirePurchase = meta => meta.inStore && (0, _util.isFreeBlocklet)(meta) === false;\nfunction BlockletItem(_ref2) {\n let {\n blocklet,\n blocklets,\n handleButtonClick,\n endpoint\n } = _ref2;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const logoUrl = (0, _urlJoin.default)(endpoint, (0, _util2.formatRegistryLogoPath)(blocklet.did, blocklet.logo || ''));\n const [loading, setLoading] = (0, _react.useState)(false);\n const onClickLink = e => {\n if (!e.currentTarget.contains(e.target)) {\n e.preventDefault();\n return false;\n }\n return true;\n };\n const btnTxt = requirePurchase(blocklet) ? t('common.purchase') : t('blocklet.component.choose');\n const onAction = async e => {\n e.preventDefault();\n e.stopPropagation();\n try {\n setLoading(true);\n await handleButtonClick({\n meta: blocklet,\n registryUrl: endpoint,\n blocklets\n });\n } catch (err) {\n _toast.default.error(err.message);\n } finally {\n setLoading(false);\n }\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Link.default, {\n href: getStoreDetail(blocklet, endpoint),\n style: {\n color: 'initial',\n textDecoration: 'none'\n },\n onClick: onClickLink,\n target: \"_blank\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledBlocklet, {\n title: displayAttributes({\n blocklet,\n attribute: 'title',\n value: blocklet.title || blocklet.name\n }),\n did: blocklet.did,\n description: displayAttributes({\n blocklet,\n attribute: 'description',\n value: blocklet.description\n }),\n cover: blocklet.logo ? logoUrl : '',\n version: blocklet.version,\n button: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n style: {\n display: 'flex',\n alignItems: 'center'\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Blocklet.ActionButton, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: onAction,\n size: \"small\",\n disabled: loading,\n variant: \"outlined\",\n color: \"primary\",\n \"data-cy\": \"install-blocklet\",\n children: loading ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16,\n style: {\n marginRight: 3\n }\n }), btnTxt]\n }) : btnTxt\n }, blocklet.did)\n })\n })\n })\n });\n}\nBlockletItem.propTypes = {\n blocklet: _propTypes.default.object.isRequired,\n blocklets: _propTypes.default.array,\n handleButtonClick: _propTypes.default.func,\n endpoint: _propTypes.default.string\n};\nBlockletItem.defaultProps = {\n handleButtonClick: null,\n endpoint: '',\n blocklets: []\n};\nfunction BlockletList(_ref3) {\n let {\n handleButtonClick,\n handleSearchSelect,\n storeUrl,\n handleBlockletRender,\n extraFilter\n } = _ref3,\n rest = _objectWithoutProperties(_ref3, _excluded);\n const {\n locale\n } = (0, _context.useLocaleContext)();\n const [filters, setFilters] = (0, _react.useState)({});\n const handleChange = changeData => {\n setFilters(changeData);\n };\n const endpoint = storeUrl;\n (0, _react.useEffect)(() => {\n setFilters({});\n }, [endpoint]);\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactErrorBoundary.ErrorBoundary, {\n FallbackComponent: _ErrorBoundary.ErrorFallback,\n resetKeys: [endpoint],\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", _objectSpread(_objectSpread({}, rest), {}, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_list.default, {\n blockletRender: blockletRenderProps => {\n const defaultProps = _objectSpread(_objectSpread({}, blockletRenderProps), {}, {\n handleButtonClick,\n endpoint\n });\n return handleBlockletRender(_objectSpread(_objectSpread({}, blockletRenderProps), {}, {\n defaultRender: /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockletItem, _objectSpread({}, defaultProps))\n }));\n },\n baseSearch: true,\n endpoint: endpoint,\n locale: locale,\n onFilterChange: handleChange,\n onSearchSelect: handleSearchSelect,\n filters: filters,\n extraFilter: extraFilter\n })\n }))\n });\n}\nBlockletList.propTypes = {\n storeUrl: _propTypes.default.string.isRequired,\n handleButtonClick: _propTypes.default.func,\n handleSearchSelect: _propTypes.default.func,\n handleBlockletRender: _propTypes.default.func,\n extraFilter: _propTypes.default.func\n};\nBlockletList.defaultProps = {\n handleButtonClick: null,\n handleSearchSelect: null,\n handleBlockletRender: null,\n extraFilter: undefined\n};\nconst StyledBlocklet = (0, _styled.default)(_Blocklet.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .ms-highlight {\\n color: \", \";\\n }\\n\"])), props => props.theme.palette.primary.main);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _react = require(\"react\");\nvar _material = require(\"@mui/material\");\nvar _lab = require(\"@mui/lab\");\nvar _react2 = require(\"@iconify/react\");\nvar _notistack = require(\"notistack\");\nvar _ahooks = require(\"ahooks\");\nvar _Dialog = require(\"@arcblock/ux/lib/Dialog\");\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Session = require(\"@arcblock/did-connect/lib/Session\");\nvar _sortableTree = _interopRequireDefault(require(\"./component/sortable-tree\"));\nvar _navigationDialog = _interopRequireDefault(require(\"./component/navigation/navigation-dialog\"));\nvar _navigationActions = _interopRequireDefault(require(\"./component/navigation/navigation-actions\"));\nvar _useNavigation = _interopRequireDefault(require(\"../hooks/use-navigation\"));\nvar _blocklet = require(\"../contexts/blocklet\");\nvar _navigationPreview = _interopRequireDefault(require(\"./component/navigation/navigation-preview\"));\nvar _team = require(\"../contexts/team\");\nvar _util = require(\"../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nconst mockSession = {\n login: () => {},\n logout: () => {},\n switch: () => {},\n switchDid: () => {},\n switchProfile: () => {},\n switchPassport: () => {}\n};\nconst navigationTypeMap = {\n header: 'Header',\n footer: 'Footer',\n bottom: 'Footer Link',\n social: 'Footer Social',\n dashboard: 'Dashboard',\n sessionManager: 'SessionManager'\n};\nfunction ConfigNavigation() {\n const {\n t\n } = (0, _context.useLocaleContext)();\n const {\n blocklet\n } = (0, _blocklet.useBlockletContext)();\n const refNavigationDialog = (0, _react.useRef)(null);\n const {\n roles\n } = (0, _team.useTeamContext)();\n const {\n enqueueSnackbar\n } = (0, _notistack.useSnackbar)();\n const pageState = (0, _ahooks.useReactive)({\n saveLoading: false,\n resetLoading: false,\n showResetConfirm: false,\n mockRole: 'owner'\n });\n const {\n state: navigationState,\n navigation,\n getNavigation,\n saveNavigationList,\n resetNavigation,\n updateActiveSection,\n updateNavigationTree,\n updateNavigationItem,\n delNavigationItem,\n addNavigationItem\n } = (0, _useNavigation.default)();\n const handleAddNavigation = (0, _react.useCallback)(params => {\n refNavigationDialog.current.add({\n parent: params\n }, (close, data) => {\n addNavigationItem(data);\n close();\n });\n }, [addNavigationItem]);\n const handleEditNavigation = (0, _react.useCallback)(function (type) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n switch (type) {\n case 'edit':\n refNavigationDialog.current.edit(params, (close, data) => {\n updateNavigationItem(data);\n close();\n });\n break;\n case 'toggle':\n updateNavigationItem({\n id: params.id,\n visible: !params.visible\n });\n break;\n case 'del':\n delNavigationItem(params.id);\n break;\n default:\n }\n }, [delNavigationItem, updateNavigationItem]);\n const handleSaveNavigation = (0, _react.useCallback)(async () => {\n try {\n pageState.saveLoading = true;\n await saveNavigationList(navigationState.rawNavigation);\n enqueueSnackbar('保存成功', {\n variant: 'success'\n });\n } catch (e) {\n enqueueSnackbar( /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {\n variant: \"subtitle2\",\n children: t('navigation.actionFailed')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {\n variant: \"body1\",\n children: (0, _util.formatError)(e) || e.error\n })]\n }), {\n variant: 'error'\n });\n } finally {\n pageState.saveLoading = false;\n }\n }, [enqueueSnackbar, navigationState.rawNavigation, pageState, saveNavigationList, t]);\n const handleResetNavigation = (0, _react.useCallback)(async () => {\n try {\n pageState.resetLoading = true;\n await resetNavigation();\n enqueueSnackbar('重置成功', {\n variant: 'success'\n });\n } catch (e) {\n enqueueSnackbar( /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {\n variant: \"subtitle2\",\n children: t('navigation.actionFailed')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {\n variant: \"body1\",\n children: (0, _util.formatError)(e) || e.error\n })]\n }), {\n variant: 'error'\n });\n } finally {\n pageState.resetLoading = false;\n }\n }, [enqueueSnackbar, pageState, resetNavigation, t]);\n const sessionCtxValue = (0, _react.useMemo)(() => {\n return {\n session: _objectSpread(_objectSpread({}, mockSession), {}, {\n user: {\n did: blocklet.appDid,\n fullName: 'Preview User',\n role: pageState.mockRole\n }\n })\n };\n }, [blocklet.appDid, pageState.mockRole]);\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ButtonGroup, {\n variant: \"outlined\",\n children: Object.keys(navigationTypeMap).map(key => {\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Button, {\n variant: navigationState.activeSection === key ? 'contained' : undefined,\n onClick: () => updateActiveSection(key),\n children: [navigationTypeMap[key], \" (\".concat(getNavigation(key).length, \")\")]\n }, key);\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Toolbar, {\n variant: \"dense\",\n sx: {\n paddingLeft: '0px !important',\n paddingRight: '0px !important',\n mt: 2\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {\n variant: \"h6\",\n component: \"div\",\n sx: {\n flexGrow: 1\n },\n children: \"Config\"\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ButtonGroup, {\n variant: \"outlined\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_lab.LoadingButton, {\n size: \"small\",\n variant: \"outlined\",\n color: \"error\",\n startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.Icon, {\n icon: \"system-uicons:reset\"\n }),\n sx: {\n mr: 2\n },\n loading: pageState.resetLoading,\n loadingPosition: \"start\",\n onClick: () => {\n pageState.showResetConfirm = true;\n },\n children: \"\\u91CD\\u7F6E\"\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.ButtonGroup, {\n variant: \"outlined\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Button, {\n size: \"small\",\n variant: \"outlined\",\n startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.Icon, {\n icon: \"mdi:plus\"\n }),\n onClick: () => handleAddNavigation(),\n children: \"\\u65B0\\u5EFA\"\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_lab.LoadingButton, {\n size: \"small\",\n variant: \"contained\",\n startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.Icon, {\n icon: \"mdi:content-save\"\n }),\n loading: pageState.saveLoading,\n loadingPosition: \"start\",\n onClick: handleSaveNavigation,\n children: \"\\u4FDD\\u5B58\"\n })]\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Paper, {\n variant: \"outlined\",\n sx: {\n display: 'flex',\n height: 280,\n overflow: 'hidden'\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Paper, {\n elevation: 0,\n sx: {\n flex: 1,\n overflow: 'auto'\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sortableTree.default, {\n treeData: getNavigation(navigationState.activeSection),\n setTreeData: updateNavigationTree,\n renderActions: _ref => {\n let {\n data,\n className\n } = _ref;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_navigationActions.default, {\n data: data,\n className: className,\n section: navigationState.activeSection,\n add: function add() {\n return handleAddNavigation(...arguments);\n },\n del: function del() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return handleEditNavigation('del', ...args);\n },\n edit: function edit() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return handleEditNavigation('edit', ...args);\n },\n toggle: function toggle() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return handleEditNavigation('toggle', ...args);\n }\n });\n }\n })\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Toolbar, {\n variant: \"dense\",\n sx: {\n paddingLeft: '0px !important',\n paddingRight: '0px !important',\n mt: 3\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {\n variant: \"h6\",\n component: \"div\",\n sx: {\n flexGrow: 1\n },\n children: \"Preview\"\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.FormControl, {\n sx: {\n m: 1,\n minWidth: 120\n },\n size: \"small\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.InputLabel, {\n children: \"Role\"\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Select, {\n value: pageState.mockRole,\n label: \"Role\",\n onChange: e => {\n pageState.mockRole = e.target.value;\n },\n children: roles.map(item => /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.MenuItem, {\n value: item.name,\n children: item.title\n }, item.name))\n })]\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Paper, {\n variant: \"outlined\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Session.SessionContext.Provider, {\n value: sessionCtxValue,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_navigationPreview.default, {\n navigation: navigation\n })\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_navigationDialog.default, {\n ref: refNavigationDialog,\n section: navigationState.activeSection,\n components: navigationState.components,\n rawNavigations: navigationState.rawNavigation\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.Confirm, {\n open: pageState.showResetConfirm,\n title: \"\\u662F\\u5426\\u6E05\\u7A7A\\u6240\\u6709\\u81EA\\u5B9A\\u4E49\\u5BFC\\u822A\",\n onConfirm: async () => {\n await handleResetNavigation();\n pageState.showResetConfirm = false;\n },\n onCancel: () => {\n pageState.showResetConfirm = false;\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"p\", {\n children: \"\\u6E05\\u7A7A\\u540E\\uFF0C\\u5BFC\\u822A\\u4F1A\\u6062\\u590D\\u5230 Blocklet \\u539F\\u6709\\u9ED8\\u8BA4\\u7684\\u914D\\u7F6E\"\n })\n })]\n });\n}\nvar _default = ConfigNavigation;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = BlockletEnvironmentWithPermission;\nvar _react = require(\"react\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _get = _interopRequireDefault(require(\"lodash/get\"));\nvar _omit = _interopRequireDefault(require(\"lodash/omit\"));\nvar _isEqual = _interopRequireDefault(require(\"lodash/isEqual\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _useTheme = _interopRequireDefault(require(\"@mui/material/styles/useTheme\"));\nvar _Switch = _interopRequireDefault(require(\"@mui/material/Switch\"));\nvar _Divider = _interopRequireDefault(require(\"@mui/material/Divider\"));\nvar _Add = _interopRequireDefault(require(\"@mui/icons-material/Add\"));\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\nvar _Tooltip = _interopRequireDefault(require(\"@mui/material/Tooltip\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _Empty = _interopRequireDefault(require(\"@arcblock/ux/lib/Empty\"));\nvar _LockIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/LockIcon\"));\nvar _constant = require(\"@abtnode/constant\");\nvar _constant2 = require(\"@blocklet/constant\");\nvar _util = require(\"@blocklet/meta/lib/util\");\nvar _toast = _interopRequireDefault(require(\"../toast\"));\nvar _schemaForm = _interopRequireDefault(require(\"../schema-form\"));\nvar _formTextInput = _interopRequireDefault(require(\"../form/form-text-input\"));\nvar _node = require(\"../contexts/node\");\nvar _util2 = require(\"../util\");\nvar _permission = require(\"../permission\");\nvar _addDomainAlias = _interopRequireDefault(require(\"./router/action/add-domain-alias\"));\nvar _domainStatus = _interopRequireDefault(require(\"./router/domain-status\"));\nvar _domainActions = _interopRequireDefault(require(\"./router/domain-actions\"));\nvar _walletType = _interopRequireDefault(require(\"./preferences/wallet-type\"));\nvar _appSk = _interopRequireDefault(require(\"./preferences/app-sk\"));\nvar _addCert = _interopRequireDefault(require(\"./add-cert\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nconst _excluded = [\"blocklet\", \"onUpdate\", \"hasPermission\"],\n _excluded2 = [\"value\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction BlockletEnvironment(_ref) {\n var _blocklet$settings;\n let {\n blocklet,\n onUpdate,\n hasPermission\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n const node = (0, _node.useNodeContext)();\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n const [cpuCores, setCpuCores] = (0, _react.useState)('');\n const [loading, setLoading] = (0, _react.useState)('');\n const whoCanAccess = (0, _util.getWhoCanAccess)(blocklet);\n const publicToStore = blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$settings = blocklet.settings) === null || _blocklet$settings === void 0 ? void 0 : _blocklet$settings.publicToStore;\n const theme = (0, _useTheme.default)();\n const [editingItem, setEditingItem] = (0, _react.useState)(null);\n const disabled = loading || !hasPermission;\n const {\n inService,\n ws: {\n useSubscription\n }\n } = node;\n const {\n did\n } = blocklet.meta;\n const {\n site\n } = blocklet;\n const domains = (0, _util2.sortDomains)(site === null || site === void 0 ? void 0 : site.domainAliases);\n const clusterMode = (0, _get.default)(blocklet.meta, 'capabilities.clusterMode', false);\n useSubscription(_constant.EVENTS.NODE_RUNTIME_INFO, res => {\n if (clusterMode) {\n setCpuCores((0, _get.default)(res, 'cpu.physicalCores', ''));\n }\n });\n if ((0, _util2.isInstalling)(blocklet.status)) {\n return null;\n }\n\n // configurable blocklet environment\n const customType = blocklet.environments.find(x => x.key === 'BLOCKLET_WALLET_TYPE');\n const customDelete = blocklet.environments.find(x => x.key === 'BLOCKLET_DELETABLE');\n const deletable = !customDelete || customDelete.value === 'yes';\n const customUrl = blocklet.environments.find(x => x.key === 'BLOCKLET_APP_URL');\n const customLogoSquare = blocklet.environments.find(x => x.key === 'BLOCKLET_APP_LOGO_SQUARE');\n const customLogoRect = blocklet.environments.find(x => x.key === 'BLOCKLET_APP_LOGO_RECT');\n const customLogoFavicon = blocklet.environments.find(x => x.key === 'BLOCKLET_APP_LOGO_FAVICON');\n const customLogoDeprecated = blocklet.environments.find(x => x.key === 'BLOCKLET_APP_LOGO');\n const configurableEnvs = [{\n key: _constant2.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_NAME,\n description: t('blocklet.config.name'),\n value: blocklet.environments.find(x => x.key === 'BLOCKLET_APP_NAME').value\n }, {\n key: _constant2.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_DESCRIPTION,\n description: t('blocklet.config.description'),\n value: blocklet.environments.find(x => x.key === 'BLOCKLET_APP_DESCRIPTION').value\n }, {\n key: _constant2.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_URL,\n description: t('blocklet.config.appUrl'),\n value: customUrl ? customUrl.value : ''\n }, {\n key: _constant2.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_LOGO_SQUARE,\n description: t('blocklet.config.logoSquare'),\n value: customLogoSquare ? customLogoSquare.value : ''\n }, {\n key: _constant2.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_LOGO_RECT,\n description: t('blocklet.config.logoRect'),\n value: customLogoRect ? customLogoRect.value : ''\n }, {\n key: _constant2.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_LOGO_FAVICON,\n description: t('blocklet.config.logoFavicon'),\n value: customLogoFavicon ? customLogoFavicon.value : ''\n }, {\n key: _constant2.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_LOGO,\n description: t('blocklet.config.logo'),\n value: customLogoDeprecated ? customLogoDeprecated.value : ''\n }];\n if (clusterMode) {\n const exist = blocklet.configs.find(x => x.key === _constant2.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_CLUSTER_SIZE);\n const value = exist ? exist.value : cpuCores;\n configurableEnvs.push({\n key: _constant2.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_CLUSTER_SIZE,\n description: t('blocklet.config.clusterSize'),\n value,\n cpuCores\n });\n }\n const defaultValue = {};\n const schemaList = configurableEnvs.map(item => {\n const {\n value\n } = item,\n props = _objectWithoutProperties(item, _excluded2);\n defaultValue[item.key] = value;\n return _objectSpread({}, props);\n });\n const onPublicToStoreChange = async e => {\n if (loading) {\n return;\n }\n setLoading(true);\n try {\n const {\n checked\n } = e.target;\n const {\n blocklet: data\n } = await node.api.configPublicToStore({\n input: {\n did: blocklet.meta.did,\n publicToStore: checked\n }\n });\n onUpdate(data);\n } catch (err) {\n _toast.default.error(err.message);\n } finally {\n setLoading(false);\n }\n };\n const onSubmitConfig = async value => {\n if (value.key === _constant2.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_CLUSTER_SIZE) {\n const errMessage = (0, _util2.isValidClusterSize)(value);\n if (errMessage) {\n _toast.default.error(errMessage);\n return;\n }\n }\n const params = [_objectSpread(_objectSpread({}, (0, _omit.default)(editingItem, ['childDid', 'componentType', 'componentProps'])), {}, {\n value\n })];\n try {\n setLoading(true);\n const {\n blocklet: data\n } = await node.api.configBlocklet({\n input: {\n did: blocklet.meta.did,\n configs: params\n }\n });\n onUpdate(data);\n } catch (err) {\n _toast.default.error(err.message);\n } finally {\n setLoading(false);\n }\n };\n const onDeletableChange = async e => {\n if (loading) {\n return;\n }\n setLoading(true);\n try {\n const {\n checked\n } = e.target;\n const {\n blocklet: data\n } = await node.api.configBlocklet({\n input: {\n did: blocklet.meta.did,\n configs: [{\n key: _constant2.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_DELETABLE,\n value: checked ? 'no' : 'yes'\n }]\n }\n });\n onUpdate(data);\n } catch (err) {\n _toast.default.error(err.message);\n } finally {\n setLoading(false);\n }\n };\n const onWalletTypeChange = async value => {\n if (loading) {\n return;\n }\n setLoading(true);\n try {\n const {\n blocklet: data\n } = await node.api.configBlocklet({\n input: {\n did: blocklet.meta.did,\n configs: [{\n key: _constant2.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_WALLET_TYPE,\n value\n }]\n }\n });\n onUpdate(data);\n } catch (err) {\n _toast.default.error(err.message);\n } finally {\n setLoading(false);\n }\n };\n const onUpdateCors = async value => {\n const oldValue = site.corsAllowedOrigins || [];\n const newValue = value.split(',').map(x => x.trim()).filter(Boolean);\n if ((0, _isEqual.default)(oldValue, newValue)) {\n return false;\n }\n try {\n setLoading(true);\n const corsAllowedOrigins = newValue.length ? newValue : ['__none__'];\n await node.api.updateRoutingSite({\n input: {\n id: site.id,\n corsAllowedOrigins,\n teamDid: blocklet.meta.did\n }\n });\n setLoading(false);\n } catch (err) {\n _toast.default.error(err.message);\n setLoading(false);\n return false;\n }\n return true;\n };\n const onAppSkChange = async value => {\n if (loading) {\n return;\n }\n setLoading(true);\n try {\n const {\n blocklet: data\n } = await node.api.configBlocklet({\n input: {\n did: blocklet.meta.did,\n configs: [{\n key: _constant2.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_SK,\n value\n }]\n }\n });\n onUpdate(data);\n } catch (err) {\n _toast.default.error(err.message);\n } finally {\n setLoading(false);\n }\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, _objectSpread(_objectSpread({}, rest), {}, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_schemaForm.default, {\n disabled: disabled,\n style: {\n marginTop: -24\n },\n loading: loading,\n schema: schemaList,\n defaultValue: defaultValue,\n onChange: (changeValue, _ref2) => {\n let {\n action,\n currentItem\n } = _ref2;\n if (action === 'edit') {\n setEditingItem(currentItem);\n } else if (['cancel', 'confirm'].includes(action)) {\n setEditingItem(null);\n }\n if (action === 'confirm') {\n onSubmitConfig(changeValue[currentItem.key]);\n }\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"config-form\",\n children: [whoCanAccess === 'all' && blocklet.source === 'registry' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"config-item\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"config-label\",\n children: [t('blocklet.config.access.publicToStore'), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"config-desc\",\n children: t('blocklet.config.access.publicInstanceTip')\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Switch.default, {\n disabled: disabled,\n checked: publicToStore,\n defaultChecked: true,\n onChange: onPublicToStoreChange\n })]\n }), !inService && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"config-item\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"config-label\",\n children: [t('blocklet.config.deletable.name'), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"config-desc\",\n children: deletable ? t('blocklet.config.deletable.disable') : t('blocklet.config.deletable.enable')\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Switch.default, {\n disabled: disabled,\n checked: !deletable,\n defaultChecked: true,\n onChange: onDeletableChange\n })]\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"config-form\",\n component: _Divider.default,\n my: 3\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"config-form\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"config-label\",\n children: t('common.domain')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_addDomainAlias.default, {\n id: site.id,\n title: t('router.domain.add.title'),\n teamDid: did,\n children: _ref3 => {\n let {\n open\n } = _ref3;\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n style: {\n marginLeft: 16\n },\n variant: \"contained\",\n color: \"primary\",\n \"data-cy\": \"add-domain-alias\",\n onClick: open,\n disabled: (0, _util2.isInProgress)(blocklet.status),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Add.default, {\n style: {\n fontSize: '1.3em',\n marginRight: 4\n }\n }), t('common.add')]\n });\n }\n })\n })]\n }), domains.map((domain, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n mt: index ? 0 : 1,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_domainStatus.default, {\n domain: domain,\n filters: ['domain']\n }, \"\".concat(domain.value, \"-domain\")), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n ml: 2,\n mr: 0.5,\n children: domain.value\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_domainStatus.default, {\n domain: domain,\n filters: ['http']\n }, \"\".concat(domain.value, \"-http\")), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n style: {\n marginLeft: 12\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_addCert.default, {\n domain: domain.value,\n domainStatus: domain.domainStatus,\n did: blocklet.meta.did,\n children: _ref4 => {\n let {\n open\n } = _ref4;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n size: \"small\",\n onClick: e => open(e),\n children: t('router.cert.genLetsEncryptCert.title')\n });\n }\n })]\n }), hasPermission && !domain.isProtected ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_domainActions.default, {\n site: site,\n domain: domain,\n blocklet: blocklet\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: t('blocklet.router.domainLockTooltip'),\n placement: \"top\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n disabled: true,\n size: \"large\",\n style: {\n pointerEvents: 'auto',\n // padding replace to margin, fix the tooltip position\n paddingTop: 0,\n paddingBottom: 0,\n margin: '12px 0'\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LockIcon.default, {\n style: {\n fill: theme.palette.text.disabled\n }\n })\n })\n })]\n }, domain.value)), !domains.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mt: 4,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Empty.default, {\n children: t('common.empty')\n })\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"config-form\",\n component: _Divider.default,\n my: 3\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"config-form\",\n mt: 2,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"config-label\",\n mb: 0,\n children: t('common.security')\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"config-form\",\n mt: 2,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"config-label\",\n fontSize: 14,\n mb: 0,\n children: t('router.domainSecurity.cors.title')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mb: 1.5,\n className: \"config-desc\",\n children: t('router.domainSecurity.cors.description', {\n name: 'the blocklet'\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_formTextInput.default, {\n style: {\n marginTop: 0\n },\n disabled: loading || disabled,\n loading: loading,\n initialValue: (site.corsAllowedOrigins || []).join(', '),\n onSubmit: onUpdateCors\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"config-form\",\n component: _Divider.default,\n my: 3\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mb: 2,\n className: \"config-label\",\n fontSize: 20,\n children: t('blocklet.config.dangerZone')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n px: 2,\n py: 1,\n sx: {\n border: '1px solid red',\n borderRadius: 2\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"config-form\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"config-item\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"config-label\",\n children: [t('blocklet.config.walletType.name'), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"config-desc\",\n children: t('blocklet.config.walletType.description')\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_walletType.default, {\n value: (customType === null || customType === void 0 ? void 0 : customType.value) || 'default',\n disabled: disabled,\n onChange: onWalletTypeChange\n })]\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"config-form\",\n mt: 2,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"config-label\",\n fontSize: 14,\n mb: 0,\n children: t('blocklet.config.sk')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_appSk.default, {\n disabled: loading || disabled,\n loading: loading,\n initialValue: blocklet.environments.find(x => x.key === 'BLOCKLET_APP_SK').value,\n onChange: onAppSkChange\n })]\n })]\n })]\n }));\n}\nconst BlockletEnvironmentInDaemon = (0, _permission.withPermission)(BlockletEnvironment, 'mutate_blocklets');\nconst BlockletEnvironmentInService = (0, _permission.withPermission)(BlockletEnvironment, '', _util2.BlockletAdminRoles);\nfunction BlockletEnvironmentWithPermission(props) {\n const {\n inService\n } = (0, _node.useNodeContext)();\n if (inService) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockletEnvironmentInService, _objectSpread({}, props));\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockletEnvironmentInDaemon, _objectSpread({}, props));\n}\nBlockletEnvironment.propTypes = {\n blocklet: _propTypes.default.object.isRequired,\n onUpdate: _propTypes.default.func,\n hasPermission: _propTypes.default.bool\n};\nBlockletEnvironment.defaultProps = {\n onUpdate: () => {},\n hasPermission: false\n};\nconst Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n padding-top: 24px;\\n .config-form {\\n flex-grow: 1;\\n overflow-y: auto;\\n \", \" {\\n width: 100%;\\n flex-shrink: 0;\\n padding: 0 24px;\\n transform: translate(0, 0);\\n max-height: 60vh;\\n }\\n }\\n\\n .config-item {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n margin: 16px 0;\\n }\\n\\n .config-label {\\n font-weight: bold;\\n }\\n\\n .config-desc {\\n font-weight: normal;\\n font-size: 12px;\\n color: #666;\\n }\\n\\n .form-item {\\n margin-top: 0;\\n }\\n\"])), props => props.theme.breakpoints.down('md'));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = BlockletDiskInfo;\nvar _react = require(\"react\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _filesize = _interopRequireDefault(require(\"filesize\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _Link = _interopRequireDefault(require(\"@mui/material/Link\"));\nvar _InfoRow = _interopRequireDefault(require(\"@arcblock/ux/lib/InfoRow\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nconst _excluded = [\"blocklet\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction BlockletDiskInfo(_ref) {\n let {\n blocklet\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n if (!blocklet.diskInfo) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n children: t('blocklet.diskInfo.empty')\n });\n }\n const renderDiskInfo = (dir, size, handler) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {\n children: [handler ?\n /*#__PURE__*/\n /* eslint-disable-next-line no-script-url, jsx-a11y/anchor-is-valid */\n (0, _jsxRuntime.jsx)(_Link.default, {\n style: {\n cursor: 'pointer'\n },\n onClick: handler,\n underline: \"hover\",\n children: dir\n }) : dir, ' ', /*#__PURE__*/(0, _jsxRuntime.jsx)(\"strong\", {\n children: size ? (0, _filesize.default)(size) : 'empty'\n })]\n });\n const env = blocklet.environments.reduce((acc, x) => {\n acc[x.key] = x.value;\n return acc;\n }, {});\n const rows = [{\n key: 'appDir',\n name: t('blocklet.diskInfo.appDir'),\n value: renderDiskInfo(env.BLOCKLET_APP_DIR, blocklet.diskInfo.app)\n }, {\n key: 'dataDir',\n name: t('blocklet.diskInfo.dataDir'),\n value: renderDiskInfo(env.BLOCKLET_DATA_DIR, blocklet.diskInfo.data)\n }, {\n key: 'logDir',\n name: t('blocklet.diskInfo.logDir'),\n value: renderDiskInfo(env.BLOCKLET_LOG_DIR, blocklet.diskInfo.log)\n }, {\n key: 'cacheDir',\n name: t('blocklet.diskInfo.cacheDir'),\n value: renderDiskInfo(env.BLOCKLET_CACHE_DIR, blocklet.diskInfo.cache)\n }];\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(Div, _objectSpread(_objectSpread({\n component: \"div\"\n }, rest), {}, {\n children: rows.map(row => /*#__PURE__*/(0, _jsxRuntime.jsx)(_InfoRow.default, {\n valueComponent: \"div\",\n nameWidth: 120,\n name: row.name,\n children: row.value\n }, row.key))\n }));\n}\nBlockletDiskInfo.propTypes = {\n blocklet: _propTypes.default.object.isRequired\n};\nBlockletDiskInfo.defaultProps = {};\nconst Div = (0, _styled.default)(_Typography.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _Delete = _interopRequireDefault(require(\"@mui/icons-material/Delete\"));\nvar _PlayArrow = _interopRequireDefault(require(\"@mui/icons-material/PlayArrow\"));\nvar _Stop = _interopRequireDefault(require(\"@mui/icons-material/Stop\"));\nvar _Replay = _interopRequireDefault(require(\"@mui/icons-material/Replay\"));\nvar _Autorenew = _interopRequireDefault(require(\"@mui/icons-material/Autorenew\"));\nvar _Settings = _interopRequireDefault(require(\"@mui/icons-material/Settings\"));\nvar _Receipt = _interopRequireDefault(require(\"@mui/icons-material/Receipt\"));\nvar _Group = _interopRequireDefault(require(\"@mui/icons-material/Group\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar _default = {\n Start: _PlayArrow.default,\n Stop: _Stop.default,\n Restart: _Replay.default,\n Reload: _Autorenew.default,\n Remove: _Delete.default,\n Config: _Settings.default,\n Log: _Receipt.default,\n Group: _Group.default\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = InstallFromUrl;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _semver = _interopRequireDefault(require(\"semver\"));\nvar _Dialog = _interopRequireDefault(require(\"@arcblock/ux/lib/Dialog\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _DialogContentText = _interopRequireDefault(require(\"@mui/material/DialogContentText\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _TextField = _interopRequireDefault(require(\"@mui/material/TextField\"));\nvar _Stepper = _interopRequireDefault(require(\"@mui/material/Stepper\"));\nvar _Step = _interopRequireDefault(require(\"@mui/material/Step\"));\nvar _StepLabel = _interopRequireDefault(require(\"@mui/material/StepLabel\"));\nvar _InfoRow = _interopRequireDefault(require(\"@arcblock/ux/lib/InfoRow\"));\nvar _Connect = _interopRequireDefault(require(\"@arcblock/did-connect/lib/Connect\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _Alert = _interopRequireDefault(require(\"@arcblock/ux/lib/Alert\"));\nvar _Tag = _interopRequireDefault(require(\"@arcblock/ux/lib/Tag\"));\nvar _util = require(\"@blocklet/meta/lib/util\");\nvar _node = require(\"../contexts/node\");\nvar _session = require(\"../contexts/session\");\nvar _util2 = require(\"../util\");\nvar _didAddress = _interopRequireDefault(require(\"../did-address\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction InstallFromUrl(_ref) {\n let {\n defaultUrl,\n onCancel: _onCancel,\n onSuccess,\n onError,\n mode,\n handleText\n } = _ref;\n const {\n api\n } = (0, _node.useNodeContext)();\n const {\n api: $api\n } = (0, _session.useSessionContext)();\n const [loading, setLoading] = (0, _react.useState)(false);\n const [error, setError] = (0, _react.useState)('');\n const {\n t\n } = (0, _context.useLocaleContext)();\n const initMeta = {\n dist: {}\n };\n const [url, setUrl] = (0, _react.useState)(defaultUrl);\n const [activeStep, setActiveStep] = (0, _react.useState)(defaultUrl ? 1 : 0);\n const [meta, setMeta] = (0, _react.useState)(initMeta);\n const [existingMeta, setExistingMeta] = (0, _react.useState)(null);\n const [isConnectOpen, setConnectOpen] = (0, _react.useState)(false);\n const [canUpgrade, setCanUpgrade] = (0, _react.useState)(false);\n const [params, setParams] = (0, _react.useState)({});\n const isComponentMode = mode === 'component';\n // if mode is component , we need to always show the step, that means the user can return to the previous step\n const alwayShowSteps = isComponentMode ? true : !defaultUrl;\n const onGetMeta = async () => {\n setMeta(initMeta);\n setError(null);\n setLoading(true);\n try {\n const decoded = decodeURIComponent(url.trim());\n // validate\n try {\n new URL(decoded); // eslint-disable-line no-new\n } catch (_unused) {\n throw new Error('Invalid URL');\n }\n\n // request\n const {\n meta: newer,\n inStore,\n registryUrl\n } = await api.getBlockletMetaFromUrl({\n input: {\n url: decoded\n }\n });\n\n // if mode is component, never check existing blocklet\n if (isComponentMode) {\n setMeta(newer);\n } else {\n const {\n blocklet: existedBlocklet\n } = await api.getBlocklet({\n input: {\n did: newer.did,\n attachRuntimeInfo: false\n }\n });\n if (existedBlocklet) {\n setExistingMeta(existedBlocklet.meta);\n setCanUpgrade(_semver.default.lt(existedBlocklet.meta.version, newer.version));\n }\n setMeta(newer);\n }\n setParams({\n inStore,\n registryUrl,\n inputUrl: url.trim()\n });\n } catch (err) {\n console.error(err);\n const errMsg = \"Blocklet Install failed: \".concat((0, _util2.formatError)(err));\n setError(errMsg);\n onError(err);\n } finally {\n setLoading(false);\n }\n };\n const _onConfirm = async () => {\n if (isComponentMode) {\n onSuccess(_objectSpread({\n meta\n }, params));\n _onCancel();\n return;\n }\n if (canUpgrade) {\n try {\n setLoading(true);\n await api.installBlocklet({\n input: {\n url: decodeURIComponent(url.trim())\n }\n });\n onSuccess(_objectSpread({\n meta\n }, params));\n _onCancel();\n } catch (err) {\n const errMsg = \"Blocklet Install failed: \".concat((0, _util2.formatError)(err));\n setError(errMsg);\n } finally {\n setLoading(false);\n }\n return;\n }\n setLoading(true);\n setConnectOpen(true);\n };\n const onEndInstall = () => {\n setLoading(false);\n setConnectOpen(false);\n onSuccess(_objectSpread({\n meta\n }, params));\n _onCancel();\n };\n const onCancelInstall = () => {\n setLoading(false);\n setConnectOpen(false);\n };\n (0, _react.useEffect)(() => {\n if (defaultUrl) {\n onGetMeta();\n }\n }, [defaultUrl]); // eslint-disable-line\n\n const rows = [{\n name: t('common.name'),\n value: (0, _util.getDisplayName)({\n meta\n }, true)\n }, {\n name: t('common.version'),\n value: meta.version\n }, {\n name: t('common.did'),\n value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_didAddress.default, {\n did: meta.did\n })\n }, {\n name: t('common.author'),\n value: (0, _util2.formatPerson)(meta.author)\n }, {\n name: t('blocklet.dist.downloadLink'),\n value: meta.dist.tarball\n }];\n const getStep1Body = () => {\n if (loading) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n style: {\n height: 200,\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'column'\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {})\n });\n }\n if (meta.did) {\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n style: {\n paddingLeft: '10%'\n },\n children: [rows.map(row => {\n if (row.name === t('common.did')) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InfoRow.default, {\n valueComponent: \"div\",\n nameWidth: 120,\n name: row.name,\n nameFormatter: () => t('common.did'),\n children: row.value\n }, row.name);\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InfoRow.default, {\n valueComponent: \"div\",\n nameWidth: 120,\n name: row.name,\n children: row.value\n }, row.name);\n }), existingMeta && !canUpgrade && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n type: \"error\",\n variant: \"icon\",\n style: {\n margin: '15px 0 0 -16px'\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n children: [t('blocklet.fromUrl.existTipPrefix'), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tag.default, {\n content: existingMeta.version,\n style: {\n margin: '0 5px'\n }\n }), t('blocklet.fromUrl.existTipSuffix')]\n })\n })]\n });\n }\n return null;\n };\n const steps = [{\n label: t('blocklet.fromUrl.step0'),\n body: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n component: \"div\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n label: t('blocklet.fromUrl.label'),\n autoComplete: \"off\",\n variant: \"outlined\",\n name: \"url\",\n \"data-cy\": \"blocklet-url-input\",\n fullWidth: true,\n autoFocus: true,\n style: {\n marginBottom: 32\n },\n margin: \"dense\",\n helperText: t('blocklet.fromUrl.description'),\n value: url,\n onChange: e => {\n setError(null);\n setUrl(e.target.value);\n },\n disabled: loading,\n onKeyPress: e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n onGetMeta();\n setActiveStep(1);\n }\n }\n })\n }),\n cancel: t('common.cancel'),\n confirm: t('common.next'),\n onCancel: _onCancel,\n onConfirm: () => {\n onGetMeta();\n setActiveStep(1);\n }\n }, {\n label: t('blocklet.fromUrl.step1'),\n body: getStep1Body(),\n cancel: alwayShowSteps ? t('common.pre') : t('common.cancel'),\n confirm: (handleText === null || handleText === void 0 ? void 0 : handleText.confirm) || (existingMeta ? t('common.confirm') : t('blocklet.fromUrl.confirm')),\n onCancel: () => {\n if (alwayShowSteps) {\n setActiveStep(s => s - 1);\n } else {\n _onCancel();\n }\n },\n onConfirm: () => {\n if (existingMeta && !canUpgrade) {\n _onCancel();\n } else {\n _onConfirm();\n }\n }\n }];\n const step = steps[activeStep];\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Dialog.default, {\n title: (handleText === null || handleText === void 0 ? void 0 : handleText.title) || t('blocklet.fromUrl.title'),\n fullWidth: true,\n maxWidth: \"md\",\n onClose: () => step.onCancel(),\n showCloseButton: activeStep === 0,\n disableEscapeKeyDown: true,\n open: true,\n actions: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [step.cancel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n setError(null);\n step.onCancel();\n },\n color: \"inherit\",\n children: step.cancel || t('common.cancel')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n step.onConfirm();\n },\n color: \"primary\",\n \"data-cy\": \"install-blocklet-next-step\",\n disabled: loading || !url || error,\n variant: \"contained\",\n autoFocus: true,\n style: {\n marginLeft: 8\n },\n children: [loading && activeStep === 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }), step.confirm]\n })]\n }),\n children: [alwayShowSteps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Stepper.default, {\n alternativeLabel: true,\n activeStep: activeStep,\n children: steps.map(_ref2 => {\n let {\n label\n } = _ref2;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Step.default, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_StepLabel.default, {\n children: label\n })\n }, label);\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogContentText.default, {\n component: \"div\",\n style: {\n marginTop: 24\n },\n children: step.body\n }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n type: \"error\",\n style: {\n width: '100%',\n marginTop: 8\n },\n children: error\n })]\n }), meta && isConnectOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Connect.default, {\n popup: true,\n open: true,\n forceConnected: false,\n className: \"launch-from-url-auth\",\n action: \"launch-free-blocklet-by-session\",\n checkFn: $api.get,\n checkTimeout: 5 * 60 * 1000,\n onSuccess: onEndInstall,\n extraParams: {\n title: meta.title,\n blockletMetaUrl: decodeURIComponent(url.trim())\n },\n messages: {\n title: t('setup.keyPair.title'),\n scan: t('setup.keyPair.scan'),\n confirm: t('setup.keyPair.confirm'),\n success: t('setup.keyPair.success')\n },\n onClose: onCancelInstall\n })]\n });\n}\nInstallFromUrl.propTypes = {\n defaultUrl: _propTypes.default.string,\n onCancel: _propTypes.default.func.isRequired,\n onSuccess: _propTypes.default.func.isRequired,\n onError: _propTypes.default.func,\n mode: _propTypes.default.oneOf(['install', 'component']),\n handleText: _propTypes.default.object\n};\nInstallFromUrl.defaultProps = {\n onError: () => {},\n defaultUrl: '',\n mode: 'install',\n handleText: {}\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = BlockletLog;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _util = require(\"@blocklet/meta/lib/util\");\nvar _logTerminal = require(\"../logs/log-terminal\");\nvar _download = _interopRequireDefault(require(\"../logs/download\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nconst _excluded = [\"blocklet\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/**\n * - heights:\n * - header: 64\n * - footer:\n * - xs: 57 + 64\n * - sm: 109 + 64\n * - main content top:\n * - xs: 211 + 32 + 16\n * - md: 160 + 32 + 16\n * - content height:\n * - xs (Mobile) = 100vh - 444\n * - sm (Mobile) = 100vh - 508\n * - md (PC) = 100vh - 445\n */\nfunction BlockletLog(_ref) {\n let {\n blocklet\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n const initialData = ['Tip: this tab will only show runtime logs. Please go to \"Blocklet Server\" to view other lifecycle logs of the blocklet (install/start/stop...)', '\\r\\n\\r\\n'];\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, _objectSpread(_objectSpread({\n height: {\n xs: 'calc(100vh - 444px)',\n sm: 'calc(100vh - 508px)',\n md: 'calc(100vh - 445px)'\n }\n }, rest), {}, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_logTerminal.LogTerminalGroup, {\n name: (0, _util.getDisplayName)(blocklet),\n logId: \"blocklet-\".concat(blocklet.meta.did),\n initialData: initialData,\n postpend: /*#__PURE__*/(0, _jsxRuntime.jsx)(_download.default, {\n id: blocklet.meta.did,\n name: blocklet.meta.name\n })\n })\n }));\n}\nBlockletLog.propTypes = {\n blocklet: _propTypes.default.object.isRequired\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = BlockletMode;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _tag = _interopRequireDefault(require(\"../tag\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nconst _excluded = [\"mode\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction BlockletMode(_ref) {\n let {\n mode\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n if (mode === 'development') {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_tag.default, _objectSpread(_objectSpread({\n type: \"primary\"\n }, rest), {}, {\n children: \"DEV\"\n }));\n }\n return null;\n}\nBlockletMode.propTypes = {\n mode: _propTypes.default.string.isRequired\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = BlockletMonitor;\nvar _react = require(\"react\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _filesize = _interopRequireDefault(require(\"filesize\"));\nvar _prettyMsI18n = _interopRequireDefault(require(\"pretty-ms-i18n\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _Datatable = _interopRequireDefault(require(\"@arcblock/ux/lib/Datatable\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _util = require(\"@blocklet/meta/lib/util\");\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _blocklet = require(\"../contexts/blocklet\");\nvar _util2 = require(\"../util\");\nvar _runtimeInfo = _interopRequireDefault(require(\"./runtime-info\"));\nvar _diskInfo = _interopRequireDefault(require(\"./disk-info\"));\nvar _bundleAvatar = _interopRequireDefault(require(\"./bundle-avatar\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction BlockletMonitor() {\n const {\n t,\n locale\n } = (0, _context.useLocaleContext)();\n const {\n blocklet,\n runtimeHistory,\n actions: {\n refreshBlocklet\n }\n } = (0, _blocklet.useBlockletContext)();\n const monitList = (0, _react.useMemo)(() => {\n const arr = [];\n (0, _util.forEachBlockletSync)(blocklet, (component, _ref) => {\n let {\n ancestors,\n id,\n level\n } = _ref;\n if (component.runtimeInfo) {\n arr.push({\n type: 'blocklet',\n groupId: blocklet.meta.did,\n groupName: (0, _util.getDisplayName)(blocklet),\n id,\n name: (0, _util.getDisplayName)(component, true),\n blocklet,\n component,\n level: level - 1 >= 0 ? level - 1 : 0,\n runtimeInfo: component.runtimeInfo,\n ancestors\n });\n }\n });\n return arr;\n }, [blocklet]); // eslint-disable-line react-hooks/exhaustive-deps\n\n (0, _react.useEffect)(() => {\n const interval = setInterval(() => {\n refreshBlocklet();\n }, 1000 * 10);\n return () => {\n clearInterval(interval);\n };\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n const formatUptime = uptime => {\n return (0, _prettyMsI18n.default)(Number(uptime || 0), {\n locale: (0, _util2.formatLocale)(locale)\n });\n };\n const monitorColumns = [{\n label: t('common.name'),\n name: 'name',\n options: {\n // eslint-disable-next-line react/no-unstable-nested-components\n customBodyRenderLite(rawIndex) {\n const {\n name,\n component,\n level,\n ancestors\n } = monitList[rawIndex];\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n pl: level * 2,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_bundleAvatar.default, {\n size: 14,\n blocklet: component,\n ancestors: ancestors\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n ml: 1,\n children: name\n })]\n });\n }\n }\n }, {\n label: t('common.uptime'),\n name: 'runtimeInfo.uptime',\n options: {\n customBodyRenderLite(rawIndex) {\n const {\n runtimeInfo\n } = monitList[rawIndex];\n return formatUptime(runtimeInfo.uptime);\n }\n }\n }, {\n label: t('blocklet.runtimeInfo.memoryUsage'),\n name: 'runtimeInfo.memoryUsage',\n options: {\n customBodyRenderLite(rawIndex) {\n const {\n runtimeInfo\n } = monitList[rawIndex];\n return (0, _filesize.default)((runtimeInfo === null || runtimeInfo === void 0 ? void 0 : runtimeInfo.memoryUsage) || 0);\n }\n }\n }, {\n label: t('blocklet.runtimeInfo.cpuUsage'),\n name: 'runtimeInfo.cpuUsage',\n options: {\n customBodyRenderLite(rawIndex) {\n const {\n runtimeInfo\n } = monitList[rawIndex];\n return \"\".concat((runtimeInfo.cpuUsage || 0).toFixed(1), \"%\");\n }\n }\n }, {\n label: t('blocklet.runtimeInfo.processId'),\n name: 'runtimeInfo.pid'\n }];\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {\n component: \"div\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mt: 0,\n display: \"flex\",\n alignItems: \"center\",\n className: \"title\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n children: t('common.runtimeInfo')\n })\n }), blocklet.status === 'running' ? [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_runtimeInfo.default, {\n blocklet: blocklet,\n cpuHistory: runtimeHistory.cpu,\n memoryHistory: runtimeHistory.memory\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mt: 3,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Datatable.default, {\n className: \"monitor-table\",\n locale: locale,\n data: monitList,\n columns: monitorColumns,\n title: \"\",\n options: {\n search: false,\n download: false,\n filter: false,\n print: false,\n viewColumns: false,\n pagination: false,\n rowsPerPage: 100\n }\n })\n })] : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n children: t('blocklet.runtimeInfo.noRunning')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"title\",\n children: t('common.dataStorage')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_diskInfo.default, {\n blocklet: blocklet\n })]\n });\n}\nBlockletMonitor.propTypes = {};\nconst Div = (0, _styled.default)(_Typography.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .title {\\n font-size: 1.2rem;\\n font-weight: bold;\\n margin-top: \", \";\\n margin-bottom: \", \";\\n &.first {\\n margin-top: 0;\\n }\\n }\\n\"])), props => props.theme.spacing(5), props => props.theme.spacing(3));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = BlockletOverview;\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _Alert = _interopRequireDefault(require(\"@mui/material/Alert\"));\nvar _Tooltip = _interopRequireDefault(require(\"@mui/material/Tooltip\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _Tag = _interopRequireDefault(require(\"@arcblock/ux/lib/Tag\"));\nvar _InfoRow = _interopRequireDefault(require(\"@arcblock/ux/lib/InfoRow\"));\nvar _util = require(\"@blocklet/meta/lib/util\");\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Empty = _interopRequireDefault(require(\"@arcblock/ux/lib/Empty\"));\nvar _blocklet = require(\"../contexts/blocklet\");\nvar _node = require(\"../contexts/node\");\nvar _util2 = require(\"../util\");\nvar _didAddress = _interopRequireDefault(require(\"../did-address\"));\nvar _blockletSource = _interopRequireDefault(require(\"./blocklet-source\"));\nvar _status = _interopRequireDefault(require(\"./status\"));\nvar _version = _interopRequireDefault(require(\"./version\"));\nvar _domainStatus = _interopRequireDefault(require(\"./router/domain-status\"));\nvar _types = require(\"./types\");\nvar _expiration = _interopRequireDefault(require(\"./component/expiration\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject, _templateObject2;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction DomainLink(_ref) {\n let {\n domain,\n children\n } = _ref;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const {\n href,\n accessibility\n } = domain;\n if (!accessibility || accessibility.loading) {\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(LinkDiv, {\n children: [children, /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: t('blocklet.router.checkUrlAccessible'),\n placement: \"top-end\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n className: \"status\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 12\n })\n })\n })]\n });\n }\n if (!accessibility.accessible) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(LinkDiv, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: t('blocklet.router.urlInaccessible'),\n placement: \"top-end\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n children: children\n })\n })\n });\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(LinkDiv, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"a\", {\n href: href,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n children: children\n })\n });\n}\nDomainLink.propTypes = {\n domain: _types.DomainType.isRequired,\n children: _propTypes.default.any.isRequired\n};\nconst LinkDiv = _styled.default.span(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n &,\\n & > * {\\n color: #222;\\n font-size: 18px;\\n }\\n\\n .status {\\n margin-left: 8px;\\n }\\n\"])));\nconst getEngineRows = (engine, t) => {\n if (!engine) {\n return [];\n }\n return [{\n name: t('common.name'),\n value: engine.displayName\n }, {\n name: t('common.description'),\n value: engine.description\n }, {\n name: t('common.version'),\n value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tag.default, {\n children: engine.version\n })\n }];\n};\nfunction BlockletOverview() {\n var _blocklet$settings, _blocklet$site;\n const {\n t,\n locale\n } = (0, _context.useLocaleContext)();\n const {\n info: nodeInfo,\n inService\n } = (0, _node.useNodeContext)();\n const {\n blocklet,\n loadingRuntimeInfo\n } = (0, _blocklet.useBlockletContext)();\n const {\n value: appDid\n } = (blocklet.environments || []).find(x => x.key === 'BLOCKLET_APP_ID') || {};\n const infoRows = [appDid ? {\n name: t('blocklet.appId'),\n value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_didAddress.default, {\n did: appDid\n })\n } : null, {\n name: t('common.name'),\n value: (0, _util.getDisplayName)(blocklet, true)\n }, {\n name: t('common.status'),\n value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_status.default, {\n status: blocklet.status,\n source: blocklet.source\n })\n }, {\n name: t('common.version'),\n value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_version.default, {\n blocklet: blocklet\n })\n }, {\n name: t('common.group'),\n value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tag.default, {\n type: \"success\",\n children: blocklet.meta.group\n })\n }, {\n name: t('common.author'),\n value: (0, _util2.formatPerson)(blocklet.meta.author)\n }, blocklet.controller ? {\n name: t('common.expires'),\n value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_expiration.default, {\n controller: blocklet.controller,\n locale: locale\n })\n } : null, {\n name: t('blocklet.installedAt'),\n value: (0, _util2.formatToDatetime)(blocklet.installedAt)\n }, blocklet.status === 'running' ? {\n name: t('blocklet.startedAt'),\n value: (0, _util2.formatToDatetime)(blocklet.startedAt)\n } : null, blocklet.status !== 'running' ? {\n name: t('blocklet.stoppedAt'),\n value: (0, _util2.formatToDatetime)(blocklet.stoppedAt)\n } : null, {\n name: t('blocklet.overview.source'),\n value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockletSource.default, {\n sourceInfo: {\n source: blocklet.source,\n deployedFrom: blocklet.deployedFrom\n },\n blocklet: blocklet\n })\n }, {\n name: t('blocklet.overview.deployedFrom'),\n value: blocklet.deployedFrom || '-'\n }, {\n name: t('blocklet.overview.accessControl'),\n value: t(\"team.whoCanAccess.\".concat((0, _util.getWhoCanAccess)(blocklet), \".title\"))\n }, {\n name: t('common.did'),\n value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_didAddress.default, {\n did: blocklet.meta.did\n })\n }, {\n name: t('common.owner'),\n value: (_blocklet$settings = blocklet.settings) !== null && _blocklet$settings !== void 0 && _blocklet$settings.owner ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_didAddress.default, {\n did: blocklet.settings.owner.did\n }) : '--'\n }].filter(Boolean);\n if (inService) {\n infoRows.push({\n name: t('common.serverDid'),\n value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_didAddress.default, {\n did: nodeInfo.did\n })\n }, {\n name: t('common.serverVersion'),\n value: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tag.default, {\n children: nodeInfo.version\n })\n });\n }\n const engineRows = getEngineRows(blocklet.engine, t);\n const renderRows = rows => rows.map(row => {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InfoRow.default, {\n valueComponent: \"div\",\n nameWidth: 120,\n name: row.name,\n nameFormatter: () => row.name,\n children: row.value\n }, row.name);\n });\n const domains = (0, _util2.sortDomains)((_blocklet$site = blocklet.site) === null || _blocklet$site === void 0 ? void 0 : _blocklet$site.domainAliases);\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {\n component: \"div\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"title first\",\n mb: 0,\n children: t('common.domain')\n })\n }), blocklet.status !== 'running' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mt: -2,\n mb: 1.5,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n severity: \"warning\",\n children: t('blocklet.router.noRunning')\n })\n }), domains.map((domain, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n mt: index ? 3 : 0,\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_domainStatus.default, {\n domain: domain,\n filters: ['domain']\n }, \"\".concat(domain.value, \"-domain\")), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n ml: 2,\n mr: 0.5,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DomainLink, {\n domain: domain,\n target: \"_blank\",\n children: domain.value\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_domainStatus.default, {\n domain: domain,\n filters: ['http']\n }, \"\".concat(domain.value, \"-http\")), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n style: {\n marginLeft: 12\n }\n })]\n })\n }, domain.value)), !domains.length && (loadingRuntimeInfo ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Empty.default, {\n children: t('common.empty')\n })), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"title\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n children: t('common.basicInfo')\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"basicInfo\",\n children: renderRows(infoRows)\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"title\",\n children: t('common.engine')\n }), engineRows.map(_ref2 => {\n let {\n name,\n value\n } = _ref2;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InfoRow.default, {\n nameWidth: 120,\n name: name,\n children: value\n }, name);\n })]\n })]\n });\n}\nBlockletOverview.propTypes = {};\nconst Div = (0, _styled.default)(_Typography.default)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n .title {\\n font-size: 1.2rem;\\n font-weight: bold;\\n margin-top: \", \";\\n margin-bottom: \", \";\\n &.first {\\n margin-top: 0;\\n }\\n }\\n\"])), props => props.theme.spacing(5), props => props.theme.spacing(3));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = AppSk;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _formTextInput = _interopRequireDefault(require(\"../../form/form-text-input\"));\nvar _confirm = _interopRequireDefault(require(\"../../confirm\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction AppSk(_ref) {\n let {\n initialValue,\n onChange,\n disabled,\n loading\n } = _ref;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const [confirmAppSk, setConfirmAppSk] = (0, _react.useState)(null);\n const onAppSkChange = value => {\n setConfirmAppSk({\n value\n });\n return false;\n };\n const _onConfirm = async v => {\n try {\n await onChange(v);\n } finally {\n setConfirmAppSk(null);\n }\n };\n return [/*#__PURE__*/(0, _jsxRuntime.jsx)(_formTextInput.default, {\n disabled: disabled,\n loading: loading,\n initialValue: initialValue,\n onSubmit: onAppSkChange,\n secure: true\n }), confirmAppSk && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {\n title: t('blocklet.config.appSkTitle'),\n description: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n children: t('blocklet.config.appSkChangeTip')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n fontWeight: \"bold\",\n mt: 2,\n children: t('blocklet.config.appDidChangeTip')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(UL, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"li\", {\n children: t('blocklet.config.appDidChangeTipL1')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"li\", {\n children: t('blocklet.config.appDidChangeTipL2')\n })]\n })]\n }),\n confirm: t('confirm'),\n cancel: t('cancel'),\n onConfirm: () => _onConfirm(confirmAppSk.value),\n onCancel: () => setConfirmAppSk(null)\n })];\n}\nAppSk.propTypes = {\n initialValue: _propTypes.default.string,\n onChange: _propTypes.default.func,\n disabled: _propTypes.default.bool,\n loading: _propTypes.default.bool\n};\nAppSk.defaultProps = {\n initialValue: 'default',\n onChange: () => {},\n disabled: false,\n loading: false\n};\nconst UL = (0, _styled.default)('ul')(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n padding-left: 16px;\\n li {\\n margin-top: 8px;\\n list-style: disk;\\n font-weight: bold;\\n }\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = BlockletPreferences;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactIframe = _interopRequireDefault(require(\"react-iframe\"));\nvar _urlJoin = _interopRequireDefault(require(\"url-join\"));\nvar _constant = require(\"@abtnode/constant\");\nvar _material = require(\"@mui/material\");\nvar _TuneRounded = _interopRequireDefault(require(\"@mui/icons-material/TuneRounded\"));\nvar _Key = _interopRequireDefault(require(\"@mui/icons-material/Key\"));\nvar _SettingsOutlined = _interopRequireDefault(require(\"@mui/icons-material/SettingsOutlined\"));\nvar _ChevronRight = _interopRequireDefault(require(\"@mui/icons-material/ChevronRight\"));\nvar _ExpandMore = _interopRequireDefault(require(\"@mui/icons-material/ExpandMore\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Tabs = _interopRequireDefault(require(\"@arcblock/ux/lib/Tabs\"));\nvar _util = require(\"@blocklet/meta/lib/util\");\nvar _bundleAvatar = _interopRequireDefault(require(\"../bundle-avatar\"));\nvar _configuration = _interopRequireDefault(require(\"../configuration\"));\nvar _index = _interopRequireDefault(require(\"../access/index\"));\nvar _node = require(\"../../contexts/node\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nconst _excluded = [\"blocklet\", \"onUpdate\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nconst addComponentTabs = function addComponentTabs(tabs, blocklet) {\n let ancestors = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n let depth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n const key = [...ancestors.map(x => x.meta.did), blocklet.meta.did].join('/');\n tabs.push({\n label: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {\n pl: Math.max(1, depth - 1) * 2,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_bundleAvatar.default, {\n size: 24,\n blocklet: blocklet,\n ancestors: ancestors\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {\n ml: \"16px\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {\n style: {\n color: '#222'\n },\n children: (0, _util.getDisplayName)(blocklet, true)\n })\n })]\n }, key),\n value: key\n });\n if (blocklet.children.length > 0) {\n blocklet.children.forEach(x => {\n addComponentTabs(tabs, x, [...ancestors, blocklet], depth + 1);\n });\n }\n};\nfunction BlockletPreferences(_ref) {\n let {\n blocklet,\n onUpdate\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n const {\n info,\n inService\n } = (0, _node.useNodeContext)();\n const [current, setCurrent] = (0, _react.useState)('general');\n const [expandPref, setExpandPref] = (0, _react.useState)(true);\n const tabs = [{\n label: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {\n display: \"flex\",\n alignItems: \"center\",\n \"data-cy\": \"configuration-tab-general\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TuneRounded.default, {\n sx: {\n fontSize: 24\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {\n ml: \"16px\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {\n style: {\n color: '#222'\n },\n children: t('common.general')\n })\n })]\n }, \"general\"),\n value: 'general'\n }, {\n label: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {\n display: \"flex\",\n alignItems: \"center\",\n \"data-cy\": \"configuration-tab-access\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Key.default, {\n sx: {\n fontSize: 24\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {\n ml: \"16px\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {\n style: {\n color: '#222'\n },\n children: t('common.access')\n })\n })]\n }, \"access\"),\n value: 'access'\n }, {\n label: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {\n display: \"flex\",\n alignItems: \"center\",\n \"data-cy\": \"configuration-tab-preference\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {\n ml: -2,\n style: {\n transform: 'translateY(2px)'\n },\n children: expandPref ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExpandMore.default, {\n fontSize: \"inherit\"\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChevronRight.default, {\n fontSize: \"inherit\"\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SettingsOutlined.default, {\n sx: {\n fontSize: 24\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {\n ml: \"16px\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {\n style: {\n color: '#222'\n },\n children: t('common.preferences')\n })\n })]\n }, \"preference\"),\n value: 'preference'\n }];\n if (expandPref) {\n addComponentTabs(tabs, blocklet);\n }\n const onTabChange = x => {\n if (x === 'preference') {\n setExpandPref(!expandPref);\n } else {\n setCurrent(x);\n }\n };\n let content = null;\n if (current === 'general') {\n content = /*#__PURE__*/(0, _jsxRuntime.jsx)(_configuration.default, {\n blocklet: blocklet,\n onUpdate: onUpdate\n });\n } else if (current === 'access') {\n content = /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.default, {});\n } else {\n // eslint-disable-next-line no-nested-ternary\n const pathPrefix = inService ? _constant.WELLKNOWN_SERVICE_PATH_PREFIX : process.env.NODE_ENV === 'production' ? info.routing.adminPath : '';\n const searchParams = new URLSearchParams();\n if (!inService) {\n searchParams.set('authKey', '__sst');\n }\n searchParams.set('schemaKey', (0, _urlJoin.default)(window.location.origin, pathPrefix, \"/api/preferences?id=\".concat(encodeURIComponent(current))));\n content = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIframe.default, {\n url: \"\".concat((0, _urlJoin.default)(window.location.origin, pathPrefix, '/hosted/form-collector/'), \"?\").concat(searchParams.toString()),\n width: \"100%\",\n height: \"100%\",\n frameBorder: 0,\n styles: {\n border: 0\n }\n });\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(Div, _objectSpread(_objectSpread({}, rest), {}, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Grid, {\n container: true,\n spacing: 4,\n columns: 24,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Grid, {\n item: true,\n sm: 7,\n md: 5,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tabs.default, {\n tabs: tabs,\n current: current,\n orientation: \"vertical\",\n onChange: onTabChange,\n sx: {\n borderRight: 1,\n height: '100%',\n borderColor: 'divider'\n }\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Grid, {\n item: true,\n sm: 17,\n md: 19,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {\n style: {\n minHeight: '66vh',\n height: '100%',\n position: 'relative',\n overflow: 'hidden'\n },\n children: content\n })\n })]\n })\n }));\n}\nBlockletPreferences.propTypes = {\n blocklet: _propTypes.default.object.isRequired,\n onUpdate: _propTypes.default.func\n};\nBlockletPreferences.defaultProps = {\n onUpdate: () => {}\n};\nconst Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .MuiTab-root {\\n text-align: left;\\n align-items: flex-start;\\n font-weight: normal;\\n }\\n .Mui-selected {\\n font-weight: bold;\\n }\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = WalletType;\nvar _react = require(\"react\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _TextField = _interopRequireDefault(require(\"@mui/material/TextField\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _MenuItem = _interopRequireDefault(require(\"@mui/material/MenuItem\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _confirm = _interopRequireDefault(require(\"../../confirm\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject, _templateObject2;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction WalletType(_ref) {\n let {\n value,\n onChange,\n disabled\n } = _ref;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const [confirmCustomType, setConfirmCustomType] = (0, _react.useState)(null);\n const WalletTypes = [{\n label: 'DID',\n value: 'default'\n }, {\n label: 'ETH',\n value: 'eth'\n }];\n const onWalletTypeChange = async e => {\n setConfirmCustomType({\n value: e.target.value\n });\n };\n const _onConfirm = async v => {\n try {\n await onChange(v);\n } finally {\n setConfirmCustomType(null);\n }\n };\n return [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n disabled: disabled,\n select: true,\n size: \"small\",\n value: value || 'default',\n onChange: onWalletTypeChange,\n children: WalletTypes.map(type => {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledMenuItem, {\n value: type.value,\n sx: {\n display: 'block'\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n children: type.label\n })\n })\n });\n })\n }), confirmCustomType && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {\n title: t('blocklet.config.walletTypeTitle'),\n description: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n dangerouslySetInnerHTML: {\n __html: t('blocklet.config.blockletTypeChangeTip', {\n value: WalletTypes.find(x => x.value === confirmCustomType.value).label\n })\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n fontWeight: \"bold\",\n mt: 2,\n children: t('blocklet.config.appDidChangeTip')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(UL, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"li\", {\n children: t('blocklet.config.appDidChangeTipL1')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"li\", {\n children: t('blocklet.config.appDidChangeTipL2')\n })]\n })]\n }),\n confirm: t('confirm'),\n cancel: t('cancel'),\n onConfirm: () => _onConfirm(confirmCustomType.value),\n onCancel: () => setConfirmCustomType(null)\n })];\n}\nWalletType.propTypes = {\n value: _propTypes.default.string,\n onChange: _propTypes.default.func,\n disabled: _propTypes.default.bool\n};\nWalletType.defaultProps = {\n value: 'default',\n onChange: () => {},\n disabled: false\n};\nconst StyledMenuItem = (0, _styled.default)(_MenuItem.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .tip {\\n font-size: 12px;\\n color: \", \";\\n }\\n\"])), props => props.theme.palette.text.secondary);\nconst UL = (0, _styled.default)('ul')(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n padding-left: 16px;\\n li {\\n margin-top: 8px;\\n list-style: disk;\\n font-weight: bold;\\n }\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CustomSelect = CustomSelect;\nexports.useStyles = exports.commonProps = void 0;\nvar _styles = require(\"@mui/styles\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _List = _interopRequireDefault(require(\"@mui/material/List\"));\nvar _ListItem = _interopRequireDefault(require(\"@mui/material/ListItem\"));\nvar _ListItemText = _interopRequireDefault(require(\"@mui/material/ListItemText\"));\nvar _ListItemIcon = _interopRequireDefault(require(\"@mui/material/ListItemIcon\"));\nvar _ShoppingCart = _interopRequireDefault(require(\"@mui/icons-material/ShoppingCart\"));\nvar _VerifiedUser = _interopRequireDefault(require(\"@mui/icons-material/VerifiedUser\"));\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _Colors = _interopRequireDefault(require(\"@arcblock/ux/lib/Colors\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst commonProps = {\n meta: _propTypes.default.object.isRequired,\n onCancel: _propTypes.default.func.isRequired\n};\nexports.commonProps = commonProps;\nconst useStyles = (0, _styles.makeStyles)(() => ({\n dialogAuth: {\n padding: '0 0 24px !important',\n '& .auth-title': {\n textAlign: 'center !important',\n marginBottom: '4px !important'\n },\n '& .auth-tip--scan': {\n textAlign: 'center !important'\n }\n },\n iconRoot: {\n minWidth: 48\n }\n}));\nexports.useStyles = useStyles;\nfunction CustomSelect(_ref) {\n let {\n action,\n onSelect,\n onNext\n } = _ref;\n const classes = useStyles();\n const {\n t\n } = (0, _context.useLocaleContext)();\n const options = [{\n action: 'purchase',\n title: t('store.purchase.purchase.title'),\n description: t('store.purchase.purchase.description')\n }, {\n action: 'verify',\n title: t('store.purchase.verify.title'),\n description: t('store.purchase.verify.description')\n }];\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_List.default, {\n className: classes.tabPanel,\n children: options.map(x => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ListItem.default, {\n button: true,\n selected: action === x.action,\n onClick: () => onSelect(x.action),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemIcon.default, {\n className: classes.iconRoot,\n children: x.action === 'purchase' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ShoppingCart.default, {\n style: {\n color: action === 'purchase' ? _Colors.default.primary.main : '#AAA',\n fontSize: 32\n }\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_VerifiedUser.default, {\n style: {\n color: action === 'verify' ? _Colors.default.primary.main : '#AAA',\n fontSize: 32\n }\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemText.default, {\n primary: x.title,\n secondary: x.description\n })]\n }, x.action))\n }), onNext && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n fullWidth: true,\n disabled: !action,\n variant: \"contained\",\n color: \"primary\",\n style: {\n marginTop: 16\n },\n onClick: onNext,\n children: t('common.next')\n })]\n });\n}\nCustomSelect.propTypes = {\n action: _propTypes.default.oneOf(['both', 'purchase', 'verify']).isRequired,\n onSelect: _propTypes.default.func.isRequired,\n onNext: _propTypes.default.func.isRequired\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ComponentPurchase = ComponentPurchase;\nexports.default = void 0;\nvar _react = require(\"react\");\nvar _urlJoin = _interopRequireDefault(require(\"url-join\"));\nvar _util = require(\"@blocklet/meta/lib/util\");\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Connect = _interopRequireDefault(require(\"@arcblock/did-connect/lib/Connect\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _pWaitFor = _interopRequireDefault(require(\"p-wait-for\"));\nvar _toast = _interopRequireDefault(require(\"../../toast\"));\nvar _node = require(\"../../contexts/node\");\nvar _util2 = require(\"../../util\");\nvar _api = require(\"../../util/api\");\nvar _common = require(\"./common\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nconst _excluded = [\"mode\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction ComponentPurchase(_ref) {\n let {\n meta,\n onCancel,\n mode,\n handlePaySuccess\n } = _ref;\n const {\n t,\n locale\n } = (0, _context.useLocaleContext)();\n const {\n info\n } = (0, _node.useNodeContext)();\n const webWalletUrl = (0, _util2.getWebWalletUrl)(info);\n const [nw, setNw] = (0, _react.useState)(null);\n const baseUrl = new URL(meta === null || meta === void 0 ? void 0 : meta.registryUrl).origin;\n const name = (0, _util.getDisplayName)({\n meta\n });\n const handleConnectSuccess = async (result, decrypt) => {\n const success = async _ref2 => {\n let {\n downloadTokenList\n } = _ref2;\n handlePaySuccess({\n downloadTokenList\n });\n };\n const failure = async errorMessage => {\n _toast.default.error(errorMessage);\n onCancel(errorMessage);\n };\n async function handleConnectSessionStatus(url) {\n return (0, _pWaitFor.default)(() => {\n return _api.api.get(url).then(async _ref3 => {\n let {\n data\n } = _ref3;\n const downloadTokenList = data === null || data === void 0 ? void 0 : data.downloadTokenList;\n if (data.status === 'succeed') {\n if (downloadTokenList && downloadTokenList.length) {\n await success({\n downloadTokenList\n });\n } else {\n await failure(t('blocklet.component.missDownloadTokenTip'));\n return true;\n }\n return true;\n }\n if (data.status === 'error') {\n console.error('vc error: ', data);\n await failure(data === null || data === void 0 ? void 0 : data.error);\n return true;\n }\n return false;\n });\n }, {\n interval: 1000\n });\n }\n if (mode === 'purchase' && nw) {\n const {\n statusUrl\n } = (0, _util2.extractStatusUrlFromNextWorkflow)(nw);\n // poll status url, to get download token\n await handleConnectSessionStatus(statusUrl);\n } else {\n await success({\n downloadTokenList: result.downloadTokenList && decrypt(result.downloadTokenList)\n });\n }\n };\n (0, _react.useEffect)(() => {\n // only purchase mode has nw\n if (mode === 'purchase') {\n const nextWorkflowUrl = new URL(baseUrl);\n nextWorkflowUrl.pathname = '/api/did/verify-purchase-blocklet/token';\n nextWorkflowUrl.searchParams.set('serverDid', info.did);\n nextWorkflowUrl.searchParams.set('blockletDid', meta === null || meta === void 0 ? void 0 : meta.did);\n try {\n _api.api.get(nextWorkflowUrl.href).then(_ref4 => {\n let {\n data\n } = _ref4;\n const url = \"\".concat(data.url);\n setNw(url);\n });\n } catch (error) {\n console.error('get next workflow url error: ', error);\n }\n }\n return () => {\n setNw(null);\n };\n }, [mode]); // eslint-disable-line\n\n // If nw does not exist, then connect should not be render\n if (mode === 'purchase' && !nw) {\n return '';\n }\n const modePropsMap = {\n verify: {\n action: 'verify-purchase-blocklet',\n checkFn: _api.axios.create({\n baseURL: baseUrl\n }).get,\n extraParams: {\n serverDid: info.did,\n blockletDid: meta === null || meta === void 0 ? void 0 : meta.did\n },\n messages: {\n title: t('store.purchase.verify.auth.title', {\n name\n }),\n scan: t('store.purchase.verify.auth.scan'),\n confirm: t('store.purchase.verify.auth.confirm'),\n success: t('store.purchase.verify.auth.success')\n }\n },\n purchase: {\n action: 'acquire-asset',\n checkFn: _api.axios.create({\n baseURL: (0, _urlJoin.default)(baseUrl, '/store')\n }).get,\n extraParams: {\n factory: meta.nftFactory,\n nw\n },\n messages: {\n title: t('store.purchase.auth.title', {\n name\n }),\n scan: t('store.purchase.auth.scan'),\n confirm: t('store.purchase.auth.confirm'),\n success: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"p\", {\n children: t('store.purchase.auth.success')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"p\", {\n children: t('blocklet.component.purchaseComponentSecondCheckTip')\n })]\n })\n }\n }\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Connect.default, _objectSpread({\n open: true,\n locale: locale,\n popup: false,\n saveConnect: false,\n className: \"connect\",\n baseUrl: baseUrl,\n onSuccess: handleConnectSuccess,\n cancelWhenScanned: onCancel,\n onClose: onCancel,\n checkTimeout: 60 * 5000,\n webWalletUrl: webWalletUrl,\n disableClose: true,\n showDownload: false\n }, modePropsMap[mode]));\n}\nComponentPurchase.propTypes = _objectSpread(_objectSpread({}, _common.commonProps), {}, {\n handlePaySuccess: _propTypes.default.func,\n mode: _propTypes.default.oneOf(['verify', 'purchase']).isRequired\n});\nComponentPurchase.defaultProps = {\n handlePaySuccess: () => {}\n};\nconst ComponentPurchaseSelect = /*#__PURE__*/(0, _react.forwardRef)((_ref5, ref) => {\n let {\n mode\n } = _ref5,\n rest = _objectWithoutProperties(_ref5, _excluded);\n const [action, setAction] = (0, _react.useState)(mode !== 'both' ? mode : 'verify');\n const [step, setStep] = (0, _react.useState)(mode !== 'both' ? 2 : 1);\n const onSelect = async act => {\n if (act === action) {\n return;\n }\n setAction(act);\n };\n const onNext = async () => {\n if (!action) {\n return;\n }\n if (step === 2) {\n return;\n }\n setStep(2);\n };\n\n // expose the func and activeStep\n (0, _react.useImperativeHandle)(ref, () => ({\n onNext,\n getCurrentStep: () => {\n return step;\n }\n }));\n if (step === 1) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n style: {\n maxWidth: 520\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_common.CustomSelect, {\n action: action,\n onNext: null,\n onSelect: onSelect\n })\n });\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(ComponentPurchase, _objectSpread(_objectSpread({}, rest), {}, {\n mode: action\n }));\n});\nComponentPurchaseSelect.propTypes = {\n mode: _propTypes.default.oneOf(['both', 'verify', 'purchase']).isRequired,\n ref: _propTypes.default.any\n};\nComponentPurchaseSelect.defaultProps = {\n ref: {}\n};\nvar _default = ComponentPurchaseSelect;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"ComponentPurchaseSelect\", {\n enumerable: true,\n get: function get() {\n return _componentPurchase.default;\n }\n});\nvar _componentPurchase = _interopRequireDefault(require(\"./component-purchase\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = AddDomainAlias;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _CallMerge = _interopRequireDefault(require(\"@mui/icons-material/CallMerge\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _TextField = _interopRequireDefault(require(\"@mui/material/TextField\"));\nvar _MenuItem = _interopRequireDefault(require(\"@mui/material/MenuItem\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _toast = _interopRequireDefault(require(\"../../../toast\"));\nvar _confirm = _interopRequireDefault(require(\"../../../confirm\"));\nvar _util = require(\"../../../util\");\nvar _node = require(\"../../../contexts/node\");\nvar _util2 = require(\"../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction AddDomainAlias(_ref) {\n let {\n id,\n children,\n title,\n teamDid\n } = _ref;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const {\n api\n } = (0, _node.useNodeContext)();\n const [loading, setLoading] = (0, _react.useState)(false);\n const [confirmSetting, setConfirmSetting] = (0, _react.useState)(null);\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n const onConfirm = async params => {\n setLoading(true);\n try {\n await api.addDomainAlias({\n input: {\n id,\n domainAlias: params.domain.trim(),\n teamDid\n }\n });\n await (0, _util.sleep)(2000);\n } catch (err) {\n _toast.default.error(err.message);\n } finally {\n setConfirmSetting(null);\n setLoading(false);\n }\n };\n const onEnter = async (params, confirm, setError) => {\n try {\n await confirm(params);\n } catch (err) {\n setError((0, _util.formatError)(err));\n } finally {\n setLoading(false);\n }\n };\n const setting = {\n title: title || t('router.domainAlias.add.title'),\n // eslint-disable-next-line react/no-unstable-nested-components\n description: (params, setParams, setError) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n component: \"div\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n label: t('router.domainAlias.add.domainDescription'),\n autoComplete: \"off\",\n variant: \"outlined\",\n name: \"domain\",\n \"data-cy\": \"add-domain\",\n fullWidth: true,\n autoFocus: true,\n inputProps: {\n 'data-cy': 'domain-name-input'\n },\n value: params.domain,\n style: {\n marginBottom: 8\n },\n margin: \"dense\",\n onChange: e => {\n const domain = e.target.value.trim();\n const errMsg = (0, _util2.validateDomain)(domain, t);\n setParams(_objectSpread(_objectSpread({}, params), {}, {\n domain,\n __disableConfirm: !!errMsg\n }));\n if (errMsg) {\n setError(errMsg);\n } else {\n setError('');\n }\n },\n onKeyPress: e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n const domain = e.target.value.trim();\n const errMsg = (0, _util2.validateDomain)(domain, t);\n if (errMsg) {\n setError(errMsg);\n } else {\n onEnter(params, onConfirm, setError);\n }\n }\n }\n })\n }),\n confirm: t('common.confirm'),\n cancel: t('common.cancel'),\n params: {\n domain: '',\n __disableConfirm: true\n },\n onConfirm,\n onCancel\n };\n const onMenuItemClick = e => {\n e.stopPropagation();\n // eslint-disable-next-line no-unused-expressions\n setConfirmSetting(setting);\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [typeof children === 'function' ? children({\n loading,\n open: onMenuItemClick\n }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_MenuItem.default, {\n onClick: onMenuItemClick,\n className: \"rule-action\",\n \"data-cy\": \"action-add-domain-alias\",\n children: [loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_CallMerge.default, {\n style: {\n fontSize: 18,\n marginRight: 5\n }\n }), t('router.domainAlias.add.title')]\n }), confirmSetting && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {\n title: confirmSetting.title,\n description: confirmSetting.description,\n confirm: confirmSetting.confirm,\n cancel: confirmSetting.cancel,\n params: confirmSetting.params,\n onConfirm: confirmSetting.onConfirm,\n onCancel: confirmSetting.onCancel,\n color: \"primary\"\n })]\n });\n}\nAddDomainAlias.propTypes = {\n id: _propTypes.default.string.isRequired,\n children: _propTypes.default.any,\n title: _propTypes.default.string,\n teamDid: _propTypes.default.string\n};\nAddDomainAlias.defaultProps = {\n children: null,\n title: '',\n teamDid: ''\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = AddRule;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Link = _interopRequireDefault(require(\"@mui/icons-material/Link\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _TextField = _interopRequireDefault(require(\"@mui/material/TextField\"));\nvar _MenuItem = _interopRequireDefault(require(\"@mui/material/MenuItem\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _constant = require(\"@abtnode/constant\");\nvar _urlFriendly = _interopRequireDefault(require(\"@blocklet/meta/lib/url-friendly\"));\nvar _node = require(\"../../../contexts/node\");\nvar _blocklet = require(\"../../../contexts/blocklet\");\nvar _confirm = _interopRequireDefault(require(\"../../../confirm\"));\nvar _toast = _interopRequireDefault(require(\"../../../toast\"));\nvar _util = require(\"../util\");\nvar _configRoutingRule = _interopRequireDefault(require(\"./config-routing-rule\"));\nvar _util2 = require(\"../../../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction AddRule(_ref) {\n let {\n children\n } = _ref;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const {\n api\n } = (0, _node.useNodeContext)();\n const {\n blocklet\n } = (0, _blocklet.useBlockletContext)();\n const [loading, setLoading] = (0, _react.useState)(false);\n const [confirmSetting, setConfirmSetting] = (0, _react.useState)(null);\n const teamDid = blocklet.meta.did;\n const siteId = blocklet.site.id;\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n const onConfirm = async params => {\n try {\n const err = await (0, _util.validateRule)(params, t);\n if (err) {\n throw err;\n }\n setLoading(true);\n const rule = {\n from: {\n pathPrefix: (0, _urlFriendly.default)(params.pathPrefix)\n },\n to: {\n type: params.type\n }\n };\n if (params.type === _constant.ROUTING_RULE_TYPES.REDIRECT) {\n rule.to.url = params.url.trim();\n rule.to.redirectCode = params.redirectCode;\n }\n await api.addRoutingRule({\n input: {\n id: siteId,\n rule,\n teamDid\n }\n });\n } catch (error) {\n _toast.default.error(error.message);\n } finally {\n setLoading(false);\n setConfirmSetting(null);\n }\n };\n const setting = {\n title: t('router.rule.add.title'),\n // eslint-disable-next-line react/no-unstable-nested-components\n description: (params, setParams, setError) => {\n const setValue = value => {\n setError(null);\n const validateResult = (0, _util.validateRule)(value, t);\n if (validateResult) {\n setParams(_objectSpread(_objectSpread({}, value), {}, {\n __disableConfirm: true\n }));\n return;\n }\n setParams(_objectSpread({}, value));\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {\n component: \"div\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n label: t('router.rule.add.pathPrefix'),\n autoComplete: \"off\",\n variant: \"outlined\",\n name: \"pathPrefix\",\n \"data-cy\": \"path-prefix-input\",\n fullWidth: true,\n autoFocus: true,\n helperText: params.helperText || t('router.rule.add.pathPrefixTip'),\n style: {\n marginBottom: 32\n },\n margin: \"dense\",\n value: params.pathPrefix,\n onChange: e => {\n let disable = false;\n const validateResult = (0, _util.validatePathPrefix)({\n params: _objectSpread(_objectSpread({}, params), {}, {\n pathPrefix: e.target.value\n }),\n blocklets: [blocklet]\n });\n setError(validateResult);\n if (params.type === _constant.ROUTING_RULE_TYPES.BLOCKLET && validateResult) {\n disable = true;\n }\n if (params.type === _constant.ROUTING_RULE_TYPES.REDIRECT && !params.url) {\n disable = true;\n }\n if (!e.target.value.trim()) {\n disable = true;\n setError(t('router.validation.pathPrefixRequired'));\n }\n if (!disable) {\n setError('');\n }\n const helperText = t('common.slugifyHint', {\n value: (0, _util2.formatMountPoint)(e.target.value)\n });\n setParams(_objectSpread(_objectSpread({}, params), {}, {\n pathPrefix: e.target.value,\n helperText,\n __disableConfirm: disable\n }));\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_configRoutingRule.default, {\n params: params,\n setParams: setValue,\n setError: setError\n })]\n });\n },\n confirm: t('router.rule.add.confirm'),\n cancel: t('common.cancel'),\n params: {\n pathPrefix: '',\n type: _constant.ROUTING_RULE_TYPES.REDIRECT,\n interfaceName: '',\n redirectCode: 302,\n __disableConfirm: true\n },\n onConfirm,\n onCancel\n };\n const onMenuItemClick = e => {\n e.stopPropagation();\n // eslint-disable-next-line no-unused-expressions\n setConfirmSetting(setting);\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [typeof children === 'function' ? children({\n loading,\n open: onMenuItemClick\n }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_MenuItem.default, {\n onClick: onMenuItemClick,\n className: \"rule-action\",\n \"data-cy\": \"action-add-rule\",\n children: [loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Link.default, {\n style: {\n fontSize: 18,\n marginRight: 5\n }\n }), t('router.rule.add.title')]\n }), confirmSetting && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {\n title: confirmSetting.title,\n description: confirmSetting.description,\n confirm: confirmSetting.confirm,\n cancel: confirmSetting.cancel,\n params: confirmSetting.params,\n onConfirm: confirmSetting.onConfirm,\n onCancel: confirmSetting.onCancel,\n color: \"primary\"\n })]\n });\n}\nAddRule.propTypes = {\n children: _propTypes.default.any\n};\nAddRule.defaultProps = {\n children: null\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ConfigRoutingRule;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _TextField = _interopRequireDefault(require(\"@mui/material/TextField\"));\nvar _MenuItem = _interopRequireDefault(require(\"@mui/material/MenuItem\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _constant = require(\"@abtnode/constant\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction ConfigRoutingRule(_ref) {\n let {\n params,\n setParams,\n setError,\n serviceTypes\n } = _ref;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const redirectCodesMap = {\n 301: t('common.redirectPermanently'),\n 302: t('common.redirectTemporary'),\n 307: t('common.redirectTemporary'),\n 308: t('common.redirectPermanently')\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n select: true,\n label: t('router.domain.add.type'),\n autoComplete: \"off\",\n variant: \"outlined\",\n name: \"type\",\n \"data-cy\": \"domain-add-type\",\n fullWidth: true,\n value: params.type,\n onChange: e => {\n setError('');\n setParams(_objectSpread(_objectSpread({}, params), {}, {\n type: e.target.value,\n __disableConfirm: false\n }));\n },\n style: {\n marginBottom: 32\n },\n SelectProps: {},\n children: serviceTypes.map(_ref2 => {\n let {\n name,\n value\n } = _ref2;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {\n value: value,\n children: name\n }, value);\n })\n }), params.type === _constant.ROUTING_RULE_TYPES.REDIRECT && [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n select: true,\n label: t('router.domain.add.redirect'),\n autoComplete: \"off\",\n variant: \"outlined\",\n name: \"type\",\n fullWidth: true,\n value: params.redirectCode,\n onChange: e => setParams(_objectSpread(_objectSpread({}, params), {}, {\n redirectCode: e.target.value\n })),\n style: {\n marginBottom: 32\n },\n SelectProps: {},\n children: Object.keys(redirectCodesMap).map(code => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {\n value: code,\n children: \"\".concat(redirectCodesMap[code], \" - \").concat(code)\n }, code))\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n label: t('common.redirectUrl'),\n autoComplete: \"off\",\n variant: \"outlined\",\n name: \"url\",\n \"data-cy\": \"redirect-url-input\",\n fullWidth: true,\n autoFocus: true,\n value: params.url,\n helperText: t('router.urlHelperText'),\n style: {\n marginBottom: 32\n },\n onChange: e => {\n setParams(_objectSpread(_objectSpread({}, params), {}, {\n url: e.target.value,\n __disableConfirm: !e.target.value.trim()\n }));\n if (!e.target.value.trim()) {\n setError(t('router.validation.redirectUrlRequired'));\n } else {\n setError('');\n }\n }\n })]]\n });\n}\nConfigRoutingRule.propTypes = {\n params: _propTypes.default.object,\n serviceTypes: _propTypes.default.array,\n setParams: _propTypes.default.func,\n setError: _propTypes.default.func\n};\nConfigRoutingRule.defaultProps = {\n params: {},\n serviceTypes: [{\n name: 'Redirect',\n value: _constant.ROUTING_RULE_TYPES.REDIRECT\n }, {\n name: 'Default - User will see the 404 page',\n value: _constant.ROUTING_RULE_TYPES.NONE\n }],\n setParams: () => {},\n setError: () => {}\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = DeleteDomainAlias;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Delete = _interopRequireDefault(require(\"@mui/icons-material/Delete\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _confirm = _interopRequireDefault(require(\"../../../confirm\"));\nvar _toast = _interopRequireDefault(require(\"../../../toast\"));\nvar _node = require(\"../../../contexts/node\");\nvar _util = require(\"../../../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction DeleteDomainAlias(props) {\n const {\n t\n } = (0, _context.useLocaleContext)();\n const [loading, setLoading] = (0, _react.useState)(false);\n const [confirmSetting, setConfirmSetting] = (0, _react.useState)(null);\n const {\n id,\n domain,\n children,\n teamDid\n } = props;\n const {\n api\n } = (0, _node.useNodeContext)();\n if (domain === window.location.hostname) {\n return '';\n }\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n const onConfirm = async () => {\n setLoading(true);\n try {\n await api.deleteDomainAlias({\n input: {\n id,\n domainAlias: domain,\n teamDid\n }\n });\n await (0, _util.sleep)(2000);\n } catch (err) {\n _toast.default.error(err.message);\n } finally {\n setConfirmSetting(null);\n setLoading(false);\n }\n };\n const setting = {\n title: t('router.domainAlias.delete.title'),\n description: t('router.domainAlias.delete.description'),\n confirm: t('common.confirm'),\n onConfirm,\n onCancel\n };\n const onClick = e => {\n e.stopPropagation();\n setConfirmSetting(setting);\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [typeof children === 'function' ? children({\n loading,\n open: onClick\n }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n edge: \"end\",\n onClick: onClick,\n size: \"small\",\n className: \"rule-action\",\n color: \"error\",\n \"data-cy\": \"action-delete-domain-alias\",\n children: [loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Delete.default, {\n style: {\n fontSize: 16\n }\n }), t('router.domainAlias.delete.title')]\n }), confirmSetting && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {\n title: confirmSetting.title,\n description: confirmSetting.description,\n confirm: confirmSetting.confirm,\n params: confirmSetting.params,\n onConfirm: confirmSetting.onConfirm,\n onCancel: confirmSetting.onCancel\n })]\n });\n}\nDeleteDomainAlias.propTypes = {\n id: _propTypes.default.string.isRequired,\n domain: _propTypes.default.string.isRequired,\n children: _propTypes.default.any,\n teamDid: _propTypes.default.string\n};\nDeleteDomainAlias.defaultProps = {\n children: null,\n teamDid: ''\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = DeleteRule;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Delete = _interopRequireDefault(require(\"@mui/icons-material/Delete\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _MenuItem = _interopRequireDefault(require(\"@mui/material/MenuItem\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _node = require(\"../../../contexts/node\");\nvar _blocklet = require(\"../../../contexts/blocklet\");\nvar _deleteConfirm = _interopRequireDefault(require(\"../../../delete-confirm\"));\nvar _toast = _interopRequireDefault(require(\"../../../toast\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction DeleteRule(_ref) {\n let {\n id: ruleId,\n from,\n children\n } = _ref;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const {\n api\n } = (0, _node.useNodeContext)();\n const {\n blocklet\n } = (0, _blocklet.useBlockletContext)();\n const [loading, setLoading] = (0, _react.useState)(false);\n const [confirmSetting, setConfirmSetting] = (0, _react.useState)(null);\n const teamDid = blocklet.meta.did;\n const siteId = blocklet.site.id;\n const name = from.pathPrefix;\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n const onConfirm = async () => {\n setLoading(true);\n try {\n await api.deleteRoutingRule({\n input: {\n id: siteId,\n ruleId,\n teamDid\n }\n });\n } catch (error) {\n _toast.default.error(error.message);\n } finally {\n setConfirmSetting(null);\n setLoading(false);\n }\n };\n const setting = {\n keyName: name,\n title: t('router.rule.delete.title'),\n description: t('router.rule.delete.description', {\n name: \"<b>\".concat(name, \"</b>\")\n }),\n confirmPlaceholder: t('router.rule.delete.confirm_desc', {\n name\n }),\n confirm: t('common.delConfirm'),\n cancel: t('router.rule.delete.cancel'),\n onConfirm,\n onCancel\n };\n const onMenuItemClick = e => {\n e.stopPropagation();\n setConfirmSetting(setting);\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [typeof children === 'function' ? children({\n loading,\n open: onMenuItemClick\n }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_MenuItem.default, {\n onClick: onMenuItemClick,\n className: \"rule-action\",\n \"data-cy\": \"action-delete-rule\",\n children: [loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Delete.default, {\n style: {\n fontSize: 18,\n marginRight: 5\n }\n }), t('router.rule.delete.title')]\n }), confirmSetting && /*#__PURE__*/(0, _jsxRuntime.jsx)(_deleteConfirm.default, {\n keyName: confirmSetting.keyName,\n title: confirmSetting.title,\n description: confirmSetting.description,\n confirmPlaceholder: confirmSetting.confirmPlaceholder,\n confirm: confirmSetting.confirm,\n cancel: confirmSetting.cancel,\n params: confirmSetting.params,\n onConfirm: confirmSetting.onConfirm,\n onCancel: confirmSetting.onCancel\n })]\n });\n}\nDeleteRule.propTypes = {\n id: _propTypes.default.string.isRequired,\n from: _propTypes.default.object.isRequired,\n children: _propTypes.default.any\n};\nDeleteRule.defaultProps = {\n children: null\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = UpdateRule;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Edit = _interopRequireDefault(require(\"@mui/icons-material/Edit\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _TextField = _interopRequireDefault(require(\"@mui/material/TextField\"));\nvar _MenuItem = _interopRequireDefault(require(\"@mui/material/MenuItem\"));\nvar _constant = require(\"@abtnode/constant\");\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _urlFriendly = _interopRequireDefault(require(\"@blocklet/meta/lib/url-friendly\"));\nvar _node = require(\"../../../contexts/node\");\nvar _blocklet = require(\"../../../contexts/blocklet\");\nvar _confirm = _interopRequireDefault(require(\"../../../confirm\"));\nvar _toast = _interopRequireDefault(require(\"../../../toast\"));\nvar _util = require(\"../util\");\nvar _configRoutingRule = _interopRequireDefault(require(\"./config-routing-rule\"));\nvar _util2 = require(\"../../../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction UpdateRule(_ref) {\n let {\n id: ruleId,\n from,\n to,\n children\n } = _ref;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const {\n api\n } = (0, _node.useNodeContext)();\n const {\n blocklet\n } = (0, _blocklet.useBlockletContext)();\n const [loading, setLoading] = (0, _react.useState)(false);\n const [confirmSetting, setConfirmSetting] = (0, _react.useState)(null);\n const teamDid = blocklet.meta.did;\n const siteId = blocklet.site.id;\n const name = from.pathPrefix;\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n const onConfirm = async params => {\n try {\n const err = await (0, _util.validateRule)(params, t);\n if (err) {\n throw err;\n }\n setLoading(true);\n const rule = {\n id: ruleId,\n from: {\n pathPrefix: (0, _urlFriendly.default)(params.pathPrefix)\n },\n to: {\n type: params.type\n }\n };\n if (params.type === _constant.ROUTING_RULE_TYPES.REDIRECT) {\n rule.to.url = params.url;\n rule.to.redirectCode = params.redirectCode;\n }\n await api.updateRoutingRule({\n input: {\n id: siteId,\n rule,\n teamDid\n }\n });\n } catch (error) {\n _toast.default.error(error.message);\n } finally {\n setLoading(false);\n setConfirmSetting(null);\n }\n };\n const setting = {\n title: t('router.rule.update.title'),\n // eslint-disable-next-line react/no-unstable-nested-components\n description: (params, setParams, setError) => {\n const setValue = value => {\n const validateResult = (0, _util.validateRule)(value, t);\n if (validateResult) {\n setParams(_objectSpread(_objectSpread({}, value), {}, {\n __disableConfirm: true\n }));\n return;\n }\n setParams(_objectSpread({}, value));\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {\n component: \"div\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n label: t('router.rule.add.pathPrefix'),\n autoComplete: \"off\",\n variant: \"outlined\",\n name: \"pathPrefix\",\n \"data-cy\": \"path-prefix-input\",\n fullWidth: true,\n autoFocus: true,\n helperText: params.helperText || t('router.rule.add.pathPrefixTip'),\n style: {\n marginBottom: 32\n },\n margin: \"dense\",\n value: params.pathPrefix,\n onChange: e => {\n let disable = false;\n if (params.type === _constant.ROUTING_RULE_TYPES.REDIRECT && !params.url) {\n disable = true;\n }\n if (!e.target.value.trim()) {\n disable = true;\n setError(t('router.validation.pathPrefixRequired'));\n }\n if (!disable) {\n setError('');\n }\n const helperText = t('common.slugifyHint', {\n value: (0, _util2.formatMountPoint)(e.target.value)\n });\n setParams(_objectSpread(_objectSpread({}, params), {}, {\n pathPrefix: e.target.value,\n helperText,\n __disableConfirm: disable\n }));\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_configRoutingRule.default, {\n params: params,\n setParams: setValue,\n setError: setError\n })]\n });\n },\n confirm: t('router.rule.update.confirm'),\n cancel: t('router.rule.update.cancel'),\n color: 'primary',\n params: {\n pathPrefix: name === '/' ? name : name.replace(/^\\/+/, '').replace(/\\/+$/, ''),\n type: to.type || _constant.ROUTING_RULE_TYPES.BLOCKLET,\n interfaceName: to.interfaceName || '',\n redirectCode: to.redirectCode || 302,\n url: to.url || '',\n __disableConfirm: false\n },\n onConfirm,\n onCancel\n };\n const onMenuItemClick = e => {\n e.stopPropagation();\n // eslint-disable-next-line no-unused-expressions\n setConfirmSetting(setting);\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [typeof children === 'function' ? children({\n loading,\n open: onMenuItemClick\n }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_MenuItem.default, {\n onClick: onMenuItemClick,\n className: \"rule-action\",\n \"data-cy\": \"action-update-rule\",\n children: [loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Edit.default, {\n style: {\n fontSize: 18,\n marginRight: 5\n }\n }), t('router.rule.update.title')]\n }), confirmSetting && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {\n title: confirmSetting.title,\n description: confirmSetting.description,\n confirm: confirmSetting.confirm,\n color: confirmSetting.color,\n cancel: confirmSetting.cancel,\n params: confirmSetting.params,\n onConfirm: confirmSetting.onConfirm,\n onCancel: confirmSetting.onCancel\n })]\n });\n}\nUpdateRule.propTypes = {\n id: _propTypes.default.string.isRequired,\n from: _propTypes.default.object.isRequired,\n to: _propTypes.default.object.isRequired,\n children: _propTypes.default.any\n};\nUpdateRule.defaultProps = {\n children: null\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = DomainActions;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _MenuItem = _interopRequireDefault(require(\"@mui/material/MenuItem\"));\nvar _ListItemIcon = _interopRequireDefault(require(\"@mui/material/ListItemIcon\"));\nvar _ListItemText = _interopRequireDefault(require(\"@mui/material/ListItemText\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Delete = _interopRequireDefault(require(\"@mui/icons-material/Delete\"));\nvar _actions = _interopRequireDefault(require(\"../../actions\"));\nvar _deleteDomainAlias = _interopRequireDefault(require(\"./action/delete-domain-alias\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction DomainActions(_ref) {\n let {\n site,\n domain,\n blocklet\n } = _ref;\n const {\n t\n } = (0, _context.useLocaleContext)();\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_actions.default, {\n \"data-cy\": \"domain-actions\",\n actions: [\n // eslint-disable-next-line react/no-unstable-nested-components\n _ref2 => {\n var _blocklet$meta;\n let {\n close\n } = _ref2;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_deleteDomainAlias.default, {\n id: site.id,\n domain: domain.value,\n teamDid: blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta = blocklet.meta) === null || _blocklet$meta === void 0 ? void 0 : _blocklet$meta.did,\n children: _ref3 => {\n let {\n open\n } = _ref3;\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_MenuItem.default, {\n disabled: domain.isProtected,\n dense: true,\n onClick: e => {\n close();\n open(e);\n },\n \"data-cy\": \"action-toggle-block\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemIcon.default, {\n style: {\n minWidth: 24,\n marginRight: 8\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Delete.default, {})\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemText.default, {\n primary: t('common.delete')\n })]\n }, \"remove\");\n }\n });\n }]\n });\n}\nDomainActions.propTypes = {\n site: _propTypes.default.object.isRequired,\n domain: _propTypes.default.object.isRequired,\n blocklet: _propTypes.default.object.isRequired\n};\nDomainActions.defaultProps = {};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = DomainStatus;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Https = _interopRequireDefault(require(\"@mui/icons-material/Https\"));\nvar _Tooltip = _interopRequireDefault(require(\"@mui/material/Tooltip\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _dot = _interopRequireDefault(require(\"../../dot\"));\nvar _types = require(\"../types\");\nvar _util = require(\"../../util\");\nvar _certificate = _interopRequireDefault(require(\"../../certificate\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction DomainStatus(_ref) {\n let {\n domain,\n filters\n } = _ref;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const {\n value: name,\n domainStatus\n } = domain;\n if (!(0, _util.shouldCheckDomainStatus)(name)) {\n return null;\n }\n let domainIcon = null;\n let httpsIcon = null;\n const {\n isHttps,\n matchedCert\n } = domainStatus;\n if (!(0, _util.checkIsWildcardDomain)(name)) {\n const {\n dns: {\n resolved,\n ip\n } = {}\n } = domainStatus;\n if (resolved || ip === '127.0.0.1') {\n domainIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: t('router.domain.verify.ok'),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_dot.default, {\n color: \"success\"\n })\n });\n } else {\n domainIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: t('router.domain.verify.notResolved'),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_dot.default, {\n color: \"error\"\n })\n });\n }\n }\n if (isHttps) {\n httpsIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_certificate.default, {\n certificate: matchedCert\n });\n } else {\n httpsIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: t('router.domain.https.bad'),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Https.default, {\n style: {\n color: '#D0021B',\n fontSize: 20,\n marginLeft: 8,\n cursor: 'pointer'\n }\n })\n });\n }\n const items = filters.map(x => {\n if (x === 'domain') {\n return domainIcon;\n }\n if (x === 'http') {\n return httpsIcon;\n }\n return null;\n });\n return /*#__PURE__*/(0, _react.createElement)(_react.Fragment, null, ...items);\n}\nDomainStatus.propTypes = {\n domain: _types.DomainType.isRequired,\n filters: _propTypes.default.array\n};\nDomainStatus.defaultProps = {\n filters: ['domain', 'http']\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = RuleActions;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Delete = _interopRequireDefault(require(\"@mui/icons-material/Delete\"));\nvar _Launch = _interopRequireDefault(require(\"@mui/icons-material/Launch\"));\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\nvar _SettingsOutlined = _interopRequireDefault(require(\"@mui/icons-material/SettingsOutlined\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _blocklet = require(\"../../contexts/blocklet\");\nvar _deleteRule = _interopRequireDefault(require(\"./action/delete-rule\"));\nvar _updateRule = _interopRequireDefault(require(\"./action/update-rule\"));\nvar _util = require(\"../../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction RuleActions(rule) {\n const {\n locale\n } = (0, _context.useLocaleContext)();\n const {\n blocklet,\n recommendedDomain: domain\n } = (0, _blocklet.useBlockletContext)();\n const href = (0, _util.getAccessUrl)(domain, rule.from.pathPrefix, (0, _util.getBlockletUrlParams)(blocklet, locale));\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"a\", {\n target: \"_blank\",\n href: href,\n rel: \"noopener noreferrer\",\n title: href,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Launch.default, {})\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_updateRule.default, _objectSpread(_objectSpread({}, rule), {}, {\n children: _ref => {\n let {\n open: o\n } = _ref;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n onClick: o,\n disabled: rule.isProtected,\n \"data-cy\": \"action-update-rule\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SettingsOutlined.default, {})\n });\n }\n })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_deleteRule.default, _objectSpread(_objectSpread({}, rule), {}, {\n children: _ref2 => {\n let {\n open\n } = _ref2;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n onClick: open,\n disabled: rule.isProtected,\n \"data-cy\": \"action-delete-rule\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Delete.default, {})\n });\n }\n }))]\n });\n}\nRuleActions.propTypes = {\n isProtected: _propTypes.default.bool\n};\nRuleActions.defaultProps = {\n isProtected: false\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = RuleListWithPermission;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _isUrl = _interopRequireDefault(require(\"is-url\"));\nvar _useTheme = _interopRequireDefault(require(\"@mui/material/styles/useTheme\"));\nvar _Tooltip = _interopRequireDefault(require(\"@mui/material/Tooltip\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _Link = _interopRequireDefault(require(\"@mui/material/Link\"));\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\nvar _Avatar = _interopRequireDefault(require(\"@mui/material/Avatar\"));\nvar _LockIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/LockIcon\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _constant = require(\"@abtnode/constant\");\nvar _util = require(\"../../util\");\nvar _blocklet = require(\"../../contexts/blocklet\");\nvar _node = require(\"../../contexts/node\");\nvar _permission = require(\"../../permission\");\nvar _line = _interopRequireDefault(require(\"../component/line\"));\nvar _ruleActions = _interopRequireDefault(require(\"./rule-actions\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction RedirectRule(_ref) {\n let {\n domain,\n isHttps,\n toUrl\n } = _ref;\n const scheme = isHttps ? 'https' : 'http';\n let tmpToUrl = toUrl;\n if (!(0, _isUrl.default)(tmpToUrl)) {\n tmpToUrl = \"\".concat(scheme, \"://\").concat(domain).concat(toUrl);\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Link.default, {\n href: tmpToUrl,\n target: \"_blank\",\n style: {\n fontSize: 14\n },\n underline: \"hover\",\n children: toUrl\n }, tmpToUrl);\n}\nRedirectRule.propTypes = {\n domain: _propTypes.default.string.isRequired,\n toUrl: _propTypes.default.string.isRequired,\n isHttps: _propTypes.default.bool\n};\nRedirectRule.defaultProps = {\n isHttps: false\n};\nfunction RuleList(_ref2) {\n let {\n hasPermission\n } = _ref2;\n const {\n t,\n locale\n } = (0, _context.useLocaleContext)();\n const theme = (0, _useTheme.default)();\n const {\n blocklet,\n recommendedDomain: domain\n } = (0, _blocklet.useBlockletContext)();\n const rules = blocklet.site.rules.filter(rule => rule.to.did !== blocklet.meta.did).filter(rule => rule.to.type !== _constant.ROUTING_RULE_TYPES.BLOCKLET);\n return rules.map(rule => {\n let avatarName = '';\n if (rule.to.type === _constant.ROUTING_RULE_TYPES.NONE) {\n avatarName = '404';\n } else if (rule.to.type === _constant.ROUTING_RULE_TYPES.REDIRECT) {\n avatarName = rule.to.redirectCode;\n }\n const action = rule.isProtected ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: t('blocklet.router.urlLockTooltip'),\n placement: \"top\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n disabled: true,\n size: \"large\",\n style: {\n pointerEvents: 'auto',\n // padding replace to margin, fix the tooltip position\n paddingTop: 0,\n paddingBottom: 0,\n margin: '12px 0'\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LockIcon.default, {\n style: {\n fill: theme.palette.text.disabled\n }\n })\n })\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ruleActions.default, _objectSpread({}, rule));\n return [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n py: 2,\n className: \"component-item\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n width: {\n xs: 300,\n md: 400\n },\n display: \"flex\",\n alignItems: \"center\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n width: 28\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, {\n children: avatarName\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n ml: \"16px\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n style: {\n color: '#222',\n fontSize: 18\n },\n children: [rule.to.type === _constant.ROUTING_RULE_TYPES.NONE && t('common.page404'), rule.to.type === _constant.ROUTING_RULE_TYPES.REDIRECT && t('common.redirect')]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n children: rule.to.type === _constant.ROUTING_RULE_TYPES.REDIRECT && /*#__PURE__*/(0, _jsxRuntime.jsx)(RedirectRule, {\n domain: domain,\n toUrl: rule.to.url\n })\n })]\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n px: 2,\n sx: {\n display: {\n xs: 'none',\n md: 'flex'\n }\n },\n alignItems: \"center\",\n flexGrow: \"1\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Link.default, {\n href: (0, _util.getAccessUrl)(domain, rule.from.pathPrefix, (0, _util.getBlockletUrlParams)(blocklet, locale)),\n target: \"_blank\",\n style: {\n fontSize: 18\n },\n underline: \"hover\",\n children: rule.from.pathPrefix\n })\n }, rule.from.pathPrefix), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n children: hasPermission && /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n style: {\n textAlign: 'right'\n },\n children: action\n })\n }, \"actions\")]\n }, \"group-not-gateway-box\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_line.default, {})];\n });\n}\nRuleList.propTypes = {\n hasPermission: _propTypes.default.bool\n};\nRuleList.defaultProps = {\n hasPermission: false\n};\nconst RuleListInDaemon = (0, _permission.withPermission)(RuleList, 'mutate_blocklets');\nconst RuleListInService = (0, _permission.withPermission)(RuleList, '', _util.BlockletAdminRoles);\nfunction RuleListWithPermission(props) {\n const {\n inService\n } = (0, _node.useNodeContext)();\n if (inService) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(RuleListInService, _objectSpread({}, props));\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(RuleListInDaemon, _objectSpread({}, props));\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.validateSite = exports.validateRule = exports.validatePathPrefix = exports.validateDomain = exports.isSpecialDomain = exports.getInitialBlockletDid = void 0;\nvar _constant = require(\"@abtnode/constant\");\nvar _isPathPrefixEqual = _interopRequireDefault(require(\"@abtnode/util/lib/is-path-prefix-equal\"));\nvar _constant2 = require(\"@blocklet/constant\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n/* eslint-disable import/prefer-default-export */\n\nconst validateRuleByServiceType = (params, localeContext) => {\n if (params.type === _constant.ROUTING_RULE_TYPES.REDIRECT) {\n if (!params.url) {\n return new Error(\"\".concat(localeContext('router.validation.redirectUrlRequired')));\n }\n if (!params.redirectCode) {\n return new Error(\"redirect \".concat(localeContext('router.validation.redirectCodeRequired')));\n }\n } else if (params.type === _constant.ROUTING_RULE_TYPES.BLOCKLET) {\n if (!params.did) {\n return new Error(localeContext('router.validation.didRequired'));\n }\n }\n return null;\n};\nconst validateDomain = (domain, localeContext) => {\n if (!domain) {\n return localeContext('router.domain.validate.emptyTip');\n }\n if (domain.endsWith(_constant.DEFAULT_IP_DOMAIN_SUFFIX)) {\n return localeContext('router.domain.validate.suffixTip', {\n suffix: _constant.DEFAULT_IP_DOMAIN_SUFFIX\n });\n }\n return null;\n};\n\n/**\n * form validator of add site(add domain)\n * @param {Object} params form params\n * @param {Function} localeContext error message\n */\nexports.validateDomain = validateDomain;\nconst validateSite = (params, localeContext) => {\n const validateResult = validateRuleByServiceType(params, localeContext);\n if (validateResult) {\n return validateResult;\n }\n const errMsg = validateDomain(params.domain, localeContext);\n if (errMsg) {\n return new Error(errMsg);\n }\n return null;\n};\n\n/**\n * form validator of add_rule and update_rule\n * @param {Object} params form params\n * @param {Function} localeContext error message\n */\nexports.validateSite = validateSite;\nconst validateRule = (params, localeContext) => {\n const validateResult = validateRuleByServiceType(params, localeContext);\n if (validateResult) {\n return validateResult;\n }\n if (!params.pathPrefix.length) {\n return new Error(localeContext('router.validation.pathPrefixCannotBeEmpty'));\n }\n if (params.pathPrefix.length > 150) {\n return new Error(localeContext('router.validation.pathPrefixTooLong', {\n length: 150\n }));\n }\n return null;\n};\nexports.validateRule = validateRule;\nconst validatePathPrefix = _ref => {\n let {\n params,\n blocklets,\n blocklet: curBlocklet,\n locale = 'en'\n } = _ref;\n // validate children\n if (curBlocklet) {\n let exist = (curBlocklet.children || []).find(x => (0, _isPathPrefixEqual.default)(x.mountPoint, params.pathPrefix));\n if (curBlocklet.meta.group !== 'gateway' && params.pathPrefix === '/') {\n exist = '/';\n }\n if (exist) {\n return {\n zh: \"\\u6302\\u8F7D\\u70B9 \".concat(params.pathPrefix, \" \\u5DF2\\u5B58\\u5728\\uFF0C\\u8BF7\\u4F7F\\u7528\\u5176\\u4ED6\\u6302\\u8F7D\\u70B9\"),\n en: \"The mount point \".concat(params.pathPrefix, \" already exist, please use another mount point\")\n }[locale];\n }\n }\n const blocklet = blocklets.find(item => item.meta.did === params.did);\n if (!blocklet) {\n return '';\n }\n const selected = blocklet.meta.interfaces.find(x => x.type === 'web');\n if (!selected) {\n return '';\n }\n if (selected.prefix !== _constant2.BLOCKLET_DYNAMIC_PATH_PREFIX && params.pathPrefix !== selected.prefix) {\n return {\n zh: \"\\u8BE5 blocklet \\u53EA\\u80FD\\u6302\\u8F7D\\u5728 \".concat(selected.prefix),\n en: \"This blocklet can only be mounted on \".concat(selected.prefix)\n }[locale];\n }\n return '';\n};\n\n/**\n * get initial blocklet did when add rule / update rule / add domain\n * @param {array} blocklets\n */\nexports.validatePathPrefix = validatePathPrefix;\nconst getInitialBlockletDid = blocklets => {\n if (blocklets.length === 0) {\n return '';\n }\n const {\n searchParams\n } = new URL(window.location.href);\n const fromDid = searchParams.get('fromDid');\n if (fromDid) {\n const blocklet = blocklets.find(x => x.meta.did === fromDid);\n if (blocklet) {\n return blocklet.meta.did;\n }\n }\n return blocklets[0].meta.did;\n};\nexports.getInitialBlockletDid = getInitialBlockletDid;\nconst isSpecialDomain = name => {\n const specialDomains = [_constant.DOMAIN_FOR_IP_SITE_REGEXP, _constant.DOMAIN_FOR_DEFAULT_SITE, _constant.DOMAIN_FOR_IP_SITE];\n if (typeof window !== 'undefined' && typeof window.location !== 'undefined') {\n specialDomains.push(window.location.hostname);\n }\n return specialDomains.includes(name);\n};\nexports.isSpecialDomain = isSpecialDomain;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = BlockletRuntimeInfo;\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _Grid = _interopRequireDefault(require(\"@mui/material/Grid\"));\nvar _cpu = _interopRequireDefault(require(\"../monitor/cpu\"));\nvar _memory = _interopRequireDefault(require(\"../monitor/memory\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nconst _excluded = [\"blocklet\", \"cpuHistory\", \"memoryHistory\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction BlockletRuntimeInfo(_ref) {\n let {\n blocklet,\n cpuHistory,\n memoryHistory\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n const runtimeInfo = blocklet.appRuntimeInfo || {};\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(Div, _objectSpread(_objectSpread({\n component: \"div\"\n }, rest), {}, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Grid.default, {\n className: \"page-metrics\",\n container: true,\n spacing: 5,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Grid.default, {\n item: true,\n lg: 4,\n md: 6,\n sm: 6,\n xs: 12,\n children: !!cpuHistory.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(_cpu.default, {\n currentLoad: runtimeInfo.cpuUsage || 0,\n history: cpuHistory,\n style: {\n height: 150\n },\n hideDescription: true\n })\n }, \"cpu\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Grid.default, {\n item: true,\n lg: 4,\n md: 6,\n sm: 6,\n xs: 12,\n children: !!memoryHistory.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(_memory.default, {\n used: runtimeInfo.memoryUsage || 0,\n history: memoryHistory,\n style: {\n height: 150\n },\n hideDescription: true\n })\n }, \"memory\")]\n })\n }));\n}\nBlockletRuntimeInfo.propTypes = {\n blocklet: _propTypes.default.object.isRequired,\n cpuHistory: _propTypes.default.arrayOf(_propTypes.default.shape({\n date: _propTypes.default.number,\n value: _propTypes.default.number\n })),\n memoryHistory: _propTypes.default.arrayOf(_propTypes.default.shape({\n date: _propTypes.default.number,\n value: _propTypes.default.number\n }))\n};\nBlockletRuntimeInfo.defaultProps = {\n cpuHistory: [],\n memoryHistory: []\n};\nconst Div = (0, _styled.default)(_Typography.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = BlockletStatus;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _Tooltip = _interopRequireDefault(require(\"@mui/material/Tooltip\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _dot = _interopRequireDefault(require(\"../dot\"));\nvar _tag = _interopRequireDefault(require(\"../tag\"));\nvar _util = require(\"../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nconst _excluded = [\"status\", \"variant\", \"source\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nconst colors = {\n yellow: '#FFCF71',\n grey: '#888888'\n};\nfunction BlockletStatus(_ref) {\n let {\n status,\n variant,\n source\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n const map = {\n added: 'primary',\n waiting: 'warning',\n downloading: 'warning',\n downloaded: 'primary',\n installing: 'warning',\n installed: 'primary',\n starting: 'warning',\n running: 'success',\n stopping: 'warning',\n stopped: 'reverse',\n error: 'error',\n upgrading: 'warning',\n restarting: 'warning',\n corrupted: 'error',\n deleting: 'warning'\n };\n const colorMap = {\n added: colors.grey,\n waiting: colors.yellow,\n downloading: colors.yellow,\n downloaded: colors.grey,\n installing: colors.yellow,\n installed: colors.grey,\n starting: colors.yellow,\n running: 'success',\n stopping: colors.yellow,\n stopped: colors.grey,\n error: 'error',\n upgrading: colors.yellow,\n restarting: colors.yellow,\n corrupted: 'error',\n deleting: colors.yellow\n };\n const inProgress = (0, _util.isInProgress)(status);\n const statusTxt = t(\"blocklet.status.\".concat(source === 'custom' && status === 'installed' ? 'created' : status));\n if (variant === 'dot') {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: t('blocklet.statusTip', {\n status: statusTxt\n }),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_dot.default, _objectSpread({\n color: colorMap[status]\n }, rest))\n });\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_tag.default, _objectSpread(_objectSpread({\n type: map[status]\n }, rest), {}, {\n children: [inProgress && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 12,\n color: \"inherit\",\n style: {\n marginRight: 5\n }\n }), statusTxt]\n }));\n}\nBlockletStatus.propTypes = {\n status: _propTypes.default.string.isRequired,\n variant: _propTypes.default.oneOf(['dot', 'tag']),\n source: _propTypes.default.string\n};\nBlockletStatus.defaultProps = {\n variant: 'tag',\n source: ''\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Storage;\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _Connect = _interopRequireDefault(require(\"@arcblock/did-connect/lib/Connect\"));\nvar _react = require(\"react\");\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _constant = require(\"@blocklet/constant\");\nvar _axios = _interopRequireDefault(require(\"axios\"));\nvar _urlJoin = _interopRequireDefault(require(\"url-join\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _lodash = require(\"lodash\");\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _material = require(\"@mui/material\");\nvar _blocklet = require(\"../../lib/contexts/blocklet\");\nvar _node = require(\"../contexts/node\");\nvar _toast = _interopRequireDefault(require(\"../../lib/toast\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject, _templateObject2;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction Storage() {\n var _localStorage$getItem, _blocklet$environment, _blocklet$environment2, _blocklet$environment3;\n const options = [\n // TODO: 测试用,上线后才需删除\n {\n value: (_localStorage$getItem = localStorage.getItem('test-spaces')) !== null && _localStorage$getItem !== void 0 && _localStorage$getItem.startsWith('http') ? localStorage.getItem('test-spaces') : 'https://bbqazi2fhuczchrlggs4njj2bucbvnwjjm2xlq6yk6i.did.abtnet.io',\n label: 'test spaces'\n }, {\n value: 'https://storage.staging.abtnet.io/app',\n label: 'staging spaces'\n }, {\n value: 'https://service.didspaces.com/app',\n label: 'prod spaces'\n }];\n\n /** @type {{ api: import('@abtnode/client').ABTNodeClient }} */\n const {\n api\n } = (0, _node.useNodeContext)();\n const {\n t,\n locale\n } = (0, _react.useContext)(_context.LocaleContext);\n const [errorMessage, setErrorMessage] = (0, _react.useState)(false);\n /** @type {{ blocklet: import('@abtnode/client').BlockletState }} */\n const {\n blocklet\n } = (0, _blocklet.useBlockletContext)();\n const [endpoint, setEndpoint] = (0, _react.useState)(((_blocklet$environment = blocklet.environments.find(e => e.key === _constant.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_SPACE_ENDPOINT)) === null || _blocklet$environment === void 0 ? void 0 : _blocklet$environment.value) || '');\n const [didSpacesUrl, setDidSpacesUrl] = (0, _react.useState)((_blocklet$environment2 = (_blocklet$environment3 = blocklet.environments.find(e => e.key === _constant.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_SPACES_URL)) === null || _blocklet$environment3 === void 0 ? void 0 : _blocklet$environment3.value) !== null && _blocklet$environment2 !== void 0 ? _blocklet$environment2 : options[0].value);\n const [isLoading, setIsLoading] = (0, _react.useState)(false);\n const {\n appDid\n } = blocklet;\n const {\n title: appName,\n description: appDescription\n } = blocklet.meta;\n\n /**\n *\n * @param {string} did\n * @param {string} storageEndpoint\n */\n async function saveStorageEndpoint(did, storageEndpoint) {\n await api.configBlocklet({\n input: {\n did: [did],\n configs: [{\n key: _constant.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_SPACES_URL,\n value: didSpacesUrl\n }, {\n key: _constant.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_SPACE_ENDPOINT,\n value: storageEndpoint\n }]\n }\n }).then(() => {\n _toast.default.success(t('storage.didSpaces.getSpacesAuthorizeSuccessfully', locale));\n }).catch(error => {\n console.error(error);\n _toast.default.error(error.message);\n });\n }\n const onAuthorizeConnectSuccess = async (response, decrypt) => {\n setEndpoint(decrypt(response.endpoint));\n await saveStorageEndpoint(blocklet.meta.did, decrypt(response.endpoint));\n setTimeout(() => {\n setAuthorizeConnect(preValue => _objectSpread(_objectSpread({}, preValue), {}, {\n open: false\n }));\n }, 3000);\n };\n const [authorizeConnect, setAuthorizeConnect] = (0, _react.useState)({\n open: false,\n action: 'one-click-authorization',\n checkTimeout: 1000 * 300,\n checkFn: _axios.default.create({\n baseURL: (0, _urlJoin.default)(didSpacesUrl, 'space')\n }).get,\n onClose: () => {\n setAuthorizeConnect(preValue => _objectSpread(_objectSpread({}, preValue), {}, {\n open: false\n }));\n }\n });\n const handleOnClickAuthorize = async () => {\n if ((0, _lodash.isEmpty)(didSpacesUrl)) {\n _toast.default.error(t('storage.didSpaces.addressCannotEmpty', locale));\n return;\n }\n setAuthorizeConnect(preValue => _objectSpread(_objectSpread({}, preValue), {}, {\n prefix: (0, _urlJoin.default)(didSpacesUrl, 'space/api/did'),\n baseUrl: new URL(didSpacesUrl).origin,\n checkFn: _axios.default.create({\n baseURL: (0, _urlJoin.default)(didSpacesUrl, 'space')\n }).get,\n extraParams: {\n appDid,\n appName,\n appDescription,\n scopes: 'list:object read:object write:object'\n },\n open: true\n }));\n };\n const onDidSpacesUrlChange = event => {\n const {\n value\n } = event.target;\n if ((0, _lodash.isEmpty)(value)) {\n setErrorMessage(t('storage.didSpaces.addressCannotEmpty', locale));\n return;\n }\n setErrorMessage(null);\n setDidSpacesUrl(value);\n };\n const onBackup = async () => {\n try {\n if (isLoading) {\n return;\n }\n setIsLoading(true);\n await api.backupToSpaces({\n input: {\n did: blocklet.appDid\n }\n });\n _toast.default.success(t('storage.didSpaces.backupSuccessfully'));\n } catch (error) {\n _toast.default.error(error.message);\n console.error(error);\n } finally {\n setIsLoading(false);\n }\n };\n (0, _react.useEffect)(() => {\n setAuthorizeConnect(preValue => _objectSpread(_objectSpread({}, preValue), {}, {\n messages: {\n title: t('storage.didSpaces.authorize.title', {\n appName\n }),\n scan: t('storage.didSpaces.authorize.scan', {\n appName\n }),\n confirm: '',\n success: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n gutterBottom: true,\n children: t('storage.didSpaces.authorize.success')\n })\n }\n }));\n }, [appName, locale, t]);\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Container, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(StorageUrlTextField, {\n select: true,\n sx: {\n marginTop: '20px'\n },\n label: t('storage.didSpaces.label'),\n value: didSpacesUrl,\n onChange: onDidSpacesUrlChange,\n autoFocus: true,\n size: \"small\",\n error: !!errorMessage,\n helperText: errorMessage,\n InputProps: {\n endAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n variant: \"contained\",\n onClick: handleOnClickAuthorize,\n size: \"small\",\n sx: {\n position: 'absolute',\n right: 0,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: '140px',\n height: '100%'\n },\n children: endpoint ? t('storage.didSpaces.reAuthorization') : t('storage.didSpaces.goToAuthorization')\n })\n },\n children: options.map(option => /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.MenuItem, {\n value: option.value,\n children: option.label\n }, option.value))\n }), endpoint && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n color: \"text.secondary\",\n sx: {\n marginTop: '20px'\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n display: \"flex\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"inline\",\n children: [t('storage.didSpaces.tips'), \": \\xA0\", ' ', /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n display: \"inline\",\n color: \"primary.main\",\n fontWeight: \"fontWeightBold\",\n children: t('storage.didSpaces.getSpacesAuthorizeSuccessfully')\n })]\n })\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n display: \"flex\",\n justifyContent: \"center\",\n sx: {\n maxWidth: '580px',\n marginTop: '20px',\n padding: '0px 0px'\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: onBackup,\n loading: isLoading,\n variant: \"contained\",\n color: \"primary\",\n \"data-cy\": \"add-domain-alias\",\n disabled: !endpoint || isLoading,\n children: t('storage.didSpaces.backup')\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Connect.default, {\n prefix: authorizeConnect.prefix,\n open: authorizeConnect.open,\n popup: true,\n action: authorizeConnect.action,\n baseUrl: authorizeConnect.baseUrl,\n checkFn: authorizeConnect.checkFn,\n onSuccess: onAuthorizeConnectSuccess,\n onClose: authorizeConnect.onClose,\n checkTimeout: authorizeConnect.checkTimeout,\n extraParams: authorizeConnect.extraParams,\n messages: authorizeConnect.messages,\n locale: locale\n })]\n });\n}\nconst Container = (0, _styled.default)('div')(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n height: 100%;\\n overflow-y: auto;\\n\"])));\nconst StorageUrlTextField = (0, _styled.default)(_material.TextField)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n height: 56px;\\n width: 580px;\\n \", \" {\\n width: 75%;\\n }\\n input.MuiInputBase-input {\\n width: calc(100% - 144px);\\n }\\n\"])), props => props.theme.breakpoints.down('md'));\nStorage.propTypes = {};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DomainType = void 0;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n// eslint-disable-next-line import/prefer-default-export\nconst DomainType = _propTypes.default.shape({\n href: _propTypes.default.string,\n accessibility: _propTypes.default.shape({\n loading: _propTypes.default.bool,\n accessible: _propTypes.default.bool\n }),\n domainStatus: _propTypes.default.shape({\n isHttps: _propTypes.default.bool,\n matchedCert: _propTypes.default.object\n }),\n dns: _propTypes.default.shape({\n resolved: _propTypes.default.bool,\n ip: _propTypes.default.string\n })\n});\nexports.DomainType = DomainType;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = BlockletVersion;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _semver = _interopRequireDefault(require(\"semver\"));\nvar _notistack = require(\"notistack\");\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\nvar _ArrowUpward = _interopRequireDefault(require(\"@mui/icons-material/ArrowUpward\"));\nvar _Tooltip = _interopRequireDefault(require(\"@mui/material/Tooltip\"));\nvar _Toast = _interopRequireDefault(require(\"@arcblock/ux/lib/Toast\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _constant = require(\"@blocklet/constant\");\nvar _util = require(\"@blocklet/meta/lib/util\");\nvar _tag = _interopRequireDefault(require(\"../tag\"));\nvar _confirm = _interopRequireDefault(require(\"../confirm\"));\nvar _node = require(\"../contexts/node\");\nvar _util2 = require(\"../util\");\nvar _permission = require(\"../permission\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nconst _excluded = [\"blocklet\", \"checkUpgrade\", \"hasPermission\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction Version(_ref) {\n let {\n blocklet,\n checkUpgrade,\n hasPermission\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n const {\n api\n } = (0, _node.useNodeContext)();\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n const [loading, setLoading] = (0, _react.useState)(false);\n const [error, setError] = (0, _react.useState)('');\n const [newVersionBlocklet, setNewVersionBlocklet] = (0, _react.useState)(null);\n const [confirmSetting, setConfirmSetting] = (0, _react.useState)(null);\n const {\n enqueueSnackbar\n } = (0, _notistack.useSnackbar)();\n (0, _react.useEffect)(() => {\n setNewVersionBlocklet(null);\n if (checkUpgrade && blocklet.mode !== _constant.BLOCKLET_MODES.DEVELOPMENT) {\n api.getLatestBlockletVersion({\n input: {\n did: blocklet.meta.did,\n version: blocklet.meta.version\n }\n }).then(_ref2 => {\n let {\n data\n } = _ref2;\n if (data) {\n const {\n version,\n registryUrl\n } = data;\n if (version && _semver.default.gt(version, blocklet.meta.version)) {\n setNewVersionBlocklet({\n version,\n registryUrl\n });\n }\n }\n })\n // eslint-disable-next-line max-len\n .catch(err => console.error(\"Failed to fetch latest version: \".concat(blocklet.meta.name, \", error: \").concat((0, _util2.formatError)(err)))); // prettier-ignore\n }\n }, [blocklet, checkUpgrade]); // eslint-disable-line\n\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n const onConfirm = async () => {\n setLoading(true);\n try {\n const input = {\n did: blocklet.meta.did,\n version: newVersionBlocklet.version,\n storeUrl: newVersionBlocklet.registryUrl || ''\n };\n await (0, _util2.sleep)(2000);\n await api.upgradeBlocklet({\n input\n });\n } catch (err) {\n enqueueSnackbar(\"Blocklet upgrade failed: \".concat((0, _util2.formatError)(err)), {\n autoHideDuration: 5000,\n variant: 'error'\n });\n } finally {\n setLoading(false);\n setConfirmSetting(null);\n }\n };\n const setting = {\n title: \"\".concat(t('common.upgrade'), \" \").concat(t('common.blocklet'), \" \").concat((0, _util.getDisplayName)(blocklet)),\n description: t('blocklet.action.upgradeDescription'),\n confirm: t('blocklet.action.confirmUpgrade'),\n cancel: t('common.cancel'),\n onConfirm,\n onCancel\n };\n if (hasPermission && newVersionBlocklet && !(0, _util2.isInProgress)(blocklet.status)) {\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_tag.default, _objectSpread(_objectSpread({}, rest), {}, {\n children: blocklet.meta.version\n })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: t('common.updateAvailable', {\n version: newVersionBlocklet.version\n }),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n size: \"small\",\n style: {\n marginLeft: 8\n },\n disabled: loading,\n onClick: () => setConfirmSetting(setting),\n children: loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ArrowUpward.default, {\n style: {\n fontSize: 16,\n color: 'red'\n }\n })\n })\n }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Toast.default, {\n variant: \"error\",\n message: error,\n onClose: () => setError('')\n }), confirmSetting && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {\n title: confirmSetting.title,\n description: confirmSetting.description,\n confirm: confirmSetting.confirm,\n cancel: confirmSetting.cancel,\n params: confirmSetting.params,\n onConfirm: confirmSetting.onConfirm,\n onCancel: confirmSetting.onCancel\n })]\n });\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_tag.default, _objectSpread(_objectSpread({}, rest), {}, {\n children: blocklet.meta.version\n }));\n}\nVersion.propTypes = {\n blocklet: _propTypes.default.object.isRequired,\n checkUpgrade: _propTypes.default.bool,\n hasPermission: _propTypes.default.bool\n};\nVersion.defaultProps = {\n checkUpgrade: true,\n hasPermission: false\n};\nconst BlockletVersionInDaemon = (0, _permission.withPermission)(Version, 'mutate_blocklets');\nconst BlockletVersionInService = (0, _permission.withPermission)(Version, '', _util2.BlockletAdminRoles);\nfunction BlockletVersion(props) {\n const {\n inService\n } = (0, _node.useNodeContext)();\n if (inService) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockletVersionInService, _objectSpread({}, props));\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockletVersionInDaemon, _objectSpread({}, props));\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Certificate;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _get = _interopRequireDefault(require(\"lodash/get\"));\nvar _Https = _interopRequireDefault(require(\"@mui/icons-material/Https\"));\nvar _Popover = _interopRequireDefault(require(\"@mui/material/Popover\"));\nvar _Card = _interopRequireDefault(require(\"@mui/material/Card\"));\nvar _CardContent = _interopRequireDefault(require(\"@mui/material/CardContent\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _util = require(\"./util\");\nvar _node = require(\"./contexts/node\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction Certificate(_ref) {\n let {\n certificate\n } = _ref;\n const [anchorEl, setAnchorEl] = (0, _react.useState)(null);\n const node = (0, _node.useNodeContext)();\n const {\n t\n } = (0, _context.useLocaleContext)();\n const handlePopoverOpen = event => {\n setAnchorEl(event.currentTarget);\n };\n const handlePopoverClose = () => {\n setAnchorEl(null);\n };\n const open = Boolean(anchorEl);\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Https.default, {\n \"aria-owns\": open ? 'mouse-over-popover' : undefined,\n onMouseEnter: handlePopoverOpen,\n onMouseLeave: handlePopoverClose,\n style: {\n color: '#44cdc6',\n fontSize: 20,\n marginLeft: 8,\n cursor: 'pointer'\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Popover.default, {\n id: \"mouse-over-popover\",\n style: {\n pointerEvents: 'none'\n },\n open: open,\n anchorEl: anchorEl,\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'left'\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'left'\n },\n onClose: handlePopoverClose,\n disableRestoreFocus: true,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Card.default, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_CardContent.default, {\n style: {\n display: 'flex'\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"img\", {\n src: \"\".concat(node.imgPrefix, \"/https-certificate-icon.png\"),\n alt: \"certificate icon\",\n style: {\n maxHeight: '100%',\n maxWidth: '100%'\n }\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {\n component: \"div\",\n style: {\n marginLeft: '16px'\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n component: \"div\",\n style: {\n fontWeight: 'bold'\n },\n children: certificate.domain\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n component: \"div\",\n children: \"\".concat(t('common.issuer'), \": \").concat((0, _get.default)(certificate, 'issuer.commonName', ''))\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n component: \"div\",\n children: \"\".concat(t('router.cert.issuedOn'), \": \").concat((0, _util.formatToDate)(certificate.validFrom))\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n component: \"div\",\n children: \"\".concat(t('router.cert.expiryOn'), \": \").concat((0, _util.formatToDate)(certificate.validTo))\n })]\n })]\n })\n })\n })]\n });\n}\nCertificate.propTypes = {\n certificate: _propTypes.default.object\n};\nCertificate.defaultProps = {\n certificate: {}\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ClickToCopy;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _ClickToCopy = _interopRequireDefault(require(\"@arcblock/ux/lib/ClickToCopy\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nconst _excluded = [\"children\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction ClickToCopy(_ref) {\n let {\n children\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ClickToCopy.default, _objectSpread(_objectSpread({\n tip: t('common.copyTip'),\n copiedTip: t('common.copiedTip')\n }, rest), {}, {\n children: children\n }));\n}\nClickToCopy.propTypes = {\n children: _propTypes.default.any.isRequired\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ConfirmDialog;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _Dialog = _interopRequireDefault(require(\"@mui/material/Dialog\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _DialogActions = _interopRequireDefault(require(\"@mui/material/DialogActions\"));\nvar _DialogContent = _interopRequireDefault(require(\"@mui/material/DialogContent\"));\nvar _DialogContentText = _interopRequireDefault(require(\"@mui/material/DialogContentText\"));\nvar _DialogTitle = _interopRequireDefault(require(\"@mui/material/DialogTitle\"));\nvar _Alert = _interopRequireDefault(require(\"@mui/material/Alert\"));\nvar _useTheme = _interopRequireDefault(require(\"@mui/material/styles/useTheme\"));\nvar _useMediaQuery = _interopRequireDefault(require(\"@mui/material/useMediaQuery\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _util = require(\"./util\");\nvar _mobileWidth = _interopRequireDefault(require(\"./hooks/mobile-width\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ConfirmDialog(_ref) {\n let {\n title,\n description,\n showCancel,\n cancel,\n confirm,\n color,\n params: initialParams,\n onCancel,\n onConfirm\n } = _ref;\n const [params, setParams] = (0, _react.useState)(initialParams);\n const [open, setOpen] = (0, _react.useState)(true);\n const [loading, setLoading] = (0, _react.useState)(false);\n const [error, setError] = (0, _react.useState)('');\n const {\n t: changeLocale\n } = (0, _context.useLocaleContext)();\n const theme = (0, _useTheme.default)();\n const onCallback = async cb => {\n if (typeof cb === 'function') {\n setLoading(true);\n try {\n await cb(params);\n setOpen(false);\n } catch (err) {\n setError((0, _util.formatError)(err));\n console.error(err);\n } finally {\n setLoading(false);\n }\n } else {\n setOpen(false);\n }\n };\n const t = typeof title === 'function' ? title() : title;\n const d = typeof description === 'function' ? description(params, setParams, setError) : description;\n const isBreakpointsDownSm = (0, _useMediaQuery.default)(theme.breakpoints.down('md'));\n const handleClick = e => {\n e.stopPropagation();\n };\n const {\n minWidth\n } = (0, _mobileWidth.default)();\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledDialog, {\n onClick: handleClick,\n fullScreen: isBreakpointsDownSm,\n open: open,\n style: {\n minWidth\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogTitle.default, {\n children: t\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_DialogContent.default, {\n style: {\n minWidth\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogContentText.default, {\n component: \"div\",\n children: d\n }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n severity: \"error\",\n style: {\n width: '100%',\n marginTop: 8\n },\n children: error\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_DialogActions.default, {\n className: \"delete-actions\",\n style: {\n padding: '8px 24px 24px'\n },\n children: [showCancel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n onCallback(onCancel);\n },\n color: \"inherit\",\n \"data-cy\": \"cancel-confirm-dialog\",\n children: cancel || changeLocale('common.cancel')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n onCallback(onConfirm);\n },\n color: color\n // eslint-disable-next-line no-underscore-dangle\n ,\n disabled: params.__disableConfirm || loading,\n variant: \"contained\",\n \"data-cy\": \"submit-confirm-dialog\",\n autoFocus: true,\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }), confirm]\n })]\n })]\n });\n}\nConfirmDialog.propTypes = {\n title: _propTypes.default.any.isRequired,\n description: _propTypes.default.any.isRequired,\n // can be a function that renders different content based on params\n showCancel: _propTypes.default.bool,\n cancel: _propTypes.default.string,\n color: _propTypes.default.string,\n confirm: _propTypes.default.string,\n params: _propTypes.default.object,\n // This object holds states managed in the dialog\n onCancel: _propTypes.default.func,\n onConfirm: _propTypes.default.func.isRequired\n};\nConfirmDialog.defaultProps = {\n onCancel: () => {},\n showCancel: true,\n cancel: '',\n confirm: 'Confirm',\n color: 'error',\n params: {}\n};\nconst StyledDialog = (0, _styled.default)(_Dialog.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .delete-actions .Mui-disabled {\\n color: rgba(0, 0, 0, 0.26) !important;\\n box-shadow: none;\\n background-color: rgba(0, 0, 0, 0.12) !important;\\n }\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AuditLogContext = exports.AuditLogConsumer = void 0;\nexports.AuditLogProvider = AuditLogProvider;\nexports.useAuditLogContext = useAuditLogContext;\nvar _react = require(\"react\");\nvar _useLocalStorage = _interopRequireDefault(require(\"react-use/lib/useLocalStorage\"));\nvar _toast = _interopRequireDefault(require(\"../toast\"));\nvar _node = require(\"./node\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst AuditLogContext = /*#__PURE__*/(0, _react.createContext)({});\nexports.AuditLogContext = AuditLogContext;\nconst {\n Provider,\n Consumer\n} = AuditLogContext;\n\n// eslint-disable-next-line react/prop-types\nexports.AuditLogConsumer = Consumer;\nfunction AuditLogProvider(_ref) {\n let {\n children,\n scope = ''\n } = _ref;\n const {\n api: client\n } = (0, _node.useNodeContext)();\n const [auditLogs, setAuditLogs] = (0, _react.useState)([]);\n const [paging, setPaging] = (0, _react.useState)({\n total: 0,\n pageSize: 20,\n pageCount: 0,\n page: 1\n });\n const [loading, setLoading] = (0, _react.useState)(false);\n const [category, setCategory] = (0, _useLocalStorage.default)(\"audit-log-category-\".concat(scope), 'all');\n const fetchLogs = async function fetchLogs() {\n let {\n page = 1,\n silent = true\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (loading) {\n return;\n }\n if (!silent) {\n setLoading(true);\n }\n try {\n // eslint-disable-next-line no-shadow\n const res = await client.getAuditLogs({\n input: {\n paging: {\n page\n },\n category: category === 'all' ? '' : category,\n scope\n }\n });\n setAuditLogs(res.list);\n setPaging(res.paging);\n setLoading(false);\n } catch (err) {\n _toast.default.error(err.message);\n setLoading(false);\n }\n };\n (0, _react.useEffect)(() => {\n fetchLogs({\n page: 1,\n silent: false\n });\n }, []); // eslint-disable-line\n\n (0, _react.useEffect)(() => {\n fetchLogs({\n page: 1,\n silent: false\n });\n }, [category]); // eslint-disable-line\n\n const value = {\n loading,\n fetch: fetchLogs,\n filter: {\n category,\n scope\n },\n categories: [{\n value: 'all',\n label: 'All',\n description: ''\n }, {\n value: 'blocklet',\n label: 'Blocklet Management',\n description: ''\n }, {\n value: 'server',\n label: 'Server Management',\n description: ''\n }, {\n value: 'team',\n label: 'Team Management',\n description: ''\n }, {\n value: 'security',\n label: 'Security',\n description: ''\n }, {\n value: 'certificates',\n label: 'Certificate Management',\n description: ''\n }, {\n value: 'integrations',\n label: 'Integration Management',\n description: ''\n }, {\n value: 'gateway',\n label: 'Gateway',\n description: ''\n }],\n setCategory,\n data: auditLogs,\n paging\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(Provider, {\n value: {\n auditLogs: value\n },\n children: children\n });\n}\nfunction useAuditLogContext() {\n const {\n auditLogs\n } = (0, _react.useContext)(AuditLogContext);\n return auditLogs;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DeletingBlockletProvider = DeletingBlockletProvider;\nexports.useDeletingBlockletContext = useDeletingBlockletContext;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _xorWith = _interopRequireDefault(require(\"lodash/xorWith\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst DeletingBlockletContext = /*#__PURE__*/(0, _react.createContext)({});\nfunction DeletingBlockletProvider(_ref) {\n let {\n children,\n type\n } = _ref;\n const [deletingBlocklets, setDeletingBlocklets] = (0, _react.useState)([]);\n const deletingBlockletsDid = (0, _react.useRef)([]); // use in onActionComplete\n\n /**\n * 添加删除中的 blocklet did\n * @param {String} did 删除中的did\n */\n const addDeletingDid = did => {\n if (!deletingBlockletsDid.current.includes(did)) {\n const reDeleteings = [...deletingBlockletsDid.current, did];\n setDeletingBlocklets(reDeleteings);\n deletingBlockletsDid.current = reDeleteings;\n }\n };\n\n /**\n * 去除删除中的 blocklet did\n * @param {String} did 删除中的did\n */\n const removeDeletingDid = did => {\n if (deletingBlockletsDid.current.includes(did)) {\n const reDeleteings = deletingBlockletsDid.current.filter(d => {\n return d !== did;\n });\n setDeletingBlocklets(reDeleteings);\n deletingBlockletsDid.current = reDeleteings;\n }\n };\n\n /**\n * 将不在的 blocklet id 移出 deleting 数组\n * @param {Array} existDids 已存在的 blocklet did 数组集\n */\n const matchDeletingDid = existDids => {\n const inDeleting = deletingBlocklets.filter(did => existDids.find(e => e === did));\n const needMoveoutDeleting = (0, _xorWith.default)(inDeleting, deletingBlocklets);\n needMoveoutDeleting.forEach(did => removeDeletingDid(did));\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(DeletingBlockletContext.Provider, {\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n value: {\n type,\n deletingBlocklets,\n addDeletingDid,\n removeDeletingDid,\n matchDeletingDid\n },\n children: children\n });\n}\nDeletingBlockletProvider.propTypes = {\n type: _propTypes.default.string,\n children: _propTypes.default.node.isRequired\n};\nDeletingBlockletProvider.defaultProps = {\n type: 'blocklets'\n};\nfunction useDeletingBlockletContext() {\n return (0, _react.useContext)(DeletingBlockletContext);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NodeProvider = exports.NodeContext = exports.NodeConsumer = void 0;\nexports.useNodeContext = useNodeContext;\nvar _react = require(\"react\");\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nconst NodeContext = /*#__PURE__*/(0, _react.createContext)({});\nexports.NodeContext = NodeContext;\nconst {\n Provider,\n Consumer\n} = NodeContext;\nexports.NodeConsumer = Consumer;\nexports.NodeProvider = Provider;\nfunction useNodeContext() {\n const {\n node\n } = (0, _react.useContext)(NodeContext);\n return _objectSpread(_objectSpread({}, node), {}, {\n inService: node.type === 'service',\n inDaemon: node.type === 'daemon'\n });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"SessionContext\", {\n enumerable: true,\n get: function get() {\n return _Session.SessionContext;\n }\n});\nexports.useSessionContext = useSessionContext;\nvar _react = require(\"react\");\nvar _Session = require(\"@arcblock/did-connect/lib/Session\");\n/* eslint-disable object-curly-newline */\n\nfunction useSessionContext() {\n const info = (0, _react.useContext)(_Session.SessionContext);\n return info;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TeamProvider = exports.TeamContext = exports.TeamConsumer = void 0;\nexports.useTeamContext = useTeamContext;\nvar _react = require(\"react\");\nconst TeamContext = /*#__PURE__*/(0, _react.createContext)({});\nexports.TeamContext = TeamContext;\nconst {\n Provider,\n Consumer\n} = TeamContext;\nexports.TeamConsumer = Consumer;\nexports.TeamProvider = Provider;\nfunction useTeamContext() {\n return (0, _react.useContext)(TeamContext);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = CancelConfirm;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _TextField = _interopRequireDefault(require(\"@mui/material/TextField\"));\nvar _Alert = _interopRequireDefault(require(\"@mui/material/Alert\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _clickToCopy = _interopRequireDefault(require(\"./click-to-copy\"));\nvar _confirm = _interopRequireDefault(require(\"./confirm\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction CancelConfirm(_ref) {\n let {\n title: _title,\n description: _description,\n confirmPlaceholder,\n cancel,\n confirm,\n params: initialParams,\n onCancel,\n onConfirm,\n keyName\n } = _ref;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const confirmSetting = {\n title: () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n children: [_title, \" (\".concat(keyName, \")\")]\n }),\n description: (params, setParams) => {\n const setValue = value => {\n // eslint-disable-next-line no-underscore-dangle\n setParams(_objectSpread(_objectSpread({}, value), {}, {\n __disableConfirm: value.__disableConfirm\n }));\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n severity: \"warning\",\n style: {\n width: '100%'\n },\n children: t('common.notice')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n style: {\n marginTop: 24,\n marginBottom: 24\n },\n dangerouslySetInnerHTML: {\n __html: _description\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n style: {\n marginBottom: 24\n },\n children: [t('common.click'), \"\\uFF1A\", /*#__PURE__*/(0, _jsxRuntime.jsx)(_clickToCopy.default, {\n \"data-cy\": \"click-copy\",\n children: keyName\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n component: \"div\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n label: confirmPlaceholder,\n autoComplete: \"off\",\n \"data-cy\": \"delete-confirm-input\",\n variant: \"outlined\",\n fullWidth: true,\n autoFocus: true,\n value: params.inputVal,\n onChange: e => {\n setValue(_objectSpread(_objectSpread({}, params), {}, {\n inputVal: e.target.value,\n __disableConfirm: keyName !== e.target.value\n }));\n }\n })\n })]\n });\n },\n confirm,\n cancel,\n onConfirm,\n onCancel,\n params: _objectSpread({\n inputVal: '',\n __disableConfirm: true\n }, initialParams)\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {\n title: confirmSetting.title,\n description: confirmSetting.description,\n confirm: confirmSetting.confirm,\n cancel: confirmSetting.cancel,\n params: confirmSetting.params,\n onConfirm: confirmSetting.onConfirm,\n onCancel: confirmSetting.onCancel\n });\n}\nCancelConfirm.propTypes = {\n title: _propTypes.default.any.isRequired,\n keyName: _propTypes.default.any.isRequired,\n description: _propTypes.default.any.isRequired,\n // can be a function that renders different content based on params\n confirmPlaceholder: _propTypes.default.any.isRequired,\n cancel: _propTypes.default.string,\n confirm: _propTypes.default.string,\n params: _propTypes.default.object,\n // This object holds states managed in the dialog\n onCancel: _propTypes.default.func,\n onConfirm: _propTypes.default.func.isRequired\n};\nCancelConfirm.defaultProps = {\n onCancel: () => {},\n cancel: '',\n confirm: 'Confirm',\n params: {}\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _reactRouterDom = require(\"react-router-dom\");\nvar _Link = _interopRequireDefault(require(\"@mui/material/Link\"));\nvar _Address = _interopRequireDefault(require(\"@arcblock/did-connect/lib/Address\"));\nvar _Avatar = _interopRequireDefault(require(\"@arcblock/did-connect/lib/Avatar\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nconst _excluded = [\"did\", \"href\", \"external\", \"avatarProps\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction WrappedDidAddress(_ref) {\n let {\n did,\n href,\n external,\n avatarProps\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n // eslint-disable-next-line react/no-unstable-nested-components\n function Content() {\n if (href) {\n if (external) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Link.default, {\n target: \"_blank\",\n href: href,\n underline: \"hover\",\n children: did\n });\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Link, {\n to: href,\n children: did\n });\n }\n return did;\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Address.default, _objectSpread(_objectSpread({\n prepend: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n component: \"span\",\n display: \"flex\",\n mr: 1,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, _objectSpread({\n did: did,\n size: 18\n }, avatarProps))\n })\n }, rest), {}, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Content, {})\n }));\n}\nWrappedDidAddress.propTypes = {\n did: _propTypes.default.string.isRequired,\n to: _propTypes.default.string,\n href: _propTypes.default.string,\n avatarProps: _propTypes.default.object,\n external: _propTypes.default.bool\n};\nWrappedDidAddress.defaultProps = {\n to: '',\n href: '',\n avatarProps: {},\n external: false\n};\nvar _default = WrappedDidAddress;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nconst color = {\n success: '#3ab39d',\n error: '#D0021B'\n};\nconst defaultSize = '10px';\nconst Dot = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n display: inline-block;\\n width: \", \";\\n height: \", \";\\n background: \", \";\\n border-radius: 100%;\\n\"])), props => props.size || defaultSize, props => props.size || defaultSize, props => color[props.color] || props.color || color.success);\nvar _default = Dot;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = FormTextInput;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _TextField = _interopRequireDefault(require(\"@mui/material/TextField\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _EditIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/EditIcon\"));\nvar _Close = _interopRequireDefault(require(\"@mui/icons-material/Close\"));\nvar _Done = _interopRequireDefault(require(\"@mui/icons-material/Done\"));\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\nvar _required = _interopRequireDefault(require(\"./required\"));\nvar _formWrapper = _interopRequireDefault(require(\"./form-wrapper\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nconst _excluded = [\"label\", \"disabled\", \"required\", \"initialValue\", \"onChange\", \"placeholder\", \"style\", \"onSubmit\", \"secure\", \"formatterBeforeSubmit\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction FormTextInput(_ref) {\n let {\n label,\n disabled,\n required,\n initialValue,\n onChange,\n placeholder,\n style,\n onSubmit,\n secure,\n formatterBeforeSubmit\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n const [editing, setEditing] = (0, _react.useState)(false);\n const [loading, setLoading] = (0, _react.useState)(false);\n const [defaultValue, setDefaultValue] = (0, _react.useState)(secure && initialValue === '__encrypted__' ? '' : initialValue);\n const [value, setValue] = (0, _react.useState)(defaultValue);\n const handleSubmit = async () => {\n setLoading(true);\n try {\n const shouldUpdate = await onSubmit(value);\n if (shouldUpdate === false) {\n setValue(defaultValue);\n } else {\n let tmpValue = value;\n if (typeof formatterBeforeSubmit === 'function') {\n tmpValue = formatterBeforeSubmit(value);\n }\n setValue(tmpValue);\n setDefaultValue(tmpValue);\n }\n } catch (err) {\n setValue(defaultValue);\n } finally {\n setLoading(false);\n setEditing(false);\n }\n };\n const onInputChange = changeValue => {\n setValue(changeValue);\n onChange(changeValue);\n };\n\n // enter keydown\n const handleKeydown = e => {\n if (e.key === 'Enter') {\n handleSubmit();\n }\n };\n const input = editing ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, _objectSpread({\n style: {\n flex: 1\n },\n fullWidth: true,\n value: value,\n onChange: e => {\n onInputChange(e.target.value);\n },\n autoFocus: true,\n size: \"small\",\n variant: \"outlined\",\n placeholder: placeholder,\n onKeyDown: handleKeydown,\n disabled: disabled,\n type: secure ? 'password' : 'text'\n }, rest)) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n px: 1,\n className: \"form-item-input slot\",\n style: {\n whiteSpace: 'pre-wrap'\n },\n children: secure ? '******' : value\n });\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_formWrapper.default, {\n className: \"form\",\n style: style,\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"form-item\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"form-item-label\",\n children: [label, required && /*#__PURE__*/(0, _jsxRuntime.jsx)(_required.default, {})]\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"form-item-body\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"form-item-input\",\n children: input\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"form-item-action\",\n children: editing ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n \"data-cy\": \"schema-form-item-confirm\",\n onClick: handleSubmit,\n disabled: disabled || loading,\n size: \"large\",\n children: loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 24\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Done.default, {})\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n \"data-cy\": \"schema-form-item-cancel\",\n onClick: () => {\n setValue(defaultValue);\n setEditing(false);\n },\n disabled: disabled || loading,\n size: \"large\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Close.default, {})\n })]\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n \"data-cy\": \"schema-form-item-edit\",\n onClick: () => setEditing(true),\n disabled: disabled,\n size: \"large\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditIcon.default, {})\n })\n })]\n })]\n })\n });\n}\nFormTextInput.propTypes = {\n style: _propTypes.default.object,\n onSubmit: _propTypes.default.func,\n onChange: _propTypes.default.func,\n label: _propTypes.default.string,\n initialValue: _propTypes.default.string,\n placeholder: _propTypes.default.string,\n required: _propTypes.default.bool,\n disabled: _propTypes.default.bool,\n secure: _propTypes.default.bool,\n formatterBeforeSubmit: _propTypes.default.func\n};\nFormTextInput.defaultProps = {\n style: {},\n onSubmit: () => {},\n onChange: () => {},\n label: '',\n initialValue: '',\n placeholder: '',\n required: false,\n disabled: false,\n secure: false,\n formatterBeforeSubmit: null\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _styles = require(\"@mui/styles\");\nvar _useMediaQuery = _interopRequireDefault(require(\"@mui/material/useMediaQuery\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction useMobileWidth() {\n const theme = (0, _styles.useTheme)();\n const isBreakpointsDownSm = (0, _useMediaQuery.default)(theme.breakpoints.down('md'));\n const minWidth = isBreakpointsDownSm ? 300 : theme.breakpoints.values.sm;\n return {\n minWidth\n };\n}\nvar _default = useMobileWidth;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = useAppLogo;\nvar _urlJoin = _interopRequireDefault(require(\"url-join\"));\nvar _node = require(\"../contexts/node\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction useAppLogo(_ref) {\n var _window$env, _blocklet$meta;\n let {\n blocklet\n } = _ref;\n const {\n inService\n } = (0, _node.useNodeContext)();\n const prefix = ((_window$env = window.env) === null || _window$env === void 0 ? void 0 : _window$env.apiPrefix) || '/';\n const search = \"?v=\".concat(blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta = blocklet.meta) === null || _blocklet$meta === void 0 ? void 0 : _blocklet$meta.version);\n const logoUrl = (0, _urlJoin.default)(prefix, \"/blocklet/logo/\".concat(inService ? '' : blocklet.meta.did), search);\n return {\n logoUrl\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = useAvatar;\nvar _urlJoin = _interopRequireDefault(require(\"url-join\"));\nvar _constant = require(\"@abtnode/constant\");\nvar _node = require(\"../contexts/node\");\nvar _util = require(\"../util\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction useAvatar(_ref) {\n var _blocklet$meta;\n let {\n blocklet,\n ancestors = []\n } = _ref;\n const node = (0, _node.useNodeContext)();\n const {\n inService\n } = node;\n const search = \"?v=\".concat(blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta = blocklet.meta) === null || _blocklet$meta === void 0 ? void 0 : _blocklet$meta.version).concat((0, _util.isDownloading)(blocklet === null || blocklet === void 0 ? void 0 : blocklet.status) ? '~' : '');\n let logoUrl = inService ? (0, _urlJoin.default)(_util.APP_PREFIX, _constant.WELLKNOWN_SERVICE_PATH_PREFIX, '/blocklet/logo-bundle', search) : (0, _urlJoin.default)(node.imgPrefix, 'blocklet.png');\n if (blocklet.source === 'registry' && blocklet.deployedFrom && blocklet.meta.logo) {\n logoUrl = (0, _urlJoin.default)(blocklet.deployedFrom, (0, _util.formatRegistryLogoPath)(blocklet.meta.bundleDid, blocklet.meta.logo), search);\n } else {\n const prefix = window.env.apiPrefix || '/';\n const components = ancestors.concat(blocklet);\n const list = inService ? components.slice(1) : components;\n logoUrl = (0, _urlJoin.default)(prefix, \"/blocklet/logo-bundle\".concat(list.map(x => \"/\".concat(x.meta.did)).join('')), search);\n }\n return {\n logoUrl,\n inService\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = useNavigation;\nvar _ahooks = require(\"ahooks\");\nvar _cloneDeep = _interopRequireDefault(require(\"lodash/cloneDeep\"));\nvar _isNil = _interopRequireDefault(require(\"lodash/isNil\"));\nvar _omit = _interopRequireDefault(require(\"lodash/omit\"));\nvar _omitBy = _interopRequireDefault(require(\"lodash/omitBy\"));\nvar _react = require(\"react\");\nvar _nanoid = require(\"nanoid\");\nvar _material = require(\"@mui/material\");\nvar _parseNavigationFromBlocklet = require(\"@blocklet/meta/lib/parse-navigation-from-blocklet\");\nvar _constant = require(\"@abtnode/constant\");\nvar _blocklet = require(\"../contexts/blocklet\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nconst BASE_LINK = '/';\nconst DEFAULT_SECTION = 'header';\n// 默认注入的数据\n// 需要指定一些内置的 id\nconst injectNavigationData = {\n sessionManager: [{\n id: '/sessionManager',\n title: {\n en: 'Manage',\n zh: '管理'\n },\n section: ['sessionManager'],\n icon: 'ion:settings-outline',\n link: \"\".concat(_constant.WELLKNOWN_SERVICE_PATH_PREFIX, \"/admin\"),\n role: ['owner', 'admin'],\n from: 'tmpl'\n }],\n dashboard: [{\n id: '/access',\n title: {\n en: 'Access',\n zh: '访问控制'\n },\n role: ['owner', 'admin', 'member'],\n section: ['dashboard'],\n link: '',\n from: 'tmpl',\n items: [{\n id: 'member',\n title: {\n en: 'Members',\n zh: '成员'\n },\n icon: 'ant-design:user-outlined',\n link: \"\".concat(_constant.WELLKNOWN_SERVICE_PATH_PREFIX, \"/admin/members\"),\n from: 'tmpl'\n }, {\n id: 'passport',\n title: {\n en: 'Passport',\n zh: '通行证'\n },\n icon: 'icon-park-outline:passport',\n link: \"\".concat(_constant.WELLKNOWN_SERVICE_PATH_PREFIX, \"/admin/passports\"),\n from: 'tmpl'\n }]\n }, {\n id: '/dashboard',\n title: 'Blocklet',\n role: ['owner', 'admin'],\n section: ['dashboard'],\n link: '',\n from: 'tmpl',\n items: [{\n id: 'dashboard',\n title: {\n en: 'Dashboard',\n zh: '仪表盘'\n },\n icon: 'ant-design:dashboard-outlined',\n link: \"\".concat(_constant.WELLKNOWN_SERVICE_PATH_PREFIX, \"/admin\"),\n from: 'tmpl'\n }]\n }]\n};\nfunction isSameNavigation(a, b) {\n if (a.section && b.section) {\n return a.section === b.section && a.id === b.id;\n }\n return a.id === b.id;\n}\nfunction useNavigation() {\n const {\n blocklet,\n actions\n } = (0, _blocklet.useBlockletContext)();\n const {\n navigationList,\n components,\n builtinList\n } = (0, _parseNavigationFromBlocklet.parseNavigation)(blocklet, {\n beforeProcess(rawList) {\n const copyList = (0, _cloneDeep.default)(rawList);\n // 注入默认的 dashboard 菜单\n injectNavigationData.dashboard.forEach(item => {\n if (!copyList.some(x => x.id === item.id)) {\n copyList.push(item);\n }\n });\n // 注入默认的 sessionManager 菜单\n if (!copyList.some(x => x.id && (x.section || []).includes('sessionManager'))) {\n copyList.push(...injectNavigationData.sessionManager);\n }\n return copyList;\n }\n });\n const state = (0, _ahooks.useReactive)({\n rawNavigation: (0, _cloneDeep.default)(navigationList),\n activeSection: DEFAULT_SECTION,\n components\n });\n const navigation = (0, _react.useMemo)(() => {\n return (0, _parseNavigationFromBlocklet.nestNavigationList)(state.rawNavigation);\n }, [state.rawNavigation]);\n const treeNavigation = (0, _react.useMemo)(() => {\n const rawData = (0, _parseNavigationFromBlocklet.filterNavigation)(state.rawNavigation, components);\n const navigationWithLink = (0, _parseNavigationFromBlocklet.joinLink)(rawData, components);\n return (0, _parseNavigationFromBlocklet.cleanOrphanNavigation)(navigationWithLink);\n }, [components, state.rawNavigation]);\n function getNavigationFullLink(navigationItem) {\n if (!navigationItem.id) return '';\n const fullList = (0, _parseNavigationFromBlocklet.flatternNavigation)((0, _parseNavigationFromBlocklet.joinLink)(navigation, components));\n const findItem = fullList.find(item => item.id === navigationItem.id);\n // eslint-disable-next-line react/prop-types\n function Uninstalled(_ref) {\n let {\n name\n } = _ref;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Chip, {\n label: \"Uninstalled: \".concat(name),\n color: \"error\",\n size: \"small\",\n variant: \"outlined\",\n sx: {\n fontSize: 10,\n height: 20\n }\n });\n }\n if (findItem !== null && findItem !== void 0 && findItem.component) {\n if (!components.some(x => x.name === findItem.component)) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(Uninstalled, {\n name: findItem.component\n });\n }\n } else if (findItem.parent) {\n const parent = fullList.find(x => x.id === findItem.parent);\n if (parent !== null && parent !== void 0 && parent.component) {\n if (!components.some(x => x.name === parent.component)) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(Uninstalled, {\n name: parent.component\n });\n }\n }\n }\n return findItem === null || findItem === void 0 ? void 0 : findItem.link;\n }\n function updateActiveSection(activeSection) {\n state.activeSection = activeSection;\n }\n function updateNavigationTree(tree) {\n const list = [];\n (0, _parseNavigationFromBlocklet.deepWalk)(tree, (treeItem, parent) => {\n const tmpData = _objectSpread(_objectSpread({}, (0, _omit.default)(treeItem, ['children', 'expand'])), {}, {\n parent: parent === null || parent === void 0 ? void 0 : parent.id\n });\n list.push(tmpData);\n });\n const unchangedNavigation = state.rawNavigation.filter(item => {\n if (!state.activeSection) {\n return false;\n }\n const findItem = list.find(v => isSameNavigation(v, item));\n if (findItem) {\n return !(0, _parseNavigationFromBlocklet.isMatchSection)(findItem.section, state.activeSection);\n }\n return true;\n });\n state.rawNavigation = [...unchangedNavigation, ...list];\n }\n /**\n * 更新导航的一个节点\n * @param {object} itemData 更新的数据\n */\n function updateNavigationItem(itemData) {\n _saveNavigationChange([itemData]);\n }\n function _saveNavigationChange() {\n let changed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n const updatedNavigation = state.rawNavigation.map(item => {\n const findChanged = changed.find(changeItem => isSameNavigation(_objectSpread(_objectSpread({}, changeItem), {}, {\n section: state.activeSection\n }), item));\n if (findChanged) {\n return _objectSpread(_objectSpread({}, item), findChanged);\n }\n return item;\n });\n state.rawNavigation = updatedNavigation;\n }\n /**\n * 删除一个导航节点\n * @param {string} id 导航的 ID\n */\n function delNavigationItem(id) {\n const relatedNavigationId = state.rawNavigation.filter(item => item.id === id || item.parent === id).map(item => item.id);\n state.rawNavigation = state.rawNavigation.filter(item => !relatedNavigationId.includes(item.id));\n }\n /**\n * 增加一个导航节点\n * @param {object} params 导航数据\n */\n function addNavigationItem() {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const data = _objectSpread(_objectSpread({}, params), {}, {\n // 新增的数据使用随机生成的 nanoid (A-Za-z0-9_-)\n id: (0, _nanoid.nanoid)(),\n section: state.activeSection,\n visible: true\n });\n state.rawNavigation = [...state.rawNavigation, data];\n }\n\n /**\n * 将树状结构转换为数据库存储的导航结构\n * @param {array} tree 树状结构\n * @returns array\n */\n // eslint-disable-next-line no-unused-vars\n function tree2navigation(tree) {\n const list = tree.map(item => {\n const items = item.children || [];\n return {\n title: item.title,\n icon: item.icon,\n link: item.link,\n items: tree2navigation(items),\n section: item.section,\n visible: item.visible,\n parent: item.parent,\n component: item.component,\n role: item.role,\n from: item.from,\n id: item.id\n };\n });\n return list;\n }\n /**\n * 将数据库中的导航数据转换为树状结构\n * @param {array} list 数据库中导航的结构\n * @param {string} baseLink 当前 tree 的 base\n * @returns 树状结构\n */\n function navigation2tree(list) {\n let baseLink = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : BASE_LINK;\n const tree = list.map(item => {\n const findComponent = components.find(componentItem => componentItem.name === item.component);\n const base = (findComponent === null || findComponent === void 0 ? void 0 : findComponent.link) || baseLink;\n const children = item.items || [];\n const {\n link\n } = item;\n return {\n title: item.title,\n subtitle: getNavigationFullLink(item),\n link,\n icon: item.icon,\n children: navigation2tree(children, link || BASE_LINK),\n section: item.section,\n visible: item.visible,\n parent: item.parent,\n component: item.component,\n id: item.id,\n role: item.role,\n from: item.from,\n __base: base\n };\n });\n return tree;\n }\n\n /**\n * 获取指定区块的导航数据\n * @param {string} section 导航所属区块\n * @returns 在指定导航区块内的导航数据\n */\n function getNavigation(section) {\n const copyNavigation = (0, _cloneDeep.default)(navigation);\n const filteredSectionNavigation = copyNavigation.filter(item => {\n return (0, _parseNavigationFromBlocklet.isMatchSection)(item.section, section);\n });\n return navigation2tree(filteredSectionNavigation);\n }\n\n /**\n * 将导航数据保存到后端\n * @param {array} list 需要保存的导航数据\n */\n async function saveNavigationList(list) {\n const data = list.map(item => {\n return (0, _omitBy.default)(item, _isNil.default);\n });\n const formartedData = data.map(item => {\n const tempData = _objectSpread({}, item);\n if (tempData.role && Array.isArray(tempData.role)) {\n tempData.role = JSON.stringify(tempData.role);\n }\n if (tempData.section && Array.isArray(tempData.section)) {\n tempData.section = JSON.stringify(tempData.section);\n }\n if (tempData.title && tempData.title instanceof Object) {\n tempData.title = JSON.stringify(tempData.title);\n }\n if (tempData.link && tempData.link instanceof Object) {\n tempData.link = JSON.stringify(tempData.link);\n }\n return tempData;\n });\n // .filter((item) => item.from !== ' tmpl');\n await actions.configNavigations(formartedData);\n }\n async function resetNavigation() {\n await saveNavigationList([]);\n state.rawNavigation = (0, _cloneDeep.default)(builtinList);\n }\n return {\n state,\n navigation: treeNavigation,\n components,\n getNavigationFullLink,\n updateActiveSection,\n updateNavigationItem,\n delNavigationItem,\n addNavigationItem,\n updateNavigationTree,\n getNavigation,\n saveNavigationList,\n resetNavigation\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Feedback;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _material = require(\"@mui/material\");\nvar _Link = _interopRequireDefault(require(\"@mui/material/Link\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _jsxRuntime = require(\"@emotion/react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n/** @jsxImportSource @emotion/react */\n\nfunction Feedback(_ref) {\n let {\n infos\n } = _ref;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const infoStr = infos.map(x => \"* \".concat(x.label, \": \").concat(x.value)).join('\\n');\n const feedbackUrl = new URL('https://github.com/blocklet/blocklet-site/issues/new');\n feedbackUrl.searchParams.set('title', '[Feedback]');\n feedbackUrl.searchParams.set('body', \"<!-- [Enter feedback here] -->\\n\\n\\n\\n<!--\\nDocument Details\\n\".concat(infoStr, \"\\n* Page: \").concat(window.location.href, \"\\n-->\\n\"));\n return (0, _jsxRuntime.jsx)(_material.Box, {\n sx: {\n mx: {\n xs: 0,\n md: 2\n }\n },\n children: (0, _jsxRuntime.jsx)(_Link.default, {\n sx: {\n color: 'text.primary'\n },\n target: \"_blank\",\n href: feedbackUrl.href,\n rel: \"noreferrer\",\n style: {\n textDecoration: 'underline'\n },\n children: t('common.reportIssue')\n })\n });\n}\nFeedback.propTypes = {\n infos: _propTypes.default.arrayOf(_propTypes.default.shape({\n label: _propTypes.default.string,\n value: _propTypes.default.string\n }))\n};\nFeedback.defaultProps = {\n infos: []\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _react = require(\"react\");\nvar _useInterval = _interopRequireDefault(require(\"react-use/lib/useInterval\"));\nvar _util = require(\"../util\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction Clock() {\n const [currentTime, setCurrentTime] = (0, _react.useState)(+new Date());\n (0, _useInterval.default)(() => {\n setCurrentTime(+new Date());\n }, 1000);\n return (0, _util.formatTime)(currentTime, 'MMMM Do YYYY, h:mm:ss a');\n}\nvar _default = Clock;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = DownloadLog;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _dayjs = _interopRequireDefault(require(\"dayjs\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _Download = _interopRequireDefault(require(\"@mui/icons-material/Download\"));\nvar _FormControl = _interopRequireDefault(require(\"@mui/material/FormControl\"));\nvar _Select = _interopRequireDefault(require(\"@mui/material/Select\"));\nvar _MenuItem = _interopRequireDefault(require(\"@mui/material/MenuItem\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Dialog = _interopRequireDefault(require(\"@arcblock/ux/lib/Dialog\"));\nvar _formatName = _interopRequireDefault(require(\"@abtnode/util/lib/format-name\"));\nvar _node = require(\"../contexts/node\");\nvar _toast = _interopRequireDefault(require(\"../toast\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst DAYS = [1, 7];\nfunction DownloadLog(_ref) {\n let {\n id,\n name\n } = _ref;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const {\n restApi,\n inService\n } = (0, _node.useNodeContext)();\n const [showDialog, setShowDialog] = (0, _react.useState)(false);\n const [isDownloading, setIsDownloading] = (0, _react.useState)(false);\n const [days, setDays] = (0, _react.useState)(1);\n const onDownload = async () => {\n if (isDownloading) {\n return;\n }\n try {\n setIsDownloading(true);\n const logId = inService ? '' : \"/\".concat(id);\n const res = await restApi.get(\"/download/log\".concat(logId, \"?days=\").concat(days), {\n responseType: 'blob'\n });\n const href = URL.createObjectURL(res.data);\n const link = document.createElement('a');\n link.href = href;\n link.setAttribute('download', \"\".concat((0, _formatName.default)(name || id), \".\").concat((0, _dayjs.default)().format('YYYYMMDDHHmmss'), \".log.zip\"));\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(href);\n setIsDownloading(false);\n } catch (error) {\n setIsDownloading(false);\n _toast.default.error(error.message);\n }\n };\n const onDaysChange = e => {\n setDays(e.target.value);\n };\n return [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n style: {\n gap: 16\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n \"data-cy\": \"download-logs\",\n variant: \"outlined\",\n onClick: () => setShowDialog(true),\n disabled: isDownloading,\n children: [isDownloading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Download.default, {\n fontSize: \"small\",\n style: {\n transform: 'translateY(2px)'\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n ml: 0.5,\n children: t('common.download')\n })]\n })\n }), showDialog && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.default, {\n open: true,\n onClose: () => {\n setShowDialog(false);\n },\n disableEscapeKeyDown: true,\n title: t('common.download'),\n PaperProps: {\n style: {\n minHeight: 'auto'\n }\n },\n actions: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n \"data-cy\": \"download-logs\",\n variant: \"outlined\",\n onClick: () => onDownload(),\n disabled: isDownloading,\n children: [isDownloading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n ml: 0.5,\n children: t('common.confirm')\n })]\n }),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mb: 2,\n display: \"flex\",\n justifyContent: \"center\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormControl.default, {\n size: \"small\",\n fullWidth: true,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Select.default, {\n value: days,\n onChange: onDaysChange,\n children: DAYS.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {\n value: x,\n children: t(\"log.lastDays.\".concat(x))\n }, x))\n })\n })\n })\n })];\n}\nDownloadLog.propTypes = {\n id: _propTypes.default.string.isRequired,\n name: _propTypes.default.string\n};\nDownloadLog.defaultProps = {\n name: ''\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LogTerminal = void 0;\nexports.LogTerminalGroup = LogTerminalGroup;\nvar _react = require(\"react\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Button = _interopRequireDefault(require(\"@mui/material/Button\"));\nvar _ButtonGroup = _interopRequireDefault(require(\"@mui/material/ButtonGroup\"));\nvar _useMediaQuery = _interopRequireDefault(require(\"@mui/material/useMediaQuery\"));\nvar _Terminal = _interopRequireDefault(require(\"@arcblock/terminal/lib/Terminal\"));\nvar _clock = _interopRequireDefault(require(\"./clock\"));\nvar _node = require(\"../contexts/node\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject, _templateObject2;\nconst _excluded = [\"name\", \"logId\", \"types\", \"initialData\", \"prepend\", \"postpend\"],\n _excluded2 = [\"logFile\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/**\n * 按 level/destination 分类的一组 terminal\n */\nfunction LogTerminalGroup(_ref) {\n let {\n name,\n logId,\n types,\n initialData,\n prepend,\n postpend\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n const {\n ws: {\n useSubscription\n }\n } = (0, _node.useNodeContext)();\n const logTypeLabels = {\n info: 'Info',\n error: 'Error',\n access: 'Access',\n stdout: 'stdout',\n stderr: 'stderr'\n };\n const isMobile = (0, _useMediaQuery.default)(theme => theme.breakpoints.down('md'));\n const [currentType, setCurrentType] = (0, _react.useState)(types[0]);\n const [logFiles, setLogFiles] = (0, _react.useState)();\n const terminalRefs = (0, _react.useRef)({});\n\n // 组件挂载时, 写入初始数据\n (0, _react.useEffect)(() => {\n types.forEach(type => {\n const terminal = terminalRefs.current[type];\n if (terminal) {\n terminal.write(\"Collecting \".concat(type, \" logs for \").concat(name, \"...\"));\n terminal.write('\\r\\n\\r\\n');\n initialData.forEach(item => terminal.write(item));\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // 监听 log 数据, 写入 terminal\n useSubscription(\"log.\".concat(logId), log => {\n if (!logFiles) {\n setLogFiles(log.logFiles || {});\n }\n const terminal = terminalRefs.current[log.level];\n if (terminal) {\n terminal.write(log.data.replace(/.\\n/g, p => p === '\\r\\n' ? p : \"\".concat(p[0], \"\\r\\n\\r\\n\")));\n terminal.write('\\r\\n\\r\\n');\n }\n }, []);\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(LogTerminalGroupRoot, _objectSpread(_objectSpread({}, rest), {}, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"log-terminal-group-head\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"log-terminal-group-head-start\",\n children: [prepend, /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonGroup.default, {\n variant: \"outlined\",\n size: isMobile ? 'small' : 'medium',\n children: types.map(type => {\n const props = type === currentType ? {\n variant: 'contained'\n } : {};\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, _objectSpread(_objectSpread({}, props), {}, {\n onClick: () => setCurrentType(type),\n children: logTypeLabels[type]\n }), type);\n })\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"log-terminal-group-head-end\",\n children: postpend\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"log-terminal-group-terminals\",\n children: types.map(type => {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(LogTerminal, {\n ref: _ref2 => {\n terminalRefs.current[type] = _ref2;\n },\n logFile: logFiles === null || logFiles === void 0 ? void 0 : logFiles[type],\n style: {\n visibility: type === currentType ? 'visible' : 'hidden'\n }\n }, type);\n })\n })]\n }));\n}\nLogTerminalGroup.propTypes = {\n // log name, 比如: blocklet display name\n name: _propTypes.default.string.isRequired,\n // 比如: abtnode | blocklet-services | blocklet-<did>\n logId: _propTypes.default.string.isRequired,\n // 日志类型, info/error 或 stdin/stdout/access\n types: _propTypes.default.arrayOf(_propTypes.default.string),\n // 写入 terminal 的初始数据\n initialData: _propTypes.default.arrayOf(_propTypes.default.string),\n prepend: _propTypes.default.node,\n postpend: _propTypes.default.node\n};\nLogTerminalGroup.defaultProps = {\n types: ['error', 'info', 'access', 'stdout', 'stderr'],\n initialData: [],\n prepend: null,\n postpend: null\n};\nconst LogTerminalGroupRoot = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n .log-terminal-group-head {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding-bottom: 16px;\\n }\\n\\n .log-terminal-group-head-start {\\n flex: 0 0 auto;\\n display: flex;\\n align-items: center;\\n gap: 16px;\\n \", \" {\\n flex-direction: column;\\n align-items: start;\\n }\\n }\\n\\n .log-terminal-group-head-end {\\n flex: 0 0 auto;\\n display: flex;\\n align-items: center;\\n gap: 16px;\\n \", \" {\\n flex-direction: column;\\n align-items: start;\\n }\\n }\\n .log-terminal-group-terminals {\\n flex: 1;\\n position: relative;\\n overflow: hidden;\\n > * {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n }\\n }\\n\"])), props => props.theme.breakpoints.down('md'), props => props.theme.breakpoints.down('md'));\nconst LogTerminal = /*#__PURE__*/(0, _react.forwardRef)((_ref3, ref) => {\n let {\n logFile\n } = _ref3,\n rest = _objectWithoutProperties(_ref3, _excluded2);\n const terminalStyle = {\n width: '100%',\n boxSizing: 'border-box',\n height: '100%'\n };\n const terminalOptions = {\n theme: {\n background: '#2C313C',\n foreground: '#EEEEEE'\n }\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(LogTerminalRoot, _objectSpread(_objectSpread({}, rest), {}, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"log-terminal-top\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_clock.default, {}), logFile && /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n children: logFile\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"log-terminal-container\",\n style: {\n position: 'relative'\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Terminal.default, {\n ref: ref,\n style: terminalStyle,\n options: terminalOptions\n })\n })]\n }));\n});\nexports.LogTerminal = LogTerminal;\nLogTerminal.propTypes = {\n logFile: _propTypes.default.string\n};\nLogTerminal.defaultProps = {\n logFile: ''\n};\nconst LogTerminalRoot = _styled.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n height: 100%;\\n display: flex;\\n flex-direction: column;\\n .log-terminal-top {\\n flex: 0 0 auto;\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n flex-wrap: wrap;\\n padding: 8px;\\n font-size: 14px;\\n color: aquamarine;\\n background: darkgray;\\n word-break: break-word;\\n }\\n .log-terminal-container {\\n flex: 1;\\n height: 100%;\\n padding: 8px;\\n overflow: hidden;\\n background: #2c313c;\\n }\\n\\n .xterm-viewport::-webkit-scrollbar {\\n width: 10px;\\n }\\n .xterm-viewport::-webkit-scrollbar-track {\\n opacity: 0;\\n }\\n .xterm-viewport::-webkit-scrollbar-thumb {\\n min-height: 20px;\\n background-color: #ffffff20;\\n }\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = MonitCard;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _Card = _interopRequireDefault(require(\"@mui/material/Card\"));\nvar _CardContent = _interopRequireDefault(require(\"@mui/material/CardContent\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction MonitCard(_ref) {\n let {\n style,\n title,\n value,\n graph,\n description,\n hideDescription\n } = _ref;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledCard, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_CardContent.default, {\n style: _objectSpread({}, style),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n sx: {\n fontSize: 14\n },\n color: \"text.secondary\",\n children: title\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n variant: \"h5\",\n component: \"div\",\n mt: 1,\n children: value\n }), graph, !hideDescription && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n display: \"flex\",\n sx: {\n fontSize: 12,\n marginTop: 3\n },\n color: \"text.secondary\",\n children: description\n })]\n })\n });\n}\nMonitCard.propTypes = {\n style: _propTypes.default.object,\n title: _propTypes.default.node,\n value: _propTypes.default.node,\n graph: _propTypes.default.node,\n description: _propTypes.default.node,\n hideDescription: _propTypes.default.bool\n};\nMonitCard.defaultProps = {\n style: {},\n title: null,\n value: null,\n graph: null,\n description: null,\n hideDescription: false\n};\nconst StyledCard = (0, _styled.default)(_Card.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .card-content {\\n height: 150px;\\n }\\n\\n .card-sparkline {\\n flex: 2;\\n display: flex;\\n position: relative;\\n *[hidden] {\\n display: none;\\n }\\n }\\n .sparkline {\\n stroke: \", \";\\n fill: \", \"1A;\\n }\\n .tooltip {\\n position: absolute;\\n background: rgba(0, 0, 0, 0.7);\\n color: #fff;\\n padding: 2px 5px;\\n font-size: 12px;\\n white-space: nowrap;\\n z-index: 9999;\\n }\\n .sparkline--cursor {\\n stroke: orange;\\n }\\n\\n .sparkline--spot {\\n fill: red;\\n stroke: red;\\n }\\n\"])), props => props.theme.palette.primary.main, props => props.theme.palette.primary.main);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = CpuMonitor;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _ahooks = require(\"ahooks\");\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Sparkline = _interopRequireDefault(require(\"@arcblock/ux/lib/Sparkline\"));\nvar _card = _interopRequireDefault(require(\"./card\"));\nvar _util = require(\"../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nconst formatNumber = x => \"\".concat(x, \"%\");\nfunction CpuMonitor(_ref) {\n let {\n cpus,\n currentLoad,\n history,\n hideDescription\n } = _ref;\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n const svgRef = (0, _react.useRef)(null);\n const tooltipRef = (0, _react.useRef)(null);\n const tooltipState = (0, _ahooks.useReactive)({\n style: {\n top: 0,\n left: 0\n },\n hidden: true,\n textContent: ''\n });\n const [cpuDom, setCpuDom] = (0, _react.useState)();\n const size = (0, _ahooks.useSize)(cpuDom) || {};\n const sparklineOptions = {\n onmousemove(event, dataPoint) {\n const date = (0, _util.formatTime)(dataPoint.date, 'HH:mm');\n const left = '80px';\n tooltipState.textContent = \"\".concat(date, \": \").concat(formatNumber(dataPoint.value));\n tooltipState.style.top = '-30px';\n tooltipState.style.left = left;\n tooltipState.hidden = false;\n },\n onmouseout() {\n tooltipState.hidden = true;\n }\n };\n (0, _react.useEffect)(() => {\n // if (!loading) {\n // // see: https://github.com/alibaba/hooks/issues/838\n // }\n setTimeout(() => {\n setCpuDom(document.querySelector('.cpu-sparkline'));\n setTimeout(() => {\n if (svgRef.current) {\n // sparkline(svgRef.current, downloads, sparklineOptions);\n (0, _Sparkline.default)(svgRef.current, history || [], sparklineOptions);\n }\n }, 400);\n });\n }, [history]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_card.default, {\n title: t('common.cpu'),\n value: \"\".concat(Math.floor(currentLoad || 0), \"%\"),\n graph: /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"card-sparkline cpu-sparkline\",\n style: {\n marginTop: 16\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"svg\", {\n ref: svgRef,\n className: \"sparkline\",\n width: size.width || 100,\n height: 30,\n strokeWidth: \"2\"\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n className: \"tooltip\",\n ref: tooltipRef,\n hidden: tooltipState.hidden,\n style: _objectSpread({}, tooltipState.style),\n children: tooltipState.textContent\n })]\n }),\n description: \"\".concat(t('system.cores'), \": \").concat((cpus === null || cpus === void 0 ? void 0 : cpus.length) || 0),\n hideDescription: hideDescription\n });\n}\nCpuMonitor.propTypes = {\n cpus: _propTypes.default.array,\n currentLoad: _propTypes.default.number,\n history: _propTypes.default.array,\n hideDescription: _propTypes.default.bool\n};\nCpuMonitor.defaultProps = {\n cpus: [],\n currentLoad: 0,\n history: [],\n hideDescription: false\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = MemoryMonitor;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _filesize = _interopRequireDefault(require(\"filesize\"));\nvar _ahooks = require(\"ahooks\");\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Sparkline = _interopRequireDefault(require(\"@arcblock/ux/lib/Sparkline\"));\nvar _card = _interopRequireDefault(require(\"./card\"));\nvar _util = require(\"../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nconst formatNumber = x => (0, _filesize.default)(x);\nfunction MemoryMonitor(_ref) {\n let {\n instanceCount,\n title,\n total,\n used,\n history,\n hideDescription\n } = _ref;\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n const svgRef = (0, _react.useRef)(null);\n const tooltipRef = (0, _react.useRef)(null);\n const tooltipState = (0, _ahooks.useReactive)({\n style: {\n top: 0,\n left: 0\n },\n hidden: true,\n textContent: ''\n });\n const [dom, setDom] = (0, _react.useState)();\n const size = (0, _ahooks.useSize)(dom) || {};\n const showPercent = !!total;\n const available = total - used;\n const memoryPercent = showPercent ? \"(\".concat(Math.floor(used / total * 100), \"%)\") : '';\n const memoryList = [];\n if (instanceCount) {\n memoryList.push({\n title: t('system.instances'),\n metric: instanceCount\n });\n }\n memoryList.push({\n title: t('system.used'),\n metric: (0, _filesize.default)(used)\n });\n if (showPercent) {\n memoryList.push({\n title: t('system.free'),\n metric: (0, _filesize.default)(available)\n }, {\n title: t('system.total'),\n metric: (0, _filesize.default)(total)\n });\n }\n const sparklineOptions = {\n onmousemove(event, dataPoint) {\n const date = (0, _util.formatTime)(dataPoint.date, 'HH:mm');\n const left = '80px';\n tooltipState.textContent = \"\".concat(date, \": \").concat(formatNumber(dataPoint.value));\n tooltipState.style.top = '-30px';\n tooltipState.style.left = left;\n tooltipState.hidden = false;\n },\n onmouseout() {\n tooltipState.hidden = true;\n }\n };\n (0, _react.useEffect)(() => {\n // if (!loading) {\n // // see: https://github.com/alibaba/hooks/issues/838\n // }\n setTimeout(() => {\n setDom(document.querySelector('.mem-sparkline'));\n setTimeout(() => {\n if (svgRef.current) {\n (0, _Sparkline.default)(svgRef.current, history, sparklineOptions);\n }\n }, 400);\n });\n }, [history]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_card.default, {\n title: title || t('common.memory'),\n value: \"\".concat((0, _filesize.default)(Math.floor(used || 0)), \" \").concat(memoryPercent),\n graph: /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"card-sparkline mem-sparkline\",\n style: {\n marginTop: 16\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"svg\", {\n ref: svgRef,\n className: \"sparkline\",\n width: size.width || 100,\n height: 30,\n strokeWidth: \"2\"\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n className: \"tooltip\",\n ref: tooltipRef,\n hidden: tooltipState.hidden,\n style: _objectSpread({}, tooltipState.style),\n children: tooltipState.textContent\n })]\n }),\n description: memoryList.map((x, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n sx: {\n marginLeft: index === 0 ? 0 : 2\n },\n children: [x.title, \": \", x.metric]\n }, x.title)),\n hideDescription: hideDescription\n });\n}\nMemoryMonitor.propTypes = {\n title: _propTypes.default.string,\n instanceCount: _propTypes.default.number,\n total: _propTypes.default.number,\n used: _propTypes.default.number,\n history: _propTypes.default.array,\n hideDescription: _propTypes.default.bool\n};\nMemoryMonitor.defaultProps = {\n title: '',\n instanceCount: null,\n total: null,\n used: null,\n history: [],\n hideDescription: false\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = PassportTag;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _Close = _interopRequireDefault(require(\"@mui/icons-material/Close\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nconst _excluded = [\"passport\", \"onDelete\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction PassportTag(props) {\n const {\n passport,\n onDelete\n } = props,\n rest = _objectWithoutProperties(props, _excluded);\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Tag, _objectSpread(_objectSpread({}, rest), {}, {\n children: [passport.title || passport.name, ' ', !!onDelete && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Close.default, {\n \"data-cy\": \"delete-issuance\",\n className: \"delete\",\n onClick: onDelete\n })]\n }));\n}\nPassportTag.propTypes = {\n passport: _propTypes.default.object.isRequired,\n onDelete: _propTypes.default.func\n};\nPassportTag.defaultProps = {\n onDelete: null\n};\nconst Tag = _styled.default.span(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n display: inline-flex;\\n padding: 2px 8px;\\n background: \", \";\\n border-radius: 100vw;\\n font-weight: 400;\\n font-size: 12px;\\n line-height: 22px;\\n color: #fff;\\n align-items: center;\\n .delete {\\n font-size: 1em;\\n margin-left: 6px;\\n cursor: pointer;\\n }\\n\"])), props => props.theme.palette.primary.main);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Permission;\nexports.withPermission = withPermission;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _session = require(\"./contexts/session\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction Permission(_ref) {\n let {\n permission,\n role,\n component,\n children\n } = _ref;\n const {\n session\n } = (0, _session.useSessionContext)();\n let can = true;\n const permissions = [].concat(permission).filter(Boolean);\n const roles = [].concat(role).filter(Boolean);\n if (permissions.length) {\n const userPermissions = session.user && session.user.permissions || [];\n can = permissions.some(p => userPermissions.includes(p));\n }\n if (can && roles.length) {\n can = roles.includes(session.user.role);\n }\n if (typeof component === 'function') {\n return component(can);\n }\n if (typeof children === 'function') {\n return children(can);\n }\n if (can) {\n return component || children || null;\n }\n return null;\n}\nfunction withPermission(Component, permissionName, role) {\n return function WithPermission(props) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(Permission, {\n permission: permissionName,\n role: role,\n children: hasPermission => /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, _objectSpread(_objectSpread({}, props), {}, {\n hasPermission: hasPermission\n }))\n });\n };\n}\nPermission.propTypes = {\n permission: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]),\n role: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]),\n component: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.node]),\n children: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.node])\n};\nPermission.defaultProps = {\n permission: '',\n role: '',\n component: null,\n children: null\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = RelativeTime;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _prettyMsI18n = _interopRequireDefault(require(\"pretty-ms-i18n\"));\nvar _Tooltip = _interopRequireDefault(require(\"@mui/material/Tooltip\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _util = require(\"./util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction RelativeTime(_ref) {\n let {\n value\n } = _ref;\n const {\n t,\n locale\n } = (0, _context.useLocaleContext)();\n if (!value) {\n return '-';\n }\n const prettyOption = {\n locale: locale === 'zh' ? 'zh_CN' : 'zh_US',\n compact: true\n };\n const valTime = new Date(value).getTime();\n const now = Date.now();\n if (valTime > now) {\n const time = (0, _prettyMsI18n.default)(valTime - now, prettyOption);\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: (0, _util.formatToDatetime)(value),\n placement: \"top-end\",\n enterTouchDelay: 0,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n children: t('common.afterTime', {\n time\n })\n })\n });\n }\n const time = (0, _prettyMsI18n.default)(now - valTime, prettyOption);\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: (0, _util.formatToDatetime)(value),\n placement: \"top-end\",\n enterTouchDelay: 0,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n children: t('common.timeAgo', {\n time\n })\n })\n });\n}\nRelativeTime.propTypes = {\n value: _propTypes.default.any\n};\nRelativeTime.defaultProps = {\n value: ''\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = AddStore;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styles = require(\"@mui/styles\");\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _Dialog = _interopRequireDefault(require(\"@arcblock/ux/lib/Dialog\"));\nvar _DialogContentText = _interopRequireDefault(require(\"@mui/material/DialogContentText\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _TextField = _interopRequireDefault(require(\"@mui/material/TextField\"));\nvar _ListItem = _interopRequireDefault(require(\"@mui/material/ListItem\"));\nvar _Add = _interopRequireDefault(require(\"@mui/icons-material/Add\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _Alert = _interopRequireDefault(require(\"@arcblock/ux/lib/Alert\"));\nvar _node = require(\"../contexts/node\");\nvar _util = require(\"../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst useStyles = (0, _styles.makeStyles)(theme => ({\n addMenuItemRoot: {\n justifyContent: 'center',\n color: theme.palette.primary.main,\n lineHeight: '3.2'\n }\n}));\nfunction AddStore(_ref) {\n let {\n disabled,\n storeList,\n teamDid,\n onAdd\n } = _ref;\n const {\n api\n } = (0, _node.useNodeContext)();\n const [loading, setLoading] = (0, _react.useState)(false);\n const [disable, setDisable] = (0, _react.useState)(true);\n const [open, setOpen] = (0, _react.useState)(false);\n const [url, setUrl] = (0, _react.useState)('');\n const [error, setError] = (0, _react.useState)('');\n const {\n t\n } = (0, _context.useLocaleContext)();\n const classes = useStyles();\n const onConfirm = async () => {\n setLoading(true);\n try {\n const {\n isNew,\n decoded\n } = (0, _util.isNewStoreUrl)(url, storeList);\n if (!isNew) {\n throw new Error(t('store.blockletRegistry.haveSameRegistry'));\n }\n await api.addBlockletStore({\n input: {\n teamDid,\n url: decoded\n }\n });\n onAdd(decoded);\n setOpen(false);\n } catch (err) {\n const errMsg = \"\".concat(t('store.blockletRegistry.addFailed'), \" \").concat((0, _util.formatError)(err));\n setError(errMsg);\n } finally {\n setLoading(false);\n }\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_ListItem.default, {\n button: true,\n disabled: disabled,\n className: classes.addMenuItemRoot,\n onClick: () => {\n setOpen(true);\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Add.default, {\n font: true\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n variant: \"inherit\",\n children: t('store.blockletRegistry.addRegistry')\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Dialog.default, {\n title: t('store.blockletRegistry.addRegistry'),\n fullWidth: true,\n maxWidth: \"md\",\n open: open,\n onClose: () => setOpen(false),\n PaperProps: {\n style: {\n minHeight: 'auto'\n }\n },\n actions: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n setOpen(false);\n },\n color: \"inherit\",\n children: t('common.cancel')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n onConfirm();\n },\n color: \"primary\",\n \"data-cy\": \"install-blocklet-next-step\",\n disabled: loading || !url || disable,\n variant: \"contained\",\n autoFocus: true,\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }), t('common.confirm')]\n })]\n }),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n style: {\n paddingTop: 12,\n overflowY: 'hidden'\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogContentText.default, {\n component: \"div\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n component: \"div\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n label: t('store.blockletRegistry.registryUrl'),\n autoComplete: \"off\",\n variant: \"outlined\",\n name: \"url\",\n fullWidth: true,\n value: url,\n onChange: e => {\n setError(null);\n let isDisabled = false;\n if (!e.target.value.trim()) {\n isDisabled = true;\n }\n if (!e.target.value.trim()) {\n setError(t('store.blockletRegistry.registryUrlEmpty'));\n }\n setUrl(e.target.value);\n setDisable(isDisabled);\n },\n disabled: loading,\n onKeyPress: e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n if (!e.target.value.trim()) {\n setError(t('store.blockletRegistry.registryUrlEmpty'));\n } else {\n onConfirm();\n }\n }\n }\n })\n })\n })\n }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n type: \"error\",\n style: {\n width: '100%'\n },\n children: error\n })]\n })]\n });\n}\nAddStore.propTypes = {\n teamDid: _propTypes.default.string.isRequired,\n disabled: _propTypes.default.bool,\n storeList: _propTypes.default.array,\n onAdd: _propTypes.default.func\n};\nAddStore.defaultProps = {\n disabled: false,\n storeList: [],\n onAdd: () => {}\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = DeleteStore;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\nvar _useTheme = _interopRequireDefault(require(\"@mui/material/styles/useTheme\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _DeleteOutline = _interopRequireDefault(require(\"@mui/icons-material/DeleteOutline\"));\nvar _node = require(\"../contexts/node\");\nvar _toast = _interopRequireDefault(require(\"../toast\"));\nvar _deleteConfirm = _interopRequireDefault(require(\"../delete-confirm\"));\nvar _util = require(\"../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction DeleteStore(_ref) {\n let {\n store,\n teamDid,\n onDelete\n } = _ref;\n const {\n api\n } = (0, _node.useNodeContext)();\n const {\n t\n } = (0, _context.useLocaleContext)();\n const [loading, setLoading] = (0, _react.useState)(false);\n const [confirmSetting, setConfirmSetting] = (0, _react.useState)(null);\n const theme = (0, _useTheme.default)();\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n const onConfirm = async () => {\n try {\n setLoading(true);\n await api.deleteBlockletStore({\n input: {\n teamDid,\n url: store.url\n }\n });\n if (onDelete && typeof onDelete === 'function') {\n onDelete();\n }\n } catch (err) {\n _toast.default.error(\"Remove Blocklet Store Error: \".concat((0, _util.formatError)(err)));\n } finally {\n setLoading(false);\n setConfirmSetting(null);\n }\n };\n const setting = {\n keyName: store.url,\n title: t('store.blockletRegistry.deleteRegistry'),\n description: t('store.blockletRegistry.deleteDesc', {\n name: \"<b>\".concat(store.url, \"</b>\"),\n color: theme.palette.error.main\n }),\n confirmPlaceholder: t('store.blockletRegistry.confirmDesc', {\n name: store.url\n }),\n confirm: t('common.delConfirm'),\n cancel: t('common.cancel'),\n onConfirm,\n onCancel\n };\n const onMenuItemClick = e => {\n e.stopPropagation();\n setConfirmSetting(setting);\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n disabled: loading,\n onClick: onMenuItemClick,\n size: \"large\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DeleteOutline.default, {})\n }), confirmSetting && /*#__PURE__*/(0, _jsxRuntime.jsx)(_deleteConfirm.default, {\n keyName: confirmSetting.keyName,\n title: confirmSetting.title,\n description: confirmSetting.description,\n confirmPlaceholder: confirmSetting.confirmPlaceholder,\n confirm: confirmSetting.confirm,\n cancel: confirmSetting.cancel,\n params: confirmSetting.params,\n onConfirm: confirmSetting.onConfirm,\n onCancel: confirmSetting.onCancel\n })]\n });\n}\nDeleteStore.propTypes = {\n teamDid: _propTypes.default.string.isRequired,\n store: _propTypes.default.object.isRequired,\n onDelete: _propTypes.default.func\n};\nDeleteStore.defaultProps = {\n onDelete: () => {}\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = StoreItem;\nvar _styles = require(\"@mui/styles\");\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _ListItemSecondaryAction = _interopRequireDefault(require(\"@mui/material/ListItemSecondaryAction\"));\nvar _Launch = _interopRequireDefault(require(\"@mui/icons-material/Launch\"));\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _delete = _interopRequireDefault(require(\"./delete\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n/* eslint-disable react/jsx-one-expression-per-line */\n\nconst useStyles = (0, _styles.makeStyles)(() => ({\n buttonText: {\n textTransform: 'none !important'\n },\n iconRoot: {\n minWidth: 24\n },\n menuName: {\n display: 'flex',\n flexDirection: 'column',\n marginRight: '100px',\n '& span': {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }\n }\n}));\nfunction StoreItem(_ref) {\n let {\n teamDid,\n store,\n onDelete\n } = _ref;\n const classes = useStyles();\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: classes.menuName,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n component: \"span\",\n variant: \"subtitle1\",\n style: {\n fontWeight: '400'\n },\n children: store.name\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n className: \"url\",\n component: \"span\",\n variant: \"inherit\",\n children: \"\".concat(store.url)\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ListItemSecondaryAction.default, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n onClick: e => {\n e.stopPropagation();\n window.open(store.url);\n },\n size: \"large\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Launch.default, {})\n }), !store.protected && /*#__PURE__*/(0, _jsxRuntime.jsx)(_delete.default, {\n store: store,\n onDelete: onDelete,\n teamDid: teamDid\n })]\n })]\n });\n}\nStoreItem.propTypes = {\n teamDid: _propTypes.default.string.isRequired,\n store: _propTypes.default.shape({\n name: _propTypes.default.string.isRequired,\n url: _propTypes.default.string.isRequired,\n protected: _propTypes.default.bool\n }).isRequired,\n onDelete: _propTypes.default.func\n};\nStoreItem.defaultProps = {\n onDelete: () => {}\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _Add = _interopRequireDefault(require(\"@mui/icons-material/Add\"));\nvar _Check = _interopRequireDefault(require(\"@mui/icons-material/Check\"));\nvar _Delete = _interopRequireDefault(require(\"@mui/icons-material/Delete\"));\nvar _Clear = _interopRequireDefault(require(\"@mui/icons-material/Clear\"));\nvar _SaveAlt = _interopRequireDefault(require(\"@mui/icons-material/SaveAlt\"));\nvar _Edit = _interopRequireDefault(require(\"@mui/icons-material/Edit\"));\nvar _Filter = _interopRequireDefault(require(\"@mui/icons-material/Filter\"));\nvar _FirstPage = _interopRequireDefault(require(\"@mui/icons-material/FirstPage\"));\nvar _LastPage = _interopRequireDefault(require(\"@mui/icons-material/LastPage\"));\nvar _ChevronRight = _interopRequireDefault(require(\"@mui/icons-material/ChevronRight\"));\nvar _ChevronLeft = _interopRequireDefault(require(\"@mui/icons-material/ChevronLeft\"));\nvar _Search = _interopRequireDefault(require(\"@mui/icons-material/Search\"));\nvar _ArrowDropDown = _interopRequireDefault(require(\"@mui/icons-material/ArrowDropDown\"));\nvar _Remove = _interopRequireDefault(require(\"@mui/icons-material/Remove\"));\nvar _ViewColumn = _interopRequireDefault(require(\"@mui/icons-material/ViewColumn\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar _default = {\n Add: _Add.default,\n Check: _Check.default,\n Delete: _Delete.default,\n Edit: _Edit.default,\n Clear: _Clear.default,\n DetailPanel: _ChevronRight.default,\n Filter: _Filter.default,\n FirstPage: _FirstPage.default,\n LastPage: _LastPage.default,\n NextPage: _ChevronRight.default,\n PreviousPage: _ChevronLeft.default,\n Search: _Search.default,\n ResetSearch: _Clear.default,\n SortArrow: _ArrowDropDown.default,\n Export: _SaveAlt.default,\n ThirdStateCheck: _Remove.default,\n ViewColumn: _ViewColumn.default\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nconst TableStyle = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .MuiPaper-root {\\n box-shadow: none !important;\\n border: none !important;\\n border-radius: 0 !important;\\n background: transparent;\\n }\\n .MuiToolbar-root {\\n background: transparent;\\n padding-left: 0;\\n display: none;\\n }\\n\\n &.show-pagination {\\n .MuiTablePagination-toolbar {\\n display: flex;\\n }\\n }\\n\\n .MuiTableHead-root th {\\n min-width: 100px;\\n background: transparent;\\n }\\n\\n .MuiTable-root {\\n overflow-y: hidden;\\n }\\n .MuiTableRow-root {\\n border: none !important;\\n }\\n\\n .MuiTableCell-root {\\n padding-right: 16px;\\n &:last-of-type {\\n padding-right: 0;\\n }\\n }\\n\\n /* @material-table/core@next \\u517C\\u5BB9 mui v5, \\u4F46 pagination \\u6837\\u5F0F\\u4F3C\\u4E4E\\u6709\\u4E9B\\u95EE\\u9898, \\u6682\\u5730\\u5B9A\\u5236\\u4E0B\\u9762\\u7684\\u6837\\u5F0F\\u4FEE\\u590D, \\u540E\\u9762\\u8003\\u8651\\u5F03\\u7528 material-table */\\n .MuiTablePagination-selectLabel,\\n .MuiTablePagination-displayedRows {\\n display: none;\\n }\\n .MuiTypography-caption {\\n display: inline-block;\\n }\\n .MuiTablePagination-selectLabel + .MuiInputBase-root {\\n margin-right: 8px;\\n }\\n\"])));\nvar _default = TableStyle;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Wrapped;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Tag = _interopRequireDefault(require(\"@arcblock/ux/lib/Tag\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nconst _excluded = [\"children\", \"style\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction Wrapped(_ref) {\n let {\n children,\n style\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tag.default, _objectSpread(_objectSpread({\n style: style\n }, rest), {}, {\n children: children\n }));\n}\nWrapped.propTypes = {\n children: _propTypes.default.any.isRequired,\n style: _propTypes.default.object\n};\nWrapped.defaultProps = {\n style: {}\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = MemberActions;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _MenuItem = _interopRequireDefault(require(\"@mui/material/MenuItem\"));\nvar _Add = _interopRequireDefault(require(\"@mui/icons-material/Add\"));\nvar _ListItemIcon = _interopRequireDefault(require(\"@mui/material/ListItemIcon\"));\nvar _ListItemText = _interopRequireDefault(require(\"@mui/material/ListItemText\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _ForbidLoginIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/ForbidLoginIcon\"));\nvar _AllowLoginIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/AllowLoginIcon\"));\nvar _team = require(\"../../contexts/team\");\nvar _actions = _interopRequireDefault(require(\"../../actions\"));\nvar _issuePassport = _interopRequireDefault(require(\"./issue-passport\"));\nvar _toggleUserApproval = _interopRequireDefault(require(\"./toggle-user-approval\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction MemberActions(_ref) {\n let {\n user,\n onIssuePassport\n } = _ref;\n const {\n teamDid,\n roles\n } = (0, _team.useTeamContext)();\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n const [enablePassportIssuance, setEnablePassportIssuance] = (0, _react.useState)(false);\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_actions.default, {\n \"data-cy\": \"member-actions\",\n actions: [{\n icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Add.default, {\n fontSize: \"small\"\n }),\n text: t('team.passport.issue'),\n 'data-cy': 'action-issue-passport',\n onClick: e => {\n e.stopPropagation();\n setEnablePassportIssuance(true);\n }\n },\n // eslint-disable-next-line react/no-unstable-nested-components\n _ref2 => {\n let {\n close\n } = _ref2;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_toggleUserApproval.default, {\n user: user,\n children: _ref3 => {\n let {\n open: o\n } = _ref3;\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_MenuItem.default, {\n dense: true,\n onClick: e => {\n e.stopPropagation();\n close();\n o(e);\n },\n \"data-cy\": \"action-toggle-block\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemIcon.default, {\n style: {\n minWidth: 24,\n marginRight: 8\n },\n children: user.approved ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ForbidLoginIcon.default, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_AllowLoginIcon.default, {})\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemText.default, {\n primary: user.approved ? t('team.member.forbidLogin') : t('team.member.allowLogin')\n })]\n });\n }\n }, \"toggle-approval\");\n }]\n }), enablePassportIssuance && /*#__PURE__*/(0, _jsxRuntime.jsx)(_issuePassport.default, {\n teamDid: teamDid,\n ownerDid: user.did,\n roles: roles,\n onCancel: () => setEnablePassportIssuance(false),\n onSuccess: () => {\n onIssuePassport();\n setEnablePassportIssuance(false);\n }\n })]\n });\n}\nMemberActions.propTypes = {\n user: _propTypes.default.object.isRequired,\n onIssuePassport: _propTypes.default.func\n};\nMemberActions.defaultProps = {\n onIssuePassport: () => {}\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = MemberList;\nvar _react = require(\"react\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _Dialog = _interopRequireDefault(require(\"@arcblock/ux/lib/Dialog\"));\nvar _Tooltip = _interopRequireDefault(require(\"@mui/material/Tooltip\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _FormControlLabel = _interopRequireDefault(require(\"@mui/material/FormControlLabel\"));\nvar _Checkbox = _interopRequireDefault(require(\"@mui/material/Checkbox\"));\nvar _Add = _interopRequireDefault(require(\"@mui/icons-material/Add\"));\nvar _Loop = _interopRequireDefault(require(\"@mui/icons-material/Loop\"));\nvar _Address = _interopRequireDefault(require(\"@arcblock/did-connect/lib/Address\"));\nvar _Avatar = _interopRequireDefault(require(\"@arcblock/did-connect/lib/Avatar\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _PersonIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/PersonIcon\"));\nvar _ExternalIssuerIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/ExternalIssuerIcon\"));\nvar _Datatable = _interopRequireWildcard(require(\"@arcblock/ux/lib/Datatable\"));\nvar _RelativeTime = _interopRequireDefault(require(\"@arcblock/ux/lib/RelativeTime\"));\nvar _constant = require(\"@abtnode/constant\");\nvar _toast = _interopRequireDefault(require(\"../../toast\"));\nvar _node = require(\"../../contexts/node\");\nvar _team = require(\"../../contexts/team\");\nvar _permission = _interopRequireDefault(require(\"../../permission\"));\nvar _util = require(\"../../util\");\nvar _inviteMember = _interopRequireDefault(require(\"./invite-member\"));\nvar _transferNode = _interopRequireDefault(require(\"./transfer-node\"));\nvar _member = _interopRequireDefault(require(\"./member\"));\nvar _invitations = _interopRequireDefault(require(\"./invitations\"));\nvar _actions = _interopRequireDefault(require(\"./actions\"));\nvar _util2 = require(\"./util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nconst ROLE_ALL = '$all';\nconst ROLE_NONE = '$none';\nconst getCount = (counts, name) => {\n const item = counts.find(x => x.key === name);\n return (item === null || item === void 0 ? void 0 : item.value) || 0;\n};\nconst isFromExternal = (user, teamIssuerDid) => {\n const list = user.passports || [];\n if (!list.length) {\n return false;\n }\n return !list.some(z => {\n var _z$issuer;\n return ((_z$issuer = z.issuer) === null || _z$issuer === void 0 ? void 0 : _z$issuer.id) === teamIssuerDid;\n });\n};\nfunction SimpleInfo(_ref) {\n let {\n user\n } = _ref;\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n const main = /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"member-block\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"member-avatar\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, {\n src: user.avatar,\n size: 24,\n did: user.did,\n shape: \"circle\",\n style: {\n borderRadius: '100%',\n overflow: 'hidden'\n }\n }), !user.approved && /*#__PURE__*/(0, _jsxRuntime.jsx)(\"did\", {\n className: \"badge-block\"\n }), user.isFromExternal && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: t('team.passport.externalPassport'),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n ml: 1,\n className: \"icon\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExternalIssuerIcon.default, {})\n })\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"member-text\",\n children: user.fullName\n })]\n });\n return user.approved ? main : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: t('team.member.forbidLoginDescription'),\n children: main\n })\n });\n}\nSimpleInfo.propTypes = {\n user: _propTypes.default.object.isRequired\n};\nfunction MemberList(_ref2) {\n let {\n type\n } = _ref2;\n const {\n teamDid,\n teamIssuerDid,\n invitations,\n roles,\n refresh,\n enablePassportIssuance,\n endpoint,\n api\n } = (0, _team.useTeamContext)();\n const {\n inService,\n ws: {\n useSubscription\n }\n } = (0, _node.useNodeContext)();\n const {\n t,\n locale\n } = (0, _react.useContext)(_context.LocaleContext);\n const [showInviteMember, setShowInviteMember] = (0, _react.useState)(false);\n const [showTransferMember, setShowTransferMember] = (0, _react.useState)(false);\n const [showInviting, setShowInviting] = (0, _react.useState)(false);\n const [memberDialog, setMemberDialog] = (0, _react.useState)(false); // member, inviting\n const [loading, setLoading] = (0, _react.useState)(false);\n const [users, setUsers] = (0, _react.useState)([]);\n const [rowCount, setRowCount] = (0, _react.useState)();\n const [userCounts, setUserCounts] = (0, _react.useState)([]);\n const durableKey = \"members-\".concat(teamDid);\n const tableDurableData = (0, _Datatable.getDurableData)(durableKey);\n const [search, setSearch] = (0, _react.useState)({\n role: ROLE_ALL,\n searchText: tableDurableData.searchText || '',\n hideBlocked: false,\n pageSize: tableDurableData.rowsPerPage || 10,\n page: tableDurableData.page ? tableDurableData.page + 1 : 1\n });\n const sideList = (roles || []).map(x => ({\n name: x.name,\n title: x.title,\n num: getCount(userCounts, x.name)\n }));\n sideList.unshift({\n name: ROLE_ALL,\n title: 'All Members',\n num: getCount(userCounts, ROLE_ALL)\n });\n sideList.push({\n name: ROLE_NONE,\n title: 'Other',\n num: getCount(userCounts, ROLE_NONE)\n });\n const getUsers = () => {\n const query = {};\n if (search.hideBlocked) {\n query.approved = true;\n }\n query.role = search.role;\n if (search.searchText) {\n query.search = search.searchText;\n }\n setLoading(true);\n api.getUsers({\n query,\n paging: {\n page: search.page,\n pageSize: search.pageSize\n }\n }).then(res => {\n setLoading(false);\n (res.users || []).forEach(x => {\n x.isFromExternal = isFromExternal(x, teamIssuerDid);\n x.avatar = (0, _util2.parseAvatar)(x.avatar, teamDid, inService);\n\n // for backwards compatibility\n x.passports = (x.passports || []).filter(y => y.issuer);\n });\n setUsers(res.users || []);\n setRowCount(res.paging.total);\n }).catch(err => {\n setLoading(false);\n _toast.default.error(err.message);\n });\n };\n const getUserCounts = () => {\n api.getUsersCountPerRole().then(res => {\n setUserCounts(res.counts || []);\n }).catch(err => {\n _toast.default.error(err.message);\n });\n };\n const handleUserChange = data => {\n if (data.teamDid === teamDid) {\n getUsers();\n getUserCounts();\n }\n };\n (0, _react.useEffect)(() => {\n getUsers();\n }, [\"\".concat(search.hideBlocked, \"-\").concat(search.role, \"-\").concat(search.page, \"-\").concat(search.pageSize, \"-\").concat(search.searchText)]); //eslint-disable-line\n\n // user counts\n (0, _react.useEffect)(() => {\n getUserCounts();\n }, []); //eslint-disable-line\n\n useSubscription(_constant.EVENTS.USER_UPDATED, handleUserChange, [search]);\n useSubscription(_constant.EVENTS.USER_ADDED, handleUserChange, [search]);\n const isInvitationEnabled = enablePassportIssuance;\n const columns = [{\n label: t('common.name'),\n name: 'fullName',\n options: {\n customBodyRenderLite: rawIndex => {\n const x = users[rawIndex];\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n \"data-cy\": \"member-name-\".concat(x.fullName),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SimpleInfo, {\n user: x\n })\n }, x.did);\n }\n }\n }, {\n label: t('common.address'),\n name: 'did',\n options: {\n customBodyRender: e => {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Address.default, {\n size: 14,\n copyable: false,\n children: e\n });\n }\n }\n }, {\n label: t('team.member.lastLogin'),\n name: 'lastLoginAt',\n options: {\n customBodyRender: e => {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_RelativeTime.default, {\n value: e,\n locale: locale\n });\n }\n }\n }, {\n label: t('team.member.lastLoginIp'),\n name: 'lastLoginIp',\n options: {\n customBodyRender: e => {\n return e || '-';\n }\n }\n }, {\n label: t('common.actions'),\n name: '',\n width: 100,\n align: 'center',\n verticalKeyAlign: 'center',\n options: {\n customBodyRenderLite: rawIndex => {\n const x = users[rawIndex];\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_permission.default, {\n permission: inService ? '' : 'mutate_team',\n role: inService ? _util.BlockletAdminRoles : [],\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_actions.default, {\n user: x,\n onIssuePassport: () => setMemberDialog(_objectSpread(_objectSpread({}, x), {}, {\n initTab: 'issuances'\n }))\n })\n });\n }\n }\n }];\n const customButtons = [];\n if (isInvitationEnabled) {\n customButtons.push( /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n variant: \"outlined\",\n style: {\n flexShrink: 0,\n marginRight: 16\n },\n color: \"primary\",\n size: \"small\",\n onClick: () => {\n setShowInviting(true);\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_PersonIcon.default, {\n style: {\n height: '1em',\n marginRight: 4\n }\n }), t('common.inviting'), invitations.length ? \" (\".concat(invitations.length, \")\") : '']\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_permission.default, {\n permission: inService ? '' : 'mutate_team',\n role: inService ? _util.BlockletAdminRoles : [],\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n style: {\n flexShrink: 0,\n marginRight: 16\n },\n variant: \"contained\",\n edge: \"end\",\n color: \"primary\",\n size: \"small\",\n \"data-cy\": \"invite-member\",\n onClick: () => setShowInviteMember(true),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Add.default, {\n style: {\n fontSize: '1.3em',\n marginRight: 4\n }\n }), t('team.invite')]\n })\n }));\n if (type === 'server') {\n customButtons.push( /*#__PURE__*/(0, _jsxRuntime.jsx)(_permission.default, {\n role: \"owner\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n style: {\n flexShrink: 0\n },\n variant: \"contained\",\n edge: \"end\",\n color: \"error\",\n size: \"small\",\n \"data-cy\": \"invite-member\",\n onClick: () => setShowTransferMember(true),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Loop.default, {\n style: {\n fontSize: '1.3em',\n marginRight: 4\n }\n }), t('team.transferNode.name')]\n })\n }));\n }\n }\n const onRoleChange = role => {\n if (loading) {\n return;\n }\n setSearch(x => _objectSpread(_objectSpread({}, x), {}, {\n role,\n hideBlocked: false,\n searchText: '',\n page: 1\n }));\n };\n const onHideBlockedChange = value => {\n setSearch(x => _objectSpread(_objectSpread({}, x), {}, {\n hideBlocked: value,\n page: 1\n }));\n };\n const onTableChange = _ref3 => {\n let {\n page,\n rowsPerPage,\n searchText\n } = _ref3;\n if (search.pageSize !== rowsPerPage) {\n setSearch(x => _objectSpread(_objectSpread({}, x), {}, {\n pageSize: rowsPerPage,\n page: 1\n }));\n } else if (search.page !== page + 1) {\n setSearch(x => _objectSpread(_objectSpread({}, x), {}, {\n page: page + 1\n }));\n } else if (search.searchText !== searchText) {\n setSearch(x => _objectSpread(_objectSpread({}, x), {}, {\n searchText,\n page: 1\n }));\n }\n };\n const tableOptions = {\n sort: false,\n download: false,\n filter: false,\n print: false,\n expandableRowsOnClick: true,\n onRowClick(e, _ref4) {\n let {\n dataIndex\n } = _ref4;\n const x = users[dataIndex];\n setMemberDialog(x);\n },\n page: search.page - 1,\n rowsPerPage: search.pageSize,\n count: rowCount,\n searchDebounceTime: 600\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"main\",\n display: \"flex\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"left\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"tabs\",\n children: sideList.map(x => /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"tab \".concat(search.role === x.name ? 'active' : ''),\n onClick: () => onRoleChange(x.name),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n className: \"text\",\n children: x.title\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n className: (0, _classnames.default)('badge', {\n 'is-rect': x.num > 999\n }),\n children: x.num\n })]\n }, x.name))\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"right\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Datatable.default, {\n className: \"main-table\",\n verticalKeyWidth: 100,\n locale: locale,\n durable: durableKey,\n durableKeys: ['page', 'rowsPerPage'],\n title: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"table-toolbar-left\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormControlLabel.default, {\n control: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.default, {\n disabled: loading,\n color: \"primary\",\n checked: search.hideBlocked,\n onChange: e => onHideBlockedChange(e.target.checked)\n }),\n label: t('team.member.hideBlockedMember')\n })\n }),\n data: users,\n columns: columns,\n customButtons: customButtons,\n options: tableOptions,\n loading: loading,\n onChange: onTableChange\n })\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.default, {\n title: t('common.inviting'),\n onClose: () => setShowInviting(false),\n open: showInviting,\n maxWidth: \"lg\",\n fullWidth: true,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_invitations.default, {})\n }), memberDialog && /*#__PURE__*/(0, _jsxRuntime.jsx)(_member.default, {\n onCancel: () => setMemberDialog(null),\n userDid: memberDialog.did,\n initTab: memberDialog.initTab\n }), showInviteMember && /*#__PURE__*/(0, _jsxRuntime.jsx)(_inviteMember.default, {\n teamDid: teamDid,\n endpoint: endpoint,\n roles: roles,\n onCancel: () => setShowInviteMember(false),\n onSuccess: () => {\n refresh();\n setShowInviteMember(false);\n }\n }), showTransferMember && /*#__PURE__*/(0, _jsxRuntime.jsx)(_transferNode.default, {\n teamDid: teamDid,\n endpoint: endpoint,\n roles: roles,\n onCancel: () => setShowTransferMember(false),\n onSuccess: () => {\n refresh();\n setShowTransferMember(false);\n }\n })]\n });\n}\nconst Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .main {\\n .left {\\n width: 168px;\\n flex-shrink: 0;\\n margin-right: 65px;\\n .tabs {\\n padding-top: 16px;\\n .tab {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n padding: 8px 16px;\\n transition: background 0.4s;\\n\\n width: 168px;\\n height: 36px;\\n border-radius: 8px;\\n\\n cursor: pointer;\\n user-select: none;\\n\\n &:nth-child(n + 2) {\\n margin-top: 24px;\\n }\\n\\n &.active {\\n background: #f2f2f2;\\n }\\n\\n &:hover {\\n background: #f2f2f2;\\n }\\n\\n .text {\\n font-weight: 400;\\n font-size: 16px;\\n line-height: 19px;\\n\\n color: #222222;\\n }\\n\\n .badge {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n width: 20px;\\n height: 20px;\\n border-radius: 100%;\\n color: #fff;\\n background: #666666;\\n font-size: 10px;\\n font-weight: 400;\\n &.is-rect {\\n width: auto;\\n border-radius: 8px;\\n padding: 0 4px;\\n }\\n }\\n }\\n }\\n @media (max-width: \", \"px) {\\n display: none;\\n }\\n }\\n .right {\\n flex-grow: 1;\\n }\\n }\\n\\n .member-block {\\n display: flex;\\n justify-content: flex-start;\\n align-items: center;\\n .member-avatar {\\n position: relative;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n }\\n .member-text {\\n margin-left: 10px;\\n }\\n .badge-block {\\n width: 14px;\\n height: 14px;\\n position: absolute;\\n right: -4px;\\n top: -4px;\\n background: #ff5757;\\n border-radius: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n &::after {\\n content: '';\\n width: 6px;\\n height: 2px;\\n background: #fefefe;\\n }\\n }\\n }\\n\\n .table-toolbar-left {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n padding: 7px 0;\\n label span:first-child {\\n display: flex;\\n }\\n }\\n\"])), props => props.theme.breakpoints.values.md);\nMemberList.propTypes = {\n type: _propTypes.default.oneOf(['server', 'blocklet']).isRequired\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Invitations;\nvar _react = require(\"react\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _Delete = _interopRequireDefault(require(\"@mui/icons-material/Delete\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _Empty = _interopRequireDefault(require(\"@arcblock/ux/lib/Empty\"));\nvar _Datatable = _interopRequireDefault(require(\"@arcblock/ux/lib/Datatable\"));\nvar _RelativeTime = _interopRequireDefault(require(\"@arcblock/ux/lib/RelativeTime\"));\nvar _node = require(\"../../contexts/node\");\nvar _team = require(\"../../contexts/team\");\nvar _confirm = _interopRequireDefault(require(\"../../confirm\"));\nvar _permission = _interopRequireDefault(require(\"../../permission\"));\nvar _clickToCopy = _interopRequireDefault(require(\"../../click-to-copy\"));\nvar _util = require(\"../../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction Invitations() {\n const {\n api: client,\n inService\n } = (0, _node.useNodeContext)();\n const {\n t,\n locale\n } = (0, _react.useContext)(_context.LocaleContext);\n const {\n teamDid,\n invitations,\n refresh,\n endpoint\n } = (0, _team.useTeamContext)();\n const [delConfirm, setDelConfirm] = (0, _react.useState)(null);\n const [loading, setLoading] = (0, _react.useState)(false);\n const deleteInvitation = async _ref => {\n let {\n inviteId\n } = _ref;\n if (loading) {\n return;\n }\n setLoading(true);\n try {\n await client.deleteInvitation({\n input: {\n teamDid,\n inviteId\n }\n });\n refresh();\n await (0, _util.sleep)(800);\n } catch (error) {\n console.error(error);\n } finally {\n setLoading(false);\n setDelConfirm(null);\n }\n };\n const onCancel = () => {\n setLoading(false);\n setDelConfirm(null);\n };\n const getLink = column => {\n if (!endpoint) {\n return '';\n }\n return (0, _util.getInviteLink)({\n inviteId: column.inviteId,\n endpoint\n });\n };\n const columns = [{\n label: t('team.inviting.link'),\n name: 'inviteId',\n options: {\n sort: false,\n customBodyRenderLite: rawIndex => {\n const d = invitations[rawIndex];\n if (!endpoint) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n });\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_clickToCopy.default, {\n children: getLink(d)\n });\n }\n }\n }, {\n label: t('common.role'),\n name: 'role',\n widtn: 70\n }, {\n label: t('common.remark'),\n name: 'remark',\n options: {\n customBodyRender: e => {\n return e || '--';\n }\n }\n }, {\n label: t('team.inviting.inviter'),\n name: 'inviter.fullName',\n options: {\n sort: false,\n customBodyRender: (e, _ref2) => {\n var _d$inviter;\n let {\n rowIndex\n } = _ref2;\n const d = invitations[rowIndex];\n return d === null || d === void 0 ? void 0 : (_d$inviter = d.inviter) === null || _d$inviter === void 0 ? void 0 : _d$inviter.fullName;\n }\n }\n }, {\n label: t('common.expires'),\n name: 'expireDate',\n options: {\n customBodyRender: e => {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_RelativeTime.default, {\n value: e,\n locale: locale\n });\n }\n }\n }, {\n label: t('common.actions'),\n name: '',\n width: 100,\n align: 'center',\n options: {\n sort: false,\n customBodyRenderLite: rawIndex => {\n const item = invitations[rawIndex];\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_permission.default, {\n permission: inService ? '' : 'mutate_team',\n role: inService ? _util.BlockletAdminRoles : [],\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: () => setDelConfirm({\n title: t('team.inviting.delete.title'),\n description: t('team.inviting.delete.description', {\n link: getLink(item)\n }),\n confirm: t('common.delConfirm'),\n cancel: t('common.cancel'),\n onConfirm: () => deleteInvitation(item),\n onCancel\n }),\n size: \"small\",\n color: \"error\",\n variant: \"text\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Delete.default, {\n style: {\n fontSize: '1.2em'\n }\n }), t('common.delete')]\n })\n });\n }\n }\n }];\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {\n children: [invitations.length ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Datatable.default, {\n locale: locale,\n data: [...invitations],\n columns: columns,\n verticalKeyWidth: 100,\n options: {\n download: false,\n filter: false,\n print: false\n }\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Empty.default, {\n children: t('common.empty')\n }), delConfirm && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {\n title: delConfirm.title,\n description: delConfirm.description,\n confirm: delConfirm.confirm,\n cancel: delConfirm.cancel,\n params: delConfirm.params,\n onConfirm: delConfirm.onConfirm,\n onCancel: delConfirm.onCancel\n })]\n });\n}\nconst Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n margin-top: -20px;\\n\"])));\nInvitations.propTypes = {};\nInvitations.defaultProps = {};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = InviteMember;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _Dialog = _interopRequireDefault(require(\"@arcblock/ux/lib/Dialog\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _DialogContentText = _interopRequireDefault(require(\"@mui/material/DialogContentText\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _MenuItem = _interopRequireDefault(require(\"@mui/material/MenuItem\"));\nvar _Select = _interopRequireDefault(require(\"@mui/material/Select\"));\nvar _TextField = _interopRequireDefault(require(\"@mui/material/TextField\"));\nvar _InputLabel = _interopRequireDefault(require(\"@mui/material/InputLabel\"));\nvar _FormControl = _interopRequireDefault(require(\"@mui/material/FormControl\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _Alert = _interopRequireDefault(require(\"@arcblock/ux/lib/Alert\"));\nvar _clickToCopy = _interopRequireDefault(require(\"../../click-to-copy\"));\nvar _node = require(\"../../contexts/node\");\nvar _util = require(\"../../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction InviteMember(_ref) {\n let {\n teamDid,\n roles,\n onCancel,\n onSuccess,\n onError,\n endpoint\n } = _ref;\n const {\n api\n } = (0, _node.useNodeContext)();\n const [loading, setLoading] = (0, _react.useState)(false);\n const [error, setError] = (0, _react.useState)('');\n const {\n t\n } = (0, _context.useLocaleContext)();\n const [activeStep, setActiveStep] = (0, _react.useState)(0);\n const [inviteInfo, setInviteInfo] = (0, _react.useState)('');\n const [role, setRole] = (0, _react.useState)('');\n const [remark, setRemark] = (0, _react.useState)('');\n const onCreate = async () => {\n if (!role) {\n setError(t('team.member.error.passportEmpty'));\n return;\n }\n const trimRemark = remark.trim();\n setError(null);\n setLoading(true);\n try {\n const {\n inviteInfo: info\n } = await api.createMemberInvitation({\n input: {\n teamDid,\n role,\n remark: trimRemark\n }\n });\n setInviteInfo(info);\n setActiveStep(1);\n } catch (err) {\n const errMsg = (0, _util.formatError)(err);\n setError(errMsg);\n onError(err);\n } finally {\n setLoading(false);\n }\n };\n const steps = [{\n body: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {\n component: \"div\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_FormControl.default, {\n style: {\n width: '100%'\n },\n variant: \"outlined\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_InputLabel.default, {\n children: t('common.passport')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Select.default, {\n \"data-cy\": \"invite-member-select-role\",\n value: role,\n onChange: e => {\n setError(null);\n setRole(e.target.value);\n },\n fullWidth: true,\n label: t('common.passport'),\n disabled: loading,\n onKeyPress: e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n onCreate();\n }\n },\n children: roles.filter(d => d.name !== 'owner').map(r => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {\n value: r.name,\n \"data-cy\": \"invite-member-select-option-\".concat(r.name),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n children: r.title || r.name\n })\n }, r.name))\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n style: {\n marginTop: 20,\n marginBottom: 10\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n label: t('common.remark'),\n autoComplete: \"off\",\n variant: \"outlined\",\n fullWidth: true,\n style: {\n marginBottom: 8\n },\n value: remark,\n onChange: e => {\n setError(null);\n setRemark(e.target.value);\n },\n disabled: loading,\n \"data-cy\": \"invite-member-input-remark\"\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n style: {\n marginTop: 20,\n marginBottom: 10\n }\n })]\n }),\n cancel: t('common.cancel'),\n confirm: t('team.member.inviteDialog.createInviteLink'),\n onCancel,\n onConfirm: onCreate\n }, {\n // eslint-disable-next-line react/no-unstable-nested-components\n body: () => {\n const link = (0, _util.getInviteLink)({\n inviteId: inviteInfo.inviteId,\n endpoint\n });\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Bold, {\n children: t('team.member.inviteDialog.createSuccessTip', {\n expireDate: (0, _util.formatToDatetime)(inviteInfo.expireDate)\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n style: {\n marginTop: '40px'\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_clickToCopy.default, {\n children: link\n })]\n });\n },\n confirm: t('common.confirm'),\n onConfirm: onSuccess\n }];\n const step = steps[activeStep];\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Dialog.default, {\n title: t('common.invite'),\n fullWidth: true,\n open: true,\n showCloseButton: false,\n actions: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [step.cancel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: step.onCancel,\n color: \"inherit\",\n children: step.cancel\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: step.onConfirm,\n color: \"primary\",\n disabled: loading || !role,\n variant: \"contained\",\n autoFocus: true,\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }), step.confirm]\n })]\n }),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogContentText.default, {\n component: \"div\",\n children: typeof step.body === 'function' ? step.body() : step.body\n }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n type: \"error\",\n variant: \"icon\",\n children: error\n })]\n });\n}\nInviteMember.propTypes = {\n teamDid: _propTypes.default.string.isRequired,\n onCancel: _propTypes.default.func.isRequired,\n onSuccess: _propTypes.default.func.isRequired,\n onError: _propTypes.default.func,\n roles: _propTypes.default.array,\n endpoint: _propTypes.default.string\n};\nInviteMember.defaultProps = {\n onError: () => {},\n roles: [],\n endpoint: ''\n};\nconst Bold = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n font-size: 16px;\\n font-weight: bold;\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = IssuePassport;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Dialog = _interopRequireDefault(require(\"@arcblock/ux/lib/Dialog\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _DialogContentText = _interopRequireDefault(require(\"@mui/material/DialogContentText\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _MenuItem = _interopRequireDefault(require(\"@mui/material/MenuItem\"));\nvar _Select = _interopRequireDefault(require(\"@mui/material/Select\"));\nvar _InputLabel = _interopRequireDefault(require(\"@mui/material/InputLabel\"));\nvar _FormControl = _interopRequireDefault(require(\"@mui/material/FormControl\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _Alert = _interopRequireDefault(require(\"@arcblock/ux/lib/Alert\"));\nvar _node = require(\"../../contexts/node\");\nvar _util = require(\"../../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction IssuePassport(_ref) {\n let {\n teamDid,\n ownerDid,\n roles,\n onCancel,\n onSuccess,\n onError,\n showOwnerPassport\n } = _ref;\n const {\n api\n } = (0, _node.useNodeContext)();\n const [loading, setLoading] = (0, _react.useState)(false);\n const [error, setError] = (0, _react.useState)('');\n const {\n t\n } = (0, _context.useLocaleContext)();\n const [role, setRole] = (0, _react.useState)('');\n const onCreate = async () => {\n if (!role) {\n setError(t('team.member.error.passportEmpty'));\n return;\n }\n setError(null);\n setLoading(true);\n try {\n await api.createPassportIssuance({\n input: {\n teamDid,\n name: role,\n ownerDid\n }\n });\n onSuccess();\n } catch (err) {\n const errMsg = (0, _util.formatError)(err);\n setError(errMsg);\n onError(err);\n } finally {\n setLoading(false);\n }\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Dialog.default, {\n title: t('team.passport.issue'),\n fullWidth: true,\n open: true,\n onClick: e => e.stopPropagation(),\n onClose: onCancel,\n disableEscapeKeyDown: true,\n PaperProps: {\n style: {\n minHeight: 'auto'\n }\n },\n actions: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: onCancel,\n color: \"inherit\",\n size: \"small\",\n children: t('common.cancel')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: onCreate,\n color: \"primary\",\n size: \"small\",\n disabled: loading || !role,\n variant: \"contained\",\n autoFocus: true,\n \"data-cy\": \"issue-passport-create-btn\",\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }), t('team.passport.issuance.create.title')]\n })]\n }),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogContentText.default, {\n component: \"div\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n component: \"div\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_FormControl.default, {\n style: {\n width: '100%'\n },\n variant: \"outlined\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_InputLabel.default, {\n children: t('common.passport')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Select.default, {\n \"data-cy\": \"issue-passport-select-passport\",\n value: role,\n onChange: e => {\n setError(null);\n setRole(e.target.value);\n },\n fullWidth: true,\n label: t('common.passport'),\n disabled: loading,\n onKeyPress: e => {\n if (e.key === 'Enter') {\n e.preventDefault();\n onCreate();\n }\n },\n children: roles.filter(d => showOwnerPassport || d.name !== 'owner').map(r => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {\n value: r.name,\n \"data-cy\": \"issue-passport-select-option-\".concat(r.name),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n children: r.title || r.name\n })\n }, r.name))\n })]\n })\n })\n }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n type: \"error\",\n variant: \"icon\",\n children: error\n })]\n });\n}\nIssuePassport.propTypes = {\n teamDid: _propTypes.default.string.isRequired,\n ownerDid: _propTypes.default.string.isRequired,\n onCancel: _propTypes.default.func.isRequired,\n onSuccess: _propTypes.default.func.isRequired,\n onError: _propTypes.default.func,\n roles: _propTypes.default.array,\n showOwnerPassport: _propTypes.default.bool\n};\nIssuePassport.defaultProps = {\n onError: () => {},\n roles: [],\n showOwnerPassport: false\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Member;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _notistack = require(\"notistack\");\nvar _Dialog = _interopRequireDefault(require(\"@arcblock/ux/lib/Dialog\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _Avatar = _interopRequireDefault(require(\"@mui/material/Avatar\"));\nvar _Tabs = _interopRequireDefault(require(\"@arcblock/ux/lib/Tabs\"));\nvar _InfoRow = _interopRequireDefault(require(\"@arcblock/ux/lib/InfoRow\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Address = _interopRequireDefault(require(\"@arcblock/did-connect/lib/Address\"));\nvar _ForbidLoginIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/ForbidLoginIcon\"));\nvar _AllowLoginIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/AllowLoginIcon\"));\nvar _constant = require(\"@abtnode/constant\");\nvar _permission = _interopRequireDefault(require(\"../../permission\"));\nvar _node = require(\"../../contexts/node\");\nvar _team = require(\"../../contexts/team\");\nvar _util = require(\"../../util\");\nvar _passportIssuances = _interopRequireDefault(require(\"./passport-issuances\"));\nvar _passports = _interopRequireDefault(require(\"./passports\"));\nvar _toggleUserApproval = _interopRequireDefault(require(\"./toggle-user-approval\"));\nvar _util2 = require(\"./util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject, _templateObject2, _templateObject3;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction Member(_ref) {\n let {\n userDid,\n onCancel,\n initTab\n } = _ref;\n const {\n api,\n ws: {\n useSubscription\n },\n inService\n } = (0, _node.useNodeContext)();\n const {\n roles,\n teamDid,\n enablePassportIssuance\n } = (0, _team.useTeamContext)();\n const {\n t\n } = (0, _context.useLocaleContext)();\n const [issuances, setIssuances] = (0, _react.useState)(null);\n const [user, setUser] = (0, _react.useState)(null);\n const {\n enqueueSnackbar\n } = (0, _notistack.useSnackbar)();\n const [tab, setTab] = (0, _react.useState)(initTab || 'info');\n const getData = async () => {\n try {\n const res = await api.doBatchQuery({\n getUser: {\n input: {\n teamDid,\n user: {\n did: userDid\n }\n }\n },\n getPassportIssuances: {\n input: {\n teamDid,\n ownerDid: userDid\n }\n }\n });\n if (res.getUser.user) {\n res.getUser.user.avatar = (0, _util2.parseAvatar)(res.getUser.user.avatar, teamDid, inService);\n\n // for backwards compatibility\n res.getUser.user.passports = (res.getUser.user.passports || []).filter(x => x.issuer);\n }\n setUser(res.getUser.user || {});\n setIssuances(res.getPassportIssuances.list || []);\n } catch (err) {\n enqueueSnackbar((0, _util.formatError)(err), {\n autoHideDuration: 5000,\n variant: 'error'\n });\n }\n };\n (0, _react.useEffect)(() => {\n if (teamDid) {\n getData();\n }\n }, [userDid, teamDid]); // eslint-disable-line\n\n const onUserEvent = data => {\n if (data.teamDid === teamDid && data.user && data.user.did === userDid) {\n getData();\n }\n };\n useSubscription(_constant.EVENTS.USER_UPDATED, onUserEvent, [userDid, teamDid]);\n (0, _react.useEffect)(() => {\n if (issuances && !issuances.length && tab === 'issuances') {\n setTab('info');\n }\n }, [issuances]); // eslint-disable-line\n\n // tab\n const Info = () => {\n const rows = user ? [{\n name: t('team.member.name'),\n value: user.fullName\n }, {\n name: t('common.email'),\n value: user.email\n }, {\n name: t('team.member.allowLogin'),\n value: user.approved ? t('common.yes') : t('common.no')\n }, {\n name: t('team.member.lastLogin'),\n value: (0, _util.formatToDatetime)(user.lastLoginAt)\n }, {\n name: t('team.member.lastLoginIp'),\n value: user.lastLoginIp || ''\n }, {\n name: t('common.createdAt'),\n value: (0, _util.formatToDatetime)(user.createdAt)\n }, {\n name: t('common.remark'),\n value: user.remark || '--'\n }].filter(Boolean) : [];\n return rows.map(row => {\n if (row.name === t('common.did')) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InfoRow.default, {\n valueComponent: \"div\",\n nameWidth: 120,\n name: row.name,\n nameFormatter: () => t('common.did'),\n children: row.value\n }, row.name);\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InfoRow.default, {\n style: {\n alignItems: 'flex-start'\n },\n valueComponent: \"div\",\n nameWidth: 120,\n name: row.name,\n children: row.value\n }, row.name);\n });\n };\n const tabConfigs = {\n info: {\n label: t('common.basicInfo'),\n value: 'info',\n component: Info\n },\n passports: {\n label: t('common.passport'),\n value: 'passports',\n component: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_passports.default, {\n user: user,\n teamDid: teamDid,\n roles: roles,\n onCreate: () => {\n getData(teamDid);\n setTab('issuances');\n },\n onRefresh: () => {\n getData(teamDid);\n }\n })\n },\n issuances: {\n label: t('team.passport.issuance.pending'),\n value: 'issuances',\n component: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_passportIssuances.default, {\n issuances: issuances || [],\n teamDid: teamDid,\n onRefresh: () => getData(teamDid)\n })\n }\n };\n const tabs = Object.values(tabConfigs).map(_ref2 => {\n let {\n label,\n value\n } = _ref2;\n return {\n label,\n value\n };\n }).filter(x => {\n if (x.value === 'issuances') {\n return enablePassportIssuance && issuances && !!issuances.length;\n }\n return true;\n });\n const tabConfig = tabConfigs[tab] || tabConfigs.info;\n const onTabChange = newTab => {\n setTab(newTab);\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.default, {\n title: t('common.member'),\n onClose: onCancel,\n open: true,\n PaperProps: {\n style: {\n maxWidth: 632,\n minHeight: '80vh'\n }\n },\n fullWidth: true,\n actions: user && /*#__PURE__*/(0, _jsxRuntime.jsx)(_permission.default, {\n permission: inService ? '' : 'mutate_team',\n role: inService ? _util.BlockletAdminRoles : [],\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_toggleUserApproval.default, {\n user: user,\n children: _ref3 => {\n let {\n open\n } = _ref3;\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(BlockButton, {\n onClick: open,\n children: [user.approved ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ForbidLoginIcon.default, {\n style: {\n fontSize: '1.2em',\n marginRight: '0.4em'\n }\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_AllowLoginIcon.default, {\n style: {\n fontSize: '1.2em',\n marginRight: '0.4em'\n }\n }), user.approved ? t('team.member.forbidLogin') : t('team.member.allowLogin')]\n });\n }\n })\n }),\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {\n children: [!user && /*#__PURE__*/(0, _jsxRuntime.jsx)(Center, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {})\n }), user && /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n className: \"info\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, {\n src: user.avatar,\n style: {\n width: 48,\n height: 48,\n backgroundColor: 'transparent',\n marginRight: 16\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"name\",\n children: user.fullName\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"did\",\n mt: 1,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Address.default, {\n children: user.did\n })\n })]\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mx: 3,\n className: \"tabs\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tabs.default, {\n tabs: tabs,\n current: tab,\n onChange: onTabChange,\n scrollButtons: \"auto\"\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"body\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(tabConfig.component, {})\n })]\n })]\n })\n });\n}\nMember.propTypes = {\n userDid: _propTypes.default.string.isRequired,\n onCancel: _propTypes.default.func.isRequired,\n initTab: _propTypes.default.string\n};\nMember.defaultProps = {\n initTab: 'info'\n};\nconst Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .info {\\n .name {\\n font-weight: 400;\\n font-size: 18px;\\n line-height: 25px;\\n color: #222222;\\n }\\n }\\n\\n .tabs {\\n margin-top: 24px;\\n margin-left: 0;\\n margin-right: 0;\\n }\\n\\n .body {\\n margin-top: 24px;\\n }\\n\"])));\nconst Center = _styled.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n flex: 1;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n height: 200px;\\n\"])));\nconst BlockButton = _styled.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n flex-shrink: 0;\\n width: 100%;\\n height: 64px;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n cursor: pointer;\\n color: #999;\\n fill: #999;\\n font-size: 16px;\\n border-top: 1px solid #f0f0f0;\\n position: sticky;\\n bottom: 0;\\n background: #fff;\\n z-index: 10;\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = PassportIssuances;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _notistack = require(\"notistack\");\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _node = require(\"../../contexts/node\");\nvar _team = require(\"../../contexts/team\");\nvar _confirm = _interopRequireDefault(require(\"../../confirm\"));\nvar _permission = _interopRequireDefault(require(\"../../permission\"));\nvar _clickToCopy = _interopRequireDefault(require(\"../../click-to-copy\"));\nvar _passportTag = _interopRequireDefault(require(\"../../passport-tag\"));\nvar _util = require(\"../../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction PassportIssuances(_ref) {\n let {\n issuances,\n teamDid,\n onRefresh\n } = _ref;\n const {\n api: client,\n inService\n } = (0, _node.useNodeContext)();\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n const [delConfirm, setDelConfirm] = (0, _react.useState)(null);\n const [loading, setLoading] = (0, _react.useState)(false);\n const {\n enqueueSnackbar\n } = (0, _notistack.useSnackbar)();\n const {\n endpoint\n } = (0, _team.useTeamContext)();\n const deleteIssuance = async _ref2 => {\n let {\n id\n } = _ref2;\n if (loading) {\n return;\n }\n setLoading(true);\n try {\n await client.deletePassportIssuance({\n input: {\n teamDid,\n sessionId: id\n }\n });\n onRefresh();\n } catch (error) {\n enqueueSnackbar(error.message, {\n autoHideDuration: 5000,\n variant: 'error'\n });\n } finally {\n setLoading(false);\n setDelConfirm(null);\n }\n };\n const onCancel = () => {\n setLoading(false);\n setDelConfirm(null);\n };\n const getLink = column => endpoint ? (0, _util.getIssuePassportLink)({\n id: column.id,\n endpoint\n }) : '';\n\n // eslint-disable-next-line react/prop-types\n // eslint-disable-next-line react/no-unstable-nested-components\n function Issuance(_ref3) {\n let {\n data: d\n } = _ref3;\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"issuance\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n justifyContent: \"space-between\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_permission.default, {\n permission: inService ? '' : 'mutate_team',\n role: inService ? _util.BlockletAdminRoles : [],\n children: can => can ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_passportTag.default, {\n passport: {\n title: d.title,\n name: d.name\n },\n onDelete: () => setDelConfirm({\n title: t('team.passport.issuance.delete.title'),\n description: t('team.passport.issuance.delete.description', {\n link: getLink(d)\n }),\n confirm: t('common.delConfirm'),\n cancel: t('common.cancel'),\n onConfirm: () => {\n deleteIssuance(d);\n },\n onCancel\n })\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_passportTag.default, {\n passport: {\n title: d.title,\n name: d.name\n }\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n style: {\n color: '#999'\n },\n children: [t('common.expires'), \":\\xA0\", (0, _util.formatToDatetime)(d.expireDate)]\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mt: 2,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_clickToCopy.default, {\n children: getLink(d)\n })\n })]\n });\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {\n children: [issuances.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(Issuance, {\n data: x\n })), delConfirm && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {\n title: delConfirm.title,\n description: delConfirm.description,\n confirm: delConfirm.confirm,\n cancel: delConfirm.cancel,\n params: delConfirm.params,\n onConfirm: delConfirm.onConfirm,\n onCancel: delConfirm.onCancel\n })]\n });\n}\nconst Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .MuiTableHead-root {\\n display: none;\\n }\\n .issuance {\\n padding: 16px 0;\\n border-bottom: 1px solid #f0f0f0;\\n .MuiTypography-root {\\n display: inline-block;\\n width: 100%;\\n background: #f3f3f3;\\n border-radius: 4px;\\n padding-top: 6px;\\n padding-bottom: 6px;\\n }\\n }\\n\"])));\nPassportIssuances.propTypes = {\n teamDid: _propTypes.default.string.isRequired,\n issuances: _propTypes.default.array,\n onRefresh: _propTypes.default.func\n};\nPassportIssuances.defaultProps = {\n issuances: [],\n onRefresh: () => {}\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Passports;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _notistack = require(\"notistack\");\nvar _get = _interopRequireDefault(require(\"lodash/get\"));\nvar _upperFirst = _interopRequireDefault(require(\"lodash/upperFirst\"));\nvar _Add = _interopRequireDefault(require(\"@mui/icons-material/Add\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _Tooltip = _interopRequireDefault(require(\"@mui/material/Tooltip\"));\nvar _ErrorOutline = _interopRequireDefault(require(\"@mui/icons-material/ErrorOutline\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _RevokeIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/RevokeIcon\"));\nvar _ExternalIssuerIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/ExternalIssuerIcon\"));\nvar _Empty = _interopRequireDefault(require(\"@arcblock/ux/lib/Empty\"));\nvar _constant = require(\"@abtnode/constant\");\nvar _createPassportSvg = _interopRequireDefault(require(\"@abtnode/auth/lib/util/create-passport-svg\"));\nvar _node = require(\"../../contexts/node\");\nvar _session = require(\"../../contexts/session\");\nvar _team = require(\"../../contexts/team\");\nvar _util = require(\"../../util\");\nvar _confirm = _interopRequireDefault(require(\"../../confirm\"));\nvar _permission = _interopRequireDefault(require(\"../../permission\"));\nvar _searchInput = _interopRequireDefault(require(\"../search-input\"));\nvar _listHeader = _interopRequireDefault(require(\"../styles/list-header\"));\nvar _issuePassport = _interopRequireDefault(require(\"./issue-passport\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction ConfirmDescription(_ref) {\n let {\n action,\n passport\n } = _ref;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const {\n roles\n } = (0, _team.useTeamContext)();\n const role = roles.find(x => x.name === passport.role);\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n children: action === 'enable' ? t('team.member.enablePassportDescription') : t('team.member.revokePassportDescription')\n }), role && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mt: 3,\n fontWeight: \"bold\",\n children: t('team.member.passportPermissionTitle')\n }), role && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mt: 1,\n children: role.description\n })]\n });\n}\nConfirmDescription.propTypes = {\n action: _propTypes.default.string.isRequired,\n passport: _propTypes.default.object.isRequired\n};\nConfirmDescription.defaultProps = {};\nfunction Passports(_ref2) {\n var _blocklet$settings;\n let {\n user,\n onCreate\n } = _ref2;\n const {\n t\n } = (0, _context.useLocaleContext)();\n const {\n session\n } = (0, _session.useSessionContext)();\n const {\n roles,\n teamDid,\n teamIssuerDid,\n refresh: refreshTeam,\n enablePassportIssuance,\n trustedPassports,\n passportColor,\n blocklet\n } = (0, _team.useTeamContext)();\n const {\n api,\n inService\n } = (0, _node.useNodeContext)();\n const {\n enqueueSnackbar\n } = (0, _notistack.useSnackbar)();\n const [loading, setLoading] = (0, _react.useState)(false);\n const [toggleConfirm, setToggleConfirm] = (0, _react.useState)(null);\n const [showIssueDialog, setShowIssueDialog] = (0, _react.useState)(false);\n const [search, setSearch] = (0, _react.useState)('');\n const passports = ((0, _get.default)(user, 'passports') || []).map(x => _objectSpread(_objectSpread({}, x), {}, {\n revoked: x.status === _constant.PASSPORT_STATUS.REVOKED\n }));\n const togglePassportStatus = async passport => {\n if (loading) {\n return;\n }\n setLoading(true);\n try {\n const method = passport.status === _constant.PASSPORT_STATUS.REVOKED ? 'enableUserPassport' : 'revokeUserPassport';\n await api[method]({\n input: {\n teamDid,\n userDid: user.did,\n passportId: passport.id\n }\n });\n refreshTeam();\n } catch (err) {\n enqueueSnackbar((0, _util.formatError)(err), {\n autoHideDuration: 5000,\n variant: 'error'\n });\n } finally {\n setLoading(false);\n setToggleConfirm(null);\n }\n };\n const confirmToggle = item => item.status === _constant.PASSPORT_STATUS.REVOKED ? setToggleConfirm({\n title: t('team.member.enablePassport'),\n description: /*#__PURE__*/(0, _jsxRuntime.jsx)(ConfirmDescription, {\n action: \"enable\",\n passport: item\n }),\n confirm: t('common.enable'),\n cancel: t('common.cancel'),\n onConfirm: () => {\n togglePassportStatus(item);\n },\n onCancel: () => {\n setLoading(false);\n setToggleConfirm(null);\n },\n color: 'primary'\n }) : setToggleConfirm({\n title: t('team.member.revokePassport'),\n description: /*#__PURE__*/(0, _jsxRuntime.jsx)(ConfirmDescription, {\n action: \"revoke\",\n passport: item\n }),\n confirm: t('common.revoke'),\n cancel: t('common.cancel'),\n onConfirm: () => {\n togglePassportStatus(item);\n },\n onCancel: () => {\n setLoading(false);\n setToggleConfirm(null);\n }\n });\n const revokeInfo = (hasPermission, passport) => {\n if (user.did === session.user.did && session.user.passportId && session.user.passportId === passport.id) {\n return {\n revokable: false,\n message: t('team.passport.shouldNotDeleteCurrent')\n };\n }\n if (!hasPermission) {\n return {\n revokable: false,\n message: t('team.passport.noPermission')\n };\n }\n if (teamDid === passport.issuer.id && passport.name === 'owner') {\n return {\n revokable: false,\n message: t('team.passport.noPermission')\n };\n }\n return {\n revokable: true\n };\n };\n const filteredPassports = passports.filter(x => !search || x.title.includes(search) || x.name.includes(search));\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_listHeader.default, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"left\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_searchInput.default, {\n placeholder: t('team.passport.search'),\n value: search,\n onChange: e => setSearch(e.target.value)\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"right\",\n children: enablePassportIssuance && !!user.approved && /*#__PURE__*/(0, _jsxRuntime.jsx)(_permission.default, {\n permission: inService ? '' : 'mutate_team',\n role: inService ? _util.BlockletAdminRoles : [],\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n variant: \"contained\",\n color: \"primary\",\n \"data-cy\": \"issue-passport\",\n onClick: () => setShowIssueDialog(true),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Add.default, {\n style: {\n fontSize: 16,\n marginRight: 4\n }\n }), t('team.passport.issue')]\n })\n })\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n children: [filteredPassports.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_permission.default, {\n permission: inService ? '' : 'mutate_team',\n role: inService ? _util.BlockletAdminRoles : [],\n children: can => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"passport-item\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n mt: 3,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML: {\n __html: (0, _createPassportSvg.default)({\n title: x.title || x.name,\n issuer: x.issuer && x.issuer.name,\n issuerDid: x.issuer && x.issuer.id,\n ownerName: user.fullName,\n ownerAvatarUrl: user.avatar,\n revoked: x.revoked,\n preferredColor: passportColor,\n width: '120px'\n })\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"body\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"title\",\n display: \"flex\",\n alignItems: \"center\",\n children: [(0, _upperFirst.default)(x.title), /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"status-icons\",\n children: [!!teamIssuerDid && x.issuer.id !== teamIssuerDid && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExternalIssuerIcon.default, {}), x.revoked && /*#__PURE__*/(0, _jsxRuntime.jsx)(_RevokeIcon.default, {})]\n })]\n }), !!teamIssuerDid && x.issuer.id !== teamIssuerDid && /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"tip\",\n children: [x.issuer.id !== teamIssuerDid && !trustedPassports.some(y => y.issuerDid === x.issuer.id) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: t('team.passport.notTrustedIssuerTip'),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n component: _ErrorOutline.default,\n style: {\n fontSize: '1.3em'\n },\n color: \"error.main\",\n mr: 0.5\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n children: t('team.passport.issueBy', {\n name: x.issuer.name\n })\n })]\n })]\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n children: revokeInfo(can, x).revokable ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n variant: \"outlined\",\n color: x.revoked ? 'primary' : 'secondary',\n onClick: () => confirmToggle(x),\n children: [x.revoked ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Add.default, {\n style: {\n fontSize: 16,\n marginRight: 4\n }\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_RevokeIcon.default, {\n style: {\n height: 16,\n marginRight: 4\n }\n }), x.revoked ? t('common.enable') : t('common.revoke')]\n }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {\n title: revokeInfo(can, x).message,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ErrorOutline.default, {\n style: {\n color: '#ddd'\n }\n })\n })\n })]\n })\n })), !filteredPassports.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Empty.default, {\n children: t('common.empty')\n })]\n }), showIssueDialog && /*#__PURE__*/(0, _jsxRuntime.jsx)(_issuePassport.default, {\n teamDid: teamDid,\n ownerDid: user.did,\n roles: roles,\n onCancel: () => setShowIssueDialog(false),\n onSuccess: () => {\n onCreate();\n setShowIssueDialog(false);\n },\n showOwnerPassport: blocklet && !((_blocklet$settings = blocklet.settings) !== null && _blocklet$settings !== void 0 && _blocklet$settings.owner)\n }), toggleConfirm && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {\n title: toggleConfirm.title,\n description: toggleConfirm.description,\n confirm: toggleConfirm.confirm,\n cancel: toggleConfirm.cancel,\n params: toggleConfirm.params,\n onConfirm: toggleConfirm.onConfirm,\n onCancel: toggleConfirm.onCancel,\n color: toggleConfirm.color\n })]\n });\n}\nPassports.propTypes = {\n user: _propTypes.default.object.isRequired,\n onCreate: _propTypes.default.func\n};\nPassports.defaultProps = {\n onCreate: () => {}\n};\nconst Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .passport-item {\\n .body {\\n padding: 0;\\n margin-left: 24px;\\n margin-top: 0;\\n }\\n .title {\\n font-weight: 400;\\n font-size: 16px;\\n line-height: 19px;\\n color: #222222;\\n }\\n .tip {\\n display: flex;\\n align-items: center;\\n font-size: 14px;\\n margin-top: 6px;\\n color: #bbb;\\n }\\n .status-icons {\\n svg {\\n fill: #bfbfbf;\\n height: 1.2em;\\n margin-left: 0.4em;\\n }\\n }\\n .MuiButton-outlinedSecondary {\\n color: #f16e6e;\\n fill: #f16e6e;\\n background: #fcf3f3;\\n border: 0;\\n &:hover {\\n border: 0;\\n }\\n }\\n }\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ToggleUserApproval;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _toast = _interopRequireDefault(require(\"../../toast\"));\nvar _confirm = _interopRequireDefault(require(\"../../confirm\"));\nvar _node = require(\"../../contexts/node\");\nvar _team = require(\"../../contexts/team\");\nvar _session = require(\"../../contexts/session\");\nvar _util = require(\"../../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst isNodeOwner = (nodeInfo, userDid) => nodeInfo.nodeOwner && nodeInfo.nodeOwner.did === userDid;\nconst isSelf = (sessionUser, userDid) => sessionUser && sessionUser.did === userDid;\nfunction ToggleUserApproval(_ref) {\n let {\n user,\n onCancel: _onCancel,\n onSuccess,\n onError,\n children\n } = _ref;\n const {\n api,\n info: nodeInfo,\n inService\n } = (0, _node.useNodeContext)();\n const {\n session\n } = (0, _session.useSessionContext)();\n const {\n teamDid,\n refresh\n } = (0, _team.useTeamContext)();\n const {\n t\n } = (0, _context.useLocaleContext)();\n const [loading, setLoading] = (0, _react.useState)(false);\n const [show, setShow] = (0, _react.useState)(false);\n const open = () => setShow(true);\n const updateUserApproval = async d => {\n const {\n did,\n approved\n } = d;\n if (loading) {\n return;\n }\n setLoading(true);\n try {\n await api.updateUserApproval({\n input: {\n teamDid,\n user: {\n did,\n approved: !approved\n }\n }\n });\n setShow(false);\n onSuccess();\n refresh();\n } catch (error) {\n _toast.default.error((0, _util.formatError)(error));\n onError();\n } finally {\n setLoading(false);\n }\n };\n const approveConfirm = {\n title: user.approved ? t('team.member.forbidLogin') : t('team.member.allowLogin'),\n description: user.approved ? t('team.member.forbidLoginDescription') : t('team.member.allowLoginDescription'),\n confirm: t('common.confirm'),\n cancel: t('common.cancel'),\n onConfirm: () => {\n updateUserApproval(user);\n },\n onCancel: () => {\n setLoading(false);\n setShow(false);\n _onCancel();\n },\n color: user.approved ? 'error' : 'primary'\n };\n let can;\n if (!inService) {\n can = nodeInfo.nodeOwner && !isNodeOwner(nodeInfo, user.did) && !isSelf(session.user, user.did);\n } else {\n can = !isSelf(session.user, user.did);\n }\n if (!can) {\n return null;\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [typeof children === 'function' ? children({\n can,\n open\n }) : children, show ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {\n title: approveConfirm.title,\n description: approveConfirm.description,\n confirm: approveConfirm.confirm,\n cancel: approveConfirm.cancel,\n params: approveConfirm.params,\n onConfirm: approveConfirm.onConfirm,\n onCancel: approveConfirm.onCancel,\n color: approveConfirm.color\n }) : null]\n });\n}\nToggleUserApproval.propTypes = {\n user: _propTypes.default.object,\n onSuccess: _propTypes.default.func,\n onCancel: _propTypes.default.func,\n onError: _propTypes.default.func,\n children: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func])\n};\nToggleUserApproval.defaultProps = {\n user: {},\n onSuccess: () => {},\n onCancel: () => {},\n onError: () => {},\n children: null\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = TransferMember;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _useAsync = _interopRequireDefault(require(\"react-use/lib/useAsync\"));\nvar _get = _interopRequireDefault(require(\"lodash/get\"));\nvar _Dialog = _interopRequireDefault(require(\"@arcblock/ux/lib/Dialog\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _DialogContentText = _interopRequireDefault(require(\"@mui/material/DialogContentText\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _TextField = _interopRequireDefault(require(\"@mui/material/TextField\"));\nvar _Connect = _interopRequireDefault(require(\"@arcblock/did-connect/lib/Connect\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _Alert = _interopRequireDefault(require(\"@arcblock/ux/lib/Alert\"));\nvar _clickToCopy = _interopRequireDefault(require(\"../../click-to-copy\"));\nvar _node = require(\"../../contexts/node\");\nvar _util = require(\"../../util\");\nvar _session = require(\"../../contexts/session\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction TransferMember(_ref) {\n let {\n teamDid,\n onCancel,\n onSuccess,\n onError,\n endpoint\n } = _ref;\n const {\n api,\n info\n } = (0, _node.useNodeContext)();\n const {\n api: sessionAPI\n } = (0, _react.useContext)(_session.SessionContext);\n const [loading, setLoading] = (0, _react.useState)(false);\n const {\n locale\n } = (0, _context.useLocaleContext)();\n const [error, setError] = (0, _react.useState)('');\n const {\n t\n } = (0, _context.useLocaleContext)();\n const [openTransferNFTAuth, setOpenTransferNFTAuth] = (0, _react.useState)(false);\n const [activeStep, setActiveStep] = (0, _react.useState)(0);\n const [inviteInfo, setInviteInfo] = (0, _react.useState)('');\n const [remark, setRemark] = (0, _react.useState)('');\n const needTransferNFT = !!(0, _get.default)(info, 'ownerNft.did');\n const delegationState = (0, _useAsync.default)(async () => {\n if (needTransferNFT) {\n const {\n state\n } = await api.getDelegationState();\n return state;\n }\n return {\n delegated: true\n };\n });\n if (delegationState.loading) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.default, {\n title: t('team.transferNode.inviteDialog.title'),\n fullWidth: true,\n open: true,\n onClose: onCancel,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n style: {\n display: 'flex',\n justifyContent: 'center'\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {})\n })\n });\n }\n if (delegationState.error) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.default, {\n title: t('team.transferNode.inviteDialog.title'),\n fullWidth: true,\n open: true,\n onClose: onCancel,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n type: \"error\",\n variant: \"icon\",\n children: (0, _util.formatError)(delegationState.error)\n })\n });\n }\n const onCreate = async () => {\n setError(null);\n setLoading(true);\n try {\n const {\n inviteInfo: tmpInviteInfo\n } = await api.createTransferInvitation({\n input: {\n teamDid,\n role: 'owner',\n remark: remark.trim()\n }\n });\n setInviteInfo(tmpInviteInfo);\n setActiveStep(steps.length - 1); // 跳转到最后一步\n } catch (err) {\n const errMsg = (0, _util.formatError)(err);\n setError(errMsg);\n onError(err);\n } finally {\n setLoading(false);\n }\n };\n const handleTransferNFT = () => {\n setOpenTransferNFTAuth(true);\n setActiveStep(1);\n };\n const handleCancelTransferNFT = () => {\n setOpenTransferNFTAuth(false);\n setActiveStep(0);\n };\n const steps = [{\n body: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {\n component: \"div\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Alert.default, {\n type: \"warning\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n children: t('team.transferNode.inviteDialog.tips.progress')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n children: t('team.transferNode.inviteDialog.tips.newOwnerPermissions')\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n type: \"warning\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n children: t('team.transferNode.inviteDialog.tips.revoke')\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n style: {\n marginTop: 20,\n marginBottom: 10\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n label: t('common.remark'),\n autoComplete: \"off\",\n variant: \"outlined\",\n fullWidth: true,\n style: {\n marginBottom: 8\n },\n value: remark,\n onChange: e => {\n setError(null);\n setRemark(e.target.value);\n },\n disabled: loading,\n \"data-cy\": \"transfer-node-input-remark\"\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n style: {\n marginTop: 20,\n marginBottom: 10\n }\n })]\n }),\n cancel: t('common.cancel'),\n confirm: t('team.transferNode.inviteDialog.createInviteLink'),\n onCancel,\n onConfirm: needTransferNFT && !(0, _get.default)(delegationState, 'value.delegated') ? handleTransferNFT : onCreate\n }, {\n body: () => {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Connect.default, {\n action: \"delegate-transfer-nft\",\n open: openTransferNFTAuth,\n locale: locale,\n checkFn: sessionAPI.get,\n onClose: handleCancelTransferNFT,\n onSuccess: onCreate,\n checkTimeout: 5 * 60 * 1000,\n webWalletUrl: (0, _util.getWebWalletUrl)(info),\n extraParams: {\n targetDID: info.did\n },\n messages: {\n title: t('team.transferNode.delegateDialog.title'),\n scan: t('team.transferNode.delegateDialog.scan'),\n confirm: t('team.transferNode.delegateDialog.confirm'),\n success: t('team.transferNode.delegateDialog.success')\n },\n popup: true\n });\n }\n }, {\n body: () => {\n const link = (0, _util.getInviteLink)({\n inviteId: inviteInfo.inviteId,\n endpoint\n });\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Bold, {\n children: t('team.transferNode.inviteDialog.createSuccessTip', {\n expireDate: (0, _util.formatToDatetime)(inviteInfo.expireDate)\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n style: {\n marginTop: '40px'\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_clickToCopy.default, {\n children: link\n })]\n });\n },\n confirm: t('common.confirm'),\n onConfirm: onSuccess\n }];\n const step = steps[activeStep];\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Dialog.default, {\n title: t('team.transferNode.inviteDialog.title'),\n fullWidth: true,\n open: true,\n showCloseButton: false,\n actions: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [step.cancel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: step.onCancel,\n color: \"inherit\",\n children: step.cancel\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: step.onConfirm,\n color: \"primary\",\n disabled: loading,\n variant: \"contained\",\n autoFocus: true,\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }), step.confirm]\n })]\n }),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogContentText.default, {\n component: \"div\",\n children: typeof step.body === 'function' ? step.body() : step.body\n }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n type: \"error\",\n variant: \"icon\",\n children: error\n })]\n });\n}\nTransferMember.propTypes = {\n teamDid: _propTypes.default.string.isRequired,\n onCancel: _propTypes.default.func.isRequired,\n onSuccess: _propTypes.default.func.isRequired,\n onError: _propTypes.default.func,\n endpoint: _propTypes.default.string\n};\nTransferMember.defaultProps = {\n onError: () => {},\n endpoint: ''\n};\nconst Bold = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n font-size: 16px;\\n font-weight: bold;\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.parseAvatar = parseAvatar;\nvar _urlJoin = _interopRequireDefault(require(\"url-join\"));\nvar _constant = require(\"@abtnode/constant\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n// eslint-disable-next-line import/prefer-default-export\nfunction parseAvatar(avatar, teamDid, inService) {\n if (avatar && avatar.startsWith(_constant.USER_AVATAR_URL_PREFIX)) {\n const prefix = window.env.apiPrefix || '/';\n if (inService) {\n return (0, _urlJoin.default)(prefix, _constant.USER_AVATAR_PATH_PREFIX, avatar.replace(_constant.USER_AVATAR_URL_PREFIX, ''));\n }\n return (0, _urlJoin.default)(prefix, _constant.USER_AVATAR_PATH_PREFIX, teamDid, avatar.replace(_constant.USER_AVATAR_URL_PREFIX, ''));\n }\n return avatar;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = PassportColorWithPermission;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _Dialog = _interopRequireDefault(require(\"@arcblock/ux/lib/Dialog\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _reactColor = require(\"react-color\");\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _createPassportSvg = _interopRequireDefault(require(\"@abtnode/auth/lib/util/create-passport-svg\"));\nvar _util = require(\"@blocklet/meta/lib/util\");\nvar _passportColor = require(\"@abtnode/auth/lib/util/passport-color\");\nvar _constant = require(\"@blocklet/constant\");\nvar _toast = _interopRequireDefault(require(\"../../toast\"));\nvar _node = require(\"../../contexts/node\");\nvar _blocklet = require(\"../../contexts/blocklet\");\nvar _util2 = require(\"../../util\");\nvar _permission = require(\"../../permission\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction PassportColor(_ref) {\n let {\n onCancel,\n onSuccess\n } = _ref;\n const {\n api\n } = (0, _node.useNodeContext)();\n const {\n blocklet\n } = (0, _blocklet.useBlockletContext)();\n const {\n t\n } = (0, _context.useLocaleContext)();\n const [loading, setLoading] = (0, _react.useState)(false);\n const curColor = (blocklet.environments.find(x => x.key === 'BLOCKLET_PASSPORT_COLOR') || {}).value || 'auto';\n const defaultColor = curColor === 'auto' ? (0, _passportColor.getPassportColorFromDid)(blocklet.appDid) : curColor;\n const [color, setColor] = (0, _react.useState)(defaultColor);\n const onSubmit = async () => {\n const params = [{\n key: _constant.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_PASSPORT_COLOR,\n value: color\n }];\n try {\n setLoading(true);\n await api.configBlocklet({\n input: {\n did: blocklet.meta.did,\n configs: params\n }\n });\n onSuccess();\n } catch (err) {\n _toast.default.error(err.message);\n } finally {\n setLoading(false);\n }\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.default, {\n title: t('team.passport.color'),\n onClose: onCancel,\n open: true,\n fullWidth: true,\n actions: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: onCancel,\n color: \"inherit\",\n children: t('common.cancel')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: onSubmit,\n color: \"primary\",\n disabled: loading,\n variant: \"contained\",\n autoFocus: true,\n \"data-cy\": \"color-btn-confirm\",\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }), t('common.save')]\n })]\n }),\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n className: \"dialog-content\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactColor.ChromePicker, {\n color: color,\n onChange: c => setColor(c.hex)\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"img\", {\n style: {\n width: 96,\n marginLeft: 48\n },\n alt: \"\",\n src: (0, _createPassportSvg.default)({\n title: 'Owner',\n issuer: (0, _util.getDisplayName)(blocklet),\n issuerDid: blocklet.appDid,\n ownerName: 'Your Name',\n isDataUrl: true,\n preferredColor: color\n })\n })]\n })\n });\n}\nconst PassportColorInDaemon = (0, _permission.withPermission)(PassportColor, 'mutate_team');\nconst PassportColorInService = (0, _permission.withPermission)(PassportColor, '', _util2.BlockletAdminRoles);\nfunction PassportColorWithPermission(props) {\n const {\n inService\n } = (0, _node.useNodeContext)();\n if (inService) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(PassportColorInService, _objectSpread({}, props));\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(PassportColorInDaemon, _objectSpread({}, props));\n}\nPassportColor.propTypes = {\n onCancel: _propTypes.default.func.isRequired,\n onSuccess: _propTypes.default.func.isRequired\n};\nPassportColor.defaultProps = {};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = PassportDetailWithPermission;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _cloneDeep = _interopRequireDefault(require(\"lodash/cloneDeep\"));\nvar _Dialog = _interopRequireDefault(require(\"@arcblock/ux/lib/Dialog\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\nvar _FormControlLabel = _interopRequireDefault(require(\"@mui/material/FormControlLabel\"));\nvar _Checkbox = _interopRequireDefault(require(\"@mui/material/Checkbox\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _EditIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/EditIcon\"));\nvar _DeleteIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/DeleteIcon\"));\nvar _toast = _interopRequireDefault(require(\"../../toast\"));\nvar _node = require(\"../../contexts/node\");\nvar _team = require(\"../../contexts/team\");\nvar _util = require(\"../../util\");\nvar _permission = require(\"../../permission\");\nvar _confirm = _interopRequireDefault(require(\"../../confirm\"));\nvar _mutateRole = _interopRequireDefault(require(\"./mutate-role\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject, _templateObject2;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction PassportDetail(_ref) {\n let {\n onCancel,\n onSuccess,\n onDelete,\n roleName,\n hasPermission\n } = _ref;\n const {\n api\n } = (0, _node.useNodeContext)();\n const {\n roles,\n permissions,\n teamDid,\n refresh: refreshTeam,\n isNodeTeam\n } = (0, _team.useTeamContext)();\n const {\n t\n } = (0, _context.useLocaleContext)();\n const [binds, setBinds] = (0, _react.useState)([]);\n const [updateForm, setUpdateForm] = (0, _react.useState)(false);\n const [delConfirm, setDelConfirm] = (0, _react.useState)(null);\n const [loading, setLoading] = (0, _react.useState)(false);\n const role = (0, _cloneDeep.default)(roles.find(x => x.name === roleName));\n const isProtected = (0, _util.isProtectedRole)(roleName);\n const deletePassport = async name => {\n if (loading) return;\n try {\n setLoading(true);\n await api.deleteRole({\n input: {\n teamDid,\n name\n }\n });\n onDelete();\n } catch (err) {\n _toast.default.error(err.message);\n } finally {\n setLoading(false);\n setDelConfirm(null);\n }\n };\n const getData = async (team, name) => {\n const res = await api.getPermissionsByRole({\n input: {\n teamDid: team,\n role: {\n name\n }\n }\n });\n const permissionList = res.permissions || [];\n const bindList = permissions.map(x => _objectSpread(_objectSpread({}, x), {}, {\n bind: permissionList.some(y => y.name === x.name)\n }));\n setBinds(bindList);\n };\n const onBind = async () => {\n setLoading(true);\n const grantNames = binds.filter(x => x.bind).map(x => x.name);\n try {\n await api.updatePermissionsForRole({\n input: {\n teamDid,\n roleName: role.name,\n grantNames\n }\n });\n _toast.default.success(t('common.saveSuccess'));\n onSuccess();\n } catch (err) {\n _toast.default.error((0, _util.formatError)(err));\n } finally {\n setLoading(false);\n }\n };\n (0, _react.useEffect)(() => {\n if (teamDid && roleName) {\n getData(teamDid, roleName);\n }\n }, [teamDid, roleName]); // eslint-disable-line\n\n const readPermissionsOnly = isNodeTeam || !hasPermission;\n let bindPermission = null;\n if (isNodeTeam) {\n bindPermission = /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"bind\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"title\",\n children: t('common.permission')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"list\",\n children: binds\n // if readonly, show obtained permissions only\n .filter(x => readPermissionsOnly ? x.bind : true).map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"item\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormControlLabel.default, {\n control: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.default, {\n disabled: readPermissionsOnly,\n checked: x.bind,\n onChange: () => {\n setBinds(state => state.map(y => {\n if (y.name === x.name) {\n y.bind = !y.bind;\n }\n return y;\n }));\n },\n name: x.name\n }),\n label: x.description\n })\n }))\n })]\n });\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Dialog.default, {\n title: t('common.passport'),\n onClose: onCancel,\n open: true,\n fullWidth: true,\n toolbar: hasPermission && !isProtected && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n onClick: () => setUpdateForm(role),\n \"data-cy\": \"edit-passport-\".concat(role.name),\n size: \"large\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditIcon.default, {\n fill: \"#bfbfbf\"\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n onClick: () => setDelConfirm({\n title: t('team.passport.delete.title'),\n description: t('team.passport.delete.description', {\n name: role.title\n }),\n confirm: t('common.delConfirm'),\n cancel: t('common.cancel'),\n onConfirm: () => {\n deletePassport(role.name);\n },\n onCancel: () => {\n setLoading(false);\n setDelConfirm(null);\n }\n }),\n \"data-cy\": \"delete-passport-\".concat(role.name),\n size: \"large\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DeleteIcon.default, {\n \"data-cy\": \"close-passport-dialog\",\n fill: \"#bfbfbf\"\n })\n })]\n }),\n actions: isNodeTeam && !readPermissionsOnly && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: onCancel,\n color: \"inherit\",\n children: t('common.cancel')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: onBind,\n color: \"primary\",\n disabled: loading || !role,\n variant: \"contained\",\n autoFocus: true,\n \"data-cy\": \"bind-permission-btn-confirm\",\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }), t('common.save')]\n })]\n }),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {\n children: [!role && /*#__PURE__*/(0, _jsxRuntime.jsx)(Center, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {})\n }), role && /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"dialog-content\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"header\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"title\",\n children: role.title\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"description\",\n style: {\n marginTop: isNodeTeam ? 16 : 48\n },\n children: role.description\n })]\n }), bindPermission]\n })]\n }), updateForm && /*#__PURE__*/(0, _jsxRuntime.jsx)(_mutateRole.default, {\n teamDid: teamDid,\n onCancel: () => setUpdateForm(null),\n onSuccess: () => {\n setUpdateForm(null);\n refreshTeam();\n },\n mode: \"update\",\n roleName: updateForm.name,\n item: updateForm\n }), delConfirm && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {\n title: delConfirm.title,\n description: delConfirm.description,\n confirm: delConfirm.confirm,\n cancel: delConfirm.cancel,\n params: delConfirm.params,\n onConfirm: delConfirm.onConfirm,\n onCancel: delConfirm.onCancel\n })]\n });\n}\nconst PassportDetailInDaemon = (0, _permission.withPermission)(PassportDetail, 'mutate_team');\nconst PassportDetailInService = (0, _permission.withPermission)(PassportDetail, '', _util.BlockletAdminRoles);\nfunction PassportDetailWithPermission(props) {\n const {\n inService\n } = (0, _node.useNodeContext)();\n if (inService) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(PassportDetailInService, _objectSpread({}, props));\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(PassportDetailInDaemon, _objectSpread({}, props));\n}\nPassportDetail.propTypes = {\n roleName: _propTypes.default.string.isRequired,\n onCancel: _propTypes.default.func.isRequired,\n onSuccess: _propTypes.default.func.isRequired,\n onDelete: _propTypes.default.func.isRequired,\n hasPermission: _propTypes.default.bool\n};\nPassportDetail.defaultProps = {\n hasPermission: false\n};\nconst Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .header {\\n .title {\\n font-weight: 400;\\n font-size: 24px;\\n line-height: 28px;\\n color: #222222;\\n }\\n\\n .description {\\n margin-top: 16px;\\n font-weight: 400;\\n font-size: 16px;\\n line-height: 19px;\\n color: #999999;\\n }\\n }\\n\\n .bind {\\n margin-top: 24px;\\n .title {\\n font-weight: 400;\\n font-size: 16px;\\n line-height: 19px;\\n color: #666666;\\n margin-bottom: 24px;\\n }\\n .item {\\n margin-top: 24px;\\n }\\n\\n .MuiFormControlLabel-label {\\n font-weight: 400;\\n font-size: 16px;\\n line-height: 19px;\\n color: #666;\\n }\\n\\n .PrivateSwitchBase-root-45 {\\n padding: 0;\\n padding-right: 12px;\\n }\\n }\\n\"])));\nconst Center = _styled.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n flex: 1;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n height: 200px;\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = PassportList;\nvar _react = require(\"react\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _Add = _interopRequireDefault(require(\"@mui/icons-material/Add\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _SplitButton = _interopRequireDefault(require(\"@arcblock/ux/lib/SplitButton\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _EditIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/EditIcon\"));\nvar _LockIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/LockIcon\"));\nvar _ExternalIssuerIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/ExternalIssuerIcon\"));\nvar _createPassportSvg = _interopRequireDefault(require(\"@abtnode/auth/lib/util/create-passport-svg\"));\nvar _toast = _interopRequireDefault(require(\"../../toast\"));\nvar _node = require(\"../../contexts/node\");\nvar _team = require(\"../../contexts/team\");\nvar _util = require(\"../../util\");\nvar _permission = _interopRequireDefault(require(\"../../permission\"));\nvar _searchInput = _interopRequireDefault(require(\"../search-input\"));\nvar _listHeader = _interopRequireDefault(require(\"../styles/list-header\"));\nvar _detail = _interopRequireDefault(require(\"./detail\"));\nvar _color = _interopRequireDefault(require(\"./color\"));\nvar _mutateRole = _interopRequireDefault(require(\"./mutate-role\"));\nvar _trustedIssuers = _interopRequireDefault(require(\"./trusted-issuers\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction PassportList() {\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n const {\n api,\n inService\n } = (0, _node.useNodeContext)();\n const {\n roles,\n teamDid,\n teamIssuerDid,\n teamName,\n refresh: refreshTeam,\n enablePassportIssuance,\n passportColor,\n isNodeTeam\n } = (0, _team.useTeamContext)();\n const [showCreate, setShowCreate] = (0, _react.useState)(false);\n const [updateForm, setUpdateForm] = (0, _react.useState)(false);\n const [showColor, setShowColor] = (0, _react.useState)(false);\n const [showTrustedIssuers, setShowTrustedIssuers] = (0, _react.useState)(null);\n const [search, setSearch] = (0, _react.useState)('');\n const [loading, setLoading] = (0, _react.useState)(false);\n const toggleShowIssue = async () => {\n if (loading) {\n return;\n }\n setLoading(true);\n try {\n await api.configPassportIssuance({\n input: {\n teamDid,\n enable: !enablePassportIssuance\n }\n });\n refreshTeam();\n await (0, _util.sleep)(800);\n _toast.default.success(t('common.configSuccess'));\n setLoading(false);\n } catch (error) {\n _toast.default.error(error.message);\n setLoading(false);\n }\n };\n const filteredRoles = roles.filter(x => !search || x.title.includes(search) || x.name.includes(search));\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_listHeader.default, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"left\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_searchInput.default, {\n placeholder: t('team.passport.search'),\n value: search,\n onChange: e => setSearch(e.target.value)\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"right\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_permission.default, {\n permission: inService ? '' : 'mutate_team',\n role: inService ? _util.BlockletAdminRoles : [],\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SplitButton.default, {\n variant: \"outlined\",\n menuButtonProps: {\n 'data-cy': 'trusted-issuers-more'\n },\n menu: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SplitButton.default.Item, {\n \"data-cy\": \"config-show-issue-passport\",\n onClick: () => {\n toggleShowIssue();\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16,\n style: {\n marginRight: 8\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n children: [enablePassportIssuance ? t('team.passport.disableIssuance') : t('team.passport.enableIssuance'), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n fontSize: 12,\n color: \"#888\",\n children: enablePassportIssuance ? t('team.passport.disableIssuanceTip') : t('team.passport.enableIssuanceTip')\n })]\n })]\n })\n }), !isNodeTeam && /*#__PURE__*/(0, _jsxRuntime.jsx)(_SplitButton.default.Item, {\n onClick: () => setShowColor(true),\n \"data-cy\": \"config-passport-color\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n children: t('team.passport.configColor')\n })\n })]\n }),\n children: () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n variant: \"outlined\",\n \"data-cy\": \"config-trusted-issuers\",\n onClick: () => {\n setShowTrustedIssuers(true);\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ExternalIssuerIcon.default, {\n style: {\n fontSize: 16,\n marginRight: 4\n }\n }), t('team.passport.trustedPassportIssuers')]\n })\n }), !isNodeTeam && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n style: {\n marginLeft: 16\n },\n variant: \"contained\",\n edge: \"end\",\n color: \"primary\",\n \"data-cy\": \"create-role\",\n onClick: () => setShowCreate(true),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Add.default, {\n style: {\n fontSize: 16,\n marginRight: 4\n }\n }), t('team.add')]\n })]\n })\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n mt: 3\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"list\",\n children: filteredRoles.map(role => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n \"data-cy\": \"passport-\".concat(role.name),\n className: \"item\",\n display: \"flex\",\n alignItems: \"center\",\n onClick: () => setUpdateForm(role),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"img\", {\n style: {\n width: 120\n },\n alt: \"\",\n src: (0, _createPassportSvg.default)({\n title: role.title,\n issuer: teamName,\n issuerDid: teamIssuerDid,\n ownerName: 'Your Name',\n isDataUrl: true,\n preferredColor: passportColor\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n ml: 3,\n className: \"title\",\n children: role.title\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"description\",\n children: role.description\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_permission.default, {\n permission: inService ? '' : 'mutate_team',\n role: inService ? _util.BlockletAdminRoles : [],\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"action\",\n children: (0, _util.isProtectedRole)(role.name) ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_LockIcon.default, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditIcon.default, {})\n })\n })]\n }, role.name))\n }), showCreate && /*#__PURE__*/(0, _jsxRuntime.jsx)(_mutateRole.default, {\n teamDid: teamDid,\n onCancel: () => setShowCreate(false),\n onSuccess: () => {\n setShowCreate(false);\n refreshTeam();\n }\n }), updateForm && /*#__PURE__*/(0, _jsxRuntime.jsx)(_detail.default, {\n onCancel: () => setUpdateForm(null),\n onSuccess: () => {\n setUpdateForm(null);\n refreshTeam();\n },\n onDelete: () => {\n setUpdateForm(null);\n refreshTeam();\n },\n mode: \"update\",\n roleName: updateForm.name,\n item: updateForm\n }), showTrustedIssuers && /*#__PURE__*/(0, _jsxRuntime.jsx)(_trustedIssuers.default, {\n onCancel: () => setShowTrustedIssuers(false)\n }), showColor && /*#__PURE__*/(0, _jsxRuntime.jsx)(_color.default, {\n onCancel: () => setShowColor(null),\n onSuccess: () => setShowColor(null)\n })]\n });\n}\nconst Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .list {\\n .item {\\n padding: 12px;\\n margin: 12px -12px;\\n cursor: pointer;\\n transition: box-shadow 0.4s;\\n &:hover {\\n box-shadow: 0 0 10px 4px rgba(0, 0, 0, 0.1);\\n }\\n }\\n\\n .title {\\n font-weight: 400;\\n font-size: 18px;\\n width: 80px;\\n line-height: 21px;\\n color: #222222;\\n }\\n\\n .description {\\n flex: 1;\\n margin-left: 64px;\\n color: #999999;\\n }\\n\\n .action {\\n color: #bfbfbf;\\n fill: #bfbfbf;\\n }\\n }\\n\"])));\nPassportList.propTypes = {};\nPassportList.defaultProps = {};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = MutateRole;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _md = _interopRequireDefault(require(\"md5\"));\nvar _Dialog = _interopRequireDefault(require(\"@arcblock/ux/lib/Dialog\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _DialogContentText = _interopRequireDefault(require(\"@mui/material/DialogContentText\"));\nvar _Typography = _interopRequireDefault(require(\"@mui/material/Typography\"));\nvar _TextField = _interopRequireDefault(require(\"@mui/material/TextField\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _Alert = _interopRequireDefault(require(\"@arcblock/ux/lib/Alert\"));\nvar _node = require(\"../../contexts/node\");\nvar _util = require(\"../../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction MutateRole(_ref) {\n let {\n teamDid,\n onCancel,\n onSuccess,\n onError,\n mode,\n item\n } = _ref;\n const {\n api\n } = (0, _node.useNodeContext)();\n const [loading, setLoading] = (0, _react.useState)(false);\n const [error, setError] = (0, _react.useState)('');\n const {\n t\n } = (0, _context.useLocaleContext)();\n const [title, setTitle] = (0, _react.useState)(item.title || '');\n const [description, setDescription] = (0, _react.useState)(item.description || '');\n const onCreate = async () => {\n const _title = title.trim();\n if (!_title) {\n setError(t('team.passport.error.titleEmpty'));\n return;\n }\n if (_title.length > 64) {\n setError(t('team.passport.error.titleTooLong', {\n length: 64\n }));\n return;\n }\n const desc = description.replace(/\\n/g, ' ');\n if (!desc) {\n setError(t('team.passport.error.descriptionEmpty'));\n return;\n }\n const name = mode === 'create' ? (0, _md.default)(_title) : item.name;\n setError(null);\n setLoading(true);\n try {\n if (mode === 'create') {\n await api.createRole({\n input: {\n teamDid,\n name,\n title: _title,\n description: desc\n }\n });\n } else {\n await api.updateRole({\n input: {\n teamDid,\n role: {\n name,\n title: _title,\n description: desc\n }\n }\n });\n }\n onSuccess();\n } catch (err) {\n const errMsg = (0, _util.formatError)(err);\n setError(errMsg);\n onError(err);\n } finally {\n setLoading(false);\n }\n };\n const body = /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n children: [mode === 'update' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n component: \"div\",\n style: {\n paddingTop: 24\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n label: \"ID\",\n autoComplete: \"off\",\n variant: \"outlined\",\n name: \"url\",\n \"data-cy\": \"mutate-role-input-name\",\n fullWidth: true,\n autoFocus: true,\n value: item.name,\n disabled: true\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n component: \"div\",\n style: {\n marginTop: 24\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n label: t('common.title'),\n autoComplete: \"off\",\n variant: \"outlined\",\n name: \"title\",\n \"data-cy\": \"mutate-role-input-title\",\n fullWidth: true,\n autoFocus: true,\n value: title,\n onChange: e => {\n setError(null);\n setTitle(e.target.value);\n },\n disabled: mode === 'update' || loading,\n helperText: t('team.passport.create.titleTip')\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {\n component: \"div\",\n style: {\n marginTop: 24,\n marginBottom: 24\n },\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n label: t('common.description'),\n autoComplete: \"off\",\n variant: \"outlined\",\n name: \"description\",\n \"data-cy\": \"mutate-role-input-description\",\n fullWidth: true,\n autoFocus: true,\n value: description,\n onChange: e => {\n setError(null);\n setDescription(e.target.value);\n },\n disabled: loading,\n multiline: true,\n rows: 3\n })\n })]\n });\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Dialog.default, {\n title: mode === 'create' ? t('team.passport.create.title') : '',\n fullWidth: true,\n open: true,\n onClose: onCancel,\n showCloseButton: false,\n actions: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: onCancel,\n color: \"inherit\",\n children: t('common.cancel')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n \"data-cy\": \"mutate-role-confirm\",\n onClick: onCreate,\n color: \"primary\",\n disabled: loading,\n variant: \"contained\",\n autoFocus: true,\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }), mode === 'create' ? t('common.create') : t('common.update')]\n })]\n }),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogContentText.default, {\n component: \"div\",\n children: body\n }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n type: \"error\",\n variant: \"icon\",\n style: {\n width: '100%',\n margin: 0\n },\n children: error\n })]\n });\n}\nMutateRole.propTypes = {\n teamDid: _propTypes.default.string.isRequired,\n onCancel: _propTypes.default.func.isRequired,\n onSuccess: _propTypes.default.func.isRequired,\n onError: _propTypes.default.func,\n mode: _propTypes.default.oneOf(['create', 'update']),\n item: _propTypes.default.object\n};\nMutateRole.defaultProps = {\n onError: () => {},\n mode: 'create',\n item: {}\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = TrustedIssuer;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _cloneDeep = _interopRequireDefault(require(\"lodash/cloneDeep\"));\nvar _Dialog = _interopRequireDefault(require(\"@arcblock/ux/lib/Dialog\"));\nvar _CircularProgress = _interopRequireDefault(require(\"@mui/material/CircularProgress\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _ArrowBack = _interopRequireDefault(require(\"@mui/icons-material/ArrowBack\"));\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\nvar _MenuItem = _interopRequireDefault(require(\"@mui/material/MenuItem\"));\nvar _TextField = _interopRequireDefault(require(\"@mui/material/TextField\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _DeleteIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/DeleteIcon\"));\nvar _Empty = _interopRequireDefault(require(\"@arcblock/ux/lib/Empty\"));\nvar _constant = require(\"@abtnode/constant\");\nvar _toast = _interopRequireDefault(require(\"../../toast\"));\nvar _node = require(\"../../contexts/node\");\nvar _team = require(\"../../contexts/team\");\nvar _util = require(\"../../util\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nvar LongArrow = function LongArrow(props) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(\"svg\", _objectSpread(_objectSpread({}, props), {}, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M64.707 8.707a1 1 0 0 0 0-1.414L58.343.929a1 1 0 1 0-1.414 1.414L62.586 8l-5.657 5.657a1 1 0 0 0 1.414 1.414l6.364-6.364zM0 9h64V7H0v2z\",\n fill: \"#666\"\n })\n }));\n};\nLongArrow.defaultProps = {\n width: \"65\",\n height: \"16\",\n viewBox: \"0 0 65 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst canSave = (issuerDid, mappings) => {\n if (!issuerDid) {\n return false;\n }\n return !mappings.some(x => !x.from.passport || !x.to.role);\n};\nfunction TrustedIssuer(_ref) {\n let {\n onCancel,\n onSuccess,\n data,\n trustedPassports\n } = _ref;\n const {\n api\n } = (0, _node.useNodeContext)();\n const {\n roles,\n teamDid\n } = (0, _team.useTeamContext)();\n const {\n t\n } = (0, _context.useLocaleContext)();\n const [loading, setLoading] = (0, _react.useState)(false);\n const [issuerDid, setIssuerDid] = (0, _react.useState)(data.issuerDid || '');\n const [remark, setRemark] = (0, _react.useState)(data.remark || '');\n const [mappings, setMappings] = (0, _react.useState)((0, _cloneDeep.default)(data.mappings) || []);\n const editIndex = trustedPassports.findIndex(x => x.issuerDid === data.issuerDid);\n const configTrustedPassports = async () => {\n if (loading) {\n return;\n }\n const item = {\n issuerDid,\n remark,\n mappings\n };\n const trustedList = [...trustedPassports];\n if (editIndex === -1) {\n trustedList.unshift(item);\n } else {\n trustedList[editIndex] = item;\n }\n try {\n setLoading(true);\n await api.configTrustedPassports({\n input: {\n teamDid,\n trustedPassports: trustedList\n }\n });\n await (0, _util.sleep)(800);\n setLoading(false);\n _toast.default.success(t('common.saveSuccess'));\n onSuccess();\n } catch (err) {\n setLoading(false);\n _toast.default.error((0, _util.formatError)(err));\n }\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.default, {\n title: t('team.passport.trustedIssuers'),\n open: true,\n showCloseButton: false,\n PaperProps: {\n style: {\n minHeight: '80vh'\n }\n },\n fullWidth: true,\n prepend: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n onClick: onCancel,\n \"data-cy\": \"trusted-issuer-close\",\n size: \"large\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ArrowBack.default, {})\n }),\n actions: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: onCancel,\n color: \"inherit\",\n children: t('common.cancel')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: () => configTrustedPassports(),\n color: \"primary\",\n disabled: !canSave(issuerDid, mappings) || !remark || loading,\n variant: \"contained\",\n autoFocus: true,\n \"data-cy\": \"save-mapping\",\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {\n size: 16\n }), t('common.save')]\n })]\n }),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Div, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"dialog-content\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n fullWidth: true,\n \"data-cy\": \"input-issuer-did\",\n placeholder: t('team.passport.issuerDid'),\n value: issuerDid,\n onChange: event => {\n setIssuerDid(event.target.value);\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n style: {\n marginTop: 16\n },\n fullWidth: true,\n \"data-cy\": \"input-issuer-remark\",\n placeholder: t('common.remark'),\n value: remark,\n onChange: event => {\n setRemark(event.target.value);\n }\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n mt: \"30px\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n className: \"dialog-h1\",\n children: t('team.passport.mappingRule')\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n variant: \"outlined\",\n color: \"primary\",\n \"data-cy\": \"add-mapping\",\n onClick: () => {\n setMappings(d => {\n const res = [...d];\n res.unshift({\n from: {\n passport: ''\n },\n to: {\n role: _constant.ROLES.GUEST\n }\n });\n return res;\n });\n },\n children: t('team.add')\n })\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n className: \"list\",\n mt: -0.5,\n children: [mappings.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n my: 3,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n flexGrow: 1,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n flexGrow: 1,\n flexBasis: 1,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n fullWidth: true,\n size: \"small\",\n \"data-cy\": \"input-\".concat(index, \"-from\"),\n placeholder: \"Issuer\\u2019s Passport Name/ID\",\n value: item.from.passport,\n onChange: event => {\n const {\n value\n } = event.target;\n setMappings(d => {\n const res = [...d];\n res[index].from.passport = value;\n return res;\n });\n }\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n flexShrink: 0,\n mx: 4,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(LongArrow, {})\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n flexGrow: 1,\n flexBasis: 1,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {\n fullWidth: true,\n size: \"small\",\n select: true,\n value: item.to.role,\n onChange: e => {\n setMappings(d => {\n const res = [...d];\n res[index].to.role = e.target.value;\n return res;\n });\n },\n variant: \"outlined\",\n children: roles.filter(d => d.name !== 'owner').map(r => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {\n value: r.name,\n \"data-cy\": \"passport-mapping-select-option-\".concat(r.name),\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n children: r.title || r.name\n })\n }, r.name))\n })\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n flexShrink: 0,\n ml: 4,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n onClick: () => {\n setMappings(d => {\n const res = [...d];\n res.splice(index, 1);\n return res;\n });\n },\n size: \"large\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DeleteIcon.default, {})\n })\n })]\n })), !mappings.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n my: 2,\n color: \"text.secondary\",\n fontSize: \"16px\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Empty.default, {\n children: t('common.empty')\n })\n })]\n })]\n })\n })\n });\n}\nTrustedIssuer.propTypes = {\n onCancel: _propTypes.default.func.isRequired,\n onSuccess: _propTypes.default.func.isRequired,\n trustedPassports: _propTypes.default.array,\n data: _propTypes.default.object\n};\nTrustedIssuer.defaultProps = {\n data: {},\n trustedPassports: []\n};\nconst Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .dialog-h1 {\\n font-size: 18px;\\n }\\n\\n .MuiOutlinedInput-root {\\n border-radius: 36px;\\n .MuiSelect-root.MuiOutlinedInput-input {\\n padding-top: 8.5px;\\n padding-bottom: 8.5px;\\n }\\n }\\n\\n .list {\\n .MuiIconButton-root {\\n svg {\\n fill: #bfbfbf;\\n }\\n }\\n }\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = TrustedIssuersWithPermission;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _cloneDeep = _interopRequireDefault(require(\"lodash/cloneDeep\"));\nvar _Dialog = _interopRequireDefault(require(\"@arcblock/ux/lib/Dialog\"));\nvar _Box = _interopRequireDefault(require(\"@mui/material/Box\"));\nvar _Add = _interopRequireDefault(require(\"@mui/icons-material/Add\"));\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _Empty = _interopRequireDefault(require(\"@arcblock/ux/lib/Empty\"));\nvar _Address = _interopRequireDefault(require(\"@arcblock/did-connect/lib/Address\"));\nvar _EditIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/EditIcon\"));\nvar _DeleteIcon = _interopRequireDefault(require(\"@arcblock/icons/lib/DeleteIcon\"));\nvar _Avatar = _interopRequireDefault(require(\"@arcblock/did-connect/lib/Avatar\"));\nvar _toast = _interopRequireDefault(require(\"../../toast\"));\nvar _permission = require(\"../../permission\");\nvar _node = require(\"../../contexts/node\");\nvar _team = require(\"../../contexts/team\");\nvar _util = require(\"../../util\");\nvar _confirm = _interopRequireDefault(require(\"../../confirm\"));\nvar _listHeader = _interopRequireDefault(require(\"../styles/list-header\"));\nvar _searchInput = _interopRequireDefault(require(\"../search-input\"));\nvar _trustedIssuer = _interopRequireDefault(require(\"./trusted-issuer\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction TrustedIssuers(_ref) {\n let {\n onCancel,\n hasPermission\n } = _ref;\n const {\n api\n } = (0, _node.useNodeContext)();\n const {\n teamDid,\n trustedPassports\n } = (0, _team.useTeamContext)();\n const {\n t\n } = (0, _context.useLocaleContext)();\n const [delConfirm, setDelConfirm] = (0, _react.useState)(null);\n const [loading, setLoading] = (0, _react.useState)(false);\n const [trustedIssuer, setTrustedIssuer] = (0, _react.useState)(false);\n const [search, setSearch] = (0, _react.useState)('');\n const deleteTrustedIssuer = async did => {\n if (loading) {\n return;\n }\n const index = trustedPassports.findIndex(x => x.issuerDid === did);\n if (index === -1) {\n // should not be here\n _toast.default.error('Cannot find passports');\n }\n const trustedList = [...trustedPassports];\n trustedList.splice(index, 1);\n try {\n setLoading(true);\n await api.configTrustedPassports({\n input: {\n teamDid,\n trustedPassports: trustedList\n }\n });\n await (0, _util.sleep)(800);\n setLoading(false);\n _toast.default.success(t('common.saveSuccess'));\n setDelConfirm(false);\n } catch (err) {\n setLoading(false);\n _toast.default.error(err.message);\n }\n };\n const filteredIssuers = trustedPassports.filter(x => !search || x.issuerDid.toLowerCase().includes(search.toLowerCase()));\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Dialog.default, {\n title: t('team.passport.trustedIssuers'),\n open: true,\n onClose: onCancel,\n fullWidth: true,\n PaperProps: {\n style: {\n minHeight: '80vh'\n }\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Div, {\n children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"dialog-content\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"dialog-h1\",\n children: t('team.passport.trustedPassportIssuers')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n component: _listHeader.default,\n mt: 3,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"left\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_searchInput.default, {\n placeholder: t('team.passport.searchIssuerDid'),\n value: search,\n onChange: e => setSearch(e.target.value)\n })\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"div\", {\n className: \"right\",\n children: hasPermission && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n variant: \"contained\",\n color: \"primary\",\n \"data-cy\": \"add-trusted-issuer\",\n onClick: () => setTrustedIssuer({\n mode: 'add'\n }),\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Add.default, {\n style: {\n fontSize: 16,\n marginRight: 4\n }\n }), t('team.add')]\n })\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(\"div\", {\n className: \"list\",\n children: [filteredIssuers.map(x => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n mt: \"20px\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n flexShrink: 0,\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Address.default, {\n copyable: false,\n prepend: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n display: \"flex\",\n alignItems: \"center\",\n mr: 1,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, {\n did: x.issuerDid,\n size: 20\n })\n }),\n showDidLogo: false,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(\"span\", {\n style: {\n fontSize: 16\n },\n children: x.issuerDid\n })\n }), !!x.remark && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n pl: 3.5,\n fontSize: 12,\n maxWidth: \"300px\",\n children: x.remark\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {\n color: \"gray\",\n ml: \"28px\",\n flexGrow: 1,\n children: x.mappings && x.mappings.length ? \"\".concat(x.mappings.length, \" \").concat(t('team.passport.mappingRule')) : t('team.passport.defaultRule')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {\n flexShrink: 0,\n display: \"flex\",\n alignItems: \"center\",\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n onClick: () => setTrustedIssuer({\n mode: 'update',\n data: (0, _cloneDeep.default)(x)\n }),\n \"data-cy\": \"edit-mapping-rule\",\n size: \"large\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditIcon.default, {})\n }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n \"data-cy\": \"delete-mapping-rule\",\n onClick: () => setDelConfirm({\n title: t('common.delete'),\n description: t('common.delConfirmDescription'),\n confirm: t('common.delConfirm'),\n cancel: t('common.cancel'),\n onConfirm: () => deleteTrustedIssuer(x.issuerDid),\n onCancel: () => {\n setLoading(false);\n setDelConfirm(null);\n }\n }),\n size: \"large\",\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DeleteIcon.default, {})\n })]\n })]\n })), !trustedPassports.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Empty.default, {\n children: t('common.empty')\n })]\n })]\n })\n }), trustedIssuer && /*#__PURE__*/(0, _jsxRuntime.jsx)(_trustedIssuer.default, {\n mode: trustedIssuer.mode,\n data: trustedIssuer.data,\n trustedPassports: (0, _cloneDeep.default)(trustedPassports),\n onCancel: () => setTrustedIssuer(null),\n onSuccess: () => {\n setTrustedIssuer(null);\n }\n }), delConfirm && /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirm.default, {\n title: delConfirm.title,\n description: delConfirm.description,\n confirm: delConfirm.confirm,\n cancel: delConfirm.cancel,\n params: delConfirm.params,\n onConfirm: delConfirm.onConfirm,\n onCancel: delConfirm.onCancel\n })]\n });\n}\nTrustedIssuers.propTypes = {\n onCancel: _propTypes.default.func.isRequired,\n hasPermission: _propTypes.default.bool\n};\nTrustedIssuers.defaultProps = {\n hasPermission: false\n};\nconst TrustedIssuersInDaemon = (0, _permission.withPermission)(TrustedIssuers, 'mutate_team');\nconst TrustedIssuersInService = (0, _permission.withPermission)(TrustedIssuers, '', _util.BlockletAdminRoles);\nfunction TrustedIssuersWithPermission(props) {\n const {\n inService\n } = (0, _node.useNodeContext)();\n if (inService) {\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(TrustedIssuersInService, _objectSpread({}, props));\n }\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(TrustedIssuersInDaemon, _objectSpread({}, props));\n}\nconst Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .list {\\n .MuiIconButton-root {\\n svg {\\n fill: #bfbfbf;\\n }\\n }\\n }\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _TextField = _interopRequireDefault(require(\"@mui/material/TextField\"));\nvar _Search = _interopRequireDefault(require(\"@mui/icons-material/Search\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nconst _excluded = [\"children\"];\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nconst SearchInput = (0, _styled.default)(_ref => {\n let {\n children\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, _objectSpread(_objectSpread({}, props), {}, {\n id: \"outlined-basic\",\n variant: \"outlined\",\n InputProps: {\n startAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Search.default, {})\n },\n size: \"small\",\n children: children\n }));\n})(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .MuiOutlinedInput-root {\\n color: #999;\\n &.MuiInputBase-adornedStart .MuiSvgIcon-root {\\n color: #bfbfbf;\\n }\\n opacity: 1;\\n border-radius: 36px;\\n background: #f8f8f8;\\n padding-left: 16px;\\n input {\\n padding-left: 8px;\\n font-weight: bold;\\n &::placeholder {\\n opacity: 1;\\n color: #bfbfbf;\\n }\\n padding-top: 8.5px;\\n padding-bottom: 8.5px;\\n }\\n }\\n\\n .MuiOutlinedInput-notchedOutline,\\n .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline,\\n .Mui-focused .MuiOutlinedInput-notchedOutline {\\n border-color: #eee;\\n border-width: 1px;\\n }\\n\"])));\nvar _default = SearchInput;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nconst ListHeader = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n font-size: 14px;\\n .left,\\n .right {\\n }\\n .right {\\n display: flex;\\n align-items: center;\\n }\\n .tabs {\\n .MuiButton-root {\\n border: none;\\n color: #999;\\n &.active {\\n color: #222;\\n }\\n }\\n }\\n\\n @media (max-width: 600px) {\\n display: block;\\n .right {\\n margin-top: 12px;\\n }\\n }\\n\"])));\nvar _default = ListHeader;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.api = void 0;\nObject.defineProperty(exports, \"axios\", {\n enumerable: true,\n get: function get() {\n return _axios.default;\n }\n});\nexports.default = void 0;\nvar _axios = _interopRequireDefault(require(\"axios\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n_axios.default.defaults.timeout = 10 * 1000; // 超时时间设为10s\n\nconst api = _axios.default.create();\nexports.api = api;\nvar _default = api;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.STORAGE_KEY_STORE_SERVER = exports.STORAGE_KEY_STORE_BLOCKLET = void 0;\nconst STORAGE_KEY_STORE_BLOCKLET = 'blocklet-add-component-registry';\nexports.STORAGE_KEY_STORE_BLOCKLET = STORAGE_KEY_STORE_BLOCKLET;\nconst STORAGE_KEY_STORE_SERVER = 'server-add-registry';\nexports.STORAGE_KEY_STORE_SERVER = STORAGE_KEY_STORE_SERVER;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n// https://www.maigoo.com/top/393790.html\n// https://zh.wikipedia.org/zh-my/ISO_639-1代码表\nvar _default = {\n en: 'English',\n zh: '中文',\n fr: 'Français',\n // 法语\n ru: 'Russian',\n // 俄语\n ar: 'العربية',\n // 阿拉伯语\n es: 'Español',\n // 西班牙语\n de: 'Deutsch',\n // 德语\n pt: 'Português do Brasil',\n // 葡萄牙语\n ja: '日本語',\n // 日语\n hi: 'हिन्दी' // 印地语\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isAlphaMode = void 0;\n/* eslint-disable import/prefer-default-export */\n\n// 当前模式是 内测模式 吗? @see: https://developer.aliyun.com/article/572525\nconst isAlphaMode = localStorage.getItem('enableAlphaMode') === 'true';\nexports.isAlphaMode = isAlphaMode;"],"names":["Provider","NodeContext","NodeProvider","children","imgPrefix","WELLKNOWN_SERVICE_PATH_PREFIX","window","env","serverDid","serverVersion","mode","value","api","client","restApi","ws","getWsClient","create","useSubscription","type","info","did","version","node","TeamContext","teamDid","appId","TeamProvider","blocklet","useBlockletContext","useState","invitations","setInvitations","roles","setRoles","permissions","setPermissions","teamName","getDisplayName","passportColor","environments","find","x","key","BLOCKLET_CONFIGURABLE_KEY","trustedPassports","enablePassportIssuance","getTeamData","getRoles","input","getPermissions","getInvitations","res","filter","RBAC_CONFIG","y","name","passport","ci","map","description","title","Toast","message","getUsers","query","paging","sort","lastLoginAt","useEffect","meta","onUserEvent","data","EVENTS","teamIssuerDid","isNodeTeam","refresh","endpoint","location","origin","getUsersCountPerRole","BlockletComponent","props","getComponentUrl","mountPoint","joinUrl","defaultProps","Layout","t","useLocaleContext","loading","error","refreshBlocklet","actions","nodeInfo","useContext","useLocation","infos","label","bundleName","StyledDashboard","legacy","fullWidth","footerProps","addon","Center","relative","Box","display","alignItems","ErrorOutline","color","sx","marginRight","formatError","Button","onClick","style","textDecoration","className","flex","padding","flexDirection","ErrorBoundary","FallbackComponent","ErrorFallback","resetKeys","pathname","styled","Dashboard","BlockletService","navigate","useNavigate","useParams","tab","currentTab","onUpdate","missingRequiredConfigs","isInstalling","status","getAppMissingConfigs","tabs","Badge","variant","invisible","length","push","isAlphaMode","getBlockletServices","renderAuditLogs","scope","renders","overview","services","members","mt","passports","components","Components","configuration","logs","Logs","navigation","BlockletConfigNavigation","monitor","storage","undefined","TabComponent","showHeader","includes","content","DeletingBlockletProvider","Tabs","current","onChange","newTab","scrollButtons","isValidElement","Main","component","size","marginLeft","source","hasPermission","onStart","onComplete","Alert","margin","WrapDashboard","wsClient","connect","isConnected","disconnect","theme","breakpoints","values","md","__importDefault","this","mod","__esModule","Object","defineProperty","exports","splitNavigationBySection","flatternNavigation","checkLink","joinLink","cleanOrphanNavigation","filterNavigation","nestNavigationList","isMatchSection","deepWalk","parseNavigation","unionWith_1","require","isEqual_1","pick_1","isNil_1","omit_1","cloneDeep_1","url_join_1","path_1","is_absolute_url_1","lodash_1","DEFAULT_SECTION","BASE_PATH","DEFAULT_LINK","default","test","checkUrlPath","tree","cb","order","walk","index","parent","level","Array","isArray","forEach","item","i","sections","section","tryParseItem","JSON","parse","normalizeNavigationList","navigationList","tempData","role","link","optionalJoin","prefix","url","resultUrl","join","endsWith","slice","smartJoinLink","_parentLink","_childLink","strict","parentLink","childLink","isObject","isString","keys","reduce","Set","list","depth","transform","v","copyList","finalList","items","transformedItems","tmpItem","parseBlockletNavigationList","genNavigationListByBlocklet","targetList","capabilities","parentName","parentBase","currentName","currentBase","child","childName","childBase","mergeName","Boolean","childNavigation","mergeBase","matchNavigation","childItems","tmpData","id","patchBuiltinNavigation","copyNavigation","splice","from","visible","compactNavigation","resData","_parent","reduceRight","all","cur","findIndex","allNavigationList","navigationItem","baseNavigation","itemNavigationList","patchNavigationItem","sectionNavigationList","getNavigationListBySection","allSectionList","currentValue","sectionList","cloneList","findComponent","nestedNavigation","some","filteredNavigation","every","options","beforeProcess","builtinNavigation","customNavigationList","settings","navigations","compactedNavigation","patchedNavigation","splitNavigation","levelUpNavigation","flatNavigation","rawNavigation","prev","next","builtinList","slugify","module","replace","normalizePathPrefix","a","b","Actions","_templateObject","_react","_propTypes","_interopRequireDefault","_styled","_IconButton","_Menu","_MenuItem","_MoreHoriz","_ListItemIcon","_ListItemText","_jsxRuntime","_excluded","_excluded2","obj","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","target","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","arg","hint","prim","Symbol","toPrimitive","call","TypeError","String","Number","_toPrimitive","_toPropertyKey","configurable","writable","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","prototype","propertyIsEnumerable","_ref","anchorEl","setAnchorEl","open","onClose","e","stopPropagation","preventDefault","_unused2","jsxs","Div","jsx","_unused","currentTarget","keepMounted","PaperProps","action","close","icon","text","_onClick","disabled","opts","createElement","dense","minWidth","primary","propTypes","array","strings","raw","div","freeze","ConfigAccess","getComponentWhoCanAccess","_templateObject2","_get","_TextField","_Box","_Edit","_useTheme","_Group","_Chip","_Checkbox","_constant","_constant2","_util","_context","_Dialog","_Button","_CircularProgress","_node","_team","_util2","_toast","_config","_taggedTemplateLiteral","CONFIG_ROLE","Configs","zh","en","getAccess","whoCanAccess","roleStore","startsWith","WHO_CAN_ACCESS_PREFIX_ROLES","roleNames","getRolesFromAuthConfig","filterRoles","access","app","configs","COMPONENT_ACCESS_WHO","WHO_CAN_ACCESS","ALL","service","findServiceFromMeta","NODE_SERVICES","AUTH","config","ancestors","showDialog","setShowDialog","locale","useNodeContext","roleList","useTeamContext","setLoading","root","defaultValue","defaultRoles","setWhoCanAccess","dids","iconStyle","fontSize","verticalAlign","palette","secondary","componentName","concat","onOpen","onConfirm","updateWhoCanAccess","success","StyledDialog","minHeight","Fragment","autoFocus","mb","select","SelectProps","renderValue","selected","d","StyledMenuItem","multiple","flexWrap","gap","_ref2","checked","isRequired","any","BlockletAccess","_Tooltip","_ExpandMore","_ChevronRight","_Collapse","_Launch","_EditIcon","_Empty","_blocklet","_line","_bundleAvatar","_configAccess","nodeInterop","cache","_getRequireWildcardCache","has","get","newObj","hasPropertyDescriptor","hasOwnProperty","desc","set","_interopRequireWildcard","WeakMap","cacheBabelInterop","cacheNodeInterop","ComponentItem","_blocklet$children","accessConfig","expand","setExpand","domain","recommendedDomain","href","getBlockletUrl","params","getBlockletUrlParams","fill","canExpand","expandIcon","str","group","py","justifyContent","pl","Math","max","width","xs","cursor","ml","rel","in","unshift","maxWidth","number","spacing","BlockletActions","_reactRouterDom","_useLocalStorage","_Divider","_ButtonGroup","_MoreVert","_Typography","_Radio","_RadioGroup","_FormControlLabel","_Alert","_util3","_confirm","_icons","useBlockletUrlEvaluation","rest","currentAction","setCurrentAction","confirmSetting","setConfirmSetting","LocaleContext","skipSetup","recommendedUrlLoading","recommendedUrl","inProgress","isInProgress","inService","createHandler","fn","requireUserConfirm","isRemoved","keepData","removeType","_blocklet$settings","initialized","serverUrl","getServerUrl","URL","searchParams","sleep","errMsg","Error","onCancel","removeSetting","fromBlockletSource","BlockletSource","custom","gutterBottom","setParams","control","confirmSettings","stop","confirm","cancel","restart","remove","cancelDownload","onAction","_unused3","handler","console","removeAction","isDeletableBlocklet","Remove","deleteBlocklet","cancelDownloadAction","cancelDownloadBlocklet","Start","startBlocklet","hasRunnableComponent","isDownloading","BLOCKLET_MODES","DEVELOPMENT","Stop","stopBlocklet","Restart","restartBlocklet","Reload","reloadBlocklet","separator","onlyInMenu","Config","Group","Log","severity","Link","to","func","oneOf","bool","_window","_window$location","sm","AddCert","_useAsyncRetry","Add","_certState$value2","onAdd","issuing","setIssuing","refreshDomainStatus","certState","findCertificateByDomain","cert","handleIssueComplete","_certState$value","BlockletEvents","certError","certIssued","retry","issueLetsEncryptCert","setting","domainStatus","others","shouldCheckDomainStatus","isHttps","string","shape","assign","_objectDestructuringEmpty","Agreement","_serverEula","_wizardDesc","_agreementApp","onClickNext","handleDescEle","clickNext","search","Container","blockletMeta","onContinue","texts","listenName","buttonNext","down","grey","up","BlockletAppAvatar","_Avatar","_Avatar2","_useAppLogo","_find","logoUrl","imgEle","src","alt","logo","BLOCKLET_APP_LOGO_SQUARE","responsive","backgroundColor","height","borderRadius","oneOfType","_ref3","_auditLog","AuditLogProvider","AuditLogs","_reactMarkdownPreview","_Pagination","_Select","_InputLabel","_FormControl","_relativeTime","getUserLink","log","actor","AuditLog","_log$env$os","_log$env$browser","fullName","linkTarget","ip","os","browser","createdAt","useAuditLogContext","categories","setCategory","fetch","textAlign","marginTop","category","pageCount","page","count","showFirstButton","showLastButton","_ref4","main","_urlJoin","_toUpper","_Tag","_Link","_blocklet$meta","sourceInfo","deployedFrom","bundleDid","underline","BlockletAvatar","_useBundleLogo","setFallBackUrl","ev","onError","AddComponent","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_uniqBy","_flatten","_isEmpty","_isNil","_pageHeader","_DialogContentText","_Check","_useMediaQuery","_launcherLayout","_step","_AnimationWaiter","_launchResultMessage","_urlFriendly","_schemaForm","_required","_purchase","_agreement","_installFromUrl","_selectStore","_storeBlockletList","hasRequiredEnvironments","required","hasMissRequiredConfigs","configsList","sharedValueMap","getParamsName","StepContent","forwardRef","ref","isMobile","onStepChange","useStepContext","steps","activeStep","setActiveStepByKey","setActiveStepByIndex","step","useImperativeHandle","DialogContentWrapper","pcWidth","pcHeight","registryUrl","getBlockletLogoUrl","baseUrl","logoPath","stepTip","RightContent","body","_blocklet$meta2","_blocklet$meta3","_blocklet$meta4","_purchaseRef$current","_purchaseRef$current$","_purchaseRef$current2","_purchaseRef$current3","editingItem","setEditingItem","setError","setConfigs","mountPointHelperText","setMountPointHelperText","purchaseData","setPurchaseData","isWaitingPurchase","setIsWaitingPurchase","initParams","componentDid","pathPrefix","configsValue","hasEnvironmentsStep","requirePurchase","installResultProps","purchaseResultProps","showFromUrlDialog","setActiveStep","useRef","stepRef","purchaseRef","isServerlessMode","NODE_MODES","SERVERLESS","updateParams","validateInput","getComponentName","_component$current","setInstallErrorResult","errorMessage","subTitle","footer","onInstall","installInput","createBlockletEventHandler","_b$meta","statusChange","BlockletStatus","upgrading","downloadFailed","installFailed","payload","_component$current2","inStore","inputUrl","downloadTokenList","_component$current3","getBlockletMetaUrl","rootDid","installComponent","getStoreList","fromBlocklet","storeList","isNewStoreUrl","isNew","decoded","addBlockletStore","validatePathPrefix","blocklets","onNext","_onCancel","onGeneratePurchaseData","installOpts","setConfigValue","_list$","_list$$meta","_meta$environments","chooseParams","componentDidValue","isInit","Date","deletedAt","newConfigs","validation","formatItem","doc","componentSelfConfigs","componentAllConfigs","sharedConfigObj","getSharedConfigObj","hidden","_component$current$me","_component$current$me2","componentRequirePurchase","isFreeBlocklet","TypographyWrapper","onSuccess","_ref5","handleText","extra","_ref6","currentRegistry","storeUrl","handleButtonClick","handleBlockletRender","_ref7","blockletItem","defaultRender","isChosen","StoreBlockletItemWrapper","extraFilter","allBlocklets","isComponentBlocklet","dangerouslySetInnerHTML","__html","getCurrentStep","PageHeaderWrapper","ComponentPurchaseSelect","paddingTop","handlePaySuccess","autoComplete","helperText","marginBottom","formatToDatetime","inputProps","formatMountPoint","schema","changeValue","_ref8","currentItem","allValues","MessageDiv","increaseSpeed","messageLoop","setTimeout","scrollDom","document","getElementsByClassName","scrollTop","scrollHeight","onMenuItemClick","showCloseButton","DialogWrapper","innerHeight","event","reason","_steps$","_steps$$onCancel","disableEscapeKeyDown","overflow","textOverflow","whiteSpace","StepProvider","newStep","isMobileDialogContent","_ref9","common","white","ComponentConfiguration","_Tabs","_environment","_setting","isRoot","isDynamic","dynamic","setTab","tabConfigs","tabConfig","DeleteComponent","_Delete","tip","deleteSetting","setDeleteSetting","deleteComponent","param","componentDisabled","btn","StyledButton","btnWithToolTip","ComponentEnvironment","_core","_clickToCopy","_tableIcons","_table","_permission","onConfigChanged","isConfigEditable","onAddConfig","trim","configBlocklet","result","code","onEditConfig","newData","oldData","BLOCKLET_CLUSTER_SIZE","errMessage","isValidClusterSize","onDeleteConfig","componentConfigs","getComponentMissingConfigs","hasBWAConfig","onRowAdd","onRowUpdate","onRowDelete","isDeletable","permission","BlockletAdminRoles","isBlockletDev","columns","field","initialEditValue","render","fontWeight","editComponent","rowData","_onChange","EditDiv","placeholder","secure","unstyled","wordBreak","_onChange2","icons","emptyRowsWhenPaging","actionsColumnIndex","tableLayout","maxBodyHeight","localization","header","emptyDataSourceMessage","editable","_last","_useAsync","_RelativeTime","Expiration","_state$value","_state$value$data","_state$value$data$val","controller","state","getAsset","chainHost","nftId","expirationDate","launcherUrl","encodeURIComponent","_default","_semver","_DialogContent","_DialogTitle","_DialogActions","_Update","_Add","_Badge","_SettingsOutlined","_InfoOutlined","_Grid","_ArrowForward","_InfoRow","_normalizePathPrefix","_deletingBlocklets","_didAddress","_tag","_blockletSource","_status","_version","_mode","_configuration","_delete","_add","_addRule","_ruleList","getEngineRows","engine","displayName","onRemove","componentInfo","setComponentInfo","deletingComponents","useDeletingBlockletContext","deletingBlocklets","rows","showStatus","bundleSource","store","getSourceInfo","componentRows","checkUpgrade","formatPerson","author","nameWidth","deleteDisabledTip","flexGrow","px","StyledBadge","badgeContent","paddingY","row","valueComponent","nameFormatter","top","right","addDeletingDid","removeDeletingDid","matchDeletingDid","updateConfirm","setUpdateConfirm","showUpdateDot","setShowUpdateDot","getLatestBlockletVersion","then","gt","catch","err","checkForUpdates","newVersion","checkComponentsForUpdates","preUpdateInfo","updateId","updateList","forEachChildSync","updateItem","groupId","checks","hasChecks","onConfirmUpdate","upgradeBlocklet","bind","upgradeComponents","selectedComponents","removeComponent","mr","site","rules","newValue","entries","o","oldValue","onUpdateChecksChange","defaultChecked","container","Line","borderBottom","borderColor","_ahooks","_lodash","_react2","_material","_simpleSelect","_locales","defaultLocale","LocaleTabs","locales","onRemoveLocale","inputRef","addLocaleButtonEl","setAddLocaleButtonEl","useReactive","currentLocale","localeList","inputLocale","localeError","openChooseLocale","useMemo","localeOptions","omit","checkLocale","checkValidLocale","checkResult","handleAddLocale","_state$inputLocale","useKeyPress","Tab","position","IconButton","without","handleRemoveLocale","Icon","disableFocusRipple","Popover","anchorOrigin","vertical","horizontal","p","Typography","NavigationActions","add","edit","toggle","del","isDisabled","isUninstalled","subtitle","handleClick","handleClickAdd","useCallback","handleClickEdit","handleClickToggle","handleClickDelete","_omit","_pick","_values","_without","_isString","_isObject","_cloneDeep","_reactHookForm","_notistack","_parseNavigationFromBlocklet","_index","_isAbsoluteUrl","_localeTabs","initialFormState","IconSuffix","loaded","setLoaded","useAsyncEffect","loadIcon","NavigationDialog","rawNavigations","saveFn","useBoolean","show","setFalse","setTrue","enqueueSnackbar","useSnackbar","linkDisabled","formState","useForm","defaultValues","handleSubmit","watch","setValue","clearErrors","errors","watchComponent","watchTitle","watchLink","watchIcon","watchParent","selectedOption","linkPrefix","stringLink","withoutTrailingSlash","selectedLink","autocompleteOptions","typeName","reset","patchFormValues","localeItem","pickData","validTitle","len","validLink","handleChangeLocale","checkFormState","validRes","handleFormSubmit","checkRes","noValidate","Controller","validate","_errors$title","_errors$title2","TextField","isEdit","_errors$icon","_errors$icon2","InputProps","endAdornment","InputAdornment","disableRipple","_errors$component","_errors$component2","placeholer","_errors$link3","_errors$link4","FormControl","Autocomplete","disablePortal","freeSolo","blurOnSelect","autoSelect","isOptionEqualToValue","option","renderInput","_errors$link","_errors$link2","startAdornment","renderOption","onInputChange","_errors$role","_errors$role2","_Header","_Footer","_Dashboard","_linkBlocker","NavigationPreview","blockletInfo","appDid","appLogo","appName","enableConnect","enableLocale","invalidPathFallback","headerProps","Grid","Skeleton","animation","pt","SimpleSelect","defaultOption","InputLabel","Select","OutlinedInput","Chip","MenuItem","ListItemText","FormHelperText","SelectStore","_ArrowDropDown","_constants","_item","setOpen","storeSelectRef","storageKey","STORAGE_KEY_STORE_BLOCKLET","STORAGE_KEY_STORE_SERVER","setStoreUrl","SelectStoreTitle","endIcon","newRegistry","MenuProps","onDelete","_storeList$","black","ComponentSettingInService","ComponentSettingInDaemon","_formTextInput","ComponentSetting","onSubmitTitle","updateComponentTitle","onSubmitMountPoint","updateComponentMountPoint","initialValue","onSubmit","formatterBeforeSubmit","withPermission","_reactSortableTree","_reactSortableTreeThemeMaterialUi","_isEqual","_reactDndHtml5Backend","_reactDnd","checkCanDrop","prevPath","nextPath","prevLen","nextLen","TreeTitle","treeNode","titleShow","subtitleShow","renderTitle","SortableTree","treeData","setTreeData","renderActions","expandedData","expanded","dndProps","context","DndProvider","backend","HTML5Backend","SortableTreeWithoutDndContext","generateNodeProps","rowInfo","buttons","maxDepth","isVirtualized","canDrop","BlockletList","_ErrorBoundary","_reactErrorBoundary","_list","_Blocklet","getStoreDetail","displayAttributes","attribute","_formatted","BlockletItem","formatRegistryLogoPath","btnTxt","contains","StyledBlocklet","cover","button","ActionButton","handleSearchSelect","filters","setFilters","blockletRender","blockletRenderProps","baseSearch","onFilterChange","changeData","onSearchSelect","_lab","_Session","_sortableTree","_navigationDialog","_navigationActions","_useNavigation","_navigationPreview","mockSession","login","logout","switch","switchDid","switchProfile","switchPassport","navigationTypeMap","bottom","social","dashboard","sessionManager","refNavigationDialog","pageState","saveLoading","resetLoading","showResetConfirm","mockRole","navigationState","getNavigation","saveNavigationList","resetNavigation","updateActiveSection","updateNavigationTree","updateNavigationItem","delNavigationItem","addNavigationItem","handleAddNavigation","handleEditNavigation","handleSaveNavigation","handleResetNavigation","sessionCtxValue","session","user","ButtonGroup","activeSection","Toolbar","paddingLeft","paddingRight","LoadingButton","startIcon","loadingPosition","Paper","elevation","_len","args","_key","_len2","_key2","_len3","_key3","m","SessionContext","Confirm","BlockletEnvironmentInService","BlockletEnvironmentInDaemon","_Switch","_LockIcon","_addDomainAlias","_domainStatus","_domainActions","_walletType","_appSk","_addCert","BlockletEnvironment","cpuCores","setCpuCores","getWhoCanAccess","publicToStore","domains","sortDomains","domainAliases","clusterMode","NODE_RUNTIME_INFO","customType","customDelete","deletable","customUrl","customLogoSquare","customLogoRect","customLogoFavicon","customLogoDeprecated","configurableEnvs","BLOCKLET_APP_NAME","BLOCKLET_APP_DESCRIPTION","BLOCKLET_APP_URL","BLOCKLET_APP_LOGO_RECT","BLOCKLET_APP_LOGO_FAVICON","BLOCKLET_APP_LOGO","exist","schemaList","onPublicToStoreChange","configPublicToStore","onSubmitConfig","onDeletableChange","BLOCKLET_DELETABLE","onWalletTypeChange","BLOCKLET_WALLET_TYPE","onUpdateCors","corsAllowedOrigins","split","updateRoutingSite","onAppSkChange","BLOCKLET_APP_SK","my","isProtected","placement","pointerEvents","paddingBottom","border","BlockletDiskInfo","_filesize","diskInfo","renderDiskInfo","dir","acc","BLOCKLET_APP_DIR","BLOCKLET_DATA_DIR","BLOCKLET_LOG_DIR","BLOCKLET_CACHE_DIR","_PlayArrow","_Stop","_Replay","_Autorenew","_Settings","_Receipt","InstallFromUrl","_Stepper","_Step","_StepLabel","_Connect","_session","defaultUrl","$api","useSessionContext","initMeta","dist","setUrl","setMeta","existingMeta","setExistingMeta","isConnectOpen","setConnectOpen","canUpgrade","setCanUpgrade","isComponentMode","alwayShowSteps","onGetMeta","decodeURIComponent","getBlockletMetaFromUrl","newer","getBlocklet","attachRuntimeInfo","existedBlocklet","lt","_onConfirm","installBlocklet","tarball","onKeyPress","s","alternativeLabel","popup","forceConnected","checkFn","checkTimeout","extraParams","blockletMetaUrl","messages","scan","BlockletLog","_logTerminal","_download","LogTerminalGroup","logId","initialData","postpend","BlockletMode","BlockletMonitor","_prettyMsI18n","_Datatable","_runtimeInfo","_diskInfo","runtimeHistory","monitList","arr","forEachBlockletSync","runtimeInfo","groupName","interval","setInterval","clearInterval","monitorColumns","customBodyRenderLite","rawIndex","uptime","formatLocale","memoryUsage","cpuUsage","toFixed","cpuHistory","cpu","memoryHistory","memory","download","print","viewColumns","pagination","rowsPerPage","BlockletOverview","_types","_expiration","DomainLink","accessibility","LinkDiv","accessible","DomainType","span","_blocklet$site","loadingRuntimeInfo","infoRows","installedAt","startedAt","stoppedAt","owner","engineRows","AppSk","confirmAppSk","setConfirmAppSk","UL","BlockletPreferences","_reactIframe","_TuneRounded","_Key","addComponentTabs","setCurrent","expandPref","setExpandPref","routing","adminPath","URLSearchParams","toString","frameBorder","styles","orientation","borderRight","WalletType","confirmCustomType","setConfirmCustomType","WalletTypes","CustomSelect","useStyles","commonProps","_styles","_List","_ListItem","_ShoppingCart","_VerifiedUser","_Colors","makeStyles","dialogAuth","iconRoot","onSelect","classes","tabPanel","ComponentPurchase","_pWaitFor","_api","_common","webWalletUrl","getWebWalletUrl","nw","setNw","handleConnectSuccess","decrypt","handleConnectSessionStatus","failure","extractStatusUrlFromNextWorkflow","statusUrl","nextWorkflowUrl","modePropsMap","verify","axios","baseURL","blockletDid","purchase","factory","nftFactory","saveConnect","cancelWhenScanned","disableClose","showDownload","setAction","setStep","act","_componentPurchase","AddDomainAlias","_CallMerge","addDomainAlias","domainAlias","onEnter","validateDomain","__disableConfirm","AddRule","_configRoutingRule","siteId","validateRule","rule","ROUTING_RULE_TYPES","REDIRECT","redirectCode","addRoutingRule","disable","validateResult","BLOCKLET","interfaceName","ConfigRoutingRule","serviceTypes","redirectCodesMap","NONE","DeleteDomainAlias","hostname","deleteDomainAlias","edge","DeleteRule","_deleteConfirm","ruleId","deleteRoutingRule","keyName","confirmPlaceholder","UpdateRule","updateRoutingRule","DomainActions","_actions","_deleteDomainAlias","DomainStatus","_Https","_dot","_certificate","domainIcon","httpsIcon","matchedCert","checkIsWildcardDomain","dns","resolved","certificate","RuleActions","_deleteRule","_updateRule","getAccessUrl","RuleListInService","RuleListInDaemon","_isUrl","_ruleActions","RedirectRule","toUrl","scheme","tmpToUrl","RuleList","avatarName","validateSite","isSpecialDomain","getInitialBlockletDid","_isPathPrefixEqual","validateRuleByServiceType","localeContext","DEFAULT_IP_DOMAIN_SUFFIX","suffix","curBlocklet","interfaces","BLOCKLET_DYNAMIC_PATH_PREFIX","fromDid","specialDomains","DOMAIN_FOR_IP_SITE_REGEXP","DOMAIN_FOR_DEFAULT_SITE","DOMAIN_FOR_IP_SITE","BlockletRuntimeInfo","_cpu","_memory","appRuntimeInfo","lg","currentLoad","history","hideDescription","used","arrayOf","date","colors","colorMap","added","waiting","downloading","downloaded","installing","installed","starting","running","stopping","stopped","restarting","corrupted","deleting","statusTxt","Storage","_axios","_localStorage$getItem","_blocklet$environment","_blocklet$environment2","_blocklet$environment3","localStorage","getItem","setErrorMessage","BLOCKLET_APP_SPACE_ENDPOINT","setEndpoint","BLOCKLET_APP_SPACES_URL","didSpacesUrl","setDidSpacesUrl","isLoading","setIsLoading","appDescription","saveStorageEndpoint","storageEndpoint","onAuthorizeConnectSuccess","response","setAuthorizeConnect","preValue","authorizeConnect","handleOnClickAuthorize","isEmpty","scopes","onBackup","backupToSpaces","StorageUrlTextField","BlockletVersionInService","BlockletVersionInDaemon","_ArrowUpward","_Toast","Version","newVersionBlocklet","setNewVersionBlocklet","autoHideDuration","Certificate","_Popover","_Card","_CardContent","handlePopoverClose","onMouseEnter","onMouseLeave","transformOrigin","disableRestoreFocus","maxHeight","formatToDate","validFrom","validTo","ClickToCopy","_ClickToCopy","copiedTip","ConfirmDialog","_mobileWidth","showCancel","initialParams","changeLocale","onCallback","isBreakpointsDownSm","fullScreen","AuditLogContext","AuditLogConsumer","auditLogs","setAuditLogs","total","pageSize","setPaging","fetchLogs","silent","getAuditLogs","createContext","Consumer","DeletingBlockletContext","_xorWith","setDeletingBlocklets","deletingBlockletsDid","reDeleteings","existDids","inDeleting","NodeConsumer","inDaemon","TeamConsumer","CancelConfirm","_title","_description","inputVal","_Address","WrappedDidAddress","external","avatarProps","Content","prepend","defaultSize","FormTextInput","_Close","_Done","_formWrapper","editing","setEditing","setDefaultValue","tmpValue","onKeyDown","useTheme","_window$env","apiPrefix","APP_PREFIX","rawList","injectNavigationData","treeNavigation","rawData","navigationWithLink","getNavigationFullLink","fullList","findItem","Uninstalled","navigation2tree","baseLink","BASE_LINK","componentItem","base","__base","_omitBy","formartedData","stringify","configNavigations","itemData","changed","updatedNavigation","findChanged","changeItem","isSameNavigation","_saveNavigationChange","relatedNavigationId","_nanoid","nanoid","treeItem","unchangedNavigation","Feedback","infoStr","feedbackUrl","mx","_useInterval","currentTime","setCurrentTime","formatTime","DownloadLog","_dayjs","_Download","_formatName","DAYS","setIsDownloading","days","setDays","onDownload","responseType","createObjectURL","setAttribute","format","appendChild","click","removeChild","revokeObjectURL","LogTerminal","_Terminal","_clock","types","logTypeLabels","stdout","stderr","currentType","setCurrentType","logFiles","setLogFiles","terminalRefs","terminal","write","LogTerminalGroupRoot","logFile","visibility","LogTerminalRoot","boxSizing","background","foreground","MonitCard","graph","StyledCard","CpuMonitor","_Sparkline","_card","cpus","svgRef","tooltipRef","tooltipState","left","textContent","cpuDom","setCpuDom","useSize","sparklineOptions","onmousemove","dataPoint","onmouseout","querySelector","floor","strokeWidth","MemoryMonitor","instanceCount","dom","setDom","showPercent","available","memoryPercent","memoryList","metric","PassportTag","Tag","Permission","Component","permissionName","can","userPermissions","RelativeTime","prettyOption","compact","valTime","getTime","now","time","enterTouchDelay","AddStore","addMenuItemRoot","lineHeight","setDisable","font","overflowY","DeleteStore","_DeleteOutline","deleteBlockletStore","StoreItem","_ListItemSecondaryAction","buttonText","textTransform","menuName","protected","_Clear","_SaveAlt","_Filter","_FirstPage","_LastPage","_ChevronLeft","_Search","_Remove","_ViewColumn","Check","Delete","Edit","Clear","DetailPanel","Filter","FirstPage","LastPage","NextPage","PreviousPage","Search","ResetSearch","SortArrow","Export","ThirdStateCheck","ViewColumn","Wrapped","MemberActions","_ForbidLoginIcon","_AllowLoginIcon","_issuePassport","_toggleUserApproval","onIssuePassport","setEnablePassportIssuance","approved","ownerDid","MemberList","_classnames","_Loop","_PersonIcon","_ExternalIssuerIcon","_inviteMember","_transferNode","_member","_invitations","ROLE_ALL","ROLE_NONE","getCount","counts","SimpleInfo","avatar","isFromExternal","showInviteMember","setShowInviteMember","showTransferMember","setShowTransferMember","showInviting","setShowInviting","memberDialog","setMemberDialog","users","setUsers","rowCount","setRowCount","userCounts","setUserCounts","durableKey","tableDurableData","getDurableData","searchText","hideBlocked","setSearch","sideList","num","z","_z$issuer","issuer","parseAvatar","getUserCounts","handleUserChange","USER_UPDATED","USER_ADDED","isInvitationEnabled","customBodyRender","copyable","align","verticalKeyAlign","initTab","customButtons","flexShrink","tableOptions","expandableRowsOnClick","onRowClick","dataIndex","searchDebounceTime","verticalKeyWidth","durable","durableKeys","userDid","Invitations","delConfirm","setDelConfirm","deleteInvitation","inviteId","getLink","column","getInviteLink","widtn","_d$inviter","rowIndex","inviter","InviteMember","inviteInfo","setInviteInfo","setRole","remark","setRemark","onCreate","trimRemark","createMemberInvitation","r","Bold","expireDate","IssuePassport","showOwnerPassport","createPassportIssuance","Member","_passportIssuances","_passports","issuances","setIssuances","setUser","getData","doBatchQuery","getUser","getPassportIssuances","email","lastLoginIp","onRefresh","BlockButton","PassportIssuances","_passportTag","deleteIssuance","deletePassportIssuance","sessionId","getIssuePassportLink","Issuance","Passports","_upperFirst","_ErrorOutline","_RevokeIcon","_createPassportSvg","_searchInput","_listHeader","ConfirmDescription","refreshTeam","toggleConfirm","setToggleConfirm","showIssueDialog","setShowIssueDialog","revoked","PASSPORT_STATUS","REVOKED","togglePassportStatus","method","passportId","revokeInfo","revokable","filteredPassports","issuerDid","ownerName","ownerAvatarUrl","preferredColor","ToggleUserApproval","isSelf","sessionUser","setShow","updateUserApproval","approveConfirm","nodeOwner","isNodeOwner","TransferMember","sessionAPI","openTransferNFTAuth","setOpenTransferNFTAuth","needTransferNFT","delegationState","getDelegationState","delegated","createTransferInvitation","tmpInviteInfo","handleCancelTransferNFT","targetDID","USER_AVATAR_URL_PREFIX","USER_AVATAR_PATH_PREFIX","PassportColorInService","PassportColorInDaemon","_reactColor","_passportColor","PassportColor","curColor","defaultColor","getPassportColorFromDid","setColor","BLOCKLET_PASSPORT_COLOR","ChromePicker","c","hex","isDataUrl","PassportDetailInService","PassportDetailInDaemon","_DeleteIcon","_mutateRole","PassportDetail","roleName","binds","setBinds","updateForm","setUpdateForm","isProtectedRole","deletePassport","deleteRole","team","getPermissionsByRole","permissionList","bindList","onBind","grantNames","updatePermissionsForRole","readPermissionsOnly","bindPermission","toolbar","PassportList","_SplitButton","_detail","_color","_trustedIssuers","showCreate","setShowCreate","showColor","setShowColor","showTrustedIssuers","setShowTrustedIssuers","toggleShowIssue","configPassportIssuance","enable","filteredRoles","menuButtonProps","menu","Item","MutateRole","_md","setTitle","setDescription","createRole","updateRole","multiline","TrustedIssuer","_ArrowBack","LongArrow","viewBox","xmlns","canSave","mappings","setIssuerDid","setMappings","editIndex","configTrustedPassports","trustedList","ROLES","GUEST","flexBasis","TrustedIssuersInService","TrustedIssuersInDaemon","_trustedIssuer","TrustedIssuers","trustedIssuer","setTrustedIssuer","deleteTrustedIssuer","filteredIssuers","toLowerCase","showDidLogo","defaults","timeout","fr","ru","ar","es","de","ja","hi"],"sourceRoot":""}