oh-my-opencode 4.19.4 → 5.0.0-beta.2

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 (268) hide show
  1. package/README.ja.md +1 -1
  2. package/README.ko.md +1 -1
  3. package/README.md +6 -5
  4. package/README.ru.md +1 -1
  5. package/README.zh-cn.md +1 -1
  6. package/bin/oh-my-opencode.js +14 -1
  7. package/bin/oh-my-opencode.test.ts +21 -0
  8. package/dist/cli/index.js +1452 -703
  9. package/dist/cli-node/index.js +1452 -703
  10. package/dist/config/schema/agent-overrides.d.ts +528 -0
  11. package/dist/config/schema/oh-my-opencode-config.d.ts +495 -0
  12. package/dist/features/monitor/batcher.d.ts +3 -1
  13. package/dist/features/monitor/manager-internals.d.ts +1 -0
  14. package/dist/features/monitor/output-injector-types.d.ts +2 -0
  15. package/dist/features/monitor/output-injector.d.ts +6 -0
  16. package/dist/hooks/todo-continuation-enforcer/types.d.ts +1 -0
  17. package/dist/hooks/todo-continuation-enforcer/unrecoverable-request-error.d.ts +9 -0
  18. package/dist/hooks/tool-pair-validator/hook.test-support.d.ts +29 -0
  19. package/dist/hooks/tool-pair-validator/tool-part-ids.d.ts +14 -5
  20. package/dist/hooks/tool-pair-validator/tool-result-repair.d.ts +4 -3
  21. package/dist/hooks/tool-pair-validator/types.d.ts +5 -22
  22. package/dist/index.js +2776 -2240
  23. package/dist/mcp/lsp.d.ts +1 -0
  24. package/dist/oh-my-opencode.schema.json +1466 -131
  25. package/dist/shared/tmux/constants.d.ts +1 -1
  26. package/dist/skills/ast-grep/SOURCE +1 -1
  27. package/dist/skills/ast-grep/install.ps1 +2 -2
  28. package/dist/skills/ast-grep/install.sh +1 -1
  29. package/dist/skills/ast-grep/references/install.md +2 -2
  30. package/dist/skills/ast-grep/tests/smoke.sh +1 -1
  31. package/dist/skills/start-work/SKILL.md +54 -9
  32. package/dist/skills/ultimate-browsing/SKILL.md +2 -2
  33. package/dist/skills/ultimate-browsing/engine/__main__.py +8 -1
  34. package/dist/skills/ultimate-browsing/engine/bias_check.py +11 -0
  35. package/dist/skills/ultimate-browsing/engine/fetch_chain.py +90 -52
  36. package/dist/skills/ultimate-browsing/engine/result_schema.py +10 -1
  37. package/dist/skills/ultimate-browsing/engine/surrogate.py +214 -0
  38. package/dist/skills/ultimate-browsing/engine/surrogates.yaml +60 -0
  39. package/dist/skills/ultimate-browsing/engine/tests/fixtures/amp_redirect_stub.html +7 -0
  40. package/dist/skills/ultimate-browsing/engine/tests/fixtures/search_interstitial.html +19 -0
  41. package/dist/skills/ultimate-browsing/engine/tests/fixtures/wayback_available.json +1 -0
  42. package/dist/skills/ultimate-browsing/engine/tests/fixtures/wayback_snapshot.html +1128 -0
  43. package/dist/skills/ultimate-browsing/engine/tests/test_surrogate.py +252 -0
  44. package/dist/skills/ultimate-browsing/engine/tests/test_surrogate_validators.py +78 -0
  45. package/dist/skills/ultimate-browsing/engine/validators.py +46 -0
  46. package/dist/skills/ultimate-browsing/engine/waf_detector.py +1 -1
  47. package/dist/skills/ultimate-browsing/engine/waf_profiles.yaml +10 -5
  48. package/dist/skills/ultimate-browsing/references/agent-reach/social.md +1 -1
  49. package/dist/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
  50. package/dist/skills/ultimate-browsing/references/insane-search/README.md +4 -4
  51. package/dist/skills/ultimate-browsing/references/insane-search/cache-archive.md +51 -50
  52. package/dist/skills/ultimate-browsing/references/insane-search/fallback.md +1 -1
  53. package/dist/skills/ultimate-browsing/references/insane-search/jina.md +8 -2
  54. package/dist/skills/ultimate-browsing/references/insane-search/naver.md +1 -1
  55. package/dist/skills/ultimate-browsing/references/insane-search/twitter.md +3 -3
  56. package/dist/skills/ulw-plan/SKILL.md +1 -1
  57. package/dist/skills/ulw-plan/references/full-workflow.md +3 -3
  58. package/dist/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
  59. package/dist/skills/ulw-research/SKILL.md +15 -10
  60. package/dist/tui.js +307 -28
  61. package/docs/reference/web-terminal-visual-qa.md +1 -1
  62. package/package.json +27 -19
  63. package/packages/lsp-core/src/lsp/connection.ts +1 -1
  64. package/packages/lsp-daemon/dist/cli.js +27 -13
  65. package/packages/lsp-daemon/dist/client.js +49 -35
  66. package/packages/lsp-daemon/dist/ensure-daemon.d.ts +1 -0
  67. package/packages/lsp-daemon/dist/ensure-daemon.js +18 -5
  68. package/packages/lsp-daemon/dist/index.js +34 -20
  69. package/packages/lsp-tools-mcp/dist/cli.js +1 -1
  70. package/packages/lsp-tools-mcp/dist/lsp/manager.js +1 -1
  71. package/packages/lsp-tools-mcp/dist/mcp.js +1 -1
  72. package/packages/lsp-tools-mcp/dist/tools.js +1 -1
  73. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  74. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +268 -92
  75. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  76. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  77. package/packages/omo-codex/plugin/components/bootstrap/src/setup.ts +7 -7
  78. package/packages/omo-codex/plugin/components/bootstrap/src/worker.ts +3 -0
  79. package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +106 -6
  80. package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +106 -6
  81. package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
  82. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  83. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  84. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  85. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  86. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  87. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  88. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
  89. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +56 -42
  90. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  91. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  92. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  93. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  94. package/packages/omo-codex/plugin/components/start-work-continuation/AGENTS.md +1 -0
  95. package/packages/omo-codex/plugin/components/start-work-continuation/README.md +5 -1
  96. package/packages/omo-codex/plugin/components/start-work-continuation/directive.md +2 -1
  97. package/packages/omo-codex/plugin/components/start-work-continuation/dist/cli.js +18 -0
  98. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +2 -2
  99. package/packages/omo-codex/plugin/components/start-work-continuation/package.json +1 -1
  100. package/packages/omo-codex/plugin/components/start-work-continuation/src/codex-hook.ts +21 -0
  101. package/packages/omo-codex/plugin/components/start-work-continuation/test/codex-hook.test.ts +105 -0
  102. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  103. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  104. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  105. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  106. package/packages/omo-codex/plugin/components/ultrawork/CHANGELOG.md +2 -0
  107. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-code-reviewer.toml +1 -1
  108. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-gate-reviewer.toml +1 -1
  109. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-qa-executor.toml +1 -1
  110. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-high.toml +1 -1
  111. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-low.toml +1 -1
  112. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-medium.toml +1 -1
  113. package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +2 -2
  114. package/packages/omo-codex/plugin/components/ultrawork/directive.md +3 -2
  115. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  116. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  117. package/packages/omo-codex/plugin/components/ultrawork/skills/ultrawork/SKILL.md +3 -2
  118. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +1 -1
  119. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +3 -3
  120. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
  121. package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +1 -1
  122. package/packages/omo-codex/plugin/components/ulw-loop/CHANGELOG.md +2 -0
  123. package/packages/omo-codex/plugin/components/ulw-loop/README.md +11 -11
  124. package/packages/omo-codex/plugin/components/ulw-loop/directive.md +3 -2
  125. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.js +1 -1
  126. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.d.ts +1 -1
  127. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.js +9 -9
  128. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-steering.js +1 -1
  129. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +66 -66
  130. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +4 -4
  131. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-hook.js +1 -1
  132. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.js +1 -1
  133. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.js +1 -1
  134. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering.js +1 -1
  135. package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.js +2 -2
  136. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  137. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  138. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +3 -3
  139. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +22 -25
  140. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-reconciliation.ts +1 -1
  141. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-output.ts +9 -9
  142. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-steering.ts +1 -1
  143. package/packages/omo-codex/plugin/components/ulw-loop/src/cli.ts +1 -1
  144. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +4 -4
  145. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +1 -1
  146. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-crud.ts +1 -1
  147. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-io.ts +1 -1
  148. package/packages/omo-codex/plugin/components/ulw-loop/src/steering.ts +1 -1
  149. package/packages/omo-codex/plugin/components/ulw-loop/src/stop-resume-hook.ts +2 -2
  150. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-commands.test.ts +2 -2
  151. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-entrypoint.test.ts +1 -1
  152. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-helpers.test.ts +2 -2
  153. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-steering-kind-guidance.test.ts +1 -1
  154. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +2 -2
  155. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/quality-gate-builder.ts +1 -1
  156. package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +5 -5
  157. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-io.test.ts +1 -1
  158. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-roles.test.ts +1 -1
  159. package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +1 -1
  160. package/packages/omo-codex/plugin/components/ulw-loop/test/stop-resume-hook.test.ts +1 -1
  161. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  162. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  163. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  164. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
  165. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  166. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  167. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  168. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  169. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  170. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  171. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  172. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  173. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  174. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
  175. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  176. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  177. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +1 -1
  178. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  179. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +1 -1
  180. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  181. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  182. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  183. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  184. package/packages/omo-codex/plugin/package-lock.json +13 -13
  185. package/packages/omo-codex/plugin/package.json +1 -1
  186. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +4 -4
  187. package/packages/omo-codex/plugin/skills/ast-grep/SOURCE +1 -1
  188. package/packages/omo-codex/plugin/skills/ast-grep/install.ps1 +2 -2
  189. package/packages/omo-codex/plugin/skills/ast-grep/install.sh +1 -1
  190. package/packages/omo-codex/plugin/skills/ast-grep/references/install.md +2 -2
  191. package/packages/omo-codex/plugin/skills/ast-grep/tests/smoke.sh +1 -1
  192. package/packages/omo-codex/plugin/skills/start-work/SKILL.md +54 -9
  193. package/packages/omo-codex/plugin/skills/ultimate-browsing/SKILL.md +2 -2
  194. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/__main__.py +8 -1
  195. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/bias_check.py +11 -0
  196. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/fetch_chain.py +90 -52
  197. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/result_schema.py +10 -1
  198. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/surrogate.py +214 -0
  199. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/surrogates.yaml +60 -0
  200. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/amp_redirect_stub.html +7 -0
  201. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/search_interstitial.html +19 -0
  202. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/wayback_available.json +1 -0
  203. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/wayback_snapshot.html +1128 -0
  204. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/test_surrogate.py +252 -0
  205. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/test_surrogate_validators.py +78 -0
  206. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/validators.py +46 -0
  207. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/waf_detector.py +1 -1
  208. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/waf_profiles.yaml +10 -5
  209. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/agent-reach/social.md +1 -1
  210. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
  211. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/README.md +4 -4
  212. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/cache-archive.md +51 -50
  213. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/fallback.md +1 -1
  214. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/jina.md +8 -2
  215. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/naver.md +1 -1
  216. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/twitter.md +3 -3
  217. package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +3 -2
  218. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +3 -3
  219. package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +22 -25
  220. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +1 -1
  221. package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +3 -3
  222. package/packages/omo-codex/plugin/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
  223. package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +15 -10
  224. package/packages/omo-codex/plugin/test/bootstrap-binlinks.test.mjs +12 -12
  225. package/packages/omo-codex/plugin/test/bootstrap-orchestration.test.mjs +36 -4
  226. package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +1 -1
  227. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +4 -4
  228. package/packages/omo-codex/scripts/install-bin-links.test.mjs +56 -2
  229. package/packages/omo-codex/scripts/install-delegated-command.test.mjs +6 -6
  230. package/packages/omo-codex/scripts/install-dist/install-local.mjs +115 -61
  231. package/packages/omo-codex/scripts/install-local-entrypoint.test.mjs +4 -4
  232. package/packages/omo-codex/scripts/install-local.test.mjs +5 -2
  233. package/packages/shared-skills/index.mjs +19 -1
  234. package/packages/shared-skills/skills/ast-grep/SOURCE +1 -1
  235. package/packages/shared-skills/skills/ast-grep/install.ps1 +2 -2
  236. package/packages/shared-skills/skills/ast-grep/install.sh +1 -1
  237. package/packages/shared-skills/skills/ast-grep/references/install.md +2 -2
  238. package/packages/shared-skills/skills/ast-grep/tests/smoke.sh +1 -1
  239. package/packages/shared-skills/skills/start-work/SKILL.md +54 -9
  240. package/packages/shared-skills/skills/ultimate-browsing/SKILL.md +2 -2
  241. package/packages/shared-skills/skills/ultimate-browsing/engine/__main__.py +8 -1
  242. package/packages/shared-skills/skills/ultimate-browsing/engine/bias_check.py +11 -0
  243. package/packages/shared-skills/skills/ultimate-browsing/engine/fetch_chain.py +90 -52
  244. package/packages/shared-skills/skills/ultimate-browsing/engine/result_schema.py +10 -1
  245. package/packages/shared-skills/skills/ultimate-browsing/engine/surrogate.py +214 -0
  246. package/packages/shared-skills/skills/ultimate-browsing/engine/surrogates.yaml +60 -0
  247. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/amp_redirect_stub.html +7 -0
  248. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/search_interstitial.html +19 -0
  249. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/wayback_available.json +1 -0
  250. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/wayback_snapshot.html +1128 -0
  251. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/test_surrogate.py +252 -0
  252. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/test_surrogate_validators.py +78 -0
  253. package/packages/shared-skills/skills/ultimate-browsing/engine/validators.py +46 -0
  254. package/packages/shared-skills/skills/ultimate-browsing/engine/waf_detector.py +1 -1
  255. package/packages/shared-skills/skills/ultimate-browsing/engine/waf_profiles.yaml +10 -5
  256. package/packages/shared-skills/skills/ultimate-browsing/references/agent-reach/social.md +1 -1
  257. package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
  258. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/README.md +4 -4
  259. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/cache-archive.md +51 -50
  260. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/fallback.md +1 -1
  261. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/jina.md +8 -2
  262. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/naver.md +1 -1
  263. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/twitter.md +3 -3
  264. package/packages/shared-skills/skills/ulw-plan/SKILL.md +1 -1
  265. package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +3 -3
  266. package/packages/shared-skills/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
  267. package/packages/shared-skills/skills/ulw-research/SKILL.md +15 -10
  268. package/postinstall.mjs +6 -0
@@ -0,0 +1,214 @@
1
+ """Phase 2.5 surrogate retrieval: archive / reader / proxy routes for blocked origins.
2
+
3
+ When the curl grid cannot fetch the live page, this module reads a declarative
4
+ registry (engine/surrogates.yaml) and tries third-party routes that serve a
5
+ copy of the target instead. Provenance semantics are contractual:
6
+
7
+ kind=archive -> provenance="snapshot" (+ archive's own timestamp), trust=archive
8
+ kind=reader -> provenance="live" (server-side re-render of the live page)
9
+ kind=proxy -> provenance="proxy", trust=untrusted; requires allow_proxy=True
10
+ and never sends Cookie/Authorization headers (relay = MITM)
11
+
12
+ Every response body passes through validators.validate() with target_url set,
13
+ so AMP-style redirect stubs and search-engine interstitials are rejected
14
+ rather than recorded as wins. Entries whose `last_verified` is older than
15
+ MAX_STALE_DAYS are tried after fresh ones (routes rot faster than they are
16
+ maintained).
17
+ """
18
+ from __future__ import annotations
19
+
20
+ import json
21
+ import os
22
+ import time
23
+ from datetime import date
24
+
25
+ try:
26
+ import yaml
27
+ except ImportError:
28
+ yaml = None
29
+
30
+ from .result_schema import Attempt
31
+ from .validators import Verdict, validate
32
+
33
+ SURROGATES_PATH = os.path.join(os.path.dirname(__file__), "surrogates.yaml")
34
+ MAX_STALE_DAYS = 90
35
+
36
+ DEFAULT_SURROGATES: dict = {
37
+ "wayback": {
38
+ "kind": "archive",
39
+ "trust": "archive",
40
+ "enabled": True,
41
+ "last_verified": "2026-08-09",
42
+ "discovery": {
43
+ "url": "https://archive.org/wayback/available?url={target}",
44
+ "flag_pointer": "archived_snapshots.closest.available",
45
+ "snapshot_url_pointer": "archived_snapshots.closest.url",
46
+ "snapshot_timestamp_pointer": "archived_snapshots.closest.timestamp",
47
+ },
48
+ "min_body_bytes": 3072,
49
+ },
50
+ }
51
+
52
+
53
+ def load_surrogates(path: str = SURROGATES_PATH) -> dict:
54
+ if yaml is None:
55
+ return dict(DEFAULT_SURROGATES)
56
+ try:
57
+ with open(path, encoding="utf-8") as fh:
58
+ loaded = yaml.safe_load(fh) or {}
59
+ except (OSError, yaml.YAMLError):
60
+ return dict(DEFAULT_SURROGATES)
61
+ if not isinstance(loaded, dict):
62
+ return dict(DEFAULT_SURROGATES)
63
+ usable = {k: v for k, v in loaded.items() if isinstance(v, dict) and k}
64
+ return usable or dict(DEFAULT_SURROGATES)
65
+
66
+
67
+ def is_stale(entry: dict, max_age_days: int = MAX_STALE_DAYS, today: date | None = None) -> bool:
68
+ verified = entry.get("last_verified")
69
+ if isinstance(verified, date):
70
+ parsed = verified
71
+ elif isinstance(verified, str):
72
+ try:
73
+ parsed = date.fromisoformat(verified)
74
+ except ValueError:
75
+ return True
76
+ else:
77
+ return True
78
+ return ((today or date.today()) - parsed).days > max_age_days
79
+
80
+
81
+ def _http_get(url: str, *, headers: dict | None = None, timeout: int = 25):
82
+ try:
83
+ from curl_cffi import requests as cffi_requests
84
+ except ImportError as exc:
85
+ raise RuntimeError("curl_cffi not installed") from exc
86
+ return cffi_requests.get(
87
+ url,
88
+ impersonate="chrome",
89
+ headers=headers or {"Accept": "text/html,application/xhtml+xml,application/json;q=0.9,*/*;q=0.8"},
90
+ timeout=timeout,
91
+ allow_redirects=True,
92
+ )
93
+
94
+
95
+ def _json_pointer(obj, dotted: str):
96
+ current = obj
97
+ for part in dotted.split("."):
98
+ if not isinstance(current, dict):
99
+ return None
100
+ current = current.get(part)
101
+ return current
102
+
103
+
104
+ def _provenance_of(kind: str) -> str:
105
+ if kind == "archive":
106
+ return "snapshot"
107
+ if kind == "proxy":
108
+ return "proxy"
109
+ return "live"
110
+
111
+
112
+ def _skip_reason(name: str, entry: dict, allow_proxy: bool) -> str | None:
113
+ kind = entry.get("kind", "archive")
114
+ if kind == "proxy" and not allow_proxy:
115
+ return "proxy_requires_allow_proxy_flag"
116
+ required_env = entry.get("enabled_env")
117
+ if required_env and not os.environ.get(str(required_env)):
118
+ return f"missing_env:{required_env}"
119
+ if entry.get("enabled") is False and kind != "proxy":
120
+ return "disabled"
121
+ return None
122
+
123
+
124
+ def _attempt(name: str, url: str, verdict: Verdict, error=None, status: int = 0, size: int = 0, elapsed: float = 0.0) -> Attempt:
125
+ return Attempt(
126
+ phase="surrogate",
127
+ executor=f"surrogate_{name}",
128
+ url=url,
129
+ url_transform="original",
130
+ impersonate=None,
131
+ referer="",
132
+ status=status,
133
+ body_size=size,
134
+ verdict=verdict.value,
135
+ error=(str(error)[:200] if error else None),
136
+ elapsed_s=round(elapsed, 3),
137
+ )
138
+
139
+
140
+ def _resolve_target(name: str, entry: dict, target: str, timeout: int) -> tuple[str | None, str | None]:
141
+ discovery = entry.get("discovery")
142
+ if not discovery:
143
+ host_rotation = entry.get("host_rotation") or [None]
144
+ host = host_rotation[0]
145
+ template = entry.get("fetch")
146
+ if not template or host is None and "{host}" in template:
147
+ return None, None
148
+ return template.format(host=host, target=target), None
149
+ discovery_url = discovery.get("url", "").format(target=target)
150
+ resp = _http_get(discovery_url, timeout=timeout)
151
+ payload = resp.json()
152
+ if discovery.get("flag_pointer") and not _json_pointer(payload, discovery["flag_pointer"]):
153
+ return None, None
154
+ snap_url = _json_pointer(payload, discovery.get("snapshot_url_pointer", ""))
155
+ timestamp = _json_pointer(payload, discovery.get("snapshot_timestamp_pointer", "")) or None
156
+ return snap_url, timestamp
157
+
158
+
159
+ def run_surrogate(
160
+ target: str,
161
+ *,
162
+ registry: dict | None = None,
163
+ allow_proxy: bool = False,
164
+ timeout: int = 25,
165
+ success_selectors: list[str] | None = None,
166
+ ) -> tuple[list[Attempt], dict, str]:
167
+ registry = dict(registry) if registry else load_surrogates()
168
+ ordered = sorted(registry.items(), key=lambda kv: int(is_stale(kv[1])))
169
+ live_meta = {"provenance": "live", "snapshot_timestamp": None, "trust": "origin", "surrogate": None}
170
+ attempts: list[Attempt] = []
171
+
172
+ for name, entry in ordered:
173
+ kind = entry.get("kind", "archive")
174
+ reason = _skip_reason(name, entry, allow_proxy)
175
+ if reason:
176
+ attempts.append(_attempt(name, target, Verdict.UNKNOWN, error=f"skipped:{reason}"))
177
+ continue
178
+ started = time.time()
179
+ try:
180
+ fetch_url, timestamp = _resolve_target(name, entry, target, timeout)
181
+ except Exception as exc:
182
+ attempts.append(_attempt(name, target, Verdict.UNKNOWN, error=f"{type(exc).__name__}:{exc}", elapsed=time.time() - started))
183
+ continue
184
+ if not fetch_url:
185
+ attempts.append(_attempt(name, target, Verdict.UNKNOWN, error="no snapshot available", elapsed=time.time() - started))
186
+ continue
187
+ try:
188
+ resp = _http_get(fetch_url, timeout=timeout)
189
+ except Exception as exc:
190
+ attempts.append(_attempt(name, fetch_url, Verdict.UNKNOWN, error=f"{type(exc).__name__}:{exc}", elapsed=time.time() - started))
191
+ continue
192
+ body = getattr(resp, "text", "") or ""
193
+ status = int(getattr(resp, "status_code", 0) or 0)
194
+ min_bytes = int(entry.get("min_body_bytes", 3072))
195
+ att = _attempt(name, fetch_url, Verdict.UNKNOWN, status=status, size=len(body), elapsed=time.time() - started)
196
+ attempts.append(att)
197
+ if status >= 400 or len(body) < min_bytes:
198
+ att.error = f"surrogate_unusable:status={status},size={len(body)}"
199
+ continue
200
+ vr = validate(resp, success_selectors=success_selectors, target_url=target)
201
+ att.verdict = vr.verdict.value
202
+ att.reasons = vr.reasons
203
+ if vr.ok:
204
+ meta = {
205
+ "provenance": _provenance_of(kind),
206
+ "snapshot_timestamp": timestamp if kind == "archive" else None,
207
+ "trust": str(entry.get("trust", "archive")),
208
+ "surrogate": name,
209
+ }
210
+ return attempts, meta, body
211
+
212
+ if not attempts:
213
+ attempts.append(_attempt("none", target, Verdict.UNKNOWN, error="no surrogate entries"))
214
+ return attempts, live_meta, ""
@@ -0,0 +1,60 @@
1
+ # Surrogate routes — third-party services serving a COPY of a page when the
2
+ # live origin blocks the fetch chain (Phase 2.5, between grid and Playwright).
3
+ #
4
+ # Rules (same discipline as waf_profiles.yaml):
5
+ # * Site-agnostic infrastructure ONLY (No-Site-Name Rule): every host here
6
+ # must work for any target URL. No target-site domains, selectors, brand
7
+ # names.
8
+ # * Surrogate routes ROT — the 2026-08 probe found 4 of 6 known routes dead
9
+ # or returning stubs. Entries must carry `last_verified` (ISO date) and a
10
+ # passing liveness record in the PR that adds them; refresh quarterly.
11
+ # Entries older than 90 days are tried after fresh ones and flagged.
12
+ # * kind semantics:
13
+ # archive — serves a dated snapshot; provenance=snapshot, trust=archive.
14
+ # reader — re-renders the LIVE page server-side; provenance=live.
15
+ # proxy — raw forwarding relay; MITM by construction, trust=untrusted,
16
+ # skipped unless the caller passes --allow-proxy, and never
17
+ # receives Cookie/Authorization headers.
18
+ # * keys:
19
+ # discovery.json_pointer — dotted path into the discovery JSON payload.
20
+ # host_rotation — try hostile-domain cousins in order (one may be
21
+ # blocked while another answers).
22
+ # enabled_env — entry is inert until that env var is set (key-gated).
23
+ # min_body_bytes — response floor; below it the body is a stub/error.
24
+ wayback:
25
+ kind: archive
26
+ trust: archive
27
+ enabled: true
28
+ last_verified: 2026-08-09
29
+ discovery:
30
+ url: "https://archive.org/wayback/available?url={target}"
31
+ flag_pointer: "archived_snapshots.closest.available"
32
+ snapshot_url_pointer: "archived_snapshots.closest.url"
33
+ snapshot_timestamp_pointer: "archived_snapshots.closest.timestamp"
34
+ min_body_bytes: 3072
35
+
36
+ archive_today:
37
+ kind: archive
38
+ trust: archive
39
+ enabled: true
40
+ last_verified: 2026-08-09
41
+ host_rotation: ["archive.ph", "archive.md", "archive.li", "archive.is"]
42
+ fetch: "https://{host}/newest/{target}"
43
+ min_body_bytes: 3072
44
+
45
+ jina_reader:
46
+ kind: reader
47
+ trust: archive
48
+ enabled: true
49
+ enabled_env: JINA_API_KEY
50
+ last_verified: 2026-08-09
51
+ fetch: "https://r.jina.ai/{target}"
52
+ min_body_bytes: 512
53
+
54
+ anon_relay_example:
55
+ kind: proxy
56
+ trust: untrusted
57
+ enabled: false
58
+ last_verified: 2026-08-09
59
+ fetch: "https://relay.invalid/?u={target}"
60
+ min_body_bytes: 3072
@@ -0,0 +1,7 @@
1
+ <HTML><HEAD>
2
+ <meta http-equiv="content-type" content="text/html;charset=utf-8">
3
+ <TITLE>Redirecting</TITLE>
4
+ <META HTTP-EQUIV="refresh" content="0; url=https://en.wikipedia.org/wiki/Web_archiving">
5
+ </HEAD>
6
+ <BODY onLoad="location.replace('https://en.wikipedia.org/wiki/Web_archiving'+document.location.hash)">
7
+ </BODY></HTML>
@@ -0,0 +1,19 @@
1
+ <!DOCTYPE html><html lang="ko"><head><title>Google Search</title><style>body{background-color:var(--xhUGwc)}</style><script nonce="4TkEnj1jJwxvQIiyWT5yNQ">window.google = window.google || {};window.google.c = window.google.c || {cap:0};</script></head><body><noscript><style>table,div,span,p{display:none}</style><meta content="0;url=/httpservice/retry/enablejs?sei=dDB4apCLMeTO2roP1eejGA" http-equiv="refresh"><div style="display:block">몇 초 안에 이동하지 않는 경우 <a href="/httpservice/retry/enablejs?sei=dDB4apCLMeTO2roP1eejGA">여기</a>를 클릭하세요.</div></noscript><script nonce="4TkEnj1jJwxvQIiyWT5yNQ">(function(){var sctm=false;(function(){sctm&&google.tick("load","pbsst");}).call(this);})();</script><script nonce="4TkEnj1jJwxvQIiyWT5yNQ">//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjogMywic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiICJdLCJuYW1lcyI6WyJjbG9zdXJlRHluYW1pY0J1dHRvbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEifQ==
2
+ (function(){var W=function(x){return V.call(this,66,5,3,x)},V=function(x,Z,y,p,n,X,E,t,Y,f){{Y=38;while(Y!=20)if(Y==38)Y=x;else if(Y==80)Y=(y&58)==y?88:56;else if(Y==x)Y=(y^27)&Z?80:63;else{if(Y==56)return f;if(Y==88){a:{if(t=(E=n,P).trustedTypes,!t||!t.createPolicy){f=E;break a}try{E=t.createPolicy(X,{createHTML:W,createScript:W,createScriptURL:W})}catch(L){if(P.console)P.console[p](L.message)}f=E}Y=56}else Y==63&&(f=p,Y=80)}}},P=this||self;(0,eval)(function(x,Z){return(Z=V(66,5,8,"error",null,"ks"))&&x.eval(Z.createScript("1"))===1?function(y){return Z.createScript(y)}:function(y){return""+y}}(P)(Array(Math.random()*7824|0).join("\n")+['//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjogMywic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiICJdLCJuYW1lcyI6WyJjbG9zdXJlRHluYW1pY0J1dHRvbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEifQ==',
3
+ '(function(){/*',
4
+ '',
5
+ ' Copyright Google LLC',
6
+ ' SPDX-License-Identifier: Apache-2.0',
7
+ '*/var yt=153,T=function(y,x,Y,E,t,Z,W,f,n,p,V){(y&125)==y&&(p=(Y|7)- -1+(~Y^7),n=d5,t=[-82,48,-20,-47,74,-64,t,-71,-52,80],W=Nu[E.l](E.Du),W[E.l]=function(P){f=(p+=6+7*Y,p&=7,P)},W.concat=function(P,X,J,A){(J=(f=(A=-42*Z*Z*f-2016*(P=Z%16+1,Z)*f+p+t[p+51&7]*Z*P+(n()|0)*P+42*f*f-P*f+1*Z*Z*P- -4032*f,void 0),t[A]),t[(X=p+53,-2*~(X&7)+~(X|7)+2*(X^7)+(~X^7))+(Y&2)]=J,t)[p+(Y&2)]=x;while(true){return J;if({})break}},V=W);for(false;(y|32)==y;Number()!=![]){a:{if(x.P){V=U_(x,x.R);break a}t=Mu(x,true,8),t&128&&(t^=128,E=Mu(x,true,2),t=(Y=t<<2,-2*~E+4*(Y&~E)-(Y^E)+2*(~Y|E))),V=t}if(13)break}return y-5<<2>=y&&(y+8^19)<y&&(V=(Z=E[Y]<<24|E[2*(Y&x)-x-(~Y^x)]<<16|E[-~(Y&2)-~(Y|2)+2*(Y^2)+2*(~Y^2)]<<8,t=E[(Y|0)+3],2*(Z&t)+~Z-2*(~Z^t)+(Z|~t))),V},s_=137,O_=function(y,x,Y,E,t,Z,W,f,n,p,V,P,X,J){{X=76;while(X!=27)if(X==20)X=(y^37)>=-53&&(y>>1&16)<15?35:1;else if(X==95)X=(y+8&63)<y&&y-8<<1>=y?83:20;else if(X==76)X=95;else if(X==35)P=function(A){A&&f.appendChild(typeof A==="string"?Z.createTextNode(A):A)},V=t,X=21;else if(X==18)this[this+""]=this,J=Promise.resolve(),X=84;else if(X==1)X=(y-4|20)>=y&&(y+9^31)<y?18:84;else if(X==92)t-=8,f.push(E>>t&255),X=97;else if(X==31)t+=Y,E=(Z=E<<Y,W=x[n],~Z-2*~W+3*(Z&~W)+(~Z^W)),X=48;else if(X==83)n=t=0,f=[],X=66;else if(X==19)J=f,X=20;else if(X==48)X=71;else if(X==55)E=x,J=function(){return E<Y.length?{done:false,value:Y[E++]}:{done:true}},X=46;else if(X==53)X=n<x.length?31:19;else if(X==52)P(p),X=98;else{if(X==46)return J;if(X==97)X=71;else if(X==21)X=33;else if(X==6){a:{if(p&&typeof p.length=="number"){if(C3(3,x,11,p)){n=typeof p.item=="function"||typeof p.item=="string";break a}if(typeof p==="function"){n=typeof p.item=="function";break a}}n=false}X=(K3(3,71,Y,"",P,n?S(15,Y,p):p),98)}else X==70?X=!ef("number",E,16,"array",p)||C3(3,x,8,p)&&p.nodeType>Y?52:6:X==22?(p=W[V],X=70):X==98?(V++,X=33):X==71?X=t>7?92:28:X==84?X=(y<<1&15)>=1&&((y|4)&8)<8?55:46:X==28?(n++,X=53):X==33?X=V<W.length?22:1:X==66&&(X=53)}}},E_=242,ZG=function(y,x,Y,E,t,Z,W,f,n,p){for(p=17;p!=96;)if(p==35)y.removeAttribute("srcdoc"),p=98;else if(p==75)p=(x|40)==x?28:6;else if(p==98)p=Y instanceof Yk?27:57;else if(p==28)n=ef(1,t,50,E)&&yI(85,0,t,7,E)!=Y&&(!(Z=E.lK,-~Z+(Z^t)+y*(~Z^t)-(Z|~t))||E.dispatchEvent(oF(76,35,8,64,1,y,t,Y)))&&!E.B,p=6;else if(p==83)p=89;else if(p==17)p=78;else{if(p==57)throw new i8(typeof Y,1);if(p==4)return n;if(p==27)t="allow-same-origin allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-storage-access-by-user-activation".split(" "),y.setAttribute("sandbox",""),E=0,p=83;else if(p==6)p=(x-4^25)<x&&(x+1&59)>=x?37:4;else if(p==33){if(Y instanceof Yk)Z=Y.mB;else throw Error("");y.src=Z.toString(),p=75}else if(p==20)y.sandbox.supports&&!y.sandbox.supports(t[E])||y.sandbox.add(t[E]),p=65;else if(p==65)E++,p=89;else if(p==37){for(t in f=y,E.N){for(W=(Z=y,E).N[t];Z<W.length;Z++)++f,K3(3,18,Y,W[Z]);delete E.N[E.pj--,t]}p=4}else if(p==63)p=(x&87)==x?35:75;else if(p==78)p=(x&43)==x?41:63;else if(p==41){a:{if((E=(Y=u.trustedTypes,null),!Y)||!Y.createPolicy){n=E;break a}try{E=Y.createPolicy("ks",{createHTML:sn,createScript:sn,createScriptURL:sn})}catch(V){if(u.console)u.console[y](V.message)}n=E}p=63}else p==89&&(p=E<t.length?20:33)}},WO=function(y,x,Y,E,t,Z,W,f,n,p){{n=72;while(n!=54)if(n==y)uH.call(this,Y?Y.type:""),this.relatedTarget=this.currentTarget=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0,this.key="",this.charCode=this.keyCode=0,this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=false,this.state=null,this.pointerId=0,this.pointerType="",this.timeStamp=0,this.ue=null,Y&&this.init(Y,E),n=94;else if(n==14)this.I.push(Y),n=47;else if(n==67)Y.wP&&Y.wP.forEach(E,void 0),n=30;else if(n==30)n=(x+4^12)>=x&&(x-7^32)<x?69:1;else if(n==59)E=Math.floor(Math.random()*this.n),E<50&&(this.I[E]=Y),n=47;else if(n==69)W.classList?W.classList.remove(f):w5(63,8,t,Y,f,W)&&p3("string",25,E,Array.prototype.filter.call(Vt(8,23,E,W),function(V){return V!=f}).join(Z),W),n=1;else if(n==94)n=(x^26)&15?30:67;else if(n==85)n=this.I.length<50?14:59;else{if(n==47)return p;if(n==43){a:{if(this.n===0){p=[0,0];break a}p=[(this.I.sort(function(V,P){return V-P}),this).n,this.I[this.I.length>>1]]}n=76}else n==71?(this.n++,n=85):n==72?n=55:n==76?n=x-9<<1<x&&x-6<<2>=x?y:94:n==1?n=(x>>1&10)==2?71:47:n==55&&(n=(x>>2&11)==1?43:76)}}},K3=function(y,x,Y,E,t,Z,W,f,n,p,V){for(p=45;p!=50;)if(p==49)p=97;else if(p==29)p=(x<<1&11)==2?1:95;else if(p==45)p=35;else if(p==46)f in W&&t.call(void 0,W[f],f,Z),p=14;else if(p==88)p=(x^27)>>4?27:16;else if(p==14)f++,p=97;else if(p==27)p=(x-7^21)>=x&&(x-y|65)<x?74:29;else if(p==54)p=88;else if(p==97)p=f<n?46:29;else{if(p==95)return V;p==35?p=(x&108)==x?54:88:p==16?(E.zC=true,E.listener=Y,E.proxy=Y,E.src=Y,E.handler=Y,p=27):p==1?(this.type=Y,this.currentTarget=this.target=E,this.defaultPrevented=this.kc=false,p=95):p==74&&(n=Z.length,W=typeof Z==="string"?Z.split(E):Z,f=Y,p=49)}},t1=55,Vt=function(y,x,Y,E,t,Z,W,f,n,p,V,P){for(P=63;P!=98;)if(P==63)P=73;else if(P==26){a:if(W=window.btoa){for(f=(n=0,Y);n<Z.length;n+=E)f+=String.fromCharCode.apply(null,Z.slice(n,n+E));V=(p=W(f),t&&(p=p.replace(/\\+/g,"-").replace(/\\//g,"_").replace(/=/g,Y)),p);break a}P=93}else if(P==9)P=((x^4)&15)<y&&x>>1>=-74?41:68;else if(P==73)P=(x^3)>=-34&&(x>>1&y)<5?26:93;else{if(P==68)return V;P==14?(this.tU=u.document||document,P=9):P==93?P=(x<<1&y)<5&&((x^19)&7)>=0?14:9:P==41&&(V=E.classList?E.classList:cO(69,Y,"string",E).match(/\\S+/g)||[],P=68)}},g5=function(y,x,Y,E,t,Z,W){{W=99;while(W!=66)if(W==x)W=(Y|9)>=10&&Y+2<14?14:5;else if(W==y)W=(Y|24)==Y?32:x;else if(W==99)W=y;else if(W==14)this.n++,t=E-this.T,this.T+=t/this.n,this.Mx+=t*(E-this.T),W=5;else{if(W==5)return Z;W==32&&(this.B=this.B,this.Eg=this.Eg,W=x)}}},aF=function(y,x,Y,E,t,Z){for(Z=63;Z!=58;)if(Z==53)BO.call(this),E||bH||(bH=new ka),this.rP=this.wP=this.Fh=this.kJ=null,this.RX=this.gi=false,this.G=null,this.Q1=void 0,Z=10;else if(Z==63)Z=43;else if(Z==10)Z=(Y&116)==Y?44:98;else{if(Z==98)return t;Z==44?(t=this.n===0?0:Math.sqrt(this.Mx/this.n),Z=98):Z==43&&(Z=Y-7<x&&((Y^y)&7)>=5?53:10)}},jf=function(y,x,Y,E,t,Z,W,f,n,p,V,P){for(P=47;P!=82;)if(P==47)P=2;else{if(P==77)return V;P==y?P=6:P==23?P=(t-6&7)<6&&(t>>2&3)>=1?20:77:P==85?P=(W=x)?93:97:P==61?P=p?1:6:P==84?P=Z in x.N&&M(65,0,x.N[Z],E)?74:23:P==63?(Z=E.type,P=84):P==24?P=(n=Qt[Z])?y:9:P==6?(W=n?typeof n.dP==="function"?n.dP():new n:null,P=93):P==57?P=x.N[Z].length==0?56:23:P==2?P=(t|2)>>4?23:63:P==97?(p=this.constructor,P=68):P==68?P=61:P==93?(this.g=W,P=77):P==20?(zp.call(this,E),P=85):P==74?(K3(3,21,Y,E),P=57):P==1?(Z=$a(p,34),P=24):P==9?(p=(f=Object.getPrototypeOf(p.prototype))&&f.constructor,P=15):P==15?P=61:P==56&&(delete x.N[Z],x.pj--,P=23)}},oF=function(y,x,Y,E,t,Z,W,f,n,p,V){{V=51;while(V!=69)if(V==51)V=78;else if(V==11)V=Y.zC?97:68;else if(V==78)V=(x-3|40)>=x&&(x+5&57)<x?11:55;else if(V==41)V=x+8>=11&&(x<<1&4)<2?67:81;else{if(V==81)return p;if(V==y){a:{switch(W){case t:p=f?"disable":"enable";break a;case Z:p=f?"highlight":"unhighlight";break a;case 4:p=f?"activate":"deactivate";break a;case Y:p=f?"select":"unselect";break a;case 16:p=f?"check":"uncheck";break a;case 32:p=f?"focus":"blur";break a;case E:p=f?"open":"close";break a}throw Error("Invalid component state");}V=41}else V==55?V=(x^36)>>5<1&&((x|8)&7)>=3?y:41:V==67?(n=function(P){return Y.call(n.src,n.listener,P)},Y=RF,p=n,V=81):V==68?(W=new vO(E,this),Z=Y.handler||Y.src,t=Y.listener,Y.be&&Sf(null,0,Y,10),f=t.call(Z,W),V=86):V==86?(p=f,V=55):V==97&&(f=true,V=86)}}},qu=function(y,x,Y,E,t,Z,W,f,n,p,V,P,X,J,A){{X=34;while(X!=41)if(X==12)A=function(){},W=void 0,Y=L3(y,function(v,F){for(F=33;F!=63;)F==43?(E&&J1(E),W=v,A(),A=void 0,F=63):F==33&&(F=A?43:63)},!!E),Z=Y[1],t=Y[0],J={top:function(v,F,B,w,e,D,O){for(O=44;O!=24;)if(O==89)O=F?99:57;else if(O==44)D=function(){W(function(mN){J1(function(){v(mN)})},B)},O=89;else if(O==88)D(),O=24;else{if(O==57)return w=t(B),v&&v(w),w;O==55?(e=A,A=function(){(e(),J1)(D)},O=24):O==99&&(O=W?88:55)}},pe:function(v){Z&&Z(v)}},X=23;else if(X==96)f=Y.charCodeAt(Z),X=52;else if(X==31)W[t++]=f,X=35;else if(X==49)this.listener=E,this.proxy=null,this.src=Z,this.type=t,this.capture=!!y,this.handler=Y,this.key=++Gp,this.zC=this.be=false,X=4;else if(X==98)X=x-9<10&&(x-3&11)>=3?49:4;else if(X==78)X=x-5<<1>=x&&(x-8|25)<x?12:23;else if(X==77)J=W,X=56;else if(X==52)X=f>y?27:31;else if(X==85)W=[],Z=t=0,X=91;else if(X==4)X=(x&59)==x?73:78;else if(X==34)X=88;else if(X==57)X=Z<Y.length?96:77;else if(X==73)J=(V=A1[y.substring(0,3)+"_"])?V(y.substring(3),E,Y,t,Z,W,f,n,p):r5(31,32,E,y),X=78;else if(X==50){a:{if(W=Y.Z.N[String(E)],!W){J=y;break a}for(V=(P=(W=W.concat(),0),y);P<W.length;++P)(f=W[P])&&!f.zC&&f.capture==t&&(p=f.listener,n=f.handler||f.src,f.be&&jf(46,Y.Z,null,f,12),V=p.call(n,Z)!==false&&V);J=V&&!Z.defaultPrevented}X=98}else{if(X==23)return J;X==35?(Z++,X=57):X==56?X=(x^32)>>4<2&&(x|8)>>3>=1?50:98:X==88?X=(x&122)==x?85:56:X==27?(W[t++]=-(f|y)-2*~(f&y)+-2+(f^y),f>>=E,X=31):X==91&&(X=57)}}},h1=function(y,x,Y,E,t,Z,W){{Z=6;while(Z!=48)if(Z==19)this.V=Y,Z=88;else{if(Z==4)return W;Z==88?Z=(x+2^4)<x&&x-4<<2>=x?y:12:Z==55?Z=(x|8)&7?88:19:Z==6?Z=55:Z==53?Z=4:Z==y?(t.F=((t.F?t.F+"~":"E:")+E.message+":"+E.stack).slice(Y,2048),Z=12):Z==12&&(Z=x-7<<2<x&&(x+1^18)>=x?53:4)}}},iH=114,n3=function(y,x,Y,E,t,Z,W,f,n,p,V,P){{P=38;while(P!=20)if(P==18)t.setAttribute(n,W),P=88;else if(P==54)P=W===""||W==void 0?47:18;else if(P==39)W++,P=21;else if(P==88)P=x+7>>3==3?4:y;else{if(P==y)return V;P==56?P=(x-9&15)==4?6:63:P==76?(p=PO,Z in p?t.setAttribute(n,p[Z]):t.removeAttribute(n),P=88):P==21?P=W<Y.length?10:61:P==66?P=(x&60)==x?74:80:P==2?(V=Math.floor(this.Yc+(this.o()-this.oX)),P=56):P==4?(Y.classList?Array.prototype.forEach.call(E,function(X){WO(3,3,0,"class",1," ",Y,X)}):p3("string",27,"class",Array.prototype.filter.call(Vt(8,21,"class",Y),function(X){return!($a(1,7,X,E)>=0)}).join(" "),Y),P=y):P==91?P=21:P==61?(Z+=Z<<3,Z^=Z>>11,n=Z+(Z<<15)>>>0,f=new Number((p=(1<<E)-1,(n|0)-~p+~(n|p))),f[0]=(n>>>E)%t,V=f,P=80):P==63?P=x-4>>3?88:34:P==80?P=(x|56)==x?2:56:P==34?(Array.isArray(W)&&(W=W.join(" ")),n="aria-"+Z,P=54):P==38?P=66:P==74?(Z=W=0,P=91):P==6?(this.mB=Y,P=63):P==79?(f={},PO=(f.atomic=false,f.autocomplete=E,f.dropeffect=E,f.haspopup=false,f.live=Y,f.multiline=false,f.multiselectable=false,f.orientation="vertical",f.readonly=false,f.relevant="additions text",f.required=false,f.sort=E,f.busy=false,f.disabled=false,f.hidden=false,f.invalid="false",f),P=76):P==47?P=PO?76:79:P==10&&(Z+=Y.charCodeAt(W),Z+=Z<<10,Z^=Z>>6,P=39)}}},Q=function(y,x,Y,E,t,Z){if((y+4&31)>=y&&(y-6|12)<y&&(E=Nu[x.l](x.vn),E[x.l]=function(){return Y},E.concat=function(W){Y=W},Z=E),y-9<<2>=y&&(y+1^3)<y)a:{for(![""]==0;x.P;([]!=true)+!![]){Z=U_(x,x.R);break a;if(![void 1]==Number())break}Z=(Y=Mu(x,true,8),Y&128&&(Y^=128,t=Mu(x,true,2),Y=(E=Y<<2,-2*~t+4*(E&~t)-(E^t)+2*(~E|t))),Y)}return Z},fw=function(y,x,Y,E,t,Z,W,f,n,p,V){{V=22;while(V!=61)if(V==15)V=(y<<1&15)==4?65:52;else if(V==95)V=n<t.length?9:28;else if(V==43)Y=x[Lw],p=Y instanceof Jj?Y:null,V=26;else if(V==55)V=Array.isArray(t)?99:41;else if(V==99)n=0,V=35;else if(V==22)V=11;else if(V==65)V=x.classList?6:84;else if(V==40)E=Y,m1===void 0&&(m1=x),Z=(t=m1)?t.createScriptURL(E):E,p=new Yk(Z),V=17;else if(V==41)E=w5(63,6,E),W&&W[P0]?W.Z.add(String(t),E,x,C3(3,Y,9,Z)?!!Z.capture:!!Z,f):cO(5,false,null,W,x,E,Z,f,t),V=28;else if(V==6)Array.prototype.forEach.call(Y,function(P,X,J){for(J=63;J!=38;)J==61?(X=cO(70,"class","string",x),p3("string",26,"class",X+(X.length>0?" "+P:P),x),J=38):J==63?J=x.classList?97:11:J==11?J=w5(63,16,1,0,P,x)?38:61:J==97&&(x.classList.add(P),J=38)}),V=52;else if(V==13)n++,V=95;else if(V==84){for(E in Z=(Array.prototype.forEach.call(Vt(8,(t={},20),"class",x),function(P){t[P]=true}),Array.prototype.forEach.call(Y,function(P){t[P]=true}),""),t)Z+=Z.length>0?" "+E:E;V=(p3("string",24,"class",Z,x),52)}else if(V==42)yI(85,0,f,16,true,E,Z,W,t),V=28;else{if(V==26)return p;V==11?V=(y^48)<29&&y-8>=9?10:28:V==35?V=95:V==17?V=(y&57)==y?69:15:V==28?V=(y-4^26)<y&&(y-9^15)>=y?40:17:V==52?V=((y|2)&15)==3?43:26:V==9?(fw(37,false,null,E,t[n],Z,W,f),V=13):V==69?(p=!!(t=Y.X1,-~E+(t&~E)+(~t^E))&&ef(x,E,42,Y),V=15):V==10&&(V=Z&&Z.once?42:55)}}},pw=function(y,x,Y,E,t,Z,W,f,n,p,V,P,X,J){for(X=23,P=42;;)try{if(X==97)break;else if(X==6)P=42,h1(34,12,E,V,W),X=13;else if(X==89){a:{for(Z in t)if(E.call(void 0,t[Z],Z,t)){J=y;break a}J=Y}X=10}else if(X==5)P=7,n=W0(f,"load",W,E),X=13;else if(X==61)X=W.D.length?94:77;else if(X==94)W.A=Y,f=W.D.pop(),X=5;else if(X==77)J=n,X=90;else if(X==78)X=x>>2>=-61&&(x>>1&12)<1?92:41;else if(X==92)J=Vt(8,12,"",8192,true,y),X=41;else if(X==45)X=Z&&W.A?86:84;else{if(X==90)return J;X==13?(P=42,X=45):X==42?X=61:X==10?X=x-2>>3==1?42:90:X==86?(p=W.A,p(function(){S(68,t,W,y,y)}),X=77):X==23?X=78:X==41?X=(x-9|58)>=x&&(x+5&31)<x?89:10:X==84&&(X=61)}}catch(A){if(P==42)throw A;P==7&&(V=A,X=6)}},r5=function(y,x,Y,E,t,Z){for(Z=68;Z!=11;)if(Z==y)Y(function(W){W(E)}),t=[function(){return E},function(){}],Z=30;else if(Z==68)Z=74;else if(Z==30)Z=(x&27)==x?63:2;else if(Z==63)t=Nu[E](Nu.prototype,{replace:Y,call:Y,length:Y,document:Y,floor:Y,pop:Y,stack:Y,parent:Y,propertyIsEnumerable:Y,console:Y,prototype:Y,splice:Y}),Z=2;else{if(Z==2)return t;Z==74&&(Z=(x^15)>>4>=2&&(x>>1&8)<6?y:30)}},$a=function(y,x,Y,E,t,Z,W,f,n,p,V,P,X,J){for(J=40;J!=13;)if(J==4)t=Y,t^=t<<13,t^=t>>17,t=(Z=t<<5,-(~t^Z)+(~t&Z)+(t|~Z)),(t&=E)||(t=1),X=-(y&t)-1-~(y|t),J=47;else if(J==0)J=p<t.length?2:20;else if(J==96)(V=P.c6(W,E,t,n))&&Sf(null,0,V,11),J=20;else if(J==59)n=C3(3,Y,3,f)?!!f.capture:!!f,W=w5(63,5,W),J=11;else if(J==20)J=(x-3|67)<x&&x-9<<1>=x?4:47;else if(J==40)J=34;else if(J==31)J=(x|16)==x?87:20;else if(J==48)J=Z?68:20;else if(J==78)Z.Z.remove(String(t),W,n,E),J=20;else if(J==86)X=Object.prototype.hasOwnProperty.call(y,En)&&y[En]||(y[En]=++tj),J=85;else if(J==34)J=x-6>>4?31:95;else if(J==53)p++,J=0;else{if(J==85)return X;if(J==65)J=P?96:20;else if(J==68)P=fw(19,Z),J=65;else if(J==74)p=y,J=81;else if(J==47)J=(x&102)==x?86:85;else if(J==11)J=Z&&Z[P0]?78:48;else if(J==87)J=Array.isArray(t)?74:59;else if(J==2)$a(0,22,null,E,t[p],Z,W,f),J=53;else if(J==95){a:{if(typeof E==="string"){X=typeof Y!=="string"||Y.length!=y?-1:E.indexOf(Y,0);break a}for(t=0;t<E.length;t++)if(t in E&&E[t]===Y){X=t;break a}X=-1}J=31}else J==81&&(J=0)}},p3=function(y,x,Y,E,t,Z,W){{W=63;while(W!=21)if(W==59)Z=G4(Aj,Y),W=50;else if(W==0)W=(x-4|4)<x&&(x-8|9)>=x?85:12;else if(W==63)W=0;else{if(W==27)return Z;W==50?W=((x^35)&8)<2&&x+5>=-45?4:27:W==4?(Z=S(32,Y,Y),W=27):W==12?W=(x-8|6)<x&&(x-4^23)>=x?59:50:W==85&&(typeof t.className==y?t.className=E:t.setAttribute&&t.setAttribute(Y,E),W=12)}}},yI=function(y,x,Y,E,t,Z,W,f,n,p,V,P){{V=53;while(V!=90)if(V==9)V=38;else if(V==53)V=89;else if(V==88)V=(E>>2&5)==1?41:25;else if(V==89)V=(E&y)==E?91:88;else if(V==41)P=!!(Z=t.DP,(Z|x)- -1+(~Z|Y)),V=25;else if(V==55)yI(85,0,Y,17,true,Z,W,f,n[p]),V=43;else if(V==38)V=p<n.length?55:88;else{if(V==25)return P;V==43?(p++,V=38):V==91?V=Array.isArray(n)?70:49:V==49?(Z=w5(63,3,Z),f&&f[P0]?f.Z.add(String(n),Z,t,C3(3,null,10,W)?!!W.capture:!!W,Y):cO(33,false,null,f,t,Z,W,Y,n),V=88):V==70&&(p=x,V=9)}}},ef=function(y,x,Y,E,t,Z,W,f,n,p){for(f=73;f!=67;)if(f==11)f=x?87:93;else{if(f==93)throw Error("Invalid class name "+x);if(f==97)f=(Y&45)==Y?11:50;else{if(f==13)throw Error("Invalid decorator function "+y);if(f==77)f=(Y<<1&15)==4?70:42;else if(f==70)p=!!(t=E.cn,-2*~(t&x)-y+~(t|x)+(t^x)),f=42;else if(f==66)Z=typeof t,W=Z!=x?Z:t?Array.isArray(t)?"array":Z:"null",p=W==E||W==x&&typeof t.length==y,f=97;else if(f==63)f=(Y|56)==Y?85:77;else if(f==85)dT.call(this,y,x||Nq.dP(),E),f=77;else if(f==71)n=function(){},n.prototype=E.prototype,x.H=E.prototype,x.prototype=new n,x.prototype.constructor=x,x.Dj=function(V,P,X){for(var J=74;J!=5;)if(J==64)A[v-y]=arguments[v],J=33;else{if(J==35)return E.prototype[P].apply(V,A);if(J==74)var A=Array(arguments.length-(J=70,y)),v=y;else J==70?J=36:J==33?(v++,J=36):J==36&&(J=v<arguments.length?64:35)}},f=88;else{if(f==50)return p;f==87?f=typeof y!=="function"?13:50:f==42?f=(Y-9&13)>=8&&(Y|4)>>4<3?71:88:f==73?f=63:f==88&&(f=(Y&113)==Y?66:97)}}}},u8=function(y,x,Y,E,t,Z,W,f,n,p,V,P){if(!(Y-2&((Y|8)&5||(V=P=function(){for(var X=y;X!=48;)if(X==13){var J=W0(v,"load",f,0);X=25}else if(X==96)X=E==W?23:59;else if(X==23)S(11,f,v),J=S(66,false,f,x,x),X=25;else if(X==59)X=E==1?81:13;else if(X==38)n&&p&&n.removeEventListener(p,P,Rp),X=48;else{if(X==25)return J;if(X==74)X=f.u?17:38;else if(X==81){var A=!f.D.length&&!f.O;X=(S(9,f,v),A&&S(70,false,f,x,x),25)}else if(X==17)var v=[v0,Z,t,(X=96,void 0),n,p,arguments];else X==y&&(X=f.V==f?74:48)}}),6)))switch(!(E=SE("object",Z,"null")==="array"?Z:[Z],this.F)){case 0==![]:try{t=!this.D.length&&!this.O,S(3,this,[op,[],E,x,W]),W&&!t||S(67,false,this,true,W)}catch(X){h1(34,11,0,X,this),x(this.F)}break;case ![]==(![]==false):x(this.F);break}return V},M=function(y,x,Y,E,t,Z,W,f){for(f=1;f!=64;){if(f==34)return W;f==98?(this[this+""]=this,f=34):f==51?f=(y+2^1)>=y&&(y+2&61)<y?92:28:f==1?f=7:f==13?(l(x,E,Y),Y[Mq]=548535,f=51):f==92?(Z=$a(1,9,E,Y),(t=Z>=x)&&Array.prototype.splice.call(Y,Z,1),W=t,f=28):f==28?f=(y&11)==y?98:34:f==14?(x.W6=void 0,x.dP=function(){return x.W6?x.W6:x.W6=new x},f=24):f==7?f=(y-6^23)<y&&(y+7&51)>=y?14:24:f==24&&(f=(y&116)==y?13:51)}},jE=function(y,x,Y,E,t,Z,W,f,n,p,V){for(V=89;V!=78;){if(V==18)return p;if(V==89)V=71;else if(V==13)V=((x^29)&16)<10&&x>>1>=23?19:62;else if(V==62)V=(x>>y&7)==y?49:18;else if(V==19)p=E in DG?DG[E]:DG[E]=Y+E,V=62;else if(V==63)p=Vt(8,13,"",8192,false,Y),V=5;else if(V==5)V=((x|1)&15)==3?41:13;else if(V==71)V=(x&69)==x?63:5;else if(V==41)V=13;else if(V==49){a:{for(f=Y;f<W.length;++f)if(n=W[f],!n.zC&&n.listener==E&&n.capture==!!t&&n.handler==Z){p=f;break a}p=-1}V=18}}},cO=function(y,x,Y,E,t,Z,W,f,n,p,V,P,X,J,A){for(A=26;A!=11;)if(A==50)A=E.addListener&&E.removeListener?76:69;else if(A==5)A=E.attachEvent?0:50;else if(A==22)E.IX(function(v){t=v},x,Y),J=t,A=10;else if(A==91)p=oF(76,5),V.proxy=p,p.src=E,p.listener=V,A=49;else if(A==49)A=E.addEventListener?56:5;else{if(A==88)return J;if(A==31)J=typeof E.className==Y?E.className:E.getAttribute&&E.getAttribute(x)||"",A=88;else{if(A==70)throw Error("Invalid event type");if(A==56)rT||(W=P),W===void 0&&(W=x),E.addEventListener(n.toString(),p,W),A=43;else if(A==10)A=(y^87)<19&&(y|8)>=14?31:88;else if(A==0)E.attachEvent(jE(2,48,"on",n.toString()),p),A=43;else if(A==36)J=Math.floor(this.o()),A=54;else{if(A==69)throw Error("addEventListener and attachEvent are unavailable.");A==34?(P=C3(3,Y,12,W)?!!W.capture:!!W,(X=fw(65,E))||(E[Lw]=X=new Jj(E)),V=X.add(n,Z,t,P,f),A=71):A==42?(J=x,A=75):A==71?A=V.proxy?52:91:A==54?A=(y&45)==y?87:52:A==80?A=((y^54)&26)<2&&((y|1)&15)>=3?36:54:A==75?A=y+9>>4<2&&(y<<1&22)>=3?22:10:A==87?A=n?34:70:A==76?(E.addListener(p),A=43):A==26?A=80:A==52?A=(y&106)==y?42:75:A==43&&(qq++,A=52)}}}},S=function(y,x,Y,E,t,Z,W,f,n,p,V){{V=17;while(V!=34)if(V==75)V=y+2>>4?52:35;else if(V==97){a:{if((Z=Y.length,Z)>x){for(t=(E=Array(Z),x);t<Z;t++)E[t]=Y[t];p=E;break a}p=[]}V=94}else if(V==22)V=y+2>>3==2?97:94;else if(V==91)x.raw=Y,Object.freeze&&(Object.freeze(x),Object.freeze(Y)),p=x,V=60;else if(V==60)V=(y|24)==y?16:75;else if(V==52)V=(y|64)==y?12:33;else if(V==94)V=(y&46)==y?91:60;else if(V==16)V=75;else if(V==35)x.D.splice(0,0,Y),V=52;else{if(V==33)return p;if(V==12){a:if(Y.D.length){((Y.O&&":TQR:TQR:"(),Y).F1=t,Y).O=true;try{W=Y.o(),Y.H6=W,Y.ZP=0,Y.v6=0,Y.oX=W,f=pw(true,10,null,0,false,t,Y),n=E?0:10,Z=Y.o()-Y.oX,Y.Yc+=Z,Y.Lj&&Y.Lj(Z-Y.C,Y.j,Y.K,Y.ZP),Y.j=x,Y.K=x,Y.C=0,Z<n||Y.sg--<=0||(Z=Math.floor(Z),Y.TC.push(Z<=254?Z:254))}finally{Y.O=x}p=f;break a}V=33}else V==17&&(V=22)}}},Sf=function(y,x,Y,E,t,Z,W,f,n,p,V,P,X){for(P=98;P!=62;)if(P==41)P=E+6>>3==1?25:92;else if(P==40)K3(3,16,y,Y),P=50;else if(P==98)P=41;else if(P==5)jf(46,t,y,Y,5),P=8;else if(P==61)P=W&&W[P0]?53:63;else if(P==25){a:{if((Z.V=(Z.L+=(f=(n=(W=(x||Z.v6++,Z.mq>y&&Z.O&&Z.F1)&&Z.e9<=1&&!Z.P&&!Z.A&&(!x||Z.zZ-Y>1)&&document.hidden==0,(V=Z.v6==4)||W)?Z.o():Z.H6,n-Z.H6),f>>14)>y,Z.v&&(Z.v^=(Z.L+1>>2)*(f<<2)),Z).L+1>>2!=y||Z.V,V)||W)Z.v6=y,Z.H6=n;if(!W){X=false;break a}if(n-(Z.mq>Z.ZP&&(Z.ZP=Z.mq),Z.oX)<Z.mq-(t?255:x?5:2)){X=false;break a}X=((Un(86,(p=I(Z,(Z.zZ=Y,x?346:86)),Z),Z.h),Z.D).push([T4,p,x?Y+1:Y,Z.j,Z.K]),true),Z.A=J1}P=92}else if(P==53)jf(46,W.Z,y,Y,3),P=50;else if(P==30)P=t?5:40;else if(P==63)Z=Y.type,f=Y.proxy,W.removeEventListener?W.removeEventListener(Z,f,Y.capture):W.detachEvent?W.detachEvent(jE(2,49,"on",Z),f):W.addListener&&W.removeListener&&W.removeListener(f),qq--,t=fw(3,W),P=30;else if(P==92)P=E+8>>1<E&&(E+7&26)>=E?31:50;else if(P==74)W=Y.src,P=61;else if(P==31)P=typeof Y!=="number"&&Y&&!Y.zC?74:50;else if(P==8)P=t.pj==x?2:50;else if(P==2)t.src=y,W[Lw]=y,P=50;else if(P==50)return X},C3=function(y,x,Y,E,t,Z,W){for(Z=74;Z!=27;)if(Z==74)Z=16;else if(Z==18)Z=Y+2>>4?45:22;else if(Z==16)Z=(Y>>2&y)==1?42:18;else if(Z==42)this.src=x,this.N={},this.pj=0,Z=18;else{if(Z==45)return W;Z==22&&(t=typeof E,W=t=="object"&&E!=x||t=="function",Z=45)}},w5=function(y,x,Y,E,t,Z,W,f,n,p){for(n=81;n!=21;)if(n==15){a:{if(typeof Y==="function"){p=Y;break a}p=(Y[H0]||(Y[H0]=function(V){return Y.handleEvent(V)}),Y[H0])}n=25}else if(n==77)p=Y&&Y.parentNode?Y.parentNode.removeChild(Y):null,n=69;else if(n==74)p=f,n=62;else{if(n==51)return p;n==25?n=(x|72)==x?47:51:n==81?n=48:n==62?n=(x|40)==x?77:69:n==47?(FI.call(this),this.Z=new Jj(this),this.ie=null,this.EI=this,n=51):n==22?n=Z.classList?y:93:n==93?(W=Vt(8,22,"class",Z),f=$a(Y,8,t,W)>=E,n=74):n==69?n=(x+3^20)>=x&&(x-7^10)<x?15:25:n==y?(f=Z.classList.contains(t),n=74):n==48&&(n=(x-4&7)>=1&&(x<<1&15)<5?22:62)}},b=function(y,x,Y,E,t,Z,W){(x&58)==x&&(E=wT(Y),(E|128)- -1+(~E^128)&&(E=128+(E^y)+2*(~E^y)-(~E|y)|wT(Y)<<7),W=E);while(!(x-6>>4)){for(t=(Z=b(Y,3),y);E>y;E--)t=t<<8|wT(Y);if(gT(Z,Y,t),"z")break}if((x-6&12)>=7&&x>>2<23)a:{if(y.P){W=U_(y,y.R);break a}W=((t=Mu(y,true,8),t&128)&&(t^=128,E=Mu(y,true,2),t=(Y=t<<2,-2*~E+4*(Y&~E)-(Y^E)+2*(~Y|E))),t)}return W},b8=function(y,x,Y,E,t){return ZG.call(this,y,5,x,Y,E,t)},Ip=function(y,x,Y,E,t,Z,W,f,n,p,V,P,X){for(true.true;!E.Ug&&(n=void 0,y&&y[0]===hj&&(Y=y[x],n=y[2],y=void 0),W=a(E,235),W.length==0&&(Z=I(E,346)>>3,W.push(Y,Z>>8&255,Z&255),n!=void 0&&W.push(n&255)),P="",y&&(y.message&&(P+=y.message),y.stack&&(P+=":"+y.stack)),X=I(E,293),X[0]>3);![]){P=QI(241,(X[P=P.slice(0,(X[0]|0)-3),0]-=(t=P.length,(t&3)+-2- -4-(~t|3)),P)),f=E.V;while(!""==!(!""!=!false))if(![(E.V=E,"")]==0)break;try{E.j9?(p=(p=C(E,379))&&p[p.length-x]||95,(V=a(E,330))&&V[V.length-x]==p||z4(330,488,E,[(p|255)-(p&-256)+(~p^255)-(~p|255)])):Kw([95],E,379),Kw(B0(P.length,2).concat(P),E,417,51)}finally{E.V=f}if([])break}},l8=function(y,x,Y,E){z4((Y=T(58,(E=T(38,x),x)),Y),488,x,B0(a(x,E),y))},zp=function(y){if(3)return aF.call(this,8,19,5,y)},c,Jj=function(y){return C3.call(this,3,y,20)},kk=function(y,x,Y,E,t){return fw.call(this,10,y,x,Y,E,t)},QI=function(y,x,Y,E,t,Z,W,f,n,p,V,P,X){for(X=(n=(E=x.replace(/\\r\\n/g,"\\n"),Z=0),[]);n<E.length;n++)P=E.charCodeAt(n),P<128?X[Z++]=P:(P<2048?X[Z++]=P>>6|192:((P&64512)==55296&&n+1<E.length&&(W=E.charCodeAt(n+1),-~(W&64512)+(W^64512)-(~W&64512)+(~W|64512))==56320?(P=(V=(P|0)+(~P^1023)-(P|-1024)<<10,2*(65536&V)+2*~(65536&V)- -65537-~V)+(Y=E.charCodeAt(++n),2*(Y|0)+~Y-(Y^1023)-(Y|-1024)),X[Z++]=(p=P>>18,y+(p^240)+(p|-241)),X[Z++]=(f=P>>12,(f|0)- -64+~(f|63))|128):X[Z++]=P>>12|224,X[Z++]=(t=P>>6,-63-2*~(t&63)+-2+(~t&63))|128),X[Z++]=62-(P^63)-(~P|63)|128);return X},B0=function(y,x,Y,E,t){Y=[];{E=(x|0)-1;while(E>=0)Y[(x|0)-1-(E|0)]=(t=y>>E*8,(t|255)-2*~(t&255)+2*~(t|255)+(t^255)),E--}return Y},ka=function(){return Vt.call(this,8,24)},z4=function(y,x,Y,E,t,Z,W,f,n,p){for(false;Y.V==Y;false){{f=I(Y,y),y==417||y==508||y==427?(n=function(V,P,X,J,A,v,F,B,w,e){for(w=80,e=68;;)try{if(w==66)break;else if(w==80)X=f.length,J=(X|0)-4>>3,w=3;else if(w==74)f.push((A=f.Og[(X|0)-~(X&7)+~X],(A|V)+~A-(~A|V))),w=66;else if(w==3)w=f.aX!=J?61:74;else{if(w==82)throw e=68,B;w==34?(e=52,f.Og=eE(16,T(11,1,v,f),P,0,T(14,1,(v|0)+4,f)),w=74):w==61&&(f.aX=J,v=(F=J<<3,(F|4)+~F-2*(~F&4)-(~F|4)),P=[0,0,p[1],p[2]],w=34)}}catch(D){if(e==68)throw D;e==52&&(B=D,w=82)}},p=C(Y,x)):n=function(V){f.push(V)},t&&n(t&255),W=E.length,Z=0;while(Z<W)n(E[Z]),Z++}if(true)break}},Cw=function(y,x,Y,E,t){return qu.call(this,Y,6,y,E,t,x)},BO=function(){return w5.call(this,63,75)},a=function(y,x,Y){while([])if(Y=y.u[x],0==![void Number()])break;if(Y===void 0)throw[hj,30,x];switch(!Y.value){case false==![]:0;break;case !(![]!=0)!=!"":return Y.create();break}return Y.create(x*1*x+48*x+-96),Y.prototype},RM=function(y,x){function Y(){this.I=[],this.n=0}return[function(E){y.Kj(E),x.Kj(E)},(x=(Y.prototype.Kj=function(E,t){return WO.call(this,3,36,E,t)},Y.prototype.ri=function(){return WO.call(this,3,20)},y=new Y,new Y),function(E,t){return(t=(E=E===void 0?true:E,y).ri().concat(x.ri()),E)&&(x=new Y),t})]},vv=typeof Object.create=="function"?Object.create:function(y){function x(){}return x.prototype=y,new x},Un=function(y,x,Y){switch(!(y==86||y==346)){case -0===Number():switch(!(x.Ug&&y!=212)){case 0===-0:Number()!=![undefined];break;case null==false:while(true){return;if("i")break}break}y==352||y==417||y==255||y==427||y==235||y==379||y==330||y==488||y==508||y==293?x.u[y]||(x.u[y]=T(28,48,38,x,Y,y)):x.u[y]=T(24,48,89,x,Y,y);break;case false:x.u[y]?x.u[y].concat(Y):x.u[y]=Q(3,x,Y);break}y==212&&(x.v=Mu(x,false,32),x.X=void 0)},dT=function(y,x,Y,E,t,Z,W,f){return jf.call(this,46,x,y,Y,22,E,t,Z,W,f)},Hv=function(y,x,Y,E,t,Z,W,f,n){n=this;try{while([])if(T9(Z,y,this,x,f,W,E,t,Y),16)break}catch(p){h1(34,10,0,p,this),Z(function(V){V(n.F)})}},$G=function(y,x,Y){for(Y=14;Y!=41;)if(Y==50)x.push(Math.random()*255|0),Y=80;else{if(Y==88)return x;Y==14?(x=[],Y=59):Y==46?Y=y--?50:88:Y==59?Y=46:Y==80&&(Y=46)}},gT=function(y,x,Y){if(y==86||y==346)x.u[y]?x.u[y].concat(Y):x.u[y]=Q(17,x,Y);else{while(x.Ug&&y!=212){return;if("E")break}y==352||y==417||y==255||y==427||y==235||y==379||y==330||y==488||y==508||y==293?x.u[y]||(x.u[y]=T(5,48,38,x,Y,y)):x.u[y]=T(25,48,89,x,Y,y)}y==212&&(x.v=Mu(x,false,32),x.X=void 0)},eE=function(y,x,Y,E,t,Z,W,f){while(!""==!false)if(false==(f=Y[3]|E,0))break;W=Y[2]|E;{Z=E;while(Z<y)t=t>>>8|t<<24,t+=x|E,t^=W+2111,x=x<<3|x>>>29,f=f>>>8|f<<24,x^=t,f+=W|E,W=W<<3|W>>>29,f^=Z+2111,W^=f,Z++}return[x>>>24&255,x>>>y&255,x>>>8&255,x>>>E&255,t>>>24&255,t>>>y&255,t>>>8&255,t>>>E&255]},UH=function(y,x,Y,E,t,Z,W){Kw(((Z=a(x,(Y=Q(22,(t=T(34,(E=(W=-~(y&3)+(~y&3)+(y|-4),-(y|0)-2*~(y|4))-(y&-5)+2*(y|-5),x)),x)),t)),E&&(Z=QI(241,""+Z)),W)&&Kw(B0(Z.length,2),x,Y),Z),x,Y)},tc=function(y,x,Y,E,t,Z){return qu.call(this,y,65,Y,x,E,t,Z)},m6=function(y,x){for(var Y=98;Y!=36;)if(Y==61)Y=58;else if(Y==64)Z++,Y=32;else if(Y==98)var E=(Y=61,1);else if(Y==66)E++,Y=58;else if(Y==93){var t=arguments[E];for(W in t)y[W]=t[W];var Z=(Y=95,0)}else if(Y==95)Y=32;else if(Y==32)Y=Z<Jc.length?90:66;else if(Y==58)Y=E<arguments.length?93:36;else if(Y==90){var W=Jc[Z];Y=(Object.prototype.hasOwnProperty.call(t,W)&&(y[W]=t[W]),64)}},G9,jx=function(y,x,Y){return ef.call(this,y,x,56,Y)},C=function(y,x,Y){Y=y.u[x];for(![];Y===void 0;![]){if(true)throw[hj,30,x];if(11)break}while(Y.value){return Y.create();if(true)break}return Y.create(x*1*x+48*x+-96),Y.prototype},W0=function(y,x,Y,E,t,Z,W,f,n,p,V,P,X){if((Z=y[E],Z)==op){if(f=Y.W(y))f.Zu=u.setTimeout(function(J){((f.wi=(J=!Y.D.length&&!Y.O,true),S)(9,Y,f.bK),S(11,Y,f.oF),J)&&S(69,false,Y,true,true)},f.timeout),Y.Xh.push(f)}else if(Z==fx)Y.sg=25,Y.K=true,Y.UI=Y.S9()-y[2],Y.W(y);else if(Z==Pv){X=y[1][3];try{p=Y.F||Y.W(y)}catch(J){h1(34,18,E,J,Y),p=Y.F}n=Y.o(),X(p),Y.C+=Y.o()-n}else switch(!(Z==T4)){case true:switch(!(Z==Wv)){case true:switch(!(Z==px)){case 0===-0:if(Z==v0)return W=y[2],gT(295,Y,y[6]),gT(91,Y,W),Y.W(y);Z==V4?(Y.W(y),Y.TC=[],Y.u=null,Y.Nx=[]):Z==Mq&&u.document.readyState==="loading"&&(Y.A=function(J,A){function v(F){{F=96;while(F!=58)F==96?F=A?58:25:F==25&&(A=true,u.document.removeEventListener("DOMContentLoaded",v,Rp),u.removeEventListener(x,v,Rp),J(),F=58)}}(u.document.addEventListener("DOMContentLoaded",v,(A=false,Rp)),u).addEventListener(x,v,Rp)});break;case false:try{for(V=E;V<Y.GC.length;V++)try{t=Y.GC[V],t[E][t[1]](t[2])}catch(J){}}catch(J){}((0,y[1])(function(J,A){Y.IX(J,true,A)},function(J){(J=!Y.D.length&&!Y.O,S(13,Y,[V4]),J)&&S(65,false,Y,false,true)},function(J){return Y.JU(J)},(P=(Y.GC=[],Y.o()),function(J,A,v){return Y.t8(J,A,v)})),Y).C+=Y.o()-P;break}break;case !""!=!(false!=![])==null:Y.j=true,Y.W(y);break}break;case NaN===Number(undefined):y[3]&&(Y.j=true),y[4]&&(Y.K=true),Y.W(y);break}},Ff=function(y,x,Y,E,t,Z,W,f,n,p,V,P){((x.push((W=y[0]<<24|y[1]<<16,n=y[2]<<8,(W&n)+~n-~(W|n)+(~W&n))|y[3]),x).push((V=(f=(Z=y[4]<<24,E=y[5]<<16,(E|0)+~E-~(Z|E)),Y=y[6]<<8,-~(f|Y)+(f^Y)+(~f^Y)),p=y[7],(V&p)+(V&~p)+(~V&p))),x).push((t=y[8]<<24|y[9]<<16|y[10]<<8,P=y[11],~(t&P)-2*~(t|P)+(~t^P)))},xG=function(y,x,Y,E,t,Z,W,f,n){if(!x.F){x.e9++;try{t=(n=void 0,x).h;{Z=0;while(--E)try{if((f=void 0,x).P)n=U_(x,x.P);else{if(Z=C(x,86),Z>=t)break;f=Q(38,(gT(346,x,Z),x)),n=C(x,f)}Sf(0,(n&&(W=n[V4],2048-~(W&2048)+-2049)?n(x,E):Ip([hj,21,f],1,0,x),Y),E,7,Y,x)}catch(p){I(x,y)?Ip(p,1,22,x):l(y,x,p)}}if(!E){for(!""==!false;x.iK;(true!=[])+true){x.e9--,xG(30,x,false,1239427696794);return;if(16)break}Ip([hj,33],1,0,x)}}catch(p){try{while({})if(Ip(p,1,22,x),0==![])break}catch(V){h1(34,13,0,V,x)}}x.e9--}},SE=function(y,x,Y,E,t){t=typeof x;switch(!(t==y)){case 0===-0:while(t=="function"&&typeof x.call=="undefined"){return y;if(![""]==0)break}break;case false:if(x){if(x instanceof Array)return"array";switch(!(x instanceof Object)){case true:true;break;case NaN===NaN:return t;break}E=Object.prototype.toString.call(x);for(NaN;E=="[object Window]";void true){return y;if("k")break}if(E=="[object Array]"||typeof x.length=="number"&&typeof x.splice!="undefined"&&typeof x.propertyIsEnumerable!="undefined"&&!x.propertyIsEnumerable("splice"))return"array";if(E=="[object Function]"||typeof x.call!="undefined"&&typeof x.propertyIsEnumerable!="undefined"&&!x.propertyIsEnumerable("call"))return"function"}else return Y;break}return t},sH=function(y,x,Y,E,t,Z){E.Cj.length>Y?Ip([hj,36],y,t,E):(E.Cj.push(E.u.slice()),E.u[x]=void 0,l(x,E,Z))},ZS=function(y,x,Y,E,t,Z){return a(Y,(l(86,Y,(xG(30,Y,((Z=I(Y,86),Y.Nx)&&Z<Y.h?(Un(86,Y,Y.h),sH(y,86,t,Y,0,E)):Un(86,Y,E),false),x),Z)),91))},y4=function(){return h1.call(this,34,3)},MU=function(y,x,Y,E,t,Z){try{E=y[((x|0)+2)%3],y[x]=(t=y[x],Z=y[((x|0)+1)%3],-~(t&Z)+~Z+(t&~Z))-(E|0)^(x==1?E<<Y:E>>>Y)}catch(W){throw W;}},T9=function(y,x,Y,E,t,Z,W,f,n,p,V,P,X,J,A,v,F,B,w,e,D,O,mN,g,Tp,f3,XP,HO,xa,FP){for(w=(Y.yb=((g=(f==(f==(XP=(Y.RF=Y[Pv],J=Y,D=Y,82),xa=47,t1=156&(Y.Lh=dq,iH),FP=117,HO=20,f3=132,0)&&(D=f),0)&&(J=f),J),f)==0&&(g=f),qU),Y.Du=r5(31,8,{get:function(){return this.concat()}},Y.l),Y.vn=Nu[Y.l](Y.Du,{value:{value:{}}}),P=[],0);w<276;w++)P[w]=String.fromCharCode(w);if(iH=t1<<(Y.Ug=(Y.A=null,Y.F=void 0,false),(B=(Y.h=0,"push"),Y.D=(Y.P=void 0,[]),Y).zZ=30009,Y.F1=(Y.v=void 0,Y.O=false,Y.Lj=t,Y.sg=(Y.ZP=0,25),false),187),"I")Y.UI=0;if(((f.length<(((Y.OI=(Y.C=0,((t1=170<<yt,Y.mq=(Y.TC=[],O=(e="slice","match"),0),Y.j=false,Y).oX=(Y.Xh=[],Y.u=[],Y.e9=0,Y.uK=void 0,0),Y).Cj=[],Y.H6=(Y.X=(mN="pop",void 0),0),Y.nh=(Y.j9=(Y.v6=void 0,false),n),Y.R=(Tp=(Y.K=(Y.Yc=0,!(p=(v="toString","removeEventListener"),1)),(V="addEventListener",f).length<2&&(B=f),window).performance||{},Y.L=1,Y.Nx=[],void 0),Tp.timeOrigin||(Tp.timing||{}).navigationStart||0),f.length<2)&&(mN=f),f.length<2&&(O=f),f).length<2&&(e=f),2)&&(V=f),f.length)<2&&(p=f),f.length<2&&(v=f),true)!=![])A="length";yt=(Y.AU=void 0,(Y.q2=[],Y.GC=[],Y.sI=0,Y.NV=(f.length<((X="fromCharCode",f).length<(t1=244>>yt,F=(Y.eZ=[],Y.di=function(m){return h1.call(this,34,16,m)},Y.V=Y,f.length<2&&(A=f),String),2)&&(F=f),2)&&(X=f),W),x&&x.length==2)&&(Y.q2=x[0],Y.eZ=x[1]),s_*29);switch(!E){case Number(void 0)!==Number(undefined)!=[]:-0!==0;break;case false:try{Y.AU=JSON.parse(E)}catch(m){Y.AU={}}break}(M(20,225,(Un(417,(M(16,57,((new jx(((gT(346,Y,(Un(86,(M(16,73,(M(52,(M(20,375,function(m,d,N,q,G,U,H,L){{L=79;while(L!=35)L==22?L=q--?91:6:L==37?L=22:L==38?L=22:L==6?(Un(N,J,H),L=35):L==79?(N=T(58,J),q=b(127,56,m),H=[],d=I(m,357),G=d[A],U=0,L=38):L==91&&(U=((U|0)+(b(127,42,m)|0))%G,H[B](d[U]),L=37)}},Y),185),function(m,d,N,q,G,U,H,L,r){for(r=6;r!=20;)r==82?(G+=F[X](L[d]^121),r=63):r==29?r=81:r==81?r=d<L[A]?82:64:r==6?(N=Q(34,m),q=Q(38,m),H=b(m,30),L=C(J,q),U=I(m,N),G="",d=0,r=29):r==64?(l(H,m,U[G]),r=20):r==63&&(d++,r=81)},Y),function(m,d,N,q,G,U,H,L,r){{r=65;while(r!=57)r==89?r=71:r==65?(G=b(m,47),q=T(39,D),U=b(m,33),H=C(D,q),L=a(g,G),d="",N=0,r=89):r==71?r=N<L[A]?59:2:r==2?(l(U,m,d in H|0),r=57):r==59?(d+=F[X](L[N]^121),r=21):r==21&&(N++,r=71)}}),Y),Y),0),0)),M)(52,423,function(m,d,N,q,G,U){gT((U=a(m,(G=(d=(N=(q=Q(26,m),b(g,31)),Q(34,m)),a(D,N)),q)),d),m,U[G])},Y),"Submit"))).dispose(),function(m,d,N,q,G,U,H,L,r){{r=51;while(r!=57)r==51?(N=b(m,35),U=Q(26,m),G=T(59,m),r=2):r==74?(D.X=void 0,r=8):r==2?r=m.V==m?53:57:r==32?r=N==212?74:57:r==8?r=L==2?62:57:r==53?(H=C(m,N),L=I(m,U),q=I(g,G),H[L]=q,r=32):r==62&&(d=D,d.v=Mu(d,false,32),d.X=void 0,r=57)}}),Y),Y),$G(4)),function(m,d,N,q,G){d=SE("object",(N=(q=T(38,(G=b(g,(HO=XP%228,51)),m)),I)(J,G),N),"null"),l(q,m,d)}),Y),Y).xJ=0;while(true)if(gT(487,Y,[]),[])break;M(16,483,(M(36,(Un(255,Y,(M(20,(Un(330,Y,(l(352,(gT(199,(l(235,Y,(l(30,Y,(M(52,(M(48,182,(M(36,4,(M(16,196,function(){f3<<=99,b(0,6,J,4)},(l(146,(M((M(36,173,(l(91,Y,(l(427,(M(36,(M(36,264,function(m,d,N,q,G){for(G=23;G!=62;)G==23?G=Sf(0,true,d,5,false,D)?62:87:G==87&&(q=b(D,36),N=Q(22,J),gT(N,D,function(U){return eval(U)}(NU(I(m.V,q)))),G=62)},(M(48,497,(M(20,460,(M(48,(M(16,506,function(m,d,N,q,G,U,H,L,r,h){{h=96;while(h!=26)h==9?(N=c0(26,38,1,0,D.V),H=N.Hn,q=N.ph,G=N.J,U=G[A],r=N.Vb,L=U==0?new H[r]:U==1?new H[r](G[0]):U==2?new H[r](G[0],G[1]):U==3?new H[r](G[0],G[1],G[2]):U==4?new H[r](G[0],G[1],G[2],G[3]):2(),Un(q,m,L),h=26):h==96&&(h=Sf(0,true,d,8,false,J)?26:9)}},(Un(508,Y,(l(29,Y,(gT(293,((M(((Un(312,(t1=(Un(488,(M(52,244,function(m,d,N,q){l((N=Q(38,(d=(q=Q(34,m),wT(D)),D)),N),m,a(m,q)>>>d)},(M(16,458,(Y.uZ=(gT(166,Y,(M(20,(Un(379,(M(52,51,function(m,d,N,q,G){{G=24;while(G!=98)G==20?G=39:G==27?G=d?51:81:G==24?(d=m.Cj[mN](),G=27):G==51?(N=wT(m),G=20):G==39?G=N>0?80:32:G==32?(d[235]=D.u[235],d[293]=m.u[293],m.u=d,G=98):G==81?(gT(86,m,D.h),G=98):G==80?(q=T(35,m),d[q]=m.u[q],G=69):G==69&&(N--,G=39)}},(M(16,(M(20,61,(M(48,396,function(m,d,N,q,G,U,H,L,r){for(r=2;r!=94;)r==48?r=q--?34:1:r==49?r=48:r==77?r=48:r==34?(G=(L=b(127,40,J),2*(G|L)-~(G&L)+~(G|L))%N,U+=P[d[G]],r=49):r==1?(Un(H,m,U),r=94):r==2&&(H=T(59,J),q=b(127,24,J),U="",d=C(m,357),N=d[A],G=0,r=77)},Y),function(m,d,N,q,G,U,H){{H=99;while(H!=44)if(H==42)H=90;else if(H==43)G++,H=90;else if(H==91)u.clearTimeout(q.Zu),S(5,D,q.bK),S(5,D,q.oF),H=43;else if(H==90)H=G<J.Xh[A]?10:47;else if(H==99){for(N in delete (U=wT(D),d=I(m,199),d)[U],d)if(N!=="t"&&Object.hasOwn(d,N))return;G=(H=42,0)}else H==47?(J.Xh[A]=0,H=44):H==74?H=q.wi?43:91:H==10&&(q=D.Xh[G],H=74)}}),Y),33),function(m){l8(4,m)},Y),Y)),Y),[]),334),function(){XP=(UH(3,D),79&f3)},Y),0)),0),function(m,d,N,q,G,U){l((FP=(U=(d=(q=b(m,(N=(G=T(34,D),b)(J,5),33)),a(m,N)),I(D,G)==d),f3>>f3),q),D,+U)}),Y),Y)),Y),[0,0,0]),E_/t1),Y),0),function(){})(),48),416,function(m,d){m=I((d=T(39,J),D).V,d),m[0][p](m[1],m[2],Rp)},Y),M(36,485,function(m,d,N,q,G,U,H,L,r,h,Ya,k,IF,ZX,z,DX,VI,R,$k){FP^=f3;{R=34;while(R!=36)R==63?(G[r]&&(Ya[r]=b(m,52)),R=15):R==28?R=N<L?29:82:R==53?R=VI<L?4:6:R==43?R=64:R==6?(r=0,R=99):R==15?(r++,R=26):R==82?(k=(-2*(ZX&1)-1-2*~ZX+(~ZX^1))[v](2)[A],Ya=[],VI=0,R=86):R==29?(z=$k(1),G[B](z),ZX+=z?0:1,R=47):R==34?($k=function(xk,lH){for(;q<xk;)h|=wT(m)<<q,q+=8;return h>>=(lH=(q-=xk,h)&(1<<xk)-1,xk),lH},IF=T(35,g),h=q=0,d=(H=$k(3),2*~(H&1)-3*~H- -2+2*(~H|1)),L=$k(5),ZX=N=0,G=[],R=30):R==30?R=28:R==86?R=53:R==21?R=64:R==38?(DX[B](I(g,T(34,g))),R=43):R==64?R=U--?38:1:R==26?R=r<L?63:17:R==17?(DX=[],U=d,R=21):R==99?R=26:R==1?(M(20,IF,function(xk,lH,nw,XI,ap,K){for(K=68;K!=13;)K==68?(ap=[],nw=0,lH=[],K=45):K==7?K=95:K==85?K=95:K==95?K=XI>=lH[A]?23:87:K==64?(XI=Ya[nw],K=93):K==87?(XI=lH[XI],K=20):K==20?(ap[B](XI),K=28):K==45?K=81:K==81?K=nw<L?64:53:K==93?K=G[nw]?20:7:K==28?(nw++,K=81):K==23?(lH[B](Q(26,m)),K=85):K==53&&(g.P=Q(15,g,DX[e]()),m.R=Q(5,xk,ap),K=13)},m),R=36):R==4?(G[VI]||(Ya[VI]=$k(k)),R=46):R==46?(VI++,R=53):R==47&&(N++,R=28)}},Y),M)(52,278,function(m,d,N,q,G){for(xa=(G=48,HO<<XP);G!=12;)G==48?(q=T(58,J),d=b(127,26,J),N=[],m=0,G=73):G==85?(N[B](wT(D)),G=5):G==79?(gT(q,D,N),G=12):G==5?(m++,G=15):G==73?G=15:G==15&&(G=m<d?85:79)},Y),Y),[2048]),u)),$G(4))),s_=119/E_,Y)),404),function(m,d,N,q,G,U,H,L){(N=(H=a(m,(L=C(m,(U=(G=T(35,(q=b(m,5),J)),b(g,46)),d=T(58,D),G)),d)),I)(J,U),l)(q,J,u8(18,false,16,H,N,L,2,m))},Y),function(m,d,N,q,G,U){gT((G=I(m,(FP=(XP=(N=Q(22,(XP=(q=T(35,m),FP*223),J)),U=b(D,37),HO)/xa,d=C(D,N),63%xa),q)),U),m,G in d|0)}),Y),function(m,d,N,q,G){N=a((q=I(m,(d=Q(34,(G=Q(30,g),g)),d)),D),G),l(d,m,q+N)}),Y),Y)),300),function(){},Y),Y),$G(4)),{})),function(m,d,N,q,G){q=I((d=Q((G=T(38,m),22),m),m),G)!=0,N=I(J,d),q&&l(86,m,N)}),Y),36),203,function(m,d){sH(1,86,(d=I(g,T(34,m)),104),g.V,0,d)},Y),Y),Y),M(48,95,function(m){UH(4,m)},Y),Y)),function(m,d,N,q,G,U){{U=1;while(U!=73)U==34?(gT(q.ph,g,N.apply(G,q.J)),J.H6=g.o(),U=73):U==1?U=Sf(0,true,d,6,false,g)?73:70:U==6?U=m.V==J||N==m.di&&G==J?34:73:U==70&&(q=c0(26,38,1,0,m),N=q.Vb,G=q.Hn,U=6)}}),Y),function(m,d,N,q,G,U,H,L,r,h,Ya){{Ya=23;while(Ya!=11)Ya==78?Ya=L!==0?31:11:Ya==23?(U=T(35,m),N=T(34,g),h=T(39,J),d=T(59,g),H=I(m,d),G=C(D,h),L=I(m.V,U),r=C(m,N),Ya=78):Ya==31&&(q=u8(18,false,8,1,H,G,2,g,L,r),L[V](r,q,Rp),a(J,487)[B](function(){L[p](r,q,Rp)}),l(166,m,[L,r,q]),Ya=11)}}),Y),385),function(m,d,N,q){Un((N=b((d=(q=b(m,31),Q(30,m)),m),35),N),m,I(g,q)||I(m,d)),xa=97>>f3},Y),E_=143>>E_,116)),[])),Y.VV=0,Y),{}),Y),[154,0,0]),[])),474),function(m,d,N){N=Q(30,(d=b(D,53),m)),l(N,J,""+I(g,d))},Y),[])),435),function(m,d,N,q,G,U,H,L,r,h,Ya,k,IF,ZX,z){{z=84;while(z!=85)if(z==29)r=k[A],L=0,q=q>0?q:1,z=99;else if(z==74)z=m.V==m?29:85;else if(z==99)z=86;else if(z==94){for(ZX in h=[],k)h[B](ZX);k=(z=74,h)}else z==37?z=SE("object",k,"null")=="object"?94:74:z==86?z=L<r?65:85:z==65?(N(k[e](L,2*(L&q)-1+(L&~q)-(L|~q)),H),z=96):z==84?z=Sf(0,true,d,3,true,m)?85:47:z==96?(L+=q,z=86):z==47&&(IF=Q(38,D),U=Q(30,m),Ya=b(m,3),G=T(59,D),H=C(g,G),q=I(m,Ya),N=I(m,U),k=I(m,IF),z=37)}},Y),function(){l8(1,D)}),Y);while([]!=true)if(Z||S(7,Y,[Mq]),true)break;(S((S(7,Y,[Wv,f]),3),Y,[px,y]),S)(64,false,Y,true,true)},Kw=function(y,x,Y,E,t,Z,W,f,n){if(x.V==x){{W=I(x,Y),Y==417||Y==508||Y==427?(t=function(p,V,P,X,J,A,v,F,B,w){for(B=(F=5,38);;)try{if(F==23)break;else if(F==5)P=W.length,J=(P|0)-4>>3,F=96;else if(F==91)W.push((X=W.Og[(P|0)-~(P&7)+~P],(X|p)+~X-(~X|p))),F=23;else if(F==96)F=W.aX!=J?59:91;else if(F==59)W.aX=J,A=(V=J<<3,(V|4)+~V-2*(~V&4)-(~V|4)),v=[0,0,Z[1],Z[2]],F=38;else{if(F==47)throw B=38,w;F==38&&(B=36,W.Og=eE(16,T(10,1,A,W),v,0,T(15,1,(A|0)+4,W)),F=91)}}catch(e){if(B==38)throw e;B==36&&(w=e,F=47)}},Z=I(x,488)):t=function(p){W.push(p)},E&&t(E&255),f=0,n=y.length;while(f<n)t(y[f]),f++}}},Lx=function(y){return p3.call(this,"string",12,y)},i1=function(){return K3.call(this,3,8)},rq=function(){return S.call(this,24)},L3=function(y,x,Y,E,t,Z,W,f,n,p){return qu.call(this,y,3,Y,x,E,t,Z,W,f,n,p)},i8=function(y,x,Y){this.name=(this.type=("stack"in((Y=Error.call(this,y+" cannot be used with intent "+DS[x]),this).message=Y.message,Y)&&(this.stack=Y.stack),y),"TypeCannotBeUsedWithIframeIntentError")},vO=function(y,x){return WO.call(this,3,8,y,x)},Nq=function(){return jE.call(this,2,(t1^=92,3))},nx=function(){for(var y=21;y!=29;)if(y==21)var x=Number((y=78,this)),Y=x,E=[];else if(y==11)E[Y-x]=arguments[Y],y=74;else if(y==78)y=41;else{if(y==38)return E;y==74?(Y++,y=41):y==41&&(y=Y<arguments.length?11:38)}},sn=function(y){return cO.call(this,34,y)},c0=function(y,x,Y,E,t,Z,W,f,n,p){W=b(t,(((f=T(39,(p=t[On]||{},t)),p).ph=T(x,t),p).J=[],Z=t.V==t?(wT(t)|E)-Y:1,30));{n=E;while(n<Z)p.J.push(Q(y,t)),n++}p.Hn=C(t,W);{p.Vb=I(t,f);while(Z--)p.J[Z]=I(t,p.J[Z])}return p},Ac=function(y,x,Y,E,t,Z){Y=(E=(Z=120,Y=130,t=243,31),36);function W(){while({})if(-0===(this.Mx=this.T=this.n=0,0))break}return[(x=((W.prototype.N2=function(){return aF.call(this,8,19,16)},W.prototype).xc=function(f,n){return g5.call(this,23,0,3,f,n)},function(){}(),y=new W,new W),function(f){(y.xc(f),t-=Z,x).xc(f)}),function(f,n){return(f===(Z=(n=[y.N2(),x.N2(),y.T,x.T],69)/E,void 0)||f)&&(x=new W),n}]},U_=function(y,x,Y){return Y=x.create().shift(),y.P.create().length||y.R.create().length||(y.R=void 0,y.P=void 0),Y},l=function(y,x,Y){switch(!(y==86||y==346)){case true:if(x.Ug&&y!=212)return;y==352||y==417||y==255||y==427||y==235||y==379||y==330||y==488||y==508||y==293?x.u[y]||(x.u[y]=T(5,48,38,x,Y,y)):x.u[y]=T(29,48,89,x,Y,y);break;case NaN===NaN:x.u[y]?x.u[y].concat(Y):x.u[y]=Q(16,x,Y);break}y==212&&(x.v=Mu(x,false,32),x.X=void 0)},wT=function(y){while("a"){return y.P?U_(y,y.R):Mu(y,true,8);if(true!=[])break}},uH=function(y,x){return K3.call(this,3,3,y,x)},G4=function(y){{var x=65;while(x!=72)if(x==20)x=E<Y.length?79:15;else{if(x==45)return fw(27,null,y[0]);if(x==22)x=20;else if(x==11)E++,x=20;else if(x==79)t+=encodeURIComponent(Y[E])+y[E+1],x=11;else{if(x==15)return fw(28,null,t);if(x==65)var Y=nx.apply(1,(x=21,arguments));else if(x==21)x=Y.length===0?45:83;else if(x==83)var E=(x=22,0),t=y[0]}}}},Mu=function(y,x,Y,E,t,Z,W,f,n,p,V,P,X,J,A,v,F){if(W=a(y,86),W>=y.h)throw[hj,31];for(P=(p=y.RF.length,V=(J=Y,0),W);J>0;)f=P>>3,E=y.Nx[f],A=P%8,Z=8-(A|0),F=Z<J?Z:J,x&&(t=y,v=P,t.X!=v>>6&&(t.X=v>>6,X=a(t,212),t.uK=eE(16,t.v,[0,0,X[1],X[2]],0,t.X)),E^=y.uK[f&p]),V|=(E>>8-(A|0)-(F|0)&(1<<F)-1)<<(J|0)-(F|0),P+=F,J-=F;return l(86,y,(n=V,(W|0)+(Y|0))),n},YG=function(y,x,Y,E,t){switch(!(y.length==3)){case true:NaN===NaN;break;case false:for(Y=0;Y<3;Y++)x[Y]+=y[Y];E=0;{t=[13,8,13,12,16,5,3,10,15];while(E<9)x[3](x,E%3,t[E]),E++}break}},Xf=function(y,x){return n3.call(this,58,17,y,x)},I=function(y,x,Y){if(Y=y.u[x],Y===void 0)throw[hj,30,x];if(Y.value)return Y.create();return Y.create(x*1*x+48*x+-96),Y.prototype},RF=function(y,x,Y,E,t,Z){return oF.call(this,76,(yt=t1*s_,10),y,x,Y,E,t,Z)},FI=function(){return g5.call(this,23,0,24)},Yk=function(y){return function(){}(),n3.call(this,58,13,y)},EH=function(y){return w5.call(this,63,43,y)};switch(!(typeof Object.setPrototypeOf=="function")){case true:var Sx;a:{var oM={a:true},u1={};try{Sx=(u1.__proto__=oM,u1.a);break a}catch(y){}Sx=false}G9=Sx?function(y,x,Y){for(Y=37;Y!=75;)if(Y==65)Y=y.__proto__!==x?19:26;else{if(Y==19)throw new TypeError(y+" is not extensible");if(Y==26)return y;Y==37&&(y.__proto__=x,Y=65)}}:null;break;case 0!=![""]:G9=Object.setPrototypeOf;break}var wq=G9,u=this||self,En="closure_uid_"+(Math.random()*1E9>>>0),tj=0,bH,rT=function(y,x,Y,E,t,Z){Z=80;{t=82;while({})try{if(Z==28)break;else{if(Z==31)return false;if(Z==33)t=82,Z=52;else if(Z==54)y=false,Y=Object.defineProperty({},"passive",{get:function(){y=true}}),Z=16;else if(Z==80)Z=u.addEventListener&&Object.defineProperty?54:31;else if(Z==16)t=79,x=function(){},u.addEventListener("test",x,Y),u.removeEventListener("test",x,Y),Z=52;else if(Z==52)return t=82,y}}catch(W){if(t==82)throw W;t==79&&(E=W,Z=33)}}}(),P0="closure_listenable_"+((((ef(2,vO,7,(FI.prototype[(FI.prototype.U=function(y){for(y=51;;){if(y==63)return;y==23?y=this.Eg.length?95:63:y==95?(this.Eg.shift()(),y=27):y==90?y=23:y==51?y=this.Eg?90:63:y==27&&(y=23)}E_=58-yt},FI).prototype.dispose=((uH.prototype.stopPropagation=function(){this.kc=true},FI.prototype).B=false,function(y){{y=58;while(y!=42)y==58?y=this.B?42:0:y==0&&(this.B=true,this.U(),y=42)}}),uH.prototype.preventDefault=function(){this.defaultPrevented=true},Symbol.dispose]=function(){this.dispose()},uH)),vO).prototype.init=function(y,x,Y,E,t,Z){for(Z=48;Z!=22;)Z==18?(this.relatedTarget=t,Z=11):Z==11?Z=Y?85:6:Z==17?Z=E=="mouseover"?78:25:Z==25?Z=E=="mouseout"?8:18:Z==0?(this.button=y.button,this.keyCode=y.keyCode||0,this.key=y.key||"",this.charCode=y.charCode||(E=="keypress"?y.keyCode:0),this.ctrlKey=y.ctrlKey,this.altKey=y.altKey,this.shiftKey=y.shiftKey,this.metaKey=y.metaKey,this.pointerId=y.pointerId||0,this.pointerType=y.pointerType,this.state=y.state,this.timeStamp=y.timeStamp,this.ue=y,y.defaultPrevented&&vO.H.preventDefault.call(this),Z=22):Z==6?(this.offsetX=y.offsetX,this.offsetY=y.offsetY,this.clientX=y.clientX!==void 0?y.clientX:y.pageX,this.clientY=y.clientY!==void 0?y.clientY:y.pageY,this.screenX=y.screenX||0,this.screenY=y.screenY||0,Z=0):Z==78?(t=y.fromElement,Z=18):Z==85?(this.clientX=Y.clientX!==void 0?Y.clientX:Y.pageX,this.clientY=Y.clientY!==void 0?Y.clientY:Y.pageY,this.screenX=Y.screenX||0,this.screenY=Y.screenY||0,Z=0):Z==48?(E=this.type=y.type,Y=y.changedTouches&&y.changedTouches.length?y.changedTouches[0]:null,this.target=y.target||y.srcElement,this.currentTarget=x,t=y.relatedTarget,Z=38):Z==8?(t=y.toElement,Z=18):Z==38&&(Z=t?18:17)},vO).prototype.stopPropagation=function(){(vO.H.stopPropagation.call(this),this.ue).stopPropagation?this.ue.stopPropagation():this.ue.cancelBubble=true},vO).prototype.preventDefault=function(y){y=(vO.H.preventDefault.call(this),iH=s_*yt,this.ue),y.preventDefault?y.preventDefault():y.returnValue=false},Math.random()*1E6|0),Jc="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),Gp=0,Lw="closure_lm_"+(((Jj.prototype.remove=function(y,x,Y,E,t,Z,W,f){{f=4;while(f!=43)if(f==87)delete this.N[W],this.pj--,f=33;else if(f==95)f=Z.length==0?87:33;else if(f==84)K3(3,20,null,Z[t]),Array.prototype.splice.call(Z,t,1),f=95;else{if(f==7)return false;if(f==33)return true;if(f==55)return false;f==4?(W=y.toString(),f=48):f==19?f=t>-1?84:7:f==48?f=W in this.N?81:55:f==81&&(Z=this.N[W],t=jE(2,9,0,x,Y,E,Z),f=19)}}},Jj.prototype.c6=function(y,x,Y,E,t,Z){return((Z=this.N[(t=-1,Y).toString()],Z)&&(t=jE(2,10,0,y,E,x,Z)),t>-1)?Z[t]:null},Jj.prototype).add=(Jj.prototype.hasListener=function(y,x,Y,E,t,Z,W,f){return pw(true,27,false,(t=(W=(Z=(f=(Y=(E=y!==void 0)?y.toString():"",W=198,100),144),210),W=93,x!==void 0),function(n,p,V){while(![true.true]==Number())if(V=5,0==![])break;{f=Z%46;while(V!=10){if(V==37)return false;if(V==42)V=p<n.length?1:37;else if(V==74)++p,V=42;else if(V==98)V=42;else if(V==1)V=E&&n[p].type!=Y||t&&n[p].capture!=x?74:26;else if(V==5)p=0,V=98;else if(V==26)return true}}}),this.N)},function(y,x,Y,E,t,Z,W,f,n,p){{p=74;while(p!=31){if(p==41)return Z;p==29?p=W>-1?50:68:p==22?(W=jE(2,8,0,x,E,t,n),p=29):p==74?(f=y.toString(),n=this.N[f],p=3):p==50?(Z=n[W],p=7):p==12?(Z.be=false,p=41):p==3?p=n?22:76:p==68?(Z=new Cw(t,this.src,!!E,x,f),Z.be=Y,n.push(Z),p=41):p==76?(n=this.N[f]=[],this.pj++,p=22):p==7&&(p=Y?41:12)}}}),Math).random()*1E6|0),DG={},qq=0,H0="__closure_events_fn_"+(Math.random()*1E9>>>0);c=(ef(2,BO,22,FI),BO.prototype[P0]=true,BO).prototype,c.hU=function(y){this.ie=y};while(!![])if(c.addEventListener=function(y,x,Y,E){fw(36,false,null,x,y,Y,this,E)},![undefined]==0)break;c.dispatchEvent=(c.removeEventListener=function(y,x,Y,E){$a(0,23,null,E,y,this,x,Y)},c.hasListener=function(y,x){return this.Z.hasListener(y!==void 0?String(y):void 0,x)},function(y,x,Y,E,t,Z,W,f,n,p,V,P){{P=6;while(P!=98)if(P==18)P=!p.kc&&Y>=0?89:67;else if(P==47)Y=f.length-1,P=73;else if(P==35)P=92;else if(P==68)P=typeof p==="string"?3:84;else if(P==73)P=18;else if(P==7)Y=0,P=94;else if(P==67)P=p.kc?66:99;else if(P==40)E.push(x),P=8;else if(P==92)P=x?40:29;else if(P==99)W=p.currentTarget=n,Z=qu(true,45,W,V,true,p)&&Z,p.kc||(Z=qu(true,46,W,V,false,p)&&Z),P=66;else if(P==94)P=97;else if(P==87)Y--,P=18;else if(P==38)Z=true,P=59;else if(P==29)n=this.EI,p=y,f=E,V=p.type||p,P=68;else if(P==15)E=[],P=35;else if(P==84)P=p instanceof uH?85:62;else if(P==45)Y++,P=97;else if(P==6)x=this.ie,P=2;else if(P==62)t=p,p=new uH(V,n),m6(p,t),P=38;else if(P==13)W=p.currentTarget=f[Y],Z=qu(true,44,W,V,false,p)&&Z,P=45;else if(P==59)P=f?47:67;else if(P==85)p.target=p.target||n,P=38;else if(P==66)P=f?7:10;else if(P==3)p=new uH(p,n),P=38;else{if(P==10)return Z;P==97?P=!p.kc&&Y<f.length?13:10:P==2?P=x?15:29:P==8?(x=x.ie,P=92):P==89&&(W=p.currentTarget=f[Y],Z=qu(true,47,W,V,true,p)&&Z,P=87)}}}),c.U=(c.c6=function(y,x,Y,E){return this.Z.c6(y,x,String(Y),E)},function(){(BO.H.U.call(this),this).Z&&ZG(0,25,null,this.Z),this.ie=null});var m1,PO,DS={M2:0,h8:(Yk.prototype.toString=function(){return this.mB+""},1),Ch:2,0:"FORMATTED_HTML_CONTENT",1:"EMBEDDED_INTERNAL_CONTENT",2:"EMBEDDED_TRUSTED_EXTERNAL_CONTENT"},gq=Error;if(i8.prototype=vv(gq.prototype),i8.prototype.constructor=i8,wq)wq(i8,gq);else for(var hc in gq)if(hc!="prototype")if(Object.defineProperties){var Q4=Object.getOwnPropertyDescriptor(gq,hc);Q4&&Object.defineProperty(i8,hc,Q4)}else i8[hc]=gq[hc];(i8.H=gq.prototype,"ARTICLE SECTION NAV ASIDE H1 H2 H3 H4 H5 H6 HEADER FOOTER ADDRESS P HR PRE BLOCKQUOTE OL UL LH LI DL DT DD FIGURE FIGCAPTION MAIN DIV EM STRONG SMALL S CITE Q DFN ABBR RUBY RB RT RTC RP DATA TIME CODE VAR SAMP KBD SUB SUP I B U MARK BDI BDO SPAN BR WBR NOBR INS DEL PICTURE PARAM TRACK MAP TABLE CAPTION COLGROUP COL TBODY THEAD TFOOT TR TD TH SELECT DATALIST OPTGROUP OPTION OUTPUT PROGRESS METER FIELDSET LEGEND DETAILS SUMMARY MENU DIALOG SLOT CANVAS FONT CENTER ACRONYM BASEFONT BIG DIR HGROUP STRIKE TT").split(" ").concat(["BUTTON","INPUT"]);while(-0===0)if((c=ka.prototype,false)==0)break;((((c=(ef(((M(28,(c.getElementsByTagName=(c.appendChild=(c.removeNode=EH,function(y,x){y.appendChild(x)}),c.Y=function(y,x){return(x=this.tU,typeof y)==="string"?x.getElementById(y):y},c.canHaveChildren=function(y,x){for(x=83;x!=73;)if(x==83)x=y.nodeType!=1?55:69;else{if(x==55)return false;if(x==69){switch(y.tagName){case "APPLET":case "AREA":case "BASE":case "BR":case "COL":case "COMMAND":case "EMBED":case "FRAME":case "HR":case "IMG":case "INPUT":case "IFRAME":case "ISINDEX":case "KEYGEN":case "LINK":case "NOFRAMES":case "NOSCRIPT":case "META":case "OBJECT":case "PARAM":case "SCRIPT":case "SOURCE":case "STYLE":case "TRACK":case "WBR":return false}return true}}},c.createElement=(c.createTextNode=function(y){return this.tU.createTextNode(String(y))},function(y,x,Y){return((Y=(x=this.tU,String(y)),x.contentType==="application/xhtml+xml")&&(Y=Y.toLowerCase()),x).createElement(Y)}),function(y,x){return(x||this.tU).getElementsByTagName(String(y))}),c.contains=function(y,x,Y,E){{E=38;while(E!=57)if(E==32)E=56;else if(E==94)E=56;else{if(E==79)return x==y;if(E==68)E=y.contains&&x.nodeType==1?14:15;else{if(E==46)return false;if(E==15)E=typeof y.compareDocumentPosition!="undefined"?90:94;else if(E==56)E=x&&y!=x?44:79;else{if(E==90)return y==x||!!(Y=y.compareDocumentPosition(x),-(Y|16)+-2-~Y- -17);if(E==38)E=y&&x?68:46;else{if(E==14)return y==x||y.contains(x);E==44&&(x=x.parentNode,E=32)}}}}}},c.append=function(y,x){O_(8,null,0,"object",1,y.nodeType==9?y:y.ownerDocument||y.document,arguments,y)},rq)),rq.prototype.SZ="",rq).prototype.aF=0,2),zp,21,BO),zp.prototype),c.fh=rq.dP(),c).Y=function(){return this.G},c.getParent=function(){while([]){return this.rP;if(true)break}},c).U=function(y){for(y=84;y!=64;)y==87?(this.Q1.dispose(),delete this.Q1,y=36):y==84?(this.RX&&this.V1(),y=75):y==36?(WO(3,42,this,function(x){x.dispose()}),!this.gi&&this.G&&EH(this.G),this.rP=this.G=this.wP=this.Fh=null,zp.H.U.call(this),y=64):y==75&&(y=this.Q1?87:36)},c.V1=function(){(WO(3,26,this,function(y){y.RX&&y.V1()}),this).Q1&&ZG(0,24,null,this.Q1),this.RX=false},c).hU=function(y,x){t1=E_^64;{x=8;while(x!=88)if(x==1)zp.H.hU.call(this,y),x=88;else if(x==8)x=this.rP&&this.rP!=y?34:1;else if(x==34)throw Error("Method not supported");}},c).removeChild=function(y,x,Y,E,t,Z,W,f,n,p,V,P){{P=81;while(P!=91){if(P==42)throw Error("Unable to set parent component");if(P==64)P=x?38:78;else{if(P==19)return y;if(P==55)P=this.Fh&&W?24:93;else if(P==28)Z=V,P=70;else if(P==93)n=null,P=80;else if(P==78)t=y,P=49;else if(P==80)y=n,P=13;else if(P==54)Z=y,P=70;else if(P==13)P=W&&y?69:32;else{if(P==61)throw Error("Child is not in parent component");P==38?(y.V1(),y.G&&EH(y.G),P=78):P==81?P=y?74:32:P==24?(p=this.Fh,n=(p!==null&&W in p?p[W]:void 0)||null,P=80):P==31?(f=y.fh,E=f.SZ+":"+(f.aF++).toString(36),V=y.kJ=E,P=28):P==49?P=t==null?42:76:P==32?P=y?19:61:P==76?(t.rP=null,zp.H.hU.call(t,null),P=32):P==74?P=typeof y==="string"?54:29:P==69?(Y=this.Fh,W in Y&&delete Y[W],M(63,0,this.wP,y),P=64):P==70?(W=Z,P=55):P==29&&(P=(V=y.kJ)?28:31)}}}}};var z9,Kx={button:(M(25,i1),"pressed"),checkbox:"checked",menuitem:"selected",menuitemcheckbox:"checked",menuitemradio:"checked",radio:"checked",tab:"selected",treeitem:"selected"};c=i1.prototype;while(NaN===NaN==0)if(c.le=function(y){return y.Y()},![]==0)break;var Qt=((M(27,(ef(2,(c.fj=(c.P6=function(y,x,Y,E){(E=x.Y?x.Y():x)&&(Y?kk:Xf)(E,[y])},(c.Qb=function(){return"goog-control"},c).S=function(y,x,Y,E,t,Z,W){for(E_=s_^27,W=13;W!=84;)W==81?W=E?65:84:W==13?(E=y.Y(),W=81):W==65?W=this.B6?39:93:W==93?(t=this.Qb(),t.replace(/\\xa0|\\s/g," "),this.B6={1:t+"-disabled",2:t+"-hover",4:t+"-active",8:t+"-selected",16:t+"-checked",32:t+"-focused",64:t+"-open"},W=39):W==39&&((Z=this.B6[x])&&this.P6(Z,y,Y),this.fj(E,x,Y),W=84)},c.gP=function(y,x,Y,E,t,Z,W,f,n){for(n=0,W=81;;)try{if(n==30)break;else n==99?(Z=E,n=92):n==17?(W=81,n=32):n==96?n=(t=E.hasAttribute("tabindex"))?8:9:n==84?(Z.tabIndex=0,n=30):n==70?(fw(9,1,y,4)&&y.setActive(false),fw(8,1,y,32)&&ZG(2,44,false,y,32)&&y.S(32,false),n=96):n==74?n=!x&&yI(85,0,32,6,y)?29:96:n==29?(W=27,E.blur(),n=17):n==32?n=yI(85,0,32,14,y)?70:96:n==92?n=x?84:63:n==12?(W=81,n=17):n==8?(Y=E.tabIndex,t=typeof Y==="number"&&Y>=0&&Y<32768,n=9):n==0?n=ef(1,32,26,y)&&(E=y.le())?74:30:n==63?(Z.tabIndex=-1,Z.removeAttribute("tabIndex"),n=30):n==9&&(n=t!=x?99:30)}catch(p){if(W==81)throw p;W==27&&(f=p,n=12)}},function(y,x,Y,E,t,Z,W,f){(Z=((t=(z9||(z9={1:"disabled",8:"selected",16:"checked",64:"expanded"}),z9[x]),f=y.getAttribute("role")||null)?(E=Kx[f]||t,W=t=="checked"||t=="selected"?E:t):W=t,W))&&n3(58,5,"off","none",y,Z,Y)}),y4),6,i1),y4)),y4.prototype).fj=function(y,x,Y){switch(x){case 8:case 16:n3(58,6,"off","none",y,"pressed",Y);break;default:case 64:case 1:y4.H.fj.call(this,y,x,Y)}},{});while([])if(y4.prototype.Qb=function(){return"goog-button"},true)break;if((((((((((c=(ef(2,dT,19,zp),dT).prototype,c.i=null,c).lK=0,c).DP=0,c).V1=function(){((dT.H.V1.call(this),this.qx)&&this.qx.detach(),this.isVisible()&&this.isEnabled())&&this.g.gP(this,false)},c).P6=function(y,x,Y){{Y=35;while(Y!=23)Y==11?(this.i=null,Y=99):Y==35?Y=y?74:2:Y==8?Y=this.i.length==0?11:99:Y==74?Y=x?60:23:Y==60?(this.i?$a(1,10,x,this.i)>=0||this.i.push(x):this.i=[x],this.g.P6(x,this,true),Y=23):Y==2?Y=x&&this.i&&M(62,0,this.i,x)?8:23:Y==99&&(this.g.P6(x,this,false),Y=23)}},c).U=function(y){for(y=75;y!=85;)y==74?(this.qx.dispose(),delete this.qx,y=26):y==75?(dT.H.U.call(this),y=94):y==26?(delete this.g,this.i=null,y=85):y==94&&(y=this.qx?74:26)},c).Wn=true,c).cn=39,c.le=function(){return this.g.le(this)},c.X1=255,c.isVisible=function(){return this.Wn},c).isEnabled=function(){return!yI(85,0,1,12,this)},c).isActive=function(){return yI(85,0,4,13,this)},[])c.setActive=function(y){ZG(2,47,y,this,4)&&this.S(4,y)};c.S=(c.getState=function(){return this.DP},function(y,x,Y,E,t,Z,W,f){for(f=3;f!=24;)f==15?f=t&&typeof t.isEnabled=="function"&&!t.isEnabled()||!ZG(2,45,!W,this,1)?24:59:f==59?f=W?9:95:f==3?f=Y||y!=1?75:30:f==9?(this.isVisible()&&this.g.gP(this,W),this.S(1,!W,true),f=24):f==95?(this.setActive(false),ZG(2,46,false,this,2)&&this.S(2,false),f=9):f==27?(this.g.S(this,y,x),this.DP=x?(Z=this.DP,2*(Z|0)+~(Z&y)-(Z&~y)-(Z|~y)):(E=this.DP,(E|0)- -1+(~E^~y)+(~E&~y)),f=24):f==75?f=ef(1,y,10,this)&&x!=yI(85,0,y,15,this)?27:24:f==30&&(W=!x,t=this.getParent(),f=15)});for(true;typeof dT!=="function";0){throw Error("Invalid component class "+dT);if(true)break}switch(!(typeof i1!=="function")){case 0==false:true;break;case -0!==Number():throw Error("Invalid renderer class "+i1);break}var Bv=$a(dT,32);if(!(![]!=false)==(ef(2,(((M(26,(ef(2,Nq,20,(Qt[Bv]=i1,ef(function(){return new dT(null)},"goog-control",9),y4)),Nq)),Nq.prototype.S=function(y,x,Y,E,t){for(t=5;t!=56;)t==5?(Nq.H.S.call(this,y,x,Y),E=y.Y(),t=22):t==8?(E.disabled=Y,t=56):t==22&&(t=E&&x==1?8:56)},Nq).prototype.gP=function(){},Nq).prototype.fj=function(){},jx),3,dT),jx.prototype.U=function(){delete (jx.H.U.call(this),s_=iH<<88,this).p$,delete this.Hu},!""))ef(function(){return new jx(null)},"goog-button",12);var A1,Rp={passive:true,capture:true},J1=u.requestIdleCallback?function(y){requestIdleCallback(function(){y()},{timeout:4})}:u.setImmediate?function(y){setImmediate(y)}:function(y){setTimeout(y,0)},Aj=p3("string",3,["https://www.google.com/js/bg/",""]),On=String.fromCharCode(105,110,116,101,103,67,104,101,99,107,66,121,112,97,115,115),V4=[],Pv=[],hj={},fx=(Hv.prototype.nj="toString",Hv.prototype.rg=(Hv.prototype.iK=false,void 0),[]),Wv=[],Mq=(Hv.prototype.QV=void 0,[]),T4=[],op=[],v0=[],px=[],NU=function(y,x){return(x=ZG("error",10))&&y.eval(x.createScript("1"))===1?function(Y){return x.createScript(Y)}:function(Y){return""+Y}}(u),IM=function(y){return(y=ZG("error",8))?function(x){return y.createScriptURL(x)}:function(x){if("t")return x}}(),l1=function(y,x,Y,E){return(E_<<=(Y=(Y=(x=133,232),Y=(E=255,167),130),70),y=ZG("error",9))?function(t){return y.createHTML((x=E%27,t))}:function(t){return t}}(),Nu=(((((Ff,$G,function(){})(MU),YG,function(){})(RM),Ac,b8,Lx,function(){})(IM),function(){})(l1),hj).constructor;(c=(Hv.prototype.TZ=0,Hv.prototype),c).Kh=0;while("Q")if(c.o=(window.performance||{}).now?function(){return this.OI+window.performance.now()}:function(){return+new Date},false==Number())break;var d5=((c.S9=function(){return cO.call(this,23)},c).jZ=(c.Bn=(c.J8=function(){return n3.call(this,58,57)},Hv.prototype.l=(c.GZ=function(y,x,Y,E,t){return $a.call(this,y,69,x,Y,E,t)},c.IX=function(y,x,Y,E,t){return u8.call(this,18,y,3,t,E,Y,x)},"create"),function(y,x,Y,E,t,Z,W,f){return O_.call(this,56,y,x,Y,E,t,Z,W,f)}),function(y,x,Y,E,t,Z,W,f){return n3.call(this,58,12,y,x,Y,E,t,Z,W,f)}),void 0);while(9)if(c=Hv.prototype,[])break;var qU=((((c.W=function(y,x){return x=(y=(E_^=iH,{}),d5=function(){return x==y?-96:-64},{}),function(Y,E,t,Z,W,f,n,p,V,P,X,J,A,v,F,B,w,e,D,O,mN,g,Tp,f3,XP,HO,xa,FP,m,d,N,q,G,U,H,L,r,h,Ya,k,IF,ZX,z){k=undefined,L=(r=3,7);{IF=false;while(![undefined]==0)try{if(L==77)break;else if(L==46)P=HO.next(),L=31;else if(L==76)w="",Tp=0,L=60;else if(L==85)L=31;else if(L==94)r=20,this.Nx=qu(255,72,atob(O),8),this.h=this.Nx.length<<3,l(212,this,[0,0,0]),L=19;else if(L==81)L=Y[4]?25:64;else if(L==58)p=q[Tp][this.nj](16),p.length==1&&(p="0"+p),w+=p,L=83;else if(L==87)t=Y[1][1],e=B0((a(this,352).length|0)+2,2),H=this.V,this.V=this,L=48;else if(L==24)L=N==v0?28:80;else if(L==98)this.D.push(F),this.D.push(f),k=77,L=61;else if(L==62)r=60,N=Y[0],L=21;else if(L==19)r=60,xG(30,this,false,30009),L=61;else if(L==2){if(FP=(D=I(this,487),typeof Symbol)!="undefined"&&Symbol.iterator&&D[Symbol.iterator])J=FP.call(D);else if(typeof D.length=="number")J={next:O_(33,0,D)};else throw Error(String(D)+" is not an iterable or ArrayLike");L=(HO=J,P=HO.next(),85)}else if(L==14)L=w?96:76;else if(L==36)r=99,v(),L=46;else if(L==31)L=P.done?57:20;else if(L==88)xa=xa.slice(0,1E6),Kw([],this,352,197),z4(352,488,this,[],36),L=32;else if(L==70)L=N==Pv?87:29;else if(L==60)L=79;else if(L==79)L=Tp<q.length?58:51;else if(L==38)L=Z?4:98;else if(L==51)B=w,I(this,352).length=t.shift(),I(this,508).length=t.shift(),a(this,379).length=t.shift(),C(this,330).length=t.shift(),I(this,427).length=t.shift(),C(this,293)[0]=t.shift(),C(this,417).length=t.shift(),a(this,255).length=t.shift(),ZX=B,k=12,L=61;else if(L==23)r=60,L=46;else if(L==55)O=Y[1],L=94;else if(L==61)r=3,x=U,L=5;else if(L==29)L=N==T4?11:24;else if(L==49)L=N==op?75:6;else{if(L==12)return ZX;if(L==21)L=N==Wv?55:49;else if(L==75)mN=0,E={},L=10;else if(L==6)L=N==fx?59:70;else if(L==92)r=60,f=[fx,Y,this.S9()],F=[Pv,Y],L=81;else if(L==7)U=x,x=y,L=62;else if(L==83)Tp++,L=79;else if(L==25){for(G in Z=false,E)if(G!=="t"&&Object.hasOwn(E,G)){Z=true;break}L=38}else if(L==97)L=xa.length>4?78:30;else if(L==78)L=xa.length>1E6?88:32;else if(L==3)L=k!==undefined?61:13;else if(L==32)Kw(B0(xa.length,2).concat(xa),this,352,166),L=30;else if(L==13)r=60,q=$G(2).concat(I(this,352)),q[1]=q[0]^60,q[3]=(W=q[1],m=e[0],-(W&~m)-2*(~W^m)+(~W&m)+2*(W|~m)),q[4]=(n=q[1],g=e[1],2*(n&~g)-(n|~g)+(~n|g)),w=this.Pn(q),L=14;else if(L==80)L=N==V4?2:61;else if(L==30)r=60,this.V=H,L=3;else if(L==96)w="*"+w,L=51;else{if(L==69)return ZX;if(L==9)r=60,Ip(h,1,17,this),k=77,L=61;else if(L==64)this.D.push(F),this.D.push(f),k=77,L=61;else if(L==59)XP=Y[1],XP[1].push(a(this,352).length,a(this,508).length,I(this,379).length,a(this,330).length,C(this,427).length,I(this,293)[0],a(this,417).length,I(this,255).length),l(91,this,XP[2]),this.u[390]&&ZS(1,30009,this,I(this,390),104),L=61;else if(L==57)D.length=0,L=61;else{if(L==47)return ZX;if(L==20)v=P.value,L=36;else if(L==10)r=57,E=C(this,199)||{},mN=E.t|0,L=92;else if(L==48)r=88,f3=a(this,235),f3.length>0&&z4(352,488,this,B0(f3.length,2).concat(f3),48),Kw(B0(this.L+1>>1,1),this,352,87),z4(352,488,this,B0(this[Pv].length,1)),d=this.j9?C(this,330):C(this,379),d.length>0&&z4(427,488,this,B0(d.length,2).concat(d),64),V=a(this,427),V.length>4&&Kw(B0(V.length,2).concat(V),this,352,65),X=0,X+=I(this,312)&2047,xa=C(this,417),X-=(A=I(this,352).length,-~A- -6+2*(~A&5)+2*(A|-6)),xa.length>4&&(X-=(xa.length|0)+3),X>0&&Kw(B0(X,2).concat($G(X)),this,352,53),L=97;else if(L==4)ZX={bK:f,oF:F,timeout:mN,wi:false,Zu:0},k=69,L=61;else if(L==28)ZX=ZS(1,30009,this,Y[1],104),k=47,L=61;else if(L==11)ZS(1,Y[2],this,Y[1],104),L=61;else if(L==5)k!==undefined?(L=k,k=undefined):L=77;else if(L==72)throw Ya;}}}}catch(DX){if(r==(Ya=DX,3))throw DX;r==20?(h=DX,L=9):r==88?(k=72,L=30):r==99?(z=DX,L=23):r==57?(k=72,L=92):r==60&&(k=72,L=61)}}}}(),c.t8=function(){return O_.call(this,44)},c.z9=0,c).YJ=0,c).Pn=function(y){return pw.call(this,y,3)},c).A8=function(y){return jE.call(this,2,5,y)},/./);c.JU=function(){return M.call(this,3)};var dq,b1=Wv.pop.bind((Hv.prototype[px]=[0,0,1,1,0,1,1],Hv.prototype[fx]));A1=((dq=r5(31,3,{get:b1},(qU[Hv.prototype.nj]=b1,Hv.prototype.l)),Hv.prototype).IF=void 0,u.knitsail||(u.knitsail={})),A1.m>40||(A1.m=41,A1.ks=tc,A1.a=L3),A1.Lrg_=function(y,x,Y,E,t,Z,W,f,n,p){return[function(V){return cO(3,false,V,p)},(p=new Hv(Z,W,n,E,y,x,f,t),function(V){p.JU(V)})]};}).call(this);'].join('\n')));}).call(this);</script><script nonce="4TkEnj1jJwxvQIiyWT5yNQ">(function(){var r='1';var ce=30;var sctm=false;var sclm=true;var p='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\x3d';var g='knitsail';var eid='dDB4apCLMeTO2roP1eejGA';var ss_cgi=false;var sp='';var hashed_query='';var cbs='';var ussv='';var content_bindings=[];var challenge_version=0;(function(){var v=typeof Object.defineProperties=="function"?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a},w=function(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("a");},x=w(this),y=function(a,b){if(b)a:{var c=x;a=a.split(".");for(var h=0;h<a.length-1;h++){var e=a[h];if(!(e in
8
+ c))break a;c=c[e]}a=a[a.length-1];h=c[a];b=b(h);b!=h&&b!=null&&v(c,a,{configurable:!0,writable:!0,value:b})}},z=function(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}},B=function(a){var b=typeof Symbol!="undefined"&&Symbol.iterator&&a[Symbol.iterator];if(b)return b.call(a);if(typeof a.length=="number")return{next:z(a)};throw Error("b`"+String(a));};y("Symbol",function(a){if(a)return a;var b=function(k,d){this.i=k;v(this,"description",{configurable:!0,writable:!0,value:d})};b.prototype.toString=function(){return this.i};var c="jscomp_symbol_"+(Math.random()*1E9>>>0)+"_",h=0,e=function(k){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new b(c+(k||"")+"_"+h++,k)};return e});y("Symbol.iterator",function(a){if(a)return a;a=Symbol("Symbol.iterator");v(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return aa(z(this))}});return a});var aa=function(a){a={next:a};a[Symbol.iterator]=function(){return this};return a};y("Promise",function(a){function b(){this.i=null}function c(d){return d instanceof e?d:new e(function(f){f(d)})}if(a)return a;b.prototype.j=function(d){if(this.i==null){this.i=[];var f=this;this.l(function(){f.v()})}this.i.push(d)};var h=x.setTimeout;b.prototype.l=function(d){h(d,0)};b.prototype.v=function(){for(;this.i&&this.i.length;){var d=this.i;this.i=[];for(var f=0;f<d.length;++f){var l=d[f];d[f]=null;try{l()}catch(m){this.A(m)}}}this.i=null};b.prototype.A=function(d){this.l(function(){throw d;})};var e=function(d){this.j=0;this.l=void 0;this.i=[];this.D=!1;var f=this.A();try{d(f.resolve,f.reject)}catch(l){f.reject(l)}};e.prototype.A=function(){function d(m){return function(n){l||(l=!0,m.call(f,n))}}var f=this,l=!1;return{resolve:d(this.J),reject:d(this.v)}};e.prototype.J=function(d){if(d===this)this.v(new TypeError("A Promise cannot resolve to itself"));else if(d instanceof e)this.L(d);else{a:switch(typeof d){case "object":var f=d!=null;break a;case "function":f=!0;break a;default:f=!1}f?this.I(d):this.C(d)}};e.prototype.I=function(d){var f=void 0;try{f=d.then}catch(l){this.v(l);return}typeof f=="function"?this.M(f,d):this.C(d)};e.prototype.v=function(d){this.F(2,d)};e.prototype.C=function(d){this.F(1,d)};e.prototype.F=function(d,f){if(this.j!=0)throw Error("c`"+d+"`"+f+"`"+this.j);this.j=d;this.l=f;this.j===2&&this.K();this.G()};e.prototype.K=function(){var d=this;h(function(){if(d.H()){var f=x.console;typeof f!=="undefined"&&f.error(d.l)}},1)};e.prototype.H=function(){if(this.D)return!1;var d=x.CustomEvent,f=x.Event,l=x.dispatchEvent;if(typeof l==="undefined")return!0;typeof d==="function"?d=new d("unhandledrejection",{cancelable:!0}):typeof f==="function"?d=new f("unhandledrejection",{cancelable:!0}):(d=x.document.createEvent("CustomEvent"),d.initCustomEvent("unhandledrejection",!1,!0,d));d.promise=this;d.reason=this.l;return l(d)};e.prototype.G=function(){if(this.i!=null){for(var d=0;d<this.i.length;++d)k.j(this.i[d]);this.i=null}};var k=new b;e.prototype.L=function(d){var f=this.A();d.B(f.resolve,f.reject)};e.prototype.M=function(d,f){var l=this.A();try{d.call(f,l.resolve,l.reject)}catch(m){l.reject(m)}};e.prototype.then=function(d,f){function l(t,u){return typeof t=="function"?function(A){try{m(t(A))}catch(E){n(E)}}:u}var m,n,q=new e(function(t,u){m=t;n=u});this.B(l(d,m),l(f,n));return q};e.prototype.catch=function(d){return this.then(void 0,d)};e.prototype.B=function(d,f){function l(){switch(m.j){case 1:d(m.l);break;case 2:f(m.l);break;default:throw Error("d`"+m.j);}}var m=
9
+ this;this.i==null?k.j(l):this.i.push(l);this.D=!0};e.resolve=c;e.reject=function(d){return new e(function(f,l){l(d)})};e.race=function(d){return new e(function(f,l){for(var m=B(d),n=m.next();!n.done;n=m.next())c(n.value).B(f,l)})};e.all=function(d){var f=B(d),l=f.next();return l.done?c([]):new e(function(m,n){function q(A){return function(E){t[A]=E;u--;u==0&&m(t)}}var t=[],u=0;do t.push(void 0),u++,c(l.value).B(q(t.length-1),n),l=f.next();while(!l.done)})};return e});var ba=function(a,b){a instanceof String&&(a+="");var c=0,h=!1,e={next:function(){if(!h&&c<a.length){var k=c++;return{value:b(k,a[k]),done:!1}}h=!0;return{done:!0,value:void 0}}};e[Symbol.iterator]=function(){return e};return e};y("Array.prototype.keys",function(a){return a?a:function(){return ba(this,function(b){return b})}});
10
+ var C=this||self;
11
+ var D=function(a){this.i=a};D.prototype.toString=function(){return this.i};var F=function(a){this.N=a};function G(a){return new F(function(b){return b.substr(0,a.length+1).toLowerCase()===a+":"})}var ca=[G("data"),G("http"),G("https"),G("mailto"),G("ftp"),new F(function(a){return/^[^:]*([/?#]|$)/.test(a)})],da=/^\s*(?!javascript:)(?:[\w+.-]+:|[^:/?#]*(?:[/?#]|$))/i;var ea=/#|$/;function H(a,b){var c=a.search(ea);a:{var h=0;for(var e=b.length;(h=a.indexOf(b,h))>=0&&h<c;){var k=a.charCodeAt(h-1);if(k==38||k==63)if(k=a.charCodeAt(h+e),!k||k==61||k==38||k==35)break a;h+=e+1}h=-1}if(h<0)return null;e=a.indexOf("&",h);if(e<0||e>c)e=c;h+=b.length+1;return decodeURIComponent(a.slice(h,e!==-1?e:0).replace(/\+/g," "))};function I(){var a,b;return(a=window.performance)==null?void 0:(b=a.getEntriesByType)==null?void 0:b.call(a,"navigation")[0]};function J(){var a,b;return(a=window.performance)==null?void 0:(b=a.navigation)==null?void 0:b.type};function K(a,b){google.c.e("load",a,String(b))};var fa=window.location;function L(a){return(a=fa.search.match(new RegExp("[?&]"+a+"=(\\d+)\\b")))?Number(a[1]):-1}
12
+ function M(){var a=google.timers.load,b=a.e,c=google.stvsc;c&&(b.ssr=1);c?c=c.isBF:c=(c=I())?c.type==="back_forward"?c.notRestoredReasons===void 0?!0:!!c.notRestoredReasons:!1:J()===2;c&&(b.bb=1);((c=I())?c.type==="reload":J()===1)&&(b.r=1);if(c=I()){var h=c.type;h&&(b.nt=h);h=c.deliveryType;h!=null&&(b.dt=h);h=c.transferSize;h!=null&&(b.ts=h);c=c.nextHopProtocol;c!=null&&(b.nhp=c)}(c=window.navigation)&&(c=c.activation)&&(c=c.navigationType)&&(b.ant=c);b=a.m;if(!b||!b.prs){c=window._csc==="agsa"&&
13
+ window._cshid;h=!!google.stvsc;var e=a.qtt===2;b=L("qsubts");var k;(k=I())?(k=k.type,k=!k||k==="navigate"):k=!J();h=!k||e||h||c?0:a.qsubts||b;e="r";h>0&&(c=a.fbts||L("fbts"),c>0&&(a.t.start=Math.max(h,c),e=a.fbts===c?"i":"u"));k=a.t;var d=k.start;c={};a.wsrt!==void 0&&(c.wsrt=a.wsrt);if(d)for(var f in k)if(f!=="start"&&f!=="sgls"){var l=k[f];c[f]=f==="sgl"||f==="sgsrt"?l:f==="prs"?d-l:Math.max(l-d,0)}h>0&&(c.gsasrt=a.t.start-h,f=L("qsd"),f>0&&K("qsd",f),K("ests",(a.qsubts===h?"i":"u")+e),a.qsubts&&
14
+ b>0&&a.qsubts!==b&&K("qd",a.qsubts-b));f=a.t.sgls;f>=0&&(e=b=c.sgl,f===0?e=0:h>f&&(e=h-f),b!==void 0&&(c.sglo=b),e!==void 0&&(c.sgl=e));a=a.e;f="/gen_204?s="+google.sn+"&t=sg&atyp=csi&ei="+google.kEI+"&rt=";b="";for(var m in c)f+=""+b+m+"."+c[m],b=",";for(var n in a)f+="&"+n+"="+a[n];m=f;var q=q===void 0?window.location:q;n="";C._cshid&&(n+="&cshid="+C._cshid);(a=window.google&&window.google.kOPI||null)&&(n+="&opi="+a);(a=H(q.search,"gemcid"))&&(n+="&gemcid="+a);(q=H(q.search,"gemrid"))&&(n+="&gemrid="+
15
+ q);q=m+n;a:{try{var t=window.navigator.sendBeacon(q,"");var u=t===void 0?!0:t;break a}catch(A){}u=!1}u||google.log("","",q)}};var N=function(){var a=location.href;this.i=this.j="";var b=a.indexOf("#");b>0&&(this.j=a.substring(b),a=a.substring(0,b));b=a.indexOf("?");b>0&&(this.i="&"+a.substring(b+1),a=a.substring(0,b));this.l=a},P=function(a,b,c){O(a,b);a.i=a.i+"&"+b+"="+c},O=function(a,b){a.i=a.i.replace(new RegExp("&"+b+"=([^&]+)","g"),"")};N.prototype.toString=function(){return""+this.l+(this.i?"?"+this.i.substring(1):"")+this.j};function Q(){var a=eid,b;a:{if(window.st&&(b=window.st(location.href)))break a;b=performance&&performance.timing&&performance.timing.navigationStart?performance.timing.navigationStart:void 0}if(b)try{window.sessionStorage&&window.sessionStorage.setItem(a,String(b))}catch(c){}}function R(){for(var a=eid,b=ha(),c=[],h=Object.keys(b),e=0,k;k=h[e++];)c.push(k+":"+b[k]);if(b=c.join(";"))try{window.sessionStorage.setItem(a,b)}catch(d){}};function ia(a,b){var c=C[g];if(c){b=c.a;var h=[ja()];b(p,function(e){return void e(a,h)},!1,void 0,void 0,void 0,void 0,!0)}else b(Error("f"))}function ja(){var a={};content_bindings.forEach(function(b){a[b.key]=b.value});return a}
16
+ function ha(){var a={};if(!window.td)return a;var b="n",c=window.td.ns,h=void 0,e=void 0;window.st&&(e=window.st(location.href))&&(c=e,b="u");window.td.qs&&(c=h=window.td.qs,b="i");if(!c)return a;a.st=c;var k="r",d=window.td.rs;(h||e)&&window.td.fs&&(d=window.td.fs,k="i");d&&(a.srt=Math.max(d-c,0),a.sts=b+k);h&&e&&(a.qd=h-e);return a}function S(){var a=eid,b=new N;O(b,"sg_ss");P(b,"sei",a);return b.toString()}
17
+ function T(a){var b=eid,c=new N;P(c,"sg_ss",encodeURIComponent(a));P(c,"sei",b);U(c.toString())}function ka(a){if(window.prs){V("psrt");sctm&&M();var b=S();window.prs(b,a).catch(function(){T(a)})}else T(a)}function U(a){V("psrt");sctm&&M();window.prs?window.prs(a).catch(function(){W(a)}):W(a)}
18
+ function W(a){if(window.pr)window.pr(a);else{a:{var b=b===void 0?ca:b;if(a instanceof D)b=a;else{for(var c=0;c<b.length;++c){var h=b[c];if(h instanceof F&&h.N(a)){b=new D(a);break a}}b=void 0}}a=location;if(b instanceof D)if(b instanceof D)b=b.i;else throw Error("e");else b=da.test(b)?b:void 0;b!==void 0&&a.replace(b)}}function X(a){navigator.sendBeacon("/gen_204?cad=sg_b_e&e="+a,"")}
19
+ function la(){V("bsst");ia(function(a){V("bset");var b=challenge_version,c=cbs;a=b>0?"B."+b+"."+c+"."+a:a;b=new Date;b.setSeconds(b.getSeconds()+(Number(ce)||300));c="SG_SS="+a;var h=document.cookie.length+c.length;r&&(h<4093&&!ss_cgi&&(document.cookie=c+("; expires="+b.toUTCString())),window.td?R():Q(),ss_cgi||document.cookie.indexOf("SG_SS=")<0?T(a):U(S()))},function(a){X(a);V("bset")})}function V(a){sctm&&google.tick("load",a)};navigator||(C.navigator={});typeof navigator.sendBeacon!=="function"&&(navigator.sendBeacon=function(a){(new Image).src=a});window.onerror=function(a,b,c,h,e){a="?emsg="+(e instanceof Error?e.message:a)+"&srcpg=sgs&jsr=1&jsel=3";navigator.sendBeacon("/gen_204"+a);navigator.sendBeacon("/httpservice/retry/jserror"+a)};if(sclm){var Y;window.td=(Y=window.td)!=null?Y:{};performance&&performance.timing&&(window.td.ns=performance.timing.navigationStart,window.td.rs=performance.timing.responseStart)}V("sst");var Z;window.sgs&&ussv&&sp?(V("ssst"),Z=window.sgs(sp).then(function(a){V("sset");r&&(window.td?R():Q(),ka(a));return!0},function(){return!1})):Z=Promise.resolve(!1);Z.then(function(a){a||la()}).catch(function(a){X(a)});}).call(this);})();</script><script nonce="4TkEnj1jJwxvQIiyWT5yNQ">(function(){var cssId='yvlrue';var eid='dDB4apCLMeTO2roP1eejGA';(function(){setTimeout(function(){document.getElementById(cssId).setAttribute("style","");navigator.sendBeacon("/gen_204?cad=sg_trbl&ei="+eid,"")},2E3);}).call(this);})();</script><style>div{font-family:sans-serif;color:var(--bbQxAb);background-color:var(--xhUGwc)}a{color:var(--JKqx2);font-size:inherit;text-decoration:none}a:visited{color:#681da8}</style><div id="yvlrue" style="display:none">Google 검색에 액세스하는 데 문제가 있으면&nbsp;<a href="/search?q=cache:en.wikipedia.org/wiki/Web_archiving&amp;sca_esv=ec6e1bfe95bb0f57&amp;emsg=SG_REL&amp;sei=dDB4apCLMeTO2roP1eejGA">여기를 클릭</a>하거나&nbsp;<a href="https://support.google.com/websearch">의견</a>을 보내 주세요.</div></body></html>
@@ -0,0 +1 @@
1
+ {"url": "en.wikipedia.org/wiki/Web_archiving", "archived_snapshots": {"closest": {"status": "200", "available": true, "url": "http://web.archive.org/web/20260807063120/https://en.wikipedia.org/wiki/Web_archiving", "timestamp": "20260807063120"}}}