@raystack/proton 0.1.0-09b6d3e7c1e4b03bb30db032380c04e0524ac701 → 0.1.0-2dbafa5913a214851fdc4f1beefbe27c4a6de55a

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 (382) hide show
  1. package/google/api/annotations_pb.d.ts +34 -0
  2. package/google/api/annotations_pb.js +36 -0
  3. package/google/api/annotations_pb.ts +15 -9
  4. package/google/api/field_behavior_pb.d.ts +134 -0
  5. package/google/api/field_behavior_pb.js +65 -0
  6. package/google/api/field_behavior_pb.ts +19 -19
  7. package/google/api/http_pb.d.ts +477 -0
  8. package/google/api/http_pb.js +47 -0
  9. package/google/api/http_pb.ts +43 -108
  10. package/google/api/httpbody_pb.d.ts +104 -0
  11. package/google/api/httpbody_pb.js +34 -0
  12. package/google/api/httpbody_pb.ts +23 -37
  13. package/index.d.ts +10 -0
  14. package/index.js +10 -0
  15. package/index.ts +10 -0
  16. package/package.json +62 -17
  17. package/protoc-gen-openapiv2/options/annotations_pb.d.ts +63 -0
  18. package/protoc-gen-openapiv2/options/annotations_pb.js +69 -0
  19. package/protoc-gen-openapiv2/options/annotations_pb.ts +23 -29
  20. package/protoc-gen-openapiv2/options/openapiv2_pb.d.ts +1497 -0
  21. package/protoc-gen-openapiv2/options/openapiv2_pb.js +232 -0
  22. package/protoc-gen-openapiv2/options/openapiv2_pb.ts +338 -808
  23. package/raystack/assets/index.d.ts +29 -0
  24. package/raystack/assets/index.js +29 -0
  25. package/raystack/assets/index.ts +29 -29
  26. package/raystack/assets/v1beta1/bucket_pb.d.ts +180 -0
  27. package/raystack/assets/v1beta1/bucket_pb.js +32 -0
  28. package/raystack/assets/v1beta1/bucket_pb.ts +46 -89
  29. package/raystack/assets/v1beta1/dashboard_pb.d.ts +217 -0
  30. package/raystack/assets/v1beta1/dashboard_pb.js +32 -0
  31. package/raystack/assets/v1beta1/dashboard_pb.ts +49 -97
  32. package/raystack/assets/v1beta1/event_pb.d.ts +52 -0
  33. package/raystack/assets/v1beta1/event_pb.js +20 -0
  34. package/raystack/assets/v1beta1/event_pb.ts +22 -36
  35. package/raystack/assets/v1beta1/group_pb.d.ts +105 -0
  36. package/raystack/assets/v1beta1/group_pb.js +30 -0
  37. package/raystack/assets/v1beta1/group_pb.ts +38 -74
  38. package/raystack/assets/v1beta1/job_pb.d.ts +78 -0
  39. package/raystack/assets/v1beta1/job_pb.js +25 -0
  40. package/raystack/assets/v1beta1/job_pb.ts +30 -43
  41. package/raystack/assets/v1beta1/lineage_pb.d.ts +43 -0
  42. package/raystack/assets/v1beta1/lineage_pb.js +20 -0
  43. package/raystack/assets/v1beta1/lineage_pb.ts +22 -36
  44. package/raystack/assets/v1beta1/ownership_pb.d.ts +78 -0
  45. package/raystack/assets/v1beta1/ownership_pb.js +26 -0
  46. package/raystack/assets/v1beta1/ownership_pb.ts +31 -68
  47. package/raystack/assets/v1beta1/preview_pb.d.ts +41 -0
  48. package/raystack/assets/v1beta1/preview_pb.js +20 -0
  49. package/raystack/assets/v1beta1/preview_pb.ts +21 -34
  50. package/raystack/assets/v1beta1/properties_pb.d.ts +44 -0
  51. package/raystack/assets/v1beta1/properties_pb.js +20 -0
  52. package/raystack/assets/v1beta1/properties_pb.ts +22 -37
  53. package/raystack/assets/v1beta1/resource_pb.d.ts +74 -0
  54. package/raystack/assets/v1beta1/resource_pb.js +19 -0
  55. package/raystack/assets/v1beta1/resource_pb.ts +24 -43
  56. package/raystack/assets/v1beta1/schema_pb.d.ts +169 -0
  57. package/raystack/assets/v1beta1/schema_pb.js +41 -0
  58. package/raystack/assets/v1beta1/schema_pb.ts +59 -145
  59. package/raystack/assets/v1beta1/table_pb.d.ts +192 -0
  60. package/raystack/assets/v1beta1/table_pb.js +41 -0
  61. package/raystack/assets/v1beta1/table_pb.ts +59 -120
  62. package/raystack/assets/v1beta1/timestamp_pb.d.ts +68 -0
  63. package/raystack/assets/v1beta1/timestamp_pb.js +27 -0
  64. package/raystack/assets/v1beta1/timestamp_pb.ts +28 -62
  65. package/raystack/assets/v1beta1/topic_pb.d.ts +125 -0
  66. package/raystack/assets/v1beta1/topic_pb.js +33 -0
  67. package/raystack/assets/v1beta1/topic_pb.ts +43 -78
  68. package/raystack/assets/v1beta1/user_pb.d.ts +216 -0
  69. package/raystack/assets/v1beta1/user_pb.js +37 -0
  70. package/raystack/assets/v1beta1/user_pb.ts +58 -125
  71. package/raystack/assets/v1beta2/application_pb.d.ts +59 -0
  72. package/raystack/assets/v1beta2/application_pb.js +20 -0
  73. package/raystack/assets/v1beta2/application_pb.ts +23 -39
  74. package/raystack/assets/v1beta2/asset_pb.d.ts +129 -0
  75. package/raystack/assets/v1beta2/asset_pb.js +21 -0
  76. package/raystack/assets/v1beta2/asset_pb.ts +30 -53
  77. package/raystack/assets/v1beta2/bucket_pb.d.ts +163 -0
  78. package/raystack/assets/v1beta2/bucket_pb.js +28 -0
  79. package/raystack/assets/v1beta2/bucket_pb.ts +41 -87
  80. package/raystack/assets/v1beta2/common_pb.d.ts +170 -0
  81. package/raystack/assets/v1beta2/common_pb.js +41 -0
  82. package/raystack/assets/v1beta2/common_pb.ts +56 -137
  83. package/raystack/assets/v1beta2/dashboard_pb.d.ts +192 -0
  84. package/raystack/assets/v1beta2/dashboard_pb.js +28 -0
  85. package/raystack/assets/v1beta2/dashboard_pb.ts +44 -93
  86. package/raystack/assets/v1beta2/experiment_pb.d.ts +134 -0
  87. package/raystack/assets/v1beta2/experiment_pb.js +27 -0
  88. package/raystack/assets/v1beta2/experiment_pb.ts +38 -79
  89. package/raystack/assets/v1beta2/feature_table_pb.d.ts +167 -0
  90. package/raystack/assets/v1beta2/feature_table_pb.js +34 -0
  91. package/raystack/assets/v1beta2/feature_table_pb.ts +51 -115
  92. package/raystack/assets/v1beta2/group_pb.d.ts +77 -0
  93. package/raystack/assets/v1beta2/group_pb.js +27 -0
  94. package/raystack/assets/v1beta2/group_pb.ts +32 -68
  95. package/raystack/assets/v1beta2/job_pb.d.ts +47 -0
  96. package/raystack/assets/v1beta2/job_pb.js +20 -0
  97. package/raystack/assets/v1beta2/job_pb.ts +21 -35
  98. package/raystack/assets/v1beta2/metric_pb.d.ts +83 -0
  99. package/raystack/assets/v1beta2/metric_pb.js +20 -0
  100. package/raystack/assets/v1beta2/metric_pb.ts +25 -43
  101. package/raystack/assets/v1beta2/model_pb.d.ts +227 -0
  102. package/raystack/assets/v1beta2/model_pb.js +41 -0
  103. package/raystack/assets/v1beta2/model_pb.ts +59 -147
  104. package/raystack/assets/v1beta2/table_pb.d.ts +283 -0
  105. package/raystack/assets/v1beta2/table_pb.js +48 -0
  106. package/raystack/assets/v1beta2/table_pb.ts +82 -200
  107. package/raystack/assets/v1beta2/topic_pb.d.ts +117 -0
  108. package/raystack/assets/v1beta2/topic_pb.js +34 -0
  109. package/raystack/assets/v1beta2/topic_pb.ts +41 -99
  110. package/raystack/assets/v1beta2/user_pb.d.ts +203 -0
  111. package/raystack/assets/v1beta2/user_pb.js +34 -0
  112. package/raystack/assets/v1beta2/user_pb.ts +53 -121
  113. package/raystack/common/index.d.ts +2 -0
  114. package/raystack/common/index.js +2 -0
  115. package/raystack/common/index.ts +1 -2
  116. package/raystack/common/v1/service-CommonService_connectquery.d.ts +10 -0
  117. package/raystack/common/v1/service-CommonService_connectquery.js +10 -0
  118. package/raystack/common/v1/service-CommonService_connectquery.ts +3 -14
  119. package/raystack/common/v1/service_pb.d.ts +100 -0
  120. package/raystack/common/v1/service_pb.js +42 -0
  121. package/raystack/common/v1/service_pb.ts +57 -97
  122. package/raystack/compass/index.d.ts +2 -0
  123. package/raystack/compass/index.js +2 -0
  124. package/raystack/compass/index.ts +1 -2
  125. package/raystack/compass/v1beta1/service-CompassService_connectquery.d.ts +184 -0
  126. package/raystack/compass/v1beta1/service-CompassService_connectquery.js +225 -0
  127. package/raystack/compass/v1beta1/service-CompassService_connectquery.ts +44 -424
  128. package/raystack/compass/v1beta1/service_pb.d.ts +2994 -0
  129. package/raystack/compass/v1beta1/service_pb.js +745 -0
  130. package/raystack/compass/v1beta1/service_pb.ts +1448 -3319
  131. package/raystack/entropy/index.d.ts +4 -0
  132. package/raystack/entropy/index.js +4 -0
  133. package/raystack/entropy/index.ts +2 -4
  134. package/raystack/entropy/v1beta1/module-ModuleService_connectquery.d.ts +26 -0
  135. package/raystack/entropy/v1beta1/module-ModuleService_connectquery.js +30 -0
  136. package/raystack/entropy/v1beta1/module-ModuleService_connectquery.ts +7 -54
  137. package/raystack/entropy/v1beta1/module_pb.d.ts +261 -0
  138. package/raystack/entropy/v1beta1/module_pb.js +97 -0
  139. package/raystack/entropy/v1beta1/module_pb.ts +156 -324
  140. package/raystack/entropy/v1beta1/resource-ResourceService_connectquery.d.ts +34 -0
  141. package/raystack/entropy/v1beta1/resource-ResourceService_connectquery.js +40 -0
  142. package/raystack/entropy/v1beta1/resource-ResourceService_connectquery.ts +9 -74
  143. package/raystack/entropy/v1beta1/resource_pb.d.ts +636 -0
  144. package/raystack/entropy/v1beta1/resource_pb.js +200 -0
  145. package/raystack/entropy/v1beta1/resource_pb.ts +330 -756
  146. package/raystack/frontier/index.d.ts +5 -0
  147. package/raystack/frontier/index.js +5 -0
  148. package/raystack/frontier/index.ts +3 -5
  149. package/raystack/frontier/v1beta1/admin-AdminService_connectquery.d.ts +251 -0
  150. package/raystack/frontier/v1beta1/admin-AdminService_connectquery.js +302 -0
  151. package/raystack/frontier/v1beta1/admin-AdminService_connectquery.ts +60 -514
  152. package/raystack/frontier/v1beta1/admin_pb.d.ts +3465 -0
  153. package/raystack/frontier/v1beta1/admin_pb.js +886 -0
  154. package/raystack/frontier/v1beta1/admin_pb.ts +1774 -3791
  155. package/raystack/frontier/v1beta1/frontier-FrontierService_connectquery.d.ts +728 -0
  156. package/raystack/frontier/v1beta1/frontier-FrontierService_connectquery.js +894 -0
  157. package/raystack/frontier/v1beta1/frontier-FrontierService_connectquery.ts +169 -1674
  158. package/raystack/frontier/v1beta1/frontier_pb.d.ts +8773 -0
  159. package/raystack/frontier/v1beta1/frontier_pb.js +2593 -0
  160. package/raystack/frontier/v1beta1/frontier_pb.ts +4850 -10959
  161. package/raystack/frontier/v1beta1/models_pb.d.ts +2794 -0
  162. package/raystack/frontier/v1beta1/models_pb.js +436 -0
  163. package/raystack/frontier/v1beta1/models_pb.ts +810 -2296
  164. package/raystack/guardian/index.d.ts +2 -0
  165. package/raystack/guardian/index.js +2 -0
  166. package/raystack/guardian/index.ts +1 -2
  167. package/raystack/guardian/v1beta1/guardian-GuardianService_connectquery.d.ts +168 -0
  168. package/raystack/guardian/v1beta1/guardian-GuardianService_connectquery.js +207 -0
  169. package/raystack/guardian/v1beta1/guardian-GuardianService_connectquery.ts +42 -404
  170. package/raystack/guardian/v1beta1/guardian_pb.d.ts +3537 -0
  171. package/raystack/guardian/v1beta1/guardian_pb.js +823 -0
  172. package/raystack/guardian/v1beta1/guardian_pb.ts +1584 -3783
  173. package/raystack/optimus/core/v1beta1/backup-BackupService_connectquery.d.ts +18 -0
  174. package/raystack/optimus/core/v1beta1/backup-BackupService_connectquery.js +20 -0
  175. package/raystack/optimus/core/v1beta1/backup-BackupService_connectquery.ts +5 -34
  176. package/raystack/optimus/core/v1beta1/backup_pb.d.ts +256 -0
  177. package/raystack/optimus/core/v1beta1/backup_pb.js +77 -0
  178. package/raystack/optimus/core/v1beta1/backup_pb.ts +137 -273
  179. package/raystack/optimus/core/v1beta1/job_run-JobRunService_connectquery.d.ts +30 -0
  180. package/raystack/optimus/core/v1beta1/job_run-JobRunService_connectquery.js +33 -0
  181. package/raystack/optimus/core/v1beta1/job_run-JobRunService_connectquery.ts +6 -44
  182. package/raystack/optimus/core/v1beta1/job_run_pb.d.ts +410 -0
  183. package/raystack/optimus/core/v1beta1/job_run_pb.js +127 -0
  184. package/raystack/optimus/core/v1beta1/job_run_pb.ts +194 -376
  185. package/raystack/optimus/core/v1beta1/job_spec-JobSpecificationService_connectquery.d.ts +98 -0
  186. package/raystack/optimus/core/v1beta1/job_spec-JobSpecificationService_connectquery.js +112 -0
  187. package/raystack/optimus/core/v1beta1/job_spec-JobSpecificationService_connectquery.ts +17 -154
  188. package/raystack/optimus/core/v1beta1/job_spec_pb.d.ts +1953 -0
  189. package/raystack/optimus/core/v1beta1/job_spec_pb.js +487 -0
  190. package/raystack/optimus/core/v1beta1/job_spec_pb.ts +910 -2081
  191. package/raystack/optimus/core/v1beta1/namespace-NamespaceService_connectquery.d.ts +24 -0
  192. package/raystack/optimus/core/v1beta1/namespace-NamespaceService_connectquery.js +26 -0
  193. package/raystack/optimus/core/v1beta1/namespace-NamespaceService_connectquery.ts +5 -34
  194. package/raystack/optimus/core/v1beta1/namespace_pb.d.ts +180 -0
  195. package/raystack/optimus/core/v1beta1/namespace_pb.js +69 -0
  196. package/raystack/optimus/core/v1beta1/namespace_pb.ts +113 -212
  197. package/raystack/optimus/core/v1beta1/project-ProjectService_connectquery.d.ts +24 -0
  198. package/raystack/optimus/core/v1beta1/project-ProjectService_connectquery.js +26 -0
  199. package/raystack/optimus/core/v1beta1/project-ProjectService_connectquery.ts +5 -34
  200. package/raystack/optimus/core/v1beta1/project_pb.d.ts +192 -0
  201. package/raystack/optimus/core/v1beta1/project_pb.js +76 -0
  202. package/raystack/optimus/core/v1beta1/project_pb.ts +121 -238
  203. package/raystack/optimus/core/v1beta1/replay-ReplayService_connectquery.d.ts +22 -0
  204. package/raystack/optimus/core/v1beta1/replay-ReplayService_connectquery.js +25 -0
  205. package/raystack/optimus/core/v1beta1/replay-ReplayService_connectquery.ts +6 -44
  206. package/raystack/optimus/core/v1beta1/replay_pb.d.ts +331 -0
  207. package/raystack/optimus/core/v1beta1/replay_pb.js +91 -0
  208. package/raystack/optimus/core/v1beta1/replay_pb.ts +160 -335
  209. package/raystack/optimus/core/v1beta1/resource-ResourceService_connectquery.d.ts +43 -0
  210. package/raystack/optimus/core/v1beta1/resource-ResourceService_connectquery.js +48 -0
  211. package/raystack/optimus/core/v1beta1/resource-ResourceService_connectquery.ts +8 -64
  212. package/raystack/optimus/core/v1beta1/resource_pb.d.ts +507 -0
  213. package/raystack/optimus/core/v1beta1/resource_pb.js +134 -0
  214. package/raystack/optimus/core/v1beta1/resource_pb.ts +266 -527
  215. package/raystack/optimus/core/v1beta1/runtime-RuntimeService_connectquery.d.ts +12 -0
  216. package/raystack/optimus/core/v1beta1/runtime-RuntimeService_connectquery.js +12 -0
  217. package/raystack/optimus/core/v1beta1/runtime-RuntimeService_connectquery.ts +3 -14
  218. package/raystack/optimus/core/v1beta1/runtime_pb.d.ts +62 -0
  219. package/raystack/optimus/core/v1beta1/runtime_pb.js +36 -0
  220. package/raystack/optimus/core/v1beta1/runtime_pb.ts +48 -61
  221. package/raystack/optimus/core/v1beta1/secret-SecretService_connectquery.d.ts +30 -0
  222. package/raystack/optimus/core/v1beta1/secret-SecretService_connectquery.js +33 -0
  223. package/raystack/optimus/core/v1beta1/secret-SecretService_connectquery.ts +6 -44
  224. package/raystack/optimus/core/v1beta1/secret_pb.d.ts +250 -0
  225. package/raystack/optimus/core/v1beta1/secret_pb.js +84 -0
  226. package/raystack/optimus/core/v1beta1/secret_pb.ts +155 -283
  227. package/raystack/optimus/core/v1beta1/status_pb.d.ts +78 -0
  228. package/raystack/optimus/core/v1beta1/status_pb.js +31 -0
  229. package/raystack/optimus/core/v1beta1/status_pb.ts +35 -54
  230. package/raystack/optimus/integration/v1beta1/event_pb.d.ts +239 -0
  231. package/raystack/optimus/integration/v1beta1/event_pb.js +62 -0
  232. package/raystack/optimus/integration/v1beta1/event_pb.ts +75 -187
  233. package/raystack/optimus/plugins/v1beta1/dependency_resolver-DependencyResolverModService_connectquery.d.ts +31 -0
  234. package/raystack/optimus/plugins/v1beta1/dependency_resolver-DependencyResolverModService_connectquery.js +34 -0
  235. package/raystack/optimus/plugins/v1beta1/dependency_resolver-DependencyResolverModService_connectquery.ts +6 -44
  236. package/raystack/optimus/plugins/v1beta1/dependency_resolver_pb.d.ts +353 -0
  237. package/raystack/optimus/plugins/v1beta1/dependency_resolver_pb.js +120 -0
  238. package/raystack/optimus/plugins/v1beta1/dependency_resolver_pb.ts +193 -426
  239. package/raystack/predator/index.d.ts +2 -0
  240. package/raystack/predator/index.js +2 -0
  241. package/raystack/predator/index.ts +2 -2
  242. package/raystack/predator/v1beta1/metrics_log_pb.d.ts +163 -0
  243. package/raystack/predator/v1beta1/metrics_log_pb.js +48 -0
  244. package/raystack/predator/v1beta1/metrics_log_pb.ts +67 -173
  245. package/raystack/predator/v1beta1/result_log_pb.d.ts +143 -0
  246. package/raystack/predator/v1beta1/result_log_pb.js +42 -0
  247. package/raystack/predator/v1beta1/result_log_pb.ts +60 -144
  248. package/raystack/raccoon/index.d.ts +2 -0
  249. package/raystack/raccoon/index.js +2 -0
  250. package/raystack/raccoon/index.ts +1 -2
  251. package/raystack/raccoon/v1beta1/raccoon-EventService_connectquery.d.ts +10 -0
  252. package/raystack/raccoon/v1beta1/raccoon-EventService_connectquery.js +10 -0
  253. package/raystack/raccoon/v1beta1/raccoon-EventService_connectquery.ts +3 -14
  254. package/raystack/raccoon/v1beta1/raccoon_pb.d.ts +268 -0
  255. package/raystack/raccoon/v1beta1/raccoon_pb.js +64 -0
  256. package/raystack/raccoon/v1beta1/raccoon_pb.ts +142 -189
  257. package/raystack/siren/index.d.ts +2 -0
  258. package/raystack/siren/index.js +2 -0
  259. package/raystack/siren/index.ts +1 -2
  260. package/raystack/siren/v1beta1/siren-SirenService_connectquery.d.ts +146 -0
  261. package/raystack/siren/v1beta1/siren-SirenService_connectquery.js +180 -0
  262. package/raystack/siren/v1beta1/siren-SirenService_connectquery.ts +37 -354
  263. package/raystack/siren/v1beta1/siren_pb.d.ts +2281 -0
  264. package/raystack/siren/v1beta1/siren_pb.js +603 -0
  265. package/raystack/siren/v1beta1/siren_pb.ts +1155 -2637
  266. package/raystack/stencil/index.d.ts +2 -0
  267. package/raystack/stencil/index.js +2 -0
  268. package/raystack/stencil/index.ts +1 -2
  269. package/raystack/stencil/v1beta1/stencil-StencilService_connectquery.d.ts +70 -0
  270. package/raystack/stencil/v1beta1/stencil-StencilService_connectquery.js +85 -0
  271. package/raystack/stencil/v1beta1/stencil-StencilService_connectquery.ts +18 -164
  272. package/raystack/stencil/v1beta1/stencil_pb.d.ts +1057 -0
  273. package/raystack/stencil/v1beta1/stencil_pb.js +298 -0
  274. package/raystack/stencil/v1beta1/stencil_pb.ts +530 -1157
  275. package/validate/validate_pb.d.ts +1953 -0
  276. package/validate/validate_pb.js +223 -0
  277. package/validate/validate_pb.ts +401 -1038
  278. package/google/api/field_behavior.ts +0 -95
  279. package/google/api/http.ts +0 -695
  280. package/google/api/httpbody.ts +0 -159
  281. package/google/protobuf/any.ts +0 -322
  282. package/google/protobuf/descriptor.ts +0 -3475
  283. package/google/protobuf/duration.ts +0 -231
  284. package/google/protobuf/struct.ts +0 -484
  285. package/google/protobuf/timestamp.ts +0 -290
  286. package/google/protobuf/wrappers.ts +0 -752
  287. package/protoc-gen-openapiv2/options/openapiv2.ts +0 -3110
  288. package/raystack/assets/v1beta1/bucket.ts +0 -362
  289. package/raystack/assets/v1beta1/dashboard.ts +0 -426
  290. package/raystack/assets/v1beta1/event.ts +0 -105
  291. package/raystack/assets/v1beta1/group.ts +0 -223
  292. package/raystack/assets/v1beta1/job.ts +0 -147
  293. package/raystack/assets/v1beta1/lineage.ts +0 -90
  294. package/raystack/assets/v1beta1/ownership.ts +0 -179
  295. package/raystack/assets/v1beta1/preview.ts +0 -87
  296. package/raystack/assets/v1beta1/properties.ts +0 -116
  297. package/raystack/assets/v1beta1/resource.ts +0 -149
  298. package/raystack/assets/v1beta1/schema.ts +0 -421
  299. package/raystack/assets/v1beta1/table.ts +0 -408
  300. package/raystack/assets/v1beta1/timestamp.ts +0 -158
  301. package/raystack/assets/v1beta1/topic.ts +0 -253
  302. package/raystack/assets/v1beta1/user.ts +0 -451
  303. package/raystack/assets/v1beta2/application.ts +0 -125
  304. package/raystack/assets/v1beta2/asset.ts +0 -269
  305. package/raystack/assets/v1beta2/bucket.ts +0 -341
  306. package/raystack/assets/v1beta2/common.ts +0 -392
  307. package/raystack/assets/v1beta2/dashboard.ts +0 -393
  308. package/raystack/assets/v1beta2/experiment.ts +0 -274
  309. package/raystack/assets/v1beta2/feature_table.ts +0 -387
  310. package/raystack/assets/v1beta2/group.ts +0 -178
  311. package/raystack/assets/v1beta2/job.ts +0 -99
  312. package/raystack/assets/v1beta2/metric.ts +0 -163
  313. package/raystack/assets/v1beta2/model.ts +0 -519
  314. package/raystack/assets/v1beta2/table.ts +0 -663
  315. package/raystack/assets/v1beta2/topic.ts +0 -275
  316. package/raystack/assets/v1beta2/user.ts +0 -433
  317. package/raystack/common/v1/service.client.ts +0 -37
  318. package/raystack/common/v1/service.ts +0 -245
  319. package/raystack/common/v1/service_connect.ts +0 -26
  320. package/raystack/compass/v1beta1/service.client.ts +0 -594
  321. package/raystack/compass/v1beta1/service.ts +0 -8169
  322. package/raystack/compass/v1beta1/service_connect.ts +0 -407
  323. package/raystack/entropy/v1beta1/module.client.ts +0 -89
  324. package/raystack/entropy/v1beta1/module.ts +0 -692
  325. package/raystack/entropy/v1beta1/module_connect.ts +0 -62
  326. package/raystack/entropy/v1beta1/resource.client.ts +0 -129
  327. package/raystack/entropy/v1beta1/resource.ts +0 -1817
  328. package/raystack/entropy/v1beta1/resource_connect.ts +0 -89
  329. package/raystack/frontier/v1beta1/admin.client.ts +0 -849
  330. package/raystack/frontier/v1beta1/admin.ts +0 -9007
  331. package/raystack/frontier/v1beta1/admin_connect.ts +0 -573
  332. package/raystack/frontier/v1beta1/frontier.client.ts +0 -2307
  333. package/raystack/frontier/v1beta1/frontier.ts +0 -23706
  334. package/raystack/frontier/v1beta1/frontier_connect.ts +0 -1574
  335. package/raystack/frontier/v1beta1/models.ts +0 -7433
  336. package/raystack/guardian/v1beta1/guardian.client.ts +0 -552
  337. package/raystack/guardian/v1beta1/guardian.ts +0 -9688
  338. package/raystack/guardian/v1beta1/guardian_connect.ts +0 -381
  339. package/raystack/optimus/core/v1beta1/backup.client.ts +0 -63
  340. package/raystack/optimus/core/v1beta1/backup.ts +0 -708
  341. package/raystack/optimus/core/v1beta1/backup_connect.ts +0 -44
  342. package/raystack/optimus/core/v1beta1/job_run.client.ts +0 -96
  343. package/raystack/optimus/core/v1beta1/job_run.ts +0 -1008
  344. package/raystack/optimus/core/v1beta1/job_run_connect.ts +0 -63
  345. package/raystack/optimus/core/v1beta1/job_spec.client.ts +0 -363
  346. package/raystack/optimus/core/v1beta1/job_spec.ts +0 -5134
  347. package/raystack/optimus/core/v1beta1/job_spec_connect.ts +0 -233
  348. package/raystack/optimus/core/v1beta1/namespace.client.ts +0 -75
  349. package/raystack/optimus/core/v1beta1/namespace.ts +0 -477
  350. package/raystack/optimus/core/v1beta1/namespace_connect.ts +0 -50
  351. package/raystack/optimus/core/v1beta1/project.client.ts +0 -75
  352. package/raystack/optimus/core/v1beta1/project.ts +0 -520
  353. package/raystack/optimus/core/v1beta1/project_connect.ts +0 -50
  354. package/raystack/optimus/core/v1beta1/replay.client.ts +0 -76
  355. package/raystack/optimus/core/v1beta1/replay.ts +0 -881
  356. package/raystack/optimus/core/v1beta1/replay_connect.ts +0 -53
  357. package/raystack/optimus/core/v1beta1/resource.client.ts +0 -148
  358. package/raystack/optimus/core/v1beta1/resource.ts +0 -1329
  359. package/raystack/optimus/core/v1beta1/resource_connect.ts +0 -96
  360. package/raystack/optimus/core/v1beta1/runtime.client.ts +0 -45
  361. package/raystack/optimus/core/v1beta1/runtime.ts +0 -131
  362. package/raystack/optimus/core/v1beta1/runtime_connect.ts +0 -30
  363. package/raystack/optimus/core/v1beta1/secret.client.ts +0 -92
  364. package/raystack/optimus/core/v1beta1/secret.ts +0 -619
  365. package/raystack/optimus/core/v1beta1/secret_connect.ts +0 -61
  366. package/raystack/optimus/core/v1beta1/status.ts +0 -113
  367. package/raystack/optimus/integration/v1beta1/event.ts +0 -531
  368. package/raystack/optimus/plugins/v1beta1/dependency_resolver.client.ts +0 -100
  369. package/raystack/optimus/plugins/v1beta1/dependency_resolver.ts +0 -950
  370. package/raystack/optimus/plugins/v1beta1/dependency_resolver_connect.ts +0 -65
  371. package/raystack/predator/v1beta1/metrics_log.ts +0 -457
  372. package/raystack/predator/v1beta1/result_log.ts +0 -390
  373. package/raystack/raccoon/v1beta1/raccoon.client.ts +0 -37
  374. package/raystack/raccoon/v1beta1/raccoon.ts +0 -442
  375. package/raystack/raccoon/v1beta1/raccoon_connect.ts +0 -26
  376. package/raystack/siren/v1beta1/siren.client.ts +0 -479
  377. package/raystack/siren/v1beta1/siren.ts +0 -6507
  378. package/raystack/siren/v1beta1/siren_connect.ts +0 -332
  379. package/raystack/stencil/v1beta1/stencil.client.ts +0 -232
  380. package/raystack/stencil/v1beta1/stencil.ts +0 -2716
  381. package/raystack/stencil/v1beta1/stencil_connect.ts +0 -161
  382. package/validate/validate.ts +0 -4130
@@ -0,0 +1,2593 @@
1
+ // @generated by protoc-gen-es v2.6.2 with parameter "target=ts+js+dts,import_extension=none"
2
+ // @generated from file raystack/frontier/v1beta1/frontier.proto (package raystack.frontier.v1beta1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
6
+ import { file_google_api_annotations } from "../../../google/api/annotations_pb";
7
+ import { file_google_api_field_behavior } from "../../../google/api/field_behavior_pb";
8
+ import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
9
+ import { file_protoc_gen_openapiv2_options_annotations } from "../../../protoc-gen-openapiv2/options/annotations_pb";
10
+ import { file_raystack_frontier_v1beta1_models } from "./models_pb";
11
+ import { file_validate_validate } from "../../../validate/validate_pb";
12
+
13
+ /**
14
+ * Describes the file raystack/frontier/v1beta1/frontier.proto.
15
+ */
16
+ export const file_raystack_frontier_v1beta1_frontier = /*@__PURE__*/
17
+ fileDesc("CihyYXlzdGFjay9mcm9udGllci92MWJldGExL2Zyb250aWVyLnByb3RvEhlyYXlzdGFjay5mcm9udGllci52MWJldGExIokCChlCaWxsaW5nQWNjb3VudFJlcXVlc3RCb2R5EgwKBG5hbWUYASABKAkSDQoFZW1haWwYAiABKAkSDQoFcGhvbmUYAyABKAkSQgoHYWRkcmVzcxgEIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuQWRkcmVzcxIQCghjdXJyZW5jeRgFIAEoCRI/Cgh0YXhfZGF0YRgGIAMoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuVGF4EikKCG1ldGFkYXRhGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKVAQobQ3JlYXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQARJMCgRib2R5GAIgASgLMjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudFJlcXVlc3RCb2R5Qgj6QgWKAQIQARIPCgdvZmZsaW5lGAMgASgIImIKHENyZWF0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2USQgoPYmlsbGluZ19hY2NvdW50GAEgASgLMikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudCKUAQoYR2V0QmlsbGluZ0FjY291bnRSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhABEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQARIcChR3aXRoX3BheW1lbnRfbWV0aG9kcxgDIAEoCBIcChR3aXRoX2JpbGxpbmdfZGV0YWlscxgEIAEoCBIOCgZleHBhbmQYZSADKAki7QEKGUdldEJpbGxpbmdBY2NvdW50UmVzcG9uc2USQgoPYmlsbGluZ19hY2NvdW50GAEgASgLMikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudBJBCg9wYXltZW50X21ldGhvZHMYAiADKAsyKC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBheW1lbnRNZXRob2QSSQoPYmlsbGluZ19kZXRhaWxzGAMgASgLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudERldGFpbHMikAEKG1VwZGF0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBIUCgJpZBgBIAEoCUII+kIFcgOwAQESFwoGb3JnX2lkGAIgASgJQgf6QgRyAhABEkIKBGJvZHkYAyABKAsyNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50UmVxdWVzdEJvZHkiYgocVXBkYXRlQmlsbGluZ0FjY291bnRSZXNwb25zZRJCCg9iaWxsaW5nX2FjY291bnQYASABKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50Ik4KHVJlZ2lzdGVyQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiIAoeUmVnaXN0ZXJCaWxsaW5nQWNjb3VudFJlc3BvbnNlIkUKGkxpc3RCaWxsaW5nQWNjb3VudHNSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQARIOCgZleHBhbmQYZSADKAkiYgobTGlzdEJpbGxpbmdBY2NvdW50c1Jlc3BvbnNlEkMKEGJpbGxpbmdfYWNjb3VudHMYASADKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50IkwKG0RlbGV0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBIUCgJpZBgBIAEoCUII+kIFcgOwAQESFwoGb3JnX2lkGAIgASgJQgf6QgRyAhABIh4KHERlbGV0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiTAobRW5hYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiHgocRW5hYmxlQmlsbGluZ0FjY291bnRSZXNwb25zZSJNChxEaXNhYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiHwodRGlzYWJsZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiSQoYR2V0QmlsbGluZ0JhbGFuY2VSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiXwoZR2V0QmlsbGluZ0JhbGFuY2VSZXNwb25zZRJCCgdiYWxhbmNlGAEgASgLMjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudC5CYWxhbmNlIlwKEUhhc1RyaWFsZWRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAESGAoHcGxhbl9pZBgDIAEoCUIH+kIEcgIQASIlChJIYXNUcmlhbGVkUmVzcG9uc2USDwoHdHJpYWxlZBgBIAEoCCKSAQoZQ3JlYXRlQmlsbGluZ1VzYWdlUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEgoKcHJvamVjdF9pZBgEIAEoCRIwCgZ1c2FnZXMYAyADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzYWdlIhwKGkNyZWF0ZUJpbGxpbmdVc2FnZVJlc3BvbnNlIvkBCh5MaXN0QmlsbGluZ1RyYW5zYWN0aW9uc1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEi0KBXNpbmNlGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEICGAESLwoLc3RhcnRfcmFuZ2UYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KCWVuZF9yYW5nZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGZXhwYW5kGGUgAygJImYKH0xpc3RCaWxsaW5nVHJhbnNhY3Rpb25zUmVzcG9uc2USQwoMdHJhbnNhY3Rpb25zGAEgAygLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nVHJhbnNhY3Rpb24iWAofVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHAoKYmlsbGluZ19pZBgCIAEoCUII+kIFcgOwAQEiZgogVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVzcG9uc2USQgoHZGViaXRlZBgBIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuQmFsYW5jZSJ3ChZHZXRTdWJzY3JpcHRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQARIOCgZleHBhbmQYZSADKAkiWAoXR2V0U3Vic2NyaXB0aW9uUmVzcG9uc2USPQoMc3Vic2NyaXB0aW9uGAEgASgLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TdWJzY3JpcHRpb24igQEKGExpc3RTdWJzY3JpcHRpb25zUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESDQoFc3RhdGUYAyABKAkSDAoEcGxhbhgEIAEoCRIOCgZleHBhbmQYZSADKAkiWwoZTGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZRI+Cg1zdWJzY3JpcHRpb25zGAEgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TdWJzY3JpcHRpb24ilQEKGVVwZGF0ZVN1YnNjcmlwdGlvblJlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEhMKAmlkGAMgASgJQgf6QgRyAhABEikKCG1ldGFkYXRhGBQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJbChpVcGRhdGVTdWJzY3JpcHRpb25SZXNwb25zZRI9CgxzdWJzY3JpcHRpb24YASABKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlN1YnNjcmlwdGlvbiKuAwoZQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEwoCaWQYAyABKAlCB/pCBHICEAESEAoEcGxhbhgEIAEoCUICGAESFQoJaW1tZWRpYXRlGAUgASgIQgIYARJWCgtwbGFuX2NoYW5nZRgGIAEoCzI/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdC5QbGFuQ2hhbmdlSAASWAoMcGhhc2VfY2hhbmdlGAcgASgLMkAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGFuZ2VTdWJzY3JpcHRpb25SZXF1ZXN0LlBoYXNlQ2hhbmdlSAAaLQoKUGxhbkNoYW5nZRIMCgRwbGFuGAEgASgJEhEKCWltbWVkaWF0ZRgCIAEoCBouCgtQaGFzZUNoYW5nZRIfChdjYW5jZWxfdXBjb21pbmdfY2hhbmdlcxgBIAEoCEIICgZjaGFuZ2UiWgoaQ2hhbmdlU3Vic2NyaXB0aW9uUmVzcG9uc2USPAoFcGhhc2UYASABKAsyLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlN1YnNjcmlwdGlvbi5QaGFzZSJ9ChlDYW5jZWxTdWJzY3JpcHRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQARIRCglpbW1lZGlhdGUYBCABKAgiHAoaQ2FuY2VsU3Vic2NyaXB0aW9uUmVzcG9uc2UiEgoQTGlzdFBsYW5zUmVxdWVzdCJDChFMaXN0UGxhbnNSZXNwb25zZRIuCgVwbGFucxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiJ/Ch5DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlcXVlc3QSDgoGb3JnX2lkGAEgASgJEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEhIKCnByb2plY3RfaWQYBCABKAkSGAoHZmVhdHVyZRgDIAEoCUIH+kIEcgIQASIxCh9DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCCJRCh1DaGVja0NyZWRpdEVudGl0bGVtZW50UmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSFwoGYW1vdW50GAIgASgDQgf6QgQiAiAAIjAKHkNoZWNrQ3JlZGl0RW50aXRsZW1lbnRSZXNwb25zZRIOCgZzdGF0dXMYASABKAgi0gIKFUNyZWF0ZUNoZWNrb3V0UmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEwoLc3VjY2Vzc191cmwYAyABKAkSEgoKY2FuY2VsX3VybBgEIAEoCRJOChFzdWJzY3JpcHRpb25fYm9keRgKIAEoCzIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tvdXRTdWJzY3JpcHRpb25Cb2R5EkQKDHByb2R1Y3RfYm9keRgLIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tvdXRQcm9kdWN0Qm9keRJACgpzZXR1cF9ib2R5GAwgASgLMiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja291dFNldHVwQm9keSJeChZDcmVhdGVDaGVja291dFJlc3BvbnNlEkQKEGNoZWNrb3V0X3Nlc3Npb24YASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiJQChRMaXN0Q2hlY2tvdXRzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQEiXgoVTGlzdENoZWNrb3V0c1Jlc3BvbnNlEkUKEWNoZWNrb3V0X3Nlc3Npb25zGAEgAygLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja291dFNlc3Npb24iYwoSR2V0Q2hlY2tvdXRSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQASJbChNHZXRDaGVja291dFJlc3BvbnNlEkQKEGNoZWNrb3V0X3Nlc3Npb24YASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiL7AgoSUHJvZHVjdFJlcXVlc3RCb2R5EhUKBG5hbWUYASABKAlCB/pCBHICEAMSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDwoHcGxhbl9pZBgEIAEoCRIwCgZwcmljZXMYBSADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByaWNlEjQKCGJlaGF2aW9yGAggASgJQiL6Qh9yHVIFYmFzaWNSB2NyZWRpdHNSCHBlcl9zZWF00AEBEjQKCGZlYXR1cmVzGAkgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5GZWF0dXJlEkoKD2JlaGF2aW9yX2NvbmZpZxgKIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdC5CZWhhdmlvckNvbmZpZxIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RKBAgHEAgiXQoUQ3JlYXRlUHJvZHVjdFJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdFJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCIoChFHZXRQcm9kdWN0UmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJJChJHZXRQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCIVChNMaXN0UHJvZHVjdHNSZXF1ZXN0IkwKFExpc3RQcm9kdWN0c1Jlc3BvbnNlEjQKCHByb2R1Y3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9kdWN0ImgKFFVwZGF0ZVByb2R1Y3RSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhABEjsKBGJvZHkYAiABKAsyLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2R1Y3RSZXF1ZXN0Qm9keSJMChVVcGRhdGVQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCJ6ChJGZWF0dXJlUmVxdWVzdEJvZHkSFQoEbmFtZRgBIAEoCUIH+kIEcgIQAxINCgV0aXRsZRgCIAEoCRITCgtwcm9kdWN0X2lkcxgDIAMoCRIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiXQoUQ3JlYXRlRmVhdHVyZVJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVGZWF0dXJlUmVzcG9uc2USMwoHZmVhdHVyZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSIoChFHZXRGZWF0dXJlUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJJChJHZXRGZWF0dXJlUmVzcG9uc2USMwoHZmVhdHVyZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSJoChRVcGRhdGVGZWF0dXJlUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQARI7CgRib2R5GAIgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5GZWF0dXJlUmVxdWVzdEJvZHkiTAoVVXBkYXRlRmVhdHVyZVJlc3BvbnNlEjMKB2ZlYXR1cmUYASABKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkZlYXR1cmUiFQoTTGlzdEZlYXR1cmVzUmVxdWVzdCJMChRMaXN0RmVhdHVyZXNSZXNwb25zZRI0CghmZWF0dXJlcxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSKDAgoPUGxhblJlcXVlc3RCb2R5EgwKBG5hbWUYASABKAkSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSNAoIcHJvZHVjdHMYBCADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2R1Y3QSLwoIaW50ZXJ2YWwYBSABKAlCHfpCGnIYUgNkYXlSBHdlZWtSBW1vbnRoUgR5ZWFyEhgKEG9uX3N0YXJ0X2NyZWRpdHMYBiABKAMSEgoKdHJpYWxfZGF5cxgHIAEoAxIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiVwoRQ3JlYXRlUGxhblJlcXVlc3QSQgoEYm9keRgBIAEoCzIqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhblJlcXVlc3RCb2R5Qgj6QgWKAQIQASJDChJDcmVhdGVQbGFuUmVzcG9uc2USLQoEcGxhbhgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiIlCg5HZXRQbGFuUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJACg9HZXRQbGFuUmVzcG9uc2USLQoEcGxhbhgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiJiChFVcGRhdGVQbGFuUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQARI4CgRib2R5GAIgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QbGFuUmVxdWVzdEJvZHkiQwoSVXBkYXRlUGxhblJlc3BvbnNlEi0KBHBsYW4YASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBsYW4ifAoTTGlzdEludm9pY2VzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESGwoTbm9uemVyb19hbW91bnRfb25seRgDIAEoCBIOCgZleHBhbmQYZSADKAkiTAoUTGlzdEludm9pY2VzUmVzcG9uc2USNAoIaW52b2ljZXMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludm9pY2UiVQoZR2V0VXBjb21pbmdJbnZvaWNlUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQEiUQoaR2V0VXBjb21pbmdJbnZvaWNlUmVzcG9uc2USMwoHaW52b2ljZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52b2ljZSIQCg5HZXRKV0tzUmVxdWVzdCJGCg9HZXRKV0tzUmVzcG9uc2USMwoEa2V5cxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSlNPTldlYktleSITChFBdXRoTG9nb3V0UmVxdWVzdCIUChJBdXRoTG9nb3V0UmVzcG9uc2UieQoTQXV0aENhbGxiYWNrUmVxdWVzdBIVCg1zdHJhdGVneV9uYW1lGAEgASgJEg0KBXN0YXRlGAIgASgJEgwKBGNvZGUYAyABKAkSLgoNc3RhdGVfb3B0aW9ucxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiFgoUQXV0aENhbGxiYWNrUmVzcG9uc2Ui3gUKE0F1dGhlbnRpY2F0ZVJlcXVlc3QSZAoNc3RyYXRlZ3lfbmFtZRgBIAEoCUJNkkFKMkhOYW1lIG9mIHRoZSBzdHJhdGVneSB0byB1c2UgZm9yIGF1dGhlbnRpY2F0aW9uLjxici8+ICpFeGFtcGxlOiogYGdvb2dsZWASagoQcmVkaXJlY3Rfb25zdGFydBgCIAEoCEJQkkFNMktJZiBzZXQgdG8gdHJ1ZSwgbG9jYXRpb24gaGVhZGVyIHdpbGwgYmUgc2V0IGZvciByZWRpcmVjdCB0byBzdGFydCBhdXRoIGZsb3cSeAoJcmV0dXJuX3RvGAMgASgJQmWSQWIyYFVSTCB0byByZWRpcmVjdCBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uLjxici8+ICpFeGFtcGxlOipgImh0dHBzOi8vZnJvbnRpZXIuZXhhbXBsZS5jb20iYBJuCgVlbWFpbBgEIAEoCUJfkkFcMlpFbWFpbCBvZiB0aGUgdXNlciB0byBhdXRoZW50aWNhdGUuIFVzZWQgZm9yIG1hZ2ljIGxpbmtzLjxici8+ICpFeGFtcGxlOipgZXhhbXBsZUBhY21lLm9yZ2ASigIKDGNhbGxiYWNrX3VybBgFIAEoCULzAZJB7wEy7AFIb3N0IHdoaWNoIHNob3VsZCBoYW5kbGUgdGhlIGNhbGwgdG8gZmluaXNoIGF1dGhlbnRpY2F0aW9uIGZsb3csIGZvciBtb3N0IGNhc2VzIGl0IGNvdWxkIGJlIGhvc3Qgb2YgZnJvbnRpZXIgYnV0IGluIGNhc2Ugb2YgcHJveGllcywgdGhpcyB3aWxsIGJlIHByb3h5IHB1YmxpYyBlbmRwb2ludC48YnIvPiAqRXhhbXBsZToqYGh0dHBzOi8vZnJvbnRpZXIuZXhhbXBsZS5jb20vdjFiZXRhMS9hdXRoL2NhbGxiYWNrYCJnChRBdXRoZW50aWNhdGVSZXNwb25zZRIQCghlbmRwb2ludBgBIAEoCRINCgVzdGF0ZRgCIAEoCRIuCg1zdGF0ZV9vcHRpb25zGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJFCgxBdXRoU3RyYXRlZ3kSDAoEbmFtZRgBIAEoCRInCgZwYXJhbXMYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IhsKGUxpc3RBdXRoU3RyYXRlZ2llc1JlcXVlc3QiWQoaTGlzdEF1dGhTdHJhdGVnaWVzUmVzcG9uc2USOwoKc3RyYXRlZ2llcxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aFN0cmF0ZWd5ImMKEEF1dGhUb2tlblJlcXVlc3QSEgoKZ3JhbnRfdHlwZRgBIAEoCRIRCgljbGllbnRfaWQYAiABKAkSFQoNY2xpZW50X3NlY3JldBgDIAEoCRIRCglhc3NlcnRpb24YBCABKAkiPQoRQXV0aFRva2VuUmVzcG9uc2USFAoMYWNjZXNzX3Rva2VuGAEgASgJEhIKCnRva2VuX3R5cGUYAiABKAki8wsKD1VzZXJSZXF1ZXN0Qm9keRLGAgoEbmFtZRgBIAEoCUK3ApJBjAIyiQJUaGUgbmFtZSBvZiB0aGUgdXNlci4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMgYW5kIG11c3Qgc3RhcnQgd2l0aCBhIGxldHRlci4gSWYgbm90IHByb3ZpZGVkLCBGcm9udGllciBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBhIG5hbWUgZnJvbSB0aGUgdXNlciBlbWFpbC4g+kIkciIyIF4oW2EtekEtWl1bYS16QS1aMC05LV9dezMsNjR9KT8kEpwBCgVlbWFpbBgCIAEoCUKMAZJBfjJ8VGhlIGVtYWlsIG9mIHRoZSB1c2VyLiBUaGUgZW1haWwgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuPGJyLz4qRXhhbXBsZToqYCJqb2huLmRvZUByYXlzdGFjay5vcmciYOJBAQL6QgRyAmABEtgDCghtZXRhZGF0YRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCrAOSQagDMqUDTWV0YWRhdGEgb2JqZWN0IGZvciB1c2VycyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBwcmUtZGVmaW5lZCBpbiBVc2VyIE1ldGFzY2hlbWEuIFRoZSBtZXRhZGF0YSBvYmplY3QgY2FuIGJlIHVzZWQgdG8gc3RvcmUgYXJiaXRyYXJ5IGluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2VyIHN1Y2ggYXMgbGFiZWwsIGRlc2NyaXB0aW9uIGV0Yy4gQnkgZGVmYXVsdCB0aGUgdXNlciBtZXRhc2NoZW1hIGNvbnRhaW5zIGxhYmVscyBhbmQgZGVzY3JpcHRpb25zIGZvciB0aGUgdXNlci4gVXBkYXRlIHRoZSBzYW1lIHRvIGFkZCBtb3JlIGZpZWxkcyB0byB0aGUgdXNlciBtZXRhZGF0YSBvYmplY3QuIDxici8+KkV4YW1wbGU6KmB7ImxhYmVsIjogeyJrZXkxIjogInZhbHVlMSJ9LCAiZGVzY3JpcHRpb24iOiAiVXNlciBEZXNjcmlwdGlvbiJ9YBKpAQoFdGl0bGUYBCABKAlCmQGSQZUBMpIBVGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSB1c2VyLiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPipFeGFtcGxlOipgIkpvaG4gRG9lImAS8AIKBmF2YXRhchgFIAEoCULfApJBjwIy0wFUaGUgYXZhdGFyIGlzIGJhc2U2NCBlbmNvZGVkIGltYWdlIGRhdGEgb2YgdGhlIHVzZXIuIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuIFRoZSBpbWFnZSBzaG91bGQgYmUgbGVzcyB0aGFuIDIwMEtCLiBTaG91bGQgZm9sbG93IHRoZSByZWdleCBwYXR0ZXJuIGBeZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJGAuSjciZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUEi+kJJckcYkKEPMj5eZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJNABASLHAwoQTGlzdFVzZXJzUmVxdWVzdBJlCglwYWdlX3NpemUYASABKAVCUpJBRjJEVGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHJldHVybiBwZXIgcGFnZS4gVGhlIGRlZmF1bHQgaXMgMTAwMC76QgYaBCgBQAESTAoIcGFnZV9udW0YAiABKAVCOpJBLjIsVGhlIHBhZ2UgbnVtYmVyIHRvIHJldHVybi4gVGhlIGRlZmF1bHQgaXMgMS76QgYaBCgBQAESQQoHa2V5d29yZBgDIAEoCUIwkkEtMitUaGUga2V5d29yZCB0byBzZWFyY2ggZm9yIGluIG5hbWUgb3IgZW1haWwuEjwKBm9yZ19pZBgEIAEoCUIskkEpMidUaGUgb3JnYW5pemF0aW9uIElEIHRvIGZpbHRlciB1c2VycyBieS4SMQoIZ3JvdXBfaWQYBSABKAlCH5JBHDIaVGhlIGdyb3VwIGlkIHRvIGZpbHRlciBieS4SSgoFc3RhdGUYBiABKAlCO5JBODI2VGhlIHN0YXRlIHRvIGZpbHRlciBieS4gSXQgY2FuIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuIlIKEUxpc3RVc2Vyc1Jlc3BvbnNlEg0KBWNvdW50GAEgASgFEi4KBXVzZXJzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIlcKEUNyZWF0ZVVzZXJSZXF1ZXN0EkIKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXJSZXF1ZXN0Qm9keUII+kIFigECEAEiQwoSQ3JlYXRlVXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiOwoeTGlzdE9yZ2FuaXphdGlvbnNCeVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJEg0KBXN0YXRlGAIgASgJIqcBCh9MaXN0T3JnYW5pemF0aW9uc0J5VXNlclJlc3BvbnNlEj4KDW9yZ2FuaXphdGlvbnMYASADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbhJEChNqb2luYWJsZV92aWFfZG9tYWluGAIgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb24iNgolTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVxdWVzdBINCgVzdGF0ZRgBIAEoCSKuAQomTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVzcG9uc2USPgoNb3JnYW5pemF0aW9ucxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uEkQKE2pvaW5hYmxlX3ZpYV9kb21haW4YAiADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiInChlMaXN0UHJvamVjdHNCeVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIlIKGkxpc3RQcm9qZWN0c0J5VXNlclJlc3BvbnNlEjQKCHByb2plY3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0IrMCCiBMaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSGAoQd2l0aF9wZXJtaXNzaW9ucxgCIAMoCRIVCg1ub25faW5oZXJpdGVkGAMgASgIEhkKEXdpdGhfbWVtYmVyX2NvdW50GAQgASgIEmUKCXBhZ2Vfc2l6ZRgFIAEoBUJSkkFGMkRUaGUgbWF4aW11bSBudW1iZXIgb2YgdXNlcnMgdG8gcmV0dXJuIHBlciBwYWdlLiBUaGUgZGVmYXVsdCBpcyAxMDAwLvpCBhoEKAFAARJMCghwYWdlX251bRgGIAEoBUI6kkEuMixUaGUgcGFnZSBudW1iZXIgdG8gcmV0dXJuLiBUaGUgZGVmYXVsdCBpcyAxLvpCBhoEKAFAASL+AQohTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlEjQKCHByb2plY3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0El0KDGFjY2Vzc19wYWlycxgCIAMoCzJHLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlLkFjY2Vzc1BhaXISDQoFY291bnQYAyABKAUaNQoKQWNjZXNzUGFpchISCgpwcm9qZWN0X2lkGAEgASgJEhMKC3Blcm1pc3Npb25zGAIgAygJIh8KEUVuYWJsZVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIhQKEkVuYWJsZVVzZXJSZXNwb25zZSIgChJEaXNhYmxlVXNlclJlcXVlc3QSCgoCaWQYASABKAkiFQoTRGlzYWJsZVVzZXJSZXNwb25zZSIfChFEZWxldGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCSIUChJEZWxldGVVc2VyUmVzcG9uc2UiQAoPR2V0VXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiFwoVR2V0Q3VycmVudFVzZXJSZXF1ZXN0IoQBChZHZXRDdXJyZW50VXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXISOwoLc2VydmljZXVzZXIYAiABKAsyJi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyIkMKElVwZGF0ZVVzZXJSZXNwb25zZRItCgR1c2VyGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIkoKGVVwZGF0ZUN1cnJlbnRVc2VyUmVzcG9uc2USLQoEdXNlchgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXNlciJZChFVcGRhdGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCRI4CgRib2R5GAIgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyUmVxdWVzdEJvZHkiHAoOR2V0VXNlclJlcXVlc3QSCgoCaWQYASABKAkiYwocTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSGAoQd2l0aF9wZXJtaXNzaW9ucxgCIAMoCRIZChF3aXRoX21lbWJlcl9jb3VudBgDIAEoCCLhAQodTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVzcG9uc2USMAoGZ3JvdXBzGAEgAygLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cBJZCgxhY2Nlc3NfcGFpcnMYAiADKAsyQy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckdyb3Vwc1Jlc3BvbnNlLkFjY2Vzc1BhaXIaMwoKQWNjZXNzUGFpchIQCghncm91cF9pZBgBIAEoCRITCgtwZXJtaXNzaW9ucxgCIAMoCSLYAQoVTGlzdFVzZXJHcm91cHNSZXF1ZXN0Ej0KAmlkGAEgASgJQjGSQS4yLFRoZSB1bmlxdWUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IGdyb3VwcyBmb3IuEnoKBm9yZ19pZBgDIAEoCUJqkkFnMmVUaGUgb3JnYW5pemF0aW9uIElEIHRvIGZpbHRlciBncm91cHMgYnkuIElmIG5vdCBwcm92aWRlZCwgZ3JvdXBzIGZyb20gYWxsIG9yZ2FuaXphdGlvbnMgYXJlIHJldHVybmVkLkoECAIQAyJKChZMaXN0VXNlckdyb3Vwc1Jlc3BvbnNlEjAKBmdyb3VwcxgBIAMoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAiVAoYVXBkYXRlQ3VycmVudFVzZXJSZXF1ZXN0EjgKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXJSZXF1ZXN0Qm9keSJaChpMaXN0VXNlckludml0YXRpb25zUmVxdWVzdBI8CgJpZBgBIAEoCUIwkkEtMitUaGUgdXNlciBlbWFpbCB0byBsaXN0IHRoZSBpbnZpdGF0aW9ucyBmb3IuIlkKG0xpc3RVc2VySW52aXRhdGlvbnNSZXNwb25zZRI6CgtpbnZpdGF0aW9ucxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52aXRhdGlvbiIjCiFMaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QilwEKIkxpc3RDdXJyZW50VXNlckludml0YXRpb25zUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24SNQoEb3JncxgCIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIrYBChdMaXN0U2VydmljZVVzZXJzUmVxdWVzdBJPCgZvcmdfaWQYASABKAlCP5JBMTIvVGhlIG9yZ2FuaXphdGlvbiBJRCB0byBmaWx0ZXIgc2VydmljZSB1c2VycyBieS7iQQEC+kIEcgIQAxJKCgVzdGF0ZRgCIAEoCUI7kkE4MjZUaGUgc3RhdGUgdG8gZmlsdGVyIGJ5LiBJdCBjYW4gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4iWAoYTGlzdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlEjwKDHNlcnZpY2V1c2VycxgBIAMoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIikQEKFlNlcnZpY2VVc2VyUmVxdWVzdEJvZHkSTAoFdGl0bGUYASABKAlCPZJBOjInVXNlciBmcmllbmRseSBuYW1lIG9mIHRoZSBzZXJ2aWNlIHVzZXIuSg8iT3JkZXIgU2VydmljZSISKQoIbWV0YWRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IrYBChhDcmVhdGVTZXJ2aWNlVXNlclJlcXVlc3QSPwoEYm9keRgBIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJSZXF1ZXN0Qm9keRJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiWAoZQ3JlYXRlU2VydmljZVVzZXJSZXNwb25zZRI7CgtzZXJ2aWNldXNlchgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIirgEKFUdldFNlcnZpY2VVc2VyUmVxdWVzdBI6CgJpZBgBIAEoCUIukkErMilUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZ2V0LhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiVQoWR2V0U2VydmljZVVzZXJSZXNwb25zZRI7CgtzZXJ2aWNldXNlchgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIi9QEKGFVwZGF0ZVNlcnZpY2VVc2VyUmVxdWVzdBI9CgJpZBgBIAEoCUIxkkEuMixUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gdXBkYXRlLhI/CgRib2R5GAIgASgLMjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlclJlcXVlc3RCb2R5ElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJYChlVcGRhdGVTZXJ2aWNlVXNlclJlc3BvbnNlEjsKC3NlcnZpY2V1c2VyGAEgASgLMiYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlciK0AQoYRGVsZXRlU2VydmljZVVzZXJSZXF1ZXN0Ej0KAmlkGAEgASgJQjGSQS4yLFRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBkZWxldGUuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyIbChlEZWxldGVTZXJ2aWNlVXNlclJlc3BvbnNlItABChtDcmVhdGVTZXJ2aWNlVXNlckpXS1JlcXVlc3QSRwoCaWQYASABKAlCO5JBODI2VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGNyZWF0ZSBhIGtleSBmb3IuEg0KBXRpdGxlGAIgASgJElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJVChxDcmVhdGVTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlEjUKA2tleRgBIAEoCzIoLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuS2V5Q3JlZGVudGlhbCLyAQoYR2V0U2VydmljZVVzZXJKV0tSZXF1ZXN0EkQKAmlkGAEgASgJQjiSQTUyM1RoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBnZXQgYSBrZXkgZm9yLhI1CgZrZXlfaWQYAiABKAlCJZJBIjIgVGhlIHVuaXF1ZSBJRCBvZiB0aGUga2V5IHRvIGdldC4SWQoGb3JnX2lkGAMgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADIlAKGUdldFNlcnZpY2VVc2VySldLUmVzcG9uc2USMwoEa2V5cxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSlNPTldlYktleSK9AQoaTGlzdFNlcnZpY2VVc2VySldLc1JlcXVlc3QSRAoCaWQYASABKAlCOJJBNTIzVGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3Qga2V5cyBmb3IuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJWChtMaXN0U2VydmljZVVzZXJKV0tzUmVzcG9uc2USNwoEa2V5cxgBIAMoCzIpLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJKV0si+wEKG0RlbGV0ZVNlcnZpY2VVc2VySldLUmVxdWVzdBJHCgJpZBgBIAEoCUI7kkE4MjZUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZGVsZXRlIGEga2V5IGZvci4SOAoGa2V5X2lkGAIgASgJQiiSQSUyI1RoZSB1bmlxdWUgSUQgb2YgdGhlIGtleSB0byBkZWxldGUuElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyIeChxEZWxldGVTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlItcBCiJDcmVhdGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXF1ZXN0EkcKAmlkGAEgASgJQjuSQTgyNlRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBjcmVhdGUgYSBrZXkgZm9yLhINCgV0aXRsZRgCIAEoCRJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiYgojQ3JlYXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVzcG9uc2USOwoGc2VjcmV0GAEgASgLMisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZWNyZXRDcmVkZW50aWFsIscBCiFMaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1JlcXVlc3QSRwoCaWQYASABKAlCO5JBODI2VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3Qgc2VjcmV0cyBmb3IuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJiCiJMaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1Jlc3BvbnNlEjwKB3NlY3JldHMYASADKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlY3JldENyZWRlbnRpYWwiiwIKIkRlbGV0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlcXVlc3QSSgoCaWQYASABKAlCPpJBOzI5VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGRlbGV0ZSBhIHNlY3JldCBmb3IuEj4KCXNlY3JldF9pZBgCIAEoCUIrkkEoMiZUaGUgdW5pcXVlIElEIG9mIHRoZSBzZWNyZXQgdG8gZGVsZXRlLhJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiJQojRGVsZXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVzcG9uc2Ui1AEKHUNyZWF0ZVNlcnZpY2VVc2VyVG9rZW5SZXF1ZXN0EkkKAmlkGAEgASgJQj2SQToyOFRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBjcmVhdGUgYSB0b2tlbiBmb3IuEg0KBXRpdGxlGAIgASgJElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJcCh5DcmVhdGVTZXJ2aWNlVXNlclRva2VuUmVzcG9uc2USOgoFdG9rZW4YASABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyVG9rZW4iwQEKHExpc3RTZXJ2aWNlVXNlclRva2Vuc1JlcXVlc3QSRgoCaWQYASABKAlCOpJBNzI1VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3QgdG9rZW5zIGZvci4SWQoGb3JnX2lkGAIgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADIlwKHUxpc3RTZXJ2aWNlVXNlclRva2Vuc1Jlc3BvbnNlEjsKBnRva2VucxgBIAMoCzIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJUb2tlbiKDAgodRGVsZXRlU2VydmljZVVzZXJUb2tlblJlcXVlc3QSSQoCaWQYASABKAlCPZJBOjI4VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGRlbGV0ZSBhIHRva2VuIGZvci4SPAoIdG9rZW5faWQYAiABKAlCKpJBJzIlVGhlIHVuaXF1ZSBJRCBvZiB0aGUgdG9rZW4gdG8gZGVsZXRlLhJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiIAoeRGVsZXRlU2VydmljZVVzZXJUb2tlblJlc3BvbnNlIt8BCh5MaXN0U2VydmljZVVzZXJQcm9qZWN0c1JlcXVlc3QSSAoCaWQYASABKAlCPJJBOTI3VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3QgcHJvamVjdHMgZm9yLhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMSGAoQd2l0aF9wZXJtaXNzaW9ucxgDIAMoCSLrAQofTGlzdFNlcnZpY2VVc2VyUHJvamVjdHNSZXNwb25zZRI0Cghwcm9qZWN0cxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdBJbCgxhY2Nlc3NfcGFpcnMYAiADKAsyRS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclByb2plY3RzUmVzcG9uc2UuQWNjZXNzUGFpcho1CgpBY2Nlc3NQYWlyEhIKCnByb2plY3RfaWQYASABKAkSEwoLcGVybWlzc2lvbnMYAiADKAki7QEKHUxpc3RPcmdhbml6YXRpb25Hcm91cHNSZXF1ZXN0EikKBm9yZ19pZBgCIAEoCUIZ+kIWchQQAzIQXltBLVphLXowLTlfLV0rJBJXCgVzdGF0ZRgDIAEoCUJIkkFFMkNUaGUgc3RhdGUgb2YgdGhlIGdyb3VwIHRvIGZpbHRlciBieS4gSXQgY2FuIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuEhEKCWdyb3VwX2lkcxgEIAMoCRIUCgx3aXRoX21lbWJlcnMYBSABKAgSGQoRd2l0aF9tZW1iZXJfY291bnQYBiABKAhKBAgBEAIiUgoeTGlzdE9yZ2FuaXphdGlvbkdyb3Vwc1Jlc3BvbnNlEjAKBmdyb3VwcxgBIAMoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAirwEKHUNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0EkIKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGVSZXF1ZXN0Qm9keUII+kIFigECEAESSgoGb3JnX2lkGAIgASgJQjqSQTMyMVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHJvbGUgYmVsb25ncyB0by7iQQECIk8KHkNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZRItCgRyb2xlGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIkEKGkdldE9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAyJMChtHZXRPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2USLQoEcm9sZRgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJ1Ch1VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZvcmdfaWQYAyABKAkSOAoEYm9keRgCIAEoCzIqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZVJlcXVlc3RCb2R5Ik8KHlVwZGF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZRItCgRyb2xlGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIjEKEExpc3RSb2xlc1JlcXVlc3QSDQoFc3RhdGUYASABKAkSDgoGc2NvcGVzGAIgAygJIkMKEUxpc3RSb2xlc1Jlc3BvbnNlEi4KBXJvbGVzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIlYKHExpc3RPcmdhbml6YXRpb25Sb2xlc1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEg0KBXN0YXRlGAIgASgJEg4KBnNjb3BlcxgDIAMoCSJPCh1MaXN0T3JnYW5pemF0aW9uUm9sZXNSZXNwb25zZRIuCgVyb2xlcxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJECh1EZWxldGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMiIAoeRGVsZXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIqsKChdPcmdhbml6YXRpb25SZXF1ZXN0Qm9keRL7AQoEbmFtZRgBIAEoCULsAZJBzQEyygFUaGUgbmFtZSBvZiB0aGUgb3JnYW5pemF0aW9uLiBUaGUgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGVudGlyZSBGcm9udGllciBpbnN0YW5jZS4gVGhlIG5hbWUgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy48YnIvPipFeGFtcGxlOipgImZyb250aWVyLW9yZzEtYWNtZSJg4kEBAvpCFHISMhBeW0EtWmEtejAtOS1fXSskErIBCgV0aXRsZRgCIAEoCUKiAZJBngEymwFUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIG9yZ2FuaXphdGlvbi4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS48YnIvPiAqRXhhbXBsZSo6IGAiQWNtZSBJbmMiYBLpAwoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Qr0DkkG5AzK2A01ldGFkYXRhIG9iamVjdCBmb3Igb3JnYW5pemF0aW9ucyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBkZWZpbmVkIGluIE9yZ2FuaXphdGlvbiBNZXRhc2NoZW1hLiBUaGUgbWV0YWRhdGEgb2JqZWN0IGNhbiBiZSB1c2VkIHRvIHN0b3JlIGFyYml0cmFyeSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgb3JnYW5pemF0aW9uIHN1Y2ggYXMgbGFiZWxzLCBkZXNjcmlwdGlvbnMgZXRjLiBUaGUgZGVmYXVsdCBPcmdhbml6YXRpb24gTWV0YXNjaGVtYSBjb250YWlucyBsYWJlbHMgYW5kIGRlc2NyaXB0b24gZmllbGRzLiBVcGRhdGUgdGhlIE9yZ2FuaXphdGlvbiBNZXRhc2NoZW1hIHRvIGFkZCBtb3JlIGZpZWxkcy4gPGJyLz4qRXhhbXBsZSo6YHsibGFiZWxzIjogeyJrZXkiOiAidmFsdWUifSwgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXphdGlvbiBkZXNjcmlwdGlvbiJ9YBLwAgoGYXZhdGFyGAQgASgJQt8CkkGPAjLTAVRoZSBhdmF0YXIgaXMgYmFzZTY0IGVuY29kZWQgaW1hZ2UgZGF0YSBvZiB0aGUgdXNlci4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS4gVGhlIGltYWdlIHNob3VsZCBiZSBsZXNzIHRoYW4gMjAwS0IuIFNob3VsZCBmb2xsb3cgdGhlIHJlZ2V4IHBhdHRlcm4gYF5kYXRhOmltYWdlLyhwbmd8anBnfGpwZWd8Z2lmKTtiYXNlNjQsKFthLXpBLVowLTkrL10rPXswLDJ9KSskYC5KNyJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQSL6QklyRxiQoQ8yPl5kYXRhOmltYWdlLyhwbmd8anBnfGpwZWd8Z2lmKTtiYXNlNjQsKFthLXpBLVowLTkrL10rPXswLDJ9KSsk0AEBIukDChhMaXN0T3JnYW5pemF0aW9uc1JlcXVlc3QSxwEKB3VzZXJfaWQYASABKAlCtQGSQbEBMq4BVGhlIHVzZXIgSUQgdG8gZmlsdGVyIGJ5LiBJdCBjYW4gYmUgdXNlZCB0byBsaXN0IGFsbCB0aGUgb3JnYW5pemF0aW9ucyB0aGF0IHRoZSB1c2VyIGlzIGEgbWVtYmVyIG9mLiBPdGhlcndpc2UsIGFsbCB0aGUgb3JnYW5pemF0aW9ucyBpbiB0aGUgRnJvbnRpZXIgaW5zdGFuY2Ugd2lsbCBiZSBsaXN0ZWQuEk4KBXN0YXRlGAIgASgJQj+SQTwyOlRoZSBzdGF0ZSB0byBmaWx0ZXIgYnkuIEl0IGNhbiBiZSBgZW5hYmxlZGAgb3IgYGRpc2FibGVkYC4SZQoJcGFnZV9zaXplGAMgASgFQlKSQUYyRFRoZSBtYXhpbXVtIG51bWJlciBvZiB1c2VycyB0byByZXR1cm4gcGVyIHBhZ2UuIFRoZSBkZWZhdWx0IGlzIDEwMDAu+kIGGgQoAUABEkwKCHBhZ2VfbnVtGAQgASgFQjqSQS4yLFRoZSBwYWdlIG51bWJlciB0byByZXR1cm4uIFRoZSBkZWZhdWx0IGlzIDEu+kIGGgQoAUABIlsKGUxpc3RPcmdhbml6YXRpb25zUmVzcG9uc2USPgoNb3JnYW5pemF0aW9ucxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uImcKGUNyZWF0ZU9yZ2FuaXphdGlvblJlcXVlc3QSSgoEYm9keRgBIAEoCzIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uUmVxdWVzdEJvZHlCCPpCBYoBAhABIlsKGkNyZWF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIlgKF0dldE9yZ2FuaXphdGlvblJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIlsKGlVwZGF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIiQKFkdldE9yZ2FuaXphdGlvblJlcXVlc3QSCgoCaWQYASABKAkiaQoZVXBkYXRlT3JnYW5pemF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRJACgRib2R5GAIgASgLMjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb25SZXF1ZXN0Qm9keSI0Ch1MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJQCh5MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVzcG9uc2USLgoFdXNlcnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIifAocTGlzdE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxIdChFwZXJtaXNzaW9uX2ZpbHRlchgCIAEoCUICGAESEgoKd2l0aF9yb2xlcxgDIAEoCBIUCgxyb2xlX2ZpbHRlcnMYBCADKAki8wEKHUxpc3RPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyElUKCnJvbGVfcGFpcnMYAiADKAsyQS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlLlJvbGVQYWlyGksKCFJvbGVQYWlyEg8KB3VzZXJfaWQYASABKAkSLgoFcm9sZXMYAiADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUifAobQWRkT3JnYW5pemF0aW9uVXNlcnNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkgKCHVzZXJfaWRzGAIgAygJQjaSQTMyMUxpc3Qgb2YgdXNlciBJRHMgdG8gYmUgYWRkZWQgdG8gdGhlIG9yZ2FuaXphdGlvbi4iHgocQWRkT3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZSJFCh1SZW1vdmVPcmdhbml6YXRpb25Vc2VyUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxIPCgd1c2VyX2lkGAIgASgJIiAKHlJlbW92ZU9yZ2FuaXphdGlvblVzZXJSZXNwb25zZSI6CiNMaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJkCiRMaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVzcG9uc2USPAoMc2VydmljZXVzZXJzGAEgAygLMiYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlciLcAQoiTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zUmVxdWVzdBJPCgZvcmdfaWQYASABKAlCP5JBODI2dW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gdG8gd2hpY2ggdXNlciBpcyBpbnZpdGVk4kEBAhJlCgd1c2VyX2lkGAIgASgJQlSSQVEyT3VzZXJfaWQgZmlsdGVyIGlzIHRoZSBlbWFpbCBpZCBvZiB1c2VyIHdobyBhcmUgaW52aXRlZCBpbnNpZGUgdGhlIG9yZ2FuaXphdGlvbi4iYQojTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24ihgQKI0NyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Ek8KBm9yZ19pZBgBIAEoCUI/kkE4MjZ1bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiB0byB3aGljaCB1c2VyIGlzIGludml0ZWTiQQECEqsBCgh1c2VyX2lkcxgCIAMoCUKYAZJBhgEygwF1c2VyX2lkIGlzIGVtYWlsIGlkIG9mIHVzZXIgd2hvIGFyZSBpbnZpdGVkIGluc2lkZSB0aGUgb3JnYW5pemF0aW9uLiBJZiB1c2VyIGlzIG5vdCByZWdpc3RlcmVkIG9uIHRoZSBwbGF0Zm9ybSwgaXQgd2lsbCBiZSBub3RpZmllZOJBAQL6QgeSAQQIARAKElYKCWdyb3VwX2lkcxgDIAMoCUJDkkFAMj5saXN0IG9mIGdyb3VwIGlkcyB0byB3aGljaCB1c2VyIG5lZWRzIHRvIGJlIGFkZGVkIGFzIGEgbWVtYmVyLhKHAQoIcm9sZV9pZHMYBCADKAlCdZJBcjJwbGlzdCBvZiByb2xlIGlkcyB0byB3aGljaCB1c2VyIG5lZWRzIHRvIGJlIGFkZGVkIGFzIGEgbWVtYmVyLiBSb2xlcyBhcmUgYmluZGVkIGF0IG9yZ2FuaXphdGlvbiBsZXZlbCBieSBkZWZhdWx0LiJiCiRDcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24iPgogR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJIl4KIUdldE9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZRI5CgppbnZpdGF0aW9uGAEgASgLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5JbnZpdGF0aW9uIkEKI0FjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEg4KBm9yZ19pZBgCIAEoCSImCiRBY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2UiQQojRGVsZXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJIpUCCh5MaXN0T3JnYW5pemF0aW9uRG9tYWluc1JlcXVlc3QSbAoGb3JnX2lkGAEgASgJQlySQU4yTHVuaXF1ZSBpZCBvZiB0aGUgb3JnYW5pemF0aW9uIGZvciB3aGljaCB3aGl0ZWxpc3RlZCBkb21haW5zIGFyZSB0byBiZSBsaXN0ZWTiQQEC+kIEcgIQAxKEAQoFc3RhdGUYAiABKAlCdZJBcjJwZmlsdGVyIHRvIGxpc3QgZG9tYWlucyBieSB0aGVpciBzdGF0ZSAocGVuZGluZy92ZXJpZmllZCkuIElmIG5vdCBwcm92aWRlZCwgYWxsIGRvbWFpbnMgZm9yIGFuIG9yZyB3aWxsIGJlIGxpc3RlZCJVCh9MaXN0T3JnYW5pemF0aW9uRG9tYWluc1Jlc3BvbnNlEjIKB2RvbWFpbnMYASADKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRvbWFpbiKYAQogTGlzdE9yZ2FuaXphdGlvbnNCeURvbWFpblJlcXVlc3QSdAoEbmFtZRgBIAEoCUJmkkFYMlZkb21haW4gbmFtZSB0byBiZSB1c2VkIHRvIGxpc3QgYWxsIHRoZSBvcmdhbml6YXRpb25zIHRoYXQgaGF2ZSB0aGlzIGRvbWFpbiB3aGl0ZWxpc3RlZOJBAQL6QgRyAhADImMKIUxpc3RPcmdhbml6YXRpb25zQnlEb21haW5SZXNwb25zZRI+Cg1vcmdhbml6YXRpb25zGAEgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb24iMgoXSm9pbk9yZ2FuaXphdGlvblJlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADIhoKGEpvaW5Pcmdhbml6YXRpb25SZXNwb25zZSLSAQocR2V0T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBJDCgJpZBgBIAEoCUI3kkEpMid1bmlxdWUgaWQgb2YgdGhlIGRvbWFpbiB0byBiZSByZXRyaWV2ZWTiQQEC+kIEcgIQAxJtCgZvcmdfaWQYAiABKAlCXZJBTzJNdW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gZm9yIHdoaWNoIHdoaXRlbGlzdGVkIGRvbWFpbiBpcyB0byBiZSByZXRyaWV2ZWTiQQEC+kIEcgIQAyJSCh1HZXRPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZRIxCgZkb21haW4YASABKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRvbWFpbiLiAQofQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBJrCgZvcmdfaWQYASABKAlCW5JBTTJLdW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gZm9yIHdoaWNoIHdoaXRlbGlzdGVkIGRvbWFpbnMgYXJlIHRvIGJlIGFkZGVk4kEBAvpCBHICEAMSUgoGZG9tYWluGAIgASgJQkKSQTQyMmRvbWFpbiBuYW1lIHRvIGJlIGFkZGVkIHRvIHRoZSB0cnVzdGVkIGRvbWFpbiBsaXN04kEBAvpCBHICEAMiVQogQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2USMQoGZG9tYWluGAEgASgLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Eb21haW4i0wEKH0RlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QSQQoCaWQYASABKAlCNZJBJzIldW5pcXVlIGlkIG9mIHRoZSBkb21haW4gdG8gYmUgZGVsZXRlZOJBAQL6QgRyAhADEm0KBm9yZ19pZBgCIAEoCUJdkkFPMk11bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiBmb3Igd2hpY2ggd2hpdGVsaXN0ZWQgZG9tYWlucyBhcmUgdG8gYmUgZGVsZXRlZOJBAQL6QgRyAhADIiIKIERlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlItUBCh9WZXJpZnlPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0Em4KBm9yZ19pZBgBIAEoCUJekkFQMk51bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiBmb3Igd2hpY2ggd2hpdGVsaXN0ZWQgZG9tYWlucyBhcmUgdG8gYmUgdmVyaWZpZWTiQQEC+kIEcgIQAxJCCgJpZBgCIAEoCUI2kkEoMiZ1bmlxdWUgaWQgb2YgdGhlIGRvbWFpbiB0byBiZSB2ZXJpZmllZOJBAQL6QgRyAhADIjEKIFZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlEg0KBXN0YXRlGAEgASgJIiYKJERlbGV0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSInChlFbmFibGVPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIhwKGkVuYWJsZU9yZ2FuaXphdGlvblJlc3BvbnNlIigKGkRpc2FibGVPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIh0KG0Rpc2FibGVPcmdhbml6YXRpb25SZXNwb25zZSInChlEZWxldGVPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIhwKGkRlbGV0ZU9yZ2FuaXphdGlvblJlc3BvbnNlIisKGUdldE9yZ2FuaXphdGlvbkt5Y1JlcXVlc3QSDgoGb3JnX2lkGAEgASgJImIKGkdldE9yZ2FuaXphdGlvbkt5Y1Jlc3BvbnNlEkQKEG9yZ2FuaXphdGlvbl9reWMYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbkt5YyKsBQoSUHJvamVjdFJlcXVlc3RCb2R5EvcBCgRuYW1lGAEgASgJQugBkkHJATLGAVRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LiBUaGUgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGVudGlyZSBGcm9udGllciBpbnN0YW5jZS4gVGhlIG5hbWUgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy48YnIvPiAqRXhhbXBsZToqIGBmcm9udGllci1wbGF5Z3JvdW5kYOJBAQL6QhRyEjIQXltBLVphLXowLTktX10rJBK3AQoFdGl0bGUYAiABKAlCpwGSQaMBMqABVGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSBwcm9qZWN0LiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPiAqRXhhbXBsZToqIGBGcm9udGllciBQbGF5Z3JvdW5kYBKJAQoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ql6SQVsyWU1ldGFkYXRhIG9iamVjdCBmb3IgcHJvamVjdHMgdGhhdCBjYW4gaG9sZCBrZXkgdmFsdWUgcGFpcnMgZGVmaW5lZCBpbiBQcm9qZWN0IE1ldGFzY2hlbWEuElYKBm9yZ19pZBgEIAEoCUJGkkE4MjZ1bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiB0byB3aGljaCBwcm9qZWN0IGJlbG9uZ3PiQQEC+kIEcgIQAyJdChRDcmVhdGVQcm9qZWN0UmVxdWVzdBJFCgRib2R5GAEgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0UmVxdWVzdEJvZHlCCPpCBYoBAhABIkwKFUNyZWF0ZVByb2plY3RSZXNwb25zZRIzCgdwcm9qZWN0GAEgASgLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0It8BCh9MaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEosBCgVzdGF0ZRgCIAEoCUJ8kkF5MndGaWx0ZXIgcHJvamVjdHMgYnkgc3RhdGUuIElmIG5vdCBzcGVjaWZpZWQsIGFsbCBwcm9qZWN0cyBhcmUgcmV0dXJuZWQuIDxici8+ICpQb3NzaWJsZSB2YWx1ZXM6KiBgZW5hYmxlZGAgb3IgYGRpc2FibGVkYBIZChF3aXRoX21lbWJlcl9jb3VudBgDIAEoCCJYCiBMaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXNwb25zZRI0Cghwcm9qZWN0cxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdCIfChFHZXRQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCSJJChJHZXRQcm9qZWN0UmVzcG9uc2USMwoHcHJvamVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdCJfChRVcGRhdGVQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCRI7CgRib2R5GAIgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0UmVxdWVzdEJvZHkiTAoVVXBkYXRlUHJvamVjdFJlc3BvbnNlEjMKB3Byb2plY3QYASABKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2plY3QiLwoYTGlzdFByb2plY3RBZG1pbnNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADIksKGUxpc3RQcm9qZWN0QWRtaW5zUmVzcG9uc2USLgoFdXNlcnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiXQoXTGlzdFByb2plY3RVc2Vyc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSGQoRcGVybWlzc2lvbl9maWx0ZXIYAiABKAkSEgoKd2l0aF9yb2xlcxgDIAEoCCLpAQoYTGlzdFByb2plY3RVc2Vyc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyElAKCnJvbGVfcGFpcnMYAiADKAsyPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0VXNlcnNSZXNwb25zZS5Sb2xlUGFpchpLCghSb2xlUGFpchIPCgd1c2VyX2lkGAEgASgJEi4KBXJvbGVzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIkkKHkxpc3RQcm9qZWN0U2VydmljZVVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxISCgp3aXRoX3JvbGVzGAMgASgIIowCCh9MaXN0UHJvamVjdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlEjwKDHNlcnZpY2V1c2VycxgBIAMoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXISVwoKcm9sZV9wYWlycxgCIAMoCzJDLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RTZXJ2aWNlVXNlcnNSZXNwb25zZS5Sb2xlUGFpchpSCghSb2xlUGFpchIWCg5zZXJ2aWNldXNlcl9pZBgBIAEoCRIuCgVyb2xlcxgCIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJDChhMaXN0UHJvamVjdEdyb3Vwc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSEgoKd2l0aF9yb2xlcxgCIAEoCCLuAQoZTGlzdFByb2plY3RHcm91cHNSZXNwb25zZRIwCgZncm91cHMYASADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdyb3VwElEKCnJvbGVfcGFpcnMYAiADKAsyPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0R3JvdXBzUmVzcG9uc2UuUm9sZVBhaXIaTAoIUm9sZVBhaXISEAoIZ3JvdXBfaWQYASABKAkSLgoFcm9sZXMYAiADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUiIgoURW5hYmxlUHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkiFwoVRW5hYmxlUHJvamVjdFJlc3BvbnNlIiMKFURpc2FibGVQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCSIYChZEaXNhYmxlUHJvamVjdFJlc3BvbnNlIiIKFERlbGV0ZVByb2plY3RSZXF1ZXN0EgoKAmlkGAEgASgJIhcKFURlbGV0ZVByb2plY3RSZXNwb25zZSKjCAoRUG9saWN5UmVxdWVzdEJvZHkSUgoHcm9sZV9pZBgBIAEoCUJBkkEzMjF1bmlxdWUgaWQgb2YgdGhlIHJvbGUgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVk4kEBAvpCBHICEAMSrwEKBXRpdGxlGAMgASgJQp8BkkGbATKYAVRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcG9saWN5LiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPiAqRXhhbXBsZToqIGBQb2xpY3kgdGl0bGVgErMBCghyZXNvdXJjZRgCIAEoCUKgAZJBkQEyjgFUaGUgcmVzb3VyY2UgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVkIGluIHRoaXMgZm9ybWF0IGBuYW1lc3BhY2U6dXVpZGAuIDxici8+ICpFeGFtcGxlOiogYGFwcC9ndWFyZGlhbjo3MGY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4ZTJg4kEBAvpCBHICEAMS7wIKCXByaW5jaXBhbBgEIAEoCULbApJB0wIy0AJwcmluY2lwYWwgaXMgdGhlIHVzZXIgb3IgZ3JvdXAgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVkLiBUaGUgcHJpbmNpcGFsIGlkIG11c3QgYmUgcHJlZml4ZWQgd2l0aCBpdHMgbmFtZXNwYWNlIGlkIGluIHRoaXMgZm9ybWF0IGBuYW1lc3BhY2U6dXVpZGAuIFRoZSBuYW1lc3BhY2UgY2FuIGJlIGBhcHAvdXNlcmAsIGBhcHAvZ3JvdXBgIG9yIGBhcHAvc2VydmljZXVzZXJgIChjb21pbmcgdXAhKSBhbmQgdXVpZCBpcyB0aGUgdW5pcXVlIGlkIG9mIHRoZSBwcmluY2lwYWwuIDxici8+ICpFeGFtcGxlOiogYGFwcC91c2VyOjkyZjY5YzNhLTMzNGItNGYyNS05MGI4LTRkNGYzYmU2YjgyNWDiQQECEt8BCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCswGSQa8BMqwBTWV0YWRhdGEgb2JqZWN0IGZvciBwb2xpY2llcyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBkZWZpbmVkIGluIFBvbGljeSBNZXRhc2NoZW1hLjxici8+ICpFeGFtcGxlOiogYHsibGFiZWxzIjogeyJrZXkiOiAidmFsdWUifSwgImRlc2NyaXB0aW9uIjogIlBvbGljeSBkZXNjcmlwdGlvbiJ9YCKUBQoaQ3JlYXRlUG9saWN5Rm9yUHJvamVjdEJvZHkSUgoHcm9sZV9pZBgBIAEoCUJBkkEzMjF1bmlxdWUgaWQgb2YgdGhlIHJvbGUgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVk4kEBAvpCBHICEAMSrwEKBXRpdGxlGAIgASgJQp8BkkGbATKYAVRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcG9saWN5LiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPiAqRXhhbXBsZToqIGBQb2xpY3kgdGl0bGVgEu8CCglwcmluY2lwYWwYAyABKAlC2wKSQdMCMtACcHJpbmNpcGFsIGlzIHRoZSB1c2VyIG9yIGdyb3VwIHRvIHdoaWNoIHBvbGljeSBpcyBhc3NpZ25lZC4gVGhlIHByaW5jaXBhbCBpZCBtdXN0IGJlIHByZWZpeGVkIHdpdGggaXRzIG5hbWVzcGFjZSBpZCBpbiB0aGlzIGZvcm1hdCBgbmFtZXNwYWNlOnV1aWRgLiBUaGUgbmFtZXNwYWNlIGNhbiBiZSBgYXBwL3VzZXJgLCBgYXBwL2dyb3VwYCBvciBgYXBwL3NlcnZpY2V1c2VyYCAoY29taW5nIHVwISkgYW5kIHV1aWQgaXMgdGhlIHVuaXF1ZSBpZCBvZiB0aGUgcHJpbmNpcGFsLiA8YnIvPiAqRXhhbXBsZToqIGBhcHAvdXNlcjo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVg4kEBAiIiChRHZXRQZXJtaXNzaW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJSChVHZXRQZXJtaXNzaW9uUmVzcG9uc2USOQoKcGVybWlzc2lvbhgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGVybWlzc2lvbiIYChZMaXN0UGVybWlzc2lvbnNSZXF1ZXN0IlUKF0xpc3RQZXJtaXNzaW9uc1Jlc3BvbnNlEjoKC3Blcm1pc3Npb25zGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QZXJtaXNzaW9uIhcKFUxpc3ROYW1lc3BhY2VzUmVxdWVzdCJSChZMaXN0TmFtZXNwYWNlc1Jlc3BvbnNlEjgKCm5hbWVzcGFjZXMYASADKAsyJC5yYXlzdGFjay5mcm9udGllci52MWJldGExLk5hbWVzcGFjZSIhChNHZXROYW1lc3BhY2VSZXF1ZXN0EgoKAmlkGAEgASgJIk8KFEdldE5hbWVzcGFjZVJlc3BvbnNlEjcKCW5hbWVzcGFjZRgBIAEoCzIkLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTmFtZXNwYWNlIlsKE0NyZWF0ZVBvbGljeVJlcXVlc3QSRAoEYm9keRgBIAEoCzIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5UmVxdWVzdEJvZHlCCPpCBYoBAhABIk8KFENyZWF0ZVBvbGljeVJlc3BvbnNlEjEKBnBvbGljeRgCIAEoCzIhLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5SgQIARACIh4KEEdldFBvbGljeVJlcXVlc3QSCgoCaWQYASABKAkiRgoRR2V0UG9saWN5UmVzcG9uc2USMQoGcG9saWN5GAEgASgLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qb2xpY3kimQIKE0xpc3RQb2xpY2llc1JlcXVlc3QSNgoGb3JnX2lkGAEgASgJQiaSQSMyIVRoZSBvcmdhbml6YXRpb24gaWQgdG8gZmlsdGVyIGJ5LhI1Cgpwcm9qZWN0X2lkGAIgASgJQiGSQR4yHFRoZSBwcm9qZWN0IGlkIHRvIGZpbHRlciBieS4SLwoHdXNlcl9pZBgDIAEoCUIekkEbMhlUaGUgdXNlciBpZCB0byBmaWx0ZXIgYnkuEi8KB3JvbGVfaWQYBCABKAlCHpJBGzIZVGhlIHJvbGUgaWQgdG8gZmlsdGVyIGJ5LhIxCghncm91cF9pZBgFIAEoCUIfkkEcMhpUaGUgZ3JvdXAgaWQgdG8gZmlsdGVyIGJ5LiJLChRMaXN0UG9saWNpZXNSZXNwb25zZRIzCghwb2xpY2llcxgBIAMoCzIhLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5Il0KE1VwZGF0ZVBvbGljeVJlcXVlc3QSCgoCaWQYASABKAkSOgoEYm9keRgCIAEoCzIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5UmVxdWVzdEJvZHkiSwoUVXBkYXRlUG9saWN5UmVzcG9uc2USMwoIcG9saWNpZXMYASADKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBvbGljeSIhChNEZWxldGVQb2xpY3lSZXF1ZXN0EgoKAmlkGAEgASgJIhYKFERlbGV0ZVBvbGljeVJlc3BvbnNlIosBCh1DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgJQgf6QgRyAhADEk0KBGJvZHkYAiABKAsyNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeUZvclByb2plY3RCb2R5Qgj6QgWKAQIQASIgCh5DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVzcG9uc2UicgoTUmVsYXRpb25SZXF1ZXN0Qm9keRIOCgZvYmplY3QYASABKAkSDwoHc3ViamVjdBgDIAEoCRIQCghyZWxhdGlvbhgEIAEoCRIcChRzdWJqZWN0X3N1Yl9yZWxhdGlvbhgGIAEoCUoECAIQA0oECAUQBiJfChVDcmVhdGVSZWxhdGlvblJlcXVlc3QSRgoEYm9keRgBIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVsYXRpb25SZXF1ZXN0Qm9keUII+kIFigECEAEiTwoWQ3JlYXRlUmVsYXRpb25SZXNwb25zZRI1CghyZWxhdGlvbhgBIAEoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVsYXRpb24iIAoSR2V0UmVsYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIkwKE0dldFJlbGF0aW9uUmVzcG9uc2USNQoIcmVsYXRpb24YASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbGF0aW9uImEKFVVwZGF0ZVJlbGF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRI8CgRib2R5GAIgASgLMi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWxhdGlvblJlcXVlc3RCb2R5Ik8KFlVwZGF0ZVJlbGF0aW9uUmVzcG9uc2USNQoIcmVsYXRpb24YASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbGF0aW9uIrkGChBHcm91cFJlcXVlc3RCb2R5Es8BCgRuYW1lGAEgASgJQsABkkGhATKeAVRoZSBuYW1lIG9mIHRoZSBncm91cC4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMu4kEBAvpCFHISMhBeW0EtWmEtejAtOS1fXSskEosBCgV0aXRsZRgCIAEoCUJ8kkF5MndUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIGdyb3VwLiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LhK+AwoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QpIDkkGOAzKLA01ldGFkYXRhIG9iamVjdCBmb3IgZ3JvdXBzIHRoYXQgY2FuIGhvbGQga2V5IHZhbHVlIHBhaXJzIGRlZmluZWQgaW4gR3JvdXAgTWV0YXNjaGVtYS4gVGhlIG1ldGFkYXRhIG9iamVjdCBjYW4gYmUgdXNlZCB0byBzdG9yZSBhcmJpdHJhcnkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdyb3VwIHN1Y2ggYXMgbGFiZWxzLCBkZXNjcmlwdGlvbnMgZXRjLiBUaGUgZGVmYXVsdCBHcm91cCBNZXRhc2NoZW1hIGNvbnRhaW5zIGxhYmVscyBhbmQgZGVzY3JpcHRvbiBmaWVsZHMuIFVwZGF0ZSB0aGUgR3JvdXAgTWV0YXNjaGVtYSB0byBhZGQgbW9yZSBmaWVsZHMuPGJyLz4qRXhhbXBsZToqYHsibGFiZWxzIjogeyJrZXkiOiAidmFsdWUifSwgImRlc2NyaXB0aW9uIjogIkdyb3VwIGRlc2NyaXB0aW9uIn1gSgQIBBAFIqYBChJDcmVhdGVHcm91cFJlcXVlc3QSQwoEYm9keRgBIAEoCzIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXBSZXF1ZXN0Qm9keUII+kIFigECEAESSwoGb3JnX2lkGAIgASgJQjuSQTQyMlRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIGdyb3VwIGJlbG9uZ3MgdG8u4kEBAiJDCg9HZXRHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJEhQKDHdpdGhfbWVtYmVycxgDIAEoCCJGChNDcmVhdGVHcm91cFJlc3BvbnNlEi8KBWdyb3VwGAEgASgLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cCJDChBHZXRHcm91cFJlc3BvbnNlEi8KBWdyb3VwGAEgASgLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cCJGChNVcGRhdGVHcm91cFJlc3BvbnNlEi8KBWdyb3VwGAEgASgLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cCKoAQoSVXBkYXRlR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEjkKBGJvZHkYAiABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdyb3VwUmVxdWVzdEJvZHkSSwoGb3JnX2lkGAMgASgJQjuSQTQyMlRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIGdyb3VwIGJlbG9uZ3MgdG8u4kEBAiJHChVMaXN0R3JvdXBVc2Vyc1JlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJEhIKCndpdGhfcm9sZXMYAyABKAgi5QEKFkxpc3RHcm91cFVzZXJzUmVzcG9uc2USLgoFdXNlcnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXISTgoKcm9sZV9wYWlycxgCIAMoCzI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEdyb3VwVXNlcnNSZXNwb25zZS5Sb2xlUGFpchpLCghSb2xlUGFpchIPCgd1c2VyX2lkGAEgASgJEi4KBXJvbGVzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIjkKEkVuYWJsZUdyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMiFQoTRW5hYmxlR3JvdXBSZXNwb25zZSI6ChNEaXNhYmxlR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAyIWChREaXNhYmxlR3JvdXBSZXNwb25zZSI5ChJEZWxldGVHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSFwoGb3JnX2lkGAIgASgJQgf6QgRyAhADIhUKE0RlbGV0ZUdyb3VwUmVzcG9uc2UiTQoUQWRkR3JvdXBVc2Vyc1JlcXVlc3QSCgoCaWQYASABKAkSFwoGb3JnX2lkGAIgASgJQgf6QgRyAhADEhAKCHVzZXJfaWRzGAMgAygJIhcKFUFkZEdyb3VwVXNlcnNSZXNwb25zZSJOChZSZW1vdmVHcm91cFVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAxIPCgd1c2VyX2lkGAMgASgJIhkKF1JlbW92ZUdyb3VwVXNlclJlc3BvbnNlIlAKFURlbGV0ZVJlbGF0aW9uUmVxdWVzdBIOCgZvYmplY3QYASABKAkSDwoHc3ViamVjdBgCIAEoCRIQCghyZWxhdGlvbhgEIAEoCUoECAMQBCIYChZEZWxldGVSZWxhdGlvblJlc3BvbnNlIlMKG0xpc3RQcm9qZWN0UmVzb3VyY2VzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAIgASgJQgf6QgRyAhADEhEKCW5hbWVzcGFjZRgEIAEoCUoECAEQAiJWChxMaXN0UHJvamVjdFJlc291cmNlc1Jlc3BvbnNlEjYKCXJlc291cmNlcxgBIAMoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2UitgYKE1Jlc291cmNlUmVxdWVzdEJvZHkScwoEbmFtZRgBIAEoCUJlkkFeMlxUaGUgbmFtZSBvZiB0aGUgcmVzb3VyY2UuICBNdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHByb2plY3QuIDxici8+ICpFeGFtcGxlOiogYG15LXJlc291cmNlYOJBAQISjgEKBXRpdGxlGAIgASgJQn+SQXwyelRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcmVzb3VyY2UuIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuEvIBCgluYW1lc3BhY2UYAyABKAlC3gGSQdYBMtMBVGhlIG5hbWVzcGFjZSBvZiB0aGUgcmVzb3VyY2UuIFRoZSByZXNvdXJjZSBuYW1lc3BhY2UgYXJlIGNyZWF0ZWQgd2hlbiBwZXJtaXNzaW9ucyBmb3IgdGhhdCByZXNvdXJjZSBpcyBjcmVhdGVkIGluIEZyb250aWVyLiBJZiBuYW1lc3BhY2UgZG9lc24ndCBleGlzdHMgdGhlIHJlcXVlc3Qgd2lsbCBmYWlsLiA8YnIvPiAqRXhhbXBsZToqIGBjb21wdXRlL2luc3RhbmNlYOJBAQIS7AEKCXByaW5jaXBhbBgGIAEoCULYAZJB1AEy0QFVc2VySUQgb3IgU2VydmljZVVzZXJJRCB0aGF0IHNob3VsZCBiZSBtYXJrZWQgYXMgb3duZXIgb2YgdGhlIHJlc291cmNlLiBJZiBub3QgcHJvdmlkZWQsIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiB1c2VyIHdpbGwgYmUgbWFkZSB0aGUgcmVzb3VyY2Ugb3duZXIuIDxici8+ICpFeGFtcGxlOiogYHVzZXI6OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YBIpCghtZXRhZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RKBAgEEAVKBAgFEAYipgEKHENyZWF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QSRgoEYm9keRgBIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2VSZXF1ZXN0Qm9keUII+kIFigECEAESEgoKcHJvamVjdF9pZBgCIAEoCRIqCgJpZBgDIAEoCUIekkEbMhlBdXRvZ2VuZXJhdGVkIGlmIHNraXBwZWQuIlYKHUNyZWF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlEjUKCHJlc291cmNlGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXNvdXJjZSJKChlHZXRQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0EgoKAmlkGAEgASgJEhsKCnByb2plY3RfaWQYAyABKAlCB/pCBHICEANKBAgCEAMiUwoaR2V0UHJvamVjdFJlc291cmNlUmVzcG9uc2USNQoIcmVzb3VyY2UYASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlc291cmNlInwKHFVwZGF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QSCgoCaWQYASABKAkSPAoEYm9keRgCIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2VSZXF1ZXN0Qm9keRISCgpwcm9qZWN0X2lkGAMgASgJIlYKHVVwZGF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlEjUKCHJlc291cmNlGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXNvdXJjZSJHChxEZWxldGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0EgoKAmlkGAEgASgJEhsKCnByb2plY3RfaWQYAyABKAlCB/pCBHICEAMiHwodRGVsZXRlUHJvamVjdFJlc291cmNlUmVzcG9uc2UigwYKHkNoZWNrUmVzb3VyY2VQZXJtaXNzaW9uUmVxdWVzdBJDCglvYmplY3RfaWQYASABKAlCMBgBkkErMilEZXByZWNhdGVkLiBVc2UgYHJlc291cmNlYCBmaWVsZCBpbnN0ZWFkLhJKChBvYmplY3RfbmFtZXNwYWNlGAIgASgJQjAYAZJBKzIpRGVwcmVjYXRlZC4gVXNlIGByZXNvdXJjZWAgZmllbGQgaW5zdGVhZC4SjAEKCnBlcm1pc3Npb24YAyABKAlCeJJBWTJXdGhlIHBlcm1pc3Npb24gbmFtZSB0byBjaGVjay4gPGJyLz4gKkV4YW1wbGU6KiBgZ2V0YCwgYGxpc3RgLCBgY29tcHV0ZS5pbnN0YW5jZS5jcmVhdGVg4kEBAvpCFXITMhFeW0EtWmEtejAtOS5fLV0rJBLAAwoIcmVzb3VyY2UYBCABKAlCrQOSQakDMqYDYG5hbWVzcGFjZTp1dWlkYCBvciBgbmFtZXNwYWNlOm5hbWVgIG9mIHRoZSBvcmcgb3IgcHJvamVjdCwgYW5kIGBuYW1lc3BhY2U6dXJuYCBvZiBhIHJlc291cmNlIHVuZGVyIGEgcHJvamVjdC4gSW4gY2FzZSBvZiBhbiBvcmcvcHJvamVjdCBlaXRoZXIgcHJvdmlkZSB0aGUgY29tcGxldGUgbmFtZXNwYWNlIChhcHAvb3JnYW5pemF0aW9uKSBvciBGcm9udGllciBjYW4gYWxzbyBwYXJzZSBhbGlhc2VzIGZvciB0aGUgc2FtZSBhcyBgb3JnYCBvciBgcHJvamVjdGAuIDxici8+ICpFeGFtcGxlOiogYG9yZ2FuaXphdGlvbjo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVgIG9yIGBhcHAvcHJvamVjdDpwcm9qZWN0LW5hbWVgIG9yIGBjb21wdXRlL2luc3RhbmNlOjkyZjY5YzNhLTMzNGItNGYyNS05MGI4LTRkNGYzYmU2YjgyNWAiMQofQ2hlY2tSZXNvdXJjZVBlcm1pc3Npb25SZXNwb25zZRIOCgZzdGF0dXMYASABKAgibgobQmF0Y2hDaGVja1Blcm1pc3Npb25SZXF1ZXN0Ek8KBmJvZGllcxgBIAMoCzIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmF0Y2hDaGVja1Blcm1pc3Npb25Cb2R5Qgr6QgeSAQQIARAUItIEChhCYXRjaENoZWNrUGVybWlzc2lvbkJvZHkScwoKcGVybWlzc2lvbhgBIAEoCUJfkkFAMj50aGUgcGVybWlzc2lvbiBuYW1lIHRvIGNoZWNrLiA8YnIvPiAqRXhhbXBsZToqIGBnZXRgIG9yIGBsaXN0YOJBAQL6QhVyEzIRXltBLVphLXowLTkuXy1dKyQSwAMKCHJlc291cmNlGAIgASgJQq0DkkGpAzKmA2BuYW1lc3BhY2U6dXVpZGAgb3IgYG5hbWVzcGFjZTpuYW1lYCBvZiB0aGUgb3JnIG9yIHByb2plY3QsIGFuZCBgbmFtZXNwYWNlOnVybmAgb2YgYSByZXNvdXJjZSB1bmRlciBhIHByb2plY3QuIEluIGNhc2Ugb2YgYW4gb3JnL3Byb2plY3QgZWl0aGVyIHByb3ZpZGUgdGhlIGNvbXBsZXRlIG5hbWVzcGFjZSAoYXBwL29yZ2FuaXphdGlvbikgb3IgRnJvbnRpZXIgY2FuIGFsc28gcGFyc2UgYWxpYXNlcyBmb3IgdGhlIHNhbWUgYXMgYG9yZ2Agb3IgYHByb2plY3RgLiA8YnIvPiAqRXhhbXBsZToqIGBvcmdhbml6YXRpb246OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YCBvciBgYXBwL3Byb2plY3Q6cHJvamVjdC1uYW1lYCBvciBgY29tcHV0ZS9pbnN0YW5jZTo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVgImoKHEJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2USSgoFcGFpcnMYASADKAsyOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2VQYWlyInUKIEJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2VQYWlyEkEKBGJvZHkYASABKAsyMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uQm9keRIOCgZzdGF0dXMYAiABKAgioQMKFU1ldGFTY2hlbWFSZXF1ZXN0Qm9keRLUAQoEbmFtZRgBIAEoCULFAZJBpgEyowFUaGUgbmFtZSBvZiB0aGUgbWV0YXNjaGVtYS4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMu4kEBAvpCFHISMhBeW0EtWmEtejAtOS1fXSskErABCgZzY2hlbWEYAiABKAlCnwGSQZABMo0BVGhlIHNjaGVtYSBvZiB0aGUgbWV0YXNjaGVtYS4gVGhlIHNjaGVtYSBtdXN0IGJlIGEgdmFsaWQgSlNPTiBzY2hlbWEuUGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vanNvbi1zY2hlbWEub3JnLyB0byBrbm93IG1vcmUgYWJvdXQganNvbiBzY2hlbWEu4kEBAvpCBHICEAIiYwoXQ3JlYXRlTWV0YVNjaGVtYVJlcXVlc3QSSAoEYm9keRgBIAEoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJVChhDcmVhdGVNZXRhU2NoZW1hUmVzcG9uc2USOQoKbWV0YXNjaGVtYRgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYSIiChRHZXRNZXRhU2NoZW1hUmVxdWVzdBIKCgJpZBgBIAEoCSJSChVHZXRNZXRhU2NoZW1hUmVzcG9uc2USOQoKbWV0YXNjaGVtYRgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYSJvChdVcGRhdGVNZXRhU2NoZW1hUmVxdWVzdBIKCgJpZBgBIAEoCRJICgRib2R5GAIgASgLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5NZXRhU2NoZW1hUmVxdWVzdEJvZHlCCPpCBYoBAhABIlUKGFVwZGF0ZU1ldGFTY2hlbWFSZXNwb25zZRI5CgptZXRhc2NoZW1hGAEgASgLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5NZXRhU2NoZW1hIiUKF0RlbGV0ZU1ldGFTY2hlbWFSZXF1ZXN0EgoKAmlkGAEgASgJIhoKGERlbGV0ZU1ldGFTY2hlbWFSZXNwb25zZSIYChZMaXN0TWV0YVNjaGVtYXNSZXF1ZXN0IlUKF0xpc3RNZXRhU2NoZW1hc1Jlc3BvbnNlEjoKC21ldGFzY2hlbWFzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5NZXRhU2NoZW1hItABCiBMaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSDgoGc291cmNlGAUgASgJEg4KBmFjdGlvbhgGIAEoCRIVCg1pZ25vcmVfc3lzdGVtGAcgASgIEi4KCnN0YXJ0X3RpbWUYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZF90aW1lGAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJWCiFMaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzUmVzcG9uc2USMQoEbG9ncxgBIAMoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRMb2ciegoiQ3JlYXRlT3JnYW5pemF0aW9uQXVkaXRMb2dzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSOwoEbG9ncxgCIAMoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRMb2dCCPpCBZIBAggBIiUKI0NyZWF0ZU9yZ2FuaXphdGlvbkF1ZGl0TG9nc1Jlc3BvbnNlIk4KHkdldE9yZ2FuaXphdGlvbkF1ZGl0TG9nUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSEwoCaWQYAiABKAlCB/pCBHICEAMiUwofR2V0T3JnYW5pemF0aW9uQXVkaXRMb2dSZXNwb25zZRIwCgNsb2cYASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1ZGl0TG9nIhwKGkRlc2NyaWJlUHJlZmVyZW5jZXNSZXF1ZXN0IlkKG0Rlc2NyaWJlUHJlZmVyZW5jZXNSZXNwb25zZRI6CgZ0cmFpdHMYASADKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2VUcmFpdCKHAQokQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJjCiVDcmVhdGVPcmdhbml6YXRpb25QcmVmZXJlbmNlc1Jlc3BvbnNlEjoKC3ByZWZlcmVuY2VzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlIjkKIkxpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiYQojTGlzdE9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UiggEKH0NyZWF0ZVByb2plY3RQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSSgoGYm9kaWVzGAIgAygLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlUmVxdWVzdEJvZHlCCPpCBZIBAggBIl4KIENyZWF0ZVByb2plY3RQcmVmZXJlbmNlc1Jlc3BvbnNlEjoKC3ByZWZlcmVuY2VzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlIjQKHUxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADIlwKHkxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSKAAQodQ3JlYXRlR3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSSgoGYm9kaWVzGAIgAygLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlUmVxdWVzdEJvZHlCCPpCBZIBAggBIlwKHkNyZWF0ZUdyb3VwUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSIyChtMaXN0R3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiWgocTGlzdEdyb3VwUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSJ/ChxDcmVhdGVVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJbCh1DcmVhdGVVc2VyUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSIxChpMaXN0VXNlclByZWZlcmVuY2VzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJZChtMaXN0VXNlclByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UicQojQ3JlYXRlQ3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QSSgoGYm9kaWVzGAIgAygLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlUmVxdWVzdEJvZHlCCPpCBZIBAggBImIKJENyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSIjCiFMaXN0Q3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QiYAoiTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSJICh1CaWxsaW5nV2ViaG9va0NhbGxiYWNrUmVxdWVzdBIZCghwcm92aWRlchgBIAEoCUIH+kIEcgIQARIMCgRib2R5GAIgASgMIiAKHkJpbGxpbmdXZWJob29rQ2FsbGJhY2tSZXNwb25zZSKEBAobQ3JlYXRlUHJvc3BlY3RQdWJsaWNSZXF1ZXN0Ej4KBG5hbWUYASABKAlCMJJBFzIVZnVsbCBuYW1lIG9mIHRoZSB1c2Vy+kITchEyDF5bQS1aYS16IF0rJNABARIyCgVlbWFpbBgFIAEoCUIjkkETMhFlbWFpbCBvZiB0aGUgdXNlcuJBAQL6QgZyBBABYAESLAoFcGhvbmUYBiABKAlCHZJBGjIYcGhvbmUgbnVtYmVyIG9mIHRoZSB1c2VyEoABCghhY3Rpdml0eRgHIAEoCUJukkFOMkxhY3Rpdml0eSBmb3Igd2hpY2ggdXNlciBpcyBzdWJzY3JpYmluZywgZS5nLiBuZXdzbGV0dGVyLCB3YWl0bGlzdCwgYmxvZ3MgZXRj4kEBAvpCFnIUEAEyEF5bQS1aYS16MC05LV9dKyQSbQoGc291cmNlGAkgASgJQl2SQUAyPnNvdXJjZSBvZiB0aGlzIHVzZXIgYWRkaXRpb24gZS5nLiBwbGF0Zm9ybSwgd2Vic2l0ZSwgYWRtaW4gZXRj+kIXchUyEF5bQS1aYS16MC05LV9dKyTQAQESUQoIbWV0YWRhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QiaSQSMyIWFkZGl0aW9uYWwgaW5mbyBhcyBrZXkgdmFsdWUgcGFpciIeChxDcmVhdGVQcm9zcGVjdFB1YmxpY1Jlc3BvbnNlMquUAwoPRnJvbnRpZXJTZXJ2aWNlEugCCglMaXN0VXNlcnMSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2Vyc1JlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2Vyc1Jlc3BvbnNlIv8BkkHlAQoEVXNlchIRTGlzdCBwdWJsaWMgdXNlcnMayQFSZXR1cm5zIHRoZSB1c2VycyBmcm9tIGFsbCB0aGUgb3JnYW5pemF0aW9ucyBpbiBhIEZyb250aWVyIGluc3RhbmNlLiBJdCBjYW4gYmUgZmlsdGVyZWQgYnkga2V5d29yZCwgb3JnYW5pemF0aW9uLCBncm91cCBhbmQgc3RhdGUuIEFkZGl0aW9uYWxseSB5b3UgY2FuIGluY2x1ZGUgcGFnZSBudW1iZXIgYW5kIHBhZ2Ugc2l6ZSBmb3IgcGFnaW5hdGlvbi6C0+STAhASDi92MWJldGExL3VzZXJzErsGCgpDcmVhdGVVc2VyEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVVc2VyUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlVXNlclJlc3BvbnNlIs8FkkGvBQoEVXNlchILQ3JlYXRlIHVzZXIalwVDcmVhdGUgYSB1c2VyIHdpdGggdGhlIGdpdmVuIGRldGFpbHMuIEEgdXNlciBpcyBub3QgYXR0YWNoZWQgdG8gYW4gb3JnYW5pemF0aW9uIG9yIGEgZ3JvdXAgYnkgZGVmYXVsdCxhbmQgY2FuIGJlIGludml0ZWQgdG8gdGhlIG9yZy9ncm91cC4gVGhlIG5hbWUgb2YgdGhlIHVzZXIgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIElmIGEgdXNlciBuYW1lIGlzIG5vdCBwcm92aWRlZCwgRnJvbnRpZXIgYXV0b21hdGljYWxseSBnZW5lcmF0ZXMgYSBuYW1lIGZyb20gdGhlIHVzZXIgZW1haWwuIFRoZSB1c2VyIG1ldGFkYXRhIGlzIHZhbGlkYXRlZCBhZ2FpbnN0IHRoZSB1c2VyIG1ldGFzY2hlbWEuIEJ5IGRlZmF1bHQgdGhlIHVzZXIgbWV0YXNjaGVtYSBjb250YWlucyBgbGFiZWxzYCBhbmQgYGRlc2NyaXB0aW9uc2AgZm9yIHRoZSB1c2VyLiBUaGUgYHRpdGxlYCBmaWVsZCBjYW4gYmUgb3B0aW9uYWxseSBhZGRlZCBmb3IgYSB1c2VyLWZyaWVuZGx5IG5hbWUuIDxici8+PGJyLz4qRXhhbXBsZToqYHsiZW1haWwiOiJqb2huLmRvZUByYXlzdGFjay5vcmciLCJ0aXRsZSI6IkpvaG4gRG9lIixtZXRhZGF0YTp7ImxhYmVsIjogeyJrZXkxIjogInZhbHVlMSJ9LCAiZGVzY3JpcHRpb24iOiAiVXNlciBEZXNjcmlwdGlvbiJ9fWBiAILT5JMCFiIOL3YxYmV0YTEvdXNlcnM6BGJvZHkSzwEKB0dldFVzZXISKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFVzZXJSZXF1ZXN0GioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRVc2VyUmVzcG9uc2UibZJBTwoEVXNlchIIR2V0IHVzZXIaPUdldCBhIHVzZXIgYnkgaWQgc2VhcmNoZWQgb3ZlciBhbGwgb3JnYW5pemF0aW9ucyBpbiBGcm9udGllci6C0+STAhUSEy92MWJldGExL3VzZXJzL3tpZH0S6gIKDkxpc3RVc2VyR3JvdXBzEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlckdyb3Vwc1JlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VyR3JvdXBzUmVzcG9uc2Ui8gGSQcwBCgRVc2VyEhBMaXN0IHVzZXIgZ3JvdXBzGrEBTGlzdHMgYWxsIHRoZSBncm91cHMgYSB1c2VyIGJlbG9uZ3MgdG8gYWNyb3NzIGFsbCBvcmdhbml6YXRpb24gaW4gRnJvbnRpZXIuIFRvIGdldCB0aGUgZ3JvdXBzIG9mIGEgdXNlciBpbiBhIHNwZWNpZmljIG9yZ2FuaXphdGlvbiwgdXNlIHRoZSBvcmdfaWQgZmlsdGVyIGluIHRoZSBxdWVyeSBwYXJhbWV0ZXIugtPkkwIcEhovdjFiZXRhMS91c2Vycy97aWR9L2dyb3VwcxLHAQoVTGlzdEN1cnJlbnRVc2VyR3JvdXBzEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJHcm91cHNSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJHcm91cHNSZXNwb25zZSI7kkEWCgRVc2VyEg5MaXN0IG15IGdyb3Vwc4LT5JMCHBIaL3YxYmV0YTEvdXNlcnMvc2VsZi9ncm91cHMSrQEKDkdldEN1cnJlbnRVc2VyEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRDdXJyZW50VXNlclJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEN1cnJlbnRVc2VyUmVzcG9uc2UiNpJBGAoEVXNlchIQR2V0IGN1cnJlbnQgdXNlcoLT5JMCFRITL3YxYmV0YTEvdXNlcnMvc2VsZhKiAQoKVXBkYXRlVXNlchIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlVXNlclJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVVzZXJSZXNwb25zZSI3kkETCgRVc2VyEgtVcGRhdGUgdXNlcoLT5JMCGxoTL3YxYmV0YTEvdXNlcnMve2lkfToEYm9keRK/AQoRVXBkYXRlQ3VycmVudFVzZXISMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUN1cnJlbnRVc2VyUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlQ3VycmVudFVzZXJSZXNwb25zZSI/kkEbCgRVc2VyEhNVcGRhdGUgY3VycmVudCB1c2VygtPkkwIbGhMvdjFiZXRhMS91c2Vycy9zZWxmOgRib2R5EpECCgpFbmFibGVVc2VyEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVVc2VyUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlVXNlclJlc3BvbnNlIqUBkkF9CgRVc2VyEgtFbmFibGUgdXNlchpoU2V0cyB0aGUgc3RhdGUgb2YgdGhlIHVzZXIgYXMgZW5hYmxlZC4gVGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGxvZyBpbiBhbmQgYWNjZXNzIHRoZSBGcm9udGllciBpbnN0YW5jZS6C0+STAh8iGi92MWJldGExL3VzZXJzL3tpZH0vZW5hYmxlOgEqEpADCgtEaXNhYmxlVXNlchItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZVVzZXJSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlVXNlclJlc3BvbnNlIqECkkH3AQoEVXNlchIMRGlzYWJsZSB1c2VyGuABU2V0cyB0aGUgc3RhdGUgb2YgdGhlIHVzZXIgYXMgZGlhYmxlZC5UaGUgdXNlcidzIG1lbWJlcnNoaXAgdG8gZ3JvdXBzIGFuZCBvcmdhbml6YXRpb25zIHdpbGwgc3RpbGwgZXhpc3QgYWxvbmcgd2l0aCBhbGwgaXQncyByb2xlcyBmb3IgYWNjZXNzIGNvbnRyb2wsIGJ1dCB0aGUgdXNlciB3aWxsIG5vdCBiZSBhYmxlIHRvIGxvZyBpbiBhbmQgYWNjZXNzIHRoZSBGcm9udGllciBpbnN0YW5jZS6C0+STAiAiGy92MWJldGExL3VzZXJzL3tpZH0vZGlzYWJsZToBKhL3AQoKRGVsZXRlVXNlchIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlVXNlclJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVVzZXJSZXNwb25zZSKLAZJBbQoEVXNlchILRGVsZXRlIHVzZXIaWERlbGV0ZSBhbiB1c2VyIHBlcm1hbmVudGx5IGZvcmV2ZXIgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zIChvcmdhbml6YXRpb25zLCBncm91cHMsIGV0YymC0+STAhUqEy92MWJldGExL3VzZXJzL3tpZH0S/wQKF0xpc3RPcmdhbml6YXRpb25zQnlVc2VyEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc0J5VXNlclJlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zQnlVc2VyUmVzcG9uc2Ui7AOSQb8DCgRVc2VyEhZHZXQgdXNlciBvcmdhbml6YXRpb25zGp4DVGhpcyBBUEkgcmV0dXJucyB0d28gbGlzdCBvZiBvcmdhbml6YXRpb25zIGZvciB0aGUgdXNlci4gaSkgVGhlIGxpc3Qgb2Ygb3JncyB3aGljaCB0aGUgY3VycmVudCB1c2VyIGlzIGFscmVhZHkgYSBwYXJ0IG9mIGlpKSBUaGUgbGlzdCBvZiBvcmdhbml6YXRpb25zIHRoZSB1c2VyIGNhbiBqb2luIGRpcmVjdGx5IChiYXNlZCBvbiBkb21haW4gd2hpdGVsaXN0ZWQgYW5kIHZlcmlmaWVkIGJ5IHRoZSBvcmcpLiBUaGlzIGxpc3Qgd2lsbCBhbHNvIGNvbnRhaW4gb3JncyBvZiB3aGljaCB1c2VyIGlzIGFscmVhZHkgYSBwYXJ0IG9mLiBOb3RlOiB0aGUgZG9tYWluIG5lZWRzIHRvIGJlIHZlcmlmaWVkIGJ5IHRoZSBvcmcgYmVmb3JlIHRoZSBpdCBpcyByZXR1cm5lZCBhcyBvbmUgb2YgdGhlIGpvaW5hYmxlIG9yZ3MgYnkgZG9tYWlugtPkkwIjEiEvdjFiZXRhMS91c2Vycy97aWR9L29yZ2FuaXphdGlvbnMSpAUKHkxpc3RPcmdhbml6YXRpb25zQnlDdXJyZW50VXNlchJALnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVxdWVzdBpBLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVzcG9uc2Ui/AOSQc8DCgRVc2VyEhRHZXQgbXkgb3JnYW5pemF0aW9ucxqwA1RoaXMgQVBJIHJldHVybnMgdHdvIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucyBmb3IgdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHVzZXIuIGkpIFRoZSBsaXN0IG9mIG9yZ3Mgd2hpY2ggdGhlIGN1cnJlbnQgdXNlciBpcyBhbHJlYWR5IGEgcGFydCBvZiBpaSkgVGhlIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucyB0aGUgdXNlciBjYW4gam9pbiBkaXJlY3RseSAoYmFzZWQgb24gZG9tYWluIHdoaXRlbGlzdGVkIGFuZCB2ZXJpZmllZCBieSB0aGUgb3JnKS4gVGhpcyBsaXN0IHdpbGwgYWxzbyBjb250YWluIG9yZ3Mgb2Ygd2hpY2ggdXNlciBpcyBhbHJlYWR5IGEgcGFydCBvZi4gTm90ZTogdGhlIGRvbWFpbiBuZWVkcyB0byBiZSB2ZXJpZmllZCBieSB0aGUgb3JnIGJlZm9yZSB0aGUgaXQgaXMgcmV0dXJuZWQgYXMgb25lIG9mIHRoZSBqb2luYWJsZSBvcmdzIGJ5IGRvbWFpboLT5JMCIxIhL3YxYmV0YTEvdXNlcnMvc2VsZi9vcmdhbml6YXRpb25zEuwBChJMaXN0UHJvamVjdHNCeVVzZXISNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5VXNlclJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5VXNlclJlc3BvbnNlImmSQUIKBFVzZXISEUdldCB1c2VyIHByb2plY3RzGidHZXQgYWxsIHRoZSBwcm9qZWN0cyBhIHVzZXIgYmVsb25ncyB0by6C0+STAh4SHC92MWJldGExL3VzZXJzL3tpZH0vcHJvamVjdHMShAIKGUxpc3RQcm9qZWN0c0J5Q3VycmVudFVzZXISOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5Q3VycmVudFVzZXJSZXF1ZXN0GjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyUmVzcG9uc2UibJJBRQoEVXNlchIPR2V0IG15IHByb2plY3RzGixHZXQgYWxsIHByb2plY3RzIHRoZSBjdXJyZW50IHVzZXIgYmVsb25ncyB0b4LT5JMCHhIcL3YxYmV0YTEvdXNlcnMvc2VsZi9wcm9qZWN0cxL3AQoTTGlzdFVzZXJJbnZpdGF0aW9ucxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VySW52aXRhdGlvbnNSZXNwb25zZSJxkkFHCgRVc2VyEhVMaXN0IHVzZXIgaW52aXRhdGlvbnMaKExpc3QgYWxsIHRoZSBpbnZpdGF0aW9ucyBzZW50IHRvIGEgdXNlci6C0+STAiESHy92MWJldGExL3VzZXJzL3tpZH0vaW52aXRhdGlvbnMSkgIKGkxpc3RDdXJyZW50VXNlckludml0YXRpb25zEjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QaPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckludml0YXRpb25zUmVzcG9uc2Uid5JBTQoEVXNlchIVTGlzdCB1c2VyIGludml0YXRpb25zGi5MaXN0IGFsbCB0aGUgaW52aXRhdGlvbnMgc2VudCB0byBjdXJyZW50IHVzZXIugtPkkwIhEh8vdjFiZXRhMS91c2Vycy9zZWxmL2ludml0YXRpb25zEqgCChBMaXN0U2VydmljZVVzZXJzEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJzUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlIqoBkkGJAQoLU2VydmljZVVzZXISFkxpc3Qgb3JnIHNlcnZpY2UgdXNlcnMaYlJldHVybnMgdGhlIHNlcnZpY2UgdXNlciBvZiBhbiBvcmdhbml6YXRpb24gaW4gYSBGcm9udGllciBpbnN0YW5jZS4gSXQgY2FuIGJlIGZpbHRlciBieSBpdCdzIHN0YXRlgtPkkwIXEhUvdjFiZXRhMS9zZXJ2aWNldXNlcnMS9AEKEUNyZWF0ZVNlcnZpY2VVc2VyEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlclJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyUmVzcG9uc2UidJJBOgoLU2VydmljZVVzZXISE0NyZWF0ZSBzZXJ2aWNlIHVzZXIaFkNyZWF0ZSBhIHNlcnZpY2UgdXNlci6C0+STAjEiLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzOgEqEvgBCg5HZXRTZXJ2aWNlVXNlchIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U2VydmljZVVzZXJSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTZXJ2aWNlVXNlclJlc3BvbnNlIoABkkFECgtTZXJ2aWNlVXNlchIQR2V0IHNlcnZpY2UgdXNlchojR2V0IHNlcnZpY2UgdXNlciBkZXRhaWxzIGJ5IGl0cyBpZC6C0+STAjMSMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0SvgIKEURlbGV0ZVNlcnZpY2VVc2VyEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlclJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyUmVzcG9uc2UivQGSQYABCgtTZXJ2aWNlVXNlchITRGVsZXRlIHNlcnZpY2UgdXNlchpcRGVsZXRlIGEgc2VydmljZSB1c2VyIHBlcm1hbmVudGx5IGFuZCBhbGwgb2YgaXRzIHJlbGF0aW9ucyAoa2V5cywgb3JnYW5pemF0aW9ucywgcm9sZXMsIGV0YymC0+STAjMqMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0SmAMKFENyZWF0ZVNlcnZpY2VVc2VySldLEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlckpXS1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VySldLUmVzcG9uc2UijgKSQckBCgtTZXJ2aWNlVXNlchIrQ3JlYXRlIHNlcnZpY2UgdXNlciBwdWJsaWMvcHJpdmF0ZSBrZXkgcGFpchqMAUdlbmVyYXRlIGEgc2VydmljZSB1c2VyIGtleSBhbmQgcmV0dXJuIGl0LCB0aGUgcHJpdmF0ZSBrZXkgcGFydCBvZiB0aGUgcmVzcG9uc2Ugd2lsbCBub3QgYmUgcGVyc2lzdGVkIGFuZCBzaG91bGQgYmUga2VwdCBzZWN1cmVseSBieSBjbGllbnQugtPkkwI7IjYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L2tleXM6ASoSrwIKE0xpc3RTZXJ2aWNlVXNlckpXS3MSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlckpXS3NSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJKV0tzUmVzcG9uc2UiqAGSQWcKC1NlcnZpY2VVc2VyEhZMaXN0IHNlcnZpY2UgdXNlciBrZXlzGkBMaXN0IGFsbCB0aGUga2V5cyBvZiBhIHNlcnZpY2UgdXNlciB3aXRoIGl0cyBkZXRhaWxzIGV4Y2VwdCBqd2sugtPkkwI4EjYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L2tleXMSlgIKEUdldFNlcnZpY2VVc2VySldLEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTZXJ2aWNlVXNlckpXS1JlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFNlcnZpY2VVc2VySldLUmVzcG9uc2UilQGSQUsKC1NlcnZpY2VVc2VyEhRHZXQgc2VydmljZSB1c2VyIGtleRomR2V0IGEgc2VydmljZSB1c2VyIHB1YmxpYyBSU0EgSldLIHNldC6C0+STAkESPy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0va2V5cy97a2V5X2lkfRKiAgoURGVsZXRlU2VydmljZVVzZXJKV0sSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VySldLUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJKV0tSZXNwb25zZSKYAZJBTgoLU2VydmljZVVzZXISF0RlbGV0ZSBzZXJ2aWNlIHVzZXIga2V5GiZEZWxldGUgYSBzZXJ2aWNlIHVzZXIga2V5IHBlcm1hbmVudGx5LoLT5JMCQSo/L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9rZXlzL3trZXlfaWR9EqQDChtDcmVhdGVTZXJ2aWNlVXNlckNyZWRlbnRpYWwSPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlcXVlc3QaPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlc3BvbnNlIoUCkkG9AQoLU2VydmljZVVzZXISJkNyZWF0ZSBzZXJ2aWNlIHVzZXIgY2xpZW50IGNyZWRlbnRpYWxzGoUBR2VuZXJhdGUgYSBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbCBhbmQgcmV0dXJuIGl0LiBUaGUgY3JlZGVudGlhbCB2YWx1ZSB3aWxsIG5vdCBiZSBwZXJzaXN0ZWQgYW5kIHNob3VsZCBiZSBzZWN1cmVseSBzdG9yZWQgYnkgY2xpZW50LoLT5JMCPiI5L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9zZWNyZXRzOgEqErkCChpMaXN0U2VydmljZVVzZXJDcmVkZW50aWFscxI8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyQ3JlZGVudGlhbHNSZXF1ZXN0Gj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1Jlc3BvbnNlIp0BkkFZCgtTZXJ2aWNlVXNlchIdTGlzdCBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbHMaK0xpc3QgYWxsIHRoZSBjcmVkZW50aWFscyBvZiBhIHNlcnZpY2UgdXNlci6C0+STAjsSOS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vc2VjcmV0cxLAAgobRGVsZXRlU2VydmljZVVzZXJDcmVkZW50aWFsEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXNwb25zZSKhAZJBUQoLU2VydmljZVVzZXISH0RlbGV0ZSBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbHMaIURlbGV0ZSBhIHNlcnZpY2UgdXNlciBjcmVkZW50aWFsLoLT5JMCRypFL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9zZWNyZXRzL3tzZWNyZXRfaWR9EvwCChZDcmVhdGVTZXJ2aWNlVXNlclRva2VuEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlclRva2VuUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJUb2tlblJlc3BvbnNlIuwBkkGlAQoLU2VydmljZVVzZXISGUNyZWF0ZSBzZXJ2aWNlIHVzZXIgdG9rZW4ae0dlbmVyYXRlIGEgc2VydmljZSB1c2VyIHRva2VuIGFuZCByZXR1cm4gaXQuIFRoZSB0b2tlbiB2YWx1ZSB3aWxsIG5vdCBiZSBwZXJzaXN0ZWQgYW5kIHNob3VsZCBiZSBzZWN1cmVseSBzdG9yZWQgYnkgY2xpZW50LoLT5JMCPSI4L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS90b2tlbnM6ASoSnwIKFUxpc3RTZXJ2aWNlVXNlclRva2VucxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyVG9rZW5zUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyVG9rZW5zUmVzcG9uc2UikgGSQU8KC1NlcnZpY2VVc2VyEhhMaXN0IHNlcnZpY2UgdXNlciB0b2tlbnMaJkxpc3QgYWxsIHRoZSB0b2tlbnMgb2YgYSBzZXJ2aWNlIHVzZXIugtPkkwI6EjgvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3Rva2VucxKkAgoWRGVsZXRlU2VydmljZVVzZXJUb2tlbhI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJUb2tlblJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyVG9rZW5SZXNwb25zZSKUAZJBRgoLU2VydmljZVVzZXISGURlbGV0ZSBzZXJ2aWNlIHVzZXIgdG9rZW4aHERlbGV0ZSBhIHNlcnZpY2UgdXNlciB0b2tlbi6C0+STAkUqQy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vdG9rZW5zL3t0b2tlbl9pZH0SsAIKF0xpc3RTZXJ2aWNlVXNlclByb2plY3RzEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJQcm9qZWN0c1JlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclByb2plY3RzUmVzcG9uc2UinQGSQVgKC1NlcnZpY2VVc2VyEhpMaXN0IHNlcnZpY2Ugc3NlciBwcm9qZWN0cxotTGlzdCBhbGwgcHJvamVjdHMgdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvgtPkkwI8EjovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3Byb2plY3RzEuQCChZMaXN0T3JnYW5pemF0aW9uR3JvdXBzEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uR3JvdXBzUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkdyb3Vwc1Jlc3BvbnNlItQBkkGiAQoFR3JvdXASGExpc3Qgb3JnYW5pemF0aW9uIGdyb3Vwcxp/R2V0IGFsbCBncm91cHMgdGhhdCBiZWxvbmcgdG8gYW4gb3JnYW5pemF0aW9uLiBUaGUgcmVzdWx0cyBjYW4gYmUgZmlsdGVyZWQgYnkgc3RhdGUgd2hpY2ggY2FuIGJlIGVpdGhlciBiZSBlbmFibGVkIG9yIGRpc2FibGVkLoLT5JMCKBImL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMSnQMKC0NyZWF0ZUdyb3VwEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVHcm91cFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUdyb3VwUmVzcG9uc2UirgKSQfYBCgVHcm91cBIMQ3JlYXRlIGdyb3VwGt4BQ3JlYXRlIGEgbmV3IGdyb3VwIGluIGFuIG9yZ2FuaXphdGlvbiB3aGljaCBzZXJ2ZXMgYXMgYSBjb250YWluZXIgZm9yIHVzZXJzLiBUaGUgZ3JvdXAgY2FuIGJlIGFzc2lnbmVkIHJvbGVzIGFuZCBwZXJtaXNzaW9ucyBhbmQgY2FuIGJlIHVzZWQgdG8gbWFuYWdlIGFjY2VzcyB0byByZXNvdXJjZXMuIEFsc28gYSBncm91cCBjYW4gYWxzbyBiZSBhc3NpZ25lZCB0byBvdGhlciBncm91cHMugtPkkwIuIiYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3VwczoEYm9keRKtAQoIR2V0R3JvdXASKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEdyb3VwUmVxdWVzdBorLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0R3JvdXBSZXNwb25zZSJIkkESCgVHcm91cBIJR2V0IGdyb3VwgtPkkwItEisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9Er8BCgtVcGRhdGVHcm91cBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlR3JvdXBSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVHcm91cFJlc3BvbnNlIlGSQRUKBUdyb3VwEgxVcGRhdGUgZ3JvdXCC0+STAjMaKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH06BGJvZHkS/gEKDkxpc3RHcm91cFVzZXJzEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0R3JvdXBVc2Vyc1JlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFVzZXJzUmVzcG9uc2UihgGSQUoKBUdyb3VwEhBMaXN0IGdyb3VwIHVzZXJzGi9SZXR1cm5zIGEgbGlzdCBvZiB1c2VycyB0aGF0IGJlbG9uZyB0byBhIGdyb3VwLoLT5JMCMxIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS91c2VycxLdAgoNQWRkR3JvdXBVc2VycxIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWRkR3JvdXBVc2Vyc1JlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFkZEdyb3VwVXNlcnNSZXNwb25zZSLoAZJBqAEKBUdyb3VwEg5BZGQgZ3JvdXAgdXNlchqOAUFkZHMgYSBwcmluY2lwbGUodXNlciBhbmQgc2VydmljZS11c2VycykgdG8gYSBncm91cCwgZXhpc3RpbmcgdXNlcnMgaW4gdGhlIGdyb3VwIHdpbGwgYmUgaWdub3JlZC4gQSBncm91cCBjYW4ndCBoYXZlIG5lc3RlZCBncm91cHMgYXMgbWVtYmVycy6C0+STAjYiMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vdXNlcnM6ASoS7wIKD1JlbW92ZUdyb3VwVXNlchIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlR3JvdXBVc2VyUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlR3JvdXBVc2VyUmVzcG9uc2Ui9AGSQa0BCgVHcm91cBIRUmVtb3ZlIGdyb3VwIHVzZXIakAFSZW1vdmVzIGEgcHJpbmNpcGxlKHVzZXIgYW5kIHNlcnZpY2UtdXNlcnMpIGZyb20gYSBncm91cC4gSWYgdGhlIHVzZXIgaXMgbm90IGluIHRoZSBncm91cCwgdGhlIHJlcXVlc3Qgd2lsbCBzdWNjZWVkIGJ1dCBubyBjaGFuZ2VzIHdpbGwgYmUgbWFkZS6C0+STAj0qOy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vdXNlcnMve3VzZXJfaWR9EsMCCgtFbmFibGVHcm91cBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlR3JvdXBSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVHcm91cFJlc3BvbnNlItQBkkGTAQoFR3JvdXASDEVuYWJsZSBncm91cBp8U2V0cyB0aGUgc3RhdGUgb2YgdGhlIGdyb3VwIGFzIGVuYWJsZWQuIFRoZSBgZW5hYmxlZGAgZmxhZyBpcyB1c2VkIHRvIGRldGVybWluZSBpZiB0aGUgZ3JvdXAgY2FuIGJlIHVzZWQgZm9yIGFjY2VzcyBjb250cm9sLoLT5JMCNyIyL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS9lbmFibGU6ASoS1AMKDERpc2FibGVHcm91cBIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUdyb3VwUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUdyb3VwUmVzcG9uc2Ui4gKSQaACCgVHcm91cBINRGlzYWJsZSBncm91cBqHAlNldHMgdGhlIHN0YXRlIG9mIHRoZSBncm91cCBhcyBkaXNhYmxlZC4gVGhlIGdyb3VwIHdpbGwgbm90IGJlIGF2YWlsYWJsZSBmb3IgYWNjZXNzIGNvbnRyb2wgYW5kIHRoZSBleGlzdGluZyB1c2VycyBpbiB0aGUgZ3JvdXAgd2lsbCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgYW55IHJlc291cmNlcyB0aGF0IGFyZSBhc3NpZ25lZCB0byB0aGUgZ3JvdXAuIE5vIG90aGVyIHVzZXJzIGNhbiBiZSBhZGRlZCB0byB0aGUgZ3JvdXAgd2hpbGUgaXQgaXMgZGlzYWJsZWQugtPkkwI4IjMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9L2Rpc2FibGU6ASoS/QEKC0RlbGV0ZUdyb3VwEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVHcm91cFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZUdyb3VwUmVzcG9uc2UijgGSQVgKBUdyb3VwEgxEZWxldGUgZ3JvdXAaQURlbGV0ZSBhbiBvcmdhbml6YXRpb24gZ3JvdXAgcGVybWFuZW50bHkgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zgtPkkwItKisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9EpMCCglMaXN0Um9sZXMSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RSb2xlc1JlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RSb2xlc1Jlc3BvbnNlIqoBkkGQAQoEUm9sZRITTGlzdCBwbGF0Zm9ybSByb2xlcxpzUmV0dXJucyBhIGxpc3Qgb2YgcGxhdGZvcm0gd2lkZSByb2xlcyBhdmFpbGFibGUgaW4gZW5pdHJlIEZyb250aWVyIGluc3RhbmNlIGFsb25nIHdpdGggdGhlaXIgYXNzb2NpYXRlZCBwZXJtaXNzaW9uc4LT5JMCEBIOL3YxYmV0YTEvcm9sZXMSvAIKFUxpc3RPcmdhbml6YXRpb25Sb2xlcxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblJvbGVzUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblJvbGVzUmVzcG9uc2UirwGSQX8KBFJvbGUSF0xpc3Qgb3JnYW5pemF0aW9uIHJvbGVzGl5SZXR1cm5zIGEgbGlzdCBvZiBjdXN0b20gcm9sZXMgY3JlYXRlZCB1bmRlciBhbiBvcmdhbml6YXRpb24gd2l0aCB0aGVpciBhc3NvY2lhdGVkIHBlcm1pc3Npb25zgtPkkwInEiUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzEvcCChZDcmVhdGVPcmdhbml6YXRpb25Sb2xlEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIucBkkGwAQoEUm9sZRIYQ3JlYXRlIG9yZ2FuaXphdGlvbiByb2xlGo0BQ3JlYXRlIGEgY3VzdG9tIHJvbGUgdW5kZXIgYW4gb3JnYW5pemF0aW9uLiBUaGlzIGN1c3RvbSByb2xlIHdpbGwgb25seSBiZSBhdmFpbGFibGUgZm9yIGFzc2lnbm1lbnQgdG8gdGhlIHByaW5jaXBsZXMgd2l0aGluIHRoZSBvcmdhbml6YXRpb24ugtPkkwItIiUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzOgRib2R5EqwCChNHZXRPcmdhbml6YXRpb25Sb2xlEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIqUBkkFwCgRSb2xlEhVHZXQgb3JnYW5pemF0aW9uIHJvbGUaUVJldHVybnMgYSBjdXN0b20gcm9sZSB1bmRlciBhbiBvcmdhbml6YXRpb24gYWxvbmcgd2l0aCBpdHMgYXNzb2NpYXRlZCBwZXJtaXNzaW9uc4LT5JMCLBIqL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9yb2xlcy97aWR9EvwCChZVcGRhdGVPcmdhbml6YXRpb25Sb2xlEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIuwBkkGwAQoEUm9sZRIYVXBkYXRlIG9yZ2FuaXphdGlvbiByb2xlGo0BVXBkYXRlIGEgY3VzdG9tIHJvbGUgdW5kZXIgYW4gb3JnYW5pemF0aW9uLiBUaGlzIGN1c3RvbSByb2xlIHdpbGwgb25seSBiZSBhdmFpbGFibGUgZm9yIGFzc2lnbm1lbnQgdG8gdGhlIHByaW5jaXBsZXMgd2l0aGluIHRoZSBvcmdhbml6YXRpb24ugtPkkwIyGiovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzL3tpZH06BGJvZHkStwIKFkRlbGV0ZU9yZ2FuaXphdGlvblJvbGUSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2UipwGSQXIKBFJvbGUSGERlbGV0ZSBvcmdhbml6YXRpb24gcm9sZRpQRGVsZXRlIGEgY3VzdG9tIHJvbGUgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zIHVuZGVyIGFuIG9yZ2FuaXphdGlvbiBwZXJtYW5lbnRseS6C0+STAiwqKi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMve2lkfRKaAgoRTGlzdE9yZ2FuaXphdGlvbnMSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNSZXNwb25zZSKZAZJBeAoMT3JnYW5pemF0aW9uEhJMaXN0IG9yZ2FuaXphdGlvbnMaVFJldHVybnMgYSBsaXN0IG9mIG9yZ2FuaXphdGlvbnMuIEl0IGNhbiBiZSBmaWx0ZXJlZCBieSB1c2VySUQgb3Igb3JnYW5pemF0aW9uIHN0YXRlLoLT5JMCGBIWL3YxYmV0YTEvb3JnYW5pemF0aW9ucxLNAQoSQ3JlYXRlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25SZXNwb25zZSJKkkEjCgxPcmdhbml6YXRpb24SE0NyZWF0ZSBvcmdhbml6YXRpb26C0+STAh4iFi92MWJldGExL29yZ2FuaXphdGlvbnM6BGJvZHkS4AEKD0dldE9yZ2FuaXphdGlvbhIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUmVzcG9uc2UiZpJBQAoMT3JnYW5pemF0aW9uEhBHZXQgb3JnYW5pemF0aW9uGh5HZXQgb3JnYW5pemF0aW9uIGJ5IElEIG9yIG5hbWWC0+STAh0SGy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfRLtAQoSVXBkYXRlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25SZXNwb25zZSJqkkE+CgxPcmdhbml6YXRpb24SE1VwZGF0ZSBvcmdhbml6YXRpb24aGVVwZGF0ZSBvcmdhbml6YXRpb24gYnkgSUSC0+STAiMaGy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfToEYm9keRKfAgoYTGlzdE9yZ2FuaXphdGlvblByb2plY3RzEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXNwb25zZSKJAZJBWgoMT3JnYW5pemF0aW9uEhlHZXQgb3JnYW5pemF0aW9uIHByb2plY3RzGi9HZXQgYWxsIHByb2plY3RzIHRoYXQgYmVsb25nIHRvIGFuIG9yZ2FuaXphdGlvboLT5JMCJhIkL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3Byb2plY3RzEo4CChZMaXN0T3JnYW5pemF0aW9uQWRtaW5zEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkFkbWluc1Jlc3BvbnNlIn+SQVIKDE9yZ2FuaXphdGlvbhIYTGlzdCBvcmdhbml6YXRpb24gYWRtaW5zGihSZXR1cm5zIGEgbGlzdCBhZG1pbnMgb2YgYW4gb3JnYW5pemF0aW9ugtPkkwIkEiIvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vYWRtaW5zEt8BChVMaXN0T3JnYW5pemF0aW9uVXNlcnMSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1JlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlIlOSQScKDE9yZ2FuaXphdGlvbhIXTGlzdCBvcmdhbml6YXRpb24gdXNlcnOC0+STAiMSIS92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS91c2VycxLtAgoUQWRkT3JnYW5pemF0aW9uVXNlcnMSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFkZE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWRkT3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZSLjAZJBswEKDE9yZ2FuaXphdGlvbhIVQWRkIG9yZ2FuaXphdGlvbiB1c2VyGosBQWRkIGEgdXNlciB0byBhbiBvcmdhbml6YXRpb24uIEEgdXNlciBtdXN0IGV4aXN0cyBpbiBGcm9udGllciBiZWZvcmUgYWRkaW5nIGl0IHRvIGFuIG9yZy4gVGhpcyByZXF1ZXN0IHdpbGwgZmFpbCBpZiB0aGUgdXNlciBkb2Vzbid0IGV4aXN0c4LT5JMCJiIhL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3VzZXJzOgEqEpICChZSZW1vdmVPcmdhbml6YXRpb25Vc2VyEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZW1vdmVPcmdhbml6YXRpb25Vc2VyUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlT3JnYW5pemF0aW9uVXNlclJlc3BvbnNlIoIBkkFMCgxPcmdhbml6YXRpb24SGFJlbW92ZSBvcmdhbml6YXRpb24gdXNlchoiUmVtb3ZlIGEgdXNlciBmcm9tIGFuIG9yZ2FuaXphdGlvboLT5JMCLSorL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3VzZXJzL3t1c2VyX2lkfRKWAgoSR2V0T3JnYW5pemF0aW9uS3ljEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25LeWNSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25LeWNSZXNwb25zZSKSAZJBZAoPT3JnYW5pemF0aW9uS3ljEh9HZXQgS1lDIGluZm8gb2YgYW4gb3JnYW5pemF0aW9uGjBHZXQgS1lDIGluZm8gb2YgYW4gb3JnYW5pemF0aW9uIHVzaW5nIElEIG9yIG5hbWWC0+STAiUSIy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0va3ljEoMCChxMaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblNlcnZpY2VVc2Vyc1Jlc3BvbnNlImKSQS8KDE9yZ2FuaXphdGlvbhIfTGlzdCBvcmdhbml6YXRpb24gc2VydmljZSB1c2Vyc4LT5JMCKhIoL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3NlcnZpY2V1c2VycxK5AgobTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uSW52aXRhdGlvbnNSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uSW52aXRhdGlvbnNSZXNwb25zZSKaAZJBZAoMT3JnYW5pemF0aW9uEhhMaXN0IHBlbmRpbmcgaW52aXRhdGlvbnMaOlJldHVybnMgYWxsIHBlbmRpbmcgaW52aXRhdGlvbnMgcXVldWVkIGZvciBhbiBvcmdhbml6YXRpb26C0+STAi0SKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vaW52aXRhdGlvbnMS9gIKHENyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb24SPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2Ui1AGSQZoBCgxPcmdhbml6YXRpb24SC0ludml0ZSB1c2VyGn1JbnZpdGUgdXNlcnMgdG8gYW4gb3JnYW5pemF0aW9uLCBpZiB1c2VyIGlzIG5vdCByZWdpc3RlcmVkIG9uIHRoZSBwbGF0Zm9ybSwgaXQgd2lsbCBiZSBub3RpZmllZC4gSW52aXRhdGlvbnMgZXhwaXJlIGluIDcgZGF5c4LT5JMCMCIrL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9uczoBKhKzAgoZR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvbhI7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QaPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSKaAZJBXwoMT3JnYW5pemF0aW9uEhZHZXQgcGVuZGluZyBpbnZpdGF0aW9uGjdSZXR1cm5zIGEgcGVuZGluZyBpbnZpdGF0aW9uIHF1ZXVlZCBmb3IgYW4gb3JnYW5pemF0aW9ugtPkkwIyEjAvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zL3tpZH0SmQMKHEFjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb24SPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2Ui9wGSQbEBCgxPcmdhbml6YXRpb24SGUFjY2VwdCBwZW5kaW5nIGludml0YXRpb24ahQFBY2NlcHQgcGVuZGluZyBpbnZpdGF0aW9uIHF1ZXVlZCBmb3IgYW4gb3JnYW5pemF0aW9uLiBUaGUgdXNlciB3aWxsIGJlIGFkZGVkIHRvIHRoZSBvcmdhbml6YXRpb24gYW5kIGdyb3VwcyBkZWZpbmVkIGluIHRoZSBpbnZpdGF0aW9ugtPkkwI8IjcvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zL3tpZH0vYWNjZXB0OgEqEr4CChxEZWxldGVPcmdhbml6YXRpb25JbnZpdGF0aW9uEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlIpwBkkFhCgxPcmdhbml6YXRpb24SGURlbGV0ZSBwZW5kaW5nIGludml0YXRpb24aNkRlbGV0ZSBhIHBlbmRpbmcgaW52aXRhdGlvbiBxdWV1ZWQgZm9yIGFuIG9yZ2FuaXphdGlvboLT5JMCMiowL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9ucy97aWR9EtgDChdMaXN0T3JnYW5pemF0aW9uRG9tYWlucxI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkRvbWFpbnNSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uRG9tYWluc1Jlc3BvbnNlIsUCkkGSAgoMT3JnYW5pemF0aW9uEhBMaXN0IG9yZyBkb21haW5zGu8BUmV0dXJucyBhbGwgZG9tYWlucyB3aGl0ZWxpc3RlZCBmb3IgYW4gb3JnYW5pemF0aW9uIChib3RoIHBlbmRpbmcgYW5kIHZlcmlmaWVkIGlmIG5vIGZpbHRlcnMgYXJlIHByb3ZpZGVkIGZvciB0aGUgc3RhdGUpLiBUaGUgdmVyaWZpZWQgZG9tYWlucyBhbGxvdyB1c2VycyBlbWFpbCB3aXRoIHRoZSBvcmcncyB3aGl0ZWxpc3RlZCBkb21haW4gdG8gam9pbiB0aGUgb3JnYW5pemF0aW9uIHdpdGhvdXQgaW52aXRhdGlvbi6C0+STAikSJy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZG9tYWlucxL+BAoYQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZSLoA5JBsgMKDE9yZ2FuaXphdGlvbhIRQ3JlYXRlIG9yZyBkb21haW4ajgNBZGQgYSBkb21haW4gdG8gYW4gb3JnYW5pemF0aW9uIHdoaWNoIGlmIHZlcmlmaWVkIGFsbG93cyBhbGwgdXNlcnMgb2YgdGhlIHNhbWUgZG9tYWluIHRvIGJlIHNpZ25lZCB1cCB0byB0aGUgb3JnYW5pemF0aW9uIHdpdGhvdXQgaW52aXRhdGlvbi4gVGhpcyBBUEkgZ2VuZXJhdGVzIGEgdmVyaWZpY2F0aW9uIHRva2VuIGZvciBhIGRvbWFpbiB3aGljaCBtdXN0IGJlIGFkZGVkIHRvIHlvdXIgZG9tYWluJ3MgRE5TIHByb3ZpZGVyIGFzIGEgVFhUIHJlY29yZCBzaG91bGQgYmUgdmVyaWZpZWQgd2l0aCBGcm9udGllciBWZXJpZnlPcmdhbml6YXRpb25Eb21haW4gQVBJIGJlZm9yZSBpdCBjYW4gYmUgdXNlZCBhcyBhbiBPcmdhbml6YXRpb24ncyB0cnVzdGVkIGRvbWFpbiB0byBzaWduIHVwIHVzZXJzLoLT5JMCLCInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zOgEqErcCChhEZWxldGVPcmdhbml6YXRpb25Eb21haW4SOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlIqEBkkFqCgxPcmdhbml6YXRpb24SEURlbGV0ZSBvcmcgZG9tYWluGkdSZW1vdmUgYSBkb21haW4gZnJvbSB0aGUgbGlzdCBvZiBhbiBvcmdhbml6YXRpb24ncyB0cnVzdGVkIGRvbWFpbnMgbGlzdILT5JMCLiosL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zL3tpZH0S4gIKFUdldE9yZ2FuaXphdGlvbkRvbWFpbhI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2Ui1QGSQZ0BCgxPcmdhbml6YXRpb24SDkdldCBvcmcgZG9tYWluGn1HZXQgYSBkb21haW4gZnJvbSB0aGUgbGlzdCBvZiBhbiBvcmdhbml6YXRpb24ncyB3aGl0ZWxpc3RlZCBkb21haW5zLiBSZXR1cm5zIGJvdGggdmVyaWZpZWQgYW5kIHVudmVyaWZpZWQgZG9tYWlucyBieSB0aGVpciBJRILT5JMCLhIsL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zL3tpZH0SpQQKGFZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpbhI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2UijwOSQc0CCgxPcmdhbml6YXRpb24SEVZlcmlmeSBvcmcgZG9tYWluGqkCVmVyaWZ5IGEgZG9tYWluIGZvciBhbiBvcmdhbml6YXRpb24gd2l0aCBhIHZlcmlmaWNhdGlvbiB0b2tlbiBnZW5lcmF0ZWQgYnkgRnJvbnRpZXIgR2VuZXJhdGVEb21haW5WZXJpZmljYXRpb25Ub2tlbiBBUEkuIFRoZSB0b2tlbiBtdXN0IGJlIGFkZGVkIHRvIHlvdXIgZG9tYWluJ3MgRE5TIHByb3ZpZGVyIGFzIGEgVFhUIHJlY29yZCBiZWZvcmUgaXQgY2FuIGJlIHZlcmlmaWVkLiBUaGlzIEFQSSByZXR1cm5zIHRoZSBzdGF0ZSBvZiB0aGUgZG9tYWluIChwZW5kaW5nL3ZlcmlmaWVkKSBhZnRlciB2ZXJpZmljYXRpb24ugtPkkwI4IjMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2RvbWFpbnMve2lkfS92ZXJpZnk6ASoSkgMKEEpvaW5Pcmdhbml6YXRpb24SMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkpvaW5Pcmdhbml6YXRpb25SZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Kb2luT3JnYW5pemF0aW9uUmVzcG9uc2UilAKSQeEBCgxPcmdhbml6YXRpb24SEUpvaW4gb3JnYW5pemF0aW9uGr0BQWxsb3dzIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiB1c2VyIHRvIGpvaW4gdGhlIE9yZyBpZiBvbmUgaXMgbm90IGEgcGFydCBvZiBpdC4gVGhlIHVzZXIgd2lsbCBvbmx5IGJlIGFibGUgdG8gam9pbiB3aGVuIHRoZSB1c2VyIGVtYWlsJ3MgZG9tYWluIG1hdGNoZXMgdGhlIG9yZ2FuaXphdGlvbidzIHdoaXRlbGlzdGVkIGRvbWFpbnMugtPkkwIpIiQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2pvaW46ASoS2QIKEkVuYWJsZU9yZ2FuaXphdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlT3JnYW5pemF0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlT3JnYW5pemF0aW9uUmVzcG9uc2Ui1QGSQaQBCgxPcmdhbml6YXRpb24SE0VuYWJsZSBvcmdhbml6YXRpb24af1NldHMgdGhlIHN0YXRlIG9mIHRoZSBvcmdhbml6YXRpb24gYXMgZW5hYmxlZC4gVGhlIGV4aXN0aW5nIHVzZXJzIGluIHRoZSBvcmcgd2lsbCBiZSBhYmxlIHRvIGFjY2VzcyBhbnkgb3JnYW5pemF0aW9uIHJlc291cmNlcy6C0+STAiciIi92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9lbmFibGU6ASoS5AIKE0Rpc2FibGVPcmdhbml6YXRpb24SNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVPcmdhbml6YXRpb25SZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlT3JnYW5pemF0aW9uUmVzcG9uc2Ui3QGSQasBCgxPcmdhbml6YXRpb24SFERpc2FibGUgb3JnYW5pemF0aW9uGoQBU2V0cyB0aGUgc3RhdGUgb2YgdGhlIG9yZ2FuaXphdGlvbiBhcyBkaXNhYmxlZC4gVGhlIGV4aXN0aW5nIHVzZXJzIGluIHRoZSBvcmcgd2lsbCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgYW55IG9yZ2FuaXphdGlvbiByZXNvdXJjZXMugtPkkwIoIiMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vZGlzYWJsZToBKhLGAgoSRGVsZXRlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25SZXNwb25zZSLCAZJBmwEKDE9yZ2FuaXphdGlvbhITRGVsZXRlIG9yZ2FuaXphdGlvbhp2RGVsZXRlIGFuIG9yZ2FuaXphdGlvbiBhbmQgYWxsIG9mIGl0cyByZWxhdGlvbnMgcGVybWFuZW50bHkuIFRoZSBvcmdhbml6YXRpb24gdXNlcnMgd2lsbCBub3QgYmUgZGVsZXRlZCBmcm9tIEZyb250aWVyLoLT5JMCHSobL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9Eq8BCg1DcmVhdGVQcm9qZWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFJlc3BvbnNlIjuSQRkKB1Byb2plY3QSDkNyZWF0ZSBwcm9qZWN0gtPkkwIZIhEvdjFiZXRhMS9wcm9qZWN0czoEYm9keRK7AQoKR2V0UHJvamVjdBIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2plY3RSZXNwb25zZSJQkkEvCgdQcm9qZWN0EgtHZXQgcHJvamVjdBoXUmV0dXJucyBhIHByb2plY3QgYnkgSUSC0+STAhgSFi92MWJldGExL3Byb2plY3RzL3tpZH0SzQEKDVVwZGF0ZVByb2plY3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2plY3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVzcG9uc2UiWZJBMgoHUHJvamVjdBIOVXBkYXRlIHByb2plY3QaF1VwZGF0ZXMgYSBwcm9qZWN0IGJ5IElEgtPkkwIeGhYvdjFiZXRhMS9wcm9qZWN0cy97aWR9OgRib2R5EvMBChFMaXN0UHJvamVjdEFkbWlucxIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RBZG1pbnNSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdEFkbWluc1Jlc3BvbnNlInOSQUsKB1Byb2plY3QSE0xpc3QgcHJvamVjdCBhZG1pbnMaK1JldHVybnMgYSBjb2xsZWN0aW9uIG9mIGFkbWlucyBvZiBhIHByb2plY3SC0+STAh8SHS92MWJldGExL3Byb2plY3RzL3tpZH0vYWRtaW5zEpgCChBMaXN0UHJvamVjdFVzZXJzEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFVzZXJzUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RVc2Vyc1Jlc3BvbnNlIpoBkkFzCgdQcm9qZWN0EhJMaXN0IHByb2plY3QgdXNlcnMaVFJldHVybnMgYSBjb2xsZWN0aW9uIG9mIHVzZXJzIG9mIGEgcHJvamVjdC4gRmlsdGVyIGJ5IHVzZXIgcGVybWlzc2lvbnMgaXMgc3VwcG9ydGVkLoLT5JMCHhIcL3YxYmV0YTEvcHJvamVjdHMve2lkfS91c2VycxKRAgoXTGlzdFByb2plY3RTZXJ2aWNlVXNlcnMSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0U2VydmljZVVzZXJzUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RTZXJ2aWNlVXNlcnNSZXNwb25zZSJ/kkFRCgdQcm9qZWN0EhlMaXN0IHByb2plY3Qgc2VydmljZXVzZXJzGitSZXR1cm5zIGEgY29sbGVjdGlvbiBvZiB1c2VycyBvZiBhIHByb2plY3QugtPkkwIlEiMvdjFiZXRhMS9wcm9qZWN0cy97aWR9L3NlcnZpY2V1c2VycxL0AQoRTGlzdFByb2plY3RHcm91cHMSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0R3JvdXBzUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RHcm91cHNSZXNwb25zZSJ0kkFMCgdQcm9qZWN0EhNMaXN0IHByb2plY3QgZ3JvdXBzGixSZXR1cm5zIGEgY29sbGVjdGlvbiBvZiBncm91cHMgb2YgYSBwcm9qZWN0LoLT5JMCHxIdL3YxYmV0YTEvcHJvamVjdHMve2lkfS9ncm91cHMSuAEKDUVuYWJsZVByb2plY3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZVByb2plY3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVQcm9qZWN0UmVzcG9uc2UiRJJBGQoHUHJvamVjdBIORW5hYmxlIHByb2plY3SC0+STAiIiHS92MWJldGExL3Byb2plY3RzL3tpZH0vZW5hYmxlOgEqEr0BCg5EaXNhYmxlUHJvamVjdBIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZVByb2plY3RSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlUHJvamVjdFJlc3BvbnNlIkaSQRoKB1Byb2plY3QSD0Rpc2FibGUgcHJvamVjdILT5JMCIyIeL3YxYmV0YTEvcHJvamVjdHMve2lkfS9kaXNhYmxlOgEqEuIBCg1EZWxldGVQcm9qZWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQcm9qZWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlc3BvbnNlIm6SQU0KB1Byb2plY3QSDkRlbGV0ZSBQcm9qZWN0GjJEZWxldGUgYSBwcm9qZWN0IGFsbCBvZiBpdHMgcmVsYXRpb25zIHBlcm1hbmVudGx5LoLT5JMCGCoWL3YxYmV0YTEvcHJvamVjdHMve2lkfRK9AQoMQ3JlYXRlUG9saWN5Ei4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lSZXNwb25zZSJMkkEqCgZQb2xpY3kSDUNyZWF0ZSBwb2xpY3kaEUNyZWF0ZXMgYSBwb2xpY3kggtPkkwIZIhEvdjFiZXRhMS9wb2xpY2llczoEYm9keRK1AQoJR2V0UG9saWN5EisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQb2xpY3lSZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQb2xpY3lSZXNwb25zZSJNkkEsCgZQb2xpY3kSCkdldCBwb2xpY3kaFlJldHVybnMgYSBwb2xpY3kgYnkgSUSC0+STAhgSFi92MWJldGExL3BvbGljaWVzL3tpZH0SuQIKDExpc3RQb2xpY2llcxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBvbGljaWVzUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBvbGljaWVzUmVzcG9uc2UixwGSQaoBCgZQb2xpY3kSEUxpc3QgYWxsIHBvbGljaWVzGowBTGlzdHMgYWxsIHRoZSBwb2xpY2llcyBmcm9tIGFsbCB0aGUgb3JnYW5pemF0aW9ucyBpbiBhIEZyb250aWVyIGluc3RhbmNlLiBJdCBjYW4gYmUgZmlsdGVyZWQgYnkgb3JnYW5pemF0aW9uLCBwcm9qZWN0LCB1c2VyLCByb2xlIGFuZCBncm91cC6C0+STAhMSES92MWJldGExL3BvbGljaWVzEscBCgxVcGRhdGVQb2xpY3kSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBvbGljeVJlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBvbGljeVJlc3BvbnNlIlaSQS8KBlBvbGljeRINVXBkYXRlIHBvbGljeRoWVXBkYXRlcyBhIHBvbGljeSBieSBJRILT5JMCHhoWL3YxYmV0YTEvcG9saWNpZXMve2lkfToEYm9keRLcAQoMRGVsZXRlUG9saWN5Ei4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQb2xpY3lSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQb2xpY3lSZXNwb25zZSJrkkFKCgZQb2xpY3kSDURlbGV0ZSBQb2xpY3kaMURlbGV0ZSBhIHBvbGljeSBhbGwgb2YgaXRzIHJlbGF0aW9ucyBwZXJtYW5lbnRseS6C0+STAhgqFi92MWJldGExL3BvbGljaWVzL3tpZH0SiQIKFkNyZWF0ZVBvbGljeUZvclByb2plY3QSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeUZvclByb2plY3RSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVzcG9uc2UiepJBQgoGUG9saWN5EhlDcmVhdGUgUG9saWN5IGZvciBQcm9qZWN0Gh1DcmVhdGUgYSBwb2xpY3kgZm9yIGEgcHJvamVjdILT5JMCLyInL3YxYmV0YTEvcG9saWNpZXMvcHJvamVjdHMve3Byb2plY3RfaWR9OgRib2R5ErUBCg5DcmVhdGVSZWxhdGlvbhIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUmVsYXRpb25SZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVSZWxhdGlvblJlc3BvbnNlIj6SQRsKCFJlbGF0aW9uEg9DcmVhdGUgcmVsYXRpb26C0+STAhoiEi92MWJldGExL3JlbGF0aW9uczoEYm9keRLCAQoLR2V0UmVsYXRpb24SLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFJlbGF0aW9uUmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UmVsYXRpb25SZXNwb25zZSJUkkEyCghSZWxhdGlvbhIMR2V0IHJlbGF0aW9uGhhSZXR1cm5zIGEgcmVsYXRpb24gYnkgSUSC0+STAhkSFy92MWJldGExL3JlbGF0aW9ucy97aWR9EpACCg5EZWxldGVSZWxhdGlvbhIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUmVsYXRpb25SZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVSZWxhdGlvblJlc3BvbnNlIpgBkkFOCghSZWxhdGlvbhIPRGVsZXRlIHJlbGF0aW9uGjFSZW1vdmUgYSBzdWJqZWN0IGhhdmluZyBhIHJlbGF0aW9uIGZyb20gYW4gb2JqZWN0gtPkkwJBKj8vdjFiZXRhMS9yZWxhdGlvbnMve3JlbGF0aW9ufS9vYmplY3Qve29iamVjdH0vc3ViamVjdC97c3ViamVjdH0SugEKD0xpc3RQZXJtaXNzaW9ucxIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBlcm1pc3Npb25zUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBlcm1pc3Npb25zUmVzcG9uc2UiQJJBIQoKUGVybWlzc2lvbhITR2V0IGFsbCBwZXJtaXNzaW9uc4LT5JMCFhIUL3YxYmV0YTEvcGVybWlzc2lvbnMS0AEKDUdldFBlcm1pc3Npb24SLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBlcm1pc3Npb25SZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQZXJtaXNzaW9uUmVzcG9uc2UiXJJBOAoKUGVybWlzc2lvbhIOR2V0IHBlcm1pc3Npb24aGlJldHVybnMgYSBwZXJtaXNzaW9uIGJ5IElEgtPkkwIbEhkvdjFiZXRhMS9wZXJtaXNzaW9ucy97aWR9Eu8BCg5MaXN0TmFtZXNwYWNlcxIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE5hbWVzcGFjZXNSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0TmFtZXNwYWNlc1Jlc3BvbnNlIniSQVoKCU5hbWVzcGFjZRISR2V0IGFsbCBuYW1lc3BhY2VzGjlSZXR1cm5zIHRoZSBsaXN0IG9mIGFsbCBuYW1lc3BhY2VzIGluIGEgRnJvbnRpZXIgaW5zdGFuY2WC0+STAhUSEy92MWJldGExL25hbWVzcGFjZXMSyQEKDEdldE5hbWVzcGFjZRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TmFtZXNwYWNlUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TmFtZXNwYWNlUmVzcG9uc2UiWJJBNQoJTmFtZXNwYWNlEg1HZXQgbmFtZXNwYWNlGhlSZXR1cm5zIGEgbmFtZXNwYWNlIGJ5IElEgtPkkwIaEhgvdjFiZXRhMS9uYW1lc3BhY2VzL3tpZH0S2QEKFExpc3RQcm9qZWN0UmVzb3VyY2VzEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFJlc291cmNlc1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0UmVzb3VyY2VzUmVzcG9uc2UiUJJBHQoIUmVzb3VyY2USEUdldCBhbGwgcmVzb3VyY2VzgtPkkwIqEigvdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzEoECChVDcmVhdGVQcm9qZWN0UmVzb3VyY2USNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlInWSQTwKCFJlc291cmNlEg9DcmVhdGUgcmVzb3VyY2UaH0NyZWF0ZXMgYSByZXNvdXJjZSBpbiBhIHByb2plY3SC0+STAjAiKC92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXM6BGJvZHkS9QEKEkdldFByb2plY3RSZXNvdXJjZRI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlc291cmNlUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlc291cmNlUmVzcG9uc2UicpJBOgoIUmVzb3VyY2USDEdldCByZXNvdXJjZRogUmV0dXJucyBhIHByb2plY3QgcmVzb3VyY2UgYnkgSUSC0+STAi8SLS92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXMve2lkfRKGAgoVVXBkYXRlUHJvamVjdFJlc291cmNlEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVzb3VyY2VSZXNwb25zZSJ6kkE8CghSZXNvdXJjZRIPVXBkYXRlIHJlc291cmNlGh9VcGRhdGVzIGEgcmVzb3VyY2UgaW4gYSBwcm9qZWN0gtPkkwI1Gi0vdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzL3tpZH06BGJvZHkSjwIKFURlbGV0ZVByb2plY3RSZXNvdXJjZRI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlc291cmNlUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlc291cmNlUmVzcG9uc2UiggGSQUoKCFJlc291cmNlEg9EZWxldGUgcmVzb3VyY2UaLURlbGV0ZXMgYSByZXNvdXJjZSBmcm9tIGEgcHJvamVjdCBwZXJtYW5lbnRseYLT5JMCLyotL3YxYmV0YTEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Jlc291cmNlcy97aWR9EvsDChdDaGVja1Jlc291cmNlUGVybWlzc2lvbhI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tSZXNvdXJjZVBlcm1pc3Npb25SZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja1Jlc291cmNlUGVybWlzc2lvblJlc3BvbnNlIugCkkHLAgoFQXV0aHoSBUNoZWNrGroCUmV0dXJucyB0cnVlIGlmIGEgcHJpbmNpcGFsIGhhcyByZXF1aXJlZCBwZXJtaXNzaW9ucyB0byBhY2Nlc3MgYSByZXNvdXJjZSBhbmQgZmFsc2Ugb3RoZXJ3aXNlLjxici8+IE5vdGUgdGhlIHByaW5jaXBhbCBjYW4gYmUgYSB1c2VyIG9yIGEgc2VydmljZSBhY2NvdW50LiBGcm9udGllciB3aWxsIGV4dHJhY3QgcHJpbmNpcGFsIGZyb20gdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHNlc3Npb24gY29va2llIChpZiBhbnkpLCBvciB0aGUgY2xpZW50IGlkIGFuZCBzZWNyZXQgKGluIGNhc2Ugb2Ygc2VydmljZSB1c2Vycykgb3IgdGhlIGFjY2VzcyB0b2tlbi6C0+STAhMiDi92MWJldGExL2NoZWNrOgEqErMEChRCYXRjaENoZWNrUGVybWlzc2lvbhI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmF0Y2hDaGVja1Blcm1pc3Npb25SZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CYXRjaENoZWNrUGVybWlzc2lvblJlc3BvbnNlIqkDkkGHAwoFQXV0aHoSC0JhdGNoIGNoZWNrGvACUmV0dXJucyB0cnVlIGlmIGEgcHJpbmNpcGFsIGhhcyByZXF1aXJlZCBwZXJtaXNzaW9ucyB0byBhY2Nlc3MgYSByZXNvdXJjZSBhbmQgZmFsc2Ugb3RoZXJ3aXNlLjxici8+IE5vdGUgdGhlIHByaW5jaXBhbCBjYW4gYmUgYSB1c2VyIG9yIGEgc2VydmljZSBhY2NvdW50LCBhbmQgRnJvbnRpZXIgd2lsbCB0aGUgY3JlZGVudGlhbHMgZnJvbSB0aGUgY3VycmVudCBsb2dnZWQgaW4gcHJpbmNpcGFsIGZyb20gdGhlIHNlc3Npb24gY29va2llIChpZiBhbnkpLCBvciB0aGUgY2xpZW50IGlkIGFuZCBzZWNyZXQgKGluIGNhc2Ugb2Ygc2VydmljZSB1c2Vycykgb3IgdGhlIGFjY2VzcyB0b2tlbiAoaW4gY2FzZSBvZiBodW1hbiB1c2VyIGFjY291bnRzKS6C0+STAhgiEy92MWJldGExL2JhdGNoY2hlY2s6ASoStQEKB0dldEpXS3MSKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEpXS3NSZXF1ZXN0GioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRKV0tzUmVzcG9uc2UiU5JBHAoFQXV0aHoSE0dldCB3ZWxsIGtub3duIEpXS3OC0+STAi4SEi92MWJldGExL2F1dGgvandrc1oYEhYvLndlbGwta25vd24vandrcy5qc29uErcCChJMaXN0QXV0aFN0cmF0ZWdpZXMSNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RBdXRoU3RyYXRlZ2llc1JlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RBdXRoU3RyYXRlZ2llc1Jlc3BvbnNlIrMBkkGaAQoFQXV0aG4SHkxpc3QgYXV0aGVudGljYXRpb24gc3RyYXRlZ2llcxpxUmV0dXJucyBhIGxpc3Qgb2YgaWRlbnRpdHkgcHJvdmlkZXJzIGNvbmZpZ3VyZWQgb24gYW4gaW5zdGFuY2UgbGV2ZWwgaW4gRnJvbnRpZXIuIGUuZyBHb29nbGUsIEF6dXJlQUQsIEdpdGh1YiBldGOC0+STAg8SDS92MWJldGExL2F1dGgS6QQKDEF1dGhlbnRpY2F0ZRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aGVudGljYXRlUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aGVudGljYXRlUmVzcG9uc2Ui9wOSQZgDCgVBdXRobhIcQXV0aGVudGljYXRlIHdpdGggYSBzdHJhdGVneRrwAkF1dGhlbnRpY2F0ZSBhIHVzZXIgd2l0aCBhIHN0cmF0ZWd5LiBCeSBkZWZhdWx0LCBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uIG5vIG9wZXJhdGlvbiB3aWxsIGJlIHBlcmZvcm1lZCB0byBhcHBseSByZWRpcmVjdGlvbiBpbiBjYXNlIG9mIGJyb3dzZXJzLCBwcm92aWRlIGEgdXJsIGluIHRoZSBhdXRoZW50aWNhdGUgcmVxdWVzdCBib2R5IHRoYXQgd2lsbCBiZSB1c2VkIGZvciByZWRpcmVjdGlvbiBhZnRlciBhdXRoZW50aWNhdGlvbi4gQWxzbyBzZXQgcmVkaXJlY3QgYXMgdHJ1ZSBmb3IgcmVkaXJlY3RpbmcgdGhlIHVzZXIgcmVxdWVzdCB0byB0aGUgcmVkaXJlY3RfdXJsIGFmdGVyIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24ugtPkkwJVEiYvdjFiZXRhMS9hdXRoL3JlZ2lzdGVyL3tzdHJhdGVneV9uYW1lfVorIiYvdjFiZXRhMS9hdXRoL3JlZ2lzdGVyL3tzdHJhdGVneV9uYW1lfToBKhK9BAoMQXV0aENhbGxiYWNrEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoQ2FsbGJhY2tSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoQ2FsbGJhY2tSZXNwb25zZSLLA5JBjAMKBUF1dGhuEhhDYWxsYmFjayBmcm9tIGEgc3RyYXRlZ3ka6AJDYWxsYmFjayBmcm9tIGEgc3RyYXRlZ3kuIFRoaXMgaXMgdGhlIGVuZHBvaW50IHdoZXJlIHRoZSBzdHJhdGVneSB3aWxsIHJlZGlyZWN0IHRoZSB1c2VyIGFmdGVyIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24uIFRoaXMgZW5kcG9pbnQgd2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUgY29kZSBhbmQgc3RhdGUgcXVlcnkgcGFyYW1ldGVycy4gVGhlIGNvZGUgd2lsbCBiZSB1c2VkIHRvIGdldCB0aGUgYWNjZXNzIHRva2VuIGZyb20gdGhlIHN0cmF0ZWd5IGFuZCB0aGUgc3RhdGUgd2lsbCBiZSB1c2VkIHRvIGdldCB0aGUgcmV0dXJuX3RvIHVybCBmcm9tIHRoZSBzZXNzaW9uIGFuZCByZWRpcmVjdCB0aGUgdXNlciB0byB0aGF0IHVybC6C0+STAjUSFi92MWJldGExL2F1dGgvY2FsbGJhY2taGyIWL3YxYmV0YTEvYXV0aC9jYWxsYmFjazoBKhLCAwoJQXV0aFRva2VuEisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoVG9rZW5SZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoVG9rZW5SZXNwb25zZSLZApJBtwIKBUF1dGhuEipHZW5lcmF0ZSBhY2Nlc3MgdG9rZW4gYnkgZ2l2ZW4gY3JlZGVudGlhbHMagQJBY2Nlc3MgdG9rZW4gY2FuIGJlIGdlbmVyYXRlZCBieSBwcm92aWRpbmcgdGhlIGNyZWRlbnRpYWxzIGluIHRoZSByZXF1ZXN0IGJvZHkvaGVhZGVyLiBUaGUgY3JlZGVudGlhbHMgY2FuIGJlIGNsaWVudCBpZCBhbmQgc2VjcmV0IG9yIHNlcnZpY2UgYWNjb3VudCBnZW5lcmF0ZWQga2V5IGp3dC4gVXNlIHRoZSBnZW5lcmF0ZWQgYWNjZXNzIHRva2VuIGluIEF1dGhvcml6YXRpb24gaGVhZGVyIHRvIGFjY2VzcyB0aGUgZnJvbnRpZXIgcmVzb3VyY2VzLoLT5JMCGCITL3YxYmV0YTEvYXV0aC90b2tlbjoBKhLBAQoKQXV0aExvZ291dBIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aExvZ291dFJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhMb2dvdXRSZXNwb25zZSJWkkEfCgVBdXRobhIWTG9nb3V0IGZyb20gYSBzdHJhdGVneYLT5JMCLhIUL3YxYmV0YTEvYXV0aC9sb2dvdXRaFioUL3YxYmV0YTEvYXV0aC9sb2dvdXQSrgIKD0xpc3RNZXRhU2NoZW1hcxIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE1ldGFTY2hlbWFzUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE1ldGFTY2hlbWFzUmVzcG9uc2UiswGSQZIBCgpNZXRhU2NoZW1hEhBMaXN0IG1ldGFzY2hlbWFzGnJSZXR1cm5zIGEgbGlzdCBvZiBhbGwgbWV0YXNjaGVtYXMgY29uZmlndXJlZCBvbiBhbiBpbnN0YW5jZSBsZXZlbCBpbiBGcm9udGllci4gZS5nIHVzZXIsIHByb2plY3QsIG9yZ2FuaXphdGlvbiBldGOC0+STAhcSFS92MWJldGExL21ldGEvc2NoZW1hcxKfBQoQQ3JlYXRlTWV0YVNjaGVtYRIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlTWV0YVNjaGVtYVJlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU1ldGFTY2hlbWFSZXNwb25zZSKhBJJB+gMKCk1ldGFTY2hlbWESEUNyZWF0ZSBtZXRhc2NoZW1hGtgDQ3JlYXRlIGEgbmV3IG1ldGFkYXRhIHNjaGVtYS4gVGhlIG1ldGFzY2hlbWEgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMuIFRoZSBtZXRhc2NoZW1hICoqc2NoZW1hKiogbXVzdCBiZSBhIHZhbGlkIEpTT04gc2NoZW1hLlBsZWFzZSByZWZlciB0byBodHRwczovL2pzb24tc2NoZW1hLm9yZy8gdG8ga25vdyBtb3JlIGFib3V0IGpzb24gc2NoZW1hLiA8YnIvPipFeGFtcGxlOiogYHtuYW1lOiJ1c2VyIixzY2hlbWE6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJsYWJlbCI6eyJ0eXBlIjoib2JqZWN0IiwiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9fSwiZGVzY3JpcHRpb24iOnsidHlwZSI6InN0cmluZyJ9fX19YILT5JMCHSIVL3YxYmV0YTEvbWV0YS9zY2hlbWFzOgRib2R5EtMBCg1HZXRNZXRhU2NoZW1hEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRNZXRhU2NoZW1hUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TWV0YVNjaGVtYVJlc3BvbnNlIl+SQToKCk1ldGFTY2hlbWESDkdldCBtZXRhc2NoZW1hGhxHZXQgYSBtZXRhZGF0YSBzY2hlbWEgYnkgSUQugtPkkwIcEhovdjFiZXRhMS9tZXRhL3NjaGVtYXMve2lkfRLBBAoQVXBkYXRlTWV0YVNjaGVtYRIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlTWV0YVNjaGVtYVJlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU1ldGFTY2hlbWFSZXNwb25zZSLDA5JBlwMKCk1ldGFTY2hlbWESEVVwZGF0ZSBtZXRhc2NoZW1hGvUCVXBkYXRlIGEgbWV0YWRhdGEgc2NoZW1hLiBPbmx5IGBzY2hlbWFgIGZpZWxkIG9mIGEgbWV0YXNjaGVtYSBjYW4gYmUgdXBkYXRlZC4gVGhlIG1ldGFzY2hlbWEgYHNjaGVtYWAgbXVzdCBiZSBhIHZhbGlkIEpTT04gc2NoZW1hLlBsZWFzZSByZWZlciB0byBodHRwczovL2pzb24tc2NoZW1hLm9yZy8gdG8ga25vdyBtb3JlIGFib3V0IGpzb24gc2NoZW1hLiA8YnIvPipFeGFtcGxlOiogYHtuYW1lOiJ1c2VyIixzY2hlbWE6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJsYWJlbCI6eyJ0eXBlIjoib2JqZWN0IiwiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9fSwiZGVzY3JpcHRpb24iOnsidHlwZSI6InN0cmluZyJ9fX19YILT5JMCIhoaL3YxYmV0YTEvbWV0YS9zY2hlbWFzL3tpZH06BGJvZHkS4wQKEERlbGV0ZU1ldGFTY2hlbWESMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU1ldGFTY2hlbWFSZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVNZXRhU2NoZW1hUmVzcG9uc2Ui5QOSQb8DCgpNZXRhU2NoZW1hEhFEZWxldGUgbWV0YXNjaGVtYRqdA0RlbGV0ZSBhIG1ldGFkYXRhIHNjaGVtYSBwZXJtYW5lbnRseS4gT25jZSBkZWxldGVkIHRoZSBtZXRhc2NoZW1hIHdvbid0IGJlIHVzZWQgdG8gdmFsaWRhdGUgdGhlIG1ldGFkYXRhLiBGb3IgZXhhbXBsZSwgaWYgYSBtZXRhc2NoZW1hKHdpdGggYGxhYmVsYCBhbmQgYGRlc2NyaXB0aW9uYCBmaWVsZHMpIGlzIHVzZWQgdG8gdmFsaWRhdGUgdGhlIG1ldGFkYXRhIG9mIGEgdXNlciwgdGhlbiBkZWxldGluZyB0aGUgbWV0YXNjaGVtYSB3aWxsIG5vdCB2YWxpZGF0ZSB0aGUgbWV0YWRhdGEgb2YgdGhlIHVzZXIgYW5kIG1ldGFkYXRhIGZpZWxkIGNhbiBjb250YWluIGFueSBrZXktdmFsdWUgcGFpcihhbmQgc2F5IGFub3RoZXIgZmllbGQgY2FsbGVkIGBmb29gIGNhbiBiZSBpbnNlcnRlZCBpbiBhIHVzZXIncyBtZXRhZGF0YSkugtPkkwIcKhovdjFiZXRhMS9tZXRhL3NjaGVtYXMve2lkfRKmAgoZTGlzdE9yZ2FuaXphdGlvbkF1ZGl0TG9ncxI7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkF1ZGl0TG9nc1JlcXVlc3QaPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25BdWRpdExvZ3NSZXNwb25zZSKNAZJBWQoIQXVkaXRMb2cSD0xpc3QgYXVkaXQgbG9ncxo8UmV0dXJucyBhIGxpc3Qgb2YgYXVkaXQgbG9ncyBvZiBhbiBvcmdhbml6YXRpb24gaW4gRnJvbnRpZXIugtPkkwIrEikvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2F1ZGl0bG9ncxKUAgobQ3JlYXRlT3JnYW5pemF0aW9uQXVkaXRMb2dzEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25BdWRpdExvZ3NSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25BdWRpdExvZ3NSZXNwb25zZSJ2kkE/CghBdWRpdExvZxIQQ3JlYXRlIGF1ZGl0IGxvZxohQ3JlYXRlIG5ldyBhdWRpdCBsb2dzIGluIGEgYmF0Y2gugtPkkwIuIikvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2F1ZGl0bG9nczoBKhL9AQoXR2V0T3JnYW5pemF0aW9uQXVkaXRMb2cSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkF1ZGl0TG9nUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uQXVkaXRMb2dSZXNwb25zZSJrkkEyCghBdWRpdExvZxINR2V0IGF1ZGl0IGxvZxoXR2V0IGFuIGF1ZGl0IGxvZyBieSBJRC6C0+STAjASLi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYXVkaXRsb2dzL3tpZH0SiQIKE0Rlc2NyaWJlUHJlZmVyZW5jZXMSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlc2NyaWJlUHJlZmVyZW5jZXNSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZXNjcmliZVByZWZlcmVuY2VzUmVzcG9uc2UiggGSQVwKClByZWZlcmVuY2USFERlc2NyaWJlIHByZWZlcmVuY2VzGjhSZXR1cm5zIGEgbGlzdCBvZiBhbGwgcHJlZmVyZW5jZXMgc3VwcG9ydGVkIGJ5IEZyb250aWVyLoLT5JMCHRIbL3YxYmV0YTEvcHJlZmVyZW5jZXMvdHJhaXRzEsQDCh1DcmVhdGVPcmdhbml6YXRpb25QcmVmZXJlbmNlcxI/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXF1ZXN0GkAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25QcmVmZXJlbmNlc1Jlc3BvbnNlIp8CkkHpAQoKUHJlZmVyZW5jZRIfQ3JlYXRlIG9yZ2FuaXphdGlvbiBwcmVmZXJlbmNlcxq5AUNyZWF0ZSBhIG5ldyBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMuIFRoZSBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBvcmdhbml6YXRpb24gYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwIsIicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vcHJlZmVyZW5jZXM6ASoSpQIKG0xpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlcxI9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVxdWVzdBo+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVzcG9uc2UihgGSQVQKClByZWZlcmVuY2USHUxpc3Qgb3JnYW5pemF0aW9uIHByZWZlcmVuY2VzGidMaXN0IGFuIG9yZ2FuaXphdGlvbiBwcmVmZXJlbmNlcyBieSBJRC6C0+STAikSJy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9wcmVmZXJlbmNlcxKcAwoYQ3JlYXRlUHJvamVjdFByZWZlcmVuY2VzEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UHJlZmVyZW5jZXNSZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UHJlZmVyZW5jZXNSZXNwb25zZSKGApJB1QEKClByZWZlcmVuY2USGkNyZWF0ZSBwcm9qZWN0IHByZWZlcmVuY2VzGqoBQ3JlYXRlIGEgbmV3IHByb2plY3QgcHJlZmVyZW5jZXMuIFRoZSBwcm9qZWN0IHByZWZlcmVuY2VzICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgcHJvamVjdCBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy6C0+STAiciIi92MWJldGExL3Byb2plY3RzL3tpZH0vcHJlZmVyZW5jZXM6ASoShQIKFkxpc3RQcm9qZWN0UHJlZmVyZW5jZXMSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFByZWZlcmVuY2VzUmVzcG9uc2UidpJBSQoKUHJlZmVyZW5jZRIYTGlzdCBwcm9qZWN0IHByZWZlcmVuY2VzGiFMaXN0IGEgcHJvamVjdCBwcmVmZXJlbmNlcyBieSBJRC6C0+STAiQSIi92MWJldGExL3Byb2plY3RzL3tpZH0vcHJlZmVyZW5jZXMSjAMKFkNyZWF0ZUdyb3VwUHJlZmVyZW5jZXMSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUdyb3VwUHJlZmVyZW5jZXNSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVHcm91cFByZWZlcmVuY2VzUmVzcG9uc2Ui/AGSQc0BCgpQcmVmZXJlbmNlEhhDcmVhdGUgZ3JvdXAgcHJlZmVyZW5jZXMapAFDcmVhdGUgYSBuZXcgZ3JvdXAgcHJlZmVyZW5jZXMuIFRoZSBncm91cCBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGdyb3VwIGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCJSIgL3YxYmV0YTEvZ3JvdXBzL3tpZH0vcHJlZmVyZW5jZXM6ASoS+QEKFExpc3RHcm91cFByZWZlcmVuY2VzEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0R3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFByZWZlcmVuY2VzUmVzcG9uc2UicJJBRQoKUHJlZmVyZW5jZRIWTGlzdCBncm91cCBwcmVmZXJlbmNlcxofTGlzdCBhIGdyb3VwIHByZWZlcmVuY2VzIGJ5IElELoLT5JMCIhIgL3YxYmV0YTEvZ3JvdXBzL3tpZH0vcHJlZmVyZW5jZXMShAMKFUNyZWF0ZVVzZXJQcmVmZXJlbmNlcxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlVXNlclByZWZlcmVuY2VzUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlVXNlclByZWZlcmVuY2VzUmVzcG9uc2Ui9wGSQckBCgpQcmVmZXJlbmNlEhdDcmVhdGUgdXNlciBwcmVmZXJlbmNlcxqhAUNyZWF0ZSBhIG5ldyB1c2VyIHByZWZlcmVuY2VzLiBUaGUgdXNlciBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHVzZXIgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwIkIh8vdjFiZXRhMS91c2Vycy97aWR9L3ByZWZlcmVuY2VzOgEqEvMBChNMaXN0VXNlclByZWZlcmVuY2VzEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlclByZWZlcmVuY2VzUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlIm2SQUMKClByZWZlcmVuY2USFUxpc3QgdXNlciBwcmVmZXJlbmNlcxoeTGlzdCBhIHVzZXIgcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIhEh8vdjFiZXRhMS91c2Vycy97aWR9L3ByZWZlcmVuY2VzEqEDChxDcmVhdGVDdXJyZW50VXNlclByZWZlcmVuY2VzEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVDdXJyZW50VXNlclByZWZlcmVuY2VzUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQ3VycmVudFVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlIv8BkkHRAQoKUHJlZmVyZW5jZRIfQ3JlYXRlIGN1cnJlbnQgdXNlciBwcmVmZXJlbmNlcxqhAUNyZWF0ZSBhIG5ldyB1c2VyIHByZWZlcmVuY2VzLiBUaGUgdXNlciBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHVzZXIgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwIkIh8vdjFiZXRhMS91c2Vycy9zZWxmL3ByZWZlcmVuY2VzOgEqEpACChpMaXN0Q3VycmVudFVzZXJQcmVmZXJlbmNlcxI8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0Gj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlInWSQUsKClByZWZlcmVuY2USHUxpc3QgY3VycmVudCB1c2VyIHByZWZlcmVuY2VzGh5MaXN0IGEgdXNlciBwcmVmZXJlbmNlcyBieSBJRC6C0+STAiESHy92MWJldGExL3VzZXJzL3NlbGYvcHJlZmVyZW5jZXMSkwIKFENyZWF0ZUJpbGxpbmdBY2NvdW50EjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiiQGSQVQKB0JpbGxpbmcSFkNyZWF0ZSBiaWxsaW5nIGFjY291bnQaMUNyZWF0ZSBhIG5ldyBiaWxsaW5nIGFjY291bnQgZm9yIGFuIG9yZ2FuaXphdGlvbi6C0+STAiwiJy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZzoBKhLzAQoRR2V0QmlsbGluZ0FjY291bnQSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEJpbGxpbmdBY2NvdW50UmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0QmlsbGluZ0FjY291bnRSZXNwb25zZSJzkkE8CgdCaWxsaW5nEhNHZXQgYmlsbGluZyBhY2NvdW50GhxHZXQgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwIuEiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfRKFAgoUVXBkYXRlQmlsbGluZ0FjY291bnQSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlQmlsbGluZ0FjY291bnRSZXNwb25zZSJ8kkFCCgdCaWxsaW5nEhZVcGRhdGUgYmlsbGluZyBhY2NvdW50Gh9VcGRhdGUgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwIxGiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfToBKhLBAgoWUmVnaXN0ZXJCaWxsaW5nQWNjb3VudBI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVnaXN0ZXJCaWxsaW5nQWNjb3VudFJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlZ2lzdGVyQmlsbGluZ0FjY291bnRSZXNwb25zZSKxAZJBbgoHQmlsbGluZxIkUmVnaXN0ZXIgYmlsbGluZyBhY2NvdW50IHRvIHByb3ZpZGVyGj1SZWdpc3RlciBhIGJpbGxpbmcgYWNjb3VudCB0byBhIHByb3ZpZGVyIGlmIGl0J3Mgbm90IGFscmVhZHkugtPkkwI6IjUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9yZWdpc3RlcjoBKhKDAgoTTGlzdEJpbGxpbmdBY2NvdW50cxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEJpbGxpbmdBY2NvdW50c1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RCaWxsaW5nQWNjb3VudHNSZXNwb25zZSJ9kkFLCgdCaWxsaW5nEhVMaXN0IGJpbGxpbmcgYWNjb3VudHMaKUxpc3QgYmlsbGluZyBhY2NvdW50cyBvZiBhbiBvcmdhbml6YXRpb24ugtPkkwIpEicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcSggIKFERlbGV0ZUJpbGxpbmdBY2NvdW50EjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UieZJBQgoHQmlsbGluZxIWRGVsZXRlIGJpbGxpbmcgYWNjb3VudBofRGVsZXRlIGEgYmlsbGluZyBhY2NvdW50IGJ5IElELoLT5JMCLiosL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0SjQIKFEVuYWJsZUJpbGxpbmdBY2NvdW50EjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UigwGSQUIKB0JpbGxpbmcSFkVuYWJsZSBiaWxsaW5nIGFjY291bnQaH0VuYWJsZSBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC6C0+STAjgiMy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L2VuYWJsZToBKhLpAgoVRGlzYWJsZUJpbGxpbmdBY2NvdW50EjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlQmlsbGluZ0FjY291bnRSZXNwb25zZSLcAZJBmQEKB0JpbGxpbmcSF0Rpc2FibGUgYmlsbGluZyBhY2NvdW50GnVEaXNhYmxlIGEgYmlsbGluZyBhY2NvdW50IGJ5IElELiBEaXNhYmxpbmcgYSBiaWxsaW5nIGFjY291bnQgZG9lc24ndCBhdXRvbWF0aWNhbGx5IGRpc2FibGUgaXQncyBhY3RpdmUgc3Vic2NyaXB0aW9ucy6C0+STAjkiNC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L2Rpc2FibGU6ASoSiwIKEUdldEJpbGxpbmdCYWxhbmNlEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRCaWxsaW5nQmFsYW5jZVJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEJpbGxpbmdCYWxhbmNlUmVzcG9uc2UiigGSQUsKB0JpbGxpbmcSE0dldCBiaWxsaW5nIGJhbGFuY2UaK0dldCB0aGUgYmFsYW5jZSBvZiBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC6C0+STAjYSNC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L2JhbGFuY2US+gEKCkhhc1RyaWFsZWQSLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkhhc1RyaWFsZWRSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5IYXNUcmlhbGVkUmVzcG9uc2UijgGSQT8KB0JpbGxpbmcSC0hhcyB0cmlhbGVkGidDaGVjayBpZiBhIGJpbGxpbmcgYWNjb3VudCBoYXMgdHJpYWxlZC6C0+STAkYSRC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L3BsYW5zL3twbGFuX2lkfS90cmlhbGVkEscCCg9HZXRTdWJzY3JpcHRpb24SMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFN1YnNjcmlwdGlvblJlcXVlc3QaMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFN1YnNjcmlwdGlvblJlc3BvbnNlIswBkkE7CgxTdWJzY3JpcHRpb24SEEdldCBzdWJzY3JpcHRpb24aGUdldCBhIHN1YnNjcmlwdGlvbiBieSBJRC6C0+STAocBEkcvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnMve2lkfVo8EjovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvc3Vic2NyaXB0aW9ucy97aWR9EuoCChJDYW5jZWxTdWJzY3JpcHRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNhbmNlbFN1YnNjcmlwdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNhbmNlbFN1YnNjcmlwdGlvblJlc3BvbnNlIuYBkkFBCgxTdWJzY3JpcHRpb24SE0NhbmNlbCBzdWJzY3JpcHRpb24aHENhbmNlbCBhIHN1YnNjcmlwdGlvbiBieSBJRC6C0+STApsBIk4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnMve2lkfS9jYW5jZWw6ASpaRiJBL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMve2lkfS9jYW5jZWw6ASoS0wIKEUxpc3RTdWJzY3JpcHRpb25zEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U3Vic2NyaXB0aW9uc1JlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTdWJzY3JpcHRpb25zUmVzcG9uc2Ui0gGSQUwKDFN1YnNjcmlwdGlvbhISTGlzdCBzdWJzY3JpcHRpb25zGihMaXN0IHN1YnNjcmlwdGlvbnMgb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwJ9EkIvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnNaNxI1L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMS9AIKEkNoYW5nZVN1YnNjcmlwdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hhbmdlU3Vic2NyaXB0aW9uUmVzcG9uc2Ui8AGSQUsKDFN1YnNjcmlwdGlvbhIYQ2hhbmdlIHN1YnNjcmlwdGlvbiBwbGFuGiFDaGFuZ2UgYSBzdWJzY3JpcHRpb24gcGxhbiBieSBJRC6C0+STApsBIk4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnMve2lkfS9jaGFuZ2U6ASpaRiJBL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMve2lkfS9jaGFuZ2U6ASoS3AIKElVwZGF0ZVN1YnNjcmlwdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlU3Vic2NyaXB0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2Ui2AGSQUEKDFN1YnNjcmlwdGlvbhITVXBkYXRlIHN1YnNjcmlwdGlvbhocVXBkYXRlIGEgc3Vic2NyaXB0aW9uIGJ5IElELoLT5JMCjQEaRy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vc3Vic2NyaXB0aW9ucy97aWR9OgEqWj8iOi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zL3tpZH06ASoS2AEKDUNyZWF0ZVByb2R1Y3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2R1Y3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9kdWN0UmVzcG9uc2UiZJJBPQoHUHJvZHVjdBIOQ3JlYXRlIHByb2R1Y3QaIkNyZWF0ZSBhIG5ldyBwcm9kdWN0IGZvciBwbGF0Zm9ybS6C0+STAh4iGS92MWJldGExL2JpbGxpbmcvcHJvZHVjdHM6ASoSwAEKCkdldFByb2R1Y3QSLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2R1Y3RSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9kdWN0UmVzcG9uc2UiVZJBLAoHUHJvZHVjdBILR2V0IHByb2R1Y3QaFEdldCBhIHByb2R1Y3QgYnkgSUQugtPkkwIgEh4vdjFiZXRhMS9iaWxsaW5nL3Byb2R1Y3RzL3tpZH0SzwEKDExpc3RQcm9kdWN0cxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2R1Y3RzUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2R1Y3RzUmVzcG9uc2UiXpJBOgoHUHJvZHVjdBINTGlzdCBwcm9kdWN0cxogTGlzdCBhbGwgcHJvZHVjdHMgb2YgYSBwbGF0Zm9ybS6C0+STAhsSGS92MWJldGExL2JpbGxpbmcvcHJvZHVjdHMS0gEKDVVwZGF0ZVByb2R1Y3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2R1Y3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9kdWN0UmVzcG9uc2UiXpJBMgoHUHJvZHVjdBIOVXBkYXRlIHByb2R1Y3QaF1VwZGF0ZSBhIHByb2R1Y3QgYnkgSUQugtPkkwIjGh4vdjFiZXRhMS9iaWxsaW5nL3Byb2R1Y3RzL3tpZH06ASoS2AEKDUNyZWF0ZUZlYXR1cmUSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUZlYXR1cmVSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVGZWF0dXJlUmVzcG9uc2UiZJJBPQoHRmVhdHVyZRIOQ3JlYXRlIGZlYXR1cmUaIkNyZWF0ZSBhIG5ldyBmZWF0dXJlIGZvciBwbGF0Zm9ybS6C0+STAh4iGS92MWJldGExL2JpbGxpbmcvZmVhdHVyZXM6ASoSwAEKCkdldEZlYXR1cmUSLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEZlYXR1cmVSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRGZWF0dXJlUmVzcG9uc2UiVZJBLAoHRmVhdHVyZRILR2V0IGZlYXR1cmUaFEdldCBhIGZlYXR1cmUgYnkgSUQugtPkkwIgEh4vdjFiZXRhMS9iaWxsaW5nL2ZlYXR1cmVzL3tpZH0S0gEKDVVwZGF0ZUZlYXR1cmUSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUZlYXR1cmVSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVGZWF0dXJlUmVzcG9uc2UiXpJBMgoHRmVhdHVyZRIOVXBkYXRlIGZlYXR1cmUaF1VwZGF0ZSBhIGZlYXR1cmUgYnkgSUQugtPkkwIjGh4vdjFiZXRhMS9iaWxsaW5nL2ZlYXR1cmVzL3tpZH06ASoSwAEKDExpc3RGZWF0dXJlcxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEZlYXR1cmVzUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEZlYXR1cmVzUmVzcG9uc2UiT5JBKwoHRmVhdHVyZRINTGlzdCBmZWF0dXJlcxoRTGlzdCBhbGwgZmVhdHVyZXOC0+STAhsSGS92MWJldGExL2JpbGxpbmcvZmVhdHVyZXMSwwEKCkNyZWF0ZVBsYW4SLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBsYW5SZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQbGFuUmVzcG9uc2UiWJJBNAoEUGxhbhILQ3JlYXRlIHBsYW4aH0NyZWF0ZSBhIG5ldyBwbGFuIGZvciBwbGF0Zm9ybS6C0+STAhsiFi92MWJldGExL2JpbGxpbmcvcGxhbnM6ASoSrAEKCUxpc3RQbGFucxIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBsYW5zUmVxdWVzdBosLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBsYW5zUmVzcG9uc2UiRJJBIwoEUGxhbhIKTGlzdCBwbGFucxoPTGlzdCBhbGwgcGxhbnMugtPkkwIYEhYvdjFiZXRhMS9iaWxsaW5nL3BsYW5zEqsBCgdHZXRQbGFuEikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQbGFuUmVxdWVzdBoqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UGxhblJlc3BvbnNlIkmSQSMKBFBsYW4SCEdldCBwbGFuGhFHZXQgYSBwbGFuIGJ5IElELoLT5JMCHRIbL3YxYmV0YTEvYmlsbGluZy9wbGFucy97aWR9Er0BCgpVcGRhdGVQbGFuEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQbGFuUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUGxhblJlc3BvbnNlIlKSQSkKBFBsYW4SC1VwZGF0ZSBwbGFuGhRVcGRhdGUgYSBwbGFuIGJ5IElELoLT5JMCIBobL3YxYmV0YTEvYmlsbGluZy9wbGFucy97aWR9OgEqEoUDCg5DcmVhdGVDaGVja291dBIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQ2hlY2tvdXRSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVDaGVja291dFJlc3BvbnNlIo0CkkGIAQoIQ2hlY2tvdXQSIkNoZWNrb3V0IGEgcHJvZHVjdCBvciBzdWJzY3JpcHRpb24aWENoZWNrb3V0IGEgcHJvZHVjdCB0byBidXkgaXQgb25lIHRpbWUgb3Igc3RhcnQgYSBzdWJzY3JpcHRpb24gcGxhbiBvbiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAnsiPi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vY2hlY2tvdXRzOgEqWjYiMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9jaGVja291dHM6ASoStwIKDUxpc3RDaGVja291dHMSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDaGVja291dHNSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q2hlY2tvdXRzUmVzcG9uc2UiwgGSQUQKCENoZWNrb3V0Eg5MaXN0IGNoZWNrb3V0cxooTGlzdCBhbGwgY2hlY2tvdXRzIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCdRI+L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9jaGVja291dHNaMxIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL2NoZWNrb3V0cxKmAgoLR2V0Q2hlY2tvdXQSLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldENoZWNrb3V0UmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0Q2hlY2tvdXRSZXNwb25zZSK3AZJBLwoIQ2hlY2tvdXQSDEdldCBjaGVja291dBoVR2V0IGEgY2hlY2tvdXQgYnkgSUQugtPkkwJ/EkMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2NoZWNrb3V0cy97aWR9WjgSNi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9jaGVja291dHMve2lkfRLcAgoXQ2hlY2tGZWF0dXJlRW50aXRsZW1lbnQSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrRmVhdHVyZUVudGl0bGVtZW50UmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tGZWF0dXJlRW50aXRsZW1lbnRSZXNwb25zZSLJAZJBVgoLRW50aXRsZW1lbnQSEUNoZWNrIGVudGl0bGVtZW50GjRDaGVjayBpZiBhIGJpbGxpbmcgYWNjb3VudCBpcyBlbnRpdGxlZCB0byBhIGZlYXR1cmUugtPkkwJqIjovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2NoZWNrOgEqWikiJC92MWJldGExL29yZ2FuaXphdGlvbnMvYmlsbGluZy9jaGVjazoBKhKfAgoWQ2hlY2tDcmVkaXRFbnRpdGxlbWVudBI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tDcmVkaXRFbnRpdGxlbWVudFJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrQ3JlZGl0RW50aXRsZW1lbnRSZXNwb25zZSKPAZJBawoLRW50aXRsZW1lbnQSGENoZWNrIGNyZWRpdCBlbnRpdGxlbWVudBpCQ2hlY2sgaWYgYSBiaWxsaW5nIGFjY291bnQgaGFzIGVub3VnaCBjcmVkaXRzIHRvIGNvdmVyIHRoZSBhbW91bnQugtPkkwIbIhYvdjFiZXRhMS9iaWxsaW5nL2NoZWNrOgEqEskCChJDcmVhdGVCaWxsaW5nVXNhZ2USNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUJpbGxpbmdVc2FnZVJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUJpbGxpbmdVc2FnZVJlc3BvbnNlIsUBkkFQCgVVc2FnZRIUQ3JlYXRlIGJpbGxpbmcgdXNhZ2UaMVJlcG9ydCBhIG5ldyBiaWxsaW5nIHVzYWdlIGZvciBhIGJpbGxpbmcgYWNjb3VudC6C0+STAmwiOy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vdXNhZ2VzOgEqWioiJS92MWJldGExL29yZ2FuaXphdGlvbnMvYmlsbGluZy91c2FnZXM6ASoS7AIKF0xpc3RCaWxsaW5nVHJhbnNhY3Rpb25zEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QmlsbGluZ1RyYW5zYWN0aW9uc1JlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RCaWxsaW5nVHJhbnNhY3Rpb25zUmVzcG9uc2Ui2QGSQVUKC1RyYW5zYWN0aW9uEhlMaXN0IGJpbGxpbmcgdHJhbnNhY3Rpb25zGitMaXN0IGFsbCB0cmFuc2FjdGlvbnMgb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwJ7EkEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3RyYW5zYWN0aW9uc1o2EjQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvdHJhbnNhY3Rpb25zEu8CChhUb3RhbERlYml0ZWRUcmFuc2FjdGlvbnMSOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlRvdGFsRGViaXRlZFRyYW5zYWN0aW9uc1JlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlRvdGFsRGViaXRlZFRyYW5zYWN0aW9uc1Jlc3BvbnNlItkBkkF/CgtUcmFuc2FjdGlvbhI3U3VtIG9mIGFtb3VudCBvZiBkZWJpdGVkIHRyYW5zYWN0aW9ucyBpbmNsdWRpbmcgcmVmdW5kcxo3U3VtIG9mIGFtb3VudCBvZiBkZWJpdGVkIHRyYW5zYWN0aW9ucyBpbmNsdWRpbmcgcmVmdW5kc4LT5JMCURJPL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9kZWJpdGVkX3RyYW5zYWN0aW9uc190b3RhbBKvAgoMTGlzdEludm9pY2VzEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0SW52b2ljZXNSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0SW52b2ljZXNSZXNwb25zZSK9AZJBQQoHSW52b2ljZRINTGlzdCBpbnZvaWNlcxonTGlzdCBhbGwgaW52b2ljZXMgb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwJzEj0vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2ludm9pY2VzWjISMC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9pbnZvaWNlcxLiAgoSR2V0VXBjb21pbmdJbnZvaWNlEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRVcGNvbWluZ0ludm9pY2VSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRVcGNvbWluZ0ludm9pY2VSZXNwb25zZSLeAZJBTwoHSW52b2ljZRIUR2V0IHVwY29taW5nIGludm9pY2UaLkdldCB0aGUgdXBjb21pbmcgaW52b2ljZSBvZiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAoUBEkYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2ludm9pY2VzL3VwY29taW5nWjsSOS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9pbnZvaWNlcy91cGNvbWluZxKcAgoWQmlsbGluZ1dlYmhvb2tDYWxsYmFjaxI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ1dlYmhvb2tDYWxsYmFja1JlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdXZWJob29rQ2FsbGJhY2tSZXNwb25zZSKMAZJBTgoHV2ViaG9vaxIWQWNjZXB0IEJpbGxpbmcgd2ViaG9vaxorQWNjZXB0cyBhIEJpbGxpbmcgd2ViaG9vayBhbmQgcHJvY2Vzc2VzIGl0LoLT5JMCNSItL3YxYmV0YTEvYmlsbGluZy93ZWJob29rcy9jYWxsYmFjay97cHJvdmlkZXJ9OgRib2R5EpECChRDcmVhdGVQcm9zcGVjdFB1YmxpYxI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvc3BlY3RQdWJsaWNSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9zcGVjdFB1YmxpY1Jlc3BvbnNlIocBkkFnCghQcm9zcGVjdBIPQ3JlYXRlIHByb3NwZWN0GkpDcmVhdGUgcHJvc3BlY3QgZm9yIGdpdmVuIGVtYWlsIGFuZCBhY3Rpdml0eS4gQXZhaWxhYmxlIGZvciBwdWJsaWMgYWNjZXNzLoLT5JMCFyISL3YxYmV0YTEvcHJvc3BlY3RzOgEqQvINCiNpby5yYXlzdGFjay5wcm90b24uZnJvbnRpZXIudjFiZXRhMUIIRnJvbnRpZXJaO2dpdGh1Yi5jb20vcmF5c3RhY2svcHJvdG9uL2Zyb250aWVyL3YxYmV0YTE7ZnJvbnRpZXJ2MWJldGExkkGCDRIeChVGcm9udGllciBHZW5lcmFsIEFQSXMyBTAuMi4wGg4xMjcuMC4wLjE6NzQwMCoBATIQYXBwbGljYXRpb24vanNvbjoQYXBwbGljYXRpb24vanNvblI8CgMyMDASNQobT0sgLSBBIHN1Y2Nlc3NmdWwgcmVzcG9uc2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUmkKAzQwMBJiCkhCYWQgUmVxdWVzdCAtIFRoZSByZXF1ZXN0IHdhcyBtYWxmb3JtZWQgb3IgY29udGFpbmVkIGludmFsaWQgcGFyYW1ldGVycy4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNSSgoDNDAxEkMKKVVuYXV0aG9yaXplZCAtIEF1dGhlbnRpY2F0aW9uIGlzIHJlcXVpcmVkEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUmEKAzQwMxJaCkBGb3JiaWRkZW4gLSBVc2VyIGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUlEKAzQwNBJKCjBOb3QgRm91bmQgLSBUaGUgcmVxdWVzdGVkIHJlc291cmNlIHdhcyBub3QgZm91bmQSFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNSdQoDNTAwEm4KVEludGVybmFsIFNlcnZlciBFcnJvci4gUmV0dXJuZWQgd2hlbiB0aGVyZXMgaXMgc29tZXRoaW5nIHdyb25nIHdpdGggRnJvbnRpZXIgc2VydmVyLhIWChQaEi5nb29nbGUucnBjLlN0YXR1c1q2AQpECgVCYXNpYxI7CAESH0NsaWVudCBJRC9TZWNyZXQgYXV0aGVudGljYXRpb24aFEJhc2ljIEF1dGhlbnRpY2F0aW9uIAIKbgoGQmVhcmVyEmQIAhJPVGhlIEF1dGhvcml6YXRpb24gaGVhZGVyIG11c3QgYmUgc2V0IHRvIEJlYXJlciBmb2xsb3dlZCBieSBhIHNwYWNlIGFuZCBhIHRva2VuLhoNQXV0aG9yaXphdGlvbiACYhMKBwoFQmFzaWMKCAoGQmVhcmVyagYKBFVzZXJqggMKBUdyb3VwEvgCR3JvdXBzIGluIEZyb250aWVyIGFyZSB1c2VkIHRvIG1hbmFnZSB1c2VycyBhbmQgdGhlaXIgYWNjZXNzIHRvIHJlc291cmNlcy4gRWFjaCBncm91cCBoYXMgYSB1bmlxdWUgbmFtZSBhbmQgaWQgdGhhdCBjYW4gYmUgdXNlZCB0byBncmFudCBhY2Nlc3MgdG8gcmVzb3VyY2VzLiBXaGVuIGEgdXNlciBpcyBhZGRlZCB0byBhIGdyb3VwLCB0aGV5IGluaGVyaXQgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyB0aGF0IGhhdmUgYmVlbiBncmFudGVkIHRvIHRoZSBncm91cC4gVGhpcyBhbGxvd3MgeW91IHRvIG1hbmFnZSBhY2Nlc3MgdG8gcmVzb3VyY2VzIGF0IHNjYWxlLCB3aXRob3V0IGhhdmluZyB0byBncmFudCBwZXJtaXNzaW9ucyB0byBpbmRpdmlkdWFsIHVzZXJzLmoGCgRSb2xlag4KDE9yZ2FuaXphdGlvbmoJCgdQcm9qZWN0aggKBlBvbGljeWoKCghSZWxhdGlvbmoMCgpQZXJtaXNzaW9uagsKCU5hbWVzcGFjZWoKCghSZXNvdXJjZWobCgVBdXRoehISQXV0aG9yaXphdGlvbiBBUElzahwKBUF1dGhuEhNBdXRoZW50aWNhdGlvbiBBUElzapACCgpNZXRhU2NoZW1hEoECTWFuYWdlIE1ldGFkYXRhIFNjaGVtYXMgd2hpY2ggYXJlIHVzZWQgdG8gdmFsaWRhdGUgbWV0YWRhdGEgb2JqZWN0IHdoaWxlIGNyZWF0aW5nIHVzZXIvb3JnL2dyb3VwL3JvbGUuIEZyb250aWVyIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVzIGRlZmF1bHQgbWV0YXNjaGVtYXMgd2l0aCBgbGFiZWxgIGFuZCBgZGVzY3JpcHRpb25gIGZpZWxkcy4gWW91IGNhbiBhbHNvIHVwZGF0ZSB0aGVzZSBtZXRhc2NoZW1hcyB0byBhZGQvZWRpdCBtb3JlIGZpZWxkcy5iBnByb3RvMw", [file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_struct, file_google_protobuf_timestamp, file_protoc_gen_openapiv2_options_annotations, file_raystack_frontier_v1beta1_models, file_validate_validate]);
18
+
19
+ /**
20
+ * Describes the message raystack.frontier.v1beta1.BillingAccountRequestBody.
21
+ * Use `create(BillingAccountRequestBodySchema)` to create a new message.
22
+ */
23
+ export const BillingAccountRequestBodySchema = /*@__PURE__*/
24
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 0);
25
+
26
+ /**
27
+ * Describes the message raystack.frontier.v1beta1.CreateBillingAccountRequest.
28
+ * Use `create(CreateBillingAccountRequestSchema)` to create a new message.
29
+ */
30
+ export const CreateBillingAccountRequestSchema = /*@__PURE__*/
31
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 1);
32
+
33
+ /**
34
+ * Describes the message raystack.frontier.v1beta1.CreateBillingAccountResponse.
35
+ * Use `create(CreateBillingAccountResponseSchema)` to create a new message.
36
+ */
37
+ export const CreateBillingAccountResponseSchema = /*@__PURE__*/
38
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 2);
39
+
40
+ /**
41
+ * Describes the message raystack.frontier.v1beta1.GetBillingAccountRequest.
42
+ * Use `create(GetBillingAccountRequestSchema)` to create a new message.
43
+ */
44
+ export const GetBillingAccountRequestSchema = /*@__PURE__*/
45
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 3);
46
+
47
+ /**
48
+ * Describes the message raystack.frontier.v1beta1.GetBillingAccountResponse.
49
+ * Use `create(GetBillingAccountResponseSchema)` to create a new message.
50
+ */
51
+ export const GetBillingAccountResponseSchema = /*@__PURE__*/
52
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 4);
53
+
54
+ /**
55
+ * Describes the message raystack.frontier.v1beta1.UpdateBillingAccountRequest.
56
+ * Use `create(UpdateBillingAccountRequestSchema)` to create a new message.
57
+ */
58
+ export const UpdateBillingAccountRequestSchema = /*@__PURE__*/
59
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 5);
60
+
61
+ /**
62
+ * Describes the message raystack.frontier.v1beta1.UpdateBillingAccountResponse.
63
+ * Use `create(UpdateBillingAccountResponseSchema)` to create a new message.
64
+ */
65
+ export const UpdateBillingAccountResponseSchema = /*@__PURE__*/
66
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 6);
67
+
68
+ /**
69
+ * Describes the message raystack.frontier.v1beta1.RegisterBillingAccountRequest.
70
+ * Use `create(RegisterBillingAccountRequestSchema)` to create a new message.
71
+ */
72
+ export const RegisterBillingAccountRequestSchema = /*@__PURE__*/
73
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 7);
74
+
75
+ /**
76
+ * Describes the message raystack.frontier.v1beta1.RegisterBillingAccountResponse.
77
+ * Use `create(RegisterBillingAccountResponseSchema)` to create a new message.
78
+ */
79
+ export const RegisterBillingAccountResponseSchema = /*@__PURE__*/
80
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 8);
81
+
82
+ /**
83
+ * Describes the message raystack.frontier.v1beta1.ListBillingAccountsRequest.
84
+ * Use `create(ListBillingAccountsRequestSchema)` to create a new message.
85
+ */
86
+ export const ListBillingAccountsRequestSchema = /*@__PURE__*/
87
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 9);
88
+
89
+ /**
90
+ * Describes the message raystack.frontier.v1beta1.ListBillingAccountsResponse.
91
+ * Use `create(ListBillingAccountsResponseSchema)` to create a new message.
92
+ */
93
+ export const ListBillingAccountsResponseSchema = /*@__PURE__*/
94
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 10);
95
+
96
+ /**
97
+ * Describes the message raystack.frontier.v1beta1.DeleteBillingAccountRequest.
98
+ * Use `create(DeleteBillingAccountRequestSchema)` to create a new message.
99
+ */
100
+ export const DeleteBillingAccountRequestSchema = /*@__PURE__*/
101
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 11);
102
+
103
+ /**
104
+ * Describes the message raystack.frontier.v1beta1.DeleteBillingAccountResponse.
105
+ * Use `create(DeleteBillingAccountResponseSchema)` to create a new message.
106
+ */
107
+ export const DeleteBillingAccountResponseSchema = /*@__PURE__*/
108
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 12);
109
+
110
+ /**
111
+ * Describes the message raystack.frontier.v1beta1.EnableBillingAccountRequest.
112
+ * Use `create(EnableBillingAccountRequestSchema)` to create a new message.
113
+ */
114
+ export const EnableBillingAccountRequestSchema = /*@__PURE__*/
115
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 13);
116
+
117
+ /**
118
+ * Describes the message raystack.frontier.v1beta1.EnableBillingAccountResponse.
119
+ * Use `create(EnableBillingAccountResponseSchema)` to create a new message.
120
+ */
121
+ export const EnableBillingAccountResponseSchema = /*@__PURE__*/
122
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 14);
123
+
124
+ /**
125
+ * Describes the message raystack.frontier.v1beta1.DisableBillingAccountRequest.
126
+ * Use `create(DisableBillingAccountRequestSchema)` to create a new message.
127
+ */
128
+ export const DisableBillingAccountRequestSchema = /*@__PURE__*/
129
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 15);
130
+
131
+ /**
132
+ * Describes the message raystack.frontier.v1beta1.DisableBillingAccountResponse.
133
+ * Use `create(DisableBillingAccountResponseSchema)` to create a new message.
134
+ */
135
+ export const DisableBillingAccountResponseSchema = /*@__PURE__*/
136
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 16);
137
+
138
+ /**
139
+ * Describes the message raystack.frontier.v1beta1.GetBillingBalanceRequest.
140
+ * Use `create(GetBillingBalanceRequestSchema)` to create a new message.
141
+ */
142
+ export const GetBillingBalanceRequestSchema = /*@__PURE__*/
143
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 17);
144
+
145
+ /**
146
+ * Describes the message raystack.frontier.v1beta1.GetBillingBalanceResponse.
147
+ * Use `create(GetBillingBalanceResponseSchema)` to create a new message.
148
+ */
149
+ export const GetBillingBalanceResponseSchema = /*@__PURE__*/
150
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 18);
151
+
152
+ /**
153
+ * Describes the message raystack.frontier.v1beta1.HasTrialedRequest.
154
+ * Use `create(HasTrialedRequestSchema)` to create a new message.
155
+ */
156
+ export const HasTrialedRequestSchema = /*@__PURE__*/
157
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 19);
158
+
159
+ /**
160
+ * Describes the message raystack.frontier.v1beta1.HasTrialedResponse.
161
+ * Use `create(HasTrialedResponseSchema)` to create a new message.
162
+ */
163
+ export const HasTrialedResponseSchema = /*@__PURE__*/
164
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 20);
165
+
166
+ /**
167
+ * Describes the message raystack.frontier.v1beta1.CreateBillingUsageRequest.
168
+ * Use `create(CreateBillingUsageRequestSchema)` to create a new message.
169
+ */
170
+ export const CreateBillingUsageRequestSchema = /*@__PURE__*/
171
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 21);
172
+
173
+ /**
174
+ * Describes the message raystack.frontier.v1beta1.CreateBillingUsageResponse.
175
+ * Use `create(CreateBillingUsageResponseSchema)` to create a new message.
176
+ */
177
+ export const CreateBillingUsageResponseSchema = /*@__PURE__*/
178
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 22);
179
+
180
+ /**
181
+ * Describes the message raystack.frontier.v1beta1.ListBillingTransactionsRequest.
182
+ * Use `create(ListBillingTransactionsRequestSchema)` to create a new message.
183
+ */
184
+ export const ListBillingTransactionsRequestSchema = /*@__PURE__*/
185
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 23);
186
+
187
+ /**
188
+ * Describes the message raystack.frontier.v1beta1.ListBillingTransactionsResponse.
189
+ * Use `create(ListBillingTransactionsResponseSchema)` to create a new message.
190
+ */
191
+ export const ListBillingTransactionsResponseSchema = /*@__PURE__*/
192
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 24);
193
+
194
+ /**
195
+ * Describes the message raystack.frontier.v1beta1.TotalDebitedTransactionsRequest.
196
+ * Use `create(TotalDebitedTransactionsRequestSchema)` to create a new message.
197
+ */
198
+ export const TotalDebitedTransactionsRequestSchema = /*@__PURE__*/
199
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 25);
200
+
201
+ /**
202
+ * Describes the message raystack.frontier.v1beta1.TotalDebitedTransactionsResponse.
203
+ * Use `create(TotalDebitedTransactionsResponseSchema)` to create a new message.
204
+ */
205
+ export const TotalDebitedTransactionsResponseSchema = /*@__PURE__*/
206
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 26);
207
+
208
+ /**
209
+ * Describes the message raystack.frontier.v1beta1.GetSubscriptionRequest.
210
+ * Use `create(GetSubscriptionRequestSchema)` to create a new message.
211
+ */
212
+ export const GetSubscriptionRequestSchema = /*@__PURE__*/
213
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 27);
214
+
215
+ /**
216
+ * Describes the message raystack.frontier.v1beta1.GetSubscriptionResponse.
217
+ * Use `create(GetSubscriptionResponseSchema)` to create a new message.
218
+ */
219
+ export const GetSubscriptionResponseSchema = /*@__PURE__*/
220
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 28);
221
+
222
+ /**
223
+ * Describes the message raystack.frontier.v1beta1.ListSubscriptionsRequest.
224
+ * Use `create(ListSubscriptionsRequestSchema)` to create a new message.
225
+ */
226
+ export const ListSubscriptionsRequestSchema = /*@__PURE__*/
227
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 29);
228
+
229
+ /**
230
+ * Describes the message raystack.frontier.v1beta1.ListSubscriptionsResponse.
231
+ * Use `create(ListSubscriptionsResponseSchema)` to create a new message.
232
+ */
233
+ export const ListSubscriptionsResponseSchema = /*@__PURE__*/
234
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 30);
235
+
236
+ /**
237
+ * Describes the message raystack.frontier.v1beta1.UpdateSubscriptionRequest.
238
+ * Use `create(UpdateSubscriptionRequestSchema)` to create a new message.
239
+ */
240
+ export const UpdateSubscriptionRequestSchema = /*@__PURE__*/
241
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 31);
242
+
243
+ /**
244
+ * Describes the message raystack.frontier.v1beta1.UpdateSubscriptionResponse.
245
+ * Use `create(UpdateSubscriptionResponseSchema)` to create a new message.
246
+ */
247
+ export const UpdateSubscriptionResponseSchema = /*@__PURE__*/
248
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 32);
249
+
250
+ /**
251
+ * Describes the message raystack.frontier.v1beta1.ChangeSubscriptionRequest.
252
+ * Use `create(ChangeSubscriptionRequestSchema)` to create a new message.
253
+ */
254
+ export const ChangeSubscriptionRequestSchema = /*@__PURE__*/
255
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 33);
256
+
257
+ /**
258
+ * Describes the message raystack.frontier.v1beta1.ChangeSubscriptionRequest.PlanChange.
259
+ * Use `create(ChangeSubscriptionRequest_PlanChangeSchema)` to create a new message.
260
+ */
261
+ export const ChangeSubscriptionRequest_PlanChangeSchema = /*@__PURE__*/
262
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 33, 0);
263
+
264
+ /**
265
+ * Describes the message raystack.frontier.v1beta1.ChangeSubscriptionRequest.PhaseChange.
266
+ * Use `create(ChangeSubscriptionRequest_PhaseChangeSchema)` to create a new message.
267
+ */
268
+ export const ChangeSubscriptionRequest_PhaseChangeSchema = /*@__PURE__*/
269
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 33, 1);
270
+
271
+ /**
272
+ * Describes the message raystack.frontier.v1beta1.ChangeSubscriptionResponse.
273
+ * Use `create(ChangeSubscriptionResponseSchema)` to create a new message.
274
+ */
275
+ export const ChangeSubscriptionResponseSchema = /*@__PURE__*/
276
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 34);
277
+
278
+ /**
279
+ * Describes the message raystack.frontier.v1beta1.CancelSubscriptionRequest.
280
+ * Use `create(CancelSubscriptionRequestSchema)` to create a new message.
281
+ */
282
+ export const CancelSubscriptionRequestSchema = /*@__PURE__*/
283
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 35);
284
+
285
+ /**
286
+ * Describes the message raystack.frontier.v1beta1.CancelSubscriptionResponse.
287
+ * Use `create(CancelSubscriptionResponseSchema)` to create a new message.
288
+ */
289
+ export const CancelSubscriptionResponseSchema = /*@__PURE__*/
290
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 36);
291
+
292
+ /**
293
+ * Describes the message raystack.frontier.v1beta1.ListPlansRequest.
294
+ * Use `create(ListPlansRequestSchema)` to create a new message.
295
+ */
296
+ export const ListPlansRequestSchema = /*@__PURE__*/
297
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 37);
298
+
299
+ /**
300
+ * Describes the message raystack.frontier.v1beta1.ListPlansResponse.
301
+ * Use `create(ListPlansResponseSchema)` to create a new message.
302
+ */
303
+ export const ListPlansResponseSchema = /*@__PURE__*/
304
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 38);
305
+
306
+ /**
307
+ * Describes the message raystack.frontier.v1beta1.CheckFeatureEntitlementRequest.
308
+ * Use `create(CheckFeatureEntitlementRequestSchema)` to create a new message.
309
+ */
310
+ export const CheckFeatureEntitlementRequestSchema = /*@__PURE__*/
311
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 39);
312
+
313
+ /**
314
+ * Describes the message raystack.frontier.v1beta1.CheckFeatureEntitlementResponse.
315
+ * Use `create(CheckFeatureEntitlementResponseSchema)` to create a new message.
316
+ */
317
+ export const CheckFeatureEntitlementResponseSchema = /*@__PURE__*/
318
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 40);
319
+
320
+ /**
321
+ * Describes the message raystack.frontier.v1beta1.CheckCreditEntitlementRequest.
322
+ * Use `create(CheckCreditEntitlementRequestSchema)` to create a new message.
323
+ */
324
+ export const CheckCreditEntitlementRequestSchema = /*@__PURE__*/
325
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 41);
326
+
327
+ /**
328
+ * Describes the message raystack.frontier.v1beta1.CheckCreditEntitlementResponse.
329
+ * Use `create(CheckCreditEntitlementResponseSchema)` to create a new message.
330
+ */
331
+ export const CheckCreditEntitlementResponseSchema = /*@__PURE__*/
332
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 42);
333
+
334
+ /**
335
+ * Describes the message raystack.frontier.v1beta1.CreateCheckoutRequest.
336
+ * Use `create(CreateCheckoutRequestSchema)` to create a new message.
337
+ */
338
+ export const CreateCheckoutRequestSchema = /*@__PURE__*/
339
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 43);
340
+
341
+ /**
342
+ * Describes the message raystack.frontier.v1beta1.CreateCheckoutResponse.
343
+ * Use `create(CreateCheckoutResponseSchema)` to create a new message.
344
+ */
345
+ export const CreateCheckoutResponseSchema = /*@__PURE__*/
346
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 44);
347
+
348
+ /**
349
+ * Describes the message raystack.frontier.v1beta1.ListCheckoutsRequest.
350
+ * Use `create(ListCheckoutsRequestSchema)` to create a new message.
351
+ */
352
+ export const ListCheckoutsRequestSchema = /*@__PURE__*/
353
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 45);
354
+
355
+ /**
356
+ * Describes the message raystack.frontier.v1beta1.ListCheckoutsResponse.
357
+ * Use `create(ListCheckoutsResponseSchema)` to create a new message.
358
+ */
359
+ export const ListCheckoutsResponseSchema = /*@__PURE__*/
360
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 46);
361
+
362
+ /**
363
+ * Describes the message raystack.frontier.v1beta1.GetCheckoutRequest.
364
+ * Use `create(GetCheckoutRequestSchema)` to create a new message.
365
+ */
366
+ export const GetCheckoutRequestSchema = /*@__PURE__*/
367
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 47);
368
+
369
+ /**
370
+ * Describes the message raystack.frontier.v1beta1.GetCheckoutResponse.
371
+ * Use `create(GetCheckoutResponseSchema)` to create a new message.
372
+ */
373
+ export const GetCheckoutResponseSchema = /*@__PURE__*/
374
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 48);
375
+
376
+ /**
377
+ * Describes the message raystack.frontier.v1beta1.ProductRequestBody.
378
+ * Use `create(ProductRequestBodySchema)` to create a new message.
379
+ */
380
+ export const ProductRequestBodySchema = /*@__PURE__*/
381
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 49);
382
+
383
+ /**
384
+ * Describes the message raystack.frontier.v1beta1.CreateProductRequest.
385
+ * Use `create(CreateProductRequestSchema)` to create a new message.
386
+ */
387
+ export const CreateProductRequestSchema = /*@__PURE__*/
388
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 50);
389
+
390
+ /**
391
+ * Describes the message raystack.frontier.v1beta1.CreateProductResponse.
392
+ * Use `create(CreateProductResponseSchema)` to create a new message.
393
+ */
394
+ export const CreateProductResponseSchema = /*@__PURE__*/
395
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 51);
396
+
397
+ /**
398
+ * Describes the message raystack.frontier.v1beta1.GetProductRequest.
399
+ * Use `create(GetProductRequestSchema)` to create a new message.
400
+ */
401
+ export const GetProductRequestSchema = /*@__PURE__*/
402
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 52);
403
+
404
+ /**
405
+ * Describes the message raystack.frontier.v1beta1.GetProductResponse.
406
+ * Use `create(GetProductResponseSchema)` to create a new message.
407
+ */
408
+ export const GetProductResponseSchema = /*@__PURE__*/
409
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 53);
410
+
411
+ /**
412
+ * Describes the message raystack.frontier.v1beta1.ListProductsRequest.
413
+ * Use `create(ListProductsRequestSchema)` to create a new message.
414
+ */
415
+ export const ListProductsRequestSchema = /*@__PURE__*/
416
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 54);
417
+
418
+ /**
419
+ * Describes the message raystack.frontier.v1beta1.ListProductsResponse.
420
+ * Use `create(ListProductsResponseSchema)` to create a new message.
421
+ */
422
+ export const ListProductsResponseSchema = /*@__PURE__*/
423
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 55);
424
+
425
+ /**
426
+ * Describes the message raystack.frontier.v1beta1.UpdateProductRequest.
427
+ * Use `create(UpdateProductRequestSchema)` to create a new message.
428
+ */
429
+ export const UpdateProductRequestSchema = /*@__PURE__*/
430
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 56);
431
+
432
+ /**
433
+ * Describes the message raystack.frontier.v1beta1.UpdateProductResponse.
434
+ * Use `create(UpdateProductResponseSchema)` to create a new message.
435
+ */
436
+ export const UpdateProductResponseSchema = /*@__PURE__*/
437
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 57);
438
+
439
+ /**
440
+ * Describes the message raystack.frontier.v1beta1.FeatureRequestBody.
441
+ * Use `create(FeatureRequestBodySchema)` to create a new message.
442
+ */
443
+ export const FeatureRequestBodySchema = /*@__PURE__*/
444
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 58);
445
+
446
+ /**
447
+ * Describes the message raystack.frontier.v1beta1.CreateFeatureRequest.
448
+ * Use `create(CreateFeatureRequestSchema)` to create a new message.
449
+ */
450
+ export const CreateFeatureRequestSchema = /*@__PURE__*/
451
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 59);
452
+
453
+ /**
454
+ * Describes the message raystack.frontier.v1beta1.CreateFeatureResponse.
455
+ * Use `create(CreateFeatureResponseSchema)` to create a new message.
456
+ */
457
+ export const CreateFeatureResponseSchema = /*@__PURE__*/
458
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 60);
459
+
460
+ /**
461
+ * Describes the message raystack.frontier.v1beta1.GetFeatureRequest.
462
+ * Use `create(GetFeatureRequestSchema)` to create a new message.
463
+ */
464
+ export const GetFeatureRequestSchema = /*@__PURE__*/
465
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 61);
466
+
467
+ /**
468
+ * Describes the message raystack.frontier.v1beta1.GetFeatureResponse.
469
+ * Use `create(GetFeatureResponseSchema)` to create a new message.
470
+ */
471
+ export const GetFeatureResponseSchema = /*@__PURE__*/
472
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 62);
473
+
474
+ /**
475
+ * Describes the message raystack.frontier.v1beta1.UpdateFeatureRequest.
476
+ * Use `create(UpdateFeatureRequestSchema)` to create a new message.
477
+ */
478
+ export const UpdateFeatureRequestSchema = /*@__PURE__*/
479
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 63);
480
+
481
+ /**
482
+ * Describes the message raystack.frontier.v1beta1.UpdateFeatureResponse.
483
+ * Use `create(UpdateFeatureResponseSchema)` to create a new message.
484
+ */
485
+ export const UpdateFeatureResponseSchema = /*@__PURE__*/
486
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 64);
487
+
488
+ /**
489
+ * Describes the message raystack.frontier.v1beta1.ListFeaturesRequest.
490
+ * Use `create(ListFeaturesRequestSchema)` to create a new message.
491
+ */
492
+ export const ListFeaturesRequestSchema = /*@__PURE__*/
493
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 65);
494
+
495
+ /**
496
+ * Describes the message raystack.frontier.v1beta1.ListFeaturesResponse.
497
+ * Use `create(ListFeaturesResponseSchema)` to create a new message.
498
+ */
499
+ export const ListFeaturesResponseSchema = /*@__PURE__*/
500
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 66);
501
+
502
+ /**
503
+ * Describes the message raystack.frontier.v1beta1.PlanRequestBody.
504
+ * Use `create(PlanRequestBodySchema)` to create a new message.
505
+ */
506
+ export const PlanRequestBodySchema = /*@__PURE__*/
507
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 67);
508
+
509
+ /**
510
+ * Describes the message raystack.frontier.v1beta1.CreatePlanRequest.
511
+ * Use `create(CreatePlanRequestSchema)` to create a new message.
512
+ */
513
+ export const CreatePlanRequestSchema = /*@__PURE__*/
514
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 68);
515
+
516
+ /**
517
+ * Describes the message raystack.frontier.v1beta1.CreatePlanResponse.
518
+ * Use `create(CreatePlanResponseSchema)` to create a new message.
519
+ */
520
+ export const CreatePlanResponseSchema = /*@__PURE__*/
521
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 69);
522
+
523
+ /**
524
+ * Describes the message raystack.frontier.v1beta1.GetPlanRequest.
525
+ * Use `create(GetPlanRequestSchema)` to create a new message.
526
+ */
527
+ export const GetPlanRequestSchema = /*@__PURE__*/
528
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 70);
529
+
530
+ /**
531
+ * Describes the message raystack.frontier.v1beta1.GetPlanResponse.
532
+ * Use `create(GetPlanResponseSchema)` to create a new message.
533
+ */
534
+ export const GetPlanResponseSchema = /*@__PURE__*/
535
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 71);
536
+
537
+ /**
538
+ * Describes the message raystack.frontier.v1beta1.UpdatePlanRequest.
539
+ * Use `create(UpdatePlanRequestSchema)` to create a new message.
540
+ */
541
+ export const UpdatePlanRequestSchema = /*@__PURE__*/
542
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 72);
543
+
544
+ /**
545
+ * Describes the message raystack.frontier.v1beta1.UpdatePlanResponse.
546
+ * Use `create(UpdatePlanResponseSchema)` to create a new message.
547
+ */
548
+ export const UpdatePlanResponseSchema = /*@__PURE__*/
549
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 73);
550
+
551
+ /**
552
+ * Describes the message raystack.frontier.v1beta1.ListInvoicesRequest.
553
+ * Use `create(ListInvoicesRequestSchema)` to create a new message.
554
+ */
555
+ export const ListInvoicesRequestSchema = /*@__PURE__*/
556
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 74);
557
+
558
+ /**
559
+ * Describes the message raystack.frontier.v1beta1.ListInvoicesResponse.
560
+ * Use `create(ListInvoicesResponseSchema)` to create a new message.
561
+ */
562
+ export const ListInvoicesResponseSchema = /*@__PURE__*/
563
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 75);
564
+
565
+ /**
566
+ * Describes the message raystack.frontier.v1beta1.GetUpcomingInvoiceRequest.
567
+ * Use `create(GetUpcomingInvoiceRequestSchema)` to create a new message.
568
+ */
569
+ export const GetUpcomingInvoiceRequestSchema = /*@__PURE__*/
570
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 76);
571
+
572
+ /**
573
+ * Describes the message raystack.frontier.v1beta1.GetUpcomingInvoiceResponse.
574
+ * Use `create(GetUpcomingInvoiceResponseSchema)` to create a new message.
575
+ */
576
+ export const GetUpcomingInvoiceResponseSchema = /*@__PURE__*/
577
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 77);
578
+
579
+ /**
580
+ * Describes the message raystack.frontier.v1beta1.GetJWKsRequest.
581
+ * Use `create(GetJWKsRequestSchema)` to create a new message.
582
+ */
583
+ export const GetJWKsRequestSchema = /*@__PURE__*/
584
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 78);
585
+
586
+ /**
587
+ * Describes the message raystack.frontier.v1beta1.GetJWKsResponse.
588
+ * Use `create(GetJWKsResponseSchema)` to create a new message.
589
+ */
590
+ export const GetJWKsResponseSchema = /*@__PURE__*/
591
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 79);
592
+
593
+ /**
594
+ * Describes the message raystack.frontier.v1beta1.AuthLogoutRequest.
595
+ * Use `create(AuthLogoutRequestSchema)` to create a new message.
596
+ */
597
+ export const AuthLogoutRequestSchema = /*@__PURE__*/
598
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 80);
599
+
600
+ /**
601
+ * Describes the message raystack.frontier.v1beta1.AuthLogoutResponse.
602
+ * Use `create(AuthLogoutResponseSchema)` to create a new message.
603
+ */
604
+ export const AuthLogoutResponseSchema = /*@__PURE__*/
605
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 81);
606
+
607
+ /**
608
+ * Describes the message raystack.frontier.v1beta1.AuthCallbackRequest.
609
+ * Use `create(AuthCallbackRequestSchema)` to create a new message.
610
+ */
611
+ export const AuthCallbackRequestSchema = /*@__PURE__*/
612
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 82);
613
+
614
+ /**
615
+ * Describes the message raystack.frontier.v1beta1.AuthCallbackResponse.
616
+ * Use `create(AuthCallbackResponseSchema)` to create a new message.
617
+ */
618
+ export const AuthCallbackResponseSchema = /*@__PURE__*/
619
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 83);
620
+
621
+ /**
622
+ * Describes the message raystack.frontier.v1beta1.AuthenticateRequest.
623
+ * Use `create(AuthenticateRequestSchema)` to create a new message.
624
+ */
625
+ export const AuthenticateRequestSchema = /*@__PURE__*/
626
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 84);
627
+
628
+ /**
629
+ * Describes the message raystack.frontier.v1beta1.AuthenticateResponse.
630
+ * Use `create(AuthenticateResponseSchema)` to create a new message.
631
+ */
632
+ export const AuthenticateResponseSchema = /*@__PURE__*/
633
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 85);
634
+
635
+ /**
636
+ * Describes the message raystack.frontier.v1beta1.AuthStrategy.
637
+ * Use `create(AuthStrategySchema)` to create a new message.
638
+ */
639
+ export const AuthStrategySchema = /*@__PURE__*/
640
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 86);
641
+
642
+ /**
643
+ * Describes the message raystack.frontier.v1beta1.ListAuthStrategiesRequest.
644
+ * Use `create(ListAuthStrategiesRequestSchema)` to create a new message.
645
+ */
646
+ export const ListAuthStrategiesRequestSchema = /*@__PURE__*/
647
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 87);
648
+
649
+ /**
650
+ * Describes the message raystack.frontier.v1beta1.ListAuthStrategiesResponse.
651
+ * Use `create(ListAuthStrategiesResponseSchema)` to create a new message.
652
+ */
653
+ export const ListAuthStrategiesResponseSchema = /*@__PURE__*/
654
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 88);
655
+
656
+ /**
657
+ * Describes the message raystack.frontier.v1beta1.AuthTokenRequest.
658
+ * Use `create(AuthTokenRequestSchema)` to create a new message.
659
+ */
660
+ export const AuthTokenRequestSchema = /*@__PURE__*/
661
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 89);
662
+
663
+ /**
664
+ * Describes the message raystack.frontier.v1beta1.AuthTokenResponse.
665
+ * Use `create(AuthTokenResponseSchema)` to create a new message.
666
+ */
667
+ export const AuthTokenResponseSchema = /*@__PURE__*/
668
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 90);
669
+
670
+ /**
671
+ * Describes the message raystack.frontier.v1beta1.UserRequestBody.
672
+ * Use `create(UserRequestBodySchema)` to create a new message.
673
+ */
674
+ export const UserRequestBodySchema = /*@__PURE__*/
675
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 91);
676
+
677
+ /**
678
+ * Describes the message raystack.frontier.v1beta1.ListUsersRequest.
679
+ * Use `create(ListUsersRequestSchema)` to create a new message.
680
+ */
681
+ export const ListUsersRequestSchema = /*@__PURE__*/
682
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 92);
683
+
684
+ /**
685
+ * Describes the message raystack.frontier.v1beta1.ListUsersResponse.
686
+ * Use `create(ListUsersResponseSchema)` to create a new message.
687
+ */
688
+ export const ListUsersResponseSchema = /*@__PURE__*/
689
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 93);
690
+
691
+ /**
692
+ * Describes the message raystack.frontier.v1beta1.CreateUserRequest.
693
+ * Use `create(CreateUserRequestSchema)` to create a new message.
694
+ */
695
+ export const CreateUserRequestSchema = /*@__PURE__*/
696
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 94);
697
+
698
+ /**
699
+ * Describes the message raystack.frontier.v1beta1.CreateUserResponse.
700
+ * Use `create(CreateUserResponseSchema)` to create a new message.
701
+ */
702
+ export const CreateUserResponseSchema = /*@__PURE__*/
703
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 95);
704
+
705
+ /**
706
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationsByUserRequest.
707
+ * Use `create(ListOrganizationsByUserRequestSchema)` to create a new message.
708
+ */
709
+ export const ListOrganizationsByUserRequestSchema = /*@__PURE__*/
710
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 96);
711
+
712
+ /**
713
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationsByUserResponse.
714
+ * Use `create(ListOrganizationsByUserResponseSchema)` to create a new message.
715
+ */
716
+ export const ListOrganizationsByUserResponseSchema = /*@__PURE__*/
717
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 97);
718
+
719
+ /**
720
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationsByCurrentUserRequest.
721
+ * Use `create(ListOrganizationsByCurrentUserRequestSchema)` to create a new message.
722
+ */
723
+ export const ListOrganizationsByCurrentUserRequestSchema = /*@__PURE__*/
724
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 98);
725
+
726
+ /**
727
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationsByCurrentUserResponse.
728
+ * Use `create(ListOrganizationsByCurrentUserResponseSchema)` to create a new message.
729
+ */
730
+ export const ListOrganizationsByCurrentUserResponseSchema = /*@__PURE__*/
731
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 99);
732
+
733
+ /**
734
+ * Describes the message raystack.frontier.v1beta1.ListProjectsByUserRequest.
735
+ * Use `create(ListProjectsByUserRequestSchema)` to create a new message.
736
+ */
737
+ export const ListProjectsByUserRequestSchema = /*@__PURE__*/
738
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 100);
739
+
740
+ /**
741
+ * Describes the message raystack.frontier.v1beta1.ListProjectsByUserResponse.
742
+ * Use `create(ListProjectsByUserResponseSchema)` to create a new message.
743
+ */
744
+ export const ListProjectsByUserResponseSchema = /*@__PURE__*/
745
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 101);
746
+
747
+ /**
748
+ * Describes the message raystack.frontier.v1beta1.ListProjectsByCurrentUserRequest.
749
+ * Use `create(ListProjectsByCurrentUserRequestSchema)` to create a new message.
750
+ */
751
+ export const ListProjectsByCurrentUserRequestSchema = /*@__PURE__*/
752
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 102);
753
+
754
+ /**
755
+ * Describes the message raystack.frontier.v1beta1.ListProjectsByCurrentUserResponse.
756
+ * Use `create(ListProjectsByCurrentUserResponseSchema)` to create a new message.
757
+ */
758
+ export const ListProjectsByCurrentUserResponseSchema = /*@__PURE__*/
759
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 103);
760
+
761
+ /**
762
+ * Describes the message raystack.frontier.v1beta1.ListProjectsByCurrentUserResponse.AccessPair.
763
+ * Use `create(ListProjectsByCurrentUserResponse_AccessPairSchema)` to create a new message.
764
+ */
765
+ export const ListProjectsByCurrentUserResponse_AccessPairSchema = /*@__PURE__*/
766
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 103, 0);
767
+
768
+ /**
769
+ * Describes the message raystack.frontier.v1beta1.EnableUserRequest.
770
+ * Use `create(EnableUserRequestSchema)` to create a new message.
771
+ */
772
+ export const EnableUserRequestSchema = /*@__PURE__*/
773
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 104);
774
+
775
+ /**
776
+ * Describes the message raystack.frontier.v1beta1.EnableUserResponse.
777
+ * Use `create(EnableUserResponseSchema)` to create a new message.
778
+ */
779
+ export const EnableUserResponseSchema = /*@__PURE__*/
780
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 105);
781
+
782
+ /**
783
+ * Describes the message raystack.frontier.v1beta1.DisableUserRequest.
784
+ * Use `create(DisableUserRequestSchema)` to create a new message.
785
+ */
786
+ export const DisableUserRequestSchema = /*@__PURE__*/
787
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 106);
788
+
789
+ /**
790
+ * Describes the message raystack.frontier.v1beta1.DisableUserResponse.
791
+ * Use `create(DisableUserResponseSchema)` to create a new message.
792
+ */
793
+ export const DisableUserResponseSchema = /*@__PURE__*/
794
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 107);
795
+
796
+ /**
797
+ * Describes the message raystack.frontier.v1beta1.DeleteUserRequest.
798
+ * Use `create(DeleteUserRequestSchema)` to create a new message.
799
+ */
800
+ export const DeleteUserRequestSchema = /*@__PURE__*/
801
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 108);
802
+
803
+ /**
804
+ * Describes the message raystack.frontier.v1beta1.DeleteUserResponse.
805
+ * Use `create(DeleteUserResponseSchema)` to create a new message.
806
+ */
807
+ export const DeleteUserResponseSchema = /*@__PURE__*/
808
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 109);
809
+
810
+ /**
811
+ * Describes the message raystack.frontier.v1beta1.GetUserResponse.
812
+ * Use `create(GetUserResponseSchema)` to create a new message.
813
+ */
814
+ export const GetUserResponseSchema = /*@__PURE__*/
815
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 110);
816
+
817
+ /**
818
+ * Describes the message raystack.frontier.v1beta1.GetCurrentUserRequest.
819
+ * Use `create(GetCurrentUserRequestSchema)` to create a new message.
820
+ */
821
+ export const GetCurrentUserRequestSchema = /*@__PURE__*/
822
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 111);
823
+
824
+ /**
825
+ * Describes the message raystack.frontier.v1beta1.GetCurrentUserResponse.
826
+ * Use `create(GetCurrentUserResponseSchema)` to create a new message.
827
+ */
828
+ export const GetCurrentUserResponseSchema = /*@__PURE__*/
829
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 112);
830
+
831
+ /**
832
+ * Describes the message raystack.frontier.v1beta1.UpdateUserResponse.
833
+ * Use `create(UpdateUserResponseSchema)` to create a new message.
834
+ */
835
+ export const UpdateUserResponseSchema = /*@__PURE__*/
836
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 113);
837
+
838
+ /**
839
+ * Describes the message raystack.frontier.v1beta1.UpdateCurrentUserResponse.
840
+ * Use `create(UpdateCurrentUserResponseSchema)` to create a new message.
841
+ */
842
+ export const UpdateCurrentUserResponseSchema = /*@__PURE__*/
843
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 114);
844
+
845
+ /**
846
+ * Describes the message raystack.frontier.v1beta1.UpdateUserRequest.
847
+ * Use `create(UpdateUserRequestSchema)` to create a new message.
848
+ */
849
+ export const UpdateUserRequestSchema = /*@__PURE__*/
850
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 115);
851
+
852
+ /**
853
+ * Describes the message raystack.frontier.v1beta1.GetUserRequest.
854
+ * Use `create(GetUserRequestSchema)` to create a new message.
855
+ */
856
+ export const GetUserRequestSchema = /*@__PURE__*/
857
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 116);
858
+
859
+ /**
860
+ * Describes the message raystack.frontier.v1beta1.ListCurrentUserGroupsRequest.
861
+ * Use `create(ListCurrentUserGroupsRequestSchema)` to create a new message.
862
+ */
863
+ export const ListCurrentUserGroupsRequestSchema = /*@__PURE__*/
864
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 117);
865
+
866
+ /**
867
+ * Describes the message raystack.frontier.v1beta1.ListCurrentUserGroupsResponse.
868
+ * Use `create(ListCurrentUserGroupsResponseSchema)` to create a new message.
869
+ */
870
+ export const ListCurrentUserGroupsResponseSchema = /*@__PURE__*/
871
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 118);
872
+
873
+ /**
874
+ * Describes the message raystack.frontier.v1beta1.ListCurrentUserGroupsResponse.AccessPair.
875
+ * Use `create(ListCurrentUserGroupsResponse_AccessPairSchema)` to create a new message.
876
+ */
877
+ export const ListCurrentUserGroupsResponse_AccessPairSchema = /*@__PURE__*/
878
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 118, 0);
879
+
880
+ /**
881
+ * Describes the message raystack.frontier.v1beta1.ListUserGroupsRequest.
882
+ * Use `create(ListUserGroupsRequestSchema)` to create a new message.
883
+ */
884
+ export const ListUserGroupsRequestSchema = /*@__PURE__*/
885
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 119);
886
+
887
+ /**
888
+ * Describes the message raystack.frontier.v1beta1.ListUserGroupsResponse.
889
+ * Use `create(ListUserGroupsResponseSchema)` to create a new message.
890
+ */
891
+ export const ListUserGroupsResponseSchema = /*@__PURE__*/
892
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 120);
893
+
894
+ /**
895
+ * Describes the message raystack.frontier.v1beta1.UpdateCurrentUserRequest.
896
+ * Use `create(UpdateCurrentUserRequestSchema)` to create a new message.
897
+ */
898
+ export const UpdateCurrentUserRequestSchema = /*@__PURE__*/
899
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 121);
900
+
901
+ /**
902
+ * Describes the message raystack.frontier.v1beta1.ListUserInvitationsRequest.
903
+ * Use `create(ListUserInvitationsRequestSchema)` to create a new message.
904
+ */
905
+ export const ListUserInvitationsRequestSchema = /*@__PURE__*/
906
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 122);
907
+
908
+ /**
909
+ * Describes the message raystack.frontier.v1beta1.ListUserInvitationsResponse.
910
+ * Use `create(ListUserInvitationsResponseSchema)` to create a new message.
911
+ */
912
+ export const ListUserInvitationsResponseSchema = /*@__PURE__*/
913
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 123);
914
+
915
+ /**
916
+ * Describes the message raystack.frontier.v1beta1.ListCurrentUserInvitationsRequest.
917
+ * Use `create(ListCurrentUserInvitationsRequestSchema)` to create a new message.
918
+ */
919
+ export const ListCurrentUserInvitationsRequestSchema = /*@__PURE__*/
920
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 124);
921
+
922
+ /**
923
+ * Describes the message raystack.frontier.v1beta1.ListCurrentUserInvitationsResponse.
924
+ * Use `create(ListCurrentUserInvitationsResponseSchema)` to create a new message.
925
+ */
926
+ export const ListCurrentUserInvitationsResponseSchema = /*@__PURE__*/
927
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 125);
928
+
929
+ /**
930
+ * Describes the message raystack.frontier.v1beta1.ListServiceUsersRequest.
931
+ * Use `create(ListServiceUsersRequestSchema)` to create a new message.
932
+ */
933
+ export const ListServiceUsersRequestSchema = /*@__PURE__*/
934
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 126);
935
+
936
+ /**
937
+ * Describes the message raystack.frontier.v1beta1.ListServiceUsersResponse.
938
+ * Use `create(ListServiceUsersResponseSchema)` to create a new message.
939
+ */
940
+ export const ListServiceUsersResponseSchema = /*@__PURE__*/
941
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 127);
942
+
943
+ /**
944
+ * Describes the message raystack.frontier.v1beta1.ServiceUserRequestBody.
945
+ * Use `create(ServiceUserRequestBodySchema)` to create a new message.
946
+ */
947
+ export const ServiceUserRequestBodySchema = /*@__PURE__*/
948
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 128);
949
+
950
+ /**
951
+ * Describes the message raystack.frontier.v1beta1.CreateServiceUserRequest.
952
+ * Use `create(CreateServiceUserRequestSchema)` to create a new message.
953
+ */
954
+ export const CreateServiceUserRequestSchema = /*@__PURE__*/
955
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 129);
956
+
957
+ /**
958
+ * Describes the message raystack.frontier.v1beta1.CreateServiceUserResponse.
959
+ * Use `create(CreateServiceUserResponseSchema)` to create a new message.
960
+ */
961
+ export const CreateServiceUserResponseSchema = /*@__PURE__*/
962
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 130);
963
+
964
+ /**
965
+ * Describes the message raystack.frontier.v1beta1.GetServiceUserRequest.
966
+ * Use `create(GetServiceUserRequestSchema)` to create a new message.
967
+ */
968
+ export const GetServiceUserRequestSchema = /*@__PURE__*/
969
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 131);
970
+
971
+ /**
972
+ * Describes the message raystack.frontier.v1beta1.GetServiceUserResponse.
973
+ * Use `create(GetServiceUserResponseSchema)` to create a new message.
974
+ */
975
+ export const GetServiceUserResponseSchema = /*@__PURE__*/
976
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 132);
977
+
978
+ /**
979
+ * Describes the message raystack.frontier.v1beta1.UpdateServiceUserRequest.
980
+ * Use `create(UpdateServiceUserRequestSchema)` to create a new message.
981
+ */
982
+ export const UpdateServiceUserRequestSchema = /*@__PURE__*/
983
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 133);
984
+
985
+ /**
986
+ * Describes the message raystack.frontier.v1beta1.UpdateServiceUserResponse.
987
+ * Use `create(UpdateServiceUserResponseSchema)` to create a new message.
988
+ */
989
+ export const UpdateServiceUserResponseSchema = /*@__PURE__*/
990
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 134);
991
+
992
+ /**
993
+ * Describes the message raystack.frontier.v1beta1.DeleteServiceUserRequest.
994
+ * Use `create(DeleteServiceUserRequestSchema)` to create a new message.
995
+ */
996
+ export const DeleteServiceUserRequestSchema = /*@__PURE__*/
997
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 135);
998
+
999
+ /**
1000
+ * Describes the message raystack.frontier.v1beta1.DeleteServiceUserResponse.
1001
+ * Use `create(DeleteServiceUserResponseSchema)` to create a new message.
1002
+ */
1003
+ export const DeleteServiceUserResponseSchema = /*@__PURE__*/
1004
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 136);
1005
+
1006
+ /**
1007
+ * Describes the message raystack.frontier.v1beta1.CreateServiceUserJWKRequest.
1008
+ * Use `create(CreateServiceUserJWKRequestSchema)` to create a new message.
1009
+ */
1010
+ export const CreateServiceUserJWKRequestSchema = /*@__PURE__*/
1011
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 137);
1012
+
1013
+ /**
1014
+ * Describes the message raystack.frontier.v1beta1.CreateServiceUserJWKResponse.
1015
+ * Use `create(CreateServiceUserJWKResponseSchema)` to create a new message.
1016
+ */
1017
+ export const CreateServiceUserJWKResponseSchema = /*@__PURE__*/
1018
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 138);
1019
+
1020
+ /**
1021
+ * Describes the message raystack.frontier.v1beta1.GetServiceUserJWKRequest.
1022
+ * Use `create(GetServiceUserJWKRequestSchema)` to create a new message.
1023
+ */
1024
+ export const GetServiceUserJWKRequestSchema = /*@__PURE__*/
1025
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 139);
1026
+
1027
+ /**
1028
+ * Describes the message raystack.frontier.v1beta1.GetServiceUserJWKResponse.
1029
+ * Use `create(GetServiceUserJWKResponseSchema)` to create a new message.
1030
+ */
1031
+ export const GetServiceUserJWKResponseSchema = /*@__PURE__*/
1032
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 140);
1033
+
1034
+ /**
1035
+ * Describes the message raystack.frontier.v1beta1.ListServiceUserJWKsRequest.
1036
+ * Use `create(ListServiceUserJWKsRequestSchema)` to create a new message.
1037
+ */
1038
+ export const ListServiceUserJWKsRequestSchema = /*@__PURE__*/
1039
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 141);
1040
+
1041
+ /**
1042
+ * Describes the message raystack.frontier.v1beta1.ListServiceUserJWKsResponse.
1043
+ * Use `create(ListServiceUserJWKsResponseSchema)` to create a new message.
1044
+ */
1045
+ export const ListServiceUserJWKsResponseSchema = /*@__PURE__*/
1046
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 142);
1047
+
1048
+ /**
1049
+ * Describes the message raystack.frontier.v1beta1.DeleteServiceUserJWKRequest.
1050
+ * Use `create(DeleteServiceUserJWKRequestSchema)` to create a new message.
1051
+ */
1052
+ export const DeleteServiceUserJWKRequestSchema = /*@__PURE__*/
1053
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 143);
1054
+
1055
+ /**
1056
+ * Describes the message raystack.frontier.v1beta1.DeleteServiceUserJWKResponse.
1057
+ * Use `create(DeleteServiceUserJWKResponseSchema)` to create a new message.
1058
+ */
1059
+ export const DeleteServiceUserJWKResponseSchema = /*@__PURE__*/
1060
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 144);
1061
+
1062
+ /**
1063
+ * Describes the message raystack.frontier.v1beta1.CreateServiceUserCredentialRequest.
1064
+ * Use `create(CreateServiceUserCredentialRequestSchema)` to create a new message.
1065
+ */
1066
+ export const CreateServiceUserCredentialRequestSchema = /*@__PURE__*/
1067
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 145);
1068
+
1069
+ /**
1070
+ * Describes the message raystack.frontier.v1beta1.CreateServiceUserCredentialResponse.
1071
+ * Use `create(CreateServiceUserCredentialResponseSchema)` to create a new message.
1072
+ */
1073
+ export const CreateServiceUserCredentialResponseSchema = /*@__PURE__*/
1074
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 146);
1075
+
1076
+ /**
1077
+ * Describes the message raystack.frontier.v1beta1.ListServiceUserCredentialsRequest.
1078
+ * Use `create(ListServiceUserCredentialsRequestSchema)` to create a new message.
1079
+ */
1080
+ export const ListServiceUserCredentialsRequestSchema = /*@__PURE__*/
1081
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 147);
1082
+
1083
+ /**
1084
+ * Describes the message raystack.frontier.v1beta1.ListServiceUserCredentialsResponse.
1085
+ * Use `create(ListServiceUserCredentialsResponseSchema)` to create a new message.
1086
+ */
1087
+ export const ListServiceUserCredentialsResponseSchema = /*@__PURE__*/
1088
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 148);
1089
+
1090
+ /**
1091
+ * Describes the message raystack.frontier.v1beta1.DeleteServiceUserCredentialRequest.
1092
+ * Use `create(DeleteServiceUserCredentialRequestSchema)` to create a new message.
1093
+ */
1094
+ export const DeleteServiceUserCredentialRequestSchema = /*@__PURE__*/
1095
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 149);
1096
+
1097
+ /**
1098
+ * Describes the message raystack.frontier.v1beta1.DeleteServiceUserCredentialResponse.
1099
+ * Use `create(DeleteServiceUserCredentialResponseSchema)` to create a new message.
1100
+ */
1101
+ export const DeleteServiceUserCredentialResponseSchema = /*@__PURE__*/
1102
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 150);
1103
+
1104
+ /**
1105
+ * Describes the message raystack.frontier.v1beta1.CreateServiceUserTokenRequest.
1106
+ * Use `create(CreateServiceUserTokenRequestSchema)` to create a new message.
1107
+ */
1108
+ export const CreateServiceUserTokenRequestSchema = /*@__PURE__*/
1109
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 151);
1110
+
1111
+ /**
1112
+ * Describes the message raystack.frontier.v1beta1.CreateServiceUserTokenResponse.
1113
+ * Use `create(CreateServiceUserTokenResponseSchema)` to create a new message.
1114
+ */
1115
+ export const CreateServiceUserTokenResponseSchema = /*@__PURE__*/
1116
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 152);
1117
+
1118
+ /**
1119
+ * Describes the message raystack.frontier.v1beta1.ListServiceUserTokensRequest.
1120
+ * Use `create(ListServiceUserTokensRequestSchema)` to create a new message.
1121
+ */
1122
+ export const ListServiceUserTokensRequestSchema = /*@__PURE__*/
1123
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 153);
1124
+
1125
+ /**
1126
+ * Describes the message raystack.frontier.v1beta1.ListServiceUserTokensResponse.
1127
+ * Use `create(ListServiceUserTokensResponseSchema)` to create a new message.
1128
+ */
1129
+ export const ListServiceUserTokensResponseSchema = /*@__PURE__*/
1130
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 154);
1131
+
1132
+ /**
1133
+ * Describes the message raystack.frontier.v1beta1.DeleteServiceUserTokenRequest.
1134
+ * Use `create(DeleteServiceUserTokenRequestSchema)` to create a new message.
1135
+ */
1136
+ export const DeleteServiceUserTokenRequestSchema = /*@__PURE__*/
1137
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 155);
1138
+
1139
+ /**
1140
+ * Describes the message raystack.frontier.v1beta1.DeleteServiceUserTokenResponse.
1141
+ * Use `create(DeleteServiceUserTokenResponseSchema)` to create a new message.
1142
+ */
1143
+ export const DeleteServiceUserTokenResponseSchema = /*@__PURE__*/
1144
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 156);
1145
+
1146
+ /**
1147
+ * Describes the message raystack.frontier.v1beta1.ListServiceUserProjectsRequest.
1148
+ * Use `create(ListServiceUserProjectsRequestSchema)` to create a new message.
1149
+ */
1150
+ export const ListServiceUserProjectsRequestSchema = /*@__PURE__*/
1151
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 157);
1152
+
1153
+ /**
1154
+ * Describes the message raystack.frontier.v1beta1.ListServiceUserProjectsResponse.
1155
+ * Use `create(ListServiceUserProjectsResponseSchema)` to create a new message.
1156
+ */
1157
+ export const ListServiceUserProjectsResponseSchema = /*@__PURE__*/
1158
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 158);
1159
+
1160
+ /**
1161
+ * Describes the message raystack.frontier.v1beta1.ListServiceUserProjectsResponse.AccessPair.
1162
+ * Use `create(ListServiceUserProjectsResponse_AccessPairSchema)` to create a new message.
1163
+ */
1164
+ export const ListServiceUserProjectsResponse_AccessPairSchema = /*@__PURE__*/
1165
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 158, 0);
1166
+
1167
+ /**
1168
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationGroupsRequest.
1169
+ * Use `create(ListOrganizationGroupsRequestSchema)` to create a new message.
1170
+ */
1171
+ export const ListOrganizationGroupsRequestSchema = /*@__PURE__*/
1172
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 159);
1173
+
1174
+ /**
1175
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationGroupsResponse.
1176
+ * Use `create(ListOrganizationGroupsResponseSchema)` to create a new message.
1177
+ */
1178
+ export const ListOrganizationGroupsResponseSchema = /*@__PURE__*/
1179
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 160);
1180
+
1181
+ /**
1182
+ * Describes the message raystack.frontier.v1beta1.CreateOrganizationRoleRequest.
1183
+ * Use `create(CreateOrganizationRoleRequestSchema)` to create a new message.
1184
+ */
1185
+ export const CreateOrganizationRoleRequestSchema = /*@__PURE__*/
1186
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 161);
1187
+
1188
+ /**
1189
+ * Describes the message raystack.frontier.v1beta1.CreateOrganizationRoleResponse.
1190
+ * Use `create(CreateOrganizationRoleResponseSchema)` to create a new message.
1191
+ */
1192
+ export const CreateOrganizationRoleResponseSchema = /*@__PURE__*/
1193
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 162);
1194
+
1195
+ /**
1196
+ * Describes the message raystack.frontier.v1beta1.GetOrganizationRoleRequest.
1197
+ * Use `create(GetOrganizationRoleRequestSchema)` to create a new message.
1198
+ */
1199
+ export const GetOrganizationRoleRequestSchema = /*@__PURE__*/
1200
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 163);
1201
+
1202
+ /**
1203
+ * Describes the message raystack.frontier.v1beta1.GetOrganizationRoleResponse.
1204
+ * Use `create(GetOrganizationRoleResponseSchema)` to create a new message.
1205
+ */
1206
+ export const GetOrganizationRoleResponseSchema = /*@__PURE__*/
1207
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 164);
1208
+
1209
+ /**
1210
+ * Describes the message raystack.frontier.v1beta1.UpdateOrganizationRoleRequest.
1211
+ * Use `create(UpdateOrganizationRoleRequestSchema)` to create a new message.
1212
+ */
1213
+ export const UpdateOrganizationRoleRequestSchema = /*@__PURE__*/
1214
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 165);
1215
+
1216
+ /**
1217
+ * Describes the message raystack.frontier.v1beta1.UpdateOrganizationRoleResponse.
1218
+ * Use `create(UpdateOrganizationRoleResponseSchema)` to create a new message.
1219
+ */
1220
+ export const UpdateOrganizationRoleResponseSchema = /*@__PURE__*/
1221
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 166);
1222
+
1223
+ /**
1224
+ * Describes the message raystack.frontier.v1beta1.ListRolesRequest.
1225
+ * Use `create(ListRolesRequestSchema)` to create a new message.
1226
+ */
1227
+ export const ListRolesRequestSchema = /*@__PURE__*/
1228
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 167);
1229
+
1230
+ /**
1231
+ * Describes the message raystack.frontier.v1beta1.ListRolesResponse.
1232
+ * Use `create(ListRolesResponseSchema)` to create a new message.
1233
+ */
1234
+ export const ListRolesResponseSchema = /*@__PURE__*/
1235
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 168);
1236
+
1237
+ /**
1238
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationRolesRequest.
1239
+ * Use `create(ListOrganizationRolesRequestSchema)` to create a new message.
1240
+ */
1241
+ export const ListOrganizationRolesRequestSchema = /*@__PURE__*/
1242
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 169);
1243
+
1244
+ /**
1245
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationRolesResponse.
1246
+ * Use `create(ListOrganizationRolesResponseSchema)` to create a new message.
1247
+ */
1248
+ export const ListOrganizationRolesResponseSchema = /*@__PURE__*/
1249
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 170);
1250
+
1251
+ /**
1252
+ * Describes the message raystack.frontier.v1beta1.DeleteOrganizationRoleRequest.
1253
+ * Use `create(DeleteOrganizationRoleRequestSchema)` to create a new message.
1254
+ */
1255
+ export const DeleteOrganizationRoleRequestSchema = /*@__PURE__*/
1256
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 171);
1257
+
1258
+ /**
1259
+ * Describes the message raystack.frontier.v1beta1.DeleteOrganizationRoleResponse.
1260
+ * Use `create(DeleteOrganizationRoleResponseSchema)` to create a new message.
1261
+ */
1262
+ export const DeleteOrganizationRoleResponseSchema = /*@__PURE__*/
1263
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 172);
1264
+
1265
+ /**
1266
+ * Describes the message raystack.frontier.v1beta1.OrganizationRequestBody.
1267
+ * Use `create(OrganizationRequestBodySchema)` to create a new message.
1268
+ */
1269
+ export const OrganizationRequestBodySchema = /*@__PURE__*/
1270
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 173);
1271
+
1272
+ /**
1273
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationsRequest.
1274
+ * Use `create(ListOrganizationsRequestSchema)` to create a new message.
1275
+ */
1276
+ export const ListOrganizationsRequestSchema = /*@__PURE__*/
1277
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 174);
1278
+
1279
+ /**
1280
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationsResponse.
1281
+ * Use `create(ListOrganizationsResponseSchema)` to create a new message.
1282
+ */
1283
+ export const ListOrganizationsResponseSchema = /*@__PURE__*/
1284
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 175);
1285
+
1286
+ /**
1287
+ * Describes the message raystack.frontier.v1beta1.CreateOrganizationRequest.
1288
+ * Use `create(CreateOrganizationRequestSchema)` to create a new message.
1289
+ */
1290
+ export const CreateOrganizationRequestSchema = /*@__PURE__*/
1291
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 176);
1292
+
1293
+ /**
1294
+ * Describes the message raystack.frontier.v1beta1.CreateOrganizationResponse.
1295
+ * Use `create(CreateOrganizationResponseSchema)` to create a new message.
1296
+ */
1297
+ export const CreateOrganizationResponseSchema = /*@__PURE__*/
1298
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 177);
1299
+
1300
+ /**
1301
+ * Describes the message raystack.frontier.v1beta1.GetOrganizationResponse.
1302
+ * Use `create(GetOrganizationResponseSchema)` to create a new message.
1303
+ */
1304
+ export const GetOrganizationResponseSchema = /*@__PURE__*/
1305
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 178);
1306
+
1307
+ /**
1308
+ * Describes the message raystack.frontier.v1beta1.UpdateOrganizationResponse.
1309
+ * Use `create(UpdateOrganizationResponseSchema)` to create a new message.
1310
+ */
1311
+ export const UpdateOrganizationResponseSchema = /*@__PURE__*/
1312
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 179);
1313
+
1314
+ /**
1315
+ * Describes the message raystack.frontier.v1beta1.GetOrganizationRequest.
1316
+ * Use `create(GetOrganizationRequestSchema)` to create a new message.
1317
+ */
1318
+ export const GetOrganizationRequestSchema = /*@__PURE__*/
1319
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 180);
1320
+
1321
+ /**
1322
+ * Describes the message raystack.frontier.v1beta1.UpdateOrganizationRequest.
1323
+ * Use `create(UpdateOrganizationRequestSchema)` to create a new message.
1324
+ */
1325
+ export const UpdateOrganizationRequestSchema = /*@__PURE__*/
1326
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 181);
1327
+
1328
+ /**
1329
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationAdminsRequest.
1330
+ * Use `create(ListOrganizationAdminsRequestSchema)` to create a new message.
1331
+ */
1332
+ export const ListOrganizationAdminsRequestSchema = /*@__PURE__*/
1333
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 182);
1334
+
1335
+ /**
1336
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationAdminsResponse.
1337
+ * Use `create(ListOrganizationAdminsResponseSchema)` to create a new message.
1338
+ */
1339
+ export const ListOrganizationAdminsResponseSchema = /*@__PURE__*/
1340
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 183);
1341
+
1342
+ /**
1343
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationUsersRequest.
1344
+ * Use `create(ListOrganizationUsersRequestSchema)` to create a new message.
1345
+ */
1346
+ export const ListOrganizationUsersRequestSchema = /*@__PURE__*/
1347
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 184);
1348
+
1349
+ /**
1350
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationUsersResponse.
1351
+ * Use `create(ListOrganizationUsersResponseSchema)` to create a new message.
1352
+ */
1353
+ export const ListOrganizationUsersResponseSchema = /*@__PURE__*/
1354
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 185);
1355
+
1356
+ /**
1357
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationUsersResponse.RolePair.
1358
+ * Use `create(ListOrganizationUsersResponse_RolePairSchema)` to create a new message.
1359
+ */
1360
+ export const ListOrganizationUsersResponse_RolePairSchema = /*@__PURE__*/
1361
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 185, 0);
1362
+
1363
+ /**
1364
+ * Describes the message raystack.frontier.v1beta1.AddOrganizationUsersRequest.
1365
+ * Use `create(AddOrganizationUsersRequestSchema)` to create a new message.
1366
+ */
1367
+ export const AddOrganizationUsersRequestSchema = /*@__PURE__*/
1368
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 186);
1369
+
1370
+ /**
1371
+ * Describes the message raystack.frontier.v1beta1.AddOrganizationUsersResponse.
1372
+ * Use `create(AddOrganizationUsersResponseSchema)` to create a new message.
1373
+ */
1374
+ export const AddOrganizationUsersResponseSchema = /*@__PURE__*/
1375
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 187);
1376
+
1377
+ /**
1378
+ * Describes the message raystack.frontier.v1beta1.RemoveOrganizationUserRequest.
1379
+ * Use `create(RemoveOrganizationUserRequestSchema)` to create a new message.
1380
+ */
1381
+ export const RemoveOrganizationUserRequestSchema = /*@__PURE__*/
1382
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 188);
1383
+
1384
+ /**
1385
+ * Describes the message raystack.frontier.v1beta1.RemoveOrganizationUserResponse.
1386
+ * Use `create(RemoveOrganizationUserResponseSchema)` to create a new message.
1387
+ */
1388
+ export const RemoveOrganizationUserResponseSchema = /*@__PURE__*/
1389
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 189);
1390
+
1391
+ /**
1392
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationServiceUsersRequest.
1393
+ * Use `create(ListOrganizationServiceUsersRequestSchema)` to create a new message.
1394
+ */
1395
+ export const ListOrganizationServiceUsersRequestSchema = /*@__PURE__*/
1396
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 190);
1397
+
1398
+ /**
1399
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationServiceUsersResponse.
1400
+ * Use `create(ListOrganizationServiceUsersResponseSchema)` to create a new message.
1401
+ */
1402
+ export const ListOrganizationServiceUsersResponseSchema = /*@__PURE__*/
1403
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 191);
1404
+
1405
+ /**
1406
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationInvitationsRequest.
1407
+ * Use `create(ListOrganizationInvitationsRequestSchema)` to create a new message.
1408
+ */
1409
+ export const ListOrganizationInvitationsRequestSchema = /*@__PURE__*/
1410
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 192);
1411
+
1412
+ /**
1413
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationInvitationsResponse.
1414
+ * Use `create(ListOrganizationInvitationsResponseSchema)` to create a new message.
1415
+ */
1416
+ export const ListOrganizationInvitationsResponseSchema = /*@__PURE__*/
1417
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 193);
1418
+
1419
+ /**
1420
+ * Describes the message raystack.frontier.v1beta1.CreateOrganizationInvitationRequest.
1421
+ * Use `create(CreateOrganizationInvitationRequestSchema)` to create a new message.
1422
+ */
1423
+ export const CreateOrganizationInvitationRequestSchema = /*@__PURE__*/
1424
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 194);
1425
+
1426
+ /**
1427
+ * Describes the message raystack.frontier.v1beta1.CreateOrganizationInvitationResponse.
1428
+ * Use `create(CreateOrganizationInvitationResponseSchema)` to create a new message.
1429
+ */
1430
+ export const CreateOrganizationInvitationResponseSchema = /*@__PURE__*/
1431
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 195);
1432
+
1433
+ /**
1434
+ * Describes the message raystack.frontier.v1beta1.GetOrganizationInvitationRequest.
1435
+ * Use `create(GetOrganizationInvitationRequestSchema)` to create a new message.
1436
+ */
1437
+ export const GetOrganizationInvitationRequestSchema = /*@__PURE__*/
1438
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 196);
1439
+
1440
+ /**
1441
+ * Describes the message raystack.frontier.v1beta1.GetOrganizationInvitationResponse.
1442
+ * Use `create(GetOrganizationInvitationResponseSchema)` to create a new message.
1443
+ */
1444
+ export const GetOrganizationInvitationResponseSchema = /*@__PURE__*/
1445
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 197);
1446
+
1447
+ /**
1448
+ * Describes the message raystack.frontier.v1beta1.AcceptOrganizationInvitationRequest.
1449
+ * Use `create(AcceptOrganizationInvitationRequestSchema)` to create a new message.
1450
+ */
1451
+ export const AcceptOrganizationInvitationRequestSchema = /*@__PURE__*/
1452
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 198);
1453
+
1454
+ /**
1455
+ * Describes the message raystack.frontier.v1beta1.AcceptOrganizationInvitationResponse.
1456
+ * Use `create(AcceptOrganizationInvitationResponseSchema)` to create a new message.
1457
+ */
1458
+ export const AcceptOrganizationInvitationResponseSchema = /*@__PURE__*/
1459
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 199);
1460
+
1461
+ /**
1462
+ * Describes the message raystack.frontier.v1beta1.DeleteOrganizationInvitationRequest.
1463
+ * Use `create(DeleteOrganizationInvitationRequestSchema)` to create a new message.
1464
+ */
1465
+ export const DeleteOrganizationInvitationRequestSchema = /*@__PURE__*/
1466
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 200);
1467
+
1468
+ /**
1469
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationDomainsRequest.
1470
+ * Use `create(ListOrganizationDomainsRequestSchema)` to create a new message.
1471
+ */
1472
+ export const ListOrganizationDomainsRequestSchema = /*@__PURE__*/
1473
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 201);
1474
+
1475
+ /**
1476
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationDomainsResponse.
1477
+ * Use `create(ListOrganizationDomainsResponseSchema)` to create a new message.
1478
+ */
1479
+ export const ListOrganizationDomainsResponseSchema = /*@__PURE__*/
1480
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 202);
1481
+
1482
+ /**
1483
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationsByDomainRequest.
1484
+ * Use `create(ListOrganizationsByDomainRequestSchema)` to create a new message.
1485
+ */
1486
+ export const ListOrganizationsByDomainRequestSchema = /*@__PURE__*/
1487
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 203);
1488
+
1489
+ /**
1490
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationsByDomainResponse.
1491
+ * Use `create(ListOrganizationsByDomainResponseSchema)` to create a new message.
1492
+ */
1493
+ export const ListOrganizationsByDomainResponseSchema = /*@__PURE__*/
1494
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 204);
1495
+
1496
+ /**
1497
+ * Describes the message raystack.frontier.v1beta1.JoinOrganizationRequest.
1498
+ * Use `create(JoinOrganizationRequestSchema)` to create a new message.
1499
+ */
1500
+ export const JoinOrganizationRequestSchema = /*@__PURE__*/
1501
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 205);
1502
+
1503
+ /**
1504
+ * Describes the message raystack.frontier.v1beta1.JoinOrganizationResponse.
1505
+ * Use `create(JoinOrganizationResponseSchema)` to create a new message.
1506
+ */
1507
+ export const JoinOrganizationResponseSchema = /*@__PURE__*/
1508
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 206);
1509
+
1510
+ /**
1511
+ * Describes the message raystack.frontier.v1beta1.GetOrganizationDomainRequest.
1512
+ * Use `create(GetOrganizationDomainRequestSchema)` to create a new message.
1513
+ */
1514
+ export const GetOrganizationDomainRequestSchema = /*@__PURE__*/
1515
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 207);
1516
+
1517
+ /**
1518
+ * Describes the message raystack.frontier.v1beta1.GetOrganizationDomainResponse.
1519
+ * Use `create(GetOrganizationDomainResponseSchema)` to create a new message.
1520
+ */
1521
+ export const GetOrganizationDomainResponseSchema = /*@__PURE__*/
1522
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 208);
1523
+
1524
+ /**
1525
+ * Describes the message raystack.frontier.v1beta1.CreateOrganizationDomainRequest.
1526
+ * Use `create(CreateOrganizationDomainRequestSchema)` to create a new message.
1527
+ */
1528
+ export const CreateOrganizationDomainRequestSchema = /*@__PURE__*/
1529
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 209);
1530
+
1531
+ /**
1532
+ * Describes the message raystack.frontier.v1beta1.CreateOrganizationDomainResponse.
1533
+ * Use `create(CreateOrganizationDomainResponseSchema)` to create a new message.
1534
+ */
1535
+ export const CreateOrganizationDomainResponseSchema = /*@__PURE__*/
1536
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 210);
1537
+
1538
+ /**
1539
+ * Describes the message raystack.frontier.v1beta1.DeleteOrganizationDomainRequest.
1540
+ * Use `create(DeleteOrganizationDomainRequestSchema)` to create a new message.
1541
+ */
1542
+ export const DeleteOrganizationDomainRequestSchema = /*@__PURE__*/
1543
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 211);
1544
+
1545
+ /**
1546
+ * Describes the message raystack.frontier.v1beta1.DeleteOrganizationDomainResponse.
1547
+ * Use `create(DeleteOrganizationDomainResponseSchema)` to create a new message.
1548
+ */
1549
+ export const DeleteOrganizationDomainResponseSchema = /*@__PURE__*/
1550
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 212);
1551
+
1552
+ /**
1553
+ * Describes the message raystack.frontier.v1beta1.VerifyOrganizationDomainRequest.
1554
+ * Use `create(VerifyOrganizationDomainRequestSchema)` to create a new message.
1555
+ */
1556
+ export const VerifyOrganizationDomainRequestSchema = /*@__PURE__*/
1557
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 213);
1558
+
1559
+ /**
1560
+ * Describes the message raystack.frontier.v1beta1.VerifyOrganizationDomainResponse.
1561
+ * Use `create(VerifyOrganizationDomainResponseSchema)` to create a new message.
1562
+ */
1563
+ export const VerifyOrganizationDomainResponseSchema = /*@__PURE__*/
1564
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 214);
1565
+
1566
+ /**
1567
+ * Describes the message raystack.frontier.v1beta1.DeleteOrganizationInvitationResponse.
1568
+ * Use `create(DeleteOrganizationInvitationResponseSchema)` to create a new message.
1569
+ */
1570
+ export const DeleteOrganizationInvitationResponseSchema = /*@__PURE__*/
1571
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 215);
1572
+
1573
+ /**
1574
+ * Describes the message raystack.frontier.v1beta1.EnableOrganizationRequest.
1575
+ * Use `create(EnableOrganizationRequestSchema)` to create a new message.
1576
+ */
1577
+ export const EnableOrganizationRequestSchema = /*@__PURE__*/
1578
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 216);
1579
+
1580
+ /**
1581
+ * Describes the message raystack.frontier.v1beta1.EnableOrganizationResponse.
1582
+ * Use `create(EnableOrganizationResponseSchema)` to create a new message.
1583
+ */
1584
+ export const EnableOrganizationResponseSchema = /*@__PURE__*/
1585
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 217);
1586
+
1587
+ /**
1588
+ * Describes the message raystack.frontier.v1beta1.DisableOrganizationRequest.
1589
+ * Use `create(DisableOrganizationRequestSchema)` to create a new message.
1590
+ */
1591
+ export const DisableOrganizationRequestSchema = /*@__PURE__*/
1592
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 218);
1593
+
1594
+ /**
1595
+ * Describes the message raystack.frontier.v1beta1.DisableOrganizationResponse.
1596
+ * Use `create(DisableOrganizationResponseSchema)` to create a new message.
1597
+ */
1598
+ export const DisableOrganizationResponseSchema = /*@__PURE__*/
1599
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 219);
1600
+
1601
+ /**
1602
+ * Describes the message raystack.frontier.v1beta1.DeleteOrganizationRequest.
1603
+ * Use `create(DeleteOrganizationRequestSchema)` to create a new message.
1604
+ */
1605
+ export const DeleteOrganizationRequestSchema = /*@__PURE__*/
1606
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 220);
1607
+
1608
+ /**
1609
+ * Describes the message raystack.frontier.v1beta1.DeleteOrganizationResponse.
1610
+ * Use `create(DeleteOrganizationResponseSchema)` to create a new message.
1611
+ */
1612
+ export const DeleteOrganizationResponseSchema = /*@__PURE__*/
1613
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 221);
1614
+
1615
+ /**
1616
+ * Describes the message raystack.frontier.v1beta1.GetOrganizationKycRequest.
1617
+ * Use `create(GetOrganizationKycRequestSchema)` to create a new message.
1618
+ */
1619
+ export const GetOrganizationKycRequestSchema = /*@__PURE__*/
1620
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 222);
1621
+
1622
+ /**
1623
+ * Describes the message raystack.frontier.v1beta1.GetOrganizationKycResponse.
1624
+ * Use `create(GetOrganizationKycResponseSchema)` to create a new message.
1625
+ */
1626
+ export const GetOrganizationKycResponseSchema = /*@__PURE__*/
1627
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 223);
1628
+
1629
+ /**
1630
+ * Describes the message raystack.frontier.v1beta1.ProjectRequestBody.
1631
+ * Use `create(ProjectRequestBodySchema)` to create a new message.
1632
+ */
1633
+ export const ProjectRequestBodySchema = /*@__PURE__*/
1634
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 224);
1635
+
1636
+ /**
1637
+ * Describes the message raystack.frontier.v1beta1.CreateProjectRequest.
1638
+ * Use `create(CreateProjectRequestSchema)` to create a new message.
1639
+ */
1640
+ export const CreateProjectRequestSchema = /*@__PURE__*/
1641
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 225);
1642
+
1643
+ /**
1644
+ * Describes the message raystack.frontier.v1beta1.CreateProjectResponse.
1645
+ * Use `create(CreateProjectResponseSchema)` to create a new message.
1646
+ */
1647
+ export const CreateProjectResponseSchema = /*@__PURE__*/
1648
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 226);
1649
+
1650
+ /**
1651
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationProjectsRequest.
1652
+ * Use `create(ListOrganizationProjectsRequestSchema)` to create a new message.
1653
+ */
1654
+ export const ListOrganizationProjectsRequestSchema = /*@__PURE__*/
1655
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 227);
1656
+
1657
+ /**
1658
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationProjectsResponse.
1659
+ * Use `create(ListOrganizationProjectsResponseSchema)` to create a new message.
1660
+ */
1661
+ export const ListOrganizationProjectsResponseSchema = /*@__PURE__*/
1662
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 228);
1663
+
1664
+ /**
1665
+ * Describes the message raystack.frontier.v1beta1.GetProjectRequest.
1666
+ * Use `create(GetProjectRequestSchema)` to create a new message.
1667
+ */
1668
+ export const GetProjectRequestSchema = /*@__PURE__*/
1669
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 229);
1670
+
1671
+ /**
1672
+ * Describes the message raystack.frontier.v1beta1.GetProjectResponse.
1673
+ * Use `create(GetProjectResponseSchema)` to create a new message.
1674
+ */
1675
+ export const GetProjectResponseSchema = /*@__PURE__*/
1676
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 230);
1677
+
1678
+ /**
1679
+ * Describes the message raystack.frontier.v1beta1.UpdateProjectRequest.
1680
+ * Use `create(UpdateProjectRequestSchema)` to create a new message.
1681
+ */
1682
+ export const UpdateProjectRequestSchema = /*@__PURE__*/
1683
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 231);
1684
+
1685
+ /**
1686
+ * Describes the message raystack.frontier.v1beta1.UpdateProjectResponse.
1687
+ * Use `create(UpdateProjectResponseSchema)` to create a new message.
1688
+ */
1689
+ export const UpdateProjectResponseSchema = /*@__PURE__*/
1690
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 232);
1691
+
1692
+ /**
1693
+ * Describes the message raystack.frontier.v1beta1.ListProjectAdminsRequest.
1694
+ * Use `create(ListProjectAdminsRequestSchema)` to create a new message.
1695
+ */
1696
+ export const ListProjectAdminsRequestSchema = /*@__PURE__*/
1697
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 233);
1698
+
1699
+ /**
1700
+ * Describes the message raystack.frontier.v1beta1.ListProjectAdminsResponse.
1701
+ * Use `create(ListProjectAdminsResponseSchema)` to create a new message.
1702
+ */
1703
+ export const ListProjectAdminsResponseSchema = /*@__PURE__*/
1704
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 234);
1705
+
1706
+ /**
1707
+ * Describes the message raystack.frontier.v1beta1.ListProjectUsersRequest.
1708
+ * Use `create(ListProjectUsersRequestSchema)` to create a new message.
1709
+ */
1710
+ export const ListProjectUsersRequestSchema = /*@__PURE__*/
1711
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 235);
1712
+
1713
+ /**
1714
+ * Describes the message raystack.frontier.v1beta1.ListProjectUsersResponse.
1715
+ * Use `create(ListProjectUsersResponseSchema)` to create a new message.
1716
+ */
1717
+ export const ListProjectUsersResponseSchema = /*@__PURE__*/
1718
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 236);
1719
+
1720
+ /**
1721
+ * Describes the message raystack.frontier.v1beta1.ListProjectUsersResponse.RolePair.
1722
+ * Use `create(ListProjectUsersResponse_RolePairSchema)` to create a new message.
1723
+ */
1724
+ export const ListProjectUsersResponse_RolePairSchema = /*@__PURE__*/
1725
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 236, 0);
1726
+
1727
+ /**
1728
+ * Describes the message raystack.frontier.v1beta1.ListProjectServiceUsersRequest.
1729
+ * Use `create(ListProjectServiceUsersRequestSchema)` to create a new message.
1730
+ */
1731
+ export const ListProjectServiceUsersRequestSchema = /*@__PURE__*/
1732
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 237);
1733
+
1734
+ /**
1735
+ * Describes the message raystack.frontier.v1beta1.ListProjectServiceUsersResponse.
1736
+ * Use `create(ListProjectServiceUsersResponseSchema)` to create a new message.
1737
+ */
1738
+ export const ListProjectServiceUsersResponseSchema = /*@__PURE__*/
1739
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 238);
1740
+
1741
+ /**
1742
+ * Describes the message raystack.frontier.v1beta1.ListProjectServiceUsersResponse.RolePair.
1743
+ * Use `create(ListProjectServiceUsersResponse_RolePairSchema)` to create a new message.
1744
+ */
1745
+ export const ListProjectServiceUsersResponse_RolePairSchema = /*@__PURE__*/
1746
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 238, 0);
1747
+
1748
+ /**
1749
+ * Describes the message raystack.frontier.v1beta1.ListProjectGroupsRequest.
1750
+ * Use `create(ListProjectGroupsRequestSchema)` to create a new message.
1751
+ */
1752
+ export const ListProjectGroupsRequestSchema = /*@__PURE__*/
1753
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 239);
1754
+
1755
+ /**
1756
+ * Describes the message raystack.frontier.v1beta1.ListProjectGroupsResponse.
1757
+ * Use `create(ListProjectGroupsResponseSchema)` to create a new message.
1758
+ */
1759
+ export const ListProjectGroupsResponseSchema = /*@__PURE__*/
1760
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 240);
1761
+
1762
+ /**
1763
+ * Describes the message raystack.frontier.v1beta1.ListProjectGroupsResponse.RolePair.
1764
+ * Use `create(ListProjectGroupsResponse_RolePairSchema)` to create a new message.
1765
+ */
1766
+ export const ListProjectGroupsResponse_RolePairSchema = /*@__PURE__*/
1767
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 240, 0);
1768
+
1769
+ /**
1770
+ * Describes the message raystack.frontier.v1beta1.EnableProjectRequest.
1771
+ * Use `create(EnableProjectRequestSchema)` to create a new message.
1772
+ */
1773
+ export const EnableProjectRequestSchema = /*@__PURE__*/
1774
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 241);
1775
+
1776
+ /**
1777
+ * Describes the message raystack.frontier.v1beta1.EnableProjectResponse.
1778
+ * Use `create(EnableProjectResponseSchema)` to create a new message.
1779
+ */
1780
+ export const EnableProjectResponseSchema = /*@__PURE__*/
1781
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 242);
1782
+
1783
+ /**
1784
+ * Describes the message raystack.frontier.v1beta1.DisableProjectRequest.
1785
+ * Use `create(DisableProjectRequestSchema)` to create a new message.
1786
+ */
1787
+ export const DisableProjectRequestSchema = /*@__PURE__*/
1788
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 243);
1789
+
1790
+ /**
1791
+ * Describes the message raystack.frontier.v1beta1.DisableProjectResponse.
1792
+ * Use `create(DisableProjectResponseSchema)` to create a new message.
1793
+ */
1794
+ export const DisableProjectResponseSchema = /*@__PURE__*/
1795
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 244);
1796
+
1797
+ /**
1798
+ * Describes the message raystack.frontier.v1beta1.DeleteProjectRequest.
1799
+ * Use `create(DeleteProjectRequestSchema)` to create a new message.
1800
+ */
1801
+ export const DeleteProjectRequestSchema = /*@__PURE__*/
1802
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 245);
1803
+
1804
+ /**
1805
+ * Describes the message raystack.frontier.v1beta1.DeleteProjectResponse.
1806
+ * Use `create(DeleteProjectResponseSchema)` to create a new message.
1807
+ */
1808
+ export const DeleteProjectResponseSchema = /*@__PURE__*/
1809
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 246);
1810
+
1811
+ /**
1812
+ * Describes the message raystack.frontier.v1beta1.PolicyRequestBody.
1813
+ * Use `create(PolicyRequestBodySchema)` to create a new message.
1814
+ */
1815
+ export const PolicyRequestBodySchema = /*@__PURE__*/
1816
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 247);
1817
+
1818
+ /**
1819
+ * Describes the message raystack.frontier.v1beta1.CreatePolicyForProjectBody.
1820
+ * Use `create(CreatePolicyForProjectBodySchema)` to create a new message.
1821
+ */
1822
+ export const CreatePolicyForProjectBodySchema = /*@__PURE__*/
1823
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 248);
1824
+
1825
+ /**
1826
+ * Describes the message raystack.frontier.v1beta1.GetPermissionRequest.
1827
+ * Use `create(GetPermissionRequestSchema)` to create a new message.
1828
+ */
1829
+ export const GetPermissionRequestSchema = /*@__PURE__*/
1830
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 249);
1831
+
1832
+ /**
1833
+ * Describes the message raystack.frontier.v1beta1.GetPermissionResponse.
1834
+ * Use `create(GetPermissionResponseSchema)` to create a new message.
1835
+ */
1836
+ export const GetPermissionResponseSchema = /*@__PURE__*/
1837
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 250);
1838
+
1839
+ /**
1840
+ * Describes the message raystack.frontier.v1beta1.ListPermissionsRequest.
1841
+ * Use `create(ListPermissionsRequestSchema)` to create a new message.
1842
+ */
1843
+ export const ListPermissionsRequestSchema = /*@__PURE__*/
1844
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 251);
1845
+
1846
+ /**
1847
+ * Describes the message raystack.frontier.v1beta1.ListPermissionsResponse.
1848
+ * Use `create(ListPermissionsResponseSchema)` to create a new message.
1849
+ */
1850
+ export const ListPermissionsResponseSchema = /*@__PURE__*/
1851
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 252);
1852
+
1853
+ /**
1854
+ * Describes the message raystack.frontier.v1beta1.ListNamespacesRequest.
1855
+ * Use `create(ListNamespacesRequestSchema)` to create a new message.
1856
+ */
1857
+ export const ListNamespacesRequestSchema = /*@__PURE__*/
1858
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 253);
1859
+
1860
+ /**
1861
+ * Describes the message raystack.frontier.v1beta1.ListNamespacesResponse.
1862
+ * Use `create(ListNamespacesResponseSchema)` to create a new message.
1863
+ */
1864
+ export const ListNamespacesResponseSchema = /*@__PURE__*/
1865
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 254);
1866
+
1867
+ /**
1868
+ * Describes the message raystack.frontier.v1beta1.GetNamespaceRequest.
1869
+ * Use `create(GetNamespaceRequestSchema)` to create a new message.
1870
+ */
1871
+ export const GetNamespaceRequestSchema = /*@__PURE__*/
1872
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 255);
1873
+
1874
+ /**
1875
+ * Describes the message raystack.frontier.v1beta1.GetNamespaceResponse.
1876
+ * Use `create(GetNamespaceResponseSchema)` to create a new message.
1877
+ */
1878
+ export const GetNamespaceResponseSchema = /*@__PURE__*/
1879
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 256);
1880
+
1881
+ /**
1882
+ * Describes the message raystack.frontier.v1beta1.CreatePolicyRequest.
1883
+ * Use `create(CreatePolicyRequestSchema)` to create a new message.
1884
+ */
1885
+ export const CreatePolicyRequestSchema = /*@__PURE__*/
1886
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 257);
1887
+
1888
+ /**
1889
+ * Describes the message raystack.frontier.v1beta1.CreatePolicyResponse.
1890
+ * Use `create(CreatePolicyResponseSchema)` to create a new message.
1891
+ */
1892
+ export const CreatePolicyResponseSchema = /*@__PURE__*/
1893
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 258);
1894
+
1895
+ /**
1896
+ * Describes the message raystack.frontier.v1beta1.GetPolicyRequest.
1897
+ * Use `create(GetPolicyRequestSchema)` to create a new message.
1898
+ */
1899
+ export const GetPolicyRequestSchema = /*@__PURE__*/
1900
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 259);
1901
+
1902
+ /**
1903
+ * Describes the message raystack.frontier.v1beta1.GetPolicyResponse.
1904
+ * Use `create(GetPolicyResponseSchema)` to create a new message.
1905
+ */
1906
+ export const GetPolicyResponseSchema = /*@__PURE__*/
1907
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 260);
1908
+
1909
+ /**
1910
+ * Describes the message raystack.frontier.v1beta1.ListPoliciesRequest.
1911
+ * Use `create(ListPoliciesRequestSchema)` to create a new message.
1912
+ */
1913
+ export const ListPoliciesRequestSchema = /*@__PURE__*/
1914
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 261);
1915
+
1916
+ /**
1917
+ * Describes the message raystack.frontier.v1beta1.ListPoliciesResponse.
1918
+ * Use `create(ListPoliciesResponseSchema)` to create a new message.
1919
+ */
1920
+ export const ListPoliciesResponseSchema = /*@__PURE__*/
1921
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 262);
1922
+
1923
+ /**
1924
+ * Describes the message raystack.frontier.v1beta1.UpdatePolicyRequest.
1925
+ * Use `create(UpdatePolicyRequestSchema)` to create a new message.
1926
+ */
1927
+ export const UpdatePolicyRequestSchema = /*@__PURE__*/
1928
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 263);
1929
+
1930
+ /**
1931
+ * Describes the message raystack.frontier.v1beta1.UpdatePolicyResponse.
1932
+ * Use `create(UpdatePolicyResponseSchema)` to create a new message.
1933
+ */
1934
+ export const UpdatePolicyResponseSchema = /*@__PURE__*/
1935
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 264);
1936
+
1937
+ /**
1938
+ * Describes the message raystack.frontier.v1beta1.DeletePolicyRequest.
1939
+ * Use `create(DeletePolicyRequestSchema)` to create a new message.
1940
+ */
1941
+ export const DeletePolicyRequestSchema = /*@__PURE__*/
1942
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 265);
1943
+
1944
+ /**
1945
+ * Describes the message raystack.frontier.v1beta1.DeletePolicyResponse.
1946
+ * Use `create(DeletePolicyResponseSchema)` to create a new message.
1947
+ */
1948
+ export const DeletePolicyResponseSchema = /*@__PURE__*/
1949
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 266);
1950
+
1951
+ /**
1952
+ * Describes the message raystack.frontier.v1beta1.CreatePolicyForProjectRequest.
1953
+ * Use `create(CreatePolicyForProjectRequestSchema)` to create a new message.
1954
+ */
1955
+ export const CreatePolicyForProjectRequestSchema = /*@__PURE__*/
1956
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 267);
1957
+
1958
+ /**
1959
+ * Describes the message raystack.frontier.v1beta1.CreatePolicyForProjectResponse.
1960
+ * Use `create(CreatePolicyForProjectResponseSchema)` to create a new message.
1961
+ */
1962
+ export const CreatePolicyForProjectResponseSchema = /*@__PURE__*/
1963
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 268);
1964
+
1965
+ /**
1966
+ * Describes the message raystack.frontier.v1beta1.RelationRequestBody.
1967
+ * Use `create(RelationRequestBodySchema)` to create a new message.
1968
+ */
1969
+ export const RelationRequestBodySchema = /*@__PURE__*/
1970
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 269);
1971
+
1972
+ /**
1973
+ * Describes the message raystack.frontier.v1beta1.CreateRelationRequest.
1974
+ * Use `create(CreateRelationRequestSchema)` to create a new message.
1975
+ */
1976
+ export const CreateRelationRequestSchema = /*@__PURE__*/
1977
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 270);
1978
+
1979
+ /**
1980
+ * Describes the message raystack.frontier.v1beta1.CreateRelationResponse.
1981
+ * Use `create(CreateRelationResponseSchema)` to create a new message.
1982
+ */
1983
+ export const CreateRelationResponseSchema = /*@__PURE__*/
1984
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 271);
1985
+
1986
+ /**
1987
+ * Describes the message raystack.frontier.v1beta1.GetRelationRequest.
1988
+ * Use `create(GetRelationRequestSchema)` to create a new message.
1989
+ */
1990
+ export const GetRelationRequestSchema = /*@__PURE__*/
1991
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 272);
1992
+
1993
+ /**
1994
+ * Describes the message raystack.frontier.v1beta1.GetRelationResponse.
1995
+ * Use `create(GetRelationResponseSchema)` to create a new message.
1996
+ */
1997
+ export const GetRelationResponseSchema = /*@__PURE__*/
1998
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 273);
1999
+
2000
+ /**
2001
+ * Describes the message raystack.frontier.v1beta1.UpdateRelationRequest.
2002
+ * Use `create(UpdateRelationRequestSchema)` to create a new message.
2003
+ */
2004
+ export const UpdateRelationRequestSchema = /*@__PURE__*/
2005
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 274);
2006
+
2007
+ /**
2008
+ * Describes the message raystack.frontier.v1beta1.UpdateRelationResponse.
2009
+ * Use `create(UpdateRelationResponseSchema)` to create a new message.
2010
+ */
2011
+ export const UpdateRelationResponseSchema = /*@__PURE__*/
2012
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 275);
2013
+
2014
+ /**
2015
+ * Describes the message raystack.frontier.v1beta1.GroupRequestBody.
2016
+ * Use `create(GroupRequestBodySchema)` to create a new message.
2017
+ */
2018
+ export const GroupRequestBodySchema = /*@__PURE__*/
2019
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 276);
2020
+
2021
+ /**
2022
+ * Describes the message raystack.frontier.v1beta1.CreateGroupRequest.
2023
+ * Use `create(CreateGroupRequestSchema)` to create a new message.
2024
+ */
2025
+ export const CreateGroupRequestSchema = /*@__PURE__*/
2026
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 277);
2027
+
2028
+ /**
2029
+ * Describes the message raystack.frontier.v1beta1.GetGroupRequest.
2030
+ * Use `create(GetGroupRequestSchema)` to create a new message.
2031
+ */
2032
+ export const GetGroupRequestSchema = /*@__PURE__*/
2033
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 278);
2034
+
2035
+ /**
2036
+ * Describes the message raystack.frontier.v1beta1.CreateGroupResponse.
2037
+ * Use `create(CreateGroupResponseSchema)` to create a new message.
2038
+ */
2039
+ export const CreateGroupResponseSchema = /*@__PURE__*/
2040
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 279);
2041
+
2042
+ /**
2043
+ * Describes the message raystack.frontier.v1beta1.GetGroupResponse.
2044
+ * Use `create(GetGroupResponseSchema)` to create a new message.
2045
+ */
2046
+ export const GetGroupResponseSchema = /*@__PURE__*/
2047
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 280);
2048
+
2049
+ /**
2050
+ * Describes the message raystack.frontier.v1beta1.UpdateGroupResponse.
2051
+ * Use `create(UpdateGroupResponseSchema)` to create a new message.
2052
+ */
2053
+ export const UpdateGroupResponseSchema = /*@__PURE__*/
2054
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 281);
2055
+
2056
+ /**
2057
+ * Describes the message raystack.frontier.v1beta1.UpdateGroupRequest.
2058
+ * Use `create(UpdateGroupRequestSchema)` to create a new message.
2059
+ */
2060
+ export const UpdateGroupRequestSchema = /*@__PURE__*/
2061
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 282);
2062
+
2063
+ /**
2064
+ * Describes the message raystack.frontier.v1beta1.ListGroupUsersRequest.
2065
+ * Use `create(ListGroupUsersRequestSchema)` to create a new message.
2066
+ */
2067
+ export const ListGroupUsersRequestSchema = /*@__PURE__*/
2068
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 283);
2069
+
2070
+ /**
2071
+ * Describes the message raystack.frontier.v1beta1.ListGroupUsersResponse.
2072
+ * Use `create(ListGroupUsersResponseSchema)` to create a new message.
2073
+ */
2074
+ export const ListGroupUsersResponseSchema = /*@__PURE__*/
2075
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 284);
2076
+
2077
+ /**
2078
+ * Describes the message raystack.frontier.v1beta1.ListGroupUsersResponse.RolePair.
2079
+ * Use `create(ListGroupUsersResponse_RolePairSchema)` to create a new message.
2080
+ */
2081
+ export const ListGroupUsersResponse_RolePairSchema = /*@__PURE__*/
2082
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 284, 0);
2083
+
2084
+ /**
2085
+ * Describes the message raystack.frontier.v1beta1.EnableGroupRequest.
2086
+ * Use `create(EnableGroupRequestSchema)` to create a new message.
2087
+ */
2088
+ export const EnableGroupRequestSchema = /*@__PURE__*/
2089
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 285);
2090
+
2091
+ /**
2092
+ * Describes the message raystack.frontier.v1beta1.EnableGroupResponse.
2093
+ * Use `create(EnableGroupResponseSchema)` to create a new message.
2094
+ */
2095
+ export const EnableGroupResponseSchema = /*@__PURE__*/
2096
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 286);
2097
+
2098
+ /**
2099
+ * Describes the message raystack.frontier.v1beta1.DisableGroupRequest.
2100
+ * Use `create(DisableGroupRequestSchema)` to create a new message.
2101
+ */
2102
+ export const DisableGroupRequestSchema = /*@__PURE__*/
2103
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 287);
2104
+
2105
+ /**
2106
+ * Describes the message raystack.frontier.v1beta1.DisableGroupResponse.
2107
+ * Use `create(DisableGroupResponseSchema)` to create a new message.
2108
+ */
2109
+ export const DisableGroupResponseSchema = /*@__PURE__*/
2110
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 288);
2111
+
2112
+ /**
2113
+ * Describes the message raystack.frontier.v1beta1.DeleteGroupRequest.
2114
+ * Use `create(DeleteGroupRequestSchema)` to create a new message.
2115
+ */
2116
+ export const DeleteGroupRequestSchema = /*@__PURE__*/
2117
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 289);
2118
+
2119
+ /**
2120
+ * Describes the message raystack.frontier.v1beta1.DeleteGroupResponse.
2121
+ * Use `create(DeleteGroupResponseSchema)` to create a new message.
2122
+ */
2123
+ export const DeleteGroupResponseSchema = /*@__PURE__*/
2124
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 290);
2125
+
2126
+ /**
2127
+ * Describes the message raystack.frontier.v1beta1.AddGroupUsersRequest.
2128
+ * Use `create(AddGroupUsersRequestSchema)` to create a new message.
2129
+ */
2130
+ export const AddGroupUsersRequestSchema = /*@__PURE__*/
2131
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 291);
2132
+
2133
+ /**
2134
+ * Describes the message raystack.frontier.v1beta1.AddGroupUsersResponse.
2135
+ * Use `create(AddGroupUsersResponseSchema)` to create a new message.
2136
+ */
2137
+ export const AddGroupUsersResponseSchema = /*@__PURE__*/
2138
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 292);
2139
+
2140
+ /**
2141
+ * Describes the message raystack.frontier.v1beta1.RemoveGroupUserRequest.
2142
+ * Use `create(RemoveGroupUserRequestSchema)` to create a new message.
2143
+ */
2144
+ export const RemoveGroupUserRequestSchema = /*@__PURE__*/
2145
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 293);
2146
+
2147
+ /**
2148
+ * Describes the message raystack.frontier.v1beta1.RemoveGroupUserResponse.
2149
+ * Use `create(RemoveGroupUserResponseSchema)` to create a new message.
2150
+ */
2151
+ export const RemoveGroupUserResponseSchema = /*@__PURE__*/
2152
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 294);
2153
+
2154
+ /**
2155
+ * Describes the message raystack.frontier.v1beta1.DeleteRelationRequest.
2156
+ * Use `create(DeleteRelationRequestSchema)` to create a new message.
2157
+ */
2158
+ export const DeleteRelationRequestSchema = /*@__PURE__*/
2159
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 295);
2160
+
2161
+ /**
2162
+ * Describes the message raystack.frontier.v1beta1.DeleteRelationResponse.
2163
+ * Use `create(DeleteRelationResponseSchema)` to create a new message.
2164
+ */
2165
+ export const DeleteRelationResponseSchema = /*@__PURE__*/
2166
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 296);
2167
+
2168
+ /**
2169
+ * Describes the message raystack.frontier.v1beta1.ListProjectResourcesRequest.
2170
+ * Use `create(ListProjectResourcesRequestSchema)` to create a new message.
2171
+ */
2172
+ export const ListProjectResourcesRequestSchema = /*@__PURE__*/
2173
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 297);
2174
+
2175
+ /**
2176
+ * Describes the message raystack.frontier.v1beta1.ListProjectResourcesResponse.
2177
+ * Use `create(ListProjectResourcesResponseSchema)` to create a new message.
2178
+ */
2179
+ export const ListProjectResourcesResponseSchema = /*@__PURE__*/
2180
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 298);
2181
+
2182
+ /**
2183
+ * Describes the message raystack.frontier.v1beta1.ResourceRequestBody.
2184
+ * Use `create(ResourceRequestBodySchema)` to create a new message.
2185
+ */
2186
+ export const ResourceRequestBodySchema = /*@__PURE__*/
2187
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 299);
2188
+
2189
+ /**
2190
+ * Describes the message raystack.frontier.v1beta1.CreateProjectResourceRequest.
2191
+ * Use `create(CreateProjectResourceRequestSchema)` to create a new message.
2192
+ */
2193
+ export const CreateProjectResourceRequestSchema = /*@__PURE__*/
2194
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 300);
2195
+
2196
+ /**
2197
+ * Describes the message raystack.frontier.v1beta1.CreateProjectResourceResponse.
2198
+ * Use `create(CreateProjectResourceResponseSchema)` to create a new message.
2199
+ */
2200
+ export const CreateProjectResourceResponseSchema = /*@__PURE__*/
2201
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 301);
2202
+
2203
+ /**
2204
+ * Describes the message raystack.frontier.v1beta1.GetProjectResourceRequest.
2205
+ * Use `create(GetProjectResourceRequestSchema)` to create a new message.
2206
+ */
2207
+ export const GetProjectResourceRequestSchema = /*@__PURE__*/
2208
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 302);
2209
+
2210
+ /**
2211
+ * Describes the message raystack.frontier.v1beta1.GetProjectResourceResponse.
2212
+ * Use `create(GetProjectResourceResponseSchema)` to create a new message.
2213
+ */
2214
+ export const GetProjectResourceResponseSchema = /*@__PURE__*/
2215
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 303);
2216
+
2217
+ /**
2218
+ * Describes the message raystack.frontier.v1beta1.UpdateProjectResourceRequest.
2219
+ * Use `create(UpdateProjectResourceRequestSchema)` to create a new message.
2220
+ */
2221
+ export const UpdateProjectResourceRequestSchema = /*@__PURE__*/
2222
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 304);
2223
+
2224
+ /**
2225
+ * Describes the message raystack.frontier.v1beta1.UpdateProjectResourceResponse.
2226
+ * Use `create(UpdateProjectResourceResponseSchema)` to create a new message.
2227
+ */
2228
+ export const UpdateProjectResourceResponseSchema = /*@__PURE__*/
2229
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 305);
2230
+
2231
+ /**
2232
+ * Describes the message raystack.frontier.v1beta1.DeleteProjectResourceRequest.
2233
+ * Use `create(DeleteProjectResourceRequestSchema)` to create a new message.
2234
+ */
2235
+ export const DeleteProjectResourceRequestSchema = /*@__PURE__*/
2236
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 306);
2237
+
2238
+ /**
2239
+ * Describes the message raystack.frontier.v1beta1.DeleteProjectResourceResponse.
2240
+ * Use `create(DeleteProjectResourceResponseSchema)` to create a new message.
2241
+ */
2242
+ export const DeleteProjectResourceResponseSchema = /*@__PURE__*/
2243
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 307);
2244
+
2245
+ /**
2246
+ * Describes the message raystack.frontier.v1beta1.CheckResourcePermissionRequest.
2247
+ * Use `create(CheckResourcePermissionRequestSchema)` to create a new message.
2248
+ */
2249
+ export const CheckResourcePermissionRequestSchema = /*@__PURE__*/
2250
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 308);
2251
+
2252
+ /**
2253
+ * Describes the message raystack.frontier.v1beta1.CheckResourcePermissionResponse.
2254
+ * Use `create(CheckResourcePermissionResponseSchema)` to create a new message.
2255
+ */
2256
+ export const CheckResourcePermissionResponseSchema = /*@__PURE__*/
2257
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 309);
2258
+
2259
+ /**
2260
+ * Describes the message raystack.frontier.v1beta1.BatchCheckPermissionRequest.
2261
+ * Use `create(BatchCheckPermissionRequestSchema)` to create a new message.
2262
+ */
2263
+ export const BatchCheckPermissionRequestSchema = /*@__PURE__*/
2264
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 310);
2265
+
2266
+ /**
2267
+ * Describes the message raystack.frontier.v1beta1.BatchCheckPermissionBody.
2268
+ * Use `create(BatchCheckPermissionBodySchema)` to create a new message.
2269
+ */
2270
+ export const BatchCheckPermissionBodySchema = /*@__PURE__*/
2271
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 311);
2272
+
2273
+ /**
2274
+ * Describes the message raystack.frontier.v1beta1.BatchCheckPermissionResponse.
2275
+ * Use `create(BatchCheckPermissionResponseSchema)` to create a new message.
2276
+ */
2277
+ export const BatchCheckPermissionResponseSchema = /*@__PURE__*/
2278
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 312);
2279
+
2280
+ /**
2281
+ * Describes the message raystack.frontier.v1beta1.BatchCheckPermissionResponsePair.
2282
+ * Use `create(BatchCheckPermissionResponsePairSchema)` to create a new message.
2283
+ */
2284
+ export const BatchCheckPermissionResponsePairSchema = /*@__PURE__*/
2285
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 313);
2286
+
2287
+ /**
2288
+ * Describes the message raystack.frontier.v1beta1.MetaSchemaRequestBody.
2289
+ * Use `create(MetaSchemaRequestBodySchema)` to create a new message.
2290
+ */
2291
+ export const MetaSchemaRequestBodySchema = /*@__PURE__*/
2292
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 314);
2293
+
2294
+ /**
2295
+ * Describes the message raystack.frontier.v1beta1.CreateMetaSchemaRequest.
2296
+ * Use `create(CreateMetaSchemaRequestSchema)` to create a new message.
2297
+ */
2298
+ export const CreateMetaSchemaRequestSchema = /*@__PURE__*/
2299
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 315);
2300
+
2301
+ /**
2302
+ * Describes the message raystack.frontier.v1beta1.CreateMetaSchemaResponse.
2303
+ * Use `create(CreateMetaSchemaResponseSchema)` to create a new message.
2304
+ */
2305
+ export const CreateMetaSchemaResponseSchema = /*@__PURE__*/
2306
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 316);
2307
+
2308
+ /**
2309
+ * Describes the message raystack.frontier.v1beta1.GetMetaSchemaRequest.
2310
+ * Use `create(GetMetaSchemaRequestSchema)` to create a new message.
2311
+ */
2312
+ export const GetMetaSchemaRequestSchema = /*@__PURE__*/
2313
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 317);
2314
+
2315
+ /**
2316
+ * Describes the message raystack.frontier.v1beta1.GetMetaSchemaResponse.
2317
+ * Use `create(GetMetaSchemaResponseSchema)` to create a new message.
2318
+ */
2319
+ export const GetMetaSchemaResponseSchema = /*@__PURE__*/
2320
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 318);
2321
+
2322
+ /**
2323
+ * Describes the message raystack.frontier.v1beta1.UpdateMetaSchemaRequest.
2324
+ * Use `create(UpdateMetaSchemaRequestSchema)` to create a new message.
2325
+ */
2326
+ export const UpdateMetaSchemaRequestSchema = /*@__PURE__*/
2327
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 319);
2328
+
2329
+ /**
2330
+ * Describes the message raystack.frontier.v1beta1.UpdateMetaSchemaResponse.
2331
+ * Use `create(UpdateMetaSchemaResponseSchema)` to create a new message.
2332
+ */
2333
+ export const UpdateMetaSchemaResponseSchema = /*@__PURE__*/
2334
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 320);
2335
+
2336
+ /**
2337
+ * Describes the message raystack.frontier.v1beta1.DeleteMetaSchemaRequest.
2338
+ * Use `create(DeleteMetaSchemaRequestSchema)` to create a new message.
2339
+ */
2340
+ export const DeleteMetaSchemaRequestSchema = /*@__PURE__*/
2341
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 321);
2342
+
2343
+ /**
2344
+ * Describes the message raystack.frontier.v1beta1.DeleteMetaSchemaResponse.
2345
+ * Use `create(DeleteMetaSchemaResponseSchema)` to create a new message.
2346
+ */
2347
+ export const DeleteMetaSchemaResponseSchema = /*@__PURE__*/
2348
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 322);
2349
+
2350
+ /**
2351
+ * Describes the message raystack.frontier.v1beta1.ListMetaSchemasRequest.
2352
+ * Use `create(ListMetaSchemasRequestSchema)` to create a new message.
2353
+ */
2354
+ export const ListMetaSchemasRequestSchema = /*@__PURE__*/
2355
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 323);
2356
+
2357
+ /**
2358
+ * Describes the message raystack.frontier.v1beta1.ListMetaSchemasResponse.
2359
+ * Use `create(ListMetaSchemasResponseSchema)` to create a new message.
2360
+ */
2361
+ export const ListMetaSchemasResponseSchema = /*@__PURE__*/
2362
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 324);
2363
+
2364
+ /**
2365
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationAuditLogsRequest.
2366
+ * Use `create(ListOrganizationAuditLogsRequestSchema)` to create a new message.
2367
+ */
2368
+ export const ListOrganizationAuditLogsRequestSchema = /*@__PURE__*/
2369
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 325);
2370
+
2371
+ /**
2372
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationAuditLogsResponse.
2373
+ * Use `create(ListOrganizationAuditLogsResponseSchema)` to create a new message.
2374
+ */
2375
+ export const ListOrganizationAuditLogsResponseSchema = /*@__PURE__*/
2376
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 326);
2377
+
2378
+ /**
2379
+ * Describes the message raystack.frontier.v1beta1.CreateOrganizationAuditLogsRequest.
2380
+ * Use `create(CreateOrganizationAuditLogsRequestSchema)` to create a new message.
2381
+ */
2382
+ export const CreateOrganizationAuditLogsRequestSchema = /*@__PURE__*/
2383
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 327);
2384
+
2385
+ /**
2386
+ * Describes the message raystack.frontier.v1beta1.CreateOrganizationAuditLogsResponse.
2387
+ * Use `create(CreateOrganizationAuditLogsResponseSchema)` to create a new message.
2388
+ */
2389
+ export const CreateOrganizationAuditLogsResponseSchema = /*@__PURE__*/
2390
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 328);
2391
+
2392
+ /**
2393
+ * Describes the message raystack.frontier.v1beta1.GetOrganizationAuditLogRequest.
2394
+ * Use `create(GetOrganizationAuditLogRequestSchema)` to create a new message.
2395
+ */
2396
+ export const GetOrganizationAuditLogRequestSchema = /*@__PURE__*/
2397
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 329);
2398
+
2399
+ /**
2400
+ * Describes the message raystack.frontier.v1beta1.GetOrganizationAuditLogResponse.
2401
+ * Use `create(GetOrganizationAuditLogResponseSchema)` to create a new message.
2402
+ */
2403
+ export const GetOrganizationAuditLogResponseSchema = /*@__PURE__*/
2404
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 330);
2405
+
2406
+ /**
2407
+ * Describes the message raystack.frontier.v1beta1.DescribePreferencesRequest.
2408
+ * Use `create(DescribePreferencesRequestSchema)` to create a new message.
2409
+ */
2410
+ export const DescribePreferencesRequestSchema = /*@__PURE__*/
2411
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 331);
2412
+
2413
+ /**
2414
+ * Describes the message raystack.frontier.v1beta1.DescribePreferencesResponse.
2415
+ * Use `create(DescribePreferencesResponseSchema)` to create a new message.
2416
+ */
2417
+ export const DescribePreferencesResponseSchema = /*@__PURE__*/
2418
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 332);
2419
+
2420
+ /**
2421
+ * Describes the message raystack.frontier.v1beta1.CreateOrganizationPreferencesRequest.
2422
+ * Use `create(CreateOrganizationPreferencesRequestSchema)` to create a new message.
2423
+ */
2424
+ export const CreateOrganizationPreferencesRequestSchema = /*@__PURE__*/
2425
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 333);
2426
+
2427
+ /**
2428
+ * Describes the message raystack.frontier.v1beta1.CreateOrganizationPreferencesResponse.
2429
+ * Use `create(CreateOrganizationPreferencesResponseSchema)` to create a new message.
2430
+ */
2431
+ export const CreateOrganizationPreferencesResponseSchema = /*@__PURE__*/
2432
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 334);
2433
+
2434
+ /**
2435
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationPreferencesRequest.
2436
+ * Use `create(ListOrganizationPreferencesRequestSchema)` to create a new message.
2437
+ */
2438
+ export const ListOrganizationPreferencesRequestSchema = /*@__PURE__*/
2439
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 335);
2440
+
2441
+ /**
2442
+ * Describes the message raystack.frontier.v1beta1.ListOrganizationPreferencesResponse.
2443
+ * Use `create(ListOrganizationPreferencesResponseSchema)` to create a new message.
2444
+ */
2445
+ export const ListOrganizationPreferencesResponseSchema = /*@__PURE__*/
2446
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 336);
2447
+
2448
+ /**
2449
+ * Describes the message raystack.frontier.v1beta1.CreateProjectPreferencesRequest.
2450
+ * Use `create(CreateProjectPreferencesRequestSchema)` to create a new message.
2451
+ */
2452
+ export const CreateProjectPreferencesRequestSchema = /*@__PURE__*/
2453
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 337);
2454
+
2455
+ /**
2456
+ * Describes the message raystack.frontier.v1beta1.CreateProjectPreferencesResponse.
2457
+ * Use `create(CreateProjectPreferencesResponseSchema)` to create a new message.
2458
+ */
2459
+ export const CreateProjectPreferencesResponseSchema = /*@__PURE__*/
2460
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 338);
2461
+
2462
+ /**
2463
+ * Describes the message raystack.frontier.v1beta1.ListProjectPreferencesRequest.
2464
+ * Use `create(ListProjectPreferencesRequestSchema)` to create a new message.
2465
+ */
2466
+ export const ListProjectPreferencesRequestSchema = /*@__PURE__*/
2467
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 339);
2468
+
2469
+ /**
2470
+ * Describes the message raystack.frontier.v1beta1.ListProjectPreferencesResponse.
2471
+ * Use `create(ListProjectPreferencesResponseSchema)` to create a new message.
2472
+ */
2473
+ export const ListProjectPreferencesResponseSchema = /*@__PURE__*/
2474
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 340);
2475
+
2476
+ /**
2477
+ * Describes the message raystack.frontier.v1beta1.CreateGroupPreferencesRequest.
2478
+ * Use `create(CreateGroupPreferencesRequestSchema)` to create a new message.
2479
+ */
2480
+ export const CreateGroupPreferencesRequestSchema = /*@__PURE__*/
2481
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 341);
2482
+
2483
+ /**
2484
+ * Describes the message raystack.frontier.v1beta1.CreateGroupPreferencesResponse.
2485
+ * Use `create(CreateGroupPreferencesResponseSchema)` to create a new message.
2486
+ */
2487
+ export const CreateGroupPreferencesResponseSchema = /*@__PURE__*/
2488
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 342);
2489
+
2490
+ /**
2491
+ * Describes the message raystack.frontier.v1beta1.ListGroupPreferencesRequest.
2492
+ * Use `create(ListGroupPreferencesRequestSchema)` to create a new message.
2493
+ */
2494
+ export const ListGroupPreferencesRequestSchema = /*@__PURE__*/
2495
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 343);
2496
+
2497
+ /**
2498
+ * Describes the message raystack.frontier.v1beta1.ListGroupPreferencesResponse.
2499
+ * Use `create(ListGroupPreferencesResponseSchema)` to create a new message.
2500
+ */
2501
+ export const ListGroupPreferencesResponseSchema = /*@__PURE__*/
2502
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 344);
2503
+
2504
+ /**
2505
+ * Describes the message raystack.frontier.v1beta1.CreateUserPreferencesRequest.
2506
+ * Use `create(CreateUserPreferencesRequestSchema)` to create a new message.
2507
+ */
2508
+ export const CreateUserPreferencesRequestSchema = /*@__PURE__*/
2509
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 345);
2510
+
2511
+ /**
2512
+ * Describes the message raystack.frontier.v1beta1.CreateUserPreferencesResponse.
2513
+ * Use `create(CreateUserPreferencesResponseSchema)` to create a new message.
2514
+ */
2515
+ export const CreateUserPreferencesResponseSchema = /*@__PURE__*/
2516
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 346);
2517
+
2518
+ /**
2519
+ * Describes the message raystack.frontier.v1beta1.ListUserPreferencesRequest.
2520
+ * Use `create(ListUserPreferencesRequestSchema)` to create a new message.
2521
+ */
2522
+ export const ListUserPreferencesRequestSchema = /*@__PURE__*/
2523
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 347);
2524
+
2525
+ /**
2526
+ * Describes the message raystack.frontier.v1beta1.ListUserPreferencesResponse.
2527
+ * Use `create(ListUserPreferencesResponseSchema)` to create a new message.
2528
+ */
2529
+ export const ListUserPreferencesResponseSchema = /*@__PURE__*/
2530
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 348);
2531
+
2532
+ /**
2533
+ * Describes the message raystack.frontier.v1beta1.CreateCurrentUserPreferencesRequest.
2534
+ * Use `create(CreateCurrentUserPreferencesRequestSchema)` to create a new message.
2535
+ */
2536
+ export const CreateCurrentUserPreferencesRequestSchema = /*@__PURE__*/
2537
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 349);
2538
+
2539
+ /**
2540
+ * Describes the message raystack.frontier.v1beta1.CreateCurrentUserPreferencesResponse.
2541
+ * Use `create(CreateCurrentUserPreferencesResponseSchema)` to create a new message.
2542
+ */
2543
+ export const CreateCurrentUserPreferencesResponseSchema = /*@__PURE__*/
2544
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 350);
2545
+
2546
+ /**
2547
+ * Describes the message raystack.frontier.v1beta1.ListCurrentUserPreferencesRequest.
2548
+ * Use `create(ListCurrentUserPreferencesRequestSchema)` to create a new message.
2549
+ */
2550
+ export const ListCurrentUserPreferencesRequestSchema = /*@__PURE__*/
2551
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 351);
2552
+
2553
+ /**
2554
+ * Describes the message raystack.frontier.v1beta1.ListCurrentUserPreferencesResponse.
2555
+ * Use `create(ListCurrentUserPreferencesResponseSchema)` to create a new message.
2556
+ */
2557
+ export const ListCurrentUserPreferencesResponseSchema = /*@__PURE__*/
2558
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 352);
2559
+
2560
+ /**
2561
+ * Describes the message raystack.frontier.v1beta1.BillingWebhookCallbackRequest.
2562
+ * Use `create(BillingWebhookCallbackRequestSchema)` to create a new message.
2563
+ */
2564
+ export const BillingWebhookCallbackRequestSchema = /*@__PURE__*/
2565
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 353);
2566
+
2567
+ /**
2568
+ * Describes the message raystack.frontier.v1beta1.BillingWebhookCallbackResponse.
2569
+ * Use `create(BillingWebhookCallbackResponseSchema)` to create a new message.
2570
+ */
2571
+ export const BillingWebhookCallbackResponseSchema = /*@__PURE__*/
2572
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 354);
2573
+
2574
+ /**
2575
+ * Describes the message raystack.frontier.v1beta1.CreateProspectPublicRequest.
2576
+ * Use `create(CreateProspectPublicRequestSchema)` to create a new message.
2577
+ */
2578
+ export const CreateProspectPublicRequestSchema = /*@__PURE__*/
2579
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 355);
2580
+
2581
+ /**
2582
+ * Describes the message raystack.frontier.v1beta1.CreateProspectPublicResponse.
2583
+ * Use `create(CreateProspectPublicResponseSchema)` to create a new message.
2584
+ */
2585
+ export const CreateProspectPublicResponseSchema = /*@__PURE__*/
2586
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 356);
2587
+
2588
+ /**
2589
+ * @generated from service raystack.frontier.v1beta1.FrontierService
2590
+ */
2591
+ export const FrontierService = /*@__PURE__*/
2592
+ serviceDesc(file_raystack_frontier_v1beta1_frontier, 0);
2593
+