@scalekit-sdk/node 2.2.0-beta.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/.nvmrc +1 -1
  2. package/README.md +5 -5
  3. package/buf.gen.yaml +1 -5
  4. package/lib/auth.d.ts +9 -6
  5. package/lib/auth.js +4 -20
  6. package/lib/auth.js.map +1 -1
  7. package/lib/connect.d.ts +3 -3
  8. package/lib/connect.js +1 -2
  9. package/lib/connect.js.map +1 -1
  10. package/lib/connection.d.ts +2 -2
  11. package/lib/connection.js +4 -4
  12. package/lib/connection.js.map +1 -1
  13. package/lib/core.js +2 -2
  14. package/lib/core.js.map +1 -1
  15. package/lib/directory.d.ts +2 -2
  16. package/lib/directory.js +7 -7
  17. package/lib/directory.js.map +1 -1
  18. package/lib/domain.d.ts +6 -5
  19. package/lib/domain.js +4 -5
  20. package/lib/domain.js.map +1 -1
  21. package/lib/errors/base-exception.d.ts +1 -1
  22. package/lib/errors/base-exception.js +1 -1
  23. package/lib/errors/base-exception.js.map +1 -1
  24. package/lib/organization.d.ts +10 -9
  25. package/lib/organization.js +11 -9
  26. package/lib/organization.js.map +1 -1
  27. package/lib/passwordless.d.ts +2 -2
  28. package/lib/passwordless.js +8 -7
  29. package/lib/passwordless.js.map +1 -1
  30. package/lib/permission.d.ts +6 -5
  31. package/lib/permission.js +10 -11
  32. package/lib/permission.js.map +1 -1
  33. package/lib/pkg/grpc/buf/validate/validate_pb.d.ts +7 -0
  34. package/lib/pkg/grpc/buf/validate/validate_pb.js +25 -0
  35. package/lib/pkg/grpc/buf/validate/validate_pb.js.map +1 -0
  36. package/lib/pkg/grpc/google/api/annotations_pb.d.ts +7 -0
  37. package/lib/pkg/grpc/google/api/annotations_pb.js +25 -0
  38. package/lib/pkg/grpc/google/api/annotations_pb.js.map +1 -0
  39. package/lib/pkg/grpc/google/api/field_behavior_pb.d.ts +7 -0
  40. package/lib/pkg/grpc/google/api/field_behavior_pb.js +25 -0
  41. package/lib/pkg/grpc/google/api/field_behavior_pb.js.map +1 -0
  42. package/lib/pkg/grpc/google/api/visibility_pb.d.ts +7 -0
  43. package/lib/pkg/grpc/google/api/visibility_pb.js +25 -0
  44. package/lib/pkg/grpc/google/api/visibility_pb.js.map +1 -0
  45. package/lib/pkg/grpc/protoc-gen-openapiv2/options/annotations_pb.d.ts +7 -0
  46. package/lib/pkg/grpc/protoc-gen-openapiv2/options/annotations_pb.js +25 -0
  47. package/lib/pkg/grpc/protoc-gen-openapiv2/options/annotations_pb.js.map +1 -0
  48. package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_pb.d.ts +48 -42
  49. package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_pb.js +27 -263
  50. package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_pb.js.map +1 -1
  51. package/lib/pkg/grpc/scalekit/v1/auth/auth_pb.d.ts +371 -325
  52. package/lib/pkg/grpc/scalekit/v1/auth/auth_pb.js +132 -835
  53. package/lib/pkg/grpc/scalekit/v1/auth/auth_pb.js.map +1 -1
  54. package/lib/pkg/grpc/scalekit/v1/auth/passwordless_pb.d.ts +113 -87
  55. package/lib/pkg/grpc/scalekit/v1/auth/passwordless_pb.js +45 -201
  56. package/lib/pkg/grpc/scalekit/v1/auth/passwordless_pb.js.map +1 -1
  57. package/lib/pkg/grpc/scalekit/v1/auth/webauthn_pb.d.ts +262 -265
  58. package/lib/pkg/grpc/scalekit/v1/auth/webauthn_pb.js +92 -938
  59. package/lib/pkg/grpc/scalekit/v1/auth/webauthn_pb.js.map +1 -1
  60. package/lib/pkg/grpc/scalekit/v1/commons/commons_pb.d.ts +162 -157
  61. package/lib/pkg/grpc/scalekit/v1/commons/commons_pb.js +42 -313
  62. package/lib/pkg/grpc/scalekit/v1/commons/commons_pb.js.map +1 -1
  63. package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.d.ts +1488 -1459
  64. package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.js +353 -2362
  65. package/lib/pkg/grpc/scalekit/v1/connections/connections_pb.js.map +1 -1
  66. package/lib/pkg/grpc/scalekit/v1/directories/directories_pb.d.ts +520 -483
  67. package/lib/pkg/grpc/scalekit/v1/directories/directories_pb.js +224 -1555
  68. package/lib/pkg/grpc/scalekit/v1/directories/directories_pb.js.map +1 -1
  69. package/lib/pkg/grpc/scalekit/v1/domains/domains_pb.d.ts +219 -191
  70. package/lib/pkg/grpc/scalekit/v1/domains/domains_pb.js +96 -553
  71. package/lib/pkg/grpc/scalekit/v1/domains/domains_pb.js.map +1 -1
  72. package/lib/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.d.ts +76 -102
  73. package/lib/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.js +37 -393
  74. package/lib/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.js.map +1 -1
  75. package/lib/pkg/grpc/scalekit/v1/options/options_pb.d.ts +36 -26
  76. package/lib/pkg/grpc/scalekit/v1/options/options_pb.js +20 -69
  77. package/lib/pkg/grpc/scalekit/v1/options/options_pb.js.map +1 -1
  78. package/lib/pkg/grpc/scalekit/v1/organizations/organizations_pb.d.ts +447 -400
  79. package/lib/pkg/grpc/scalekit/v1/organizations/organizations_pb.js +163 -1238
  80. package/lib/pkg/grpc/scalekit/v1/organizations/organizations_pb.js.map +1 -1
  81. package/lib/pkg/grpc/scalekit/v1/roles/roles_pb.d.ts +622 -556
  82. package/lib/pkg/grpc/scalekit/v1/roles/roles_pb.js +201 -1718
  83. package/lib/pkg/grpc/scalekit/v1/roles/roles_pb.js.map +1 -1
  84. package/lib/pkg/grpc/scalekit/v1/sessions/sessions_pb.d.ts +135 -132
  85. package/lib/pkg/grpc/scalekit/v1/sessions/sessions_pb.js +55 -518
  86. package/lib/pkg/grpc/scalekit/v1/sessions/sessions_pb.js.map +1 -1
  87. package/lib/pkg/grpc/scalekit/v1/users/users_pb.d.ts +445 -413
  88. package/lib/pkg/grpc/scalekit/v1/users/users_pb.js +142 -1490
  89. package/lib/pkg/grpc/scalekit/v1/users/users_pb.js.map +1 -1
  90. package/lib/role.d.ts +8 -7
  91. package/lib/role.js +14 -14
  92. package/lib/role.js.map +1 -1
  93. package/lib/scalekit.d.ts +0 -4
  94. package/lib/scalekit.js +0 -4
  95. package/lib/scalekit.js.map +1 -1
  96. package/lib/session.js +15 -24
  97. package/lib/session.js.map +1 -1
  98. package/lib/user.d.ts +6 -5
  99. package/lib/user.js +17 -20
  100. package/lib/user.js.map +1 -1
  101. package/lib/webauthn.js +6 -5
  102. package/lib/webauthn.js.map +1 -1
  103. package/package.json +6 -10
  104. package/reference.md +0 -671
  105. package/src/auth.ts +17 -17
  106. package/src/connect.ts +4 -5
  107. package/src/connection.ts +5 -5
  108. package/src/core.ts +2 -2
  109. package/src/directory.ts +8 -8
  110. package/src/domain.ts +9 -8
  111. package/src/errors/base-exception.ts +3 -2
  112. package/src/organization.ts +18 -15
  113. package/src/passwordless.ts +12 -11
  114. package/src/permission.ts +15 -15
  115. package/src/pkg/grpc/buf/validate/validate_pb.ts +28 -0
  116. package/src/pkg/grpc/google/api/annotations_pb.ts +28 -0
  117. package/src/pkg/grpc/google/api/field_behavior_pb.ts +28 -0
  118. package/src/pkg/grpc/google/api/visibility_pb.ts +28 -0
  119. package/src/pkg/grpc/protoc-gen-openapiv2/options/annotations_pb.ts +28 -0
  120. package/src/pkg/grpc/scalekit/v1/auditlogs/auditlogs_pb.ts +97 -182
  121. package/src/pkg/grpc/scalekit/v1/auth/auth_pb.ts +473 -850
  122. package/src/pkg/grpc/scalekit/v1/auth/passwordless_pb.ts +153 -225
  123. package/src/pkg/grpc/scalekit/v1/auth/webauthn_pb.ts +361 -830
  124. package/src/pkg/grpc/scalekit/v1/commons/commons_pb.ts +237 -358
  125. package/src/pkg/grpc/scalekit/v1/connections/connections_pb.ts +1625 -2826
  126. package/src/pkg/grpc/scalekit/v1/directories/directories_pb.ts +687 -1413
  127. package/src/pkg/grpc/scalekit/v1/domains/domains_pb.ts +286 -542
  128. package/src/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.ts +115 -328
  129. package/src/pkg/grpc/scalekit/v1/options/options_pb.ts +50 -80
  130. package/src/pkg/grpc/scalekit/v1/organizations/organizations_pb.ts +558 -1183
  131. package/src/pkg/grpc/scalekit/v1/roles/roles_pb.ts +765 -1669
  132. package/src/pkg/grpc/scalekit/v1/sessions/sessions_pb.ts +195 -447
  133. package/src/pkg/grpc/scalekit/v1/users/users_pb.ts +592 -1339
  134. package/src/role.ts +21 -19
  135. package/src/scalekit.ts +0 -9
  136. package/src/session.ts +20 -34
  137. package/src/user.ts +30 -26
  138. package/src/webauthn.ts +10 -9
  139. package/tests/utils/test-data.ts +17 -8
  140. package/lib/connected-accounts.d.ts +0 -96
  141. package/lib/connected-accounts.js +0 -186
  142. package/lib/connected-accounts.js.map +0 -1
  143. package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_connect.d.ts +0 -19
  144. package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_connect.js +0 -27
  145. package/lib/pkg/grpc/scalekit/v1/auditlogs/auditlogs_connect.js.map +0 -1
  146. package/lib/pkg/grpc/scalekit/v1/auth/auth_connect.d.ts +0 -118
  147. package/lib/pkg/grpc/scalekit/v1/auth/auth_connect.js +0 -126
  148. package/lib/pkg/grpc/scalekit/v1/auth/auth_connect.js.map +0 -1
  149. package/lib/pkg/grpc/scalekit/v1/auth/passwordless_connect.d.ts +0 -37
  150. package/lib/pkg/grpc/scalekit/v1/auth/passwordless_connect.js +0 -45
  151. package/lib/pkg/grpc/scalekit/v1/auth/passwordless_connect.js.map +0 -1
  152. package/lib/pkg/grpc/scalekit/v1/auth/webauthn_connect.d.ts +0 -82
  153. package/lib/pkg/grpc/scalekit/v1/auth/webauthn_connect.js +0 -90
  154. package/lib/pkg/grpc/scalekit/v1/auth/webauthn_connect.js.map +0 -1
  155. package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_connect.d.ts +0 -87
  156. package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_connect.js +0 -95
  157. package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_connect.js.map +0 -1
  158. package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_pb.d.ts +0 -718
  159. package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_pb.js +0 -893
  160. package/lib/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_pb.js.map +0 -1
  161. package/lib/pkg/grpc/scalekit/v1/connections/connections_connect.d.ts +0 -172
  162. package/lib/pkg/grpc/scalekit/v1/connections/connections_connect.js +0 -180
  163. package/lib/pkg/grpc/scalekit/v1/connections/connections_connect.js.map +0 -1
  164. package/lib/pkg/grpc/scalekit/v1/directories/directories_connect.d.ts +0 -154
  165. package/lib/pkg/grpc/scalekit/v1/directories/directories_connect.js +0 -162
  166. package/lib/pkg/grpc/scalekit/v1/directories/directories_connect.js.map +0 -1
  167. package/lib/pkg/grpc/scalekit/v1/domains/domains_connect.d.ts +0 -73
  168. package/lib/pkg/grpc/scalekit/v1/domains/domains_connect.js +0 -81
  169. package/lib/pkg/grpc/scalekit/v1/domains/domains_connect.js.map +0 -1
  170. package/lib/pkg/grpc/scalekit/v1/organizations/organizations_connect.d.ts +0 -171
  171. package/lib/pkg/grpc/scalekit/v1/organizations/organizations_connect.js +0 -179
  172. package/lib/pkg/grpc/scalekit/v1/organizations/organizations_connect.js.map +0 -1
  173. package/lib/pkg/grpc/scalekit/v1/roles/roles_connect.d.ts +0 -250
  174. package/lib/pkg/grpc/scalekit/v1/roles/roles_connect.js +0 -258
  175. package/lib/pkg/grpc/scalekit/v1/roles/roles_connect.js.map +0 -1
  176. package/lib/pkg/grpc/scalekit/v1/sessions/sessions_connect.d.ts +0 -46
  177. package/lib/pkg/grpc/scalekit/v1/sessions/sessions_connect.js +0 -54
  178. package/lib/pkg/grpc/scalekit/v1/sessions/sessions_connect.js.map +0 -1
  179. package/lib/pkg/grpc/scalekit/v1/tools/tools_connect.d.ts +0 -75
  180. package/lib/pkg/grpc/scalekit/v1/tools/tools_connect.js +0 -83
  181. package/lib/pkg/grpc/scalekit/v1/tools/tools_connect.js.map +0 -1
  182. package/lib/pkg/grpc/scalekit/v1/tools/tools_pb.d.ts +0 -431
  183. package/lib/pkg/grpc/scalekit/v1/tools/tools_pb.js +0 -627
  184. package/lib/pkg/grpc/scalekit/v1/tools/tools_pb.js.map +0 -1
  185. package/lib/pkg/grpc/scalekit/v1/users/users_connect.d.ts +0 -173
  186. package/lib/pkg/grpc/scalekit/v1/users/users_connect.js +0 -181
  187. package/lib/pkg/grpc/scalekit/v1/users/users_connect.js.map +0 -1
  188. package/lib/tools.d.ts +0 -75
  189. package/lib/tools.js +0 -127
  190. package/lib/tools.js.map +0 -1
  191. package/src/connected-accounts.ts +0 -283
  192. package/src/pkg/grpc/scalekit/v1/auditlogs/auditlogs_connect.ts +0 -26
  193. package/src/pkg/grpc/scalekit/v1/auth/auth_connect.ts +0 -125
  194. package/src/pkg/grpc/scalekit/v1/auth/passwordless_connect.ts +0 -44
  195. package/src/pkg/grpc/scalekit/v1/auth/webauthn_connect.ts +0 -89
  196. package/src/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_connect.ts +0 -94
  197. package/src/pkg/grpc/scalekit/v1/connected_accounts/connected_accounts_pb.ts +0 -1294
  198. package/src/pkg/grpc/scalekit/v1/connections/connections_connect.ts +0 -179
  199. package/src/pkg/grpc/scalekit/v1/directories/directories_connect.ts +0 -161
  200. package/src/pkg/grpc/scalekit/v1/domains/domains_connect.ts +0 -80
  201. package/src/pkg/grpc/scalekit/v1/organizations/organizations_connect.ts +0 -178
  202. package/src/pkg/grpc/scalekit/v1/roles/roles_connect.ts +0 -257
  203. package/src/pkg/grpc/scalekit/v1/sessions/sessions_connect.ts +0 -53
  204. package/src/pkg/grpc/scalekit/v1/tools/tools_connect.ts +0 -82
  205. package/src/pkg/grpc/scalekit/v1/tools/tools_pb.ts +0 -847
  206. package/src/pkg/grpc/scalekit/v1/users/users_connect.ts +0 -180
  207. package/src/tools.ts +0 -166
  208. package/tests/connected-accounts.test.ts +0 -434
  209. package/tests/tools.test.ts +0 -239
@@ -1,1577 +1,229 @@
1
1
  "use strict";
2
- // @generated by protoc-gen-es v1.10.0 with parameter "target=ts"
2
+ // @generated by protoc-gen-es v2.11.0 with parameter "target=ts"
3
3
  // @generated from file scalekit/v1/users/users.proto (package scalekit.v1.users, syntax proto3)
4
4
  /* eslint-disable */
5
- // @ts-nocheck
6
5
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.ListUserPermissionsResponse = exports.Permission = exports.ListUserPermissionsRequest = exports.RemoveUserRoleRequest = exports.AssignUserRolesResponse = exports.AssignRoleRequest = exports.AssignUserRolesRequest = exports.ListUserRolesResponse = exports.ListUserRolesRequest = exports.ResendInviteResponse = exports.ResendInviteRequest = exports.Invite = exports.UpdateUserProfile = exports.CreateUserProfile = exports.CreateUser = exports.SearchOrganizationUsersResponse = exports.SearchOrganizationUsersRequest = exports.UpdateMembershipResponse = exports.CreateMembership = exports.UpdateMembership = exports.UpdateMembershipRequest = exports.DeleteUserRequest = exports.SearchUsersResponse = exports.SearchUsersRequest = exports.ListUsersResponse = exports.ListUsersRequest = exports.CreateMembershipResponse = exports.CreateMembershipRequest = exports.DeleteMembershipRequest = exports.ListOrganizationUsersResponse = exports.ListOrganizationUsersRequest = exports.GetCurrentUserRequest = exports.GetCurrentUserResponse = exports.GetUserResponse = exports.GetUserRequest = exports.UpdateUserResponse = exports.UpdateUserRequest = exports.UpdateUser = exports.CreateUserAndMembershipResponse = exports.CreateUserAndMembershipRequest = exports.User = void 0;
8
- const protobuf_1 = require("@bufbuild/protobuf");
9
- const commons_pb_js_1 = require("../commons/commons_pb.js");
6
+ exports.UserService = exports.ListUserPermissionsResponseSchema = exports.PermissionSchema = exports.ListUserPermissionsRequestSchema = exports.RemoveUserRoleRequestSchema = exports.AssignUserRolesResponseSchema = exports.AssignRoleRequestSchema = exports.AssignUserRolesRequestSchema = exports.ListUserRolesResponseSchema = exports.ListUserRolesRequestSchema = exports.ResendInviteResponseSchema = exports.ResendInviteRequestSchema = exports.InviteSchema = exports.UpdateUserProfileSchema = exports.CreateUserProfileSchema = exports.CreateUserSchema = exports.SearchOrganizationUsersResponseSchema = exports.SearchOrganizationUsersRequestSchema = exports.UpdateMembershipResponseSchema = exports.CreateMembershipSchema = exports.UpdateMembershipSchema = exports.UpdateMembershipRequestSchema = exports.DeleteUserRequestSchema = exports.SearchUsersResponseSchema = exports.SearchUsersRequestSchema = exports.ListUsersResponseSchema = exports.ListUsersRequestSchema = exports.CreateMembershipResponseSchema = exports.CreateMembershipRequestSchema = exports.DeleteMembershipRequestSchema = exports.ListOrganizationUsersResponseSchema = exports.ListOrganizationUsersRequestSchema = exports.GetCurrentUserRequestSchema = exports.GetCurrentUserResponseSchema = exports.GetUserResponseSchema = exports.GetUserRequestSchema = exports.UpdateUserResponseSchema = exports.UpdateUserRequestSchema = exports.UpdateUserSchema = exports.CreateUserAndMembershipResponseSchema = exports.CreateUserAndMembershipRequestSchema = exports.UserSchema = exports.file_scalekit_v1_users_users = void 0;
7
+ const codegenv2_1 = require("@bufbuild/protobuf/codegenv2");
8
+ const validate_pb_1 = require("../../../buf/validate/validate_pb");
9
+ const annotations_pb_1 = require("../../../google/api/annotations_pb");
10
+ const field_behavior_pb_1 = require("../../../google/api/field_behavior_pb");
11
+ const visibility_pb_1 = require("../../../google/api/visibility_pb");
12
+ const wkt_1 = require("@bufbuild/protobuf/wkt");
13
+ const annotations_pb_2 = require("../../../protoc-gen-openapiv2/options/annotations_pb");
14
+ const commons_pb_1 = require("../commons/commons_pb");
15
+ const options_pb_1 = require("../options/options_pb");
10
16
  /**
11
- * @generated from message scalekit.v1.users.User
17
+ * Describes the file scalekit/v1/users/users.proto.
12
18
  */
13
- class User extends protobuf_1.Message {
14
- constructor(data) {
15
- super();
16
- /**
17
- * @generated from field: string id = 1;
18
- */
19
- this.id = "";
20
- /**
21
- * @generated from field: string environment_id = 2;
22
- */
23
- this.environmentId = "";
24
- /**
25
- * @generated from field: string email = 5;
26
- */
27
- this.email = "";
28
- /**
29
- * @generated from field: repeated scalekit.v1.commons.OrganizationMembership memberships = 7;
30
- */
31
- this.memberships = [];
32
- /**
33
- * @generated from field: map<string, string> metadata = 9;
34
- */
35
- this.metadata = {};
36
- protobuf_1.proto3.util.initPartial(data, this);
37
- }
38
- static fromBinary(bytes, options) {
39
- return new User().fromBinary(bytes, options);
40
- }
41
- static fromJson(jsonValue, options) {
42
- return new User().fromJson(jsonValue, options);
43
- }
44
- static fromJsonString(jsonString, options) {
45
- return new User().fromJsonString(jsonString, options);
46
- }
47
- static equals(a, b) {
48
- return protobuf_1.proto3.util.equals(User, a, b);
49
- }
50
- }
51
- exports.User = User;
52
- User.runtime = protobuf_1.proto3;
53
- User.typeName = "scalekit.v1.users.User";
54
- User.fields = protobuf_1.proto3.util.newFieldList(() => [
55
- { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
56
- { no: 2, name: "environment_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
57
- { no: 3, name: "create_time", kind: "message", T: protobuf_1.Timestamp },
58
- { no: 4, name: "update_time", kind: "message", T: protobuf_1.Timestamp },
59
- { no: 5, name: "email", kind: "scalar", T: 9 /* ScalarType.STRING */ },
60
- { no: 6, name: "external_id", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
61
- { no: 7, name: "memberships", kind: "message", T: commons_pb_js_1.OrganizationMembership, repeated: true },
62
- { no: 8, name: "user_profile", kind: "message", T: commons_pb_js_1.UserProfile },
63
- { no: 9, name: "metadata", kind: "map", K: 9 /* ScalarType.STRING */, V: { kind: "scalar", T: 9 /* ScalarType.STRING */ } },
64
- { no: 10, name: "last_login_time", kind: "message", T: protobuf_1.Timestamp },
65
- ]);
19
+ exports.file_scalekit_v1_users_users = (0, codegenv2_1.fileDesc)("Ch1zY2FsZWtpdC92MS91c2Vycy91c2Vycy5wcm90bxIRc2NhbGVraXQudjEudXNlcnMi9AwKBFVzZXIScQoCaWQYASABKAlCZZJBYjJIVW5pcXVlIHN5c3RlbS1nZW5lcmF0ZWQgaWRlbnRpZmllciBmb3IgdGhlIHVzZXIuIEltbXV0YWJsZSBvbmNlIGNyZWF0ZWQuShYidXNyXzEyMzRhYmNkNTY3OGVmZ2giEqABCg5lbnZpcm9ubWVudF9pZBgCIAEoCUKHAZJBcjJYSWRlbnRpZmllciBvZiB0aGUgZW52aXJvbm1lbnQgd2hlcmUgdGhlIHVzZXIgd2FzIGNyZWF0ZWQuIFN5c3RlbS1hc3NpZ25lZCBhbmQgcmVhZC1vbmx5LkoWImVudl85ODc2enl4dzU0MzJ2dXRzIuBBA/rS5JMCCRIHUFJFVklFVxKQAQoLY3JlYXRlX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQl+SQVkyV1RpbWVzdGFtcCB3aGVuIHRoZSB1c2VyIGFjY291bnQgd2FzIGluaXRpYWxseSBjcmVhdGVkLiBBdXRvbWF0aWNhbGx5IHNldCBieSB0aGUgc2VydmVyLuBBAxKVAQoLdXBkYXRlX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQmSSQV4yXFRpbWVzdGFtcCBvZiB0aGUgbGFzdCBtb2RpZmljYXRpb24gdG8gdGhlIHVzZXIgYWNjb3VudC4gQXV0b21hdGljYWxseSB1cGRhdGVkIGJ5IHRoZSBzZXJ2ZXIu4EEDEpEBCgVlbWFpbBgFIAEoCUKBAZJBdzJhUHJpbWFyeSBlbWFpbCBhZGRyZXNzIGZvciB0aGUgdXNlci4gTXVzdCBiZSB1bmlxdWUgYWNyb3NzIHRoZSBlbnZpcm9ubWVudCBhbmQgdmFsaWQgcGVyIFJGQyA1MzIyLkoSInVzZXJAZXhhbXBsZS5jb20iukgEcgJgARKWAQoLZXh0ZXJuYWxfaWQYBiABKAlCfJJBeTJjWW91ciBhcHBsaWNhdGlvbidzIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIG9yZ2FuaXphdGlvbiwgdXNlZCB0byBsaW5rIFNjYWxla2l0IHdpdGggeW91ciBzeXN0ZW0uShIiZXh0XzEyMzQ1YTY3Yjg5YyJIAIgBARKcAQoLbWVtYmVyc2hpcHMYByADKAsyKy5zY2FsZWtpdC52MS5jb21tb25zLk9yZ2FuaXphdGlvbk1lbWJlcnNoaXBCWpJBVzJVTGlzdCBvZiBvcmdhbml6YXRpb24gbWVtYmVyc2hpcHMuIEF1dG9tYXRpY2FsbHkgcG9wdWxhdGVkIGJhc2VkIG9uIGdyb3VwIGFzc2lnbm1lbnRzLhKPAQoMdXNlcl9wcm9maWxlGAggASgLMiAuc2NhbGVraXQudjEuY29tbW9ucy5Vc2VyUHJvZmlsZUJXkkFUMlJVc2VyJ3MgcGVyc29uYWwgaW5mb3JtYXRpb24gaW5jbHVkaW5nIG5hbWUsIGFkZHJlc3MsIGFuZCBvdGhlciBwcm9maWxlIGF0dHJpYnV0ZXMuEvYBCghtZXRhZGF0YRgJIAMoCzIlLnNjYWxla2l0LnYxLnVzZXJzLlVzZXIuTWV0YWRhdGFFbnRyeUK8AZJBnwEyZEN1c3RvbSBrZXktdmFsdWUgcGFpcnMgZm9yIHN0b3JpbmcgYWRkaXRpb25hbCB1c2VyIGNvbnRleHQuIEtleXMgKDMtMjUgY2hhcnMpLCB2YWx1ZXMgKDEtMjU2IGNoYXJzKS5KN3siZGVwYXJ0bWVudCI6ICJlbmdpbmVlcmluZyIsICJsb2NhdGlvbiI6ICJueWMtb2ZmaWNlIn26SBaaARMQFCIGcgQQAxgZKgdyBRABGIACEpIBCg9sYXN0X2xvZ2luX3RpbWUYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQl2SQVcyVVRpbWVzdGFtcCBvZiB0aGUgdXNlcidzIG1vc3QgcmVjZW50IHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24uIFVwZGF0ZWQgYXV0b21hdGljYWxseS7gQQMaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQg4KDF9leHRlcm5hbF9pZCL6AQoeQ3JlYXRlVXNlckFuZE1lbWJlcnNoaXBSZXF1ZXN0EhcKD29yZ2FuaXphdGlvbl9pZBgBIAEoCRIzCgR1c2VyGAIgASgLMh0uc2NhbGVraXQudjEudXNlcnMuQ3JlYXRlVXNlckIGukgDyAEBEnAKFXNlbmRfaW52aXRhdGlvbl9lbWFpbBgDIAEoCEJMkkFJMkFJZiB0cnVlLCBzZW5kcyBhbiBhY3RpdmF0aW9uIGVtYWlsIHRvIHRoZSB1c2VyLiBEZWZhdWx0cyB0byB0cnVlLkoEdHJ1ZUgAiAEBQhgKFl9zZW5kX2ludml0YXRpb25fZW1haWwiSAofQ3JlYXRlVXNlckFuZE1lbWJlcnNoaXBSZXNwb25zZRIlCgR1c2VyGAEgASgLMhcuc2NhbGVraXQudjEudXNlcnMuVXNlciKNBQoKVXBkYXRlVXNlchKWAQoLZXh0ZXJuYWxfaWQYBiABKAlCfJJBeTJjWW91ciBhcHBsaWNhdGlvbidzIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIG9yZ2FuaXphdGlvbiwgdXNlZCB0byBsaW5rIFNjYWxla2l0IHdpdGggeW91ciBzeXN0ZW0uShIiZXh0XzEyMzQ1YTY3Yjg5YyJIAIgBARKTAQoMdXNlcl9wcm9maWxlGAggASgLMiQuc2NhbGVraXQudjEudXNlcnMuVXBkYXRlVXNlclByb2ZpbGVCV5JBVDJSVXNlcidzIHBlcnNvbmFsIGluZm9ybWF0aW9uIGluY2x1ZGluZyBuYW1lLCBhZGRyZXNzLCBhbmQgb3RoZXIgcHJvZmlsZSBhdHRyaWJ1dGVzLhL8AQoIbWV0YWRhdGEYCSADKAsyKy5zY2FsZWtpdC52MS51c2Vycy5VcGRhdGVVc2VyLk1ldGFkYXRhRW50cnlCvAGSQZ8BMmRDdXN0b20ga2V5LXZhbHVlIHBhaXJzIGZvciBzdG9yaW5nIGFkZGl0aW9uYWwgdXNlciBjb250ZXh0LiBLZXlzICgzLTI1IGNoYXJzKSwgdmFsdWVzICgxLTI1NiBjaGFycykuSjd7ImRlcGFydG1lbnQiOiAiZW5naW5lZXJpbmciLCAibG9jYXRpb24iOiAibnljLW9mZmljZSJ9ukgWmgETEBQiBnIEEAMYGSoHcgUQARiAAhovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCDgoMX2V4dGVybmFsX2lkSgQIARAGSgQIBxAISgQIChALIpUEChFVcGRhdGVVc2VyUmVxdWVzdBKIAQoCaWQYASABKAlCepJBaDJOU3lzdGVtLWdlbmVyYXRlZCB1c2VyIElELiBNdXN0IHN0YXJ0IHdpdGggJ3Vzcl8nIGFuZCBiZSAxOS0yNSBjaGFyYWN0ZXJzIGxvbmcuShYidXNyXzEyMzRhYmNkNTY3OGVmZ2giukgMcgoQExgZOgR1c3JfSAASjgEKC2V4dGVybmFsX2lkGAIgASgJQneSQXQyY1lvdXIgYXBwbGljYXRpb24ncyB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBvcmdhbml6YXRpb24sIHVzZWQgdG8gbGluayBTY2FsZWtpdCB3aXRoIHlvdXIgc3lzdGVtLkoNImV4dF83ODkweHl6IkgAEtUBCgR1c2VyGAMgASgLMh0uc2NhbGVraXQudjEudXNlcnMuVXBkYXRlVXNlckKnAZJBnQEycVVzZXIgZmllbGRzIHRvIHVwZGF0ZS4gT25seSBzcGVjaWZpZWQgZmllbGRzIHdpbGwgYmUgbW9kaWZpZWQuIFJlcXVpcmVkIGZpZWxkcyBtdXN0IGJlIHByb3ZpZGVkIGlmIGJlaW5nIGNoYW5nZWQuSih7ImZpcnN0TmFtZSI6ICJKb2huIiwgImxhc3ROYW1lIjogIkRvZSJ9ukgDyAEBQgwKCmlkZW50aXRpZXMiOwoSVXBkYXRlVXNlclJlc3BvbnNlEiUKBHVzZXIYASABKAsyFy5zY2FsZWtpdC52MS51c2Vycy5Vc2VyIoMCCg5HZXRVc2VyUmVxdWVzdBJSCgJpZBgBIAEoCUJEkkEyMhhTeXN0ZW0tZ2VuZXJhdGVkIHVzZXIgSURKFiJ1c3JfMTIzNGFiY2Q1Njc4ZWZnaCK6SAxyChABGCA6BHVzcl9IABKOAQoLZXh0ZXJuYWxfaWQYAiABKAlCd5JBdDJjWW91ciBhcHBsaWNhdGlvbidzIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIG9yZ2FuaXphdGlvbiwgdXNlZCB0byBsaW5rIFNjYWxla2l0IHdpdGggeW91ciBzeXN0ZW0uSg0iZXh0Xzc4OTB4eXoiSABCDAoKaWRlbnRpdGllcyI4Cg9HZXRVc2VyUmVzcG9uc2USJQoEdXNlchgBIAEoCzIXLnNjYWxla2l0LnYxLnVzZXJzLlVzZXIiwAEKFkdldEN1cnJlbnRVc2VyUmVzcG9uc2USJQoEdXNlchgBIAEoCzIXLnNjYWxla2l0LnYxLnVzZXJzLlVzZXISfwoSY3VycmVudF9zZXNzaW9uX2lkGAIgASgJQmOSQWAyRVRoZSBJRCBvZiB0aGUgY3VycmVudCBzZXNzaW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgYXV0aGVudGljYXRlZCB1c2VyLkoXInNlc3NfMTIzNGFiY2Q1Njc4ZWZnaCIiFwoVR2V0Q3VycmVudFVzZXJSZXF1ZXN0Is8EChxMaXN0T3JnYW5pemF0aW9uVXNlcnNSZXF1ZXN0ErkBCg9vcmdhbml6YXRpb25faWQYASABKAlCnwGSQYwBMnJVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgb3JnYW5pemF0aW9uIGZvciB3aGljaCB0byBsaXN0IHVzZXJzLiBNdXN0IHN0YXJ0IHdpdGggJ29yZ18nIGFuZCBiZSAxLTMyIGNoYXJhY3RlcnMgbG9uZy5KFiJvcmdfMTIzNGFiY2Q1Njc4ZWZnaCK6SAxyChABGCA6BG9yZ18SnwEKCXBhZ2Vfc2l6ZRgCIAEoDUKLAZJBfzJ5TWF4aW11bSBudW1iZXIgb2YgdXNlcnMgdG8gcmV0dXJuIGluIGEgc2luZ2xlIHJlc3BvbnNlLiBWYWxpZCByYW5nZTogMS0xMDAuIFNlcnZlciBtYXkgcmV0dXJuIGZld2VyIHVzZXJzIHRoYW4gc3BlY2lmaWVkLkoCNTC6SAYqBBhkKAAS0AEKCnBhZ2VfdG9rZW4YAyABKAlCuwGSQbcBMoABUGFnaW5hdGlvbiB0b2tlbiBmcm9tIGEgcHJldmlvdXMgTGlzdFVzZXJSZXNwb25zZS4gVXNlZCB0byByZXRyaWV2ZSB0aGUgbmV4dCBwYWdlIG9mIHJlc3VsdHMuIExlYXZlIGVtcHR5IGZvciB0aGUgZmlyc3QgcmVxdWVzdC5KMiJleUp3WVdkbElqb2dNaXdnSW14aGMzUmZhV1FpT2lBaWRYTnlYekV5TXpRMUluMD0iIvQECh1MaXN0T3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZRKrAQoPbmV4dF9wYWdlX3Rva2VuGAEgASgJQpEBkkGNATJXT3BhcXVlIHRva2VuIGZvciByZXRyaWV2aW5nIHRoZSBuZXh0IHBhZ2Ugb2YgcmVzdWx0cy4gRW1wdHkgaWYgdGhlcmUgYXJlIG5vIG1vcmUgcGFnZXMuSjIiZXlKd1lXZGxJam9nTWl3Z0lteGhjM1JmYVdRaU9pQWlkWE55WHpFeU16UTFJbjA9IhJtCgp0b3RhbF9zaXplGAIgASgNQlmSQVYyTlRvdGFsIG51bWJlciBvZiB1c2VycyBtYXRjaGluZyB0aGUgcmVxdWVzdCBjcml0ZXJpYSwgcmVnYXJkbGVzcyBvZiBwYWdpbmF0aW9uLkoEMTA0MhKLAQoFdXNlcnMYAyADKAsyFy5zY2FsZWtpdC52MS51c2Vycy5Vc2VyQmOSQWAyXkxpc3Qgb2YgdXNlciBvYmplY3RzIGZvciB0aGUgY3VycmVudCBwYWdlLiBNYXkgY29udGFpbiBmZXdlciBlbnRyaWVzIHRoYW4gcmVxdWVzdGVkIHBhZ2Vfc2l6ZS4SpwEKD3ByZXZfcGFnZV90b2tlbhgEIAEoCUKNAZJBiQEyU09wYXF1ZSB0b2tlbiBmb3IgcmV0cmlldmluZyB0aGUgcHJldmlvdXMgcGFnZSBvZiByZXN1bHRzLiBFbXB0eSBmb3IgdGhlIGZpcnN0IHBhZ2UuSjIiZXlKd1lXZGxJam9nTUN3Z0ltWnBjbk4wWDJsa0lqb2dJblZ6Y2w4NU9EYzJOU0o5IiLSBAoXRGVsZXRlTWVtYmVyc2hpcFJlcXVlc3QSlwEKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUJ+kkFsMlJVbmlxdWUgb3JnYW5pemF0aW9uIGlkZW50aWZpZXIuIE11c3Qgc3RhcnQgd2l0aCAnb3JnXycgYW5kIGJlIDEtMzIgY2hhcmFjdGVycyBsb25nShYib3JnXzEyMzRhYmNkNTY3OGVmZ2giukgMcgoQARggOgRvcmdfEn0KAmlkGAIgASgJQm+SQV0yQ1N5c3RlbS1nZW5lcmF0ZWQgdXNlciBJRC4gTXVzdCBzdGFydCB3aXRoICd1c3JfJyAoMTktMjUgY2hhcmFjdGVycylKFiJ1c3JfMTIzNGFiY2Q1Njc4ZWZnaCK6SAxyChATGBk6BHVzcl9IABJ9CgtleHRlcm5hbF9pZBgDIAEoCUJmkkFjMlJFeHRlcm5hbCBzeXN0ZW0gaWRlbnRpZmllciBmcm9tIGNvbm5lY3RlZCBkaXJlY3Rvcmllcy4gTXVzdCBtYXRjaCBleGlzdGluZyByZWNvcmRzSg0iZXh0Xzc4OTB4eXoiSAAShAEKB2Nhc2NhZGUYBSABKAhCbpJBXDJTSWYgdHJ1ZSwgaWYgdXNlciBoYXMgbm8gbWVtYmVyc2hpcHMgbGVmdCB0aGUgdXNlciBpcyBhbHNvIGRlbGV0ZWQuIGRlZmF1bHRzIHRvIHRydWVKBWZhbHNl+tLkkwIJEgdQUkVWSUVXSAGIAQFCDAoKaWRlbnRpdGllc0IKCghfY2FzY2FkZSLnBQoXQ3JlYXRlTWVtYmVyc2hpcFJlcXVlc3QSpwEKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUKNAZJBezJhVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIHRhcmdldCBvcmdhbml6YXRpb24uIE11c3Qgc3RhcnQgd2l0aCAnb3JnXycgYW5kIGJlIDEtMzIgY2hhcmFjdGVycyBsb25nLkoWIm9yZ18xMjM0YWJjZDU2NzhlZmdoIrpIDHIKEAEYIDoEb3JnXxKDAQoKbWVtYmVyc2hpcBgCIAEoCzIjLnNjYWxla2l0LnYxLnVzZXJzLkNyZWF0ZU1lbWJlcnNoaXBCSpJBQTI/TWVtYmVyc2hpcCBkZXRhaWxzIHRvIGNyZWF0ZS4gUmVxdWlyZWQgZmllbGRzIG11c3QgYmUgcHJvdmlkZWQuukgDyAEBEn0KAmlkGAMgASgJQm+SQV0yQ1N5c3RlbS1nZW5lcmF0ZWQgdXNlciBJRC4gTXVzdCBzdGFydCB3aXRoICd1c3JfJyAoMTktMjUgY2hhcmFjdGVycylKFiJ1c3JfMTIzNGFiY2Q1Njc4ZWZnaCK6SAxyChATGBk6BHVzcl9IABKCAQoLZXh0ZXJuYWxfaWQYBCABKAlCa5JBaDJXRXh0ZXJuYWwgc3lzdGVtIGlkZW50aWZpZXIgZnJvbSBjb25uZWN0ZWQgZGlyZWN0b3JpZXMuIE11c3QgYmUgdW5pcXVlIGFjcm9zcyB0aGUgc3lzdGVtSg0iZXh0Xzc4OTB4eXoiSAAScAoVc2VuZF9pbnZpdGF0aW9uX2VtYWlsGAUgASgIQkySQUkyQUlmIHRydWUsIHNlbmRzIGFuIGFjdGl2YXRpb24gZW1haWwgdG8gdGhlIHVzZXIuIERlZmF1bHRzIHRvIHRydWUuSgR0cnVlSAGIAQFCDAoKaWRlbnRpdGllc0IYChZfc2VuZF9pbnZpdGF0aW9uX2VtYWlsIkEKGENyZWF0ZU1lbWJlcnNoaXBSZXNwb25zZRIlCgR1c2VyGAEgASgLMhcuc2NhbGVraXQudjEudXNlcnMuVXNlciKFAgoQTGlzdFVzZXJzUmVxdWVzdBJqCglwYWdlX3NpemUYASABKA1CV5JBVDJOTWF4aW11bSBudW1iZXIgb2Ygb3JnYW5pemF0aW9ucyB0byByZXR1cm4gcGVyIHBhZ2UuIE11c3QgYmUgYmV0d2VlbiAxMCBhbmQgMTAwSgIzMBKEAQoKcGFnZV90b2tlbhgCIAEoCUJwkkFtMltQYWdpbmF0aW9uIHRva2VuIGZyb20gdGhlIHByZXZpb3VzIHJlc3BvbnNlLiBVc2UgdG8gcmV0cmlldmUgdGhlIG5leHQgcGFnZSBvZiBvcmdhbml6YXRpb25zSg4iPHBhZ2VfdG9rZW4+IiKQBAoRTGlzdFVzZXJzUmVzcG9uc2USOwoFdXNlcnMYASADKAsyFy5zY2FsZWtpdC52MS51c2Vycy5Vc2VyQhOSQRAyDkxpc3Qgb2YgdXNlcnMuEqQBCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAlCigGSQYYBMlBUb2tlbiBmb3IgcmV0cmlldmluZyB0aGUgbmV4dCBwYWdlIG9mIHJlc3VsdHMuIEVtcHR5IGlmIHRoZXJlIGFyZSBubyBtb3JlIHBhZ2VzLkoyImV5SndZV2RsSWpvZ01pd2dJbXhoYzNSZmFXUWlPaUFpZFhOeVh6RXlNelExSW4wPSISbQoKdG90YWxfc2l6ZRgDIAEoDUJZkkFWMk5Ub3RhbCBudW1iZXIgb2YgdXNlcnMgbWF0Y2hpbmcgdGhlIHJlcXVlc3QgY3JpdGVyaWEsIHJlZ2FyZGxlc3Mgb2YgcGFnaW5hdGlvbi5KBDEwNDISpwEKD3ByZXZfcGFnZV90b2tlbhgEIAEoCUKNAZJBiQEyU1Rva2VuIGZvciByZXRyaWV2aW5nIHRoZSBwcmV2aW91cyBwYWdlIG9mIHJlc3VsdHMuIEVtcHR5IGlmIHRoaXMgaXMgdGhlIGZpcnN0IHBhZ2UuSjIiZXlKd1lXZGxJam9nTUN3Z0ltWnBjbk4wWDJsa0lqb2dJblZ6Y2w4NU9EYzJOU0o5IiLHAwoSU2VhcmNoVXNlcnNSZXF1ZXN0EqMBCgVxdWVyeRgBIAEoCUKTAZJBgwEyb1NlYXJjaCB0ZXJtIHRvIG1hdGNoIGFnYWluc3QgdXNlciBlbWFpbCwgSURzLCBvciBleHRlcm5hbCBJRHMuIE11c3QgYmUgYXQgbGVhc3QgMyBjaGFyYWN0ZXJzLiBDYXNlIGluc2Vuc2l0aXZlLkoQam9obkBleGFtcGxlLmNvbbpICcgBAXIEEAMYZBJuCglwYWdlX3NpemUYAiABKA1CW5JBUTJLTWF4aW11bSBudW1iZXIgb2YgdXNlcnMgdG8gcmV0dXJuIHBlciBwYWdlLiBWYWx1ZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMzAuSgIzMLpIBCoCGB4SmgEKCnBhZ2VfdG9rZW4YAyABKAlChQGSQYEBMmFUb2tlbiBmcm9tIGEgcHJldmlvdXMgcmVzcG9uc2UgZm9yIHBhZ2luYXRpb24uIFByb3ZpZGUgdGhpcyB0byByZXRyaWV2ZSB0aGUgbmV4dCBwYWdlIG9mIHJlc3VsdHMuShxleUp3WVdkbElqb3lMQ0pzYVcxcGRDSTZNekI5IpsEChNTZWFyY2hVc2Vyc1Jlc3BvbnNlEqQBCg9uZXh0X3BhZ2VfdG9rZW4YASABKAlCigGSQYYBMlBUb2tlbiBmb3IgcmV0cmlldmluZyB0aGUgbmV4dCBwYWdlIG9mIHJlc3VsdHMuIEVtcHR5IGlmIHRoZXJlIGFyZSBubyBtb3JlIHBhZ2VzLkoyImV5SndZV2RsSWpvZ01pd2dJbXhoYzNSZmFXUWlPaUFpZFhOeVh6RXlNelExSW4wPSISbQoKdG90YWxfc2l6ZRgCIAEoDUJZkkFWMk5Ub3RhbCBudW1iZXIgb2YgdXNlcnMgbWF0Y2hpbmcgdGhlIHJlcXVlc3QgY3JpdGVyaWEsIHJlZ2FyZGxlc3Mgb2YgcGFnaW5hdGlvbi5KBDEwNDISRAoFdXNlcnMYAyADKAsyFy5zY2FsZWtpdC52MS51c2Vycy5Vc2VyQhySQRkyF0xpc3Qgb2YgbWF0Y2hpbmcgdXNlcnMuEqcBCg9wcmV2X3BhZ2VfdG9rZW4YBCABKAlCjQGSQYkBMlNUb2tlbiBmb3IgcmV0cmlldmluZyB0aGUgcHJldmlvdXMgcGFnZSBvZiByZXN1bHRzLiBFbXB0eSBpZiB0aGlzIGlzIHRoZSBmaXJzdCBwYWdlLkoyImV5SndZV2RsSWpvZ01Dd2dJbVpwY25OMFgybGtJam9nSW5WemNsODVPRGMyTlNKOSIinwIKEURlbGV0ZVVzZXJSZXF1ZXN0En0KAmlkGAEgASgJQm+SQV0yQ1N5c3RlbS1nZW5lcmF0ZWQgdXNlciBJRC4gTXVzdCBzdGFydCB3aXRoICd1c3JfJyAoMTktMjUgY2hhcmFjdGVycylKFiJ1c3JfMTIzNGFiY2Q1Njc4ZWZnaCK6SAxyChATGBk6BHVzcl9IABJ9CgtleHRlcm5hbF9pZBgCIAEoCUJmkkFjMlJFeHRlcm5hbCBzeXN0ZW0gaWRlbnRpZmllciBmcm9tIGNvbm5lY3RlZCBkaXJlY3Rvcmllcy4gTXVzdCBtYXRjaCBleGlzdGluZyByZWNvcmRzSg0iZXh0Xzc4OTB4eXoiSABCDAoKaWRlbnRpdGllcyLuBAoXVXBkYXRlTWVtYmVyc2hpcFJlcXVlc3QSuwEKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUKhAZJBjgEydFVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb24gY29udGFpbmluZyB0aGUgbWVtYmVyc2hpcC4gTXVzdCBzdGFydCB3aXRoICdvcmdfJyBhbmQgYmUgMS0zMiBjaGFyYWN0ZXJzIGxvbmcuShYib3JnXzEyMzRhYmNkNTY3OGVmZ2giukgMcgoQARggOgRvcmdfEogBCgJpZBgCIAEoCUJ6kkFoMk5TeXN0ZW0tZ2VuZXJhdGVkIHVzZXIgSUQuIE11c3Qgc3RhcnQgd2l0aCAndXNyXycgYW5kIGJlIDE5LTI1IGNoYXJhY3RlcnMgbG9uZy5KFiJ1c3JfMTIzNGFiY2Q1Njc4ZWZnaCK6SAxyChATGBk6BHVzcl9IABJeCgtleHRlcm5hbF9pZBgDIAEoCUJHkkFEMjNZb3VyIGFwcGxpY2F0aW9uJ3MgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgdXNlci5KDSJleHRfNzg5MHh5eiJIABKbAQoKbWVtYmVyc2hpcBgFIAEoCzIjLnNjYWxla2l0LnYxLnVzZXJzLlVwZGF0ZU1lbWJlcnNoaXBCYpJBWTJETWVtYmVyc2hpcCBmaWVsZHMgdG8gdXBkYXRlLiBPbmx5IHNwZWNpZmllZCBmaWVsZHMgd2lsbCBiZSBtb2RpZmllZC5KEXsicm9sZSI6ICJhZG1pbiJ9ukgDyAEBQgwKCmlkZW50aXRpZXMi3gMKEFVwZGF0ZU1lbWJlcnNoaXASdgoFcm9sZXMYBCADKAsyGS5zY2FsZWtpdC52MS5jb21tb25zLlJvbGVCTJJBSTIyUm9sZSB0byBhc3NpZ24gdG8gdGhlIHVzZXIgd2l0aGluIHRoZSBvcmdhbml6YXRpb25KE1t7Im5hbWUiOiAiYWRtaW4ifV0SggIKCG1ldGFkYXRhGAcgAygLMjEuc2NhbGVraXQudjEudXNlcnMuVXBkYXRlTWVtYmVyc2hpcC5NZXRhZGF0YUVudHJ5QrwBkkGfATJkQ3VzdG9tIGtleS12YWx1ZSBwYWlycyBmb3Igc3RvcmluZyBhZGRpdGlvbmFsIHVzZXIgY29udGV4dC4gS2V5cyAoMy0yNSBjaGFycyksIHZhbHVlcyAoMS0yNTYgY2hhcnMpLko3eyJkZXBhcnRtZW50IjogImVuZ2luZWVyaW5nIiwgImxvY2F0aW9uIjogIm55Yy1vZmZpY2UifbpIFpoBExAUIgZyBBADGBkqB3IFEAEYgAIaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBSgQIARACSgQIAhADSgQIAxAESgQIBRAGSgQIBhAHIokFChBDcmVhdGVNZW1iZXJzaGlwEnYKBXJvbGVzGAQgAygLMhkuc2NhbGVraXQudjEuY29tbW9ucy5Sb2xlQkySQUkyMlJvbGUgdG8gYXNzaWduIHRvIHRoZSB1c2VyIHdpdGhpbiB0aGUgb3JnYW5pemF0aW9uShNbeyJuYW1lIjogImFkbWluIn1dEoICCghtZXRhZGF0YRgHIAMoCzIxLnNjYWxla2l0LnYxLnVzZXJzLkNyZWF0ZU1lbWJlcnNoaXAuTWV0YWRhdGFFbnRyeUK8AZJBnwEyZEN1c3RvbSBrZXktdmFsdWUgcGFpcnMgZm9yIHN0b3JpbmcgYWRkaXRpb25hbCB1c2VyIGNvbnRleHQuIEtleXMgKDMtMjUgY2hhcnMpLCB2YWx1ZXMgKDEtMjU2IGNoYXJzKS5KN3siZGVwYXJ0bWVudCI6ICJlbmdpbmVlcmluZyIsICJsb2NhdGlvbiI6ICJueWMtb2ZmaWNlIn26SBaaARMQFCIGcgQQAxgZKgdyBRABGIACEpYBCg1pbnZpdGVyX2VtYWlsGAggASgJQnqSQWsyUUVtYWlsIGFkZHJlc3Mgb2YgdGhlIHVzZXIgd2hvIGludml0ZWQgdGhpcyBtZW1iZXIuIE11c3QgYmUgYSB2YWxpZCBlbWFpbCBhZGRyZXNzLkoWImpvaG4uZG9lQGV4YW1wbGUuY29tIrpICXIHEAUY/gFgAUgAiAEBGi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUIQCg5faW52aXRlcl9lbWFpbEoECAEQAkoECAIQA0oECAMQBEoECAUQBkoECAYQByJBChhVcGRhdGVNZW1iZXJzaGlwUmVzcG9uc2USJQoEdXNlchgBIAEoCzIXLnNjYWxla2l0LnYxLnVzZXJzLlVzZXIiiwUKHlNlYXJjaE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBK1AQoPb3JnYW5pemF0aW9uX2lkGAEgASgJQpsBkkGFATJrVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIG9yZ2FuaXphdGlvbiB0byBzZWFyY2ggd2l0aGluLiBNdXN0IHN0YXJ0IHdpdGggJ29yZ18nIGFuZCBiZSAxLTMyIGNoYXJhY3RlcnMgbG9uZy5KFiJvcmdfMTIzNGFiY2Q1Njc4ZWZnaCK6SA/IAQFyChABGCA6BG9yZ18SowEKBXF1ZXJ5GAIgASgJQpMBkkGDATJvU2VhcmNoIHRlcm0gdG8gbWF0Y2ggYWdhaW5zdCB1c2VyIGVtYWlsLCBJRHMsIG9yIGV4dGVybmFsIElEcy4gTXVzdCBiZSBhdCBsZWFzdCAzIGNoYXJhY3RlcnMuIENhc2UgaW5zZW5zaXRpdmUuShBqb2huQGV4YW1wbGUuY29tukgJyAEBcgQQAxhkEm4KCXBhZ2Vfc2l6ZRgDIAEoDUJbkkFRMktNYXhpbXVtIG51bWJlciBvZiB1c2VycyB0byByZXR1cm4gcGVyIHBhZ2UuIFZhbHVlIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAzMC5KAjMwukgEKgIYHhKaAQoKcGFnZV90b2tlbhgEIAEoCUKFAZJBgQEyYVRva2VuIGZyb20gYSBwcmV2aW91cyByZXNwb25zZSBmb3IgcGFnaW5hdGlvbi4gUHJvdmlkZSB0aGlzIHRvIHJldHJpZXZlIHRoZSBuZXh0IHBhZ2Ugb2YgcmVzdWx0cy5KHGV5SndZV2RsSWpveUxDSnNhVzFwZENJNk16QjkipwQKH1NlYXJjaE9yZ2FuaXphdGlvblVzZXJzUmVzcG9uc2USpAEKD25leHRfcGFnZV90b2tlbhgBIAEoCUKKAZJBhgEyUFRva2VuIGZvciByZXRyaWV2aW5nIHRoZSBuZXh0IHBhZ2Ugb2YgcmVzdWx0cy4gRW1wdHkgaWYgdGhlcmUgYXJlIG5vIG1vcmUgcGFnZXMuSjIiZXlKd1lXZGxJam9nTWl3Z0lteGhjM1JmYVdRaU9pQWlkWE55WHpFeU16UTFJbjA9IhJtCgp0b3RhbF9zaXplGAIgASgNQlmSQVYyTlRvdGFsIG51bWJlciBvZiB1c2VycyBtYXRjaGluZyB0aGUgcmVxdWVzdCBjcml0ZXJpYSwgcmVnYXJkbGVzcyBvZiBwYWdpbmF0aW9uLkoEMTA0MhJECgV1c2VycxgDIAMoCzIXLnNjYWxla2l0LnYxLnVzZXJzLlVzZXJCHJJBGTIXTGlzdCBvZiBtYXRjaGluZyB1c2Vycy4SpwEKD3ByZXZfcGFnZV90b2tlbhgEIAEoCUKNAZJBiQEyU1Rva2VuIGZvciByZXRyaWV2aW5nIHRoZSBwcmV2aW91cyBwYWdlIG9mIHJlc3VsdHMuIEVtcHR5IGlmIHRoaXMgaXMgdGhlIGZpcnN0IHBhZ2UuSjIiZXlKd1lXZGxJam9nTUN3Z0ltWnBjbk4wWDJsa0lqb2dJblZ6Y2w4NU9EYzJOU0o5IiLDBwoKQ3JlYXRlVXNlchKRAQoFZW1haWwYBSABKAlCgQGSQXcyYVByaW1hcnkgZW1haWwgYWRkcmVzcyBmb3IgdGhlIHVzZXIuIE11c3QgYmUgdW5pcXVlIGFjcm9zcyB0aGUgZW52aXJvbm1lbnQgYW5kIHZhbGlkIHBlciBSRkMgNTMyMi5KEiJ1c2VyQGV4YW1wbGUuY29tIrpIBHICYAESlgEKC2V4dGVybmFsX2lkGAYgASgJQnySQXkyY1lvdXIgYXBwbGljYXRpb24ncyB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBvcmdhbml6YXRpb24sIHVzZWQgdG8gbGluayBTY2FsZWtpdCB3aXRoIHlvdXIgc3lzdGVtLkoSImV4dF8xMjM0NWE2N2I4OWMiSACIAQESkwEKCm1lbWJlcnNoaXAYByABKAsyIy5zY2FsZWtpdC52MS51c2Vycy5DcmVhdGVNZW1iZXJzaGlwQlqSQVcyVUxpc3Qgb2Ygb3JnYW5pemF0aW9uIG1lbWJlcnNoaXBzLiBBdXRvbWF0aWNhbGx5IHBvcHVsYXRlZCBiYXNlZCBvbiBncm91cCBhc3NpZ25tZW50cy4SkwEKDHVzZXJfcHJvZmlsZRgIIAEoCzIkLnNjYWxla2l0LnYxLnVzZXJzLkNyZWF0ZVVzZXJQcm9maWxlQleSQVQyUlVzZXIncyBwZXJzb25hbCBpbmZvcm1hdGlvbiBpbmNsdWRpbmcgbmFtZSwgYWRkcmVzcywgYW5kIG90aGVyIHByb2ZpbGUgYXR0cmlidXRlcy4S/AEKCG1ldGFkYXRhGAkgAygLMisuc2NhbGVraXQudjEudXNlcnMuQ3JlYXRlVXNlci5NZXRhZGF0YUVudHJ5QrwBkkGfATJkQ3VzdG9tIGtleS12YWx1ZSBwYWlycyBmb3Igc3RvcmluZyBhZGRpdGlvbmFsIHVzZXIgY29udGV4dC4gS2V5cyAoMy0yNSBjaGFycyksIHZhbHVlcyAoMS0yNTYgY2hhcnMpLko3eyJkZXBhcnRtZW50IjogImVuZ2luZWVyaW5nIiwgImxvY2F0aW9uIjogIm55Yy1vZmZpY2UifbpIFpoBExAUIgZyBBADGBkqB3IFEAEYgAIaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQg4KDF9leHRlcm5hbF9pZEoECAEQAkoECAIQA0oECAMQBEoECAQQBUoECAoQCyKWDwoRQ3JlYXRlVXNlclByb2ZpbGUSUwoKZ2l2ZW5fbmFtZRgCIAEoCUI/kkE0MipVc2VyJ3MgZ2l2ZW4gbmFtZS4gTWF4aW11bSAyNTUgY2hhcmFjdGVycy5KBiJKb2huIrpIBXIDGP8BElQKC2ZhbWlseV9uYW1lGAMgASgJQj+SQTQyK1VzZXIncyBmYW1pbHkgbmFtZS4gTWF4aW11bSAyNTUgY2hhcmFjdGVycy5KBSJEb2UiukgFcgMY/wEScAoEbmFtZRgEIAEoCUJikkFfMklGdWxsIG5hbWUgaW4gZGlzcGxheSBmb3JtYXQuIFR5cGljYWxseSBjb21iaW5lcyBmaXJzdF9uYW1lIGFuZCBsYXN0X25hbWUuShIiSm9obiBNaWNoYWVsIERvZSIScQoGbG9jYWxlGAUgASgJQmGSQV4yU1VzZXIncyBsb2NhbGl6YXRpb24gcHJlZmVyZW5jZSBpbiBCQ1AtNDcgZm9ybWF0LiBEZWZhdWx0cyB0byBvcmdhbml6YXRpb24gc2V0dGluZ3MuSgciZW4tVVMiEn0KDHBob25lX251bWJlchgHIAEoCUJnkkFkMlJQaG9uZSBudW1iZXIgaW4gRS4xNjQgaW50ZXJuYXRpb25hbCBmb3JtYXQuIFJlcXVpcmVkIGZvciBTTVMtYmFzZWQgYXV0aGVudGljYXRpb24uSg4iKzE0MTU1NTUyNjcxIhKBAgoIbWV0YWRhdGEYCCADKAsyMi5zY2FsZWtpdC52MS51c2Vycy5DcmVhdGVVc2VyUHJvZmlsZS5NZXRhZGF0YUVudHJ5QroBkkGdATJeU3lzdGVtLW1hbmFnZWQga2V5LXZhbHVlIHBhaXJzIGZvciBpbnRlcm5hbCB0cmFja2luZy4gS2V5cyAoMy0yNSBjaGFycyksIHZhbHVlcyAoMS0yNTYgY2hhcnMpLko7eyJhY2NvdW50X3N0YXR1cyI6ICJhY3RpdmUiLCAic2lnbnVwX3NvdXJjZSI6ICJtb2JpbGVfYXBwIn26SBaaARMQFCIGcgQQAxgZKgdyBRABGIACEpACChFjdXN0b21fYXR0cmlidXRlcxgJIAMoCzI6LnNjYWxla2l0LnYxLnVzZXJzLkNyZWF0ZVVzZXJQcm9maWxlLkN1c3RvbUF0dHJpYnV0ZXNFbnRyeUK4AZJBmwEyWkN1c3RvbSBhdHRyaWJ1dGVzIGZvciBleHRlbmRlZCB1c2VyIHByb2ZpbGUgZGF0YS4gS2V5cyAoMy0yNSBjaGFycyksIHZhbHVlcyAoMS0yNTYgY2hhcnMpLko9eyJkZXBhcnRtZW50IjogImVuZ2luZWVyaW5nIiwgInNlY3VyaXR5X2NsZWFyYW5jZSI6ICJsZXZlbDIifbpIFpoBExAUIgZyBBADGBkqB3IFEAEYgAISbAoScHJlZmVycmVkX3VzZXJuYW1lGAogASgJQlCSQUUyL1VzZXIncyBwcmVmZXJyZWQgdXNlcm5hbWUgZm9yIGRpc3BsYXkgcHVycG9zZXMuShIiSm9obiBNaWNoYWVsIERvZSK6SAVyAxiABBJxCgdwaWN0dXJlGAsgASgJQluSQVAyLFVSTCB0byB0aGUgdXNlcidzIHByb2ZpbGUgcGljdHVyZSBvciBhdmF0YXIuSiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hdmF0YXIuanBnIrpIBXIDGIAQSACIAQESOQoGZ2VuZGVyGAwgASgJQiSSQSEyF1VzZXIncyBnZW5kZXIgaWRlbnRpdHkuSgYibWFsZSJIAYgBARKZAQoGZ3JvdXBzGA0gAygJQogBkkFwMlFMaXN0IG9mIGdyb3VwIG5hbWVzIHRoZSB1c2VyIGJlbG9uZ3MgdG8uIEVhY2ggZ3JvdXAgbmFtZSBtdXN0IGJlIDEtMjUwIGNoYXJhY3RlcnNKG1siZW5naW5lZXJpbmciLCAibWFuYWdlcnMiXbpIEpIBDwgAEDIYASIHcgUQARj6ARKJAQoKZmlyc3RfbmFtZRgVIAEoCUJ1GAGSQVkyT1tERVBSRUNBVEVEXSBVc2UgZ2l2ZW5fbmFtZSBpbnN0ZWFkLiBVc2VyJ3MgZ2l2ZW4gbmFtZS4gTWF4aW11bSAyMDAgY2hhcmFjdGVycy5KBiJKb2huIrpIBXIDGMgB+tLkkwIJEgdQUkVWSUVXEokBCglsYXN0X25hbWUYFiABKAlCdhgBkkFaMlFbREVQUkVDQVRFRF0gVXNlIGZhbWlseV9uYW1lIGluc3RlYWQuIFVzZXIncyBmYW1pbHkgbmFtZS4gTWF4aW11bSAyMDAgY2hhcmFjdGVycy5KBSJEb2UiukgFcgMYyAH60uSTAgkSB1BSRVZJRVcaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjcKFUN1c3RvbUF0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgoKCF9waWN0dXJlQgkKB19nZW5kZXJKBAgBEAJKBAgGEAcivCcKEVVwZGF0ZVVzZXJQcm9maWxlEtoBCgpnaXZlbl9uYW1lGAIgASgJQsABkkG0ATKpAVVwZGF0ZXMgdGhlIHVzZXIncyBnaXZlbiBuYW1lIChmaXJzdCBuYW1lKS4gVXNlIHRoaXMgZmllbGQgdG8gbW9kaWZ5IGhvdyB0aGUgdXNlcidzIGZpcnN0IG5hbWUgYXBwZWFycyBpbiB0aGUgc3lzdGVtIGFuZCB1c2VyIGludGVyZmFjZXMuIE1heGltdW0gMjU1IGNoYXJhY3RlcnMgYWxsb3dlZC5KBiJKb2huIrpIBXIDGP8BSACIAQES2AEKC2ZhbWlseV9uYW1lGAMgASgJQr0BkkGxATKnAVVwZGF0ZXMgdGhlIHVzZXIncyBmYW1pbHkgbmFtZSAobGFzdCBuYW1lIG9yIHN1cm5hbWUpLiBVc2UgdGhpcyBmaWVsZCB0byBtb2RpZnkgaG93IHRoZSB1c2VyJ3MgbGFzdCBuYW1lIGFwcGVhcnMgdGhyb3VnaG91dCB0aGUgc3lzdGVtLiBNYXhpbXVtIDI1NSBjaGFyYWN0ZXJzIGFsbG93ZWQuSgUiRG9lIrpIBXIDGP8BSAGIAQESqAIKBG5hbWUYBCABKAlClAKSQZACMoECVXBkYXRlcyB0aGUgdXNlcidzIGNvbXBsZXRlIGRpc3BsYXkgbmFtZS4gVXNlIHRoaXMgZmllbGQgd2hlbiB5b3Ugd2FudCB0byBzZXQgdGhlIGZ1bGwgbmFtZSBhcyBhIHNpbmdsZSBzdHJpbmcgcmF0aGVyIHRoYW4gdXNpbmcgc2VwYXJhdGUgZ2l2ZW4gYW5kIGZhbWlseSBuYW1lcy4gVGhpcyBuYW1lIGFwcGVhcnMgaW4gdXNlciBpbnRlcmZhY2VzLCByZXBvcnRzLCBhbmQgYW55d2hlcmUgYSBmb3JtYXR0ZWQgZGlzcGxheSBuYW1lIGlzIG5lZWRlZC5KCiJKb2huIERvZSJIAogBARKPAwoGbG9jYWxlGAUgASgJQvkCkkH1AjLpAlVwZGF0ZXMgdGhlIHVzZXIncyBwcmVmZXJyZWQgbGFuZ3VhZ2UgYW5kIHJlZ2lvbiBzZXR0aW5ncyB1c2luZyBCQ1AtNDcgZm9ybWF0IGNvZGVzLiBVc2UgdGhpcyBmaWVsZCB0byBjdXN0b21pemUgdGhlIHVzZXIncyBleHBlcmllbmNlIHdpdGggbG9jYWxpemVkIGNvbnRlbnQsIGRhdGUgZm9ybWF0cywgbnVtYmVyIGZvcm1hdHRpbmcsIGFuZCBVSSBsYW5ndWFnZS4gV2hlbiBub3Qgc3BlY2lmaWVkLCB0aGUgdXNlciBpbmhlcml0cyB0aGUgb3JnYW5pemF0aW9uJ3MgZGVmYXVsdCBsb2NhbGUgc2V0dGluZ3MuIENvbW1vbiB2YWx1ZXMgaW5jbHVkZSBgZW4tVVNgLCBgZW4tR0JgLCBgZnItRlJgLCBgZGUtREVgLCBhbmQgYGVzLUVTYC5KByJlbi1VUyJIA4gBARKkAwoMcGhvbmVfbnVtYmVyGAcgASgJQogDkkGEAzLxAlVwZGF0ZXMgdGhlIHVzZXIncyBwaG9uZSBudW1iZXIgaW4gRS4xNjQgaW50ZXJuYXRpb25hbCBmb3JtYXQuIFVzZSB0aGlzIGZpZWxkIHRvIGVuYWJsZSBTTVMtYmFzZWQgYXV0aGVudGljYXRpb24gbWV0aG9kcywgdHdvLWZhY3RvciBhdXRoZW50aWNhdGlvbiwgb3IgcGhvbmUtYmFzZWQgYWNjb3VudCByZWNvdmVyeS4gVGhlIHBob25lIG51bWJlciBtdXN0IGluY2x1ZGUgdGhlIGNvdW50cnkgY29kZSBhbmQgYmUgZm9ybWF0dGVkIGFjY29yZGluZyB0byBFLjE2NCBzdGFuZGFyZHMgKGUuZy4sIGArMWAgZm9yIFVTIG51bWJlcnMpLiBUaGlzIGZpZWxkIGlzIHJlcXVpcmVkIHdoZW4gZW5hYmxpbmcgU01TIGF1dGhlbnRpY2F0aW9uIGZlYXR1cmVzLkoOIisxNDE1NTU1MjY3MSJIBIgBARLHBAoIbWV0YWRhdGEYCCADKAsyMi5zY2FsZWtpdC52MS51c2Vycy5VcGRhdGVVc2VyUHJvZmlsZS5NZXRhZGF0YUVudHJ5QoAEkkHjAzKjA1VwZGF0ZXMgc3lzdGVtLW1hbmFnZWQga2V5LXZhbHVlIHBhaXJzIGZvciBpbnRlcm5hbCB0cmFja2luZyBhbmQgb3BlcmF0aW9uYWwgZGF0YS4gVXNlIHRoaXMgZmllbGQgdG8gc3RvcmUgc3lzdGVtLWdlbmVyYXRlZCBtZXRhZGF0YSBsaWtlIGFjY291bnQgc3RhdHVzLCBzaWdudXAgc291cmNlLCBsYXN0IGFjdGl2aXR5IHRyYWNraW5nLCBvciBpbnRlZ3JhdGlvbi1zcGVjaWZpYyBpZGVudGlmaWVycy4gVGhlc2UgZmllbGRzIGFyZSB0eXBpY2FsbHkgbWFuYWdlZCBieSBhdXRvbWF0ZWQgcHJvY2Vzc2VzIHJhdGhlciB0aGFuIGRpcmVjdCB1c2VyIGlucHV0LiBLZXlzIG11c3QgYmUgMy0yNSBjaGFyYWN0ZXJzLCB2YWx1ZXMgbXVzdCBiZSAxLTI1NiBjaGFyYWN0ZXJzLCB3aXRoIGEgbWF4aW11bSBvZiAyMCBrZXktdmFsdWUgcGFpcnMuSjt7ImFjY291bnRfc3RhdHVzIjogImFjdGl2ZSIsICJzaWdudXBfc291cmNlIjogIm1vYmlsZV9hcHAifbpIFpoBExAUIgZyBBADGBkqB3IFEAEYgAIStQUKEWN1c3RvbV9hdHRyaWJ1dGVzGAkgAygLMjouc2NhbGVraXQudjEudXNlcnMuVXBkYXRlVXNlclByb2ZpbGUuQ3VzdG9tQXR0cmlidXRlc0VudHJ5Qt0EkkHABDL+A1VwZGF0ZXMgY3VzdG9tIGF0dHJpYnV0ZXMgZm9yIGV4dGVuZGVkIHVzZXIgcHJvZmlsZSBkYXRhIGFuZCBhcHBsaWNhdGlvbi1zcGVjaWZpYyBpbmZvcm1hdGlvbi4gVXNlIHRoaXMgZmllbGQgdG8gc3RvcmUgYnVzaW5lc3Mtc3BlY2lmaWMgdXNlciBkYXRhIGxpa2UgZGVwYXJ0bWVudCwgam9iIHRpdGxlLCBzZWN1cml0eSBjbGVhcmFuY2VzLCBwcm9qZWN0IGFzc2lnbm1lbnRzLCBvciBhbnkgb3RoZXIgb3JnYW5pemF0aW9uYWwgYXR0cmlidXRlcyB5b3VyIGFwcGxpY2F0aW9uIHJlcXVpcmVzLiBVbmxpa2Ugc3lzdGVtIG1ldGFkYXRhLCB0aGVzZSBhdHRyaWJ1dGVzIGFyZSB0eXBpY2FsbHkgbWFuYWdlZCBieSBhZG1pbmlzdHJhdG9ycyBvciBhcHBsaWNhdGlvbnMgYW5kIGFyZSB2aXNpYmxlIHRvIGVuZCB1c2Vycy4gS2V5cyBtdXN0IGJlIDMtMjUgY2hhcmFjdGVycywgdmFsdWVzIG11c3QgYmUgMS0yNTYgY2hhcmFjdGVycywgd2l0aCBhIG1heGltdW0gb2YgMjAga2V5LXZhbHVlIHBhaXJzLko9eyJkZXBhcnRtZW50IjogImVuZ2luZWVyaW5nIiwgInNlY3VyaXR5X2NsZWFyYW5jZSI6ICJsZXZlbDIifbpIFpoBExAUIgZyBBADGBkqB3IFEAEYgAISfwoKZmlyc3RfbmFtZRgVIAEoCUJmGAGSQVkyT1tERVBSRUNBVEVEXSBVc2UgZ2l2ZW5fbmFtZSBpbnN0ZWFkLiBVc2VyJ3MgZ2l2ZW4gbmFtZS4gTWF4aW11bSAyMDAgY2hhcmFjdGVycy5KBiJKb2huIrpIBXIDGMgBSAWIAQESfwoJbGFzdF9uYW1lGBYgASgJQmcYAZJBWjJRW0RFUFJFQ0FURURdIFVzZSBmYW1pbHlfbmFtZSBpbnN0ZWFkLiBVc2VyJ3MgZmFtaWx5IG5hbWUuIE1heGltdW0gMjAwIGNoYXJhY3RlcnMuSgUiRG9lIrpIBXIDGMgBSAaIAQEShAMKEnByZWZlcnJlZF91c2VybmFtZRgKIAEoCULiApJB1gIyvwJVcGRhdGVzIHRoZSB1c2VyJ3MgcHJlZmVycmVkIHVzZXJuYW1lIGZvciBkaXNwbGF5IGFuZCBpZGVudGlmaWNhdGlvbiBwdXJwb3Nlcy4gVXNlIHRoaXMgZmllbGQgdG8gc2V0IGEgY3VzdG9tIHVzZXJuYW1lIHRoYXQgdGhlIHVzZXIgcHJlZmVycyB0byBiZSBrbm93biBieSwgd2hpY2ggbWF5IGRpZmZlciBmcm9tIHRoZWlyIGVtYWlsIG9yIGZvcm1hbCBuYW1lLiBUaGlzIHVzZXJuYW1lIGFwcGVhcnMgaW4gdXNlciBpbnRlcmZhY2VzLCBtZW50aW9ucywgYW5kIGluZm9ybWFsIGNvbW11bmljYXRpb25zLiBNYXhpbXVtIDUxMiBjaGFyYWN0ZXJzIGFsbG93ZWQuShIiSm9obiBNaWNoYWVsIERvZSK6SAVyAxiABEgHiAEBEqkDCgdwaWN0dXJlGAsgASgJQpIDkkGGAzLhAlVwZGF0ZXMgdGhlIFVSTCB0byB0aGUgdXNlcidzIHByb2ZpbGUgcGljdHVyZSBvciBhdmF0YXIgaW1hZ2UuIFVzZSB0aGlzIGZpZWxkIHRvIHNldCBvciBjaGFuZ2UgdGhlIHVzZXIncyBwcm9maWxlIHBob3RvIHRoYXQgYXBwZWFycyBpbiB1c2VyIGludGVyZmFjZXMsIGRpcmVjdG9yeSBsaXN0aW5ncywgYW5kIGNvbGxhYm9yYXRpdmUgZmVhdHVyZXMuIFRoZSBVUkwgc2hvdWxkIHBvaW50IHRvIGEgcHVibGljbHkgYWNjZXNzaWJsZSBpbWFnZSBmaWxlLiBTdXBwb3J0ZWQgZm9ybWF0cyB0eXBpY2FsbHkgaW5jbHVkZSBKUEVHLCBQTkcsIGFuZCBHSUYuIE1heGltdW0gVVJMIGxlbmd0aCBpcyAyMDQ4IGNoYXJhY3RlcnMuSiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hdmF0YXIuanBnIrpIBXIDGIAQSAiIAQES9gIKBmdlbmRlchgMIAEoCULgApJB3AIy0QJVcGRhdGVzIHRoZSB1c2VyJ3MgZ2VuZGVyIGlkZW50aXR5IGluZm9ybWF0aW9uLiBVc2UgdGhpcyBmaWVsZCB0byBzdG9yZSB0aGUgdXNlcidzIGdlbmRlciBpZGVudGl0eSBmb3IgcGVyc29uYWxpemF0aW9uLCBjb21wbGlhbmNlLCBvciByZXBvcnRpbmcgcHVycG9zZXMuIFRoaXMgZmllbGQgc3VwcG9ydHMgYW55IHN0cmluZyB2YWx1ZSB0byBhY2NvbW1vZGF0ZSBkaXZlcnNlIGdlbmRlciBpZGVudGl0aWVzIGFuZCBzaG91bGQgYmUgaGFuZGxlZCB3aXRoIGFwcHJvcHJpYXRlIHByaXZhY3kgY29uc2lkZXJhdGlvbnMgYWNjb3JkaW5nIHRvIHlvdXIgb3JnYW5pemF0aW9uJ3MgcG9saWNpZXMuSgYibWFsZSJICYgBARLVAwoGZ3JvdXBzGA0gAygJQsQDkkGrAzKLA1VwZGF0ZXMgdGhlIGxpc3Qgb2YgZ3JvdXAgbmFtZXMgdGhlIHVzZXIgYmVsb25ncyB0byB3aXRoaW4gdGhlIG9yZ2FuaXphdGlvbi4gVXNlIHRoaXMgZmllbGQgdG8gbWFuYWdlIHRoZSB1c2VyJ3MgZ3JvdXAgbWVtYmVyc2hpcHMgZm9yIHJvbGUtYmFzZWQgYWNjZXNzIGNvbnRyb2wsIHRlYW0gYXNzaWdubWVudHMsIG9yIG9yZ2FuaXphdGlvbmFsIHN0cnVjdHVyZS4gR3JvdXBzIGFyZSB0eXBpY2FsbHkgdXNlZCBmb3IgcGVybWlzc2lvbiBtYW5hZ2VtZW50IGFuZCBjb2xsYWJvcmF0aXZlIGFjY2Vzcy4gRWFjaCBncm91cCBuYW1lIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgbGlzdCwgMS0yNTAgY2hhcmFjdGVycyBsb25nLCB3aXRoIGEgbWF4aW11bSBvZiA1MCBncm91cHMgcGVyIHVzZXIuShtbImVuZ2luZWVyaW5nIiwgIm1hbmFnZXJzIl26SBKSAQ8IABAyGAEiB3IFEAEY+gEaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjcKFUN1c3RvbUF0dHJpYnV0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQg0KC19naXZlbl9uYW1lQg4KDF9mYW1pbHlfbmFtZUIHCgVfbmFtZUIJCgdfbG9jYWxlQg8KDV9waG9uZV9udW1iZXJCDQoLX2ZpcnN0X25hbWVCDAoKX2xhc3RfbmFtZUIVChNfcHJlZmVycmVkX3VzZXJuYW1lQgoKCF9waWN0dXJlQgkKB19nZW5kZXJKBAgBEAJKBAgGEAcinQcKBkludml0ZRJcCg9vcmdhbml6YXRpb25faWQYASABKAlCQ5JBQDItVGhlIG9yZ2FuaXphdGlvbiB0byB3aGljaCB0aGUgaW52aXRlIGJlbG9uZ3MuSg8ib3JnXzk4NzY1NDMyMSISdwoHdXNlcl9pZBgCIAEoCUJmkkFjMlNVc2VyIElEIHRvIHdob20gdGhlIGludml0ZSBpcyBzZW50LiBNYXkgYmUgZW1wdHkgaWYgdGhlIHVzZXIgaGFzIG5vdCBzaWduZWQgdXAgeWV0LkoMInVzcl8xMjM0NTYiEnEKDWludml0ZXJfZW1haWwYAyABKAlCVZJBUjI7SWRlbnRpZmllciBvZiB0aGUgdXNlciBvciBzeXN0ZW0gdGhhdCBpbml0aWF0ZWQgdGhlIGludml0ZS5KEyJhZG1pbkBleGFtcGxlLmNvbSJIAIgBARJwCgZzdGF0dXMYBCABKAlCYJJBXTJJQ3VycmVudCBzdGF0dXMgb2YgdGhlIGludml0ZSAoZS5nLiwgcGVuZGluZywgYWNjZXB0ZWQsIGV4cGlyZWQsIHJldm9rZWQpLkoQInBlbmRpbmdfaW52aXRlIhJ+CgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEJOkkFLMjFUaW1lc3RhbXAgd2hlbiB0aGUgaW52aXRlIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQuShYiMjAyNS0wNy0xMFQwODowMDowMFoiEnIKCmV4cGlyZXNfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQkKSQT8yJVRoZSB0aW1lIGF0IHdoaWNoIHRoZSBpbnZpdGUgZXhwaXJlcy5KFiIyMDI1LTEyLTMxVDIzOjU5OjU5WiIShQEKCXJlc2VudF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCVpJBUzI5VGltZXN0YW1wIHdoZW4gdGhlIGludml0ZSB3YXMgbGFzdCByZXNlbnQsIGlmIGFwcGxpY2FibGUuShYiMjAyNS0wNy0xNVQwOTozMDowMFoiEkkKDHJlc2VudF9jb3VudBgIIAEoBUIzkkEwMitOdW1iZXIgb2YgdGltZXMgdGhlIGludml0ZSBoYXMgYmVlbiByZXNlbnQuSgEyQhAKDl9pbnZpdGVyX2VtYWlsIo8DChNSZXNlbmRJbnZpdGVSZXF1ZXN0EsMBCg9vcmdhbml6YXRpb25faWQYASABKAlCqQGSQZYBMnxVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgb3JnYW5pemF0aW9uIGNvbnRhaW5pbmcgdGhlIHBlbmRpbmcgaW52aXRhdGlvbi4gTXVzdCBzdGFydCB3aXRoICdvcmdfJyBhbmQgYmUgMS0zMiBjaGFyYWN0ZXJzIGxvbmcuShYib3JnXzEyMzRhYmNkNTY3OGVmZ2giukgMcgoQARggOgRvcmdfErEBCgJpZBgCIAEoCUKkAZJBkQEyd1N5c3RlbS1nZW5lcmF0ZWQgdXNlciBJRCBvZiB0aGUgdXNlciB3aG8gaGFzIGEgcGVuZGluZyBpbnZpdGF0aW9uLiBNdXN0IHN0YXJ0IHdpdGggJ3Vzcl8nIGFuZCBiZSAxOS0yNSBjaGFyYWN0ZXJzIGxvbmcuShYidXNyXzEyMzRhYmNkNTY3OGVmZ2giukgMcgoQExgZOgR1c3JfItkCChRSZXNlbmRJbnZpdGVSZXNwb25zZRLAAgoGaW52aXRlGAEgASgLMhkuc2NhbGVraXQudjEudXNlcnMuSW52aXRlQpQCkkGQAjKBAVVwZGF0ZWQgaW52aXRhdGlvbiBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzZW50IGludml0YXRpb24gZGV0YWlscywgaW5jbHVkaW5nIG5ldyBleHBpcmF0aW9uIHRpbWUgYW5kIGluY3JlbWVudGVkIHJlc2VuZCBjb3VudGVyLkqJAXsib3JnYW5pemF0aW9uX2lkIjogIm9yZ18xMjMiLCAidXNlcl9pZCI6ICJ1c3JfNDU2IiwgInN0YXR1cyI6ICJwZW5kaW5nX2ludml0ZSIsICJleHBpcmVzX2F0IjogIjIwMjUtMTItMzFUMjM6NTk6NTlaIiwgInJlc2VudF9jb3VudCI6IDJ9ItgBChRMaXN0VXNlclJvbGVzUmVxdWVzdBJnCg9vcmdhbml6YXRpb25faWQYASABKAlCTpJBQDImVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBvcmdhbml6YXRpb25KFiJvcmdfMTIzNGFiY2Q1Njc4ZWZnaCK6SAhyBjoEb3JnXxJXCgd1c2VyX2lkGAIgASgJQkaSQTgyHlVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgdXNlckoWInVzcl8xMjM0YWJjZDU2NzhlZmdoIrpICHIGOgR1c3JfImoKFUxpc3RVc2VyUm9sZXNSZXNwb25zZRJRCgVyb2xlcxgBIAMoCzIZLnNjYWxla2l0LnYxLmNvbW1vbnMuUm9sZUInkkEkMiJMaXN0IG9mIHJvbGVzIGFzc2lnbmVkIHRvIHRoZSB1c2VyIr8CChZBc3NpZ25Vc2VyUm9sZXNSZXF1ZXN0EmcKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUJOkkFAMiZVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIG9yZ2FuaXphdGlvbkoWIm9yZ18xMjM0YWJjZDU2NzhlZmdoIrpICHIGOgRvcmdfElcKB3VzZXJfaWQYAiABKAlCRpJBODIeVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSB1c2VyShYidXNyXzEyMzRhYmNkNTY3OGVmZ2giukgIcgY6BHVzcl8SYwoFcm9sZXMYAyADKAsyJC5zY2FsZWtpdC52MS51c2Vycy5Bc3NpZ25Sb2xlUmVxdWVzdEIukkElMiNMaXN0IG9mIHJvbGVzIHRvIGFzc2lnbiB0byB0aGUgdXNlcrpIA8gBASKkAQoRQXNzaWduUm9sZVJlcXVlc3QSSgoCaWQYASABKAlCPhgBkkE5Mh5VbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHJvbGVKFyJyb2xlXzEyMzRhYmNkNTY3OGVmZ2giEkMKCXJvbGVfbmFtZRgCIAEoCUIwkkEkMhhVbmlxdWUgbmFtZSBmb3IgdGhlIHJvbGVKCCJ2aWV3ZXIiukgGcgQQABhkInoKF0Fzc2lnblVzZXJSb2xlc1Jlc3BvbnNlEl8KBXJvbGVzGAEgAygLMhkuc2NhbGVraXQudjEuY29tbW9ucy5Sb2xlQjWSQTIyMExpc3Qgb2YgYWxsIHJvbGVzIGN1cnJlbnRseSBhc3NpZ25lZCB0byB0aGUgdXNlciK0AgoVUmVtb3ZlVXNlclJvbGVSZXF1ZXN0EmcKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUJOkkFAMiZVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIG9yZ2FuaXphdGlvbkoWIm9yZ18xMjM0YWJjZDU2NzhlZmdoIrpICHIGOgRvcmdfElcKB3VzZXJfaWQYAiABKAlCRpJBODIeVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSB1c2VyShYidXNyXzEyMzRhYmNkNTY3OGVmZ2giukgIcgY6BHVzcl8SWQoJcm9sZV9uYW1lGAMgASgJQkaSQUMyKFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgcm9sZSB0byByZW1vdmVKFyJyb2xlXzEyMzRhYmNkNTY3OGVmZ2giIt4BChpMaXN0VXNlclBlcm1pc3Npb25zUmVxdWVzdBJnCg9vcmdhbml6YXRpb25faWQYASABKAlCTpJBQDImVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBvcmdhbml6YXRpb25KFiJvcmdfMTIzNGFiY2Q1Njc4ZWZnaCK6SAhyBjoEb3JnXxJXCgd1c2VyX2lkGAIgASgJQkaSQTgyHlVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgdXNlckoWInVzcl8xMjM0YWJjZDU2NzhlZmdoIrpICHIGOgR1c3JfIvoCCgpQZXJtaXNzaW9uElEKAmlkGAEgASgJQkWSQT8yJFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgcGVybWlzc2lvbkoXInBlcm1fMTIzNGFiY2Q1Njc4ZWZnaCLgQQMSTAoEbmFtZRgCIAEoCUI+kkE7MilVbmlxdWUgbmFtZSBpZGVudGlmaWVyIGZvciB0aGUgcGVybWlzc2lvbkoOInVzZXJzOmNyZWF0ZSISaAoLZGVzY3JpcHRpb24YAyABKAlCU5JBUDIpRGVzY3JpcHRpb24gb2Ygd2hhdCB0aGUgcGVybWlzc2lvbiBhbGxvd3NKIyJBbGxvd3MgY3JlYXRpbmcgbmV3IHVzZXIgYWNjb3VudHMiEmEKBHRhZ3MYBCADKAlCU5JBQTIhVGFncyBmb3IgY2F0ZWdvcml6aW5nIHBlcm1pc3Npb25zShxbInVzZXItbWFuYWdlbWVudCIsICJhZG1pbiJd+tLkkwIJEgdQUkVWSUVXIoIBChtMaXN0VXNlclBlcm1pc3Npb25zUmVzcG9uc2USYwoLcGVybWlzc2lvbnMYASADKAsyHS5zY2FsZWtpdC52MS51c2Vycy5QZXJtaXNzaW9uQi+SQSwyKkxpc3Qgb2YgcGVybWlzc2lvbnMgdGhlIHVzZXIgaGFzIGFjY2VzcyB0bzLGWAoLVXNlclNlcnZpY2USuAMKB0dldFVzZXISIS5zY2FsZWtpdC52MS51c2Vycy5HZXRVc2VyUmVxdWVzdBoiLnNjYWxla2l0LnYxLnVzZXJzLkdldFVzZXJSZXNwb25zZSLlApJBwQIKBVVzZXJzEghHZXQgdXNlchqOAVJldHJpZXZlcyBhbGwgZGV0YWlscyBmb3IgYSB1c2VyIGJ5IHN5c3RlbS1nZW5lcmF0ZWQgdXNlciBJRCBvciBleHRlcm5hbCBJRC4gVGhlIHJlc3BvbnNlIGluY2x1ZGVzIG9yZ2FuaXphdGlvbiBtZW1iZXJzaGlwcyBhbmQgdXNlciBtZXRhZGF0YS5KnAEKAzIwMBKUAQpqVXNlciBkZXRhaWxzIHJldHJpZXZlZCBzdWNjZXNzZnVsbHkuIFJldHVybnMgZnVsbCB1c2VyIG9iamVjdCB3aXRoIHN5c3RlbS1nZW5lcmF0ZWQgZmllbGRzIGFuZCB0aW1lc3RhbXBzLhImCiQaIi5zY2FsZWtpdC52MS51c2Vycy5HZXRVc2VyUmVzcG9uc2WCtRgCGESC0+STAhQSEi9hcGkvdjEvdXNlcnMve2lkfRK6AwoOR2V0Q3VycmVudFVzZXISKC5zY2FsZWtpdC52MS51c2Vycy5HZXRDdXJyZW50VXNlclJlcXVlc3QaKS5zY2FsZWtpdC52MS51c2Vycy5HZXRDdXJyZW50VXNlclJlc3BvbnNlItICkkGfAgoFVXNlcnMSFkdldCBhdXRoZW50aWNhdGVkIHVzZXIangFSZXRyaWV2ZXMgZGV0YWlscyBmb3IgdGhlIGN1cnJlbnRseSBhdXRoZW50aWNhdGVkIHVzZXIuIFJldHVybnMgdGhlIHNhbWUgdXNlciBvYmplY3QgYXMgR2V0VXNlciBidXQgdXNlcyB0aGUgYXV0aGVudGljYXRlZCB1c2VyJ3MgSUQgZnJvbSB0aGUgc2Vzc2lvbiBjb250ZXh0LkpdCgMyMDASVgosQ3VycmVudCB1c2VyIGRldGFpbHMgcmV0cmlldmVkIHN1Y2Nlc3NmdWxseS4SJgokGiIuc2NhbGVraXQudjEudXNlcnMuR2V0VXNlclJlc3BvbnNlgrUYAhgQ+tLkkwIJEgdQUkVWSUVXgtPkkwIUEhIvYXBpL3YxL3VzZXJzOnRoaXMSoAQKCUxpc3RVc2VycxIjLnNjYWxla2l0LnYxLnVzZXJzLkxpc3RVc2Vyc1JlcXVlc3QaJC5zY2FsZWtpdC52MS51c2Vycy5MaXN0VXNlcnNSZXNwb25zZSLHA5JBqAMKBVVzZXJzEh1MaXN0IGFsbCB1c2VycyBpbiBlbnZpcm9ubWVudBq8AlJldHJpZXZlcyBhIHBhZ2luYXRlZCBsaXN0IG9mIGFsbCB1c2VycyBhY3Jvc3MgeW91ciBlbnRpcmUgZW52aXJvbm1lbnQuIFVzZSB0aGlzIGVuZHBvaW50IHRvIHZpZXcgYWxsIHVzZXJzIHJlZ2FyZGxlc3Mgb2YgdGhlaXIgb3JnYW5pemF0aW9uIG1lbWJlcnNoaXBzLiBUaGlzIGlzIHVzZWZ1bCBmb3IgYWRtaW5pc3RyYXRpdmUgcHVycG9zZXMsIHVzZXIgYXVkaXRzLCBvciB3aGVuIHlvdSBuZWVkIHRvIHNlZSBhbGwgdXNlcnMgaW4geW91ciBTY2FsZWtpdCBlbnZpcm9ubWVudC4gU3VwcG9ydHMgcGFnaW5hdGlvbiBmb3IgbGFyZ2UgdXNlciBiYXNlcy5KQQoDMjAwEjoKDkxpc3Qgb2YgdXNlcnMuEigKJhokLnNjYWxla2l0LnYxLnVzZXJzLkxpc3RVc2Vyc1Jlc3BvbnNlgrUYAhhEgtPkkwIPEg0vYXBpL3YxL3VzZXJzEssDCgtTZWFyY2hVc2VycxIlLnNjYWxla2l0LnYxLnVzZXJzLlNlYXJjaFVzZXJzUmVxdWVzdBomLnNjYWxla2l0LnYxLnVzZXJzLlNlYXJjaFVzZXJzUmVzcG9uc2Ui7AKSQbcCCgVVc2VycxIMU2VhcmNoIHVzZXJzGoUBU2VhcmNoZXMgZm9yIHVzZXJzIGluIHRoZSBlbnZpcm9ubWVudCBieSBlbWFpbCwgdXNlciBJRCwgb3IgZXh0ZXJuYWwgSUQuIFJldHVybnMgYWxsIHVzZXJzIHRoYXQgbWF0Y2ggdGhlIHF1ZXJ5LiBTdXBwb3J0cyBwYWdpbmF0aW9uLkqXAQoDMjAwEo8BCmFSZXR1cm5zIGEgbGlzdCBvZiBtYXRjaGluZyB1c2VycyBhbmQgYSBwYWdlIHRva2VuIGZvciBwYWdpbmF0aW9uIGlmIHRoZXJlIGFyZSBhZGRpdGlvbmFsIHJlc3VsdHMuEioKKBomLnNjYWxla2l0LnYxLnVzZXJzLlNlYXJjaFVzZXJzUmVzcG9uc2WCtRgCGET60uSTAgkSB1BSRVZJRVeC0+STAhYSFC9hcGkvdjEvdXNlcnM6c2VhcmNoEuAEChdTZWFyY2hPcmdhbml6YXRpb25Vc2VycxIxLnNjYWxla2l0LnYxLnVzZXJzLlNlYXJjaE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBoyLnNjYWxla2l0LnYxLnVzZXJzLlNlYXJjaE9yZ2FuaXphdGlvblVzZXJzUmVzcG9uc2Ui3QOSQYgDCgVVc2VycxIZU2VhcmNoIG9yZ2FuaXphdGlvbiB1c2VycxqlAVNlYXJjaGVzIGZvciB1c2VycyB3aXRoaW4gYSBzcGVjaWZpYyBvcmdhbml6YXRpb24gYnkgZW1haWwsIHVzZXIgSUQsIG9yIGV4dGVybmFsIElELiBSZXR1cm5zIGFsbCB1c2VycyBpbiB0aGUgb3JnYW5pemF0aW9uIHRoYXQgbWF0Y2ggdGhlIHF1ZXJ5LiBTdXBwb3J0cyBwYWdpbmF0aW9uLkq7AQoDMjAwErMBCnlSZXR1cm5zIGEgbGlzdCBvZiBtYXRjaGluZyB1c2VycyB3aXRoaW4gdGhlIG9yZ2FuaXphdGlvbiBhbmQgYSBwYWdlIHRva2VuIGZvciBwYWdpbmF0aW9uIGlmIHRoZXJlIGFyZSBhZGRpdGlvbmFsIHJlc3VsdHMuEjYKNBoyLnNjYWxla2l0LnYxLnVzZXJzLlNlYXJjaE9yZ2FuaXphdGlvblVzZXJzUmVzcG9uc2WCtRgCGET60uSTAgkSB1BSRVZJRVeC0+STAjYSNC9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS91c2VyczpzZWFyY2gSlgUKClVwZGF0ZVVzZXISJC5zY2FsZWtpdC52MS51c2Vycy5VcGRhdGVVc2VyUmVxdWVzdBolLnNjYWxla2l0LnYxLnVzZXJzLlVwZGF0ZVVzZXJSZXNwb25zZSK6BJJBkAQKBVVzZXJzEhdVcGRhdGUgdXNlciBpbmZvcm1hdGlvbhrhAk1vZGlmaWVzIHVzZXIgYWNjb3VudCBpbmZvcm1hdGlvbiBpbmNsdWRpbmcgcHJvZmlsZSBkZXRhaWxzLCBtZXRhZGF0YSwgYW5kIGV4dGVybmFsIElELiBVc2UgdGhpcyBlbmRwb2ludCB0byB1cGRhdGUgYSB1c2VyJ3MgcGVyc29uYWwgaW5mb3JtYXRpb24sIGNvbnRhY3QgZGV0YWlscywgb3IgY3VzdG9tIG1ldGFkYXRhLiBZb3UgY2FuIHVwZGF0ZSB0aGUgdXNlcidzIHByb2ZpbGUsIHBob25lIG51bWJlciwgYW5kIG1ldGFkYXRhIGZpZWxkcy4gTm90ZSB0aGF0IGZpZWxkcyBsaWtlIHVzZXIgSUQsIGVtYWlsIGFkZHJlc3MsIGVudmlyb25tZW50IElELCBhbmQgY3JlYXRpb24gdGltZSBjYW5ub3QgYmUgbW9kaWZpZWQuSokBCgMyMDASgQEKVFVzZXIgdXBkYXRlZCBzdWNjZXNzZnVsbHkuIFJldHVybnMgdGhlIG1vZGlmaWVkIHVzZXIgb2JqZWN0IHdpdGggdXBkYXRlZCB0aW1lc3RhbXBzLhIpCicaJS5zY2FsZWtpdC52MS51c2Vycy5VcGRhdGVVc2VyUmVzcG9uc2WCtRgCGESC0+STAho6BHVzZXIyEi9hcGkvdjEvdXNlcnMve2lkfRL9AwoKRGVsZXRlVXNlchIkLnNjYWxla2l0LnYxLnVzZXJzLkRlbGV0ZVVzZXJSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IrADkkGMAwoFVXNlcnMSF0RlbGV0ZSB1c2VyIHBlcm1hbmVudGx5GrACUGVybWFuZW50bHkgcmVtb3ZlcyBhIHVzZXIgZnJvbSB5b3VyIGVudmlyb25tZW50IGFuZCBkZWxldGVzIGFsbCBhc3NvY2lhdGVkIGRhdGEuIFVzZSB0aGlzIGVuZHBvaW50IHdoZW4geW91IG5lZWQgdG8gY29tcGxldGVseSByZW1vdmUgYSB1c2VyIGFjY291bnQuIFRoaXMgYWN0aW9uIGRlbGV0ZXMgdGhlIHVzZXIncyBwcm9maWxlLCBtZW1iZXJzaGlwcywgYW5kIGFsbCByZWxhdGVkIGRhdGEgYWNyb3NzIGFsbCBvcmdhbml6YXRpb25zLiBUaGlzIG9wZXJhdGlvbiBjYW5ub3QgYmUgdW5kb25lLCBzbyB1c2Ugd2l0aCBjYXV0aW9uLko3CgMyMDASMAouVXNlciBzdWNjZXNzZnVsbHkgZGVsZXRlZC4gTm8gY29udGVudCByZXR1cm5lZIK1GAIYRILT5JMCFCoSL2FwaS92MS91c2Vycy97aWR9EqgFChBDcmVhdGVNZW1iZXJzaGlwEiouc2NhbGVraXQudjEudXNlcnMuQ3JlYXRlTWVtYmVyc2hpcFJlcXVlc3QaKy5zY2FsZWtpdC52MS51c2Vycy5DcmVhdGVNZW1iZXJzaGlwUmVzcG9uc2UiugSSQd4DCgVVc2VycxIhQWRkIGV4aXN0aW5nIHVzZXIgdG8gb3JnYW5pemF0aW9uGpUCQWRkcyBhbiBleGlzdGluZyB1c2VyIHRvIGFuIG9yZ2FuaXphdGlvbiBhbmQgYXNzaWducyB0aGVtIHNwZWNpZmljIHJvbGVzIGFuZCBwZXJtaXNzaW9ucy4gVXNlIHRoaXMgZW5kcG9pbnQgd2hlbiB5b3Ugd2FudCB0byBncmFudCBhbiBleGlzdGluZyB1c2VyIGFjY2VzcyB0byBhIHBhcnRpY3VsYXIgb3JnYW5pemF0aW9uLiBZb3UgY2FuIHNwZWNpZnkgcm9sZXMsIG1ldGFkYXRhLCBhbmQgb3RoZXIgbWVtYmVyc2hpcCBkZXRhaWxzIGR1cmluZyB0aGUgaW52aXRhdGlvbiBwcm9jZXNzLkqZAQoDMjAxEpEBCl5Vc2VyIHN1Y2Nlc3NmdWxseSBhZGRlZCB0byB0aGUgb3JnYW5pemF0aW9uLiBSZXR1cm5zIGRldGFpbHMgb2YgdGhlIHVwZGF0ZWQgbWVtYmVyc2hpcCBkZXRhaWxzEi8KLRorLnNjYWxla2l0LnYxLnVzZXJzLkNyZWF0ZU1lbWJlcnNoaXBSZXNwb25zZYK1GAIYRILT5JMCTDoKbWVtYmVyc2hpcCI+L2FwaS92MS9tZW1iZXJzaGlwcy9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L3VzZXJzL3tpZH0S/QMKEERlbGV0ZU1lbWJlcnNoaXASKi5zY2FsZWtpdC52MS51c2Vycy5EZWxldGVNZW1iZXJzaGlwUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSKkA5JB1AIKBVVzZXJzEidEZWxldGUgb3JnYW5pemF0aW9uIG1lbWJlcnNoaXAgZm9yIHVzZXIa3AFSZW1vdmVzIGEgdXNlciBmcm9tIGFuIG9yZ2FuaXphdGlvbiBieSB1c2VyIElEIG9yIGV4dGVybmFsIElELiBJZiB0aGUgdXNlciBoYXMgbm8gbWVtYmVyc2hpcHMgbGVmdCBhbmQgY2FzY2FkZSBpcyB0cnVlLCB0aGUgdXNlciBpcyBhbHNvIGRlbGV0ZWQuIFRoaXMgYWN0aW9uIGlzIGlycmV2ZXJzaWJsZSBhbmQgbWF5IGFsc28gcmVtb3ZlIHJlbGF0ZWQgZ3JvdXAgbWVtYmVyc2hpcHMuSkMKAzIwMBI8CjpVc2VyIHN1Y2Nlc3NmdWxseSBtYXJrZWQgZm9yIGRlbGV0aW9uLiBObyBjb250ZW50IHJldHVybmVkgrUYAhhEgtPkkwJAKj4vYXBpL3YxL21lbWJlcnNoaXBzL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vdXNlcnMve2lkfRL9AwoQVXBkYXRlTWVtYmVyc2hpcBIqLnNjYWxla2l0LnYxLnVzZXJzLlVwZGF0ZU1lbWJlcnNoaXBSZXF1ZXN0Gisuc2NhbGVraXQudjEudXNlcnMuVXBkYXRlTWVtYmVyc2hpcFJlc3BvbnNlIo8DkkGzAgoFVXNlcnMSJ1VwZGF0ZSBvcmdhbml6YXRpb24gbWVtYmVyc2hpcCBmb3IgdXNlchqDAVVwZGF0ZXMgYSB1c2VyJ3MgbWVtYmVyc2hpcCBkZXRhaWxzIHdpdGhpbiBhbiBvcmdhbml6YXRpb24gYnkgdXNlciBJRCBvciBleHRlcm5hbCBJRC4gWW91IGNhbiB1cGRhdGUgcm9sZXMgYW5kIG1lbWJlcnNoaXAgbWV0YWRhdGEuSnsKAzIwMBJ0CkFNZW1iZXJzaGlwIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5LiBSZXR1cm5zIHRoZSB1cGRhdGVkIHVzZXIgb2JqZWN0LhIvCi0aKy5zY2FsZWtpdC52MS51c2Vycy5VcGRhdGVNZW1iZXJzaGlwUmVzcG9uc2WCtRgCGESC0+STAkw6Cm1lbWJlcnNoaXAyPi9hcGkvdjEvbWVtYmVyc2hpcHMvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS91c2Vycy97aWR9EqwGChdDcmVhdGVVc2VyQW5kTWVtYmVyc2hpcBIxLnNjYWxla2l0LnYxLnVzZXJzLkNyZWF0ZVVzZXJBbmRNZW1iZXJzaGlwUmVxdWVzdBoyLnNjYWxla2l0LnYxLnVzZXJzLkNyZWF0ZVVzZXJBbmRNZW1iZXJzaGlwUmVzcG9uc2UiqQWSQeQECgVVc2VycxIfQ3JlYXRlIG5ldyB1c2VyIGluIG9yZ2FuaXphdGlvbhqDA0NyZWF0ZXMgYSBuZXcgdXNlciBhY2NvdW50IGFuZCBpbW1lZGlhdGVseSBhZGRzIHRoZW0gdG8gdGhlIHNwZWNpZmllZCBvcmdhbml6YXRpb24uIFVzZSB0aGlzIGVuZHBvaW50IHdoZW4geW91IHdhbnQgdG8gY3JlYXRlIGEgdXNlciBhbmQgZ3JhbnQgdGhlbSBhY2Nlc3MgdG8gYW4gb3JnYW5pemF0aW9uIGluIGEgc2luZ2xlIG9wZXJhdGlvbi4gWW91IGNhbiBwcm92aWRlIHVzZXIgcHJvZmlsZSBpbmZvcm1hdGlvbiwgYXNzaWduIHJvbGVzLCBhbmQgY29uZmlndXJlIG1lbWJlcnNoaXAgbWV0YWRhdGEuIFRoZSB1c2VyIHJlY2VpdmVzIGFuIGFjdGl2YXRpb24gZW1haWwgdW5sZXNzIHRoaXMgZmVhdHVyZSBpcyBkaXNhYmxlZCBpbiB0aGUgb3JnYW5pemF0aW9uIHNldHRpbmdzLkqzAQoDMjAxEqsBCnFVc2VyIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LiBSZXR1cm5zIHRoZSBjcmVhdGVkIHVzZXIgb2JqZWN0LCBpbmNsdWRpbmcgc3lzdGVtLWdlbmVyYXRlZCBpZGVudGlmaWVycyBhbmQgdGltZXN0YW1wcxI2CjQaMi5zY2FsZWtpdC52MS51c2Vycy5DcmVhdGVVc2VyQW5kTWVtYmVyc2hpcFJlc3BvbnNlgrUYAhhEgtPkkwI1OgR1c2VyIi0vYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vdXNlcnMS4wQKFUxpc3RPcmdhbml6YXRpb25Vc2VycxIvLnNjYWxla2l0LnYxLnVzZXJzLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1JlcXVlc3QaMC5zY2FsZWtpdC52MS51c2Vycy5MaXN0T3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZSLmA5JBpwMKBVVzZXJzEhdMaXN0IG9yZ2FuaXphdGlvbiB1c2VycxqHAlJldHJpZXZlcyBhIHBhZ2luYXRlZCBsaXN0IG9mIGFsbCB1c2VycyB3aG8gYXJlIG1lbWJlcnMgb2YgdGhlIHNwZWNpZmllZCBvcmdhbml6YXRpb24uIFVzZSB0aGlzIGVuZHBvaW50IHRvIHZpZXcgYWxsIHVzZXJzIHdpdGggYWNjZXNzIHRvIGEgcGFydGljdWxhciBvcmdhbml6YXRpb24sIGluY2x1ZGluZyB0aGVpciByb2xlcywgbWV0YWRhdGEsIGFuZCBtZW1iZXJzaGlwIGRldGFpbHMuIFN1cHBvcnRzIHBhZ2luYXRpb24gZm9yIGxhcmdlIHVzZXIgbGlzdHMuSnsKAzIwMBJ0CjxTdWNjZXNzZnVsbHkgcmV0cmlldmVkIHRoZSBsaXN0IG9mIHVzZXJzIGluIHRoZSBvcmdhbml6YXRpb24SNAoyGjAuc2NhbGVraXQudjEudXNlcnMuTGlzdE9yZ2FuaXphdGlvblVzZXJzUmVzcG9uc2WCtRgCGESC0+STAi8SLS9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS91c2VycxKSEAoMUmVzZW5kSW52aXRlEiYuc2NhbGVraXQudjEudXNlcnMuUmVzZW5kSW52aXRlUmVxdWVzdBonLnNjYWxla2l0LnYxLnVzZXJzLlJlc2VuZEludml0ZVJlc3BvbnNlIrAPkkHaDgoFVXNlcnMSHFJlc2VuZCB1c2VyIGludml0YXRpb24gZW1haWwa4QRSZXNlbmRzIGFuIGludml0YXRpb24gZW1haWwgdG8gYSB1c2VyIHdobyBoYXMgYSBwZW5kaW5nIG9yIGV4cGlyZWQgaW52aXRhdGlvbiBpbiB0aGUgc3BlY2lmaWVkIG9yZ2FuaXphdGlvbi4gSWYgdGhlIGludml0YXRpb24gaGFzIGV4cGlyZWQsIGEgbmV3IGludml0YXRpb24gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgYW5kIHNlbnQuIElmIHRoZSBpbnZpdGF0aW9uIGlzIHN0aWxsIHZhbGlkLCBhIHJlbWluZGVyIGVtYWlsIHdpbGwgYmUgc2VudCBpbnN0ZWFkLiBVc2UgdGhpcyBlbmRwb2ludCB3aGVuIGEgdXNlciBoYXNuJ3QgcmVzcG9uZGVkIHRvIHRoZWlyIGluaXRpYWwgaW52aXRhdGlvbiBhbmQgeW91IG5lZWQgdG8gc2VuZCB0aGVtIGEgcmVtaW5kZXIgb3Igd2hlbiB0aGUgb3JpZ2luYWwgaW52aXRhdGlvbiBoYXMgZXhwaXJlZC4gVGhlIGludml0YXRpb24gZW1haWwgaW5jbHVkZXMgYSBzZWN1cmUgbWFnaWMgbGluayB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBjb21wbGV0ZSB0aGVpciBhY2NvdW50IHNldHVwIGFuZCBqb2luIHRoZSBvcmdhbml6YXRpb24uIEVhY2ggcmVzZW5kIG9wZXJhdGlvbiBpbmNyZW1lbnRzIHRoZSByZXNlbnQgY291bnRlci5KpwIKAzIwMBKfAgrvAVN1Y2Nlc3NmdWxseSByZXNlbnQgdGhlIGludml0YXRpb24gZW1haWwuIFJldHVybnMgdGhlIHVwZGF0ZWQgaW52aXRhdGlvbiBvYmplY3Qgd2l0aCBvcmdhbml6YXRpb24gSUQsIHVzZXIgSUQsIG1lbWJlcnNoaXAgc3RhdHVzLCB0aW1lc3RhbXBzLCBhbmQgcmVzZW50IGNvdW50LiBJZiBleHBpcmVkLCBhIG5ldyBpbnZpdGF0aW9uIGlzIGNyZWF0ZWQ7IG90aGVyd2lzZSwgdGhlIGV4aXN0aW5nIG9uZSBpcyByZXNlbnQuEisKKRonLnNjYWxla2l0LnYxLnVzZXJzLlJlc2VuZEludml0ZVJlc3BvbnNlSo8CCgM0MDAShwIK3QFJbnZhbGlkIHJlcXVlc3Qg4oCUIGNvbW1vbiBjYXVzZXMgaW5jbHVkZSB1c2VyIElEIG9yIG9yZ2FuaXphdGlvbiBJRCBpcyBpbnZhbGlkLCBmdWxsLXN0YWNrIGF1dGhlbnRpY2F0aW9uIGlzIGRpc2FibGVkLCB1c2VyIHByb2ZpbGUgaXMgbWlzc2luZywgaW52aXRlIGFscmVhZHkgYWNjZXB0ZWQsIG9yIG1pc3NpbmcgZXhwaXJ5IHRpbWUgaW4gdXNlciBtYW5hZ2VtZW50IHNldHRpbmdzLhIlCiMaIS5zY2FsZWtpdC52MS5lcnJkZXRhaWxzLkVycm9ySW5mb0qdAgoDNDA0EpUCCusBUmVzb3VyY2Ugbm90IGZvdW5kIOKAlCB0aGUgc3BlY2lmaWVkIHVzZXIsIG9yZ2FuaXphdGlvbiwgbWVtYmVyc2hpcCwgb3IgaW52aXRhdGlvbiBjb3VsZCBub3QgYmUgZm91bmQgaW4gdGhlIHNwZWNpZmllZCBlbnZpcm9ubWVudC4gVmVyaWZ5IHRoYXQgYWxsIElEcyBhcmUgY29ycmVjdCBhbmQgdGhhdCB0aGUgcmVzb3VyY2VzIGV4aXN0IGJlZm9yZSBhdHRlbXB0aW5nIHRvIHJlc2VuZCBhbiBpbnZpdGF0aW9uLhIlCiMaIS5zY2FsZWtpdC52MS5lcnJkZXRhaWxzLkVycm9ySW5mb0ryAgoDNTAwEuoCCsACSW50ZXJuYWwgc2VydmVyIGVycm9yIOKAlCBhbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIGludml0YXRpb24gcmVzZW5kIHJlcXVlc3QuIFRoaXMgbWF5IGJlIGR1ZSB0byBkYXRhYmFzZSBjb25uZWN0aXZpdHkgaXNzdWVzLCBwcm9ibGVtcyBnZW5lcmF0aW5nIHRoZSBzZWN1cmUgbWFnaWMgbGluaywgZW1haWwgZGVsaXZlcnkgc2VydmljZSBmYWlsdXJlcywgb3IgdHJhbnNhY3Rpb24gZXJyb3JzIGR1cmluZyBpbnZpdGF0aW9uIHByb2Nlc3NpbmcuIENvbnRhY3Qgc3VwcG9ydCBpZiB0aGUgcHJvYmxlbSBwZXJzaXN0cy4SJQojGiEuc2NhbGVraXQudjEuZXJyZGV0YWlscy5FcnJvckluZm+CtRgCGESC0+STAkY6ASoyQS9hcGkvdjEvaW52aXRlcy9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L3VzZXJzL3tpZH0vcmVzZW5kEt8DCg1MaXN0VXNlclJvbGVzEicuc2NhbGVraXQudjEudXNlcnMuTGlzdFVzZXJSb2xlc1JlcXVlc3QaKC5zY2FsZWtpdC52MS51c2Vycy5MaXN0VXNlclJvbGVzUmVzcG9uc2Ui+gKSQasCCgVVc2VycxIPTGlzdCB1c2VyIHJvbGVzGpoBUmV0cmlldmVzIGFsbCByb2xlcyBhc3NpZ25lZCB0byBhIHVzZXIgd2l0aGluIGEgc3BlY2lmaWMgb3JnYW5pemF0aW9uLiBUaGlzIGluY2x1ZGVzIGJvdGggZGlyZWN0IHJvbGUgYXNzaWdubWVudHMgYW5kIGluaGVyaXRlZCByb2xlcyBmcm9tIHJvbGUgaGllcmFyY2h5Lkp0CgMyMDASbQo9U3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCB0aGUgbGlzdCBvZiByb2xlcyBhc3NpZ25lZCB0byB0aGUgdXNlchIsCioaKC5zY2FsZWtpdC52MS51c2Vycy5MaXN0VXNlclJvbGVzUmVzcG9uc2WCtRgCGESC0+STAj8SPS9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS91c2Vycy97dXNlcl9pZH0vcm9sZXMS4gMKD0Fzc2lnblVzZXJSb2xlcxIpLnNjYWxla2l0LnYxLnVzZXJzLkFzc2lnblVzZXJSb2xlc1JlcXVlc3QaKi5zY2FsZWtpdC52MS51c2Vycy5Bc3NpZ25Vc2VyUm9sZXNSZXNwb25zZSL3ApJBkgIKBVVzZXJzEhRBc3NpZ24gcm9sZXMgdG8gdXNlchqQAUFzc2lnbnMgb25lIG9yIG1vcmUgcm9sZXMgdG8gYSB1c2VyIHdpdGhpbiBhIHNwZWNpZmljIG9yZ2FuaXphdGlvbi4gVGhpcyBvcGVyYXRpb24gYWRkcyB0byBleGlzdGluZyByb2xlIGFzc2lnbm1lbnRzIHJhdGhlciB0aGFuIHJlcGxhY2luZyB0aGVtLkpgCgMyMDASWQonU3VjY2Vzc2Z1bGx5IGFzc2lnbmVkIHJvbGVzIHRvIHRoZSB1c2VyEi4KLBoqLnNjYWxla2l0LnYxLnVzZXJzLkFzc2lnblVzZXJSb2xlc1Jlc3BvbnNlgrUYAhhE+tLkkwIJEgdQUkVWSUVXgtPkkwJGOgVyb2xlcyI9L2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L3VzZXJzL3t1c2VyX2lkfS9yb2xlcxKoAwoOUmVtb3ZlVXNlclJvbGUSKC5zY2FsZWtpdC52MS51c2Vycy5SZW1vdmVVc2VyUm9sZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHki0wKSQekBCgVVc2VycxIVUmVtb3ZlIHJvbGUgZnJvbSB1c2VyGpoBUmVtb3ZlcyBhIHNwZWNpZmljIHJvbGUgYXNzaWdubWVudCBmcm9tIGEgdXNlciB3aXRoaW4gYW4gb3JnYW5pemF0aW9uLiBUaGlzIG9ubHkgcmVtb3ZlcyBkaXJlY3Qgcm9sZSBhc3NpZ25tZW50cywgbm90IGluaGVyaXRlZCByb2xlcyBmcm9tIHJvbGUgaGllcmFyY2h5LkosCgMyMDASJQojUm9sZSBzdWNjZXNzZnVsbHkgcmVtb3ZlZCBmcm9tIHVzZXKCtRgCGET60uSTAgkSB1BSRVZJRVeC0+STAksqSS9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS91c2Vycy97dXNlcl9pZH0vcm9sZXMve3JvbGVfbmFtZX0SmwQKE0xpc3RVc2VyUGVybWlzc2lvbnMSLS5zY2FsZWtpdC52MS51c2Vycy5MaXN0VXNlclBlcm1pc3Npb25zUmVxdWVzdBouLnNjYWxla2l0LnYxLnVzZXJzLkxpc3RVc2VyUGVybWlzc2lvbnNSZXNwb25zZSKkA5JBzwIKBVVzZXJzEhVMaXN0IHVzZXIgcGVybWlzc2lvbnMatAFSZXRyaWV2ZXMgYWxsIHBlcm1pc3Npb25zIGEgdXNlciBoYXMgYWNjZXNzIHRvIHdpdGhpbiBhIHNwZWNpZmljIG9yZ2FuaXphdGlvbi4gVGhpcyBpbmNsdWRlcyBwZXJtaXNzaW9ucyBmcm9tIGRpcmVjdCByb2xlIGFzc2lnbm1lbnRzIGFuZCBpbmhlcml0ZWQgcGVybWlzc2lvbnMgZnJvbSByb2xlIGhpZXJhcmNoeS5KeAoDMjAwEnEKO1N1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgdGhlIGxpc3Qgb2YgcGVybWlzc2lvbnMgZm9yIHRoZSB1c2VyEjIKMBouLnNjYWxla2l0LnYxLnVzZXJzLkxpc3RVc2VyUGVybWlzc2lvbnNSZXNwb25zZYK1GAIYRILT5JMCRRJDL2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L3VzZXJzL3t1c2VyX2lkfS9wZXJtaXNzaW9ucxrsA5JB6AMKBVVzZXJzEt4DQ29tcHJlaGVuc2l2ZSB1c2VyIG1hbmFnZW1lbnQgb3BlcmF0aW9ucyBpbmNsdWRpbmcgdXNlciBsaWZlY3ljbGUsIG9yZ2FuaXphdGlvbiBtZW1iZXJzaGlwcywgYW5kIGludml0YXRpb24gd29ya2Zsb3dzLiBUaGlzIHNlcnZpY2UgcHJvdmlkZXMgZW5kcG9pbnRzIGZvciBjcmVhdGluZywgcmV0cmlldmluZywgdXBkYXRpbmcsIGFuZCBkZWxldGluZyB1c2VyIGFjY291bnRzIGFjcm9zcyB5b3VyIFNjYWxla2l0IGVudmlyb25tZW50LiBJdCBzdXBwb3J0cyBib3RoIGluZGl2aWR1YWwgdXNlciBvcGVyYXRpb25zIGFuZCBidWxrIG9wZXJhdGlvbnMgZm9yIHVzZXIgYWRtaW5pc3RyYXRpb24sIGluY2x1ZGluZyB1c2VyIHNlYXJjaCwgcGFnaW5hdGlvbiwgYW5kIG1ldGFkYXRhIG1hbmFnZW1lbnQuIFRoZSBzZXJ2aWNlIGFsc28gaGFuZGxlcyB1c2VyIGludml0YXRpb25zIGFuZCBvcmdhbml6YXRpb24gbWVtYmVyc2hpcCBtYW5hZ2VtZW50LkIxWi9naXRodWIuY29tL3NjYWxla2l0LWluYy9zY2FsZWtpdC9wa2cvZ3JwYy91c2Vyc2IGcHJvdG8z", [validate_pb_1.file_buf_validate_validate, annotations_pb_1.file_google_api_annotations, field_behavior_pb_1.file_google_api_field_behavior, visibility_pb_1.file_google_api_visibility, wkt_1.file_google_protobuf_empty, wkt_1.file_google_protobuf_timestamp, annotations_pb_2.file_protoc_gen_openapiv2_options_annotations, commons_pb_1.file_scalekit_v1_commons_commons, options_pb_1.file_scalekit_v1_options_options]);
66
20
  /**
67
- * @generated from message scalekit.v1.users.CreateUserAndMembershipRequest
21
+ * Describes the message scalekit.v1.users.User.
22
+ * Use `create(UserSchema)` to create a new message.
68
23
  */
69
- class CreateUserAndMembershipRequest extends protobuf_1.Message {
70
- constructor(data) {
71
- super();
72
- /**
73
- * @generated from field: string organization_id = 1;
74
- */
75
- this.organizationId = "";
76
- protobuf_1.proto3.util.initPartial(data, this);
77
- }
78
- static fromBinary(bytes, options) {
79
- return new CreateUserAndMembershipRequest().fromBinary(bytes, options);
80
- }
81
- static fromJson(jsonValue, options) {
82
- return new CreateUserAndMembershipRequest().fromJson(jsonValue, options);
83
- }
84
- static fromJsonString(jsonString, options) {
85
- return new CreateUserAndMembershipRequest().fromJsonString(jsonString, options);
86
- }
87
- static equals(a, b) {
88
- return protobuf_1.proto3.util.equals(CreateUserAndMembershipRequest, a, b);
89
- }
90
- }
91
- exports.CreateUserAndMembershipRequest = CreateUserAndMembershipRequest;
92
- CreateUserAndMembershipRequest.runtime = protobuf_1.proto3;
93
- CreateUserAndMembershipRequest.typeName = "scalekit.v1.users.CreateUserAndMembershipRequest";
94
- CreateUserAndMembershipRequest.fields = protobuf_1.proto3.util.newFieldList(() => [
95
- { no: 1, name: "organization_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
96
- { no: 2, name: "user", kind: "message", T: CreateUser },
97
- { no: 3, name: "send_invitation_email", kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true },
98
- ]);
24
+ exports.UserSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 0);
99
25
  /**
100
- * @generated from message scalekit.v1.users.CreateUserAndMembershipResponse
26
+ * Describes the message scalekit.v1.users.CreateUserAndMembershipRequest.
27
+ * Use `create(CreateUserAndMembershipRequestSchema)` to create a new message.
101
28
  */
102
- class CreateUserAndMembershipResponse extends protobuf_1.Message {
103
- constructor(data) {
104
- super();
105
- protobuf_1.proto3.util.initPartial(data, this);
106
- }
107
- static fromBinary(bytes, options) {
108
- return new CreateUserAndMembershipResponse().fromBinary(bytes, options);
109
- }
110
- static fromJson(jsonValue, options) {
111
- return new CreateUserAndMembershipResponse().fromJson(jsonValue, options);
112
- }
113
- static fromJsonString(jsonString, options) {
114
- return new CreateUserAndMembershipResponse().fromJsonString(jsonString, options);
115
- }
116
- static equals(a, b) {
117
- return protobuf_1.proto3.util.equals(CreateUserAndMembershipResponse, a, b);
118
- }
119
- }
120
- exports.CreateUserAndMembershipResponse = CreateUserAndMembershipResponse;
121
- CreateUserAndMembershipResponse.runtime = protobuf_1.proto3;
122
- CreateUserAndMembershipResponse.typeName = "scalekit.v1.users.CreateUserAndMembershipResponse";
123
- CreateUserAndMembershipResponse.fields = protobuf_1.proto3.util.newFieldList(() => [
124
- { no: 1, name: "user", kind: "message", T: User },
125
- ]);
29
+ exports.CreateUserAndMembershipRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 1);
126
30
  /**
127
- * @generated from message scalekit.v1.users.UpdateUser
31
+ * Describes the message scalekit.v1.users.CreateUserAndMembershipResponse.
32
+ * Use `create(CreateUserAndMembershipResponseSchema)` to create a new message.
128
33
  */
129
- class UpdateUser extends protobuf_1.Message {
130
- constructor(data) {
131
- super();
132
- /**
133
- * @generated from field: map<string, string> metadata = 9;
134
- */
135
- this.metadata = {};
136
- protobuf_1.proto3.util.initPartial(data, this);
137
- }
138
- static fromBinary(bytes, options) {
139
- return new UpdateUser().fromBinary(bytes, options);
140
- }
141
- static fromJson(jsonValue, options) {
142
- return new UpdateUser().fromJson(jsonValue, options);
143
- }
144
- static fromJsonString(jsonString, options) {
145
- return new UpdateUser().fromJsonString(jsonString, options);
146
- }
147
- static equals(a, b) {
148
- return protobuf_1.proto3.util.equals(UpdateUser, a, b);
149
- }
150
- }
151
- exports.UpdateUser = UpdateUser;
152
- UpdateUser.runtime = protobuf_1.proto3;
153
- UpdateUser.typeName = "scalekit.v1.users.UpdateUser";
154
- UpdateUser.fields = protobuf_1.proto3.util.newFieldList(() => [
155
- { no: 6, name: "external_id", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
156
- { no: 8, name: "user_profile", kind: "message", T: UpdateUserProfile },
157
- { no: 9, name: "metadata", kind: "map", K: 9 /* ScalarType.STRING */, V: { kind: "scalar", T: 9 /* ScalarType.STRING */ } },
158
- ]);
34
+ exports.CreateUserAndMembershipResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 2);
159
35
  /**
160
- * @generated from message scalekit.v1.users.UpdateUserRequest
36
+ * Describes the message scalekit.v1.users.UpdateUser.
37
+ * Use `create(UpdateUserSchema)` to create a new message.
161
38
  */
162
- class UpdateUserRequest extends protobuf_1.Message {
163
- constructor(data) {
164
- super();
165
- /**
166
- * @generated from oneof scalekit.v1.users.UpdateUserRequest.identities
167
- */
168
- this.identities = { case: undefined };
169
- protobuf_1.proto3.util.initPartial(data, this);
170
- }
171
- static fromBinary(bytes, options) {
172
- return new UpdateUserRequest().fromBinary(bytes, options);
173
- }
174
- static fromJson(jsonValue, options) {
175
- return new UpdateUserRequest().fromJson(jsonValue, options);
176
- }
177
- static fromJsonString(jsonString, options) {
178
- return new UpdateUserRequest().fromJsonString(jsonString, options);
179
- }
180
- static equals(a, b) {
181
- return protobuf_1.proto3.util.equals(UpdateUserRequest, a, b);
182
- }
183
- }
184
- exports.UpdateUserRequest = UpdateUserRequest;
185
- UpdateUserRequest.runtime = protobuf_1.proto3;
186
- UpdateUserRequest.typeName = "scalekit.v1.users.UpdateUserRequest";
187
- UpdateUserRequest.fields = protobuf_1.proto3.util.newFieldList(() => [
188
- { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "identities" },
189
- { no: 2, name: "external_id", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "identities" },
190
- { no: 3, name: "user", kind: "message", T: UpdateUser },
191
- ]);
39
+ exports.UpdateUserSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 3);
192
40
  /**
193
- * @generated from message scalekit.v1.users.UpdateUserResponse
41
+ * Describes the message scalekit.v1.users.UpdateUserRequest.
42
+ * Use `create(UpdateUserRequestSchema)` to create a new message.
194
43
  */
195
- class UpdateUserResponse extends protobuf_1.Message {
196
- constructor(data) {
197
- super();
198
- protobuf_1.proto3.util.initPartial(data, this);
199
- }
200
- static fromBinary(bytes, options) {
201
- return new UpdateUserResponse().fromBinary(bytes, options);
202
- }
203
- static fromJson(jsonValue, options) {
204
- return new UpdateUserResponse().fromJson(jsonValue, options);
205
- }
206
- static fromJsonString(jsonString, options) {
207
- return new UpdateUserResponse().fromJsonString(jsonString, options);
208
- }
209
- static equals(a, b) {
210
- return protobuf_1.proto3.util.equals(UpdateUserResponse, a, b);
211
- }
212
- }
213
- exports.UpdateUserResponse = UpdateUserResponse;
214
- UpdateUserResponse.runtime = protobuf_1.proto3;
215
- UpdateUserResponse.typeName = "scalekit.v1.users.UpdateUserResponse";
216
- UpdateUserResponse.fields = protobuf_1.proto3.util.newFieldList(() => [
217
- { no: 1, name: "user", kind: "message", T: User },
218
- ]);
44
+ exports.UpdateUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 4);
219
45
  /**
220
- * @generated from message scalekit.v1.users.GetUserRequest
46
+ * Describes the message scalekit.v1.users.UpdateUserResponse.
47
+ * Use `create(UpdateUserResponseSchema)` to create a new message.
221
48
  */
222
- class GetUserRequest extends protobuf_1.Message {
223
- constructor(data) {
224
- super();
225
- /**
226
- * @generated from oneof scalekit.v1.users.GetUserRequest.identities
227
- */
228
- this.identities = { case: undefined };
229
- protobuf_1.proto3.util.initPartial(data, this);
230
- }
231
- static fromBinary(bytes, options) {
232
- return new GetUserRequest().fromBinary(bytes, options);
233
- }
234
- static fromJson(jsonValue, options) {
235
- return new GetUserRequest().fromJson(jsonValue, options);
236
- }
237
- static fromJsonString(jsonString, options) {
238
- return new GetUserRequest().fromJsonString(jsonString, options);
239
- }
240
- static equals(a, b) {
241
- return protobuf_1.proto3.util.equals(GetUserRequest, a, b);
242
- }
243
- }
244
- exports.GetUserRequest = GetUserRequest;
245
- GetUserRequest.runtime = protobuf_1.proto3;
246
- GetUserRequest.typeName = "scalekit.v1.users.GetUserRequest";
247
- GetUserRequest.fields = protobuf_1.proto3.util.newFieldList(() => [
248
- { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "identities" },
249
- { no: 2, name: "external_id", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "identities" },
250
- ]);
49
+ exports.UpdateUserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 5);
251
50
  /**
252
- * @generated from message scalekit.v1.users.GetUserResponse
51
+ * Describes the message scalekit.v1.users.GetUserRequest.
52
+ * Use `create(GetUserRequestSchema)` to create a new message.
253
53
  */
254
- class GetUserResponse extends protobuf_1.Message {
255
- constructor(data) {
256
- super();
257
- protobuf_1.proto3.util.initPartial(data, this);
258
- }
259
- static fromBinary(bytes, options) {
260
- return new GetUserResponse().fromBinary(bytes, options);
261
- }
262
- static fromJson(jsonValue, options) {
263
- return new GetUserResponse().fromJson(jsonValue, options);
264
- }
265
- static fromJsonString(jsonString, options) {
266
- return new GetUserResponse().fromJsonString(jsonString, options);
267
- }
268
- static equals(a, b) {
269
- return protobuf_1.proto3.util.equals(GetUserResponse, a, b);
270
- }
271
- }
272
- exports.GetUserResponse = GetUserResponse;
273
- GetUserResponse.runtime = protobuf_1.proto3;
274
- GetUserResponse.typeName = "scalekit.v1.users.GetUserResponse";
275
- GetUserResponse.fields = protobuf_1.proto3.util.newFieldList(() => [
276
- { no: 1, name: "user", kind: "message", T: User },
277
- ]);
54
+ exports.GetUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 6);
278
55
  /**
279
- * @generated from message scalekit.v1.users.GetCurrentUserResponse
56
+ * Describes the message scalekit.v1.users.GetUserResponse.
57
+ * Use `create(GetUserResponseSchema)` to create a new message.
280
58
  */
281
- class GetCurrentUserResponse extends protobuf_1.Message {
282
- constructor(data) {
283
- super();
284
- /**
285
- * @generated from field: string current_session_id = 2;
286
- */
287
- this.currentSessionId = "";
288
- protobuf_1.proto3.util.initPartial(data, this);
289
- }
290
- static fromBinary(bytes, options) {
291
- return new GetCurrentUserResponse().fromBinary(bytes, options);
292
- }
293
- static fromJson(jsonValue, options) {
294
- return new GetCurrentUserResponse().fromJson(jsonValue, options);
295
- }
296
- static fromJsonString(jsonString, options) {
297
- return new GetCurrentUserResponse().fromJsonString(jsonString, options);
298
- }
299
- static equals(a, b) {
300
- return protobuf_1.proto3.util.equals(GetCurrentUserResponse, a, b);
301
- }
302
- }
303
- exports.GetCurrentUserResponse = GetCurrentUserResponse;
304
- GetCurrentUserResponse.runtime = protobuf_1.proto3;
305
- GetCurrentUserResponse.typeName = "scalekit.v1.users.GetCurrentUserResponse";
306
- GetCurrentUserResponse.fields = protobuf_1.proto3.util.newFieldList(() => [
307
- { no: 1, name: "user", kind: "message", T: User },
308
- { no: 2, name: "current_session_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
309
- ]);
59
+ exports.GetUserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 7);
310
60
  /**
311
- * Empty message - user ID extracted from authentication context
312
- *
313
- * @generated from message scalekit.v1.users.GetCurrentUserRequest
61
+ * Describes the message scalekit.v1.users.GetCurrentUserResponse.
62
+ * Use `create(GetCurrentUserResponseSchema)` to create a new message.
314
63
  */
315
- class GetCurrentUserRequest extends protobuf_1.Message {
316
- constructor(data) {
317
- super();
318
- protobuf_1.proto3.util.initPartial(data, this);
319
- }
320
- static fromBinary(bytes, options) {
321
- return new GetCurrentUserRequest().fromBinary(bytes, options);
322
- }
323
- static fromJson(jsonValue, options) {
324
- return new GetCurrentUserRequest().fromJson(jsonValue, options);
325
- }
326
- static fromJsonString(jsonString, options) {
327
- return new GetCurrentUserRequest().fromJsonString(jsonString, options);
328
- }
329
- static equals(a, b) {
330
- return protobuf_1.proto3.util.equals(GetCurrentUserRequest, a, b);
331
- }
332
- }
333
- exports.GetCurrentUserRequest = GetCurrentUserRequest;
334
- GetCurrentUserRequest.runtime = protobuf_1.proto3;
335
- GetCurrentUserRequest.typeName = "scalekit.v1.users.GetCurrentUserRequest";
336
- GetCurrentUserRequest.fields = protobuf_1.proto3.util.newFieldList(() => []);
64
+ exports.GetCurrentUserResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 8);
337
65
  /**
338
- * @generated from message scalekit.v1.users.ListOrganizationUsersRequest
66
+ * Describes the message scalekit.v1.users.GetCurrentUserRequest.
67
+ * Use `create(GetCurrentUserRequestSchema)` to create a new message.
339
68
  */
340
- class ListOrganizationUsersRequest extends protobuf_1.Message {
341
- constructor(data) {
342
- super();
343
- /**
344
- * @generated from field: string organization_id = 1;
345
- */
346
- this.organizationId = "";
347
- /**
348
- * @generated from field: uint32 page_size = 2;
349
- */
350
- this.pageSize = 0;
351
- /**
352
- * @generated from field: string page_token = 3;
353
- */
354
- this.pageToken = "";
355
- protobuf_1.proto3.util.initPartial(data, this);
356
- }
357
- static fromBinary(bytes, options) {
358
- return new ListOrganizationUsersRequest().fromBinary(bytes, options);
359
- }
360
- static fromJson(jsonValue, options) {
361
- return new ListOrganizationUsersRequest().fromJson(jsonValue, options);
362
- }
363
- static fromJsonString(jsonString, options) {
364
- return new ListOrganizationUsersRequest().fromJsonString(jsonString, options);
365
- }
366
- static equals(a, b) {
367
- return protobuf_1.proto3.util.equals(ListOrganizationUsersRequest, a, b);
368
- }
369
- }
370
- exports.ListOrganizationUsersRequest = ListOrganizationUsersRequest;
371
- ListOrganizationUsersRequest.runtime = protobuf_1.proto3;
372
- ListOrganizationUsersRequest.typeName = "scalekit.v1.users.ListOrganizationUsersRequest";
373
- ListOrganizationUsersRequest.fields = protobuf_1.proto3.util.newFieldList(() => [
374
- { no: 1, name: "organization_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
375
- { no: 2, name: "page_size", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
376
- { no: 3, name: "page_token", kind: "scalar", T: 9 /* ScalarType.STRING */ },
377
- ]);
69
+ exports.GetCurrentUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 9);
378
70
  /**
379
- * @generated from message scalekit.v1.users.ListOrganizationUsersResponse
71
+ * Describes the message scalekit.v1.users.ListOrganizationUsersRequest.
72
+ * Use `create(ListOrganizationUsersRequestSchema)` to create a new message.
380
73
  */
381
- class ListOrganizationUsersResponse extends protobuf_1.Message {
382
- constructor(data) {
383
- super();
384
- /**
385
- * @generated from field: string next_page_token = 1;
386
- */
387
- this.nextPageToken = "";
388
- /**
389
- * @generated from field: uint32 total_size = 2;
390
- */
391
- this.totalSize = 0;
392
- /**
393
- * @generated from field: repeated scalekit.v1.users.User users = 3;
394
- */
395
- this.users = [];
396
- /**
397
- * @generated from field: string prev_page_token = 4;
398
- */
399
- this.prevPageToken = "";
400
- protobuf_1.proto3.util.initPartial(data, this);
401
- }
402
- static fromBinary(bytes, options) {
403
- return new ListOrganizationUsersResponse().fromBinary(bytes, options);
404
- }
405
- static fromJson(jsonValue, options) {
406
- return new ListOrganizationUsersResponse().fromJson(jsonValue, options);
407
- }
408
- static fromJsonString(jsonString, options) {
409
- return new ListOrganizationUsersResponse().fromJsonString(jsonString, options);
410
- }
411
- static equals(a, b) {
412
- return protobuf_1.proto3.util.equals(ListOrganizationUsersResponse, a, b);
413
- }
414
- }
415
- exports.ListOrganizationUsersResponse = ListOrganizationUsersResponse;
416
- ListOrganizationUsersResponse.runtime = protobuf_1.proto3;
417
- ListOrganizationUsersResponse.typeName = "scalekit.v1.users.ListOrganizationUsersResponse";
418
- ListOrganizationUsersResponse.fields = protobuf_1.proto3.util.newFieldList(() => [
419
- { no: 1, name: "next_page_token", kind: "scalar", T: 9 /* ScalarType.STRING */ },
420
- { no: 2, name: "total_size", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
421
- { no: 3, name: "users", kind: "message", T: User, repeated: true },
422
- { no: 4, name: "prev_page_token", kind: "scalar", T: 9 /* ScalarType.STRING */ },
423
- ]);
74
+ exports.ListOrganizationUsersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 10);
424
75
  /**
425
- * @generated from message scalekit.v1.users.DeleteMembershipRequest
76
+ * Describes the message scalekit.v1.users.ListOrganizationUsersResponse.
77
+ * Use `create(ListOrganizationUsersResponseSchema)` to create a new message.
426
78
  */
427
- class DeleteMembershipRequest extends protobuf_1.Message {
428
- constructor(data) {
429
- super();
430
- /**
431
- * @generated from field: string organization_id = 1;
432
- */
433
- this.organizationId = "";
434
- /**
435
- * @generated from oneof scalekit.v1.users.DeleteMembershipRequest.identities
436
- */
437
- this.identities = { case: undefined };
438
- protobuf_1.proto3.util.initPartial(data, this);
439
- }
440
- static fromBinary(bytes, options) {
441
- return new DeleteMembershipRequest().fromBinary(bytes, options);
442
- }
443
- static fromJson(jsonValue, options) {
444
- return new DeleteMembershipRequest().fromJson(jsonValue, options);
445
- }
446
- static fromJsonString(jsonString, options) {
447
- return new DeleteMembershipRequest().fromJsonString(jsonString, options);
448
- }
449
- static equals(a, b) {
450
- return protobuf_1.proto3.util.equals(DeleteMembershipRequest, a, b);
451
- }
452
- }
453
- exports.DeleteMembershipRequest = DeleteMembershipRequest;
454
- DeleteMembershipRequest.runtime = protobuf_1.proto3;
455
- DeleteMembershipRequest.typeName = "scalekit.v1.users.DeleteMembershipRequest";
456
- DeleteMembershipRequest.fields = protobuf_1.proto3.util.newFieldList(() => [
457
- { no: 1, name: "organization_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
458
- { no: 2, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "identities" },
459
- { no: 3, name: "external_id", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "identities" },
460
- { no: 5, name: "cascade", kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true },
461
- ]);
79
+ exports.ListOrganizationUsersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 11);
462
80
  /**
463
- * @generated from message scalekit.v1.users.CreateMembershipRequest
81
+ * Describes the message scalekit.v1.users.DeleteMembershipRequest.
82
+ * Use `create(DeleteMembershipRequestSchema)` to create a new message.
464
83
  */
465
- class CreateMembershipRequest extends protobuf_1.Message {
466
- constructor(data) {
467
- super();
468
- /**
469
- * @generated from field: string organization_id = 1;
470
- */
471
- this.organizationId = "";
472
- /**
473
- * @generated from oneof scalekit.v1.users.CreateMembershipRequest.identities
474
- */
475
- this.identities = { case: undefined };
476
- protobuf_1.proto3.util.initPartial(data, this);
477
- }
478
- static fromBinary(bytes, options) {
479
- return new CreateMembershipRequest().fromBinary(bytes, options);
480
- }
481
- static fromJson(jsonValue, options) {
482
- return new CreateMembershipRequest().fromJson(jsonValue, options);
483
- }
484
- static fromJsonString(jsonString, options) {
485
- return new CreateMembershipRequest().fromJsonString(jsonString, options);
486
- }
487
- static equals(a, b) {
488
- return protobuf_1.proto3.util.equals(CreateMembershipRequest, a, b);
489
- }
490
- }
491
- exports.CreateMembershipRequest = CreateMembershipRequest;
492
- CreateMembershipRequest.runtime = protobuf_1.proto3;
493
- CreateMembershipRequest.typeName = "scalekit.v1.users.CreateMembershipRequest";
494
- CreateMembershipRequest.fields = protobuf_1.proto3.util.newFieldList(() => [
495
- { no: 1, name: "organization_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
496
- { no: 2, name: "membership", kind: "message", T: CreateMembership },
497
- { no: 3, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "identities" },
498
- { no: 4, name: "external_id", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "identities" },
499
- { no: 5, name: "send_invitation_email", kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true },
500
- ]);
84
+ exports.DeleteMembershipRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 12);
501
85
  /**
502
- * @generated from message scalekit.v1.users.CreateMembershipResponse
86
+ * Describes the message scalekit.v1.users.CreateMembershipRequest.
87
+ * Use `create(CreateMembershipRequestSchema)` to create a new message.
503
88
  */
504
- class CreateMembershipResponse extends protobuf_1.Message {
505
- constructor(data) {
506
- super();
507
- protobuf_1.proto3.util.initPartial(data, this);
508
- }
509
- static fromBinary(bytes, options) {
510
- return new CreateMembershipResponse().fromBinary(bytes, options);
511
- }
512
- static fromJson(jsonValue, options) {
513
- return new CreateMembershipResponse().fromJson(jsonValue, options);
514
- }
515
- static fromJsonString(jsonString, options) {
516
- return new CreateMembershipResponse().fromJsonString(jsonString, options);
517
- }
518
- static equals(a, b) {
519
- return protobuf_1.proto3.util.equals(CreateMembershipResponse, a, b);
520
- }
521
- }
522
- exports.CreateMembershipResponse = CreateMembershipResponse;
523
- CreateMembershipResponse.runtime = protobuf_1.proto3;
524
- CreateMembershipResponse.typeName = "scalekit.v1.users.CreateMembershipResponse";
525
- CreateMembershipResponse.fields = protobuf_1.proto3.util.newFieldList(() => [
526
- { no: 1, name: "user", kind: "message", T: User },
527
- ]);
89
+ exports.CreateMembershipRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 13);
528
90
  /**
529
- * @generated from message scalekit.v1.users.ListUsersRequest
91
+ * Describes the message scalekit.v1.users.CreateMembershipResponse.
92
+ * Use `create(CreateMembershipResponseSchema)` to create a new message.
530
93
  */
531
- class ListUsersRequest extends protobuf_1.Message {
532
- constructor(data) {
533
- super();
534
- /**
535
- * @generated from field: uint32 page_size = 1;
536
- */
537
- this.pageSize = 0;
538
- /**
539
- * @generated from field: string page_token = 2;
540
- */
541
- this.pageToken = "";
542
- protobuf_1.proto3.util.initPartial(data, this);
543
- }
544
- static fromBinary(bytes, options) {
545
- return new ListUsersRequest().fromBinary(bytes, options);
546
- }
547
- static fromJson(jsonValue, options) {
548
- return new ListUsersRequest().fromJson(jsonValue, options);
549
- }
550
- static fromJsonString(jsonString, options) {
551
- return new ListUsersRequest().fromJsonString(jsonString, options);
552
- }
553
- static equals(a, b) {
554
- return protobuf_1.proto3.util.equals(ListUsersRequest, a, b);
555
- }
556
- }
557
- exports.ListUsersRequest = ListUsersRequest;
558
- ListUsersRequest.runtime = protobuf_1.proto3;
559
- ListUsersRequest.typeName = "scalekit.v1.users.ListUsersRequest";
560
- ListUsersRequest.fields = protobuf_1.proto3.util.newFieldList(() => [
561
- { no: 1, name: "page_size", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
562
- { no: 2, name: "page_token", kind: "scalar", T: 9 /* ScalarType.STRING */ },
563
- ]);
94
+ exports.CreateMembershipResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 14);
564
95
  /**
565
- * @generated from message scalekit.v1.users.ListUsersResponse
96
+ * Describes the message scalekit.v1.users.ListUsersRequest.
97
+ * Use `create(ListUsersRequestSchema)` to create a new message.
566
98
  */
567
- class ListUsersResponse extends protobuf_1.Message {
568
- constructor(data) {
569
- super();
570
- /**
571
- * @generated from field: repeated scalekit.v1.users.User users = 1;
572
- */
573
- this.users = [];
574
- /**
575
- * @generated from field: string next_page_token = 2;
576
- */
577
- this.nextPageToken = "";
578
- /**
579
- * @generated from field: uint32 total_size = 3;
580
- */
581
- this.totalSize = 0;
582
- /**
583
- * @generated from field: string prev_page_token = 4;
584
- */
585
- this.prevPageToken = "";
586
- protobuf_1.proto3.util.initPartial(data, this);
587
- }
588
- static fromBinary(bytes, options) {
589
- return new ListUsersResponse().fromBinary(bytes, options);
590
- }
591
- static fromJson(jsonValue, options) {
592
- return new ListUsersResponse().fromJson(jsonValue, options);
593
- }
594
- static fromJsonString(jsonString, options) {
595
- return new ListUsersResponse().fromJsonString(jsonString, options);
596
- }
597
- static equals(a, b) {
598
- return protobuf_1.proto3.util.equals(ListUsersResponse, a, b);
599
- }
600
- }
601
- exports.ListUsersResponse = ListUsersResponse;
602
- ListUsersResponse.runtime = protobuf_1.proto3;
603
- ListUsersResponse.typeName = "scalekit.v1.users.ListUsersResponse";
604
- ListUsersResponse.fields = protobuf_1.proto3.util.newFieldList(() => [
605
- { no: 1, name: "users", kind: "message", T: User, repeated: true },
606
- { no: 2, name: "next_page_token", kind: "scalar", T: 9 /* ScalarType.STRING */ },
607
- { no: 3, name: "total_size", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
608
- { no: 4, name: "prev_page_token", kind: "scalar", T: 9 /* ScalarType.STRING */ },
609
- ]);
99
+ exports.ListUsersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 15);
610
100
  /**
611
- * @generated from message scalekit.v1.users.SearchUsersRequest
101
+ * Describes the message scalekit.v1.users.ListUsersResponse.
102
+ * Use `create(ListUsersResponseSchema)` to create a new message.
612
103
  */
613
- class SearchUsersRequest extends protobuf_1.Message {
614
- constructor(data) {
615
- super();
616
- /**
617
- * @generated from field: string query = 1;
618
- */
619
- this.query = "";
620
- /**
621
- * @generated from field: uint32 page_size = 2;
622
- */
623
- this.pageSize = 0;
624
- /**
625
- * @generated from field: string page_token = 3;
626
- */
627
- this.pageToken = "";
628
- protobuf_1.proto3.util.initPartial(data, this);
629
- }
630
- static fromBinary(bytes, options) {
631
- return new SearchUsersRequest().fromBinary(bytes, options);
632
- }
633
- static fromJson(jsonValue, options) {
634
- return new SearchUsersRequest().fromJson(jsonValue, options);
635
- }
636
- static fromJsonString(jsonString, options) {
637
- return new SearchUsersRequest().fromJsonString(jsonString, options);
638
- }
639
- static equals(a, b) {
640
- return protobuf_1.proto3.util.equals(SearchUsersRequest, a, b);
641
- }
642
- }
643
- exports.SearchUsersRequest = SearchUsersRequest;
644
- SearchUsersRequest.runtime = protobuf_1.proto3;
645
- SearchUsersRequest.typeName = "scalekit.v1.users.SearchUsersRequest";
646
- SearchUsersRequest.fields = protobuf_1.proto3.util.newFieldList(() => [
647
- { no: 1, name: "query", kind: "scalar", T: 9 /* ScalarType.STRING */ },
648
- { no: 2, name: "page_size", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
649
- { no: 3, name: "page_token", kind: "scalar", T: 9 /* ScalarType.STRING */ },
650
- ]);
104
+ exports.ListUsersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 16);
651
105
  /**
652
- * @generated from message scalekit.v1.users.SearchUsersResponse
106
+ * Describes the message scalekit.v1.users.SearchUsersRequest.
107
+ * Use `create(SearchUsersRequestSchema)` to create a new message.
653
108
  */
654
- class SearchUsersResponse extends protobuf_1.Message {
655
- constructor(data) {
656
- super();
657
- /**
658
- * @generated from field: string next_page_token = 1;
659
- */
660
- this.nextPageToken = "";
661
- /**
662
- * @generated from field: uint32 total_size = 2;
663
- */
664
- this.totalSize = 0;
665
- /**
666
- * @generated from field: repeated scalekit.v1.users.User users = 3;
667
- */
668
- this.users = [];
669
- /**
670
- * @generated from field: string prev_page_token = 4;
671
- */
672
- this.prevPageToken = "";
673
- protobuf_1.proto3.util.initPartial(data, this);
674
- }
675
- static fromBinary(bytes, options) {
676
- return new SearchUsersResponse().fromBinary(bytes, options);
677
- }
678
- static fromJson(jsonValue, options) {
679
- return new SearchUsersResponse().fromJson(jsonValue, options);
680
- }
681
- static fromJsonString(jsonString, options) {
682
- return new SearchUsersResponse().fromJsonString(jsonString, options);
683
- }
684
- static equals(a, b) {
685
- return protobuf_1.proto3.util.equals(SearchUsersResponse, a, b);
686
- }
687
- }
688
- exports.SearchUsersResponse = SearchUsersResponse;
689
- SearchUsersResponse.runtime = protobuf_1.proto3;
690
- SearchUsersResponse.typeName = "scalekit.v1.users.SearchUsersResponse";
691
- SearchUsersResponse.fields = protobuf_1.proto3.util.newFieldList(() => [
692
- { no: 1, name: "next_page_token", kind: "scalar", T: 9 /* ScalarType.STRING */ },
693
- { no: 2, name: "total_size", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
694
- { no: 3, name: "users", kind: "message", T: User, repeated: true },
695
- { no: 4, name: "prev_page_token", kind: "scalar", T: 9 /* ScalarType.STRING */ },
696
- ]);
109
+ exports.SearchUsersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 17);
697
110
  /**
698
- * @generated from message scalekit.v1.users.DeleteUserRequest
111
+ * Describes the message scalekit.v1.users.SearchUsersResponse.
112
+ * Use `create(SearchUsersResponseSchema)` to create a new message.
699
113
  */
700
- class DeleteUserRequest extends protobuf_1.Message {
701
- constructor(data) {
702
- super();
703
- /**
704
- * @generated from oneof scalekit.v1.users.DeleteUserRequest.identities
705
- */
706
- this.identities = { case: undefined };
707
- protobuf_1.proto3.util.initPartial(data, this);
708
- }
709
- static fromBinary(bytes, options) {
710
- return new DeleteUserRequest().fromBinary(bytes, options);
711
- }
712
- static fromJson(jsonValue, options) {
713
- return new DeleteUserRequest().fromJson(jsonValue, options);
714
- }
715
- static fromJsonString(jsonString, options) {
716
- return new DeleteUserRequest().fromJsonString(jsonString, options);
717
- }
718
- static equals(a, b) {
719
- return protobuf_1.proto3.util.equals(DeleteUserRequest, a, b);
720
- }
721
- }
722
- exports.DeleteUserRequest = DeleteUserRequest;
723
- DeleteUserRequest.runtime = protobuf_1.proto3;
724
- DeleteUserRequest.typeName = "scalekit.v1.users.DeleteUserRequest";
725
- DeleteUserRequest.fields = protobuf_1.proto3.util.newFieldList(() => [
726
- { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "identities" },
727
- { no: 2, name: "external_id", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "identities" },
728
- ]);
114
+ exports.SearchUsersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 18);
729
115
  /**
730
- * @generated from message scalekit.v1.users.UpdateMembershipRequest
116
+ * Describes the message scalekit.v1.users.DeleteUserRequest.
117
+ * Use `create(DeleteUserRequestSchema)` to create a new message.
731
118
  */
732
- class UpdateMembershipRequest extends protobuf_1.Message {
733
- constructor(data) {
734
- super();
735
- /**
736
- * @generated from field: string organization_id = 1;
737
- */
738
- this.organizationId = "";
739
- /**
740
- * @generated from oneof scalekit.v1.users.UpdateMembershipRequest.identities
741
- */
742
- this.identities = { case: undefined };
743
- protobuf_1.proto3.util.initPartial(data, this);
744
- }
745
- static fromBinary(bytes, options) {
746
- return new UpdateMembershipRequest().fromBinary(bytes, options);
747
- }
748
- static fromJson(jsonValue, options) {
749
- return new UpdateMembershipRequest().fromJson(jsonValue, options);
750
- }
751
- static fromJsonString(jsonString, options) {
752
- return new UpdateMembershipRequest().fromJsonString(jsonString, options);
753
- }
754
- static equals(a, b) {
755
- return protobuf_1.proto3.util.equals(UpdateMembershipRequest, a, b);
756
- }
757
- }
758
- exports.UpdateMembershipRequest = UpdateMembershipRequest;
759
- UpdateMembershipRequest.runtime = protobuf_1.proto3;
760
- UpdateMembershipRequest.typeName = "scalekit.v1.users.UpdateMembershipRequest";
761
- UpdateMembershipRequest.fields = protobuf_1.proto3.util.newFieldList(() => [
762
- { no: 1, name: "organization_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
763
- { no: 2, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "identities" },
764
- { no: 3, name: "external_id", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "identities" },
765
- { no: 5, name: "membership", kind: "message", T: UpdateMembership },
766
- ]);
119
+ exports.DeleteUserRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 19);
767
120
  /**
768
- * @generated from message scalekit.v1.users.UpdateMembership
121
+ * Describes the message scalekit.v1.users.UpdateMembershipRequest.
122
+ * Use `create(UpdateMembershipRequestSchema)` to create a new message.
769
123
  */
770
- class UpdateMembership extends protobuf_1.Message {
771
- constructor(data) {
772
- super();
773
- /**
774
- * @generated from field: repeated scalekit.v1.commons.Role roles = 4;
775
- */
776
- this.roles = [];
777
- /**
778
- * @generated from field: map<string, string> metadata = 7;
779
- */
780
- this.metadata = {};
781
- protobuf_1.proto3.util.initPartial(data, this);
782
- }
783
- static fromBinary(bytes, options) {
784
- return new UpdateMembership().fromBinary(bytes, options);
785
- }
786
- static fromJson(jsonValue, options) {
787
- return new UpdateMembership().fromJson(jsonValue, options);
788
- }
789
- static fromJsonString(jsonString, options) {
790
- return new UpdateMembership().fromJsonString(jsonString, options);
791
- }
792
- static equals(a, b) {
793
- return protobuf_1.proto3.util.equals(UpdateMembership, a, b);
794
- }
795
- }
796
- exports.UpdateMembership = UpdateMembership;
797
- UpdateMembership.runtime = protobuf_1.proto3;
798
- UpdateMembership.typeName = "scalekit.v1.users.UpdateMembership";
799
- UpdateMembership.fields = protobuf_1.proto3.util.newFieldList(() => [
800
- { no: 4, name: "roles", kind: "message", T: commons_pb_js_1.Role, repeated: true },
801
- { no: 7, name: "metadata", kind: "map", K: 9 /* ScalarType.STRING */, V: { kind: "scalar", T: 9 /* ScalarType.STRING */ } },
802
- ]);
124
+ exports.UpdateMembershipRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 20);
803
125
  /**
804
- * @generated from message scalekit.v1.users.CreateMembership
126
+ * Describes the message scalekit.v1.users.UpdateMembership.
127
+ * Use `create(UpdateMembershipSchema)` to create a new message.
805
128
  */
806
- class CreateMembership extends protobuf_1.Message {
807
- constructor(data) {
808
- super();
809
- /**
810
- * @generated from field: repeated scalekit.v1.commons.Role roles = 4;
811
- */
812
- this.roles = [];
813
- /**
814
- * @generated from field: map<string, string> metadata = 7;
815
- */
816
- this.metadata = {};
817
- protobuf_1.proto3.util.initPartial(data, this);
818
- }
819
- static fromBinary(bytes, options) {
820
- return new CreateMembership().fromBinary(bytes, options);
821
- }
822
- static fromJson(jsonValue, options) {
823
- return new CreateMembership().fromJson(jsonValue, options);
824
- }
825
- static fromJsonString(jsonString, options) {
826
- return new CreateMembership().fromJsonString(jsonString, options);
827
- }
828
- static equals(a, b) {
829
- return protobuf_1.proto3.util.equals(CreateMembership, a, b);
830
- }
831
- }
832
- exports.CreateMembership = CreateMembership;
833
- CreateMembership.runtime = protobuf_1.proto3;
834
- CreateMembership.typeName = "scalekit.v1.users.CreateMembership";
835
- CreateMembership.fields = protobuf_1.proto3.util.newFieldList(() => [
836
- { no: 4, name: "roles", kind: "message", T: commons_pb_js_1.Role, repeated: true },
837
- { no: 7, name: "metadata", kind: "map", K: 9 /* ScalarType.STRING */, V: { kind: "scalar", T: 9 /* ScalarType.STRING */ } },
838
- { no: 8, name: "inviter_email", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
839
- ]);
129
+ exports.UpdateMembershipSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 21);
840
130
  /**
841
- * @generated from message scalekit.v1.users.UpdateMembershipResponse
131
+ * Describes the message scalekit.v1.users.CreateMembership.
132
+ * Use `create(CreateMembershipSchema)` to create a new message.
842
133
  */
843
- class UpdateMembershipResponse extends protobuf_1.Message {
844
- constructor(data) {
845
- super();
846
- protobuf_1.proto3.util.initPartial(data, this);
847
- }
848
- static fromBinary(bytes, options) {
849
- return new UpdateMembershipResponse().fromBinary(bytes, options);
850
- }
851
- static fromJson(jsonValue, options) {
852
- return new UpdateMembershipResponse().fromJson(jsonValue, options);
853
- }
854
- static fromJsonString(jsonString, options) {
855
- return new UpdateMembershipResponse().fromJsonString(jsonString, options);
856
- }
857
- static equals(a, b) {
858
- return protobuf_1.proto3.util.equals(UpdateMembershipResponse, a, b);
859
- }
860
- }
861
- exports.UpdateMembershipResponse = UpdateMembershipResponse;
862
- UpdateMembershipResponse.runtime = protobuf_1.proto3;
863
- UpdateMembershipResponse.typeName = "scalekit.v1.users.UpdateMembershipResponse";
864
- UpdateMembershipResponse.fields = protobuf_1.proto3.util.newFieldList(() => [
865
- { no: 1, name: "user", kind: "message", T: User },
866
- ]);
134
+ exports.CreateMembershipSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 22);
867
135
  /**
868
- * @generated from message scalekit.v1.users.SearchOrganizationUsersRequest
136
+ * Describes the message scalekit.v1.users.UpdateMembershipResponse.
137
+ * Use `create(UpdateMembershipResponseSchema)` to create a new message.
869
138
  */
870
- class SearchOrganizationUsersRequest extends protobuf_1.Message {
871
- constructor(data) {
872
- super();
873
- /**
874
- * @generated from field: string organization_id = 1;
875
- */
876
- this.organizationId = "";
877
- /**
878
- * @generated from field: string query = 2;
879
- */
880
- this.query = "";
881
- /**
882
- * @generated from field: uint32 page_size = 3;
883
- */
884
- this.pageSize = 0;
885
- /**
886
- * @generated from field: string page_token = 4;
887
- */
888
- this.pageToken = "";
889
- protobuf_1.proto3.util.initPartial(data, this);
890
- }
891
- static fromBinary(bytes, options) {
892
- return new SearchOrganizationUsersRequest().fromBinary(bytes, options);
893
- }
894
- static fromJson(jsonValue, options) {
895
- return new SearchOrganizationUsersRequest().fromJson(jsonValue, options);
896
- }
897
- static fromJsonString(jsonString, options) {
898
- return new SearchOrganizationUsersRequest().fromJsonString(jsonString, options);
899
- }
900
- static equals(a, b) {
901
- return protobuf_1.proto3.util.equals(SearchOrganizationUsersRequest, a, b);
902
- }
903
- }
904
- exports.SearchOrganizationUsersRequest = SearchOrganizationUsersRequest;
905
- SearchOrganizationUsersRequest.runtime = protobuf_1.proto3;
906
- SearchOrganizationUsersRequest.typeName = "scalekit.v1.users.SearchOrganizationUsersRequest";
907
- SearchOrganizationUsersRequest.fields = protobuf_1.proto3.util.newFieldList(() => [
908
- { no: 1, name: "organization_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
909
- { no: 2, name: "query", kind: "scalar", T: 9 /* ScalarType.STRING */ },
910
- { no: 3, name: "page_size", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
911
- { no: 4, name: "page_token", kind: "scalar", T: 9 /* ScalarType.STRING */ },
912
- ]);
139
+ exports.UpdateMembershipResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 23);
913
140
  /**
914
- * @generated from message scalekit.v1.users.SearchOrganizationUsersResponse
141
+ * Describes the message scalekit.v1.users.SearchOrganizationUsersRequest.
142
+ * Use `create(SearchOrganizationUsersRequestSchema)` to create a new message.
915
143
  */
916
- class SearchOrganizationUsersResponse extends protobuf_1.Message {
917
- constructor(data) {
918
- super();
919
- /**
920
- * @generated from field: string next_page_token = 1;
921
- */
922
- this.nextPageToken = "";
923
- /**
924
- * @generated from field: uint32 total_size = 2;
925
- */
926
- this.totalSize = 0;
927
- /**
928
- * @generated from field: repeated scalekit.v1.users.User users = 3;
929
- */
930
- this.users = [];
931
- /**
932
- * @generated from field: string prev_page_token = 4;
933
- */
934
- this.prevPageToken = "";
935
- protobuf_1.proto3.util.initPartial(data, this);
936
- }
937
- static fromBinary(bytes, options) {
938
- return new SearchOrganizationUsersResponse().fromBinary(bytes, options);
939
- }
940
- static fromJson(jsonValue, options) {
941
- return new SearchOrganizationUsersResponse().fromJson(jsonValue, options);
942
- }
943
- static fromJsonString(jsonString, options) {
944
- return new SearchOrganizationUsersResponse().fromJsonString(jsonString, options);
945
- }
946
- static equals(a, b) {
947
- return protobuf_1.proto3.util.equals(SearchOrganizationUsersResponse, a, b);
948
- }
949
- }
950
- exports.SearchOrganizationUsersResponse = SearchOrganizationUsersResponse;
951
- SearchOrganizationUsersResponse.runtime = protobuf_1.proto3;
952
- SearchOrganizationUsersResponse.typeName = "scalekit.v1.users.SearchOrganizationUsersResponse";
953
- SearchOrganizationUsersResponse.fields = protobuf_1.proto3.util.newFieldList(() => [
954
- { no: 1, name: "next_page_token", kind: "scalar", T: 9 /* ScalarType.STRING */ },
955
- { no: 2, name: "total_size", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
956
- { no: 3, name: "users", kind: "message", T: User, repeated: true },
957
- { no: 4, name: "prev_page_token", kind: "scalar", T: 9 /* ScalarType.STRING */ },
958
- ]);
144
+ exports.SearchOrganizationUsersRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 24);
959
145
  /**
960
- * @generated from message scalekit.v1.users.CreateUser
146
+ * Describes the message scalekit.v1.users.SearchOrganizationUsersResponse.
147
+ * Use `create(SearchOrganizationUsersResponseSchema)` to create a new message.
961
148
  */
962
- class CreateUser extends protobuf_1.Message {
963
- constructor(data) {
964
- super();
965
- /**
966
- * @generated from field: string email = 5;
967
- */
968
- this.email = "";
969
- /**
970
- * @generated from field: map<string, string> metadata = 9;
971
- */
972
- this.metadata = {};
973
- protobuf_1.proto3.util.initPartial(data, this);
974
- }
975
- static fromBinary(bytes, options) {
976
- return new CreateUser().fromBinary(bytes, options);
977
- }
978
- static fromJson(jsonValue, options) {
979
- return new CreateUser().fromJson(jsonValue, options);
980
- }
981
- static fromJsonString(jsonString, options) {
982
- return new CreateUser().fromJsonString(jsonString, options);
983
- }
984
- static equals(a, b) {
985
- return protobuf_1.proto3.util.equals(CreateUser, a, b);
986
- }
987
- }
988
- exports.CreateUser = CreateUser;
989
- CreateUser.runtime = protobuf_1.proto3;
990
- CreateUser.typeName = "scalekit.v1.users.CreateUser";
991
- CreateUser.fields = protobuf_1.proto3.util.newFieldList(() => [
992
- { no: 5, name: "email", kind: "scalar", T: 9 /* ScalarType.STRING */ },
993
- { no: 6, name: "external_id", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
994
- { no: 7, name: "membership", kind: "message", T: CreateMembership },
995
- { no: 8, name: "user_profile", kind: "message", T: CreateUserProfile },
996
- { no: 9, name: "metadata", kind: "map", K: 9 /* ScalarType.STRING */, V: { kind: "scalar", T: 9 /* ScalarType.STRING */ } },
997
- ]);
149
+ exports.SearchOrganizationUsersResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 25);
998
150
  /**
999
- * @generated from message scalekit.v1.users.CreateUserProfile
151
+ * Describes the message scalekit.v1.users.CreateUser.
152
+ * Use `create(CreateUserSchema)` to create a new message.
1000
153
  */
1001
- class CreateUserProfile extends protobuf_1.Message {
1002
- constructor(data) {
1003
- super();
1004
- /**
1005
- * @generated from field: string given_name = 2;
1006
- */
1007
- this.givenName = "";
1008
- /**
1009
- * @generated from field: string family_name = 3;
1010
- */
1011
- this.familyName = "";
1012
- /**
1013
- * @generated from field: string name = 4;
1014
- */
1015
- this.name = "";
1016
- /**
1017
- * @generated from field: string locale = 5;
1018
- */
1019
- this.locale = "";
1020
- /**
1021
- * @generated from field: string phone_number = 7;
1022
- */
1023
- this.phoneNumber = "";
1024
- /**
1025
- * @generated from field: map<string, string> metadata = 8;
1026
- */
1027
- this.metadata = {};
1028
- /**
1029
- * @generated from field: map<string, string> custom_attributes = 9;
1030
- */
1031
- this.customAttributes = {};
1032
- /**
1033
- * @generated from field: string preferred_username = 10;
1034
- */
1035
- this.preferredUsername = "";
1036
- /**
1037
- * @generated from field: repeated string groups = 13;
1038
- */
1039
- this.groups = [];
1040
- /**
1041
- * @generated from field: string first_name = 21 [deprecated = true];
1042
- * @deprecated
1043
- */
1044
- this.firstName = "";
1045
- /**
1046
- * @generated from field: string last_name = 22 [deprecated = true];
1047
- * @deprecated
1048
- */
1049
- this.lastName = "";
1050
- protobuf_1.proto3.util.initPartial(data, this);
1051
- }
1052
- static fromBinary(bytes, options) {
1053
- return new CreateUserProfile().fromBinary(bytes, options);
1054
- }
1055
- static fromJson(jsonValue, options) {
1056
- return new CreateUserProfile().fromJson(jsonValue, options);
1057
- }
1058
- static fromJsonString(jsonString, options) {
1059
- return new CreateUserProfile().fromJsonString(jsonString, options);
1060
- }
1061
- static equals(a, b) {
1062
- return protobuf_1.proto3.util.equals(CreateUserProfile, a, b);
1063
- }
1064
- }
1065
- exports.CreateUserProfile = CreateUserProfile;
1066
- CreateUserProfile.runtime = protobuf_1.proto3;
1067
- CreateUserProfile.typeName = "scalekit.v1.users.CreateUserProfile";
1068
- CreateUserProfile.fields = protobuf_1.proto3.util.newFieldList(() => [
1069
- { no: 2, name: "given_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1070
- { no: 3, name: "family_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1071
- { no: 4, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1072
- { no: 5, name: "locale", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1073
- { no: 7, name: "phone_number", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1074
- { no: 8, name: "metadata", kind: "map", K: 9 /* ScalarType.STRING */, V: { kind: "scalar", T: 9 /* ScalarType.STRING */ } },
1075
- { no: 9, name: "custom_attributes", kind: "map", K: 9 /* ScalarType.STRING */, V: { kind: "scalar", T: 9 /* ScalarType.STRING */ } },
1076
- { no: 10, name: "preferred_username", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1077
- { no: 11, name: "picture", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1078
- { no: 12, name: "gender", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1079
- { no: 13, name: "groups", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
1080
- { no: 21, name: "first_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1081
- { no: 22, name: "last_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1082
- ]);
154
+ exports.CreateUserSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 26);
1083
155
  /**
1084
- * @generated from message scalekit.v1.users.UpdateUserProfile
156
+ * Describes the message scalekit.v1.users.CreateUserProfile.
157
+ * Use `create(CreateUserProfileSchema)` to create a new message.
1085
158
  */
1086
- class UpdateUserProfile extends protobuf_1.Message {
1087
- constructor(data) {
1088
- super();
1089
- /**
1090
- * @generated from field: map<string, string> metadata = 8;
1091
- */
1092
- this.metadata = {};
1093
- /**
1094
- * @generated from field: map<string, string> custom_attributes = 9;
1095
- */
1096
- this.customAttributes = {};
1097
- /**
1098
- * @generated from field: repeated string groups = 13;
1099
- */
1100
- this.groups = [];
1101
- protobuf_1.proto3.util.initPartial(data, this);
1102
- }
1103
- static fromBinary(bytes, options) {
1104
- return new UpdateUserProfile().fromBinary(bytes, options);
1105
- }
1106
- static fromJson(jsonValue, options) {
1107
- return new UpdateUserProfile().fromJson(jsonValue, options);
1108
- }
1109
- static fromJsonString(jsonString, options) {
1110
- return new UpdateUserProfile().fromJsonString(jsonString, options);
1111
- }
1112
- static equals(a, b) {
1113
- return protobuf_1.proto3.util.equals(UpdateUserProfile, a, b);
1114
- }
1115
- }
1116
- exports.UpdateUserProfile = UpdateUserProfile;
1117
- UpdateUserProfile.runtime = protobuf_1.proto3;
1118
- UpdateUserProfile.typeName = "scalekit.v1.users.UpdateUserProfile";
1119
- UpdateUserProfile.fields = protobuf_1.proto3.util.newFieldList(() => [
1120
- { no: 2, name: "given_name", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1121
- { no: 3, name: "family_name", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1122
- { no: 4, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1123
- { no: 5, name: "locale", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1124
- { no: 7, name: "phone_number", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1125
- { no: 8, name: "metadata", kind: "map", K: 9 /* ScalarType.STRING */, V: { kind: "scalar", T: 9 /* ScalarType.STRING */ } },
1126
- { no: 9, name: "custom_attributes", kind: "map", K: 9 /* ScalarType.STRING */, V: { kind: "scalar", T: 9 /* ScalarType.STRING */ } },
1127
- { no: 21, name: "first_name", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1128
- { no: 22, name: "last_name", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1129
- { no: 10, name: "preferred_username", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1130
- { no: 11, name: "picture", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1131
- { no: 12, name: "gender", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1132
- { no: 13, name: "groups", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
1133
- ]);
159
+ exports.CreateUserProfileSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 27);
1134
160
  /**
1135
- * @generated from message scalekit.v1.users.Invite
161
+ * Describes the message scalekit.v1.users.UpdateUserProfile.
162
+ * Use `create(UpdateUserProfileSchema)` to create a new message.
1136
163
  */
1137
- class Invite extends protobuf_1.Message {
1138
- constructor(data) {
1139
- super();
1140
- /**
1141
- * @generated from field: string organization_id = 1;
1142
- */
1143
- this.organizationId = "";
1144
- /**
1145
- * @generated from field: string user_id = 2;
1146
- */
1147
- this.userId = "";
1148
- /**
1149
- * @generated from field: string status = 4;
1150
- */
1151
- this.status = "";
1152
- /**
1153
- * @generated from field: int32 resent_count = 8;
1154
- */
1155
- this.resentCount = 0;
1156
- protobuf_1.proto3.util.initPartial(data, this);
1157
- }
1158
- static fromBinary(bytes, options) {
1159
- return new Invite().fromBinary(bytes, options);
1160
- }
1161
- static fromJson(jsonValue, options) {
1162
- return new Invite().fromJson(jsonValue, options);
1163
- }
1164
- static fromJsonString(jsonString, options) {
1165
- return new Invite().fromJsonString(jsonString, options);
1166
- }
1167
- static equals(a, b) {
1168
- return protobuf_1.proto3.util.equals(Invite, a, b);
1169
- }
1170
- }
1171
- exports.Invite = Invite;
1172
- Invite.runtime = protobuf_1.proto3;
1173
- Invite.typeName = "scalekit.v1.users.Invite";
1174
- Invite.fields = protobuf_1.proto3.util.newFieldList(() => [
1175
- { no: 1, name: "organization_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1176
- { no: 2, name: "user_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1177
- { no: 3, name: "inviter_email", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1178
- { no: 4, name: "status", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1179
- { no: 5, name: "created_at", kind: "message", T: protobuf_1.Timestamp },
1180
- { no: 6, name: "expires_at", kind: "message", T: protobuf_1.Timestamp },
1181
- { no: 7, name: "resent_at", kind: "message", T: protobuf_1.Timestamp },
1182
- { no: 8, name: "resent_count", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
1183
- ]);
164
+ exports.UpdateUserProfileSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 28);
1184
165
  /**
1185
- * @generated from message scalekit.v1.users.ResendInviteRequest
166
+ * Describes the message scalekit.v1.users.Invite.
167
+ * Use `create(InviteSchema)` to create a new message.
1186
168
  */
1187
- class ResendInviteRequest extends protobuf_1.Message {
1188
- constructor(data) {
1189
- super();
1190
- /**
1191
- * @generated from field: string organization_id = 1;
1192
- */
1193
- this.organizationId = "";
1194
- /**
1195
- * @generated from field: string id = 2;
1196
- */
1197
- this.id = "";
1198
- protobuf_1.proto3.util.initPartial(data, this);
1199
- }
1200
- static fromBinary(bytes, options) {
1201
- return new ResendInviteRequest().fromBinary(bytes, options);
1202
- }
1203
- static fromJson(jsonValue, options) {
1204
- return new ResendInviteRequest().fromJson(jsonValue, options);
1205
- }
1206
- static fromJsonString(jsonString, options) {
1207
- return new ResendInviteRequest().fromJsonString(jsonString, options);
1208
- }
1209
- static equals(a, b) {
1210
- return protobuf_1.proto3.util.equals(ResendInviteRequest, a, b);
1211
- }
1212
- }
1213
- exports.ResendInviteRequest = ResendInviteRequest;
1214
- ResendInviteRequest.runtime = protobuf_1.proto3;
1215
- ResendInviteRequest.typeName = "scalekit.v1.users.ResendInviteRequest";
1216
- ResendInviteRequest.fields = protobuf_1.proto3.util.newFieldList(() => [
1217
- { no: 1, name: "organization_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1218
- { no: 2, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1219
- ]);
169
+ exports.InviteSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 29);
1220
170
  /**
1221
- * @generated from message scalekit.v1.users.ResendInviteResponse
171
+ * Describes the message scalekit.v1.users.ResendInviteRequest.
172
+ * Use `create(ResendInviteRequestSchema)` to create a new message.
1222
173
  */
1223
- class ResendInviteResponse extends protobuf_1.Message {
1224
- constructor(data) {
1225
- super();
1226
- protobuf_1.proto3.util.initPartial(data, this);
1227
- }
1228
- static fromBinary(bytes, options) {
1229
- return new ResendInviteResponse().fromBinary(bytes, options);
1230
- }
1231
- static fromJson(jsonValue, options) {
1232
- return new ResendInviteResponse().fromJson(jsonValue, options);
1233
- }
1234
- static fromJsonString(jsonString, options) {
1235
- return new ResendInviteResponse().fromJsonString(jsonString, options);
1236
- }
1237
- static equals(a, b) {
1238
- return protobuf_1.proto3.util.equals(ResendInviteResponse, a, b);
1239
- }
1240
- }
1241
- exports.ResendInviteResponse = ResendInviteResponse;
1242
- ResendInviteResponse.runtime = protobuf_1.proto3;
1243
- ResendInviteResponse.typeName = "scalekit.v1.users.ResendInviteResponse";
1244
- ResendInviteResponse.fields = protobuf_1.proto3.util.newFieldList(() => [
1245
- { no: 1, name: "invite", kind: "message", T: Invite },
1246
- ]);
174
+ exports.ResendInviteRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 30);
1247
175
  /**
1248
- * @generated from message scalekit.v1.users.ListUserRolesRequest
176
+ * Describes the message scalekit.v1.users.ResendInviteResponse.
177
+ * Use `create(ResendInviteResponseSchema)` to create a new message.
1249
178
  */
1250
- class ListUserRolesRequest extends protobuf_1.Message {
1251
- constructor(data) {
1252
- super();
1253
- /**
1254
- * @generated from field: string organization_id = 1;
1255
- */
1256
- this.organizationId = "";
1257
- /**
1258
- * @generated from field: string user_id = 2;
1259
- */
1260
- this.userId = "";
1261
- protobuf_1.proto3.util.initPartial(data, this);
1262
- }
1263
- static fromBinary(bytes, options) {
1264
- return new ListUserRolesRequest().fromBinary(bytes, options);
1265
- }
1266
- static fromJson(jsonValue, options) {
1267
- return new ListUserRolesRequest().fromJson(jsonValue, options);
1268
- }
1269
- static fromJsonString(jsonString, options) {
1270
- return new ListUserRolesRequest().fromJsonString(jsonString, options);
1271
- }
1272
- static equals(a, b) {
1273
- return protobuf_1.proto3.util.equals(ListUserRolesRequest, a, b);
1274
- }
1275
- }
1276
- exports.ListUserRolesRequest = ListUserRolesRequest;
1277
- ListUserRolesRequest.runtime = protobuf_1.proto3;
1278
- ListUserRolesRequest.typeName = "scalekit.v1.users.ListUserRolesRequest";
1279
- ListUserRolesRequest.fields = protobuf_1.proto3.util.newFieldList(() => [
1280
- { no: 1, name: "organization_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1281
- { no: 2, name: "user_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1282
- ]);
179
+ exports.ResendInviteResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 31);
1283
180
  /**
1284
- * @generated from message scalekit.v1.users.ListUserRolesResponse
181
+ * Describes the message scalekit.v1.users.ListUserRolesRequest.
182
+ * Use `create(ListUserRolesRequestSchema)` to create a new message.
1285
183
  */
1286
- class ListUserRolesResponse extends protobuf_1.Message {
1287
- constructor(data) {
1288
- super();
1289
- /**
1290
- * @generated from field: repeated scalekit.v1.commons.Role roles = 1;
1291
- */
1292
- this.roles = [];
1293
- protobuf_1.proto3.util.initPartial(data, this);
1294
- }
1295
- static fromBinary(bytes, options) {
1296
- return new ListUserRolesResponse().fromBinary(bytes, options);
1297
- }
1298
- static fromJson(jsonValue, options) {
1299
- return new ListUserRolesResponse().fromJson(jsonValue, options);
1300
- }
1301
- static fromJsonString(jsonString, options) {
1302
- return new ListUserRolesResponse().fromJsonString(jsonString, options);
1303
- }
1304
- static equals(a, b) {
1305
- return protobuf_1.proto3.util.equals(ListUserRolesResponse, a, b);
1306
- }
1307
- }
1308
- exports.ListUserRolesResponse = ListUserRolesResponse;
1309
- ListUserRolesResponse.runtime = protobuf_1.proto3;
1310
- ListUserRolesResponse.typeName = "scalekit.v1.users.ListUserRolesResponse";
1311
- ListUserRolesResponse.fields = protobuf_1.proto3.util.newFieldList(() => [
1312
- { no: 1, name: "roles", kind: "message", T: commons_pb_js_1.Role, repeated: true },
1313
- ]);
184
+ exports.ListUserRolesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 32);
1314
185
  /**
1315
- * @generated from message scalekit.v1.users.AssignUserRolesRequest
186
+ * Describes the message scalekit.v1.users.ListUserRolesResponse.
187
+ * Use `create(ListUserRolesResponseSchema)` to create a new message.
1316
188
  */
1317
- class AssignUserRolesRequest extends protobuf_1.Message {
1318
- constructor(data) {
1319
- super();
1320
- /**
1321
- * @generated from field: string organization_id = 1;
1322
- */
1323
- this.organizationId = "";
1324
- /**
1325
- * @generated from field: string user_id = 2;
1326
- */
1327
- this.userId = "";
1328
- /**
1329
- * @generated from field: repeated scalekit.v1.users.AssignRoleRequest roles = 3;
1330
- */
1331
- this.roles = [];
1332
- protobuf_1.proto3.util.initPartial(data, this);
1333
- }
1334
- static fromBinary(bytes, options) {
1335
- return new AssignUserRolesRequest().fromBinary(bytes, options);
1336
- }
1337
- static fromJson(jsonValue, options) {
1338
- return new AssignUserRolesRequest().fromJson(jsonValue, options);
1339
- }
1340
- static fromJsonString(jsonString, options) {
1341
- return new AssignUserRolesRequest().fromJsonString(jsonString, options);
1342
- }
1343
- static equals(a, b) {
1344
- return protobuf_1.proto3.util.equals(AssignUserRolesRequest, a, b);
1345
- }
1346
- }
1347
- exports.AssignUserRolesRequest = AssignUserRolesRequest;
1348
- AssignUserRolesRequest.runtime = protobuf_1.proto3;
1349
- AssignUserRolesRequest.typeName = "scalekit.v1.users.AssignUserRolesRequest";
1350
- AssignUserRolesRequest.fields = protobuf_1.proto3.util.newFieldList(() => [
1351
- { no: 1, name: "organization_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1352
- { no: 2, name: "user_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1353
- { no: 3, name: "roles", kind: "message", T: AssignRoleRequest, repeated: true },
1354
- ]);
189
+ exports.ListUserRolesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 33);
1355
190
  /**
1356
- * @generated from message scalekit.v1.users.AssignRoleRequest
191
+ * Describes the message scalekit.v1.users.AssignUserRolesRequest.
192
+ * Use `create(AssignUserRolesRequestSchema)` to create a new message.
1357
193
  */
1358
- class AssignRoleRequest extends protobuf_1.Message {
1359
- constructor(data) {
1360
- super();
1361
- /**
1362
- * @generated from field: string id = 1 [deprecated = true];
1363
- * @deprecated
1364
- */
1365
- this.id = "";
1366
- /**
1367
- * @generated from field: string role_name = 2;
1368
- */
1369
- this.roleName = "";
1370
- protobuf_1.proto3.util.initPartial(data, this);
1371
- }
1372
- static fromBinary(bytes, options) {
1373
- return new AssignRoleRequest().fromBinary(bytes, options);
1374
- }
1375
- static fromJson(jsonValue, options) {
1376
- return new AssignRoleRequest().fromJson(jsonValue, options);
1377
- }
1378
- static fromJsonString(jsonString, options) {
1379
- return new AssignRoleRequest().fromJsonString(jsonString, options);
1380
- }
1381
- static equals(a, b) {
1382
- return protobuf_1.proto3.util.equals(AssignRoleRequest, a, b);
1383
- }
1384
- }
1385
- exports.AssignRoleRequest = AssignRoleRequest;
1386
- AssignRoleRequest.runtime = protobuf_1.proto3;
1387
- AssignRoleRequest.typeName = "scalekit.v1.users.AssignRoleRequest";
1388
- AssignRoleRequest.fields = protobuf_1.proto3.util.newFieldList(() => [
1389
- { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1390
- { no: 2, name: "role_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1391
- ]);
194
+ exports.AssignUserRolesRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 34);
1392
195
  /**
1393
- * @generated from message scalekit.v1.users.AssignUserRolesResponse
196
+ * Describes the message scalekit.v1.users.AssignRoleRequest.
197
+ * Use `create(AssignRoleRequestSchema)` to create a new message.
1394
198
  */
1395
- class AssignUserRolesResponse extends protobuf_1.Message {
1396
- constructor(data) {
1397
- super();
1398
- /**
1399
- * @generated from field: repeated scalekit.v1.commons.Role roles = 1;
1400
- */
1401
- this.roles = [];
1402
- protobuf_1.proto3.util.initPartial(data, this);
1403
- }
1404
- static fromBinary(bytes, options) {
1405
- return new AssignUserRolesResponse().fromBinary(bytes, options);
1406
- }
1407
- static fromJson(jsonValue, options) {
1408
- return new AssignUserRolesResponse().fromJson(jsonValue, options);
1409
- }
1410
- static fromJsonString(jsonString, options) {
1411
- return new AssignUserRolesResponse().fromJsonString(jsonString, options);
1412
- }
1413
- static equals(a, b) {
1414
- return protobuf_1.proto3.util.equals(AssignUserRolesResponse, a, b);
1415
- }
1416
- }
1417
- exports.AssignUserRolesResponse = AssignUserRolesResponse;
1418
- AssignUserRolesResponse.runtime = protobuf_1.proto3;
1419
- AssignUserRolesResponse.typeName = "scalekit.v1.users.AssignUserRolesResponse";
1420
- AssignUserRolesResponse.fields = protobuf_1.proto3.util.newFieldList(() => [
1421
- { no: 1, name: "roles", kind: "message", T: commons_pb_js_1.Role, repeated: true },
1422
- ]);
199
+ exports.AssignRoleRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 35);
1423
200
  /**
1424
- * @generated from message scalekit.v1.users.RemoveUserRoleRequest
201
+ * Describes the message scalekit.v1.users.AssignUserRolesResponse.
202
+ * Use `create(AssignUserRolesResponseSchema)` to create a new message.
1425
203
  */
1426
- class RemoveUserRoleRequest extends protobuf_1.Message {
1427
- constructor(data) {
1428
- super();
1429
- /**
1430
- * @generated from field: string organization_id = 1;
1431
- */
1432
- this.organizationId = "";
1433
- /**
1434
- * @generated from field: string user_id = 2;
1435
- */
1436
- this.userId = "";
1437
- /**
1438
- * @generated from field: string role_name = 3;
1439
- */
1440
- this.roleName = "";
1441
- protobuf_1.proto3.util.initPartial(data, this);
1442
- }
1443
- static fromBinary(bytes, options) {
1444
- return new RemoveUserRoleRequest().fromBinary(bytes, options);
1445
- }
1446
- static fromJson(jsonValue, options) {
1447
- return new RemoveUserRoleRequest().fromJson(jsonValue, options);
1448
- }
1449
- static fromJsonString(jsonString, options) {
1450
- return new RemoveUserRoleRequest().fromJsonString(jsonString, options);
1451
- }
1452
- static equals(a, b) {
1453
- return protobuf_1.proto3.util.equals(RemoveUserRoleRequest, a, b);
1454
- }
1455
- }
1456
- exports.RemoveUserRoleRequest = RemoveUserRoleRequest;
1457
- RemoveUserRoleRequest.runtime = protobuf_1.proto3;
1458
- RemoveUserRoleRequest.typeName = "scalekit.v1.users.RemoveUserRoleRequest";
1459
- RemoveUserRoleRequest.fields = protobuf_1.proto3.util.newFieldList(() => [
1460
- { no: 1, name: "organization_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1461
- { no: 2, name: "user_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1462
- { no: 3, name: "role_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1463
- ]);
204
+ exports.AssignUserRolesResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 36);
1464
205
  /**
1465
- * @generated from message scalekit.v1.users.ListUserPermissionsRequest
206
+ * Describes the message scalekit.v1.users.RemoveUserRoleRequest.
207
+ * Use `create(RemoveUserRoleRequestSchema)` to create a new message.
1466
208
  */
1467
- class ListUserPermissionsRequest extends protobuf_1.Message {
1468
- constructor(data) {
1469
- super();
1470
- /**
1471
- * @generated from field: string organization_id = 1;
1472
- */
1473
- this.organizationId = "";
1474
- /**
1475
- * @generated from field: string user_id = 2;
1476
- */
1477
- this.userId = "";
1478
- protobuf_1.proto3.util.initPartial(data, this);
1479
- }
1480
- static fromBinary(bytes, options) {
1481
- return new ListUserPermissionsRequest().fromBinary(bytes, options);
1482
- }
1483
- static fromJson(jsonValue, options) {
1484
- return new ListUserPermissionsRequest().fromJson(jsonValue, options);
1485
- }
1486
- static fromJsonString(jsonString, options) {
1487
- return new ListUserPermissionsRequest().fromJsonString(jsonString, options);
1488
- }
1489
- static equals(a, b) {
1490
- return protobuf_1.proto3.util.equals(ListUserPermissionsRequest, a, b);
1491
- }
1492
- }
1493
- exports.ListUserPermissionsRequest = ListUserPermissionsRequest;
1494
- ListUserPermissionsRequest.runtime = protobuf_1.proto3;
1495
- ListUserPermissionsRequest.typeName = "scalekit.v1.users.ListUserPermissionsRequest";
1496
- ListUserPermissionsRequest.fields = protobuf_1.proto3.util.newFieldList(() => [
1497
- { no: 1, name: "organization_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1498
- { no: 2, name: "user_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1499
- ]);
209
+ exports.RemoveUserRoleRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 37);
1500
210
  /**
1501
- * @generated from message scalekit.v1.users.Permission
211
+ * Describes the message scalekit.v1.users.ListUserPermissionsRequest.
212
+ * Use `create(ListUserPermissionsRequestSchema)` to create a new message.
1502
213
  */
1503
- class Permission extends protobuf_1.Message {
1504
- constructor(data) {
1505
- super();
1506
- /**
1507
- * @generated from field: string id = 1;
1508
- */
1509
- this.id = "";
1510
- /**
1511
- * @generated from field: string name = 2;
1512
- */
1513
- this.name = "";
1514
- /**
1515
- * @generated from field: string description = 3;
1516
- */
1517
- this.description = "";
1518
- /**
1519
- * @generated from field: repeated string tags = 4;
1520
- */
1521
- this.tags = [];
1522
- protobuf_1.proto3.util.initPartial(data, this);
1523
- }
1524
- static fromBinary(bytes, options) {
1525
- return new Permission().fromBinary(bytes, options);
1526
- }
1527
- static fromJson(jsonValue, options) {
1528
- return new Permission().fromJson(jsonValue, options);
1529
- }
1530
- static fromJsonString(jsonString, options) {
1531
- return new Permission().fromJsonString(jsonString, options);
1532
- }
1533
- static equals(a, b) {
1534
- return protobuf_1.proto3.util.equals(Permission, a, b);
1535
- }
1536
- }
1537
- exports.Permission = Permission;
1538
- Permission.runtime = protobuf_1.proto3;
1539
- Permission.typeName = "scalekit.v1.users.Permission";
1540
- Permission.fields = protobuf_1.proto3.util.newFieldList(() => [
1541
- { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1542
- { no: 2, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1543
- { no: 3, name: "description", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1544
- { no: 4, name: "tags", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
1545
- ]);
214
+ exports.ListUserPermissionsRequestSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 38);
1546
215
  /**
1547
- * @generated from message scalekit.v1.users.ListUserPermissionsResponse
216
+ * Describes the message scalekit.v1.users.Permission.
217
+ * Use `create(PermissionSchema)` to create a new message.
1548
218
  */
1549
- class ListUserPermissionsResponse extends protobuf_1.Message {
1550
- constructor(data) {
1551
- super();
1552
- /**
1553
- * @generated from field: repeated scalekit.v1.users.Permission permissions = 1;
1554
- */
1555
- this.permissions = [];
1556
- protobuf_1.proto3.util.initPartial(data, this);
1557
- }
1558
- static fromBinary(bytes, options) {
1559
- return new ListUserPermissionsResponse().fromBinary(bytes, options);
1560
- }
1561
- static fromJson(jsonValue, options) {
1562
- return new ListUserPermissionsResponse().fromJson(jsonValue, options);
1563
- }
1564
- static fromJsonString(jsonString, options) {
1565
- return new ListUserPermissionsResponse().fromJsonString(jsonString, options);
1566
- }
1567
- static equals(a, b) {
1568
- return protobuf_1.proto3.util.equals(ListUserPermissionsResponse, a, b);
1569
- }
1570
- }
1571
- exports.ListUserPermissionsResponse = ListUserPermissionsResponse;
1572
- ListUserPermissionsResponse.runtime = protobuf_1.proto3;
1573
- ListUserPermissionsResponse.typeName = "scalekit.v1.users.ListUserPermissionsResponse";
1574
- ListUserPermissionsResponse.fields = protobuf_1.proto3.util.newFieldList(() => [
1575
- { no: 1, name: "permissions", kind: "message", T: Permission, repeated: true },
1576
- ]);
219
+ exports.PermissionSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 39);
220
+ /**
221
+ * Describes the message scalekit.v1.users.ListUserPermissionsResponse.
222
+ * Use `create(ListUserPermissionsResponseSchema)` to create a new message.
223
+ */
224
+ exports.ListUserPermissionsResponseSchema = (0, codegenv2_1.messageDesc)(exports.file_scalekit_v1_users_users, 40);
225
+ /**
226
+ * @generated from service scalekit.v1.users.UserService
227
+ */
228
+ exports.UserService = (0, codegenv2_1.serviceDesc)(exports.file_scalekit_v1_users_users, 0);
1577
229
  //# sourceMappingURL=users_pb.js.map