@profoundlogic/coderflow-server 0.4.9 → 0.5.0

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 (166) hide show
  1. package/README.md +6 -0
  2. package/dist/README.md +6 -0
  3. package/dist/coder-server.js +1 -1
  4. package/dist/config.js +1 -1
  5. package/dist/lib/agent-keepalive.js +1 -1
  6. package/dist/lib/agent-models.js +1 -1
  7. package/dist/lib/api-keys.js +1 -1
  8. package/dist/lib/apiKeys.js +1 -1
  9. package/dist/lib/app-server-ports.js +1 -1
  10. package/dist/lib/auto-judge.js +1 -1
  11. package/dist/lib/automation-service.js +1 -1
  12. package/dist/lib/basic-auth.js +1 -1
  13. package/dist/lib/bindings.js +1 -1
  14. package/dist/lib/build-history.js +1 -1
  15. package/dist/lib/build-output-service.js +1 -1
  16. package/dist/lib/build-scheduler.js +1 -1
  17. package/dist/lib/build-service.js +1 -1
  18. package/dist/lib/ca-certificates.js +1 -1
  19. package/dist/lib/claude-oauth-refresh.js +1 -1
  20. package/dist/lib/cli/build.js +1 -1
  21. package/dist/lib/cli/config-command.js +1 -1
  22. package/dist/lib/cli/config.js +1 -1
  23. package/dist/lib/cli/create-user.js +1 -1
  24. package/dist/lib/cli/init.js +1 -1
  25. package/dist/lib/cli/jira.js +1 -1
  26. package/dist/lib/cli/license.js +1 -1
  27. package/dist/lib/cli/migrate-rbac.js +1 -1
  28. package/dist/lib/cli/server-manager.js +1 -1
  29. package/dist/lib/config-migration.js +1 -1
  30. package/dist/lib/container-credential-sync.js +1 -1
  31. package/dist/lib/container-tokens.js +1 -1
  32. package/dist/lib/data-dir.js +1 -1
  33. package/dist/lib/deployment-history.js +1 -1
  34. package/dist/lib/deployment-service.js +1 -1
  35. package/dist/lib/docker-utils.js +1 -1
  36. package/dist/lib/email.js +1 -1
  37. package/dist/lib/emailTemplates.js +1 -1
  38. package/dist/lib/entitlement.js +1 -1
  39. package/dist/lib/external-connections.js +1 -1
  40. package/dist/lib/fetch-utils.js +1 -1
  41. package/dist/lib/git-commit-details-route.js +1 -1
  42. package/dist/lib/git-history-diff-guardrails.js +1 -1
  43. package/dist/lib/git-provider-service.js +1 -1
  44. package/dist/lib/git-provider-setup/github-setup-handler.js +1 -1
  45. package/dist/lib/git-provider-setup/index.js +1 -1
  46. package/dist/lib/git-provider-setup/setup-factory.js +1 -1
  47. package/dist/lib/git-provider-setup/setup-interface.js +1 -1
  48. package/dist/lib/git-providers/azure-devops-provider.js +1 -1
  49. package/dist/lib/git-providers/github-app-provider.js +1 -1
  50. package/dist/lib/git-providers/index.js +1 -1
  51. package/dist/lib/git-providers/provider-factory.js +1 -1
  52. package/dist/lib/git-providers/provider-interface.js +1 -1
  53. package/dist/lib/github-urls.js +1 -1
  54. package/dist/lib/group-objective-linking.js +1 -1
  55. package/dist/lib/jira-client.js +1 -1
  56. package/dist/lib/judge-blinding.js +1 -1
  57. package/dist/lib/logger.js +1 -1
  58. package/dist/lib/migration-to-scoped-rbac.js +1 -1
  59. package/dist/lib/model-fetcher.js +1 -1
  60. package/dist/lib/notifications.js +1 -1
  61. package/dist/lib/objective-context.js +1 -1
  62. package/dist/lib/oidc-auth.js +1 -1
  63. package/dist/lib/oidc-device-flow.js +1 -1
  64. package/dist/lib/passwordTokens.js +1 -1
  65. package/dist/lib/permission-resolver.js +1 -1
  66. package/dist/lib/pin-cascade.js +1 -1
  67. package/dist/lib/provider-accounts.js +1 -1
  68. package/dist/lib/provider-oauth.js +1 -1
  69. package/dist/lib/provider-profile.js +1 -1
  70. package/dist/lib/provider-token-refresh.js +1 -1
  71. package/dist/lib/rbac-user-state.js +1 -1
  72. package/dist/lib/request-url.js +1 -1
  73. package/dist/lib/rewind.js +1 -1
  74. package/dist/lib/role-definitions.js +1 -1
  75. package/dist/lib/roles.js +1 -1
  76. package/dist/lib/scoped-rbac-migration-runner.js +1 -1
  77. package/dist/lib/secrets.js +1 -1
  78. package/dist/lib/setup-repo-git-auth.js +1 -1
  79. package/dist/lib/state-capture.js +1 -1
  80. package/dist/lib/static-files.js +1 -1
  81. package/dist/lib/task-name-format.js +1 -1
  82. package/dist/lib/task-name-generator.js +1 -1
  83. package/dist/lib/task-source-metadata.js +1 -1
  84. package/dist/lib/teams.js +1 -1
  85. package/dist/lib/user-git-oauth.js +1 -1
  86. package/dist/lib/user-git-tokens.js +1 -1
  87. package/dist/lib/users.js +1 -1
  88. package/dist/middleware/requireAuth.js +1 -1
  89. package/dist/middleware/requireInit.js +1 -1
  90. package/dist/middleware/requirePermission.js +1 -1
  91. package/dist/package.json +1 -1
  92. package/dist/playwright.config.js +1 -1
  93. package/dist/routes/apiKeys.js +1 -1
  94. package/dist/routes/auth-oidc.js +1 -1
  95. package/dist/routes/auth.js +1 -1
  96. package/dist/routes/automations.js +1 -1
  97. package/dist/routes/bindings.js +1 -1
  98. package/dist/routes/build.js +1 -1
  99. package/dist/routes/containers.js +1 -1
  100. package/dist/routes/deploy-task.js +1 -1
  101. package/dist/routes/environment-management.js +1 -1
  102. package/dist/routes/environments.js +1 -1
  103. package/dist/routes/external-skills.js +1 -1
  104. package/dist/routes/git-credentials.js +1 -1
  105. package/dist/routes/git-oauth.js +1 -1
  106. package/dist/routes/git-provider-setup.js +1 -1
  107. package/dist/routes/health.js +1 -1
  108. package/dist/routes/jira.js +1 -1
  109. package/dist/routes/objective-management.js +1 -1
  110. package/dist/routes/password.js +1 -1
  111. package/dist/routes/prompt.js +1 -1
  112. package/dist/routes/provider-auth.js +1 -1
  113. package/dist/routes/qa.js +1 -1
  114. package/dist/routes/roles.js +1 -1
  115. package/dist/routes/settings.js +1 -1
  116. package/dist/routes/skill-management.js +1 -1
  117. package/dist/routes/skills.js +1 -1
  118. package/dist/routes/tasks.js +1 -1
  119. package/dist/routes/teams.js +1 -1
  120. package/dist/routes/templates.js +1 -1
  121. package/dist/routes/test-task.js +1 -1
  122. package/dist/routes/test.js +1 -1
  123. package/dist/routes/users.js +1 -1
  124. package/dist/routes/visualizations.js +1 -1
  125. package/dist/scripts/create-user.js +1 -1
  126. package/dist/scripts/migrate-config-to-data-dir.js +1 -1
  127. package/dist/scripts/migrate-to-scoped-rbac.js +1 -1
  128. package/dist/start.js +1 -1
  129. package/dist/web-ui/public/activity-detail-modal.js +1 -1
  130. package/dist/web-ui/public/activity-feed.js +1 -1
  131. package/dist/web-ui/public/activity-formatters.js +1 -1
  132. package/dist/web-ui/public/agent-event-parser.js +1 -1
  133. package/dist/web-ui/public/app.js +1 -1
  134. package/dist/web-ui/public/approve-dialog.js +1 -1
  135. package/dist/web-ui/public/automation-links.js +1 -1
  136. package/dist/web-ui/public/automation-schedule.js +1 -1
  137. package/dist/web-ui/public/comments-widget.js +1 -1
  138. package/dist/web-ui/public/diff-utils.js +1 -1
  139. package/dist/web-ui/public/environments.js +1 -1
  140. package/dist/web-ui/public/feedback-widget.js +1 -1
  141. package/dist/web-ui/public/git-history-lazy-utils.js +1 -1
  142. package/dist/web-ui/public/git-history.js +1 -1
  143. package/dist/web-ui/public/git-status.js +1 -1
  144. package/dist/web-ui/public/index.js +1 -1
  145. package/dist/web-ui/public/login.js +1 -1
  146. package/dist/web-ui/public/markdown-editor.js +1 -1
  147. package/dist/web-ui/public/markdown-file-editor.js +1 -1
  148. package/dist/web-ui/public/modal-maximize.js +1 -1
  149. package/dist/web-ui/public/notifications.js +1 -1
  150. package/dist/web-ui/public/pr-dialog.js +1 -1
  151. package/dist/web-ui/public/roles.js +1 -1
  152. package/dist/web-ui/public/server-health.js +1 -1
  153. package/dist/web-ui/public/settings.js +1 -1
  154. package/dist/web-ui/public/setup-password.js +1 -1
  155. package/dist/web-ui/public/skills.js +1 -1
  156. package/dist/web-ui/public/sse-client.js +1 -1
  157. package/dist/web-ui/public/sse-shared-worker.js +1 -1
  158. package/dist/web-ui/public/styles.css +71 -0
  159. package/dist/web-ui/public/task.html +24 -0
  160. package/dist/web-ui/public/task.js +1 -1
  161. package/dist/web-ui/public/teams.js +1 -1
  162. package/dist/web-ui/public/terminal.js +1 -1
  163. package/dist/web-ui/public/theme.js +1 -1
  164. package/dist/web-ui/public/users.js +1 -1
  165. package/dist/web-ui/public/variant-grouping.js +1 -1
  166. package/package.json +1 -1
@@ -1 +1 @@
1
- const _0xdc5809=_0x473e;(function(_0x1917d6,_0x30ddb5){const _0x4e5673=_0x473e,_0x59fcf6=_0x1917d6();while(!![]){try{const _0x5731f8=-parseInt(_0x4e5673(0x187))/0x1*(parseInt(_0x4e5673(0x1a5))/0x2)+-parseInt(_0x4e5673(0x1a7))/0x3+-parseInt(_0x4e5673(0x171))/0x4+-parseInt(_0x4e5673(0x19c))/0x5*(-parseInt(_0x4e5673(0x166))/0x6)+parseInt(_0x4e5673(0x17d))/0x7+parseInt(_0x4e5673(0x1ba))/0x8+parseInt(_0x4e5673(0x19d))/0x9;if(_0x5731f8===_0x30ddb5)break;else _0x59fcf6['push'](_0x59fcf6['shift']());}catch(_0x5b785b){_0x59fcf6['push'](_0x59fcf6['shift']());}}}(_0x3069,0x3eb65));function _0x473e(_0x94e075,_0x496d50){_0x94e075=_0x94e075-0x164;const _0x3069ab=_0x3069();let _0x473ef6=_0x3069ab[_0x94e075];if(_0x473e['GaeRiW']===undefined){var _0x40f03f=function(_0x352964){const _0x43d6cb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x23cc7d='',_0xc8bfae='';for(let _0x86fcd2=0x0,_0x389827,_0x488d9f,_0x20ba36=0x0;_0x488d9f=_0x352964['charAt'](_0x20ba36++);~_0x488d9f&&(_0x389827=_0x86fcd2%0x4?_0x389827*0x40+_0x488d9f:_0x488d9f,_0x86fcd2++%0x4)?_0x23cc7d+=String['fromCharCode'](0xff&_0x389827>>(-0x2*_0x86fcd2&0x6)):0x0){_0x488d9f=_0x43d6cb['indexOf'](_0x488d9f);}for(let _0x3f47cb=0x0,_0x35474f=_0x23cc7d['length'];_0x3f47cb<_0x35474f;_0x3f47cb++){_0xc8bfae+='%'+('00'+_0x23cc7d['charCodeAt'](_0x3f47cb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc8bfae);};_0x473e['UziMar']=_0x40f03f,_0x473e['UzUUtP']={},_0x473e['GaeRiW']=!![];}const _0x54b38e=_0x3069ab[0x0],_0x73bae6=_0x94e075+_0x54b38e,_0x294f09=_0x473e['UzUUtP'][_0x73bae6];return!_0x294f09?(_0x473ef6=_0x473e['UziMar'](_0x473ef6),_0x473e['UzUUtP'][_0x73bae6]=_0x473ef6):_0x473ef6=_0x294f09,_0x473ef6;}function isSharedWorkerSupported(){const _0x57fe26=_0x473e;return typeof SharedWorker!==_0x57fe26(0x18e);}function eventTypeToHandler(_0x23cc7d){const _0x2f8fbd=_0x473e;if(_0x23cc7d===_0x2f8fbd(0x178))return _0x2f8fbd(0x1a3);if(_0x23cc7d===_0x2f8fbd(0x17f))return _0x2f8fbd(0x1c6);return'on'+_0x23cc7d[_0x2f8fbd(0x1b3)]('-')[_0x2f8fbd(0x194)](_0xc8bfae=>_0xc8bfae[_0x2f8fbd(0x1c7)](0x0)[_0x2f8fbd(0x177)]()+_0xc8bfae[_0x2f8fbd(0x182)](0x1))[_0x2f8fbd(0x1c3)]('');}const TASK_STREAM_EVENTS=[_0xdc5809(0x169),_0xdc5809(0x17b),_0xdc5809(0x189),_0xdc5809(0x167),'changed-files','app-server-status','complete'];function _0x3069(){const _0x53c849=['x3nJAgvKDwXLuMvJB25Uzwn0','C2v0','C25HChnOB3q','BwvZC2fNzq','Dg9vChbLCKnHC2u','y29UBMvJDgvK','w1ntrsbdBgLLBNrDifnJAgvKDwXPBMCGCMvJB25Uzwn0igLUia','x2HHBMrSzvDVCMTLCK1LC3nHz2u','Bg9NCW','DxnLu2HHCMvKv29YA2vY','mtuXodKZmgL5svrNtW','w1ntrsbdBgLLBNrDifDVCMTLCIbTzxnZywDLigvYCM9YoG','zxjYB3i','zgLZy29UBMvJDa','CMvJB25Uzwn0vgLTzw91Da','C2XPy2u','CMvJB25Uzwn0qxr0zw1WDhm','igrHDge6','w1ntrsbdBgLLBNrDiezHAwXLzcb0BYbWyxjZzsa','w1ntrsbdBgLLBNrDifvUA25VD24GBwvZC2fNzsb0ExbLoG','mtqZmeTUyKfPCG','l3rHC2TZl3vWzgf0zxm','Bwv0ywrHDge','w1ntrsbdBgLLBNrDievYCM9YigLUia','y2XVC2u','B25TzxnZywDLzxjYB3i','zM9YrwfJAa','Dw5KzwzPBMvK','C3rHCNq','C3vIC2nYAwjLvgfZAW','B2zM','DhLWzq','C3rHDhvZ','BwfW','DgfZA0LK','D29YA2vY','BMv3lxrHC2S','y29UBMvJDa','zgvSzxrL','x3rHC2TtDwjZy3jPChrPB25Z','BwLU','mZi0mJbsu0DTvei','mZe2nty1mwvJDM53ua','x3rHC2TtDwjjzenVDw50zxi','ywrKrxzLBNrmAxn0zw5LCG','AgfUzgXLCNm','DxnLCKLK','ywrK','B25dB25Uzwn0zwq','CMvWBgfJzq','mtq4BfbwuNz0','zxzLBNrtB3vYy2u','mtuZodi5nwfrCfHqEG','yMLUza','AgfZ','x2HHBMrSzurPCMvJDfntrq','w1ntrsbdBgLLBNrDievYCM9YihbHCNnPBMCGDgfZAYa','y2XLyxi','x3vUC3vIC2nYAwjLvgfZA0rPCMvJDa','z2v0','C3rHCNrZv2L0Aa','BgLZDgvUzxjZ','Cg93','x2nVBM5Ly3reAxjLy3q','C3bSAxq','zgLYzwn0','x2HHBMrSzvrHC2TtDhjLyw1nzxnZywDL','q29UBMvJDgLVBIbLCNjVCG','x3n1yNnJCMLIzvrHC2TeAxjLy3q','B25TzxnZywDL','CxvLDwuTCg9ZAxrPB24','mJG4ndy4mg5RCKD4za','w1ntrsbdBgLLBNrDierPCMvJDcbtu0uGzxjYB3i6','x3vUC3vIC2nYAwjLvgfZA1DVCMTLCG','Cg9YDa','Bg9N','Dw5ZDwjZy3jPyMvuyxnR','B3bLBG','DgfZAZO','C2L6zq','AM9PBG','l3nZzs1ZAgfYzwqTD29YA2vYlMPZ','x2vTAxq','B25fCNjVCG','y2HHCKf0','x2vUC3vYzvDVCMTLCG','w1ntrsbdBgLLBNrDievYCM9YigLUihrHC2SG','nNzSwwnzsW','C3vTBwfYEq','C3rYAw5N','ywn0AxzPDhK','y2HHBMDLrMLSDgvY','p3vZzxjjzd0','zgf0yq','Cg9ZDe1LC3nHz2u','x3n1yNnJCMLIzvrHC2TwAwfxB3jRzxi','AxnvC2LUz1nOyxjLzfDVCMTLCG','CgfYC2u','mJqXmZC2rhzKzfjZ','igHHBMrSzxi6'];_0x3069=function(){return _0x53c849;};return _0x3069();}export class TaskUpdatesClient{constructor(){const _0x16cbcd=_0xdc5809;this[_0x16cbcd(0x1b0)]=new Map(),this['worker']=null,this['port']=null,this[_0x16cbcd(0x1a6)]=null,this[_0x16cbcd(0x1a1)]=null,this[_0x16cbcd(0x181)]=null,this[_0x16cbcd(0x183)]=0x0,this[_0x16cbcd(0x17c)]=isSharedWorkerSupported(),this[_0x16cbcd(0x178)]=![],this['_taskSubscriptions']=new Map(),this[_0x16cbcd(0x19e)]=0x0,this[_0x16cbcd(0x17a)]=this[_0x16cbcd(0x17a)][_0x16cbcd(0x1a8)](this),this[_0x16cbcd(0x1aa)]=this[_0x16cbcd(0x1aa)][_0x16cbcd(0x1a8)](this);}['on'](_0x86fcd2,_0x389827){const _0x2a93a5=_0xdc5809;return!this[_0x2a93a5(0x1b0)][_0x2a93a5(0x1a9)](_0x86fcd2)&&this[_0x2a93a5(0x1b0)][_0x2a93a5(0x174)](_0x86fcd2,new Set()),this[_0x2a93a5(0x1b0)][_0x2a93a5(0x1ae)](_0x86fcd2)[_0x2a93a5(0x1a2)](_0x389827),this;}[_0xdc5809(0x191)](_0x488d9f,_0x20ba36){const _0x3f5a59=_0xdc5809;return this['listeners']['has'](_0x488d9f)&&this['listeners'][_0x3f5a59(0x1ae)](_0x488d9f)[_0x3f5a59(0x199)](_0x20ba36),this;}[_0xdc5809(0x1c5)](_0x3f47cb,_0x35474f){const _0x1b8fa8=_0xdc5809;this['listeners'][_0x1b8fa8(0x1a9)](_0x3f47cb)&&this[_0x1b8fa8(0x1b0)]['get'](_0x3f47cb)[_0x1b8fa8(0x18d)](_0xd8fb07=>{const _0x198e23=_0x1b8fa8;try{_0xd8fb07(_0x35474f);}catch(_0x5a8ffa){console[_0x198e23(0x17f)](_0x198e23(0x18a)+_0x3f47cb+'\x20listener:',_0x5a8ffa);}});}['connect'](_0x262929='me'){const _0xdedbaf=_0xdc5809;this[_0xdedbaf(0x1a1)]=_0x262929,this[_0xdedbaf(0x17c)]?this['_connectViaWorker'](_0x262929):this[_0xdedbaf(0x1b2)](_0x262929);}['_connectViaWorker'](_0x3e72eb){const _0x3601bb=_0xdc5809;try{this['_ensureWorker'](),this[_0x3601bb(0x1bd)]['postMessage']({'action':_0x3601bb(0x198),'userId':_0x3e72eb});}catch(_0xbb54c9){console[_0x3601bb(0x17f)]('[SSE\x20Client]\x20SharedWorker\x20failed,\x20falling\x20back\x20to\x20direct\x20SSE:',_0xbb54c9),this[_0x3601bb(0x17c)]=![],this[_0x3601bb(0x1b2)](_0x3e72eb);}}['_ensureWorker'](){const _0x237056=_0xdc5809;!this[_0x237056(0x196)]&&(this[_0x237056(0x196)]=new SharedWorker(_0x237056(0x1c4)),this[_0x237056(0x1bd)]=this[_0x237056(0x196)]['port'],this[_0x237056(0x1bd)][_0x237056(0x1b8)]=this[_0x237056(0x17a)],this[_0x237056(0x1bd)][_0x237056(0x18c)]=_0x1b5499=>{const _0x15bca5=_0x237056;console[_0x15bca5(0x17f)](_0x15bca5(0x17e),_0x1b5499),this['_emit'](_0x15bca5(0x17f),{'error':'Worker\x20message\x20error'});},this[_0x237056(0x1bd)][_0x237056(0x18f)]());}[_0xdc5809(0x17a)](_0x431076){const _0x3dc3e8=_0xdc5809,_0x1a76e2=_0x431076['data'];if(_0x1a76e2[_0x3dc3e8(0x192)]&&_0x1a76e2['type'][_0x3dc3e8(0x1af)](_0x3dc3e8(0x1c1))){this['_handleTaskStreamMessage'](_0x1a76e2);return;}switch(_0x1a76e2[_0x3dc3e8(0x192)]){case _0x3dc3e8(0x178):this['connected']=!![],this[_0x3dc3e8(0x1c5)](_0x3dc3e8(0x178),{});break;case'snapshot':case'activity':case _0x3dc3e8(0x193):case'new-task':case _0x3dc3e8(0x1b9):try{const _0x56c0a1=JSON['parse'](_0x1a76e2[_0x3dc3e8(0x16c)]);this['_emit'](_0x1a76e2['type'],_0x56c0a1);}catch(_0x3678dc){console[_0x3dc3e8(0x17f)](_0x3dc3e8(0x185)+_0x1a76e2[_0x3dc3e8(0x192)]+_0x3dc3e8(0x184),_0x3678dc);}break;case _0x3dc3e8(0x17f):this[_0x3dc3e8(0x178)]=![],this[_0x3dc3e8(0x1c5)](_0x3dc3e8(0x17f),_0x1a76e2);break;default:console['warn'](_0x3dc3e8(0x186),_0x1a76e2['type']);}}[_0xdc5809(0x1b5)](_0x45750b){const _0x59ea13=_0xdc5809,{taskId:_0x30e05c,type:_0x2cbfc5,data:_0x5075a2}=_0x45750b,_0x5b1d91=this[_0x59ea13(0x19a)][_0x59ea13(0x1ae)](_0x30e05c);if(!_0x5b1d91||_0x5b1d91[_0x59ea13(0x1c2)]===0x0)return;const _0x39bd38=_0x2cbfc5[_0x59ea13(0x1a4)](_0x59ea13(0x1c1),''),_0x584849=eventTypeToHandler(_0x39bd38);_0x5b1d91[_0x59ea13(0x18d)](_0x26647d=>{const _0x44b765=_0x59ea13;if(_0x26647d[_0x44b765(0x1a0)][_0x584849])try{const _0x481fbc=typeof _0x5075a2===_0x44b765(0x168)?JSON['parse'](_0x5075a2):_0x5075a2;_0x26647d['handlers'][_0x584849](_0x481fbc);}catch(_0x50031b){console['error'](_0x44b765(0x165)+_0x39bd38+_0x44b765(0x172),_0x50031b);}});}[_0xdc5809(0x1b2)](_0x1bf503){const _0x138ee7=_0xdc5809;this[_0x138ee7(0x1a6)]&&(this[_0x138ee7(0x1a6)][_0x138ee7(0x18b)](),this[_0x138ee7(0x1a6)]=null);const _0x9add2=_0x1bf503&&_0x1bf503!=='me'?_0x138ee7(0x16b)+_0x1bf503:'';try{this['eventSource']=new EventSource(_0x138ee7(0x188)+_0x9add2),this['eventSource'][_0x138ee7(0x19f)](_0x138ee7(0x1c0),()=>{const _0x146ea6=_0x138ee7;this[_0x146ea6(0x178)]=!![],this['reconnectAttempts']=0x0,this[_0x146ea6(0x1c5)](_0x146ea6(0x178),{});}),this[_0x138ee7(0x1a6)][_0x138ee7(0x19f)](_0x138ee7(0x175),_0x465829=>{const _0x38310d=_0x138ee7;this[_0x38310d(0x1aa)](_0x38310d(0x175),_0x465829),this[_0x38310d(0x183)]=0x0;}),this[_0x138ee7(0x1a6)][_0x138ee7(0x19f)](_0x138ee7(0x169),_0x30edea=>{const _0x1f35c8=_0x138ee7;this[_0x1f35c8(0x1aa)](_0x1f35c8(0x169),_0x30edea);}),this[_0x138ee7(0x1a6)]['addEventListener'](_0x138ee7(0x193),_0x43e14c=>{const _0x7ea487=_0x138ee7;this[_0x7ea487(0x1aa)](_0x7ea487(0x193),_0x43e14c);}),this[_0x138ee7(0x1a6)][_0x138ee7(0x19f)](_0x138ee7(0x197),_0x36fd9b=>{const _0x504bfd=_0x138ee7;this[_0x504bfd(0x1aa)]('new-task',_0x36fd9b);}),this[_0x138ee7(0x1a6)][_0x138ee7(0x19f)](_0x138ee7(0x1b9),_0x2bef7c=>{const _0x4f9f4c=_0x138ee7;this[_0x4f9f4c(0x1aa)]('queue-position',_0x2bef7c);}),this['eventSource'][_0x138ee7(0x19f)](_0x138ee7(0x17f),_0x1c4390=>{const _0xf3c405=_0x138ee7;console[_0xf3c405(0x17f)](_0xf3c405(0x1bb),_0x1c4390),this['connected']=![],this[_0xf3c405(0x1c5)](_0xf3c405(0x17f),{'error':'Connection\x20error'}),this[_0xf3c405(0x1a6)]&&(this[_0xf3c405(0x1a6)]['close'](),this[_0xf3c405(0x1a6)]=null),this[_0xf3c405(0x173)]();});}catch(_0x58d8ac){console[_0x138ee7(0x17f)]('[SSE\x20Client]\x20Failed\x20to\x20create\x20EventSource:',_0x58d8ac),this[_0x138ee7(0x1c5)](_0x138ee7(0x17f),{'error':_0x58d8ac[_0x138ee7(0x176)]}),this[_0x138ee7(0x173)]();}}[_0xdc5809(0x1aa)](_0x187424,_0x5221ea){const _0x2f2573=_0xdc5809;try{const _0x1b1cc1=JSON[_0x2f2573(0x170)](_0x5221ea[_0x2f2573(0x16c)]);this[_0x2f2573(0x1c5)](_0x187424,_0x1b1cc1);}catch(_0x160a72){console[_0x2f2573(0x17f)](_0x2f2573(0x185)+_0x187424+_0x2f2573(0x184),_0x160a72);}}['_scheduleReconnect'](){const _0x1f982f=_0xdc5809;this[_0x1f982f(0x181)]&&clearTimeout(this[_0x1f982f(0x181)]);const _0x3767e5=Math[_0x1f982f(0x19b)](0x3e8*Math[_0x1f982f(0x1b1)](0x2,this[_0x1f982f(0x183)]),0x7530);this['reconnectAttempts']++,console[_0x1f982f(0x1be)](_0x1f982f(0x179)+_0x3767e5+'ms'),this[_0x1f982f(0x181)]=setTimeout(()=>{const _0x400836=_0x1f982f;this[_0x400836(0x1b2)](this[_0x400836(0x1a1)]);},_0x3767e5);}[_0xdc5809(0x16a)](_0x1282d5){const _0x49b2bd=_0xdc5809;if(_0x1282d5===this['userId'])return;this[_0x49b2bd(0x1a1)]=_0x1282d5;if(this[_0x49b2bd(0x17c)]&&this[_0x49b2bd(0x1bd)])this[_0x49b2bd(0x1bd)][_0x49b2bd(0x16d)]({'action':_0x49b2bd(0x16a),'userId':_0x1282d5});else this[_0x49b2bd(0x1a6)]&&this[_0x49b2bd(0x1b2)](_0x1282d5);}[_0xdc5809(0x190)](_0x510b04,_0x21923c){const _0x419fdf=_0xdc5809;return this[_0x419fdf(0x17c)]?this[_0x419fdf(0x16e)](_0x510b04,_0x21923c):this[_0x419fdf(0x1b7)](_0x510b04,_0x21923c);}[_0xdc5809(0x1bf)](_0x5d48db){const _0x5dbdfb=_0xdc5809;if(!_0x5d48db)return;_0x5d48db[_0x5dbdfb(0x192)]===_0x5dbdfb(0x196)?this[_0x5dbdfb(0x1bc)](_0x5d48db):this['_unsubscribeTaskDirect'](_0x5d48db);}[_0xdc5809(0x16e)](_0x4cc9e0,_0x478fd1){const _0x179377=_0xdc5809;try{this[_0x179377(0x164)]();}catch(_0x474d9b){return console['error']('[SSE\x20Client]\x20SharedWorker\x20failed\x20for\x20task\x20sub,\x20falling\x20back:',_0x474d9b),this['useSharedWorker']=![],this[_0x179377(0x1b7)](_0x4cc9e0,_0x478fd1);}const _0x311499=++this[_0x179377(0x19e)],_0x274b1a={'type':_0x179377(0x196),'taskId':_0x4cc9e0,'handlers':_0x478fd1,'id':_0x311499};return!this[_0x179377(0x19a)][_0x179377(0x1a9)](_0x4cc9e0)&&(this[_0x179377(0x19a)][_0x179377(0x174)](_0x4cc9e0,new Set()),this[_0x179377(0x1bd)][_0x179377(0x16d)]({'action':_0x179377(0x190),'taskId':_0x4cc9e0})),this[_0x179377(0x19a)][_0x179377(0x1ae)](_0x4cc9e0)[_0x179377(0x1a2)](_0x274b1a),_0x274b1a;}[_0xdc5809(0x1bc)](_0x2740c1){const _0x4dadac=_0xdc5809,{taskId:_0x216230}=_0x2740c1,_0x2675a7=this[_0x4dadac(0x19a)]['get'](_0x216230);if(_0x2675a7){_0x2675a7['delete'](_0x2740c1);if(_0x2675a7[_0x4dadac(0x1c2)]===0x0){this['_taskSubscriptions'][_0x4dadac(0x199)](_0x216230);try{this[_0x4dadac(0x1bd)]&&this['port'][_0x4dadac(0x16d)]({'action':_0x4dadac(0x1bf),'taskId':_0x216230});}catch(_0x123118){}}}}[_0xdc5809(0x1b7)](_0x1ffa77,_0x1b3258){const _0x4f721c=_0xdc5809,_0x13712b=++this[_0x4f721c(0x19e)],_0x2f6671=new EventSource('/tasks/'+_0x1ffa77+'/stream'),_0x296868={'type':_0x4f721c(0x1b4),'taskId':_0x1ffa77,'handlers':_0x1b3258,'id':_0x13712b,'eventSource':_0x2f6671};!this[_0x4f721c(0x19a)][_0x4f721c(0x1a9)](_0x1ffa77)&&this[_0x4f721c(0x19a)][_0x4f721c(0x174)](_0x1ffa77,new Set());this[_0x4f721c(0x19a)][_0x4f721c(0x1ae)](_0x1ffa77)['add'](_0x296868);for(const _0x5483d4 of TASK_STREAM_EVENTS){const _0x332d78=eventTypeToHandler(_0x5483d4);_0x2f6671[_0x4f721c(0x19f)](_0x5483d4,_0x4c8903=>{const _0x405769=_0x4f721c;if(_0x1b3258[_0x332d78])try{const _0x544e1b=JSON[_0x405769(0x170)](_0x4c8903[_0x405769(0x16c)]);_0x1b3258[_0x332d78](_0x544e1b);}catch(_0x557757){console[_0x405769(0x17f)](_0x405769(0x1ab)+_0x5483d4+':',_0x557757);}});}return _0x2f6671['addEventListener'](_0x4f721c(0x1c0),()=>{const _0x363ac5=_0x4f721c;if(_0x1b3258[_0x363ac5(0x1a3)])_0x1b3258[_0x363ac5(0x1a3)]();}),_0x2f6671[_0x4f721c(0x19f)](_0x4f721c(0x17f),()=>{const _0x64c256=_0x4f721c;if(_0x1b3258[_0x64c256(0x1c6)])_0x1b3258['onError']({'error':_0x64c256(0x1b6)});}),_0x296868;}[_0xdc5809(0x1ad)](_0x5ba731){const _0x321b29=_0xdc5809;_0x5ba731[_0x321b29(0x1a6)]&&(_0x5ba731[_0x321b29(0x1a6)][_0x321b29(0x18b)](),_0x5ba731[_0x321b29(0x1a6)]=null);const _0x213bd2=this['_taskSubscriptions']['get'](_0x5ba731[_0x321b29(0x195)]);_0x213bd2&&(_0x213bd2[_0x321b29(0x199)](_0x5ba731),_0x213bd2['size']===0x0&&this[_0x321b29(0x19a)][_0x321b29(0x199)](_0x5ba731[_0x321b29(0x195)]));}[_0xdc5809(0x180)](){const _0x4d8a42=_0xdc5809;this['reconnectTimeout']&&(clearTimeout(this[_0x4d8a42(0x181)]),this[_0x4d8a42(0x181)]=null);this[_0x4d8a42(0x19a)][_0x4d8a42(0x18d)]((_0x90ca86,_0xc5447)=>{const _0x3d7b43=_0x4d8a42;_0x90ca86[_0x3d7b43(0x18d)](_0x16dd6d=>{const _0xcae364=_0x3d7b43;_0x16dd6d[_0xcae364(0x192)]===_0xcae364(0x1b4)&&_0x16dd6d['eventSource']&&_0x16dd6d[_0xcae364(0x1a6)][_0xcae364(0x18b)]();});}),this[_0x4d8a42(0x19a)][_0x4d8a42(0x1ac)]();if(this['useSharedWorker']&&this['port'])try{this['port'][_0x4d8a42(0x16d)]({'action':_0x4d8a42(0x180)});}catch(_0x11f55e){}this[_0x4d8a42(0x1a6)]&&(this[_0x4d8a42(0x1a6)][_0x4d8a42(0x18b)](),this[_0x4d8a42(0x1a6)]=null),this[_0x4d8a42(0x178)]=![];}['isConnected'](){const _0x4cd972=_0xdc5809;return this[_0x4cd972(0x178)];}[_0xdc5809(0x16f)](){const _0x1511dd=_0xdc5809;return this[_0x1511dd(0x17c)];}}let globalClient=null;export function getTaskUpdatesClient(){return!globalClient&&(globalClient=new TaskUpdatesClient()),globalClient;}
1
+ const _0x3b645f=_0x45f8;(function(_0x5e6a6c,_0x5091e2){const _0x2ffd47=_0x45f8,_0x50f576=_0x5e6a6c();while(!![]){try{const _0x48ceae=parseInt(_0x2ffd47(0x122))/0x1+parseInt(_0x2ffd47(0x128))/0x2*(parseInt(_0x2ffd47(0x116))/0x3)+parseInt(_0x2ffd47(0x115))/0x4*(-parseInt(_0x2ffd47(0x114))/0x5)+-parseInt(_0x2ffd47(0x164))/0x6*(-parseInt(_0x2ffd47(0x10c))/0x7)+parseInt(_0x2ffd47(0x119))/0x8*(parseInt(_0x2ffd47(0x111))/0x9)+-parseInt(_0x2ffd47(0x12e))/0xa*(-parseInt(_0x2ffd47(0x15f))/0xb)+-parseInt(_0x2ffd47(0x101))/0xc*(parseInt(_0x2ffd47(0x129))/0xd);if(_0x48ceae===_0x5091e2)break;else _0x50f576['push'](_0x50f576['shift']());}catch(_0x214a5c){_0x50f576['push'](_0x50f576['shift']());}}}(_0x2e6a,0x98fd4));function isSharedWorkerSupported(){const _0x5cb45d=_0x45f8;return typeof SharedWorker!==_0x5cb45d(0x134);}function eventTypeToHandler(_0x39f24f){const _0x4ba988=_0x45f8;if(_0x39f24f===_0x4ba988(0x104))return'onConnected';if(_0x39f24f===_0x4ba988(0x13f))return _0x4ba988(0x161);return'on'+_0x39f24f[_0x4ba988(0x139)]('-')['map'](_0x592a18=>_0x592a18['charAt'](0x0)[_0x4ba988(0x130)]()+_0x592a18[_0x4ba988(0x13c)](0x1))[_0x4ba988(0x14e)]('');}const TASK_STREAM_EVENTS=[_0x3b645f(0x126),_0x3b645f(0x162),_0x3b645f(0x157),_0x3b645f(0x150),_0x3b645f(0x138),_0x3b645f(0x165),_0x3b645f(0x113)];export class TaskUpdatesClient{constructor(){const _0x56c0ba=_0x3b645f;this[_0x56c0ba(0x166)]=new Map(),this['worker']=null,this[_0x56c0ba(0x12a)]=null,this[_0x56c0ba(0x11e)]=null,this[_0x56c0ba(0x15b)]=null,this['reconnectTimeout']=null,this[_0x56c0ba(0x118)]=0x0,this[_0x56c0ba(0x14c)]=isSharedWorkerSupported(),this[_0x56c0ba(0x104)]=![],this[_0x56c0ba(0x15c)]=new Map(),this[_0x56c0ba(0x124)]=0x0,this[_0x56c0ba(0x12c)]=this['_handleWorkerMessage'][_0x56c0ba(0x10e)](this),this[_0x56c0ba(0x121)]=this[_0x56c0ba(0x121)]['bind'](this);}['on'](_0x38c43d,_0x451c65){const _0x1dd034=_0x3b645f;return!this[_0x1dd034(0x166)]['has'](_0x38c43d)&&this[_0x1dd034(0x166)][_0x1dd034(0x10b)](_0x38c43d,new Set()),this[_0x1dd034(0x166)][_0x1dd034(0x123)](_0x38c43d)[_0x1dd034(0x146)](_0x451c65),this;}['off'](_0x3cedc8,_0x52dd34){const _0x3ed016=_0x3b645f;return this[_0x3ed016(0x166)][_0x3ed016(0x159)](_0x3cedc8)&&this[_0x3ed016(0x166)]['get'](_0x3cedc8)[_0x3ed016(0x10d)](_0x52dd34),this;}['_emit'](_0x578f80,_0x4b625c){const _0x4bc73a=_0x3b645f;this[_0x4bc73a(0x166)][_0x4bc73a(0x159)](_0x578f80)&&this[_0x4bc73a(0x166)][_0x4bc73a(0x123)](_0x578f80)[_0x4bc73a(0x125)](_0xe96644=>{const _0x16750c=_0x4bc73a;try{_0xe96644(_0x4b625c);}catch(_0xa09cc0){console[_0x16750c(0x13f)]('[SSE\x20Client]\x20Error\x20in\x20'+_0x578f80+_0x16750c(0x102),_0xa09cc0);}});}[_0x3b645f(0x106)](_0xd3ea5f='me'){const _0x2713e3=_0x3b645f;this['userId']=_0xd3ea5f,this[_0x2713e3(0x14c)]?this[_0x2713e3(0x109)](_0xd3ea5f):this[_0x2713e3(0x144)](_0xd3ea5f);}[_0x3b645f(0x109)](_0x4e9e87){const _0x489e3e=_0x3b645f;try{this[_0x489e3e(0x14d)](),this[_0x489e3e(0x12a)][_0x489e3e(0x11f)]({'action':_0x489e3e(0x106),'userId':_0x4e9e87});}catch(_0x4c4539){console[_0x489e3e(0x13f)](_0x489e3e(0x10f),_0x4c4539),this[_0x489e3e(0x14c)]=![],this[_0x489e3e(0x144)](_0x4e9e87);}}[_0x3b645f(0x14d)](){const _0x51cf41=_0x3b645f;!this[_0x51cf41(0x163)]&&(this[_0x51cf41(0x163)]=new SharedWorker(_0x51cf41(0x152)),this[_0x51cf41(0x12a)]=this[_0x51cf41(0x163)][_0x51cf41(0x12a)],this[_0x51cf41(0x12a)][_0x51cf41(0x11d)]=this['_handleWorkerMessage'],this[_0x51cf41(0x12a)]['onmessageerror']=_0xdc1677=>{const _0x3f3286=_0x51cf41;console['error'](_0x3f3286(0x11b),_0xdc1677),this[_0x3f3286(0x131)](_0x3f3286(0x13f),{'error':_0x3f3286(0x147)});},this[_0x51cf41(0x12a)]['start']());}[_0x3b645f(0x12c)](_0xd777fc){const _0xfed51b=_0x3b645f,_0x257397=_0xd777fc[_0xfed51b(0x140)];if(_0x257397[_0xfed51b(0x15d)]&&_0x257397[_0xfed51b(0x15d)][_0xfed51b(0x133)]('task:')){this[_0xfed51b(0x156)](_0x257397);return;}switch(_0x257397[_0xfed51b(0x15d)]){case'connected':this['connected']=!![],this[_0xfed51b(0x131)](_0xfed51b(0x104),{});break;case _0xfed51b(0x13e):case _0xfed51b(0x126):case _0xfed51b(0x155):case'new-task':case _0xfed51b(0x105):try{const _0x1b9fd3=JSON[_0xfed51b(0x12b)](_0x257397[_0xfed51b(0x140)]);this['_emit'](_0x257397['type'],_0x1b9fd3);}catch(_0x69187a){console[_0xfed51b(0x13f)]('[SSE\x20Client]\x20Failed\x20to\x20parse\x20'+_0x257397[_0xfed51b(0x15d)]+'\x20data:',_0x69187a);}break;case _0xfed51b(0x13f):this[_0xfed51b(0x104)]=![],this['_emit'](_0xfed51b(0x13f),_0x257397);break;default:console[_0xfed51b(0x107)]('[SSE\x20Client]\x20Unknown\x20message\x20type:',_0x257397[_0xfed51b(0x15d)]);}}['_handleTaskStreamMessage'](_0x58e99f){const _0x400fab=_0x3b645f,{taskId:_0x33d542,type:_0x26a08b,data:_0x48ab15}=_0x58e99f,_0x10239f=this[_0x400fab(0x15c)][_0x400fab(0x123)](_0x33d542);if(!_0x10239f||_0x10239f['size']===0x0)return;const _0x3fba39=_0x26a08b[_0x400fab(0x11a)]('task:',''),_0x52c4bb=eventTypeToHandler(_0x3fba39);_0x10239f[_0x400fab(0x125)](_0x1cd48a=>{const _0x1c5eff=_0x400fab;if(_0x1cd48a[_0x1c5eff(0x110)][_0x52c4bb])try{const _0x2bd3a9=typeof _0x48ab15===_0x1c5eff(0x127)?JSON['parse'](_0x48ab15):_0x48ab15;_0x1cd48a[_0x1c5eff(0x110)][_0x52c4bb](_0x2bd3a9);}catch(_0x106415){console[_0x1c5eff(0x13f)]('[SSE\x20Client]\x20Error\x20in\x20task\x20'+_0x3fba39+_0x1c5eff(0x14a),_0x106415);}});}[_0x3b645f(0x144)](_0x282067){const _0x4b587a=_0x3b645f;this[_0x4b587a(0x11e)]&&(this[_0x4b587a(0x11e)][_0x4b587a(0x145)](),this[_0x4b587a(0x11e)]=null);const _0x26491f=_0x282067&&_0x282067!=='me'?'?userId='+_0x282067:'';try{this[_0x4b587a(0x11e)]=new EventSource(_0x4b587a(0x132)+_0x26491f),this[_0x4b587a(0x11e)][_0x4b587a(0x13a)]('open',()=>{const _0x1b6c63=_0x4b587a;this['connected']=!![],this[_0x1b6c63(0x118)]=0x0,this[_0x1b6c63(0x131)](_0x1b6c63(0x104),{});}),this[_0x4b587a(0x11e)][_0x4b587a(0x13a)](_0x4b587a(0x13e),_0x199c41=>{const _0x195ae6=_0x4b587a;this[_0x195ae6(0x121)](_0x195ae6(0x13e),_0x199c41),this['reconnectAttempts']=0x0;}),this['eventSource'][_0x4b587a(0x13a)](_0x4b587a(0x126),_0x28eb52=>{const _0x2f9f93=_0x4b587a;this['_handleDirectSSE'](_0x2f9f93(0x126),_0x28eb52);}),this[_0x4b587a(0x11e)]['addEventListener'](_0x4b587a(0x155),_0xd5f276=>{const _0x5e8194=_0x4b587a;this[_0x5e8194(0x121)](_0x5e8194(0x155),_0xd5f276);}),this[_0x4b587a(0x11e)]['addEventListener']('new-task',_0xa79ce0=>{const _0x4c406d=_0x4b587a;this[_0x4c406d(0x121)](_0x4c406d(0x12f),_0xa79ce0);}),this[_0x4b587a(0x11e)]['addEventListener']('queue-position',_0x7c2165=>{const _0x5badd0=_0x4b587a;this[_0x5badd0(0x121)]('queue-position',_0x7c2165);}),this[_0x4b587a(0x11e)]['addEventListener']('error',_0x213bf2=>{const _0x5c1b9c=_0x4b587a;console[_0x5c1b9c(0x13f)]('[SSE\x20Client]\x20Direct\x20SSE\x20error:',_0x213bf2),this[_0x5c1b9c(0x104)]=![],this[_0x5c1b9c(0x131)](_0x5c1b9c(0x13f),{'error':'Connection\x20error'}),this[_0x5c1b9c(0x11e)]&&(this[_0x5c1b9c(0x11e)]['close'](),this[_0x5c1b9c(0x11e)]=null),this[_0x5c1b9c(0x149)]();});}catch(_0x39d61d){console[_0x4b587a(0x13f)](_0x4b587a(0x151),_0x39d61d),this[_0x4b587a(0x131)](_0x4b587a(0x13f),{'error':_0x39d61d[_0x4b587a(0x142)]}),this[_0x4b587a(0x149)]();}}[_0x3b645f(0x121)](_0x22265a,_0x371c5d){const _0x53bb93=_0x3b645f;try{const _0x35d28b=JSON['parse'](_0x371c5d[_0x53bb93(0x140)]);this[_0x53bb93(0x131)](_0x22265a,_0x35d28b);}catch(_0x106628){console[_0x53bb93(0x13f)]('[SSE\x20Client]\x20Failed\x20to\x20parse\x20'+_0x22265a+_0x53bb93(0x11c),_0x106628);}}[_0x3b645f(0x149)](){const _0x2cba81=_0x3b645f;this[_0x2cba81(0x135)]&&clearTimeout(this[_0x2cba81(0x135)]);const _0x3a44f6=Math[_0x2cba81(0x13d)](0x3e8*Math['pow'](0x2,this[_0x2cba81(0x118)]),0x7530);this['reconnectAttempts']++,console['log'](_0x2cba81(0x108)+_0x3a44f6+'ms'),this['reconnectTimeout']=setTimeout(()=>{const _0x36affe=_0x2cba81;this[_0x36affe(0x144)](this['userId']);},_0x3a44f6);}[_0x3b645f(0x141)](_0x4521ce){const _0x35227f=_0x3b645f;if(_0x4521ce===this['userId'])return;this[_0x35227f(0x15b)]=_0x4521ce;if(this[_0x35227f(0x14c)]&&this[_0x35227f(0x12a)])this[_0x35227f(0x12a)][_0x35227f(0x11f)]({'action':_0x35227f(0x141),'userId':_0x4521ce});else this['eventSource']&&this['_connectDirect'](_0x4521ce);}[_0x3b645f(0x15e)](_0x26bdd9,_0x2fa357){const _0x35153a=_0x3b645f;return this[_0x35153a(0x14c)]?this[_0x35153a(0x15a)](_0x26bdd9,_0x2fa357):this['_subscribeTaskDirect'](_0x26bdd9,_0x2fa357);}[_0x3b645f(0x154)](_0x34d289){const _0x13dc3e=_0x3b645f;if(!_0x34d289)return;_0x34d289[_0x13dc3e(0x15d)]===_0x13dc3e(0x163)?this[_0x13dc3e(0x117)](_0x34d289):this[_0x13dc3e(0x160)](_0x34d289);}[_0x3b645f(0x15a)](_0x20f617,_0x4e2dbf){const _0x481476=_0x3b645f;try{this['_ensureWorker']();}catch(_0x5bf40d){return console['error'](_0x481476(0x158),_0x5bf40d),this[_0x481476(0x14c)]=![],this[_0x481476(0x103)](_0x20f617,_0x4e2dbf);}const _0x7b4625=++this[_0x481476(0x124)],_0x26eb0a={'type':_0x481476(0x163),'taskId':_0x20f617,'handlers':_0x4e2dbf,'id':_0x7b4625};return!this[_0x481476(0x15c)][_0x481476(0x159)](_0x20f617)&&(this[_0x481476(0x15c)]['set'](_0x20f617,new Set()),this[_0x481476(0x12a)][_0x481476(0x11f)]({'action':'subscribeTask','taskId':_0x20f617})),this[_0x481476(0x15c)][_0x481476(0x123)](_0x20f617)['add'](_0x26eb0a),_0x26eb0a;}[_0x3b645f(0x117)](_0x83f918){const _0x3c1af3=_0x3b645f,{taskId:_0x40021f}=_0x83f918,_0x100bd7=this['_taskSubscriptions'][_0x3c1af3(0x123)](_0x40021f);if(_0x100bd7){_0x100bd7[_0x3c1af3(0x10d)](_0x83f918);if(_0x100bd7[_0x3c1af3(0x14b)]===0x0){this[_0x3c1af3(0x15c)][_0x3c1af3(0x10d)](_0x40021f);try{this[_0x3c1af3(0x12a)]&&this[_0x3c1af3(0x12a)][_0x3c1af3(0x11f)]({'action':_0x3c1af3(0x154),'taskId':_0x40021f});}catch(_0xd9be6e){}}}}[_0x3b645f(0x103)](_0x3970b0,_0x58725f){const _0x44dcab=_0x3b645f,_0x56c4c8=++this[_0x44dcab(0x124)],_0x5ac92b=new EventSource(_0x44dcab(0x14f)+_0x3970b0+'/stream'),_0x32f034={'type':_0x44dcab(0x137),'taskId':_0x3970b0,'handlers':_0x58725f,'id':_0x56c4c8,'eventSource':_0x5ac92b};!this[_0x44dcab(0x15c)]['has'](_0x3970b0)&&this[_0x44dcab(0x15c)][_0x44dcab(0x10b)](_0x3970b0,new Set());this[_0x44dcab(0x15c)][_0x44dcab(0x123)](_0x3970b0)['add'](_0x32f034);for(const _0x11f390 of TASK_STREAM_EVENTS){const _0xf03450=eventTypeToHandler(_0x11f390);_0x5ac92b[_0x44dcab(0x13a)](_0x11f390,_0x1fd922=>{const _0x160605=_0x44dcab;if(_0x58725f[_0xf03450])try{const _0x8bedb=JSON[_0x160605(0x12b)](_0x1fd922['data']);_0x58725f[_0xf03450](_0x8bedb);}catch(_0x5dc321){console[_0x160605(0x13f)](_0x160605(0x10a)+_0x11f390+':',_0x5dc321);}});}return _0x5ac92b[_0x44dcab(0x13a)](_0x44dcab(0x12d),()=>{const _0x19e56a=_0x44dcab;if(_0x58725f['onConnected'])_0x58725f[_0x19e56a(0x120)]();}),_0x5ac92b[_0x44dcab(0x13a)]('error',()=>{const _0x59aadd=_0x44dcab;if(_0x58725f[_0x59aadd(0x161)])_0x58725f[_0x59aadd(0x161)]({'error':_0x59aadd(0x148)});}),_0x32f034;}[_0x3b645f(0x160)](_0x57deaf){const _0x32c6a4=_0x3b645f;_0x57deaf[_0x32c6a4(0x11e)]&&(_0x57deaf[_0x32c6a4(0x11e)][_0x32c6a4(0x145)](),_0x57deaf[_0x32c6a4(0x11e)]=null);const _0x4f0c78=this[_0x32c6a4(0x15c)][_0x32c6a4(0x123)](_0x57deaf[_0x32c6a4(0x13b)]);_0x4f0c78&&(_0x4f0c78[_0x32c6a4(0x10d)](_0x57deaf),_0x4f0c78['size']===0x0&&this[_0x32c6a4(0x15c)]['delete'](_0x57deaf[_0x32c6a4(0x13b)]));}[_0x3b645f(0x136)](){const _0x213b43=_0x3b645f;this['reconnectTimeout']&&(clearTimeout(this['reconnectTimeout']),this[_0x213b43(0x135)]=null);this[_0x213b43(0x15c)][_0x213b43(0x125)]((_0x50f8e6,_0x1ddb3a)=>{const _0x2903c4=_0x213b43;_0x50f8e6[_0x2903c4(0x125)](_0x1857b0=>{const _0x44c187=_0x2903c4;_0x1857b0[_0x44c187(0x15d)]===_0x44c187(0x137)&&_0x1857b0['eventSource']&&_0x1857b0[_0x44c187(0x11e)]['close']();});}),this[_0x213b43(0x15c)][_0x213b43(0x143)]();if(this[_0x213b43(0x14c)]&&this[_0x213b43(0x12a)])try{this[_0x213b43(0x12a)][_0x213b43(0x11f)]({'action':_0x213b43(0x136)});}catch(_0x3252be){}this[_0x213b43(0x11e)]&&(this[_0x213b43(0x11e)]['close'](),this[_0x213b43(0x11e)]=null),this[_0x213b43(0x104)]=![];}[_0x3b645f(0x153)](){return this['connected'];}[_0x3b645f(0x112)](){const _0x2817df=_0x3b645f;return this[_0x2817df(0x14c)];}}let globalClient=null;export function getTaskUpdatesClient(){return!globalClient&&(globalClient=new TaskUpdatesClient()),globalClient;}function _0x45f8(_0x5bf04d,_0xd76205){_0x5bf04d=_0x5bf04d-0x101;const _0x2e6a28=_0x2e6a();let _0x45f801=_0x2e6a28[_0x5bf04d];if(_0x45f8['aWDKyW']===undefined){var _0x5bf542=function(_0x19b4da){const _0x30bc31='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39f24f='',_0x592a18='';for(let _0x38c43d=0x0,_0x451c65,_0x3cedc8,_0x52dd34=0x0;_0x3cedc8=_0x19b4da['charAt'](_0x52dd34++);~_0x3cedc8&&(_0x451c65=_0x38c43d%0x4?_0x451c65*0x40+_0x3cedc8:_0x3cedc8,_0x38c43d++%0x4)?_0x39f24f+=String['fromCharCode'](0xff&_0x451c65>>(-0x2*_0x38c43d&0x6)):0x0){_0x3cedc8=_0x30bc31['indexOf'](_0x3cedc8);}for(let _0x578f80=0x0,_0x4b625c=_0x39f24f['length'];_0x578f80<_0x4b625c;_0x578f80++){_0x592a18+='%'+('00'+_0x39f24f['charCodeAt'](_0x578f80)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x592a18);};_0x45f8['wCvXSO']=_0x5bf542,_0x45f8['eMDJSZ']={},_0x45f8['aWDKyW']=!![];}const _0x191581=_0x2e6a28[0x0],_0x8b0eac=_0x5bf04d+_0x191581,_0x231ac9=_0x45f8['eMDJSZ'][_0x8b0eac];return!_0x231ac9?(_0x45f801=_0x45f8['wCvXSO'](_0x45f801),_0x45f8['eMDJSZ'][_0x8b0eac]=_0x45f801):_0x45f801=_0x231ac9,_0x45f801;}function _0x2e6a(){const _0x3d6502=['y29UBMvJDa','D2fYBG','w1ntrsbdBgLLBNrDifnJAgvKDwXPBMCGCMvJB25Uzwn0igLUia','x2nVBM5Ly3rwAwfxB3jRzxi','w1ntrsbdBgLLBNrDievYCM9YihbHCNnPBMCGDgfZAYa','C2v0','n3LSvhHTBa','zgvSzxrL','yMLUza','w1ntrsbdBgLLBNrDifnOyxjLzfDVCMTLCIbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbKAxjLy3qGu1nfoG','AgfUzgXLCNm','mZC3ntC3ALLZBhDc','AxnvC2LUz1nOyxjLzfDVCMTLCG','y29TCgXLDgu','nJiWzwHutLv6','nZC5nLv6tvLetW','mtm1tvPmv1r1','x3vUC3vIC2nYAwjLvgfZA1DVCMTLCG','CMvJB25Uzwn0qxr0zw1WDhm','offqs2Lhwq','CMvWBgfJzq','w1ntrsbdBgLLBNrDifDVCMTLCIbTzxnZywDLigvYCM9YoG','igrHDge6','B25TzxnZywDL','zxzLBNrtB3vYy2u','Cg9ZDe1LC3nHz2u','B25dB25Uzwn0zwq','x2HHBMrSzurPCMvJDfntrq','mteXmZa2m29yDujZqq','z2v0','x3rHC2TtDwjjzenVDw50zxi','zM9YrwfJAa','ywn0AxzPDhK','C3rYAw5N','ntm2mdbet1HABNm','mtngshz4BuK','Cg9YDa','CgfYC2u','x2HHBMrSzvDVCMTLCK1LC3nHz2u','B3bLBG','mJuXmgnZD1PMrq','BMv3lxrHC2S','Dg9vChbLCKnHC2u','x2vTAxq','l3rHC2TZl3vWzgf0zxm','C3rHCNrZv2L0Aa','Dw5KzwzPBMvK','CMvJB25Uzwn0vgLTzw91Da','zgLZy29UBMvJDa','zgLYzwn0','y2HHBMDLzc1MAwXLCW','C3bSAxq','ywrKrxzLBNrmAxn0zw5LCG','DgfZA0LK','C2XPy2u','BwLU','C25HChnOB3q','zxjYB3i','zgf0yq','y2HHBMDLrMLSDgvY','BwvZC2fNzq','y2XLyxi','x2nVBM5Ly3reAxjLy3q','y2XVC2u','ywrK','v29YA2vYig1LC3nHz2uGzxjYB3i','q29UBMvJDgLVBIbLCNjVCG','x3nJAgvKDwXLuMvJB25Uzwn0','igHHBMrSzxi6','C2L6zq','DxnLu2HHCMvKv29YA2vY','x2vUC3vYzvDVCMTLCG','AM9PBG','l3rHC2TZlW','C3vTBwfYEq','w1ntrsbdBgLLBNrDiezHAwXLzcb0BYbJCMvHDguGrxzLBNrtB3vYy2u6','l3nZzs1ZAgfYzwqTD29YA2vYlMPZ','AxndB25Uzwn0zwq','Dw5ZDwjZy3jPyMvuyxnR','C3rHDhvZ','x2HHBMrSzvrHC2TtDhjLyw1nzxnZywDL','Bwv0ywrHDge','w1ntrsbdBgLLBNrDifnOyxjLzfDVCMTLCIbMywLSzwqGzM9YihrHC2SGC3vIlcbMywXSAw5NigjHy2S6','AgfZ','x3n1yNnJCMLIzvrHC2TwAwfxB3jRzxi','DxnLCKLK','x3rHC2TtDwjZy3jPChrPB25Z','DhLWzq','C3vIC2nYAwjLvgfZAW','mte1mZLhwKzYwLm','x3vUC3vIC2nYAwjLvgfZA0rPCMvJDa','B25fCNjVCG','Bg9NCW','D29YA2vY','mJq2nZyYsu1sDxnw','yxbWlxnLCNzLCI1ZDgf0Dxm','BgLZDgvUzxjZ','mJe1nJu0nJrJEM56B2u','igXPC3rLBMvYoG','x3n1yNnJCMLIzvrHC2TeAxjLy3q','y29UBMvJDgvK','CxvLDwuTCg9ZAxrPB24'];_0x2e6a=function(){return _0x3d6502;};return _0x2e6a();}
@@ -1 +1 @@
1
- function _0xba59(_0x19f975,_0x296ba0){_0x19f975=_0x19f975-0x173;const _0x5405cb=_0x5405();let _0xba59a4=_0x5405cb[_0x19f975];if(_0xba59['vNWVvN']===undefined){var _0x445b08=function(_0x2ee187){const _0x35398d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2b7d3a='',_0x591a4c='';for(let _0x58a030=0x0,_0x5bc2c3,_0x9f5d64,_0x532c37=0x0;_0x9f5d64=_0x2ee187['charAt'](_0x532c37++);~_0x9f5d64&&(_0x5bc2c3=_0x58a030%0x4?_0x5bc2c3*0x40+_0x9f5d64:_0x9f5d64,_0x58a030++%0x4)?_0x2b7d3a+=String['fromCharCode'](0xff&_0x5bc2c3>>(-0x2*_0x58a030&0x6)):0x0){_0x9f5d64=_0x35398d['indexOf'](_0x9f5d64);}for(let _0x549203=0x0,_0x58e3fb=_0x2b7d3a['length'];_0x549203<_0x58e3fb;_0x549203++){_0x591a4c+='%'+('00'+_0x2b7d3a['charCodeAt'](_0x549203)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x591a4c);};_0xba59['sWbfuH']=_0x445b08,_0xba59['thZTvC']={},_0xba59['vNWVvN']=!![];}const _0x42605c=_0x5405cb[0x0],_0x368947=_0x19f975+_0x42605c,_0xc4a0d7=_0xba59['thZTvC'][_0x368947];return!_0xc4a0d7?(_0xba59a4=_0xba59['sWbfuH'](_0xba59a4),_0xba59['thZTvC'][_0x368947]=_0xba59a4):_0xba59a4=_0xc4a0d7,_0xba59a4;}const _0x5127a9=_0xba59;(function(_0x1f70a4,_0x1c6b62){const _0x1ec836=_0xba59,_0x4d1a16=_0x1f70a4();while(!![]){try{const _0x1cd3e0=-parseInt(_0x1ec836(0x17b))/0x1+-parseInt(_0x1ec836(0x176))/0x2+parseInt(_0x1ec836(0x17c))/0x3+-parseInt(_0x1ec836(0x190))/0x4+-parseInt(_0x1ec836(0x1a3))/0x5+parseInt(_0x1ec836(0x185))/0x6*(-parseInt(_0x1ec836(0x188))/0x7)+parseInt(_0x1ec836(0x177))/0x8;if(_0x1cd3e0===_0x1c6b62)break;else _0x4d1a16['push'](_0x4d1a16['shift']());}catch(_0x221153){_0x4d1a16['push'](_0x4d1a16['shift']());}}}(_0x5405,0x797e5));const ports=new Set();let eventSource=null,currentUserId=null,reconnectTimeout=null,reconnectAttempts=0x0;const MAX_RECONNECT_DELAY=0x7530,taskStreams=new Map(),TASK_STREAM_EVENTS=[_0x5127a9(0x1a0),_0x5127a9(0x195),_0x5127a9(0x194),'summary',_0x5127a9(0x1a7),_0x5127a9(0x189),'complete'];function _0x5405(){const _0x285da4=['w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbJCMvHDguGrxzLBNrtB3vYy2u6','w1ntrsbxB3jRzxjDie5LDYbWB3j0ignVBM5Ly3rLzc4Gvg90ywWGCg9YDhm6ia','w1ntrsbxB3jRzxjDie5Vig1VCMuGy29UBMvJDgvKihbVCNrZlcbJBg9ZAw5Nifntrq','CMvJB25Uzwn0vgLTzw91Da','mtKYnJy0mLvHBM9hAW','mJG2mJu5nJHjAxLbCgu','CMvJB25Uzwn0qxr0zw1WDhm','y29UBMvJDgvK','igLUia','nZm1nduWALnvwxjH','oti4odnlDLL2BLC','BwLU','y2HHBMDLrMLSDgvY','t1bftG','zxjYB3i','Cg9YDhm','w1ntrsbxB3jRzxjDifbVCNqGzgLZy29UBMvJDgvKlIbuB3rHBcbWB3j0CZOG','ChvZAa','C3rYAw5NAwz5','mJq2uuPkwMfO','BMv3lxrHC2S','AgfZ','nJe5mdfisgLxq08','yxbWlxnLCNzLCI1ZDgf0Dxm','w1ntrsbxB3jRzxjDienVBM5Ly3rPB24GzxjYB3i6','DgfZAZPLCNjVCG','B25TzxnZywDLzxjYB3i','C2v0','CMvHzhLtDgf0zq','C3vIC2nYAwjLzfbVCNrZ','mZe2nZi0nej4BLD4tG','w1ntrsbxB3jRzxjDifnJAgvKDwXPBMCGDgfZAYbZDhjLyw0GCMvJB25Uzwn0igzVCIa','q29UBMvJDgLVBIbLCNjVCG','C3rHDhvZ','Bwv0ywrHDge','Bg9NCW','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbZzw5KihrVihbVCNqSihjLBw92Aw5NoG','l3n0CMvHBq','Cg9ZDe1LC3nHz2u','zgvSzxrL','BwvZC2fNzq','DgfZAZPJB25Uzwn0zwq','D2fYBG','y29UBMvJDa','zgLZy29UBMvJDa','BxmGkgf0DgvTChqG','ywn0AxzPDhK','z2v0','C25HChnOB3q','mti5mJeYnunuvKfVtG','w1ntrsbxB3jRzxjDifvUA25VD24Gywn0Aw9UoG','Bg9N','C3rHCNq','y2HHBMDLzc1MAwXLCW','w1ntrsbxB3jRzxjDifbVCNqGBwvZC2fNzsbLCNjVCJO','B3bLBG','zxzLBNrtB3vYy2u','l3rHC2TZl3vWzgf0zxm','C3vIC2nYAwjLvgfZAW','y2XVC2u','DgfZAZO','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbJCMvHDguGDgfZAYbfDMvUDfnVDxjJzsbMB3iG','zgf0yq','BgvUz3rO','Dw5ZDwjZy3jPyMvuyxnR','ywrKrxzLBNrmAxn0zw5LCG','Cg93','zM9YrwfJAa','ywrK','p3vZzxjjzd0','C2L6zq','q0Xpu0ve','B25JB25Uzwn0','w1ntrsbxB3jRzxjDifnJAgvKDwXPBMCGCMvJB25Uzwn0igLUia'];_0x5405=function(){return _0x285da4;};return _0x5405();}function connect(_0x2b7d3a){const _0x63ad65=_0x5127a9;eventSource&&currentUserId!==_0x2b7d3a&&(eventSource[_0x63ad65(0x1ad)](),eventSource=null);if(eventSource&&eventSource[_0x63ad65(0x18e)]!==EventSource[_0x63ad65(0x1b9)])return;currentUserId=_0x2b7d3a;const _0x591a4c=_0x2b7d3a&&_0x2b7d3a!=='me'?_0x63ad65(0x1b7)+_0x2b7d3a:'';try{eventSource=new EventSource(_0x63ad65(0x1ab)+_0x591a4c),eventSource['addEventListener']('snapshot',_0x58a030=>{const _0x5a85ee=_0x63ad65;broadcast({'type':_0x5a85ee(0x1a2),'data':_0x58a030['data']}),reconnectAttempts=0x0;}),eventSource['addEventListener']('activity',_0x5bc2c3=>{broadcast({'type':'activity','data':_0x5bc2c3['data']});}),eventSource['addEventListener'](_0x63ad65(0x193),_0x9f5d64=>{const _0x41b9bd=_0x63ad65;broadcast({'type':'status','data':_0x9f5d64[_0x41b9bd(0x1b0)]});}),eventSource[_0x63ad65(0x1b3)](_0x63ad65(0x186),_0x532c37=>{const _0x204ff9=_0x63ad65;broadcast({'type':_0x204ff9(0x186),'data':_0x532c37[_0x204ff9(0x1b0)]});}),eventSource[_0x63ad65(0x1b3)]('queue-position',_0x549203=>{const _0x1dd483=_0x63ad65;broadcast({'type':'queue-position','data':_0x549203[_0x1dd483(0x1b0)]});}),eventSource[_0x63ad65(0x1b3)](_0x63ad65(0x1a9),()=>{const _0x56212a=_0x63ad65;broadcast({'type':_0x56212a(0x179)}),reconnectAttempts=0x0;}),eventSource[_0x63ad65(0x1b3)](_0x63ad65(0x180),_0x58e3fb=>{const _0x461e18=_0x63ad65;console[_0x461e18(0x180)](_0x461e18(0x18a),_0x58e3fb),broadcast({'type':'error','error':_0x461e18(0x192)}),eventSource&&(eventSource[_0x461e18(0x1ad)](),eventSource=null),scheduleReconnect();});}catch(_0x27894e){console[_0x63ad65(0x180)](_0x63ad65(0x1bc),_0x27894e),broadcast({'type':_0x63ad65(0x180),'error':_0x27894e[_0x63ad65(0x19a)]}),scheduleReconnect();}}function scheduleReconnect(){const _0x281741=_0x5127a9;reconnectTimeout&&clearTimeout(reconnectTimeout);if(ports[_0x281741(0x1b8)]===0x0)return;const _0x47f8f9=Math[_0x281741(0x17d)](0x3e8*Math[_0x281741(0x1b4)](0x2,reconnectAttempts),MAX_RECONNECT_DELAY);reconnectAttempts++,console['log'](_0x281741(0x1bb)+_0x47f8f9+_0x281741(0x19f)+reconnectAttempts+')'),reconnectTimeout=setTimeout(()=>{const _0x377f58=_0x281741;ports[_0x377f58(0x1b8)]>0x0&&connect(currentUserId);},_0x47f8f9);}function broadcast(_0x14960e){const _0xd79e67=_0x5127a9,_0x3cf1ad=[];ports[_0xd79e67(0x1b5)](_0x718e8e=>{const _0x18e714=_0xd79e67;try{_0x718e8e['postMessage'](_0x14960e);}catch(_0x42a47a){console[_0x18e714(0x19c)](_0x18e714(0x196),_0x42a47a),_0x3cf1ad[_0x18e714(0x183)](_0x718e8e);}}),_0x3cf1ad[_0xd79e67(0x1b1)]>0x0&&cleanUpDeadPorts(_0x3cf1ad),ports[_0xd79e67(0x1b8)]===0x0&&eventSource&&(console[_0xd79e67(0x1a5)](_0xd79e67(0x174)),eventSource[_0xd79e67(0x1ad)](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));}function subscribeTask(_0x44ec6d,_0x1b2190){const _0x9d4258=_0x5127a9;let _0x2fb05e=taskStreams[_0x9d4258(0x1a1)](_0x1b2190);!_0x2fb05e&&(_0x2fb05e={'eventSource':null,'reconnectTimeout':null,'reconnectAttempts':0x0,'subscribedPorts':new Set()},taskStreams[_0x9d4258(0x18d)](_0x1b2190,_0x2fb05e));_0x2fb05e['subscribedPorts']['add'](_0x44ec6d);if(!_0x2fb05e[_0x9d4258(0x1aa)]||_0x2fb05e[_0x9d4258(0x1aa)][_0x9d4258(0x18e)]===EventSource[_0x9d4258(0x1b9)])connectTaskStream(_0x1b2190);else{if(_0x2fb05e['eventSource'][_0x9d4258(0x18e)]===EventSource['OPEN'])try{_0x44ec6d['postMessage']({'type':_0x9d4258(0x19b),'taskId':_0x1b2190});}catch(_0x28bd78){}}}function unsubscribeTask(_0x2e1350,_0x36d9b8){const _0x2c11e0=_0x5127a9,_0x154635=taskStreams['get'](_0x36d9b8);if(!_0x154635)return;_0x154635[_0x2c11e0(0x18f)][_0x2c11e0(0x199)](_0x2e1350),_0x154635[_0x2c11e0(0x18f)]['size']===0x0&&deferredCloseTaskStream(_0x36d9b8);}function connectTaskStream(_0x1b4e96){const _0x46317e=_0x5127a9,_0x300afa=taskStreams['get'](_0x1b4e96);if(!_0x300afa)return;_0x300afa[_0x46317e(0x1aa)]&&(_0x300afa['eventSource'][_0x46317e(0x1ad)](),_0x300afa[_0x46317e(0x1aa)]=null);try{_0x300afa['eventSource']=new EventSource('/tasks/'+_0x1b4e96+_0x46317e(0x197));for(const _0x2b68c8 of TASK_STREAM_EVENTS){_0x300afa['eventSource']['addEventListener'](_0x2b68c8,_0x7761b7=>{const _0x2aaecf=_0x46317e;broadcastToTask(_0x1b4e96,_0x2aaecf(0x1ae)+_0x2b68c8,_0x7761b7[_0x2aaecf(0x1b0)]),_0x300afa[_0x2aaecf(0x178)]=0x0;});}_0x300afa['eventSource'][_0x46317e(0x1b3)](_0x46317e(0x1a9),()=>{const _0x56c6a6=_0x46317e;broadcastToTask(_0x1b4e96,_0x56c6a6(0x19b),'{}'),_0x300afa['reconnectAttempts']=0x0;}),_0x300afa[_0x46317e(0x1aa)][_0x46317e(0x1b3)](_0x46317e(0x180),()=>{const _0x309c4e=_0x46317e;broadcastToTask(_0x1b4e96,_0x309c4e(0x18b),JSON['stringify']({'error':_0x309c4e(0x192)})),_0x300afa[_0x309c4e(0x1aa)]&&(_0x300afa[_0x309c4e(0x1aa)][_0x309c4e(0x1ad)](),_0x300afa[_0x309c4e(0x1aa)]=null),scheduleTaskReconnect(_0x1b4e96);});}catch(_0x3148c3){console[_0x46317e(0x180)](_0x46317e(0x1af)+_0x1b4e96+':',_0x3148c3),broadcastToTask(_0x1b4e96,_0x46317e(0x18b),JSON[_0x46317e(0x184)]({'error':_0x3148c3[_0x46317e(0x19a)]})),scheduleTaskReconnect(_0x1b4e96);}}function broadcastToTask(_0x5ca06a,_0x1d9362,_0x4919c3){const _0x15d1bb=_0x5127a9,_0xa021e5=taskStreams[_0x15d1bb(0x1a1)](_0x5ca06a);if(!_0xa021e5)return;const _0x19bb83=[];_0xa021e5[_0x15d1bb(0x18f)][_0x15d1bb(0x1b5)](_0x20fbf9=>{const _0x329b75=_0x15d1bb;try{_0x20fbf9['postMessage']({'type':_0x1d9362,'taskId':_0x5ca06a,'data':_0x4919c3});}catch(_0x52928a){_0x19bb83[_0x329b75(0x183)](_0x20fbf9);}}),_0x19bb83['length']>0x0&&(_0x19bb83[_0x15d1bb(0x1b5)](_0x2b7055=>_0xa021e5[_0x15d1bb(0x18f)][_0x15d1bb(0x199)](_0x2b7055)),cleanUpDeadPorts(_0x19bb83),_0xa021e5[_0x15d1bb(0x18f)]['size']===0x0&&closeTaskStream(_0x5ca06a));}function closeTaskStream(_0x50be1c){const _0x29af11=_0x5127a9,_0x5d5562=taskStreams[_0x29af11(0x1a1)](_0x50be1c);if(!_0x5d5562)return;_0x5d5562['eventSource']&&_0x5d5562[_0x29af11(0x1aa)][_0x29af11(0x1ad)](),_0x5d5562[_0x29af11(0x175)]&&clearTimeout(_0x5d5562[_0x29af11(0x175)]),taskStreams[_0x29af11(0x199)](_0x50be1c);}function deferredCloseTaskStream(_0x565730){setTimeout(()=>{const _0x448470=_0xba59,_0x2a2836=taskStreams[_0x448470(0x1a1)](_0x565730);_0x2a2836&&_0x2a2836[_0x448470(0x18f)]['size']===0x0&&closeTaskStream(_0x565730);},0x0);}function scheduleTaskReconnect(_0x22a7a6){const _0x57c743=_0x5127a9,_0x37e5f3=taskStreams[_0x57c743(0x1a1)](_0x22a7a6);if(!_0x37e5f3||_0x37e5f3[_0x57c743(0x18f)][_0x57c743(0x1b8)]===0x0)return;_0x37e5f3[_0x57c743(0x175)]&&clearTimeout(_0x37e5f3[_0x57c743(0x175)]);const _0x48f432=Math[_0x57c743(0x17d)](0x3e8*Math['pow'](0x2,_0x37e5f3['reconnectAttempts']),MAX_RECONNECT_DELAY);_0x37e5f3[_0x57c743(0x178)]++,console[_0x57c743(0x1a5)](_0x57c743(0x191)+_0x22a7a6+_0x57c743(0x17a)+_0x48f432+'ms'),_0x37e5f3[_0x57c743(0x175)]=setTimeout(()=>{const _0xe5461a=_0x57c743;_0x37e5f3[_0xe5461a(0x18f)][_0xe5461a(0x1b8)]>0x0&&connectTaskStream(_0x22a7a6);},_0x48f432);}function cleanUpDeadPorts(_0x4d7f8f){const _0x37519d=_0x5127a9;for(const _0x4ae30f of _0x4d7f8f){ports[_0x37519d(0x199)](_0x4ae30f),taskStreams[_0x37519d(0x1b5)]((_0x455bc5,_0x13105e)=>{const _0x324aae=_0x37519d;_0x455bc5[_0x324aae(0x18f)][_0x324aae(0x199)](_0x4ae30f),_0x455bc5[_0x324aae(0x18f)][_0x324aae(0x1b8)]===0x0&&closeTaskStream(_0x13105e);});}}function removePortFromAllTasks(_0x16ecef){const _0x410bd4=_0x5127a9;taskStreams[_0x410bd4(0x1b5)]((_0x5c6db7,_0x239ab6)=>{const _0x356474=_0x410bd4;_0x5c6db7[_0x356474(0x18f)][_0x356474(0x187)](_0x16ecef)&&(_0x5c6db7[_0x356474(0x18f)][_0x356474(0x199)](_0x16ecef),_0x5c6db7[_0x356474(0x18f)][_0x356474(0x1b8)]===0x0&&closeTaskStream(_0x239ab6));});}self[_0x5127a9(0x1ba)]=function(_0x52170d){const _0x10b75f=_0x5127a9,_0x1ec807=_0x52170d[_0x10b75f(0x181)][0x0];ports[_0x10b75f(0x1b6)](_0x1ec807),console[_0x10b75f(0x1a5)](_0x10b75f(0x173)+ports['size']),_0x1ec807['onmessage']=function(_0x2227d1){const _0x53e003=_0x10b75f,{action:_0x3ca360,userId:_0x4407f7,taskId:_0x50e9df}=_0x2227d1[_0x53e003(0x1b0)];switch(_0x3ca360){case _0x53e003(0x19d):connect(_0x4407f7);eventSource&&eventSource[_0x53e003(0x18e)]===EventSource[_0x53e003(0x17f)]&&_0x1ec807[_0x53e003(0x198)]({'type':_0x53e003(0x179)});break;case _0x53e003(0x19e):ports[_0x53e003(0x199)](_0x1ec807),removePortFromAllTasks(_0x1ec807),console['log'](_0x53e003(0x182)+ports[_0x53e003(0x1b8)]);ports[_0x53e003(0x1b8)]===0x0&&eventSource&&(eventSource['close'](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));break;case _0x53e003(0x17e):_0x4407f7!==currentUserId&&connect(_0x4407f7);break;case _0x53e003(0x1ac):subscribeTask(_0x1ec807,_0x50e9df);break;case _0x53e003(0x1b2):unsubscribeTask(_0x1ec807,_0x50e9df);break;default:console[_0x53e003(0x19c)](_0x53e003(0x1a4),_0x3ca360);}},_0x1ec807[_0x10b75f(0x18c)]=function(_0x2c0d01){const _0xc13f1b=_0x10b75f;console['error'](_0xc13f1b(0x1a8),_0x2c0d01),ports[_0xc13f1b(0x199)](_0x1ec807),removePortFromAllTasks(_0x1ec807);},_0x1ec807[_0x10b75f(0x1a6)]();};
1
+ const _0x5e0dd0=_0x3a96;(function(_0x3f7dd0,_0x295e6d){const _0xce67ee=_0x3a96,_0x1c6a3e=_0x3f7dd0();while(!![]){try{const _0x5dc7c8=parseInt(_0xce67ee(0x1b9))/0x1+parseInt(_0xce67ee(0x1a6))/0x2*(parseInt(_0xce67ee(0x1c8))/0x3)+parseInt(_0xce67ee(0x1d9))/0x4+-parseInt(_0xce67ee(0x1db))/0x5*(-parseInt(_0xce67ee(0x1c0))/0x6)+-parseInt(_0xce67ee(0x1c5))/0x7+-parseInt(_0xce67ee(0x1e2))/0x8*(-parseInt(_0xce67ee(0x1b5))/0x9)+-parseInt(_0xce67ee(0x1e6))/0xa*(parseInt(_0xce67ee(0x1be))/0xb);if(_0x5dc7c8===_0x295e6d)break;else _0x1c6a3e['push'](_0x1c6a3e['shift']());}catch(_0x423588){_0x1c6a3e['push'](_0x1c6a3e['shift']());}}}(_0x2292,0xe92aa));const ports=new Set();function _0x2292(){const _0x547fd8=['C25HChnOB3q','w1ntrsbxB3jRzxjDie5LDYbWB3j0ignVBM5Ly3rLzc4Gvg90ywWGCg9YDhm6ia','BxmGkgf0DgvTChqG','l3rHC2TZlW','w1ntrsbxB3jRzxjDifbVCNqGBwvZC2fNzsbLCNjVCJO','Cg9ZDe1LC3nHz2u','mta0nZi2ohLMAxjcEa','CxvLDwuTCg9ZAxrPB24','nufUtNPxwa','C3vIC2nYAwjLvgfZAW','ywrK','ChvZAa','CMvJB25Uzwn0vgLTzw91Da','C3rHDhvZ','zxjYB3i','mtuWmtq1mdrhD1DywNK','ywn0AxzPDhK','D2fYBG','B3bLBG','mJm1nJaWmtbgB1Pevxi','zgvSzxrL','C2v0','mZj3t21PtMu','BgvUz3rO','ywrKrxzLBNrmAxn0zw5LCG','z2v0','t1bftG','C3rYAw5NAwz5','C3vTBwfYEq','l3n0CMvHBq','BwvZC2fNzq','Cg93','DgfZAZPJB25Uzwn0zwq','DgfZAZPLCNjVCG','q29UBMvJDgLVBIbLCNjVCG','C3vIC2nYAwjLzfbVCNrZ','y29TCgXLDgu','ouvvrhzYsW','Bwv0ywrHDge','l3rHC2TZl3vWzgf0zxm','zxzLBNrtB3vYy2u','ntGXndC5su9cEhnf','CMvJB25Uzwn0qxr0zw1WDhm','zgLZy29UBMvJDa','w1ntrsbxB3jRzxjDienVBM5Ly3rPB24GzxjYB3i6','Bg9N','mtfJB2fcC0O','C2L6zq','mZi2nJC3oejewNLwDa','y2XVC2u','yxbWlxnLCNzLCI1ZDgf0Dxm','CMvHzhLtDgf0zq','zM9YrwfJAa','mtaWmJqZndnnCvPSC1m','zgf0yq','BwLU','mJC3mJi0vxDVCfzN','q0Xpu0ve','Bg9NCW','w1ntrsbxB3jRzxjDifnJAgvKDwXPBMCGCMvJB25Uzwn0igLUia','w1ntrsbxB3jRzxjDifbVCNqGzgLZy29UBMvJDgvKlIbuB3rHBcbWB3j0CZOG','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbZzw5KihrVihbVCNqSihjLBw92Aw5NoG','y29UBMvJDgvK','Cg9YDhm','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbJCMvHDguGDgfZAYbfDMvUDfnVDxjJzsbMB3iG','BMv3lxrHC2S','DgfZAZO'];_0x2292=function(){return _0x547fd8;};return _0x2292();}let eventSource=null,currentUserId=null,reconnectTimeout=null,reconnectAttempts=0x0;const MAX_RECONNECT_DELAY=0x7530,taskStreams=new Map(),TASK_STREAM_EVENTS=[_0x5e0dd0(0x1e3),_0x5e0dd0(0x1ca),_0x5e0dd0(0x1b6),_0x5e0dd0(0x1ac),'changed-files',_0x5e0dd0(0x1c2),_0x5e0dd0(0x1b4)];function connect(_0x57bdd6){const _0xe23262=_0x5e0dd0;eventSource&&currentUserId!==_0x57bdd6&&(eventSource[_0xe23262(0x1c1)](),eventSource=null);if(eventSource&&eventSource[_0xe23262(0x1c3)]!==EventSource[_0xe23262(0x1c9)])return;currentUserId=_0x57bdd6;const _0x132fad=_0x57bdd6&&_0x57bdd6!=='me'?'?userId='+_0x57bdd6:'';try{eventSource=new EventSource(_0xe23262(0x1b7)+_0x132fad),eventSource[_0xe23262(0x1a8)](_0xe23262(0x1d3),_0x9dbaac=>{const _0x2590cf=_0xe23262;broadcast({'type':_0x2590cf(0x1d3),'data':_0x9dbaac[_0x2590cf(0x1c6)]}),reconnectAttempts=0x0;}),eventSource[_0xe23262(0x1a8)](_0xe23262(0x1e3),_0x4317dd=>{const _0x194352=_0xe23262;broadcast({'type':_0x194352(0x1e3),'data':_0x4317dd['data']});}),eventSource[_0xe23262(0x1a8)](_0xe23262(0x1e0),_0xb45c92=>{const _0x38aba9=_0xe23262;broadcast({'type':'status','data':_0xb45c92[_0x38aba9(0x1c6)]});}),eventSource[_0xe23262(0x1a8)](_0xe23262(0x1d1),_0x1b1dbb=>{const _0x309df8=_0xe23262;broadcast({'type':_0x309df8(0x1d1),'data':_0x1b1dbb[_0x309df8(0x1c6)]});}),eventSource['addEventListener'](_0xe23262(0x1da),_0x1aaee7=>{const _0x452c5a=_0xe23262;broadcast({'type':_0x452c5a(0x1da),'data':_0x1aaee7['data']});}),eventSource['addEventListener'](_0xe23262(0x1e5),()=>{const _0x2179a1=_0xe23262;broadcast({'type':_0x2179a1(0x1ce)}),reconnectAttempts=0x0;}),eventSource['addEventListener'](_0xe23262(0x1e1),_0x3e0bd9=>{const _0x2514e0=_0xe23262;console[_0x2514e0(0x1e1)](_0x2514e0(0x1bc),_0x3e0bd9),broadcast({'type':_0x2514e0(0x1e1),'error':_0x2514e0(0x1b2)}),eventSource&&(eventSource[_0x2514e0(0x1c1)](),eventSource=null),scheduleReconnect();});}catch(_0x4c6ee6){console[_0xe23262(0x1e1)]('[SSE\x20Worker]\x20Failed\x20to\x20create\x20EventSource:',_0x4c6ee6),broadcast({'type':'error','error':_0x4c6ee6[_0xe23262(0x1ae)]}),scheduleReconnect();}}function scheduleReconnect(){const _0x1cebe0=_0x5e0dd0;reconnectTimeout&&clearTimeout(reconnectTimeout);if(ports[_0x1cebe0(0x1bf)]===0x0)return;const _0x53170f=Math[_0x1cebe0(0x1c7)](0x3e8*Math[_0x1cebe0(0x1af)](0x2,reconnectAttempts),MAX_RECONNECT_DELAY);reconnectAttempts++,console[_0x1cebe0(0x1bd)](_0x1cebe0(0x1cb)+_0x53170f+_0x1cebe0(0x1d5)+reconnectAttempts+')'),reconnectTimeout=setTimeout(()=>{const _0xdfa99=_0x1cebe0;ports[_0xdfa99(0x1bf)]>0x0&&connect(currentUserId);},_0x53170f);}function _0x3a96(_0x5f1849,_0x16efc2){_0x5f1849=_0x5f1849-0x1a4;const _0x229218=_0x2292();let _0x3a96be=_0x229218[_0x5f1849];if(_0x3a96['IGWcoJ']===undefined){var _0x450f1c=function(_0x2467ad){const _0x3d5e63='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x57bdd6='',_0x132fad='';for(let _0x9dbaac=0x0,_0x4317dd,_0xb45c92,_0x1b1dbb=0x0;_0xb45c92=_0x2467ad['charAt'](_0x1b1dbb++);~_0xb45c92&&(_0x4317dd=_0x9dbaac%0x4?_0x4317dd*0x40+_0xb45c92:_0xb45c92,_0x9dbaac++%0x4)?_0x57bdd6+=String['fromCharCode'](0xff&_0x4317dd>>(-0x2*_0x9dbaac&0x6)):0x0){_0xb45c92=_0x3d5e63['indexOf'](_0xb45c92);}for(let _0x1aaee7=0x0,_0x3e0bd9=_0x57bdd6['length'];_0x1aaee7<_0x3e0bd9;_0x1aaee7++){_0x132fad+='%'+('00'+_0x57bdd6['charCodeAt'](_0x1aaee7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x132fad);};_0x3a96['rxEQuY']=_0x450f1c,_0x3a96['rvRLYa']={},_0x3a96['IGWcoJ']=!![];}const _0x771153=_0x229218[0x0],_0x596c81=_0x5f1849+_0x771153,_0x282283=_0x3a96['rvRLYa'][_0x596c81];return!_0x282283?(_0x3a96be=_0x3a96['rxEQuY'](_0x3a96be),_0x3a96['rvRLYa'][_0x596c81]=_0x3a96be):_0x3a96be=_0x282283,_0x3a96be;}function broadcast(_0x35b0ec){const _0xc4d140=_0x5e0dd0,_0x20f89d=[];ports[_0xc4d140(0x1c4)](_0x4c5637=>{const _0x37f9d0=_0xc4d140;try{_0x4c5637['postMessage'](_0x35b0ec);}catch(_0x43732c){console['warn'](_0x37f9d0(0x1cd),_0x43732c),_0x20f89d[_0x37f9d0(0x1de)](_0x4c5637);}}),_0x20f89d['length']>0x0&&cleanUpDeadPorts(_0x20f89d),ports[_0xc4d140(0x1bf)]===0x0&&eventSource&&(console[_0xc4d140(0x1bd)]('[SSE\x20Worker]\x20No\x20more\x20connected\x20ports,\x20closing\x20SSE'),eventSource['close'](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));}function subscribeTask(_0x4ab33d,_0x5a8df4){const _0x5c3e66=_0x5e0dd0;let _0x419155=taskStreams[_0x5c3e66(0x1a9)](_0x5a8df4);!_0x419155&&(_0x419155={'eventSource':null,'reconnectTimeout':null,'reconnectAttempts':0x0,'subscribedPorts':new Set()},taskStreams[_0x5c3e66(0x1a5)](_0x5a8df4,_0x419155));_0x419155[_0x5c3e66(0x1b3)][_0x5c3e66(0x1dd)](_0x4ab33d);if(!_0x419155[_0x5c3e66(0x1b8)]||_0x419155[_0x5c3e66(0x1b8)]['readyState']===EventSource[_0x5c3e66(0x1c9)])connectTaskStream(_0x5a8df4);else{if(_0x419155[_0x5c3e66(0x1b8)][_0x5c3e66(0x1c3)]===EventSource[_0x5c3e66(0x1aa)])try{_0x4ab33d['postMessage']({'type':_0x5c3e66(0x1b0),'taskId':_0x5a8df4});}catch(_0x389f63){}}}function unsubscribeTask(_0x448027,_0x4374ca){const _0x148bb7=_0x5e0dd0,_0x1b05bd=taskStreams[_0x148bb7(0x1a9)](_0x4374ca);if(!_0x1b05bd)return;_0x1b05bd[_0x148bb7(0x1b3)][_0x148bb7(0x1a4)](_0x448027),_0x1b05bd[_0x148bb7(0x1b3)][_0x148bb7(0x1bf)]===0x0&&deferredCloseTaskStream(_0x4374ca);}function connectTaskStream(_0x5eb133){const _0x5708d0=_0x5e0dd0,_0x13d9a8=taskStreams[_0x5708d0(0x1a9)](_0x5eb133);if(!_0x13d9a8)return;_0x13d9a8[_0x5708d0(0x1b8)]&&(_0x13d9a8[_0x5708d0(0x1b8)][_0x5708d0(0x1c1)](),_0x13d9a8['eventSource']=null);try{_0x13d9a8['eventSource']=new EventSource(_0x5708d0(0x1d6)+_0x5eb133+_0x5708d0(0x1ad));for(const _0xfef0ca of TASK_STREAM_EVENTS){_0x13d9a8[_0x5708d0(0x1b8)][_0x5708d0(0x1a8)](_0xfef0ca,_0x17110c=>{const _0x14dfaa=_0x5708d0;broadcastToTask(_0x5eb133,_0x14dfaa(0x1d2)+_0xfef0ca,_0x17110c['data']),_0x13d9a8[_0x14dfaa(0x1ba)]=0x0;});}_0x13d9a8['eventSource'][_0x5708d0(0x1a8)](_0x5708d0(0x1e5),()=>{const _0x3c27b3=_0x5708d0;broadcastToTask(_0x5eb133,_0x3c27b3(0x1b0),'{}'),_0x13d9a8['reconnectAttempts']=0x0;}),_0x13d9a8[_0x5708d0(0x1b8)][_0x5708d0(0x1a8)](_0x5708d0(0x1e1),()=>{const _0x26734c=_0x5708d0;broadcastToTask(_0x5eb133,'task:error',JSON[_0x26734c(0x1ab)]({'error':_0x26734c(0x1b2)})),_0x13d9a8[_0x26734c(0x1b8)]&&(_0x13d9a8[_0x26734c(0x1b8)][_0x26734c(0x1c1)](),_0x13d9a8[_0x26734c(0x1b8)]=null),scheduleTaskReconnect(_0x5eb133);});}catch(_0x58e53e){console[_0x5708d0(0x1e1)](_0x5708d0(0x1d0)+_0x5eb133+':',_0x58e53e),broadcastToTask(_0x5eb133,_0x5708d0(0x1b1),JSON[_0x5708d0(0x1ab)]({'error':_0x58e53e['message']})),scheduleTaskReconnect(_0x5eb133);}}function broadcastToTask(_0x32ff50,_0x43e6ac,_0x4519e3){const _0x2eda58=_0x5e0dd0,_0x276321=taskStreams[_0x2eda58(0x1a9)](_0x32ff50);if(!_0x276321)return;const _0x20a42e=[];_0x276321[_0x2eda58(0x1b3)]['forEach'](_0x446caf=>{const _0x205662=_0x2eda58;try{_0x446caf[_0x205662(0x1d8)]({'type':_0x43e6ac,'taskId':_0x32ff50,'data':_0x4519e3});}catch(_0x32c57a){_0x20a42e[_0x205662(0x1de)](_0x446caf);}}),_0x20a42e[_0x2eda58(0x1a7)]>0x0&&(_0x20a42e['forEach'](_0x4228dd=>_0x276321[_0x2eda58(0x1b3)][_0x2eda58(0x1a4)](_0x4228dd)),cleanUpDeadPorts(_0x20a42e),_0x276321[_0x2eda58(0x1b3)][_0x2eda58(0x1bf)]===0x0&&closeTaskStream(_0x32ff50));}function closeTaskStream(_0x35f74b){const _0x466b26=_0x5e0dd0,_0x33fdcc=taskStreams['get'](_0x35f74b);if(!_0x33fdcc)return;_0x33fdcc[_0x466b26(0x1b8)]&&_0x33fdcc['eventSource'][_0x466b26(0x1c1)](),_0x33fdcc[_0x466b26(0x1df)]&&clearTimeout(_0x33fdcc[_0x466b26(0x1df)]),taskStreams[_0x466b26(0x1a4)](_0x35f74b);}function deferredCloseTaskStream(_0x3236cd){setTimeout(()=>{const _0x1ac50a=_0x3a96,_0x309cd0=taskStreams[_0x1ac50a(0x1a9)](_0x3236cd);_0x309cd0&&_0x309cd0[_0x1ac50a(0x1b3)][_0x1ac50a(0x1bf)]===0x0&&closeTaskStream(_0x3236cd);},0x0);}function scheduleTaskReconnect(_0x7d2926){const _0x347ba7=_0x5e0dd0,_0x4996b3=taskStreams[_0x347ba7(0x1a9)](_0x7d2926);if(!_0x4996b3||_0x4996b3[_0x347ba7(0x1b3)]['size']===0x0)return;_0x4996b3[_0x347ba7(0x1df)]&&clearTimeout(_0x4996b3[_0x347ba7(0x1df)]);const _0x2d6141=Math[_0x347ba7(0x1c7)](0x3e8*Math[_0x347ba7(0x1af)](0x2,_0x4996b3[_0x347ba7(0x1ba)]),MAX_RECONNECT_DELAY);_0x4996b3[_0x347ba7(0x1ba)]++,console[_0x347ba7(0x1bd)]('[SSE\x20Worker]\x20Scheduling\x20task\x20stream\x20reconnect\x20for\x20'+_0x7d2926+'\x20in\x20'+_0x2d6141+'ms'),_0x4996b3[_0x347ba7(0x1df)]=setTimeout(()=>{const _0x50cd50=_0x347ba7;_0x4996b3[_0x50cd50(0x1b3)]['size']>0x0&&connectTaskStream(_0x7d2926);},_0x2d6141);}function cleanUpDeadPorts(_0x4f246a){const _0x2adfca=_0x5e0dd0;for(const _0x4d1de9 of _0x4f246a){ports[_0x2adfca(0x1a4)](_0x4d1de9),taskStreams[_0x2adfca(0x1c4)]((_0x2bba7f,_0xd4b116)=>{const _0x4c2519=_0x2adfca;_0x2bba7f[_0x4c2519(0x1b3)][_0x4c2519(0x1a4)](_0x4d1de9),_0x2bba7f['subscribedPorts'][_0x4c2519(0x1bf)]===0x0&&closeTaskStream(_0xd4b116);});}}function removePortFromAllTasks(_0x5e7c21){const _0x568d92=_0x5e0dd0;taskStreams[_0x568d92(0x1c4)]((_0xa384df,_0x38e30b)=>{const _0x34c3c4=_0x568d92;_0xa384df[_0x34c3c4(0x1b3)]['has'](_0x5e7c21)&&(_0xa384df[_0x34c3c4(0x1b3)][_0x34c3c4(0x1a4)](_0x5e7c21),_0xa384df[_0x34c3c4(0x1b3)][_0x34c3c4(0x1bf)]===0x0&&closeTaskStream(_0x38e30b));});}self['onconnect']=function(_0x5a3589){const _0x257c11=_0x5e0dd0,_0x4c7321=_0x5a3589[_0x257c11(0x1cf)][0x0];ports[_0x257c11(0x1dd)](_0x4c7321),console[_0x257c11(0x1bd)](_0x257c11(0x1d4)+ports[_0x257c11(0x1bf)]),_0x4c7321['onmessage']=function(_0x441b35){const _0x1dd512=_0x257c11,{action:_0xf012a9,userId:_0x80bfb1,taskId:_0x352dc6}=_0x441b35[_0x1dd512(0x1c6)];switch(_0xf012a9){case'connect':connect(_0x80bfb1);eventSource&&eventSource[_0x1dd512(0x1c3)]===EventSource[_0x1dd512(0x1aa)]&&_0x4c7321[_0x1dd512(0x1d8)]({'type':_0x1dd512(0x1ce)});break;case _0x1dd512(0x1bb):ports[_0x1dd512(0x1a4)](_0x4c7321),removePortFromAllTasks(_0x4c7321),console['log'](_0x1dd512(0x1cc)+ports[_0x1dd512(0x1bf)]);ports[_0x1dd512(0x1bf)]===0x0&&eventSource&&(eventSource['close'](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));break;case'changeFilter':_0x80bfb1!==currentUserId&&connect(_0x80bfb1);break;case _0x1dd512(0x1dc):subscribeTask(_0x4c7321,_0x352dc6);break;case'unsubscribeTask':unsubscribeTask(_0x4c7321,_0x352dc6);break;default:console[_0x1dd512(0x1e4)]('[SSE\x20Worker]\x20Unknown\x20action:',_0xf012a9);}},_0x4c7321['onmessageerror']=function(_0x19c45d){const _0x4465d1=_0x257c11;console[_0x4465d1(0x1e1)](_0x4465d1(0x1d7),_0x19c45d),ports['delete'](_0x4c7321),removePortFromAllTasks(_0x4c7321);},_0x4c7321['start']();};
@@ -14134,6 +14134,77 @@ input.toggle-switch:focus {
14134
14134
  color: var(--color-text-muted);
14135
14135
  }
14136
14136
 
14137
+ .judge-custom-instructions-textarea {
14138
+ width: 100%;
14139
+ min-height: 84px;
14140
+ max-height: 220px;
14141
+ padding: 10px 12px;
14142
+ border: 1px solid var(--color-border);
14143
+ border-radius: 8px;
14144
+ background: var(--color-surface);
14145
+ color: var(--color-text);
14146
+ font-size: 13px;
14147
+ line-height: 1.45;
14148
+ resize: vertical;
14149
+ }
14150
+
14151
+ .judge-custom-instructions-textarea:focus {
14152
+ outline: none;
14153
+ border-color: var(--color-accent);
14154
+ box-shadow: 0 0 0 3px rgba(63, 114, 255, 0.14);
14155
+ }
14156
+
14157
+ .judge-custom-instructions-textarea::placeholder {
14158
+ color: var(--color-text-muted);
14159
+ }
14160
+
14161
+ .judge-custom-instructions-section {
14162
+ margin-top: -2px;
14163
+ margin-bottom: 10px;
14164
+ }
14165
+
14166
+ .judge-custom-instructions-toggle {
14167
+ border-style: solid;
14168
+ }
14169
+
14170
+ .judge-custom-instructions-toggle .toggle-chevron {
14171
+ transition: transform 0.2s ease !important;
14172
+ }
14173
+
14174
+ .judge-custom-instructions-toggle.expanded .toggle-chevron {
14175
+ transform: rotate(180deg);
14176
+ }
14177
+
14178
+ .judge-custom-instructions-container {
14179
+ margin-top: 8px;
14180
+ }
14181
+
14182
+ #tab-launch {
14183
+ overflow-y: hidden;
14184
+ }
14185
+
14186
+ #tab-launch.is-expanded {
14187
+ overflow-y: auto;
14188
+ }
14189
+
14190
+ #tab-launch .ai-analysis-section {
14191
+ margin-bottom: 12px;
14192
+ }
14193
+
14194
+ #tab-launch .judge-quick-summary {
14195
+ margin-bottom: 12px;
14196
+ }
14197
+
14198
+ #tab-launch .judge-agent-btn {
14199
+ padding: 10px 10px;
14200
+ gap: 6px;
14201
+ }
14202
+
14203
+ #tab-launch .judge-launch-area {
14204
+ padding: 12px;
14205
+ margin-top: 0;
14206
+ }
14207
+
14137
14208
  /* Variant Selector (collapsible checklist) */
14138
14209
  .variant-selector-toggle {
14139
14210
  display: flex;
@@ -1688,6 +1688,30 @@
1688
1688
  </div>
1689
1689
  </div>
1690
1690
 
1691
+ <div class="ai-analysis-section judge-custom-instructions-section">
1692
+ <button
1693
+ type="button"
1694
+ class="variant-selector-toggle judge-custom-instructions-toggle"
1695
+ id="judge-custom-instructions-toggle"
1696
+ aria-expanded="false"
1697
+ aria-controls="judge-custom-instructions-container">
1698
+ <span class="section-label">Additional Instructions</span>
1699
+ <span class="variant-selector-summary">Optional</span>
1700
+ <svg class="toggle-chevron" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
1701
+ <polyline points="6 9 12 15 18 9"></polyline>
1702
+ </svg>
1703
+ </button>
1704
+ <div id="judge-custom-instructions-container" class="judge-custom-instructions-container" hidden>
1705
+ <textarea
1706
+ id="judge-custom-instructions"
1707
+ class="judge-custom-instructions-textarea"
1708
+ rows="3"
1709
+ maxlength="4000"
1710
+ placeholder="Optional instructions for how this judge/review should evaluate the selected variants."></textarea>
1711
+ <p class="section-hint">This guidance is additive. The core judging rubric and required output format stay fixed.</p>
1712
+ </div>
1713
+ </div>
1714
+
1691
1715
  <!-- Launch Action Area -->
1692
1716
  <div class="judge-launch-area">
1693
1717
  <div class="launch-info" id="launch-info">