@things-factory/auth-base 9.0.0-beta.3 → 9.0.0-beta.32

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 (340) hide show
  1. package/config/config.development.js +46 -0
  2. package/config/config.production.js +45 -0
  3. package/dist-client/auth.js +0 -3
  4. package/dist-client/auth.js.map +1 -1
  5. package/dist-client/bootstrap.d.ts +1 -1
  6. package/dist-client/bootstrap.js +4 -4
  7. package/dist-client/bootstrap.js.map +1 -1
  8. package/dist-client/directive/privileged.d.ts +1 -1
  9. package/dist-client/directive/privileged.js +1 -1
  10. package/dist-client/directive/privileged.js.map +1 -1
  11. package/dist-client/index.d.ts +4 -4
  12. package/dist-client/index.js +4 -4
  13. package/dist-client/index.js.map +1 -1
  14. package/dist-client/profiled.js +1 -1
  15. package/dist-client/profiled.js.map +1 -1
  16. package/dist-client/reducers/auth.js +1 -1
  17. package/dist-client/reducers/auth.js.map +1 -1
  18. package/dist-client/tsconfig.tsbuildinfo +1 -1
  19. package/dist-server/controllers/auth.d.ts +5 -5
  20. package/dist-server/controllers/auth.js +5 -5
  21. package/dist-server/controllers/auth.js.map +1 -1
  22. package/dist-server/controllers/change-pwd.js +19 -19
  23. package/dist-server/controllers/change-pwd.js.map +1 -1
  24. package/dist-server/controllers/checkin.js +4 -4
  25. package/dist-server/controllers/checkin.js.map +1 -1
  26. package/dist-server/controllers/delete-user.js +9 -9
  27. package/dist-server/controllers/delete-user.js.map +1 -1
  28. package/dist-server/controllers/invitation.js +19 -19
  29. package/dist-server/controllers/invitation.js.map +1 -1
  30. package/dist-server/controllers/profile.d.ts +5 -5
  31. package/dist-server/controllers/profile.js +10 -10
  32. package/dist-server/controllers/profile.js.map +1 -1
  33. package/dist-server/controllers/reset-password.js +24 -24
  34. package/dist-server/controllers/reset-password.js.map +1 -1
  35. package/dist-server/controllers/signin.d.ts +1 -1
  36. package/dist-server/controllers/signin.js +24 -24
  37. package/dist-server/controllers/signin.js.map +1 -1
  38. package/dist-server/controllers/signup.d.ts +1 -1
  39. package/dist-server/controllers/signup.js +13 -13
  40. package/dist-server/controllers/signup.js.map +1 -1
  41. package/dist-server/controllers/unlock-user.js +17 -17
  42. package/dist-server/controllers/unlock-user.js.map +1 -1
  43. package/dist-server/controllers/utils/password-rule.js +4 -4
  44. package/dist-server/controllers/utils/password-rule.js.map +1 -1
  45. package/dist-server/controllers/utils/save-invitation-token.d.ts +1 -1
  46. package/dist-server/controllers/utils/save-invitation-token.js +2 -2
  47. package/dist-server/controllers/utils/save-invitation-token.js.map +1 -1
  48. package/dist-server/controllers/utils/save-verification-token.d.ts +1 -1
  49. package/dist-server/controllers/utils/save-verification-token.js +3 -3
  50. package/dist-server/controllers/utils/save-verification-token.js.map +1 -1
  51. package/dist-server/controllers/verification.js +23 -23
  52. package/dist-server/controllers/verification.js.map +1 -1
  53. package/dist-server/errors/auth-error.js +1 -1
  54. package/dist-server/errors/auth-error.js.map +1 -1
  55. package/dist-server/errors/index.d.ts +2 -2
  56. package/dist-server/errors/index.js +2 -2
  57. package/dist-server/errors/index.js.map +1 -1
  58. package/dist-server/errors/user-domain-not-match-error.d.ts +1 -1
  59. package/dist-server/errors/user-domain-not-match-error.js +8 -8
  60. package/dist-server/errors/user-domain-not-match-error.js.map +1 -1
  61. package/dist-server/index.d.ts +16 -16
  62. package/dist-server/index.js +18 -18
  63. package/dist-server/index.js.map +1 -1
  64. package/dist-server/middlewares/authenticate-401-middleware.js +11 -11
  65. package/dist-server/middlewares/authenticate-401-middleware.js.map +1 -1
  66. package/dist-server/middlewares/bypass-signin-middleware.d.ts +1 -0
  67. package/dist-server/middlewares/bypass-signin-middleware.js +20 -0
  68. package/dist-server/middlewares/bypass-signin-middleware.js.map +1 -0
  69. package/dist-server/middlewares/domain-authenticate-middleware.d.ts +1 -1
  70. package/dist-server/middlewares/domain-authenticate-middleware.js +9 -13
  71. package/dist-server/middlewares/domain-authenticate-middleware.js.map +1 -1
  72. package/dist-server/middlewares/graphql-authenticate-middleware.js +4 -4
  73. package/dist-server/middlewares/graphql-authenticate-middleware.js.map +1 -1
  74. package/dist-server/middlewares/index.d.ts +5 -5
  75. package/dist-server/middlewares/index.js +24 -19
  76. package/dist-server/middlewares/index.js.map +1 -1
  77. package/dist-server/middlewares/jwt-authenticate-middleware.js +15 -15
  78. package/dist-server/middlewares/jwt-authenticate-middleware.js.map +1 -1
  79. package/dist-server/middlewares/signin-middleware.js +2 -2
  80. package/dist-server/middlewares/signin-middleware.js.map +1 -1
  81. package/dist-server/middlewares/verify-recaptcha-middleware.d.ts +3 -0
  82. package/dist-server/middlewares/verify-recaptcha-middleware.js +95 -0
  83. package/dist-server/middlewares/verify-recaptcha-middleware.js.map +1 -0
  84. package/dist-server/middlewares/webauthn-middleware.js +16 -13
  85. package/dist-server/middlewares/webauthn-middleware.js.map +1 -1
  86. package/dist-server/migrations/1548206416130-SeedUser.js +6 -6
  87. package/dist-server/migrations/1548206416130-SeedUser.js.map +1 -1
  88. package/dist-server/migrations/1566805283882-SeedPrivilege.js +2 -2
  89. package/dist-server/migrations/1566805283882-SeedPrivilege.js.map +1 -1
  90. package/dist-server/migrations/index.js.map +1 -1
  91. package/dist-server/router/auth-checkin-router.js +18 -17
  92. package/dist-server/router/auth-checkin-router.js.map +1 -1
  93. package/dist-server/router/auth-private-process-router.js +27 -19
  94. package/dist-server/router/auth-private-process-router.js.map +1 -1
  95. package/dist-server/router/auth-public-process-router.js +30 -30
  96. package/dist-server/router/auth-public-process-router.js.map +1 -1
  97. package/dist-server/router/auth-signin-router.js +6 -6
  98. package/dist-server/router/auth-signin-router.js.map +1 -1
  99. package/dist-server/router/auth-signup-router.js +13 -9
  100. package/dist-server/router/auth-signup-router.js.map +1 -1
  101. package/dist-server/router/index.d.ts +9 -9
  102. package/dist-server/router/index.js +9 -9
  103. package/dist-server/router/index.js.map +1 -1
  104. package/dist-server/router/oauth2/index.d.ts +2 -2
  105. package/dist-server/router/oauth2/index.js +2 -2
  106. package/dist-server/router/oauth2/index.js.map +1 -1
  107. package/dist-server/router/oauth2/oauth2-authorize-router.js +6 -6
  108. package/dist-server/router/oauth2/oauth2-authorize-router.js.map +1 -1
  109. package/dist-server/router/oauth2/oauth2-router.d.ts +1 -1
  110. package/dist-server/router/oauth2/oauth2-router.js +21 -21
  111. package/dist-server/router/oauth2/oauth2-router.js.map +1 -1
  112. package/dist-server/router/oauth2/oauth2-server.js +21 -21
  113. package/dist-server/router/oauth2/oauth2-server.js.map +1 -1
  114. package/dist-server/router/site-root-router.js +4 -4
  115. package/dist-server/router/site-root-router.js.map +1 -1
  116. package/dist-server/router/webauthn-router.js +9 -9
  117. package/dist-server/router/webauthn-router.js.map +1 -1
  118. package/dist-server/routes.js +77 -51
  119. package/dist-server/routes.js.map +1 -1
  120. package/dist-server/service/app-binding/app-binding-mutation.js +4 -4
  121. package/dist-server/service/app-binding/app-binding-mutation.js.map +1 -1
  122. package/dist-server/service/app-binding/app-binding-query.d.ts +4 -4
  123. package/dist-server/service/app-binding/app-binding-query.js +22 -22
  124. package/dist-server/service/app-binding/app-binding-query.js.map +1 -1
  125. package/dist-server/service/app-binding/app-binding-types.d.ts +1 -1
  126. package/dist-server/service/app-binding/app-binding-types.js +2 -2
  127. package/dist-server/service/app-binding/app-binding-types.js.map +1 -1
  128. package/dist-server/service/app-binding/app-binding.d.ts +2 -2
  129. package/dist-server/service/app-binding/app-binding.js +4 -4
  130. package/dist-server/service/app-binding/app-binding.js.map +1 -1
  131. package/dist-server/service/app-binding/index.d.ts +2 -2
  132. package/dist-server/service/app-binding/index.js +3 -3
  133. package/dist-server/service/app-binding/index.js.map +1 -1
  134. package/dist-server/service/appliance/appliance-mutation.d.ts +2 -2
  135. package/dist-server/service/appliance/appliance-mutation.js +21 -21
  136. package/dist-server/service/appliance/appliance-mutation.js.map +1 -1
  137. package/dist-server/service/appliance/appliance-query.d.ts +3 -3
  138. package/dist-server/service/appliance/appliance-query.js +17 -17
  139. package/dist-server/service/appliance/appliance-query.js.map +1 -1
  140. package/dist-server/service/appliance/appliance-types.d.ts +1 -1
  141. package/dist-server/service/appliance/appliance-types.js +2 -2
  142. package/dist-server/service/appliance/appliance-types.js.map +1 -1
  143. package/dist-server/service/appliance/appliance.d.ts +1 -1
  144. package/dist-server/service/appliance/appliance.js +8 -8
  145. package/dist-server/service/appliance/appliance.js.map +1 -1
  146. package/dist-server/service/appliance/index.d.ts +3 -3
  147. package/dist-server/service/appliance/index.js +5 -5
  148. package/dist-server/service/appliance/index.js.map +1 -1
  149. package/dist-server/service/application/application-mutation.d.ts +8 -8
  150. package/dist-server/service/application/application-mutation.js +20 -20
  151. package/dist-server/service/application/application-mutation.js.map +1 -1
  152. package/dist-server/service/application/application-query.d.ts +2 -2
  153. package/dist-server/service/application/application-query.js +16 -16
  154. package/dist-server/service/application/application-query.js.map +1 -1
  155. package/dist-server/service/application/application-types.d.ts +1 -1
  156. package/dist-server/service/application/application-types.js +4 -4
  157. package/dist-server/service/application/application-types.js.map +1 -1
  158. package/dist-server/service/application/application.d.ts +1 -1
  159. package/dist-server/service/application/application.js +12 -12
  160. package/dist-server/service/application/application.js.map +1 -1
  161. package/dist-server/service/application/index.d.ts +3 -3
  162. package/dist-server/service/application/index.js +5 -5
  163. package/dist-server/service/application/index.js.map +1 -1
  164. package/dist-server/service/auth-provider/auth-provider-mutation.d.ts +2 -2
  165. package/dist-server/service/auth-provider/auth-provider-mutation.js +20 -20
  166. package/dist-server/service/auth-provider/auth-provider-mutation.js.map +1 -1
  167. package/dist-server/service/auth-provider/auth-provider-query.d.ts +3 -3
  168. package/dist-server/service/auth-provider/auth-provider-query.js +20 -20
  169. package/dist-server/service/auth-provider/auth-provider-query.js.map +1 -1
  170. package/dist-server/service/auth-provider/auth-provider-type.d.ts +1 -1
  171. package/dist-server/service/auth-provider/auth-provider-type.js +2 -2
  172. package/dist-server/service/auth-provider/auth-provider-type.js.map +1 -1
  173. package/dist-server/service/auth-provider/auth-provider.d.ts +3 -3
  174. package/dist-server/service/auth-provider/auth-provider.js +12 -12
  175. package/dist-server/service/auth-provider/auth-provider.js.map +1 -1
  176. package/dist-server/service/auth-provider/index.d.ts +3 -3
  177. package/dist-server/service/auth-provider/index.js +5 -5
  178. package/dist-server/service/auth-provider/index.js.map +1 -1
  179. package/dist-server/service/domain-generator/domain-generator-mutation.d.ts +1 -1
  180. package/dist-server/service/domain-generator/domain-generator-mutation.js +11 -11
  181. package/dist-server/service/domain-generator/domain-generator-mutation.js.map +1 -1
  182. package/dist-server/service/domain-generator/domain-generator-types.d.ts +1 -1
  183. package/dist-server/service/domain-generator/domain-generator-types.js +3 -3
  184. package/dist-server/service/domain-generator/domain-generator-types.js.map +1 -1
  185. package/dist-server/service/domain-generator/index.d.ts +1 -1
  186. package/dist-server/service/domain-generator/index.js +2 -2
  187. package/dist-server/service/domain-generator/index.js.map +1 -1
  188. package/dist-server/service/granted-role/granted-role-mutation.d.ts +3 -3
  189. package/dist-server/service/granted-role/granted-role-mutation.js +17 -17
  190. package/dist-server/service/granted-role/granted-role-mutation.js.map +1 -1
  191. package/dist-server/service/granted-role/granted-role-query.d.ts +2 -2
  192. package/dist-server/service/granted-role/granted-role-query.js +13 -13
  193. package/dist-server/service/granted-role/granted-role-query.js.map +1 -1
  194. package/dist-server/service/granted-role/granted-role.d.ts +1 -1
  195. package/dist-server/service/granted-role/granted-role.js +3 -3
  196. package/dist-server/service/granted-role/granted-role.js.map +1 -1
  197. package/dist-server/service/granted-role/index.d.ts +3 -3
  198. package/dist-server/service/granted-role/index.js +5 -5
  199. package/dist-server/service/granted-role/index.js.map +1 -1
  200. package/dist-server/service/index.d.ts +25 -25
  201. package/dist-server/service/index.js +70 -70
  202. package/dist-server/service/index.js.map +1 -1
  203. package/dist-server/service/invitation/index.d.ts +3 -3
  204. package/dist-server/service/invitation/index.js +5 -5
  205. package/dist-server/service/invitation/index.js.map +1 -1
  206. package/dist-server/service/invitation/invitation-mutation.d.ts +2 -2
  207. package/dist-server/service/invitation/invitation-mutation.js +10 -10
  208. package/dist-server/service/invitation/invitation-mutation.js.map +1 -1
  209. package/dist-server/service/invitation/invitation-query.d.ts +1 -1
  210. package/dist-server/service/invitation/invitation-query.js +7 -7
  211. package/dist-server/service/invitation/invitation-query.js.map +1 -1
  212. package/dist-server/service/invitation/invitation-types.d.ts +1 -1
  213. package/dist-server/service/invitation/invitation-types.js +2 -2
  214. package/dist-server/service/invitation/invitation-types.js.map +1 -1
  215. package/dist-server/service/invitation/invitation.d.ts +1 -1
  216. package/dist-server/service/invitation/invitation.js +5 -5
  217. package/dist-server/service/invitation/invitation.js.map +1 -1
  218. package/dist-server/service/login-history/index.d.ts +2 -2
  219. package/dist-server/service/login-history/index.js +4 -4
  220. package/dist-server/service/login-history/index.js.map +1 -1
  221. package/dist-server/service/login-history/login-history-query.d.ts +3 -3
  222. package/dist-server/service/login-history/login-history-query.js +11 -11
  223. package/dist-server/service/login-history/login-history-query.js.map +1 -1
  224. package/dist-server/service/login-history/login-history-type.d.ts +1 -1
  225. package/dist-server/service/login-history/login-history-type.js +2 -2
  226. package/dist-server/service/login-history/login-history-type.js.map +1 -1
  227. package/dist-server/service/login-history/login-history.d.ts +1 -1
  228. package/dist-server/service/login-history/login-history.js +4 -4
  229. package/dist-server/service/login-history/login-history.js.map +1 -1
  230. package/dist-server/service/partner/index.d.ts +3 -3
  231. package/dist-server/service/partner/index.js +5 -5
  232. package/dist-server/service/partner/index.js.map +1 -1
  233. package/dist-server/service/partner/partner-mutation.js +8 -8
  234. package/dist-server/service/partner/partner-mutation.js.map +1 -1
  235. package/dist-server/service/partner/partner-query.d.ts +3 -3
  236. package/dist-server/service/partner/partner-query.js +17 -17
  237. package/dist-server/service/partner/partner-query.js.map +1 -1
  238. package/dist-server/service/partner/partner-types.d.ts +1 -1
  239. package/dist-server/service/partner/partner-types.js +2 -2
  240. package/dist-server/service/partner/partner-types.js.map +1 -1
  241. package/dist-server/service/partner/partner.d.ts +1 -1
  242. package/dist-server/service/partner/partner.js +5 -5
  243. package/dist-server/service/partner/partner.js.map +1 -1
  244. package/dist-server/service/password-history/index.d.ts +1 -1
  245. package/dist-server/service/password-history/index.js +2 -2
  246. package/dist-server/service/password-history/index.js.map +1 -1
  247. package/dist-server/service/privilege/index.d.ts +3 -3
  248. package/dist-server/service/privilege/index.js +5 -5
  249. package/dist-server/service/privilege/index.js.map +1 -1
  250. package/dist-server/service/privilege/privilege-directive.js +2 -2
  251. package/dist-server/service/privilege/privilege-directive.js.map +1 -1
  252. package/dist-server/service/privilege/privilege-mutation.d.ts +2 -2
  253. package/dist-server/service/privilege/privilege-mutation.js +15 -15
  254. package/dist-server/service/privilege/privilege-mutation.js.map +1 -1
  255. package/dist-server/service/privilege/privilege-query.d.ts +4 -4
  256. package/dist-server/service/privilege/privilege-query.js +20 -20
  257. package/dist-server/service/privilege/privilege-query.js.map +1 -1
  258. package/dist-server/service/privilege/privilege-types.d.ts +1 -1
  259. package/dist-server/service/privilege/privilege-types.js +2 -2
  260. package/dist-server/service/privilege/privilege-types.js.map +1 -1
  261. package/dist-server/service/privilege/privilege.d.ts +2 -2
  262. package/dist-server/service/privilege/privilege.js +10 -10
  263. package/dist-server/service/privilege/privilege.js.map +1 -1
  264. package/dist-server/service/role/index.d.ts +3 -3
  265. package/dist-server/service/role/index.js +5 -5
  266. package/dist-server/service/role/index.js.map +1 -1
  267. package/dist-server/service/role/role-mutation.d.ts +2 -2
  268. package/dist-server/service/role/role-mutation.js +19 -19
  269. package/dist-server/service/role/role-mutation.js.map +1 -1
  270. package/dist-server/service/role/role-query.d.ts +4 -4
  271. package/dist-server/service/role/role-query.js +29 -29
  272. package/dist-server/service/role/role-query.js.map +1 -1
  273. package/dist-server/service/role/role-types.d.ts +1 -1
  274. package/dist-server/service/role/role-types.js +2 -2
  275. package/dist-server/service/role/role-types.js.map +1 -1
  276. package/dist-server/service/role/role.d.ts +2 -2
  277. package/dist-server/service/role/role.js +12 -12
  278. package/dist-server/service/role/role.js.map +1 -1
  279. package/dist-server/service/user/domain-query.d.ts +1 -1
  280. package/dist-server/service/user/domain-query.js +3 -3
  281. package/dist-server/service/user/domain-query.js.map +1 -1
  282. package/dist-server/service/user/index.d.ts +4 -4
  283. package/dist-server/service/user/index.js +6 -6
  284. package/dist-server/service/user/index.js.map +1 -1
  285. package/dist-server/service/user/user-mutation.d.ts +3 -3
  286. package/dist-server/service/user/user-mutation.js +42 -42
  287. package/dist-server/service/user/user-mutation.js.map +1 -1
  288. package/dist-server/service/user/user-query.d.ts +3 -3
  289. package/dist-server/service/user/user-query.js +21 -21
  290. package/dist-server/service/user/user-query.js.map +1 -1
  291. package/dist-server/service/user/user-types.d.ts +1 -1
  292. package/dist-server/service/user/user-types.js +2 -2
  293. package/dist-server/service/user/user-types.js.map +1 -1
  294. package/dist-server/service/user/user.d.ts +3 -3
  295. package/dist-server/service/user/user.js +40 -40
  296. package/dist-server/service/user/user.js.map +1 -1
  297. package/dist-server/service/users-auth-providers/index.d.ts +1 -1
  298. package/dist-server/service/users-auth-providers/index.js +2 -2
  299. package/dist-server/service/users-auth-providers/index.js.map +1 -1
  300. package/dist-server/service/users-auth-providers/users-auth-providers.d.ts +2 -2
  301. package/dist-server/service/users-auth-providers/users-auth-providers.js +8 -8
  302. package/dist-server/service/users-auth-providers/users-auth-providers.js.map +1 -1
  303. package/dist-server/service/verification-token/index.d.ts +1 -1
  304. package/dist-server/service/verification-token/index.js +2 -2
  305. package/dist-server/service/verification-token/index.js.map +1 -1
  306. package/dist-server/service/web-auth-credential/index.d.ts +1 -1
  307. package/dist-server/service/web-auth-credential/index.js +2 -2
  308. package/dist-server/service/web-auth-credential/index.js.map +1 -1
  309. package/dist-server/service/web-auth-credential/web-auth-credential.d.ts +1 -1
  310. package/dist-server/service/web-auth-credential/web-auth-credential.js +10 -10
  311. package/dist-server/service/web-auth-credential/web-auth-credential.js.map +1 -1
  312. package/dist-server/tsconfig.tsbuildinfo +1 -1
  313. package/dist-server/types.d.ts +1 -1
  314. package/dist-server/types.js.map +1 -1
  315. package/dist-server/utils/access-token-cookie.js +2 -11
  316. package/dist-server/utils/access-token-cookie.js.map +1 -1
  317. package/dist-server/utils/check-permission.d.ts +2 -2
  318. package/dist-server/utils/check-permission.js +3 -3
  319. package/dist-server/utils/check-permission.js.map +1 -1
  320. package/dist-server/utils/check-user-belongs-domain.d.ts +1 -1
  321. package/dist-server/utils/check-user-belongs-domain.js +2 -2
  322. package/dist-server/utils/check-user-belongs-domain.js.map +1 -1
  323. package/dist-server/utils/check-user-has-role.d.ts +1 -1
  324. package/dist-server/utils/check-user-has-role.js +2 -2
  325. package/dist-server/utils/check-user-has-role.js.map +1 -1
  326. package/dist-server/utils/get-domain-users.d.ts +1 -1
  327. package/dist-server/utils/get-domain-users.js +2 -2
  328. package/dist-server/utils/get-domain-users.js.map +1 -1
  329. package/dist-server/utils/get-user-domains.d.ts +2 -3
  330. package/dist-server/utils/get-user-domains.js +30 -26
  331. package/dist-server/utils/get-user-domains.js.map +1 -1
  332. package/helps/config/recaptcha.ja.md +49 -0
  333. package/helps/config/recaptcha.ko.md +49 -0
  334. package/helps/config/recaptcha.md +49 -0
  335. package/helps/config/recaptcha.ms.md +49 -0
  336. package/helps/config/recaptcha.zh.md +49 -0
  337. package/package.json +10 -9
  338. package/dist-server/utils/get-domain-from-hostname.d.ts +0 -1
  339. package/dist-server/utils/get-domain-from-hostname.js +0 -9
  340. package/dist-server/utils/get-domain-from-hostname.js.map +0 -1
@@ -43,6 +43,7 @@ module.exports = {
43
43
  When this value is true, the 'defaultPassword' for the password must be configured.
44
44
  */
45
45
  disableUserSignupProcess: false,
46
+ bypassUserSigninProcess: false,
46
47
  i18n: {
47
48
  languages: [
48
49
  {
@@ -68,5 +69,50 @@ module.exports = {
68
69
  ],
69
70
  defaultLanguage: 'en-US',
70
71
  disableUserFavoredLanguage: false
72
+ },
73
+ recaptcha: {
74
+ /*
75
+ reCAPTCHA Configuration
76
+ This section sets up the reCAPTCHA service account and site key.
77
+ reCAPTCHA is used to verify whether the user is a human or a bot.
78
+
79
+ The service account can be created in the Google Cloud Console.
80
+ To create a service account, navigate to the "IAM & Admin" section,
81
+ select "Service accounts", and then click "Create Service Account".
82
+ Follow the prompts to generate the necessary credentials.
83
+
84
+ recapthca: {
85
+ serviceAccount: {
86
+ type: 'service_account',
87
+ project_id: '--',
88
+ private_key_id: '-----',
89
+ private_key:
90
+ '-----BEGIN PRIVATE KEY-----\nXXXX==\n-----END PRIVATE KEY-----\n',
91
+ client_email: 'abc@xyz.com',
92
+ client_id: '----',
93
+ auth_uri: 'https://accounts.google.com/o/oauth2/auth',
94
+ token_uri: 'https://oauth2.googleapis.com/token',
95
+ auth_provider_x509_cert_url: 'https://www.googleapis.com/oauth2/v1/certs',
96
+ client_x509_cert_url: 'https://www.googleapis.com/robot/v1/metadata/x509/abc%40xyz.com',
97
+ universe_domain: 'googleapis.com'
98
+ },
99
+ siteKey: '6Ld1Dr4qAAAAAMJBYZheIOw8wQopz5NwraHAbCzt'
100
+ }
101
+
102
+ serviceAccount: reCAPTCHA service account information
103
+ - type: Service account type
104
+ - project_id: Project ID
105
+ - private_key_id: Private key ID
106
+ - private_key: Private key
107
+ - client_email: Client email
108
+ - client_id: Client ID
109
+ - auth_uri: Authentication URI
110
+ - token_uri: Token URI
111
+ - auth_provider_x509_cert_url: Authentication provider x509 certificate URL
112
+ - client_x509_cert_url: Client x509 certificate URL
113
+ - universe_domain: Universe domain
114
+
115
+ siteKey: reCAPTCHA site key
116
+ */
71
117
  }
72
118
  }
@@ -67,5 +67,50 @@ module.exports = {
67
67
  ],
68
68
  defaultLanguage: 'en-US',
69
69
  disableUserFavoredLanguage: false
70
+ },
71
+ recaptcha: {
72
+ /*
73
+ reCAPTCHA Configuration
74
+ This section sets up the reCAPTCHA service account and site key.
75
+ reCAPTCHA is used to verify whether the user is a human or a bot.
76
+
77
+ The service account can be created in the Google Cloud Console.
78
+ To create a service account, navigate to the "IAM & Admin" section,
79
+ select "Service accounts", and then click "Create Service Account".
80
+ Follow the prompts to generate the necessary credentials.
81
+
82
+ recapthca: {
83
+ serviceAccount: {
84
+ type: 'service_account',
85
+ project_id: '--',
86
+ private_key_id: '-----',
87
+ private_key:
88
+ '-----BEGIN PRIVATE KEY-----\nXXXX==\n-----END PRIVATE KEY-----\n',
89
+ client_email: 'abc@xyz.com',
90
+ client_id: '----',
91
+ auth_uri: 'https://accounts.google.com/o/oauth2/auth',
92
+ token_uri: 'https://oauth2.googleapis.com/token',
93
+ auth_provider_x509_cert_url: 'https://www.googleapis.com/oauth2/v1/certs',
94
+ client_x509_cert_url: 'https://www.googleapis.com/robot/v1/metadata/x509/abc%40xyz.com',
95
+ universe_domain: 'googleapis.com'
96
+ },
97
+ siteKey: '6Ld1Dr4qAAAAAMJBYZheIOw8wQopz5NwraHAbCzt'
98
+ }
99
+
100
+ serviceAccount: reCAPTCHA service account information
101
+ - type: Service account type
102
+ - project_id: Project ID
103
+ - private_key_id: Private key ID
104
+ - private_key: Private key
105
+ - client_email: Client email
106
+ - client_id: Client ID
107
+ - auth_uri: Authentication URI
108
+ - token_uri: Token URI
109
+ - auth_provider_x509_cert_url: Authentication provider x509 certificate URL
110
+ - client_x509_cert_url: Client x509 certificate URL
111
+ - universe_domain: Universe domain
112
+
113
+ siteKey: reCAPTCHA site key
114
+ */
70
115
  }
71
116
  }
@@ -177,9 +177,6 @@ class ClientAuth {
177
177
  }
178
178
  }
179
179
  async profile() {
180
- if (sessionStorage.getItem('ThingsFactory-UseExternServer')) {
181
- return;
182
- }
183
180
  try {
184
181
  var searchParams = new URLSearchParams(location.search);
185
182
  var token = searchParams.get('token');
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../client/auth.ts"],"names":[],"mappings":"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","sourcesContent":["/* [ AUTH PATH ]\n signinPath = '/auth/signin'\n signoutPath = '/auth/signout'\n profilePath = '/auth/profile'\n updateProfilePath = '/auth/update-profile'\n changepassPath = '/auth/change-pass'\n deleteUserPath = '/auth/delete-user'\n*/\n\nconst HEADER_JSON = {\n 'Content-Type': 'application/json',\n Accept: 'application/json'\n}\ntype AuthEventName = 'profile' | 'signin' | 'signout' | 'presignout' | 'passwordchange' | 'error'\ntype AuthEventHandler = (e?: {\n accessToken?: string\n credential?: string\n domains: any[]\n domain: any\n languages?: { code: string; display: string }[]\n}) => void\ntype AuthErrorHandler = (err: any) => void\n\nclass ClientAuth {\n private listeners: {\n profile: AuthEventHandler[]\n signout: AuthEventHandler[]\n signin: AuthEventHandler[]\n presignout: AuthEventHandler[]\n passwordchange: AuthEventHandler[]\n error: AuthErrorHandler[]\n } = {\n profile: [],\n signout: [],\n signin: [],\n presignout: [],\n passwordchange: [],\n error: []\n }\n\n private authRequiredEventListener = this.onAuthRequired.bind(this)\n private activateRequiredEventListener = this.onActivateRequired.bind(this)\n\n private _credential: any\n private accessToken?: string\n private domains: any[] = []\n private domain: any\n private languages: { code: string; display: string }[] = []\n\n constructor() {\n document.addEventListener('auth-required', this.authRequiredEventListener)\n document.addEventListener('activate-required', this.activateRequiredEventListener)\n }\n\n on(event: AuthEventName, handler: AuthEventHandler | AuthErrorHandler) {\n var listeners = this.listeners[event]\n if (listeners) {\n listeners.push(handler)\n } else {\n console.log('unknown event', event)\n }\n\n if (event == 'profile' && this._credential) {\n /* \n 특별히 event 가 profile 인 경우에는 이미 fetch된 credential이 있다면, 콜백을 해준다. \n 시스템 bootstrap에서 profile 이벤트가 사용되는 경우가 많은데, profile도 매우 초기에 fetch 되므로 레이스컨디션이 발생할 수 있기 때문에, 확실하게 event 콜백을 보장하기 위해서이다.\n */\n handler({ credential: this._credential, domains: this.domains, domain: this.domain, languages: this.languages })\n }\n }\n\n off(event: AuthEventName, handler: AuthEventHandler | AuthErrorHandler) {\n var listeners = this.listeners[event]\n if (listeners) {\n let idx = listeners.indexOf(handler)\n idx >= 0 && listeners.splice(idx, 1)\n } else {\n console.log('unknown event', event)\n }\n }\n\n dispose() {\n document.removeEventListener('auth-required', this.authRequiredEventListener)\n document.removeEventListener('activate-required', this.activateRequiredEventListener)\n\n this.listeners = {\n profile: [],\n signin: [],\n signout: [],\n presignout: [],\n passwordchange: [],\n error: []\n }\n }\n\n private onProfileFetched({ credential, accessToken, domains, domain, languages }) {\n this._credential = credential\n this.domains = domains\n this.domain = domain\n this.languages = languages\n\n if (accessToken && !this.accessToken) {\n /*\n 기존에 세션을 가지거나, 액세스토큰으로 인증된 경우,\n 이 경우는 signin 이벤트리스너들을 호출해서 authenticated 상태로 되도록 유도한다.\n */\n this.accessToken = accessToken\n this.listeners.signin.forEach(handler => handler({ accessToken, domains, domain, languages }))\n }\n accessToken && (this.accessToken = accessToken)\n this.listeners.profile.forEach(handler => handler({ credential, domains, domain, languages }))\n }\n\n private async onPreSignout() {\n for (let onpresignout of this.listeners.presignout) {\n await onpresignout()\n }\n }\n\n private onAuthError(error) {\n /* signin, signup 과정에서 에러가 발생한 경우 */\n this.listeners?.error.forEach(handler => handler(error))\n }\n\n private onPasswordChanged(result) {\n //event is passwordchange, handler is result\n this.listeners?.passwordchange.forEach(handler => handler(result))\n }\n\n private onAuthRequired(e) {\n console.warn('authentication required')\n let url = new URL(window.location.href)\n url.pathname = '/auth/signin'\n url.searchParams.append('redirect_to', window.location.href)\n\n window.location.href = url.href\n }\n\n private onActivateRequired(e) {\n console.warn('activate required')\n var params = new URLSearchParams()\n params.append('email', e.email)\n\n window.location.replace(`/auth/activate?${params}`)\n }\n\n get credential() {\n return this._credential\n }\n\n route(path, redirected) {\n /* history에 남긴다. redirected된 상태임을 남긴다. */\n const location = window.location\n const origin = location.origin || location.protocol + '//' + location.host\n const href = `${origin}${path}`\n\n if (location.pathname === path) return\n\n // popstate 이벤트가 history.back() 에서만 발생하므로\n // 히스토리에 두번을 넣고 back()을 호출하는 편법을 사용함.\n // forward history가 한번 남는 문제가 있으나 signin 프로세스 중에만 발생하므로 큰 문제는 아님.\n // 이 로직은 login process가 어플리케이션 구조에 종속되는 것을 최소화하기 위함임.\n // 예를 들면, redux 구조에 들어가지 않아도 로그인 프로세스가 동작하도록 한 것임.\n window.history.pushState({ redirected }, '', href)\n window.history.pushState({}, '', href)\n\n window.history.back()\n }\n\n async updateProfile(formProps) {\n const response = await fetch('/auth/update-profile', {\n method: 'POST',\n credentials: 'include',\n headers: HEADER_JSON,\n body: JSON.stringify(formProps)\n })\n\n const message = await response.text()\n if (response.ok) {\n return message\n }\n\n throw new Error(message)\n }\n\n async changePassword(formProps) {\n try {\n const response = await fetch('/auth/change-pass', {\n method: 'POST',\n credentials: 'include',\n headers: HEADER_JSON,\n body: JSON.stringify(formProps)\n })\n\n const message = await response.text()\n if (response.ok) {\n this.onPasswordChanged({ message })\n } else {\n this.onAuthError({ message })\n }\n } catch (e) {\n this.onAuthError(e)\n }\n }\n\n async deleteUser(params) {\n const response = await fetch('/auth/delete-user', {\n method: 'POST',\n credentials: 'include',\n headers: HEADER_JSON,\n body: JSON.stringify(params)\n })\n\n const message = await response.text()\n if (response.ok) {\n return message\n } else {\n throw new Error(message)\n }\n }\n\n async profile() {\n if (sessionStorage.getItem('ThingsFactory-UseExternServer')) {\n return\n }\n\n try {\n var searchParams = new URLSearchParams(location.search)\n var token = searchParams.get('token')\n var headers = JSON.parse(JSON.stringify(HEADER_JSON))\n\n if (token) {\n headers.authorization = `Bearer ${token}`\n }\n\n const response = await fetch('/auth/profile', {\n method: 'GET',\n credentials: 'include',\n headers\n })\n\n if (response.ok) {\n if (response.redirected) {\n location.href = response.url\n return\n }\n\n const data = await response.json()\n\n this.onProfileFetched({\n credential: data.user,\n accessToken: data.token,\n domains: data.domains,\n domain: data.domain,\n languages: data.languages\n })\n\n return\n }\n } catch (e) {\n this.onAuthError(e)\n }\n }\n\n async signout() {\n await this.onPreSignout()\n\n window.location.href = '/auth/signout'\n }\n}\n\nexport const auth = new ClientAuth()\n"]}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../client/auth.ts"],"names":[],"mappings":"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","sourcesContent":["/* [ AUTH PATH ]\n signinPath = '/auth/signin'\n signoutPath = '/auth/signout'\n profilePath = '/auth/profile'\n updateProfilePath = '/auth/update-profile'\n changepassPath = '/auth/change-pass'\n deleteUserPath = '/auth/delete-user'\n*/\n\nconst HEADER_JSON = {\n 'Content-Type': 'application/json',\n Accept: 'application/json'\n}\ntype AuthEventName = 'profile' | 'signin' | 'signout' | 'presignout' | 'passwordchange' | 'error'\ntype AuthEventHandler = (e?: {\n accessToken?: string\n credential?: string\n domains: any[]\n domain: any\n languages?: { code: string; display: string }[]\n}) => void\ntype AuthErrorHandler = (err: any) => void\n\nclass ClientAuth {\n private listeners: {\n profile: AuthEventHandler[]\n signout: AuthEventHandler[]\n signin: AuthEventHandler[]\n presignout: AuthEventHandler[]\n passwordchange: AuthEventHandler[]\n error: AuthErrorHandler[]\n } = {\n profile: [],\n signout: [],\n signin: [],\n presignout: [],\n passwordchange: [],\n error: []\n }\n\n private authRequiredEventListener = this.onAuthRequired.bind(this)\n private activateRequiredEventListener = this.onActivateRequired.bind(this)\n\n private _credential: any\n private accessToken?: string\n private domains: any[] = []\n private domain: any\n private languages: { code: string; display: string }[] = []\n\n constructor() {\n document.addEventListener('auth-required', this.authRequiredEventListener)\n document.addEventListener('activate-required', this.activateRequiredEventListener)\n }\n\n on(event: AuthEventName, handler: AuthEventHandler | AuthErrorHandler) {\n var listeners = this.listeners[event]\n if (listeners) {\n listeners.push(handler)\n } else {\n console.log('unknown event', event)\n }\n\n if (event == 'profile' && this._credential) {\n /* \n 특별히 event 가 profile 인 경우에는 이미 fetch된 credential이 있다면, 콜백을 해준다. \n 시스템 bootstrap에서 profile 이벤트가 사용되는 경우가 많은데, profile도 매우 초기에 fetch 되므로 레이스컨디션이 발생할 수 있기 때문에, 확실하게 event 콜백을 보장하기 위해서이다.\n */\n handler({ credential: this._credential, domains: this.domains, domain: this.domain, languages: this.languages })\n }\n }\n\n off(event: AuthEventName, handler: AuthEventHandler | AuthErrorHandler) {\n var listeners = this.listeners[event]\n if (listeners) {\n let idx = listeners.indexOf(handler)\n idx >= 0 && listeners.splice(idx, 1)\n } else {\n console.log('unknown event', event)\n }\n }\n\n dispose() {\n document.removeEventListener('auth-required', this.authRequiredEventListener)\n document.removeEventListener('activate-required', this.activateRequiredEventListener)\n\n this.listeners = {\n profile: [],\n signin: [],\n signout: [],\n presignout: [],\n passwordchange: [],\n error: []\n }\n }\n\n private onProfileFetched({ credential, accessToken, domains, domain, languages }) {\n this._credential = credential\n this.domains = domains\n this.domain = domain\n this.languages = languages\n\n if (accessToken && !this.accessToken) {\n /*\n 기존에 세션을 가지거나, 액세스토큰으로 인증된 경우,\n 이 경우는 signin 이벤트리스너들을 호출해서 authenticated 상태로 되도록 유도한다.\n */\n this.accessToken = accessToken\n this.listeners.signin.forEach(handler => handler({ accessToken, domains, domain, languages }))\n }\n accessToken && (this.accessToken = accessToken)\n this.listeners.profile.forEach(handler => handler({ credential, domains, domain, languages }))\n }\n\n private async onPreSignout() {\n for (let onpresignout of this.listeners.presignout) {\n await onpresignout()\n }\n }\n\n private onAuthError(error) {\n /* signin, signup 과정에서 에러가 발생한 경우 */\n this.listeners?.error.forEach(handler => handler(error))\n }\n\n private onPasswordChanged(result) {\n //event is passwordchange, handler is result\n this.listeners?.passwordchange.forEach(handler => handler(result))\n }\n\n private onAuthRequired(e) {\n console.warn('authentication required')\n let url = new URL(window.location.href)\n url.pathname = '/auth/signin'\n url.searchParams.append('redirect_to', window.location.href)\n\n window.location.href = url.href\n }\n\n private onActivateRequired(e) {\n console.warn('activate required')\n var params = new URLSearchParams()\n params.append('email', e.email)\n\n window.location.replace(`/auth/activate?${params}`)\n }\n\n get credential() {\n return this._credential\n }\n\n route(path, redirected) {\n /* history에 남긴다. redirected된 상태임을 남긴다. */\n const location = window.location\n const origin = location.origin || location.protocol + '//' + location.host\n const href = `${origin}${path}`\n\n if (location.pathname === path) return\n\n // popstate 이벤트가 history.back() 에서만 발생하므로\n // 히스토리에 두번을 넣고 back()을 호출하는 편법을 사용함.\n // forward history가 한번 남는 문제가 있으나 signin 프로세스 중에만 발생하므로 큰 문제는 아님.\n // 이 로직은 login process가 어플리케이션 구조에 종속되는 것을 최소화하기 위함임.\n // 예를 들면, redux 구조에 들어가지 않아도 로그인 프로세스가 동작하도록 한 것임.\n window.history.pushState({ redirected }, '', href)\n window.history.pushState({}, '', href)\n\n window.history.back()\n }\n\n async updateProfile(formProps) {\n const response = await fetch('/auth/update-profile', {\n method: 'POST',\n credentials: 'include',\n headers: HEADER_JSON,\n body: JSON.stringify(formProps)\n })\n\n const message = await response.text()\n if (response.ok) {\n return message\n }\n\n throw new Error(message)\n }\n\n async changePassword(formProps) {\n try {\n const response = await fetch('/auth/change-pass', {\n method: 'POST',\n credentials: 'include',\n headers: HEADER_JSON,\n body: JSON.stringify(formProps)\n })\n\n const message = await response.text()\n if (response.ok) {\n this.onPasswordChanged({ message })\n } else {\n this.onAuthError({ message })\n }\n } catch (e) {\n this.onAuthError(e)\n }\n }\n\n async deleteUser(params) {\n const response = await fetch('/auth/delete-user', {\n method: 'POST',\n credentials: 'include',\n headers: HEADER_JSON,\n body: JSON.stringify(params)\n })\n\n const message = await response.text()\n if (response.ok) {\n return message\n } else {\n throw new Error(message)\n }\n }\n\n async profile() {\n try {\n var searchParams = new URLSearchParams(location.search)\n var token = searchParams.get('token')\n var headers = JSON.parse(JSON.stringify(HEADER_JSON))\n\n if (token) {\n headers.authorization = `Bearer ${token}`\n }\n\n const response = await fetch('/auth/profile', {\n method: 'GET',\n credentials: 'include',\n headers\n })\n\n if (response.ok) {\n if (response.redirected) {\n location.href = response.url\n return\n }\n\n const data = await response.json()\n\n this.onProfileFetched({\n credential: data.user,\n accessToken: data.token,\n domains: data.domains,\n domain: data.domain,\n languages: data.languages\n })\n\n return\n }\n } catch (e) {\n this.onAuthError(e)\n }\n }\n\n async signout() {\n await this.onPreSignout()\n\n window.location.href = '/auth/signout'\n }\n}\n\nexport const auth = new ClientAuth()\n"]}
@@ -1,2 +1,2 @@
1
- import './directive/privileged';
1
+ import './directive/privileged.js';
2
2
  export default function bootstrap(): void;
@@ -1,8 +1,8 @@
1
1
  import { store, updateDomains } from '@operato/shell';
2
- import { updateAuthenticated, updateUser } from './actions/auth';
3
- import { auth } from './auth';
4
- import reducerAuth from './reducers/auth';
5
- import './directive/privileged'; /* directive 초기화를 보장하기 위해서 호출함. */
2
+ import { updateAuthenticated, updateUser } from './actions/auth.js';
3
+ import { auth } from './auth.js';
4
+ import reducerAuth from './reducers/auth.js';
5
+ import './directive/privileged.js'; /* directive 초기화를 보장하기 위해서 호출함. */
6
6
  export default function bootstrap() {
7
7
  store.addReducers({
8
8
  auth: reducerAuth
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAErD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,WAAW,MAAM,iBAAiB,CAAA;AAEzC,OAAO,wBAAwB,CAAA,CAAC,kCAAkC;AAElE,MAAM,CAAC,OAAO,UAAU,SAAS;IAC/B,KAAK,CAAC,WAAW,CAAC;QAChB,IAAI,EAAE,WAAW;KAClB,CAAC,CAAA;IAEF,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;QAChE,KAAK,CAAC,QAAQ,CACZ,mBAAmB,CAAC;YAClB,aAAa,EAAE,IAAI;SACpB,CAAQ,CACV,CAAA;QACD,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAQ,CAAC,CAAA;QAC7C,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAQ,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE;QACjC,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAE5B,QAAQ,CAAC,aAAa,CACpB,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,MAAM,EAAE;gBACN,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gBACtC,OAAO;aACR;SACF,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE;QACpB,QAAQ,CAAC,aAAa,CACpB,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,MAAM,EAAE;gBACN,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,EAAE,CAAC,OAAO;aACpB;SACF,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import { store, updateDomains } from '@operato/shell'\n\nimport { updateAuthenticated, updateUser } from './actions/auth'\nimport { auth } from './auth'\nimport reducerAuth from './reducers/auth'\n\nimport './directive/privileged' /* directive 초기화를 보장하기 위해서 호출함. */\n\nexport default function bootstrap() {\n store.addReducers({\n auth: reducerAuth\n })\n\n auth.on('profile', ({ credential, domains, domain, languages }) => {\n store.dispatch(\n updateAuthenticated({\n authenticated: true\n }) as any\n )\n store.dispatch(updateUser(credential) as any)\n store.dispatch(updateDomains(domains, domain) as any)\n })\n\n auth.on('passwordchange', result => {\n let message = result.message\n\n document.dispatchEvent(\n new CustomEvent('notify', {\n detail: {\n level: result.error ? 'error' : 'info',\n message\n }\n })\n )\n })\n\n auth.on('error', ex => {\n document.dispatchEvent(\n new CustomEvent('notify', {\n detail: {\n level: 'error',\n message: ex.message\n }\n })\n )\n })\n}\n"]}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAErD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,WAAW,MAAM,oBAAoB,CAAA;AAE5C,OAAO,2BAA2B,CAAA,CAAC,kCAAkC;AAErE,MAAM,CAAC,OAAO,UAAU,SAAS;IAC/B,KAAK,CAAC,WAAW,CAAC;QAChB,IAAI,EAAE,WAAW;KAClB,CAAC,CAAA;IAEF,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;QAChE,KAAK,CAAC,QAAQ,CACZ,mBAAmB,CAAC;YAClB,aAAa,EAAE,IAAI;SACpB,CAAQ,CACV,CAAA;QACD,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAQ,CAAC,CAAA;QAC7C,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAQ,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE;QACjC,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAE5B,QAAQ,CAAC,aAAa,CACpB,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,MAAM,EAAE;gBACN,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gBACtC,OAAO;aACR;SACF,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE;QACpB,QAAQ,CAAC,aAAa,CACpB,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,MAAM,EAAE;gBACN,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,EAAE,CAAC,OAAO;aACpB;SACF,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import { store, updateDomains } from '@operato/shell'\n\nimport { updateAuthenticated, updateUser } from './actions/auth.js'\nimport { auth } from './auth.js'\nimport reducerAuth from './reducers/auth.js'\n\nimport './directive/privileged.js' /* directive 초기화를 보장하기 위해서 호출함. */\n\nexport default function bootstrap() {\n store.addReducers({\n auth: reducerAuth\n })\n\n auth.on('profile', ({ credential, domains, domain, languages }) => {\n store.dispatch(\n updateAuthenticated({\n authenticated: true\n }) as any\n )\n store.dispatch(updateUser(credential) as any)\n store.dispatch(updateDomains(domains, domain) as any)\n })\n\n auth.on('passwordchange', result => {\n let message = result.message\n\n document.dispatchEvent(\n new CustomEvent('notify', {\n detail: {\n level: result.error ? 'error' : 'info',\n message\n }\n })\n )\n })\n\n auth.on('error', ex => {\n document.dispatchEvent(\n new CustomEvent('notify', {\n detail: {\n level: 'error',\n message: ex.message\n }\n })\n )\n })\n}\n"]}
@@ -12,5 +12,5 @@ export declare const privileged: (privilege: {
12
12
  category?: string;
13
13
  domainOwnerGranted?: boolean;
14
14
  superUserGranted?: boolean;
15
- }, trueResult: any, falseResult?: any) => import("lit-html/directive").DirectiveResult<typeof PrivilegedDirective>;
15
+ }, trueResult: any, falseResult?: any) => import("lit-html/directive.js").DirectiveResult<typeof PrivilegedDirective>;
16
16
  export {};
@@ -1,6 +1,6 @@
1
1
  import { nothing } from 'lit';
2
2
  import { directive, AsyncDirective } from 'lit/async-directive.js';
3
- import { hasPrivilege } from '../profiled';
3
+ import { hasPrivilege } from '../profiled.js';
4
4
  class PrivilegedDirective extends AsyncDirective {
5
5
  render(privilege, trueResult, falseResult = nothing) {
6
6
  this.setValue(nothing);
@@ -1 +1 @@
1
- {"version":3,"file":"privileged.js","sourceRoot":"","sources":["../../client/directive/privileged.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAC7B,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,mBAAoB,SAAQ,cAAc;IAC9C,MAAM,CACJ,SAKC,EACD,UAAe,EACf,cAAmB,OAAO;QAE1B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAEtB,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACpC,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;YAC3B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAA","sourcesContent":["import { nothing } from 'lit'\nimport { directive, AsyncDirective } from 'lit/async-directive.js'\nimport { hasPrivilege } from '../profiled'\n\nclass PrivilegedDirective extends AsyncDirective {\n render(\n privilege: {\n privilege?: string\n category?: string\n domainOwnerGranted?: boolean\n superUserGranted?: boolean\n },\n trueResult: any,\n falseResult: any = nothing\n ) {\n this.setValue(nothing)\n\n hasPrivilege(privilege).then(result => {\n if (result) {\n this.setValue(trueResult)\n } else {\n this.setValue(falseResult)\n }\n })\n }\n}\n\nexport const privileged = directive(PrivilegedDirective)\n"]}
1
+ {"version":3,"file":"privileged.js","sourceRoot":"","sources":["../../client/directive/privileged.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAC7B,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,mBAAoB,SAAQ,cAAc;IAC9C,MAAM,CACJ,SAKC,EACD,UAAe,EACf,cAAmB,OAAO;QAE1B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAEtB,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACpC,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;YAC3B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAA","sourcesContent":["import { nothing } from 'lit'\nimport { directive, AsyncDirective } from 'lit/async-directive.js'\nimport { hasPrivilege } from '../profiled.js'\n\nclass PrivilegedDirective extends AsyncDirective {\n render(\n privilege: {\n privilege?: string\n category?: string\n domainOwnerGranted?: boolean\n superUserGranted?: boolean\n },\n trueResult: any,\n falseResult: any = nothing\n ) {\n this.setValue(nothing)\n\n hasPrivilege(privilege).then(result => {\n if (result) {\n this.setValue(trueResult)\n } else {\n this.setValue(falseResult)\n }\n })\n }\n}\n\nexport const privileged = directive(PrivilegedDirective)\n"]}
@@ -1,4 +1,4 @@
1
- export * from './auth';
2
- export * from './profiled';
3
- export * from './directive/privileged';
4
- export * from './verify-webauthn';
1
+ export * from './auth.js';
2
+ export * from './profiled.js';
3
+ export * from './directive/privileged.js';
4
+ export * from './verify-webauthn.js';
@@ -1,5 +1,5 @@
1
- export * from './auth';
2
- export * from './profiled';
3
- export * from './directive/privileged';
4
- export * from './verify-webauthn';
1
+ export * from './auth.js';
2
+ export * from './profiled.js';
3
+ export * from './directive/privileged.js';
4
+ export * from './verify-webauthn.js';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../client/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA","sourcesContent":["export * from './auth'\nexport * from './profiled'\nexport * from './directive/privileged'\nexport * from './verify-webauthn'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../client/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,2BAA2B,CAAA;AACzC,cAAc,sBAAsB,CAAA","sourcesContent":["export * from './auth.js'\nexport * from './profiled.js'\nexport * from './directive/privileged.js'\nexport * from './verify-webauthn.js'\n"]}
@@ -1,4 +1,4 @@
1
- import { auth } from './auth';
1
+ import { auth } from './auth.js';
2
2
  var profileResolved = false;
3
3
  var user;
4
4
  var languages;
@@ -1 +1 @@
1
- {"version":3,"file":"profiled.js","sourceRoot":"","sources":["../client/profiled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,IAAI,eAAe,GAAG,KAAK,CAAA;AAC3B,IAAI,IAAI,CAAA;AACR,IAAI,SAAS,CAAA;AACb,IAAI,MAAM,CAAA;AACV,IAAI,OAAO,CAAA;AAEX,MAAM,YAAY,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;IAC/C,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAgD,EAAE,EAAE;QACtE,eAAe,GAAG,IAAI,CAAA;QAEtB,IAAI,GAAG,IAAI,CAAC,UAAU,CAAA;QACtB,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAC1B,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACpB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtB,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EACjC,SAAS,EACT,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAMjB;IACC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,YAAY,CAAA;IACpB,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;IAE9D,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;YAC1B,8CAA8C;YAC9C,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAA;QACzF,CAAC;QAED,yEAAyE;QACzE,OAAO,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,CAAA;IACjD,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,+DAA+D;YAC/D,OAAO,CAAC,kBAAkB,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAA;QACzE,CAAC;QAED,IAAI,CAAC,kBAAkB,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,SAAS,CAAC,EAAE,CAAC;YACrE,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAA;IACzF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,YAAY,CAAA;IACpB,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,YAAY,CAAA;IACpB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,YAAY,CAAA;IACpB,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC","sourcesContent":["import { auth } from './auth'\n\nvar profileResolved = false\nvar user\nvar languages\nvar domain\nvar domains\n\nconst profileReady = new Promise<void>(resolve => {\n auth.on('profile', (data: { credential; domains; domain; languages }) => {\n profileResolved = true\n\n user = data.credential\n languages = data.languages\n domain = data.domain\n domains = data.domains\n\n resolve()\n })\n})\n\nexport async function hasPrivilege({\n privilege,\n category,\n domainOwnerGranted,\n superUserGranted\n}: {\n privilege?: string\n category?: string\n domainOwnerGranted?: boolean\n superUserGranted?: boolean\n}) {\n if (!profileResolved) {\n await profileReady\n }\n\n const { privileges, owner, super: superUser, unsafeIP } = user\n\n if (unsafeIP) {\n if (privilege && category) {\n // unsafeIP 상황에서는 ownership granted는 적용되지 않는다.\n return (privileges || []).find(p => p.privilege == privilege && p.category == category)\n }\n\n // privileage, category가 설정되지 않은 경우에는 ownership granted가 설정되었다면 허가하지 않는다.\n return !domainOwnerGranted && !superUserGranted\n } else {\n if (!privilege || !category) {\n // privileage, category가 설정되지 않은 경우에는 ownership granted만을 적용한다.\n return (domainOwnerGranted && owner) || (superUserGranted && superUser)\n }\n\n if ((domainOwnerGranted && owner) || (superUserGranted && superUser)) {\n return true\n }\n\n return (privileges || []).find(p => p.privilege == privilege && p.category == category)\n }\n}\n\nexport async function getLanguages() {\n if (!profileResolved) {\n await profileReady\n }\n\n return languages\n}\n\nexport async function getDomain() {\n if (!profileResolved) {\n await profileReady\n }\n\n return domain\n}\n\nexport async function getDomains() {\n if (!profileResolved) {\n await profileReady\n }\n\n return domains\n}\n"]}
1
+ {"version":3,"file":"profiled.js","sourceRoot":"","sources":["../client/profiled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,IAAI,eAAe,GAAG,KAAK,CAAA;AAC3B,IAAI,IAAI,CAAA;AACR,IAAI,SAAS,CAAA;AACb,IAAI,MAAM,CAAA;AACV,IAAI,OAAO,CAAA;AAEX,MAAM,YAAY,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;IAC/C,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAgD,EAAE,EAAE;QACtE,eAAe,GAAG,IAAI,CAAA;QAEtB,IAAI,GAAG,IAAI,CAAC,UAAU,CAAA;QACtB,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAC1B,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACpB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtB,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EACjC,SAAS,EACT,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAMjB;IACC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,YAAY,CAAA;IACpB,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;IAE9D,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;YAC1B,8CAA8C;YAC9C,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAA;QACzF,CAAC;QAED,yEAAyE;QACzE,OAAO,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,CAAA;IACjD,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,+DAA+D;YAC/D,OAAO,CAAC,kBAAkB,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAA;QACzE,CAAC;QAED,IAAI,CAAC,kBAAkB,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,SAAS,CAAC,EAAE,CAAC;YACrE,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAA;IACzF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,YAAY,CAAA;IACpB,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,YAAY,CAAA;IACpB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,YAAY,CAAA;IACpB,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC","sourcesContent":["import { auth } from './auth.js'\n\nvar profileResolved = false\nvar user\nvar languages\nvar domain\nvar domains\n\nconst profileReady = new Promise<void>(resolve => {\n auth.on('profile', (data: { credential; domains; domain; languages }) => {\n profileResolved = true\n\n user = data.credential\n languages = data.languages\n domain = data.domain\n domains = data.domains\n\n resolve()\n })\n})\n\nexport async function hasPrivilege({\n privilege,\n category,\n domainOwnerGranted,\n superUserGranted\n}: {\n privilege?: string\n category?: string\n domainOwnerGranted?: boolean\n superUserGranted?: boolean\n}) {\n if (!profileResolved) {\n await profileReady\n }\n\n const { privileges, owner, super: superUser, unsafeIP } = user\n\n if (unsafeIP) {\n if (privilege && category) {\n // unsafeIP 상황에서는 ownership granted는 적용되지 않는다.\n return (privileges || []).find(p => p.privilege == privilege && p.category == category)\n }\n\n // privileage, category가 설정되지 않은 경우에는 ownership granted가 설정되었다면 허가하지 않는다.\n return !domainOwnerGranted && !superUserGranted\n } else {\n if (!privilege || !category) {\n // privileage, category가 설정되지 않은 경우에는 ownership granted만을 적용한다.\n return (domainOwnerGranted && owner) || (superUserGranted && superUser)\n }\n\n if ((domainOwnerGranted && owner) || (superUserGranted && superUser)) {\n return true\n }\n\n return (privileges || []).find(p => p.privilege == privilege && p.category == category)\n }\n}\n\nexport async function getLanguages() {\n if (!profileResolved) {\n await profileReady\n }\n\n return languages\n}\n\nexport async function getDomain() {\n if (!profileResolved) {\n await profileReady\n }\n\n return domain\n}\n\nexport async function getDomains() {\n if (!profileResolved) {\n await profileReady\n }\n\n return domains\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { SET_AUTH, SET_PROFILE } from '../actions/auth';
1
+ import { SET_AUTH, SET_PROFILE } from '../actions/auth.js';
2
2
  const INITIAL_STATE = {
3
3
  authenticated: false,
4
4
  accessToken: '',
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../client/reducers/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAEvD,MAAM,aAAa,GAAG;IACpB,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE,EAAE;IACf,IAAI,EAAE,IAAI;CACX,CAAA;AAED,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,aAAa,EAAE,MAAM,EAAE,EAAE;IAC7C,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ;YACX,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;YAEtB,uCACK,KAAK,KACR,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,WAAW,EAAE,IAAI,CAAC,WAAW,IAC9B;QAEH,KAAK,WAAW;YACd,uCACK,KAAK,KACR,IAAI,EAAE,MAAM,CAAC,IAAI,IAClB;QAEH;YACE,OAAO,KAAK,CAAA;IAChB,CAAC;AACH,CAAC,CAAA;AAED,eAAe,IAAI,CAAA","sourcesContent":["import { SET_AUTH, SET_PROFILE } from '../actions/auth'\n\nconst INITIAL_STATE = {\n authenticated: false,\n accessToken: '',\n user: null\n}\n\nconst auth = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case SET_AUTH:\n let auth = action.auth\n\n return {\n ...state,\n authenticated: auth.authenticated,\n accessToken: auth.accessToken\n }\n\n case SET_PROFILE:\n return {\n ...state,\n user: action.user\n }\n\n default:\n return state\n }\n}\n\nexport default auth\n"]}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../client/reducers/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAE1D,MAAM,aAAa,GAAG;IACpB,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE,EAAE;IACf,IAAI,EAAE,IAAI;CACX,CAAA;AAED,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,aAAa,EAAE,MAAM,EAAE,EAAE;IAC7C,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ;YACX,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;YAEtB,uCACK,KAAK,KACR,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,WAAW,EAAE,IAAI,CAAC,WAAW,IAC9B;QAEH,KAAK,WAAW;YACd,uCACK,KAAK,KACR,IAAI,EAAE,MAAM,CAAC,IAAI,IAClB;QAEH;YACE,OAAO,KAAK,CAAA;IAChB,CAAC;AACH,CAAC,CAAA;AAED,eAAe,IAAI,CAAA","sourcesContent":["import { SET_AUTH, SET_PROFILE } from '../actions/auth.js'\n\nconst INITIAL_STATE = {\n authenticated: false,\n accessToken: '',\n user: null\n}\n\nconst auth = (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case SET_AUTH:\n let auth = action.auth\n\n return {\n ...state,\n authenticated: auth.authenticated,\n accessToken: auth.accessToken\n }\n\n case SET_PROFILE:\n return {\n ...state,\n user: action.user\n }\n\n default:\n return state\n }\n}\n\nexport default auth\n"]}
@@ -1 +1 @@
1
- {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../client/auth.ts","../../../node_modules/@operato/shell/dist/src/types/domain.d.ts","../../../node_modules/@operato/shell/dist/src/types/user.d.ts","../../../node_modules/@operato/shell/dist/src/types/role.d.ts","../../../node_modules/@operato/shell/dist/src/types/privilege.d.ts","../../../node_modules/@operato/shell/dist/src/types/types.d.ts","../../../node_modules/@operato/shell/dist/src/types/index.d.ts","../../../node_modules/redux/index.d.ts","../../../node_modules/pwa-helpers/lazy-reducer-enhancer.d.ts","../../../node_modules/@operato/shell/dist/src/store.d.ts","../../../node_modules/@operato/shell/dist/src/actions/app.d.ts","../../../node_modules/@operato/shell/dist/src/actions/route.d.ts","../../../node_modules/@operato/shell/dist/src/actions/busy.d.ts","../../../node_modules/@operato/shell/dist/src/actions/const.d.ts","../../../node_modules/@operato/shell/dist/src/actions/index.d.ts","../../../node_modules/@lit/reactive-element/css-tag.d.ts","../../../node_modules/@lit/reactive-element/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/reactive-element.d.ts","../../../node_modules/lit-html/directive.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/lit-html/lit-html.d.ts","../../../node_modules/lit-element/lit-element.d.ts","../../../node_modules/lit-html/is-server.d.ts","../../../node_modules/lit/index.d.ts","../../../node_modules/@operato/shell/dist/src/app/pages/page-view.d.ts","../../../node_modules/@operato/shell/dist/src/object-store.d.ts","../../../node_modules/@operato/shell/dist/src/custom-alert.d.ts","../../../node_modules/@operato/shell/dist/src/index.d.ts","../../../node_modules/@reduxjs/toolkit/node_modules/redux/dist/redux.d.ts","../../../node_modules/immer/dist/immer.d.ts","../../../node_modules/@reduxjs/toolkit/node_modules/reselect/dist/reselect.d.ts","../../../node_modules/@reduxjs/toolkit/node_modules/redux-thunk/dist/redux-thunk.d.ts","../../../node_modules/@reduxjs/toolkit/dist/uncheckedindexed.ts","../../../node_modules/@reduxjs/toolkit/dist/index.d.ts","../client/actions/auth.ts","../client/reducers/auth.ts","../../../node_modules/lit-html/async-directive.d.ts","../../../node_modules/lit/async-directive.d.ts","../client/profiled.ts","../client/directive/privileged.ts","../client/bootstrap.ts","../../../node_modules/@simplewebauthn/types/types/dom.d.ts","../../../node_modules/@simplewebauthn/types/types/index.d.ts","../../../node_modules/@simplewebauthn/browser/dist/types/methods/startregistration.d.ts","../../../node_modules/@simplewebauthn/browser/dist/types/methods/startauthentication.d.ts","../../../node_modules/@simplewebauthn/browser/dist/types/helpers/browsersupportswebauthn.d.ts","../../../node_modules/@simplewebauthn/browser/dist/types/helpers/platformauthenticatorisavailable.d.ts","../../../node_modules/@simplewebauthn/browser/dist/types/helpers/browsersupportswebauthnautofill.d.ts","../../../node_modules/@simplewebauthn/browser/dist/types/helpers/base64urlstringtobuffer.d.ts","../../../node_modules/@simplewebauthn/browser/dist/types/helpers/buffertobase64urlstring.d.ts","../../../node_modules/@simplewebauthn/browser/dist/types/helpers/webauthnabortservice.d.ts","../../../node_modules/@simplewebauthn/browser/dist/types/helpers/webauthnerror.d.ts","../../../node_modules/@simplewebauthn/browser/dist/types/index.d.ts","../client/verify-webauthn.ts","../client/index.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts"],"fileIdsList":[[109,152],[109,152,205],[64,65,109,152],[59,60,61,62,109,152],[72,109,152],[55,58,63,73,74,75,109,152],[56,57,109,152],[50,51,52,53,54,109,152],[51,52,109,152],[50,51,53,109,152],[77,78,79,80,81,109,152],[48,109,152],[77,109,152],[92,93,94,95,96,97,98,99,100,109,152],[91,109,152],[90,109,152],[109,152,207,210],[109,149,152],[109,151,152],[152],[109,152,157,187],[109,152,153,158,164,165,172,184,195],[109,152,153,154,164,172],[104,105,106,109,152],[109,152,155,196],[109,152,156,157,165,173],[109,152,157,184,192],[109,152,158,160,164,172],[109,151,152,159],[109,152,160,161],[109,152,164],[109,152,162,164],[109,151,152,164],[109,152,164,165,166,184,195],[109,152,164,165,166,179,184,187],[109,147,152,200],[109,147,152,160,164,167,172,184,195],[109,152,164,165,167,168,172,184,192,195],[109,152,167,169,184,192,195],[107,108,109,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201],[109,152,164,170],[109,152,171,195,200],[109,152,160,164,172,184],[109,152,173],[109,152,174],[109,151,152,175],[109,149,150,151,152,153,154,155,156,157,158,159,160,161,162,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201],[109,152,177],[109,152,178],[109,152,164,179,180],[109,152,179,181,196,198],[109,152,164,184,185,186,187],[109,152,184,186],[109,152,184,185],[109,152,187],[109,152,188],[109,149,152,184],[109,152,164,190,191],[109,152,190,191],[109,152,157,172,184,192],[109,152,193],[109,152,172,194],[109,152,167,178,195],[109,152,157,196],[109,152,184,197],[109,152,171,198],[109,152,199],[109,152,157,164,166,175,184,195,198,200],[109,152,184,201],[109,152,203,209],[109,152,207],[109,152,204,208],[66,69,109,152],[67,69,109,152],[69,109,152],[67,68,109,152],[85,109,152],[66,69,70,71,109,152],[109,152,206],[56,109,152],[109,119,123,152,195],[109,119,152,184,195],[109,114,152],[109,116,119,152,192,195],[109,152,172,192],[109,152,202],[109,114,152,202],[109,116,119,152,172,195],[109,111,112,115,118,152,164,184,195],[109,119,126,152],[109,111,117,152],[109,119,140,141,152],[109,115,119,152,187,195,202],[109,140,152,202],[109,113,114,152,202],[109,119,152],[109,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,141,142,143,144,145,146,152],[109,119,134,152],[109,119,126,127,152],[109,117,119,127,128,152],[109,118,152],[109,111,114,119,152],[109,119,123,127,128,152],[109,123,152],[109,117,119,122,152,195],[109,111,116,119,126,152],[109,152,184],[109,114,119,140,152,200,202],[48,82,109,152],[48,49,76,83,84,88,109,152],[48,72,86,87,109,152],[48,49,87,88,102,109,152],[48,49,109,152],[48,83,109,152],[48,101,109,152]],"fileInfos":[{"version":"e41c290ef7dd7dab3493e6cbe5909e0148edf4a8dad0271be08edec368a0f7b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"4fd3f3422b2d2a3dfd5cdd0f387b3a8ec45f006c6ea896a4cb41264c2100bb2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"62bb211266ee48b2d0edf0d8d1b191f0c24fc379a82bd4c1692a082c540bc6b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1e2a172204962276504466a6393426d2ca9c54894b1ad0a6c9dad867a65f876","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"b43c3d6f808876e21ed81a3bb8e348be01110ca6c464a080256b2b0ee17aa7ba","signature":"ead7c69443921d68ef00bb0c31d11c3eddefd5cbfca08f7a6979b5bb46a2a2c6"},{"version":"4d4cf93a6b4c81851ad759e4569b6feb7a701e80b13a6f9d8d9c6012bbb86bd6","impliedFormat":1},{"version":"2e6035af8f3e43bf95e4983329c8277d66f9b271106af27b99a85d1c1b9daf4a","impliedFormat":1},{"version":"774308610e8d4a9954cd93840f99decbf340accfe3ad7365547950ede8162c92","impliedFormat":1},{"version":"36c15dd26c66c97b9df26ce34baacdb13fc760c5b9a2d789dcc317d27b189257","impliedFormat":1},{"version":"3d7c0b593a29d717b2b2ba3f03f819c3c48bf9e250d79c4a31860af80f177e8c","impliedFormat":1},{"version":"f228d440342f5d0933f5db093aafab2f07de24a427b4488ccfae27b7457d7666","impliedFormat":1},{"version":"fd624f7d7b264922476685870f08c5e1c6d6a0f05dee2429a9747b41f6b699d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"701978f3975f96e76e3ffc2e1762e3a97e3d323812049fb6fdfd559579b89708","impliedFormat":1},{"version":"4ab17f80ced148d509345cee706b2b85941515dd76e32cf47118bcdf6a4bd56a","affectsGlobalScope":true,"impliedFormat":1},{"version":"641089f0b8094ef74b9d4b3364d5dec1592d5e3b8a51c1ba491bc8872049e79a","impliedFormat":1},{"version":"950fc6ac97ce76785f03282f907aac4b2cbd8ac74b17c963f1389847962cbc20","impliedFormat":1},{"version":"b42033bf1067564808e4d360d79281667c2b3b0792c2d615ab641eb85974d4ba","impliedFormat":1},{"version":"7af29b0589483f7bb8a99405ddb849f34bc053146184561ed4179e02f5fe4d0f","impliedFormat":1},{"version":"78faa3783191b2d5d5f7a9e835ee3f6a1456dc391d6eb5b40d3a27dfd9decd6e","impliedFormat":1},{"version":"e056bb30bf82271634daeee81f772f4a7960085f01f6d4d09c8da1ebe5f6a623","impliedFormat":99},{"version":"5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","impliedFormat":99},{"version":"86492a546c3308feaf1dde967afd325c321483b5e96f5fa9e9b6e691dc23fa9e","affectsGlobalScope":true,"impliedFormat":99},{"version":"00cb63103f9670f8094c238a4a7e252c8b4c06ba371fea5c44add7e41b7247e4","impliedFormat":99},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"43f58358870effc43ba93c92c040dee2285cbd8685ddfa77658e498780727c4e","impliedFormat":99},{"version":"9a318e3a8900672b85cd3c8c3a5acf51b88049557a3ae897ccdcf2b85a8f61f9","impliedFormat":99},{"version":"1bcd560deed90a43c51b08aa18f7f55229f2e30974ab5ed1b7bb5721be379013","impliedFormat":99},{"version":"dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be","impliedFormat":99},{"version":"9c7568f9c75cf6a7d35dc9f18c5971cd5b21344c686c7cce56b3558d3305d40f","impliedFormat":1},{"version":"fc48282c397084016a939e1b3f91dcaf4199b6cba339d91d8b2dc2acade79762","impliedFormat":1},{"version":"3e62a55b950132d6eeacc607b7a1bff990d5484347b2be5a1f54db51af30ff25","impliedFormat":1},{"version":"a6203646763fb7340123eace99b924c9586ea3cf56f65fe8c56308e6ecb2b805","impliedFormat":1},{"version":"f734b58ea162765ff4d4a36f671ee06da898921e985a2064510f4925ec1ed062","affectsGlobalScope":true,"impliedFormat":1},{"version":"07cbc706c24fa086bcc20daee910b9afa5dc5294e14771355861686c9d5235fd","impliedFormat":1},{"version":"37f96daaddc2dd96712b2e86f3901f477ac01a5c2539b1bc07fd609d62039ee1","impliedFormat":1},{"version":"9c5c84c449a3d74e417343410ba9f1bd8bfeb32abd16945a1b3d0592ded31bc8","impliedFormat":1},{"version":"a7f09d2aaf994dbfd872eda4f2411d619217b04dbe0916202304e7a3d4b0f5f8","impliedFormat":1},{"version":"c4865825540e202b2937d95ee6843b47dce6d047c0d518a779c4fc500249f31d","impliedFormat":1},{"version":"35d2253283b5bcabd4868955daffeaed9b4e282c7cb0b4148dfdcd9dae0fd536","signature":"59407654647c0831f7ff4a9b4634cb71bb84489332362161ed31eedf22cd19e3"},{"version":"d3a72e3acec55990c739ec2c7ec487ace738418d0650356c2db86b67a3d1b818","signature":"6a716b8d3a52002354a3e530ee6c90d52209af1f53eaefb9c4527228bf0a6f67"},{"version":"c42f9b18f5f559b133cf9b409f678afb30df9c6498865aae9a1abad0f1e727a8","impliedFormat":99},{"version":"eabff483c855b848eefb979dbfb64c8858444c56a2f3ea0e59de026ef03fd089","impliedFormat":99},{"version":"2ef2abb081acc60d2fe8083d8aa8925a9fabf6eee88a331c0234dd8fad71bcfc","signature":"d75a3e4665db49528093a3d868b69a53ac6bfc368b232d4db3130fd0a5e543c2"},{"version":"a9b96633c658f87988e20b077d45dc11e39a9237e829bcbbf400e5686c249b7b","signature":"9848af2eb0cfdf37577332c9c5035c616918c3139fa09d5c1f504b878f2281a3"},{"version":"85d18863957bd329e9e801ea8467123d8e0d12dedced776718fd648ea7c0b28f","signature":"d09851f8824ccbae129caa791d49356c8b7406f05687cb38a7c7eb3ed21d197b"},{"version":"7c7b0cb8e73236466a6b82bc4cfc5432bf020d6486fba6971b7f4e3626d8596c","impliedFormat":1},{"version":"30649028712370b111202f9dcff2258c5d18b316ac8dd482d63e9f990ea6d8a3","impliedFormat":1},{"version":"0e9743024712c79f563c2b25f89702df6c3362d40a6e98ecaf2bb7ba925f00f6","impliedFormat":99},{"version":"eaa5f2320d2f3fbb55db39ad329fc9458e41ea03436cd6e7cf6cd4ebff249ee6","impliedFormat":99},{"version":"2c0a002077618a07de8522922288d4a667e4d460420ed99dceac5730085512e9","impliedFormat":99},{"version":"c6fa5ebddfaef8807b7a7c0fe7685ab25ea18bd68c33e44c8ebaaf84044412e5","impliedFormat":99},{"version":"9b4d21e314ee98044e2a66e9ea21e4d6c99661826d7df52f28ec552e2f68c245","impliedFormat":99},{"version":"0352d5db70863892f7d417503f91af86b6eeca496268612770d2f045025d4e11","impliedFormat":99},{"version":"b8186275886abd7a3a815ec8b11e31b2151c745b67acfbb844757168bfae724c","impliedFormat":99},{"version":"d8df0567ffec6200245b5b2576211cf5377b891793b4e98b726049e930b488a4","impliedFormat":99},{"version":"487c2b19335d262629852b48051cf237f2d613e038dc4f479add7237fced54f9","impliedFormat":99},{"version":"c9f61cbd94350f5d0789052338a9dc51d0d25c83ecd7da00db2da840ddd4d63a","impliedFormat":99},{"version":"997c14dffeb1bbffe14e7f79307295aa83d7ef1ee38762c13514d53ae43d2ede","signature":"e899b1dbfb78597e87307ffaccf5617114bfc97fd39a0b773cbefebfd5c3a870"},{"version":"37cdc656fa1e607de2bdcc5b6d6481edfe2a19e896ca6ed826638a503031b817","signature":"483c80302dd9ff5161b05031ef4d06c4e50fd500f09875cf790ba8b82e33aa1d"},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fd06258805d26c72f5997e07a23155d322d5f05387adb3744a791fe6a0b042d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"ba97261afafe85aafe76d988e65e531da8e8cf791c49caf0531f5dd1689bd91b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f52e8dacc97d71dcc96af29e49584353f9c54cb916d132e3e768d8b8129c928d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"53eac70430b30089a3a1959d8306b0f9cfaf0de75224b68ef25243e0b5ad1ca3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"86956cc2eb9dd371d6fab493d326a574afedebf76eef3fa7833b8e0d9b52d6f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"e9ad08a376ac84948fcca0013d6f1d4ae4f9522e26b91f87945b97c99d7cc30b","impliedFormat":1},{"version":"eaf9ee1d90a35d56264f0bf39842282c58b9219e112ac7d0c1bce98c6c5da672","impliedFormat":1},{"version":"c15c4427ae7fd1dcd7f312a8a447ac93581b0d4664ddf151ecd07de4bf2bb9d7","impliedFormat":1},{"version":"5135bdd72cc05a8192bd2e92f0914d7fc43ee077d1293dc622a049b7035a0afb","impliedFormat":1},{"version":"4f80de3a11c0d2f1329a72e92c7416b2f7eab14f67e92cac63bb4e8d01c6edc8","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"aeac7c51bde4658c192bc45819344eb20fc64743264b0465be6025201220a6b7","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4047ed87e765bd3bcc316a0c4c4c8b0061628460d8a5412d1c4b53a4658665a","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"3eb62baae4df08c9173e6903d3ca45942ccec8c3659b0565684a75f3292cffbb","affectsGlobalScope":true,"impliedFormat":1},{"version":"a85683ef86875f4ad4c6b7301bbcc63fb379a8d80d3d3fd735ee57f48ef8a47e","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"fab29e6d649aa074a6b91e3bdf2bff484934a46067f6ee97a30fcd9762ae2213","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","impliedFormat":1},{"version":"58832ded29e0094047596544ac391d68c799d7bd7d35936f47221857141628f1","impliedFormat":1},{"version":"553870e516f8c772b89f3820576152ebc70181d7994d96917bb943e37da7f8a7","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"745c4240220559bd340c8aeb6e3c5270a709d3565e934dc22a69c304703956bc","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"9212c6e9d80cb45441a3614e95afd7235a55a18584c2ed32d6c1aca5a0c53d93","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"282fd2a1268a25345b830497b4b7bf5037a5e04f6a9c44c840cb605e19fea841","impliedFormat":1},{"version":"5360a27d3ebca11b224d7d3e38e3e2c63f8290cb1fcf6c3610401898f8e68bc3","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"6bd91a2a356600dee28eb0438082d0799a18a974a6537c4410a796bab749813c","affectsGlobalScope":true,"impliedFormat":1},{"version":"f689c4237b70ae6be5f0e4180e8833f34ace40529d1acc0676ab8fb8f70457d7","impliedFormat":1},{"version":"ae25afbbf1ed5df63a177d67b9048bf7481067f1b8dc9c39212e59db94fc9fc6","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"52a8e7e8a1454b6d1b5ad428efae3870ffc56f2c02d923467f2940c454aa9aec","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1}],"root":[49,83,84,[87,89],102,103],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"noImplicitAny":false,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":4,"useDefineForClassFields":false},"referencedMap":[[203,1],[206,2],[64,1],[65,1],[66,3],[59,1],[61,1],[62,1],[63,4],[60,1],[73,5],[75,1],[76,6],[74,1],[58,7],[50,1],[55,8],[53,9],[52,10],[54,1],[51,1],[82,11],[81,12],[80,13],[77,1],[79,1],[97,1],[94,1],[96,1],[98,1],[95,1],[99,1],[100,1],[101,14],[93,15],[92,15],[90,1],[91,16],[205,1],[211,17],[149,18],[150,18],[151,19],[109,20],[152,21],[153,22],[154,23],[104,1],[107,24],[105,1],[106,1],[155,25],[156,26],[157,27],[158,28],[159,29],[160,30],[161,30],[163,31],[162,32],[164,33],[165,34],[166,35],[148,36],[108,1],[167,37],[168,38],[169,39],[202,40],[170,41],[171,42],[172,43],[173,44],[174,45],[175,46],[176,47],[177,48],[178,49],[179,50],[180,50],[181,51],[182,1],[183,1],[184,52],[186,53],[185,54],[187,55],[188,56],[189,57],[190,58],[191,59],[192,60],[193,61],[194,62],[195,63],[196,64],[197,65],[198,66],[199,67],[200,68],[201,69],[68,1],[110,1],[204,1],[210,70],[78,1],[208,71],[209,72],[70,73],[85,74],[67,75],[71,1],[69,76],[86,77],[72,78],[207,79],[57,80],[56,1],[48,1],[46,1],[47,1],[8,1],[9,1],[11,1],[10,1],[2,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[3,1],[20,1],[21,1],[4,1],[22,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[37,1],[34,1],[35,1],[36,1],[38,1],[7,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[1,1],[126,81],[136,82],[125,81],[146,83],[117,84],[116,85],[145,86],[139,87],[144,88],[119,89],[133,90],[118,91],[142,92],[114,93],[113,86],[143,94],[115,95],[120,96],[121,1],[124,96],[111,1],[147,97],[137,98],[128,99],[129,100],[131,101],[127,102],[130,103],[140,86],[122,104],[123,105],[132,106],[112,107],[135,98],[134,96],[138,1],[141,108],[83,109],[49,12],[89,110],[88,111],[103,112],[87,113],[84,114],[102,115]],"version":"5.7.3"}
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../client/auth.ts","../../../node_modules/@operato/shell/dist/src/types/domain.d.ts","../../../node_modules/@operato/shell/dist/src/types/user.d.ts","../../../node_modules/@operato/shell/dist/src/types/role.d.ts","../../../node_modules/@operato/shell/dist/src/types/privilege.d.ts","../../../node_modules/@operato/shell/dist/src/types/types.d.ts","../../../node_modules/@operato/shell/dist/src/types/index.d.ts","../../../node_modules/redux/index.d.ts","../../../node_modules/pwa-helpers/lazy-reducer-enhancer.d.ts","../../../node_modules/@operato/shell/dist/src/store.d.ts","../../../node_modules/@operato/shell/dist/src/actions/app.d.ts","../../../node_modules/@operato/shell/dist/src/actions/route.d.ts","../../../node_modules/@operato/shell/dist/src/actions/busy.d.ts","../../../node_modules/@operato/shell/dist/src/actions/const.d.ts","../../../node_modules/@operato/shell/dist/src/actions/index.d.ts","../../../node_modules/@lit/reactive-element/css-tag.d.ts","../../../node_modules/@lit/reactive-element/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/reactive-element.d.ts","../../../node_modules/lit-html/directive.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/lit-html/lit-html.d.ts","../../../node_modules/lit-element/lit-element.d.ts","../../../node_modules/lit-html/is-server.d.ts","../../../node_modules/lit/index.d.ts","../../../node_modules/@operato/shell/dist/src/app/pages/page-view.d.ts","../../../node_modules/@operato/shell/dist/src/object-store.d.ts","../../../node_modules/@operato/shell/dist/src/custom-alert.d.ts","../../../node_modules/@operato/shell/dist/src/index.d.ts","../../../node_modules/@reduxjs/toolkit/node_modules/redux/dist/redux.d.ts","../../../node_modules/immer/dist/immer.d.ts","../../../node_modules/@reduxjs/toolkit/node_modules/reselect/dist/reselect.d.ts","../../../node_modules/@reduxjs/toolkit/node_modules/redux-thunk/dist/redux-thunk.d.ts","../../../node_modules/@reduxjs/toolkit/dist/uncheckedindexed.ts","../../../node_modules/@reduxjs/toolkit/dist/index.d.ts","../client/actions/auth.ts","../client/reducers/auth.ts","../../../node_modules/lit-html/async-directive.d.ts","../../../node_modules/lit/async-directive.d.ts","../client/profiled.ts","../client/directive/privileged.ts","../client/bootstrap.ts","../../../node_modules/@simplewebauthn/browser/script/types/dom.d.ts","../../../node_modules/@simplewebauthn/browser/script/types/index.d.ts","../../../node_modules/@simplewebauthn/browser/script/methods/startregistration.d.ts","../../../node_modules/@simplewebauthn/browser/script/methods/startauthentication.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/browsersupportswebauthn.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/platformauthenticatorisavailable.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/browsersupportswebauthnautofill.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/base64urlstringtobuffer.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/buffertobase64urlstring.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/webauthnabortservice.d.ts","../../../node_modules/@simplewebauthn/browser/script/helpers/webauthnerror.d.ts","../../../node_modules/@simplewebauthn/browser/script/index.d.ts","../client/verify-webauthn.ts","../client/index.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts"],"fileIdsList":[[109,152],[109,152,205],[64,65,109,152],[59,60,61,62,109,152],[72,109,152],[55,58,63,73,74,75,109,152],[56,57,109,152],[50,51,52,53,54,109,152],[51,52,109,152],[50,51,53,109,152],[77,78,79,80,81,109,152],[48,109,152],[77,109,152],[91,92,93,94,95,96,97,98,99,100,109,152],[91,109,152],[90,109,152],[109,152,207,210],[109,149,152],[109,151,152],[152],[109,152,157,187],[109,152,153,158,164,165,172,184,195],[109,152,153,154,164,172],[104,105,106,109,152],[109,152,155,196],[109,152,156,157,165,173],[109,152,157,184,192],[109,152,158,160,164,172],[109,151,152,159],[109,152,160,161],[109,152,164],[109,152,162,164],[109,151,152,164],[109,152,164,165,166,184,195],[109,152,164,165,166,179,184,187],[109,147,152,200],[109,147,152,160,164,167,172,184,195],[109,152,164,165,167,168,172,184,192,195],[109,152,167,169,184,192,195],[107,108,109,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201],[109,152,164,170],[109,152,171,195],[109,152,160,164,172,184],[109,152,173],[109,152,174],[109,151,152,175],[109,149,150,151,152,153,154,155,156,157,158,159,160,161,162,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201],[109,152,177],[109,152,178],[109,152,164,179,180],[109,152,179,181,196,198],[109,152,164,184,185,186,187],[109,152,184,186],[109,152,184,185],[109,152,187],[109,152,188],[109,149,152,184],[109,152,164,190,191],[109,152,190,191],[109,152,157,172,184,192],[109,152,193],[109,152,172,194],[109,152,167,178,195],[109,152,157,196],[109,152,184,197],[109,152,171,198],[109,152,199],[109,152,157,164,166,175,184,195,198,200],[109,152,184,201],[109,152,203,209],[109,152,207],[109,152,204,208],[66,69,109,152],[67,69,109,152],[69,109,152],[67,68,109,152],[85,109,152],[66,69,70,71,109,152],[109,152,206],[56,109,152],[109,119,123,152,195],[109,119,152,184,195],[109,114,152],[109,116,119,152,192,195],[109,152,172,192],[109,152,202],[109,114,152,202],[109,116,119,152,172,195],[109,111,112,115,118,152,164,184,195],[109,119,126,152],[109,111,117,152],[109,119,140,141,152],[109,115,119,152,187,195,202],[109,140,152,202],[109,113,114,152,202],[109,119,152],[109,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,141,142,143,144,145,146,152],[109,119,134,152],[109,119,126,127,152],[109,117,119,127,128,152],[109,118,152],[109,111,114,119,152],[109,119,123,127,128,152],[109,123,152],[109,117,119,122,152,195],[109,111,116,119,126,152],[109,152,184],[109,114,119,140,152,200,202],[48,82,109,152],[48,49,76,83,84,88,109,152],[48,72,86,87,109,152],[48,49,87,88,102,109,152],[48,49,109,152],[48,83,109,152],[48,101,109,152]],"fileInfos":[{"version":"e41c290ef7dd7dab3493e6cbe5909e0148edf4a8dad0271be08edec368a0f7b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"4fd3f3422b2d2a3dfd5cdd0f387b3a8ec45f006c6ea896a4cb41264c2100bb2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"62bb211266ee48b2d0edf0d8d1b191f0c24fc379a82bd4c1692a082c540bc6b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1e2a172204962276504466a6393426d2ca9c54894b1ad0a6c9dad867a65f876","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"144e12d7fe956d3efe6eb19bb6253d3aa51c0dab1904948407b4f61360947b96","signature":"ead7c69443921d68ef00bb0c31d11c3eddefd5cbfca08f7a6979b5bb46a2a2c6"},{"version":"4d4cf93a6b4c81851ad759e4569b6feb7a701e80b13a6f9d8d9c6012bbb86bd6","impliedFormat":99},{"version":"2e6035af8f3e43bf95e4983329c8277d66f9b271106af27b99a85d1c1b9daf4a","impliedFormat":99},{"version":"df32d43311e85715e2a573239a4bbc5b78ebaf29af2af5fa8c85370197997515","impliedFormat":99},{"version":"3a792bbf677343364a1d9b7197c6e4e512764f17364efd656b1a3598f2a9e820","impliedFormat":99},{"version":"3d7c0b593a29d717b2b2ba3f03f819c3c48bf9e250d79c4a31860af80f177e8c","impliedFormat":99},{"version":"e576aa80090f8b6020355ca8d7f4184067c84389f4b92125be29e03b1f6c5194","impliedFormat":99},{"version":"fd624f7d7b264922476685870f08c5e1c6d6a0f05dee2429a9747b41f6b699d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"701978f3975f96e76e3ffc2e1762e3a97e3d323812049fb6fdfd559579b89708","impliedFormat":1},{"version":"4ab17f80ced148d509345cee706b2b85941515dd76e32cf47118bcdf6a4bd56a","affectsGlobalScope":true,"impliedFormat":99},{"version":"641089f0b8094ef74b9d4b3364d5dec1592d5e3b8a51c1ba491bc8872049e79a","impliedFormat":99},{"version":"950fc6ac97ce76785f03282f907aac4b2cbd8ac74b17c963f1389847962cbc20","impliedFormat":99},{"version":"b42033bf1067564808e4d360d79281667c2b3b0792c2d615ab641eb85974d4ba","impliedFormat":99},{"version":"7af29b0589483f7bb8a99405ddb849f34bc053146184561ed4179e02f5fe4d0f","impliedFormat":99},{"version":"ad3ee9f7d14ad8b7ae8094d0f1a2276656f7a970827d4030d1dead7c2d765f75","impliedFormat":99},{"version":"e056bb30bf82271634daeee81f772f4a7960085f01f6d4d09c8da1ebe5f6a623","impliedFormat":99},{"version":"5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","impliedFormat":99},{"version":"86492a546c3308feaf1dde967afd325c321483b5e96f5fa9e9b6e691dc23fa9e","affectsGlobalScope":true,"impliedFormat":99},{"version":"00cb63103f9670f8094c238a4a7e252c8b4c06ba371fea5c44add7e41b7247e4","impliedFormat":99},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"43f58358870effc43ba93c92c040dee2285cbd8685ddfa77658e498780727c4e","impliedFormat":99},{"version":"9a318e3a8900672b85cd3c8c3a5acf51b88049557a3ae897ccdcf2b85a8f61f9","impliedFormat":99},{"version":"1bcd560deed90a43c51b08aa18f7f55229f2e30974ab5ed1b7bb5721be379013","impliedFormat":99},{"version":"dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be","impliedFormat":99},{"version":"9c7568f9c75cf6a7d35dc9f18c5971cd5b21344c686c7cce56b3558d3305d40f","impliedFormat":99},{"version":"fc48282c397084016a939e1b3f91dcaf4199b6cba339d91d8b2dc2acade79762","impliedFormat":99},{"version":"3e62a55b950132d6eeacc607b7a1bff990d5484347b2be5a1f54db51af30ff25","impliedFormat":99},{"version":"cfe1163736972c7c0d23497a09d6349a435ec7a0e0622509693c4fc142e7a403","impliedFormat":99},{"version":"f734b58ea162765ff4d4a36f671ee06da898921e985a2064510f4925ec1ed062","affectsGlobalScope":true,"impliedFormat":1},{"version":"07cbc706c24fa086bcc20daee910b9afa5dc5294e14771355861686c9d5235fd","impliedFormat":1},{"version":"37f96daaddc2dd96712b2e86f3901f477ac01a5c2539b1bc07fd609d62039ee1","impliedFormat":1},{"version":"9c5c84c449a3d74e417343410ba9f1bd8bfeb32abd16945a1b3d0592ded31bc8","impliedFormat":1},{"version":"a7f09d2aaf994dbfd872eda4f2411d619217b04dbe0916202304e7a3d4b0f5f8","impliedFormat":1},{"version":"c4865825540e202b2937d95ee6843b47dce6d047c0d518a779c4fc500249f31d","impliedFormat":1},{"version":"35d2253283b5bcabd4868955daffeaed9b4e282c7cb0b4148dfdcd9dae0fd536","signature":"59407654647c0831f7ff4a9b4634cb71bb84489332362161ed31eedf22cd19e3"},{"version":"f30b1a6eb8c7813c82a7ec4f775ec257b6381d3f90521d0909224e4ea1320c11","signature":"6a716b8d3a52002354a3e530ee6c90d52209af1f53eaefb9c4527228bf0a6f67"},{"version":"c42f9b18f5f559b133cf9b409f678afb30df9c6498865aae9a1abad0f1e727a8","impliedFormat":99},{"version":"eabff483c855b848eefb979dbfb64c8858444c56a2f3ea0e59de026ef03fd089","impliedFormat":99},{"version":"5b206e920675fab40846ba051f960c659641b87cd7c96ab305430a4d194d60ea","signature":"d75a3e4665db49528093a3d868b69a53ac6bfc368b232d4db3130fd0a5e543c2"},{"version":"899e65531fad0a9d3919d74807fedbd4d4a81d27c1b8f20a571c41415f809a84","signature":"08c15205c0ba0a9bc25bde594fea32eb055e6ae3e4976605d211caae7cfce25c"},{"version":"98d4686f9165a99110dd583f0e0ea41c8a5d214af79b4d99292f601783011cb0","signature":"596db3582d22224cd33f191d8a1a39020114727f4d8957922e31335d8ae79312"},{"version":"5a8f1a3f57843166eb0a6eb1f695abb52845dfb9c460799ac9bd9bcb63742d1d","impliedFormat":1},{"version":"a7677f3a590eb27a4e99b4e6d7c25b5206636dd1e8fb1ef2c344c9e100312ad2","impliedFormat":1},{"version":"921f399a6557f008bd36b4bc8dd6e8ac18575029d3271f5515ad82ee5b7f172e","impliedFormat":1},{"version":"21d0c1a87611b1e7fe1a7763e5e5c494dfa0b3cf1307ce829145c397e971969b","impliedFormat":1},{"version":"8c468d84a4116a378a6c6050a86f5441efa036faa235834ef204fdbfe8c17943","impliedFormat":1},{"version":"0a1c65731eb1680e494e0b485ff3a4106e29323b9f5931da23d9a612cbe84e45","impliedFormat":1},{"version":"a331abe7151957a7266888db8a11eb72da8bed8ceee46cc187dd280ebd89c619","impliedFormat":1},{"version":"1f1d06065bf428cbc1cc9e9a0ea0d32a4cf10bcfd3e87dfcd1a5422262d41d55","impliedFormat":1},{"version":"6ea653d5c31c1bb800010ef040494a1fc5e4ce0cda8b9786124f0e7018993cb3","impliedFormat":1},{"version":"80d2736093ff441d579360306b062e2441fc8100b3fb3a90691bc0f533fa6382","impliedFormat":1},{"version":"cde0d6a59761c6dd05836af4f8684e420e6df695fa22f94cc09cc9ddcec7cef7","impliedFormat":1},{"version":"686660ddef40e8aacc8ee90a1fb5e1969c640177657a5e068a7e2dd2fb9a6e76","impliedFormat":1},{"version":"997c14dffeb1bbffe14e7f79307295aa83d7ef1ee38762c13514d53ae43d2ede","signature":"e899b1dbfb78597e87307ffaccf5617114bfc97fd39a0b773cbefebfd5c3a870"},{"version":"6cd3297d695cced7c354ed11925d08fdc3beb9e2932dda25d7f81e28c8506025","signature":"5ecb4c1032acd39f5085c57157523a4af23073140c8b2fbd4610e8d27e39bf0b"},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"13af9e8fb6757946c48117315866177b95e554d1e773577bb6ca6e40083b6d73","affectsGlobalScope":true,"impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"d2bc987ae352271d0d615a420dcf98cc886aa16b87fb2b569358c1fe0ca0773d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4f0539c58717cbc8b73acb29f9e992ab5ff20adba5f9b57130691c7f9b186a4d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"53eac70430b30089a3a1959d8306b0f9cfaf0de75224b68ef25243e0b5ad1ca3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"86956cc2eb9dd371d6fab493d326a574afedebf76eef3fa7833b8e0d9b52d6f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ff5a53a58e756d2661b73ba60ffe274231a4432d21f7a2d0d9e4f6aa99f4283","impliedFormat":1},{"version":"1e289f30a48126935a5d408a91129a13a59c9b0f8c007a816f9f16ef821e144e","impliedFormat":1},{"version":"2ea254f944dfe131df1264d1fb96e4b1f7d110195b21f1f5dbb68fdd394e5518","impliedFormat":1},{"version":"5135bdd72cc05a8192bd2e92f0914d7fc43ee077d1293dc622a049b7035a0afb","impliedFormat":1},{"version":"4f80de3a11c0d2f1329a72e92c7416b2f7eab14f67e92cac63bb4e8d01c6edc8","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"b11cb909327c874a4e81bfb390bf0d231e5bf9439052689ab80ba8afa50da17b","affectsGlobalScope":true,"impliedFormat":1},{"version":"23459c1915878a7c1e86e8bdb9c187cddd3aea105b8b1dfce512f093c969bc7e","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"1dc73f8854e5c4506131c4d95b3a6c24d0c80336d3758e95110f4c7b5cb16397","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f6f1d54779d0b9ed152b0516b0958cd34889764c1190434bbf18e7a8bb884cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"fab29e6d649aa074a6b91e3bdf2bff484934a46067f6ee97a30fcd9762ae2213","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"f7b1df115dbd1b8522cba4f404a9f4fdcd5169e2137129187ffeee9d287e4fd1","impliedFormat":1},{"version":"b52d379b4939681f3781d1cfd5b2c3cbb35e7e76f2425172e165782f8a08228c","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"745c4240220559bd340c8aeb6e3c5270a709d3565e934dc22a69c304703956bc","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"993985beef40c7d113f6dd8f0ba26eed63028b691fbfeb6a5b63f26408dd2c6d","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"282fd2a1268a25345b830497b4b7bf5037a5e04f6a9c44c840cb605e19fea841","impliedFormat":1},{"version":"5360a27d3ebca11b224d7d3e38e3e2c63f8290cb1fcf6c3610401898f8e68bc3","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb094bb347d7df3380299eb69836c2c8758626ecf45917577707c03cf816b6f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"f689c4237b70ae6be5f0e4180e8833f34ace40529d1acc0676ab8fb8f70457d7","impliedFormat":1},{"version":"b02784111b3fc9c38590cd4339ff8718f9329a6f4d3fd66e9744a1dcd1d7e191","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"52a8e7e8a1454b6d1b5ad428efae3870ffc56f2c02d923467f2940c454aa9aec","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1}],"root":[49,83,84,[87,89],102,103],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"noImplicitAny":false,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":4,"useDefineForClassFields":false},"referencedMap":[[203,1],[206,2],[64,1],[65,1],[66,3],[59,1],[61,1],[62,1],[63,4],[60,1],[73,5],[75,1],[76,6],[74,1],[58,7],[50,1],[55,8],[53,9],[52,10],[54,1],[51,1],[82,11],[81,12],[80,13],[77,1],[79,1],[97,1],[94,1],[96,1],[98,1],[95,1],[99,1],[100,1],[101,14],[93,15],[92,15],[90,1],[91,16],[205,1],[211,17],[149,18],[150,18],[151,19],[109,20],[152,21],[153,22],[154,23],[104,1],[107,24],[105,1],[106,1],[155,25],[156,26],[157,27],[158,28],[159,29],[160,30],[161,30],[163,31],[162,32],[164,33],[165,34],[166,35],[148,36],[108,1],[167,37],[168,38],[169,39],[202,40],[170,41],[171,42],[172,43],[173,44],[174,45],[175,46],[176,47],[177,48],[178,49],[179,50],[180,50],[181,51],[182,1],[183,1],[184,52],[186,53],[185,54],[187,55],[188,56],[189,57],[190,58],[191,59],[192,60],[193,61],[194,62],[195,63],[196,64],[197,65],[198,66],[199,67],[200,68],[201,69],[68,1],[110,1],[204,1],[210,70],[78,1],[208,71],[209,72],[70,73],[85,74],[67,75],[71,1],[69,76],[86,77],[72,78],[207,79],[57,80],[56,1],[48,1],[46,1],[47,1],[8,1],[9,1],[11,1],[10,1],[2,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[3,1],[20,1],[21,1],[4,1],[22,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[37,1],[34,1],[35,1],[36,1],[38,1],[7,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[1,1],[126,81],[136,82],[125,81],[146,83],[117,84],[116,85],[145,86],[139,87],[144,88],[119,89],[133,90],[118,91],[142,92],[114,93],[113,86],[143,94],[115,95],[120,96],[121,1],[124,96],[111,1],[147,97],[137,98],[128,99],[129,100],[131,101],[127,102],[130,103],[140,86],[122,104],[123,105],[132,106],[112,107],[135,98],[134,96],[138,1],[141,108],[83,109],[49,12],[89,110],[88,111],[103,112],[87,113],[84,114],[102,115]],"version":"5.7.3"}
@@ -1,5 +1,5 @@
1
- export * from './change-pwd';
2
- export * from './signin';
3
- export * from './signup';
4
- export * from './verification';
5
- export * from './invitation';
1
+ export * from './change-pwd.js';
2
+ export * from './signin.js';
3
+ export * from './signup.js';
4
+ export * from './verification.js';
5
+ export * from './invitation.js';