@dxos/protocols 0.8.4-main.c1de068 → 0.8.4-main.c85a9c8dae

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 (377) hide show
  1. package/README.md +1 -1
  2. package/dist/src/FeedProtocol.d.ts +528 -0
  3. package/dist/src/FeedProtocol.d.ts.map +1 -0
  4. package/dist/src/FeedProtocol.js +237 -0
  5. package/dist/src/FeedProtocol.js.map +1 -0
  6. package/dist/src/FunctionProtocol.d.ts +82 -0
  7. package/dist/src/FunctionProtocol.d.ts.map +1 -0
  8. package/dist/src/FunctionProtocol.js +4 -0
  9. package/dist/src/FunctionProtocol.js.map +1 -0
  10. package/dist/src/automerge.d.ts +8 -0
  11. package/dist/src/automerge.d.ts.map +1 -1
  12. package/dist/src/automerge.js.map +1 -1
  13. package/dist/src/buf/proto/gen/dxos/agent/dashboard_pb.d.ts +1 -1
  14. package/dist/src/buf/proto/gen/dxos/agent/dashboard_pb.js +1 -1
  15. package/dist/src/buf/proto/gen/dxos/agent/echo-proxy_pb.d.ts +1 -1
  16. package/dist/src/buf/proto/gen/dxos/agent/echo-proxy_pb.js +1 -1
  17. package/dist/src/buf/proto/gen/dxos/agent/epoch_pb.d.ts +1 -1
  18. package/dist/src/buf/proto/gen/dxos/agent/epoch_pb.js +1 -1
  19. package/dist/src/buf/proto/gen/dxos/agent/functions_pb.d.ts +1 -1
  20. package/dist/src/buf/proto/gen/dxos/agent/functions_pb.js +1 -1
  21. package/dist/src/buf/proto/gen/dxos/bot_pb.d.ts +1 -1
  22. package/dist/src/buf/proto/gen/dxos/bot_pb.js +1 -1
  23. package/dist/src/buf/proto/gen/dxos/client/invitation_pb.d.ts +1 -1
  24. package/dist/src/buf/proto/gen/dxos/client/invitation_pb.js +1 -1
  25. package/dist/src/buf/proto/gen/dxos/client/logging_pb.d.ts +1 -1
  26. package/dist/src/buf/proto/gen/dxos/client/logging_pb.js +1 -1
  27. package/dist/src/buf/proto/gen/dxos/client/queue_pb.d.ts +231 -0
  28. package/dist/src/buf/proto/gen/dxos/client/queue_pb.d.ts.map +1 -0
  29. package/dist/src/buf/proto/gen/dxos/client/queue_pb.js +44 -0
  30. package/dist/src/buf/proto/gen/dxos/client/queue_pb.js.map +1 -0
  31. package/dist/src/buf/proto/gen/dxos/client/services_pb.d.ts +70 -20
  32. package/dist/src/buf/proto/gen/dxos/client/services_pb.d.ts.map +1 -1
  33. package/dist/src/buf/proto/gen/dxos/client/services_pb.js +32 -23
  34. package/dist/src/buf/proto/gen/dxos/client/services_pb.js.map +1 -1
  35. package/dist/src/buf/proto/gen/dxos/config_pb.d.ts +36 -7
  36. package/dist/src/buf/proto/gen/dxos/config_pb.d.ts.map +1 -1
  37. package/dist/src/buf/proto/gen/dxos/config_pb.js +7 -2
  38. package/dist/src/buf/proto/gen/dxos/config_pb.js.map +1 -1
  39. package/dist/src/buf/proto/gen/dxos/devtools/diagnostics_pb.d.ts +1 -1
  40. package/dist/src/buf/proto/gen/dxos/devtools/diagnostics_pb.js +1 -1
  41. package/dist/src/buf/proto/gen/dxos/devtools/host_pb.d.ts +1 -1
  42. package/dist/src/buf/proto/gen/dxos/devtools/host_pb.js +1 -1
  43. package/dist/src/buf/proto/gen/dxos/devtools/swarm_pb.d.ts +1 -1
  44. package/dist/src/buf/proto/gen/dxos/devtools/swarm_pb.js +1 -1
  45. package/dist/src/buf/proto/gen/dxos/echo/blob_pb.d.ts +1 -1
  46. package/dist/src/buf/proto/gen/dxos/echo/blob_pb.js +1 -1
  47. package/dist/src/buf/proto/gen/dxos/echo/feed_pb.d.ts +1 -1
  48. package/dist/src/buf/proto/gen/dxos/echo/feed_pb.js +1 -1
  49. package/dist/src/buf/proto/gen/dxos/echo/filter_pb.d.ts +1 -1
  50. package/dist/src/buf/proto/gen/dxos/echo/filter_pb.js +1 -1
  51. package/dist/src/buf/proto/gen/dxos/echo/indexing_pb.d.ts +1 -1
  52. package/dist/src/buf/proto/gen/dxos/echo/indexing_pb.js +1 -1
  53. package/dist/src/buf/proto/gen/dxos/echo/metadata_pb.d.ts +1 -1
  54. package/dist/src/buf/proto/gen/dxos/echo/metadata_pb.js +1 -1
  55. package/dist/src/buf/proto/gen/dxos/echo/model/document_pb.d.ts +1 -1
  56. package/dist/src/buf/proto/gen/dxos/echo/model/document_pb.js +1 -1
  57. package/dist/src/buf/proto/gen/dxos/echo/model/messenger_pb.d.ts +1 -1
  58. package/dist/src/buf/proto/gen/dxos/echo/model/messenger_pb.js +1 -1
  59. package/dist/src/buf/proto/gen/dxos/echo/model/text_pb.d.ts +1 -1
  60. package/dist/src/buf/proto/gen/dxos/echo/model/text_pb.js +1 -1
  61. package/dist/src/buf/proto/gen/dxos/echo/object_pb.d.ts +1 -1
  62. package/dist/src/buf/proto/gen/dxos/echo/object_pb.js +1 -1
  63. package/dist/src/buf/proto/gen/dxos/echo/query_pb.d.ts +13 -3
  64. package/dist/src/buf/proto/gen/dxos/echo/query_pb.d.ts.map +1 -1
  65. package/dist/src/buf/proto/gen/dxos/echo/query_pb.js +2 -2
  66. package/dist/src/buf/proto/gen/dxos/echo/query_pb.js.map +1 -1
  67. package/dist/src/buf/proto/gen/dxos/echo/service_pb.d.ts +71 -10
  68. package/dist/src/buf/proto/gen/dxos/echo/service_pb.d.ts.map +1 -1
  69. package/dist/src/buf/proto/gen/dxos/echo/service_pb.js +16 -6
  70. package/dist/src/buf/proto/gen/dxos/echo/service_pb.js.map +1 -1
  71. package/dist/src/buf/proto/gen/dxos/echo/snapshot_pb.d.ts +1 -1
  72. package/dist/src/buf/proto/gen/dxos/echo/snapshot_pb.js +1 -1
  73. package/dist/src/buf/proto/gen/dxos/echo/timeframe_pb.d.ts +1 -1
  74. package/dist/src/buf/proto/gen/dxos/echo/timeframe_pb.js +1 -1
  75. package/dist/src/buf/proto/gen/dxos/edge/calls_pb.d.ts +1 -1
  76. package/dist/src/buf/proto/gen/dxos/edge/calls_pb.js +1 -1
  77. package/dist/src/buf/proto/gen/dxos/edge/messenger_pb.d.ts +1 -1
  78. package/dist/src/buf/proto/gen/dxos/edge/messenger_pb.js +1 -1
  79. package/dist/src/buf/proto/gen/dxos/edge/signal_pb.d.ts +1 -1
  80. package/dist/src/buf/proto/gen/dxos/edge/signal_pb.js +1 -1
  81. package/dist/src/buf/proto/gen/dxos/error_pb.d.ts +1 -1
  82. package/dist/src/buf/proto/gen/dxos/error_pb.js +1 -1
  83. package/dist/src/buf/proto/gen/dxos/field_options_pb.d.ts +1 -1
  84. package/dist/src/buf/proto/gen/dxos/field_options_pb.js +1 -1
  85. package/dist/src/buf/proto/gen/dxos/google_pb.d.ts +1 -1
  86. package/dist/src/buf/proto/gen/dxos/google_pb.js +2 -2
  87. package/dist/src/buf/proto/gen/dxos/google_pb.js.map +1 -1
  88. package/dist/src/buf/proto/gen/dxos/gravity_pb.d.ts +1 -1
  89. package/dist/src/buf/proto/gen/dxos/gravity_pb.js +1 -1
  90. package/dist/src/buf/proto/gen/dxos/halo/credentials/auth_pb.d.ts +1 -1
  91. package/dist/src/buf/proto/gen/dxos/halo/credentials/auth_pb.js +1 -1
  92. package/dist/src/buf/proto/gen/dxos/halo/credentials/greet_pb.d.ts +1 -1
  93. package/dist/src/buf/proto/gen/dxos/halo/credentials/greet_pb.js +1 -1
  94. package/dist/src/buf/proto/gen/dxos/halo/credentials/identity_pb.d.ts +1 -1
  95. package/dist/src/buf/proto/gen/dxos/halo/credentials/identity_pb.js +1 -1
  96. package/dist/src/buf/proto/gen/dxos/halo/credentials_pb.d.ts +1 -1
  97. package/dist/src/buf/proto/gen/dxos/halo/credentials_pb.js +1 -1
  98. package/dist/src/buf/proto/gen/dxos/halo/invitations_pb.d.ts +1 -1
  99. package/dist/src/buf/proto/gen/dxos/halo/invitations_pb.js +1 -1
  100. package/dist/src/buf/proto/gen/dxos/halo/keyring_pb.d.ts +1 -1
  101. package/dist/src/buf/proto/gen/dxos/halo/keyring_pb.js +1 -1
  102. package/dist/src/buf/proto/gen/dxos/halo/keys_pb.d.ts +1 -1
  103. package/dist/src/buf/proto/gen/dxos/halo/keys_pb.js +1 -1
  104. package/dist/src/buf/proto/gen/dxos/halo/signed_pb.d.ts +1 -1
  105. package/dist/src/buf/proto/gen/dxos/halo/signed_pb.js +1 -1
  106. package/dist/src/buf/proto/gen/dxos/iframe_pb.d.ts +2 -1
  107. package/dist/src/buf/proto/gen/dxos/iframe_pb.d.ts.map +1 -1
  108. package/dist/src/buf/proto/gen/dxos/iframe_pb.js +1 -1
  109. package/dist/src/buf/proto/gen/dxos/iframe_pb.js.map +1 -1
  110. package/dist/src/buf/proto/gen/dxos/keys_pb.d.ts +1 -1
  111. package/dist/src/buf/proto/gen/dxos/keys_pb.js +1 -1
  112. package/dist/src/buf/proto/gen/dxos/mesh/bridge_pb.d.ts +1 -1
  113. package/dist/src/buf/proto/gen/dxos/mesh/bridge_pb.js +1 -1
  114. package/dist/src/buf/proto/gen/dxos/mesh/broadcast_pb.d.ts +1 -1
  115. package/dist/src/buf/proto/gen/dxos/mesh/broadcast_pb.js +1 -1
  116. package/dist/src/buf/proto/gen/dxos/mesh/messaging_pb.d.ts +1 -1
  117. package/dist/src/buf/proto/gen/dxos/mesh/messaging_pb.js +1 -1
  118. package/dist/src/buf/proto/gen/dxos/mesh/muxer_pb.d.ts +1 -1
  119. package/dist/src/buf/proto/gen/dxos/mesh/muxer_pb.js +1 -1
  120. package/dist/src/buf/proto/gen/dxos/mesh/presence_pb.d.ts +1 -1
  121. package/dist/src/buf/proto/gen/dxos/mesh/presence_pb.js +1 -1
  122. package/dist/src/buf/proto/gen/dxos/mesh/protocol_pb.d.ts +1 -1
  123. package/dist/src/buf/proto/gen/dxos/mesh/protocol_pb.js +1 -1
  124. package/dist/src/buf/proto/gen/dxos/mesh/replicator_pb.d.ts +1 -1
  125. package/dist/src/buf/proto/gen/dxos/mesh/replicator_pb.js +1 -1
  126. package/dist/src/buf/proto/gen/dxos/mesh/signal_pb.d.ts +1 -1
  127. package/dist/src/buf/proto/gen/dxos/mesh/signal_pb.js +1 -1
  128. package/dist/src/buf/proto/gen/dxos/mesh/swarm_pb.d.ts +1 -1
  129. package/dist/src/buf/proto/gen/dxos/mesh/swarm_pb.js +1 -1
  130. package/dist/src/buf/proto/gen/dxos/mesh/teleport/admission-discovery_pb.d.ts +1 -1
  131. package/dist/src/buf/proto/gen/dxos/mesh/teleport/admission-discovery_pb.js +1 -1
  132. package/dist/src/buf/proto/gen/dxos/mesh/teleport/auth_pb.d.ts +1 -1
  133. package/dist/src/buf/proto/gen/dxos/mesh/teleport/auth_pb.js +1 -1
  134. package/dist/src/buf/proto/gen/dxos/mesh/teleport/automerge_pb.d.ts +1 -1
  135. package/dist/src/buf/proto/gen/dxos/mesh/teleport/automerge_pb.js +1 -1
  136. package/dist/src/buf/proto/gen/dxos/mesh/teleport/blobsync_pb.d.ts +1 -1
  137. package/dist/src/buf/proto/gen/dxos/mesh/teleport/blobsync_pb.js +1 -1
  138. package/dist/src/buf/proto/gen/dxos/mesh/teleport/control_pb.d.ts +1 -1
  139. package/dist/src/buf/proto/gen/dxos/mesh/teleport/control_pb.js +1 -1
  140. package/dist/src/buf/proto/gen/dxos/mesh/teleport/gossip_pb.d.ts +1 -1
  141. package/dist/src/buf/proto/gen/dxos/mesh/teleport/gossip_pb.js +1 -1
  142. package/dist/src/buf/proto/gen/dxos/mesh/teleport/notarization_pb.d.ts +1 -1
  143. package/dist/src/buf/proto/gen/dxos/mesh/teleport/notarization_pb.js +1 -1
  144. package/dist/src/buf/proto/gen/dxos/mesh/teleport/replicator_pb.d.ts +1 -1
  145. package/dist/src/buf/proto/gen/dxos/mesh/teleport/replicator_pb.js +1 -1
  146. package/dist/src/buf/proto/gen/dxos/registry_pb.d.ts +1 -1
  147. package/dist/src/buf/proto/gen/dxos/registry_pb.js +1 -1
  148. package/dist/src/buf/proto/gen/dxos/rpc_pb.d.ts +1 -1
  149. package/dist/src/buf/proto/gen/dxos/rpc_pb.js +1 -1
  150. package/dist/src/buf/proto/gen/dxos/service/agentmanager_pb.d.ts +1 -1
  151. package/dist/src/buf/proto/gen/dxos/service/agentmanager_pb.js +1 -1
  152. package/dist/src/buf/proto/gen/dxos/service/publisher_pb.d.ts +1 -1
  153. package/dist/src/buf/proto/gen/dxos/service/publisher_pb.js +1 -1
  154. package/dist/src/buf/proto/gen/dxos/service/supervisor_pb.d.ts +1 -1
  155. package/dist/src/buf/proto/gen/dxos/service/supervisor_pb.js +1 -1
  156. package/dist/src/buf/proto/gen/dxos/service/tunnel_pb.d.ts +1 -1
  157. package/dist/src/buf/proto/gen/dxos/service/tunnel_pb.js +1 -1
  158. package/dist/src/buf/proto/gen/dxos/tracing_pb.d.ts +1 -1
  159. package/dist/src/buf/proto/gen/dxos/tracing_pb.js +2 -2
  160. package/dist/src/buf/proto/gen/dxos/tracing_pb.js.map +1 -1
  161. package/dist/src/buf/proto/gen/dxos/type_pb.d.ts +1 -1
  162. package/dist/src/buf/proto/gen/dxos/type_pb.js +1 -1
  163. package/dist/src/buf/proto/gen/dxos/value_pb.d.ts +1 -1
  164. package/dist/src/buf/proto/gen/dxos/value_pb.js +1 -1
  165. package/dist/src/buf/proto/gen/example/testing/data_pb.d.ts +1 -1
  166. package/dist/src/buf/proto/gen/example/testing/data_pb.js +1 -1
  167. package/dist/src/buf/proto/gen/example/testing/rpc_pb.d.ts +1 -1
  168. package/dist/src/buf/proto/gen/example/testing/rpc_pb.js +1 -1
  169. package/dist/src/codec.test.js +1 -1
  170. package/dist/src/edge/EdgeFunctionEnv.d.ts +121 -0
  171. package/dist/src/edge/EdgeFunctionEnv.d.ts.map +1 -0
  172. package/dist/src/edge/EdgeFunctionEnv.js +4 -0
  173. package/dist/src/edge/EdgeFunctionEnv.js.map +1 -0
  174. package/dist/src/edge/edge.d.ts +353 -0
  175. package/dist/src/edge/edge.d.ts.map +1 -0
  176. package/dist/src/edge/edge.js +169 -0
  177. package/dist/src/edge/edge.js.map +1 -0
  178. package/dist/src/edge/errors.d.ts +29 -0
  179. package/dist/src/edge/errors.d.ts.map +1 -0
  180. package/dist/src/edge/errors.js +69 -0
  181. package/dist/src/edge/errors.js.map +1 -0
  182. package/dist/src/edge/index.d.ts +4 -0
  183. package/dist/src/edge/index.d.ts.map +1 -0
  184. package/dist/src/edge/index.js +7 -0
  185. package/dist/src/edge/index.js.map +1 -0
  186. package/dist/src/errors/base-errors.d.ts +86 -8
  187. package/dist/src/errors/base-errors.d.ts.map +1 -1
  188. package/dist/src/errors/base-errors.js +4 -19
  189. package/dist/src/errors/base-errors.js.map +1 -1
  190. package/dist/src/errors/encoding.d.ts +2 -2
  191. package/dist/src/errors/encoding.d.ts.map +1 -1
  192. package/dist/src/errors/encoding.js +1 -1
  193. package/dist/src/errors/encoding.js.map +1 -1
  194. package/dist/src/errors/errors.d.ts +619 -42
  195. package/dist/src/errors/errors.d.ts.map +1 -1
  196. package/dist/src/errors/errors.js +50 -104
  197. package/dist/src/errors/errors.js.map +1 -1
  198. package/dist/src/errors/errors.test.js +2 -2
  199. package/dist/src/errors/errors.test.js.map +1 -1
  200. package/dist/src/errors/helpers.d.ts +9 -5
  201. package/dist/src/errors/helpers.d.ts.map +1 -1
  202. package/dist/src/errors/helpers.js +3 -3
  203. package/dist/src/errors/helpers.js.map +1 -1
  204. package/dist/src/errors/index.d.ts +5 -5
  205. package/dist/src/errors/index.js +5 -5
  206. package/dist/src/feed-replication.d.ts.map +1 -1
  207. package/dist/src/index.d.ts +12 -12
  208. package/dist/src/index.d.ts.map +1 -1
  209. package/dist/src/index.js +11 -10
  210. package/dist/src/index.js.map +1 -1
  211. package/dist/src/indexing.d.ts +1 -1
  212. package/dist/src/indexing.d.ts.map +1 -1
  213. package/dist/src/indexing.js +1 -1
  214. package/dist/src/indexing.js.map +1 -1
  215. package/dist/src/indexing.test.js +1 -1
  216. package/dist/src/invitation.d.ts +1 -1
  217. package/dist/src/invitation.d.ts.map +1 -1
  218. package/dist/src/invitation.js +1 -1
  219. package/dist/src/invitation.js.map +1 -1
  220. package/dist/src/messenger.d.ts +16 -0
  221. package/dist/src/messenger.d.ts.map +1 -0
  222. package/dist/src/messenger.js +4 -0
  223. package/dist/src/messenger.js.map +1 -0
  224. package/dist/src/proto/gen/dxos/client/services.d.ts +300 -145
  225. package/dist/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  226. package/dist/src/proto/gen/dxos/client/services.js +37 -33
  227. package/dist/src/proto/gen/dxos/client/services.js.map +1 -1
  228. package/dist/src/proto/gen/dxos/config.d.ts +28 -2
  229. package/dist/src/proto/gen/dxos/config.d.ts.map +1 -1
  230. package/dist/src/proto/gen/dxos/config.js.map +1 -1
  231. package/dist/src/proto/gen/dxos/devtools/host.d.ts +31 -31
  232. package/dist/src/proto/gen/dxos/devtools/host.d.ts.map +1 -1
  233. package/dist/src/proto/gen/dxos/echo/query.d.ts +17 -1
  234. package/dist/src/proto/gen/dxos/echo/query.d.ts.map +1 -1
  235. package/dist/src/proto/gen/dxos/echo/query.js.map +1 -1
  236. package/dist/src/proto/gen/dxos/echo/service.d.ts +43 -8
  237. package/dist/src/proto/gen/dxos/echo/service.d.ts.map +1 -1
  238. package/dist/src/proto/gen/google/protobuf.d.ts +31 -31
  239. package/dist/src/proto/gen/google/protobuf.d.ts.map +1 -1
  240. package/dist/src/proto/gen/google/protobuf.js.map +1 -1
  241. package/dist/src/proto/gen/index.d.ts +11 -0
  242. package/dist/src/proto/gen/index.d.ts.map +1 -1
  243. package/dist/src/proto/gen/index.js +1 -1
  244. package/dist/src/proto/gen/index.js.map +1 -1
  245. package/dist/src/proto/index.d.ts +2 -2
  246. package/dist/src/proto/index.js +1 -1
  247. package/dist/src/proto/types.d.ts +1 -1
  248. package/dist/src/types.d.ts +2 -2
  249. package/dist/tsconfig.tsbuildinfo +1 -1
  250. package/package.json +19 -17
  251. package/src/FeedProtocol.ts +320 -0
  252. package/src/FunctionProtocol.ts +102 -0
  253. package/src/automerge.ts +8 -0
  254. package/src/buf/proto/gen/dxos/agent/dashboard_pb.ts +3 -3
  255. package/src/buf/proto/gen/dxos/agent/echo-proxy_pb.ts +3 -3
  256. package/src/buf/proto/gen/dxos/agent/epoch_pb.ts +3 -3
  257. package/src/buf/proto/gen/dxos/agent/functions_pb.ts +3 -3
  258. package/src/buf/proto/gen/dxos/bot_pb.ts +3 -3
  259. package/src/buf/proto/gen/dxos/client/invitation_pb.ts +3 -3
  260. package/src/buf/proto/gen/dxos/client/logging_pb.ts +3 -3
  261. package/src/buf/proto/gen/dxos/client/queue_pb.ts +280 -0
  262. package/src/buf/proto/gen/dxos/client/services_pb.ts +89 -29
  263. package/src/buf/proto/gen/dxos/config_pb.ts +43 -10
  264. package/src/buf/proto/gen/dxos/devtools/diagnostics_pb.ts +3 -3
  265. package/src/buf/proto/gen/dxos/devtools/host_pb.ts +3 -3
  266. package/src/buf/proto/gen/dxos/devtools/swarm_pb.ts +3 -3
  267. package/src/buf/proto/gen/dxos/echo/blob_pb.ts +3 -3
  268. package/src/buf/proto/gen/dxos/echo/feed_pb.ts +3 -3
  269. package/src/buf/proto/gen/dxos/echo/filter_pb.ts +3 -3
  270. package/src/buf/proto/gen/dxos/echo/indexing_pb.ts +3 -3
  271. package/src/buf/proto/gen/dxos/echo/metadata_pb.ts +3 -3
  272. package/src/buf/proto/gen/dxos/echo/model/document_pb.ts +3 -3
  273. package/src/buf/proto/gen/dxos/echo/model/messenger_pb.ts +3 -3
  274. package/src/buf/proto/gen/dxos/echo/model/text_pb.ts +3 -3
  275. package/src/buf/proto/gen/dxos/echo/object_pb.ts +3 -3
  276. package/src/buf/proto/gen/dxos/echo/query_pb.ts +18 -6
  277. package/src/buf/proto/gen/dxos/echo/service_pb.ts +87 -18
  278. package/src/buf/proto/gen/dxos/echo/snapshot_pb.ts +3 -3
  279. package/src/buf/proto/gen/dxos/echo/timeframe_pb.ts +3 -3
  280. package/src/buf/proto/gen/dxos/edge/calls_pb.ts +3 -3
  281. package/src/buf/proto/gen/dxos/edge/messenger_pb.ts +3 -3
  282. package/src/buf/proto/gen/dxos/edge/signal_pb.ts +3 -3
  283. package/src/buf/proto/gen/dxos/error_pb.ts +3 -3
  284. package/src/buf/proto/gen/dxos/field_options_pb.ts +3 -3
  285. package/src/buf/proto/gen/dxos/google_pb.ts +3 -3
  286. package/src/buf/proto/gen/dxos/gravity_pb.ts +3 -3
  287. package/src/buf/proto/gen/dxos/halo/credentials/auth_pb.ts +3 -3
  288. package/src/buf/proto/gen/dxos/halo/credentials/greet_pb.ts +3 -3
  289. package/src/buf/proto/gen/dxos/halo/credentials/identity_pb.ts +3 -3
  290. package/src/buf/proto/gen/dxos/halo/credentials_pb.ts +3 -3
  291. package/src/buf/proto/gen/dxos/halo/invitations_pb.ts +3 -3
  292. package/src/buf/proto/gen/dxos/halo/keyring_pb.ts +3 -3
  293. package/src/buf/proto/gen/dxos/halo/keys_pb.ts +3 -3
  294. package/src/buf/proto/gen/dxos/halo/signed_pb.ts +3 -3
  295. package/src/buf/proto/gen/dxos/iframe_pb.ts +4 -3
  296. package/src/buf/proto/gen/dxos/keys_pb.ts +3 -3
  297. package/src/buf/proto/gen/dxos/mesh/bridge_pb.ts +3 -3
  298. package/src/buf/proto/gen/dxos/mesh/broadcast_pb.ts +3 -3
  299. package/src/buf/proto/gen/dxos/mesh/messaging_pb.ts +3 -3
  300. package/src/buf/proto/gen/dxos/mesh/muxer_pb.ts +3 -3
  301. package/src/buf/proto/gen/dxos/mesh/presence_pb.ts +3 -3
  302. package/src/buf/proto/gen/dxos/mesh/protocol_pb.ts +3 -3
  303. package/src/buf/proto/gen/dxos/mesh/replicator_pb.ts +3 -3
  304. package/src/buf/proto/gen/dxos/mesh/signal_pb.ts +3 -3
  305. package/src/buf/proto/gen/dxos/mesh/swarm_pb.ts +3 -3
  306. package/src/buf/proto/gen/dxos/mesh/teleport/admission-discovery_pb.ts +3 -3
  307. package/src/buf/proto/gen/dxos/mesh/teleport/auth_pb.ts +3 -3
  308. package/src/buf/proto/gen/dxos/mesh/teleport/automerge_pb.ts +3 -3
  309. package/src/buf/proto/gen/dxos/mesh/teleport/blobsync_pb.ts +3 -3
  310. package/src/buf/proto/gen/dxos/mesh/teleport/control_pb.ts +3 -3
  311. package/src/buf/proto/gen/dxos/mesh/teleport/gossip_pb.ts +3 -3
  312. package/src/buf/proto/gen/dxos/mesh/teleport/notarization_pb.ts +3 -3
  313. package/src/buf/proto/gen/dxos/mesh/teleport/replicator_pb.ts +3 -3
  314. package/src/buf/proto/gen/dxos/registry_pb.ts +3 -3
  315. package/src/buf/proto/gen/dxos/rpc_pb.ts +3 -3
  316. package/src/buf/proto/gen/dxos/service/agentmanager_pb.ts +3 -3
  317. package/src/buf/proto/gen/dxos/service/publisher_pb.ts +3 -3
  318. package/src/buf/proto/gen/dxos/service/supervisor_pb.ts +3 -3
  319. package/src/buf/proto/gen/dxos/service/tunnel_pb.ts +3 -3
  320. package/src/buf/proto/gen/dxos/tracing_pb.ts +3 -3
  321. package/src/buf/proto/gen/dxos/type_pb.ts +3 -3
  322. package/src/buf/proto/gen/dxos/value_pb.ts +3 -3
  323. package/src/buf/proto/gen/example/testing/data_pb.ts +3 -3
  324. package/src/buf/proto/gen/example/testing/rpc_pb.ts +3 -3
  325. package/src/codec.test.ts +1 -1
  326. package/src/edge/EdgeFunctionEnv.ts +203 -0
  327. package/src/edge/edge.ts +493 -0
  328. package/src/edge/errors.ts +85 -0
  329. package/src/edge/index.ts +7 -0
  330. package/src/errors/base-errors.ts +4 -20
  331. package/src/errors/encoding.ts +3 -2
  332. package/src/errors/errors.test.ts +2 -2
  333. package/src/errors/errors.ts +58 -123
  334. package/src/errors/helpers.ts +6 -6
  335. package/src/errors/index.ts +5 -5
  336. package/src/feed-replication.ts +1 -0
  337. package/src/index.ts +12 -12
  338. package/src/indexing.test.ts +1 -1
  339. package/src/indexing.ts +1 -1
  340. package/src/invitation.ts +1 -1
  341. package/src/messenger.ts +22 -0
  342. package/src/proto/dxos/client/queue.proto +78 -0
  343. package/src/proto/dxos/client/services.proto +21 -3
  344. package/src/proto/dxos/config.proto +36 -40
  345. package/src/proto/dxos/echo/query.proto +4 -1
  346. package/src/proto/dxos/echo/service.proto +38 -6
  347. package/src/proto/dxos/iframe.proto +1 -0
  348. package/src/proto/gen/dxos/client/services.ts +300 -145
  349. package/src/proto/gen/dxos/config.ts +28 -2
  350. package/src/proto/gen/dxos/devtools/host.ts +31 -31
  351. package/src/proto/gen/dxos/echo/query.ts +17 -1
  352. package/src/proto/gen/dxos/echo/service.ts +42 -8
  353. package/src/proto/gen/google/protobuf.ts +31 -31
  354. package/src/proto/gen/index.ts +12 -1
  355. package/src/proto/index.ts +2 -2
  356. package/src/proto/types.ts +1 -1
  357. package/src/types.ts +2 -2
  358. package/dist/src/edge-error.d.ts +0 -26
  359. package/dist/src/edge-error.d.ts.map +0 -1
  360. package/dist/src/edge-error.js +0 -62
  361. package/dist/src/edge-error.js.map +0 -1
  362. package/dist/src/edge.d.ts +0 -198
  363. package/dist/src/edge.d.ts.map +0 -1
  364. package/dist/src/edge.js +0 -43
  365. package/dist/src/edge.js.map +0 -1
  366. package/dist/src/query.d.ts +0 -5
  367. package/dist/src/query.d.ts.map +0 -1
  368. package/dist/src/query.js +0 -8
  369. package/dist/src/query.js.map +0 -1
  370. package/dist/src/queue.d.ts +0 -24
  371. package/dist/src/queue.d.ts.map +0 -1
  372. package/dist/src/queue.js +0 -4
  373. package/dist/src/queue.js.map +0 -1
  374. package/src/edge-error.ts +0 -79
  375. package/src/edge.ts +0 -222
  376. package/src/query.ts +0 -8
  377. package/src/queue.ts +0 -33
@@ -0,0 +1,280 @@
1
+ // @generated by protoc-gen-es v2.11.0 with parameter "target=ts,import_extension=js"
2
+ // @generated from file dxos/client/queue.proto (package dxos.client.services, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
6
+ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
7
+ import type { EmptySchema } from "@bufbuild/protobuf/wkt";
8
+ import { file_google_protobuf_empty, file_google_protobuf_struct } from "@bufbuild/protobuf/wkt";
9
+ import type { JsonObject, Message } from "@bufbuild/protobuf";
10
+
11
+ /**
12
+ * Describes the file dxos/client/queue.proto.
13
+ */
14
+ export const file_dxos_client_queue: GenFile = /*@__PURE__*/
15
+ fileDesc("ChdkeG9zL2NsaWVudC9xdWV1ZS5wcm90bxIUZHhvcy5jbGllbnQuc2VydmljZXMi0wIKClF1ZXVlUXVlcnkSEAoIc3BhY2VfaWQYASABKAkSHQoQcXVldWVzX25hbWVzcGFjZRgCIAEoCUgAiAEBEhEKCXF1ZXVlX2lkcxgDIAMoCRISCgVhZnRlchgEIAEoCUgBiAEBEhMKBmJlZm9yZRgFIAEoCUgCiAEBEhsKDmJlZ2luX3Bvc2l0aW9uGAYgASgDSAOIAQESGQoMZW5kX3Bvc2l0aW9uGAcgASgDSASIAQESEgoFbGltaXQYCCABKAVIBYgBARIUCgdyZXZlcnNlGAkgASgISAaIAQESEgoKb2JqZWN0X2lkcxhkIAMoCUITChFfcXVldWVzX25hbWVzcGFjZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIRCg9fYmVnaW5fcG9zaXRpb25CDwoNX2VuZF9wb3NpdGlvbkIICgZfbGltaXRCCgoIX3JldmVyc2UiZgoQUXVldWVRdWVyeVJlc3VsdBIoCgdvYmplY3RzGAEgAygLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBITCgtuZXh0X2N1cnNvchgCIAEoCRITCgtwcmV2X2N1cnNvchgDIAEoCSJEChFRdWVyeVF1ZXVlUmVxdWVzdBIvCgVxdWVyeRgBIAEoCzIgLmR4b3MuY2xpZW50LnNlcnZpY2VzLlF1ZXVlUXVlcnkifAoWSW5zZXJ0SW50b1F1ZXVlUmVxdWVzdBIUCgxzdWJzcGFjZV90YWcYASABKAkSEAoIc3BhY2VfaWQYAiABKAkSEAoIcXVldWVfaWQYAyABKAkSKAoHb2JqZWN0cxgEIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiZgoWRGVsZXRlRnJvbVF1ZXVlUmVxdWVzdBIUCgxzdWJzcGFjZV90YWcYASABKAkSEAoIc3BhY2VfaWQYAiABKAkSEAoIcXVldWVfaWQYAyABKAkSEgoKb2JqZWN0X2lkcxgEIAMoCSKgAQoQU3luY1F1ZXVlUmVxdWVzdBIUCgxzdWJzcGFjZV90YWcYASABKAkSEAoIc3BhY2VfaWQYAiABKAkSEAoIcXVldWVfaWQYAyABKAkSGAoLc2hvdWxkX3B1c2gYBCABKAhIAIgBARIYCgtzaG91bGRfcHVsbBgFIAEoCEgBiAEBQg4KDF9zaG91bGRfcHVzaEIOCgxfc2hvdWxkX3B1bGwy7AIKDFF1ZXVlU2VydmljZRJdCgpRdWVyeVF1ZXVlEicuZHhvcy5jbGllbnQuc2VydmljZXMuUXVlcnlRdWV1ZVJlcXVlc3QaJi5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWV1ZVF1ZXJ5UmVzdWx0ElcKD0luc2VydEludG9RdWV1ZRIsLmR4b3MuY2xpZW50LnNlcnZpY2VzLkluc2VydEludG9RdWV1ZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSVwoPRGVsZXRlRnJvbVF1ZXVlEiwuZHhvcy5jbGllbnQuc2VydmljZXMuRGVsZXRlRnJvbVF1ZXVlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJLCglTeW5jUXVldWUSJi5keG9zLmNsaWVudC5zZXJ2aWNlcy5TeW5jUXVldWVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5YgZwcm90bzM", [file_google_protobuf_struct, file_google_protobuf_empty]);
16
+
17
+ /**
18
+ * @generated from message dxos.client.services.QueueQuery
19
+ */
20
+ export type QueueQuery = Message<"dxos.client.services.QueueQuery"> & {
21
+ /**
22
+ * @generated from field: string space_id = 1;
23
+ */
24
+ spaceId: string;
25
+
26
+ /**
27
+ * @generated from field: optional string queues_namespace = 2;
28
+ */
29
+ queuesNamespace?: string;
30
+
31
+ /**
32
+ * / Queries the whole space if missing.
33
+ *
34
+ * @generated from field: repeated string queue_ids = 3;
35
+ */
36
+ queueIds: string[];
37
+
38
+ /**
39
+ * / Filter items after this cursor. Exclusive.
40
+ *
41
+ * @generated from field: optional string after = 4;
42
+ */
43
+ after?: string;
44
+
45
+ /**
46
+ * / Filter items before this cursor. Exclusive.
47
+ *
48
+ * @generated from field: optional string before = 5;
49
+ */
50
+ before?: string;
51
+
52
+ /**
53
+ * / Filter items after this position. Inclusive.
54
+ *
55
+ * @generated from field: optional int64 begin_position = 6;
56
+ */
57
+ beginPosition?: bigint;
58
+
59
+ /**
60
+ * / Filter items before this position. Exclusive.
61
+ *
62
+ * @generated from field: optional int64 end_position = 7;
63
+ */
64
+ endPosition?: bigint;
65
+
66
+ /**
67
+ * @generated from field: optional int32 limit = 8;
68
+ */
69
+ limit?: number;
70
+
71
+ /**
72
+ * @generated from field: optional bool reverse = 9;
73
+ */
74
+ reverse?: boolean;
75
+
76
+ /**
77
+ * TODO(dmaretskyi): Remove this field -- raw queues dont index object IDs anymore.
78
+ *
79
+ * @generated from field: repeated string object_ids = 100;
80
+ */
81
+ objectIds: string[];
82
+ };
83
+
84
+ /**
85
+ * Describes the message dxos.client.services.QueueQuery.
86
+ * Use `create(QueueQuerySchema)` to create a new message.
87
+ */
88
+ export const QueueQuerySchema: GenMessage<QueueQuery> = /*@__PURE__*/
89
+ messageDesc(file_dxos_client_queue, 0);
90
+
91
+ /**
92
+ * @generated from message dxos.client.services.QueueQueryResult
93
+ */
94
+ export type QueueQueryResult = Message<"dxos.client.services.QueueQueryResult"> & {
95
+ /**
96
+ * @generated from field: repeated google.protobuf.Struct objects = 1;
97
+ */
98
+ objects: JsonObject[];
99
+
100
+ /**
101
+ * / Cursor to query the next items. Can be passed to `after` in query to keep querying.
102
+ *
103
+ * @generated from field: string next_cursor = 2;
104
+ */
105
+ nextCursor: string;
106
+
107
+ /**
108
+ * @generated from field: string prev_cursor = 3;
109
+ */
110
+ prevCursor: string;
111
+ };
112
+
113
+ /**
114
+ * Describes the message dxos.client.services.QueueQueryResult.
115
+ * Use `create(QueueQueryResultSchema)` to create a new message.
116
+ */
117
+ export const QueueQueryResultSchema: GenMessage<QueueQueryResult> = /*@__PURE__*/
118
+ messageDesc(file_dxos_client_queue, 1);
119
+
120
+ /**
121
+ * @generated from message dxos.client.services.QueryQueueRequest
122
+ */
123
+ export type QueryQueueRequest = Message<"dxos.client.services.QueryQueueRequest"> & {
124
+ /**
125
+ * @generated from field: dxos.client.services.QueueQuery query = 1;
126
+ */
127
+ query?: QueueQuery;
128
+ };
129
+
130
+ /**
131
+ * Describes the message dxos.client.services.QueryQueueRequest.
132
+ * Use `create(QueryQueueRequestSchema)` to create a new message.
133
+ */
134
+ export const QueryQueueRequestSchema: GenMessage<QueryQueueRequest> = /*@__PURE__*/
135
+ messageDesc(file_dxos_client_queue, 2);
136
+
137
+ /**
138
+ * @generated from message dxos.client.services.InsertIntoQueueRequest
139
+ */
140
+ export type InsertIntoQueueRequest = Message<"dxos.client.services.InsertIntoQueueRequest"> & {
141
+ /**
142
+ * @generated from field: string subspace_tag = 1;
143
+ */
144
+ subspaceTag: string;
145
+
146
+ /**
147
+ * @generated from field: string space_id = 2;
148
+ */
149
+ spaceId: string;
150
+
151
+ /**
152
+ * @generated from field: string queue_id = 3;
153
+ */
154
+ queueId: string;
155
+
156
+ /**
157
+ * @generated from field: repeated google.protobuf.Struct objects = 4;
158
+ */
159
+ objects: JsonObject[];
160
+ };
161
+
162
+ /**
163
+ * Describes the message dxos.client.services.InsertIntoQueueRequest.
164
+ * Use `create(InsertIntoQueueRequestSchema)` to create a new message.
165
+ */
166
+ export const InsertIntoQueueRequestSchema: GenMessage<InsertIntoQueueRequest> = /*@__PURE__*/
167
+ messageDesc(file_dxos_client_queue, 3);
168
+
169
+ /**
170
+ * @generated from message dxos.client.services.DeleteFromQueueRequest
171
+ */
172
+ export type DeleteFromQueueRequest = Message<"dxos.client.services.DeleteFromQueueRequest"> & {
173
+ /**
174
+ * @generated from field: string subspace_tag = 1;
175
+ */
176
+ subspaceTag: string;
177
+
178
+ /**
179
+ * @generated from field: string space_id = 2;
180
+ */
181
+ spaceId: string;
182
+
183
+ /**
184
+ * @generated from field: string queue_id = 3;
185
+ */
186
+ queueId: string;
187
+
188
+ /**
189
+ * @generated from field: repeated string object_ids = 4;
190
+ */
191
+ objectIds: string[];
192
+ };
193
+
194
+ /**
195
+ * Describes the message dxos.client.services.DeleteFromQueueRequest.
196
+ * Use `create(DeleteFromQueueRequestSchema)` to create a new message.
197
+ */
198
+ export const DeleteFromQueueRequestSchema: GenMessage<DeleteFromQueueRequest> = /*@__PURE__*/
199
+ messageDesc(file_dxos_client_queue, 4);
200
+
201
+ /**
202
+ * @generated from message dxos.client.services.SyncQueueRequest
203
+ */
204
+ export type SyncQueueRequest = Message<"dxos.client.services.SyncQueueRequest"> & {
205
+ /**
206
+ * @generated from field: string subspace_tag = 1;
207
+ */
208
+ subspaceTag: string;
209
+
210
+ /**
211
+ * @generated from field: string space_id = 2;
212
+ */
213
+ spaceId: string;
214
+
215
+ /**
216
+ * @generated from field: string queue_id = 3;
217
+ */
218
+ queueId: string;
219
+
220
+ /**
221
+ * / Whether to push local changes to the server. Defaults to true.
222
+ *
223
+ * @generated from field: optional bool should_push = 4;
224
+ */
225
+ shouldPush?: boolean;
226
+
227
+ /**
228
+ * / Whether to pull remote changes from the server. Defaults to true.
229
+ *
230
+ * @generated from field: optional bool should_pull = 5;
231
+ */
232
+ shouldPull?: boolean;
233
+ };
234
+
235
+ /**
236
+ * Describes the message dxos.client.services.SyncQueueRequest.
237
+ * Use `create(SyncQueueRequestSchema)` to create a new message.
238
+ */
239
+ export const SyncQueueRequestSchema: GenMessage<SyncQueueRequest> = /*@__PURE__*/
240
+ messageDesc(file_dxos_client_queue, 5);
241
+
242
+ /**
243
+ * @generated from service dxos.client.services.QueueService
244
+ */
245
+ export const QueueService: GenService<{
246
+ /**
247
+ * @generated from rpc dxos.client.services.QueueService.QueryQueue
248
+ */
249
+ queryQueue: {
250
+ methodKind: "unary";
251
+ input: typeof QueryQueueRequestSchema;
252
+ output: typeof QueueQueryResultSchema;
253
+ },
254
+ /**
255
+ * @generated from rpc dxos.client.services.QueueService.InsertIntoQueue
256
+ */
257
+ insertIntoQueue: {
258
+ methodKind: "unary";
259
+ input: typeof InsertIntoQueueRequestSchema;
260
+ output: typeof EmptySchema;
261
+ },
262
+ /**
263
+ * @generated from rpc dxos.client.services.QueueService.DeleteFromQueue
264
+ */
265
+ deleteFromQueue: {
266
+ methodKind: "unary";
267
+ input: typeof DeleteFromQueueRequestSchema;
268
+ output: typeof EmptySchema;
269
+ },
270
+ /**
271
+ * @generated from rpc dxos.client.services.QueueService.SyncQueue
272
+ */
273
+ syncQueue: {
274
+ methodKind: "unary";
275
+ input: typeof SyncQueueRequestSchema;
276
+ output: typeof EmptySchema;
277
+ },
278
+ }> = /*@__PURE__*/
279
+ serviceDesc(file_dxos_client_queue, 0);
280
+
@@ -2,14 +2,14 @@
2
2
  // Copyright 2021 DXOS.org
3
3
  //
4
4
 
5
- // @generated by protoc-gen-es v2.1.0 with parameter "target=ts,import_extension=js"
5
+ // @generated by protoc-gen-es v2.11.0 with parameter "target=ts,import_extension=js"
6
6
  // @generated from file dxos/client/services.proto (package dxos.client.services, syntax proto3)
7
7
  /* eslint-disable */
8
8
 
9
9
  // TODO(burdon): Reorganize packages (e.g., client.services, echo.database).
10
10
 
11
- import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
12
- import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
11
+ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
12
+ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
13
13
  import type { Any, EmptySchema, Timestamp } from "@bufbuild/protobuf/wkt";
14
14
  import { file_google_protobuf_any, file_google_protobuf_empty, file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
15
15
  import type { Invitation, InvitationSchema, SpaceState } from "./invitation_pb.js";
@@ -45,7 +45,7 @@ import type { JsonObject, Message } from "@bufbuild/protobuf";
45
45
  * Describes the file dxos/client/services.proto.
46
46
  */
47
47
  export const file_dxos_client_services: GenFile = /*@__PURE__*/
48
- fileDesc("ChpkeG9zL2NsaWVudC9zZXJ2aWNlcy5wcm90bxIUZHhvcy5jbGllbnQuc2VydmljZXMiSQoTVXBkYXRlU3RhdHVzUmVxdWVzdBIyCgZzdGF0dXMYASABKA4yIi5keG9zLmNsaWVudC5zZXJ2aWNlcy5TeXN0ZW1TdGF0dXMiOAoSUXVlcnlTdGF0dXNSZXF1ZXN0EhUKCGludGVydmFsGAEgASgFSACIAQFCCwoJX2ludGVydmFsIkkKE1F1ZXJ5U3RhdHVzUmVzcG9uc2USMgoGc3RhdHVzGAEgASgOMiIuZHhvcy5jbGllbnQuc2VydmljZXMuU3lzdGVtU3RhdHVzIp8BChVHZXREaWFnbm9zdGljc1JlcXVlc3QSSQoEa2V5cxgBIAEoDjI2LmR4b3MuY2xpZW50LnNlcnZpY2VzLkdldERpYWdub3N0aWNzUmVxdWVzdC5LRVlfT1BUSU9OSACIAQEiMgoKS0VZX09QVElPThIICgROT05FEAASDAoIVFJVTkNBVEUQARIMCghIVU1BTklaRRACQgcKBV9rZXlzInUKFkdldERpYWdub3N0aWNzUmVzcG9uc2USLQoJdGltZXN0YW1wGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCgtkaWFnbm9zdGljcxgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi5AIKCFBsYXRmb3JtEjoKBHR5cGUYASABKA4yLC5keG9zLmNsaWVudC5zZXJ2aWNlcy5QbGF0Zm9ybS5QTEFURk9STV9UWVBFEhcKCnVzZXJfYWdlbnQYAiABKAlIAIgBARIVCghwbGF0Zm9ybRgDIAEoCUgBiAEBEhEKBGFyY2gYBCABKAlIAogBARIUCgdydW50aW1lGAUgASgJSAOIAQESEwoGdXB0aW1lGAYgASgNSASIAQESLAoGbWVtb3J5GAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgFiAEBIjkKDVBMQVRGT1JNX1RZUEUSCwoHQlJPV1NFUhAAEhEKDVNIQVJFRF9XT1JLRVIQARIICgROT0RFEAJCDQoLX3VzZXJfYWdlbnRCCwoJX3BsYXRmb3JtQgcKBV9hcmNoQgoKCF9ydW50aW1lQgkKB191cHRpbWVCCQoHX21lbW9yeSLJAQoISWRlbnRpdHkSCwoDZGlkGAQgASgJEioKDGlkZW50aXR5X2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSLAoJc3BhY2Vfa2V5GAIgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleUgAiAEBEjwKB3Byb2ZpbGUYAyABKAsyJi5keG9zLmhhbG8uY3JlZGVudGlhbHMuUHJvZmlsZURvY3VtZW50SAGIAQFCDAoKX3NwYWNlX2tleUIKCghfcHJvZmlsZSKPAQogUmVxdWVzdFJlY292ZXJ5Q2hhbGxlbmdlUmVzcG9uc2USKAoKZGV2aWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSLgoQY29udHJvbF9mZWVkX2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSEQoJY2hhbGxlbmdlGAMgASgJIroDChZSZWNvdmVySWRlbnRpdHlSZXF1ZXN0EhcKDXJlY292ZXJ5X2NvZGUYASABKAlIABJSCghleHRlcm5hbBgCIAEoCzI+LmR4b3MuY2xpZW50LnNlcnZpY2VzLlJlY292ZXJJZGVudGl0eVJlcXVlc3QuRXh0ZXJuYWxTaWduYXR1cmVIABIPCgV0b2tlbhgDIAEoCUgAGpYCChFFeHRlcm5hbFNpZ25hdHVyZRIoCgpsb29rdXBfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIoCgpkZXZpY2Vfa2V5GAIgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIuChBjb250cm9sX2ZlZWRfa2V5GAMgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIRCglzaWduYXR1cmUYBCABKAwSHQoQY2xpZW50X2RhdGFfanNvbhgFIAEoDEgAiAEBEh8KEmF1dGhlbnRpY2F0b3JfZGF0YRgGIAEoDEgBiAEBQhMKEV9jbGllbnRfZGF0YV9qc29uQhUKE19hdXRoZW50aWNhdG9yX2RhdGFCCQoHcmVxdWVzdCKBAQoWUmVjb3ZlcnlDcmVkZW50aWFsRGF0YRIqCgxyZWNvdmVyeV9rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EigKCmxvb2t1cF9rZXkYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EhEKCWFsZ29yaXRobRgDIAEoCSJrCh9DcmVhdGVSZWNvdmVyeUNyZWRlbnRpYWxSZXF1ZXN0Ej8KBGRhdGEYASABKAsyLC5keG9zLmNsaWVudC5zZXJ2aWNlcy5SZWNvdmVyeUNyZWRlbnRpYWxEYXRhSACIAQFCBwoFX2RhdGEiUAogQ3JlYXRlUmVjb3ZlcnlDcmVkZW50aWFsUmVzcG9uc2USGgoNcmVjb3ZlcnlfY29kZRgBIAEoCUgAiAEBQhAKDl9yZWNvdmVyeV9jb2RlIlsKFVF1ZXJ5SWRlbnRpdHlSZXNwb25zZRI1CghpZGVudGl0eRgBIAEoCzIeLmR4b3MuY2xpZW50LnNlcnZpY2VzLklkZW50aXR5SACIAQFCCwoJX2lkZW50aXR5InIKF1NpZ25QcmVzZW50YXRpb25SZXF1ZXN0EjkKDHByZXNlbnRhdGlvbhgBIAEoCzIjLmR4b3MuaGFsby5jcmVkZW50aWFscy5QcmVzZW50YXRpb24SEgoFbm9uY2UYAiABKAxIAIgBAUIICgZfbm9uY2UixQEKFUNyZWF0ZUlkZW50aXR5UmVxdWVzdBI8Cgdwcm9maWxlGAEgASgLMiYuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLlByb2ZpbGVEb2N1bWVudEgAiAEBEkkKDmRldmljZV9wcm9maWxlGAMgASgLMiwuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkRldmljZVByb2ZpbGVEb2N1bWVudEgBiAEBQgoKCF9wcm9maWxlQhEKD19kZXZpY2VfcHJvZmlsZUoECAIQAyKnAgoGRGV2aWNlEigKCmRldmljZV9rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5Ei4KBGtpbmQYAiABKA4yIC5keG9zLmNsaWVudC5zZXJ2aWNlcy5EZXZpY2VLaW5kEkIKB3Byb2ZpbGUYAyABKAsyLC5keG9zLmhhbG8uY3JlZGVudGlhbHMuRGV2aWNlUHJvZmlsZURvY3VtZW50SACIAQESPAoIcHJlc2VuY2UYBCABKA4yKi5keG9zLmNsaWVudC5zZXJ2aWNlcy5EZXZpY2UuUHJlc2VuY2VTdGF0ZSI1Cg1QcmVzZW5jZVN0YXRlEgsKB09GRkxJTkUQABIKCgZPTkxJTkUQARILCgdSRU1PVkVEEAJCCgoIX3Byb2ZpbGUiRQoUUXVlcnlEZXZpY2VzUmVzcG9uc2USLQoHZGV2aWNlcxgBIAMoCzIcLmR4b3MuY2xpZW50LnNlcnZpY2VzLkRldmljZSKqAQoHQ29udGFjdBIpCgtpZGVudGl0eUtleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSPAoHcHJvZmlsZRgBIAEoCzImLmR4b3MuaGFsby5jcmVkZW50aWFscy5Qcm9maWxlRG9jdW1lbnRIAIgBARIqCgxjb21tb25TcGFjZXMYAyADKAsyFC5keG9zLmtleXMuUHVibGljS2V5QgoKCF9wcm9maWxlIj4KC0NvbnRhY3RCb29rEi8KCGNvbnRhY3RzGAEgAygLMh0uZHhvcy5jbGllbnQuc2VydmljZXMuQ29udGFjdCKWAgoLU3BhY2VNZW1iZXISMAoIaWRlbnRpdHkYASABKAsyHi5keG9zLmNsaWVudC5zZXJ2aWNlcy5JZGVudGl0eRJBCghwcmVzZW5jZRgCIAEoDjIvLmR4b3MuY2xpZW50LnNlcnZpY2VzLlNwYWNlTWVtYmVyLlByZXNlbmNlU3RhdGUSMQoKcGVlclN0YXRlcxgDIAMoCzIdLmR4b3MubWVzaC5wcmVzZW5jZS5QZWVyU3RhdGUSNQoEcm9sZRgEIAEoDjInLmR4b3MuaGFsby5jcmVkZW50aWFscy5TcGFjZU1lbWJlci5Sb2xlIigKDVByZXNlbmNlU3RhdGUSCwoHT0ZGTElORRAAEgoKBk9OTElORRABIuYSCgVTcGFjZRIKCgJpZBgFIAEoCRInCglzcGFjZV9rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5Ei8KBXN0YXRlGAIgASgOMiAuZHhvcy5jbGllbnQuc2VydmljZXMuU3BhY2VTdGF0ZRJACghwaXBlbGluZRgDIAEoCzIpLmR4b3MuY2xpZW50LnNlcnZpY2VzLlNwYWNlLlBpcGVsaW5lU3RhdGVIAIgBARIlCgVlcnJvchgEIAEoCzIRLmR4b3MuZXJyb3IuRXJyb3JIAYgBARJJChBlZGdlX3JlcGxpY2F0aW9uGAYgASgOMiouZHhvcy5lY2hvLm1ldGFkYXRhLkVkZ2VSZXBsaWNhdGlvblNldHRpbmdIAogBARIyCgdtZW1iZXJzGAogAygLMiEuZHhvcy5jbGllbnQuc2VydmljZXMuU3BhY2VNZW1iZXISKgoHY3JlYXRvchgLIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXlIA4gBARIyCgVjYWNoZRgUIAEoCzIeLmR4b3MuZWNoby5tZXRhZGF0YS5TcGFjZUNhY2hlSASIAQESNAoHbWV0cmljcxgVIAEoCzIjLmR4b3MuY2xpZW50LnNlcnZpY2VzLlNwYWNlLk1ldHJpY3Ma1wMKB01ldHJpY3MSLQoEb3BlbhgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARI8ChNwaXBlbGluZV9pbml0X2JlZ2luGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEj8KFmNvbnRyb2xfcGlwZWxpbmVfcmVhZHkYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESOwoSZGF0YV9waXBlbGluZV9vcGVuGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBEjwKE2RhdGFfcGlwZWxpbmVfcmVhZHkYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESLgoFcmVhZHkYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQFCBwoFX29wZW5CFgoUX3BpcGVsaW5lX2luaXRfYmVnaW5CGQoXX2NvbnRyb2xfcGlwZWxpbmVfcmVhZHlCFQoTX2RhdGFfcGlwZWxpbmVfb3BlbkIWChRfZGF0YV9waXBlbGluZV9yZWFkeUIICgZfcmVhZHka3AoKDVBpcGVsaW5lU3RhdGUSMwoQY29udHJvbF9mZWVkX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXlIAIgBARIwCg1kYXRhX2ZlZWRfa2V5GAIgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleUgBiAEBEisKDWNvbnRyb2xfZmVlZHMYEiADKAsyFC5keG9zLmtleXMuUHVibGljS2V5EigKCmRhdGFfZmVlZHMYEyADKAsyFC5keG9zLmtleXMuUHVibGljS2V5Ej0KDWN1cnJlbnRfZXBvY2gYFCABKAsyIS5keG9zLmhhbG8uY3JlZGVudGlhbHMuQ3JlZGVudGlhbEgCiAEBEj0KDWFwcGxpZWRfZXBvY2gYFSABKAsyIS5keG9zLmhhbG8uY3JlZGVudGlhbHMuQ3JlZGVudGlhbEgDiAEBEkwKGWN1cnJlbnRfY29udHJvbF90aW1lZnJhbWUYCiABKAsyJC5keG9zLmVjaG8udGltZWZyYW1lLlRpbWVmcmFtZVZlY3RvckgEiAEBEksKGHRhcmdldF9jb250cm9sX3RpbWVmcmFtZRgLIAEoCzIkLmR4b3MuZWNoby50aW1lZnJhbWUuVGltZWZyYW1lVmVjdG9ySAWIAQESSgoXdG90YWxfY29udHJvbF90aW1lZnJhbWUYDiABKAsyJC5keG9zLmVjaG8udGltZWZyYW1lLlRpbWVmcmFtZVZlY3RvckgGiAEBEkoKF2tub3duX2NvbnRyb2xfdGltZWZyYW1lGA8gASgLMiQuZHhvcy5lY2hvLnRpbWVmcmFtZS5UaW1lZnJhbWVWZWN0b3JIB4gBARJHChRzdGFydF9kYXRhX3RpbWVmcmFtZRhkIAEoCzIkLmR4b3MuZWNoby50aW1lZnJhbWUuVGltZWZyYW1lVmVjdG9ySAiIAQESSQoWY3VycmVudF9kYXRhX3RpbWVmcmFtZRgMIAEoCzIkLmR4b3MuZWNoby50aW1lZnJhbWUuVGltZWZyYW1lVmVjdG9ySAmIAQESSAoVdGFyZ2V0X2RhdGFfdGltZWZyYW1lGA0gASgLMiQuZHhvcy5lY2hvLnRpbWVmcmFtZS5UaW1lZnJhbWVWZWN0b3JICogBARJHChR0b3RhbF9kYXRhX3RpbWVmcmFtZRgQIAEoCzIkLmR4b3MuZWNoby50aW1lZnJhbWUuVGltZWZyYW1lVmVjdG9ySAuIAQESRwoUa25vd25fZGF0YV90aW1lZnJhbWUYESABKAsyJC5keG9zLmVjaG8udGltZWZyYW1lLlRpbWVmcmFtZVZlY3RvckgMiAEBEhsKDnNwYWNlX3Jvb3RfdXJsGBYgASgJSA2IAQFCEwoRX2NvbnRyb2xfZmVlZF9rZXlCEAoOX2RhdGFfZmVlZF9rZXlCEAoOX2N1cnJlbnRfZXBvY2hCEAoOX2FwcGxpZWRfZXBvY2hCHAoaX2N1cnJlbnRfY29udHJvbF90aW1lZnJhbWVCGwoZX3RhcmdldF9jb250cm9sX3RpbWVmcmFtZUIaChhfdG90YWxfY29udHJvbF90aW1lZnJhbWVCGgoYX2tub3duX2NvbnRyb2xfdGltZWZyYW1lQhcKFV9zdGFydF9kYXRhX3RpbWVmcmFtZUIZChdfY3VycmVudF9kYXRhX3RpbWVmcmFtZUIYChZfdGFyZ2V0X2RhdGFfdGltZWZyYW1lQhcKFV90b3RhbF9kYXRhX3RpbWVmcmFtZUIXChVfa25vd25fZGF0YV90aW1lZnJhbWVCEQoPX3NwYWNlX3Jvb3RfdXJsQgsKCV9waXBlbGluZUIICgZfZXJyb3JCEwoRX2VkZ2VfcmVwbGljYXRpb25CCgoIX2NyZWF0b3JCCAoGX2NhY2hlIt0BChJVcGRhdGVTcGFjZVJlcXVlc3QSJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRI0CgVzdGF0ZRgCIAEoDjIgLmR4b3MuY2xpZW50LnNlcnZpY2VzLlNwYWNlU3RhdGVIAIgBARJJChBlZGdlX3JlcGxpY2F0aW9uGAMgASgOMiouZHhvcy5lY2hvLm1ldGFkYXRhLkVkZ2VSZXBsaWNhdGlvblNldHRpbmdIAYgBAUIICgZfc3RhdGVCEwoRX2VkZ2VfcmVwbGljYXRpb24iQgoTUXVlcnlTcGFjZXNSZXNwb25zZRIrCgZzcGFjZXMYASADKAsyGy5keG9zLmNsaWVudC5zZXJ2aWNlcy5TcGFjZSJ1ChJQb3N0TWVzc2FnZVJlcXVlc3QSJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIPCgdjaGFubmVsGAIgASgJEiUKB21lc3NhZ2UYAyABKAsyFC5nb29nbGUucHJvdG9idWYuQW55IlQKGFN1YnNjcmliZU1lc3NhZ2VzUmVxdWVzdBInCglzcGFjZV9rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5Eg8KB2NoYW5uZWwYAiABKAkiegoXV3JpdGVDcmVkZW50aWFsc1JlcXVlc3QSJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRI2CgtjcmVkZW50aWFscxgCIAMoCzIhLmR4b3MuaGFsby5jcmVkZW50aWFscy5DcmVkZW50aWFsImQKF1F1ZXJ5Q3JlZGVudGlhbHNSZXF1ZXN0EicKCXNwYWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSFAoHbm9fdGFpbBgCIAEoCEgAiAEBQgoKCF9ub190YWlsIvUCChJDcmVhdGVFcG9jaFJlcXVlc3QSJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRJKCgltaWdyYXRpb24YAiABKA4yMi5keG9zLmNsaWVudC5zZXJ2aWNlcy5DcmVhdGVFcG9jaFJlcXVlc3QuTWlncmF0aW9uSACIAQESHwoSYXV0b21lcmdlX3Jvb3RfdXJsGAMgASgJSAGIAQEiowEKCU1pZ3JhdGlvbhIICgROT05FEAASEgoOSU5JVF9BVVRPTUVSR0UQARIgChxQUlVORV9BVVRPTUVSR0VfUk9PVF9ISVNUT1JZEAISGwoXRlJBR01FTlRfQVVUT01FUkdFX1JPT1QQAxIaChZSRVBMQUNFX0FVVE9NRVJHRV9ST09UEAQSHQoZTUlHUkFURV9SRUZFUkVOQ0VTX1RPX0RYThAFQgwKCl9taWdyYXRpb25CFQoTX2F1dG9tZXJnZV9yb290X3VybCLIAQoTQ3JlYXRlRXBvY2hSZXNwb25zZRJAChBlcG9jaF9jcmVkZW50aWFsGAEgASgLMiEuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkNyZWRlbnRpYWxIAIgBARJEChFjb250cm9sX3RpbWVmcmFtZRgCIAEoCzIkLmR4b3MuZWNoby50aW1lZnJhbWUuVGltZWZyYW1lVmVjdG9ySAGIAQFCEwoRX2Vwb2NoX2NyZWRlbnRpYWxCFAoSX2NvbnRyb2xfdGltZWZyYW1lIqcBChdVcGRhdGVNZW1iZXJSb2xlUmVxdWVzdBInCglzcGFjZV9rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EigKCm1lbWJlcl9rZXkYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EjkKCG5ld19yb2xlGAMgASgOMicuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLlNwYWNlTWVtYmVyLlJvbGUipQEKE0FkbWl0Q29udGFjdFJlcXVlc3QSLgoHY29udGFjdBgBIAEoCzIdLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNvbnRhY3QSNQoEcm9sZRgCIAEoDjInLmR4b3MuaGFsby5jcmVkZW50aWFscy5TcGFjZU1lbWJlci5Sb2xlEicKCXNwYWNlX2tleRgDIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkiSQoQQ29udGFjdEFkbWlzc2lvbhI1CgpjcmVkZW50aWFsGAEgASgLMiEuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkNyZWRlbnRpYWwiPwoRSm9pblNwYWNlUmVzcG9uc2USKgoFc3BhY2UYASABKAsyGy5keG9zLmNsaWVudC5zZXJ2aWNlcy5TcGFjZSJAChVKb2luQnlTcGFjZUtleVJlcXVlc3QSJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleSIyCgxTcGFjZUFyY2hpdmUSEAoIZmlsZW5hbWUYASABKAkSEAoIY29udGVudHMYAiABKAwiJgoSRXhwb3J0U3BhY2VSZXF1ZXN0EhAKCHNwYWNlX2lkGAEgASgJIkoKE0V4cG9ydFNwYWNlUmVzcG9uc2USMwoHYXJjaGl2ZRgBIAEoCzIiLmR4b3MuY2xpZW50LnNlcnZpY2VzLlNwYWNlQXJjaGl2ZSJJChJJbXBvcnRTcGFjZVJlcXVlc3QSMwoHYXJjaGl2ZRgBIAEoCzIiLmR4b3MuY2xpZW50LnNlcnZpY2VzLlNwYWNlQXJjaGl2ZSIrChNJbXBvcnRTcGFjZVJlc3BvbnNlEhQKDG5ld19zcGFjZV9pZBgBIAEoCSKtAQoXQWNjZXB0SW52aXRhdGlvblJlcXVlc3QSNAoKaW52aXRhdGlvbhgBIAEoCzIgLmR4b3MuY2xpZW50LnNlcnZpY2VzLkludml0YXRpb24SSQoOZGV2aWNlX3Byb2ZpbGUYAiABKAsyLC5keG9zLmhhbG8uY3JlZGVudGlhbHMuRGV2aWNlUHJvZmlsZURvY3VtZW50SACIAQFCEQoPX2RldmljZV9wcm9maWxlIkEKFUF1dGhlbnRpY2F0aW9uUmVxdWVzdBIVCg1pbnZpdGF0aW9uX2lkGAEgASgJEhEKCWF1dGhfY29kZRgCIAEoCSIwChdDYW5jZWxJbnZpdGF0aW9uUmVxdWVzdBIVCg1pbnZpdGF0aW9uX2lkGAEgASgJIoUBChBJbnZpdGF0aW9uTWV0aG9kEjMKB2NyZWF0ZWQYASABKAsyIC5keG9zLmNsaWVudC5zZXJ2aWNlcy5JbnZpdGF0aW9uSAASNAoIYWNjZXB0ZWQYAiABKAsyIC5keG9zLmNsaWVudC5zZXJ2aWNlcy5JbnZpdGF0aW9uSABCBgoEa2luZCLiAgoYUXVlcnlJbnZpdGF0aW9uc1Jlc3BvbnNlEkUKBmFjdGlvbhgBIAEoDjI1LmR4b3MuY2xpZW50LnNlcnZpY2VzLlF1ZXJ5SW52aXRhdGlvbnNSZXNwb25zZS5BY3Rpb24SQQoEdHlwZRgCIAEoDjIzLmR4b3MuY2xpZW50LnNlcnZpY2VzLlF1ZXJ5SW52aXRhdGlvbnNSZXNwb25zZS5UeXBlEjUKC2ludml0YXRpb25zGAMgAygLMiAuZHhvcy5jbGllbnQuc2VydmljZXMuSW52aXRhdGlvbhIVCghleGlzdGluZxgEIAEoCEgAiAEBIj4KBkFjdGlvbhIJCgVBRERFRBAAEgsKB1JFTU9WRUQQARIJCgVTQVZFRBACEhEKDUxPQURfQ09NUExFVEUQAyIhCgRUeXBlEgsKB0NSRUFURUQQABIMCghBQ0NFUFRFRBABQgsKCV9leGlzdGluZyJaCiFMb2FkUGVyc2lzdGVudEludml0YXRpb25zUmVzcG9uc2USNQoLaW52aXRhdGlvbnMYASADKAsyIC5keG9zLmNsaWVudC5zZXJ2aWNlcy5JbnZpdGF0aW9uIoUCCg1OZXR3b3JrU3RhdHVzEjQKBXN3YXJtGAEgASgOMiUuZHhvcy5jbGllbnQuc2VydmljZXMuQ29ubmVjdGlvblN0YXRlEj0KCXNpZ25hbGluZxgCIAMoCzIqLmR4b3MuY2xpZW50LnNlcnZpY2VzLk5ldHdvcmtTdGF0dXMuU2lnbmFsEjcKD2Nvbm5lY3Rpb25faW5mbxgDIAMoCzIeLmR4b3MuZGV2dG9vbHMuc3dhcm0uU3dhcm1JbmZvGkYKBlNpZ25hbBIOCgZzZXJ2ZXIYASABKAkSLAoFc3RhdGUYAiABKA4yHS5keG9zLm1lc2guc2lnbmFsLlNpZ25hbFN0YXRlIksKE1VwZGF0ZUNvbmZpZ1JlcXVlc3QSNAoFc3dhcm0YASABKA4yJS5keG9zLmNsaWVudC5zZXJ2aWNlcy5Db25uZWN0aW9uU3RhdGUiQQoaU3Vic2NyaWJlU3dhcm1TdGF0ZVJlcXVlc3QSIwoFdG9waWMYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5IksKF1F1ZXJ5RWRnZVN0YXR1c1Jlc3BvbnNlEjAKBnN0YXR1cxgBIAEoDjIgLmR4b3MuY2xpZW50LnNlcnZpY2VzLkVkZ2VTdGF0dXMiqwEKGFF1ZXJ5QWdlbnRTdGF0dXNSZXNwb25zZRJKCgZzdGF0dXMYASABKA4yOi5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeUFnZW50U3RhdHVzUmVzcG9uc2UuQWdlbnRTdGF0dXMiQwoLQWdlbnRTdGF0dXMSCwoHVU5LTk9XThAAEgoKBkFDVElWRRABEgwKCElOQUNUSVZFEAISDQoJTk9UX0ZPVU5EEAMqKAoMU3lzdGVtU3RhdHVzEgwKCElOQUNUSVZFEAASCgoGQUNUSVZFEAEqJgoKRGV2aWNlS2luZBILCgdDVVJSRU5UEAASCwoHVFJVU1RFRBABKioKD0Nvbm5lY3Rpb25TdGF0ZRILCgdPRkZMSU5FEAASCgoGT05MSU5FEAEqLgoKRWRnZVN0YXR1cxIRCg1OT1RfQ09OTkVDVEVEEAASDQoJQ09OTkVDVEVEEAEy7wMKDVN5c3RlbVNlcnZpY2USOAoJR2V0Q29uZmlnEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhMuZHhvcy5jb25maWcuQ29uZmlnEmsKDkdldERpYWdub3N0aWNzEisuZHhvcy5jbGllbnQuc2VydmljZXMuR2V0RGlhZ25vc3RpY3NSZXF1ZXN0GiwuZHhvcy5jbGllbnQuc2VydmljZXMuR2V0RGlhZ25vc3RpY3NSZXNwb25zZRJRCgxVcGRhdGVTdGF0dXMSKS5keG9zLmNsaWVudC5zZXJ2aWNlcy5VcGRhdGVTdGF0dXNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EmQKC1F1ZXJ5U3RhdHVzEiguZHhvcy5jbGllbnQuc2VydmljZXMuUXVlcnlTdGF0dXNSZXF1ZXN0GikuZHhvcy5jbGllbnQuc2VydmljZXMuUXVlcnlTdGF0dXNSZXNwb25zZTABEjcKBVJlc2V0EhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkUKC0dldFBsYXRmb3JtEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gh4uZHhvcy5jbGllbnQuc2VydmljZXMuUGxhdGZvcm0ytQYKD0lkZW50aXR5U2VydmljZRJdCg5DcmVhdGVJZGVudGl0eRIrLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNyZWF0ZUlkZW50aXR5UmVxdWVzdBoeLmR4b3MuY2xpZW50LnNlcnZpY2VzLklkZW50aXR5EmoKGFJlcXVlc3RSZWNvdmVyeUNoYWxsZW5nZRIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRo2LmR4b3MuY2xpZW50LnNlcnZpY2VzLlJlcXVlc3RSZWNvdmVyeUNoYWxsZW5nZVJlc3BvbnNlEl8KD1JlY292ZXJJZGVudGl0eRIsLmR4b3MuY2xpZW50LnNlcnZpY2VzLlJlY292ZXJJZGVudGl0eVJlcXVlc3QaHi5keG9zLmNsaWVudC5zZXJ2aWNlcy5JZGVudGl0eRKJAQoYQ3JlYXRlUmVjb3ZlcnlDcmVkZW50aWFsEjUuZHhvcy5jbGllbnQuc2VydmljZXMuQ3JlYXRlUmVjb3ZlcnlDcmVkZW50aWFsUmVxdWVzdBo2LmR4b3MuY2xpZW50LnNlcnZpY2VzLkNyZWF0ZVJlY292ZXJ5Q3JlZGVudGlhbFJlc3BvbnNlElYKDVF1ZXJ5SWRlbnRpdHkSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaKy5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeUlkZW50aXR5UmVzcG9uc2UwARJXCg1VcGRhdGVQcm9maWxlEiYuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLlByb2ZpbGVEb2N1bWVudBoeLmR4b3MuY2xpZW50LnNlcnZpY2VzLklkZW50aXR5EmYKEFNpZ25QcmVzZW50YXRpb24SLS5keG9zLmNsaWVudC5zZXJ2aWNlcy5TaWduUHJlc2VudGF0aW9uUmVxdWVzdBojLmR4b3MuaGFsby5jcmVkZW50aWFscy5QcmVzZW50YXRpb24SUQoUQ3JlYXRlQXV0aENyZWRlbnRpYWwSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaIS5keG9zLmhhbG8uY3JlZGVudGlhbHMuQ3JlZGVudGlhbDLCAQoORGV2aWNlc1NlcnZpY2USWgoMVXBkYXRlRGV2aWNlEiwuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkRldmljZVByb2ZpbGVEb2N1bWVudBocLmR4b3MuY2xpZW50LnNlcnZpY2VzLkRldmljZRJUCgxRdWVyeURldmljZXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaKi5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeURldmljZXNSZXNwb25zZTABMqkBCg9Db250YWN0c1NlcnZpY2USSAoLR2V0Q29udGFjdHMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaIS5keG9zLmNsaWVudC5zZXJ2aWNlcy5Db250YWN0Qm9vaxJMCg1RdWVyeUNvbnRhY3RzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GiEuZHhvcy5jbGllbnQuc2VydmljZXMuQ29udGFjdEJvb2swATK/CQoNU3BhY2VzU2VydmljZRJCCgtDcmVhdGVTcGFjZRIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRobLmR4b3MuY2xpZW50LnNlcnZpY2VzLlNwYWNlEk8KC1VwZGF0ZVNwYWNlEiguZHhvcy5jbGllbnQuc2VydmljZXMuVXBkYXRlU3BhY2VSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElIKC1F1ZXJ5U3BhY2VzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GikuZHhvcy5jbGllbnQuc2VydmljZXMuUXVlcnlTcGFjZXNSZXNwb25zZTABElkKEFVwZGF0ZU1lbWJlclJvbGUSLS5keG9zLmNsaWVudC5zZXJ2aWNlcy5VcGRhdGVNZW1iZXJSb2xlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJRCgxBZG1pdENvbnRhY3QSKS5keG9zLmNsaWVudC5zZXJ2aWNlcy5BZG1pdENvbnRhY3RSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EmYKDkpvaW5CeVNwYWNlS2V5EisuZHhvcy5jbGllbnQuc2VydmljZXMuSm9pbkJ5U3BhY2VLZXlSZXF1ZXN0GicuZHhvcy5jbGllbnQuc2VydmljZXMuSm9pblNwYWNlUmVzcG9uc2USTwoLUG9zdE1lc3NhZ2USKC5keG9zLmNsaWVudC5zZXJ2aWNlcy5Qb3N0TWVzc2FnZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSbwoRU3Vic2NyaWJlTWVzc2FnZXMSLi5keG9zLmNsaWVudC5zZXJ2aWNlcy5TdWJzY3JpYmVNZXNzYWdlc1JlcXVlc3QaKC5keG9zLm1lc2gudGVsZXBvcnQuZ29zc2lwLkdvc3NpcE1lc3NhZ2UwARJZChBXcml0ZUNyZWRlbnRpYWxzEi0uZHhvcy5jbGllbnQuc2VydmljZXMuV3JpdGVDcmVkZW50aWFsc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSZgoQUXVlcnlDcmVkZW50aWFscxItLmR4b3MuY2xpZW50LnNlcnZpY2VzLlF1ZXJ5Q3JlZGVudGlhbHNSZXF1ZXN0GiEuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkNyZWRlbnRpYWwwARJiCgtDcmVhdGVFcG9jaBIoLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNyZWF0ZUVwb2NoUmVxdWVzdBopLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNyZWF0ZUVwb2NoUmVzcG9uc2USYgoLRXhwb3J0U3BhY2USKC5keG9zLmNsaWVudC5zZXJ2aWNlcy5FeHBvcnRTcGFjZVJlcXVlc3QaKS5keG9zLmNsaWVudC5zZXJ2aWNlcy5FeHBvcnRTcGFjZVJlc3BvbnNlEmIKC0ltcG9ydFNwYWNlEiguZHhvcy5jbGllbnQuc2VydmljZXMuSW1wb3J0U3BhY2VSZXF1ZXN0GikuZHhvcy5jbGllbnQuc2VydmljZXMuSW1wb3J0U3BhY2VSZXNwb25zZTLjAwoSSW52aXRhdGlvbnNTZXJ2aWNlElgKEENyZWF0ZUludml0YXRpb24SIC5keG9zLmNsaWVudC5zZXJ2aWNlcy5JbnZpdGF0aW9uGiAuZHhvcy5jbGllbnQuc2VydmljZXMuSW52aXRhdGlvbjABEmUKEEFjY2VwdEludml0YXRpb24SLS5keG9zLmNsaWVudC5zZXJ2aWNlcy5BY2NlcHRJbnZpdGF0aW9uUmVxdWVzdBogLmR4b3MuY2xpZW50LnNlcnZpY2VzLkludml0YXRpb24wARJTCgxBdXRoZW50aWNhdGUSKy5keG9zLmNsaWVudC5zZXJ2aWNlcy5BdXRoZW50aWNhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSWQoQQ2FuY2VsSW52aXRhdGlvbhItLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNhbmNlbEludml0YXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElwKEFF1ZXJ5SW52aXRhdGlvbnMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaLi5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeUludml0YXRpb25zUmVzcG9uc2UwATKLBQoOTmV0d29ya1NlcnZpY2USUQoMVXBkYXRlQ29uZmlnEikuZHhvcy5jbGllbnQuc2VydmljZXMuVXBkYXRlQ29uZmlnUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJMCgtRdWVyeVN0YXR1cxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRojLmR4b3MuY2xpZW50LnNlcnZpY2VzLk5ldHdvcmtTdGF0dXMwARJCCglKb2luU3dhcm0SHS5keG9zLmVkZ2Uuc2lnbmFsLkpvaW5SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkQKCkxlYXZlU3dhcm0SHi5keG9zLmVkZ2Uuc2lnbmFsLkxlYXZlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJQCgpRdWVyeVN3YXJtEh4uZHhvcy5lZGdlLnNpZ25hbC5RdWVyeVJlcXVlc3QaIi5keG9zLmVkZ2UubWVzc2VuZ2VyLlN3YXJtUmVzcG9uc2USbQoTU3Vic2NyaWJlU3dhcm1TdGF0ZRIwLmR4b3MuY2xpZW50LnNlcnZpY2VzLlN1YnNjcmliZVN3YXJtU3RhdGVSZXF1ZXN0GiIuZHhvcy5lZGdlLm1lc3Nlbmdlci5Td2FybVJlc3BvbnNlMAESQAoLU2VuZE1lc3NhZ2USGS5keG9zLmVkZ2Uuc2lnbmFsLk1lc3NhZ2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSSwoRU3Vic2NyaWJlTWVzc2FnZXMSGS5keG9zLmVkZ2UubWVzc2VuZ2VyLlBlZXIaGS5keG9zLmVkZ2Uuc2lnbmFsLk1lc3NhZ2UwATKLAgoQRWRnZUFnZW50U2VydmljZRJaCg9RdWVyeUVkZ2VTdGF0dXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaLS5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeUVkZ2VTdGF0dXNSZXNwb25zZTABEj0KC0NyZWF0ZUFnZW50EhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElwKEFF1ZXJ5QWdlbnRTdGF0dXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaLi5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeUFnZW50U3RhdHVzUmVzcG9uc2UwAWIGcHJvdG8z", [file_google_protobuf_any, file_google_protobuf_empty, file_google_protobuf_struct, file_google_protobuf_timestamp, file_dxos_client_invitation, file_dxos_config, file_dxos_devtools_swarm, file_dxos_echo_metadata, file_dxos_echo_timeframe, file_dxos_edge_messenger, file_dxos_edge_signal, file_dxos_error, file_dxos_halo_credentials, file_dxos_keys, file_dxos_mesh_signal, file_dxos_mesh_presence, file_dxos_mesh_teleport_gossip, file_dxos_value]);
48
+ fileDesc("ChpkeG9zL2NsaWVudC9zZXJ2aWNlcy5wcm90bxIUZHhvcy5jbGllbnQuc2VydmljZXMiSQoTVXBkYXRlU3RhdHVzUmVxdWVzdBIyCgZzdGF0dXMYASABKA4yIi5keG9zLmNsaWVudC5zZXJ2aWNlcy5TeXN0ZW1TdGF0dXMiOAoSUXVlcnlTdGF0dXNSZXF1ZXN0EhUKCGludGVydmFsGAEgASgFSACIAQFCCwoJX2ludGVydmFsIkkKE1F1ZXJ5U3RhdHVzUmVzcG9uc2USMgoGc3RhdHVzGAEgASgOMiIuZHhvcy5jbGllbnQuc2VydmljZXMuU3lzdGVtU3RhdHVzIp8BChVHZXREaWFnbm9zdGljc1JlcXVlc3QSSQoEa2V5cxgBIAEoDjI2LmR4b3MuY2xpZW50LnNlcnZpY2VzLkdldERpYWdub3N0aWNzUmVxdWVzdC5LRVlfT1BUSU9OSACIAQEiMgoKS0VZX09QVElPThIICgROT05FEAASDAoIVFJVTkNBVEUQARIMCghIVU1BTklaRRACQgcKBV9rZXlzInUKFkdldERpYWdub3N0aWNzUmVzcG9uc2USLQoJdGltZXN0YW1wGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCgtkaWFnbm9zdGljcxgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi+gIKCFBsYXRmb3JtEjoKBHR5cGUYASABKA4yLC5keG9zLmNsaWVudC5zZXJ2aWNlcy5QbGF0Zm9ybS5QTEFURk9STV9UWVBFEhcKCnVzZXJfYWdlbnQYAiABKAlIAIgBARIVCghwbGF0Zm9ybRgDIAEoCUgBiAEBEhEKBGFyY2gYBCABKAlIAogBARIUCgdydW50aW1lGAUgASgJSAOIAQESEwoGdXB0aW1lGAYgASgNSASIAQESLAoGbWVtb3J5GAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgFiAEBIk8KDVBMQVRGT1JNX1RZUEUSCwoHQlJPV1NFUhAAEhEKDVNIQVJFRF9XT1JLRVIQARIICgROT0RFEAISFAoQREVESUNBVEVEX1dPUktFUhADQg0KC191c2VyX2FnZW50QgsKCV9wbGF0Zm9ybUIHCgVfYXJjaEIKCghfcnVudGltZUIJCgdfdXB0aW1lQgkKB19tZW1vcnkiyQEKCElkZW50aXR5EgsKA2RpZBgEIAEoCRIqCgxpZGVudGl0eV9rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EiwKCXNwYWNlX2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXlIAIgBARI8Cgdwcm9maWxlGAMgASgLMiYuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLlByb2ZpbGVEb2N1bWVudEgBiAEBQgwKCl9zcGFjZV9rZXlCCgoIX3Byb2ZpbGUijwEKIFJlcXVlc3RSZWNvdmVyeUNoYWxsZW5nZVJlc3BvbnNlEigKCmRldmljZV9rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5Ei4KEGNvbnRyb2xfZmVlZF9rZXkYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EhEKCWNoYWxsZW5nZRgDIAEoCSK6AwoWUmVjb3ZlcklkZW50aXR5UmVxdWVzdBIXCg1yZWNvdmVyeV9jb2RlGAEgASgJSAASUgoIZXh0ZXJuYWwYAiABKAsyPi5keG9zLmNsaWVudC5zZXJ2aWNlcy5SZWNvdmVySWRlbnRpdHlSZXF1ZXN0LkV4dGVybmFsU2lnbmF0dXJlSAASDwoFdG9rZW4YAyABKAlIABqWAgoRRXh0ZXJuYWxTaWduYXR1cmUSKAoKbG9va3VwX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSKAoKZGV2aWNlX2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSLgoQY29udHJvbF9mZWVkX2tleRgDIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSEQoJc2lnbmF0dXJlGAQgASgMEh0KEGNsaWVudF9kYXRhX2pzb24YBSABKAxIAIgBARIfChJhdXRoZW50aWNhdG9yX2RhdGEYBiABKAxIAYgBAUITChFfY2xpZW50X2RhdGFfanNvbkIVChNfYXV0aGVudGljYXRvcl9kYXRhQgkKB3JlcXVlc3QigQEKFlJlY292ZXJ5Q3JlZGVudGlhbERhdGESKgoMcmVjb3Zlcnlfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIoCgpsb29rdXBfa2V5GAIgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIRCglhbGdvcml0aG0YAyABKAkiawofQ3JlYXRlUmVjb3ZlcnlDcmVkZW50aWFsUmVxdWVzdBI/CgRkYXRhGAEgASgLMiwuZHhvcy5jbGllbnQuc2VydmljZXMuUmVjb3ZlcnlDcmVkZW50aWFsRGF0YUgAiAEBQgcKBV9kYXRhIlAKIENyZWF0ZVJlY292ZXJ5Q3JlZGVudGlhbFJlc3BvbnNlEhoKDXJlY292ZXJ5X2NvZGUYASABKAlIAIgBAUIQCg5fcmVjb3ZlcnlfY29kZSJbChVRdWVyeUlkZW50aXR5UmVzcG9uc2USNQoIaWRlbnRpdHkYASABKAsyHi5keG9zLmNsaWVudC5zZXJ2aWNlcy5JZGVudGl0eUgAiAEBQgsKCV9pZGVudGl0eSJyChdTaWduUHJlc2VudGF0aW9uUmVxdWVzdBI5CgxwcmVzZW50YXRpb24YASABKAsyIy5keG9zLmhhbG8uY3JlZGVudGlhbHMuUHJlc2VudGF0aW9uEhIKBW5vbmNlGAIgASgMSACIAQFCCAoGX25vbmNlIsUBChVDcmVhdGVJZGVudGl0eVJlcXVlc3QSPAoHcHJvZmlsZRgBIAEoCzImLmR4b3MuaGFsby5jcmVkZW50aWFscy5Qcm9maWxlRG9jdW1lbnRIAIgBARJJCg5kZXZpY2VfcHJvZmlsZRgDIAEoCzIsLmR4b3MuaGFsby5jcmVkZW50aWFscy5EZXZpY2VQcm9maWxlRG9jdW1lbnRIAYgBAUIKCghfcHJvZmlsZUIRCg9fZGV2aWNlX3Byb2ZpbGVKBAgCEAMipwIKBkRldmljZRIoCgpkZXZpY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIuCgRraW5kGAIgASgOMiAuZHhvcy5jbGllbnQuc2VydmljZXMuRGV2aWNlS2luZBJCCgdwcm9maWxlGAMgASgLMiwuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkRldmljZVByb2ZpbGVEb2N1bWVudEgAiAEBEjwKCHByZXNlbmNlGAQgASgOMiouZHhvcy5jbGllbnQuc2VydmljZXMuRGV2aWNlLlByZXNlbmNlU3RhdGUiNQoNUHJlc2VuY2VTdGF0ZRILCgdPRkZMSU5FEAASCgoGT05MSU5FEAESCwoHUkVNT1ZFRBACQgoKCF9wcm9maWxlIkUKFFF1ZXJ5RGV2aWNlc1Jlc3BvbnNlEi0KB2RldmljZXMYASADKAsyHC5keG9zLmNsaWVudC5zZXJ2aWNlcy5EZXZpY2UiqgEKB0NvbnRhY3QSKQoLaWRlbnRpdHlLZXkYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EjwKB3Byb2ZpbGUYASABKAsyJi5keG9zLmhhbG8uY3JlZGVudGlhbHMuUHJvZmlsZURvY3VtZW50SACIAQESKgoMY29tbW9uU3BhY2VzGAMgAygLMhQuZHhvcy5rZXlzLlB1YmxpY0tleUIKCghfcHJvZmlsZSI+CgtDb250YWN0Qm9vaxIvCghjb250YWN0cxgBIAMoCzIdLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNvbnRhY3QilgIKC1NwYWNlTWVtYmVyEjAKCGlkZW50aXR5GAEgASgLMh4uZHhvcy5jbGllbnQuc2VydmljZXMuSWRlbnRpdHkSQQoIcHJlc2VuY2UYAiABKA4yLy5keG9zLmNsaWVudC5zZXJ2aWNlcy5TcGFjZU1lbWJlci5QcmVzZW5jZVN0YXRlEjEKCnBlZXJTdGF0ZXMYAyADKAsyHS5keG9zLm1lc2gucHJlc2VuY2UuUGVlclN0YXRlEjUKBHJvbGUYBCABKA4yJy5keG9zLmhhbG8uY3JlZGVudGlhbHMuU3BhY2VNZW1iZXIuUm9sZSIoCg1QcmVzZW5jZVN0YXRlEgsKB09GRkxJTkUQABIKCgZPTkxJTkUQASLmEgoFU3BhY2USCgoCaWQYBSABKAkSJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIvCgVzdGF0ZRgCIAEoDjIgLmR4b3MuY2xpZW50LnNlcnZpY2VzLlNwYWNlU3RhdGUSQAoIcGlwZWxpbmUYAyABKAsyKS5keG9zLmNsaWVudC5zZXJ2aWNlcy5TcGFjZS5QaXBlbGluZVN0YXRlSACIAQESJQoFZXJyb3IYBCABKAsyES5keG9zLmVycm9yLkVycm9ySAGIAQESSQoQZWRnZV9yZXBsaWNhdGlvbhgGIAEoDjIqLmR4b3MuZWNoby5tZXRhZGF0YS5FZGdlUmVwbGljYXRpb25TZXR0aW5nSAKIAQESMgoHbWVtYmVycxgKIAMoCzIhLmR4b3MuY2xpZW50LnNlcnZpY2VzLlNwYWNlTWVtYmVyEioKB2NyZWF0b3IYCyABKAsyFC5keG9zLmtleXMuUHVibGljS2V5SAOIAQESMgoFY2FjaGUYFCABKAsyHi5keG9zLmVjaG8ubWV0YWRhdGEuU3BhY2VDYWNoZUgEiAEBEjQKB21ldHJpY3MYFSABKAsyIy5keG9zLmNsaWVudC5zZXJ2aWNlcy5TcGFjZS5NZXRyaWNzGtcDCgdNZXRyaWNzEi0KBG9wZW4YASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESPAoTcGlwZWxpbmVfaW5pdF9iZWdpbhgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI/ChZjb250cm9sX3BpcGVsaW5lX3JlYWR5GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEjsKEmRhdGFfcGlwZWxpbmVfb3BlbhgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARI8ChNkYXRhX3BpcGVsaW5lX3JlYWR5GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEi4KBXJlYWR5GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBQgcKBV9vcGVuQhYKFF9waXBlbGluZV9pbml0X2JlZ2luQhkKF19jb250cm9sX3BpcGVsaW5lX3JlYWR5QhUKE19kYXRhX3BpcGVsaW5lX29wZW5CFgoUX2RhdGFfcGlwZWxpbmVfcmVhZHlCCAoGX3JlYWR5GtwKCg1QaXBlbGluZVN0YXRlEjMKEGNvbnRyb2xfZmVlZF9rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5SACIAQESMAoNZGF0YV9mZWVkX2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXlIAYgBARIrCg1jb250cm9sX2ZlZWRzGBIgAygLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIoCgpkYXRhX2ZlZWRzGBMgAygLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRI9Cg1jdXJyZW50X2Vwb2NoGBQgASgLMiEuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkNyZWRlbnRpYWxIAogBARI9Cg1hcHBsaWVkX2Vwb2NoGBUgASgLMiEuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkNyZWRlbnRpYWxIA4gBARJMChljdXJyZW50X2NvbnRyb2xfdGltZWZyYW1lGAogASgLMiQuZHhvcy5lY2hvLnRpbWVmcmFtZS5UaW1lZnJhbWVWZWN0b3JIBIgBARJLChh0YXJnZXRfY29udHJvbF90aW1lZnJhbWUYCyABKAsyJC5keG9zLmVjaG8udGltZWZyYW1lLlRpbWVmcmFtZVZlY3RvckgFiAEBEkoKF3RvdGFsX2NvbnRyb2xfdGltZWZyYW1lGA4gASgLMiQuZHhvcy5lY2hvLnRpbWVmcmFtZS5UaW1lZnJhbWVWZWN0b3JIBogBARJKChdrbm93bl9jb250cm9sX3RpbWVmcmFtZRgPIAEoCzIkLmR4b3MuZWNoby50aW1lZnJhbWUuVGltZWZyYW1lVmVjdG9ySAeIAQESRwoUc3RhcnRfZGF0YV90aW1lZnJhbWUYZCABKAsyJC5keG9zLmVjaG8udGltZWZyYW1lLlRpbWVmcmFtZVZlY3RvckgIiAEBEkkKFmN1cnJlbnRfZGF0YV90aW1lZnJhbWUYDCABKAsyJC5keG9zLmVjaG8udGltZWZyYW1lLlRpbWVmcmFtZVZlY3RvckgJiAEBEkgKFXRhcmdldF9kYXRhX3RpbWVmcmFtZRgNIAEoCzIkLmR4b3MuZWNoby50aW1lZnJhbWUuVGltZWZyYW1lVmVjdG9ySAqIAQESRwoUdG90YWxfZGF0YV90aW1lZnJhbWUYECABKAsyJC5keG9zLmVjaG8udGltZWZyYW1lLlRpbWVmcmFtZVZlY3RvckgLiAEBEkcKFGtub3duX2RhdGFfdGltZWZyYW1lGBEgASgLMiQuZHhvcy5lY2hvLnRpbWVmcmFtZS5UaW1lZnJhbWVWZWN0b3JIDIgBARIbCg5zcGFjZV9yb290X3VybBgWIAEoCUgNiAEBQhMKEV9jb250cm9sX2ZlZWRfa2V5QhAKDl9kYXRhX2ZlZWRfa2V5QhAKDl9jdXJyZW50X2Vwb2NoQhAKDl9hcHBsaWVkX2Vwb2NoQhwKGl9jdXJyZW50X2NvbnRyb2xfdGltZWZyYW1lQhsKGV90YXJnZXRfY29udHJvbF90aW1lZnJhbWVCGgoYX3RvdGFsX2NvbnRyb2xfdGltZWZyYW1lQhoKGF9rbm93bl9jb250cm9sX3RpbWVmcmFtZUIXChVfc3RhcnRfZGF0YV90aW1lZnJhbWVCGQoXX2N1cnJlbnRfZGF0YV90aW1lZnJhbWVCGAoWX3RhcmdldF9kYXRhX3RpbWVmcmFtZUIXChVfdG90YWxfZGF0YV90aW1lZnJhbWVCFwoVX2tub3duX2RhdGFfdGltZWZyYW1lQhEKD19zcGFjZV9yb290X3VybEILCglfcGlwZWxpbmVCCAoGX2Vycm9yQhMKEV9lZGdlX3JlcGxpY2F0aW9uQgoKCF9jcmVhdG9yQggKBl9jYWNoZSLdAQoSVXBkYXRlU3BhY2VSZXF1ZXN0EicKCXNwYWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSNAoFc3RhdGUYAiABKA4yIC5keG9zLmNsaWVudC5zZXJ2aWNlcy5TcGFjZVN0YXRlSACIAQESSQoQZWRnZV9yZXBsaWNhdGlvbhgDIAEoDjIqLmR4b3MuZWNoby5tZXRhZGF0YS5FZGdlUmVwbGljYXRpb25TZXR0aW5nSAGIAQFCCAoGX3N0YXRlQhMKEV9lZGdlX3JlcGxpY2F0aW9uIkIKE1F1ZXJ5U3BhY2VzUmVzcG9uc2USKwoGc3BhY2VzGAEgAygLMhsuZHhvcy5jbGllbnQuc2VydmljZXMuU3BhY2UidQoSUG9zdE1lc3NhZ2VSZXF1ZXN0EicKCXNwYWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSDwoHY2hhbm5lbBgCIAEoCRIlCgdtZXNzYWdlGAMgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueSJUChhTdWJzY3JpYmVNZXNzYWdlc1JlcXVlc3QSJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIPCgdjaGFubmVsGAIgASgJInoKF1dyaXRlQ3JlZGVudGlhbHNSZXF1ZXN0EicKCXNwYWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSNgoLY3JlZGVudGlhbHMYAiADKAsyIS5keG9zLmhhbG8uY3JlZGVudGlhbHMuQ3JlZGVudGlhbCJkChdRdWVyeUNyZWRlbnRpYWxzUmVxdWVzdBInCglzcGFjZV9rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EhQKB25vX3RhaWwYAiABKAhIAIgBAUIKCghfbm9fdGFpbCL1AgoSQ3JlYXRlRXBvY2hSZXF1ZXN0EicKCXNwYWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSSgoJbWlncmF0aW9uGAIgASgOMjIuZHhvcy5jbGllbnQuc2VydmljZXMuQ3JlYXRlRXBvY2hSZXF1ZXN0Lk1pZ3JhdGlvbkgAiAEBEh8KEmF1dG9tZXJnZV9yb290X3VybBgDIAEoCUgBiAEBIqMBCglNaWdyYXRpb24SCAoETk9ORRAAEhIKDklOSVRfQVVUT01FUkdFEAESIAocUFJVTkVfQVVUT01FUkdFX1JPT1RfSElTVE9SWRACEhsKF0ZSQUdNRU5UX0FVVE9NRVJHRV9ST09UEAMSGgoWUkVQTEFDRV9BVVRPTUVSR0VfUk9PVBAEEh0KGU1JR1JBVEVfUkVGRVJFTkNFU19UT19EWE4QBUIMCgpfbWlncmF0aW9uQhUKE19hdXRvbWVyZ2Vfcm9vdF91cmwiyAEKE0NyZWF0ZUVwb2NoUmVzcG9uc2USQAoQZXBvY2hfY3JlZGVudGlhbBgBIAEoCzIhLmR4b3MuaGFsby5jcmVkZW50aWFscy5DcmVkZW50aWFsSACIAQESRAoRY29udHJvbF90aW1lZnJhbWUYAiABKAsyJC5keG9zLmVjaG8udGltZWZyYW1lLlRpbWVmcmFtZVZlY3RvckgBiAEBQhMKEV9lcG9jaF9jcmVkZW50aWFsQhQKEl9jb250cm9sX3RpbWVmcmFtZSKnAQoXVXBkYXRlTWVtYmVyUm9sZVJlcXVlc3QSJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIoCgptZW1iZXJfa2V5GAIgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRI5CghuZXdfcm9sZRgDIAEoDjInLmR4b3MuaGFsby5jcmVkZW50aWFscy5TcGFjZU1lbWJlci5Sb2xlIqUBChNBZG1pdENvbnRhY3RSZXF1ZXN0Ei4KB2NvbnRhY3QYASABKAsyHS5keG9zLmNsaWVudC5zZXJ2aWNlcy5Db250YWN0EjUKBHJvbGUYAiABKA4yJy5keG9zLmhhbG8uY3JlZGVudGlhbHMuU3BhY2VNZW1iZXIuUm9sZRInCglzcGFjZV9rZXkYAyABKAsyFC5keG9zLmtleXMuUHVibGljS2V5IkkKEENvbnRhY3RBZG1pc3Npb24SNQoKY3JlZGVudGlhbBgBIAEoCzIhLmR4b3MuaGFsby5jcmVkZW50aWFscy5DcmVkZW50aWFsIj8KEUpvaW5TcGFjZVJlc3BvbnNlEioKBXNwYWNlGAEgASgLMhsuZHhvcy5jbGllbnQuc2VydmljZXMuU3BhY2UiQAoVSm9pbkJ5U3BhY2VLZXlSZXF1ZXN0EicKCXNwYWNlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkiMgoMU3BhY2VBcmNoaXZlEhAKCGZpbGVuYW1lGAEgASgJEhAKCGNvbnRlbnRzGAIgASgMIiYKEkV4cG9ydFNwYWNlUmVxdWVzdBIQCghzcGFjZV9pZBgBIAEoCSJKChNFeHBvcnRTcGFjZVJlc3BvbnNlEjMKB2FyY2hpdmUYASABKAsyIi5keG9zLmNsaWVudC5zZXJ2aWNlcy5TcGFjZUFyY2hpdmUiSQoSSW1wb3J0U3BhY2VSZXF1ZXN0EjMKB2FyY2hpdmUYASABKAsyIi5keG9zLmNsaWVudC5zZXJ2aWNlcy5TcGFjZUFyY2hpdmUiKwoTSW1wb3J0U3BhY2VSZXNwb25zZRIUCgxuZXdfc3BhY2VfaWQYASABKAkirQEKF0FjY2VwdEludml0YXRpb25SZXF1ZXN0EjQKCmludml0YXRpb24YASABKAsyIC5keG9zLmNsaWVudC5zZXJ2aWNlcy5JbnZpdGF0aW9uEkkKDmRldmljZV9wcm9maWxlGAIgASgLMiwuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkRldmljZVByb2ZpbGVEb2N1bWVudEgAiAEBQhEKD19kZXZpY2VfcHJvZmlsZSJBChVBdXRoZW50aWNhdGlvblJlcXVlc3QSFQoNaW52aXRhdGlvbl9pZBgBIAEoCRIRCglhdXRoX2NvZGUYAiABKAkiMAoXQ2FuY2VsSW52aXRhdGlvblJlcXVlc3QSFQoNaW52aXRhdGlvbl9pZBgBIAEoCSKFAQoQSW52aXRhdGlvbk1ldGhvZBIzCgdjcmVhdGVkGAEgASgLMiAuZHhvcy5jbGllbnQuc2VydmljZXMuSW52aXRhdGlvbkgAEjQKCGFjY2VwdGVkGAIgASgLMiAuZHhvcy5jbGllbnQuc2VydmljZXMuSW52aXRhdGlvbkgAQgYKBGtpbmQi4gIKGFF1ZXJ5SW52aXRhdGlvbnNSZXNwb25zZRJFCgZhY3Rpb24YASABKA4yNS5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeUludml0YXRpb25zUmVzcG9uc2UuQWN0aW9uEkEKBHR5cGUYAiABKA4yMy5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeUludml0YXRpb25zUmVzcG9uc2UuVHlwZRI1CgtpbnZpdGF0aW9ucxgDIAMoCzIgLmR4b3MuY2xpZW50LnNlcnZpY2VzLkludml0YXRpb24SFQoIZXhpc3RpbmcYBCABKAhIAIgBASI+CgZBY3Rpb24SCQoFQURERUQQABILCgdSRU1PVkVEEAESCQoFU0FWRUQQAhIRCg1MT0FEX0NPTVBMRVRFEAMiIQoEVHlwZRILCgdDUkVBVEVEEAASDAoIQUNDRVBURUQQAUILCglfZXhpc3RpbmciWgohTG9hZFBlcnNpc3RlbnRJbnZpdGF0aW9uc1Jlc3BvbnNlEjUKC2ludml0YXRpb25zGAEgAygLMiAuZHhvcy5jbGllbnQuc2VydmljZXMuSW52aXRhdGlvbiKFAgoNTmV0d29ya1N0YXR1cxI0CgVzd2FybRgBIAEoDjIlLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNvbm5lY3Rpb25TdGF0ZRI9CglzaWduYWxpbmcYAiADKAsyKi5keG9zLmNsaWVudC5zZXJ2aWNlcy5OZXR3b3JrU3RhdHVzLlNpZ25hbBI3Cg9jb25uZWN0aW9uX2luZm8YAyADKAsyHi5keG9zLmRldnRvb2xzLnN3YXJtLlN3YXJtSW5mbxpGCgZTaWduYWwSDgoGc2VydmVyGAEgASgJEiwKBXN0YXRlGAIgASgOMh0uZHhvcy5tZXNoLnNpZ25hbC5TaWduYWxTdGF0ZSJLChNVcGRhdGVDb25maWdSZXF1ZXN0EjQKBXN3YXJtGAEgASgOMiUuZHhvcy5jbGllbnQuc2VydmljZXMuQ29ubmVjdGlvblN0YXRlIkEKGlN1YnNjcmliZVN3YXJtU3RhdGVSZXF1ZXN0EiMKBXRvcGljGAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleSKBAgoKRWRnZVN0YXR1cxI/CgVzdGF0ZRgBIAEoDjIwLmR4b3MuY2xpZW50LnNlcnZpY2VzLkVkZ2VTdGF0dXMuQ29ubmVjdGlvblN0YXRlEgsKA3J0dBgCIAEoBRIOCgZ1cHRpbWUYAyABKAUSFQoNcmF0ZV9ieXRlc191cBgEIAEoBRIXCg9yYXRlX2J5dGVzX2Rvd24YBSABKAUSFQoNbWVzc2FnZXNfc2VudBgGIAEoBRIZChFtZXNzYWdlc19yZWNlaXZlZBgHIAEoBSIzCg9Db25uZWN0aW9uU3RhdGUSEQoNTk9UX0NPTk5FQ1RFRBAAEg0KCUNPTk5FQ1RFRBABIksKF1F1ZXJ5RWRnZVN0YXR1c1Jlc3BvbnNlEjAKBnN0YXR1cxgBIAEoCzIgLmR4b3MuY2xpZW50LnNlcnZpY2VzLkVkZ2VTdGF0dXMiqwEKGFF1ZXJ5QWdlbnRTdGF0dXNSZXNwb25zZRJKCgZzdGF0dXMYASABKA4yOi5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeUFnZW50U3RhdHVzUmVzcG9uc2UuQWdlbnRTdGF0dXMiQwoLQWdlbnRTdGF0dXMSCwoHVU5LTk9XThAAEgoKBkFDVElWRRABEgwKCElOQUNUSVZFEAISDQoJTk9UX0ZPVU5EEAMqKAoMU3lzdGVtU3RhdHVzEgwKCElOQUNUSVZFEAASCgoGQUNUSVZFEAEqJgoKRGV2aWNlS2luZBILCgdDVVJSRU5UEAASCwoHVFJVU1RFRBABKioKD0Nvbm5lY3Rpb25TdGF0ZRILCgdPRkZMSU5FEAASCgoGT05MSU5FEAEy7wMKDVN5c3RlbVNlcnZpY2USOAoJR2V0Q29uZmlnEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhMuZHhvcy5jb25maWcuQ29uZmlnEmsKDkdldERpYWdub3N0aWNzEisuZHhvcy5jbGllbnQuc2VydmljZXMuR2V0RGlhZ25vc3RpY3NSZXF1ZXN0GiwuZHhvcy5jbGllbnQuc2VydmljZXMuR2V0RGlhZ25vc3RpY3NSZXNwb25zZRJRCgxVcGRhdGVTdGF0dXMSKS5keG9zLmNsaWVudC5zZXJ2aWNlcy5VcGRhdGVTdGF0dXNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EmQKC1F1ZXJ5U3RhdHVzEiguZHhvcy5jbGllbnQuc2VydmljZXMuUXVlcnlTdGF0dXNSZXF1ZXN0GikuZHhvcy5jbGllbnQuc2VydmljZXMuUXVlcnlTdGF0dXNSZXNwb25zZTABEjcKBVJlc2V0EhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkUKC0dldFBsYXRmb3JtEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gh4uZHhvcy5jbGllbnQuc2VydmljZXMuUGxhdGZvcm0ytQYKD0lkZW50aXR5U2VydmljZRJdCg5DcmVhdGVJZGVudGl0eRIrLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNyZWF0ZUlkZW50aXR5UmVxdWVzdBoeLmR4b3MuY2xpZW50LnNlcnZpY2VzLklkZW50aXR5EmoKGFJlcXVlc3RSZWNvdmVyeUNoYWxsZW5nZRIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRo2LmR4b3MuY2xpZW50LnNlcnZpY2VzLlJlcXVlc3RSZWNvdmVyeUNoYWxsZW5nZVJlc3BvbnNlEl8KD1JlY292ZXJJZGVudGl0eRIsLmR4b3MuY2xpZW50LnNlcnZpY2VzLlJlY292ZXJJZGVudGl0eVJlcXVlc3QaHi5keG9zLmNsaWVudC5zZXJ2aWNlcy5JZGVudGl0eRKJAQoYQ3JlYXRlUmVjb3ZlcnlDcmVkZW50aWFsEjUuZHhvcy5jbGllbnQuc2VydmljZXMuQ3JlYXRlUmVjb3ZlcnlDcmVkZW50aWFsUmVxdWVzdBo2LmR4b3MuY2xpZW50LnNlcnZpY2VzLkNyZWF0ZVJlY292ZXJ5Q3JlZGVudGlhbFJlc3BvbnNlElYKDVF1ZXJ5SWRlbnRpdHkSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaKy5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeUlkZW50aXR5UmVzcG9uc2UwARJXCg1VcGRhdGVQcm9maWxlEiYuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLlByb2ZpbGVEb2N1bWVudBoeLmR4b3MuY2xpZW50LnNlcnZpY2VzLklkZW50aXR5EmYKEFNpZ25QcmVzZW50YXRpb24SLS5keG9zLmNsaWVudC5zZXJ2aWNlcy5TaWduUHJlc2VudGF0aW9uUmVxdWVzdBojLmR4b3MuaGFsby5jcmVkZW50aWFscy5QcmVzZW50YXRpb24SUQoUQ3JlYXRlQXV0aENyZWRlbnRpYWwSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaIS5keG9zLmhhbG8uY3JlZGVudGlhbHMuQ3JlZGVudGlhbDLCAQoORGV2aWNlc1NlcnZpY2USWgoMVXBkYXRlRGV2aWNlEiwuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkRldmljZVByb2ZpbGVEb2N1bWVudBocLmR4b3MuY2xpZW50LnNlcnZpY2VzLkRldmljZRJUCgxRdWVyeURldmljZXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaKi5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeURldmljZXNSZXNwb25zZTABMqkBCg9Db250YWN0c1NlcnZpY2USSAoLR2V0Q29udGFjdHMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaIS5keG9zLmNsaWVudC5zZXJ2aWNlcy5Db250YWN0Qm9vaxJMCg1RdWVyeUNvbnRhY3RzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GiEuZHhvcy5jbGllbnQuc2VydmljZXMuQ29udGFjdEJvb2swATK/CQoNU3BhY2VzU2VydmljZRJCCgtDcmVhdGVTcGFjZRIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRobLmR4b3MuY2xpZW50LnNlcnZpY2VzLlNwYWNlEk8KC1VwZGF0ZVNwYWNlEiguZHhvcy5jbGllbnQuc2VydmljZXMuVXBkYXRlU3BhY2VSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElIKC1F1ZXJ5U3BhY2VzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GikuZHhvcy5jbGllbnQuc2VydmljZXMuUXVlcnlTcGFjZXNSZXNwb25zZTABElkKEFVwZGF0ZU1lbWJlclJvbGUSLS5keG9zLmNsaWVudC5zZXJ2aWNlcy5VcGRhdGVNZW1iZXJSb2xlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJRCgxBZG1pdENvbnRhY3QSKS5keG9zLmNsaWVudC5zZXJ2aWNlcy5BZG1pdENvbnRhY3RSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EmYKDkpvaW5CeVNwYWNlS2V5EisuZHhvcy5jbGllbnQuc2VydmljZXMuSm9pbkJ5U3BhY2VLZXlSZXF1ZXN0GicuZHhvcy5jbGllbnQuc2VydmljZXMuSm9pblNwYWNlUmVzcG9uc2USTwoLUG9zdE1lc3NhZ2USKC5keG9zLmNsaWVudC5zZXJ2aWNlcy5Qb3N0TWVzc2FnZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSbwoRU3Vic2NyaWJlTWVzc2FnZXMSLi5keG9zLmNsaWVudC5zZXJ2aWNlcy5TdWJzY3JpYmVNZXNzYWdlc1JlcXVlc3QaKC5keG9zLm1lc2gudGVsZXBvcnQuZ29zc2lwLkdvc3NpcE1lc3NhZ2UwARJZChBXcml0ZUNyZWRlbnRpYWxzEi0uZHhvcy5jbGllbnQuc2VydmljZXMuV3JpdGVDcmVkZW50aWFsc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSZgoQUXVlcnlDcmVkZW50aWFscxItLmR4b3MuY2xpZW50LnNlcnZpY2VzLlF1ZXJ5Q3JlZGVudGlhbHNSZXF1ZXN0GiEuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkNyZWRlbnRpYWwwARJiCgtDcmVhdGVFcG9jaBIoLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNyZWF0ZUVwb2NoUmVxdWVzdBopLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNyZWF0ZUVwb2NoUmVzcG9uc2USYgoLRXhwb3J0U3BhY2USKC5keG9zLmNsaWVudC5zZXJ2aWNlcy5FeHBvcnRTcGFjZVJlcXVlc3QaKS5keG9zLmNsaWVudC5zZXJ2aWNlcy5FeHBvcnRTcGFjZVJlc3BvbnNlEmIKC0ltcG9ydFNwYWNlEiguZHhvcy5jbGllbnQuc2VydmljZXMuSW1wb3J0U3BhY2VSZXF1ZXN0GikuZHhvcy5jbGllbnQuc2VydmljZXMuSW1wb3J0U3BhY2VSZXNwb25zZTLjAwoSSW52aXRhdGlvbnNTZXJ2aWNlElgKEENyZWF0ZUludml0YXRpb24SIC5keG9zLmNsaWVudC5zZXJ2aWNlcy5JbnZpdGF0aW9uGiAuZHhvcy5jbGllbnQuc2VydmljZXMuSW52aXRhdGlvbjABEmUKEEFjY2VwdEludml0YXRpb24SLS5keG9zLmNsaWVudC5zZXJ2aWNlcy5BY2NlcHRJbnZpdGF0aW9uUmVxdWVzdBogLmR4b3MuY2xpZW50LnNlcnZpY2VzLkludml0YXRpb24wARJTCgxBdXRoZW50aWNhdGUSKy5keG9zLmNsaWVudC5zZXJ2aWNlcy5BdXRoZW50aWNhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSWQoQQ2FuY2VsSW52aXRhdGlvbhItLmR4b3MuY2xpZW50LnNlcnZpY2VzLkNhbmNlbEludml0YXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElwKEFF1ZXJ5SW52aXRhdGlvbnMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaLi5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeUludml0YXRpb25zUmVzcG9uc2UwATKLBQoOTmV0d29ya1NlcnZpY2USUQoMVXBkYXRlQ29uZmlnEikuZHhvcy5jbGllbnQuc2VydmljZXMuVXBkYXRlQ29uZmlnUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJMCgtRdWVyeVN0YXR1cxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRojLmR4b3MuY2xpZW50LnNlcnZpY2VzLk5ldHdvcmtTdGF0dXMwARJCCglKb2luU3dhcm0SHS5keG9zLmVkZ2Uuc2lnbmFsLkpvaW5SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkQKCkxlYXZlU3dhcm0SHi5keG9zLmVkZ2Uuc2lnbmFsLkxlYXZlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJQCgpRdWVyeVN3YXJtEh4uZHhvcy5lZGdlLnNpZ25hbC5RdWVyeVJlcXVlc3QaIi5keG9zLmVkZ2UubWVzc2VuZ2VyLlN3YXJtUmVzcG9uc2USbQoTU3Vic2NyaWJlU3dhcm1TdGF0ZRIwLmR4b3MuY2xpZW50LnNlcnZpY2VzLlN1YnNjcmliZVN3YXJtU3RhdGVSZXF1ZXN0GiIuZHhvcy5lZGdlLm1lc3Nlbmdlci5Td2FybVJlc3BvbnNlMAESQAoLU2VuZE1lc3NhZ2USGS5keG9zLmVkZ2Uuc2lnbmFsLk1lc3NhZ2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSSwoRU3Vic2NyaWJlTWVzc2FnZXMSGS5keG9zLmVkZ2UubWVzc2VuZ2VyLlBlZXIaGS5keG9zLmVkZ2Uuc2lnbmFsLk1lc3NhZ2UwATKLAgoQRWRnZUFnZW50U2VydmljZRJaCg9RdWVyeUVkZ2VTdGF0dXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaLS5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeUVkZ2VTdGF0dXNSZXNwb25zZTABEj0KC0NyZWF0ZUFnZW50EhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElwKEFF1ZXJ5QWdlbnRTdGF0dXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaLi5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeUFnZW50U3RhdHVzUmVzcG9uc2UwAWIGcHJvdG8z", [file_google_protobuf_any, file_google_protobuf_empty, file_google_protobuf_struct, file_google_protobuf_timestamp, file_dxos_client_invitation, file_dxos_config, file_dxos_devtools_swarm, file_dxos_echo_metadata, file_dxos_echo_timeframe, file_dxos_edge_messenger, file_dxos_edge_signal, file_dxos_error, file_dxos_halo_credentials, file_dxos_keys, file_dxos_mesh_signal, file_dxos_mesh_presence, file_dxos_mesh_teleport_gossip, file_dxos_value]);
49
49
 
50
50
  /**
51
51
  * @generated from message dxos.client.services.UpdateStatusRequest
@@ -241,6 +241,11 @@ export enum Platform_PLATFORM_TYPE {
241
241
  * @generated from enum value: NODE = 2;
242
242
  */
243
243
  NODE = 2,
244
+
245
+ /**
246
+ * @generated from enum value: DEDICATED_WORKER = 3;
247
+ */
248
+ DEDICATED_WORKER = 3,
244
249
  }
245
250
 
246
251
  /**
@@ -1643,6 +1648,82 @@ export type SubscribeSwarmStateRequest = Message<"dxos.client.services.Subscribe
1643
1648
  export const SubscribeSwarmStateRequestSchema: GenMessage<SubscribeSwarmStateRequest> = /*@__PURE__*/
1644
1649
  messageDesc(file_dxos_client_services, 47);
1645
1650
 
1651
+ /**
1652
+ * @generated from message dxos.client.services.EdgeStatus
1653
+ */
1654
+ export type EdgeStatus = Message<"dxos.client.services.EdgeStatus"> & {
1655
+ /**
1656
+ * @generated from field: dxos.client.services.EdgeStatus.ConnectionState state = 1;
1657
+ */
1658
+ state: EdgeStatus_ConnectionState;
1659
+
1660
+ /**
1661
+ * * Latency in ms
1662
+ *
1663
+ * @generated from field: int32 rtt = 2;
1664
+ */
1665
+ rtt: number;
1666
+
1667
+ /**
1668
+ * * How long the connection has been up
1669
+ *
1670
+ * @generated from field: int32 uptime = 3;
1671
+ */
1672
+ uptime: number;
1673
+
1674
+ /**
1675
+ * * Upload rate in bytes per second
1676
+ *
1677
+ * @generated from field: int32 rate_bytes_up = 4;
1678
+ */
1679
+ rateBytesUp: number;
1680
+
1681
+ /**
1682
+ * * Download rate in bytes per second
1683
+ *
1684
+ * @generated from field: int32 rate_bytes_down = 5;
1685
+ */
1686
+ rateBytesDown: number;
1687
+
1688
+ /**
1689
+ * @generated from field: int32 messages_sent = 6;
1690
+ */
1691
+ messagesSent: number;
1692
+
1693
+ /**
1694
+ * @generated from field: int32 messages_received = 7;
1695
+ */
1696
+ messagesReceived: number;
1697
+ };
1698
+
1699
+ /**
1700
+ * Describes the message dxos.client.services.EdgeStatus.
1701
+ * Use `create(EdgeStatusSchema)` to create a new message.
1702
+ */
1703
+ export const EdgeStatusSchema: GenMessage<EdgeStatus> = /*@__PURE__*/
1704
+ messageDesc(file_dxos_client_services, 48);
1705
+
1706
+ /**
1707
+ * @generated from enum dxos.client.services.EdgeStatus.ConnectionState
1708
+ */
1709
+ export enum EdgeStatus_ConnectionState {
1710
+ /**
1711
+ * @generated from enum value: NOT_CONNECTED = 0;
1712
+ */
1713
+ NOT_CONNECTED = 0,
1714
+
1715
+ /**
1716
+ * @generated from enum value: CONNECTED = 1;
1717
+ */
1718
+ CONNECTED = 1,
1719
+ }
1720
+
1721
+ /**
1722
+ * Describes the enum dxos.client.services.EdgeStatus.ConnectionState.
1723
+ */
1724
+ export const EdgeStatus_ConnectionStateSchema: GenEnum<EdgeStatus_ConnectionState> = /*@__PURE__*/
1725
+ enumDesc(file_dxos_client_services, 48, 0);
1726
+
1646
1727
  /**
1647
1728
  * @generated from message dxos.client.services.QueryEdgeStatusResponse
1648
1729
  */
@@ -1650,7 +1731,7 @@ export type QueryEdgeStatusResponse = Message<"dxos.client.services.QueryEdgeSta
1650
1731
  /**
1651
1732
  * @generated from field: dxos.client.services.EdgeStatus status = 1;
1652
1733
  */
1653
- status: EdgeStatus;
1734
+ status?: EdgeStatus;
1654
1735
  };
1655
1736
 
1656
1737
  /**
@@ -1658,7 +1739,7 @@ export type QueryEdgeStatusResponse = Message<"dxos.client.services.QueryEdgeSta
1658
1739
  * Use `create(QueryEdgeStatusResponseSchema)` to create a new message.
1659
1740
  */
1660
1741
  export const QueryEdgeStatusResponseSchema: GenMessage<QueryEdgeStatusResponse> = /*@__PURE__*/
1661
- messageDesc(file_dxos_client_services, 48);
1742
+ messageDesc(file_dxos_client_services, 49);
1662
1743
 
1663
1744
  /**
1664
1745
  * @generated from message dxos.client.services.QueryAgentStatusResponse
@@ -1675,7 +1756,7 @@ export type QueryAgentStatusResponse = Message<"dxos.client.services.QueryAgentS
1675
1756
  * Use `create(QueryAgentStatusResponseSchema)` to create a new message.
1676
1757
  */
1677
1758
  export const QueryAgentStatusResponseSchema: GenMessage<QueryAgentStatusResponse> = /*@__PURE__*/
1678
- messageDesc(file_dxos_client_services, 49);
1759
+ messageDesc(file_dxos_client_services, 50);
1679
1760
 
1680
1761
  /**
1681
1762
  * @generated from enum dxos.client.services.QueryAgentStatusResponse.AgentStatus
@@ -1706,7 +1787,7 @@ export enum QueryAgentStatusResponse_AgentStatus {
1706
1787
  * Describes the enum dxos.client.services.QueryAgentStatusResponse.AgentStatus.
1707
1788
  */
1708
1789
  export const QueryAgentStatusResponse_AgentStatusSchema: GenEnum<QueryAgentStatusResponse_AgentStatus> = /*@__PURE__*/
1709
- enumDesc(file_dxos_client_services, 49, 0);
1790
+ enumDesc(file_dxos_client_services, 50, 0);
1710
1791
 
1711
1792
  /**
1712
1793
  * @generated from enum dxos.client.services.SystemStatus
@@ -1773,27 +1854,6 @@ export enum ConnectionState {
1773
1854
  export const ConnectionStateSchema: GenEnum<ConnectionState> = /*@__PURE__*/
1774
1855
  enumDesc(file_dxos_client_services, 2);
1775
1856
 
1776
- /**
1777
- * @generated from enum dxos.client.services.EdgeStatus
1778
- */
1779
- export enum EdgeStatus {
1780
- /**
1781
- * @generated from enum value: NOT_CONNECTED = 0;
1782
- */
1783
- NOT_CONNECTED = 0,
1784
-
1785
- /**
1786
- * @generated from enum value: CONNECTED = 1;
1787
- */
1788
- CONNECTED = 1,
1789
- }
1790
-
1791
- /**
1792
- * Describes the enum dxos.client.services.EdgeStatus.
1793
- */
1794
- export const EdgeStatusSchema: GenEnum<EdgeStatus> = /*@__PURE__*/
1795
- enumDesc(file_dxos_client_services, 3);
1796
-
1797
1857
  /**
1798
1858
  * @generated from service dxos.client.services.SystemService
1799
1859
  */