@code-yeongyu/senpi 2026.8.16 → 2026.8.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (625) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist/bun/cli.js +1 -0
  3. package/dist/bun/cli.js.map +1 -1
  4. package/dist/bun/register-cursor-agent.d.ts +2 -0
  5. package/dist/bun/register-cursor-agent.d.ts.map +1 -0
  6. package/dist/bun/register-cursor-agent.js +4 -0
  7. package/dist/bun/register-cursor-agent.js.map +1 -0
  8. package/dist/core/agent-session-services.js +2 -2
  9. package/dist/core/agent-session-services.js.map +1 -1
  10. package/dist/core/agent-session.d.ts +48 -5
  11. package/dist/core/agent-session.d.ts.map +1 -1
  12. package/dist/core/agent-session.js +239 -61
  13. package/dist/core/agent-session.js.map +1 -1
  14. package/dist/core/cursor-exec-bridge-session.d.ts +11 -0
  15. package/dist/core/cursor-exec-bridge-session.d.ts.map +1 -0
  16. package/dist/core/cursor-exec-bridge-session.js +17 -0
  17. package/dist/core/cursor-exec-bridge-session.js.map +1 -0
  18. package/dist/core/cursor-exec-bridge.d.ts +52 -0
  19. package/dist/core/cursor-exec-bridge.d.ts.map +1 -0
  20. package/dist/core/cursor-exec-bridge.js +196 -0
  21. package/dist/core/cursor-exec-bridge.js.map +1 -0
  22. package/dist/core/extensions/builtin/cursor-cli-oauth/account-command.d.ts +28 -0
  23. package/dist/core/extensions/builtin/cursor-cli-oauth/account-command.d.ts.map +1 -0
  24. package/dist/core/extensions/builtin/cursor-cli-oauth/account-command.js +278 -0
  25. package/dist/core/extensions/builtin/cursor-cli-oauth/account-command.js.map +1 -0
  26. package/dist/core/extensions/builtin/cursor-cli-oauth/accounts.d.ts +38 -0
  27. package/dist/core/extensions/builtin/cursor-cli-oauth/accounts.d.ts.map +1 -0
  28. package/dist/core/extensions/builtin/cursor-cli-oauth/accounts.js +75 -0
  29. package/dist/core/extensions/builtin/cursor-cli-oauth/accounts.js.map +1 -0
  30. package/dist/core/extensions/builtin/cursor-cli-oauth/affinity.d.ts +24 -0
  31. package/dist/core/extensions/builtin/cursor-cli-oauth/affinity.d.ts.map +1 -0
  32. package/dist/core/extensions/builtin/cursor-cli-oauth/affinity.js +64 -0
  33. package/dist/core/extensions/builtin/cursor-cli-oauth/affinity.js.map +1 -0
  34. package/dist/core/extensions/builtin/cursor-cli-oauth/diagnostics.d.ts +139 -0
  35. package/dist/core/extensions/builtin/cursor-cli-oauth/diagnostics.d.ts.map +1 -0
  36. package/dist/core/extensions/builtin/cursor-cli-oauth/diagnostics.js +362 -0
  37. package/dist/core/extensions/builtin/cursor-cli-oauth/diagnostics.js.map +1 -0
  38. package/dist/core/extensions/builtin/cursor-cli-oauth/errors.d.ts +19 -0
  39. package/dist/core/extensions/builtin/cursor-cli-oauth/errors.d.ts.map +1 -0
  40. package/dist/core/extensions/builtin/cursor-cli-oauth/errors.js +122 -0
  41. package/dist/core/extensions/builtin/cursor-cli-oauth/errors.js.map +1 -0
  42. package/dist/core/extensions/builtin/cursor-cli-oauth/executable.d.ts +30 -0
  43. package/dist/core/extensions/builtin/cursor-cli-oauth/executable.d.ts.map +1 -0
  44. package/dist/core/extensions/builtin/cursor-cli-oauth/executable.js +117 -0
  45. package/dist/core/extensions/builtin/cursor-cli-oauth/executable.js.map +1 -0
  46. package/dist/core/extensions/builtin/cursor-cli-oauth/failover.d.ts +39 -0
  47. package/dist/core/extensions/builtin/cursor-cli-oauth/failover.d.ts.map +1 -0
  48. package/dist/core/extensions/builtin/cursor-cli-oauth/failover.js +155 -0
  49. package/dist/core/extensions/builtin/cursor-cli-oauth/failover.js.map +1 -0
  50. package/dist/core/extensions/builtin/cursor-cli-oauth/guardrails.d.ts +89 -0
  51. package/dist/core/extensions/builtin/cursor-cli-oauth/guardrails.d.ts.map +1 -0
  52. package/dist/core/extensions/builtin/cursor-cli-oauth/guardrails.js +147 -0
  53. package/dist/core/extensions/builtin/cursor-cli-oauth/guardrails.js.map +1 -0
  54. package/dist/core/extensions/builtin/cursor-cli-oauth/home-store.d.ts +20 -0
  55. package/dist/core/extensions/builtin/cursor-cli-oauth/home-store.d.ts.map +1 -0
  56. package/dist/core/extensions/builtin/cursor-cli-oauth/home-store.js +99 -0
  57. package/dist/core/extensions/builtin/cursor-cli-oauth/home-store.js.map +1 -0
  58. package/dist/core/extensions/builtin/cursor-cli-oauth/index.d.ts +25 -0
  59. package/dist/core/extensions/builtin/cursor-cli-oauth/index.d.ts.map +1 -0
  60. package/dist/core/extensions/builtin/cursor-cli-oauth/index.js +67 -0
  61. package/dist/core/extensions/builtin/cursor-cli-oauth/index.js.map +1 -0
  62. package/dist/core/extensions/builtin/cursor-cli-oauth/models.d.ts +27 -0
  63. package/dist/core/extensions/builtin/cursor-cli-oauth/models.d.ts.map +1 -0
  64. package/dist/core/extensions/builtin/cursor-cli-oauth/models.js +242 -0
  65. package/dist/core/extensions/builtin/cursor-cli-oauth/models.js.map +1 -0
  66. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.d.ts +73 -0
  67. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.d.ts.map +1 -0
  68. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.js +330 -0
  69. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.js.map +1 -0
  70. package/dist/core/extensions/builtin/cursor-cli-oauth/session-router.d.ts +94 -0
  71. package/dist/core/extensions/builtin/cursor-cli-oauth/session-router.d.ts.map +1 -0
  72. package/dist/core/extensions/builtin/cursor-cli-oauth/session-router.js +248 -0
  73. package/dist/core/extensions/builtin/cursor-cli-oauth/session-router.js.map +1 -0
  74. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.d.ts +35 -0
  75. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.d.ts.map +1 -0
  76. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.js +186 -0
  77. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.js.map +1 -0
  78. package/dist/core/extensions/builtin/cursor-cli-oauth/spawn-args.d.ts +11 -0
  79. package/dist/core/extensions/builtin/cursor-cli-oauth/spawn-args.d.ts.map +1 -0
  80. package/dist/core/extensions/builtin/cursor-cli-oauth/spawn-args.js +17 -0
  81. package/dist/core/extensions/builtin/cursor-cli-oauth/spawn-args.js.map +1 -0
  82. package/dist/core/extensions/builtin/cursor-cli-oauth/stream-parser.d.ts +104 -0
  83. package/dist/core/extensions/builtin/cursor-cli-oauth/stream-parser.d.ts.map +1 -0
  84. package/dist/core/extensions/builtin/cursor-cli-oauth/stream-parser.js +301 -0
  85. package/dist/core/extensions/builtin/cursor-cli-oauth/stream-parser.js.map +1 -0
  86. package/dist/core/extensions/builtin/cursor-cli-oauth/stream.d.ts +26 -0
  87. package/dist/core/extensions/builtin/cursor-cli-oauth/stream.d.ts.map +1 -0
  88. package/dist/core/extensions/builtin/cursor-cli-oauth/stream.js +587 -0
  89. package/dist/core/extensions/builtin/cursor-cli-oauth/stream.js.map +1 -0
  90. package/dist/core/extensions/builtin/cursor-cli-oauth/transport.d.ts +43 -0
  91. package/dist/core/extensions/builtin/cursor-cli-oauth/transport.d.ts.map +1 -0
  92. package/dist/core/extensions/builtin/cursor-cli-oauth/transport.js +196 -0
  93. package/dist/core/extensions/builtin/cursor-cli-oauth/transport.js.map +1 -0
  94. package/dist/core/extensions/builtin/goal/channel-state-subscriptions.d.ts +9 -0
  95. package/dist/core/extensions/builtin/goal/channel-state-subscriptions.d.ts.map +1 -0
  96. package/dist/core/extensions/builtin/goal/channel-state-subscriptions.js +18 -0
  97. package/dist/core/extensions/builtin/goal/channel-state-subscriptions.js.map +1 -0
  98. package/dist/core/extensions/builtin/goal/monitor-continuation.d.ts.map +1 -1
  99. package/dist/core/extensions/builtin/goal/monitor-continuation.js +10 -9
  100. package/dist/core/extensions/builtin/goal/monitor-continuation.js.map +1 -1
  101. package/dist/core/extensions/builtin/index.d.ts.map +1 -1
  102. package/dist/core/extensions/builtin/index.js +5 -2
  103. package/dist/core/extensions/builtin/index.js.map +1 -1
  104. package/dist/core/extensions/builtin/loop-guard/detectors.d.ts.map +1 -1
  105. package/dist/core/extensions/builtin/loop-guard/detectors.js +21 -3
  106. package/dist/core/extensions/builtin/loop-guard/detectors.js.map +1 -1
  107. package/dist/core/extensions/builtin/loop-guard/escalation.d.ts +24 -0
  108. package/dist/core/extensions/builtin/loop-guard/escalation.d.ts.map +1 -0
  109. package/dist/core/extensions/builtin/loop-guard/escalation.js +77 -0
  110. package/dist/core/extensions/builtin/loop-guard/escalation.js.map +1 -0
  111. package/dist/core/extensions/builtin/loop-guard/index.d.ts.map +1 -1
  112. package/dist/core/extensions/builtin/loop-guard/index.js +98 -3
  113. package/dist/core/extensions/builtin/loop-guard/index.js.map +1 -1
  114. package/dist/core/extensions/builtin/loop-guard/notice.d.ts +9 -0
  115. package/dist/core/extensions/builtin/loop-guard/notice.d.ts.map +1 -1
  116. package/dist/core/extensions/builtin/loop-guard/notice.js +17 -0
  117. package/dist/core/extensions/builtin/loop-guard/notice.js.map +1 -1
  118. package/dist/core/extensions/builtin/loop-guard/policy.d.ts +4 -0
  119. package/dist/core/extensions/builtin/loop-guard/policy.d.ts.map +1 -1
  120. package/dist/core/extensions/builtin/loop-guard/policy.js +4 -0
  121. package/dist/core/extensions/builtin/loop-guard/policy.js.map +1 -1
  122. package/dist/core/extensions/builtin/loop-guard/renderer.d.ts +2 -0
  123. package/dist/core/extensions/builtin/loop-guard/renderer.d.ts.map +1 -1
  124. package/dist/core/extensions/builtin/loop-guard/renderer.js +11 -0
  125. package/dist/core/extensions/builtin/loop-guard/renderer.js.map +1 -1
  126. package/dist/core/extensions/builtin/loop-guard/tracker.d.ts +1 -1
  127. package/dist/core/extensions/builtin/loop-guard/tracker.d.ts.map +1 -1
  128. package/dist/core/extensions/builtin/loop-guard/tracker.js +3 -1
  129. package/dist/core/extensions/builtin/loop-guard/tracker.js.map +1 -1
  130. package/dist/core/extensions/builtin/monitor-state-event.d.ts +6 -0
  131. package/dist/core/extensions/builtin/monitor-state-event.d.ts.map +1 -1
  132. package/dist/core/extensions/builtin/monitor-state-event.js +10 -0
  133. package/dist/core/extensions/builtin/monitor-state-event.js.map +1 -1
  134. package/dist/core/model-resolver.js +1 -1
  135. package/dist/core/model-resolver.js.map +1 -1
  136. package/dist/core/model-runtime.d.ts +7 -2
  137. package/dist/core/model-runtime.d.ts.map +1 -1
  138. package/dist/core/model-runtime.js +14 -2
  139. package/dist/core/model-runtime.js.map +1 -1
  140. package/dist/core/prompt-templates.d.ts +5 -0
  141. package/dist/core/prompt-templates.d.ts.map +1 -1
  142. package/dist/core/prompt-templates.js +8 -9
  143. package/dist/core/prompt-templates.js.map +1 -1
  144. package/dist/core/provider-display-names.d.ts.map +1 -1
  145. package/dist/core/provider-display-names.js +1 -0
  146. package/dist/core/provider-display-names.js.map +1 -1
  147. package/dist/core/sdk.d.ts.map +1 -1
  148. package/dist/core/sdk.js +6 -0
  149. package/dist/core/sdk.js.map +1 -1
  150. package/dist/modes/interactive/editor-paste-transfer.d.ts +10 -0
  151. package/dist/modes/interactive/editor-paste-transfer.d.ts.map +1 -1
  152. package/dist/modes/interactive/editor-paste-transfer.js +16 -0
  153. package/dist/modes/interactive/editor-paste-transfer.js.map +1 -1
  154. package/dist/modes/interactive/interactive-mode.js +2 -2
  155. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  156. package/dist/modes/rpc/connection-handler.d.ts.map +1 -1
  157. package/dist/modes/rpc/connection-handler.js +32 -27
  158. package/dist/modes/rpc/connection-handler.js.map +1 -1
  159. package/dist/modes/rpc/jsonl.d.ts +6 -1
  160. package/dist/modes/rpc/jsonl.d.ts.map +1 -1
  161. package/dist/modes/rpc/jsonl.js +47 -14
  162. package/dist/modes/rpc/jsonl.js.map +1 -1
  163. package/dist/modes/rpc/multi-session-host.d.ts.map +1 -1
  164. package/dist/modes/rpc/multi-session-host.js +26 -4
  165. package/dist/modes/rpc/multi-session-host.js.map +1 -1
  166. package/dist/modes/rpc/rpc-command-invocation.d.ts +5 -0
  167. package/dist/modes/rpc/rpc-command-invocation.d.ts.map +1 -0
  168. package/dist/modes/rpc/rpc-command-invocation.js +2 -0
  169. package/dist/modes/rpc/rpc-command-invocation.js.map +1 -0
  170. package/dist/modes/rpc/rpc-command-surface.d.ts +49 -0
  171. package/dist/modes/rpc/rpc-command-surface.d.ts.map +1 -0
  172. package/dist/modes/rpc/rpc-command-surface.js +40 -0
  173. package/dist/modes/rpc/rpc-command-surface.js.map +1 -0
  174. package/dist/modes/rpc/rpc-input-validation.d.ts +4 -0
  175. package/dist/modes/rpc/rpc-input-validation.d.ts.map +1 -0
  176. package/dist/modes/rpc/rpc-input-validation.js +20 -0
  177. package/dist/modes/rpc/rpc-input-validation.js.map +1 -0
  178. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  179. package/dist/modes/rpc/rpc-mode.js +12 -1
  180. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  181. package/dist/modes/rpc/rpc-types.d.ts +12 -12
  182. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  183. package/dist/modes/rpc/rpc-types.js.map +1 -1
  184. package/docs/providers.md +50 -1
  185. package/docs/rpc.md +78 -6
  186. package/docs/skills.md +14 -3
  187. package/node_modules/@bufbuild/protobuf/README.md +44 -0
  188. package/node_modules/@bufbuild/protobuf/dist/commonjs/clone.d.ts +6 -0
  189. package/node_modules/@bufbuild/protobuf/dist/commonjs/clone.js +66 -0
  190. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/boot.d.ts +1 -0
  191. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/boot.js +18 -0
  192. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/enum.d.ts +10 -0
  193. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/enum.js +31 -0
  194. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/extension.d.ts +9 -0
  195. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/extension.js +28 -0
  196. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/file.d.ts +1 -0
  197. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/file.js +18 -0
  198. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/index.d.ts +10 -0
  199. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/index.js +39 -0
  200. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/message.d.ts +10 -0
  201. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/message.js +24 -0
  202. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/service.d.ts +8 -0
  203. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/service.js +27 -0
  204. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/symbols.d.ts +140 -0
  205. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/symbols.js +43 -0
  206. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/types.d.ts +79 -0
  207. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/types.js +15 -0
  208. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/boot.d.ts +63 -0
  209. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/boot.js +105 -0
  210. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/embed.d.ts +43 -0
  211. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/embed.js +244 -0
  212. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/enum.d.ts +29 -0
  213. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/enum.js +58 -0
  214. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/extension.d.ts +9 -0
  215. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/extension.js +28 -0
  216. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/file.d.ts +7 -0
  217. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/file.js +35 -0
  218. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/index.d.ts +10 -0
  219. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/index.js +39 -0
  220. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/message.d.ts +15 -0
  221. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/message.js +24 -0
  222. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/restore-json-names.d.ts +5 -0
  223. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/restore-json-names.js +29 -0
  224. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/scalar.d.ts +9 -0
  225. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/scalar.js +67 -0
  226. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/service.d.ts +8 -0
  227. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/service.js +27 -0
  228. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/symbols.d.ts +145 -0
  229. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/symbols.js +74 -0
  230. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/types.d.ts +85 -0
  231. package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/types.js +15 -0
  232. package/node_modules/@bufbuild/protobuf/dist/commonjs/create.d.ts +9 -0
  233. package/node_modules/@bufbuild/protobuf/dist/commonjs/create.js +259 -0
  234. package/node_modules/@bufbuild/protobuf/dist/commonjs/descriptors.d.ts +634 -0
  235. package/node_modules/@bufbuild/protobuf/dist/commonjs/descriptors.js +53 -0
  236. package/node_modules/@bufbuild/protobuf/dist/commonjs/equals.d.ts +46 -0
  237. package/node_modules/@bufbuild/protobuf/dist/commonjs/equals.js +209 -0
  238. package/node_modules/@bufbuild/protobuf/dist/commonjs/extensions.d.ts +60 -0
  239. package/node_modules/@bufbuild/protobuf/dist/commonjs/extensions.js +168 -0
  240. package/node_modules/@bufbuild/protobuf/dist/commonjs/fields.d.ts +23 -0
  241. package/node_modules/@bufbuild/protobuf/dist/commonjs/fields.js +45 -0
  242. package/node_modules/@bufbuild/protobuf/dist/commonjs/from-binary.d.ts +48 -0
  243. package/node_modules/@bufbuild/protobuf/dist/commonjs/from-binary.js +247 -0
  244. package/node_modules/@bufbuild/protobuf/dist/commonjs/from-json.d.ts +73 -0
  245. package/node_modules/@bufbuild/protobuf/dist/commonjs/from-json.js +739 -0
  246. package/node_modules/@bufbuild/protobuf/dist/commonjs/index.d.ts +19 -0
  247. package/node_modules/@bufbuild/protobuf/dist/commonjs/index.js +55 -0
  248. package/node_modules/@bufbuild/protobuf/dist/commonjs/is-message.d.ts +7 -0
  249. package/node_modules/@bufbuild/protobuf/dist/commonjs/is-message.js +33 -0
  250. package/node_modules/@bufbuild/protobuf/dist/commonjs/json-value.d.ts +16 -0
  251. package/node_modules/@bufbuild/protobuf/dist/commonjs/json-value.js +15 -0
  252. package/node_modules/@bufbuild/protobuf/dist/commonjs/merge.d.ts +13 -0
  253. package/node_modules/@bufbuild/protobuf/dist/commonjs/merge.js +70 -0
  254. package/node_modules/@bufbuild/protobuf/dist/commonjs/package.json +4 -0
  255. package/node_modules/@bufbuild/protobuf/dist/commonjs/proto-int64.d.ts +98 -0
  256. package/node_modules/@bufbuild/protobuf/dist/commonjs/proto-int64.js +131 -0
  257. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/error.d.ts +9 -0
  258. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/error.js +36 -0
  259. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/guard.d.ts +20 -0
  260. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/guard.js +78 -0
  261. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/index.d.ts +8 -0
  262. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/index.js +41 -0
  263. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/names.d.ts +30 -0
  264. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/names.js +115 -0
  265. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/nested-types.d.ts +35 -0
  266. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/nested-types.js +110 -0
  267. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/path.d.ts +107 -0
  268. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/path.js +376 -0
  269. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect-check.d.ts +19 -0
  270. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect-check.js +268 -0
  271. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect-types.d.ts +217 -0
  272. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect-types.js +16 -0
  273. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect.d.ts +43 -0
  274. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect.js +546 -0
  275. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/scalar.d.ts +43 -0
  276. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/scalar.js +129 -0
  277. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/unsafe.d.ts +39 -0
  278. package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/unsafe.js +149 -0
  279. package/node_modules/@bufbuild/protobuf/dist/commonjs/registry.d.ts +98 -0
  280. package/node_modules/@bufbuild/protobuf/dist/commonjs/registry.js +945 -0
  281. package/node_modules/@bufbuild/protobuf/dist/commonjs/to-binary.d.ts +24 -0
  282. package/node_modules/@bufbuild/protobuf/dist/commonjs/to-binary.js +199 -0
  283. package/node_modules/@bufbuild/protobuf/dist/commonjs/to-json.d.ts +67 -0
  284. package/node_modules/@bufbuild/protobuf/dist/commonjs/to-json.js +391 -0
  285. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/from-text.d.ts +35 -0
  286. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/from-text.js +684 -0
  287. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/index.d.ts +4 -0
  288. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/index.js +21 -0
  289. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/is-group-like.d.ts +19 -0
  290. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/is-group-like.js +47 -0
  291. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/reader.d.ts +91 -0
  292. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/reader.js +481 -0
  293. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/to-text.d.ts +34 -0
  294. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/to-text.js +358 -0
  295. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/writer.d.ts +76 -0
  296. package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/writer.js +220 -0
  297. package/node_modules/@bufbuild/protobuf/dist/commonjs/types.d.ts +135 -0
  298. package/node_modules/@bufbuild/protobuf/dist/commonjs/types.js +15 -0
  299. package/node_modules/@bufbuild/protobuf/dist/commonjs/unknown-enum.d.ts +10 -0
  300. package/node_modules/@bufbuild/protobuf/dist/commonjs/unknown-enum.js +26 -0
  301. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/base64-encoding.d.ts +23 -0
  302. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/base64-encoding.js +156 -0
  303. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/binary-encoding.d.ts +268 -0
  304. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/binary-encoding.js +530 -0
  305. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/index.d.ts +5 -0
  306. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/index.js +34 -0
  307. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/size-delimited.d.ts +69 -0
  308. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/size-delimited.js +191 -0
  309. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/text-encoding.d.ts +28 -0
  310. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/text-encoding.js +61 -0
  311. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/text-format.d.ts +13 -0
  312. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/text-format.js +199 -0
  313. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/varint.d.ts +70 -0
  314. package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/varint.js +322 -0
  315. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/any.d.ts +38 -0
  316. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/any.js +75 -0
  317. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/duration.d.ts +9 -0
  318. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/duration.js +39 -0
  319. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/any_pb.d.ts +238 -0
  320. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/any_pb.js +27 -0
  321. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/api_pb.d.ts +537 -0
  322. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/api_pb.js +39 -0
  323. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +490 -0
  324. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/compiler/plugin_pb.js +68 -0
  325. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/cpp_features_pb.d.ts +91 -0
  326. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/cpp_features_pb.js +60 -0
  327. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/descriptor_pb.d.ts +4143 -0
  328. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/descriptor_pb.js +892 -0
  329. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/duration_pb.d.ts +161 -0
  330. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/duration_pb.js +27 -0
  331. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/empty_pb.d.ts +39 -0
  332. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/empty_pb.js +27 -0
  333. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/field_mask_pb.d.ts +424 -0
  334. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/field_mask_pb.js +27 -0
  335. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/go_features_pb.d.ts +189 -0
  336. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/go_features_pb.js +126 -0
  337. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/java_features_pb.d.ts +194 -0
  338. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/java_features_pb.js +106 -0
  339. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/source_context_pb.d.ts +43 -0
  340. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/source_context_pb.js +27 -0
  341. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/struct_pb.d.ts +195 -0
  342. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/struct_pb.js +59 -0
  343. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/timestamp_pb.d.ts +222 -0
  344. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/timestamp_pb.js +27 -0
  345. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/type_pb.d.ts +722 -0
  346. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/type_pb.js +242 -0
  347. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/wrappers_pb.d.ts +330 -0
  348. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/wrappers_pb.js +67 -0
  349. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/index.d.ts +19 -0
  350. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/index.js +48 -0
  351. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/timestamp.d.ts +21 -0
  352. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/timestamp.js +57 -0
  353. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/wrappers.d.ts +25 -0
  354. package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/wrappers.js +66 -0
  355. package/node_modules/@bufbuild/protobuf/dist/esm/clone.d.ts +6 -0
  356. package/node_modules/@bufbuild/protobuf/dist/esm/clone.js +63 -0
  357. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/boot.d.ts +1 -0
  358. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/boot.js +14 -0
  359. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/enum.d.ts +10 -0
  360. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/enum.js +26 -0
  361. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/extension.d.ts +9 -0
  362. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/extension.js +25 -0
  363. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/file.d.ts +1 -0
  364. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/file.js +14 -0
  365. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/index.d.ts +10 -0
  366. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/index.js +23 -0
  367. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/message.d.ts +10 -0
  368. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/message.js +21 -0
  369. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/service.d.ts +8 -0
  370. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/service.js +24 -0
  371. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/symbols.d.ts +140 -0
  372. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/symbols.js +40 -0
  373. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/types.d.ts +79 -0
  374. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/types.js +14 -0
  375. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/boot.d.ts +63 -0
  376. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/boot.js +101 -0
  377. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/embed.d.ts +43 -0
  378. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/embed.js +239 -0
  379. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/enum.d.ts +29 -0
  380. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/enum.js +53 -0
  381. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/extension.d.ts +9 -0
  382. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/extension.js +25 -0
  383. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/file.d.ts +7 -0
  384. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/file.js +32 -0
  385. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/index.d.ts +10 -0
  386. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/index.js +23 -0
  387. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/message.d.ts +15 -0
  388. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/message.js +21 -0
  389. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/restore-json-names.d.ts +5 -0
  390. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/restore-json-names.js +26 -0
  391. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/scalar.d.ts +9 -0
  392. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/scalar.js +63 -0
  393. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/service.d.ts +8 -0
  394. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/service.js +24 -0
  395. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/symbols.d.ts +145 -0
  396. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/symbols.js +71 -0
  397. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/types.d.ts +85 -0
  398. package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/types.js +14 -0
  399. package/node_modules/@bufbuild/protobuf/dist/esm/create.d.ts +9 -0
  400. package/node_modules/@bufbuild/protobuf/dist/esm/create.js +256 -0
  401. package/node_modules/@bufbuild/protobuf/dist/esm/descriptors.d.ts +634 -0
  402. package/node_modules/@bufbuild/protobuf/dist/esm/descriptors.js +50 -0
  403. package/node_modules/@bufbuild/protobuf/dist/esm/equals.d.ts +46 -0
  404. package/node_modules/@bufbuild/protobuf/dist/esm/equals.js +206 -0
  405. package/node_modules/@bufbuild/protobuf/dist/esm/extensions.d.ts +60 -0
  406. package/node_modules/@bufbuild/protobuf/dist/esm/extensions.js +159 -0
  407. package/node_modules/@bufbuild/protobuf/dist/esm/fields.d.ts +23 -0
  408. package/node_modules/@bufbuild/protobuf/dist/esm/fields.js +41 -0
  409. package/node_modules/@bufbuild/protobuf/dist/esm/from-binary.d.ts +48 -0
  410. package/node_modules/@bufbuild/protobuf/dist/esm/from-binary.js +241 -0
  411. package/node_modules/@bufbuild/protobuf/dist/esm/from-json.d.ts +73 -0
  412. package/node_modules/@bufbuild/protobuf/dist/esm/from-json.js +731 -0
  413. package/node_modules/@bufbuild/protobuf/dist/esm/index.d.ts +19 -0
  414. package/node_modules/@bufbuild/protobuf/dist/esm/index.js +29 -0
  415. package/node_modules/@bufbuild/protobuf/dist/esm/is-message.d.ts +7 -0
  416. package/node_modules/@bufbuild/protobuf/dist/esm/is-message.js +30 -0
  417. package/node_modules/@bufbuild/protobuf/dist/esm/json-value.d.ts +16 -0
  418. package/node_modules/@bufbuild/protobuf/dist/esm/json-value.js +14 -0
  419. package/node_modules/@bufbuild/protobuf/dist/esm/merge.d.ts +13 -0
  420. package/node_modules/@bufbuild/protobuf/dist/esm/merge.js +67 -0
  421. package/node_modules/@bufbuild/protobuf/dist/esm/package.json +4 -0
  422. package/node_modules/@bufbuild/protobuf/dist/esm/proto-int64.d.ts +98 -0
  423. package/node_modules/@bufbuild/protobuf/dist/esm/proto-int64.js +128 -0
  424. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/error.d.ts +9 -0
  425. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/error.js +31 -0
  426. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/guard.d.ts +20 -0
  427. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/guard.js +71 -0
  428. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/index.d.ts +8 -0
  429. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/index.js +21 -0
  430. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/names.d.ts +30 -0
  431. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/names.js +109 -0
  432. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/nested-types.d.ts +35 -0
  433. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/nested-types.js +105 -0
  434. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/path.d.ts +107 -0
  435. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/path.js +369 -0
  436. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-check.d.ts +19 -0
  437. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-check.js +262 -0
  438. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-types.d.ts +217 -0
  439. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-types.js +14 -0
  440. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect.d.ts +43 -0
  441. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect.js +541 -0
  442. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/scalar.d.ts +43 -0
  443. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/scalar.js +124 -0
  444. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/unsafe.d.ts +39 -0
  445. package/node_modules/@bufbuild/protobuf/dist/esm/reflect/unsafe.js +140 -0
  446. package/node_modules/@bufbuild/protobuf/dist/esm/registry.d.ts +98 -0
  447. package/node_modules/@bufbuild/protobuf/dist/esm/registry.js +939 -0
  448. package/node_modules/@bufbuild/protobuf/dist/esm/to-binary.d.ts +24 -0
  449. package/node_modules/@bufbuild/protobuf/dist/esm/to-binary.js +195 -0
  450. package/node_modules/@bufbuild/protobuf/dist/esm/to-json.d.ts +67 -0
  451. package/node_modules/@bufbuild/protobuf/dist/esm/to-json.js +386 -0
  452. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/from-text.d.ts +35 -0
  453. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/from-text.js +680 -0
  454. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/index.d.ts +4 -0
  455. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/index.js +15 -0
  456. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/is-group-like.d.ts +19 -0
  457. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/is-group-like.js +44 -0
  458. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/reader.d.ts +91 -0
  459. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/reader.js +477 -0
  460. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/to-text.d.ts +34 -0
  461. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/to-text.js +355 -0
  462. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/writer.d.ts +76 -0
  463. package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/writer.js +214 -0
  464. package/node_modules/@bufbuild/protobuf/dist/esm/types.d.ts +135 -0
  465. package/node_modules/@bufbuild/protobuf/dist/esm/types.js +14 -0
  466. package/node_modules/@bufbuild/protobuf/dist/esm/unknown-enum.d.ts +10 -0
  467. package/node_modules/@bufbuild/protobuf/dist/esm/unknown-enum.js +23 -0
  468. package/node_modules/@bufbuild/protobuf/dist/esm/wire/base64-encoding.d.ts +23 -0
  469. package/node_modules/@bufbuild/protobuf/dist/esm/wire/base64-encoding.js +152 -0
  470. package/node_modules/@bufbuild/protobuf/dist/esm/wire/binary-encoding.d.ts +268 -0
  471. package/node_modules/@bufbuild/protobuf/dist/esm/wire/binary-encoding.js +525 -0
  472. package/node_modules/@bufbuild/protobuf/dist/esm/wire/index.d.ts +5 -0
  473. package/node_modules/@bufbuild/protobuf/dist/esm/wire/index.js +18 -0
  474. package/node_modules/@bufbuild/protobuf/dist/esm/wire/size-delimited.d.ts +69 -0
  475. package/node_modules/@bufbuild/protobuf/dist/esm/wire/size-delimited.js +186 -0
  476. package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-encoding.d.ts +28 -0
  477. package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-encoding.js +57 -0
  478. package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-format.d.ts +13 -0
  479. package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-format.js +195 -0
  480. package/node_modules/@bufbuild/protobuf/dist/esm/wire/varint.d.ts +70 -0
  481. package/node_modules/@bufbuild/protobuf/dist/esm/wire/varint.js +313 -0
  482. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/any.d.ts +38 -0
  483. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/any.js +69 -0
  484. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/duration.d.ts +9 -0
  485. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/duration.js +35 -0
  486. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/any_pb.d.ts +238 -0
  487. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/any_pb.js +24 -0
  488. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/api_pb.d.ts +537 -0
  489. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/api_pb.js +36 -0
  490. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +490 -0
  491. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.js +65 -0
  492. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/cpp_features_pb.d.ts +91 -0
  493. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/cpp_features_pb.js +57 -0
  494. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/descriptor_pb.d.ts +4143 -0
  495. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/descriptor_pb.js +888 -0
  496. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/duration_pb.d.ts +161 -0
  497. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/duration_pb.js +24 -0
  498. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/empty_pb.d.ts +39 -0
  499. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/empty_pb.js +24 -0
  500. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/field_mask_pb.d.ts +424 -0
  501. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/field_mask_pb.js +24 -0
  502. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/go_features_pb.d.ts +189 -0
  503. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/go_features_pb.js +123 -0
  504. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/java_features_pb.d.ts +194 -0
  505. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/java_features_pb.js +103 -0
  506. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/source_context_pb.d.ts +43 -0
  507. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/source_context_pb.js +24 -0
  508. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/struct_pb.d.ts +195 -0
  509. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/struct_pb.js +56 -0
  510. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/timestamp_pb.d.ts +222 -0
  511. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/timestamp_pb.js +24 -0
  512. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/type_pb.d.ts +722 -0
  513. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/type_pb.js +239 -0
  514. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/wrappers_pb.d.ts +330 -0
  515. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/wrappers_pb.js +64 -0
  516. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/index.d.ts +19 -0
  517. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/index.js +32 -0
  518. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/timestamp.d.ts +21 -0
  519. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/timestamp.js +50 -0
  520. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/wrappers.d.ts +25 -0
  521. package/node_modules/@bufbuild/protobuf/dist/esm/wkt/wrappers.js +61 -0
  522. package/node_modules/@bufbuild/protobuf/package.json +147 -0
  523. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +14 -0
  524. package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
  525. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/cell-runtime.ts +2 -0
  526. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/render.ts +43 -6
  527. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/types.ts +4 -0
  528. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  529. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +59 -17
  530. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  531. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts +14 -0
  532. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -1
  533. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +14 -0
  534. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -1
  535. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +12 -1
  536. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  537. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  538. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  539. package/node_modules/@earendil-works/pi-ai/README.md +3 -2
  540. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/deterministic-id.d.ts +17 -0
  541. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/deterministic-id.d.ts.map +1 -0
  542. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/deterministic-id.js +14 -0
  543. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/deterministic-id.js.map +1 -0
  544. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-lifecycle.d.ts +13 -0
  545. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-lifecycle.d.ts.map +1 -0
  546. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-lifecycle.js +33 -0
  547. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-lifecycle.js.map +1 -0
  548. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-modern.d.ts +79 -0
  549. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-modern.d.ts.map +1 -0
  550. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-modern.js +360 -0
  551. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/exec-modern.js.map +1 -0
  552. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/gen/agent_pb.d.ts +16797 -0
  553. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/gen/agent_pb.d.ts.map +1 -0
  554. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/gen/agent_pb.js +3828 -0
  555. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/gen/agent_pb.js.map +1 -0
  556. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/pi-args.d.ts +55 -0
  557. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/pi-args.d.ts.map +1 -0
  558. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/pi-args.js +76 -0
  559. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/pi-args.js.map +1 -0
  560. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.d.ts +116 -0
  561. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.d.ts.map +1 -0
  562. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.js +16 -0
  563. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.js.map +1 -0
  564. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.d.ts +191 -0
  565. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.d.ts.map +1 -0
  566. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js +3316 -0
  567. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js.map +1 -0
  568. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.lazy.d.ts +29 -0
  569. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.lazy.d.ts.map +1 -0
  570. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.lazy.js +33 -0
  571. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.lazy.js.map +1 -0
  572. package/node_modules/@earendil-works/pi-ai/dist/compat.d.ts +1 -0
  573. package/node_modules/@earendil-works/pi-ai/dist/compat.d.ts.map +1 -1
  574. package/node_modules/@earendil-works/pi-ai/dist/compat.js +3 -0
  575. package/node_modules/@earendil-works/pi-ai/dist/compat.js.map +1 -1
  576. package/node_modules/@earendil-works/pi-ai/dist/cursor-agent-provider.d.ts +11 -0
  577. package/node_modules/@earendil-works/pi-ai/dist/cursor-agent-provider.d.ts.map +1 -0
  578. package/node_modules/@earendil-works/pi-ai/dist/cursor-agent-provider.js +11 -0
  579. package/node_modules/@earendil-works/pi-ai/dist/cursor-agent-provider.js.map +1 -0
  580. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +3 -0
  581. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
  582. package/node_modules/@earendil-works/pi-ai/dist/index.js +2 -0
  583. package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
  584. package/node_modules/@earendil-works/pi-ai/dist/model.d.ts +6 -1
  585. package/node_modules/@earendil-works/pi-ai/dist/model.d.ts.map +1 -1
  586. package/node_modules/@earendil-works/pi-ai/dist/model.js.map +1 -1
  587. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.d.ts +6 -9
  588. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.d.ts.map +1 -1
  589. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.js +42 -9
  590. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.js.map +1 -1
  591. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  592. package/node_modules/@earendil-works/pi-ai/dist/providers/data/amazon-bedrock.json +1 -1
  593. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cerebras.json +1 -1
  594. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-ai-gateway.json +1 -1
  595. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-workers-ai.json +1 -1
  596. package/node_modules/@earendil-works/pi-ai/dist/providers/data/huggingface.json +1 -1
  597. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai-codex.json +1 -1
  598. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  599. package/node_modules/@earendil-works/pi-ai/dist/providers/data/together.json +1 -1
  600. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  601. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +3 -1
  602. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  603. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  604. package/node_modules/@earendil-works/pi-ai/dist/utils/block-symbols.d.ts +57 -0
  605. package/node_modules/@earendil-works/pi-ai/dist/utils/block-symbols.d.ts.map +1 -0
  606. package/node_modules/@earendil-works/pi-ai/dist/utils/block-symbols.js +57 -0
  607. package/node_modules/@earendil-works/pi-ai/dist/utils/block-symbols.js.map +1 -0
  608. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.d.ts +10 -0
  609. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.d.ts.map +1 -1
  610. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.js +22 -0
  611. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.js.map +1 -1
  612. package/node_modules/@earendil-works/pi-ai/package.json +3 -2
  613. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  614. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  615. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts.map +1 -1
  616. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js +21 -0
  617. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js.map +1 -1
  618. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +1 -1
  619. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
  620. package/node_modules/@earendil-works/pi-tui/dist/dollar-invocation-autocomplete.d.ts +9 -0
  621. package/node_modules/@earendil-works/pi-tui/dist/dollar-invocation-autocomplete.d.ts.map +1 -0
  622. package/node_modules/@earendil-works/pi-tui/dist/dollar-invocation-autocomplete.js +82 -0
  623. package/node_modules/@earendil-works/pi-tui/dist/dollar-invocation-autocomplete.js.map +1 -0
  624. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  625. package/package.json +11 -8
@@ -0,0 +1,3828 @@
1
+ // Vendored from the upstream oh-my-pi Cursor agent protocol schema
2
+ // (packages/ai/proto/cursor/agent.proto). TS enums are rewritten to erasable
3
+ // const objects by packages/ai/scripts/transform-cursor-agent-proto.mjs.
4
+ // @generated by protoc-gen-es v2.13.0 with parameter "target=ts"
5
+ // @generated from file agent.proto (package agent.v1, syntax proto3)
6
+ /* eslint-disable */
7
+ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
8
+ /**
9
+ * Describes the file agent.proto.
10
+ */
11
+ export const file_agent = /*@__PURE__*/ fileDesc("CgthZ2VudC5wcm90bxIIYWdlbnQudjEicgoOR2xvYlRvb2xSZXN1bHQSLAoHc3VjY2VzcxgBIAEoCzIZLmFnZW50LnYxLkdsb2JUb29sU3VjY2Vzc0gAEigKBWVycm9yGAIgASgLMhcuYWdlbnQudjEuR2xvYlRvb2xFcnJvckgAQggKBnJlc3VsdCIeCg1HbG9iVG9vbEVycm9yEg0KBWVycm9yGAEgASgJIokBCg9HbG9iVG9vbFN1Y2Nlc3MSDwoHcGF0dGVybhgBIAEoCRIMCgRwYXRoGAIgASgJEg0KBWZpbGVzGAMgAygJEhMKC3RvdGFsX2ZpbGVzGAQgASgFEhgKEGNsaWVudF90cnVuY2F0ZWQYBSABKAgSGQoRcmlwZ3JlcF90cnVuY2F0ZWQYBiABKAgiRgoMR2xvYlRvb2xDYWxsEgwKBGFyZ3MYASABKAwSKAoGcmVzdWx0GAIgASgLMhguYWdlbnQudjEuR2xvYlRvb2xSZXN1bHQibQoRUmVhZExpbnRzVG9vbENhbGwSKQoEYXJncxgBIAEoCzIbLmFnZW50LnYxLlJlYWRMaW50c1Rvb2xBcmdzEi0KBnJlc3VsdBgCIAEoCzIdLmFnZW50LnYxLlJlYWRMaW50c1Rvb2xSZXN1bHQiIgoRUmVhZExpbnRzVG9vbEFyZ3MSDQoFcGF0aHMYASADKAkigQEKE1JlYWRMaW50c1Rvb2xSZXN1bHQSMQoHc3VjY2VzcxgBIAEoCzIeLmFnZW50LnYxLlJlYWRMaW50c1Rvb2xTdWNjZXNzSAASLQoFZXJyb3IYAiABKAsyHC5hZ2VudC52MS5SZWFkTGludHNUb29sRXJyb3JIAEIICgZyZXN1bHQiewoUUmVhZExpbnRzVG9vbFN1Y2Nlc3MSMwoQZmlsZV9kaWFnbm9zdGljcxgBIAMoCzIZLmFnZW50LnYxLkZpbGVEaWFnbm9zdGljcxITCgt0b3RhbF9maWxlcxgCIAEoBRIZChF0b3RhbF9kaWFnbm9zdGljcxgDIAEoBSJpCg9GaWxlRGlhZ25vc3RpY3MSDAoEcGF0aBgBIAEoCRItCgtkaWFnbm9zdGljcxgCIAMoCzIYLmFnZW50LnYxLkRpYWdub3N0aWNJdGVtEhkKEWRpYWdub3N0aWNzX2NvdW50GAMgASgFIqsBCg5EaWFnbm9zdGljSXRlbRIuCghzZXZlcml0eRgBIAEoDjIcLmFnZW50LnYxLkRpYWdub3N0aWNTZXZlcml0eRIoCgVyYW5nZRgCIAEoCzIZLmFnZW50LnYxLkRpYWdub3N0aWNSYW5nZRIPCgdtZXNzYWdlGAMgASgJEg4KBnNvdXJjZRgEIAEoCRIMCgRjb2RlGAUgASgJEhAKCGlzX3N0YWxlGAYgASgIIlUKD0RpYWdub3N0aWNSYW5nZRIhCgVzdGFydBgBIAEoCzISLmFnZW50LnYxLlBvc2l0aW9uEh8KA2VuZBgCIAEoCzISLmFnZW50LnYxLlBvc2l0aW9uIisKElJlYWRMaW50c1Rvb2xFcnJvchIVCg1lcnJvcl9tZXNzYWdlGAEgASgJIj0KDE1jcFRvb2xFcnJvchINCgVlcnJvchgBIAEoCRIeChZyZWFkX3Rvb2xfZGVmX3JlbWluZGVyGAIgASgJItIBCg1NY3BUb29sUmVzdWx0EicKB3N1Y2Nlc3MYASABKAsyFC5hZ2VudC52MS5NY3BTdWNjZXNzSAASJwoFZXJyb3IYAiABKAsyFi5hZ2VudC52MS5NY3BUb29sRXJyb3JIABIpCghyZWplY3RlZBgDIAEoCzIVLmFnZW50LnYxLk1jcFJlamVjdGVkSAASOgoRcGVybWlzc2lvbl9kZW5pZWQYBCABKAsyHS5hZ2VudC52MS5NY3BQZXJtaXNzaW9uRGVuaWVkSABCCAoGcmVzdWx0IoEBCgtNY3BUb29sQ2FsbBIfCgRhcmdzGAEgASgLMhEuYWdlbnQudjEuTWNwQXJncxInCgZyZXN1bHQYAiABKAsyFy5hZ2VudC52MS5NY3BUb29sUmVzdWx0EhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uIm0KEVNlbVNlYXJjaFRvb2xDYWxsEikKBGFyZ3MYASABKAsyGy5hZ2VudC52MS5TZW1TZWFyY2hUb29sQXJncxItCgZyZXN1bHQYAiABKAsyHS5hZ2VudC52MS5TZW1TZWFyY2hUb29sUmVzdWx0IlMKEVNlbVNlYXJjaFRvb2xBcmdzEg0KBXF1ZXJ5GAEgASgJEhoKEnRhcmdldF9kaXJlY3RvcmllcxgCIAMoCRITCgtleHBsYW5hdGlvbhgDIAEoCSKBAQoTU2VtU2VhcmNoVG9vbFJlc3VsdBIxCgdzdWNjZXNzGAEgASgLMh4uYWdlbnQudjEuU2VtU2VhcmNoVG9vbFN1Y2Nlc3NIABItCgVlcnJvchgCIAEoCzIcLmFnZW50LnYxLlNlbVNlYXJjaFRvb2xFcnJvckgAQggKBnJlc3VsdCI9ChRTZW1TZWFyY2hUb29sU3VjY2VzcxIPCgdyZXN1bHRzGAEgASgJEhQKDGNvZGVfcmVzdWx0cxgCIAMoDCIrChJTZW1TZWFyY2hUb29sRXJyb3ISFQoNZXJyb3JfbWVzc2FnZRgBIAEoCSKCAQoYTGlzdE1jcFJlc291cmNlc1Rvb2xDYWxsEjAKBGFyZ3MYASABKAsyIi5hZ2VudC52MS5MaXN0TWNwUmVzb3VyY2VzRXhlY0FyZ3MSNAoGcmVzdWx0GAIgASgLMiQuYWdlbnQudjEuTGlzdE1jcFJlc291cmNlc0V4ZWNSZXN1bHQifwoXUmVhZE1jcFJlc291cmNlVG9vbENhbGwSLwoEYXJncxgBIAEoCzIhLmFnZW50LnYxLlJlYWRNY3BSZXNvdXJjZUV4ZWNBcmdzEjMKBnJlc3VsdBgCIAEoCzIjLmFnZW50LnYxLlJlYWRNY3BSZXNvdXJjZUV4ZWNSZXN1bHQiWQoNRmV0Y2hUb29sQ2FsbBIhCgRhcmdzGAEgASgLMhMuYWdlbnQudjEuRmV0Y2hBcmdzEiUKBnJlc3VsdBgCIAEoCzIVLmFnZW50LnYxLkZldGNoUmVzdWx0Im4KFFJlY29yZFNjcmVlblRvb2xDYWxsEigKBGFyZ3MYASABKAsyGi5hZ2VudC52MS5SZWNvcmRTY3JlZW5BcmdzEiwKBnJlc3VsdBgCIAEoCzIcLmFnZW50LnYxLlJlY29yZFNjcmVlblJlc3VsdCJ3ChdXcml0ZVNoZWxsU3RkaW5Ub29sQ2FsbBIrCgRhcmdzGAEgASgLMh0uYWdlbnQudjEuV3JpdGVTaGVsbFN0ZGluQXJncxIvCgZyZXN1bHQYAiABKAsyHy5hZ2VudC52MS5Xcml0ZVNoZWxsU3RkaW5SZXN1bHQisQEKC1JlZmxlY3RBcmdzEiIKGnVuZXhwZWN0ZWRfYWN0aW9uX291dGNvbWVzGAEgASgJEh0KFXJlbGV2YW50X2luc3RydWN0aW9ucxgCIAEoCRIZChFzY2VuYXJpb19hbmFseXNpcxgDIAEoCRIaChJjcml0aWNhbF9zeW50aGVzaXMYBCABKAkSEgoKbmV4dF9zdGVwcxgFIAEoCRIUCgx0b29sX2NhbGxfaWQYBiABKAkibwoNUmVmbGVjdFJlc3VsdBIrCgdzdWNjZXNzGAEgASgLMhguYWdlbnQudjEuUmVmbGVjdFN1Y2Nlc3NIABInCgVlcnJvchgCIAEoCzIWLmFnZW50LnYxLlJlZmxlY3RFcnJvckgAQggKBnJlc3VsdCIQCg5SZWZsZWN0U3VjY2VzcyIdCgxSZWZsZWN0RXJyb3ISDQoFZXJyb3IYASABKAkiXwoPUmVmbGVjdFRvb2xDYWxsEiMKBGFyZ3MYASABKAsyFS5hZ2VudC52MS5SZWZsZWN0QXJncxInCgZyZXN1bHQYAiABKAsyFy5hZ2VudC52MS5SZWZsZWN0UmVzdWx0IlkKF1N0YXJ0R3JpbmRFeGVjdXRpb25BcmdzEhgKC2V4cGxhbmF0aW9uGAEgASgJSACIAQESFAoMdG9vbF9jYWxsX2lkGAIgASgJQg4KDF9leHBsYW5hdGlvbiKTAQoZU3RhcnRHcmluZEV4ZWN1dGlvblJlc3VsdBI3CgdzdWNjZXNzGAEgASgLMiQuYWdlbnQudjEuU3RhcnRHcmluZEV4ZWN1dGlvblN1Y2Nlc3NIABIzCgVlcnJvchgCIAEoCzIiLmFnZW50LnYxLlN0YXJ0R3JpbmRFeGVjdXRpb25FcnJvckgAQggKBnJlc3VsdCIcChpTdGFydEdyaW5kRXhlY3V0aW9uU3VjY2VzcyIpChhTdGFydEdyaW5kRXhlY3V0aW9uRXJyb3ISDQoFZXJyb3IYASABKAkigwEKG1N0YXJ0R3JpbmRFeGVjdXRpb25Ub29sQ2FsbBIvCgRhcmdzGAEgASgLMiEuYWdlbnQudjEuU3RhcnRHcmluZEV4ZWN1dGlvbkFyZ3MSMwoGcmVzdWx0GAIgASgLMiMuYWdlbnQudjEuU3RhcnRHcmluZEV4ZWN1dGlvblJlc3VsdCJYChZTdGFydEdyaW5kUGxhbm5pbmdBcmdzEhgKC2V4cGxhbmF0aW9uGAEgASgJSACIAQESFAoMdG9vbF9jYWxsX2lkGAIgASgJQg4KDF9leHBsYW5hdGlvbiKQAQoYU3RhcnRHcmluZFBsYW5uaW5nUmVzdWx0EjYKB3N1Y2Nlc3MYASABKAsyIy5hZ2VudC52MS5TdGFydEdyaW5kUGxhbm5pbmdTdWNjZXNzSAASMgoFZXJyb3IYAiABKAsyIS5hZ2VudC52MS5TdGFydEdyaW5kUGxhbm5pbmdFcnJvckgAQggKBnJlc3VsdCIbChlTdGFydEdyaW5kUGxhbm5pbmdTdWNjZXNzIigKF1N0YXJ0R3JpbmRQbGFubmluZ0Vycm9yEg0KBWVycm9yGAEgASgJIoABChpTdGFydEdyaW5kUGxhbm5pbmdUb29sQ2FsbBIuCgRhcmdzGAEgASgLMiAuYWdlbnQudjEuU3RhcnRHcmluZFBsYW5uaW5nQXJncxIyCgZyZXN1bHQYAiABKAsyIi5hZ2VudC52MS5TdGFydEdyaW5kUGxhbm5pbmdSZXN1bHQinAEKCFRhc2tBcmdzEhMKC2Rlc2NyaXB0aW9uGAEgASgJEg4KBnByb21wdBgCIAEoCRItCg1zdWJhZ2VudF90eXBlGAMgASgLMhYuYWdlbnQudjEuU3ViYWdlbnRUeXBlEhIKBW1vZGVsGAQgASgJSACIAQESEwoGcmVzdW1lGAUgASgJSAGIAQFCCAoGX21vZGVsQgkKB19yZXN1bWUiqgEKC1Rhc2tTdWNjZXNzEjYKEmNvbnZlcnNhdGlvbl9zdGVwcxgBIAMoCzIaLmFnZW50LnYxLkNvbnZlcnNhdGlvblN0ZXASFQoIYWdlbnRfaWQYAiABKAlIAIgBARIVCg1pc19iYWNrZ3JvdW5kGAMgASgIEhgKC2R1cmF0aW9uX21zGAQgASgESAGIAQFCCwoJX2FnZW50X2lkQg4KDF9kdXJhdGlvbl9tcyIaCglUYXNrRXJyb3ISDQoFZXJyb3IYASABKAkiZgoKVGFza1Jlc3VsdBIoCgdzdWNjZXNzGAEgASgLMhUuYWdlbnQudjEuVGFza1N1Y2Nlc3NIABIkCgVlcnJvchgCIAEoCzITLmFnZW50LnYxLlRhc2tFcnJvckgAQggKBnJlc3VsdCJWCgxUYXNrVG9vbENhbGwSIAoEYXJncxgBIAEoCzISLmFnZW50LnYxLlRhc2tBcmdzEiQKBnJlc3VsdBgCIAEoCzIULmFnZW50LnYxLlRhc2tSZXN1bHQiTAoRVGFza1Rvb2xDYWxsRGVsdGESNwoSaW50ZXJhY3Rpb25fdXBkYXRlGAEgASgLMhsuYWdlbnQudjEuSW50ZXJhY3Rpb25VcGRhdGUihhQKCFRvb2xDYWxsEjIKD3NoZWxsX3Rvb2xfY2FsbBgBIAEoCzIXLmFnZW50LnYxLlNoZWxsVG9vbENhbGxIABI0ChBkZWxldGVfdG9vbF9jYWxsGAMgASgLMhguYWdlbnQudjEuRGVsZXRlVG9vbENhbGxIABIwCg5nbG9iX3Rvb2xfY2FsbBgEIAEoCzIWLmFnZW50LnYxLkdsb2JUb29sQ2FsbEgAEjAKDmdyZXBfdG9vbF9jYWxsGAUgASgLMhYuYWdlbnQudjEuR3JlcFRvb2xDYWxsSAASMAoOcmVhZF90b29sX2NhbGwYCCABKAsyFi5hZ2VudC52MS5SZWFkVG9vbENhbGxIABI/ChZ1cGRhdGVfdG9kb3NfdG9vbF9jYWxsGAkgASgLMh0uYWdlbnQudjEuVXBkYXRlVG9kb3NUb29sQ2FsbEgAEjsKFHJlYWRfdG9kb3NfdG9vbF9jYWxsGAogASgLMhsuYWdlbnQudjEuUmVhZFRvZG9zVG9vbENhbGxIABIwCg5lZGl0X3Rvb2xfY2FsbBgMIAEoCzIWLmFnZW50LnYxLkVkaXRUb29sQ2FsbEgAEiwKDGxzX3Rvb2xfY2FsbBgNIAEoCzIULmFnZW50LnYxLkxzVG9vbENhbGxIABI7ChRyZWFkX2xpbnRzX3Rvb2xfY2FsbBgOIAEoCzIbLmFnZW50LnYxLlJlYWRMaW50c1Rvb2xDYWxsSAASLgoNbWNwX3Rvb2xfY2FsbBgPIAEoCzIVLmFnZW50LnYxLk1jcFRvb2xDYWxsSAASOwoUc2VtX3NlYXJjaF90b29sX2NhbGwYECABKAsyGy5hZ2VudC52MS5TZW1TZWFyY2hUb29sQ2FsbEgAEj0KFWNyZWF0ZV9wbGFuX3Rvb2xfY2FsbBgRIAEoCzIcLmFnZW50LnYxLkNyZWF0ZVBsYW5Ub29sQ2FsbEgAEjsKFHdlYl9zZWFyY2hfdG9vbF9jYWxsGBIgASgLMhsuYWdlbnQudjEuV2ViU2VhcmNoVG9vbENhbGxIABIwCg50YXNrX3Rvb2xfY2FsbBgTIAEoCzIWLmFnZW50LnYxLlRhc2tUb29sQ2FsbEgAEkoKHGxpc3RfbWNwX3Jlc291cmNlc190b29sX2NhbGwYFCABKAsyIi5hZ2VudC52MS5MaXN0TWNwUmVzb3VyY2VzVG9vbENhbGxIABJIChtyZWFkX21jcF9yZXNvdXJjZV90b29sX2NhbGwYFSABKAsyIS5hZ2VudC52MS5SZWFkTWNwUmVzb3VyY2VUb29sQ2FsbEgAEkYKGmFwcGx5X2FnZW50X2RpZmZfdG9vbF9jYWxsGBYgASgLMiAuYWdlbnQudjEuQXBwbHlBZ2VudERpZmZUb29sQ2FsbEgAEj8KFmFza19xdWVzdGlvbl90b29sX2NhbGwYFyABKAsyHS5hZ2VudC52MS5Bc2tRdWVzdGlvblRvb2xDYWxsSAASMgoPZmV0Y2hfdG9vbF9jYWxsGBggASgLMhcuYWdlbnQudjEuRmV0Y2hUb29sQ2FsbEgAEj0KFXN3aXRjaF9tb2RlX3Rvb2xfY2FsbBgZIAEoCzIcLmFnZW50LnYxLlN3aXRjaE1vZGVUb29sQ2FsbEgAEjsKFGV4YV9zZWFyY2hfdG9vbF9jYWxsGBogASgLMhsuYWdlbnQudjEuRXhhU2VhcmNoVG9vbENhbGxIABI5ChNleGFfZmV0Y2hfdG9vbF9jYWxsGBsgASgLMhouYWdlbnQudjEuRXhhRmV0Y2hUb29sQ2FsbEgAEkMKGGdlbmVyYXRlX2ltYWdlX3Rvb2xfY2FsbBgcIAEoCzIfLmFnZW50LnYxLkdlbmVyYXRlSW1hZ2VUb29sQ2FsbEgAEkEKF3JlY29yZF9zY3JlZW5fdG9vbF9jYWxsGB0gASgLMh4uYWdlbnQudjEuUmVjb3JkU2NyZWVuVG9vbENhbGxIABI/ChZjb21wdXRlcl91c2VfdG9vbF9jYWxsGB4gASgLMh0uYWdlbnQudjEuQ29tcHV0ZXJVc2VUb29sQ2FsbEgAEkgKG3dyaXRlX3NoZWxsX3N0ZGluX3Rvb2xfY2FsbBgfIAEoCzIhLmFnZW50LnYxLldyaXRlU2hlbGxTdGRpblRvb2xDYWxsSAASNgoRcmVmbGVjdF90b29sX2NhbGwYICABKAsyGS5hZ2VudC52MS5SZWZsZWN0VG9vbENhbGxIABJOCh5zZXR1cF92bV9lbnZpcm9ubWVudF90b29sX2NhbGwYISABKAsyJC5hZ2VudC52MS5TZXR1cFZtRW52aXJvbm1lbnRUb29sQ2FsbEgAEjoKE3RydW5jYXRlZF90b29sX2NhbGwYIiABKAsyGy5hZ2VudC52MS5UcnVuY2F0ZWRUb29sQ2FsbEgAElAKH3N0YXJ0X2dyaW5kX2V4ZWN1dGlvbl90b29sX2NhbGwYIyABKAsyJS5hZ2VudC52MS5TdGFydEdyaW5kRXhlY3V0aW9uVG9vbENhbGxIABJOCh5zdGFydF9ncmluZF9wbGFubmluZ190b29sX2NhbGwYJCABKAsyJC5hZ2VudC52MS5TdGFydEdyaW5kUGxhbm5pbmdUb29sQ2FsbEgAEjUKEXBpX3JlYWRfdG9vbF9jYWxsGD0gASgLMhguYWdlbnQudjEuUGlSZWFkVG9vbENhbGxIABI1ChFwaV9iYXNoX3Rvb2xfY2FsbBg+IAEoCzIYLmFnZW50LnYxLlBpQmFzaFRvb2xDYWxsSAASNQoRcGlfZWRpdF90b29sX2NhbGwYPyABKAsyGC5hZ2VudC52MS5QaUVkaXRUb29sQ2FsbEgAEjcKEnBpX3dyaXRlX3Rvb2xfY2FsbBhAIAEoCzIZLmFnZW50LnYxLlBpV3JpdGVUb29sQ2FsbEgAEjUKEXBpX2dyZXBfdG9vbF9jYWxsGEEgASgLMhguYWdlbnQudjEuUGlHcmVwVG9vbENhbGxIABI1ChFwaV9maW5kX3Rvb2xfY2FsbBhCIAEoCzIYLmFnZW50LnYxLlBpRmluZFRvb2xDYWxsSAASMQoPcGlfbHNfdG9vbF9jYWxsGEMgASgLMhYuYWdlbnQudjEuUGlMc1Rvb2xDYWxsSAASPQoVY29ubmVjdF9zY21fdG9vbF9jYWxsGEQgASgLMhwuYWdlbnQudjEuQ29ubmVjdFNjbVRvb2xDYWxsSAASTwoec2VhcmNoX2NvbnZlcnNhdGlvbnNfdG9vbF9jYWxsGEUgASgLMiUuYWdlbnQudjEuU2VhcmNoQ29udmVyc2F0aW9uc1Rvb2xDYWxsSAASGQoMdG9vbF9jYWxsX2lkGDkgASgJSAGIAQFCBgoEdG9vbEIPCg1fdG9vbF9jYWxsX2lkIhcKFVRydW5jYXRlZFRvb2xDYWxsQXJncyIaChhUcnVuY2F0ZWRUb29sQ2FsbFN1Y2Nlc3MiJwoWVHJ1bmNhdGVkVG9vbENhbGxFcnJvchINCgVlcnJvchgBIAEoCSKNAQoXVHJ1bmNhdGVkVG9vbENhbGxSZXN1bHQSNQoHc3VjY2VzcxgBIAEoCzIiLmFnZW50LnYxLlRydW5jYXRlZFRvb2xDYWxsU3VjY2Vzc0gAEjEKBWVycm9yGAIgASgLMiAuYWdlbnQudjEuVHJ1bmNhdGVkVG9vbENhbGxFcnJvckgAQggKBnJlc3VsdCKUAQoRVHJ1bmNhdGVkVG9vbENhbGwSHQoVb3JpZ2luYWxfc3RlcF9ibG9iX2lkGAEgASgMEi0KBGFyZ3MYAiABKAsyHy5hZ2VudC52MS5UcnVuY2F0ZWRUb29sQ2FsbEFyZ3MSMQoGcmVzdWx0GAMgASgLMiEuYWdlbnQudjEuVHJ1bmNhdGVkVG9vbENhbGxSZXN1bHQi0QEKDVRvb2xDYWxsRGVsdGESPQoVc2hlbGxfdG9vbF9jYWxsX2RlbHRhGAEgASgLMhwuYWdlbnQudjEuU2hlbGxUb29sQ2FsbERlbHRhSAASOwoUdGFza190b29sX2NhbGxfZGVsdGEYAiABKAsyGy5hZ2VudC52MS5UYXNrVG9vbENhbGxEZWx0YUgAEjsKFGVkaXRfdG9vbF9jYWxsX2RlbHRhGAMgASgLMhsuYWdlbnQudjEuRWRpdFRvb2xDYWxsRGVsdGFIAEIHCgVkZWx0YSK2AQoQQ29udmVyc2F0aW9uU3RlcBI3ChFhc3Npc3RhbnRfbWVzc2FnZRgBIAEoCzIaLmFnZW50LnYxLkFzc2lzdGFudE1lc3NhZ2VIABInCgl0b29sX2NhbGwYAiABKAsyEi5hZ2VudC52MS5Ub29sQ2FsbEgAEjUKEHRoaW5raW5nX21lc3NhZ2UYAyABKAsyGS5hZ2VudC52MS5UaGlua2luZ01lc3NhZ2VIAEIJCgdtZXNzYWdlIoEEChJDb252ZXJzYXRpb25BY3Rpb24SOgoTdXNlcl9tZXNzYWdlX2FjdGlvbhgBIAEoCzIbLmFnZW50LnYxLlVzZXJNZXNzYWdlQWN0aW9uSAASLwoNcmVzdW1lX2FjdGlvbhgCIAEoCzIWLmFnZW50LnYxLlJlc3VtZUFjdGlvbkgAEi8KDWNhbmNlbF9hY3Rpb24YAyABKAsyFi5hZ2VudC52MS5DYW5jZWxBY3Rpb25IABI1ChBzdW1tYXJpemVfYWN0aW9uGAQgASgLMhkuYWdlbnQudjEuU3VtbWFyaXplQWN0aW9uSAASPAoUc2hlbGxfY29tbWFuZF9hY3Rpb24YBSABKAsyHC5hZ2VudC52MS5TaGVsbENvbW1hbmRBY3Rpb25IABI2ChFzdGFydF9wbGFuX2FjdGlvbhgGIAEoCzIZLmFnZW50LnYxLlN0YXJ0UGxhbkFjdGlvbkgAEjoKE2V4ZWN1dGVfcGxhbl9hY3Rpb24YByABKAsyGy5hZ2VudC52MS5FeGVjdXRlUGxhbkFjdGlvbkgAEloKJGFzeW5jX2Fza19xdWVzdGlvbl9jb21wbGV0aW9uX2FjdGlvbhgIIAEoCzIqLmFnZW50LnYxLkFzeW5jQXNrUXVlc3Rpb25Db21wbGV0aW9uQWN0aW9uSABCCAoGYWN0aW9uIr8BChFVc2VyTWVzc2FnZUFjdGlvbhIrCgx1c2VyX21lc3NhZ2UYASABKAsyFS5hZ2VudC52MS5Vc2VyTWVzc2FnZRIxCg9yZXF1ZXN0X2NvbnRleHQYAiABKAsyGC5hZ2VudC52MS5SZXF1ZXN0Q29udGV4dBIpChxzZW5kX3RvX2ludGVyYWN0aW9uX2xpc3RlbmVyGAMgASgISACIAQFCHwodX3NlbmRfdG9faW50ZXJhY3Rpb25fbGlzdGVuZXIiDgoMQ2FuY2VsQWN0aW9uIkEKDFJlc3VtZUFjdGlvbhIxCg9yZXF1ZXN0X2NvbnRleHQYAiABKAsyGC5hZ2VudC52MS5SZXF1ZXN0Q29udGV4dCKgAQogQXN5bmNBc2tRdWVzdGlvbkNvbXBsZXRpb25BY3Rpb24SHQoVb3JpZ2luYWxfdG9vbF9jYWxsX2lkGAEgASgJEjAKDW9yaWdpbmFsX2FyZ3MYAiABKAsyGS5hZ2VudC52MS5Bc2tRdWVzdGlvbkFyZ3MSKwoGcmVzdWx0GAMgASgLMhsuYWdlbnQudjEuQXNrUXVlc3Rpb25SZXN1bHQiEQoPU3VtbWFyaXplQWN0aW9uIlQKElNoZWxsQ29tbWFuZEFjdGlvbhItCg1zaGVsbF9jb21tYW5kGAEgASgLMhYuYWdlbnQudjEuU2hlbGxDb21tYW5kEg8KB2V4ZWNfaWQYAiABKAkiggEKD1N0YXJ0UGxhbkFjdGlvbhIrCgx1c2VyX21lc3NhZ2UYASABKAsyFS5hZ2VudC52MS5Vc2VyTWVzc2FnZRIxCg9yZXF1ZXN0X2NvbnRleHQYAiABKAsyGC5hZ2VudC52MS5SZXF1ZXN0Q29udGV4dBIPCgdpc19zcGVjGAMgASgIIuIBChFFeGVjdXRlUGxhbkFjdGlvbhIxCg9yZXF1ZXN0X2NvbnRleHQYASABKAsyGC5hZ2VudC52MS5SZXF1ZXN0Q29udGV4dBItCgRwbGFuGAIgASgLMhouYWdlbnQudjEuQ29udmVyc2F0aW9uUGxhbkgAiAEBEhoKDXBsYW5fZmlsZV91cmkYAyABKAlIAYgBARIeChFwbGFuX2ZpbGVfY29udGVudBgEIAEoCUgCiAEBQgcKBV9wbGFuQhAKDl9wbGFuX2ZpbGVfdXJpQhQKEl9wbGFuX2ZpbGVfY29udGVudCLoAgoLVXNlck1lc3NhZ2USDAoEdGV4dBgBIAEoCRISCgptZXNzYWdlX2lkGAIgASgJEjgKEHNlbGVjdGVkX2NvbnRleHQYAyABKAsyGS5hZ2VudC52MS5TZWxlY3RlZENvbnRleHRIAIgBARIMCgRtb2RlGAQgASgFEh0KEGlzX3NpbXVsYXRlZF9tc2cYBSABKAhIAYgBARIfChJiZXN0X29mX25fZ3JvdXBfaWQYBiABKAlIAogBARIoCht0cnlfdXNlX2Jlc3Rfb2Zfbl9wcm9tb3Rpb24YByABKAhIA4gBARIWCglyaWNoX3RleHQYCCABKAlIBIgBAUITChFfc2VsZWN0ZWRfY29udGV4dEITChFfaXNfc2ltdWxhdGVkX21zZ0IVChNfYmVzdF9vZl9uX2dyb3VwX2lkQh4KHF90cnlfdXNlX2Jlc3Rfb2Zfbl9wcm9tb3Rpb25CDAoKX3JpY2hfdGV4dCIgChBBc3Npc3RhbnRNZXNzYWdlEgwKBHRleHQYASABKAkiNAoPVGhpbmtpbmdNZXNzYWdlEgwKBHRleHQYASABKAkSEwoLZHVyYXRpb25fbXMYAiABKA0iHwoMU2hlbGxDb21tYW5kEg8KB2NvbW1hbmQYASABKAkiQAoLU2hlbGxPdXRwdXQSDgoGc3Rkb3V0GAEgASgJEg4KBnN0ZGVychgCIAEoCRIRCglleGl0X2NvZGUYAyABKAUiogEKEENvbnZlcnNhdGlvblR1cm4SQgoXYWdlbnRfY29udmVyc2F0aW9uX3R1cm4YASABKAsyHy5hZ2VudC52MS5BZ2VudENvbnZlcnNhdGlvblR1cm5IABJCChdzaGVsbF9jb252ZXJzYXRpb25fdHVybhgCIAEoCzIfLmFnZW50LnYxLlNoZWxsQ29udmVyc2F0aW9uVHVybkgAQgYKBHR1cm4iIAoQQ29udmVyc2F0aW9uUGxhbhIMCgRwbGFuGAEgASgJIr0BChlDb252ZXJzYXRpb25UdXJuU3RydWN0dXJlEksKF2FnZW50X2NvbnZlcnNhdGlvbl90dXJuGAEgASgLMiguYWdlbnQudjEuQWdlbnRDb252ZXJzYXRpb25UdXJuU3RydWN0dXJlSAASSwoXc2hlbGxfY29udmVyc2F0aW9uX3R1cm4YAiABKAsyKC5hZ2VudC52MS5TaGVsbENvbnZlcnNhdGlvblR1cm5TdHJ1Y3R1cmVIAEIGCgR0dXJuIpcBChVBZ2VudENvbnZlcnNhdGlvblR1cm4SKwoMdXNlcl9tZXNzYWdlGAEgASgLMhUuYWdlbnQudjEuVXNlck1lc3NhZ2USKQoFc3RlcHMYAiADKAsyGi5hZ2VudC52MS5Db252ZXJzYXRpb25TdGVwEhcKCnJlcXVlc3RfaWQYAyABKAlIAIgBAUINCgtfcmVxdWVzdF9pZCJtCh5BZ2VudENvbnZlcnNhdGlvblR1cm5TdHJ1Y3R1cmUSFAoMdXNlcl9tZXNzYWdlGAEgASgMEg0KBXN0ZXBzGAIgAygMEhcKCnJlcXVlc3RfaWQYAyABKAlIAIgBAUINCgtfcmVxdWVzdF9pZCJzChVTaGVsbENvbnZlcnNhdGlvblR1cm4SLQoNc2hlbGxfY29tbWFuZBgBIAEoCzIWLmFnZW50LnYxLlNoZWxsQ29tbWFuZBIrCgxzaGVsbF9vdXRwdXQYAiABKAsyFS5hZ2VudC52MS5TaGVsbE91dHB1dCJNCh5TaGVsbENvbnZlcnNhdGlvblR1cm5TdHJ1Y3R1cmUSFQoNc2hlbGxfY29tbWFuZBgBIAEoDBIUCgxzaGVsbF9vdXRwdXQYAiABKAwiJgoTQ29udmVyc2F0aW9uU3VtbWFyeRIPCgdzdW1tYXJ5GAEgASgJIngKGkNvbnZlcnNhdGlvblN1bW1hcnlBcmNoaXZlEhsKE3N1bW1hcml6ZWRfbWVzc2FnZXMYASADKAwSDwoHc3VtbWFyeRgCIAEoCRITCgt3aW5kb3dfdGFpbBgDIAEoDRIXCg9zdW1tYXJ5X21lc3NhZ2UYBCABKAwiQwoYQ29udmVyc2F0aW9uVG9rZW5EZXRhaWxzEhMKC3VzZWRfdG9rZW5zGAEgASgNEhIKCm1heF90b2tlbnMYAiABKA0iXwoJRmlsZVN0YXRlEhQKB2NvbnRlbnQYASABKAlIAIgBARIcCg9pbml0aWFsX2NvbnRlbnQYAiABKAlIAYgBAUIKCghfY29udGVudEISChBfaW5pdGlhbF9jb250ZW50ImgKEkZpbGVTdGF0ZVN0cnVjdHVyZRIUCgdjb250ZW50GAEgASgMSACIAQESHAoPaW5pdGlhbF9jb250ZW50GAIgASgMSAGIAQFCCgoIX2NvbnRlbnRCEgoQX2luaXRpYWxfY29udGVudCI3CgpTdGVwVGltaW5nEhMKC2R1cmF0aW9uX21zGAEgASgEEhQKDHRpbWVzdGFtcF9tcxgCIAEoBCL2BAoRQ29udmVyc2F0aW9uU3RhdGUSIQoZcm9vdF9wcm9tcHRfbWVzc2FnZXNfanNvbhgBIAMoCRIpCgV0dXJucxgIIAMoCzIaLmFnZW50LnYxLkNvbnZlcnNhdGlvblR1cm4SIQoFdG9kb3MYAyADKAsyEi5hZ2VudC52MS5Ub2RvSXRlbRIaChJwZW5kaW5nX3Rvb2xfY2FsbHMYBCADKAkSOQoNdG9rZW5fZGV0YWlscxgFIAEoCzIiLmFnZW50LnYxLkNvbnZlcnNhdGlvblRva2VuRGV0YWlscxIzCgdzdW1tYXJ5GAYgASgLMh0uYWdlbnQudjEuQ29udmVyc2F0aW9uU3VtbWFyeUgAiAEBEi0KBHBsYW4YByABKAsyGi5hZ2VudC52MS5Db252ZXJzYXRpb25QbGFuSAGIAQESQgoPc3VtbWFyeV9hcmNoaXZlGAkgASgLMiQuYWdlbnQudjEuQ29udmVyc2F0aW9uU3VtbWFyeUFyY2hpdmVIAogBARJACgtmaWxlX3N0YXRlcxgKIAMoCzIrLmFnZW50LnYxLkNvbnZlcnNhdGlvblN0YXRlLkZpbGVTdGF0ZXNFbnRyeRI+ChBzdW1tYXJ5X2FyY2hpdmVzGAsgAygLMiQuYWdlbnQudjEuQ29udmVyc2F0aW9uU3VtbWFyeUFyY2hpdmUaRgoPRmlsZVN0YXRlc0VudHJ5EgsKA2tleRgBIAEoCRIiCgV2YWx1ZRgCIAEoCzITLmFnZW50LnYxLkZpbGVTdGF0ZToCOAFCCgoIX3N1bW1hcnlCBwoFX3BsYW5CEgoQX3N1bW1hcnlfYXJjaGl2ZSLHAQoWU3ViYWdlbnRQZXJzaXN0ZWRTdGF0ZRJAChJjb252ZXJzYXRpb25fc3RhdGUYASABKAsyJC5hZ2VudC52MS5Db252ZXJzYXRpb25TdGF0ZVN0cnVjdHVyZRIcChRjcmVhdGVkX3RpbWVzdGFtcF9tcxgCIAEoBBIeChZsYXN0X3VzZWRfdGltZXN0YW1wX21zGAMgASgEEi0KDXN1YmFnZW50X3R5cGUYBCABKAsyFi5hZ2VudC52MS5TdWJhZ2VudFR5cGUitwcKGkNvbnZlcnNhdGlvblN0YXRlU3RydWN0dXJlEhEKCXR1cm5zX29sZBgCIAMoDBIhChlyb290X3Byb21wdF9tZXNzYWdlc19qc29uGAEgAygMEg0KBXR1cm5zGAggAygMEg0KBXRvZG9zGAMgAygMEhoKEnBlbmRpbmdfdG9vbF9jYWxscxgEIAMoCRI5Cg10b2tlbl9kZXRhaWxzGAUgASgLMiIuYWdlbnQudjEuQ29udmVyc2F0aW9uVG9rZW5EZXRhaWxzEhQKB3N1bW1hcnkYBiABKAxIAIgBARIRCgRwbGFuGAcgASgMSAGIAQESHwoXcHJldmlvdXNfd29ya3NwYWNlX3VyaXMYCSADKAkSEQoEbW9kZRgKIAEoBUgCiAEBEhwKD3N1bW1hcnlfYXJjaGl2ZRgLIAEoDEgDiAEBEkkKC2ZpbGVfc3RhdGVzGAwgAygLMjQuYWdlbnQudjEuQ29udmVyc2F0aW9uU3RhdGVTdHJ1Y3R1cmUuRmlsZVN0YXRlc0VudHJ5Ek4KDmZpbGVfc3RhdGVzX3YyGA8gAygLMjYuYWdlbnQudjEuQ29udmVyc2F0aW9uU3RhdGVTdHJ1Y3R1cmUuRmlsZVN0YXRlc1YyRW50cnkSGAoQc3VtbWFyeV9hcmNoaXZlcxgNIAMoDBIqCgx0dXJuX3RpbWluZ3MYDiADKAsyFC5hZ2VudC52MS5TdGVwVGltaW5nElEKD3N1YmFnZW50X3N0YXRlcxgQIAMoCzI4LmFnZW50LnYxLkNvbnZlcnNhdGlvblN0YXRlU3RydWN0dXJlLlN1YmFnZW50U3RhdGVzRW50cnkSGgoSc2VsZl9zdW1tYXJ5X2NvdW50GBEgASgNEhIKCnJlYWRfcGF0aHMYEiADKAkaMQoPRmlsZVN0YXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoDDoCOAEaUQoRRmlsZVN0YXRlc1YyRW50cnkSCwoDa2V5GAEgASgJEisKBXZhbHVlGAIgASgLMhwuYWdlbnQudjEuRmlsZVN0YXRlU3RydWN0dXJlOgI4ARpXChNTdWJhZ2VudFN0YXRlc0VudHJ5EgsKA2tleRgBIAEoCRIvCgV2YWx1ZRgCIAEoCzIgLmFnZW50LnYxLlN1YmFnZW50UGVyc2lzdGVkU3RhdGU6AjgBQgoKCF9zdW1tYXJ5QgcKBV9wbGFuQgcKBV9tb2RlQhIKEF9zdW1tYXJ5X2FyY2hpdmUiEQoPVGhpbmtpbmdEZXRhaWxzIkgKEUFwaUtleUNyZWRlbnRpYWxzEg8KB2FwaV9rZXkYASABKAkSFQoIYmFzZV91cmwYAiABKAlIAIgBAUILCglfYmFzZV91cmwiSQoQQXp1cmVDcmVkZW50aWFscxIPCgdhcGlfa2V5GAEgASgJEhAKCGJhc2VfdXJsGAIgASgJEhIKCmRlcGxveW1lbnQYAyABKAkiegoSQmVkcm9ja0NyZWRlbnRpYWxzEhIKCmFjY2Vzc19rZXkYASABKAkSEgoKc2VjcmV0X2tleRgCIAEoCRIOCgZyZWdpb24YAyABKAkSGgoNc2Vzc2lvbl90b2tlbhgEIAEoCUgAiAEBQhAKDl9zZXNzaW9uX3Rva2VuIrEDCgxNb2RlbERldGFpbHMSEAoIbW9kZWxfaWQYASABKAkSGAoQZGlzcGxheV9tb2RlbF9pZBgDIAEoCRIUCgxkaXNwbGF5X25hbWUYBCABKAkSGgoSZGlzcGxheV9uYW1lX3Nob3J0GAUgASgJEg8KB2FsaWFzZXMYBiADKAkSOAoQdGhpbmtpbmdfZGV0YWlscxgCIAEoCzIZLmFnZW50LnYxLlRoaW5raW5nRGV0YWlsc0gBiAEBEhUKCG1heF9tb2RlGAcgASgISAKIAQESOgoTYXBpX2tleV9jcmVkZW50aWFscxgIIAEoCzIbLmFnZW50LnYxLkFwaUtleUNyZWRlbnRpYWxzSAASNwoRYXp1cmVfY3JlZGVudGlhbHMYCSABKAsyGi5hZ2VudC52MS5BenVyZUNyZWRlbnRpYWxzSAASOwoTYmVkcm9ja19jcmVkZW50aWFscxgKIAEoCzIcLmFnZW50LnYxLkJlZHJvY2tDcmVkZW50aWFsc0gAQg0KC2NyZWRlbnRpYWxzQhMKEV90aGlua2luZ19kZXRhaWxzQgsKCV9tYXhfbW9kZSK3AgoOUmVxdWVzdGVkTW9kZWwSEAoIbW9kZWxfaWQYASABKAkSEAoIbWF4X21vZGUYAiABKAgSQAoKcGFyYW1ldGVycxgDIAMoCzIsLmFnZW50LnYxLlJlcXVlc3RlZE1vZGVsX01vZGVsUGFyYW1ldGVyYnl0ZXMSOgoTYXBpX2tleV9jcmVkZW50aWFscxgEIAEoCzIbLmFnZW50LnYxLkFwaUtleUNyZWRlbnRpYWxzSAASNwoRYXp1cmVfY3JlZGVudGlhbHMYBSABKAsyGi5hZ2VudC52MS5BenVyZUNyZWRlbnRpYWxzSAASOwoTYmVkcm9ja19jcmVkZW50aWFscxgGIAEoCzIcLmFnZW50LnYxLkJlZHJvY2tDcmVkZW50aWFsc0gAQg0KC2NyZWRlbnRpYWxzIj8KIlJlcXVlc3RlZE1vZGVsX01vZGVsUGFyYW1ldGVyYnl0ZXMSCgoCaWQYASABKAkSDQoFdmFsdWUYAiABKAkiuQQKD0FnZW50UnVuUmVxdWVzdBJAChJjb252ZXJzYXRpb25fc3RhdGUYASABKAsyJC5hZ2VudC52MS5Db252ZXJzYXRpb25TdGF0ZVN0cnVjdHVyZRIsCgZhY3Rpb24YAiABKAsyHC5hZ2VudC52MS5Db252ZXJzYXRpb25BY3Rpb24SLQoNbW9kZWxfZGV0YWlscxgDIAEoCzIWLmFnZW50LnYxLk1vZGVsRGV0YWlscxI2Cg9yZXF1ZXN0ZWRfbW9kZWwYCSABKAsyGC5hZ2VudC52MS5SZXF1ZXN0ZWRNb2RlbEgAiAEBEiUKCW1jcF90b29scxgEIAEoCzISLmFnZW50LnYxLk1jcFRvb2xzEhwKD2NvbnZlcnNhdGlvbl9pZBgFIAEoCUgBiAEBEkQKF21jcF9maWxlX3N5c3RlbV9vcHRpb25zGAYgASgLMh4uYWdlbnQudjEuTWNwRmlsZVN5c3RlbU9wdGlvbnNIAogBARIyCg1za2lsbF9vcHRpb25zGAcgASgLMhYuYWdlbnQudjEuU2tpbGxPcHRpb25zSAOIAQESIQoUY3VzdG9tX3N5c3RlbV9wcm9tcHQYCCABKAlIBIgBAUISChBfcmVxdWVzdGVkX21vZGVsQhIKEF9jb252ZXJzYXRpb25faWRCGgoYX21jcF9maWxlX3N5c3RlbV9vcHRpb25zQhAKDl9za2lsbF9vcHRpb25zQhcKFV9jdXN0b21fc3lzdGVtX3Byb21wdCIfCg9UZXh0RGVsdGFVcGRhdGUSDAoEdGV4dBgBIAEoCSJmChVUb29sQ2FsbFN0YXJ0ZWRVcGRhdGUSDwoHY2FsbF9pZBgBIAEoCRIlCgl0b29sX2NhbGwYAiABKAsyEi5hZ2VudC52MS5Ub29sQ2FsbBIVCg1tb2RlbF9jYWxsX2lkGAMgASgJImgKF1Rvb2xDYWxsQ29tcGxldGVkVXBkYXRlEg8KB2NhbGxfaWQYASABKAkSJQoJdG9vbF9jYWxsGAIgASgLMhIuYWdlbnQudjEuVG9vbENhbGwSFQoNbW9kZWxfY2FsbF9pZBgDIAEoCSJvChNUb29sQ2FsbERlbHRhVXBkYXRlEg8KB2NhbGxfaWQYASABKAkSMAoPdG9vbF9jYWxsX2RlbHRhGAIgASgLMhcuYWdlbnQudjEuVG9vbENhbGxEZWx0YRIVCg1tb2RlbF9jYWxsX2lkGAMgASgJIn8KFVBhcnRpYWxUb29sQ2FsbFVwZGF0ZRIPCgdjYWxsX2lkGAEgASgJEiUKCXRvb2xfY2FsbBgCIAEoCzISLmFnZW50LnYxLlRvb2xDYWxsEhcKD2FyZ3NfdGV4dF9kZWx0YRgDIAEoCRIVCg1tb2RlbF9jYWxsX2lkGAQgASgJIiMKE1RoaW5raW5nRGVsdGFVcGRhdGUSDAoEdGV4dBgBIAEoCSI3ChdUaGlua2luZ0NvbXBsZXRlZFVwZGF0ZRIcChR0aGlua2luZ19kdXJhdGlvbl9tcxgBIAEoBSIiChBUb2tlbkRlbHRhVXBkYXRlEg4KBnRva2VucxgBIAEoBSIgCg1TdW1tYXJ5VXBkYXRlEg8KB3N1bW1hcnkYASABKAkiFgoUU3VtbWFyeVN0YXJ0ZWRVcGRhdGUiEQoPSGVhcnRiZWF0VXBkYXRlIhgKFlN1bW1hcnlDb21wbGV0ZWRVcGRhdGUi1wEKFlNoZWxsT3V0cHV0RGVsdGFVcGRhdGUSLQoGc3Rkb3V0GAEgASgLMhsuYWdlbnQudjEuU2hlbGxTdHJlYW1TdGRvdXRIABItCgZzdGRlcnIYAiABKAsyGy5hZ2VudC52MS5TaGVsbFN0cmVhbVN0ZGVyckgAEikKBGV4aXQYAyABKAsyGS5hZ2VudC52MS5TaGVsbFN0cmVhbUV4aXRIABIrCgVzdGFydBgEIAEoCzIaLmFnZW50LnYxLlNoZWxsU3RyZWFtU3RhcnRIAEIHCgVldmVudCIRCg9UdXJuRW5kZWRVcGRhdGUiSAoZVXNlck1lc3NhZ2VBcHBlbmRlZFVwZGF0ZRIrCgx1c2VyX21lc3NhZ2UYASABKAsyFS5hZ2VudC52MS5Vc2VyTWVzc2FnZSIkChFTdGVwU3RhcnRlZFVwZGF0ZRIPCgdzdGVwX2lkGAEgASgEIkAKE1N0ZXBDb21wbGV0ZWRVcGRhdGUSDwoHc3RlcF9pZBgBIAEoBBIYChBzdGVwX2R1cmF0aW9uX21zGAIgASgDIu8HChFJbnRlcmFjdGlvblVwZGF0ZRIvCgp0ZXh0X2RlbHRhGAEgASgLMhkuYWdlbnQudjEuVGV4dERlbHRhVXBkYXRlSAASPAoRcGFydGlhbF90b29sX2NhbGwYByABKAsyHy5hZ2VudC52MS5QYXJ0aWFsVG9vbENhbGxVcGRhdGVIABI4Cg90b29sX2NhbGxfZGVsdGEYDyABKAsyHS5hZ2VudC52MS5Ub29sQ2FsbERlbHRhVXBkYXRlSAASPAoRdG9vbF9jYWxsX3N0YXJ0ZWQYAiABKAsyHy5hZ2VudC52MS5Ub29sQ2FsbFN0YXJ0ZWRVcGRhdGVIABJAChN0b29sX2NhbGxfY29tcGxldGVkGAMgASgLMiEuYWdlbnQudjEuVG9vbENhbGxDb21wbGV0ZWRVcGRhdGVIABI3Cg50aGlua2luZ19kZWx0YRgEIAEoCzIdLmFnZW50LnYxLlRoaW5raW5nRGVsdGFVcGRhdGVIABI/ChJ0aGlua2luZ19jb21wbGV0ZWQYBSABKAsyIS5hZ2VudC52MS5UaGlua2luZ0NvbXBsZXRlZFVwZGF0ZUgAEkQKFXVzZXJfbWVzc2FnZV9hcHBlbmRlZBgGIAEoCzIjLmFnZW50LnYxLlVzZXJNZXNzYWdlQXBwZW5kZWRVcGRhdGVIABIxCgt0b2tlbl9kZWx0YRgIIAEoCzIaLmFnZW50LnYxLlRva2VuRGVsdGFVcGRhdGVIABIqCgdzdW1tYXJ5GAkgASgLMhcuYWdlbnQudjEuU3VtbWFyeVVwZGF0ZUgAEjkKD3N1bW1hcnlfc3RhcnRlZBgKIAEoCzIeLmFnZW50LnYxLlN1bW1hcnlTdGFydGVkVXBkYXRlSAASPQoRc3VtbWFyeV9jb21wbGV0ZWQYCyABKAsyIC5hZ2VudC52MS5TdW1tYXJ5Q29tcGxldGVkVXBkYXRlSAASPgoSc2hlbGxfb3V0cHV0X2RlbHRhGAwgASgLMiAuYWdlbnQudjEuU2hlbGxPdXRwdXREZWx0YVVwZGF0ZUgAEi4KCWhlYXJ0YmVhdBgNIAEoCzIZLmFnZW50LnYxLkhlYXJ0YmVhdFVwZGF0ZUgAEi8KCnR1cm5fZW5kZWQYDiABKAsyGS5hZ2VudC52MS5UdXJuRW5kZWRVcGRhdGVIABIzCgxzdGVwX3N0YXJ0ZWQYECABKAsyGy5hZ2VudC52MS5TdGVwU3RhcnRlZFVwZGF0ZUgAEjcKDnN0ZXBfY29tcGxldGVkGBEgASgLMh0uYWdlbnQudjEuU3RlcENvbXBsZXRlZFVwZGF0ZUgAQgkKB21lc3NhZ2UimgQKEEludGVyYWN0aW9uUXVlcnkSCgoCaWQYASABKA0SQwoYd2ViX3NlYXJjaF9yZXF1ZXN0X3F1ZXJ5GAIgASgLMh8uYWdlbnQudjEuV2ViU2VhcmNoUmVxdWVzdFF1ZXJ5SAASTwoeYXNrX3F1ZXN0aW9uX2ludGVyYWN0aW9uX3F1ZXJ5GAMgASgLMiUuYWdlbnQudjEuQXNrUXVlc3Rpb25JbnRlcmFjdGlvblF1ZXJ5SAASRQoZc3dpdGNoX21vZGVfcmVxdWVzdF9xdWVyeRgEIAEoCzIgLmFnZW50LnYxLlN3aXRjaE1vZGVSZXF1ZXN0UXVlcnlIABJDChhleGFfc2VhcmNoX3JlcXVlc3RfcXVlcnkYBSABKAsyHy5hZ2VudC52MS5FeGFTZWFyY2hSZXF1ZXN0UXVlcnlIABJBChdleGFfZmV0Y2hfcmVxdWVzdF9xdWVyeRgGIAEoCzIeLmFnZW50LnYxLkV4YUZldGNoUmVxdWVzdFF1ZXJ5SAASRQoZY3JlYXRlX3BsYW5fcmVxdWVzdF9xdWVyeRgHIAEoCzIgLmFnZW50LnYxLkNyZWF0ZVBsYW5SZXF1ZXN0UXVlcnlIABJFChlzZXR1cF92bV9lbnZpcm9ubWVudF9hcmdzGAggASgLMiAuYWdlbnQudjEuU2V0dXBWbUVudmlyb25tZW50QXJnc0gAQgcKBXF1ZXJ5IsYEChNJbnRlcmFjdGlvblJlc3BvbnNlEgoKAmlkGAEgASgNEkkKG3dlYl9zZWFyY2hfcmVxdWVzdF9yZXNwb25zZRgCIAEoCzIiLmFnZW50LnYxLldlYlNlYXJjaFJlcXVlc3RSZXNwb25zZUgAElUKIWFza19xdWVzdGlvbl9pbnRlcmFjdGlvbl9yZXNwb25zZRgDIAEoCzIoLmFnZW50LnYxLkFza1F1ZXN0aW9uSW50ZXJhY3Rpb25SZXNwb25zZUgAEksKHHN3aXRjaF9tb2RlX3JlcXVlc3RfcmVzcG9uc2UYBCABKAsyIy5hZ2VudC52MS5Td2l0Y2hNb2RlUmVxdWVzdFJlc3BvbnNlSAASSQobZXhhX3NlYXJjaF9yZXF1ZXN0X3Jlc3BvbnNlGAUgASgLMiIuYWdlbnQudjEuRXhhU2VhcmNoUmVxdWVzdFJlc3BvbnNlSAASRwoaZXhhX2ZldGNoX3JlcXVlc3RfcmVzcG9uc2UYBiABKAsyIS5hZ2VudC52MS5FeGFGZXRjaFJlcXVlc3RSZXNwb25zZUgAEksKHGNyZWF0ZV9wbGFuX3JlcXVlc3RfcmVzcG9uc2UYByABKAsyIy5hZ2VudC52MS5DcmVhdGVQbGFuUmVxdWVzdFJlc3BvbnNlSAASSQobc2V0dXBfdm1fZW52aXJvbm1lbnRfcmVzdWx0GAggASgLMiIuYWdlbnQudjEuU2V0dXBWbUVudmlyb25tZW50UmVzdWx0SABCCAoGcmVzdWx0IlwKG0Fza1F1ZXN0aW9uSW50ZXJhY3Rpb25RdWVyeRInCgRhcmdzGAEgASgLMhkuYWdlbnQudjEuQXNrUXVlc3Rpb25BcmdzEhQKDHRvb2xfY2FsbF9pZBgCIAEoCSJNCh5Bc2tRdWVzdGlvbkludGVyYWN0aW9uUmVzcG9uc2USKwoGcmVzdWx0GAEgASgLMhsuYWdlbnQudjEuQXNrUXVlc3Rpb25SZXN1bHQiEQoPQ2xpZW50SGVhcnRiZWF0IsYECg5QcmV3YXJtUmVxdWVzdBItCg1tb2RlbF9kZXRhaWxzGAEgASgLMhYuYWdlbnQudjEuTW9kZWxEZXRhaWxzEjYKD3JlcXVlc3RlZF9tb2RlbBgJIAEoCzIYLmFnZW50LnYxLlJlcXVlc3RlZE1vZGVsSACIAQESHAoPY29udmVyc2F0aW9uX2lkGAIgASgJSAGIAQESQAoSY29udmVyc2F0aW9uX3N0YXRlGAMgASgLMiQuYWdlbnQudjEuQ29udmVyc2F0aW9uU3RhdGVTdHJ1Y3R1cmUSJQoJbWNwX3Rvb2xzGAQgASgLMhIuYWdlbnQudjEuTWNwVG9vbHMSRAoXbWNwX2ZpbGVfc3lzdGVtX29wdGlvbnMYBSABKAsyHi5hZ2VudC52MS5NY3BGaWxlU3lzdGVtT3B0aW9uc0gCiAEBEh8KEmJlc3Rfb2Zfbl9ncm91cF9pZBgGIAEoCUgDiAEBEigKG3RyeV91c2VfYmVzdF9vZl9uX3Byb21vdGlvbhgHIAEoCEgEiAEBEiEKFGN1c3RvbV9zeXN0ZW1fcHJvbXB0GAggASgJSAWIAQFCEgoQX3JlcXVlc3RlZF9tb2RlbEISChBfY29udmVyc2F0aW9uX2lkQhoKGF9tY3BfZmlsZV9zeXN0ZW1fb3B0aW9uc0IVChNfYmVzdF9vZl9uX2dyb3VwX2lkQh4KHF90cnlfdXNlX2Jlc3Rfb2Zfbl9wcm9tb3Rpb25CFwoVX2N1c3RvbV9zeXN0ZW1fcHJvbXB0Ih0KD0V4ZWNTZXJ2ZXJBYm9ydBIKCgJpZBgBIAEoDSJRChhFeGVjU2VydmVyQ29udHJvbE1lc3NhZ2USKgoFYWJvcnQYASABKAsyGS5hZ2VudC52MS5FeGVjU2VydmVyQWJvcnRIAEIJCgdtZXNzYWdlIvgDChJBZ2VudENsaWVudE1lc3NhZ2USMAoLcnVuX3JlcXVlc3QYASABKAsyGS5hZ2VudC52MS5BZ2VudFJ1blJlcXVlc3RIABI6ChNleGVjX2NsaWVudF9tZXNzYWdlGAIgASgLMhsuYWdlbnQudjEuRXhlY0NsaWVudE1lc3NhZ2VIABJJChtleGVjX2NsaWVudF9jb250cm9sX21lc3NhZ2UYBSABKAsyIi5hZ2VudC52MS5FeGVjQ2xpZW50Q29udHJvbE1lc3NhZ2VIABI2ChFrdl9jbGllbnRfbWVzc2FnZRgDIAEoCzIZLmFnZW50LnYxLkt2Q2xpZW50TWVzc2FnZUgAEjsKE2NvbnZlcnNhdGlvbl9hY3Rpb24YBCABKAsyHC5hZ2VudC52MS5Db252ZXJzYXRpb25BY3Rpb25IABI9ChRpbnRlcmFjdGlvbl9yZXNwb25zZRgGIAEoCzIdLmFnZW50LnYxLkludGVyYWN0aW9uUmVzcG9uc2VIABI1ChBjbGllbnRfaGVhcnRiZWF0GAcgASgLMhkuYWdlbnQudjEuQ2xpZW50SGVhcnRiZWF0SAASMwoPcHJld2FybV9yZXF1ZXN0GAggASgLMhguYWdlbnQudjEuUHJld2FybVJlcXVlc3RIAEIJCgdtZXNzYWdlIqIDChJBZ2VudFNlcnZlck1lc3NhZ2USOQoSaW50ZXJhY3Rpb25fdXBkYXRlGAEgASgLMhsuYWdlbnQudjEuSW50ZXJhY3Rpb25VcGRhdGVIABI6ChNleGVjX3NlcnZlcl9tZXNzYWdlGAIgASgLMhsuYWdlbnQudjEuRXhlY1NlcnZlck1lc3NhZ2VIABJJChtleGVjX3NlcnZlcl9jb250cm9sX21lc3NhZ2UYBSABKAsyIi5hZ2VudC52MS5FeGVjU2VydmVyQ29udHJvbE1lc3NhZ2VIABJOCh5jb252ZXJzYXRpb25fY2hlY2twb2ludF91cGRhdGUYAyABKAsyJC5hZ2VudC52MS5Db252ZXJzYXRpb25TdGF0ZVN0cnVjdHVyZUgAEjYKEWt2X3NlcnZlcl9tZXNzYWdlGAQgASgLMhkuYWdlbnQudjEuS3ZTZXJ2ZXJNZXNzYWdlSAASNwoRaW50ZXJhY3Rpb25fcXVlcnkYByABKAsyGi5hZ2VudC52MS5JbnRlcmFjdGlvblF1ZXJ5SABCCQoHbWVzc2FnZSIoChBOYW1lQWdlbnRSZXF1ZXN0EhQKDHVzZXJfbWVzc2FnZRgBIAEoCSIhChFOYW1lQWdlbnRSZXNwb25zZRIMCgRuYW1lGAEgASgJIjIKFkdldFVzYWJsZU1vZGVsc1JlcXVlc3QSGAoQY3VzdG9tX21vZGVsX2lkcxgBIAMoCSJBChdHZXRVc2FibGVNb2RlbHNSZXNwb25zZRImCgZtb2RlbHMYASADKAsyFi5hZ2VudC52MS5Nb2RlbERldGFpbHMiHgocR2V0RGVmYXVsdE1vZGVsRm9yQ2xpUmVxdWVzdCJGCh1HZXREZWZhdWx0TW9kZWxGb3JDbGlSZXNwb25zZRIlCgVtb2RlbBgBIAEoCzIWLmFnZW50LnYxLk1vZGVsRGV0YWlscyIfCh1HZXRBbGxvd2VkTW9kZWxJbnRlbnRzUmVxdWVzdCI3Ch5HZXRBbGxvd2VkTW9kZWxJbnRlbnRzUmVzcG9uc2USFQoNbW9kZWxfaW50ZW50cxgBIAMoCSKXAgoTSWRlRWRpdG9yc1N0YXRlRmlsZRIVCg1yZWxhdGl2ZV9wYXRoGAEgASgJEhUKDWFic29sdXRlX3BhdGgYAiABKAkSIQoUaXNfY3VycmVudGx5X2ZvY3VzZWQYAyABKAhIAIgBARIgChNjdXJyZW50X2xpbmVfbnVtYmVyGAQgASgFSAGIAQESHgoRY3VycmVudF9saW5lX3RleHQYBSABKAlIAogBARIXCgpsaW5lX2NvdW50GAYgASgFSAOIAQFCFwoVX2lzX2N1cnJlbnRseV9mb2N1c2VkQhYKFF9jdXJyZW50X2xpbmVfbnVtYmVyQhQKEl9jdXJyZW50X2xpbmVfdGV4dEINCgtfbGluZV9jb3VudCJTChNJZGVFZGl0b3JzU3RhdGVMaXRlEjwKFXJlY2VudGx5X3ZpZXdlZF9maWxlcxgBIAMoCzIdLmFnZW50LnYxLklkZUVkaXRvcnNTdGF0ZUZpbGUidAoWQXBwbHlBZ2VudERpZmZUb29sQ2FsbBIqCgRhcmdzGAEgASgLMhwuYWdlbnQudjEuQXBwbHlBZ2VudERpZmZBcmdzEi4KBnJlc3VsdBgCIAEoCzIeLmFnZW50LnYxLkFwcGx5QWdlbnREaWZmUmVzdWx0IiYKEkFwcGx5QWdlbnREaWZmQXJncxIQCghhZ2VudF9pZBgBIAEoCSKEAQoUQXBwbHlBZ2VudERpZmZSZXN1bHQSMgoHc3VjY2VzcxgBIAEoCzIfLmFnZW50LnYxLkFwcGx5QWdlbnREaWZmU3VjY2Vzc0gAEi4KBWVycm9yGAIgASgLMh0uYWdlbnQudjEuQXBwbHlBZ2VudERpZmZFcnJvckgAQggKBnJlc3VsdCJOChVBcHBseUFnZW50RGlmZlN1Y2Nlc3MSNQoPYXBwbGllZF9jaGFuZ2VzGAEgAygLMhwuYWdlbnQudjEuQXBwbGllZEFnZW50Q2hhbmdlIukBChJBcHBsaWVkQWdlbnRDaGFuZ2USDAoEcGF0aBgBIAEoCRITCgtjaGFuZ2VfdHlwZRgCIAEoBRIbCg5iZWZvcmVfY29udGVudBgDIAEoCUgAiAEBEhoKDWFmdGVyX2NvbnRlbnQYBCABKAlIAYgBARISCgVlcnJvchgFIAEoCUgCiAEBEh4KEW1lc3NhZ2VfZm9yX21vZGVsGAYgASgJSAOIAQFCEQoPX2JlZm9yZV9jb250ZW50QhAKDl9hZnRlcl9jb250ZW50QggKBl9lcnJvckIUChJfbWVzc2FnZV9mb3JfbW9kZWwiWwoTQXBwbHlBZ2VudERpZmZFcnJvchINCgVlcnJvchgBIAEoCRI1Cg9hcHBsaWVkX2NoYW5nZXMYAiADKAsyHC5hZ2VudC52MS5BcHBsaWVkQWdlbnRDaGFuZ2UiawoTQXNrUXVlc3Rpb25Ub29sQ2FsbBInCgRhcmdzGAEgASgLMhkuYWdlbnQudjEuQXNrUXVlc3Rpb25BcmdzEisKBnJlc3VsdBgCIAEoCzIbLmFnZW50LnYxLkFza1F1ZXN0aW9uUmVzdWx0Io8BCg9Bc2tRdWVzdGlvbkFyZ3MSDQoFdGl0bGUYASABKAkSNQoJcXVlc3Rpb25zGAIgAygLMiIuYWdlbnQudjEuQXNrUXVlc3Rpb25BcmdzX1F1ZXN0aW9uEhEKCXJ1bl9hc3luYxgFIAEoCBIjChthc3luY19vcmlnaW5hbF90b29sX2NhbGxfaWQYBiABKAkigQEKGEFza1F1ZXN0aW9uQXJnc19RdWVzdGlvbhIKCgJpZBgBIAEoCRIOCgZwcm9tcHQYAiABKAkSMQoHb3B0aW9ucxgDIAMoCzIgLmFnZW50LnYxLkFza1F1ZXN0aW9uQXJnc19PcHRpb24SFgoOYWxsb3dfbXVsdGlwbGUYBCABKAgiMwoWQXNrUXVlc3Rpb25BcmdzX09wdGlvbhIKCgJpZBgBIAEoCRINCgVsYWJlbBgCIAEoCSISChBBc2tRdWVzdGlvbkFzeW5jItsBChFBc2tRdWVzdGlvblJlc3VsdBIvCgdzdWNjZXNzGAEgASgLMhwuYWdlbnQudjEuQXNrUXVlc3Rpb25TdWNjZXNzSAASKwoFZXJyb3IYAiABKAsyGi5hZ2VudC52MS5Bc2tRdWVzdGlvbkVycm9ySAASMQoIcmVqZWN0ZWQYAyABKAsyHS5hZ2VudC52MS5Bc2tRdWVzdGlvblJlamVjdGVkSAASKwoFYXN5bmMYBCABKAsyGi5hZ2VudC52MS5Bc2tRdWVzdGlvbkFzeW5jSABCCAoGcmVzdWx0IkoKEkFza1F1ZXN0aW9uU3VjY2VzcxI0CgdhbnN3ZXJzGAEgAygLMiMuYWdlbnQudjEuQXNrUXVlc3Rpb25TdWNjZXNzX0Fuc3dlciJNChlBc2tRdWVzdGlvblN1Y2Nlc3NfQW5zd2VyEhMKC3F1ZXN0aW9uX2lkGAEgASgJEhsKE3NlbGVjdGVkX29wdGlvbl9pZHMYAiADKAkiKQoQQXNrUXVlc3Rpb25FcnJvchIVCg1lcnJvcl9tZXNzYWdlGAEgASgJIiUKE0Fza1F1ZXN0aW9uUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIv0FChhCYWNrZ3JvdW5kU2hlbGxTcGF3bkFyZ3MSDwoHY29tbWFuZBgBIAEoCRIZChF3b3JraW5nX2RpcmVjdG9yeRgCIAEoCRIUCgx0b29sX2NhbGxfaWQYAyABKAkSOwoOcGFyc2luZ19yZXN1bHQYBCABKAsyIy5hZ2VudC52MS5TaGVsbENvbW1hbmRQYXJzaW5nUmVzdWx0EjQKDnNhbmRib3hfcG9saWN5GAUgASgLMhcuYWdlbnQudjEuU2FuZGJveFBvbGljeUgAiAEBEiUKHWVuYWJsZV93cml0ZV9zaGVsbF9zdGRpbl90b29sGAYgASgIEhgKC2Rlc2NyaXB0aW9uGAcgASgJSAGIAQESQQoRY2xhc3NpZmllcl9yZXN1bHQYCCABKAsyIS5hZ2VudC52MS5Db21tYW5kQ2xhc3NpZmllclJlc3VsdEgCiAEBEkkKE291dHB1dF9ub3RpZmljYXRpb24YCSABKAsyJy5hZ2VudC52MS5TaGVsbE91dHB1dE5vdGlmaWNhdGlvbkNvbmZpZ0gDiAEBEj0KE3NtYXJ0X21vZGVfYXBwcm92YWwYCiABKAsyGy5hZ2VudC52MS5TbWFydE1vZGVBcHByb3ZhbEgEiAEBEk4KGWhvb2tfYXBwcm92YWxfcmVxdWlyZW1lbnQYCyABKAsyJi5hZ2VudC52MS5TaGVsbEhvb2tBcHByb3ZhbFJlcXVpcmVtZW50SAWIAQESFQoNc2tpcF9hcHByb3ZhbBgMIAEoCBIcCg9jb252ZXJzYXRpb25faWQYDSABKAlIBogBAUIRCg9fc2FuZGJveF9wb2xpY3lCDgoMX2Rlc2NyaXB0aW9uQhQKEl9jbGFzc2lmaWVyX3Jlc3VsdEIWChRfb3V0cHV0X25vdGlmaWNhdGlvbkIWChRfc21hcnRfbW9kZV9hcHByb3ZhbEIcChpfaG9va19hcHByb3ZhbF9yZXF1aXJlbWVudEISChBfY29udmVyc2F0aW9uX2lkIoECChpCYWNrZ3JvdW5kU2hlbGxTcGF3blJlc3VsdBI4CgdzdWNjZXNzGAEgASgLMiUuYWdlbnQudjEuQmFja2dyb3VuZFNoZWxsU3Bhd25TdWNjZXNzSAASNAoFZXJyb3IYAiABKAsyIy5hZ2VudC52MS5CYWNrZ3JvdW5kU2hlbGxTcGF3bkVycm9ySAASKwoIcmVqZWN0ZWQYAyABKAsyFy5hZ2VudC52MS5TaGVsbFJlamVjdGVkSAASPAoRcGVybWlzc2lvbl9kZW5pZWQYBCABKAsyHy5hZ2VudC52MS5TaGVsbFBlcm1pc3Npb25EZW5pZWRIAEIICgZyZXN1bHQidQobQmFja2dyb3VuZFNoZWxsU3Bhd25TdWNjZXNzEhAKCHNoZWxsX2lkGAEgASgNEg8KB2NvbW1hbmQYAiABKAkSGQoRd29ya2luZ19kaXJlY3RvcnkYAyABKAkSEAoDcGlkGAQgASgNSACIAQFCBgoEX3BpZCJWChlCYWNrZ3JvdW5kU2hlbGxTcGF3bkVycm9yEg8KB2NvbW1hbmQYASABKAkSGQoRd29ya2luZ19kaXJlY3RvcnkYAiABKAkSDQoFZXJyb3IYAyABKAkiNgoTV3JpdGVTaGVsbFN0ZGluQXJncxIQCghzaGVsbF9pZBgBIAEoDRINCgVjaGFycxgCIAEoCSKHAQoVV3JpdGVTaGVsbFN0ZGluUmVzdWx0EjMKB3N1Y2Nlc3MYASABKAsyIC5hZ2VudC52MS5Xcml0ZVNoZWxsU3RkaW5TdWNjZXNzSAASLwoFZXJyb3IYAiABKAsyHi5hZ2VudC52MS5Xcml0ZVNoZWxsU3RkaW5FcnJvckgAQggKBnJlc3VsdCJdChZXcml0ZVNoZWxsU3RkaW5TdWNjZXNzEhAKCHNoZWxsX2lkGAEgASgNEjEKKXRlcm1pbmFsX2ZpbGVfbGVuZ3RoX2JlZm9yZV9pbnB1dF93cml0dGVuGAIgASgNIiUKFFdyaXRlU2hlbGxTdGRpbkVycm9yEg0KBWVycm9yGAEgASgJIiIKCkNvb3JkaW5hdGUSCQoBeBgBIAEoBRIJCgF5GAIgASgFIlUKD0NvbXB1dGVyVXNlQXJncxIUCgx0b29sX2NhbGxfaWQYASABKAkSLAoHYWN0aW9ucxgCIAMoCzIbLmFnZW50LnYxLkNvbXB1dGVyVXNlQWN0aW9uIoEEChFDb21wdXRlclVzZUFjdGlvbhIvCgptb3VzZV9tb3ZlGAEgASgLMhkuYWdlbnQudjEuTW91c2VNb3ZlQWN0aW9uSAASJgoFY2xpY2sYAiABKAsyFS5hZ2VudC52MS5DbGlja0FjdGlvbkgAEi8KCm1vdXNlX2Rvd24YAyABKAsyGS5hZ2VudC52MS5Nb3VzZURvd25BY3Rpb25IABIrCghtb3VzZV91cBgEIAEoCzIXLmFnZW50LnYxLk1vdXNlVXBBY3Rpb25IABIkCgRkcmFnGAUgASgLMhQuYWdlbnQudjEuRHJhZ0FjdGlvbkgAEigKBnNjcm9sbBgGIAEoCzIWLmFnZW50LnYxLlNjcm9sbEFjdGlvbkgAEiQKBHR5cGUYByABKAsyFC5hZ2VudC52MS5UeXBlQWN0aW9uSAASIgoDa2V5GAggASgLMhMuYWdlbnQudjEuS2V5QWN0aW9uSAASJAoEd2FpdBgJIAEoCzIULmFnZW50LnYxLldhaXRBY3Rpb25IABIwCgpzY3JlZW5zaG90GAogASgLMhouYWdlbnQudjEuU2NyZWVuc2hvdEFjdGlvbkgAEjkKD2N1cnNvcl9wb3NpdGlvbhgLIAEoCzIeLmFnZW50LnYxLkN1cnNvclBvc2l0aW9uQWN0aW9uSABCCAoGYWN0aW9uIjsKD01vdXNlTW92ZUFjdGlvbhIoCgpjb29yZGluYXRlGAEgASgLMhQuYWdlbnQudjEuQ29vcmRpbmF0ZSKYAQoLQ2xpY2tBY3Rpb24SLQoKY29vcmRpbmF0ZRgBIAEoCzIULmFnZW50LnYxLkNvb3JkaW5hdGVIAIgBARIOCgZidXR0b24YAiABKAUSDQoFY291bnQYAyABKAUSGgoNbW9kaWZpZXJfa2V5cxgEIAEoCUgBiAEBQg0KC19jb29yZGluYXRlQhAKDl9tb2RpZmllcl9rZXlzIiEKD01vdXNlRG93bkFjdGlvbhIOCgZidXR0b24YASABKAUiHwoNTW91c2VVcEFjdGlvbhIOCgZidXR0b24YASABKAUiQAoKRHJhZ0FjdGlvbhIiCgRwYXRoGAEgAygLMhQuYWdlbnQudjEuQ29vcmRpbmF0ZRIOCgZidXR0b24YAiABKAUinQEKDFNjcm9sbEFjdGlvbhItCgpjb29yZGluYXRlGAEgASgLMhQuYWdlbnQudjEuQ29vcmRpbmF0ZUgAiAEBEhEKCWRpcmVjdGlvbhgCIAEoBRIOCgZhbW91bnQYAyABKAUSGgoNbW9kaWZpZXJfa2V5cxgEIAEoCUgBiAEBQg0KC19jb29yZGluYXRlQhAKDl9tb2RpZmllcl9rZXlzIhoKClR5cGVBY3Rpb24SDAoEdGV4dBgBIAEoCSJMCglLZXlBY3Rpb24SCwoDa2V5GAEgASgJEh0KEGhvbGRfZHVyYXRpb25fbXMYAiABKAVIAIgBAUITChFfaG9sZF9kdXJhdGlvbl9tcyIhCgpXYWl0QWN0aW9uEhMKC2R1cmF0aW9uX21zGAEgASgFIhIKEFNjcmVlbnNob3RBY3Rpb24iFgoUQ3Vyc29yUG9zaXRpb25BY3Rpb24iewoRQ29tcHV0ZXJVc2VSZXN1bHQSLwoHc3VjY2VzcxgBIAEoCzIcLmFnZW50LnYxLkNvbXB1dGVyVXNlU3VjY2Vzc0gAEisKBWVycm9yGAIgASgLMhouYWdlbnQudjEuQ29tcHV0ZXJVc2VFcnJvckgAQggKBnJlc3VsdCL7AQoSQ29tcHV0ZXJVc2VTdWNjZXNzEhQKDGFjdGlvbl9jb3VudBgBIAEoBRITCgtkdXJhdGlvbl9tcxgCIAEoBRIXCgpzY3JlZW5zaG90GAMgASgJSACIAQESEAoDbG9nGAQgASgJSAGIAQESHAoPc2NyZWVuc2hvdF9wYXRoGAUgASgJSAKIAQESMgoPY3Vyc29yX3Bvc2l0aW9uGAYgASgLMhQuYWdlbnQudjEuQ29vcmRpbmF0ZUgDiAEBQg0KC19zY3JlZW5zaG90QgYKBF9sb2dCEgoQX3NjcmVlbnNob3RfcGF0aEISChBfY3Vyc29yX3Bvc2l0aW9uIsABChBDb21wdXRlclVzZUVycm9yEg0KBWVycm9yGAEgASgJEhQKDGFjdGlvbl9jb3VudBgCIAEoBRITCgtkdXJhdGlvbl9tcxgDIAEoBRIQCgNsb2cYBCABKAlIAIgBARIXCgpzY3JlZW5zaG90GAUgASgJSAGIAQESHAoPc2NyZWVuc2hvdF9wYXRoGAYgASgJSAKIAQFCBgoEX2xvZ0INCgtfc2NyZWVuc2hvdEISChBfc2NyZWVuc2hvdF9wYXRoImsKE0NvbXB1dGVyVXNlVG9vbENhbGwSJwoEYXJncxgBIAEoCzIZLmFnZW50LnYxLkNvbXB1dGVyVXNlQXJncxIrCgZyZXN1bHQYAiABKAsyGy5hZ2VudC52MS5Db21wdXRlclVzZVJlc3VsdCJoChJDcmVhdGVQbGFuVG9vbENhbGwSJgoEYXJncxgBIAEoCzIYLmFnZW50LnYxLkNyZWF0ZVBsYW5BcmdzEioKBnJlc3VsdBgCIAEoCzIaLmFnZW50LnYxLkNyZWF0ZVBsYW5SZXN1bHQiOAoFUGhhc2USDAoEbmFtZRgBIAEoCRIhCgV0b2RvcxgCIAMoCzISLmFnZW50LnYxLlRvZG9JdGVtIpYBCg5DcmVhdGVQbGFuQXJncxIMCgRwbGFuGAEgASgJEiEKBXRvZG9zGAIgAygLMhIuYWdlbnQudjEuVG9kb0l0ZW0SEAoIb3ZlcnZpZXcYAyABKAkSDAoEbmFtZRgEIAEoCRISCgppc19wcm9qZWN0GAUgASgIEh8KBnBoYXNlcxgGIAMoCzIPLmFnZW50LnYxLlBoYXNlIooBChBDcmVhdGVQbGFuUmVzdWx0EhAKCHBsYW5fdXJpGAMgASgJEi4KB3N1Y2Nlc3MYASABKAsyGy5hZ2VudC52MS5DcmVhdGVQbGFuU3VjY2Vzc0gAEioKBWVycm9yGAIgASgLMhkuYWdlbnQudjEuQ3JlYXRlUGxhbkVycm9ySABCCAoGcmVzdWx0IhMKEUNyZWF0ZVBsYW5TdWNjZXNzIiAKD0NyZWF0ZVBsYW5FcnJvchINCgVlcnJvchgBIAEoCSJWChZDcmVhdGVQbGFuUmVxdWVzdFF1ZXJ5EiYKBGFyZ3MYASABKAsyGC5hZ2VudC52MS5DcmVhdGVQbGFuQXJncxIUCgx0b29sX2NhbGxfaWQYAiABKAkiRwoZQ3JlYXRlUGxhblJlcXVlc3RSZXNwb25zZRIqCgZyZXN1bHQYASABKAsyGi5hZ2VudC52MS5DcmVhdGVQbGFuUmVzdWx0IhYKFEN1cnNvclJ1bGVUeXBlR2xvYmFsIigKF0N1cnNvclJ1bGVUeXBlRmlsZUdsb2JzEg0KBWdsb2JzGAEgAygJIjEKGkN1cnNvclJ1bGVUeXBlQWdlbnRGZXRjaGVkEhMKC2Rlc2NyaXB0aW9uGAEgASgJIiAKHkN1cnNvclJ1bGVUeXBlTWFudWFsbHlBdHRhY2hlZCKLAgoOQ3Vyc29yUnVsZVR5cGUSMAoGZ2xvYmFsGAEgASgLMh4uYWdlbnQudjEuQ3Vyc29yUnVsZVR5cGVHbG9iYWxIABI5CgxmaWxlX2dsb2JiZWQYAiABKAsyIS5hZ2VudC52MS5DdXJzb3JSdWxlVHlwZUZpbGVHbG9ic0gAEj0KDWFnZW50X2ZldGNoZWQYAyABKAsyJC5hZ2VudC52MS5DdXJzb3JSdWxlVHlwZUFnZW50RmV0Y2hlZEgAEkUKEW1hbnVhbGx5X2F0dGFjaGVkGAQgASgLMiguYWdlbnQudjEuQ3Vyc29yUnVsZVR5cGVNYW51YWxseUF0dGFjaGVkSABCBgoEdHlwZSLIAQoKQ3Vyc29yUnVsZRIRCglmdWxsX3BhdGgYASABKAkSDwoHY29udGVudBgCIAEoCRImCgR0eXBlGAMgASgLMhguYWdlbnQudjEuQ3Vyc29yUnVsZVR5cGUSDgoGc291cmNlGAQgASgFEh4KEWdpdF9yZW1vdGVfb3JpZ2luGAUgASgJSACIAQESGAoLcGFyc2VfZXJyb3IYBiABKAlIAYgBAUIUChJfZ2l0X3JlbW90ZV9vcmlnaW5CDgoMX3BhcnNlX2Vycm9yIjAKCkRlbGV0ZUFyZ3MSDAoEcGF0aBgBIAEoCRIUCgx0b29sX2NhbGxfaWQYAiABKAki7QIKDERlbGV0ZVJlc3VsdBIqCgdzdWNjZXNzGAEgASgLMhcuYWdlbnQudjEuRGVsZXRlU3VjY2Vzc0gAEjYKDmZpbGVfbm90X2ZvdW5kGAIgASgLMhwuYWdlbnQudjEuRGVsZXRlRmlsZU5vdEZvdW5kSAASKwoIbm90X2ZpbGUYAyABKAsyFy5hZ2VudC52MS5EZWxldGVOb3RGaWxlSAASPQoRcGVybWlzc2lvbl9kZW5pZWQYBCABKAsyIC5hZ2VudC52MS5EZWxldGVQZXJtaXNzaW9uRGVuaWVkSAASLQoJZmlsZV9idXN5GAUgASgLMhguYWdlbnQudjEuRGVsZXRlRmlsZUJ1c3lIABIsCghyZWplY3RlZBgGIAEoCzIYLmFnZW50LnYxLkRlbGV0ZVJlamVjdGVkSAASJgoFZXJyb3IYByABKAsyFS5hZ2VudC52MS5EZWxldGVFcnJvckgAQggKBnJlc3VsdCJcCg1EZWxldGVTdWNjZXNzEgwKBHBhdGgYASABKAkSFAoMZGVsZXRlZF9maWxlGAIgASgJEhEKCWZpbGVfc2l6ZRgDIAEoAxIUCgxwcmV2X2NvbnRlbnQYBCABKAkiIgoSRGVsZXRlRmlsZU5vdEZvdW5kEgwKBHBhdGgYASABKAkiMgoNRGVsZXRlTm90RmlsZRIMCgRwYXRoGAEgASgJEhMKC2FjdHVhbF90eXBlGAIgASgJIlkKFkRlbGV0ZVBlcm1pc3Npb25EZW5pZWQSDAoEcGF0aBgBIAEoCRIcChRjbGllbnRfdmlzaWJsZV9lcnJvchgCIAEoCRITCgtpc19yZWFkb25seRgDIAEoCCIeCg5EZWxldGVGaWxlQnVzeRIMCgRwYXRoGAEgASgJIi4KDkRlbGV0ZVJlamVjdGVkEgwKBHBhdGgYASABKAkSDgoGcmVhc29uGAIgASgJIioKC0RlbGV0ZUVycm9yEgwKBHBhdGgYASABKAkSDQoFZXJyb3IYAiABKAkiXAoORGVsZXRlVG9vbENhbGwSIgoEYXJncxgBIAEoCzIULmFnZW50LnYxLkRlbGV0ZUFyZ3MSJgoGcmVzdWx0GAIgASgLMhYuYWdlbnQudjEuRGVsZXRlUmVzdWx0IjUKD0RpYWdub3N0aWNzQXJncxIMCgRwYXRoGAEgASgJEhQKDHRvb2xfY2FsbF9pZBgCIAEoCSKvAgoRRGlhZ25vc3RpY3NSZXN1bHQSLwoHc3VjY2VzcxgBIAEoCzIcLmFnZW50LnYxLkRpYWdub3N0aWNzU3VjY2Vzc0gAEisKBWVycm9yGAIgASgLMhouYWdlbnQudjEuRGlhZ25vc3RpY3NFcnJvckgAEjEKCHJlamVjdGVkGAMgASgLMh0uYWdlbnQudjEuRGlhZ25vc3RpY3NSZWplY3RlZEgAEjsKDmZpbGVfbm90X2ZvdW5kGAQgASgLMiEuYWdlbnQudjEuRGlhZ25vc3RpY3NGaWxlTm90Rm91bmRIABJCChFwZXJtaXNzaW9uX2RlbmllZBgFIAEoCzIlLmFnZW50LnYxLkRpYWdub3N0aWNzUGVybWlzc2lvbkRlbmllZEgAQggKBnJlc3VsdCJoChJEaWFnbm9zdGljc1N1Y2Nlc3MSDAoEcGF0aBgBIAEoCRIpCgtkaWFnbm9zdGljcxgCIAMoCzIULmFnZW50LnYxLkRpYWdub3N0aWMSGQoRdG90YWxfZGlhZ25vc3RpY3MYAyABKAUifwoKRGlhZ25vc3RpYxIQCghzZXZlcml0eRgBIAEoBRIeCgVyYW5nZRgCIAEoCzIPLmFnZW50LnYxLlJhbmdlEg8KB21lc3NhZ2UYAyABKAkSDgoGc291cmNlGAQgASgJEgwKBGNvZGUYBSABKAkSEAoIaXNfc3RhbGUYBiABKAgiLwoQRGlhZ25vc3RpY3NFcnJvchIMCgRwYXRoGAEgASgJEg0KBWVycm9yGAIgASgJIjMKE0RpYWdub3N0aWNzUmVqZWN0ZWQSDAoEcGF0aBgBIAEoCRIOCgZyZWFzb24YAiABKAkiJwoXRGlhZ25vc3RpY3NGaWxlTm90Rm91bmQSDAoEcGF0aBgBIAEoCSIrChtEaWFnbm9zdGljc1Blcm1pc3Npb25EZW5pZWQSDAoEcGF0aBgBIAEoCSJICghFZGl0QXJncxIMCgRwYXRoGAEgASgJEhsKDnN0cmVhbV9jb250ZW50GAYgASgJSACIAQFCEQoPX3N0cmVhbV9jb250ZW50ItYCCgpFZGl0UmVzdWx0EigKB3N1Y2Nlc3MYASABKAsyFS5hZ2VudC52MS5FZGl0U3VjY2Vzc0gAEjQKDmZpbGVfbm90X2ZvdW5kGAIgASgLMhouYWdlbnQudjEuRWRpdEZpbGVOb3RGb3VuZEgAEkQKFnJlYWRfcGVybWlzc2lvbl9kZW5pZWQYAyABKAsyIi5hZ2VudC52MS5FZGl0UmVhZFBlcm1pc3Npb25EZW5pZWRIABJGChd3cml0ZV9wZXJtaXNzaW9uX2RlbmllZBgEIAEoCzIjLmFnZW50LnYxLkVkaXRXcml0ZVBlcm1pc3Npb25EZW5pZWRIABIqCghyZWplY3RlZBgGIAEoCzIWLmFnZW50LnYxLkVkaXRSZWplY3RlZEgAEiQKBWVycm9yGAcgASgLMhMuYWdlbnQudjEuRWRpdEVycm9ySABCCAoGcmVzdWx0IqQCCgtFZGl0U3VjY2VzcxIMCgRwYXRoGAEgASgJEhgKC2xpbmVzX2FkZGVkGAMgASgFSACIAQESGgoNbGluZXNfcmVtb3ZlZBgEIAEoBUgBiAEBEhgKC2RpZmZfc3RyaW5nGAUgASgJSAKIAQESJQoYYmVmb3JlX2Z1bGxfZmlsZV9jb250ZW50GAYgASgJSAOIAQESHwoXYWZ0ZXJfZnVsbF9maWxlX2NvbnRlbnQYByABKAkSFAoHbWVzc2FnZRgIIAEoCUgEiAEBQg4KDF9saW5lc19hZGRlZEIQCg5fbGluZXNfcmVtb3ZlZEIOCgxfZGlmZl9zdHJpbmdCGwoZX2JlZm9yZV9mdWxsX2ZpbGVfY29udGVudEIKCghfbWVzc2FnZSIgChBFZGl0RmlsZU5vdEZvdW5kEgwKBHBhdGgYASABKAkiKAoYRWRpdFJlYWRQZXJtaXNzaW9uRGVuaWVkEgwKBHBhdGgYASABKAkiTQoZRWRpdFdyaXRlUGVybWlzc2lvbkRlbmllZBIMCgRwYXRoGAEgASgJEg0KBWVycm9yGAIgASgJEhMKC2lzX3JlYWRvbmx5GAMgASgIIiwKDEVkaXRSZWplY3RlZBIMCgRwYXRoGAEgASgJEg4KBnJlYXNvbhgCIAEoCSJiCglFZGl0RXJyb3ISDAoEcGF0aBgBIAEoCRINCgVlcnJvchgCIAEoCRIgChNtb2RlbF92aXNpYmxlX2Vycm9yGAUgASgJSACIAQFCFgoUX21vZGVsX3Zpc2libGVfZXJyb3IiVgoMRWRpdFRvb2xDYWxsEiAKBGFyZ3MYASABKAsyEi5hZ2VudC52MS5FZGl0QXJncxIkCgZyZXN1bHQYAiABKAsyFC5hZ2VudC52MS5FZGl0UmVzdWx0IjEKEUVkaXRUb29sQ2FsbERlbHRhEhwKFHN0cmVhbV9jb250ZW50X2RlbHRhGAEgASgJIjEKDEV4YUZldGNoQXJncxILCgNpZHMYASADKAkSFAoMdG9vbF9jYWxsX2lkGAIgASgJIqIBCg5FeGFGZXRjaFJlc3VsdBIsCgdzdWNjZXNzGAEgASgLMhkuYWdlbnQudjEuRXhhRmV0Y2hTdWNjZXNzSAASKAoFZXJyb3IYAiABKAsyFy5hZ2VudC52MS5FeGFGZXRjaEVycm9ySAASLgoIcmVqZWN0ZWQYAyABKAsyGi5hZ2VudC52MS5FeGFGZXRjaFJlamVjdGVkSABCCAoGcmVzdWx0Ij4KD0V4YUZldGNoU3VjY2VzcxIrCghjb250ZW50cxgBIAMoCzIZLmFnZW50LnYxLkV4YUZldGNoQ29udGVudCIeCg1FeGFGZXRjaEVycm9yEg0KBWVycm9yGAEgASgJIiIKEEV4YUZldGNoUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIlMKD0V4YUZldGNoQ29udGVudBINCgV0aXRsZRgBIAEoCRILCgN1cmwYAiABKAkSDAoEdGV4dBgDIAEoCRIWCg5wdWJsaXNoZWRfZGF0ZRgEIAEoCSJiChBFeGFGZXRjaFRvb2xDYWxsEiQKBGFyZ3MYASABKAsyFi5hZ2VudC52MS5FeGFGZXRjaEFyZ3MSKAoGcmVzdWx0GAIgASgLMhguYWdlbnQudjEuRXhhRmV0Y2hSZXN1bHQiPAoURXhhRmV0Y2hSZXF1ZXN0UXVlcnkSJAoEYXJncxgBIAEoCzIWLmFnZW50LnYxLkV4YUZldGNoQXJncyKjAQoXRXhhRmV0Y2hSZXF1ZXN0UmVzcG9uc2USPgoIYXBwcm92ZWQYASABKAsyKi5hZ2VudC52MS5FeGFGZXRjaFJlcXVlc3RSZXNwb25zZV9BcHByb3ZlZEgAEj4KCHJlamVjdGVkGAIgASgLMiouYWdlbnQudjEuRXhhRmV0Y2hSZXF1ZXN0UmVzcG9uc2VfUmVqZWN0ZWRIAEIICgZyZXN1bHQiIgogRXhhRmV0Y2hSZXF1ZXN0UmVzcG9uc2VfQXBwcm92ZWQiMgogRXhhRmV0Y2hSZXF1ZXN0UmVzcG9uc2VfUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIlcKDUV4YVNlYXJjaEFyZ3MSDQoFcXVlcnkYASABKAkSDAoEdHlwZRgCIAEoCRITCgtudW1fcmVzdWx0cxgDIAEoBRIUCgx0b29sX2NhbGxfaWQYBCABKAkipgEKD0V4YVNlYXJjaFJlc3VsdBItCgdzdWNjZXNzGAEgASgLMhouYWdlbnQudjEuRXhhU2VhcmNoU3VjY2Vzc0gAEikKBWVycm9yGAIgASgLMhguYWdlbnQudjEuRXhhU2VhcmNoRXJyb3JIABIvCghyZWplY3RlZBgDIAEoCzIbLmFnZW50LnYxLkV4YVNlYXJjaFJlamVjdGVkSABCCAoGcmVzdWx0IkQKEEV4YVNlYXJjaFN1Y2Nlc3MSMAoKcmVmZXJlbmNlcxgBIAMoCzIcLmFnZW50LnYxLkV4YVNlYXJjaFJlZmVyZW5jZSIfCg5FeGFTZWFyY2hFcnJvchINCgVlcnJvchgBIAEoCSIjChFFeGFTZWFyY2hSZWplY3RlZBIOCgZyZWFzb24YASABKAkiVgoSRXhhU2VhcmNoUmVmZXJlbmNlEg0KBXRpdGxlGAEgASgJEgsKA3VybBgCIAEoCRIMCgR0ZXh0GAMgASgJEhYKDnB1Ymxpc2hlZF9kYXRlGAQgASgJImUKEUV4YVNlYXJjaFRvb2xDYWxsEiUKBGFyZ3MYASABKAsyFy5hZ2VudC52MS5FeGFTZWFyY2hBcmdzEikKBnJlc3VsdBgCIAEoCzIZLmFnZW50LnYxLkV4YVNlYXJjaFJlc3VsdCI+ChVFeGFTZWFyY2hSZXF1ZXN0UXVlcnkSJQoEYXJncxgBIAEoCzIXLmFnZW50LnYxLkV4YVNlYXJjaEFyZ3MipgEKGEV4YVNlYXJjaFJlcXVlc3RSZXNwb25zZRI/CghhcHByb3ZlZBgBIAEoCzIrLmFnZW50LnYxLkV4YVNlYXJjaFJlcXVlc3RSZXNwb25zZV9BcHByb3ZlZEgAEj8KCHJlamVjdGVkGAIgASgLMisuYWdlbnQudjEuRXhhU2VhcmNoUmVxdWVzdFJlc3BvbnNlX1JlamVjdGVkSABCCAoGcmVzdWx0IiMKIUV4YVNlYXJjaFJlcXVlc3RSZXNwb25zZV9BcHByb3ZlZCIzCiFFeGFTZWFyY2hSZXF1ZXN0UmVzcG9uc2VfUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIiMKFUV4ZWNDbGllbnRTdHJlYW1DbG9zZRIKCgJpZBgBIAEoDSJ+Cg9FeGVjQ2xpZW50VGhyb3cSCgoCaWQYASABKA0SDQoFZXJyb3IYAiABKAkSGAoLc3RhY2tfdHJhY2UYAyABKAlIAIgBARIXCgplcnJvcl9jb2RlGAQgASgJSAGIAQFCDgoMX3N0YWNrX3RyYWNlQg0KC19lcnJvcl9jb2RlIiEKE0V4ZWNDbGllbnRIZWFydGJlYXQSCgoCaWQYASABKA0ivgEKGEV4ZWNDbGllbnRDb250cm9sTWVzc2FnZRI3CgxzdHJlYW1fY2xvc2UYASABKAsyHy5hZ2VudC52MS5FeGVjQ2xpZW50U3RyZWFtQ2xvc2VIABIqCgV0aHJvdxgCIAEoCzIZLmFnZW50LnYxLkV4ZWNDbGllbnRUaHJvd0gAEjIKCWhlYXJ0YmVhdBgDIAEoCzIdLmFnZW50LnYxLkV4ZWNDbGllbnRIZWFydGJlYXRIAEIJCgdtZXNzYWdlIoQBCgtTcGFuQ29udGV4dBIQCgh0cmFjZV9pZBgBIAEoCRIPCgdzcGFuX2lkGAIgASgJEhgKC3RyYWNlX2ZsYWdzGAMgASgNSACIAQESGAoLdHJhY2Vfc3RhdGUYBCABKAlIAYgBAUIOCgxfdHJhY2VfZmxhZ3NCDgoMX3RyYWNlX3N0YXRlIgsKCUFib3J0QXJncyINCgtBYm9ydFJlc3VsdCLaEwoRRXhlY1NlcnZlck1lc3NhZ2USCgoCaWQYASABKA0SDwoHZXhlY19pZBgPIAEoCRIwCgxzcGFuX2NvbnRleHQYEyABKAsyFS5hZ2VudC52MS5TcGFuQ29udGV4dEgBiAEBEikKCnNoZWxsX2FyZ3MYAiABKAsyEy5hZ2VudC52MS5TaGVsbEFyZ3NIABIpCgp3cml0ZV9hcmdzGAMgASgLMhMuYWdlbnQudjEuV3JpdGVBcmdzSAASKwoLZGVsZXRlX2FyZ3MYBCABKAsyFC5hZ2VudC52MS5EZWxldGVBcmdzSAASJwoJZ3JlcF9hcmdzGAUgASgLMhIuYWdlbnQudjEuR3JlcEFyZ3NIABInCglyZWFkX2FyZ3MYByABKAsyEi5hZ2VudC52MS5SZWFkQXJnc0gAEiMKB2xzX2FyZ3MYCCABKAsyEC5hZ2VudC52MS5Mc0FyZ3NIABI1ChBkaWFnbm9zdGljc19hcmdzGAkgASgLMhkuYWdlbnQudjEuRGlhZ25vc3RpY3NBcmdzSAASPAoUcmVxdWVzdF9jb250ZXh0X2FyZ3MYCiABKAsyHC5hZ2VudC52MS5SZXF1ZXN0Q29udGV4dEFyZ3NIABIlCghtY3BfYXJncxgLIAEoCzIRLmFnZW50LnYxLk1jcEFyZ3NIABIwChFzaGVsbF9zdHJlYW1fYXJncxgOIAEoCzITLmFnZW50LnYxLlNoZWxsQXJnc0gAEkkKG2JhY2tncm91bmRfc2hlbGxfc3Bhd25fYXJncxgQIAEoCzIiLmFnZW50LnYxLkJhY2tncm91bmRTaGVsbFNwYXduQXJnc0gAEkoKHGxpc3RfbWNwX3Jlc291cmNlc19leGVjX2FyZ3MYESABKAsyIi5hZ2VudC52MS5MaXN0TWNwUmVzb3VyY2VzRXhlY0FyZ3NIABJIChtyZWFkX21jcF9yZXNvdXJjZV9leGVjX2FyZ3MYEiABKAsyIS5hZ2VudC52MS5SZWFkTWNwUmVzb3VyY2VFeGVjQXJnc0gAEikKCmZldGNoX2FyZ3MYFCABKAsyEy5hZ2VudC52MS5GZXRjaEFyZ3NIABI4ChJyZWNvcmRfc2NyZWVuX2FyZ3MYFSABKAsyGi5hZ2VudC52MS5SZWNvcmRTY3JlZW5BcmdzSAASNgoRY29tcHV0ZXJfdXNlX2FyZ3MYFiABKAsyGS5hZ2VudC52MS5Db21wdXRlclVzZUFyZ3NIABI/ChZ3cml0ZV9zaGVsbF9zdGRpbl9hcmdzGBcgASgLMh0uYWdlbnQudjEuV3JpdGVTaGVsbFN0ZGluQXJnc0gAEjAKEnJlZGFjdGVkX3JlYWRfYXJncxgdIAEoCzISLmFnZW50LnYxLlJlYWRBcmdzSAASOQoTbWNwX3N0YXRlX2V4ZWNfYXJncxgkIAEoCzIaLmFnZW50LnYxLk1jcFN0YXRlRXhlY0FyZ3NIABI2ChFleGVjdXRlX2hvb2tfYXJncxgbIAEoCzIZLmFnZW50LnYxLkV4ZWN1dGVIb29rQXJnc0gAEi8KDXN1YmFnZW50X2FyZ3MYHCABKAsyFi5hZ2VudC52MS5TdWJhZ2VudEFyZ3NIABJJChtmb3JjZV9iYWNrZ3JvdW5kX3NoZWxsX2FyZ3MYHiABKAsyIi5hZ2VudC52MS5Gb3JjZUJhY2tncm91bmRTaGVsbEFyZ3NIABJPCh5mb3JjZV9iYWNrZ3JvdW5kX3N1YmFnZW50X2FyZ3MYHyABKAsyJS5hZ2VudC52MS5Gb3JjZUJhY2tncm91bmRTdWJhZ2VudEFyZ3NIABI6ChNzdWJhZ2VudF9hd2FpdF9hcmdzGCUgASgLMhsuYWdlbnQudjEuU3ViYWdlbnRBd2FpdEFyZ3NIABJHChpzbWFydF9tb2RlX2NsYXNzaWZpZXJfYXJncxgmIAEoCzIhLmFnZW50LnYxLlNtYXJ0TW9kZUNsYXNzaWZpZXJBcmdzSAASQgoXY2FudmFzX2RpYWdub3N0aWNzX2FyZ3MYKCABKAsyHy5hZ2VudC52MS5DYW52YXNEaWFnbm9zdGljc0FyZ3NIABJNCh1zaGVsbF9hbGxvd2xpc3RfcHJlY2hlY2tfYXJncxgpIAEoCzIkLmFnZW50LnYxLlNoZWxsQWxsb3dsaXN0UHJlY2hlY2tBcmdzSAASSQobbWNwX2FsbG93bGlzdF9wcmVjaGVja19hcmdzGCogASgLMiIuYWdlbnQudjEuTWNwQWxsb3dsaXN0UHJlY2hlY2tBcmdzSAASVAohd2ViX2ZldGNoX2FsbG93bGlzdF9wcmVjaGVja19hcmdzGCsgASgLMicuYWdlbnQudjEuV2ViRmV0Y2hBbGxvd2xpc3RQcmVjaGVja0FyZ3NIABI0ChBnaXRfZGlmZl9yZXF1ZXN0GCwgASgLMhguYWdlbnQudjEuR2V0RGlmZlJlcXVlc3RIABIwCgxwaV9yZWFkX2FyZ3MYLSABKAsyGC5hZ2VudC52MS5QaVJlYWRFeGVjQXJnc0gAEjAKDHBpX2Jhc2hfYXJncxguIAEoCzIYLmFnZW50LnYxLlBpQmFzaEV4ZWNBcmdzSAASMAoMcGlfZWRpdF9hcmdzGC8gASgLMhguYWdlbnQudjEuUGlFZGl0RXhlY0FyZ3NIABIyCg1waV93cml0ZV9hcmdzGDAgASgLMhkuYWdlbnQudjEuUGlXcml0ZUV4ZWNBcmdzSAASMAoMcGlfZ3JlcF9hcmdzGDEgASgLMhguYWdlbnQudjEuUGlHcmVwRXhlY0FyZ3NIABIwCgxwaV9maW5kX2FyZ3MYMiABKAsyGC5hZ2VudC52MS5QaUZpbmRFeGVjQXJnc0gAEiwKCnBpX2xzX2FyZ3MYMyABKAsyFi5hZ2VudC52MS5QaUxzRXhlY0FyZ3NIABI3ChhtaW5pX3N3ZV9hZ2VudF9iYXNoX2FyZ3MYNCABKAsyEy5hZ2VudC52MS5TaGVsbEFyZ3NIABJEChhjb252ZXJzYXRpb25fc2VhcmNoX2FyZ3MYNSABKAsyIC5hZ2VudC52MS5Db252ZXJzYXRpb25TZWFyY2hBcmdzSAASRQoZYWdlbnRfc3RvcmVfY29uZmxpY3RfYXJncxg2IAEoCzIgLmFnZW50LnYxLkFnZW50U3RvcmVDb25mbGljdEFyZ3NIABIsCh9hY2NlcHRfaG9va19hZGRpdGlvbmFsX2NvbnRleHRzGDcgASgISAKIAQFCCQoHbWVzc2FnZUIPCg1fc3Bhbl9jb250ZXh0QiIKIF9hY2NlcHRfaG9va19hZGRpdGlvbmFsX2NvbnRleHRzIuEUChFFeGVjQ2xpZW50TWVzc2FnZRIKCgJpZBgBIAEoDRIPCgdleGVjX2lkGA8gASgJEi0KDHNoZWxsX3Jlc3VsdBgCIAEoCzIVLmFnZW50LnYxLlNoZWxsUmVzdWx0SAASLQoMd3JpdGVfcmVzdWx0GAMgASgLMhUuYWdlbnQudjEuV3JpdGVSZXN1bHRIABIvCg1kZWxldGVfcmVzdWx0GAQgASgLMhYuYWdlbnQudjEuRGVsZXRlUmVzdWx0SAASKwoLZ3JlcF9yZXN1bHQYBSABKAsyFC5hZ2VudC52MS5HcmVwUmVzdWx0SAASKwoLcmVhZF9yZXN1bHQYByABKAsyFC5hZ2VudC52MS5SZWFkUmVzdWx0SAASJwoJbHNfcmVzdWx0GAggASgLMhIuYWdlbnQudjEuTHNSZXN1bHRIABI5ChJkaWFnbm9zdGljc19yZXN1bHQYCSABKAsyGy5hZ2VudC52MS5EaWFnbm9zdGljc1Jlc3VsdEgAEkAKFnJlcXVlc3RfY29udGV4dF9yZXN1bHQYCiABKAsyHi5hZ2VudC52MS5SZXF1ZXN0Q29udGV4dFJlc3VsdEgAEikKCm1jcF9yZXN1bHQYCyABKAsyEy5hZ2VudC52MS5NY3BSZXN1bHRIABItCgxzaGVsbF9zdHJlYW0YDiABKAsyFS5hZ2VudC52MS5TaGVsbFN0cmVhbUgAEk0KHWJhY2tncm91bmRfc2hlbGxfc3Bhd25fcmVzdWx0GBAgASgLMiQuYWdlbnQudjEuQmFja2dyb3VuZFNoZWxsU3Bhd25SZXN1bHRIABJOCh5saXN0X21jcF9yZXNvdXJjZXNfZXhlY19yZXN1bHQYESABKAsyJC5hZ2VudC52MS5MaXN0TWNwUmVzb3VyY2VzRXhlY1Jlc3VsdEgAEkwKHXJlYWRfbWNwX3Jlc291cmNlX2V4ZWNfcmVzdWx0GBIgASgLMiMuYWdlbnQudjEuUmVhZE1jcFJlc291cmNlRXhlY1Jlc3VsdEgAEi0KDGZldGNoX3Jlc3VsdBgUIAEoCzIVLmFnZW50LnYxLkZldGNoUmVzdWx0SAASPAoUcmVjb3JkX3NjcmVlbl9yZXN1bHQYFSABKAsyHC5hZ2VudC52MS5SZWNvcmRTY3JlZW5SZXN1bHRIABI6ChNjb21wdXRlcl91c2VfcmVzdWx0GBYgASgLMhsuYWdlbnQudjEuQ29tcHV0ZXJVc2VSZXN1bHRIABJDChh3cml0ZV9zaGVsbF9zdGRpbl9yZXN1bHQYFyABKAsyHy5hZ2VudC52MS5Xcml0ZVNoZWxsU3RkaW5SZXN1bHRIABI0ChRyZWRhY3RlZF9yZWFkX3Jlc3VsdBgdIAEoCzIULmFnZW50LnYxLlJlYWRSZXN1bHRIABI9ChVtY3Bfc3RhdGVfZXhlY19yZXN1bHQYJCABKAsyHC5hZ2VudC52MS5NY3BTdGF0ZUV4ZWNSZXN1bHRIABI6ChNleGVjdXRlX2hvb2tfcmVzdWx0GBsgASgLMhsuYWdlbnQudjEuRXhlY3V0ZUhvb2tSZXN1bHRIABIzCg9zdWJhZ2VudF9yZXN1bHQYHCABKAsyGC5hZ2VudC52MS5TdWJhZ2VudFJlc3VsdEgAEk0KHWZvcmNlX2JhY2tncm91bmRfc2hlbGxfcmVzdWx0GB4gASgLMiQuYWdlbnQudjEuRm9yY2VCYWNrZ3JvdW5kU2hlbGxSZXN1bHRIABJTCiBmb3JjZV9iYWNrZ3JvdW5kX3N1YmFnZW50X3Jlc3VsdBgfIAEoCzInLmFnZW50LnYxLkZvcmNlQmFja2dyb3VuZFN1YmFnZW50UmVzdWx0SAASPgoVc3ViYWdlbnRfYXdhaXRfcmVzdWx0GCUgASgLMh0uYWdlbnQudjEuU3ViYWdlbnRBd2FpdFJlc3VsdEgAEksKHHNtYXJ0X21vZGVfY2xhc3NpZmllcl9yZXN1bHQYJiABKAsyIy5hZ2VudC52MS5TbWFydE1vZGVDbGFzc2lmaWVyUmVzdWx0SAASRgoZY2FudmFzX2RpYWdub3N0aWNzX3Jlc3VsdBgoIAEoCzIhLmFnZW50LnYxLkNhbnZhc0RpYWdub3N0aWNzUmVzdWx0SAASUQofc2hlbGxfYWxsb3dsaXN0X3ByZWNoZWNrX3Jlc3VsdBgpIAEoCzImLmFnZW50LnYxLlNoZWxsQWxsb3dsaXN0UHJlY2hlY2tSZXN1bHRIABJNCh1tY3BfYWxsb3dsaXN0X3ByZWNoZWNrX3Jlc3VsdBgqIAEoCzIkLmFnZW50LnYxLk1jcEFsbG93bGlzdFByZWNoZWNrUmVzdWx0SAASWAojd2ViX2ZldGNoX2FsbG93bGlzdF9wcmVjaGVja19yZXN1bHQYKyABKAsyKS5hZ2VudC52MS5XZWJGZXRjaEFsbG93bGlzdFByZWNoZWNrUmVzdWx0SAASNgoRZ2l0X2RpZmZfcmVzcG9uc2UYLCABKAsyGS5hZ2VudC52MS5HZXREaWZmUmVzcG9uc2VIABI0Cg5waV9yZWFkX3Jlc3VsdBguIAEoCzIaLmFnZW50LnYxLlBpUmVhZEV4ZWNSZXN1bHRIABI0Cg5waV9iYXNoX3Jlc3VsdBgvIAEoCzIaLmFnZW50LnYxLlBpQmFzaEV4ZWNSZXN1bHRIABI0Cg5waV9lZGl0X3Jlc3VsdBgwIAEoCzIaLmFnZW50LnYxLlBpRWRpdEV4ZWNSZXN1bHRIABI2Cg9waV93cml0ZV9yZXN1bHQYMSABKAsyGy5hZ2VudC52MS5QaVdyaXRlRXhlY1Jlc3VsdEgAEjQKDnBpX2dyZXBfcmVzdWx0GDIgASgLMhouYWdlbnQudjEuUGlHcmVwRXhlY1Jlc3VsdEgAEjQKDnBpX2ZpbmRfcmVzdWx0GDMgASgLMhouYWdlbnQudjEuUGlGaW5kRXhlY1Jlc3VsdEgAEjAKDHBpX2xzX3Jlc3VsdBg0IAEoCzIYLmFnZW50LnYxLlBpTHNFeGVjUmVzdWx0SAASSAoaY29udmVyc2F0aW9uX3NlYXJjaF9yZXN1bHQYNSABKAsyIi5hZ2VudC52MS5Db252ZXJzYXRpb25TZWFyY2hSZXN1bHRIABJJChthZ2VudF9zdG9yZV9jb25mbGljdF9yZXN1bHQYNiABKAsyIi5hZ2VudC52MS5BZ2VudFN0b3JlQ29uZmxpY3RSZXN1bHRIABI7ChptaW5pX3N3ZV9hZ2VudF9iYXNoX3Jlc3VsdBg3IAEoCzIVLmFnZW50LnYxLlNoZWxsUmVzdWx0SAASJAoXbG9jYWxfZXhlY3V0aW9uX3RpbWVfbXMYJyABKAVIAYgBARJBChhob29rX2FkZGl0aW9uYWxfY29udGV4dHMYLSADKAsyHy5hZ2VudC52MS5Ib29rQWRkaXRpb25hbENvbnRleHRCCQoHbWVzc2FnZUIaChhfbG9jYWxfZXhlY3V0aW9uX3RpbWVfbXMiLgoJRmV0Y2hBcmdzEgsKA3VybBgBIAEoCRIUCgx0b29sX2NhbGxfaWQYAiABKAkiaQoLRmV0Y2hSZXN1bHQSKQoHc3VjY2VzcxgBIAEoCzIWLmFnZW50LnYxLkZldGNoU3VjY2Vzc0gAEiUKBWVycm9yGAIgASgLMhQuYWdlbnQudjEuRmV0Y2hFcnJvckgAQggKBnJlc3VsdCJXCgxGZXRjaFN1Y2Nlc3MSCwoDdXJsGAEgASgJEg8KB2NvbnRlbnQYAiABKAkSEwoLc3RhdHVzX2NvZGUYAyABKAUSFAoMY29udGVudF90eXBlGAQgASgJIigKCkZldGNoRXJyb3ISCwoDdXJsGAEgASgJEg0KBWVycm9yGAIgASgJIm0KEUdlbmVyYXRlSW1hZ2VBcmdzEhMKC2Rlc2NyaXB0aW9uGAEgASgJEhYKCWZpbGVfcGF0aBgCIAEoCUgAiAEBEh0KFXJlZmVyZW5jZV9pbWFnZV9wYXRocxgFIAMoCUIMCgpfZmlsZV9wYXRoIoEBChNHZW5lcmF0ZUltYWdlUmVzdWx0EjEKB3N1Y2Nlc3MYASABKAsyHi5hZ2VudC52MS5HZW5lcmF0ZUltYWdlU3VjY2Vzc0gAEi0KBWVycm9yGAIgASgLMhwuYWdlbnQudjEuR2VuZXJhdGVJbWFnZUVycm9ySABCCAoGcmVzdWx0Ij0KFEdlbmVyYXRlSW1hZ2VTdWNjZXNzEhEKCWZpbGVfcGF0aBgBIAEoCRISCgppbWFnZV9kYXRhGAIgASgJIiMKEkdlbmVyYXRlSW1hZ2VFcnJvchINCgVlcnJvchgBIAEoCSJxChVHZW5lcmF0ZUltYWdlVG9vbENhbGwSKQoEYXJncxgBIAEoCzIbLmFnZW50LnYxLkdlbmVyYXRlSW1hZ2VBcmdzEi0KBnJlc3VsdBgCIAEoCzIdLmFnZW50LnYxLkdlbmVyYXRlSW1hZ2VSZXN1bHQi5gQKCEdyZXBBcmdzEg8KB3BhdHRlcm4YASABKAkSEQoEcGF0aBgCIAEoCUgAiAEBEhEKBGdsb2IYAyABKAlIAYgBARIYCgtvdXRwdXRfbW9kZRgEIAEoCUgCiAEBEhsKDmNvbnRleHRfYmVmb3JlGAUgASgFSAOIAQESGgoNY29udGV4dF9hZnRlchgGIAEoBUgEiAEBEhQKB2NvbnRleHQYByABKAVIBYgBARIdChBjYXNlX2luc2Vuc2l0aXZlGAggASgISAaIAQESEQoEdHlwZRgJIAEoCUgHiAEBEhcKCmhlYWRfbGltaXQYCiABKAVICIgBARIWCgltdWx0aWxpbmUYCyABKAhICYgBARIRCgRzb3J0GAwgASgJSAqIAQESGwoOc29ydF9hc2NlbmRpbmcYDSABKAhIC4gBARIUCgx0b29sX2NhbGxfaWQYDiABKAkSNAoOc2FuZGJveF9wb2xpY3kYDyABKAsyFy5hZ2VudC52MS5TYW5kYm94UG9saWN5SAyIAQESEwoGb2Zmc2V0GBAgASgFSA2IAQFCBwoFX3BhdGhCBwoFX2dsb2JCDgoMX291dHB1dF9tb2RlQhEKD19jb250ZXh0X2JlZm9yZUIQCg5fY29udGV4dF9hZnRlckIKCghfY29udGV4dEITChFfY2FzZV9pbnNlbnNpdGl2ZUIHCgVfdHlwZUINCgtfaGVhZF9saW1pdEIMCgpfbXVsdGlsaW5lQgcKBV9zb3J0QhEKD19zb3J0X2FzY2VuZGluZ0IRCg9fc2FuZGJveF9wb2xpY3lCCQoHX29mZnNldCJmCgpHcmVwUmVzdWx0EigKB3N1Y2Nlc3MYASABKAsyFS5hZ2VudC52MS5HcmVwU3VjY2Vzc0gAEiQKBWVycm9yGAIgASgLMhMuYWdlbnQudjEuR3JlcEVycm9ySABCCAoGcmVzdWx0IhoKCUdyZXBFcnJvchINCgVlcnJvchgBIAEoCSK0AgoLR3JlcFN1Y2Nlc3MSDwoHcGF0dGVybhgBIAEoCRIMCgRwYXRoGAIgASgJEhMKC291dHB1dF9tb2RlGAMgASgJEkYKEXdvcmtzcGFjZV9yZXN1bHRzGAQgAygLMisuYWdlbnQudjEuR3JlcFN1Y2Nlc3MuV29ya3NwYWNlUmVzdWx0c0VudHJ5EjwKFGFjdGl2ZV9lZGl0b3JfcmVzdWx0GAUgASgLMhkuYWdlbnQudjEuR3JlcFVuaW9uUmVzdWx0SACIAQEaUgoVV29ya3NwYWNlUmVzdWx0c0VudHJ5EgsKA2tleRgBIAEoCRIoCgV2YWx1ZRgCIAEoCzIZLmFnZW50LnYxLkdyZXBVbmlvblJlc3VsdDoCOAFCFwoVX2FjdGl2ZV9lZGl0b3JfcmVzdWx0IqMBCg9HcmVwVW5pb25SZXN1bHQSKgoFY291bnQYASABKAsyGS5hZ2VudC52MS5HcmVwQ291bnRSZXN1bHRIABIqCgVmaWxlcxgCIAEoCzIZLmFnZW50LnYxLkdyZXBGaWxlc1Jlc3VsdEgAEi4KB2NvbnRlbnQYAyABKAsyGy5hZ2VudC52MS5HcmVwQ29udGVudFJlc3VsdEgAQggKBnJlc3VsdCKDAgoPR3JlcENvdW50UmVzdWx0EicKBmNvdW50cxgBIAMoCzIXLmFnZW50LnYxLkdyZXBGaWxlQ291bnQSEwoLdG90YWxfZmlsZXMYAiABKAUSFQoNdG90YWxfbWF0Y2hlcxgDIAEoBRIYChBjbGllbnRfdHJ1bmNhdGVkGAQgASgIEhkKEXJpcGdyZXBfdHJ1bmNhdGVkGAUgASgIEh8KEmhlYWRfbGltaXRfYXBwbGllZBgGIAEoBUgAiAEBEhsKDm9mZnNldF9hcHBsaWVkGAcgASgFSAGIAQFCFQoTX2hlYWRfbGltaXRfYXBwbGllZEIRCg9fb2Zmc2V0X2FwcGxpZWQiLAoNR3JlcEZpbGVDb3VudBIMCgRmaWxlGAEgASgJEg0KBWNvdW50GAIgASgFItIBCg9HcmVwRmlsZXNSZXN1bHQSDQoFZmlsZXMYASADKAkSEwoLdG90YWxfZmlsZXMYAiABKAUSGAoQY2xpZW50X3RydW5jYXRlZBgDIAEoCBIZChFyaXBncmVwX3RydW5jYXRlZBgEIAEoCBIfChJoZWFkX2xpbWl0X2FwcGxpZWQYBSABKAVIAIgBARIbCg5vZmZzZXRfYXBwbGllZBgGIAEoBUgBiAEBQhUKE19oZWFkX2xpbWl0X2FwcGxpZWRCEQoPX29mZnNldF9hcHBsaWVkIowCChFHcmVwQ29udGVudFJlc3VsdBIoCgdtYXRjaGVzGAEgAygLMhcuYWdlbnQudjEuR3JlcEZpbGVNYXRjaBITCgt0b3RhbF9saW5lcxgCIAEoBRIbChN0b3RhbF9tYXRjaGVkX2xpbmVzGAMgASgFEhgKEGNsaWVudF90cnVuY2F0ZWQYBCABKAgSGQoRcmlwZ3JlcF90cnVuY2F0ZWQYBSABKAgSHwoSaGVhZF9saW1pdF9hcHBsaWVkGAYgASgFSACIAQESGwoOb2Zmc2V0X2FwcGxpZWQYByABKAVIAYgBAUIVChNfaGVhZF9saW1pdF9hcHBsaWVkQhEKD19vZmZzZXRfYXBwbGllZCJKCg1HcmVwRmlsZU1hdGNoEgwKBGZpbGUYASABKAkSKwoHbWF0Y2hlcxgCIAMoCzIaLmFnZW50LnYxLkdyZXBDb250ZW50TWF0Y2gibAoQR3JlcENvbnRlbnRNYXRjaBITCgtsaW5lX251bWJlchgBIAEoBRIPCgdjb250ZW50GAIgASgJEhkKEWNvbnRlbnRfdHJ1bmNhdGVkGAMgASgIEhcKD2lzX2NvbnRleHRfbGluZRgEIAEoCCIdCgpHcmVwU3RyZWFtEg8KB3BhdHRlcm4YASABKAkiVgoMR3JlcFRvb2xDYWxsEiAKBGFyZ3MYASABKAsyEi5hZ2VudC52MS5HcmVwQXJncxIkCgZyZXN1bHQYAiABKAsyFC5hZ2VudC52MS5HcmVwUmVzdWx0Ih4KC0dldEJsb2JBcmdzEg8KB2Jsb2JfaWQYASABKAwiNQoNR2V0QmxvYlJlc3VsdBIWCglibG9iX2RhdGEYASABKAxIAIgBAUIMCgpfYmxvYl9kYXRhIjEKC1NldEJsb2JBcmdzEg8KB2Jsb2JfaWQYASABKAwSEQoJYmxvYl9kYXRhGAIgASgMIj4KDVNldEJsb2JSZXN1bHQSIwoFZXJyb3IYASABKAsyDy5hZ2VudC52MS5FcnJvckgAiAEBQggKBl9lcnJvciLLAQoPS3ZTZXJ2ZXJNZXNzYWdlEgoKAmlkGAEgASgNEjAKDHNwYW5fY29udGV4dBgEIAEoCzIVLmFnZW50LnYxLlNwYW5Db250ZXh0SAGIAQESLgoNZ2V0X2Jsb2JfYXJncxgCIAEoCzIVLmFnZW50LnYxLkdldEJsb2JBcmdzSAASLgoNc2V0X2Jsb2JfYXJncxgDIAEoCzIVLmFnZW50LnYxLlNldEJsb2JBcmdzSABCCQoHbWVzc2FnZUIPCg1fc3Bhbl9jb250ZXh0IpABCg9LdkNsaWVudE1lc3NhZ2USCgoCaWQYASABKA0SMgoPZ2V0X2Jsb2JfcmVzdWx0GAIgASgLMhcuYWdlbnQudjEuR2V0QmxvYlJlc3VsdEgAEjIKD3NldF9ibG9iX3Jlc3VsdBgDIAEoCzIXLmFnZW50LnYxLlNldEJsb2JSZXN1bHRIAEIJCgdtZXNzYWdlIq0BCgZMc0FyZ3MSDAoEcGF0aBgBIAEoCRIOCgZpZ25vcmUYAiADKAkSFAoMdG9vbF9jYWxsX2lkGAMgASgJEjQKDnNhbmRib3hfcG9saWN5GAQgASgLMhcuYWdlbnQudjEuU2FuZGJveFBvbGljeUgAiAEBEhcKCnRpbWVvdXRfbXMYBSABKA1IAYgBAUIRCg9fc2FuZGJveF9wb2xpY3lCDQoLX3RpbWVvdXRfbXMisgEKCExzUmVzdWx0EiYKB3N1Y2Nlc3MYASABKAsyEy5hZ2VudC52MS5Mc1N1Y2Nlc3NIABIiCgVlcnJvchgCIAEoCzIRLmFnZW50LnYxLkxzRXJyb3JIABIoCghyZWplY3RlZBgDIAEoCzIULmFnZW50LnYxLkxzUmVqZWN0ZWRIABImCgd0aW1lb3V0GAQgASgLMhMuYWdlbnQudjEuTHNUaW1lb3V0SABCCAoGcmVzdWx0IkcKCUxzU3VjY2VzcxI6ChNkaXJlY3RvcnlfdHJlZV9yb290GAEgASgLMh0uYWdlbnQudjEuTHNEaXJlY3RvcnlUcmVlTm9kZSL2AgoTTHNEaXJlY3RvcnlUcmVlTm9kZRIQCghhYnNfcGF0aBgBIAEoCRI0Cg1jaGlsZHJlbl9kaXJzGAIgAygLMh0uYWdlbnQudjEuTHNEaXJlY3RvcnlUcmVlTm9kZRI6Cg5jaGlsZHJlbl9maWxlcxgDIAMoCzIiLmFnZW50LnYxLkxzRGlyZWN0b3J5VHJlZU5vZGVfRmlsZRIfChdjaGlsZHJlbl93ZXJlX3Byb2Nlc3NlZBgEIAEoCBJkCh1mdWxsX3N1YnRyZWVfZXh0ZW5zaW9uX2NvdW50cxgFIAMoCzI9LmFnZW50LnYxLkxzRGlyZWN0b3J5VHJlZU5vZGUuRnVsbFN1YnRyZWVFeHRlbnNpb25Db3VudHNFbnRyeRIRCgludW1fZmlsZXMYBiABKAUaQQofRnVsbFN1YnRyZWVFeHRlbnNpb25Db3VudHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAU6AjgBInoKGExzRGlyZWN0b3J5VHJlZU5vZGVfRmlsZRIMCgRuYW1lGAEgASgJEjoKEXRlcm1pbmFsX21ldGFkYXRhGAIgASgLMhouYWdlbnQudjEuVGVybWluYWxNZXRhZGF0YUgAiAEBQhQKEl90ZXJtaW5hbF9tZXRhZGF0YSImCgdMc0Vycm9yEgwKBHBhdGgYASABKAkSDQoFZXJyb3IYAiABKAkiKgoKTHNSZWplY3RlZBIMCgRwYXRoGAEgASgJEg4KBnJlYXNvbhgCIAEoCSJHCglMc1RpbWVvdXQSOgoTZGlyZWN0b3J5X3RyZWVfcm9vdBgBIAEoCzIdLmFnZW50LnYxLkxzRGlyZWN0b3J5VHJlZU5vZGUi8QEKEFRlcm1pbmFsTWV0YWRhdGESEAoDY3dkGAEgASgJSACIAQESOQoNbGFzdF9jb21tYW5kcxgCIAMoCzIiLmFnZW50LnYxLlRlcm1pbmFsTWV0YWRhdGFfQ29tbWFuZBIdChBsYXN0X21vZGlmaWVkX21zGAMgASgDSAGIAQESQAoPY3VycmVudF9jb21tYW5kGAQgASgLMiIuYWdlbnQudjEuVGVybWluYWxNZXRhZGF0YV9Db21tYW5kSAKIAQFCBgoEX2N3ZEITChFfbGFzdF9tb2RpZmllZF9tc0ISChBfY3VycmVudF9jb21tYW5kIqcBChhUZXJtaW5hbE1ldGFkYXRhX0NvbW1hbmQSDwoHY29tbWFuZBgBIAEoCRIWCglleGl0X2NvZGUYAiABKAVIAIgBARIZCgx0aW1lc3RhbXBfbXMYAyABKANIAYgBARIYCgtkdXJhdGlvbl9tcxgEIAEoA0gCiAEBQgwKCl9leGl0X2NvZGVCDwoNX3RpbWVzdGFtcF9tc0IOCgxfZHVyYXRpb25fbXMiUAoKTHNUb29sQ2FsbBIeCgRhcmdzGAEgASgLMhAuYWdlbnQudjEuTHNBcmdzEiIKBnJlc3VsdBgCIAEoCzISLmFnZW50LnYxLkxzUmVzdWx0IuACCgdNY3BBcmdzEgwKBG5hbWUYASABKAkSKQoEYXJncxgCIAMoCzIbLmFnZW50LnYxLk1jcEFyZ3MuQXJnc0VudHJ5EhQKDHRvb2xfY2FsbF9pZBgDIAEoCRIbChNwcm92aWRlcl9pZGVudGlmaWVyGAQgASgJEhEKCXRvb2xfbmFtZRgFIAEoCRI9ChNzbWFydF9tb2RlX2FwcHJvdmFsGAYgASgLMhsuYWdlbnQudjEuU21hcnRNb2RlQXBwcm92YWxIAIgBARIgChhzbWFydF9tb2RlX2FwcHJvdmFsX29ubHkYByABKAgSFQoNc2tpcF9hcHByb3ZhbBgIIAEoCBIZChFzZXJ2ZXJfaWRlbnRpZmllchgJIAEoCRorCglBcmdzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgMOgI4AUIWChRfc21hcnRfbW9kZV9hcHByb3ZhbCLjAgoJTWNwUmVzdWx0EicKB3N1Y2Nlc3MYASABKAsyFC5hZ2VudC52MS5NY3BTdWNjZXNzSAASIwoFZXJyb3IYAiABKAsyEi5hZ2VudC52MS5NY3BFcnJvckgAEikKCHJlamVjdGVkGAMgASgLMhUuYWdlbnQudjEuTWNwUmVqZWN0ZWRIABI6ChFwZXJtaXNzaW9uX2RlbmllZBgEIAEoCzIdLmFnZW50LnYxLk1jcFBlcm1pc3Npb25EZW5pZWRIABIzCg50b29sX25vdF9mb3VuZBgFIAEoCzIZLmFnZW50LnYxLk1jcFRvb2xOb3RGb3VuZEgAEjcKEHNlcnZlcl9ub3RfZm91bmQYBiABKAsyGy5hZ2VudC52MS5NY3BTZXJ2ZXJOb3RGb3VuZEgAEikKCGFwcHJvdmVkGAcgASgLMhUuYWdlbnQudjEuTWNwQXBwcm92ZWRIAEIICgZyZXN1bHQiOAoPTWNwVG9vbE5vdEZvdW5kEgwKBG5hbWUYASABKAkSFwoPYXZhaWxhYmxlX3Rvb2xzGAIgAygJImoKDk1jcFRleHRDb250ZW50EgwKBHRleHQYASABKAkSNgoPb3V0cHV0X2xvY2F0aW9uGAIgASgLMhguYWdlbnQudjEuT3V0cHV0TG9jYXRpb25IAIgBAUISChBfb3V0cHV0X2xvY2F0aW9uIjIKD01jcEltYWdlQ29udGVudBIMCgRkYXRhGAEgASgMEhEKCW1pbWVfdHlwZRgCIAEoCSJ7ChhNY3BUb29sUmVzdWx0Q29udGVudEl0ZW0SKAoEdGV4dBgBIAEoCzIYLmFnZW50LnYxLk1jcFRleHRDb250ZW50SAASKgoFaW1hZ2UYAiABKAsyGS5hZ2VudC52MS5NY3BJbWFnZUNvbnRlbnRIAEIJCgdjb250ZW50IlMKCk1jcFN1Y2Nlc3MSMwoHY29udGVudBgBIAMoCzIiLmFnZW50LnYxLk1jcFRvb2xSZXN1bHRDb250ZW50SXRlbRIQCghpc19lcnJvchgCIAEoCCIZCghNY3BFcnJvchINCgVlcnJvchgBIAEoCSIyCgtNY3BSZWplY3RlZBIOCgZyZWFzb24YASABKAkSEwoLaXNfcmVhZG9ubHkYAiABKAgiOQoTTWNwUGVybWlzc2lvbkRlbmllZBINCgVlcnJvchgBIAEoCRITCgtpc19yZWFkb25seRgCIAEoCCI6ChhMaXN0TWNwUmVzb3VyY2VzRXhlY0FyZ3MSEwoGc2VydmVyGAEgASgJSACIAQFCCQoHX3NlcnZlciLGAQoaTGlzdE1jcFJlc291cmNlc0V4ZWNSZXN1bHQSNAoHc3VjY2VzcxgBIAEoCzIhLmFnZW50LnYxLkxpc3RNY3BSZXNvdXJjZXNTdWNjZXNzSAASMAoFZXJyb3IYAiABKAsyHy5hZ2VudC52MS5MaXN0TWNwUmVzb3VyY2VzRXJyb3JIABI2CghyZWplY3RlZBgDIAEoCzIiLmFnZW50LnYxLkxpc3RNY3BSZXNvdXJjZXNSZWplY3RlZEgAQggKBnJlc3VsdCK9AgomTGlzdE1jcFJlc291cmNlc0V4ZWNSZXN1bHRfTWNwUmVzb3VyY2USCwoDdXJpGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEhYKCW1pbWVfdHlwZRgEIAEoCUgCiAEBEg4KBnNlcnZlchgFIAEoCRJWCgthbm5vdGF0aW9ucxgGIAMoCzJBLmFnZW50LnYxLkxpc3RNY3BSZXNvdXJjZXNFeGVjUmVzdWx0X01jcFJlc291cmNlLkFubm90YXRpb25zRW50cnkaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfbWltZV90eXBlIl4KF0xpc3RNY3BSZXNvdXJjZXNTdWNjZXNzEkMKCXJlc291cmNlcxgBIAMoCzIwLmFnZW50LnYxLkxpc3RNY3BSZXNvdXJjZXNFeGVjUmVzdWx0X01jcFJlc291cmNlIiYKFUxpc3RNY3BSZXNvdXJjZXNFcnJvchINCgVlcnJvchgBIAEoCSIqChhMaXN0TWNwUmVzb3VyY2VzUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJItEBChdSZWFkTWNwUmVzb3VyY2VFeGVjQXJncxIOCgZzZXJ2ZXIYASABKAkSCwoDdXJpGAIgASgJEhoKDWRvd25sb2FkX3BhdGgYAyABKAlIAIgBARIUCgx0b29sX2NhbGxfaWQYBCABKAkSPQoTc21hcnRfbW9kZV9hcHByb3ZhbBgFIAEoCzIbLmFnZW50LnYxLlNtYXJ0TW9kZUFwcHJvdmFsSAGIAQFCEAoOX2Rvd25sb2FkX3BhdGhCFgoUX3NtYXJ0X21vZGVfYXBwcm92YWwi+gEKGVJlYWRNY3BSZXNvdXJjZUV4ZWNSZXN1bHQSMwoHc3VjY2VzcxgBIAEoCzIgLmFnZW50LnYxLlJlYWRNY3BSZXNvdXJjZVN1Y2Nlc3NIABIvCgVlcnJvchgCIAEoCzIeLmFnZW50LnYxLlJlYWRNY3BSZXNvdXJjZUVycm9ySAASNQoIcmVqZWN0ZWQYAyABKAsyIS5hZ2VudC52MS5SZWFkTWNwUmVzb3VyY2VSZWplY3RlZEgAEjYKCW5vdF9mb3VuZBgEIAEoCzIhLmFnZW50LnYxLlJlYWRNY3BSZXNvdXJjZU5vdEZvdW5kSABCCAoGcmVzdWx0IrIDChZSZWFkTWNwUmVzb3VyY2VTdWNjZXNzEgsKA3VyaRgBIAEoCRIRCgRuYW1lGAIgASgJSAGIAQESGAoLZGVzY3JpcHRpb24YAyABKAlIAogBARIWCgltaW1lX3R5cGUYBCABKAlIA4gBARJGCgthbm5vdGF0aW9ucxgHIAMoCzIxLmFnZW50LnYxLlJlYWRNY3BSZXNvdXJjZVN1Y2Nlc3MuQW5ub3RhdGlvbnNFbnRyeRIaCg1kb3dubG9hZF9wYXRoGAggASgJSASIAQESDgoEdGV4dBgFIAEoCUgAEg4KBGJsb2IYBiABKAxIABI2Cg9vdXRwdXRfbG9jYXRpb24YCSABKAsyGC5hZ2VudC52MS5PdXRwdXRMb2NhdGlvbkgFiAEBGjIKEEFubm90YXRpb25zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUIJCgdjb250ZW50QgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfbWltZV90eXBlQhAKDl9kb3dubG9hZF9wYXRoQhIKEF9vdXRwdXRfbG9jYXRpb24iMgoUUmVhZE1jcFJlc291cmNlRXJyb3ISCwoDdXJpGAEgASgJEg0KBWVycm9yGAIgASgJIjYKF1JlYWRNY3BSZXNvdXJjZVJlamVjdGVkEgsKA3VyaRgBIAEoCRIOCgZyZWFzb24YAiABKAkiJgoXUmVhZE1jcFJlc291cmNlTm90Rm91bmQSCwoDdXJpGAEgASgJIrIBChFNY3BUb29sRGVmaW5pdGlvbhIMCgRuYW1lGAEgASgJEhsKE3Byb3ZpZGVyX2lkZW50aWZpZXIYBCABKAkSEQoJdG9vbF9uYW1lGAUgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhQKDGlucHV0X3NjaGVtYRgDIAEoDBIeChFpbnB1dF9zY2hlbWFfanNvbhgGIAEoCUgAiAEBQhQKEl9pbnB1dF9zY2hlbWFfanNvbiI6CghNY3BUb29scxIuCgltY3BfdG9vbHMYASADKAsyGy5hZ2VudC52MS5NY3BUb29sRGVmaW5pdGlvbiJXCg9NY3BJbnN0cnVjdGlvbnMSEwoLc2VydmVyX25hbWUYASABKAkSFAoMaW5zdHJ1Y3Rpb25zGAIgASgJEhkKEXNlcnZlcl9pZGVudGlmaWVyGAMgASgJIv0CCg1NY3BEZXNjcmlwdG9yEhMKC3NlcnZlcl9uYW1lGAEgASgJEhkKEXNlcnZlcl9pZGVudGlmaWVyGAIgASgJEhgKC2ZvbGRlcl9wYXRoGAMgASgJSACIAQESJAoXc2VydmVyX3VzZV9pbnN0cnVjdGlvbnMYBCABKAlIAYgBARIqCgV0b29scxgFIAMoCzIbLmFnZW50LnYxLk1jcFRvb2xEZXNjcmlwdG9yEhMKBnBsdWdpbhgHIAEoCUgCiAEBEhgKC21hcmtldHBsYWNlGAggASgJSAOIAQESGQoMcGx1Z2luX2RiX2lkGAkgASgJSASIAQESGwoObWFya2V0cGxhY2VfaWQYCiABKAlIBYgBAUIOCgxfZm9sZGVyX3BhdGhCGgoYX3NlcnZlcl91c2VfaW5zdHJ1Y3Rpb25zQgkKB19wbHVnaW5CDgoMX21hcmtldHBsYWNlQg8KDV9wbHVnaW5fZGJfaWRCEQoPX21hcmtldHBsYWNlX2lkIrgBChFNY3BUb29sRGVzY3JpcHRvchIRCgl0b29sX25hbWUYASABKAkSHAoPZGVmaW5pdGlvbl9wYXRoGAIgASgJSACIAQESGAoLZGVzY3JpcHRpb24YAyABKAlIAYgBARIeChFpbnB1dF9zY2hlbWFfanNvbhgFIAEoCUgCiAEBQhIKEF9kZWZpbml0aW9uX3BhdGhCDgoMX2Rlc2NyaXB0aW9uQhQKEl9pbnB1dF9zY2hlbWFfanNvbiJ4ChRNY3BGaWxlU3lzdGVtT3B0aW9ucxIPCgdlbmFibGVkGAEgASgIEh0KFXdvcmtzcGFjZV9wcm9qZWN0X2RpchgCIAEoCRIwCg9tY3BfZGVzY3JpcHRvcnMYAyADKAsyFy5hZ2VudC52MS5NY3BEZXNjcmlwdG9yIpoBCghSZWFkQXJncxIMCgRwYXRoGAEgASgJEhQKDHRvb2xfY2FsbF9pZBgCIAEoCRITCgZvZmZzZXQYBCABKAVIAIgBARISCgVsaW1pdBgFIAEoDUgBiAEBEhoKDWVuY29kaW5nX2hpbnQYBiABKAlIAogBAUIJCgdfb2Zmc2V0QggKBl9saW1pdEIQCg5fZW5jb2RpbmdfaGludCK4AgoKUmVhZFJlc3VsdBIoCgdzdWNjZXNzGAEgASgLMhUuYWdlbnQudjEuUmVhZFN1Y2Nlc3NIABIkCgVlcnJvchgCIAEoCzITLmFnZW50LnYxLlJlYWRFcnJvckgAEioKCHJlamVjdGVkGAMgASgLMhYuYWdlbnQudjEuUmVhZFJlamVjdGVkSAASNAoOZmlsZV9ub3RfZm91bmQYBCABKAsyGi5hZ2VudC52MS5SZWFkRmlsZU5vdEZvdW5kSAASOwoRcGVybWlzc2lvbl9kZW5pZWQYBSABKAsyHi5hZ2VudC52MS5SZWFkUGVybWlzc2lvbkRlbmllZEgAEjEKDGludmFsaWRfZmlsZRgGIAEoCzIZLmFnZW50LnYxLlJlYWRJbnZhbGlkRmlsZUgAQggKBnJlc3VsdCLKAQoLUmVhZFN1Y2Nlc3MSDAoEcGF0aBgBIAEoCRITCgt0b3RhbF9saW5lcxgDIAEoBRIRCglmaWxlX3NpemUYBCABKAMSEQoJdHJ1bmNhdGVkGAYgASgIEhsKDm91dHB1dF9ibG9iX2lkGAcgASgMSAGIAQESEQoHY29udGVudBgCIAEoCUgAEg4KBGRhdGEYBSABKAxIABIVCg1yYW5nZV9hcHBsaWVkGAggASgIQggKBm91dHB1dEIRCg9fb3V0cHV0X2Jsb2JfaWQiKAoJUmVhZEVycm9yEgwKBHBhdGgYASABKAkSDQoFZXJyb3IYAiABKAkiLAoMUmVhZFJlamVjdGVkEgwKBHBhdGgYASABKAkSDgoGcmVhc29uGAIgASgJIiAKEFJlYWRGaWxlTm90Rm91bmQSDAoEcGF0aBgBIAEoCSIkChRSZWFkUGVybWlzc2lvbkRlbmllZBIMCgRwYXRoGAEgASgJIi8KD1JlYWRJbnZhbGlkRmlsZRIMCgRwYXRoGAEgASgJEg4KBnJlYXNvbhgCIAEoCSJeCgxSZWFkVG9vbENhbGwSJAoEYXJncxgBIAEoCzIWLmFnZW50LnYxLlJlYWRUb29sQXJncxIoCgZyZXN1bHQYAiABKAsyGC5hZ2VudC52MS5SZWFkVG9vbFJlc3VsdCJaCgxSZWFkVG9vbEFyZ3MSDAoEcGF0aBgBIAEoCRITCgZvZmZzZXQYAiABKAVIAIgBARISCgVsaW1pdBgDIAEoBUgBiAEBQgkKB19vZmZzZXRCCAoGX2xpbWl0InIKDlJlYWRUb29sUmVzdWx0EiwKB3N1Y2Nlc3MYASABKAsyGS5hZ2VudC52MS5SZWFkVG9vbFN1Y2Nlc3NIABIoCgVlcnJvchgCIAEoCzIXLmFnZW50LnYxLlJlYWRUb29sRXJyb3JIAEIICgZyZXN1bHQiMQoJUmVhZFJhbmdlEhIKCnN0YXJ0X2xpbmUYASABKA0SEAoIZW5kX2xpbmUYAiABKA0ijgIKD1JlYWRUb29sU3VjY2VzcxIQCghpc19lbXB0eRgCIAEoCBIWCg5leGNlZWRlZF9saW1pdBgDIAEoCBITCgt0b3RhbF9saW5lcxgEIAEoDRIRCglmaWxlX3NpemUYBSABKA0SDAoEcGF0aBgHIAEoCRIsCgpyZWFkX3JhbmdlGAggASgLMhMuYWdlbnQudjEuUmVhZFJhbmdlSAGIAQESEQoHY29udGVudBgBIAEoCUgAEg4KBGRhdGEYBiABKAxIABIWCgxkYXRhX2Jsb2JfaWQYCSABKAxIABIZCg9jb250ZW50X2Jsb2JfaWQYCiABKAxIAEIICgZvdXRwdXRCDQoLX3JlYWRfcmFuZ2UiJgoNUmVhZFRvb2xFcnJvchIVCg1lcnJvcl9tZXNzYWdlGAEgASgJImoKEFJlY29yZFNjcmVlbkFyZ3MSDAoEbW9kZRgBIAEoBRIUCgx0b29sX2NhbGxfaWQYAiABKAkSHQoQc2F2ZV9hc19maWxlbmFtZRgDIAEoCUgAiAEBQhMKEV9zYXZlX2FzX2ZpbGVuYW1lIokCChJSZWNvcmRTY3JlZW5SZXN1bHQSOwoNc3RhcnRfc3VjY2VzcxgBIAEoCzIiLmFnZW50LnYxLlJlY29yZFNjcmVlblN0YXJ0U3VjY2Vzc0gAEjkKDHNhdmVfc3VjY2VzcxgCIAEoCzIhLmFnZW50LnYxLlJlY29yZFNjcmVlblNhdmVTdWNjZXNzSAASPwoPZGlzY2FyZF9zdWNjZXNzGAMgASgLMiQuYWdlbnQudjEuUmVjb3JkU2NyZWVuRGlzY2FyZFN1Y2Nlc3NIABIwCgdmYWlsdXJlGAQgASgLMh0uYWdlbnQudjEuUmVjb3JkU2NyZWVuRmFpbHVyZUgAQggKBnJlc3VsdCJnChhSZWNvcmRTY3JlZW5TdGFydFN1Y2Nlc3MSJQodd2FzX3ByaW9yX3JlY29yZGluZ19jYW5jZWxsZWQYASABKAgSJAocd2FzX3NhdmVfYXNfZmlsZW5hbWVfaWdub3JlZBgCIAEoCCKgAQoXUmVjb3JkU2NyZWVuU2F2ZVN1Y2Nlc3MSDAoEcGF0aBgBIAEoCRIdChVyZWNvcmRpbmdfZHVyYXRpb25fbXMYAiABKAMSMAojcmVxdWVzdGVkX2ZpbGVfcGF0aF9yZWplY3RlZF9yZWFzb24YAyABKAVIAIgBAUImCiRfcmVxdWVzdGVkX2ZpbGVfcGF0aF9yZWplY3RlZF9yZWFzb24iHAoaUmVjb3JkU2NyZWVuRGlzY2FyZFN1Y2Nlc3MiJAoTUmVjb3JkU2NyZWVuRmFpbHVyZRINCgVlcnJvchgBIAEoCSI2ChNDdXJzb3JQYWNrYWdlUHJvbXB0EgwKBG5hbWUYASABKAkSEQoJZmlsZV9wYXRoGAIgASgJIuIBCg1DdXJzb3JQYWNrYWdlEgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEwoLZm9sZGVyX3BhdGgYAyABKAkSDwoHZW5hYmxlZBgEIAEoCBIYCgtwYXJzZV9lcnJvchgFIAEoCUgAiAEBEi4KB3Byb21wdHMYBiADKAsyHS5hZ2VudC52MS5DdXJzb3JQYWNrYWdlUHJvbXB0EhgKEHJlYWRtZV9maWxlX3BhdGgYByABKAkSFAoMcGFja2FnZV90eXBlGAggASgFQg4KDF9wYXJzZV9lcnJvciKrAgoWUmVwb3NpdG9yeUluZGV4aW5nSW5mbxIfChdyZWxhdGl2ZV93b3Jrc3BhY2VfcGF0aBgBIAEoCRITCgtyZW1vdGVfdXJscxgCIAMoCRIUCgxyZW1vdGVfbmFtZXMYAyADKAkSEQoJcmVwb19uYW1lGAQgASgJEhIKCnJlcG9fb3duZXIYBSABKAkSEgoKaXNfdHJhY2tlZBgGIAEoCBIQCghpc19sb2NhbBgHIAEoCBImChlvcnRob2dvbmFsX3RyYW5zZm9ybV9zZWVkGAggASgBSACIAQESFQoNd29ya3NwYWNlX3VyaRgJIAEoCRIbChNwYXRoX2VuY3J5cHRpb25fa2V5GAogASgJQhwKGl9vcnRob2dvbmFsX3RyYW5zZm9ybV9zZWVkIqwCChJSZXF1ZXN0Q29udGV4dEFyZ3MSHQoQbm90ZXNfc2Vzc2lvbl9pZBgCIAEoCUgAiAEBEhkKDHdvcmtzcGFjZV9pZBgDIAEoCUgBiAEBEiYKGXJlYWRfb25seV9waW5uZWRfdHJlZV9zaGEYBCABKAlIAogBARIoChtyZWFkX29ubHlfcGx1Z2luX2NhY2hlX3Jvb3QYBSABKAlIA4gBARIXCgp1c2VfY2FjaGVkGAcgASgISASIAQFCEwoRX25vdGVzX3Nlc3Npb25faWRCDwoNX3dvcmtzcGFjZV9pZEIcChpfcmVhZF9vbmx5X3Bpbm5lZF90cmVlX3NoYUIeChxfcmVhZF9vbmx5X3BsdWdpbl9jYWNoZV9yb290Qg0KC191c2VfY2FjaGVkIroBChRSZXF1ZXN0Q29udGV4dFJlc3VsdBIyCgdzdWNjZXNzGAEgASgLMh8uYWdlbnQudjEuUmVxdWVzdENvbnRleHRTdWNjZXNzSAASLgoFZXJyb3IYAiABKAsyHS5hZ2VudC52MS5SZXF1ZXN0Q29udGV4dEVycm9ySAASNAoIcmVqZWN0ZWQYAyABKAsyIC5hZ2VudC52MS5SZXF1ZXN0Q29udGV4dFJlamVjdGVkSABCCAoGcmVzdWx0IooBChVSZXF1ZXN0Q29udGV4dFN1Y2Nlc3MSMQoPcmVxdWVzdF9jb250ZXh0GAEgASgLMhguYWdlbnQudjEuUmVxdWVzdENvbnRleHQSIwoWc2VydmVkX2Zyb21fZGlza19jYWNoZRgCIAEoCEgAiAEBQhkKF19zZXJ2ZWRfZnJvbV9kaXNrX2NhY2hlIiQKE1JlcXVlc3RDb250ZXh0RXJyb3ISDQoFZXJyb3IYASABKAkiKAoWUmVxdWVzdENvbnRleHRSZWplY3RlZBIOCgZyZWFzb24YASABKAkiwgEKCkltYWdlUHJvdG8SDAoEZGF0YRgBIAEoDBIMCgR1dWlkGAIgASgJEgwKBHBhdGgYAyABKAkSMQoJZGltZW5zaW9uGAQgASgLMh4uYWdlbnQudjEuSW1hZ2VQcm90b19EaW1lbnNpb24SJgoZdGFza19zcGVjaWZpY19kZXNjcmlwdGlvbhgGIAEoCUgAiAEBEhEKCW1pbWVfdHlwZRgHIAEoCUIcChpfdGFza19zcGVjaWZpY19kZXNjcmlwdGlvbiI1ChRJbWFnZVByb3RvX0RpbWVuc2lvbhINCgV3aWR0aBgBIAEoBRIOCgZoZWlnaHQYAiABKAUiaAoLR2l0UmVwb0luZm8SDAoEcGF0aBgBIAEoCRIOCgZzdGF0dXMYAiABKAkSEwoLYnJhbmNoX25hbWUYAyABKAkSFwoKcmVtb3RlX3VybBgEIAEoCUgAiAEBQg0KC19yZW1vdGVfdXJsIpsCChFSZXF1ZXN0Q29udGV4dEVudhISCgpvc192ZXJzaW9uGAEgASgJEhcKD3dvcmtzcGFjZV9wYXRocxgCIAMoCRINCgVzaGVsbBgDIAEoCRIXCg9zYW5kYm94X2VuYWJsZWQYBSABKAgSGAoQdGVybWluYWxzX2ZvbGRlchgHIAEoCRIhChlhZ2VudF9zaGFyZWRfbm90ZXNfZm9sZGVyGAggASgJEicKH2FnZW50X2NvbnZlcnNhdGlvbl9ub3Rlc19mb2xkZXIYCSABKAkSEQoJdGltZV96b25lGAogASgJEhYKDnByb2plY3RfZm9sZGVyGAsgASgJEiAKGGFnZW50X3RyYW5zY3JpcHRzX2ZvbGRlchgMIAEoCSI8Cg9EZWJ1Z01vZGVDb25maWcSEAoIbG9nX3BhdGgYASABKAkSFwoPc2VydmVyX2VuZHBvaW50GAIgASgJIrQBCg9Ta2lsbERlc2NyaXB0b3ISDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRITCgtmb2xkZXJfcGF0aBgDIAEoCRIPCgdlbmFibGVkGAQgASgIEhgKC3BhcnNlX2Vycm9yGAUgASgJSACIAQESGAoQcmVhZG1lX2ZpbGVfcGF0aBgGIAEoCRIUCgxwYWNrYWdlX3R5cGUYByABKAVCDgoMX3BhcnNlX2Vycm9yIkQKDFNraWxsT3B0aW9ucxI0ChFza2lsbF9kZXNjcmlwdG9ycxgBIAMoCzIZLmFnZW50LnYxLlNraWxsRGVzY3JpcHRvciL2CAoOUmVxdWVzdENvbnRleHQSIwoFcnVsZXMYAiADKAsyFC5hZ2VudC52MS5DdXJzb3JSdWxlEigKA2VudhgEIAEoCzIbLmFnZW50LnYxLlJlcXVlc3RDb250ZXh0RW52EjkKD3JlcG9zaXRvcnlfaW5mbxgGIAMoCzIgLmFnZW50LnYxLlJlcG9zaXRvcnlJbmRleGluZ0luZm8SKgoFdG9vbHMYByADKAsyGy5hZ2VudC52MS5NY3BUb29sRGVmaW5pdGlvbhInChpjb252ZXJzYXRpb25fbm90ZXNfbGlzdGluZxgIIAEoCUgAiAEBEiEKFHNoYXJlZF9ub3Rlc19saXN0aW5nGAkgASgJSAGIAQESKAoJZ2l0X3JlcG9zGAsgAygLMhUuYWdlbnQudjEuR2l0UmVwb0luZm8SNgoPcHJvamVjdF9sYXlvdXRzGA0gAygLMh0uYWdlbnQudjEuTHNEaXJlY3RvcnlUcmVlTm9kZRIzChBtY3BfaW5zdHJ1Y3Rpb25zGA4gAygLMhkuYWdlbnQudjEuTWNwSW5zdHJ1Y3Rpb25zEjkKEWRlYnVnX21vZGVfY29uZmlnGA8gASgLMhkuYWdlbnQudjEuRGVidWdNb2RlQ29uZmlnSAKIAQESFwoKY2xvdWRfcnVsZRgQIAEoCUgDiAEBEh8KEndlYl9zZWFyY2hfZW5hYmxlZBgRIAEoCEgEiAEBEjIKDXNraWxsX29wdGlvbnMYEiABKAsyFi5hZ2VudC52MS5Ta2lsbE9wdGlvbnNIBYgBARIuCiFyZXBvc2l0b3J5X2luZm9fc2hvdWxkX3F1ZXJ5X3Byb2QYEyABKAhIBogBARJBCg1maWxlX2NvbnRlbnRzGBQgAygLMiouYWdlbnQudjEuUmVxdWVzdENvbnRleHQuRmlsZUNvbnRlbnRzRW50cnkSIAoTdXNlcl9pbnRlbnRfc3VtbWFyeRgVIAEoCUgHiAEBEjIKEGN1c3RvbV9zdWJhZ2VudHMYFiADKAsyGC5hZ2VudC52MS5DdXN0b21TdWJhZ2VudBJEChdtY3BfZmlsZV9zeXN0ZW1fb3B0aW9ucxgXIAEoCzIeLmFnZW50LnYxLk1jcEZpbGVTeXN0ZW1PcHRpb25zSAiIAQEaMwoRRmlsZUNvbnRlbnRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUIdChtfY29udmVyc2F0aW9uX25vdGVzX2xpc3RpbmdCFwoVX3NoYXJlZF9ub3Rlc19saXN0aW5nQhQKEl9kZWJ1Z19tb2RlX2NvbmZpZ0INCgtfY2xvdWRfcnVsZUIVChNfd2ViX3NlYXJjaF9lbmFibGVkQhAKDl9za2lsbF9vcHRpb25zQiQKIl9yZXBvc2l0b3J5X2luZm9fc2hvdWxkX3F1ZXJ5X3Byb2RCFgoUX3VzZXJfaW50ZW50X3N1bW1hcnlCGgoYX21jcF9maWxlX3N5c3RlbV9vcHRpb25zIrICCg1TYW5kYm94UG9saWN5EgwKBHR5cGUYASABKAUSGwoObmV0d29ya19hY2Nlc3MYAiABKAhIAIgBARIiChphZGRpdGlvbmFsX3JlYWR3cml0ZV9wYXRocxgDIAMoCRIhChlhZGRpdGlvbmFsX3JlYWRvbmx5X3BhdGhzGAQgAygJEh0KEGRlYnVnX291dHB1dF9kaXIYBSABKAlIAYgBARIdChBibG9ja19naXRfd3JpdGVzGAYgASgISAKIAQESHgoRZGlzYWJsZV90bXBfd3JpdGUYByABKAhIA4gBAUIRCg9fbmV0d29ya19hY2Nlc3NCEwoRX2RlYnVnX291dHB1dF9kaXJCEwoRX2Jsb2NrX2dpdF93cml0ZXNCFAoSX2Rpc2FibGVfdG1wX3dyaXRlIu8BCg1TZWxlY3RlZEltYWdlEgwKBHV1aWQYAiABKAkSDAoEcGF0aBgDIAEoCRI0CglkaW1lbnNpb24YBCABKAsyIS5hZ2VudC52MS5TZWxlY3RlZEltYWdlX0RpbWVuc2lvbhIRCgltaW1lX3R5cGUYByABKAkSEQoHYmxvYl9pZBgBIAEoDEgAEg4KBGRhdGEYCCABKAxIABJDChFibG9iX2lkX3dpdGhfZGF0YRgJIAEoCzImLmFnZW50LnYxLlNlbGVjdGVkSW1hZ2VfQmxvYklkV2l0aERhdGFIAEIRCg9kYXRhX29yX2Jsb2JfaWQiPQocU2VsZWN0ZWRJbWFnZV9CbG9iSWRXaXRoRGF0YRIPCgdibG9iX2lkGAEgASgMEgwKBGRhdGEYAiABKAwiOAoXU2VsZWN0ZWRJbWFnZV9EaW1lbnNpb24SDQoFd2lkdGgYASABKAUSDgoGaGVpZ2h0GAIgASgFIkkKEUV4dHJhQ29udGV4dEVudHJ5Eg4KBGRhdGEYASABKAlIABIRCgdibG9iX2lkGAIgASgMSABCEQoPZGF0YV9vcl9ibG9iX2lkIlsKDFNlbGVjdGVkRmlsZRIPCgdjb250ZW50GAEgASgJEgwKBHBhdGgYAiABKAkSGgoNcmVsYXRpdmVfcGF0aBgDIAEoCUgAiAEBQhAKDl9yZWxhdGl2ZV9wYXRoIoQBChVTZWxlY3RlZENvZGVTZWxlY3Rpb24SDwoHY29udGVudBgBIAEoCRIMCgRwYXRoGAIgASgJEhoKDXJlbGF0aXZlX3BhdGgYAyABKAlIAIgBARIeCgVyYW5nZRgEIAEoCzIPLmFnZW50LnYxLlJhbmdlQhAKDl9yZWxhdGl2ZV9wYXRoIl0KEFNlbGVjdGVkVGVybWluYWwSDwoHY29udGVudBgBIAEoCRISCgV0aXRsZRgCIAEoCUgAiAEBEhEKBHBhdGgYAyABKAlIAYgBAUIICgZfdGl0bGVCBwoFX3BhdGgihgEKGVNlbGVjdGVkVGVybWluYWxTZWxlY3Rpb24SDwoHY29udGVudBgBIAEoCRISCgV0aXRsZRgCIAEoCUgAiAEBEhEKBHBhdGgYAyABKAlIAYgBARIeCgVyYW5nZRgEIAEoCzIPLmFnZW50LnYxLlJhbmdlQggKBl90aXRsZUIHCgVfcGF0aCKDAQoOU2VsZWN0ZWRGb2xkZXISDAoEcGF0aBgBIAEoCRIaCg1yZWxhdGl2ZV9wYXRoGAIgASgJSACIAQESNQoOZGlyZWN0b3J5X3RyZWUYAyABKAsyHS5hZ2VudC52MS5Mc0RpcmVjdG9yeVRyZWVOb2RlQhAKDl9yZWxhdGl2ZV9wYXRoIp8BChRTZWxlY3RlZEV4dGVybmFsTGluaxILCgN1cmwYASABKAkSDAoEdXVpZBgCIAEoCRIYCgtwZGZfY29udGVudBgDIAEoCUgAiAEBEhMKBmlzX3BkZhgEIAEoCEgBiAEBEhUKCGZpbGVuYW1lGAUgASgJSAKIAQFCDgoMX3BkZl9jb250ZW50QgkKB19pc19wZGZCCwoJX2ZpbGVuYW1lIjgKElNlbGVjdGVkQ3Vyc29yUnVsZRIiCgRydWxlGAEgASgLMhQuYWdlbnQudjEuQ3Vyc29yUnVsZSIiCg9TZWxlY3RlZEdpdERpZmYSDwoHY29udGVudBgBIAEoCSIyCh9TZWxlY3RlZEdpdERpZmZGcm9tQnJhbmNoVG9NYWluEg8KB2NvbnRlbnQYASABKAkiaQoRU2VsZWN0ZWRHaXRDb21taXQSCwoDc2hhGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARIMCgRkaWZmGAQgASgJQg4KDF9kZXNjcmlwdGlvbiLdAQoTU2VsZWN0ZWRQdWxsUmVxdWVzdBIOCgZudW1iZXIYASABKAUSCwoDdXJsGAIgASgJEhIKBXRpdGxlGAMgASgJSACIAQESEwoLZm9sZGVyX3BhdGgYBCABKAkSGQoMc3VtbWFyeV9qc29uGAUgASgJSAGIAQESGAoLZGVzY3JpcHRpb24YBiABKAlIAogBARIUCgdibG9iX2lkGAcgASgMSAOIAQFCCAoGX3RpdGxlQg8KDV9zdW1tYXJ5X2pzb25CDgoMX2Rlc2NyaXB0aW9uQgoKCF9ibG9iX2lkIrMBChpTZWxlY3RlZEdpdFBSRGlmZlNlbGVjdGlvbhIOCgZwcl91cmwYASABKAkSEQoJZmlsZV9wYXRoGAIgASgJEhIKCnN0YXJ0X2xpbmUYAyABKAUSEAoIZW5kX2xpbmUYBCABKAUSGQoMZGlmZl9jb250ZW50GAUgASgJSACIAQESFAoHYmxvYl9pZBgGIAEoDEgBiAEBQg8KDV9kaWZmX2NvbnRlbnRCCgoIX2Jsb2JfaWQiNgoVU2VsZWN0ZWRDdXJzb3JDb21tYW5kEgwKBG5hbWUYASABKAkSDwoHY29udGVudBgCIAEoCSI1ChVTZWxlY3RlZERvY3VtZW50YXRpb24SDgoGZG9jX2lkGAEgASgJEgwKBG5hbWUYAiABKAkiMgoQU2VsZWN0ZWRQYXN0Q2hhdBIQCghhZ2VudF9pZBgBIAEoCRIMCgRuYW1lGAIgASgJIqsBCglDYWxsRnJhbWUSGgoNZnVuY3Rpb25fbmFtZRgBIAEoCUgAiAEBEhAKA3VybBgCIAEoCUgBiAEBEhgKC2xpbmVfbnVtYmVyGAMgASgFSAKIAQESGgoNY29sdW1uX251bWJlchgEIAEoBUgDiAEBQhAKDl9mdW5jdGlvbl9uYW1lQgYKBF91cmxCDgoMX2xpbmVfbnVtYmVyQhAKDl9jb2x1bW5fbnVtYmVyImgKClN0YWNrVHJhY2USKAoLY2FsbF9mcmFtZXMYASADKAsyEy5hZ2VudC52MS5DYWxsRnJhbWUSHAoPcmF3X3N0YWNrX3RyYWNlGAIgASgJSACIAQFCEgoQX3Jhd19zdGFja190cmFjZSLkAQoSU2VsZWN0ZWRDb25zb2xlTG9nEg8KB21lc3NhZ2UYASABKAkSEQoJdGltZXN0YW1wGAIgASgBEg0KBWxldmVsGAMgASgJEhMKC2NsaWVudF9uYW1lGAQgASgJEhIKCnNlc3Npb25faWQYBSABKAkSLgoLc3RhY2tfdHJhY2UYBiABKAsyFC5hZ2VudC52MS5TdGFja1RyYWNlSACIAQESHQoQb2JqZWN0X2RhdGFfanNvbhgHIAEoCUgBiAEBQg4KDF9zdGFja190cmFjZUITChFfb2JqZWN0X2RhdGFfanNvbiK6AQoRU2VsZWN0ZWRVSUVsZW1lbnQSDwoHZWxlbWVudBgBIAEoCRINCgV4cGF0aBgCIAEoCRIUCgx0ZXh0X2NvbnRlbnQYAyABKAkSDQoFZXh0cmEYBCABKAkSFgoJY29tcG9uZW50GAUgASgJSACIAQESIQoUY29tcG9uZW50X3Byb3BzX2pzb24YBiABKAlIAYgBAUIMCgpfY29tcG9uZW50QhcKFV9jb21wb25lbnRfcHJvcHNfanNvbiIgChBTZWxlY3RlZFN1YmFnZW50EgwKBG5hbWUYASABKAkiggoKD1NlbGVjdGVkQ29udGV4dBIwCg9zZWxlY3RlZF9pbWFnZXMYASADKAsyFy5hZ2VudC52MS5TZWxlY3RlZEltYWdlEjwKEmludm9jYXRpb25fY29udGV4dBgCIAEoCzIbLmFnZW50LnYxLkludm9jYXRpb25Db250ZXh0SACIAQESFQoNZXh0cmFfY29udGV4dBgDIAMoCRI6ChVleHRyYV9jb250ZXh0X2VudHJpZXMYECADKAsyGy5hZ2VudC52MS5FeHRyYUNvbnRleHRFbnRyeRIlCgVmaWxlcxgEIAMoCzIWLmFnZW50LnYxLlNlbGVjdGVkRmlsZRI4Cg9jb2RlX3NlbGVjdGlvbnMYBSADKAsyHy5hZ2VudC52MS5TZWxlY3RlZENvZGVTZWxlY3Rpb24SLQoJdGVybWluYWxzGAYgAygLMhouYWdlbnQudjEuU2VsZWN0ZWRUZXJtaW5hbBJAChN0ZXJtaW5hbF9zZWxlY3Rpb25zGAcgAygLMiMuYWdlbnQudjEuU2VsZWN0ZWRUZXJtaW5hbFNlbGVjdGlvbhIpCgdmb2xkZXJzGAggAygLMhguYWdlbnQudjEuU2VsZWN0ZWRGb2xkZXISNgoOZXh0ZXJuYWxfbGlua3MYCSADKAsyHi5hZ2VudC52MS5TZWxlY3RlZEV4dGVybmFsTGluaxIyCgxjdXJzb3JfcnVsZXMYCiADKAsyHC5hZ2VudC52MS5TZWxlY3RlZEN1cnNvclJ1bGUSMAoIZ2l0X2RpZmYYEiABKAsyGS5hZ2VudC52MS5TZWxlY3RlZEdpdERpZmZIAYgBARJUChxnaXRfZGlmZl9mcm9tX2JyYW5jaF90b19tYWluGAsgASgLMikuYWdlbnQudjEuU2VsZWN0ZWRHaXREaWZmRnJvbUJyYW5jaFRvTWFpbkgCiAEBEjgKD2N1cnNvcl9jb21tYW5kcxgMIAMoCzIfLmFnZW50LnYxLlNlbGVjdGVkQ3Vyc29yQ29tbWFuZBI3Cg5kb2N1bWVudGF0aW9ucxgNIAMoCzIfLmFnZW50LnYxLlNlbGVjdGVkRG9jdW1lbnRhdGlvbhIwCgt1aV9lbGVtZW50cxgOIAMoCzIbLmFnZW50LnYxLlNlbGVjdGVkVUlFbGVtZW50EjIKDGNvbnNvbGVfbG9ncxgPIAMoCzIcLmFnZW50LnYxLlNlbGVjdGVkQ29uc29sZUxvZxIwCgtnaXRfY29tbWl0cxgRIAMoCzIbLmFnZW50LnYxLlNlbGVjdGVkR2l0Q29tbWl0Ei4KCnBhc3RfY2hhdHMYEyADKAsyGi5hZ2VudC52MS5TZWxlY3RlZFBhc3RDaGF0EkQKFmdpdF9wcl9kaWZmX3NlbGVjdGlvbnMYFCADKAsyJC5hZ2VudC52MS5TZWxlY3RlZEdpdFBSRGlmZlNlbGVjdGlvbhI9ChZzZWxlY3RlZF9wdWxsX3JlcXVlc3RzGBUgAygLMh0uYWdlbnQudjEuU2VsZWN0ZWRQdWxsUmVxdWVzdBI2ChJzZWxlY3RlZF9zdWJhZ2VudHMYFiADKAsyGi5hZ2VudC52MS5TZWxlY3RlZFN1YmFnZW50QhUKE19pbnZvY2F0aW9uX2NvbnRleHRCCwoJX2dpdF9kaWZmQh8KHV9naXRfZGlmZl9mcm9tX2JyYW5jaF90b19tYWluIuUBChFJbnZvY2F0aW9uQ29udGV4dBI/CgxzbGFja190aHJlYWQYASABKAsyJy5hZ2VudC52MS5JbnZvY2F0aW9uQ29udGV4dF9TbGFja1RocmVhZEgAEjkKCWdpdGh1Yl9wchgCIAEoCzIkLmFnZW50LnYxLkludm9jYXRpb25Db250ZXh0X0dpdGh1YlBSSAASOQoJaWRlX3N0YXRlGAMgASgLMiQuYWdlbnQudjEuSW52b2NhdGlvbkNvbnRleHRfSWRlU3RhdGVIABIRCgdibG9iX2lkGAogASgMSABCBgoEZGF0YSK7AQodSW52b2NhdGlvbkNvbnRleHRfU2xhY2tUaHJlYWQSDgoGdGhyZWFkGAEgASgJEhkKDGNoYW5uZWxfbmFtZRgCIAEoCUgAiAEBEhwKD2NoYW5uZWxfcHVycG9zZRgDIAEoCUgBiAEBEhoKDWNoYW5uZWxfdG9waWMYBCABKAlIAogBAUIPCg1fY2hhbm5lbF9uYW1lQhIKEF9jaGFubmVsX3B1cnBvc2VCEAoOX2NoYW5uZWxfdG9waWMifAoaSW52b2NhdGlvbkNvbnRleHRfR2l0aHViUFISDQoFdGl0bGUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEAoIY29tbWVudHMYAyABKAkSGAoLY2lfZmFpbHVyZXMYBCABKAlIAIgBAUIOCgxfY2lfZmFpbHVyZXMi/gEKGkludm9jYXRpb25Db250ZXh0X0lkZVN0YXRlEkAKDXZpc2libGVfZmlsZXMYASADKAsyKS5hZ2VudC52MS5JbnZvY2F0aW9uQ29udGV4dF9JZGVTdGF0ZV9GaWxlEkgKFXJlY2VudGx5X3ZpZXdlZF9maWxlcxgCIAMoCzIpLmFnZW50LnYxLkludm9jYXRpb25Db250ZXh0X0lkZVN0YXRlX0ZpbGUSVAoUY3VycmVudGx5X3ZpZXdlZF9wcnMYAyADKAsyNi5hZ2VudC52MS5JbnZvY2F0aW9uQ29udGV4dF9JZGVTdGF0ZV9WaWV3ZWRQdWxsUmVxdWVzdCKOAgofSW52b2NhdGlvbkNvbnRleHRfSWRlU3RhdGVfRmlsZRIMCgRwYXRoGAEgASgJEhoKDXJlbGF0aXZlX3BhdGgYAiABKAlIAIgBARJWCg9jdXJzb3JfcG9zaXRpb24YAyABKAsyOC5hZ2VudC52MS5JbnZvY2F0aW9uQ29udGV4dF9JZGVTdGF0ZV9GaWxlX0N1cnNvclBvc2l0aW9uSAGIAQESEwoLdG90YWxfbGluZXMYBCABKAUSGwoOYWN0aXZlX2NvbW1hbmQYBSABKAlIAogBAUIQCg5fcmVsYXRpdmVfcGF0aEISChBfY3Vyc29yX3Bvc2l0aW9uQhEKD19hY3RpdmVfY29tbWFuZCJMCi5JbnZvY2F0aW9uQ29udGV4dF9JZGVTdGF0ZV9GaWxlX0N1cnNvclBvc2l0aW9uEgwKBGxpbmUYASABKAUSDAoEdGV4dBgCIAEoCSLpAQosSW52b2NhdGlvbkNvbnRleHRfSWRlU3RhdGVfVmlld2VkUHVsbFJlcXVlc3QSDgoGbnVtYmVyGAEgASgFEgsKA3VybBgCIAEoCRISCgV0aXRsZRgDIAEoCUgAiAEBEhgKC2ZvbGRlcl9wYXRoGAQgASgJSAGIAQESGQoMc3VtbWFyeV9qc29uGAUgASgJSAKIAQESGAoLZGVzY3JpcHRpb24YBiABKAlIA4gBAUIICgZfdGl0bGVCDgoMX2ZvbGRlcl9wYXRoQg8KDV9zdW1tYXJ5X2pzb25CDgoMX2Rlc2NyaXB0aW9uIkgKFlNldHVwVm1FbnZpcm9ubWVudEFyZ3MSFwoPaW5zdGFsbF9jb21tYW5kGAIgASgJEhUKDXN0YXJ0X2NvbW1hbmQYAyABKAkiXAoYU2V0dXBWbUVudmlyb25tZW50UmVzdWx0EjYKB3N1Y2Nlc3MYASABKAsyIy5hZ2VudC52MS5TZXR1cFZtRW52aXJvbm1lbnRTdWNjZXNzSABCCAoGcmVzdWx0IhsKGVNldHVwVm1FbnZpcm9ubWVudFN1Y2Nlc3MigAEKGlNldHVwVm1FbnZpcm9ubWVudFRvb2xDYWxsEi4KBGFyZ3MYASABKAsyIC5hZ2VudC52MS5TZXR1cFZtRW52aXJvbm1lbnRBcmdzEjIKBnJlc3VsdBgCIAEoCzIiLmFnZW50LnYxLlNldHVwVm1FbnZpcm9ubWVudFJlc3VsdCLJAgoZU2hlbGxDb21tYW5kUGFyc2luZ1Jlc3VsdBIWCg5wYXJzaW5nX2ZhaWxlZBgBIAEoCBJSChNleGVjdXRhYmxlX2NvbW1hbmRzGAIgAygLMjUuYWdlbnQudjEuU2hlbGxDb21tYW5kUGFyc2luZ1Jlc3VsdF9FeGVjdXRhYmxlQ29tbWFuZBIVCg1oYXNfcmVkaXJlY3RzGAMgASgIEiAKGGhhc19jb21tYW5kX3N1YnN0aXR1dGlvbhgEIAEoCBInChphbGxfcmVkaXJlY3RzX2FyZV9kZXZfbnVsbBgFIAEoCEgAiAEBEj8KCXJlZGlyZWN0cxgGIAMoCzIsLmFnZW50LnYxLlNoZWxsQ29tbWFuZFBhcnNpbmdSZXN1bHRfUmVkaXJlY3RCHQobX2FsbF9yZWRpcmVjdHNfYXJlX2Rldl9udWxsIk0KLlNoZWxsQ29tbWFuZFBhcnNpbmdSZXN1bHRfRXhlY3V0YWJsZUNvbW1hbmRBcmcSDAoEdHlwZRgBIAEoCRINCgV2YWx1ZRgCIAEoCSKWAQorU2hlbGxDb21tYW5kUGFyc2luZ1Jlc3VsdF9FeGVjdXRhYmxlQ29tbWFuZBIMCgRuYW1lGAEgASgJEkYKBGFyZ3MYAiADKAsyOC5hZ2VudC52MS5TaGVsbENvbW1hbmRQYXJzaW5nUmVzdWx0X0V4ZWN1dGFibGVDb21tYW5kQXJnEhEKCWZ1bGxfdGV4dBgDIAEoCSL6BwoJU2hlbGxBcmdzEg8KB2NvbW1hbmQYASABKAkSGQoRd29ya2luZ19kaXJlY3RvcnkYAiABKAkSDwoHdGltZW91dBgDIAEoBRIUCgx0b29sX2NhbGxfaWQYBCABKAkSFwoPc2ltcGxlX2NvbW1hbmRzGAUgAygJEhoKEmhhc19pbnB1dF9yZWRpcmVjdBgGIAEoCBIbChNoYXNfb3V0cHV0X3JlZGlyZWN0GAcgASgIEjsKDnBhcnNpbmdfcmVzdWx0GAggASgLMiMuYWdlbnQudjEuU2hlbGxDb21tYW5kUGFyc2luZ1Jlc3VsdBI+ChhyZXF1ZXN0ZWRfc2FuZGJveF9wb2xpY3kYCSABKAsyFy5hZ2VudC52MS5TYW5kYm94UG9saWN5SACIAQESKAobZmlsZV9vdXRwdXRfdGhyZXNob2xkX2J5dGVzGAogASgESAGIAQESFQoNaXNfYmFja2dyb3VuZBgLIAEoCBIVCg1za2lwX2FwcHJvdmFsGAwgASgIEhgKEHRpbWVvdXRfYmVoYXZpb3IYDSABKAUSGQoMaGFyZF90aW1lb3V0GA4gASgFSAKIAQESGAoLZGVzY3JpcHRpb24YDyABKAlIA4gBARJBChFjbGFzc2lmaWVyX3Jlc3VsdBgQIAEoCzIhLmFnZW50LnYxLkNvbW1hbmRDbGFzc2lmaWVyUmVzdWx0SASIAQESEwoLY2xvc2Vfc3RkaW4YESABKAgSSQoTb3V0cHV0X25vdGlmaWNhdGlvbhgSIAEoCzInLmFnZW50LnYxLlNoZWxsT3V0cHV0Tm90aWZpY2F0aW9uQ29uZmlnSAWIAQESPQoTc21hcnRfbW9kZV9hcHByb3ZhbBgTIAEoCzIbLmFnZW50LnYxLlNtYXJ0TW9kZUFwcHJvdmFsSAaIAQESTgoZaG9va19hcHByb3ZhbF9yZXF1aXJlbWVudBgUIAEoCzImLmFnZW50LnYxLlNoZWxsSG9va0FwcHJvdmFsUmVxdWlyZW1lbnRIB4gBARIcCg9jb252ZXJzYXRpb25faWQYFSABKAlICIgBAUIbChlfcmVxdWVzdGVkX3NhbmRib3hfcG9saWN5Qh4KHF9maWxlX291dHB1dF90aHJlc2hvbGRfYnl0ZXNCDwoNX2hhcmRfdGltZW91dEIOCgxfZGVzY3JpcHRpb25CFAoSX2NsYXNzaWZpZXJfcmVzdWx0QhYKFF9vdXRwdXRfbm90aWZpY2F0aW9uQhYKFF9zbWFydF9tb2RlX2FwcHJvdmFsQhwKGl9ob29rX2FwcHJvdmFsX3JlcXVpcmVtZW50QhIKEF9jb252ZXJzYXRpb25faWQi+gMKC1NoZWxsUmVzdWx0EjQKDnNhbmRib3hfcG9saWN5GGUgASgLMhcuYWdlbnQudjEuU2FuZGJveFBvbGljeUgBiAEBEhoKDWlzX2JhY2tncm91bmQYZiABKAhIAogBARIdChB0ZXJtaW5hbHNfZm9sZGVyGGcgASgJSAOIAQESEAoDcGlkGGggASgNSASIAQESKQoHc3VjY2VzcxgBIAEoCzIWLmFnZW50LnYxLlNoZWxsU3VjY2Vzc0gAEikKB2ZhaWx1cmUYAiABKAsyFi5hZ2VudC52MS5TaGVsbEZhaWx1cmVIABIpCgd0aW1lb3V0GAMgASgLMhYuYWdlbnQudjEuU2hlbGxUaW1lb3V0SAASKwoIcmVqZWN0ZWQYBCABKAsyFy5hZ2VudC52MS5TaGVsbFJlamVjdGVkSAASMAoLc3Bhd25fZXJyb3IYBSABKAsyGS5hZ2VudC52MS5TaGVsbFNwYXduRXJyb3JIABI8ChFwZXJtaXNzaW9uX2RlbmllZBgHIAEoCzIfLmFnZW50LnYxLlNoZWxsUGVybWlzc2lvbkRlbmllZEgAQggKBnJlc3VsdEIRCg9fc2FuZGJveF9wb2xpY3lCEAoOX2lzX2JhY2tncm91bmRCEwoRX3Rlcm1pbmFsc19mb2xkZXJCBgoEX3BpZCIhChFTaGVsbFN0cmVhbVN0ZG91dBIMCgRkYXRhGAEgASgJIiEKEVNoZWxsU3RyZWFtU3RkZXJyEgwKBGRhdGEYASABKAki9wEKD1NoZWxsU3RyZWFtRXhpdBIMCgRjb2RlGAEgASgNEgsKA2N3ZBgCIAEoCRI2Cg9vdXRwdXRfbG9jYXRpb24YAyABKAsyGC5hZ2VudC52MS5PdXRwdXRMb2NhdGlvbkgAiAEBEg8KB2Fib3J0ZWQYBCABKAgSGQoMYWJvcnRfcmVhc29uGAUgASgFSAGIAQESJAoXbG9jYWxfZXhlY3V0aW9uX3RpbWVfbXMYBiABKAVIAogBAUISChBfb3V0cHV0X2xvY2F0aW9uQg8KDV9hYm9ydF9yZWFzb25CGgoYX2xvY2FsX2V4ZWN1dGlvbl90aW1lX21zIlsKEFNoZWxsU3RyZWFtU3RhcnQSNAoOc2FuZGJveF9wb2xpY3kYASABKAsyFy5hZ2VudC52MS5TYW5kYm94UG9saWN5SACIAQFCEQoPX3NhbmRib3hfcG9saWN5ItoBChdTaGVsbFN0cmVhbUJhY2tncm91bmRlZBIQCghzaGVsbF9pZBgBIAEoDRIPCgdjb21tYW5kGAIgASgJEhkKEXdvcmtpbmdfZGlyZWN0b3J5GAMgASgJEhAKA3BpZBgEIAEoDUgAiAEBEhcKCm1zX3RvX3dhaXQYBSABKAVIAYgBARI0CgZyZWFzb24YBiABKA4yHy5hZ2VudC52MS5TaGVsbEJhY2tncm91bmRSZWFzb25IAogBAUIGCgRfcGlkQg0KC19tc190b193YWl0QgkKB19yZWFzb24irAMKC1NoZWxsU3RyZWFtEi0KBnN0ZG91dBgBIAEoCzIbLmFnZW50LnYxLlNoZWxsU3RyZWFtU3Rkb3V0SAASLQoGc3RkZXJyGAIgASgLMhsuYWdlbnQudjEuU2hlbGxTdHJlYW1TdGRlcnJIABIpCgRleGl0GAMgASgLMhkuYWdlbnQudjEuU2hlbGxTdHJlYW1FeGl0SAASKwoFc3RhcnQYBCABKAsyGi5hZ2VudC52MS5TaGVsbFN0cmVhbVN0YXJ0SAASKwoIcmVqZWN0ZWQYBSABKAsyFy5hZ2VudC52MS5TaGVsbFJlamVjdGVkSAASPAoRcGVybWlzc2lvbl9kZW5pZWQYBiABKAsyHy5hZ2VudC52MS5TaGVsbFBlcm1pc3Npb25EZW5pZWRIABI5CgxiYWNrZ3JvdW5kZWQYByABKAsyIS5hZ2VudC52MS5TaGVsbFN0cmVhbUJhY2tncm91bmRlZEgAEjgKDGhvb2tfY29udGV4dBgIIAEoCzIgLmFnZW50LnYxLlNoZWxsU3RyZWFtSG9va0NvbnRleHRIAEIHCgVldmVudCJLCg5PdXRwdXRMb2NhdGlvbhIRCglmaWxlX3BhdGgYASABKAkSEgoKc2l6ZV9ieXRlcxgCIAEoAxISCgpsaW5lX2NvdW50GAMgASgDIpgFCgxTaGVsbFN1Y2Nlc3MSDwoHY29tbWFuZBgBIAEoCRIZChF3b3JraW5nX2RpcmVjdG9yeRgCIAEoCRIRCglleGl0X2NvZGUYAyABKAUSDgoGc2lnbmFsGAQgASgJEg4KBnN0ZG91dBgFIAEoCRIOCgZzdGRlcnIYBiABKAkSFgoOZXhlY3V0aW9uX3RpbWUYByABKAUSNgoPb3V0cHV0X2xvY2F0aW9uGAggASgLMhguYWdlbnQudjEuT3V0cHV0TG9jYXRpb25IAIgBARIVCghzaGVsbF9pZBgJIAEoDUgBiAEBEh8KEmludGVybGVhdmVkX291dHB1dBgKIAEoCUgCiAEBEhAKA3BpZBgLIAEoDUgDiAEBEhcKCm1zX3RvX3dhaXQYDCABKAVIBIgBARIkChdsb2NhbF9leGVjdXRpb25fdGltZV9tcxgNIAEoBUgFiAEBEj8KEWJhY2tncm91bmRfcmVhc29uGA4gASgOMh8uYWdlbnQudjEuU2hlbGxCYWNrZ3JvdW5kUmVhc29uSAaIAQESGAoLb3V0cHV0X2hlYWQYDyABKAlIB4gBARIYCgtvdXRwdXRfdGFpbBgQIAEoCUgIiAEBEhkKDGVsaWRlZF9jaGFycxgRIAEoDUgJiAEBQhIKEF9vdXRwdXRfbG9jYXRpb25CCwoJX3NoZWxsX2lkQhUKE19pbnRlcmxlYXZlZF9vdXRwdXRCBgoEX3BpZEINCgtfbXNfdG9fd2FpdEIaChhfbG9jYWxfZXhlY3V0aW9uX3RpbWVfbXNCFAoSX2JhY2tncm91bmRfcmVhc29uQg4KDF9vdXRwdXRfaGVhZEIOCgxfb3V0cHV0X3RhaWxCDwoNX2VsaWRlZF9jaGFycyKYBAoMU2hlbGxGYWlsdXJlEg8KB2NvbW1hbmQYASABKAkSGQoRd29ya2luZ19kaXJlY3RvcnkYAiABKAkSEQoJZXhpdF9jb2RlGAMgASgFEg4KBnNpZ25hbBgEIAEoCRIOCgZzdGRvdXQYBSABKAkSDgoGc3RkZXJyGAYgASgJEhYKDmV4ZWN1dGlvbl90aW1lGAcgASgFEjYKD291dHB1dF9sb2NhdGlvbhgIIAEoCzIYLmFnZW50LnYxLk91dHB1dExvY2F0aW9uSACIAQESHwoSaW50ZXJsZWF2ZWRfb3V0cHV0GAkgASgJSAGIAQESGQoMYWJvcnRfcmVhc29uGAogASgFSAKIAQESDwoHYWJvcnRlZBgLIAEoCBIkChdsb2NhbF9leGVjdXRpb25fdGltZV9tcxgMIAEoBUgDiAEBEhgKC291dHB1dF9oZWFkGA0gASgJSASIAQESGAoLb3V0cHV0X3RhaWwYDiABKAlIBYgBARIZCgxlbGlkZWRfY2hhcnMYDyABKA1IBogBAUISChBfb3V0cHV0X2xvY2F0aW9uQhUKE19pbnRlcmxlYXZlZF9vdXRwdXRCDwoNX2Fib3J0X3JlYXNvbkIaChhfbG9jYWxfZXhlY3V0aW9uX3RpbWVfbXNCDgoMX291dHB1dF9oZWFkQg4KDF9vdXRwdXRfdGFpbEIPCg1fZWxpZGVkX2NoYXJzIk4KDFNoZWxsVGltZW91dBIPCgdjb21tYW5kGAEgASgJEhkKEXdvcmtpbmdfZGlyZWN0b3J5GAIgASgJEhIKCnRpbWVvdXRfbXMYAyABKAUiYAoNU2hlbGxSZWplY3RlZBIPCgdjb21tYW5kGAEgASgJEhkKEXdvcmtpbmdfZGlyZWN0b3J5GAIgASgJEg4KBnJlYXNvbhgDIAEoCRITCgtpc19yZWFkb25seRgEIAEoCCJnChVTaGVsbFBlcm1pc3Npb25EZW5pZWQSDwoHY29tbWFuZBgBIAEoCRIZChF3b3JraW5nX2RpcmVjdG9yeRgCIAEoCRINCgVlcnJvchgDIAEoCRITCgtpc19yZWFkb25seRgEIAEoCCJMCg9TaGVsbFNwYXduRXJyb3ISDwoHY29tbWFuZBgBIAEoCRIZChF3b3JraW5nX2RpcmVjdG9yeRgCIAEoCRINCgVlcnJvchgDIAEoCSJAChJTaGVsbFBhcnRpYWxSZXN1bHQSFAoMc3Rkb3V0X2RlbHRhGAEgASgJEhQKDHN0ZGVycl9kZWx0YRgCIAEoCSJZCg1TaGVsbFRvb2xDYWxsEiEKBGFyZ3MYASABKAsyEy5hZ2VudC52MS5TaGVsbEFyZ3MSJQoGcmVzdWx0GAIgASgLMhUuYWdlbnQudjEuU2hlbGxSZXN1bHQiKwoYU2hlbGxUb29sQ2FsbFN0ZG91dERlbHRhEg8KB2NvbnRlbnQYASABKAkiKwoYU2hlbGxUb29sQ2FsbFN0ZGVyckRlbHRhEg8KB2NvbnRlbnQYASABKAkiiQEKElNoZWxsVG9vbENhbGxEZWx0YRI0CgZzdGRvdXQYASABKAsyIi5hZ2VudC52MS5TaGVsbFRvb2xDYWxsU3Rkb3V0RGVsdGFIABI0CgZzdGRlcnIYAiABKAsyIi5hZ2VudC52MS5TaGVsbFRvb2xDYWxsU3RkZXJyRGVsdGFIAEIHCgVkZWx0YSLtAQoMU3ViYWdlbnRUeXBlEjgKC3Vuc3BlY2lmaWVkGAEgASgLMiEuYWdlbnQudjEuU3ViYWdlbnRUeXBlVW5zcGVjaWZpZWRIABI5Cgxjb21wdXRlcl91c2UYAiABKAsyIS5hZ2VudC52MS5TdWJhZ2VudFR5cGVDb21wdXRlclVzZUgAEi4KBmN1c3RvbRgDIAEoCzIcLmFnZW50LnYxLlN1YmFnZW50VHlwZUN1c3RvbUgAEjAKB2V4cGxvcmUYBCABKAsyHS5hZ2VudC52MS5TdWJhZ2VudFR5cGVFeHBsb3JlSABCBgoEdHlwZSIZChdTdWJhZ2VudFR5cGVVbnNwZWNpZmllZCIZChdTdWJhZ2VudFR5cGVDb21wdXRlclVzZSIVChNTdWJhZ2VudFR5cGVFeHBsb3JlIiIKElN1YmFnZW50VHlwZUN1c3RvbRIMCgRuYW1lGAEgASgJIo0BCg5DdXN0b21TdWJhZ2VudBIRCglmdWxsX3BhdGgYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRINCgV0b29scxgEIAMoCRINCgVtb2RlbBgFIAEoCRIOCgZwcm9tcHQYBiABKAkSFwoPcGVybWlzc2lvbl9tb2RlGAcgASgFImgKDlN3aXRjaE1vZGVBcmdzEhYKDnRhcmdldF9tb2RlX2lkGAEgASgJEhgKC2V4cGxhbmF0aW9uGAIgASgJSACIAQESFAoMdG9vbF9jYWxsX2lkGAMgASgJQg4KDF9leHBsYW5hdGlvbiKqAQoQU3dpdGNoTW9kZVJlc3VsdBIuCgdzdWNjZXNzGAEgASgLMhsuYWdlbnQudjEuU3dpdGNoTW9kZVN1Y2Nlc3NIABIqCgVlcnJvchgCIAEoCzIZLmFnZW50LnYxLlN3aXRjaE1vZGVFcnJvckgAEjAKCHJlamVjdGVkGAMgASgLMhwuYWdlbnQudjEuU3dpdGNoTW9kZVJlamVjdGVkSABCCAoGcmVzdWx0Ij0KEVN3aXRjaE1vZGVTdWNjZXNzEhQKDGZyb21fbW9kZV9pZBgBIAEoCRISCgp0b19tb2RlX2lkGAIgASgJIiAKD1N3aXRjaE1vZGVFcnJvchINCgVlcnJvchgBIAEoCSIkChJTd2l0Y2hNb2RlUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJImgKElN3aXRjaE1vZGVUb29sQ2FsbBImCgRhcmdzGAEgASgLMhguYWdlbnQudjEuU3dpdGNoTW9kZUFyZ3MSKgoGcmVzdWx0GAIgASgLMhouYWdlbnQudjEuU3dpdGNoTW9kZVJlc3VsdCJAChZTd2l0Y2hNb2RlUmVxdWVzdFF1ZXJ5EiYKBGFyZ3MYASABKAsyGC5hZ2VudC52MS5Td2l0Y2hNb2RlQXJncyKpAQoZU3dpdGNoTW9kZVJlcXVlc3RSZXNwb25zZRJACghhcHByb3ZlZBgBIAEoCzIsLmFnZW50LnYxLlN3aXRjaE1vZGVSZXF1ZXN0UmVzcG9uc2VfQXBwcm92ZWRIABJACghyZWplY3RlZBgCIAEoCzIsLmFnZW50LnYxLlN3aXRjaE1vZGVSZXF1ZXN0UmVzcG9uc2VfUmVqZWN0ZWRIAEIICgZyZXN1bHQiJAoiU3dpdGNoTW9kZVJlcXVlc3RSZXNwb25zZV9BcHByb3ZlZCI0CiJTd2l0Y2hNb2RlUmVxdWVzdFJlc3BvbnNlX1JlamVjdGVkEg4KBnJlYXNvbhgBIAEoCSJ1CghUb2RvSXRlbRIKCgJpZBgBIAEoCRIPCgdjb250ZW50GAIgASgJEg4KBnN0YXR1cxgDIAEoBRISCgpjcmVhdGVkX2F0GAQgASgDEhIKCnVwZGF0ZWRfYXQYBSABKAMSFAoMZGVwZW5kZW5jaWVzGAYgAygJImsKE1VwZGF0ZVRvZG9zVG9vbENhbGwSJwoEYXJncxgBIAEoCzIZLmFnZW50LnYxLlVwZGF0ZVRvZG9zQXJncxIrCgZyZXN1bHQYAiABKAsyGy5hZ2VudC52MS5VcGRhdGVUb2Rvc1Jlc3VsdCJDCg9VcGRhdGVUb2Rvc0FyZ3MSIQoFdG9kb3MYASADKAsyEi5hZ2VudC52MS5Ub2RvSXRlbRINCgVtZXJnZRgCIAEoCCJ7ChFVcGRhdGVUb2Rvc1Jlc3VsdBIvCgdzdWNjZXNzGAEgASgLMhwuYWdlbnQudjEuVXBkYXRlVG9kb3NTdWNjZXNzSAASKwoFZXJyb3IYAiABKAsyGi5hZ2VudC52MS5VcGRhdGVUb2Rvc0Vycm9ySABCCAoGcmVzdWx0Il8KElVwZGF0ZVRvZG9zU3VjY2VzcxIhCgV0b2RvcxgBIAMoCzISLmFnZW50LnYxLlRvZG9JdGVtEhMKC3RvdGFsX2NvdW50GAIgASgFEhEKCXdhc19tZXJnZRgDIAEoCCIhChBVcGRhdGVUb2Rvc0Vycm9yEg0KBWVycm9yGAEgASgJImUKEVJlYWRUb2Rvc1Rvb2xDYWxsEiUKBGFyZ3MYASABKAsyFy5hZ2VudC52MS5SZWFkVG9kb3NBcmdzEikKBnJlc3VsdBgCIAEoCzIZLmFnZW50LnYxLlJlYWRUb2Rvc1Jlc3VsdCI5Cg1SZWFkVG9kb3NBcmdzEhUKDXN0YXR1c19maWx0ZXIYASADKAUSEQoJaWRfZmlsdGVyGAIgAygJInUKD1JlYWRUb2Rvc1Jlc3VsdBItCgdzdWNjZXNzGAEgASgLMhouYWdlbnQudjEuUmVhZFRvZG9zU3VjY2Vzc0gAEikKBWVycm9yGAIgASgLMhguYWdlbnQudjEuUmVhZFRvZG9zRXJyb3JIAEIICgZyZXN1bHQiSgoQUmVhZFRvZG9zU3VjY2VzcxIhCgV0b2RvcxgBIAMoCzISLmFnZW50LnYxLlRvZG9JdGVtEhMKC3RvdGFsX2NvdW50GAIgASgFIh8KDlJlYWRUb2Rvc0Vycm9yEg0KBWVycm9yGAEgASgJIksKBVJhbmdlEiEKBXN0YXJ0GAEgASgLMhIuYWdlbnQudjEuUG9zaXRpb24SHwoDZW5kGAIgASgLMhIuYWdlbnQudjEuUG9zaXRpb24iKAoIUG9zaXRpb24SDAoEbGluZRgBIAEoDRIOCgZjb2x1bW4YAiABKA0iGAoFRXJyb3ISDwoHbWVzc2FnZRgBIAEoCSI6Cg1XZWJTZWFyY2hBcmdzEhMKC3NlYXJjaF90ZXJtGAEgASgJEhQKDHRvb2xfY2FsbF9pZBgCIAEoCSKmAQoPV2ViU2VhcmNoUmVzdWx0Ei0KB3N1Y2Nlc3MYASABKAsyGi5hZ2VudC52MS5XZWJTZWFyY2hTdWNjZXNzSAASKQoFZXJyb3IYAiABKAsyGC5hZ2VudC52MS5XZWJTZWFyY2hFcnJvckgAEi8KCHJlamVjdGVkGAMgASgLMhsuYWdlbnQudjEuV2ViU2VhcmNoUmVqZWN0ZWRIAEIICgZyZXN1bHQiRAoQV2ViU2VhcmNoU3VjY2VzcxIwCgpyZWZlcmVuY2VzGAEgAygLMhwuYWdlbnQudjEuV2ViU2VhcmNoUmVmZXJlbmNlIh8KDldlYlNlYXJjaEVycm9yEg0KBWVycm9yGAEgASgJIiMKEVdlYlNlYXJjaFJlamVjdGVkEg4KBnJlYXNvbhgBIAEoCSI/ChJXZWJTZWFyY2hSZWZlcmVuY2USDQoFdGl0bGUYASABKAkSCwoDdXJsGAIgASgJEg0KBWNodW5rGAMgASgJImUKEVdlYlNlYXJjaFRvb2xDYWxsEiUKBGFyZ3MYASABKAsyFy5hZ2VudC52MS5XZWJTZWFyY2hBcmdzEikKBnJlc3VsdBgCIAEoCzIZLmFnZW50LnYxLldlYlNlYXJjaFJlc3VsdCI+ChVXZWJTZWFyY2hSZXF1ZXN0UXVlcnkSJQoEYXJncxgBIAEoCzIXLmFnZW50LnYxLldlYlNlYXJjaEFyZ3MipgEKGFdlYlNlYXJjaFJlcXVlc3RSZXNwb25zZRI/CghhcHByb3ZlZBgBIAEoCzIrLmFnZW50LnYxLldlYlNlYXJjaFJlcXVlc3RSZXNwb25zZV9BcHByb3ZlZEgAEj8KCHJlamVjdGVkGAIgASgLMisuYWdlbnQudjEuV2ViU2VhcmNoUmVxdWVzdFJlc3BvbnNlX1JlamVjdGVkSABCCAoGcmVzdWx0IiMKIVdlYlNlYXJjaFJlcXVlc3RSZXNwb25zZV9BcHByb3ZlZCIzCiFXZWJTZWFyY2hSZXF1ZXN0UmVzcG9uc2VfUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIq0BCglXcml0ZUFyZ3MSDAoEcGF0aBgBIAEoCRIRCglmaWxlX3RleHQYAiABKAkSFAoMdG9vbF9jYWxsX2lkGAMgASgJEicKH3JldHVybl9maWxlX2NvbnRlbnRfYWZ0ZXJfd3JpdGUYBCABKAgSEgoKZmlsZV9ieXRlcxgFIAEoDBIaCg1lbmNvZGluZ19oaW50GAYgASgJSACIAQFCEAoOX2VuY29kaW5nX2hpbnQigAIKC1dyaXRlUmVzdWx0EikKB3N1Y2Nlc3MYASABKAsyFi5hZ2VudC52MS5Xcml0ZVN1Y2Nlc3NIABI8ChFwZXJtaXNzaW9uX2RlbmllZBgDIAEoCzIfLmFnZW50LnYxLldyaXRlUGVybWlzc2lvbkRlbmllZEgAEioKCG5vX3NwYWNlGAQgASgLMhYuYWdlbnQudjEuV3JpdGVOb1NwYWNlSAASJQoFZXJyb3IYBSABKAsyFC5hZ2VudC52MS5Xcml0ZUVycm9ySAASKwoIcmVqZWN0ZWQYBiABKAsyFy5hZ2VudC52MS5Xcml0ZVJlamVjdGVkSABCCAoGcmVzdWx0IooBCgxXcml0ZVN1Y2Nlc3MSDAoEcGF0aBgBIAEoCRIVCg1saW5lc19jcmVhdGVkGAIgASgFEhEKCWZpbGVfc2l6ZRgDIAEoBRIlChhmaWxlX2NvbnRlbnRfYWZ0ZXJfd3JpdGUYBCABKAlIAIgBAUIbChlfZmlsZV9jb250ZW50X2FmdGVyX3dyaXRlIm8KFVdyaXRlUGVybWlzc2lvbkRlbmllZBIMCgRwYXRoGAEgASgJEhEKCWRpcmVjdG9yeRgCIAEoCRIRCglvcGVyYXRpb24YAyABKAkSDQoFZXJyb3IYBCABKAkSEwoLaXNfcmVhZG9ubHkYBSABKAgiHAoMV3JpdGVOb1NwYWNlEgwKBHBhdGgYASABKAkiKQoKV3JpdGVFcnJvchIMCgRwYXRoGAEgASgJEg0KBWVycm9yGAIgASgJIi0KDVdyaXRlUmVqZWN0ZWQSDAoEcGF0aBgBIAEoCRIOCgZyZWFzb24YAiABKAkigwEKF0Jvb3RzdHJhcFN0YXRzaWdSZXF1ZXN0Eh4KEWlnbm9yZV9kZXZfc3RhdHVzGAEgASgISACIAQESHQoQb3BlcmF0aW5nX3N5c3RlbRgCIAEoBUgBiAEBQhQKEl9pZ25vcmVfZGV2X3N0YXR1c0ITChFfb3BlcmF0aW5nX3N5c3RlbSIOCgxQaW5nUmVzcG9uc2UitwEKC0V4ZWNSZXF1ZXN0Eg8KB2NvbW1hbmQYASABKAkSEAoDY3dkGAIgASgJSACIAQESDAoEYXJncxgDIAMoCRI7CgtlbnZpcm9ubWVudBgEIAMoCzImLmFnZW50LnYxLkV4ZWNSZXF1ZXN0LkVudmlyb25tZW50RW50cnkaMgoQRW52aXJvbm1lbnRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgYKBF9jd2QioAEKDEV4ZWNSZXNwb25zZRItCgxzdGRvdXRfZXZlbnQYASABKAsyFS5hZ2VudC52MS5TdGRvdXRFdmVudEgAEi0KDHN0ZGVycl9ldmVudBgCIAEoCzIVLmFnZW50LnYxLlN0ZGVyckV2ZW50SAASKQoKZXhpdF9ldmVudBgDIAEoCzITLmFnZW50LnYxLkV4aXRFdmVudEgAQgcKBWV2ZW50IhsKC1N0ZG91dEV2ZW50EgwKBGRhdGEYASABKAkiGwoLU3RkZXJyRXZlbnQSDAoEZGF0YRgBIAEoCSIeCglFeGl0RXZlbnQSEQoJZXhpdF9jb2RlGAEgASgFIiMKE1JlYWRUZXh0RmlsZVJlcXVlc3QSDAoEcGF0aBgBIAEoCSInChRSZWFkVGV4dEZpbGVSZXNwb25zZRIPCgdjb250ZW50GAEgASgJIjUKFFdyaXRlVGV4dEZpbGVSZXF1ZXN0EgwKBHBhdGgYASABKAkSDwoHY29udGVudBgCIAEoCSIXChVXcml0ZVRleHRGaWxlUmVzcG9uc2UiJQoVUmVhZEJpbmFyeUZpbGVSZXF1ZXN0EgwKBHBhdGgYASABKAkiKQoWUmVhZEJpbmFyeUZpbGVSZXNwb25zZRIPCgdjb250ZW50GAEgASgMIjcKFldyaXRlQmluYXJ5RmlsZVJlcXVlc3QSDAoEcGF0aBgBIAEoCRIPCgdjb250ZW50GAIgASgMIhkKF1dyaXRlQmluYXJ5RmlsZVJlc3BvbnNlIkUKHkdldFdvcmtzcGFjZUNoYW5nZXNIYXNoUmVxdWVzdBIRCglyb290X3BhdGgYASABKAkSEAoIYmFzZV9yZWYYAiABKAkiLwofR2V0V29ya3NwYWNlQ2hhbmdlc0hhc2hSZXNwb25zZRIMCgRoYXNoGAEgASgJIlAKH1JlZnJlc2hHaXRodWJBY2Nlc3NUb2tlblJlcXVlc3QSGwoTZ2l0aHViX2FjY2Vzc190b2tlbhgBIAEoCRIQCghob3N0bmFtZRgCIAEoCSIiCiBSZWZyZXNoR2l0aHViQWNjZXNzVG9rZW5SZXNwb25zZSJXCh1XYXJtUmVtb3RlQWNjZXNzU2VydmVyUmVxdWVzdBIOCgZjb21taXQYASABKAkSDAoEcG9ydBgCIAEoBRIYChBjb25uZWN0aW9uX3Rva2VuGAMgASgJIiAKHldhcm1SZW1vdGVBY2Nlc3NTZXJ2ZXJSZXNwb25zZSIWChRMaXN0QXJ0aWZhY3RzUmVxdWVzdCKKAgoWQXJ0aWZhY3RVcGxvYWRNZXRhZGF0YRIVCg1hYnNvbHV0ZV9wYXRoGAEgASgJEhIKCnNpemVfYnl0ZXMYAiABKAQSGgoSdXBkYXRlZF9hdF91bml4X21zGAMgASgDEg4KBnN0YXR1cxgEIAEoBRIWCg5ieXRlc191cGxvYWRlZBgFIAEoBBISCgpsYXN0X2Vycm9yGAYgASgJEhcKD3VwbG9hZF9hdHRlbXB0cxgHIAEoDRIfChdsYXN0X3N0YXJ0ZWRfYXRfdW5peF9tcxgIIAEoAxIgChhsYXN0X2ZpbmlzaGVkX2F0X3VuaXhfbXMYCSABKAMSEQoJdXBsb2FkX2lkGAogASgJIkwKFUxpc3RBcnRpZmFjdHNSZXNwb25zZRIzCglhcnRpZmFjdHMYASADKAsyIC5hZ2VudC52MS5BcnRpZmFjdFVwbG9hZE1ldGFkYXRhIk4KFlVwbG9hZEFydGlmYWN0c1JlcXVlc3QSNAoHdXBsb2FkcxgBIAMoCzIjLmFnZW50LnYxLkFydGlmYWN0VXBsb2FkSW5zdHJ1Y3Rpb24i1wIKGUFydGlmYWN0VXBsb2FkSW5zdHJ1Y3Rpb24SFQoNYWJzb2x1dGVfcGF0aBgBIAEoCRISCgp1cGxvYWRfdXJsGAIgASgJEg4KBm1ldGhvZBgDIAEoCRJBCgdoZWFkZXJzGAQgAygLMjAuYWdlbnQudjEuQXJ0aWZhY3RVcGxvYWRJbnN0cnVjdGlvbi5IZWFkZXJzRW50cnkSGQoMY29udGVudF90eXBlGAUgASgJSACIAQESHQoQc2xhY2tfdXBsb2FkX3VybBgGIAEoCUgBiAEBEhoKDXNsYWNrX2ZpbGVfaWQYByABKAlIAogBARouCgxIZWFkZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUIPCg1fY29udGVudF90eXBlQhMKEV9zbGFja191cGxvYWRfdXJsQhAKDl9zbGFja19maWxlX2lkIoQBChxBcnRpZmFjdFVwbG9hZERpc3BhdGNoUmVzdWx0EhUKDWFic29sdXRlX3BhdGgYASABKAkSDgoGc3RhdHVzGAIgASgFEg8KB21lc3NhZ2UYAyABKAkSGgoNc2xhY2tfZmlsZV9pZBgEIAEoCUgAiAEBQhAKDl9zbGFja19maWxlX2lkIlIKF1VwbG9hZEFydGlmYWN0c1Jlc3BvbnNlEjcKB3Jlc3VsdHMYASADKAsyJi5hZ2VudC52MS5BcnRpZmFjdFVwbG9hZERpc3BhdGNoUmVzdWx0IhwKGkdldE1jcFJlZnJlc2hUb2tlbnNSZXF1ZXN0IqUBChtHZXRNY3BSZWZyZXNoVG9rZW5zUmVzcG9uc2USUAoOcmVmcmVzaF90b2tlbnMYASADKAsyOC5hZ2VudC52MS5HZXRNY3BSZWZyZXNoVG9rZW5zUmVzcG9uc2UuUmVmcmVzaFRva2Vuc0VudHJ5GjQKElJlZnJlc2hUb2tlbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIqMBCiFVcGRhdGVFbnZpcm9ubWVudFZhcmlhYmxlc1JlcXVlc3QSQQoDZW52GAEgAygLMjQuYWdlbnQudjEuVXBkYXRlRW52aXJvbm1lbnRWYXJpYWJsZXNSZXF1ZXN0LkVudkVudHJ5Eg8KB3JlcGxhY2UYAiABKAgaKgoIRW52RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJGCiJVcGRhdGVFbnZpcm9ubWVudFZhcmlhYmxlc1Jlc3BvbnNlEg8KB2FwcGxpZWQYASABKA0SDwoHcmVtb3ZlZBgCIAEoDSKDAQoSTWNwT0F1dGhTdG9yZWREYXRhEhUKDXJlZnJlc2hfdG9rZW4YASABKAkSEQoJY2xpZW50X2lkGAIgASgJEhoKDWNsaWVudF9zZWNyZXQYAyABKAlIAIgBARIVCg1yZWRpcmVjdF91cmlzGAQgAygJQhAKDl9jbGllbnRfc2VjcmV0Ik4KBUZyYW1lEgoKAmlkGAEgASgJEg4KBm1ldGhvZBgCIAEoCRIMCgRkYXRhGAMgASgMEgwKBGtpbmQYBCABKAUSDQoFZXJyb3IYBSABKAkiBwoFRW1wdHkiIwoNQmlkaVJlcXVlc3RJZBISCgpyZXF1ZXN0X2lkGAEgASgJIoECCgxQaVRydW5jYXRpb24SEQoJdHJ1bmNhdGVkGAEgASgIEhQKDHRydW5jYXRlZF9ieRgCIAEoCRITCgt0b3RhbF9saW5lcxgDIAEoDRIUCgxvdXRwdXRfbGluZXMYBCABKA0SFAoMb3V0cHV0X2J5dGVzGAUgASgNEhYKCW1heF9saW5lcxgGIAEoDUgAiAEBEhYKCW1heF9ieXRlcxgHIAEoDUgBiAEBEiAKGGZpcnN0X2xpbmVfZXhjZWVkc19saW1pdBgIIAEoCBIZChFsYXN0X2xpbmVfcGFydGlhbBgJIAEoCEIMCgpfbWF4X2xpbmVzQgwKCl9tYXhfYnl0ZXMiNwoRUGlFZGl0UmVwbGFjZW1lbnQSEAoIb2xkX3RleHQYASABKAkSEAoIbmV3X3RleHQYAiABKAkiXAoOUGlSZWFkRXhlY0FyZ3MSDAoEcGF0aBgBIAEoCRITCgZvZmZzZXQYAiABKAVIAIgBARISCgVsaW1pdBgDIAEoBUgBiAEBQgkKB19vZmZzZXRCCAoGX2xpbWl0ImMKEVBpUmVhZEV4ZWNTdWNjZXNzEg4KBm91dHB1dBgBIAEoCRIvCgp0cnVuY2F0aW9uGAIgASgLMhYuYWdlbnQudjEuUGlUcnVuY2F0aW9uSACIAQFCDQoLX3RydW5jYXRpb24iIAoPUGlSZWFkRXhlY0Vycm9yEg0KBWVycm9yGAEgASgJIngKEFBpUmVhZEV4ZWNSZXN1bHQSLgoHc3VjY2VzcxgBIAEoCzIbLmFnZW50LnYxLlBpUmVhZEV4ZWNTdWNjZXNzSAASKgoFZXJyb3IYAiABKAsyGS5hZ2VudC52MS5QaVJlYWRFeGVjRXJyb3JIAEIICgZyZXN1bHQiQwoOUGlCYXNoRXhlY0FyZ3MSDwoHY29tbWFuZBgBIAEoCRIUCgd0aW1lb3V0GAIgASgBSACIAQFCCgoIX3RpbWVvdXQilwEKEVBpQmFzaEV4ZWNTdWNjZXNzEg4KBm91dHB1dBgBIAEoCRIvCgp0cnVuY2F0aW9uGAIgASgLMhYuYWdlbnQudjEuUGlUcnVuY2F0aW9uSACIAQESHQoQZnVsbF9vdXRwdXRfcGF0aBgDIAEoCUgBiAEBQg0KC190cnVuY2F0aW9uQhMKEV9mdWxsX291dHB1dF9wYXRoIpQBCg9QaUJhc2hFeGVjRXJyb3ISDQoFZXJyb3IYASABKAkSLwoKdHJ1bmNhdGlvbhgCIAEoCzIWLmFnZW50LnYxLlBpVHJ1bmNhdGlvbkgAiAEBEh0KEGZ1bGxfb3V0cHV0X3BhdGgYAyABKAlIAYgBAUINCgtfdHJ1bmNhdGlvbkITChFfZnVsbF9vdXRwdXRfcGF0aCJ4ChBQaUJhc2hFeGVjUmVzdWx0Ei4KB3N1Y2Nlc3MYASABKAsyGy5hZ2VudC52MS5QaUJhc2hFeGVjU3VjY2Vzc0gAEioKBWVycm9yGAIgASgLMhkuYWdlbnQudjEuUGlCYXNoRXhlY0Vycm9ySABCCAoGcmVzdWx0IkoKDlBpRWRpdEV4ZWNBcmdzEgwKBHBhdGgYASABKAkSKgoFZWRpdHMYAiADKAsyGy5hZ2VudC52MS5QaUVkaXRSZXBsYWNlbWVudCJ4ChFQaUVkaXRFeGVjU3VjY2VzcxIOCgZvdXRwdXQYASABKAkSDAoEZGlmZhgCIAEoCRINCgVwYXRjaBgDIAEoCRIfChJmaXJzdF9jaGFuZ2VkX2xpbmUYBCABKA1IAIgBAUIVChNfZmlyc3RfY2hhbmdlZF9saW5lIiAKD1BpRWRpdEV4ZWNFcnJvchINCgVlcnJvchgBIAEoCSIkChJQaUVkaXRFeGVjUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIqoBChBQaUVkaXRFeGVjUmVzdWx0Ei4KB3N1Y2Nlc3MYASABKAsyGy5hZ2VudC52MS5QaUVkaXRFeGVjU3VjY2Vzc0gAEioKBWVycm9yGAIgASgLMhkuYWdlbnQudjEuUGlFZGl0RXhlY0Vycm9ySAASMAoIcmVqZWN0ZWQYAyABKAsyHC5hZ2VudC52MS5QaUVkaXRFeGVjUmVqZWN0ZWRIAEIICgZyZXN1bHQiMAoPUGlXcml0ZUV4ZWNBcmdzEgwKBHBhdGgYASABKAkSDwoHY29udGVudBgCIAEoCSIkChJQaVdyaXRlRXhlY1N1Y2Nlc3MSDgoGb3V0cHV0GAEgASgJIiEKEFBpV3JpdGVFeGVjRXJyb3ISDQoFZXJyb3IYASABKAkiJQoTUGlXcml0ZUV4ZWNSZWplY3RlZBIOCgZyZWFzb24YASABKAkirgEKEVBpV3JpdGVFeGVjUmVzdWx0Ei8KB3N1Y2Nlc3MYASABKAsyHC5hZ2VudC52MS5QaVdyaXRlRXhlY1N1Y2Nlc3NIABIrCgVlcnJvchgCIAEoCzIaLmFnZW50LnYxLlBpV3JpdGVFeGVjRXJyb3JIABIxCghyZWplY3RlZBgDIAEoCzIdLmFnZW50LnYxLlBpV3JpdGVFeGVjUmVqZWN0ZWRIAEIICgZyZXN1bHQi5QEKDlBpR3JlcEV4ZWNBcmdzEg8KB3BhdHRlcm4YASABKAkSEQoEcGF0aBgCIAEoCUgAiAEBEhEKBGdsb2IYAyABKAlIAYgBARIYCgtpZ25vcmVfY2FzZRgEIAEoCEgCiAEBEhQKB2xpdGVyYWwYBSABKAhIA4gBARIUCgdjb250ZXh0GAYgASgFSASIAQESEgoFbGltaXQYByABKAVIBYgBAUIHCgVfcGF0aEIHCgVfZ2xvYkIOCgxfaWdub3JlX2Nhc2VCCgoIX2xpdGVyYWxCCgoIX2NvbnRleHRCCAoGX2xpbWl0IrYBChFQaUdyZXBFeGVjU3VjY2VzcxIOCgZvdXRwdXQYASABKAkSLwoKdHJ1bmNhdGlvbhgCIAEoCzIWLmFnZW50LnYxLlBpVHJ1bmNhdGlvbkgAiAEBEiAKE21hdGNoX2xpbWl0X3JlYWNoZWQYAyABKA1IAYgBARIXCg9saW5lc190cnVuY2F0ZWQYBCABKAhCDQoLX3RydW5jYXRpb25CFgoUX21hdGNoX2xpbWl0X3JlYWNoZWQiIAoPUGlHcmVwRXhlY0Vycm9yEg0KBWVycm9yGAEgASgJIngKEFBpR3JlcEV4ZWNSZXN1bHQSLgoHc3VjY2VzcxgBIAEoCzIbLmFnZW50LnYxLlBpR3JlcEV4ZWNTdWNjZXNzSAASKgoFZXJyb3IYAiABKAsyGS5hZ2VudC52MS5QaUdyZXBFeGVjRXJyb3JIAEIICgZyZXN1bHQiWwoOUGlGaW5kRXhlY0FyZ3MSDwoHcGF0dGVybhgBIAEoCRIRCgRwYXRoGAIgASgJSACIAQESEgoFbGltaXQYAyABKAVIAYgBAUIHCgVfcGF0aEIICgZfbGltaXQinwEKEVBpRmluZEV4ZWNTdWNjZXNzEg4KBm91dHB1dBgBIAEoCRIvCgp0cnVuY2F0aW9uGAIgASgLMhYuYWdlbnQudjEuUGlUcnVuY2F0aW9uSACIAQESIQoUcmVzdWx0X2xpbWl0X3JlYWNoZWQYAyABKA1IAYgBAUINCgtfdHJ1bmNhdGlvbkIXChVfcmVzdWx0X2xpbWl0X3JlYWNoZWQiIAoPUGlGaW5kRXhlY0Vycm9yEg0KBWVycm9yGAEgASgJIngKEFBpRmluZEV4ZWNSZXN1bHQSLgoHc3VjY2VzcxgBIAEoCzIbLmFnZW50LnYxLlBpRmluZEV4ZWNTdWNjZXNzSAASKgoFZXJyb3IYAiABKAsyGS5hZ2VudC52MS5QaUZpbmRFeGVjRXJyb3JIAEIICgZyZXN1bHQiSAoMUGlMc0V4ZWNBcmdzEhEKBHBhdGgYASABKAlIAIgBARISCgVsaW1pdBgCIAEoBUgBiAEBQgcKBV9wYXRoQggKBl9saW1pdCKbAQoPUGlMc0V4ZWNTdWNjZXNzEg4KBm91dHB1dBgBIAEoCRIvCgp0cnVuY2F0aW9uGAIgASgLMhYuYWdlbnQudjEuUGlUcnVuY2F0aW9uSACIAQESIAoTZW50cnlfbGltaXRfcmVhY2hlZBgDIAEoDUgBiAEBQg0KC190cnVuY2F0aW9uQhYKFF9lbnRyeV9saW1pdF9yZWFjaGVkIh4KDVBpTHNFeGVjRXJyb3ISDQoFZXJyb3IYASABKAkicgoOUGlMc0V4ZWNSZXN1bHQSLAoHc3VjY2VzcxgBIAEoCzIZLmFnZW50LnYxLlBpTHNFeGVjU3VjY2Vzc0gAEigKBWVycm9yGAIgASgLMhcuYWdlbnQudjEuUGlMc0V4ZWNFcnJvckgAQggKBnJlc3VsdCI8ChFNY3BTZXJ2ZXJOb3RGb3VuZBIMCgRuYW1lGAEgASgJEhkKEWF2YWlsYWJsZV9zZXJ2ZXJzGAIgAygJIg0KC01jcEFwcHJvdmVkIkEKEE1jcFN0YXRlRXhlY0FyZ3MSGgoSc2VydmVyX2lkZW50aWZpZXJzGAEgAygJEhEKCWtpY2tfb25seRgCIAEoCCKHAgoOTWNwU3RhdGVTZXJ2ZXISEwoLc2VydmVyX25hbWUYASABKAkSGQoRc2VydmVyX2lkZW50aWZpZXIYAiABKAkSEwoGcGx1Z2luGAMgASgJSACIAQESGAoLbWFya2V0cGxhY2UYBCABKAlIAYgBARIqCgV0b29scxgFIAMoCzIbLmFnZW50LnYxLk1jcFRvb2xEZWZpbml0aW9uEi8KDGluc3RydWN0aW9ucxgGIAMoCzIZLmFnZW50LnYxLk1jcEluc3RydWN0aW9ucxITCgZzdGF0dXMYByABKAlIAogBAUIJCgdfcGx1Z2luQg4KDF9tYXJrZXRwbGFjZUIJCgdfc3RhdHVzIjwKD01jcFN0YXRlU3VjY2VzcxIpCgdzZXJ2ZXJzGAEgAygLMhguYWdlbnQudjEuTWNwU3RhdGVTZXJ2ZXIiHgoNTWNwU3RhdGVFcnJvchINCgVlcnJvchgBIAEoCSIiChBNY3BTdGF0ZVJlamVjdGVkEg4KBnJlYXNvbhgBIAEoCSKmAQoSTWNwU3RhdGVFeGVjUmVzdWx0EiwKB3N1Y2Nlc3MYASABKAsyGS5hZ2VudC52MS5NY3BTdGF0ZVN1Y2Nlc3NIABIoCgVlcnJvchgCIAEoCzIXLmFnZW50LnYxLk1jcFN0YXRlRXJyb3JIABIuCghyZWplY3RlZBgDIAEoCzIaLmFnZW50LnYxLk1jcFN0YXRlUmVqZWN0ZWRIAEIICgZyZXN1bHQirQEKKUNvbW1hbmRDbGFzc2lmaWVyUmVzdWx0X0NsYXNzaWZpZWRDb21tYW5kEgwKBG5hbWUYASABKAkSEQoJYXJndW1lbnRzGAIgAygJEiYKGXN1Z2dlc3RlZF9hbGxvd2xpc3RfZW50cnkYAyABKAlIAIgBARIZChFzdWJjb21tYW5kX3Rva2VucxgEIAMoCUIcChpfc3VnZ2VzdGVkX2FsbG93bGlzdF9lbnRyeSLXAQoXQ29tbWFuZENsYXNzaWZpZXJSZXN1bHQSRQoIY29tbWFuZHMYASADKAsyMy5hZ2VudC52MS5Db21tYW5kQ2xhc3NpZmllclJlc3VsdF9DbGFzc2lmaWVkQ29tbWFuZBJWChZzdWdnZXN0ZWRfc2FuZGJveF9tb2RlGAIgASgOMjYuYWdlbnQudjEuQ29tbWFuZENsYXNzaWZpZXJSZXN1bHRfU3VnZ2VzdGVkU2FuZGJveE1vZGUSHQoVY2xhc3NpZmljYXRpb25fZmFpbGVkGAMgASgIIpMBCiJTaGVsbENvbW1hbmRQYXJzaW5nUmVzdWx0X1JlZGlyZWN0EhAKCG9wZXJhdG9yGAEgASgJEhcKD2Rlc3RpbmF0aW9uX2ZkcxgCIAMoDRIYChB0YXJnZXRfbm9kZV90eXBlGAMgASgJEhgKC3RhcmdldF90ZXh0GAQgASgJSACIAQFCDgoMX3RhcmdldF90ZXh0IooCChpTaGVsbEFsbG93bGlzdFByZWNoZWNrQXJncxIPCgdjb21tYW5kGAEgASgJEhkKEXdvcmtpbmdfZGlyZWN0b3J5GAIgASgJEjsKDnBhcnNpbmdfcmVzdWx0GAMgASgLMiMuYWdlbnQudjEuU2hlbGxDb21tYW5kUGFyc2luZ1Jlc3VsdBJBChFjbGFzc2lmaWVyX3Jlc3VsdBgEIAEoCzIhLmFnZW50LnYxLkNvbW1hbmRDbGFzc2lmaWVyUmVzdWx0SACIAQESGQoMdG9vbF9jYWxsX2lkGAUgASgJSAGIAQFCFAoSX2NsYXNzaWZpZXJfcmVzdWx0Qg8KDV90b29sX2NhbGxfaWQiMwocU2hlbGxBbGxvd2xpc3RQcmVjaGVja1Jlc3VsdBITCgthbGxvd2xpc3RlZBgBIAEoCCJ2ChhNY3BBbGxvd2xpc3RQcmVjaGVja0FyZ3MSGwoTcHJvdmlkZXJfaWRlbnRpZmllchgBIAEoCRIRCgl0b29sX25hbWUYAiABKAkSGQoMdG9vbF9jYWxsX2lkGAMgASgJSACIAQFCDwoNX3Rvb2xfY2FsbF9pZCIxChpNY3BBbGxvd2xpc3RQcmVjaGVja1Jlc3VsdBITCgthbGxvd2xpc3RlZBgBIAEoCCJYCh1XZWJGZXRjaEFsbG93bGlzdFByZWNoZWNrQXJncxILCgN1cmwYASABKAkSGQoMdG9vbF9jYWxsX2lkGAIgASgJSACIAQFCDwoNX3Rvb2xfY2FsbF9pZCI2Ch9XZWJGZXRjaEFsbG93bGlzdFByZWNoZWNrUmVzdWx0EhMKC2FsbG93bGlzdGVkGAEgASgIIjcKEVNtYXJ0TW9kZUFwcHJvdmFsEhIKCnJlcXVlc3RfaWQYASABKAkSDgoGcmVhc29uGAIgASgJIpwBCh1TaGVsbE91dHB1dE5vdGlmaWNhdGlvbkNvbmZpZxIPCgdwYXR0ZXJuGAEgASgJEg4KBnJlYXNvbhgCIAEoCRIVCghkZWJvdW5jZRgDIAEoAUgAiAEBEh8KEm5vdGlmaWNhdGlvbl9saW1pdBgEIAEoBUgBiAEBQgsKCV9kZWJvdW5jZUIVChNfbm90aWZpY2F0aW9uX2xpbWl0InkKHFNoZWxsSG9va0FwcHJvdmFsUmVxdWlyZW1lbnQSOQoEa2luZBgBIAEoDjIrLmFnZW50LnYxLlNoZWxsSG9va0FwcHJvdmFsUmVxdWlyZW1lbnRfS2luZBITCgZyZWFzb24YAiABKAlIAIgBAUIJCgdfcmVhc29uIjAKGEZvcmNlQmFja2dyb3VuZFNoZWxsQXJncxIUCgx0b29sX2NhbGxfaWQYASABKAkilQEKGkZvcmNlQmFja2dyb3VuZFNoZWxsUmVzdWx0EjQKBnN0YXR1cxgBIAEoDjIkLmFnZW50LnYxLkZvcmNlQmFja2dyb3VuZFNoZWxsU3RhdHVzEjAKDHNoZWxsX3Jlc3VsdBgCIAEoCzIVLmFnZW50LnYxLlNoZWxsUmVzdWx0SACIAQFCDwoNX3NoZWxsX3Jlc3VsdCJBChVIb29rQWRkaXRpb25hbENvbnRleHQSFwoPaG9va19ldmVudF9uYW1lGAEgASgJEg8KB2NvbnRlbnQYAiABKAkiWwoWU2hlbGxTdHJlYW1Ib29rQ29udGV4dBJBChhob29rX2FkZGl0aW9uYWxfY29udGV4dHMYASADKAsyHy5hZ2VudC52MS5Ib29rQWRkaXRpb25hbENvbnRleHQiSwoMU3ViYWdlbnRBcmdzEhQKDHRvb2xfY2FsbF9pZBgBIAEoCRIVCg1zdWJhZ2VudF90eXBlGAIgASgJEg4KBnByb21wdBgEIAEoCSLbAQoPU3ViYWdlbnRTdWNjZXNzEhAKCGFnZW50X2lkGAEgASgJEhoKDWZpbmFsX21lc3NhZ2UYAiABKAlIAIgBARIXCg90b29sX2NhbGxfY291bnQYAyABKAUSPQoRYmFja2dyb3VuZF9yZWFzb24YBCABKA4yIi5hZ2VudC52MS5TdWJhZ2VudEJhY2tncm91bmRSZWFzb24SHAoPdHJhbnNjcmlwdF9wYXRoGAUgASgJSAGIAQFCEAoOX2ZpbmFsX21lc3NhZ2VCEgoQX3RyYW5zY3JpcHRfcGF0aCJCCg1TdWJhZ2VudEVycm9yEhUKCGFnZW50X2lkGAEgASgJSACIAQESDQoFZXJyb3IYAiABKAlCCwoJX2FnZW50X2lkInIKDlN1YmFnZW50UmVzdWx0EiwKB3N1Y2Nlc3MYASABKAsyGS5hZ2VudC52MS5TdWJhZ2VudFN1Y2Nlc3NIABIoCgVlcnJvchgCIAEoCzIXLmFnZW50LnYxLlN1YmFnZW50RXJyb3JIAEIICgZyZXN1bHQiOQoRU3ViYWdlbnRBd2FpdEFyZ3MSEAoIYWdlbnRfaWQYASABKAkSEgoKdGltZW91dF9tcxgCIAEoDSKiAQoVU3ViYWdlbnRBd2FpdENvbXBsZXRlEhAKCGFnZW50X2lkGAEgASgJEhwKD3RyYW5zY3JpcHRfcGF0aBgCIAEoCUgAiAEBEhcKD3Rvb2xfY2FsbF9jb3VudBgDIAEoBRIaCg1maW5hbF9tZXNzYWdlGAQgASgJSAGIAQFCEgoQX3RyYW5zY3JpcHRfcGF0aEIQCg5fZmluYWxfbWVzc2FnZSJfChlTdWJhZ2VudEF3YWl0U3RpbGxSdW5uaW5nEhAKCGFnZW50X2lkGAEgASgJEhwKD3RyYW5zY3JpcHRfcGF0aBgCIAEoCUgAiAEBQhIKEF90cmFuc2NyaXB0X3BhdGgiKQoVU3ViYWdlbnRBd2FpdE5vdEZvdW5kEhAKCGFnZW50X2lkGAEgASgJIkcKElN1YmFnZW50QXdhaXRFcnJvchIVCghhZ2VudF9pZBgBIAEoCUgAiAEBEg0KBWVycm9yGAIgASgJQgsKCV9hZ2VudF9pZCL3AQoTU3ViYWdlbnRBd2FpdFJlc3VsdBIzCghjb21wbGV0ZRgBIAEoCzIfLmFnZW50LnYxLlN1YmFnZW50QXdhaXRDb21wbGV0ZUgAEjwKDXN0aWxsX3J1bm5pbmcYAiABKAsyIy5hZ2VudC52MS5TdWJhZ2VudEF3YWl0U3RpbGxSdW5uaW5nSAASNAoJbm90X2ZvdW5kGAMgASgLMh8uYWdlbnQudjEuU3ViYWdlbnRBd2FpdE5vdEZvdW5kSAASLQoFZXJyb3IYBCABKAsyHC5hZ2VudC52MS5TdWJhZ2VudEF3YWl0RXJyb3JIAEIICgZyZXN1bHQiMwobRm9yY2VCYWNrZ3JvdW5kU3ViYWdlbnRBcmdzEhQKDHRvb2xfY2FsbF9pZBgBIAEoCSJYCh1Gb3JjZUJhY2tncm91bmRTdWJhZ2VudFJlc3VsdBI3CgZzdGF0dXMYASABKA4yJy5hZ2VudC52MS5Gb3JjZUJhY2tncm91bmRTdWJhZ2VudFN0YXR1cyIYChZQcmVDb21wYWN0UmVxdWVzdFF1ZXJ5IhsKGVN1YmFnZW50U3RhcnRSZXF1ZXN0UXVlcnkiGgoYU3ViYWdlbnRTdG9wUmVxdWVzdFF1ZXJ5IhgKFlByZVRvb2xVc2VSZXF1ZXN0UXVlcnkiGQoXUG9zdFRvb2xVc2VSZXF1ZXN0UXVlcnkiIAoeUG9zdFRvb2xVc2VGYWlsdXJlUmVxdWVzdFF1ZXJ5IiAKHkJlZm9yZVN1Ym1pdFByb21wdFJlcXVlc3RRdWVyeSIgCh5BZnRlckFnZW50UmVzcG9uc2VSZXF1ZXN0UXVlcnkiHwodQWZ0ZXJBZ2VudFRob3VnaHRSZXF1ZXN0UXVlcnkiEgoQU3RvcFJlcXVlc3RRdWVyeSJHChlQcmVDb21wYWN0UmVxdWVzdFJlc3BvbnNlEhkKDHVzZXJfbWVzc2FnZRgBIAEoCUgAiAEBQg8KDV91c2VyX21lc3NhZ2UiqgEKHFN1YmFnZW50U3RhcnRSZXF1ZXN0UmVzcG9uc2USFwoKcGVybWlzc2lvbhgBIAEoCUgAiAEBEhkKDHVzZXJfbWVzc2FnZRgCIAEoCUgBiAEBEh8KEmFkZGl0aW9uYWxfY29udGV4dBgDIAEoCUgCiAEBQg0KC19wZXJtaXNzaW9uQg8KDV91c2VyX21lc3NhZ2VCFQoTX2FkZGl0aW9uYWxfY29udGV4dCKJAQobU3ViYWdlbnRTdG9wUmVxdWVzdFJlc3BvbnNlEh0KEGZvbGxvd3VwX21lc3NhZ2UYASABKAlIAIgBARIfChJhZGRpdGlvbmFsX2NvbnRleHQYAiABKAlIAYgBAUITChFfZm9sbG93dXBfbWVzc2FnZUIVChNfYWRkaXRpb25hbF9jb250ZXh0IoMCChlQcmVUb29sVXNlUmVxdWVzdFJlc3BvbnNlEhcKCnBlcm1pc3Npb24YASABKAlIAIgBARIZCgx1c2VyX21lc3NhZ2UYAiABKAlIAYgBARIaCg1hZ2VudF9tZXNzYWdlGAMgASgJSAKIAQESGgoNdXBkYXRlZF9pbnB1dBgEIAEoCUgDiAEBEh8KEmFkZGl0aW9uYWxfY29udGV4dBgFIAEoCUgEiAEBQg0KC19wZXJtaXNzaW9uQg8KDV91c2VyX21lc3NhZ2VCEAoOX2FnZW50X21lc3NhZ2VCEAoOX3VwZGF0ZWRfaW5wdXRCFQoTX2FkZGl0aW9uYWxfY29udGV4dCJUChpQb3N0VG9vbFVzZVJlcXVlc3RSZXNwb25zZRIfChJhZGRpdGlvbmFsX2NvbnRleHQYASABKAlIAIgBAUIVChNfYWRkaXRpb25hbF9jb250ZXh0IlsKIVBvc3RUb29sVXNlRmFpbHVyZVJlcXVlc3RSZXNwb25zZRIfChJhZGRpdGlvbmFsX2NvbnRleHQYASABKAlIAIgBAUIVChNfYWRkaXRpb25hbF9jb250ZXh0IqsBCiFCZWZvcmVTdWJtaXRQcm9tcHRSZXF1ZXN0UmVzcG9uc2USFQoIY29udGludWUYASABKAhIAIgBARIZCgx1c2VyX21lc3NhZ2UYAiABKAlIAYgBARIfChJhZGRpdGlvbmFsX2NvbnRleHQYAyABKAlIAogBAUILCglfY29udGludWVCDwoNX3VzZXJfbWVzc2FnZUIVChNfYWRkaXRpb25hbF9jb250ZXh0IiMKIUFmdGVyQWdlbnRSZXNwb25zZVJlcXVlc3RSZXNwb25zZSIiCiBBZnRlckFnZW50VGhvdWdodFJlcXVlc3RSZXNwb25zZSJJChNTdG9wUmVxdWVzdFJlc3BvbnNlEh0KEGZvbGxvd3VwX21lc3NhZ2UYASABKAlIAIgBAUITChFfZm9sbG93dXBfbWVzc2FnZSKdBQoSRXhlY3V0ZUhvb2tSZXF1ZXN0EjcKC3ByZV9jb21wYWN0GAEgASgLMiAuYWdlbnQudjEuUHJlQ29tcGFjdFJlcXVlc3RRdWVyeUgAEj0KDnN1YmFnZW50X3N0YXJ0GAIgASgLMiMuYWdlbnQudjEuU3ViYWdlbnRTdGFydFJlcXVlc3RRdWVyeUgAEjsKDXN1YmFnZW50X3N0b3AYAyABKAsyIi5hZ2VudC52MS5TdWJhZ2VudFN0b3BSZXF1ZXN0UXVlcnlIABI4CgxwcmVfdG9vbF91c2UYBCABKAsyIC5hZ2VudC52MS5QcmVUb29sVXNlUmVxdWVzdFF1ZXJ5SAASOgoNcG9zdF90b29sX3VzZRgFIAEoCzIhLmFnZW50LnYxLlBvc3RUb29sVXNlUmVxdWVzdFF1ZXJ5SAASSQoVcG9zdF90b29sX3VzZV9mYWlsdXJlGAYgASgLMiguYWdlbnQudjEuUG9zdFRvb2xVc2VGYWlsdXJlUmVxdWVzdFF1ZXJ5SAASSAoUYmVmb3JlX3N1Ym1pdF9wcm9tcHQYByABKAsyKC5hZ2VudC52MS5CZWZvcmVTdWJtaXRQcm9tcHRSZXF1ZXN0UXVlcnlIABJIChRhZnRlcl9hZ2VudF9yZXNwb25zZRgIIAEoCzIoLmFnZW50LnYxLkFmdGVyQWdlbnRSZXNwb25zZVJlcXVlc3RRdWVyeUgAEkYKE2FmdGVyX2FnZW50X3Rob3VnaHQYCSABKAsyJy5hZ2VudC52MS5BZnRlckFnZW50VGhvdWdodFJlcXVlc3RRdWVyeUgAEioKBHN0b3AYCyABKAsyGi5hZ2VudC52MS5TdG9wUmVxdWVzdFF1ZXJ5SABCCQoHcmVxdWVzdCK9BQoTRXhlY3V0ZUhvb2tSZXNwb25zZRI6CgtwcmVfY29tcGFjdBgBIAEoCzIjLmFnZW50LnYxLlByZUNvbXBhY3RSZXF1ZXN0UmVzcG9uc2VIABJACg5zdWJhZ2VudF9zdGFydBgCIAEoCzImLmFnZW50LnYxLlN1YmFnZW50U3RhcnRSZXF1ZXN0UmVzcG9uc2VIABI+Cg1zdWJhZ2VudF9zdG9wGAMgASgLMiUuYWdlbnQudjEuU3ViYWdlbnRTdG9wUmVxdWVzdFJlc3BvbnNlSAASOwoMcHJlX3Rvb2xfdXNlGAQgASgLMiMuYWdlbnQudjEuUHJlVG9vbFVzZVJlcXVlc3RSZXNwb25zZUgAEj0KDXBvc3RfdG9vbF91c2UYBSABKAsyJC5hZ2VudC52MS5Qb3N0VG9vbFVzZVJlcXVlc3RSZXNwb25zZUgAEkwKFXBvc3RfdG9vbF91c2VfZmFpbHVyZRgGIAEoCzIrLmFnZW50LnYxLlBvc3RUb29sVXNlRmFpbHVyZVJlcXVlc3RSZXNwb25zZUgAEksKFGJlZm9yZV9zdWJtaXRfcHJvbXB0GAcgASgLMisuYWdlbnQudjEuQmVmb3JlU3VibWl0UHJvbXB0UmVxdWVzdFJlc3BvbnNlSAASSwoUYWZ0ZXJfYWdlbnRfcmVzcG9uc2UYCCABKAsyKy5hZ2VudC52MS5BZnRlckFnZW50UmVzcG9uc2VSZXF1ZXN0UmVzcG9uc2VIABJJChNhZnRlcl9hZ2VudF90aG91Z2h0GAkgASgLMiouYWdlbnQudjEuQWZ0ZXJBZ2VudFRob3VnaHRSZXF1ZXN0UmVzcG9uc2VIABItCgRzdG9wGAsgASgLMh0uYWdlbnQudjEuU3RvcFJlcXVlc3RSZXNwb25zZUgAQgoKCHJlc3BvbnNlIkAKD0V4ZWN1dGVIb29rQXJncxItCgdyZXF1ZXN0GAEgASgLMhwuYWdlbnQudjEuRXhlY3V0ZUhvb2tSZXF1ZXN0IkQKEUV4ZWN1dGVIb29rUmVzdWx0Ei8KCHJlc3BvbnNlGAEgASgLMh0uYWdlbnQudjEuRXhlY3V0ZUhvb2tSZXNwb25zZSIlChNTbWFydE1vZGVSaXNrVGFyZ2V0Eg4KBmFjdGlvbhgBIAEoCSJHCiZTbWFydE1vZGVDbGFzc2lmaWVyQ29udmVyc2F0aW9uTWVzc2FnZRIMCgRyb2xlGAEgASgJEg8KB2NvbnRlbnQYAiABKAki7gEKF1NtYXJ0TW9kZUNsYXNzaWZpZXJBcmdzEhQKDHRvb2xfY2FsbF9pZBgBIAEoCRIjChZwYXJlbnRfY29udmVyc2F0aW9uX2lkGAIgASgJSACIAQESLQoGdGFyZ2V0GAMgASgLMh0uYWdlbnQudjEuU21hcnRNb2RlUmlza1RhcmdldBJOChRjb252ZXJzYXRpb25fY29udGV4dBgEIAMoCzIwLmFnZW50LnYxLlNtYXJ0TW9kZUNsYXNzaWZpZXJDb252ZXJzYXRpb25NZXNzYWdlQhkKF19wYXJlbnRfY29udmVyc2F0aW9uX2lkIoEBChpTbWFydE1vZGVDbGFzc2lmaWVyU3VjY2VzcxI3CghkZWNpc2lvbhgBIAEoDjIlLmFnZW50LnYxLlNtYXJ0TW9kZUNsYXNzaWZpZXJEZWNpc2lvbhIZCgxibG9ja19yZWFzb24YAiABKAlIAIgBAUIPCg1fYmxvY2tfcmVhc29uIikKGFNtYXJ0TW9kZUNsYXNzaWZpZXJFcnJvchINCgVlcnJvchgBIAEoCSKTAQoZU21hcnRNb2RlQ2xhc3NpZmllclJlc3VsdBI3CgdzdWNjZXNzGAEgASgLMiQuYWdlbnQudjEuU21hcnRNb2RlQ2xhc3NpZmllclN1Y2Nlc3NIABIzCgVlcnJvchgCIAEoCzIiLmFnZW50LnYxLlNtYXJ0TW9kZUNsYXNzaWZpZXJFcnJvckgAQggKBnJlc3VsdCI7ChVDYW52YXNEaWFnbm9zdGljc0FyZ3MSDAoEcGF0aBgBIAEoCRIUCgx0b29sX2NhbGxfaWQYAiABKAkiUwoYQ2FudmFzRGlhZ25vc3RpY3NTdWNjZXNzEgwKBHBhdGgYASABKAkSKQoLZGlhZ25vc3RpY3MYAiADKAsyFC5hZ2VudC52MS5EaWFnbm9zdGljIjUKFkNhbnZhc0RpYWdub3N0aWNzRXJyb3ISDAoEcGF0aBgBIAEoCRINCgVlcnJvchgCIAEoCSKNAQoXQ2FudmFzRGlhZ25vc3RpY3NSZXN1bHQSNQoHc3VjY2VzcxgBIAEoCzIiLmFnZW50LnYxLkNhbnZhc0RpYWdub3N0aWNzU3VjY2Vzc0gAEjEKBWVycm9yGAIgASgLMiAuYWdlbnQudjEuQ2FudmFzRGlhZ25vc3RpY3NFcnJvckgAQggKBnJlc3VsdCKsAQoVQ29udmVyc2F0aW9uU2VhcmNoSGl0EhcKD2NvbnZlcnNhdGlvbl9pZBgBIAEoCRINCgV0aXRsZRgCIAEoCRIyCgZzb3VyY2UYAyABKA4yIi5hZ2VudC52MS5Db252ZXJzYXRpb25TZWFyY2hTb3VyY2USFQoNdXBkYXRlZF9hdF9tcxgEIAEoAxIUCgdzbmlwcGV0GAUgASgJSACIAQFCCgoIX3NuaXBwZXQiggEKGUNvbnZlcnNhdGlvblNlYXJjaFN1Y2Nlc3MSLQoEaGl0cxgBIAMoCzIfLmFnZW50LnYxLkNvbnZlcnNhdGlvblNlYXJjaEhpdBIRCgl0cnVuY2F0ZWQYAiABKAgSDwoHcGFydGlhbBgDIAEoCBISCgpyZWJ1aWxkaW5nGAQgASgIIigKF0NvbnZlcnNhdGlvblNlYXJjaEVycm9yEg0KBWVycm9yGAEgASgJIlsKFkNvbnZlcnNhdGlvblNlYXJjaEFyZ3MSDQoFcXVlcnkYASABKAkSFAoMdG9vbF9jYWxsX2lkGAIgASgJEhIKBWxpbWl0GAMgASgFSACIAQFCCAoGX2xpbWl0IpABChhDb252ZXJzYXRpb25TZWFyY2hSZXN1bHQSNgoHc3VjY2VzcxgBIAEoCzIjLmFnZW50LnYxLkNvbnZlcnNhdGlvblNlYXJjaFN1Y2Nlc3NIABIyCgVlcnJvchgCIAEoCzIhLmFnZW50LnYxLkNvbnZlcnNhdGlvblNlYXJjaEVycm9ySABCCAoGcmVzdWx0IlUKGEFnZW50U3RvcmVDb25mbGljdEN1cnNvchIVCg1qb3VybmFsX2Vwb2NoGAEgASgJEgsKA3NlcRgCIAEoBBIVCg1sYXN0X2V2ZW50X2lkGAMgASgJIqUDChdBZ2VudFN0b3JlQ29uZmxpY3RFdmVudBIJCgF2GAEgASgNEhAKCGV2ZW50X2lkGAIgASgJEhUKDWpvdXJuYWxfZXBvY2gYAyABKAkSCwoDc2VxGAQgASgEEg0KBXRzX21zGAUgASgEEgwKBGtpbmQYBiABKAkSFQoIc3RvcmVfaWQYByABKAlIAIgBARIeChFvcmlnaW5hbF9yZWxfcGF0aBgIIAEoCUgBiAEBEh4KEWNvbmZsaWN0X3JlbF9wYXRoGAkgASgJSAKIAQESHgoRb3JpZ2luYWxfYWJzX3BhdGgYCiABKAlIA4gBARIeChFjb25mbGljdF9hYnNfcGF0aBgLIAEoCUgEiAEBEhwKD3ByZXNlcnZlZF9ieXRlcxgMIAEoBEgFiAEBQgsKCV9zdG9yZV9pZEIUChJfb3JpZ2luYWxfcmVsX3BhdGhCFAoSX2NvbmZsaWN0X3JlbF9wYXRoQhQKEl9vcmlnaW5hbF9hYnNfcGF0aEIUChJfY29uZmxpY3RfYWJzX3BhdGhCEgoQX3ByZXNlcnZlZF9ieXRlcyKUAQoZQWdlbnRTdG9yZUNvbmZsaWN0U3VjY2VzcxIxCgZldmVudHMYASADKAsyIS5hZ2VudC52MS5BZ2VudFN0b3JlQ29uZmxpY3RFdmVudBI3CgtuZXh0X2N1cnNvchgCIAEoCzIiLmFnZW50LnYxLkFnZW50U3RvcmVDb25mbGljdEN1cnNvchILCgNnYXAYAyABKAgiKAoXQWdlbnRTdG9yZUNvbmZsaWN0RXJyb3ISDQoFZXJyb3IYASABKAkifgoWQWdlbnRTdG9yZUNvbmZsaWN0QXJncxI3CgZjdXJzb3IYASABKAsyIi5hZ2VudC52MS5BZ2VudFN0b3JlQ29uZmxpY3RDdXJzb3JIAIgBARIUCgdhZHZhbmNlGAIgASgISAGIAQFCCQoHX2N1cnNvckIKCghfYWR2YW5jZSKQAQoYQWdlbnRTdG9yZUNvbmZsaWN0UmVzdWx0EjYKB3N1Y2Nlc3MYASABKAsyIy5hZ2VudC52MS5BZ2VudFN0b3JlQ29uZmxpY3RTdWNjZXNzSAASMgoFZXJyb3IYAiABKAsyIS5hZ2VudC52MS5BZ2VudFN0b3JlQ29uZmxpY3RFcnJvckgAQggKBnJlc3VsdCJ8Cg5GaWxlRGlmZl9DaHVuaxIPCgdjb250ZW50GAEgASgJEg0KBWxpbmVzGAIgAygJEhEKCW9sZF9zdGFydBgDIAEoBRIRCglvbGRfbGluZXMYBCABKAUSEQoJbmV3X3N0YXJ0GAUgASgFEhEKCW5ld19saW5lcxgGIAEoBSKQAgoIRmlsZURpZmYSDQoFYWRkZWQYBCABKAUSDwoHcmVtb3ZlZBgFIAEoBRIMCgRmcm9tGAEgASgJEgoKAnRvGAIgASgJEigKBmNodW5rcxgDIAMoCzIYLmFnZW50LnYxLkZpbGVEaWZmX0NodW5rEiEKFGJlZm9yZV9maWxlX2NvbnRlbnRzGAYgASgJSACIAQESIAoTYWZ0ZXJfZmlsZV9jb250ZW50cxgHIAEoCUgBiAEBEhkKDGlzX2dlbmVyYXRlZBgIIAEoCEgCiAEBQhcKFV9iZWZvcmVfZmlsZV9jb250ZW50c0IWChRfYWZ0ZXJfZmlsZV9jb250ZW50c0IPCg1faXNfZ2VuZXJhdGVkIlsKB0dpdERpZmYSIQoFZGlmZnMYASADKAsyEi5hZ2VudC52MS5GaWxlRGlmZhItCglkaWZmX3R5cGUYAiABKA4yGi5hZ2VudC52MS5HaXREaWZmX0RpZmZUeXBlImgKHUdldERpZmZSZXNwb25zZV9TdWJtb2R1bGVEaWZmEhUKDXJlbGF0aXZlX3BhdGgYASABKAkSHwoEZGlmZhgCIAEoCzIRLmFnZW50LnYxLkdpdERpZmYSDwoHZXJyb3JlZBgDIAEoCCLyAwoOR2V0RGlmZlJlcXVlc3QSCwoDY3dkGAEgASgJEgsKA3JlZhgCIAEoCRIQCghiYXNlX3JlZhgDIAEoCRISCgptZXJnZV9iYXNlGAQgASgIEhQKDHRhcmdldF9wYXRocxgFIAMoCRIiChV1bmlmaWVkX2NvbnRleHRfbGluZXMYBiABKAVIAIgBARIbChNtYXhfdW50cmFja2VkX2ZpbGVzGAcgASgFEh8KF3N1Ym1vZHVsZV9yZWN1cnNlX2RlcHRoGAkgASgFEh0KFWluY2x1ZGVfc3BhY2VfY2hhbmdlcxgKIAEoCBIWCg5jb21taXR0ZWRfb25seRgLIAEoCBIYChBjb21wdXRlX3BhdGNoX2lkGAwgASgIEhwKD3JldHVybl9oZWFkX3NoYRgNIAEoCEgBiAEBEh8KEm1heF9yZXNwb25zZV9ieXRlcxgOIAEoBUgCiAEBEkEKDW91dHB1dF9mb3JtYXQYCCABKA4yJS5hZ2VudC52MS5HZXREaWZmUmVxdWVzdF9PdXRwdXRGb3JtYXRIA4gBAUIYChZfdW5pZmllZF9jb250ZXh0X2xpbmVzQhIKEF9yZXR1cm5faGVhZF9zaGFCFQoTX21heF9yZXNwb25zZV9ieXRlc0IQCg5fb3V0cHV0X2Zvcm1hdCL+AQoPR2V0RGlmZlJlc3BvbnNlEh8KBGRpZmYYASABKAsyES5hZ2VudC52MS5HaXREaWZmEkAKD3N1Ym1vZHVsZV9kaWZmcxgCIAMoCzInLmFnZW50LnYxLkdldERpZmZSZXNwb25zZV9TdWJtb2R1bGVEaWZmEhUKCHBhdGNoX2lkGAMgASgJSACIAQESFQoIaGVhZF9zaGEYBCABKAlIAYgBARIkChdoYXNfdW5jb21taXR0ZWRfY2hhbmdlcxgFIAEoCEgCiAEBQgsKCV9wYXRjaF9pZEILCglfaGVhZF9zaGFCGgoYX2hhc191bmNvbW1pdHRlZF9jaGFuZ2VzImQKDlBpUmVhZFRvb2xDYWxsEiYKBGFyZ3MYASABKAsyGC5hZ2VudC52MS5QaVJlYWRFeGVjQXJncxIqCgZyZXN1bHQYAiABKAsyGi5hZ2VudC52MS5QaVJlYWRFeGVjUmVzdWx0ImQKDlBpQmFzaFRvb2xDYWxsEiYKBGFyZ3MYASABKAsyGC5hZ2VudC52MS5QaUJhc2hFeGVjQXJncxIqCgZyZXN1bHQYAiABKAsyGi5hZ2VudC52MS5QaUJhc2hFeGVjUmVzdWx0ImQKDlBpRWRpdFRvb2xDYWxsEiYKBGFyZ3MYASABKAsyGC5hZ2VudC52MS5QaUVkaXRFeGVjQXJncxIqCgZyZXN1bHQYAiABKAsyGi5hZ2VudC52MS5QaUVkaXRFeGVjUmVzdWx0ImcKD1BpV3JpdGVUb29sQ2FsbBInCgRhcmdzGAEgASgLMhkuYWdlbnQudjEuUGlXcml0ZUV4ZWNBcmdzEisKBnJlc3VsdBgCIAEoCzIbLmFnZW50LnYxLlBpV3JpdGVFeGVjUmVzdWx0ImQKDlBpR3JlcFRvb2xDYWxsEiYKBGFyZ3MYASABKAsyGC5hZ2VudC52MS5QaUdyZXBFeGVjQXJncxIqCgZyZXN1bHQYAiABKAsyGi5hZ2VudC52MS5QaUdyZXBFeGVjUmVzdWx0ImQKDlBpRmluZFRvb2xDYWxsEiYKBGFyZ3MYASABKAsyGC5hZ2VudC52MS5QaUZpbmRFeGVjQXJncxIqCgZyZXN1bHQYAiABKAsyGi5hZ2VudC52MS5QaUZpbmRFeGVjUmVzdWx0Il4KDFBpTHNUb29sQ2FsbBIkCgRhcmdzGAEgASgLMhYuYWdlbnQudjEuUGlMc0V4ZWNBcmdzEigKBnJlc3VsdBgCIAEoCzIYLmFnZW50LnYxLlBpTHNFeGVjUmVzdWx0IoEBChtTZWFyY2hDb252ZXJzYXRpb25zVG9vbENhbGwSLgoEYXJncxgBIAEoCzIgLmFnZW50LnYxLkNvbnZlcnNhdGlvblNlYXJjaEFyZ3MSMgoGcmVzdWx0GAIgASgLMiIuYWdlbnQudjEuQ29udmVyc2F0aW9uU2VhcmNoUmVzdWx0IjkKGkNvbm5lY3RTY21HaXRodWJSZXBvc2l0b3J5Eg0KBW93bmVyGAEgASgJEgwKBHJlcG8YAiABKAkifgoQQ29ubmVjdFNjbUdpdGh1YhI4CgpyZXBvc2l0b3J5GAEgASgLMiQuYWdlbnQudjEuQ29ubmVjdFNjbUdpdGh1YlJlcG9zaXRvcnkSHAoPZ2hlX2FwcGxpY2F0aW9uGAIgASgJSACIAQFCEgoQX2doZV9hcHBsaWNhdGlvbiJeCg5Db25uZWN0U2NtQXJncxIUCgx0b29sX2NhbGxfaWQYASABKAkSLAoGZ2l0aHViGAIgASgLMhouYWdlbnQudjEuQ29ubmVjdFNjbUdpdGh1YkgAQggKBnRhcmdldCITChFDb25uZWN0U2NtU3VjY2VzcyIgCg9Db25uZWN0U2NtRXJyb3ISDQoFZXJyb3IYASABKAkiJAoSQ29ubmVjdFNjbVJlamVjdGVkEg4KBnJlYXNvbhgBIAEoCSKqAQoQQ29ubmVjdFNjbVJlc3VsdBIuCgdzdWNjZXNzGAEgASgLMhsuYWdlbnQudjEuQ29ubmVjdFNjbVN1Y2Nlc3NIABIqCgVlcnJvchgCIAEoCzIZLmFnZW50LnYxLkNvbm5lY3RTY21FcnJvckgAEjAKCHJlamVjdGVkGAMgASgLMhwuYWdlbnQudjEuQ29ubmVjdFNjbVJlamVjdGVkSABCCAoGcmVzdWx0ImgKEkNvbm5lY3RTY21Ub29sQ2FsbBImCgRhcmdzGAEgASgLMhguYWdlbnQudjEuQ29ubmVjdFNjbUFyZ3MSKgoGcmVzdWx0GAIgASgLMhouYWdlbnQudjEuQ29ubmVjdFNjbVJlc3VsdCqIAQodQXBwbGllZEFnZW50Q2hhbmdlX0NoYW5nZVR5cGUSGwoXQ0hBTkdFX1RZUEVfVU5TUEVDSUZJRUQQABIXChNDSEFOR0VfVFlQRV9DUkVBVEVEEAESGAoUQ0hBTkdFX1RZUEVfTU9ESUZJRUQQAhIXChNDSEFOR0VfVFlQRV9ERUxFVEVEEAMqpAEKC01vdXNlQnV0dG9uEhwKGE1PVVNFX0JVVFRPTl9VTlNQRUNJRklFRBAAEhUKEU1PVVNFX0JVVFRPTl9MRUZUEAESFgoSTU9VU0VfQlVUVE9OX1JJR0hUEAISFwoTTU9VU0VfQlVUVE9OX01JRERMRRADEhUKEU1PVVNFX0JVVFRPTl9CQUNLEAQSGAoUTU9VU0VfQlVUVE9OX0ZPUldBUkQQBSqeAQoPU2Nyb2xsRGlyZWN0aW9uEiAKHFNDUk9MTF9ESVJFQ1RJT05fVU5TUEVDSUZJRUQQABIXChNTQ1JPTExfRElSRUNUSU9OX1VQEAESGQoVU0NST0xMX0RJUkVDVElPTl9ET1dOEAISGQoVU0NST0xMX0RJUkVDVElPTl9MRUZUEAMSGgoWU0NST0xMX0RJUkVDVElPTl9SSUdIVBAEKnAKEEN1cnNvclJ1bGVTb3VyY2USIgoeQ1VSU09SX1JVTEVfU09VUkNFX1VOU1BFQ0lGSUVEEAASGwoXQ1VSU09SX1JVTEVfU09VUkNFX1RFQU0QARIbChdDVVJTT1JfUlVMRV9TT1VSQ0VfVVNFUhACKrwBChJEaWFnbm9zdGljU2V2ZXJpdHkSIwofRElBR05PU1RJQ19TRVZFUklUWV9VTlNQRUNJRklFRBAAEh0KGURJQUdOT1NUSUNfU0VWRVJJVFlfRVJST1IQARIfChtESUFHTk9TVElDX1NFVkVSSVRZX1dBUk5JTkcQAhIjCh9ESUFHTk9TVElDX1NFVkVSSVRZX0lORk9STUFUSU9OEAMSHAoYRElBR05PU1RJQ19TRVZFUklUWV9ISU5UEAQqnAEKDVJlY29yZGluZ01vZGUSHgoaUkVDT1JESU5HX01PREVfVU5TUEVDSUZJRUQQABIiCh5SRUNPUkRJTkdfTU9ERV9TVEFSVF9SRUNPUkRJTkcQARIhCh1SRUNPUkRJTkdfTU9ERV9TQVZFX1JFQ09SRElORxACEiQKIFJFQ09SRElOR19NT0RFX0RJU0NBUkRfUkVDT1JESU5HEAMqkwEKH1JlcXVlc3RlZEZpbGVQYXRoUmVqZWN0ZWRSZWFzb24SMwovUkVRVUVTVEVEX0ZJTEVfUEFUSF9SRUpFQ1RFRF9SRUFTT05fVU5TUEVDSUZJRUQQABI7CjdSRVFVRVNURURfRklMRV9QQVRIX1JFSkVDVEVEX1JFQVNPTl9TTEFTSEVTX05PVF9BTExPV0VEEAEqrQEKC1BhY2thZ2VUeXBlEhwKGFBBQ0tBR0VfVFlQRV9VTlNQRUNJRklFRBAAEh8KG1BBQ0tBR0VfVFlQRV9DVVJTT1JfUFJPSkVDVBABEiAKHFBBQ0tBR0VfVFlQRV9DVVJTT1JfUEVSU09OQUwQAhIdChlQQUNLQUdFX1RZUEVfQ0xBVURFX1NLSUxMEAMSHgoaUEFDS0FHRV9UWVBFX0NMQVVERV9QTFVHSU4QBCp9ChJTYW5kYm94UG9saWN5X1R5cGUSFAoQVFlQRV9VTlNQRUNJRklFRBAAEhYKElRZUEVfSU5TRUNVUkVfTk9ORRABEhwKGFRZUEVfV09SS1NQQUNFX1JFQURXUklURRACEhsKF1RZUEVfV09SS1NQQUNFX1JFQURPTkxZEAMqcQoPVGltZW91dEJlaGF2aW9yEiAKHFRJTUVPVVRfQkVIQVZJT1JfVU5TUEVDSUZJRUQQABIbChdUSU1FT1VUX0JFSEFWSU9SX0NBTkNFTBABEh8KG1RJTUVPVVRfQkVIQVZJT1JfQkFDS0dST1VORBACKnkKEFNoZWxsQWJvcnRSZWFzb24SIgoeU0hFTExfQUJPUlRfUkVBU09OX1VOU1BFQ0lGSUVEEAASIQodU0hFTExfQUJPUlRfUkVBU09OX1VTRVJfQUJPUlQQARIeChpTSEVMTF9BQk9SVF9SRUFTT05fVElNRU9VVBACKqoBChxDdXN0b21TdWJhZ2VudFBlcm1pc3Npb25Nb2RlEi8KK0NVU1RPTV9TVUJBR0VOVF9QRVJNSVNTSU9OX01PREVfVU5TUEVDSUZJRUQQABIrCidDVVNUT01fU1VCQUdFTlRfUEVSTUlTU0lPTl9NT0RFX0RFRkFVTFQQARIsCihDVVNUT01fU1VCQUdFTlRfUEVSTUlTU0lPTl9NT0RFX1JFQURPTkxZEAIqlQEKClRvZG9TdGF0dXMSGwoXVE9ET19TVEFUVVNfVU5TUEVDSUZJRUQQABIXChNUT0RPX1NUQVRVU19QRU5ESU5HEAESGwoXVE9ET19TVEFUVVNfSU5fUFJPR1JFU1MQAhIZChVUT0RPX1NUQVRVU19DT01QTEVURUQQAxIZChVUT0RPX1NUQVRVU19DQU5DRUxMRUQQBCpmCghDbGllbnRPUxIZChVDTElFTlRfT1NfVU5TUEVDSUZJRUQQABIVChFDTElFTlRfT1NfV0lORE9XUxABEhMKD0NMSUVOVF9PU19NQUNPUxACEhMKD0NMSUVOVF9PU19MSU5VWBADKuwBChxBcnRpZmFjdFVwbG9hZERpc3BhdGNoU3RhdHVzEi8KK0FSVElGQUNUX1VQTE9BRF9ESVNQQVRDSF9TVEFUVVNfVU5TUEVDSUZJRUQQABIsCihBUlRJRkFDVF9VUExPQURfRElTUEFUQ0hfU1RBVFVTX0FDQ0VQVEVEEAESLAooQVJUSUZBQ1RfVVBMT0FEX0RJU1BBVENIX1NUQVRVU19SRUpFQ1RFRBACEj8KO0FSVElGQUNUX1VQTE9BRF9ESVNQQVRDSF9TVEFUVVNfU0tJUFBFRF9BTFJFQURZX0lOX1BST0dSRVNTEAMqVwoKRnJhbWVfS2luZBIUChBLSU5EX1VOU1BFQ0lGSUVEEAASEAoMS0lORF9SRVFVRVNUEAESEQoNS0lORF9SRVNQT05TRRACEg4KCktJTkRfRVJST1IQAyqwAgoXQnVnYm90RGVlcGxpbmtFdmVudEtpbmQSKgomQlVHQk9UX0RFRVBMSU5LX0VWRU5UX0tJTkRfVU5TUEVDSUZJRUQQABImCiJCVUdCT1RfREVFUExJTktfRVZFTlRfS0lORF9DTElDS0VEEAESMwovQlVHQk9UX0RFRVBMSU5LX0VWRU5UX0tJTkRfSEFORExFRF9ESUFMT0dfU0hPV04QAhIzCi9CVUdCT1RfREVFUExJTktfRVZFTlRfS0lORF9IQU5ETEVEX0NIQVRfQ1JFQVRFRBADEiQKIEJVR0JPVF9ERUVQTElOS19FVkVOVF9LSU5EX0VSUk9SEAQSMQotQlVHQk9UX0RFRVBMSU5LX0VWRU5UX0tJTkRfSEFORExFRF9GSVhfSU5fV0VCEAUqygEKLENvbW1hbmRDbGFzc2lmaWVyUmVzdWx0X1N1Z2dlc3RlZFNhbmRib3hNb2RlEiYKIlNVR0dFU1RFRF9TQU5EQk9YX01PREVfVU5TUEVDSUZJRUQQABIiCh5TVUdHRVNURURfU0FOREJPWF9NT0RFX1NBTkRCT1gQARIlCiFTVUdHRVNURURfU0FOREJPWF9NT0RFX05PX1NBTkRCT1gQAhInCiNTVUdHRVNURURfU0FOREJPWF9NT0RFX1VOREVURVJNSU5FRBADKpABCiFTaGVsbEhvb2tBcHByb3ZhbFJlcXVpcmVtZW50X0tpbmQSNAowU0hFTExfSE9PS19BUFBST1ZBTF9SRVFVSVJFTUVOVF9LSU5EX1VOU1BFQ0lGSUVEEAASNQoxU0hFTExfSE9PS19BUFBST1ZBTF9SRVFVSVJFTUVOVF9LSU5EX0ZPUkNFX1BST01QVBABKo8BChVTaGVsbEJhY2tncm91bmRSZWFzb24SJwojU0hFTExfQkFDS0dST1VORF9SRUFTT05fVU5TUEVDSUZJRUQQABIjCh9TSEVMTF9CQUNLR1JPVU5EX1JFQVNPTl9USU1FT1VUEAESKAokU0hFTExfQkFDS0dST1VORF9SRUFTT05fVVNFUl9SRVFVRVNUEAIqpAEKGkZvcmNlQmFja2dyb3VuZFNoZWxsU3RhdHVzEi0KKUZPUkNFX0JBQ0tHUk9VTkRfU0hFTExfU1RBVFVTX1VOU1BFQ0lGSUVEEAASKgomRk9SQ0VfQkFDS0dST1VORF9TSEVMTF9TVEFUVVNfQUNDRVBURUQQARIrCidGT1JDRV9CQUNLR1JPVU5EX1NIRUxMX1NUQVRVU19OT1RfRk9VTkQQAirSAQoYU3ViYWdlbnRCYWNrZ3JvdW5kUmVhc29uEioKJlNVQkFHRU5UX0JBQ0tHUk9VTkRfUkVBU09OX1VOU1BFQ0lGSUVEEAASLAooU1VCQUdFTlRfQkFDS0dST1VORF9SRUFTT05fQUdFTlRfUkVRVUVTVBABEisKJ1NVQkFHRU5UX0JBQ0tHUk9VTkRfUkVBU09OX1VTRVJfUkVRVUVTVBACEi8KK1NVQkFHRU5UX0JBQ0tHUk9VTkRfUkVBU09OX1FVRVVFRF9GT0xMT1dfVVAQAyqwAQodRm9yY2VCYWNrZ3JvdW5kU3ViYWdlbnRTdGF0dXMSMAosRk9SQ0VfQkFDS0dST1VORF9TVUJBR0VOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABItCilGT1JDRV9CQUNLR1JPVU5EX1NVQkFHRU5UX1NUQVRVU19BQ0NFUFRFRBABEi4KKkZPUkNFX0JBQ0tHUk9VTkRfU1VCQUdFTlRfU1RBVFVTX05PVF9GT1VORBACKqEBChtTbWFydE1vZGVDbGFzc2lmaWVyRGVjaXNpb24SLgoqU01BUlRfTU9ERV9DTEFTU0lGSUVSX0RFQ0lTSU9OX1VOU1BFQ0lGSUVEEAASKAokU01BUlRfTU9ERV9DTEFTU0lGSUVSX0RFQ0lTSU9OX0FMTE9XEAESKAokU01BUlRfTU9ERV9DTEFTU0lGSUVSX0RFQ0lTSU9OX0JMT0NLEAIqmAEKGENvbnZlcnNhdGlvblNlYXJjaFNvdXJjZRIqCiZDT05WRVJTQVRJT05fU0VBUkNIX1NPVVJDRV9VTlNQRUNJRklFRBAAEiQKIENPTlZFUlNBVElPTl9TRUFSQ0hfU09VUkNFX0xPQ0FMEAESKgomQ09OVkVSU0FUSU9OX1NFQVJDSF9TT1VSQ0VfQ0xPVURfQ0FDSEUQAirTAQobR2V0RGlmZlJlcXVlc3RfT3V0cHV0Rm9ybWF0Eh0KGU9VVFBVVF9GT1JNQVRfVU5TUEVDSUZJRUQQABIdChlPVVRQVVRfRk9STUFUX05BTUVfU1RBVFVTEAESKQolT1VUUFVUX0ZPUk1BVF9OQU1FX1NUQVRVU19BTkRfTlVNU1RBVBACEhwKGE9VVFBVVF9GT1JNQVRfRklMRV9ESUZGUxADEi0KKU9VVFBVVF9GT1JNQVRfRElGRlNfV0lUSF9CRUZPUkVfQU5EX0FGVEVSEAQqcQoQR2l0RGlmZl9EaWZmVHlwZRIZChVESUZGX1RZUEVfVU5TUEVDSUZJRUQQABIaChZESUZGX1RZUEVfRElGRl9UT19IRUFEEAESJgoiRElGRl9UWVBFX0RJRkZfRlJPTV9CUkFOQ0hfVE9fTUFJThACMocECgxBZ2VudFNlcnZpY2USQQoDUnVuEhwuYWdlbnQudjEuQWdlbnRDbGllbnRNZXNzYWdlGhwuYWdlbnQudjEuQWdlbnRTZXJ2ZXJNZXNzYWdlEj8KBlJ1blNTRRIXLmFnZW50LnYxLkJpZGlSZXF1ZXN0SWQaHC5hZ2VudC52MS5BZ2VudFNlcnZlck1lc3NhZ2USRAoJTmFtZUFnZW50EhouYWdlbnQudjEuTmFtZUFnZW50UmVxdWVzdBobLmFnZW50LnYxLk5hbWVBZ2VudFJlc3BvbnNlElYKD0dldFVzYWJsZU1vZGVscxIgLmFnZW50LnYxLkdldFVzYWJsZU1vZGVsc1JlcXVlc3QaIS5hZ2VudC52MS5HZXRVc2FibGVNb2RlbHNSZXNwb25zZRJoChVHZXREZWZhdWx0TW9kZWxGb3JDbGkSJi5hZ2VudC52MS5HZXREZWZhdWx0TW9kZWxGb3JDbGlSZXF1ZXN0GicuYWdlbnQudjEuR2V0RGVmYXVsdE1vZGVsRm9yQ2xpUmVzcG9uc2USawoWR2V0QWxsb3dlZE1vZGVsSW50ZW50cxInLmFnZW50LnYxLkdldEFsbG93ZWRNb2RlbEludGVudHNSZXF1ZXN0GiguYWdlbnQudjEuR2V0QWxsb3dlZE1vZGVsSW50ZW50c1Jlc3BvbnNlMrUICg5Db250cm9sU2VydmljZRJNCgxSZWFkVGV4dEZpbGUSHS5hZ2VudC52MS5SZWFkVGV4dEZpbGVSZXF1ZXN0Gh4uYWdlbnQudjEuUmVhZFRleHRGaWxlUmVzcG9uc2USUAoNV3JpdGVUZXh0RmlsZRIeLmFnZW50LnYxLldyaXRlVGV4dEZpbGVSZXF1ZXN0Gh8uYWdlbnQudjEuV3JpdGVUZXh0RmlsZVJlc3BvbnNlElMKDlJlYWRCaW5hcnlGaWxlEh8uYWdlbnQudjEuUmVhZEJpbmFyeUZpbGVSZXF1ZXN0GiAuYWdlbnQudjEuUmVhZEJpbmFyeUZpbGVSZXNwb25zZRJWCg9Xcml0ZUJpbmFyeUZpbGUSIC5hZ2VudC52MS5Xcml0ZUJpbmFyeUZpbGVSZXF1ZXN0GiEuYWdlbnQudjEuV3JpdGVCaW5hcnlGaWxlUmVzcG9uc2USbgoXR2V0V29ya3NwYWNlQ2hhbmdlc0hhc2gSKC5hZ2VudC52MS5HZXRXb3Jrc3BhY2VDaGFuZ2VzSGFzaFJlcXVlc3QaKS5hZ2VudC52MS5HZXRXb3Jrc3BhY2VDaGFuZ2VzSGFzaFJlc3BvbnNlEnEKGFJlZnJlc2hHaXRodWJBY2Nlc3NUb2tlbhIpLmFnZW50LnYxLlJlZnJlc2hHaXRodWJBY2Nlc3NUb2tlblJlcXVlc3QaKi5hZ2VudC52MS5SZWZyZXNoR2l0aHViQWNjZXNzVG9rZW5SZXNwb25zZRJrChZXYXJtUmVtb3RlQWNjZXNzU2VydmVyEicuYWdlbnQudjEuV2FybVJlbW90ZUFjY2Vzc1NlcnZlclJlcXVlc3QaKC5hZ2VudC52MS5XYXJtUmVtb3RlQWNjZXNzU2VydmVyUmVzcG9uc2USUAoNTGlzdEFydGlmYWN0cxIeLmFnZW50LnYxLkxpc3RBcnRpZmFjdHNSZXF1ZXN0Gh8uYWdlbnQudjEuTGlzdEFydGlmYWN0c1Jlc3BvbnNlElYKD1VwbG9hZEFydGlmYWN0cxIgLmFnZW50LnYxLlVwbG9hZEFydGlmYWN0c1JlcXVlc3QaIS5hZ2VudC52MS5VcGxvYWRBcnRpZmFjdHNSZXNwb25zZRJiChNHZXRNY3BSZWZyZXNoVG9rZW5zEiQuYWdlbnQudjEuR2V0TWNwUmVmcmVzaFRva2Vuc1JlcXVlc3QaJS5hZ2VudC52MS5HZXRNY3BSZWZyZXNoVG9rZW5zUmVzcG9uc2USdwoaVXBkYXRlRW52aXJvbm1lbnRWYXJpYWJsZXMSKy5hZ2VudC52MS5VcGRhdGVFbnZpcm9ubWVudFZhcmlhYmxlc1JlcXVlc3QaLC5hZ2VudC52MS5VcGRhdGVFbnZpcm9ubWVudFZhcmlhYmxlc1Jlc3BvbnNlMg0KC0V4ZWNTZXJ2aWNlMlEKIlByaXZhdGVXb3JrZXJCcmlkZ2VFeHRlcm5hbFNlcnZpY2USKwoHQ29ubmVjdBIPLmFnZW50LnYxLkZyYW1lGg8uYWdlbnQudjEuRnJhbWUyeAoQTGlmZWN5Y2xlU2VydmljZRIxCg1SZXNldEluc3RhbmNlEg8uYWdlbnQudjEuRW1wdHkaDy5hZ2VudC52MS5FbXB0eRIxCg1SZW5ld0luc3RhbmNlEg8uYWdlbnQudjEuRW1wdHkaDy5hZ2VudC52MS5FbXB0eWIGcHJvdG8z");
12
+ /**
13
+ * Describes the message agent.v1.GlobToolResult.
14
+ * Use `create(GlobToolResultSchema)` to create a new message.
15
+ */
16
+ export const GlobToolResultSchema = /*@__PURE__*/ messageDesc(file_agent, 0);
17
+ /**
18
+ * Describes the message agent.v1.GlobToolError.
19
+ * Use `create(GlobToolErrorSchema)` to create a new message.
20
+ */
21
+ export const GlobToolErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 1);
22
+ /**
23
+ * Describes the message agent.v1.GlobToolSuccess.
24
+ * Use `create(GlobToolSuccessSchema)` to create a new message.
25
+ */
26
+ export const GlobToolSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 2);
27
+ /**
28
+ * Describes the message agent.v1.GlobToolCall.
29
+ * Use `create(GlobToolCallSchema)` to create a new message.
30
+ */
31
+ export const GlobToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 3);
32
+ /**
33
+ * Describes the message agent.v1.ReadLintsToolCall.
34
+ * Use `create(ReadLintsToolCallSchema)` to create a new message.
35
+ */
36
+ export const ReadLintsToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 4);
37
+ /**
38
+ * Describes the message agent.v1.ReadLintsToolArgs.
39
+ * Use `create(ReadLintsToolArgsSchema)` to create a new message.
40
+ */
41
+ export const ReadLintsToolArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 5);
42
+ /**
43
+ * Describes the message agent.v1.ReadLintsToolResult.
44
+ * Use `create(ReadLintsToolResultSchema)` to create a new message.
45
+ */
46
+ export const ReadLintsToolResultSchema = /*@__PURE__*/ messageDesc(file_agent, 6);
47
+ /**
48
+ * Describes the message agent.v1.ReadLintsToolSuccess.
49
+ * Use `create(ReadLintsToolSuccessSchema)` to create a new message.
50
+ */
51
+ export const ReadLintsToolSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 7);
52
+ /**
53
+ * Describes the message agent.v1.FileDiagnostics.
54
+ * Use `create(FileDiagnosticsSchema)` to create a new message.
55
+ */
56
+ export const FileDiagnosticsSchema = /*@__PURE__*/ messageDesc(file_agent, 8);
57
+ /**
58
+ * Describes the message agent.v1.DiagnosticItem.
59
+ * Use `create(DiagnosticItemSchema)` to create a new message.
60
+ */
61
+ export const DiagnosticItemSchema = /*@__PURE__*/ messageDesc(file_agent, 9);
62
+ /**
63
+ * Describes the message agent.v1.DiagnosticRange.
64
+ * Use `create(DiagnosticRangeSchema)` to create a new message.
65
+ */
66
+ export const DiagnosticRangeSchema = /*@__PURE__*/ messageDesc(file_agent, 10);
67
+ /**
68
+ * Describes the message agent.v1.ReadLintsToolError.
69
+ * Use `create(ReadLintsToolErrorSchema)` to create a new message.
70
+ */
71
+ export const ReadLintsToolErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 11);
72
+ /**
73
+ * Describes the message agent.v1.McpToolError.
74
+ * Use `create(McpToolErrorSchema)` to create a new message.
75
+ */
76
+ export const McpToolErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 12);
77
+ /**
78
+ * Describes the message agent.v1.McpToolResult.
79
+ * Use `create(McpToolResultSchema)` to create a new message.
80
+ */
81
+ export const McpToolResultSchema = /*@__PURE__*/ messageDesc(file_agent, 13);
82
+ /**
83
+ * Describes the message agent.v1.McpToolCall.
84
+ * Use `create(McpToolCallSchema)` to create a new message.
85
+ */
86
+ export const McpToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 14);
87
+ /**
88
+ * Describes the message agent.v1.SemSearchToolCall.
89
+ * Use `create(SemSearchToolCallSchema)` to create a new message.
90
+ */
91
+ export const SemSearchToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 15);
92
+ /**
93
+ * Describes the message agent.v1.SemSearchToolArgs.
94
+ * Use `create(SemSearchToolArgsSchema)` to create a new message.
95
+ */
96
+ export const SemSearchToolArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 16);
97
+ /**
98
+ * Describes the message agent.v1.SemSearchToolResult.
99
+ * Use `create(SemSearchToolResultSchema)` to create a new message.
100
+ */
101
+ export const SemSearchToolResultSchema = /*@__PURE__*/ messageDesc(file_agent, 17);
102
+ /**
103
+ * Describes the message agent.v1.SemSearchToolSuccess.
104
+ * Use `create(SemSearchToolSuccessSchema)` to create a new message.
105
+ */
106
+ export const SemSearchToolSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 18);
107
+ /**
108
+ * Describes the message agent.v1.SemSearchToolError.
109
+ * Use `create(SemSearchToolErrorSchema)` to create a new message.
110
+ */
111
+ export const SemSearchToolErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 19);
112
+ /**
113
+ * Describes the message agent.v1.ListMcpResourcesToolCall.
114
+ * Use `create(ListMcpResourcesToolCallSchema)` to create a new message.
115
+ */
116
+ export const ListMcpResourcesToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 20);
117
+ /**
118
+ * Describes the message agent.v1.ReadMcpResourceToolCall.
119
+ * Use `create(ReadMcpResourceToolCallSchema)` to create a new message.
120
+ */
121
+ export const ReadMcpResourceToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 21);
122
+ /**
123
+ * Describes the message agent.v1.FetchToolCall.
124
+ * Use `create(FetchToolCallSchema)` to create a new message.
125
+ */
126
+ export const FetchToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 22);
127
+ /**
128
+ * Describes the message agent.v1.RecordScreenToolCall.
129
+ * Use `create(RecordScreenToolCallSchema)` to create a new message.
130
+ */
131
+ export const RecordScreenToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 23);
132
+ /**
133
+ * Describes the message agent.v1.WriteShellStdinToolCall.
134
+ * Use `create(WriteShellStdinToolCallSchema)` to create a new message.
135
+ */
136
+ export const WriteShellStdinToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 24);
137
+ /**
138
+ * Describes the message agent.v1.ReflectArgs.
139
+ * Use `create(ReflectArgsSchema)` to create a new message.
140
+ */
141
+ export const ReflectArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 25);
142
+ /**
143
+ * Describes the message agent.v1.ReflectResult.
144
+ * Use `create(ReflectResultSchema)` to create a new message.
145
+ */
146
+ export const ReflectResultSchema = /*@__PURE__*/ messageDesc(file_agent, 26);
147
+ /**
148
+ * Describes the message agent.v1.ReflectSuccess.
149
+ * Use `create(ReflectSuccessSchema)` to create a new message.
150
+ */
151
+ export const ReflectSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 27);
152
+ /**
153
+ * Describes the message agent.v1.ReflectError.
154
+ * Use `create(ReflectErrorSchema)` to create a new message.
155
+ */
156
+ export const ReflectErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 28);
157
+ /**
158
+ * Describes the message agent.v1.ReflectToolCall.
159
+ * Use `create(ReflectToolCallSchema)` to create a new message.
160
+ */
161
+ export const ReflectToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 29);
162
+ /**
163
+ * Describes the message agent.v1.StartGrindExecutionArgs.
164
+ * Use `create(StartGrindExecutionArgsSchema)` to create a new message.
165
+ */
166
+ export const StartGrindExecutionArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 30);
167
+ /**
168
+ * Describes the message agent.v1.StartGrindExecutionResult.
169
+ * Use `create(StartGrindExecutionResultSchema)` to create a new message.
170
+ */
171
+ export const StartGrindExecutionResultSchema = /*@__PURE__*/ messageDesc(file_agent, 31);
172
+ /**
173
+ * Describes the message agent.v1.StartGrindExecutionSuccess.
174
+ * Use `create(StartGrindExecutionSuccessSchema)` to create a new message.
175
+ */
176
+ export const StartGrindExecutionSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 32);
177
+ /**
178
+ * Describes the message agent.v1.StartGrindExecutionError.
179
+ * Use `create(StartGrindExecutionErrorSchema)` to create a new message.
180
+ */
181
+ export const StartGrindExecutionErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 33);
182
+ /**
183
+ * Describes the message agent.v1.StartGrindExecutionToolCall.
184
+ * Use `create(StartGrindExecutionToolCallSchema)` to create a new message.
185
+ */
186
+ export const StartGrindExecutionToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 34);
187
+ /**
188
+ * Describes the message agent.v1.StartGrindPlanningArgs.
189
+ * Use `create(StartGrindPlanningArgsSchema)` to create a new message.
190
+ */
191
+ export const StartGrindPlanningArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 35);
192
+ /**
193
+ * Describes the message agent.v1.StartGrindPlanningResult.
194
+ * Use `create(StartGrindPlanningResultSchema)` to create a new message.
195
+ */
196
+ export const StartGrindPlanningResultSchema = /*@__PURE__*/ messageDesc(file_agent, 36);
197
+ /**
198
+ * Describes the message agent.v1.StartGrindPlanningSuccess.
199
+ * Use `create(StartGrindPlanningSuccessSchema)` to create a new message.
200
+ */
201
+ export const StartGrindPlanningSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 37);
202
+ /**
203
+ * Describes the message agent.v1.StartGrindPlanningError.
204
+ * Use `create(StartGrindPlanningErrorSchema)` to create a new message.
205
+ */
206
+ export const StartGrindPlanningErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 38);
207
+ /**
208
+ * Describes the message agent.v1.StartGrindPlanningToolCall.
209
+ * Use `create(StartGrindPlanningToolCallSchema)` to create a new message.
210
+ */
211
+ export const StartGrindPlanningToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 39);
212
+ /**
213
+ * Describes the message agent.v1.TaskArgs.
214
+ * Use `create(TaskArgsSchema)` to create a new message.
215
+ */
216
+ export const TaskArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 40);
217
+ /**
218
+ * Describes the message agent.v1.TaskSuccess.
219
+ * Use `create(TaskSuccessSchema)` to create a new message.
220
+ */
221
+ export const TaskSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 41);
222
+ /**
223
+ * Describes the message agent.v1.TaskError.
224
+ * Use `create(TaskErrorSchema)` to create a new message.
225
+ */
226
+ export const TaskErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 42);
227
+ /**
228
+ * Describes the message agent.v1.TaskResult.
229
+ * Use `create(TaskResultSchema)` to create a new message.
230
+ */
231
+ export const TaskResultSchema = /*@__PURE__*/ messageDesc(file_agent, 43);
232
+ /**
233
+ * Describes the message agent.v1.TaskToolCall.
234
+ * Use `create(TaskToolCallSchema)` to create a new message.
235
+ */
236
+ export const TaskToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 44);
237
+ /**
238
+ * Describes the message agent.v1.TaskToolCallDelta.
239
+ * Use `create(TaskToolCallDeltaSchema)` to create a new message.
240
+ */
241
+ export const TaskToolCallDeltaSchema = /*@__PURE__*/ messageDesc(file_agent, 45);
242
+ /**
243
+ * Describes the message agent.v1.ToolCall.
244
+ * Use `create(ToolCallSchema)` to create a new message.
245
+ */
246
+ export const ToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 46);
247
+ /**
248
+ * Describes the message agent.v1.TruncatedToolCallArgs.
249
+ * Use `create(TruncatedToolCallArgsSchema)` to create a new message.
250
+ */
251
+ export const TruncatedToolCallArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 47);
252
+ /**
253
+ * Describes the message agent.v1.TruncatedToolCallSuccess.
254
+ * Use `create(TruncatedToolCallSuccessSchema)` to create a new message.
255
+ */
256
+ export const TruncatedToolCallSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 48);
257
+ /**
258
+ * Describes the message agent.v1.TruncatedToolCallError.
259
+ * Use `create(TruncatedToolCallErrorSchema)` to create a new message.
260
+ */
261
+ export const TruncatedToolCallErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 49);
262
+ /**
263
+ * Describes the message agent.v1.TruncatedToolCallResult.
264
+ * Use `create(TruncatedToolCallResultSchema)` to create a new message.
265
+ */
266
+ export const TruncatedToolCallResultSchema = /*@__PURE__*/ messageDesc(file_agent, 50);
267
+ /**
268
+ * Describes the message agent.v1.TruncatedToolCall.
269
+ * Use `create(TruncatedToolCallSchema)` to create a new message.
270
+ */
271
+ export const TruncatedToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 51);
272
+ /**
273
+ * Describes the message agent.v1.ToolCallDelta.
274
+ * Use `create(ToolCallDeltaSchema)` to create a new message.
275
+ */
276
+ export const ToolCallDeltaSchema = /*@__PURE__*/ messageDesc(file_agent, 52);
277
+ /**
278
+ * Describes the message agent.v1.ConversationStep.
279
+ * Use `create(ConversationStepSchema)` to create a new message.
280
+ */
281
+ export const ConversationStepSchema = /*@__PURE__*/ messageDesc(file_agent, 53);
282
+ /**
283
+ * Describes the message agent.v1.ConversationAction.
284
+ * Use `create(ConversationActionSchema)` to create a new message.
285
+ */
286
+ export const ConversationActionSchema = /*@__PURE__*/ messageDesc(file_agent, 54);
287
+ /**
288
+ * Describes the message agent.v1.UserMessageAction.
289
+ * Use `create(UserMessageActionSchema)` to create a new message.
290
+ */
291
+ export const UserMessageActionSchema = /*@__PURE__*/ messageDesc(file_agent, 55);
292
+ /**
293
+ * Describes the message agent.v1.CancelAction.
294
+ * Use `create(CancelActionSchema)` to create a new message.
295
+ */
296
+ export const CancelActionSchema = /*@__PURE__*/ messageDesc(file_agent, 56);
297
+ /**
298
+ * Describes the message agent.v1.ResumeAction.
299
+ * Use `create(ResumeActionSchema)` to create a new message.
300
+ */
301
+ export const ResumeActionSchema = /*@__PURE__*/ messageDesc(file_agent, 57);
302
+ /**
303
+ * Describes the message agent.v1.AsyncAskQuestionCompletionAction.
304
+ * Use `create(AsyncAskQuestionCompletionActionSchema)` to create a new message.
305
+ */
306
+ export const AsyncAskQuestionCompletionActionSchema = /*@__PURE__*/ messageDesc(file_agent, 58);
307
+ /**
308
+ * Describes the message agent.v1.SummarizeAction.
309
+ * Use `create(SummarizeActionSchema)` to create a new message.
310
+ */
311
+ export const SummarizeActionSchema = /*@__PURE__*/ messageDesc(file_agent, 59);
312
+ /**
313
+ * Describes the message agent.v1.ShellCommandAction.
314
+ * Use `create(ShellCommandActionSchema)` to create a new message.
315
+ */
316
+ export const ShellCommandActionSchema = /*@__PURE__*/ messageDesc(file_agent, 60);
317
+ /**
318
+ * Describes the message agent.v1.StartPlanAction.
319
+ * Use `create(StartPlanActionSchema)` to create a new message.
320
+ */
321
+ export const StartPlanActionSchema = /*@__PURE__*/ messageDesc(file_agent, 61);
322
+ /**
323
+ * Describes the message agent.v1.ExecutePlanAction.
324
+ * Use `create(ExecutePlanActionSchema)` to create a new message.
325
+ */
326
+ export const ExecutePlanActionSchema = /*@__PURE__*/ messageDesc(file_agent, 62);
327
+ /**
328
+ * Describes the message agent.v1.UserMessage.
329
+ * Use `create(UserMessageSchema)` to create a new message.
330
+ */
331
+ export const UserMessageSchema = /*@__PURE__*/ messageDesc(file_agent, 63);
332
+ /**
333
+ * Describes the message agent.v1.AssistantMessage.
334
+ * Use `create(AssistantMessageSchema)` to create a new message.
335
+ */
336
+ export const AssistantMessageSchema = /*@__PURE__*/ messageDesc(file_agent, 64);
337
+ /**
338
+ * Describes the message agent.v1.ThinkingMessage.
339
+ * Use `create(ThinkingMessageSchema)` to create a new message.
340
+ */
341
+ export const ThinkingMessageSchema = /*@__PURE__*/ messageDesc(file_agent, 65);
342
+ /**
343
+ * Describes the message agent.v1.ShellCommand.
344
+ * Use `create(ShellCommandSchema)` to create a new message.
345
+ */
346
+ export const ShellCommandSchema = /*@__PURE__*/ messageDesc(file_agent, 66);
347
+ /**
348
+ * Describes the message agent.v1.ShellOutput.
349
+ * Use `create(ShellOutputSchema)` to create a new message.
350
+ */
351
+ export const ShellOutputSchema = /*@__PURE__*/ messageDesc(file_agent, 67);
352
+ /**
353
+ * Describes the message agent.v1.ConversationTurn.
354
+ * Use `create(ConversationTurnSchema)` to create a new message.
355
+ */
356
+ export const ConversationTurnSchema = /*@__PURE__*/ messageDesc(file_agent, 68);
357
+ /**
358
+ * Describes the message agent.v1.ConversationPlan.
359
+ * Use `create(ConversationPlanSchema)` to create a new message.
360
+ */
361
+ export const ConversationPlanSchema = /*@__PURE__*/ messageDesc(file_agent, 69);
362
+ /**
363
+ * Describes the message agent.v1.ConversationTurnStructure.
364
+ * Use `create(ConversationTurnStructureSchema)` to create a new message.
365
+ */
366
+ export const ConversationTurnStructureSchema = /*@__PURE__*/ messageDesc(file_agent, 70);
367
+ /**
368
+ * Describes the message agent.v1.AgentConversationTurn.
369
+ * Use `create(AgentConversationTurnSchema)` to create a new message.
370
+ */
371
+ export const AgentConversationTurnSchema = /*@__PURE__*/ messageDesc(file_agent, 71);
372
+ /**
373
+ * Describes the message agent.v1.AgentConversationTurnStructure.
374
+ * Use `create(AgentConversationTurnStructureSchema)` to create a new message.
375
+ */
376
+ export const AgentConversationTurnStructureSchema = /*@__PURE__*/ messageDesc(file_agent, 72);
377
+ /**
378
+ * Describes the message agent.v1.ShellConversationTurn.
379
+ * Use `create(ShellConversationTurnSchema)` to create a new message.
380
+ */
381
+ export const ShellConversationTurnSchema = /*@__PURE__*/ messageDesc(file_agent, 73);
382
+ /**
383
+ * Describes the message agent.v1.ShellConversationTurnStructure.
384
+ * Use `create(ShellConversationTurnStructureSchema)` to create a new message.
385
+ */
386
+ export const ShellConversationTurnStructureSchema = /*@__PURE__*/ messageDesc(file_agent, 74);
387
+ /**
388
+ * Describes the message agent.v1.ConversationSummary.
389
+ * Use `create(ConversationSummarySchema)` to create a new message.
390
+ */
391
+ export const ConversationSummarySchema = /*@__PURE__*/ messageDesc(file_agent, 75);
392
+ /**
393
+ * Describes the message agent.v1.ConversationSummaryArchive.
394
+ * Use `create(ConversationSummaryArchiveSchema)` to create a new message.
395
+ */
396
+ export const ConversationSummaryArchiveSchema = /*@__PURE__*/ messageDesc(file_agent, 76);
397
+ /**
398
+ * Describes the message agent.v1.ConversationTokenDetails.
399
+ * Use `create(ConversationTokenDetailsSchema)` to create a new message.
400
+ */
401
+ export const ConversationTokenDetailsSchema = /*@__PURE__*/ messageDesc(file_agent, 77);
402
+ /**
403
+ * Describes the message agent.v1.FileState.
404
+ * Use `create(FileStateSchema)` to create a new message.
405
+ */
406
+ export const FileStateSchema = /*@__PURE__*/ messageDesc(file_agent, 78);
407
+ /**
408
+ * Describes the message agent.v1.FileStateStructure.
409
+ * Use `create(FileStateStructureSchema)` to create a new message.
410
+ */
411
+ export const FileStateStructureSchema = /*@__PURE__*/ messageDesc(file_agent, 79);
412
+ /**
413
+ * Describes the message agent.v1.StepTiming.
414
+ * Use `create(StepTimingSchema)` to create a new message.
415
+ */
416
+ export const StepTimingSchema = /*@__PURE__*/ messageDesc(file_agent, 80);
417
+ /**
418
+ * Describes the message agent.v1.ConversationState.
419
+ * Use `create(ConversationStateSchema)` to create a new message.
420
+ */
421
+ export const ConversationStateSchema = /*@__PURE__*/ messageDesc(file_agent, 81);
422
+ /**
423
+ * Describes the message agent.v1.SubagentPersistedState.
424
+ * Use `create(SubagentPersistedStateSchema)` to create a new message.
425
+ */
426
+ export const SubagentPersistedStateSchema = /*@__PURE__*/ messageDesc(file_agent, 82);
427
+ /**
428
+ * Describes the message agent.v1.ConversationStateStructure.
429
+ * Use `create(ConversationStateStructureSchema)` to create a new message.
430
+ */
431
+ export const ConversationStateStructureSchema = /*@__PURE__*/ messageDesc(file_agent, 83);
432
+ /**
433
+ * Describes the message agent.v1.ThinkingDetails.
434
+ * Use `create(ThinkingDetailsSchema)` to create a new message.
435
+ */
436
+ export const ThinkingDetailsSchema = /*@__PURE__*/ messageDesc(file_agent, 84);
437
+ /**
438
+ * Describes the message agent.v1.ApiKeyCredentials.
439
+ * Use `create(ApiKeyCredentialsSchema)` to create a new message.
440
+ */
441
+ export const ApiKeyCredentialsSchema = /*@__PURE__*/ messageDesc(file_agent, 85);
442
+ /**
443
+ * Describes the message agent.v1.AzureCredentials.
444
+ * Use `create(AzureCredentialsSchema)` to create a new message.
445
+ */
446
+ export const AzureCredentialsSchema = /*@__PURE__*/ messageDesc(file_agent, 86);
447
+ /**
448
+ * Describes the message agent.v1.BedrockCredentials.
449
+ * Use `create(BedrockCredentialsSchema)` to create a new message.
450
+ */
451
+ export const BedrockCredentialsSchema = /*@__PURE__*/ messageDesc(file_agent, 87);
452
+ /**
453
+ * Describes the message agent.v1.ModelDetails.
454
+ * Use `create(ModelDetailsSchema)` to create a new message.
455
+ */
456
+ export const ModelDetailsSchema = /*@__PURE__*/ messageDesc(file_agent, 88);
457
+ /**
458
+ * Describes the message agent.v1.RequestedModel.
459
+ * Use `create(RequestedModelSchema)` to create a new message.
460
+ */
461
+ export const RequestedModelSchema = /*@__PURE__*/ messageDesc(file_agent, 89);
462
+ /**
463
+ * Describes the message agent.v1.RequestedModel_ModelParameterbytes.
464
+ * Use `create(RequestedModel_ModelParameterbytesSchema)` to create a new message.
465
+ */
466
+ export const RequestedModel_ModelParameterbytesSchema = /*@__PURE__*/ messageDesc(file_agent, 90);
467
+ /**
468
+ * Describes the message agent.v1.AgentRunRequest.
469
+ * Use `create(AgentRunRequestSchema)` to create a new message.
470
+ */
471
+ export const AgentRunRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 91);
472
+ /**
473
+ * Describes the message agent.v1.TextDeltaUpdate.
474
+ * Use `create(TextDeltaUpdateSchema)` to create a new message.
475
+ */
476
+ export const TextDeltaUpdateSchema = /*@__PURE__*/ messageDesc(file_agent, 92);
477
+ /**
478
+ * Describes the message agent.v1.ToolCallStartedUpdate.
479
+ * Use `create(ToolCallStartedUpdateSchema)` to create a new message.
480
+ */
481
+ export const ToolCallStartedUpdateSchema = /*@__PURE__*/ messageDesc(file_agent, 93);
482
+ /**
483
+ * Describes the message agent.v1.ToolCallCompletedUpdate.
484
+ * Use `create(ToolCallCompletedUpdateSchema)` to create a new message.
485
+ */
486
+ export const ToolCallCompletedUpdateSchema = /*@__PURE__*/ messageDesc(file_agent, 94);
487
+ /**
488
+ * Describes the message agent.v1.ToolCallDeltaUpdate.
489
+ * Use `create(ToolCallDeltaUpdateSchema)` to create a new message.
490
+ */
491
+ export const ToolCallDeltaUpdateSchema = /*@__PURE__*/ messageDesc(file_agent, 95);
492
+ /**
493
+ * Describes the message agent.v1.PartialToolCallUpdate.
494
+ * Use `create(PartialToolCallUpdateSchema)` to create a new message.
495
+ */
496
+ export const PartialToolCallUpdateSchema = /*@__PURE__*/ messageDesc(file_agent, 96);
497
+ /**
498
+ * Describes the message agent.v1.ThinkingDeltaUpdate.
499
+ * Use `create(ThinkingDeltaUpdateSchema)` to create a new message.
500
+ */
501
+ export const ThinkingDeltaUpdateSchema = /*@__PURE__*/ messageDesc(file_agent, 97);
502
+ /**
503
+ * Describes the message agent.v1.ThinkingCompletedUpdate.
504
+ * Use `create(ThinkingCompletedUpdateSchema)` to create a new message.
505
+ */
506
+ export const ThinkingCompletedUpdateSchema = /*@__PURE__*/ messageDesc(file_agent, 98);
507
+ /**
508
+ * Describes the message agent.v1.TokenDeltaUpdate.
509
+ * Use `create(TokenDeltaUpdateSchema)` to create a new message.
510
+ */
511
+ export const TokenDeltaUpdateSchema = /*@__PURE__*/ messageDesc(file_agent, 99);
512
+ /**
513
+ * Describes the message agent.v1.SummaryUpdate.
514
+ * Use `create(SummaryUpdateSchema)` to create a new message.
515
+ */
516
+ export const SummaryUpdateSchema = /*@__PURE__*/ messageDesc(file_agent, 100);
517
+ /**
518
+ * Describes the message agent.v1.SummaryStartedUpdate.
519
+ * Use `create(SummaryStartedUpdateSchema)` to create a new message.
520
+ */
521
+ export const SummaryStartedUpdateSchema = /*@__PURE__*/ messageDesc(file_agent, 101);
522
+ /**
523
+ * Describes the message agent.v1.HeartbeatUpdate.
524
+ * Use `create(HeartbeatUpdateSchema)` to create a new message.
525
+ */
526
+ export const HeartbeatUpdateSchema = /*@__PURE__*/ messageDesc(file_agent, 102);
527
+ /**
528
+ * Describes the message agent.v1.SummaryCompletedUpdate.
529
+ * Use `create(SummaryCompletedUpdateSchema)` to create a new message.
530
+ */
531
+ export const SummaryCompletedUpdateSchema = /*@__PURE__*/ messageDesc(file_agent, 103);
532
+ /**
533
+ * Describes the message agent.v1.ShellOutputDeltaUpdate.
534
+ * Use `create(ShellOutputDeltaUpdateSchema)` to create a new message.
535
+ */
536
+ export const ShellOutputDeltaUpdateSchema = /*@__PURE__*/ messageDesc(file_agent, 104);
537
+ /**
538
+ * Describes the message agent.v1.TurnEndedUpdate.
539
+ * Use `create(TurnEndedUpdateSchema)` to create a new message.
540
+ */
541
+ export const TurnEndedUpdateSchema = /*@__PURE__*/ messageDesc(file_agent, 105);
542
+ /**
543
+ * Describes the message agent.v1.UserMessageAppendedUpdate.
544
+ * Use `create(UserMessageAppendedUpdateSchema)` to create a new message.
545
+ */
546
+ export const UserMessageAppendedUpdateSchema = /*@__PURE__*/ messageDesc(file_agent, 106);
547
+ /**
548
+ * Describes the message agent.v1.StepStartedUpdate.
549
+ * Use `create(StepStartedUpdateSchema)` to create a new message.
550
+ */
551
+ export const StepStartedUpdateSchema = /*@__PURE__*/ messageDesc(file_agent, 107);
552
+ /**
553
+ * Describes the message agent.v1.StepCompletedUpdate.
554
+ * Use `create(StepCompletedUpdateSchema)` to create a new message.
555
+ */
556
+ export const StepCompletedUpdateSchema = /*@__PURE__*/ messageDesc(file_agent, 108);
557
+ /**
558
+ * Describes the message agent.v1.InteractionUpdate.
559
+ * Use `create(InteractionUpdateSchema)` to create a new message.
560
+ */
561
+ export const InteractionUpdateSchema = /*@__PURE__*/ messageDesc(file_agent, 109);
562
+ /**
563
+ * Describes the message agent.v1.InteractionQuery.
564
+ * Use `create(InteractionQuerySchema)` to create a new message.
565
+ */
566
+ export const InteractionQuerySchema = /*@__PURE__*/ messageDesc(file_agent, 110);
567
+ /**
568
+ * Describes the message agent.v1.InteractionResponse.
569
+ * Use `create(InteractionResponseSchema)` to create a new message.
570
+ */
571
+ export const InteractionResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 111);
572
+ /**
573
+ * Describes the message agent.v1.AskQuestionInteractionQuery.
574
+ * Use `create(AskQuestionInteractionQuerySchema)` to create a new message.
575
+ */
576
+ export const AskQuestionInteractionQuerySchema = /*@__PURE__*/ messageDesc(file_agent, 112);
577
+ /**
578
+ * Describes the message agent.v1.AskQuestionInteractionResponse.
579
+ * Use `create(AskQuestionInteractionResponseSchema)` to create a new message.
580
+ */
581
+ export const AskQuestionInteractionResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 113);
582
+ /**
583
+ * Describes the message agent.v1.ClientHeartbeat.
584
+ * Use `create(ClientHeartbeatSchema)` to create a new message.
585
+ */
586
+ export const ClientHeartbeatSchema = /*@__PURE__*/ messageDesc(file_agent, 114);
587
+ /**
588
+ * Describes the message agent.v1.PrewarmRequest.
589
+ * Use `create(PrewarmRequestSchema)` to create a new message.
590
+ */
591
+ export const PrewarmRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 115);
592
+ /**
593
+ * Describes the message agent.v1.ExecServerAbort.
594
+ * Use `create(ExecServerAbortSchema)` to create a new message.
595
+ */
596
+ export const ExecServerAbortSchema = /*@__PURE__*/ messageDesc(file_agent, 116);
597
+ /**
598
+ * Describes the message agent.v1.ExecServerControlMessage.
599
+ * Use `create(ExecServerControlMessageSchema)` to create a new message.
600
+ */
601
+ export const ExecServerControlMessageSchema = /*@__PURE__*/ messageDesc(file_agent, 117);
602
+ /**
603
+ * Describes the message agent.v1.AgentClientMessage.
604
+ * Use `create(AgentClientMessageSchema)` to create a new message.
605
+ */
606
+ export const AgentClientMessageSchema = /*@__PURE__*/ messageDesc(file_agent, 118);
607
+ /**
608
+ * Describes the message agent.v1.AgentServerMessage.
609
+ * Use `create(AgentServerMessageSchema)` to create a new message.
610
+ */
611
+ export const AgentServerMessageSchema = /*@__PURE__*/ messageDesc(file_agent, 119);
612
+ /**
613
+ * Describes the message agent.v1.NameAgentRequest.
614
+ * Use `create(NameAgentRequestSchema)` to create a new message.
615
+ */
616
+ export const NameAgentRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 120);
617
+ /**
618
+ * Describes the message agent.v1.NameAgentResponse.
619
+ * Use `create(NameAgentResponseSchema)` to create a new message.
620
+ */
621
+ export const NameAgentResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 121);
622
+ /**
623
+ * Describes the message agent.v1.GetUsableModelsRequest.
624
+ * Use `create(GetUsableModelsRequestSchema)` to create a new message.
625
+ */
626
+ export const GetUsableModelsRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 122);
627
+ /**
628
+ * Describes the message agent.v1.GetUsableModelsResponse.
629
+ * Use `create(GetUsableModelsResponseSchema)` to create a new message.
630
+ */
631
+ export const GetUsableModelsResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 123);
632
+ /**
633
+ * Describes the message agent.v1.GetDefaultModelForCliRequest.
634
+ * Use `create(GetDefaultModelForCliRequestSchema)` to create a new message.
635
+ */
636
+ export const GetDefaultModelForCliRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 124);
637
+ /**
638
+ * Describes the message agent.v1.GetDefaultModelForCliResponse.
639
+ * Use `create(GetDefaultModelForCliResponseSchema)` to create a new message.
640
+ */
641
+ export const GetDefaultModelForCliResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 125);
642
+ /**
643
+ * Describes the message agent.v1.GetAllowedModelIntentsRequest.
644
+ * Use `create(GetAllowedModelIntentsRequestSchema)` to create a new message.
645
+ */
646
+ export const GetAllowedModelIntentsRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 126);
647
+ /**
648
+ * Describes the message agent.v1.GetAllowedModelIntentsResponse.
649
+ * Use `create(GetAllowedModelIntentsResponseSchema)` to create a new message.
650
+ */
651
+ export const GetAllowedModelIntentsResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 127);
652
+ /**
653
+ * Describes the message agent.v1.IdeEditorsStateFile.
654
+ * Use `create(IdeEditorsStateFileSchema)` to create a new message.
655
+ */
656
+ export const IdeEditorsStateFileSchema = /*@__PURE__*/ messageDesc(file_agent, 128);
657
+ /**
658
+ * Describes the message agent.v1.IdeEditorsStateLite.
659
+ * Use `create(IdeEditorsStateLiteSchema)` to create a new message.
660
+ */
661
+ export const IdeEditorsStateLiteSchema = /*@__PURE__*/ messageDesc(file_agent, 129);
662
+ /**
663
+ * Describes the message agent.v1.ApplyAgentDiffToolCall.
664
+ * Use `create(ApplyAgentDiffToolCallSchema)` to create a new message.
665
+ */
666
+ export const ApplyAgentDiffToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 130);
667
+ /**
668
+ * Describes the message agent.v1.ApplyAgentDiffArgs.
669
+ * Use `create(ApplyAgentDiffArgsSchema)` to create a new message.
670
+ */
671
+ export const ApplyAgentDiffArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 131);
672
+ /**
673
+ * Describes the message agent.v1.ApplyAgentDiffResult.
674
+ * Use `create(ApplyAgentDiffResultSchema)` to create a new message.
675
+ */
676
+ export const ApplyAgentDiffResultSchema = /*@__PURE__*/ messageDesc(file_agent, 132);
677
+ /**
678
+ * Describes the message agent.v1.ApplyAgentDiffSuccess.
679
+ * Use `create(ApplyAgentDiffSuccessSchema)` to create a new message.
680
+ */
681
+ export const ApplyAgentDiffSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 133);
682
+ /**
683
+ * Describes the message agent.v1.AppliedAgentChange.
684
+ * Use `create(AppliedAgentChangeSchema)` to create a new message.
685
+ */
686
+ export const AppliedAgentChangeSchema = /*@__PURE__*/ messageDesc(file_agent, 134);
687
+ /**
688
+ * Describes the message agent.v1.ApplyAgentDiffError.
689
+ * Use `create(ApplyAgentDiffErrorSchema)` to create a new message.
690
+ */
691
+ export const ApplyAgentDiffErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 135);
692
+ /**
693
+ * Describes the message agent.v1.AskQuestionToolCall.
694
+ * Use `create(AskQuestionToolCallSchema)` to create a new message.
695
+ */
696
+ export const AskQuestionToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 136);
697
+ /**
698
+ * Describes the message agent.v1.AskQuestionArgs.
699
+ * Use `create(AskQuestionArgsSchema)` to create a new message.
700
+ */
701
+ export const AskQuestionArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 137);
702
+ /**
703
+ * Describes the message agent.v1.AskQuestionArgs_Question.
704
+ * Use `create(AskQuestionArgs_QuestionSchema)` to create a new message.
705
+ */
706
+ export const AskQuestionArgs_QuestionSchema = /*@__PURE__*/ messageDesc(file_agent, 138);
707
+ /**
708
+ * Describes the message agent.v1.AskQuestionArgs_Option.
709
+ * Use `create(AskQuestionArgs_OptionSchema)` to create a new message.
710
+ */
711
+ export const AskQuestionArgs_OptionSchema = /*@__PURE__*/ messageDesc(file_agent, 139);
712
+ /**
713
+ * Describes the message agent.v1.AskQuestionAsync.
714
+ * Use `create(AskQuestionAsyncSchema)` to create a new message.
715
+ */
716
+ export const AskQuestionAsyncSchema = /*@__PURE__*/ messageDesc(file_agent, 140);
717
+ /**
718
+ * Describes the message agent.v1.AskQuestionResult.
719
+ * Use `create(AskQuestionResultSchema)` to create a new message.
720
+ */
721
+ export const AskQuestionResultSchema = /*@__PURE__*/ messageDesc(file_agent, 141);
722
+ /**
723
+ * Describes the message agent.v1.AskQuestionSuccess.
724
+ * Use `create(AskQuestionSuccessSchema)` to create a new message.
725
+ */
726
+ export const AskQuestionSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 142);
727
+ /**
728
+ * Describes the message agent.v1.AskQuestionSuccess_Answer.
729
+ * Use `create(AskQuestionSuccess_AnswerSchema)` to create a new message.
730
+ */
731
+ export const AskQuestionSuccess_AnswerSchema = /*@__PURE__*/ messageDesc(file_agent, 143);
732
+ /**
733
+ * Describes the message agent.v1.AskQuestionError.
734
+ * Use `create(AskQuestionErrorSchema)` to create a new message.
735
+ */
736
+ export const AskQuestionErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 144);
737
+ /**
738
+ * Describes the message agent.v1.AskQuestionRejected.
739
+ * Use `create(AskQuestionRejectedSchema)` to create a new message.
740
+ */
741
+ export const AskQuestionRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 145);
742
+ /**
743
+ * Describes the message agent.v1.BackgroundShellSpawnArgs.
744
+ * Use `create(BackgroundShellSpawnArgsSchema)` to create a new message.
745
+ */
746
+ export const BackgroundShellSpawnArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 146);
747
+ /**
748
+ * Describes the message agent.v1.BackgroundShellSpawnResult.
749
+ * Use `create(BackgroundShellSpawnResultSchema)` to create a new message.
750
+ */
751
+ export const BackgroundShellSpawnResultSchema = /*@__PURE__*/ messageDesc(file_agent, 147);
752
+ /**
753
+ * Describes the message agent.v1.BackgroundShellSpawnSuccess.
754
+ * Use `create(BackgroundShellSpawnSuccessSchema)` to create a new message.
755
+ */
756
+ export const BackgroundShellSpawnSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 148);
757
+ /**
758
+ * Describes the message agent.v1.BackgroundShellSpawnError.
759
+ * Use `create(BackgroundShellSpawnErrorSchema)` to create a new message.
760
+ */
761
+ export const BackgroundShellSpawnErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 149);
762
+ /**
763
+ * Describes the message agent.v1.WriteShellStdinArgs.
764
+ * Use `create(WriteShellStdinArgsSchema)` to create a new message.
765
+ */
766
+ export const WriteShellStdinArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 150);
767
+ /**
768
+ * Describes the message agent.v1.WriteShellStdinResult.
769
+ * Use `create(WriteShellStdinResultSchema)` to create a new message.
770
+ */
771
+ export const WriteShellStdinResultSchema = /*@__PURE__*/ messageDesc(file_agent, 151);
772
+ /**
773
+ * Describes the message agent.v1.WriteShellStdinSuccess.
774
+ * Use `create(WriteShellStdinSuccessSchema)` to create a new message.
775
+ */
776
+ export const WriteShellStdinSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 152);
777
+ /**
778
+ * Describes the message agent.v1.WriteShellStdinError.
779
+ * Use `create(WriteShellStdinErrorSchema)` to create a new message.
780
+ */
781
+ export const WriteShellStdinErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 153);
782
+ /**
783
+ * Describes the message agent.v1.Coordinate.
784
+ * Use `create(CoordinateSchema)` to create a new message.
785
+ */
786
+ export const CoordinateSchema = /*@__PURE__*/ messageDesc(file_agent, 154);
787
+ /**
788
+ * Describes the message agent.v1.ComputerUseArgs.
789
+ * Use `create(ComputerUseArgsSchema)` to create a new message.
790
+ */
791
+ export const ComputerUseArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 155);
792
+ /**
793
+ * Describes the message agent.v1.ComputerUseAction.
794
+ * Use `create(ComputerUseActionSchema)` to create a new message.
795
+ */
796
+ export const ComputerUseActionSchema = /*@__PURE__*/ messageDesc(file_agent, 156);
797
+ /**
798
+ * Describes the message agent.v1.MouseMoveAction.
799
+ * Use `create(MouseMoveActionSchema)` to create a new message.
800
+ */
801
+ export const MouseMoveActionSchema = /*@__PURE__*/ messageDesc(file_agent, 157);
802
+ /**
803
+ * Describes the message agent.v1.ClickAction.
804
+ * Use `create(ClickActionSchema)` to create a new message.
805
+ */
806
+ export const ClickActionSchema = /*@__PURE__*/ messageDesc(file_agent, 158);
807
+ /**
808
+ * Describes the message agent.v1.MouseDownAction.
809
+ * Use `create(MouseDownActionSchema)` to create a new message.
810
+ */
811
+ export const MouseDownActionSchema = /*@__PURE__*/ messageDesc(file_agent, 159);
812
+ /**
813
+ * Describes the message agent.v1.MouseUpAction.
814
+ * Use `create(MouseUpActionSchema)` to create a new message.
815
+ */
816
+ export const MouseUpActionSchema = /*@__PURE__*/ messageDesc(file_agent, 160);
817
+ /**
818
+ * Describes the message agent.v1.DragAction.
819
+ * Use `create(DragActionSchema)` to create a new message.
820
+ */
821
+ export const DragActionSchema = /*@__PURE__*/ messageDesc(file_agent, 161);
822
+ /**
823
+ * Describes the message agent.v1.ScrollAction.
824
+ * Use `create(ScrollActionSchema)` to create a new message.
825
+ */
826
+ export const ScrollActionSchema = /*@__PURE__*/ messageDesc(file_agent, 162);
827
+ /**
828
+ * Describes the message agent.v1.TypeAction.
829
+ * Use `create(TypeActionSchema)` to create a new message.
830
+ */
831
+ export const TypeActionSchema = /*@__PURE__*/ messageDesc(file_agent, 163);
832
+ /**
833
+ * Describes the message agent.v1.KeyAction.
834
+ * Use `create(KeyActionSchema)` to create a new message.
835
+ */
836
+ export const KeyActionSchema = /*@__PURE__*/ messageDesc(file_agent, 164);
837
+ /**
838
+ * Describes the message agent.v1.WaitAction.
839
+ * Use `create(WaitActionSchema)` to create a new message.
840
+ */
841
+ export const WaitActionSchema = /*@__PURE__*/ messageDesc(file_agent, 165);
842
+ /**
843
+ * Describes the message agent.v1.ScreenshotAction.
844
+ * Use `create(ScreenshotActionSchema)` to create a new message.
845
+ */
846
+ export const ScreenshotActionSchema = /*@__PURE__*/ messageDesc(file_agent, 166);
847
+ /**
848
+ * Describes the message agent.v1.CursorPositionAction.
849
+ * Use `create(CursorPositionActionSchema)` to create a new message.
850
+ */
851
+ export const CursorPositionActionSchema = /*@__PURE__*/ messageDesc(file_agent, 167);
852
+ /**
853
+ * Describes the message agent.v1.ComputerUseResult.
854
+ * Use `create(ComputerUseResultSchema)` to create a new message.
855
+ */
856
+ export const ComputerUseResultSchema = /*@__PURE__*/ messageDesc(file_agent, 168);
857
+ /**
858
+ * Describes the message agent.v1.ComputerUseSuccess.
859
+ * Use `create(ComputerUseSuccessSchema)` to create a new message.
860
+ */
861
+ export const ComputerUseSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 169);
862
+ /**
863
+ * Describes the message agent.v1.ComputerUseError.
864
+ * Use `create(ComputerUseErrorSchema)` to create a new message.
865
+ */
866
+ export const ComputerUseErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 170);
867
+ /**
868
+ * Describes the message agent.v1.ComputerUseToolCall.
869
+ * Use `create(ComputerUseToolCallSchema)` to create a new message.
870
+ */
871
+ export const ComputerUseToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 171);
872
+ /**
873
+ * Describes the message agent.v1.CreatePlanToolCall.
874
+ * Use `create(CreatePlanToolCallSchema)` to create a new message.
875
+ */
876
+ export const CreatePlanToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 172);
877
+ /**
878
+ * Describes the message agent.v1.Phase.
879
+ * Use `create(PhaseSchema)` to create a new message.
880
+ */
881
+ export const PhaseSchema = /*@__PURE__*/ messageDesc(file_agent, 173);
882
+ /**
883
+ * Describes the message agent.v1.CreatePlanArgs.
884
+ * Use `create(CreatePlanArgsSchema)` to create a new message.
885
+ */
886
+ export const CreatePlanArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 174);
887
+ /**
888
+ * Describes the message agent.v1.CreatePlanResult.
889
+ * Use `create(CreatePlanResultSchema)` to create a new message.
890
+ */
891
+ export const CreatePlanResultSchema = /*@__PURE__*/ messageDesc(file_agent, 175);
892
+ /**
893
+ * Describes the message agent.v1.CreatePlanSuccess.
894
+ * Use `create(CreatePlanSuccessSchema)` to create a new message.
895
+ */
896
+ export const CreatePlanSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 176);
897
+ /**
898
+ * Describes the message agent.v1.CreatePlanError.
899
+ * Use `create(CreatePlanErrorSchema)` to create a new message.
900
+ */
901
+ export const CreatePlanErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 177);
902
+ /**
903
+ * Describes the message agent.v1.CreatePlanRequestQuery.
904
+ * Use `create(CreatePlanRequestQuerySchema)` to create a new message.
905
+ */
906
+ export const CreatePlanRequestQuerySchema = /*@__PURE__*/ messageDesc(file_agent, 178);
907
+ /**
908
+ * Describes the message agent.v1.CreatePlanRequestResponse.
909
+ * Use `create(CreatePlanRequestResponseSchema)` to create a new message.
910
+ */
911
+ export const CreatePlanRequestResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 179);
912
+ /**
913
+ * Describes the message agent.v1.CursorRuleTypeGlobal.
914
+ * Use `create(CursorRuleTypeGlobalSchema)` to create a new message.
915
+ */
916
+ export const CursorRuleTypeGlobalSchema = /*@__PURE__*/ messageDesc(file_agent, 180);
917
+ /**
918
+ * Describes the message agent.v1.CursorRuleTypeFileGlobs.
919
+ * Use `create(CursorRuleTypeFileGlobsSchema)` to create a new message.
920
+ */
921
+ export const CursorRuleTypeFileGlobsSchema = /*@__PURE__*/ messageDesc(file_agent, 181);
922
+ /**
923
+ * Describes the message agent.v1.CursorRuleTypeAgentFetched.
924
+ * Use `create(CursorRuleTypeAgentFetchedSchema)` to create a new message.
925
+ */
926
+ export const CursorRuleTypeAgentFetchedSchema = /*@__PURE__*/ messageDesc(file_agent, 182);
927
+ /**
928
+ * Describes the message agent.v1.CursorRuleTypeManuallyAttached.
929
+ * Use `create(CursorRuleTypeManuallyAttachedSchema)` to create a new message.
930
+ */
931
+ export const CursorRuleTypeManuallyAttachedSchema = /*@__PURE__*/ messageDesc(file_agent, 183);
932
+ /**
933
+ * Describes the message agent.v1.CursorRuleType.
934
+ * Use `create(CursorRuleTypeSchema)` to create a new message.
935
+ */
936
+ export const CursorRuleTypeSchema = /*@__PURE__*/ messageDesc(file_agent, 184);
937
+ /**
938
+ * Describes the message agent.v1.CursorRule.
939
+ * Use `create(CursorRuleSchema)` to create a new message.
940
+ */
941
+ export const CursorRuleSchema = /*@__PURE__*/ messageDesc(file_agent, 185);
942
+ /**
943
+ * Describes the message agent.v1.DeleteArgs.
944
+ * Use `create(DeleteArgsSchema)` to create a new message.
945
+ */
946
+ export const DeleteArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 186);
947
+ /**
948
+ * Describes the message agent.v1.DeleteResult.
949
+ * Use `create(DeleteResultSchema)` to create a new message.
950
+ */
951
+ export const DeleteResultSchema = /*@__PURE__*/ messageDesc(file_agent, 187);
952
+ /**
953
+ * Describes the message agent.v1.DeleteSuccess.
954
+ * Use `create(DeleteSuccessSchema)` to create a new message.
955
+ */
956
+ export const DeleteSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 188);
957
+ /**
958
+ * Describes the message agent.v1.DeleteFileNotFound.
959
+ * Use `create(DeleteFileNotFoundSchema)` to create a new message.
960
+ */
961
+ export const DeleteFileNotFoundSchema = /*@__PURE__*/ messageDesc(file_agent, 189);
962
+ /**
963
+ * Describes the message agent.v1.DeleteNotFile.
964
+ * Use `create(DeleteNotFileSchema)` to create a new message.
965
+ */
966
+ export const DeleteNotFileSchema = /*@__PURE__*/ messageDesc(file_agent, 190);
967
+ /**
968
+ * Describes the message agent.v1.DeletePermissionDenied.
969
+ * Use `create(DeletePermissionDeniedSchema)` to create a new message.
970
+ */
971
+ export const DeletePermissionDeniedSchema = /*@__PURE__*/ messageDesc(file_agent, 191);
972
+ /**
973
+ * Describes the message agent.v1.DeleteFileBusy.
974
+ * Use `create(DeleteFileBusySchema)` to create a new message.
975
+ */
976
+ export const DeleteFileBusySchema = /*@__PURE__*/ messageDesc(file_agent, 192);
977
+ /**
978
+ * Describes the message agent.v1.DeleteRejected.
979
+ * Use `create(DeleteRejectedSchema)` to create a new message.
980
+ */
981
+ export const DeleteRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 193);
982
+ /**
983
+ * Describes the message agent.v1.DeleteError.
984
+ * Use `create(DeleteErrorSchema)` to create a new message.
985
+ */
986
+ export const DeleteErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 194);
987
+ /**
988
+ * Describes the message agent.v1.DeleteToolCall.
989
+ * Use `create(DeleteToolCallSchema)` to create a new message.
990
+ */
991
+ export const DeleteToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 195);
992
+ /**
993
+ * Describes the message agent.v1.DiagnosticsArgs.
994
+ * Use `create(DiagnosticsArgsSchema)` to create a new message.
995
+ */
996
+ export const DiagnosticsArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 196);
997
+ /**
998
+ * Describes the message agent.v1.DiagnosticsResult.
999
+ * Use `create(DiagnosticsResultSchema)` to create a new message.
1000
+ */
1001
+ export const DiagnosticsResultSchema = /*@__PURE__*/ messageDesc(file_agent, 197);
1002
+ /**
1003
+ * Describes the message agent.v1.DiagnosticsSuccess.
1004
+ * Use `create(DiagnosticsSuccessSchema)` to create a new message.
1005
+ */
1006
+ export const DiagnosticsSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 198);
1007
+ /**
1008
+ * Describes the message agent.v1.Diagnostic.
1009
+ * Use `create(DiagnosticSchema)` to create a new message.
1010
+ */
1011
+ export const DiagnosticSchema = /*@__PURE__*/ messageDesc(file_agent, 199);
1012
+ /**
1013
+ * Describes the message agent.v1.DiagnosticsError.
1014
+ * Use `create(DiagnosticsErrorSchema)` to create a new message.
1015
+ */
1016
+ export const DiagnosticsErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 200);
1017
+ /**
1018
+ * Describes the message agent.v1.DiagnosticsRejected.
1019
+ * Use `create(DiagnosticsRejectedSchema)` to create a new message.
1020
+ */
1021
+ export const DiagnosticsRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 201);
1022
+ /**
1023
+ * Describes the message agent.v1.DiagnosticsFileNotFound.
1024
+ * Use `create(DiagnosticsFileNotFoundSchema)` to create a new message.
1025
+ */
1026
+ export const DiagnosticsFileNotFoundSchema = /*@__PURE__*/ messageDesc(file_agent, 202);
1027
+ /**
1028
+ * Describes the message agent.v1.DiagnosticsPermissionDenied.
1029
+ * Use `create(DiagnosticsPermissionDeniedSchema)` to create a new message.
1030
+ */
1031
+ export const DiagnosticsPermissionDeniedSchema = /*@__PURE__*/ messageDesc(file_agent, 203);
1032
+ /**
1033
+ * Describes the message agent.v1.EditArgs.
1034
+ * Use `create(EditArgsSchema)` to create a new message.
1035
+ */
1036
+ export const EditArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 204);
1037
+ /**
1038
+ * Describes the message agent.v1.EditResult.
1039
+ * Use `create(EditResultSchema)` to create a new message.
1040
+ */
1041
+ export const EditResultSchema = /*@__PURE__*/ messageDesc(file_agent, 205);
1042
+ /**
1043
+ * Describes the message agent.v1.EditSuccess.
1044
+ * Use `create(EditSuccessSchema)` to create a new message.
1045
+ */
1046
+ export const EditSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 206);
1047
+ /**
1048
+ * Describes the message agent.v1.EditFileNotFound.
1049
+ * Use `create(EditFileNotFoundSchema)` to create a new message.
1050
+ */
1051
+ export const EditFileNotFoundSchema = /*@__PURE__*/ messageDesc(file_agent, 207);
1052
+ /**
1053
+ * Describes the message agent.v1.EditReadPermissionDenied.
1054
+ * Use `create(EditReadPermissionDeniedSchema)` to create a new message.
1055
+ */
1056
+ export const EditReadPermissionDeniedSchema = /*@__PURE__*/ messageDesc(file_agent, 208);
1057
+ /**
1058
+ * Describes the message agent.v1.EditWritePermissionDenied.
1059
+ * Use `create(EditWritePermissionDeniedSchema)` to create a new message.
1060
+ */
1061
+ export const EditWritePermissionDeniedSchema = /*@__PURE__*/ messageDesc(file_agent, 209);
1062
+ /**
1063
+ * Describes the message agent.v1.EditRejected.
1064
+ * Use `create(EditRejectedSchema)` to create a new message.
1065
+ */
1066
+ export const EditRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 210);
1067
+ /**
1068
+ * Describes the message agent.v1.EditError.
1069
+ * Use `create(EditErrorSchema)` to create a new message.
1070
+ */
1071
+ export const EditErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 211);
1072
+ /**
1073
+ * Describes the message agent.v1.EditToolCall.
1074
+ * Use `create(EditToolCallSchema)` to create a new message.
1075
+ */
1076
+ export const EditToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 212);
1077
+ /**
1078
+ * Describes the message agent.v1.EditToolCallDelta.
1079
+ * Use `create(EditToolCallDeltaSchema)` to create a new message.
1080
+ */
1081
+ export const EditToolCallDeltaSchema = /*@__PURE__*/ messageDesc(file_agent, 213);
1082
+ /**
1083
+ * Describes the message agent.v1.ExaFetchArgs.
1084
+ * Use `create(ExaFetchArgsSchema)` to create a new message.
1085
+ */
1086
+ export const ExaFetchArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 214);
1087
+ /**
1088
+ * Describes the message agent.v1.ExaFetchResult.
1089
+ * Use `create(ExaFetchResultSchema)` to create a new message.
1090
+ */
1091
+ export const ExaFetchResultSchema = /*@__PURE__*/ messageDesc(file_agent, 215);
1092
+ /**
1093
+ * Describes the message agent.v1.ExaFetchSuccess.
1094
+ * Use `create(ExaFetchSuccessSchema)` to create a new message.
1095
+ */
1096
+ export const ExaFetchSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 216);
1097
+ /**
1098
+ * Describes the message agent.v1.ExaFetchError.
1099
+ * Use `create(ExaFetchErrorSchema)` to create a new message.
1100
+ */
1101
+ export const ExaFetchErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 217);
1102
+ /**
1103
+ * Describes the message agent.v1.ExaFetchRejected.
1104
+ * Use `create(ExaFetchRejectedSchema)` to create a new message.
1105
+ */
1106
+ export const ExaFetchRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 218);
1107
+ /**
1108
+ * Describes the message agent.v1.ExaFetchContent.
1109
+ * Use `create(ExaFetchContentSchema)` to create a new message.
1110
+ */
1111
+ export const ExaFetchContentSchema = /*@__PURE__*/ messageDesc(file_agent, 219);
1112
+ /**
1113
+ * Describes the message agent.v1.ExaFetchToolCall.
1114
+ * Use `create(ExaFetchToolCallSchema)` to create a new message.
1115
+ */
1116
+ export const ExaFetchToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 220);
1117
+ /**
1118
+ * Describes the message agent.v1.ExaFetchRequestQuery.
1119
+ * Use `create(ExaFetchRequestQuerySchema)` to create a new message.
1120
+ */
1121
+ export const ExaFetchRequestQuerySchema = /*@__PURE__*/ messageDesc(file_agent, 221);
1122
+ /**
1123
+ * Describes the message agent.v1.ExaFetchRequestResponse.
1124
+ * Use `create(ExaFetchRequestResponseSchema)` to create a new message.
1125
+ */
1126
+ export const ExaFetchRequestResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 222);
1127
+ /**
1128
+ * Describes the message agent.v1.ExaFetchRequestResponse_Approved.
1129
+ * Use `create(ExaFetchRequestResponse_ApprovedSchema)` to create a new message.
1130
+ */
1131
+ export const ExaFetchRequestResponse_ApprovedSchema = /*@__PURE__*/ messageDesc(file_agent, 223);
1132
+ /**
1133
+ * Describes the message agent.v1.ExaFetchRequestResponse_Rejected.
1134
+ * Use `create(ExaFetchRequestResponse_RejectedSchema)` to create a new message.
1135
+ */
1136
+ export const ExaFetchRequestResponse_RejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 224);
1137
+ /**
1138
+ * Describes the message agent.v1.ExaSearchArgs.
1139
+ * Use `create(ExaSearchArgsSchema)` to create a new message.
1140
+ */
1141
+ export const ExaSearchArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 225);
1142
+ /**
1143
+ * Describes the message agent.v1.ExaSearchResult.
1144
+ * Use `create(ExaSearchResultSchema)` to create a new message.
1145
+ */
1146
+ export const ExaSearchResultSchema = /*@__PURE__*/ messageDesc(file_agent, 226);
1147
+ /**
1148
+ * Describes the message agent.v1.ExaSearchSuccess.
1149
+ * Use `create(ExaSearchSuccessSchema)` to create a new message.
1150
+ */
1151
+ export const ExaSearchSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 227);
1152
+ /**
1153
+ * Describes the message agent.v1.ExaSearchError.
1154
+ * Use `create(ExaSearchErrorSchema)` to create a new message.
1155
+ */
1156
+ export const ExaSearchErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 228);
1157
+ /**
1158
+ * Describes the message agent.v1.ExaSearchRejected.
1159
+ * Use `create(ExaSearchRejectedSchema)` to create a new message.
1160
+ */
1161
+ export const ExaSearchRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 229);
1162
+ /**
1163
+ * Describes the message agent.v1.ExaSearchReference.
1164
+ * Use `create(ExaSearchReferenceSchema)` to create a new message.
1165
+ */
1166
+ export const ExaSearchReferenceSchema = /*@__PURE__*/ messageDesc(file_agent, 230);
1167
+ /**
1168
+ * Describes the message agent.v1.ExaSearchToolCall.
1169
+ * Use `create(ExaSearchToolCallSchema)` to create a new message.
1170
+ */
1171
+ export const ExaSearchToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 231);
1172
+ /**
1173
+ * Describes the message agent.v1.ExaSearchRequestQuery.
1174
+ * Use `create(ExaSearchRequestQuerySchema)` to create a new message.
1175
+ */
1176
+ export const ExaSearchRequestQuerySchema = /*@__PURE__*/ messageDesc(file_agent, 232);
1177
+ /**
1178
+ * Describes the message agent.v1.ExaSearchRequestResponse.
1179
+ * Use `create(ExaSearchRequestResponseSchema)` to create a new message.
1180
+ */
1181
+ export const ExaSearchRequestResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 233);
1182
+ /**
1183
+ * Describes the message agent.v1.ExaSearchRequestResponse_Approved.
1184
+ * Use `create(ExaSearchRequestResponse_ApprovedSchema)` to create a new message.
1185
+ */
1186
+ export const ExaSearchRequestResponse_ApprovedSchema = /*@__PURE__*/ messageDesc(file_agent, 234);
1187
+ /**
1188
+ * Describes the message agent.v1.ExaSearchRequestResponse_Rejected.
1189
+ * Use `create(ExaSearchRequestResponse_RejectedSchema)` to create a new message.
1190
+ */
1191
+ export const ExaSearchRequestResponse_RejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 235);
1192
+ /**
1193
+ * Describes the message agent.v1.ExecClientStreamClose.
1194
+ * Use `create(ExecClientStreamCloseSchema)` to create a new message.
1195
+ */
1196
+ export const ExecClientStreamCloseSchema = /*@__PURE__*/ messageDesc(file_agent, 236);
1197
+ /**
1198
+ * Describes the message agent.v1.ExecClientThrow.
1199
+ * Use `create(ExecClientThrowSchema)` to create a new message.
1200
+ */
1201
+ export const ExecClientThrowSchema = /*@__PURE__*/ messageDesc(file_agent, 237);
1202
+ /**
1203
+ * Describes the message agent.v1.ExecClientHeartbeat.
1204
+ * Use `create(ExecClientHeartbeatSchema)` to create a new message.
1205
+ */
1206
+ export const ExecClientHeartbeatSchema = /*@__PURE__*/ messageDesc(file_agent, 238);
1207
+ /**
1208
+ * Describes the message agent.v1.ExecClientControlMessage.
1209
+ * Use `create(ExecClientControlMessageSchema)` to create a new message.
1210
+ */
1211
+ export const ExecClientControlMessageSchema = /*@__PURE__*/ messageDesc(file_agent, 239);
1212
+ /**
1213
+ * Describes the message agent.v1.SpanContext.
1214
+ * Use `create(SpanContextSchema)` to create a new message.
1215
+ */
1216
+ export const SpanContextSchema = /*@__PURE__*/ messageDesc(file_agent, 240);
1217
+ /**
1218
+ * Describes the message agent.v1.AbortArgs.
1219
+ * Use `create(AbortArgsSchema)` to create a new message.
1220
+ */
1221
+ export const AbortArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 241);
1222
+ /**
1223
+ * Describes the message agent.v1.AbortResult.
1224
+ * Use `create(AbortResultSchema)` to create a new message.
1225
+ */
1226
+ export const AbortResultSchema = /*@__PURE__*/ messageDesc(file_agent, 242);
1227
+ /**
1228
+ * Describes the message agent.v1.ExecServerMessage.
1229
+ * Use `create(ExecServerMessageSchema)` to create a new message.
1230
+ */
1231
+ export const ExecServerMessageSchema = /*@__PURE__*/ messageDesc(file_agent, 243);
1232
+ /**
1233
+ * Describes the message agent.v1.ExecClientMessage.
1234
+ * Use `create(ExecClientMessageSchema)` to create a new message.
1235
+ */
1236
+ export const ExecClientMessageSchema = /*@__PURE__*/ messageDesc(file_agent, 244);
1237
+ /**
1238
+ * Describes the message agent.v1.FetchArgs.
1239
+ * Use `create(FetchArgsSchema)` to create a new message.
1240
+ */
1241
+ export const FetchArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 245);
1242
+ /**
1243
+ * Describes the message agent.v1.FetchResult.
1244
+ * Use `create(FetchResultSchema)` to create a new message.
1245
+ */
1246
+ export const FetchResultSchema = /*@__PURE__*/ messageDesc(file_agent, 246);
1247
+ /**
1248
+ * Describes the message agent.v1.FetchSuccess.
1249
+ * Use `create(FetchSuccessSchema)` to create a new message.
1250
+ */
1251
+ export const FetchSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 247);
1252
+ /**
1253
+ * Describes the message agent.v1.FetchError.
1254
+ * Use `create(FetchErrorSchema)` to create a new message.
1255
+ */
1256
+ export const FetchErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 248);
1257
+ /**
1258
+ * Describes the message agent.v1.GenerateImageArgs.
1259
+ * Use `create(GenerateImageArgsSchema)` to create a new message.
1260
+ */
1261
+ export const GenerateImageArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 249);
1262
+ /**
1263
+ * Describes the message agent.v1.GenerateImageResult.
1264
+ * Use `create(GenerateImageResultSchema)` to create a new message.
1265
+ */
1266
+ export const GenerateImageResultSchema = /*@__PURE__*/ messageDesc(file_agent, 250);
1267
+ /**
1268
+ * Describes the message agent.v1.GenerateImageSuccess.
1269
+ * Use `create(GenerateImageSuccessSchema)` to create a new message.
1270
+ */
1271
+ export const GenerateImageSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 251);
1272
+ /**
1273
+ * Describes the message agent.v1.GenerateImageError.
1274
+ * Use `create(GenerateImageErrorSchema)` to create a new message.
1275
+ */
1276
+ export const GenerateImageErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 252);
1277
+ /**
1278
+ * Describes the message agent.v1.GenerateImageToolCall.
1279
+ * Use `create(GenerateImageToolCallSchema)` to create a new message.
1280
+ */
1281
+ export const GenerateImageToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 253);
1282
+ /**
1283
+ * Describes the message agent.v1.GrepArgs.
1284
+ * Use `create(GrepArgsSchema)` to create a new message.
1285
+ */
1286
+ export const GrepArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 254);
1287
+ /**
1288
+ * Describes the message agent.v1.GrepResult.
1289
+ * Use `create(GrepResultSchema)` to create a new message.
1290
+ */
1291
+ export const GrepResultSchema = /*@__PURE__*/ messageDesc(file_agent, 255);
1292
+ /**
1293
+ * Describes the message agent.v1.GrepError.
1294
+ * Use `create(GrepErrorSchema)` to create a new message.
1295
+ */
1296
+ export const GrepErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 256);
1297
+ /**
1298
+ * Describes the message agent.v1.GrepSuccess.
1299
+ * Use `create(GrepSuccessSchema)` to create a new message.
1300
+ */
1301
+ export const GrepSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 257);
1302
+ /**
1303
+ * Describes the message agent.v1.GrepUnionResult.
1304
+ * Use `create(GrepUnionResultSchema)` to create a new message.
1305
+ */
1306
+ export const GrepUnionResultSchema = /*@__PURE__*/ messageDesc(file_agent, 258);
1307
+ /**
1308
+ * Describes the message agent.v1.GrepCountResult.
1309
+ * Use `create(GrepCountResultSchema)` to create a new message.
1310
+ */
1311
+ export const GrepCountResultSchema = /*@__PURE__*/ messageDesc(file_agent, 259);
1312
+ /**
1313
+ * Describes the message agent.v1.GrepFileCount.
1314
+ * Use `create(GrepFileCountSchema)` to create a new message.
1315
+ */
1316
+ export const GrepFileCountSchema = /*@__PURE__*/ messageDesc(file_agent, 260);
1317
+ /**
1318
+ * Describes the message agent.v1.GrepFilesResult.
1319
+ * Use `create(GrepFilesResultSchema)` to create a new message.
1320
+ */
1321
+ export const GrepFilesResultSchema = /*@__PURE__*/ messageDesc(file_agent, 261);
1322
+ /**
1323
+ * Describes the message agent.v1.GrepContentResult.
1324
+ * Use `create(GrepContentResultSchema)` to create a new message.
1325
+ */
1326
+ export const GrepContentResultSchema = /*@__PURE__*/ messageDesc(file_agent, 262);
1327
+ /**
1328
+ * Describes the message agent.v1.GrepFileMatch.
1329
+ * Use `create(GrepFileMatchSchema)` to create a new message.
1330
+ */
1331
+ export const GrepFileMatchSchema = /*@__PURE__*/ messageDesc(file_agent, 263);
1332
+ /**
1333
+ * Describes the message agent.v1.GrepContentMatch.
1334
+ * Use `create(GrepContentMatchSchema)` to create a new message.
1335
+ */
1336
+ export const GrepContentMatchSchema = /*@__PURE__*/ messageDesc(file_agent, 264);
1337
+ /**
1338
+ * Describes the message agent.v1.GrepStream.
1339
+ * Use `create(GrepStreamSchema)` to create a new message.
1340
+ */
1341
+ export const GrepStreamSchema = /*@__PURE__*/ messageDesc(file_agent, 265);
1342
+ /**
1343
+ * Describes the message agent.v1.GrepToolCall.
1344
+ * Use `create(GrepToolCallSchema)` to create a new message.
1345
+ */
1346
+ export const GrepToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 266);
1347
+ /**
1348
+ * Describes the message agent.v1.GetBlobArgs.
1349
+ * Use `create(GetBlobArgsSchema)` to create a new message.
1350
+ */
1351
+ export const GetBlobArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 267);
1352
+ /**
1353
+ * Describes the message agent.v1.GetBlobResult.
1354
+ * Use `create(GetBlobResultSchema)` to create a new message.
1355
+ */
1356
+ export const GetBlobResultSchema = /*@__PURE__*/ messageDesc(file_agent, 268);
1357
+ /**
1358
+ * Describes the message agent.v1.SetBlobArgs.
1359
+ * Use `create(SetBlobArgsSchema)` to create a new message.
1360
+ */
1361
+ export const SetBlobArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 269);
1362
+ /**
1363
+ * Describes the message agent.v1.SetBlobResult.
1364
+ * Use `create(SetBlobResultSchema)` to create a new message.
1365
+ */
1366
+ export const SetBlobResultSchema = /*@__PURE__*/ messageDesc(file_agent, 270);
1367
+ /**
1368
+ * Describes the message agent.v1.KvServerMessage.
1369
+ * Use `create(KvServerMessageSchema)` to create a new message.
1370
+ */
1371
+ export const KvServerMessageSchema = /*@__PURE__*/ messageDesc(file_agent, 271);
1372
+ /**
1373
+ * Describes the message agent.v1.KvClientMessage.
1374
+ * Use `create(KvClientMessageSchema)` to create a new message.
1375
+ */
1376
+ export const KvClientMessageSchema = /*@__PURE__*/ messageDesc(file_agent, 272);
1377
+ /**
1378
+ * Describes the message agent.v1.LsArgs.
1379
+ * Use `create(LsArgsSchema)` to create a new message.
1380
+ */
1381
+ export const LsArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 273);
1382
+ /**
1383
+ * Describes the message agent.v1.LsResult.
1384
+ * Use `create(LsResultSchema)` to create a new message.
1385
+ */
1386
+ export const LsResultSchema = /*@__PURE__*/ messageDesc(file_agent, 274);
1387
+ /**
1388
+ * Describes the message agent.v1.LsSuccess.
1389
+ * Use `create(LsSuccessSchema)` to create a new message.
1390
+ */
1391
+ export const LsSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 275);
1392
+ /**
1393
+ * Describes the message agent.v1.LsDirectoryTreeNode.
1394
+ * Use `create(LsDirectoryTreeNodeSchema)` to create a new message.
1395
+ */
1396
+ export const LsDirectoryTreeNodeSchema = /*@__PURE__*/ messageDesc(file_agent, 276);
1397
+ /**
1398
+ * Describes the message agent.v1.LsDirectoryTreeNode_File.
1399
+ * Use `create(LsDirectoryTreeNode_FileSchema)` to create a new message.
1400
+ */
1401
+ export const LsDirectoryTreeNode_FileSchema = /*@__PURE__*/ messageDesc(file_agent, 277);
1402
+ /**
1403
+ * Describes the message agent.v1.LsError.
1404
+ * Use `create(LsErrorSchema)` to create a new message.
1405
+ */
1406
+ export const LsErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 278);
1407
+ /**
1408
+ * Describes the message agent.v1.LsRejected.
1409
+ * Use `create(LsRejectedSchema)` to create a new message.
1410
+ */
1411
+ export const LsRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 279);
1412
+ /**
1413
+ * Describes the message agent.v1.LsTimeout.
1414
+ * Use `create(LsTimeoutSchema)` to create a new message.
1415
+ */
1416
+ export const LsTimeoutSchema = /*@__PURE__*/ messageDesc(file_agent, 280);
1417
+ /**
1418
+ * Describes the message agent.v1.TerminalMetadata.
1419
+ * Use `create(TerminalMetadataSchema)` to create a new message.
1420
+ */
1421
+ export const TerminalMetadataSchema = /*@__PURE__*/ messageDesc(file_agent, 281);
1422
+ /**
1423
+ * Describes the message agent.v1.TerminalMetadata_Command.
1424
+ * Use `create(TerminalMetadata_CommandSchema)` to create a new message.
1425
+ */
1426
+ export const TerminalMetadata_CommandSchema = /*@__PURE__*/ messageDesc(file_agent, 282);
1427
+ /**
1428
+ * Describes the message agent.v1.LsToolCall.
1429
+ * Use `create(LsToolCallSchema)` to create a new message.
1430
+ */
1431
+ export const LsToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 283);
1432
+ /**
1433
+ * Describes the message agent.v1.McpArgs.
1434
+ * Use `create(McpArgsSchema)` to create a new message.
1435
+ */
1436
+ export const McpArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 284);
1437
+ /**
1438
+ * Describes the message agent.v1.McpResult.
1439
+ * Use `create(McpResultSchema)` to create a new message.
1440
+ */
1441
+ export const McpResultSchema = /*@__PURE__*/ messageDesc(file_agent, 285);
1442
+ /**
1443
+ * Describes the message agent.v1.McpToolNotFound.
1444
+ * Use `create(McpToolNotFoundSchema)` to create a new message.
1445
+ */
1446
+ export const McpToolNotFoundSchema = /*@__PURE__*/ messageDesc(file_agent, 286);
1447
+ /**
1448
+ * Describes the message agent.v1.McpTextContent.
1449
+ * Use `create(McpTextContentSchema)` to create a new message.
1450
+ */
1451
+ export const McpTextContentSchema = /*@__PURE__*/ messageDesc(file_agent, 287);
1452
+ /**
1453
+ * Describes the message agent.v1.McpImageContent.
1454
+ * Use `create(McpImageContentSchema)` to create a new message.
1455
+ */
1456
+ export const McpImageContentSchema = /*@__PURE__*/ messageDesc(file_agent, 288);
1457
+ /**
1458
+ * Describes the message agent.v1.McpToolResultContentItem.
1459
+ * Use `create(McpToolResultContentItemSchema)` to create a new message.
1460
+ */
1461
+ export const McpToolResultContentItemSchema = /*@__PURE__*/ messageDesc(file_agent, 289);
1462
+ /**
1463
+ * Describes the message agent.v1.McpSuccess.
1464
+ * Use `create(McpSuccessSchema)` to create a new message.
1465
+ */
1466
+ export const McpSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 290);
1467
+ /**
1468
+ * Describes the message agent.v1.McpError.
1469
+ * Use `create(McpErrorSchema)` to create a new message.
1470
+ */
1471
+ export const McpErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 291);
1472
+ /**
1473
+ * Describes the message agent.v1.McpRejected.
1474
+ * Use `create(McpRejectedSchema)` to create a new message.
1475
+ */
1476
+ export const McpRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 292);
1477
+ /**
1478
+ * Describes the message agent.v1.McpPermissionDenied.
1479
+ * Use `create(McpPermissionDeniedSchema)` to create a new message.
1480
+ */
1481
+ export const McpPermissionDeniedSchema = /*@__PURE__*/ messageDesc(file_agent, 293);
1482
+ /**
1483
+ * Describes the message agent.v1.ListMcpResourcesExecArgs.
1484
+ * Use `create(ListMcpResourcesExecArgsSchema)` to create a new message.
1485
+ */
1486
+ export const ListMcpResourcesExecArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 294);
1487
+ /**
1488
+ * Describes the message agent.v1.ListMcpResourcesExecResult.
1489
+ * Use `create(ListMcpResourcesExecResultSchema)` to create a new message.
1490
+ */
1491
+ export const ListMcpResourcesExecResultSchema = /*@__PURE__*/ messageDesc(file_agent, 295);
1492
+ /**
1493
+ * Describes the message agent.v1.ListMcpResourcesExecResult_McpResource.
1494
+ * Use `create(ListMcpResourcesExecResult_McpResourceSchema)` to create a new message.
1495
+ */
1496
+ export const ListMcpResourcesExecResult_McpResourceSchema = /*@__PURE__*/ messageDesc(file_agent, 296);
1497
+ /**
1498
+ * Describes the message agent.v1.ListMcpResourcesSuccess.
1499
+ * Use `create(ListMcpResourcesSuccessSchema)` to create a new message.
1500
+ */
1501
+ export const ListMcpResourcesSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 297);
1502
+ /**
1503
+ * Describes the message agent.v1.ListMcpResourcesError.
1504
+ * Use `create(ListMcpResourcesErrorSchema)` to create a new message.
1505
+ */
1506
+ export const ListMcpResourcesErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 298);
1507
+ /**
1508
+ * Describes the message agent.v1.ListMcpResourcesRejected.
1509
+ * Use `create(ListMcpResourcesRejectedSchema)` to create a new message.
1510
+ */
1511
+ export const ListMcpResourcesRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 299);
1512
+ /**
1513
+ * Describes the message agent.v1.ReadMcpResourceExecArgs.
1514
+ * Use `create(ReadMcpResourceExecArgsSchema)` to create a new message.
1515
+ */
1516
+ export const ReadMcpResourceExecArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 300);
1517
+ /**
1518
+ * Describes the message agent.v1.ReadMcpResourceExecResult.
1519
+ * Use `create(ReadMcpResourceExecResultSchema)` to create a new message.
1520
+ */
1521
+ export const ReadMcpResourceExecResultSchema = /*@__PURE__*/ messageDesc(file_agent, 301);
1522
+ /**
1523
+ * Describes the message agent.v1.ReadMcpResourceSuccess.
1524
+ * Use `create(ReadMcpResourceSuccessSchema)` to create a new message.
1525
+ */
1526
+ export const ReadMcpResourceSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 302);
1527
+ /**
1528
+ * Describes the message agent.v1.ReadMcpResourceError.
1529
+ * Use `create(ReadMcpResourceErrorSchema)` to create a new message.
1530
+ */
1531
+ export const ReadMcpResourceErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 303);
1532
+ /**
1533
+ * Describes the message agent.v1.ReadMcpResourceRejected.
1534
+ * Use `create(ReadMcpResourceRejectedSchema)` to create a new message.
1535
+ */
1536
+ export const ReadMcpResourceRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 304);
1537
+ /**
1538
+ * Describes the message agent.v1.ReadMcpResourceNotFound.
1539
+ * Use `create(ReadMcpResourceNotFoundSchema)` to create a new message.
1540
+ */
1541
+ export const ReadMcpResourceNotFoundSchema = /*@__PURE__*/ messageDesc(file_agent, 305);
1542
+ /**
1543
+ * Describes the message agent.v1.McpToolDefinition.
1544
+ * Use `create(McpToolDefinitionSchema)` to create a new message.
1545
+ */
1546
+ export const McpToolDefinitionSchema = /*@__PURE__*/ messageDesc(file_agent, 306);
1547
+ /**
1548
+ * Describes the message agent.v1.McpTools.
1549
+ * Use `create(McpToolsSchema)` to create a new message.
1550
+ */
1551
+ export const McpToolsSchema = /*@__PURE__*/ messageDesc(file_agent, 307);
1552
+ /**
1553
+ * Describes the message agent.v1.McpInstructions.
1554
+ * Use `create(McpInstructionsSchema)` to create a new message.
1555
+ */
1556
+ export const McpInstructionsSchema = /*@__PURE__*/ messageDesc(file_agent, 308);
1557
+ /**
1558
+ * Describes the message agent.v1.McpDescriptor.
1559
+ * Use `create(McpDescriptorSchema)` to create a new message.
1560
+ */
1561
+ export const McpDescriptorSchema = /*@__PURE__*/ messageDesc(file_agent, 309);
1562
+ /**
1563
+ * Describes the message agent.v1.McpToolDescriptor.
1564
+ * Use `create(McpToolDescriptorSchema)` to create a new message.
1565
+ */
1566
+ export const McpToolDescriptorSchema = /*@__PURE__*/ messageDesc(file_agent, 310);
1567
+ /**
1568
+ * Describes the message agent.v1.McpFileSystemOptions.
1569
+ * Use `create(McpFileSystemOptionsSchema)` to create a new message.
1570
+ */
1571
+ export const McpFileSystemOptionsSchema = /*@__PURE__*/ messageDesc(file_agent, 311);
1572
+ /**
1573
+ * Describes the message agent.v1.ReadArgs.
1574
+ * Use `create(ReadArgsSchema)` to create a new message.
1575
+ */
1576
+ export const ReadArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 312);
1577
+ /**
1578
+ * Describes the message agent.v1.ReadResult.
1579
+ * Use `create(ReadResultSchema)` to create a new message.
1580
+ */
1581
+ export const ReadResultSchema = /*@__PURE__*/ messageDesc(file_agent, 313);
1582
+ /**
1583
+ * Describes the message agent.v1.ReadSuccess.
1584
+ * Use `create(ReadSuccessSchema)` to create a new message.
1585
+ */
1586
+ export const ReadSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 314);
1587
+ /**
1588
+ * Describes the message agent.v1.ReadError.
1589
+ * Use `create(ReadErrorSchema)` to create a new message.
1590
+ */
1591
+ export const ReadErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 315);
1592
+ /**
1593
+ * Describes the message agent.v1.ReadRejected.
1594
+ * Use `create(ReadRejectedSchema)` to create a new message.
1595
+ */
1596
+ export const ReadRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 316);
1597
+ /**
1598
+ * Describes the message agent.v1.ReadFileNotFound.
1599
+ * Use `create(ReadFileNotFoundSchema)` to create a new message.
1600
+ */
1601
+ export const ReadFileNotFoundSchema = /*@__PURE__*/ messageDesc(file_agent, 317);
1602
+ /**
1603
+ * Describes the message agent.v1.ReadPermissionDenied.
1604
+ * Use `create(ReadPermissionDeniedSchema)` to create a new message.
1605
+ */
1606
+ export const ReadPermissionDeniedSchema = /*@__PURE__*/ messageDesc(file_agent, 318);
1607
+ /**
1608
+ * Describes the message agent.v1.ReadInvalidFile.
1609
+ * Use `create(ReadInvalidFileSchema)` to create a new message.
1610
+ */
1611
+ export const ReadInvalidFileSchema = /*@__PURE__*/ messageDesc(file_agent, 319);
1612
+ /**
1613
+ * Describes the message agent.v1.ReadToolCall.
1614
+ * Use `create(ReadToolCallSchema)` to create a new message.
1615
+ */
1616
+ export const ReadToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 320);
1617
+ /**
1618
+ * Describes the message agent.v1.ReadToolArgs.
1619
+ * Use `create(ReadToolArgsSchema)` to create a new message.
1620
+ */
1621
+ export const ReadToolArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 321);
1622
+ /**
1623
+ * Describes the message agent.v1.ReadToolResult.
1624
+ * Use `create(ReadToolResultSchema)` to create a new message.
1625
+ */
1626
+ export const ReadToolResultSchema = /*@__PURE__*/ messageDesc(file_agent, 322);
1627
+ /**
1628
+ * Describes the message agent.v1.ReadRange.
1629
+ * Use `create(ReadRangeSchema)` to create a new message.
1630
+ */
1631
+ export const ReadRangeSchema = /*@__PURE__*/ messageDesc(file_agent, 323);
1632
+ /**
1633
+ * Describes the message agent.v1.ReadToolSuccess.
1634
+ * Use `create(ReadToolSuccessSchema)` to create a new message.
1635
+ */
1636
+ export const ReadToolSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 324);
1637
+ /**
1638
+ * Describes the message agent.v1.ReadToolError.
1639
+ * Use `create(ReadToolErrorSchema)` to create a new message.
1640
+ */
1641
+ export const ReadToolErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 325);
1642
+ /**
1643
+ * Describes the message agent.v1.RecordScreenArgs.
1644
+ * Use `create(RecordScreenArgsSchema)` to create a new message.
1645
+ */
1646
+ export const RecordScreenArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 326);
1647
+ /**
1648
+ * Describes the message agent.v1.RecordScreenResult.
1649
+ * Use `create(RecordScreenResultSchema)` to create a new message.
1650
+ */
1651
+ export const RecordScreenResultSchema = /*@__PURE__*/ messageDesc(file_agent, 327);
1652
+ /**
1653
+ * Describes the message agent.v1.RecordScreenStartSuccess.
1654
+ * Use `create(RecordScreenStartSuccessSchema)` to create a new message.
1655
+ */
1656
+ export const RecordScreenStartSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 328);
1657
+ /**
1658
+ * Describes the message agent.v1.RecordScreenSaveSuccess.
1659
+ * Use `create(RecordScreenSaveSuccessSchema)` to create a new message.
1660
+ */
1661
+ export const RecordScreenSaveSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 329);
1662
+ /**
1663
+ * Describes the message agent.v1.RecordScreenDiscardSuccess.
1664
+ * Use `create(RecordScreenDiscardSuccessSchema)` to create a new message.
1665
+ */
1666
+ export const RecordScreenDiscardSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 330);
1667
+ /**
1668
+ * Describes the message agent.v1.RecordScreenFailure.
1669
+ * Use `create(RecordScreenFailureSchema)` to create a new message.
1670
+ */
1671
+ export const RecordScreenFailureSchema = /*@__PURE__*/ messageDesc(file_agent, 331);
1672
+ /**
1673
+ * Describes the message agent.v1.CursorPackagePrompt.
1674
+ * Use `create(CursorPackagePromptSchema)` to create a new message.
1675
+ */
1676
+ export const CursorPackagePromptSchema = /*@__PURE__*/ messageDesc(file_agent, 332);
1677
+ /**
1678
+ * Describes the message agent.v1.CursorPackage.
1679
+ * Use `create(CursorPackageSchema)` to create a new message.
1680
+ */
1681
+ export const CursorPackageSchema = /*@__PURE__*/ messageDesc(file_agent, 333);
1682
+ /**
1683
+ * Describes the message agent.v1.RepositoryIndexingInfo.
1684
+ * Use `create(RepositoryIndexingInfoSchema)` to create a new message.
1685
+ */
1686
+ export const RepositoryIndexingInfoSchema = /*@__PURE__*/ messageDesc(file_agent, 334);
1687
+ /**
1688
+ * Describes the message agent.v1.RequestContextArgs.
1689
+ * Use `create(RequestContextArgsSchema)` to create a new message.
1690
+ */
1691
+ export const RequestContextArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 335);
1692
+ /**
1693
+ * Describes the message agent.v1.RequestContextResult.
1694
+ * Use `create(RequestContextResultSchema)` to create a new message.
1695
+ */
1696
+ export const RequestContextResultSchema = /*@__PURE__*/ messageDesc(file_agent, 336);
1697
+ /**
1698
+ * Describes the message agent.v1.RequestContextSuccess.
1699
+ * Use `create(RequestContextSuccessSchema)` to create a new message.
1700
+ */
1701
+ export const RequestContextSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 337);
1702
+ /**
1703
+ * Describes the message agent.v1.RequestContextError.
1704
+ * Use `create(RequestContextErrorSchema)` to create a new message.
1705
+ */
1706
+ export const RequestContextErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 338);
1707
+ /**
1708
+ * Describes the message agent.v1.RequestContextRejected.
1709
+ * Use `create(RequestContextRejectedSchema)` to create a new message.
1710
+ */
1711
+ export const RequestContextRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 339);
1712
+ /**
1713
+ * Describes the message agent.v1.ImageProto.
1714
+ * Use `create(ImageProtoSchema)` to create a new message.
1715
+ */
1716
+ export const ImageProtoSchema = /*@__PURE__*/ messageDesc(file_agent, 340);
1717
+ /**
1718
+ * Describes the message agent.v1.ImageProto_Dimension.
1719
+ * Use `create(ImageProto_DimensionSchema)` to create a new message.
1720
+ */
1721
+ export const ImageProto_DimensionSchema = /*@__PURE__*/ messageDesc(file_agent, 341);
1722
+ /**
1723
+ * Describes the message agent.v1.GitRepoInfo.
1724
+ * Use `create(GitRepoInfoSchema)` to create a new message.
1725
+ */
1726
+ export const GitRepoInfoSchema = /*@__PURE__*/ messageDesc(file_agent, 342);
1727
+ /**
1728
+ * Describes the message agent.v1.RequestContextEnv.
1729
+ * Use `create(RequestContextEnvSchema)` to create a new message.
1730
+ */
1731
+ export const RequestContextEnvSchema = /*@__PURE__*/ messageDesc(file_agent, 343);
1732
+ /**
1733
+ * Describes the message agent.v1.DebugModeConfig.
1734
+ * Use `create(DebugModeConfigSchema)` to create a new message.
1735
+ */
1736
+ export const DebugModeConfigSchema = /*@__PURE__*/ messageDesc(file_agent, 344);
1737
+ /**
1738
+ * Describes the message agent.v1.SkillDescriptor.
1739
+ * Use `create(SkillDescriptorSchema)` to create a new message.
1740
+ */
1741
+ export const SkillDescriptorSchema = /*@__PURE__*/ messageDesc(file_agent, 345);
1742
+ /**
1743
+ * Describes the message agent.v1.SkillOptions.
1744
+ * Use `create(SkillOptionsSchema)` to create a new message.
1745
+ */
1746
+ export const SkillOptionsSchema = /*@__PURE__*/ messageDesc(file_agent, 346);
1747
+ /**
1748
+ * Describes the message agent.v1.RequestContext.
1749
+ * Use `create(RequestContextSchema)` to create a new message.
1750
+ */
1751
+ export const RequestContextSchema = /*@__PURE__*/ messageDesc(file_agent, 347);
1752
+ /**
1753
+ * Describes the message agent.v1.SandboxPolicy.
1754
+ * Use `create(SandboxPolicySchema)` to create a new message.
1755
+ */
1756
+ export const SandboxPolicySchema = /*@__PURE__*/ messageDesc(file_agent, 348);
1757
+ /**
1758
+ * Describes the message agent.v1.SelectedImage.
1759
+ * Use `create(SelectedImageSchema)` to create a new message.
1760
+ */
1761
+ export const SelectedImageSchema = /*@__PURE__*/ messageDesc(file_agent, 349);
1762
+ /**
1763
+ * Describes the message agent.v1.SelectedImage_BlobIdWithData.
1764
+ * Use `create(SelectedImage_BlobIdWithDataSchema)` to create a new message.
1765
+ */
1766
+ export const SelectedImage_BlobIdWithDataSchema = /*@__PURE__*/ messageDesc(file_agent, 350);
1767
+ /**
1768
+ * Describes the message agent.v1.SelectedImage_Dimension.
1769
+ * Use `create(SelectedImage_DimensionSchema)` to create a new message.
1770
+ */
1771
+ export const SelectedImage_DimensionSchema = /*@__PURE__*/ messageDesc(file_agent, 351);
1772
+ /**
1773
+ * Describes the message agent.v1.ExtraContextEntry.
1774
+ * Use `create(ExtraContextEntrySchema)` to create a new message.
1775
+ */
1776
+ export const ExtraContextEntrySchema = /*@__PURE__*/ messageDesc(file_agent, 352);
1777
+ /**
1778
+ * Describes the message agent.v1.SelectedFile.
1779
+ * Use `create(SelectedFileSchema)` to create a new message.
1780
+ */
1781
+ export const SelectedFileSchema = /*@__PURE__*/ messageDesc(file_agent, 353);
1782
+ /**
1783
+ * Describes the message agent.v1.SelectedCodeSelection.
1784
+ * Use `create(SelectedCodeSelectionSchema)` to create a new message.
1785
+ */
1786
+ export const SelectedCodeSelectionSchema = /*@__PURE__*/ messageDesc(file_agent, 354);
1787
+ /**
1788
+ * Describes the message agent.v1.SelectedTerminal.
1789
+ * Use `create(SelectedTerminalSchema)` to create a new message.
1790
+ */
1791
+ export const SelectedTerminalSchema = /*@__PURE__*/ messageDesc(file_agent, 355);
1792
+ /**
1793
+ * Describes the message agent.v1.SelectedTerminalSelection.
1794
+ * Use `create(SelectedTerminalSelectionSchema)` to create a new message.
1795
+ */
1796
+ export const SelectedTerminalSelectionSchema = /*@__PURE__*/ messageDesc(file_agent, 356);
1797
+ /**
1798
+ * Describes the message agent.v1.SelectedFolder.
1799
+ * Use `create(SelectedFolderSchema)` to create a new message.
1800
+ */
1801
+ export const SelectedFolderSchema = /*@__PURE__*/ messageDesc(file_agent, 357);
1802
+ /**
1803
+ * Describes the message agent.v1.SelectedExternalLink.
1804
+ * Use `create(SelectedExternalLinkSchema)` to create a new message.
1805
+ */
1806
+ export const SelectedExternalLinkSchema = /*@__PURE__*/ messageDesc(file_agent, 358);
1807
+ /**
1808
+ * Describes the message agent.v1.SelectedCursorRule.
1809
+ * Use `create(SelectedCursorRuleSchema)` to create a new message.
1810
+ */
1811
+ export const SelectedCursorRuleSchema = /*@__PURE__*/ messageDesc(file_agent, 359);
1812
+ /**
1813
+ * Describes the message agent.v1.SelectedGitDiff.
1814
+ * Use `create(SelectedGitDiffSchema)` to create a new message.
1815
+ */
1816
+ export const SelectedGitDiffSchema = /*@__PURE__*/ messageDesc(file_agent, 360);
1817
+ /**
1818
+ * Describes the message agent.v1.SelectedGitDiffFromBranchToMain.
1819
+ * Use `create(SelectedGitDiffFromBranchToMainSchema)` to create a new message.
1820
+ */
1821
+ export const SelectedGitDiffFromBranchToMainSchema = /*@__PURE__*/ messageDesc(file_agent, 361);
1822
+ /**
1823
+ * Describes the message agent.v1.SelectedGitCommit.
1824
+ * Use `create(SelectedGitCommitSchema)` to create a new message.
1825
+ */
1826
+ export const SelectedGitCommitSchema = /*@__PURE__*/ messageDesc(file_agent, 362);
1827
+ /**
1828
+ * Describes the message agent.v1.SelectedPullRequest.
1829
+ * Use `create(SelectedPullRequestSchema)` to create a new message.
1830
+ */
1831
+ export const SelectedPullRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 363);
1832
+ /**
1833
+ * Describes the message agent.v1.SelectedGitPRDiffSelection.
1834
+ * Use `create(SelectedGitPRDiffSelectionSchema)` to create a new message.
1835
+ */
1836
+ export const SelectedGitPRDiffSelectionSchema = /*@__PURE__*/ messageDesc(file_agent, 364);
1837
+ /**
1838
+ * Describes the message agent.v1.SelectedCursorCommand.
1839
+ * Use `create(SelectedCursorCommandSchema)` to create a new message.
1840
+ */
1841
+ export const SelectedCursorCommandSchema = /*@__PURE__*/ messageDesc(file_agent, 365);
1842
+ /**
1843
+ * Describes the message agent.v1.SelectedDocumentation.
1844
+ * Use `create(SelectedDocumentationSchema)` to create a new message.
1845
+ */
1846
+ export const SelectedDocumentationSchema = /*@__PURE__*/ messageDesc(file_agent, 366);
1847
+ /**
1848
+ * Describes the message agent.v1.SelectedPastChat.
1849
+ * Use `create(SelectedPastChatSchema)` to create a new message.
1850
+ */
1851
+ export const SelectedPastChatSchema = /*@__PURE__*/ messageDesc(file_agent, 367);
1852
+ /**
1853
+ * Describes the message agent.v1.CallFrame.
1854
+ * Use `create(CallFrameSchema)` to create a new message.
1855
+ */
1856
+ export const CallFrameSchema = /*@__PURE__*/ messageDesc(file_agent, 368);
1857
+ /**
1858
+ * Describes the message agent.v1.StackTrace.
1859
+ * Use `create(StackTraceSchema)` to create a new message.
1860
+ */
1861
+ export const StackTraceSchema = /*@__PURE__*/ messageDesc(file_agent, 369);
1862
+ /**
1863
+ * Describes the message agent.v1.SelectedConsoleLog.
1864
+ * Use `create(SelectedConsoleLogSchema)` to create a new message.
1865
+ */
1866
+ export const SelectedConsoleLogSchema = /*@__PURE__*/ messageDesc(file_agent, 370);
1867
+ /**
1868
+ * Describes the message agent.v1.SelectedUIElement.
1869
+ * Use `create(SelectedUIElementSchema)` to create a new message.
1870
+ */
1871
+ export const SelectedUIElementSchema = /*@__PURE__*/ messageDesc(file_agent, 371);
1872
+ /**
1873
+ * Describes the message agent.v1.SelectedSubagent.
1874
+ * Use `create(SelectedSubagentSchema)` to create a new message.
1875
+ */
1876
+ export const SelectedSubagentSchema = /*@__PURE__*/ messageDesc(file_agent, 372);
1877
+ /**
1878
+ * Describes the message agent.v1.SelectedContext.
1879
+ * Use `create(SelectedContextSchema)` to create a new message.
1880
+ */
1881
+ export const SelectedContextSchema = /*@__PURE__*/ messageDesc(file_agent, 373);
1882
+ /**
1883
+ * Describes the message agent.v1.InvocationContext.
1884
+ * Use `create(InvocationContextSchema)` to create a new message.
1885
+ */
1886
+ export const InvocationContextSchema = /*@__PURE__*/ messageDesc(file_agent, 374);
1887
+ /**
1888
+ * Describes the message agent.v1.InvocationContext_SlackThread.
1889
+ * Use `create(InvocationContext_SlackThreadSchema)` to create a new message.
1890
+ */
1891
+ export const InvocationContext_SlackThreadSchema = /*@__PURE__*/ messageDesc(file_agent, 375);
1892
+ /**
1893
+ * Describes the message agent.v1.InvocationContext_GithubPR.
1894
+ * Use `create(InvocationContext_GithubPRSchema)` to create a new message.
1895
+ */
1896
+ export const InvocationContext_GithubPRSchema = /*@__PURE__*/ messageDesc(file_agent, 376);
1897
+ /**
1898
+ * Describes the message agent.v1.InvocationContext_IdeState.
1899
+ * Use `create(InvocationContext_IdeStateSchema)` to create a new message.
1900
+ */
1901
+ export const InvocationContext_IdeStateSchema = /*@__PURE__*/ messageDesc(file_agent, 377);
1902
+ /**
1903
+ * Describes the message agent.v1.InvocationContext_IdeState_File.
1904
+ * Use `create(InvocationContext_IdeState_FileSchema)` to create a new message.
1905
+ */
1906
+ export const InvocationContext_IdeState_FileSchema = /*@__PURE__*/ messageDesc(file_agent, 378);
1907
+ /**
1908
+ * Describes the message agent.v1.InvocationContext_IdeState_File_CursorPosition.
1909
+ * Use `create(InvocationContext_IdeState_File_CursorPositionSchema)` to create a new message.
1910
+ */
1911
+ export const InvocationContext_IdeState_File_CursorPositionSchema = /*@__PURE__*/ messageDesc(file_agent, 379);
1912
+ /**
1913
+ * Describes the message agent.v1.InvocationContext_IdeState_ViewedPullRequest.
1914
+ * Use `create(InvocationContext_IdeState_ViewedPullRequestSchema)` to create a new message.
1915
+ */
1916
+ export const InvocationContext_IdeState_ViewedPullRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 380);
1917
+ /**
1918
+ * Describes the message agent.v1.SetupVmEnvironmentArgs.
1919
+ * Use `create(SetupVmEnvironmentArgsSchema)` to create a new message.
1920
+ */
1921
+ export const SetupVmEnvironmentArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 381);
1922
+ /**
1923
+ * Describes the message agent.v1.SetupVmEnvironmentResult.
1924
+ * Use `create(SetupVmEnvironmentResultSchema)` to create a new message.
1925
+ */
1926
+ export const SetupVmEnvironmentResultSchema = /*@__PURE__*/ messageDesc(file_agent, 382);
1927
+ /**
1928
+ * Describes the message agent.v1.SetupVmEnvironmentSuccess.
1929
+ * Use `create(SetupVmEnvironmentSuccessSchema)` to create a new message.
1930
+ */
1931
+ export const SetupVmEnvironmentSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 383);
1932
+ /**
1933
+ * Describes the message agent.v1.SetupVmEnvironmentToolCall.
1934
+ * Use `create(SetupVmEnvironmentToolCallSchema)` to create a new message.
1935
+ */
1936
+ export const SetupVmEnvironmentToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 384);
1937
+ /**
1938
+ * Describes the message agent.v1.ShellCommandParsingResult.
1939
+ * Use `create(ShellCommandParsingResultSchema)` to create a new message.
1940
+ */
1941
+ export const ShellCommandParsingResultSchema = /*@__PURE__*/ messageDesc(file_agent, 385);
1942
+ /**
1943
+ * Describes the message agent.v1.ShellCommandParsingResult_ExecutableCommandArg.
1944
+ * Use `create(ShellCommandParsingResult_ExecutableCommandArgSchema)` to create a new message.
1945
+ */
1946
+ export const ShellCommandParsingResult_ExecutableCommandArgSchema = /*@__PURE__*/ messageDesc(file_agent, 386);
1947
+ /**
1948
+ * Describes the message agent.v1.ShellCommandParsingResult_ExecutableCommand.
1949
+ * Use `create(ShellCommandParsingResult_ExecutableCommandSchema)` to create a new message.
1950
+ */
1951
+ export const ShellCommandParsingResult_ExecutableCommandSchema = /*@__PURE__*/ messageDesc(file_agent, 387);
1952
+ /**
1953
+ * Describes the message agent.v1.ShellArgs.
1954
+ * Use `create(ShellArgsSchema)` to create a new message.
1955
+ */
1956
+ export const ShellArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 388);
1957
+ /**
1958
+ * Describes the message agent.v1.ShellResult.
1959
+ * Use `create(ShellResultSchema)` to create a new message.
1960
+ */
1961
+ export const ShellResultSchema = /*@__PURE__*/ messageDesc(file_agent, 389);
1962
+ /**
1963
+ * Describes the message agent.v1.ShellStreamStdout.
1964
+ * Use `create(ShellStreamStdoutSchema)` to create a new message.
1965
+ */
1966
+ export const ShellStreamStdoutSchema = /*@__PURE__*/ messageDesc(file_agent, 390);
1967
+ /**
1968
+ * Describes the message agent.v1.ShellStreamStderr.
1969
+ * Use `create(ShellStreamStderrSchema)` to create a new message.
1970
+ */
1971
+ export const ShellStreamStderrSchema = /*@__PURE__*/ messageDesc(file_agent, 391);
1972
+ /**
1973
+ * Describes the message agent.v1.ShellStreamExit.
1974
+ * Use `create(ShellStreamExitSchema)` to create a new message.
1975
+ */
1976
+ export const ShellStreamExitSchema = /*@__PURE__*/ messageDesc(file_agent, 392);
1977
+ /**
1978
+ * Describes the message agent.v1.ShellStreamStart.
1979
+ * Use `create(ShellStreamStartSchema)` to create a new message.
1980
+ */
1981
+ export const ShellStreamStartSchema = /*@__PURE__*/ messageDesc(file_agent, 393);
1982
+ /**
1983
+ * Describes the message agent.v1.ShellStreamBackgrounded.
1984
+ * Use `create(ShellStreamBackgroundedSchema)` to create a new message.
1985
+ */
1986
+ export const ShellStreamBackgroundedSchema = /*@__PURE__*/ messageDesc(file_agent, 394);
1987
+ /**
1988
+ * Describes the message agent.v1.ShellStream.
1989
+ * Use `create(ShellStreamSchema)` to create a new message.
1990
+ */
1991
+ export const ShellStreamSchema = /*@__PURE__*/ messageDesc(file_agent, 395);
1992
+ /**
1993
+ * Describes the message agent.v1.OutputLocation.
1994
+ * Use `create(OutputLocationSchema)` to create a new message.
1995
+ */
1996
+ export const OutputLocationSchema = /*@__PURE__*/ messageDesc(file_agent, 396);
1997
+ /**
1998
+ * Describes the message agent.v1.ShellSuccess.
1999
+ * Use `create(ShellSuccessSchema)` to create a new message.
2000
+ */
2001
+ export const ShellSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 397);
2002
+ /**
2003
+ * Describes the message agent.v1.ShellFailure.
2004
+ * Use `create(ShellFailureSchema)` to create a new message.
2005
+ */
2006
+ export const ShellFailureSchema = /*@__PURE__*/ messageDesc(file_agent, 398);
2007
+ /**
2008
+ * Describes the message agent.v1.ShellTimeout.
2009
+ * Use `create(ShellTimeoutSchema)` to create a new message.
2010
+ */
2011
+ export const ShellTimeoutSchema = /*@__PURE__*/ messageDesc(file_agent, 399);
2012
+ /**
2013
+ * Describes the message agent.v1.ShellRejected.
2014
+ * Use `create(ShellRejectedSchema)` to create a new message.
2015
+ */
2016
+ export const ShellRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 400);
2017
+ /**
2018
+ * Describes the message agent.v1.ShellPermissionDenied.
2019
+ * Use `create(ShellPermissionDeniedSchema)` to create a new message.
2020
+ */
2021
+ export const ShellPermissionDeniedSchema = /*@__PURE__*/ messageDesc(file_agent, 401);
2022
+ /**
2023
+ * Describes the message agent.v1.ShellSpawnError.
2024
+ * Use `create(ShellSpawnErrorSchema)` to create a new message.
2025
+ */
2026
+ export const ShellSpawnErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 402);
2027
+ /**
2028
+ * Describes the message agent.v1.ShellPartialResult.
2029
+ * Use `create(ShellPartialResultSchema)` to create a new message.
2030
+ */
2031
+ export const ShellPartialResultSchema = /*@__PURE__*/ messageDesc(file_agent, 403);
2032
+ /**
2033
+ * Describes the message agent.v1.ShellToolCall.
2034
+ * Use `create(ShellToolCallSchema)` to create a new message.
2035
+ */
2036
+ export const ShellToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 404);
2037
+ /**
2038
+ * Describes the message agent.v1.ShellToolCallStdoutDelta.
2039
+ * Use `create(ShellToolCallStdoutDeltaSchema)` to create a new message.
2040
+ */
2041
+ export const ShellToolCallStdoutDeltaSchema = /*@__PURE__*/ messageDesc(file_agent, 405);
2042
+ /**
2043
+ * Describes the message agent.v1.ShellToolCallStderrDelta.
2044
+ * Use `create(ShellToolCallStderrDeltaSchema)` to create a new message.
2045
+ */
2046
+ export const ShellToolCallStderrDeltaSchema = /*@__PURE__*/ messageDesc(file_agent, 406);
2047
+ /**
2048
+ * Describes the message agent.v1.ShellToolCallDelta.
2049
+ * Use `create(ShellToolCallDeltaSchema)` to create a new message.
2050
+ */
2051
+ export const ShellToolCallDeltaSchema = /*@__PURE__*/ messageDesc(file_agent, 407);
2052
+ /**
2053
+ * Describes the message agent.v1.SubagentType.
2054
+ * Use `create(SubagentTypeSchema)` to create a new message.
2055
+ */
2056
+ export const SubagentTypeSchema = /*@__PURE__*/ messageDesc(file_agent, 408);
2057
+ /**
2058
+ * Describes the message agent.v1.SubagentTypeUnspecified.
2059
+ * Use `create(SubagentTypeUnspecifiedSchema)` to create a new message.
2060
+ */
2061
+ export const SubagentTypeUnspecifiedSchema = /*@__PURE__*/ messageDesc(file_agent, 409);
2062
+ /**
2063
+ * Describes the message agent.v1.SubagentTypeComputerUse.
2064
+ * Use `create(SubagentTypeComputerUseSchema)` to create a new message.
2065
+ */
2066
+ export const SubagentTypeComputerUseSchema = /*@__PURE__*/ messageDesc(file_agent, 410);
2067
+ /**
2068
+ * Describes the message agent.v1.SubagentTypeExplore.
2069
+ * Use `create(SubagentTypeExploreSchema)` to create a new message.
2070
+ */
2071
+ export const SubagentTypeExploreSchema = /*@__PURE__*/ messageDesc(file_agent, 411);
2072
+ /**
2073
+ * Describes the message agent.v1.SubagentTypeCustom.
2074
+ * Use `create(SubagentTypeCustomSchema)` to create a new message.
2075
+ */
2076
+ export const SubagentTypeCustomSchema = /*@__PURE__*/ messageDesc(file_agent, 412);
2077
+ /**
2078
+ * Describes the message agent.v1.CustomSubagent.
2079
+ * Use `create(CustomSubagentSchema)` to create a new message.
2080
+ */
2081
+ export const CustomSubagentSchema = /*@__PURE__*/ messageDesc(file_agent, 413);
2082
+ /**
2083
+ * Describes the message agent.v1.SwitchModeArgs.
2084
+ * Use `create(SwitchModeArgsSchema)` to create a new message.
2085
+ */
2086
+ export const SwitchModeArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 414);
2087
+ /**
2088
+ * Describes the message agent.v1.SwitchModeResult.
2089
+ * Use `create(SwitchModeResultSchema)` to create a new message.
2090
+ */
2091
+ export const SwitchModeResultSchema = /*@__PURE__*/ messageDesc(file_agent, 415);
2092
+ /**
2093
+ * Describes the message agent.v1.SwitchModeSuccess.
2094
+ * Use `create(SwitchModeSuccessSchema)` to create a new message.
2095
+ */
2096
+ export const SwitchModeSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 416);
2097
+ /**
2098
+ * Describes the message agent.v1.SwitchModeError.
2099
+ * Use `create(SwitchModeErrorSchema)` to create a new message.
2100
+ */
2101
+ export const SwitchModeErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 417);
2102
+ /**
2103
+ * Describes the message agent.v1.SwitchModeRejected.
2104
+ * Use `create(SwitchModeRejectedSchema)` to create a new message.
2105
+ */
2106
+ export const SwitchModeRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 418);
2107
+ /**
2108
+ * Describes the message agent.v1.SwitchModeToolCall.
2109
+ * Use `create(SwitchModeToolCallSchema)` to create a new message.
2110
+ */
2111
+ export const SwitchModeToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 419);
2112
+ /**
2113
+ * Describes the message agent.v1.SwitchModeRequestQuery.
2114
+ * Use `create(SwitchModeRequestQuerySchema)` to create a new message.
2115
+ */
2116
+ export const SwitchModeRequestQuerySchema = /*@__PURE__*/ messageDesc(file_agent, 420);
2117
+ /**
2118
+ * Describes the message agent.v1.SwitchModeRequestResponse.
2119
+ * Use `create(SwitchModeRequestResponseSchema)` to create a new message.
2120
+ */
2121
+ export const SwitchModeRequestResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 421);
2122
+ /**
2123
+ * Describes the message agent.v1.SwitchModeRequestResponse_Approved.
2124
+ * Use `create(SwitchModeRequestResponse_ApprovedSchema)` to create a new message.
2125
+ */
2126
+ export const SwitchModeRequestResponse_ApprovedSchema = /*@__PURE__*/ messageDesc(file_agent, 422);
2127
+ /**
2128
+ * Describes the message agent.v1.SwitchModeRequestResponse_Rejected.
2129
+ * Use `create(SwitchModeRequestResponse_RejectedSchema)` to create a new message.
2130
+ */
2131
+ export const SwitchModeRequestResponse_RejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 423);
2132
+ /**
2133
+ * Describes the message agent.v1.TodoItem.
2134
+ * Use `create(TodoItemSchema)` to create a new message.
2135
+ */
2136
+ export const TodoItemSchema = /*@__PURE__*/ messageDesc(file_agent, 424);
2137
+ /**
2138
+ * Describes the message agent.v1.UpdateTodosToolCall.
2139
+ * Use `create(UpdateTodosToolCallSchema)` to create a new message.
2140
+ */
2141
+ export const UpdateTodosToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 425);
2142
+ /**
2143
+ * Describes the message agent.v1.UpdateTodosArgs.
2144
+ * Use `create(UpdateTodosArgsSchema)` to create a new message.
2145
+ */
2146
+ export const UpdateTodosArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 426);
2147
+ /**
2148
+ * Describes the message agent.v1.UpdateTodosResult.
2149
+ * Use `create(UpdateTodosResultSchema)` to create a new message.
2150
+ */
2151
+ export const UpdateTodosResultSchema = /*@__PURE__*/ messageDesc(file_agent, 427);
2152
+ /**
2153
+ * Describes the message agent.v1.UpdateTodosSuccess.
2154
+ * Use `create(UpdateTodosSuccessSchema)` to create a new message.
2155
+ */
2156
+ export const UpdateTodosSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 428);
2157
+ /**
2158
+ * Describes the message agent.v1.UpdateTodosError.
2159
+ * Use `create(UpdateTodosErrorSchema)` to create a new message.
2160
+ */
2161
+ export const UpdateTodosErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 429);
2162
+ /**
2163
+ * Describes the message agent.v1.ReadTodosToolCall.
2164
+ * Use `create(ReadTodosToolCallSchema)` to create a new message.
2165
+ */
2166
+ export const ReadTodosToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 430);
2167
+ /**
2168
+ * Describes the message agent.v1.ReadTodosArgs.
2169
+ * Use `create(ReadTodosArgsSchema)` to create a new message.
2170
+ */
2171
+ export const ReadTodosArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 431);
2172
+ /**
2173
+ * Describes the message agent.v1.ReadTodosResult.
2174
+ * Use `create(ReadTodosResultSchema)` to create a new message.
2175
+ */
2176
+ export const ReadTodosResultSchema = /*@__PURE__*/ messageDesc(file_agent, 432);
2177
+ /**
2178
+ * Describes the message agent.v1.ReadTodosSuccess.
2179
+ * Use `create(ReadTodosSuccessSchema)` to create a new message.
2180
+ */
2181
+ export const ReadTodosSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 433);
2182
+ /**
2183
+ * Describes the message agent.v1.ReadTodosError.
2184
+ * Use `create(ReadTodosErrorSchema)` to create a new message.
2185
+ */
2186
+ export const ReadTodosErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 434);
2187
+ /**
2188
+ * Describes the message agent.v1.Range.
2189
+ * Use `create(RangeSchema)` to create a new message.
2190
+ */
2191
+ export const RangeSchema = /*@__PURE__*/ messageDesc(file_agent, 435);
2192
+ /**
2193
+ * Describes the message agent.v1.Position.
2194
+ * Use `create(PositionSchema)` to create a new message.
2195
+ */
2196
+ export const PositionSchema = /*@__PURE__*/ messageDesc(file_agent, 436);
2197
+ /**
2198
+ * Describes the message agent.v1.Error.
2199
+ * Use `create(ErrorSchema)` to create a new message.
2200
+ */
2201
+ export const ErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 437);
2202
+ /**
2203
+ * Describes the message agent.v1.WebSearchArgs.
2204
+ * Use `create(WebSearchArgsSchema)` to create a new message.
2205
+ */
2206
+ export const WebSearchArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 438);
2207
+ /**
2208
+ * Describes the message agent.v1.WebSearchResult.
2209
+ * Use `create(WebSearchResultSchema)` to create a new message.
2210
+ */
2211
+ export const WebSearchResultSchema = /*@__PURE__*/ messageDesc(file_agent, 439);
2212
+ /**
2213
+ * Describes the message agent.v1.WebSearchSuccess.
2214
+ * Use `create(WebSearchSuccessSchema)` to create a new message.
2215
+ */
2216
+ export const WebSearchSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 440);
2217
+ /**
2218
+ * Describes the message agent.v1.WebSearchError.
2219
+ * Use `create(WebSearchErrorSchema)` to create a new message.
2220
+ */
2221
+ export const WebSearchErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 441);
2222
+ /**
2223
+ * Describes the message agent.v1.WebSearchRejected.
2224
+ * Use `create(WebSearchRejectedSchema)` to create a new message.
2225
+ */
2226
+ export const WebSearchRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 442);
2227
+ /**
2228
+ * Describes the message agent.v1.WebSearchReference.
2229
+ * Use `create(WebSearchReferenceSchema)` to create a new message.
2230
+ */
2231
+ export const WebSearchReferenceSchema = /*@__PURE__*/ messageDesc(file_agent, 443);
2232
+ /**
2233
+ * Describes the message agent.v1.WebSearchToolCall.
2234
+ * Use `create(WebSearchToolCallSchema)` to create a new message.
2235
+ */
2236
+ export const WebSearchToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 444);
2237
+ /**
2238
+ * Describes the message agent.v1.WebSearchRequestQuery.
2239
+ * Use `create(WebSearchRequestQuerySchema)` to create a new message.
2240
+ */
2241
+ export const WebSearchRequestQuerySchema = /*@__PURE__*/ messageDesc(file_agent, 445);
2242
+ /**
2243
+ * Describes the message agent.v1.WebSearchRequestResponse.
2244
+ * Use `create(WebSearchRequestResponseSchema)` to create a new message.
2245
+ */
2246
+ export const WebSearchRequestResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 446);
2247
+ /**
2248
+ * Describes the message agent.v1.WebSearchRequestResponse_Approved.
2249
+ * Use `create(WebSearchRequestResponse_ApprovedSchema)` to create a new message.
2250
+ */
2251
+ export const WebSearchRequestResponse_ApprovedSchema = /*@__PURE__*/ messageDesc(file_agent, 447);
2252
+ /**
2253
+ * Describes the message agent.v1.WebSearchRequestResponse_Rejected.
2254
+ * Use `create(WebSearchRequestResponse_RejectedSchema)` to create a new message.
2255
+ */
2256
+ export const WebSearchRequestResponse_RejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 448);
2257
+ /**
2258
+ * Describes the message agent.v1.WriteArgs.
2259
+ * Use `create(WriteArgsSchema)` to create a new message.
2260
+ */
2261
+ export const WriteArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 449);
2262
+ /**
2263
+ * Describes the message agent.v1.WriteResult.
2264
+ * Use `create(WriteResultSchema)` to create a new message.
2265
+ */
2266
+ export const WriteResultSchema = /*@__PURE__*/ messageDesc(file_agent, 450);
2267
+ /**
2268
+ * Describes the message agent.v1.WriteSuccess.
2269
+ * Use `create(WriteSuccessSchema)` to create a new message.
2270
+ */
2271
+ export const WriteSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 451);
2272
+ /**
2273
+ * Describes the message agent.v1.WritePermissionDenied.
2274
+ * Use `create(WritePermissionDeniedSchema)` to create a new message.
2275
+ */
2276
+ export const WritePermissionDeniedSchema = /*@__PURE__*/ messageDesc(file_agent, 452);
2277
+ /**
2278
+ * Describes the message agent.v1.WriteNoSpace.
2279
+ * Use `create(WriteNoSpaceSchema)` to create a new message.
2280
+ */
2281
+ export const WriteNoSpaceSchema = /*@__PURE__*/ messageDesc(file_agent, 453);
2282
+ /**
2283
+ * Describes the message agent.v1.WriteError.
2284
+ * Use `create(WriteErrorSchema)` to create a new message.
2285
+ */
2286
+ export const WriteErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 454);
2287
+ /**
2288
+ * Describes the message agent.v1.WriteRejected.
2289
+ * Use `create(WriteRejectedSchema)` to create a new message.
2290
+ */
2291
+ export const WriteRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 455);
2292
+ /**
2293
+ * Describes the message agent.v1.BootstrapStatsigRequest.
2294
+ * Use `create(BootstrapStatsigRequestSchema)` to create a new message.
2295
+ */
2296
+ export const BootstrapStatsigRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 456);
2297
+ /**
2298
+ * Describes the message agent.v1.PingResponse.
2299
+ * Use `create(PingResponseSchema)` to create a new message.
2300
+ */
2301
+ export const PingResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 457);
2302
+ /**
2303
+ * Describes the message agent.v1.ExecRequest.
2304
+ * Use `create(ExecRequestSchema)` to create a new message.
2305
+ */
2306
+ export const ExecRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 458);
2307
+ /**
2308
+ * Describes the message agent.v1.ExecResponse.
2309
+ * Use `create(ExecResponseSchema)` to create a new message.
2310
+ */
2311
+ export const ExecResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 459);
2312
+ /**
2313
+ * Describes the message agent.v1.StdoutEvent.
2314
+ * Use `create(StdoutEventSchema)` to create a new message.
2315
+ */
2316
+ export const StdoutEventSchema = /*@__PURE__*/ messageDesc(file_agent, 460);
2317
+ /**
2318
+ * Describes the message agent.v1.StderrEvent.
2319
+ * Use `create(StderrEventSchema)` to create a new message.
2320
+ */
2321
+ export const StderrEventSchema = /*@__PURE__*/ messageDesc(file_agent, 461);
2322
+ /**
2323
+ * Describes the message agent.v1.ExitEvent.
2324
+ * Use `create(ExitEventSchema)` to create a new message.
2325
+ */
2326
+ export const ExitEventSchema = /*@__PURE__*/ messageDesc(file_agent, 462);
2327
+ /**
2328
+ * Describes the message agent.v1.ReadTextFileRequest.
2329
+ * Use `create(ReadTextFileRequestSchema)` to create a new message.
2330
+ */
2331
+ export const ReadTextFileRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 463);
2332
+ /**
2333
+ * Describes the message agent.v1.ReadTextFileResponse.
2334
+ * Use `create(ReadTextFileResponseSchema)` to create a new message.
2335
+ */
2336
+ export const ReadTextFileResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 464);
2337
+ /**
2338
+ * Describes the message agent.v1.WriteTextFileRequest.
2339
+ * Use `create(WriteTextFileRequestSchema)` to create a new message.
2340
+ */
2341
+ export const WriteTextFileRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 465);
2342
+ /**
2343
+ * Describes the message agent.v1.WriteTextFileResponse.
2344
+ * Use `create(WriteTextFileResponseSchema)` to create a new message.
2345
+ */
2346
+ export const WriteTextFileResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 466);
2347
+ /**
2348
+ * Describes the message agent.v1.ReadBinaryFileRequest.
2349
+ * Use `create(ReadBinaryFileRequestSchema)` to create a new message.
2350
+ */
2351
+ export const ReadBinaryFileRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 467);
2352
+ /**
2353
+ * Describes the message agent.v1.ReadBinaryFileResponse.
2354
+ * Use `create(ReadBinaryFileResponseSchema)` to create a new message.
2355
+ */
2356
+ export const ReadBinaryFileResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 468);
2357
+ /**
2358
+ * Describes the message agent.v1.WriteBinaryFileRequest.
2359
+ * Use `create(WriteBinaryFileRequestSchema)` to create a new message.
2360
+ */
2361
+ export const WriteBinaryFileRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 469);
2362
+ /**
2363
+ * Describes the message agent.v1.WriteBinaryFileResponse.
2364
+ * Use `create(WriteBinaryFileResponseSchema)` to create a new message.
2365
+ */
2366
+ export const WriteBinaryFileResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 470);
2367
+ /**
2368
+ * Describes the message agent.v1.GetWorkspaceChangesHashRequest.
2369
+ * Use `create(GetWorkspaceChangesHashRequestSchema)` to create a new message.
2370
+ */
2371
+ export const GetWorkspaceChangesHashRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 471);
2372
+ /**
2373
+ * Describes the message agent.v1.GetWorkspaceChangesHashResponse.
2374
+ * Use `create(GetWorkspaceChangesHashResponseSchema)` to create a new message.
2375
+ */
2376
+ export const GetWorkspaceChangesHashResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 472);
2377
+ /**
2378
+ * Describes the message agent.v1.RefreshGithubAccessTokenRequest.
2379
+ * Use `create(RefreshGithubAccessTokenRequestSchema)` to create a new message.
2380
+ */
2381
+ export const RefreshGithubAccessTokenRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 473);
2382
+ /**
2383
+ * Describes the message agent.v1.RefreshGithubAccessTokenResponse.
2384
+ * Use `create(RefreshGithubAccessTokenResponseSchema)` to create a new message.
2385
+ */
2386
+ export const RefreshGithubAccessTokenResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 474);
2387
+ /**
2388
+ * Describes the message agent.v1.WarmRemoteAccessServerRequest.
2389
+ * Use `create(WarmRemoteAccessServerRequestSchema)` to create a new message.
2390
+ */
2391
+ export const WarmRemoteAccessServerRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 475);
2392
+ /**
2393
+ * Describes the message agent.v1.WarmRemoteAccessServerResponse.
2394
+ * Use `create(WarmRemoteAccessServerResponseSchema)` to create a new message.
2395
+ */
2396
+ export const WarmRemoteAccessServerResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 476);
2397
+ /**
2398
+ * Describes the message agent.v1.ListArtifactsRequest.
2399
+ * Use `create(ListArtifactsRequestSchema)` to create a new message.
2400
+ */
2401
+ export const ListArtifactsRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 477);
2402
+ /**
2403
+ * Describes the message agent.v1.ArtifactUploadMetadata.
2404
+ * Use `create(ArtifactUploadMetadataSchema)` to create a new message.
2405
+ */
2406
+ export const ArtifactUploadMetadataSchema = /*@__PURE__*/ messageDesc(file_agent, 478);
2407
+ /**
2408
+ * Describes the message agent.v1.ListArtifactsResponse.
2409
+ * Use `create(ListArtifactsResponseSchema)` to create a new message.
2410
+ */
2411
+ export const ListArtifactsResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 479);
2412
+ /**
2413
+ * Describes the message agent.v1.UploadArtifactsRequest.
2414
+ * Use `create(UploadArtifactsRequestSchema)` to create a new message.
2415
+ */
2416
+ export const UploadArtifactsRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 480);
2417
+ /**
2418
+ * Describes the message agent.v1.ArtifactUploadInstruction.
2419
+ * Use `create(ArtifactUploadInstructionSchema)` to create a new message.
2420
+ */
2421
+ export const ArtifactUploadInstructionSchema = /*@__PURE__*/ messageDesc(file_agent, 481);
2422
+ /**
2423
+ * Describes the message agent.v1.ArtifactUploadDispatchResult.
2424
+ * Use `create(ArtifactUploadDispatchResultSchema)` to create a new message.
2425
+ */
2426
+ export const ArtifactUploadDispatchResultSchema = /*@__PURE__*/ messageDesc(file_agent, 482);
2427
+ /**
2428
+ * Describes the message agent.v1.UploadArtifactsResponse.
2429
+ * Use `create(UploadArtifactsResponseSchema)` to create a new message.
2430
+ */
2431
+ export const UploadArtifactsResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 483);
2432
+ /**
2433
+ * Describes the message agent.v1.GetMcpRefreshTokensRequest.
2434
+ * Use `create(GetMcpRefreshTokensRequestSchema)` to create a new message.
2435
+ */
2436
+ export const GetMcpRefreshTokensRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 484);
2437
+ /**
2438
+ * Describes the message agent.v1.GetMcpRefreshTokensResponse.
2439
+ * Use `create(GetMcpRefreshTokensResponseSchema)` to create a new message.
2440
+ */
2441
+ export const GetMcpRefreshTokensResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 485);
2442
+ /**
2443
+ * Describes the message agent.v1.UpdateEnvironmentVariablesRequest.
2444
+ * Use `create(UpdateEnvironmentVariablesRequestSchema)` to create a new message.
2445
+ */
2446
+ export const UpdateEnvironmentVariablesRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 486);
2447
+ /**
2448
+ * Describes the message agent.v1.UpdateEnvironmentVariablesResponse.
2449
+ * Use `create(UpdateEnvironmentVariablesResponseSchema)` to create a new message.
2450
+ */
2451
+ export const UpdateEnvironmentVariablesResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 487);
2452
+ /**
2453
+ * Describes the message agent.v1.McpOAuthStoredData.
2454
+ * Use `create(McpOAuthStoredDataSchema)` to create a new message.
2455
+ */
2456
+ export const McpOAuthStoredDataSchema = /*@__PURE__*/ messageDesc(file_agent, 488);
2457
+ /**
2458
+ * Describes the message agent.v1.Frame.
2459
+ * Use `create(FrameSchema)` to create a new message.
2460
+ */
2461
+ export const FrameSchema = /*@__PURE__*/ messageDesc(file_agent, 489);
2462
+ /**
2463
+ * Describes the message agent.v1.Empty.
2464
+ * Use `create(EmptySchema)` to create a new message.
2465
+ */
2466
+ export const EmptySchema = /*@__PURE__*/ messageDesc(file_agent, 490);
2467
+ /**
2468
+ * Describes the message agent.v1.BidiRequestId.
2469
+ * Use `create(BidiRequestIdSchema)` to create a new message.
2470
+ */
2471
+ export const BidiRequestIdSchema = /*@__PURE__*/ messageDesc(file_agent, 491);
2472
+ /**
2473
+ * Describes the message agent.v1.PiTruncation.
2474
+ * Use `create(PiTruncationSchema)` to create a new message.
2475
+ */
2476
+ export const PiTruncationSchema = /*@__PURE__*/ messageDesc(file_agent, 492);
2477
+ /**
2478
+ * Describes the message agent.v1.PiEditReplacement.
2479
+ * Use `create(PiEditReplacementSchema)` to create a new message.
2480
+ */
2481
+ export const PiEditReplacementSchema = /*@__PURE__*/ messageDesc(file_agent, 493);
2482
+ /**
2483
+ * Describes the message agent.v1.PiReadExecArgs.
2484
+ * Use `create(PiReadExecArgsSchema)` to create a new message.
2485
+ */
2486
+ export const PiReadExecArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 494);
2487
+ /**
2488
+ * Describes the message agent.v1.PiReadExecSuccess.
2489
+ * Use `create(PiReadExecSuccessSchema)` to create a new message.
2490
+ */
2491
+ export const PiReadExecSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 495);
2492
+ /**
2493
+ * Describes the message agent.v1.PiReadExecError.
2494
+ * Use `create(PiReadExecErrorSchema)` to create a new message.
2495
+ */
2496
+ export const PiReadExecErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 496);
2497
+ /**
2498
+ * Describes the message agent.v1.PiReadExecResult.
2499
+ * Use `create(PiReadExecResultSchema)` to create a new message.
2500
+ */
2501
+ export const PiReadExecResultSchema = /*@__PURE__*/ messageDesc(file_agent, 497);
2502
+ /**
2503
+ * Describes the message agent.v1.PiBashExecArgs.
2504
+ * Use `create(PiBashExecArgsSchema)` to create a new message.
2505
+ */
2506
+ export const PiBashExecArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 498);
2507
+ /**
2508
+ * Describes the message agent.v1.PiBashExecSuccess.
2509
+ * Use `create(PiBashExecSuccessSchema)` to create a new message.
2510
+ */
2511
+ export const PiBashExecSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 499);
2512
+ /**
2513
+ * Describes the message agent.v1.PiBashExecError.
2514
+ * Use `create(PiBashExecErrorSchema)` to create a new message.
2515
+ */
2516
+ export const PiBashExecErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 500);
2517
+ /**
2518
+ * Describes the message agent.v1.PiBashExecResult.
2519
+ * Use `create(PiBashExecResultSchema)` to create a new message.
2520
+ */
2521
+ export const PiBashExecResultSchema = /*@__PURE__*/ messageDesc(file_agent, 501);
2522
+ /**
2523
+ * Describes the message agent.v1.PiEditExecArgs.
2524
+ * Use `create(PiEditExecArgsSchema)` to create a new message.
2525
+ */
2526
+ export const PiEditExecArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 502);
2527
+ /**
2528
+ * Describes the message agent.v1.PiEditExecSuccess.
2529
+ * Use `create(PiEditExecSuccessSchema)` to create a new message.
2530
+ */
2531
+ export const PiEditExecSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 503);
2532
+ /**
2533
+ * Describes the message agent.v1.PiEditExecError.
2534
+ * Use `create(PiEditExecErrorSchema)` to create a new message.
2535
+ */
2536
+ export const PiEditExecErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 504);
2537
+ /**
2538
+ * Describes the message agent.v1.PiEditExecRejected.
2539
+ * Use `create(PiEditExecRejectedSchema)` to create a new message.
2540
+ */
2541
+ export const PiEditExecRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 505);
2542
+ /**
2543
+ * Describes the message agent.v1.PiEditExecResult.
2544
+ * Use `create(PiEditExecResultSchema)` to create a new message.
2545
+ */
2546
+ export const PiEditExecResultSchema = /*@__PURE__*/ messageDesc(file_agent, 506);
2547
+ /**
2548
+ * Describes the message agent.v1.PiWriteExecArgs.
2549
+ * Use `create(PiWriteExecArgsSchema)` to create a new message.
2550
+ */
2551
+ export const PiWriteExecArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 507);
2552
+ /**
2553
+ * Describes the message agent.v1.PiWriteExecSuccess.
2554
+ * Use `create(PiWriteExecSuccessSchema)` to create a new message.
2555
+ */
2556
+ export const PiWriteExecSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 508);
2557
+ /**
2558
+ * Describes the message agent.v1.PiWriteExecError.
2559
+ * Use `create(PiWriteExecErrorSchema)` to create a new message.
2560
+ */
2561
+ export const PiWriteExecErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 509);
2562
+ /**
2563
+ * Describes the message agent.v1.PiWriteExecRejected.
2564
+ * Use `create(PiWriteExecRejectedSchema)` to create a new message.
2565
+ */
2566
+ export const PiWriteExecRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 510);
2567
+ /**
2568
+ * Describes the message agent.v1.PiWriteExecResult.
2569
+ * Use `create(PiWriteExecResultSchema)` to create a new message.
2570
+ */
2571
+ export const PiWriteExecResultSchema = /*@__PURE__*/ messageDesc(file_agent, 511);
2572
+ /**
2573
+ * Describes the message agent.v1.PiGrepExecArgs.
2574
+ * Use `create(PiGrepExecArgsSchema)` to create a new message.
2575
+ */
2576
+ export const PiGrepExecArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 512);
2577
+ /**
2578
+ * Describes the message agent.v1.PiGrepExecSuccess.
2579
+ * Use `create(PiGrepExecSuccessSchema)` to create a new message.
2580
+ */
2581
+ export const PiGrepExecSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 513);
2582
+ /**
2583
+ * Describes the message agent.v1.PiGrepExecError.
2584
+ * Use `create(PiGrepExecErrorSchema)` to create a new message.
2585
+ */
2586
+ export const PiGrepExecErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 514);
2587
+ /**
2588
+ * Describes the message agent.v1.PiGrepExecResult.
2589
+ * Use `create(PiGrepExecResultSchema)` to create a new message.
2590
+ */
2591
+ export const PiGrepExecResultSchema = /*@__PURE__*/ messageDesc(file_agent, 515);
2592
+ /**
2593
+ * Describes the message agent.v1.PiFindExecArgs.
2594
+ * Use `create(PiFindExecArgsSchema)` to create a new message.
2595
+ */
2596
+ export const PiFindExecArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 516);
2597
+ /**
2598
+ * Describes the message agent.v1.PiFindExecSuccess.
2599
+ * Use `create(PiFindExecSuccessSchema)` to create a new message.
2600
+ */
2601
+ export const PiFindExecSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 517);
2602
+ /**
2603
+ * Describes the message agent.v1.PiFindExecError.
2604
+ * Use `create(PiFindExecErrorSchema)` to create a new message.
2605
+ */
2606
+ export const PiFindExecErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 518);
2607
+ /**
2608
+ * Describes the message agent.v1.PiFindExecResult.
2609
+ * Use `create(PiFindExecResultSchema)` to create a new message.
2610
+ */
2611
+ export const PiFindExecResultSchema = /*@__PURE__*/ messageDesc(file_agent, 519);
2612
+ /**
2613
+ * Describes the message agent.v1.PiLsExecArgs.
2614
+ * Use `create(PiLsExecArgsSchema)` to create a new message.
2615
+ */
2616
+ export const PiLsExecArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 520);
2617
+ /**
2618
+ * Describes the message agent.v1.PiLsExecSuccess.
2619
+ * Use `create(PiLsExecSuccessSchema)` to create a new message.
2620
+ */
2621
+ export const PiLsExecSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 521);
2622
+ /**
2623
+ * Describes the message agent.v1.PiLsExecError.
2624
+ * Use `create(PiLsExecErrorSchema)` to create a new message.
2625
+ */
2626
+ export const PiLsExecErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 522);
2627
+ /**
2628
+ * Describes the message agent.v1.PiLsExecResult.
2629
+ * Use `create(PiLsExecResultSchema)` to create a new message.
2630
+ */
2631
+ export const PiLsExecResultSchema = /*@__PURE__*/ messageDesc(file_agent, 523);
2632
+ /**
2633
+ * Describes the message agent.v1.McpServerNotFound.
2634
+ * Use `create(McpServerNotFoundSchema)` to create a new message.
2635
+ */
2636
+ export const McpServerNotFoundSchema = /*@__PURE__*/ messageDesc(file_agent, 524);
2637
+ /**
2638
+ * Describes the message agent.v1.McpApproved.
2639
+ * Use `create(McpApprovedSchema)` to create a new message.
2640
+ */
2641
+ export const McpApprovedSchema = /*@__PURE__*/ messageDesc(file_agent, 525);
2642
+ /**
2643
+ * Describes the message agent.v1.McpStateExecArgs.
2644
+ * Use `create(McpStateExecArgsSchema)` to create a new message.
2645
+ */
2646
+ export const McpStateExecArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 526);
2647
+ /**
2648
+ * Describes the message agent.v1.McpStateServer.
2649
+ * Use `create(McpStateServerSchema)` to create a new message.
2650
+ */
2651
+ export const McpStateServerSchema = /*@__PURE__*/ messageDesc(file_agent, 527);
2652
+ /**
2653
+ * Describes the message agent.v1.McpStateSuccess.
2654
+ * Use `create(McpStateSuccessSchema)` to create a new message.
2655
+ */
2656
+ export const McpStateSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 528);
2657
+ /**
2658
+ * Describes the message agent.v1.McpStateError.
2659
+ * Use `create(McpStateErrorSchema)` to create a new message.
2660
+ */
2661
+ export const McpStateErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 529);
2662
+ /**
2663
+ * Describes the message agent.v1.McpStateRejected.
2664
+ * Use `create(McpStateRejectedSchema)` to create a new message.
2665
+ */
2666
+ export const McpStateRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 530);
2667
+ /**
2668
+ * Describes the message agent.v1.McpStateExecResult.
2669
+ * Use `create(McpStateExecResultSchema)` to create a new message.
2670
+ */
2671
+ export const McpStateExecResultSchema = /*@__PURE__*/ messageDesc(file_agent, 531);
2672
+ /**
2673
+ * Describes the message agent.v1.CommandClassifierResult_ClassifiedCommand.
2674
+ * Use `create(CommandClassifierResult_ClassifiedCommandSchema)` to create a new message.
2675
+ */
2676
+ export const CommandClassifierResult_ClassifiedCommandSchema = /*@__PURE__*/ messageDesc(file_agent, 532);
2677
+ /**
2678
+ * Describes the message agent.v1.CommandClassifierResult.
2679
+ * Use `create(CommandClassifierResultSchema)` to create a new message.
2680
+ */
2681
+ export const CommandClassifierResultSchema = /*@__PURE__*/ messageDesc(file_agent, 533);
2682
+ /**
2683
+ * Describes the message agent.v1.ShellCommandParsingResult_Redirect.
2684
+ * Use `create(ShellCommandParsingResult_RedirectSchema)` to create a new message.
2685
+ */
2686
+ export const ShellCommandParsingResult_RedirectSchema = /*@__PURE__*/ messageDesc(file_agent, 534);
2687
+ /**
2688
+ * Describes the message agent.v1.ShellAllowlistPrecheckArgs.
2689
+ * Use `create(ShellAllowlistPrecheckArgsSchema)` to create a new message.
2690
+ */
2691
+ export const ShellAllowlistPrecheckArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 535);
2692
+ /**
2693
+ * Describes the message agent.v1.ShellAllowlistPrecheckResult.
2694
+ * Use `create(ShellAllowlistPrecheckResultSchema)` to create a new message.
2695
+ */
2696
+ export const ShellAllowlistPrecheckResultSchema = /*@__PURE__*/ messageDesc(file_agent, 536);
2697
+ /**
2698
+ * Describes the message agent.v1.McpAllowlistPrecheckArgs.
2699
+ * Use `create(McpAllowlistPrecheckArgsSchema)` to create a new message.
2700
+ */
2701
+ export const McpAllowlistPrecheckArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 537);
2702
+ /**
2703
+ * Describes the message agent.v1.McpAllowlistPrecheckResult.
2704
+ * Use `create(McpAllowlistPrecheckResultSchema)` to create a new message.
2705
+ */
2706
+ export const McpAllowlistPrecheckResultSchema = /*@__PURE__*/ messageDesc(file_agent, 538);
2707
+ /**
2708
+ * Describes the message agent.v1.WebFetchAllowlistPrecheckArgs.
2709
+ * Use `create(WebFetchAllowlistPrecheckArgsSchema)` to create a new message.
2710
+ */
2711
+ export const WebFetchAllowlistPrecheckArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 539);
2712
+ /**
2713
+ * Describes the message agent.v1.WebFetchAllowlistPrecheckResult.
2714
+ * Use `create(WebFetchAllowlistPrecheckResultSchema)` to create a new message.
2715
+ */
2716
+ export const WebFetchAllowlistPrecheckResultSchema = /*@__PURE__*/ messageDesc(file_agent, 540);
2717
+ /**
2718
+ * Describes the message agent.v1.SmartModeApproval.
2719
+ * Use `create(SmartModeApprovalSchema)` to create a new message.
2720
+ */
2721
+ export const SmartModeApprovalSchema = /*@__PURE__*/ messageDesc(file_agent, 541);
2722
+ /**
2723
+ * Describes the message agent.v1.ShellOutputNotificationConfig.
2724
+ * Use `create(ShellOutputNotificationConfigSchema)` to create a new message.
2725
+ */
2726
+ export const ShellOutputNotificationConfigSchema = /*@__PURE__*/ messageDesc(file_agent, 542);
2727
+ /**
2728
+ * Describes the message agent.v1.ShellHookApprovalRequirement.
2729
+ * Use `create(ShellHookApprovalRequirementSchema)` to create a new message.
2730
+ */
2731
+ export const ShellHookApprovalRequirementSchema = /*@__PURE__*/ messageDesc(file_agent, 543);
2732
+ /**
2733
+ * Describes the message agent.v1.ForceBackgroundShellArgs.
2734
+ * Use `create(ForceBackgroundShellArgsSchema)` to create a new message.
2735
+ */
2736
+ export const ForceBackgroundShellArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 544);
2737
+ /**
2738
+ * Describes the message agent.v1.ForceBackgroundShellResult.
2739
+ * Use `create(ForceBackgroundShellResultSchema)` to create a new message.
2740
+ */
2741
+ export const ForceBackgroundShellResultSchema = /*@__PURE__*/ messageDesc(file_agent, 545);
2742
+ /**
2743
+ * Describes the message agent.v1.HookAdditionalContext.
2744
+ * Use `create(HookAdditionalContextSchema)` to create a new message.
2745
+ */
2746
+ export const HookAdditionalContextSchema = /*@__PURE__*/ messageDesc(file_agent, 546);
2747
+ /**
2748
+ * Describes the message agent.v1.ShellStreamHookContext.
2749
+ * Use `create(ShellStreamHookContextSchema)` to create a new message.
2750
+ */
2751
+ export const ShellStreamHookContextSchema = /*@__PURE__*/ messageDesc(file_agent, 547);
2752
+ /**
2753
+ * Describes the message agent.v1.SubagentArgs.
2754
+ * Use `create(SubagentArgsSchema)` to create a new message.
2755
+ */
2756
+ export const SubagentArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 548);
2757
+ /**
2758
+ * Describes the message agent.v1.SubagentSuccess.
2759
+ * Use `create(SubagentSuccessSchema)` to create a new message.
2760
+ */
2761
+ export const SubagentSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 549);
2762
+ /**
2763
+ * Describes the message agent.v1.SubagentError.
2764
+ * Use `create(SubagentErrorSchema)` to create a new message.
2765
+ */
2766
+ export const SubagentErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 550);
2767
+ /**
2768
+ * Describes the message agent.v1.SubagentResult.
2769
+ * Use `create(SubagentResultSchema)` to create a new message.
2770
+ */
2771
+ export const SubagentResultSchema = /*@__PURE__*/ messageDesc(file_agent, 551);
2772
+ /**
2773
+ * Describes the message agent.v1.SubagentAwaitArgs.
2774
+ * Use `create(SubagentAwaitArgsSchema)` to create a new message.
2775
+ */
2776
+ export const SubagentAwaitArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 552);
2777
+ /**
2778
+ * Describes the message agent.v1.SubagentAwaitComplete.
2779
+ * Use `create(SubagentAwaitCompleteSchema)` to create a new message.
2780
+ */
2781
+ export const SubagentAwaitCompleteSchema = /*@__PURE__*/ messageDesc(file_agent, 553);
2782
+ /**
2783
+ * Describes the message agent.v1.SubagentAwaitStillRunning.
2784
+ * Use `create(SubagentAwaitStillRunningSchema)` to create a new message.
2785
+ */
2786
+ export const SubagentAwaitStillRunningSchema = /*@__PURE__*/ messageDesc(file_agent, 554);
2787
+ /**
2788
+ * Describes the message agent.v1.SubagentAwaitNotFound.
2789
+ * Use `create(SubagentAwaitNotFoundSchema)` to create a new message.
2790
+ */
2791
+ export const SubagentAwaitNotFoundSchema = /*@__PURE__*/ messageDesc(file_agent, 555);
2792
+ /**
2793
+ * Describes the message agent.v1.SubagentAwaitError.
2794
+ * Use `create(SubagentAwaitErrorSchema)` to create a new message.
2795
+ */
2796
+ export const SubagentAwaitErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 556);
2797
+ /**
2798
+ * Describes the message agent.v1.SubagentAwaitResult.
2799
+ * Use `create(SubagentAwaitResultSchema)` to create a new message.
2800
+ */
2801
+ export const SubagentAwaitResultSchema = /*@__PURE__*/ messageDesc(file_agent, 557);
2802
+ /**
2803
+ * Describes the message agent.v1.ForceBackgroundSubagentArgs.
2804
+ * Use `create(ForceBackgroundSubagentArgsSchema)` to create a new message.
2805
+ */
2806
+ export const ForceBackgroundSubagentArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 558);
2807
+ /**
2808
+ * Describes the message agent.v1.ForceBackgroundSubagentResult.
2809
+ * Use `create(ForceBackgroundSubagentResultSchema)` to create a new message.
2810
+ */
2811
+ export const ForceBackgroundSubagentResultSchema = /*@__PURE__*/ messageDesc(file_agent, 559);
2812
+ /**
2813
+ * Describes the message agent.v1.PreCompactRequestQuery.
2814
+ * Use `create(PreCompactRequestQuerySchema)` to create a new message.
2815
+ */
2816
+ export const PreCompactRequestQuerySchema = /*@__PURE__*/ messageDesc(file_agent, 560);
2817
+ /**
2818
+ * Describes the message agent.v1.SubagentStartRequestQuery.
2819
+ * Use `create(SubagentStartRequestQuerySchema)` to create a new message.
2820
+ */
2821
+ export const SubagentStartRequestQuerySchema = /*@__PURE__*/ messageDesc(file_agent, 561);
2822
+ /**
2823
+ * Describes the message agent.v1.SubagentStopRequestQuery.
2824
+ * Use `create(SubagentStopRequestQuerySchema)` to create a new message.
2825
+ */
2826
+ export const SubagentStopRequestQuerySchema = /*@__PURE__*/ messageDesc(file_agent, 562);
2827
+ /**
2828
+ * Describes the message agent.v1.PreToolUseRequestQuery.
2829
+ * Use `create(PreToolUseRequestQuerySchema)` to create a new message.
2830
+ */
2831
+ export const PreToolUseRequestQuerySchema = /*@__PURE__*/ messageDesc(file_agent, 563);
2832
+ /**
2833
+ * Describes the message agent.v1.PostToolUseRequestQuery.
2834
+ * Use `create(PostToolUseRequestQuerySchema)` to create a new message.
2835
+ */
2836
+ export const PostToolUseRequestQuerySchema = /*@__PURE__*/ messageDesc(file_agent, 564);
2837
+ /**
2838
+ * Describes the message agent.v1.PostToolUseFailureRequestQuery.
2839
+ * Use `create(PostToolUseFailureRequestQuerySchema)` to create a new message.
2840
+ */
2841
+ export const PostToolUseFailureRequestQuerySchema = /*@__PURE__*/ messageDesc(file_agent, 565);
2842
+ /**
2843
+ * Describes the message agent.v1.BeforeSubmitPromptRequestQuery.
2844
+ * Use `create(BeforeSubmitPromptRequestQuerySchema)` to create a new message.
2845
+ */
2846
+ export const BeforeSubmitPromptRequestQuerySchema = /*@__PURE__*/ messageDesc(file_agent, 566);
2847
+ /**
2848
+ * Describes the message agent.v1.AfterAgentResponseRequestQuery.
2849
+ * Use `create(AfterAgentResponseRequestQuerySchema)` to create a new message.
2850
+ */
2851
+ export const AfterAgentResponseRequestQuerySchema = /*@__PURE__*/ messageDesc(file_agent, 567);
2852
+ /**
2853
+ * Describes the message agent.v1.AfterAgentThoughtRequestQuery.
2854
+ * Use `create(AfterAgentThoughtRequestQuerySchema)` to create a new message.
2855
+ */
2856
+ export const AfterAgentThoughtRequestQuerySchema = /*@__PURE__*/ messageDesc(file_agent, 568);
2857
+ /**
2858
+ * Describes the message agent.v1.StopRequestQuery.
2859
+ * Use `create(StopRequestQuerySchema)` to create a new message.
2860
+ */
2861
+ export const StopRequestQuerySchema = /*@__PURE__*/ messageDesc(file_agent, 569);
2862
+ /**
2863
+ * Describes the message agent.v1.PreCompactRequestResponse.
2864
+ * Use `create(PreCompactRequestResponseSchema)` to create a new message.
2865
+ */
2866
+ export const PreCompactRequestResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 570);
2867
+ /**
2868
+ * Describes the message agent.v1.SubagentStartRequestResponse.
2869
+ * Use `create(SubagentStartRequestResponseSchema)` to create a new message.
2870
+ */
2871
+ export const SubagentStartRequestResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 571);
2872
+ /**
2873
+ * Describes the message agent.v1.SubagentStopRequestResponse.
2874
+ * Use `create(SubagentStopRequestResponseSchema)` to create a new message.
2875
+ */
2876
+ export const SubagentStopRequestResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 572);
2877
+ /**
2878
+ * Describes the message agent.v1.PreToolUseRequestResponse.
2879
+ * Use `create(PreToolUseRequestResponseSchema)` to create a new message.
2880
+ */
2881
+ export const PreToolUseRequestResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 573);
2882
+ /**
2883
+ * Describes the message agent.v1.PostToolUseRequestResponse.
2884
+ * Use `create(PostToolUseRequestResponseSchema)` to create a new message.
2885
+ */
2886
+ export const PostToolUseRequestResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 574);
2887
+ /**
2888
+ * Describes the message agent.v1.PostToolUseFailureRequestResponse.
2889
+ * Use `create(PostToolUseFailureRequestResponseSchema)` to create a new message.
2890
+ */
2891
+ export const PostToolUseFailureRequestResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 575);
2892
+ /**
2893
+ * Describes the message agent.v1.BeforeSubmitPromptRequestResponse.
2894
+ * Use `create(BeforeSubmitPromptRequestResponseSchema)` to create a new message.
2895
+ */
2896
+ export const BeforeSubmitPromptRequestResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 576);
2897
+ /**
2898
+ * Describes the message agent.v1.AfterAgentResponseRequestResponse.
2899
+ * Use `create(AfterAgentResponseRequestResponseSchema)` to create a new message.
2900
+ */
2901
+ export const AfterAgentResponseRequestResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 577);
2902
+ /**
2903
+ * Describes the message agent.v1.AfterAgentThoughtRequestResponse.
2904
+ * Use `create(AfterAgentThoughtRequestResponseSchema)` to create a new message.
2905
+ */
2906
+ export const AfterAgentThoughtRequestResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 578);
2907
+ /**
2908
+ * Describes the message agent.v1.StopRequestResponse.
2909
+ * Use `create(StopRequestResponseSchema)` to create a new message.
2910
+ */
2911
+ export const StopRequestResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 579);
2912
+ /**
2913
+ * Describes the message agent.v1.ExecuteHookRequest.
2914
+ * Use `create(ExecuteHookRequestSchema)` to create a new message.
2915
+ */
2916
+ export const ExecuteHookRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 580);
2917
+ /**
2918
+ * Describes the message agent.v1.ExecuteHookResponse.
2919
+ * Use `create(ExecuteHookResponseSchema)` to create a new message.
2920
+ */
2921
+ export const ExecuteHookResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 581);
2922
+ /**
2923
+ * Describes the message agent.v1.ExecuteHookArgs.
2924
+ * Use `create(ExecuteHookArgsSchema)` to create a new message.
2925
+ */
2926
+ export const ExecuteHookArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 582);
2927
+ /**
2928
+ * Describes the message agent.v1.ExecuteHookResult.
2929
+ * Use `create(ExecuteHookResultSchema)` to create a new message.
2930
+ */
2931
+ export const ExecuteHookResultSchema = /*@__PURE__*/ messageDesc(file_agent, 583);
2932
+ /**
2933
+ * Describes the message agent.v1.SmartModeRiskTarget.
2934
+ * Use `create(SmartModeRiskTargetSchema)` to create a new message.
2935
+ */
2936
+ export const SmartModeRiskTargetSchema = /*@__PURE__*/ messageDesc(file_agent, 584);
2937
+ /**
2938
+ * Describes the message agent.v1.SmartModeClassifierConversationMessage.
2939
+ * Use `create(SmartModeClassifierConversationMessageSchema)` to create a new message.
2940
+ */
2941
+ export const SmartModeClassifierConversationMessageSchema = /*@__PURE__*/ messageDesc(file_agent, 585);
2942
+ /**
2943
+ * Describes the message agent.v1.SmartModeClassifierArgs.
2944
+ * Use `create(SmartModeClassifierArgsSchema)` to create a new message.
2945
+ */
2946
+ export const SmartModeClassifierArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 586);
2947
+ /**
2948
+ * Describes the message agent.v1.SmartModeClassifierSuccess.
2949
+ * Use `create(SmartModeClassifierSuccessSchema)` to create a new message.
2950
+ */
2951
+ export const SmartModeClassifierSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 587);
2952
+ /**
2953
+ * Describes the message agent.v1.SmartModeClassifierError.
2954
+ * Use `create(SmartModeClassifierErrorSchema)` to create a new message.
2955
+ */
2956
+ export const SmartModeClassifierErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 588);
2957
+ /**
2958
+ * Describes the message agent.v1.SmartModeClassifierResult.
2959
+ * Use `create(SmartModeClassifierResultSchema)` to create a new message.
2960
+ */
2961
+ export const SmartModeClassifierResultSchema = /*@__PURE__*/ messageDesc(file_agent, 589);
2962
+ /**
2963
+ * Describes the message agent.v1.CanvasDiagnosticsArgs.
2964
+ * Use `create(CanvasDiagnosticsArgsSchema)` to create a new message.
2965
+ */
2966
+ export const CanvasDiagnosticsArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 590);
2967
+ /**
2968
+ * Describes the message agent.v1.CanvasDiagnosticsSuccess.
2969
+ * Use `create(CanvasDiagnosticsSuccessSchema)` to create a new message.
2970
+ */
2971
+ export const CanvasDiagnosticsSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 591);
2972
+ /**
2973
+ * Describes the message agent.v1.CanvasDiagnosticsError.
2974
+ * Use `create(CanvasDiagnosticsErrorSchema)` to create a new message.
2975
+ */
2976
+ export const CanvasDiagnosticsErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 592);
2977
+ /**
2978
+ * Describes the message agent.v1.CanvasDiagnosticsResult.
2979
+ * Use `create(CanvasDiagnosticsResultSchema)` to create a new message.
2980
+ */
2981
+ export const CanvasDiagnosticsResultSchema = /*@__PURE__*/ messageDesc(file_agent, 593);
2982
+ /**
2983
+ * Describes the message agent.v1.ConversationSearchHit.
2984
+ * Use `create(ConversationSearchHitSchema)` to create a new message.
2985
+ */
2986
+ export const ConversationSearchHitSchema = /*@__PURE__*/ messageDesc(file_agent, 594);
2987
+ /**
2988
+ * Describes the message agent.v1.ConversationSearchSuccess.
2989
+ * Use `create(ConversationSearchSuccessSchema)` to create a new message.
2990
+ */
2991
+ export const ConversationSearchSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 595);
2992
+ /**
2993
+ * Describes the message agent.v1.ConversationSearchError.
2994
+ * Use `create(ConversationSearchErrorSchema)` to create a new message.
2995
+ */
2996
+ export const ConversationSearchErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 596);
2997
+ /**
2998
+ * Describes the message agent.v1.ConversationSearchArgs.
2999
+ * Use `create(ConversationSearchArgsSchema)` to create a new message.
3000
+ */
3001
+ export const ConversationSearchArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 597);
3002
+ /**
3003
+ * Describes the message agent.v1.ConversationSearchResult.
3004
+ * Use `create(ConversationSearchResultSchema)` to create a new message.
3005
+ */
3006
+ export const ConversationSearchResultSchema = /*@__PURE__*/ messageDesc(file_agent, 598);
3007
+ /**
3008
+ * Describes the message agent.v1.AgentStoreConflictCursor.
3009
+ * Use `create(AgentStoreConflictCursorSchema)` to create a new message.
3010
+ */
3011
+ export const AgentStoreConflictCursorSchema = /*@__PURE__*/ messageDesc(file_agent, 599);
3012
+ /**
3013
+ * Describes the message agent.v1.AgentStoreConflictEvent.
3014
+ * Use `create(AgentStoreConflictEventSchema)` to create a new message.
3015
+ */
3016
+ export const AgentStoreConflictEventSchema = /*@__PURE__*/ messageDesc(file_agent, 600);
3017
+ /**
3018
+ * Describes the message agent.v1.AgentStoreConflictSuccess.
3019
+ * Use `create(AgentStoreConflictSuccessSchema)` to create a new message.
3020
+ */
3021
+ export const AgentStoreConflictSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 601);
3022
+ /**
3023
+ * Describes the message agent.v1.AgentStoreConflictError.
3024
+ * Use `create(AgentStoreConflictErrorSchema)` to create a new message.
3025
+ */
3026
+ export const AgentStoreConflictErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 602);
3027
+ /**
3028
+ * Describes the message agent.v1.AgentStoreConflictArgs.
3029
+ * Use `create(AgentStoreConflictArgsSchema)` to create a new message.
3030
+ */
3031
+ export const AgentStoreConflictArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 603);
3032
+ /**
3033
+ * Describes the message agent.v1.AgentStoreConflictResult.
3034
+ * Use `create(AgentStoreConflictResultSchema)` to create a new message.
3035
+ */
3036
+ export const AgentStoreConflictResultSchema = /*@__PURE__*/ messageDesc(file_agent, 604);
3037
+ /**
3038
+ * Describes the message agent.v1.FileDiff_Chunk.
3039
+ * Use `create(FileDiff_ChunkSchema)` to create a new message.
3040
+ */
3041
+ export const FileDiff_ChunkSchema = /*@__PURE__*/ messageDesc(file_agent, 605);
3042
+ /**
3043
+ * Describes the message agent.v1.FileDiff.
3044
+ * Use `create(FileDiffSchema)` to create a new message.
3045
+ */
3046
+ export const FileDiffSchema = /*@__PURE__*/ messageDesc(file_agent, 606);
3047
+ /**
3048
+ * Describes the message agent.v1.GitDiff.
3049
+ * Use `create(GitDiffSchema)` to create a new message.
3050
+ */
3051
+ export const GitDiffSchema = /*@__PURE__*/ messageDesc(file_agent, 607);
3052
+ /**
3053
+ * Describes the message agent.v1.GetDiffResponse_SubmoduleDiff.
3054
+ * Use `create(GetDiffResponse_SubmoduleDiffSchema)` to create a new message.
3055
+ */
3056
+ export const GetDiffResponse_SubmoduleDiffSchema = /*@__PURE__*/ messageDesc(file_agent, 608);
3057
+ /**
3058
+ * Describes the message agent.v1.GetDiffRequest.
3059
+ * Use `create(GetDiffRequestSchema)` to create a new message.
3060
+ */
3061
+ export const GetDiffRequestSchema = /*@__PURE__*/ messageDesc(file_agent, 609);
3062
+ /**
3063
+ * Describes the message agent.v1.GetDiffResponse.
3064
+ * Use `create(GetDiffResponseSchema)` to create a new message.
3065
+ */
3066
+ export const GetDiffResponseSchema = /*@__PURE__*/ messageDesc(file_agent, 610);
3067
+ /**
3068
+ * Describes the message agent.v1.PiReadToolCall.
3069
+ * Use `create(PiReadToolCallSchema)` to create a new message.
3070
+ */
3071
+ export const PiReadToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 611);
3072
+ /**
3073
+ * Describes the message agent.v1.PiBashToolCall.
3074
+ * Use `create(PiBashToolCallSchema)` to create a new message.
3075
+ */
3076
+ export const PiBashToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 612);
3077
+ /**
3078
+ * Describes the message agent.v1.PiEditToolCall.
3079
+ * Use `create(PiEditToolCallSchema)` to create a new message.
3080
+ */
3081
+ export const PiEditToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 613);
3082
+ /**
3083
+ * Describes the message agent.v1.PiWriteToolCall.
3084
+ * Use `create(PiWriteToolCallSchema)` to create a new message.
3085
+ */
3086
+ export const PiWriteToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 614);
3087
+ /**
3088
+ * Describes the message agent.v1.PiGrepToolCall.
3089
+ * Use `create(PiGrepToolCallSchema)` to create a new message.
3090
+ */
3091
+ export const PiGrepToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 615);
3092
+ /**
3093
+ * Describes the message agent.v1.PiFindToolCall.
3094
+ * Use `create(PiFindToolCallSchema)` to create a new message.
3095
+ */
3096
+ export const PiFindToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 616);
3097
+ /**
3098
+ * Describes the message agent.v1.PiLsToolCall.
3099
+ * Use `create(PiLsToolCallSchema)` to create a new message.
3100
+ */
3101
+ export const PiLsToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 617);
3102
+ /**
3103
+ * Describes the message agent.v1.SearchConversationsToolCall.
3104
+ * Use `create(SearchConversationsToolCallSchema)` to create a new message.
3105
+ */
3106
+ export const SearchConversationsToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 618);
3107
+ /**
3108
+ * Describes the message agent.v1.ConnectScmGithubRepository.
3109
+ * Use `create(ConnectScmGithubRepositorySchema)` to create a new message.
3110
+ */
3111
+ export const ConnectScmGithubRepositorySchema = /*@__PURE__*/ messageDesc(file_agent, 619);
3112
+ /**
3113
+ * Describes the message agent.v1.ConnectScmGithub.
3114
+ * Use `create(ConnectScmGithubSchema)` to create a new message.
3115
+ */
3116
+ export const ConnectScmGithubSchema = /*@__PURE__*/ messageDesc(file_agent, 620);
3117
+ /**
3118
+ * Describes the message agent.v1.ConnectScmArgs.
3119
+ * Use `create(ConnectScmArgsSchema)` to create a new message.
3120
+ */
3121
+ export const ConnectScmArgsSchema = /*@__PURE__*/ messageDesc(file_agent, 621);
3122
+ /**
3123
+ * Describes the message agent.v1.ConnectScmSuccess.
3124
+ * Use `create(ConnectScmSuccessSchema)` to create a new message.
3125
+ */
3126
+ export const ConnectScmSuccessSchema = /*@__PURE__*/ messageDesc(file_agent, 622);
3127
+ /**
3128
+ * Describes the message agent.v1.ConnectScmError.
3129
+ * Use `create(ConnectScmErrorSchema)` to create a new message.
3130
+ */
3131
+ export const ConnectScmErrorSchema = /*@__PURE__*/ messageDesc(file_agent, 623);
3132
+ /**
3133
+ * Describes the message agent.v1.ConnectScmRejected.
3134
+ * Use `create(ConnectScmRejectedSchema)` to create a new message.
3135
+ */
3136
+ export const ConnectScmRejectedSchema = /*@__PURE__*/ messageDesc(file_agent, 624);
3137
+ /**
3138
+ * Describes the message agent.v1.ConnectScmResult.
3139
+ * Use `create(ConnectScmResultSchema)` to create a new message.
3140
+ */
3141
+ export const ConnectScmResultSchema = /*@__PURE__*/ messageDesc(file_agent, 625);
3142
+ /**
3143
+ * Describes the message agent.v1.ConnectScmToolCall.
3144
+ * Use `create(ConnectScmToolCallSchema)` to create a new message.
3145
+ */
3146
+ export const ConnectScmToolCallSchema = /*@__PURE__*/ messageDesc(file_agent, 626);
3147
+ /**
3148
+ * @generated from enum agent.v1.AppliedAgentChange_ChangeType
3149
+ */
3150
+ export const AppliedAgentChange_ChangeType = {
3151
+ /**
3152
+ * @generated from enum value: CHANGE_TYPE_UNSPECIFIED = 0;
3153
+ */
3154
+ CHANGE_TYPE_UNSPECIFIED: 0,
3155
+ /**
3156
+ * @generated from enum value: CHANGE_TYPE_CREATED = 1;
3157
+ */
3158
+ CHANGE_TYPE_CREATED: 1,
3159
+ /**
3160
+ * @generated from enum value: CHANGE_TYPE_MODIFIED = 2;
3161
+ */
3162
+ CHANGE_TYPE_MODIFIED: 2,
3163
+ /**
3164
+ * @generated from enum value: CHANGE_TYPE_DELETED = 3;
3165
+ */
3166
+ CHANGE_TYPE_DELETED: 3,
3167
+ };
3168
+ /**
3169
+ * Describes the enum agent.v1.AppliedAgentChange_ChangeType.
3170
+ */
3171
+ export const AppliedAgentChange_ChangeTypeSchema = /*@__PURE__*/ enumDesc(file_agent, 0);
3172
+ /**
3173
+ * @generated from enum agent.v1.MouseButton
3174
+ */
3175
+ export const MouseButton = {
3176
+ /**
3177
+ * @generated from enum value: MOUSE_BUTTON_UNSPECIFIED = 0;
3178
+ */
3179
+ UNSPECIFIED: 0,
3180
+ /**
3181
+ * @generated from enum value: MOUSE_BUTTON_LEFT = 1;
3182
+ */
3183
+ LEFT: 1,
3184
+ /**
3185
+ * @generated from enum value: MOUSE_BUTTON_RIGHT = 2;
3186
+ */
3187
+ RIGHT: 2,
3188
+ /**
3189
+ * @generated from enum value: MOUSE_BUTTON_MIDDLE = 3;
3190
+ */
3191
+ MIDDLE: 3,
3192
+ /**
3193
+ * @generated from enum value: MOUSE_BUTTON_BACK = 4;
3194
+ */
3195
+ BACK: 4,
3196
+ /**
3197
+ * @generated from enum value: MOUSE_BUTTON_FORWARD = 5;
3198
+ */
3199
+ FORWARD: 5,
3200
+ };
3201
+ /**
3202
+ * Describes the enum agent.v1.MouseButton.
3203
+ */
3204
+ export const MouseButtonSchema = /*@__PURE__*/ enumDesc(file_agent, 1);
3205
+ /**
3206
+ * @generated from enum agent.v1.ScrollDirection
3207
+ */
3208
+ export const ScrollDirection = {
3209
+ /**
3210
+ * @generated from enum value: SCROLL_DIRECTION_UNSPECIFIED = 0;
3211
+ */
3212
+ UNSPECIFIED: 0,
3213
+ /**
3214
+ * @generated from enum value: SCROLL_DIRECTION_UP = 1;
3215
+ */
3216
+ UP: 1,
3217
+ /**
3218
+ * @generated from enum value: SCROLL_DIRECTION_DOWN = 2;
3219
+ */
3220
+ DOWN: 2,
3221
+ /**
3222
+ * @generated from enum value: SCROLL_DIRECTION_LEFT = 3;
3223
+ */
3224
+ LEFT: 3,
3225
+ /**
3226
+ * @generated from enum value: SCROLL_DIRECTION_RIGHT = 4;
3227
+ */
3228
+ RIGHT: 4,
3229
+ };
3230
+ /**
3231
+ * Describes the enum agent.v1.ScrollDirection.
3232
+ */
3233
+ export const ScrollDirectionSchema = /*@__PURE__*/ enumDesc(file_agent, 2);
3234
+ /**
3235
+ * @generated from enum agent.v1.CursorRuleSource
3236
+ */
3237
+ export const CursorRuleSource = {
3238
+ /**
3239
+ * @generated from enum value: CURSOR_RULE_SOURCE_UNSPECIFIED = 0;
3240
+ */
3241
+ UNSPECIFIED: 0,
3242
+ /**
3243
+ * @generated from enum value: CURSOR_RULE_SOURCE_TEAM = 1;
3244
+ */
3245
+ TEAM: 1,
3246
+ /**
3247
+ * @generated from enum value: CURSOR_RULE_SOURCE_USER = 2;
3248
+ */
3249
+ USER: 2,
3250
+ };
3251
+ /**
3252
+ * Describes the enum agent.v1.CursorRuleSource.
3253
+ */
3254
+ export const CursorRuleSourceSchema = /*@__PURE__*/ enumDesc(file_agent, 3);
3255
+ /**
3256
+ * @generated from enum agent.v1.DiagnosticSeverity
3257
+ */
3258
+ export const DiagnosticSeverity = {
3259
+ /**
3260
+ * @generated from enum value: DIAGNOSTIC_SEVERITY_UNSPECIFIED = 0;
3261
+ */
3262
+ UNSPECIFIED: 0,
3263
+ /**
3264
+ * @generated from enum value: DIAGNOSTIC_SEVERITY_ERROR = 1;
3265
+ */
3266
+ ERROR: 1,
3267
+ /**
3268
+ * @generated from enum value: DIAGNOSTIC_SEVERITY_WARNING = 2;
3269
+ */
3270
+ WARNING: 2,
3271
+ /**
3272
+ * @generated from enum value: DIAGNOSTIC_SEVERITY_INFORMATION = 3;
3273
+ */
3274
+ INFORMATION: 3,
3275
+ /**
3276
+ * @generated from enum value: DIAGNOSTIC_SEVERITY_HINT = 4;
3277
+ */
3278
+ HINT: 4,
3279
+ };
3280
+ /**
3281
+ * Describes the enum agent.v1.DiagnosticSeverity.
3282
+ */
3283
+ export const DiagnosticSeveritySchema = /*@__PURE__*/ enumDesc(file_agent, 4);
3284
+ /**
3285
+ * @generated from enum agent.v1.RecordingMode
3286
+ */
3287
+ export const RecordingMode = {
3288
+ /**
3289
+ * @generated from enum value: RECORDING_MODE_UNSPECIFIED = 0;
3290
+ */
3291
+ UNSPECIFIED: 0,
3292
+ /**
3293
+ * @generated from enum value: RECORDING_MODE_START_RECORDING = 1;
3294
+ */
3295
+ START_RECORDING: 1,
3296
+ /**
3297
+ * @generated from enum value: RECORDING_MODE_SAVE_RECORDING = 2;
3298
+ */
3299
+ SAVE_RECORDING: 2,
3300
+ /**
3301
+ * @generated from enum value: RECORDING_MODE_DISCARD_RECORDING = 3;
3302
+ */
3303
+ DISCARD_RECORDING: 3,
3304
+ };
3305
+ /**
3306
+ * Describes the enum agent.v1.RecordingMode.
3307
+ */
3308
+ export const RecordingModeSchema = /*@__PURE__*/ enumDesc(file_agent, 5);
3309
+ /**
3310
+ * @generated from enum agent.v1.RequestedFilePathRejectedReason
3311
+ */
3312
+ export const RequestedFilePathRejectedReason = {
3313
+ /**
3314
+ * @generated from enum value: REQUESTED_FILE_PATH_REJECTED_REASON_UNSPECIFIED = 0;
3315
+ */
3316
+ UNSPECIFIED: 0,
3317
+ /**
3318
+ * @generated from enum value: REQUESTED_FILE_PATH_REJECTED_REASON_SLASHES_NOT_ALLOWED = 1;
3319
+ */
3320
+ SLASHES_NOT_ALLOWED: 1,
3321
+ };
3322
+ /**
3323
+ * Describes the enum agent.v1.RequestedFilePathRejectedReason.
3324
+ */
3325
+ export const RequestedFilePathRejectedReasonSchema = /*@__PURE__*/ enumDesc(file_agent, 6);
3326
+ /**
3327
+ * @generated from enum agent.v1.PackageType
3328
+ */
3329
+ export const PackageType = {
3330
+ /**
3331
+ * @generated from enum value: PACKAGE_TYPE_UNSPECIFIED = 0;
3332
+ */
3333
+ UNSPECIFIED: 0,
3334
+ /**
3335
+ * @generated from enum value: PACKAGE_TYPE_CURSOR_PROJECT = 1;
3336
+ */
3337
+ CURSOR_PROJECT: 1,
3338
+ /**
3339
+ * @generated from enum value: PACKAGE_TYPE_CURSOR_PERSONAL = 2;
3340
+ */
3341
+ CURSOR_PERSONAL: 2,
3342
+ /**
3343
+ * @generated from enum value: PACKAGE_TYPE_CLAUDE_SKILL = 3;
3344
+ */
3345
+ CLAUDE_SKILL: 3,
3346
+ /**
3347
+ * @generated from enum value: PACKAGE_TYPE_CLAUDE_PLUGIN = 4;
3348
+ */
3349
+ CLAUDE_PLUGIN: 4,
3350
+ };
3351
+ /**
3352
+ * Describes the enum agent.v1.PackageType.
3353
+ */
3354
+ export const PackageTypeSchema = /*@__PURE__*/ enumDesc(file_agent, 7);
3355
+ /**
3356
+ * @generated from enum agent.v1.SandboxPolicy_Type
3357
+ */
3358
+ export const SandboxPolicy_Type = {
3359
+ /**
3360
+ * @generated from enum value: TYPE_UNSPECIFIED = 0;
3361
+ */
3362
+ TYPE_UNSPECIFIED: 0,
3363
+ /**
3364
+ * @generated from enum value: TYPE_INSECURE_NONE = 1;
3365
+ */
3366
+ TYPE_INSECURE_NONE: 1,
3367
+ /**
3368
+ * @generated from enum value: TYPE_WORKSPACE_READWRITE = 2;
3369
+ */
3370
+ TYPE_WORKSPACE_READWRITE: 2,
3371
+ /**
3372
+ * @generated from enum value: TYPE_WORKSPACE_READONLY = 3;
3373
+ */
3374
+ TYPE_WORKSPACE_READONLY: 3,
3375
+ };
3376
+ /**
3377
+ * Describes the enum agent.v1.SandboxPolicy_Type.
3378
+ */
3379
+ export const SandboxPolicy_TypeSchema = /*@__PURE__*/ enumDesc(file_agent, 8);
3380
+ /**
3381
+ * @generated from enum agent.v1.TimeoutBehavior
3382
+ */
3383
+ export const TimeoutBehavior = {
3384
+ /**
3385
+ * @generated from enum value: TIMEOUT_BEHAVIOR_UNSPECIFIED = 0;
3386
+ */
3387
+ UNSPECIFIED: 0,
3388
+ /**
3389
+ * @generated from enum value: TIMEOUT_BEHAVIOR_CANCEL = 1;
3390
+ */
3391
+ CANCEL: 1,
3392
+ /**
3393
+ * @generated from enum value: TIMEOUT_BEHAVIOR_BACKGROUND = 2;
3394
+ */
3395
+ BACKGROUND: 2,
3396
+ };
3397
+ /**
3398
+ * Describes the enum agent.v1.TimeoutBehavior.
3399
+ */
3400
+ export const TimeoutBehaviorSchema = /*@__PURE__*/ enumDesc(file_agent, 9);
3401
+ /**
3402
+ * @generated from enum agent.v1.ShellAbortReason
3403
+ */
3404
+ export const ShellAbortReason = {
3405
+ /**
3406
+ * @generated from enum value: SHELL_ABORT_REASON_UNSPECIFIED = 0;
3407
+ */
3408
+ UNSPECIFIED: 0,
3409
+ /**
3410
+ * @generated from enum value: SHELL_ABORT_REASON_USER_ABORT = 1;
3411
+ */
3412
+ USER_ABORT: 1,
3413
+ /**
3414
+ * @generated from enum value: SHELL_ABORT_REASON_TIMEOUT = 2;
3415
+ */
3416
+ TIMEOUT: 2,
3417
+ };
3418
+ /**
3419
+ * Describes the enum agent.v1.ShellAbortReason.
3420
+ */
3421
+ export const ShellAbortReasonSchema = /*@__PURE__*/ enumDesc(file_agent, 10);
3422
+ /**
3423
+ * @generated from enum agent.v1.CustomSubagentPermissionMode
3424
+ */
3425
+ export const CustomSubagentPermissionMode = {
3426
+ /**
3427
+ * @generated from enum value: CUSTOM_SUBAGENT_PERMISSION_MODE_UNSPECIFIED = 0;
3428
+ */
3429
+ UNSPECIFIED: 0,
3430
+ /**
3431
+ * @generated from enum value: CUSTOM_SUBAGENT_PERMISSION_MODE_DEFAULT = 1;
3432
+ */
3433
+ DEFAULT: 1,
3434
+ /**
3435
+ * @generated from enum value: CUSTOM_SUBAGENT_PERMISSION_MODE_READONLY = 2;
3436
+ */
3437
+ READONLY: 2,
3438
+ };
3439
+ /**
3440
+ * Describes the enum agent.v1.CustomSubagentPermissionMode.
3441
+ */
3442
+ export const CustomSubagentPermissionModeSchema = /*@__PURE__*/ enumDesc(file_agent, 11);
3443
+ /**
3444
+ * @generated from enum agent.v1.TodoStatus
3445
+ */
3446
+ export const TodoStatus = {
3447
+ /**
3448
+ * @generated from enum value: TODO_STATUS_UNSPECIFIED = 0;
3449
+ */
3450
+ UNSPECIFIED: 0,
3451
+ /**
3452
+ * @generated from enum value: TODO_STATUS_PENDING = 1;
3453
+ */
3454
+ PENDING: 1,
3455
+ /**
3456
+ * @generated from enum value: TODO_STATUS_IN_PROGRESS = 2;
3457
+ */
3458
+ IN_PROGRESS: 2,
3459
+ /**
3460
+ * @generated from enum value: TODO_STATUS_COMPLETED = 3;
3461
+ */
3462
+ COMPLETED: 3,
3463
+ /**
3464
+ * @generated from enum value: TODO_STATUS_CANCELLED = 4;
3465
+ */
3466
+ CANCELLED: 4,
3467
+ };
3468
+ /**
3469
+ * Describes the enum agent.v1.TodoStatus.
3470
+ */
3471
+ export const TodoStatusSchema = /*@__PURE__*/ enumDesc(file_agent, 12);
3472
+ /**
3473
+ * @generated from enum agent.v1.ClientOS
3474
+ */
3475
+ export const ClientOS = {
3476
+ /**
3477
+ * @generated from enum value: CLIENT_OS_UNSPECIFIED = 0;
3478
+ */
3479
+ CLIENT_OS_UNSPECIFIED: 0,
3480
+ /**
3481
+ * @generated from enum value: CLIENT_OS_WINDOWS = 1;
3482
+ */
3483
+ CLIENT_OS_WINDOWS: 1,
3484
+ /**
3485
+ * @generated from enum value: CLIENT_OS_MACOS = 2;
3486
+ */
3487
+ CLIENT_OS_MACOS: 2,
3488
+ /**
3489
+ * @generated from enum value: CLIENT_OS_LINUX = 3;
3490
+ */
3491
+ CLIENT_OS_LINUX: 3,
3492
+ };
3493
+ /**
3494
+ * Describes the enum agent.v1.ClientOS.
3495
+ */
3496
+ export const ClientOSSchema = /*@__PURE__*/ enumDesc(file_agent, 13);
3497
+ /**
3498
+ * @generated from enum agent.v1.ArtifactUploadDispatchStatus
3499
+ */
3500
+ export const ArtifactUploadDispatchStatus = {
3501
+ /**
3502
+ * @generated from enum value: ARTIFACT_UPLOAD_DISPATCH_STATUS_UNSPECIFIED = 0;
3503
+ */
3504
+ UNSPECIFIED: 0,
3505
+ /**
3506
+ * @generated from enum value: ARTIFACT_UPLOAD_DISPATCH_STATUS_ACCEPTED = 1;
3507
+ */
3508
+ ACCEPTED: 1,
3509
+ /**
3510
+ * @generated from enum value: ARTIFACT_UPLOAD_DISPATCH_STATUS_REJECTED = 2;
3511
+ */
3512
+ REJECTED: 2,
3513
+ /**
3514
+ * @generated from enum value: ARTIFACT_UPLOAD_DISPATCH_STATUS_SKIPPED_ALREADY_IN_PROGRESS = 3;
3515
+ */
3516
+ SKIPPED_ALREADY_IN_PROGRESS: 3,
3517
+ };
3518
+ /**
3519
+ * Describes the enum agent.v1.ArtifactUploadDispatchStatus.
3520
+ */
3521
+ export const ArtifactUploadDispatchStatusSchema = /*@__PURE__*/ enumDesc(file_agent, 14);
3522
+ /**
3523
+ * @generated from enum agent.v1.Frame_Kind
3524
+ */
3525
+ export const Frame_Kind = {
3526
+ /**
3527
+ * @generated from enum value: KIND_UNSPECIFIED = 0;
3528
+ */
3529
+ KIND_UNSPECIFIED: 0,
3530
+ /**
3531
+ * @generated from enum value: KIND_REQUEST = 1;
3532
+ */
3533
+ KIND_REQUEST: 1,
3534
+ /**
3535
+ * @generated from enum value: KIND_RESPONSE = 2;
3536
+ */
3537
+ KIND_RESPONSE: 2,
3538
+ /**
3539
+ * @generated from enum value: KIND_ERROR = 3;
3540
+ */
3541
+ KIND_ERROR: 3,
3542
+ };
3543
+ /**
3544
+ * Describes the enum agent.v1.Frame_Kind.
3545
+ */
3546
+ export const Frame_KindSchema = /*@__PURE__*/ enumDesc(file_agent, 15);
3547
+ /**
3548
+ * @generated from enum agent.v1.BugbotDeeplinkEventKind
3549
+ */
3550
+ export const BugbotDeeplinkEventKind = {
3551
+ /**
3552
+ * @generated from enum value: BUGBOT_DEEPLINK_EVENT_KIND_UNSPECIFIED = 0;
3553
+ */
3554
+ UNSPECIFIED: 0,
3555
+ /**
3556
+ * @generated from enum value: BUGBOT_DEEPLINK_EVENT_KIND_CLICKED = 1;
3557
+ */
3558
+ CLICKED: 1,
3559
+ /**
3560
+ * @generated from enum value: BUGBOT_DEEPLINK_EVENT_KIND_HANDLED_DIALOG_SHOWN = 2;
3561
+ */
3562
+ HANDLED_DIALOG_SHOWN: 2,
3563
+ /**
3564
+ * @generated from enum value: BUGBOT_DEEPLINK_EVENT_KIND_HANDLED_CHAT_CREATED = 3;
3565
+ */
3566
+ HANDLED_CHAT_CREATED: 3,
3567
+ /**
3568
+ * @generated from enum value: BUGBOT_DEEPLINK_EVENT_KIND_ERROR = 4;
3569
+ */
3570
+ ERROR: 4,
3571
+ /**
3572
+ * @generated from enum value: BUGBOT_DEEPLINK_EVENT_KIND_HANDLED_FIX_IN_WEB = 5;
3573
+ */
3574
+ HANDLED_FIX_IN_WEB: 5,
3575
+ };
3576
+ /**
3577
+ * Describes the enum agent.v1.BugbotDeeplinkEventKind.
3578
+ */
3579
+ export const BugbotDeeplinkEventKindSchema = /*@__PURE__*/ enumDesc(file_agent, 16);
3580
+ /**
3581
+ * @generated from enum agent.v1.CommandClassifierResult_SuggestedSandboxMode
3582
+ */
3583
+ export const CommandClassifierResult_SuggestedSandboxMode = {
3584
+ /**
3585
+ * @generated from enum value: SUGGESTED_SANDBOX_MODE_UNSPECIFIED = 0;
3586
+ */
3587
+ SUGGESTED_SANDBOX_MODE_UNSPECIFIED: 0,
3588
+ /**
3589
+ * @generated from enum value: SUGGESTED_SANDBOX_MODE_SANDBOX = 1;
3590
+ */
3591
+ SUGGESTED_SANDBOX_MODE_SANDBOX: 1,
3592
+ /**
3593
+ * @generated from enum value: SUGGESTED_SANDBOX_MODE_NO_SANDBOX = 2;
3594
+ */
3595
+ SUGGESTED_SANDBOX_MODE_NO_SANDBOX: 2,
3596
+ /**
3597
+ * @generated from enum value: SUGGESTED_SANDBOX_MODE_UNDETERMINED = 3;
3598
+ */
3599
+ SUGGESTED_SANDBOX_MODE_UNDETERMINED: 3,
3600
+ };
3601
+ /**
3602
+ * Describes the enum agent.v1.CommandClassifierResult_SuggestedSandboxMode.
3603
+ */
3604
+ export const CommandClassifierResult_SuggestedSandboxModeSchema = /*@__PURE__*/ enumDesc(file_agent, 17);
3605
+ /**
3606
+ * @generated from enum agent.v1.ShellHookApprovalRequirement_Kind
3607
+ */
3608
+ export const ShellHookApprovalRequirement_Kind = {
3609
+ /**
3610
+ * @generated from enum value: SHELL_HOOK_APPROVAL_REQUIREMENT_KIND_UNSPECIFIED = 0;
3611
+ */
3612
+ SHELL_HOOK_APPROVAL_REQUIREMENT_KIND_UNSPECIFIED: 0,
3613
+ /**
3614
+ * @generated from enum value: SHELL_HOOK_APPROVAL_REQUIREMENT_KIND_FORCE_PROMPT = 1;
3615
+ */
3616
+ SHELL_HOOK_APPROVAL_REQUIREMENT_KIND_FORCE_PROMPT: 1,
3617
+ };
3618
+ /**
3619
+ * Describes the enum agent.v1.ShellHookApprovalRequirement_Kind.
3620
+ */
3621
+ export const ShellHookApprovalRequirement_KindSchema = /*@__PURE__*/ enumDesc(file_agent, 18);
3622
+ /**
3623
+ * @generated from enum agent.v1.ShellBackgroundReason
3624
+ */
3625
+ export const ShellBackgroundReason = {
3626
+ /**
3627
+ * @generated from enum value: SHELL_BACKGROUND_REASON_UNSPECIFIED = 0;
3628
+ */
3629
+ UNSPECIFIED: 0,
3630
+ /**
3631
+ * @generated from enum value: SHELL_BACKGROUND_REASON_TIMEOUT = 1;
3632
+ */
3633
+ TIMEOUT: 1,
3634
+ /**
3635
+ * @generated from enum value: SHELL_BACKGROUND_REASON_USER_REQUEST = 2;
3636
+ */
3637
+ USER_REQUEST: 2,
3638
+ };
3639
+ /**
3640
+ * Describes the enum agent.v1.ShellBackgroundReason.
3641
+ */
3642
+ export const ShellBackgroundReasonSchema = /*@__PURE__*/ enumDesc(file_agent, 19);
3643
+ /**
3644
+ * @generated from enum agent.v1.ForceBackgroundShellStatus
3645
+ */
3646
+ export const ForceBackgroundShellStatus = {
3647
+ /**
3648
+ * @generated from enum value: FORCE_BACKGROUND_SHELL_STATUS_UNSPECIFIED = 0;
3649
+ */
3650
+ UNSPECIFIED: 0,
3651
+ /**
3652
+ * @generated from enum value: FORCE_BACKGROUND_SHELL_STATUS_ACCEPTED = 1;
3653
+ */
3654
+ ACCEPTED: 1,
3655
+ /**
3656
+ * @generated from enum value: FORCE_BACKGROUND_SHELL_STATUS_NOT_FOUND = 2;
3657
+ */
3658
+ NOT_FOUND: 2,
3659
+ };
3660
+ /**
3661
+ * Describes the enum agent.v1.ForceBackgroundShellStatus.
3662
+ */
3663
+ export const ForceBackgroundShellStatusSchema = /*@__PURE__*/ enumDesc(file_agent, 20);
3664
+ /**
3665
+ * @generated from enum agent.v1.SubagentBackgroundReason
3666
+ */
3667
+ export const SubagentBackgroundReason = {
3668
+ /**
3669
+ * @generated from enum value: SUBAGENT_BACKGROUND_REASON_UNSPECIFIED = 0;
3670
+ */
3671
+ UNSPECIFIED: 0,
3672
+ /**
3673
+ * @generated from enum value: SUBAGENT_BACKGROUND_REASON_AGENT_REQUEST = 1;
3674
+ */
3675
+ AGENT_REQUEST: 1,
3676
+ /**
3677
+ * @generated from enum value: SUBAGENT_BACKGROUND_REASON_USER_REQUEST = 2;
3678
+ */
3679
+ USER_REQUEST: 2,
3680
+ /**
3681
+ * @generated from enum value: SUBAGENT_BACKGROUND_REASON_QUEUED_FOLLOW_UP = 3;
3682
+ */
3683
+ QUEUED_FOLLOW_UP: 3,
3684
+ };
3685
+ /**
3686
+ * Describes the enum agent.v1.SubagentBackgroundReason.
3687
+ */
3688
+ export const SubagentBackgroundReasonSchema = /*@__PURE__*/ enumDesc(file_agent, 21);
3689
+ /**
3690
+ * @generated from enum agent.v1.ForceBackgroundSubagentStatus
3691
+ */
3692
+ export const ForceBackgroundSubagentStatus = {
3693
+ /**
3694
+ * @generated from enum value: FORCE_BACKGROUND_SUBAGENT_STATUS_UNSPECIFIED = 0;
3695
+ */
3696
+ UNSPECIFIED: 0,
3697
+ /**
3698
+ * @generated from enum value: FORCE_BACKGROUND_SUBAGENT_STATUS_ACCEPTED = 1;
3699
+ */
3700
+ ACCEPTED: 1,
3701
+ /**
3702
+ * @generated from enum value: FORCE_BACKGROUND_SUBAGENT_STATUS_NOT_FOUND = 2;
3703
+ */
3704
+ NOT_FOUND: 2,
3705
+ };
3706
+ /**
3707
+ * Describes the enum agent.v1.ForceBackgroundSubagentStatus.
3708
+ */
3709
+ export const ForceBackgroundSubagentStatusSchema = /*@__PURE__*/ enumDesc(file_agent, 22);
3710
+ /**
3711
+ * @generated from enum agent.v1.SmartModeClassifierDecision
3712
+ */
3713
+ export const SmartModeClassifierDecision = {
3714
+ /**
3715
+ * @generated from enum value: SMART_MODE_CLASSIFIER_DECISION_UNSPECIFIED = 0;
3716
+ */
3717
+ UNSPECIFIED: 0,
3718
+ /**
3719
+ * @generated from enum value: SMART_MODE_CLASSIFIER_DECISION_ALLOW = 1;
3720
+ */
3721
+ ALLOW: 1,
3722
+ /**
3723
+ * @generated from enum value: SMART_MODE_CLASSIFIER_DECISION_BLOCK = 2;
3724
+ */
3725
+ BLOCK: 2,
3726
+ };
3727
+ /**
3728
+ * Describes the enum agent.v1.SmartModeClassifierDecision.
3729
+ */
3730
+ export const SmartModeClassifierDecisionSchema = /*@__PURE__*/ enumDesc(file_agent, 23);
3731
+ /**
3732
+ * @generated from enum agent.v1.ConversationSearchSource
3733
+ */
3734
+ export const ConversationSearchSource = {
3735
+ /**
3736
+ * @generated from enum value: CONVERSATION_SEARCH_SOURCE_UNSPECIFIED = 0;
3737
+ */
3738
+ UNSPECIFIED: 0,
3739
+ /**
3740
+ * @generated from enum value: CONVERSATION_SEARCH_SOURCE_LOCAL = 1;
3741
+ */
3742
+ LOCAL: 1,
3743
+ /**
3744
+ * @generated from enum value: CONVERSATION_SEARCH_SOURCE_CLOUD_CACHE = 2;
3745
+ */
3746
+ CLOUD_CACHE: 2,
3747
+ };
3748
+ /**
3749
+ * Describes the enum agent.v1.ConversationSearchSource.
3750
+ */
3751
+ export const ConversationSearchSourceSchema = /*@__PURE__*/ enumDesc(file_agent, 24);
3752
+ /**
3753
+ * @generated from enum agent.v1.GetDiffRequest_OutputFormat
3754
+ */
3755
+ export const GetDiffRequest_OutputFormat = {
3756
+ /**
3757
+ * @generated from enum value: OUTPUT_FORMAT_UNSPECIFIED = 0;
3758
+ */
3759
+ OUTPUT_FORMAT_UNSPECIFIED: 0,
3760
+ /**
3761
+ * @generated from enum value: OUTPUT_FORMAT_NAME_STATUS = 1;
3762
+ */
3763
+ OUTPUT_FORMAT_NAME_STATUS: 1,
3764
+ /**
3765
+ * @generated from enum value: OUTPUT_FORMAT_NAME_STATUS_AND_NUMSTAT = 2;
3766
+ */
3767
+ OUTPUT_FORMAT_NAME_STATUS_AND_NUMSTAT: 2,
3768
+ /**
3769
+ * @generated from enum value: OUTPUT_FORMAT_FILE_DIFFS = 3;
3770
+ */
3771
+ OUTPUT_FORMAT_FILE_DIFFS: 3,
3772
+ /**
3773
+ * @generated from enum value: OUTPUT_FORMAT_DIFFS_WITH_BEFORE_AND_AFTER = 4;
3774
+ */
3775
+ OUTPUT_FORMAT_DIFFS_WITH_BEFORE_AND_AFTER: 4,
3776
+ };
3777
+ /**
3778
+ * Describes the enum agent.v1.GetDiffRequest_OutputFormat.
3779
+ */
3780
+ export const GetDiffRequest_OutputFormatSchema = /*@__PURE__*/ enumDesc(file_agent, 25);
3781
+ /**
3782
+ * @generated from enum agent.v1.GitDiff_DiffType
3783
+ */
3784
+ export const GitDiff_DiffType = {
3785
+ /**
3786
+ * @generated from enum value: DIFF_TYPE_UNSPECIFIED = 0;
3787
+ */
3788
+ DIFF_TYPE_UNSPECIFIED: 0,
3789
+ /**
3790
+ * @generated from enum value: DIFF_TYPE_DIFF_TO_HEAD = 1;
3791
+ */
3792
+ DIFF_TYPE_DIFF_TO_HEAD: 1,
3793
+ /**
3794
+ * @generated from enum value: DIFF_TYPE_DIFF_FROM_BRANCH_TO_MAIN = 2;
3795
+ */
3796
+ DIFF_TYPE_DIFF_FROM_BRANCH_TO_MAIN: 2,
3797
+ };
3798
+ /**
3799
+ * Describes the enum agent.v1.GitDiff_DiffType.
3800
+ */
3801
+ export const GitDiff_DiffTypeSchema = /*@__PURE__*/ enumDesc(file_agent, 26);
3802
+ /**
3803
+ * Agent Service with bidirectional streaming
3804
+ *
3805
+ * @generated from service agent.v1.AgentService
3806
+ */
3807
+ export const AgentService = /*@__PURE__*/ serviceDesc(file_agent, 0);
3808
+ /**
3809
+ * @generated from service agent.v1.ControlService
3810
+ */
3811
+ export const ControlService = /*@__PURE__*/ serviceDesc(file_agent, 1);
3812
+ /**
3813
+ * Agent Service with unary RPC
3814
+ *
3815
+ * @generated from service agent.v1.ExecService
3816
+ */
3817
+ export const ExecService = /*@__PURE__*/ serviceDesc(file_agent, 2);
3818
+ /**
3819
+ * @generated from service agent.v1.PrivateWorkerBridgeExternalService
3820
+ */
3821
+ export const PrivateWorkerBridgeExternalService = /*@__PURE__*/ serviceDesc(file_agent, 3);
3822
+ /**
3823
+ * LifecycleService is exposed by the bridge *client*, in addition to ExecService (tool calls) and ControlService (control operations "within the daemon"). It operates at a similar abstraction level as AnyrunService: it represents operations similar to creating a VM, checking out a repository, etc.
3824
+ *
3825
+ * @generated from service agent.v1.LifecycleService
3826
+ */
3827
+ export const LifecycleService = /*@__PURE__*/ serviceDesc(file_agent, 4);
3828
+ //# sourceMappingURL=agent_pb.js.map