e621 2.2.4 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -40
  3. package/dist/lib/Debug.d.ts +1 -0
  4. package/dist/lib/Debug.js +16 -0
  5. package/dist/lib/errors.d.ts +8 -0
  6. package/dist/lib/errors.js +37 -0
  7. package/dist/lib/generated/client/client.d.ts +2 -0
  8. package/dist/lib/generated/client/client.js +236 -0
  9. package/dist/lib/generated/client/index.d.ts +8 -0
  10. package/dist/lib/generated/client/index.js +7 -0
  11. package/dist/lib/generated/client/types.d.ts +117 -0
  12. package/dist/lib/generated/client/types.js +3 -0
  13. package/dist/lib/generated/client/utils.d.ts +33 -0
  14. package/dist/lib/generated/client/utils.js +229 -0
  15. package/dist/lib/generated/client.d.ts +12 -0
  16. package/dist/lib/generated/client.js +4 -0
  17. package/dist/lib/generated/core/auth.d.ts +18 -0
  18. package/dist/lib/generated/core/auth.js +15 -0
  19. package/dist/lib/generated/core/bodySerializer.d.ts +25 -0
  20. package/dist/lib/generated/core/bodySerializer.js +58 -0
  21. package/dist/lib/generated/core/params.d.ts +43 -0
  22. package/dist/lib/generated/core/params.js +101 -0
  23. package/dist/lib/generated/core/pathSerializer.d.ts +33 -0
  24. package/dist/lib/generated/core/pathSerializer.js +107 -0
  25. package/dist/lib/generated/core/queryKeySerializer.d.ts +18 -0
  26. package/dist/lib/generated/core/queryKeySerializer.js +93 -0
  27. package/dist/lib/generated/core/serverSentEvents.d.ts +71 -0
  28. package/dist/lib/generated/core/serverSentEvents.js +134 -0
  29. package/dist/lib/generated/core/types.d.ts +78 -0
  30. package/dist/lib/generated/core/types.js +3 -0
  31. package/dist/lib/generated/core/utils.d.ts +19 -0
  32. package/dist/lib/generated/core/utils.js +88 -0
  33. package/dist/lib/generated/schemas.d.ts +2908 -0
  34. package/dist/lib/generated/schemas.js +3911 -0
  35. package/dist/lib/generated/sdk.d.ts +1373 -0
  36. package/dist/lib/generated/sdk.js +2557 -0
  37. package/dist/lib/generated/source.json +19299 -0
  38. package/dist/lib/generated/types.d.ts +9663 -0
  39. package/dist/lib/generated/types.js +3 -0
  40. package/dist/lib/generated.d.ts +4 -0
  41. package/dist/lib/generated.js +5 -0
  42. package/dist/lib/index.d.ts +58 -0
  43. package/dist/lib/index.js +74 -0
  44. package/dist/lib/models/ApiKey.d.ts +14 -0
  45. package/dist/lib/models/ApiKey.js +17 -0
  46. package/dist/lib/models/Artist.d.ts +61 -0
  47. package/dist/lib/models/Artist.js +86 -0
  48. package/dist/lib/models/ArtistUrl.d.ts +14 -0
  49. package/dist/lib/models/ArtistUrl.js +17 -0
  50. package/dist/lib/models/ArtistVersion.d.ts +14 -0
  51. package/dist/lib/models/ArtistVersion.js +17 -0
  52. package/dist/lib/models/AvoidPosting.d.ts +63 -0
  53. package/dist/lib/models/AvoidPosting.js +97 -0
  54. package/dist/lib/models/AvoidPostingVersion.d.ts +14 -0
  55. package/dist/lib/models/AvoidPostingVersion.js +17 -0
  56. package/dist/lib/models/Ban.d.ts +14 -0
  57. package/dist/lib/models/Ban.js +17 -0
  58. package/dist/lib/models/Base.d.ts +11 -0
  59. package/dist/lib/models/Base.js +39 -0
  60. package/dist/lib/models/Blip.d.ts +79 -0
  61. package/dist/lib/models/Blip.js +120 -0
  62. package/dist/lib/models/BulkUpdateRequest.d.ts +49 -0
  63. package/dist/lib/models/BulkUpdateRequest.js +75 -0
  64. package/dist/lib/models/Comment.d.ts +100 -0
  65. package/dist/lib/models/Comment.js +157 -0
  66. package/dist/lib/models/CurrentUser.d.ts +14 -0
  67. package/dist/lib/models/CurrentUser.js +17 -0
  68. package/dist/lib/models/DMail.d.ts +46 -0
  69. package/dist/lib/models/DMail.js +73 -0
  70. package/dist/lib/models/EditHistory.d.ts +14 -0
  71. package/dist/lib/models/EditHistory.js +17 -0
  72. package/dist/lib/models/EmailBlacklist.d.ts +26 -0
  73. package/dist/lib/models/EmailBlacklist.js +37 -0
  74. package/dist/lib/models/ForumPost.d.ts +97 -0
  75. package/dist/lib/models/ForumPost.js +154 -0
  76. package/dist/lib/models/ForumPostVote.d.ts +24 -0
  77. package/dist/lib/models/ForumPostVote.js +35 -0
  78. package/dist/lib/models/ForumTopic.d.ts +81 -0
  79. package/dist/lib/models/ForumTopic.js +131 -0
  80. package/dist/lib/models/FullCurrentUser.d.ts +14 -0
  81. package/dist/lib/models/FullCurrentUser.js +17 -0
  82. package/dist/lib/models/FullUser.d.ts +14 -0
  83. package/dist/lib/models/FullUser.js +17 -0
  84. package/dist/lib/models/Help.d.ts +39 -0
  85. package/dist/lib/models/Help.js +57 -0
  86. package/dist/lib/models/IpBan.d.ts +28 -0
  87. package/dist/lib/models/IpBan.js +39 -0
  88. package/dist/lib/models/IqdbPost.d.ts +14 -0
  89. package/dist/lib/models/IqdbPost.js +17 -0
  90. package/dist/lib/models/Mascot.d.ts +39 -0
  91. package/dist/lib/models/Mascot.js +57 -0
  92. package/dist/lib/models/ModAction.d.ts +14 -0
  93. package/dist/lib/models/ModAction.js +17 -0
  94. package/dist/lib/models/NewsUpdate.d.ts +39 -0
  95. package/dist/lib/models/NewsUpdate.js +57 -0
  96. package/dist/lib/models/Note.d.ts +45 -0
  97. package/dist/lib/models/Note.js +71 -0
  98. package/dist/lib/models/NoteVersion.d.ts +24 -0
  99. package/dist/lib/models/NoteVersion.js +35 -0
  100. package/dist/lib/models/Pool.d.ts +67 -0
  101. package/dist/lib/models/Pool.js +109 -0
  102. package/dist/lib/models/PoolVersion.d.ts +24 -0
  103. package/dist/lib/models/PoolVersion.js +35 -0
  104. package/dist/lib/models/Post.d.ts +174 -0
  105. package/dist/lib/models/Post.js +287 -0
  106. package/dist/lib/models/PostApproval.d.ts +26 -0
  107. package/dist/lib/models/PostApproval.js +37 -0
  108. package/dist/lib/models/PostDisapproval.d.ts +14 -0
  109. package/dist/lib/models/PostDisapproval.js +17 -0
  110. package/dist/lib/models/PostEvent.d.ts +14 -0
  111. package/dist/lib/models/PostEvent.js +17 -0
  112. package/dist/lib/models/PostFlag.d.ts +38 -0
  113. package/dist/lib/models/PostFlag.js +57 -0
  114. package/dist/lib/models/PostReplacement.d.ts +75 -0
  115. package/dist/lib/models/PostReplacement.js +117 -0
  116. package/dist/lib/models/PostSet.d.ts +75 -0
  117. package/dist/lib/models/PostSet.js +117 -0
  118. package/dist/lib/models/PostVersion.d.ts +58 -0
  119. package/dist/lib/models/PostVersion.js +93 -0
  120. package/dist/lib/models/StaffNote.d.ts +53 -0
  121. package/dist/lib/models/StaffNote.js +79 -0
  122. package/dist/lib/models/Tag.d.ts +59 -0
  123. package/dist/lib/models/Tag.js +91 -0
  124. package/dist/lib/models/TagAlias.d.ts +51 -0
  125. package/dist/lib/models/TagAlias.js +77 -0
  126. package/dist/lib/models/TagCorrection.d.ts +15 -0
  127. package/dist/lib/models/TagCorrection.js +20 -0
  128. package/dist/lib/models/TagImplication.d.ts +51 -0
  129. package/dist/lib/models/TagImplication.js +77 -0
  130. package/dist/lib/models/TagPreview.d.ts +14 -0
  131. package/dist/lib/models/TagPreview.js +17 -0
  132. package/dist/lib/models/TagTypeVersion.d.ts +14 -0
  133. package/dist/lib/models/TagTypeVersion.js +17 -0
  134. package/dist/lib/models/Takedown.d.ts +87 -0
  135. package/dist/lib/models/Takedown.js +137 -0
  136. package/dist/lib/models/Ticket.d.ts +51 -0
  137. package/dist/lib/models/Ticket.js +77 -0
  138. package/dist/lib/models/Upload.d.ts +14 -0
  139. package/dist/lib/models/Upload.js +17 -0
  140. package/dist/lib/models/UploadWhitelist.d.ts +37 -0
  141. package/dist/lib/models/UploadWhitelist.js +55 -0
  142. package/dist/lib/models/User.d.ts +97 -0
  143. package/dist/lib/models/User.js +160 -0
  144. package/dist/lib/models/UserFeedback.d.ts +63 -0
  145. package/dist/lib/models/UserFeedback.js +97 -0
  146. package/dist/lib/models/UserNameChangeRequest.d.ts +26 -0
  147. package/dist/lib/models/UserNameChangeRequest.js +37 -0
  148. package/dist/lib/models/WikiPage.d.ts +49 -0
  149. package/dist/lib/models/WikiPage.js +75 -0
  150. package/dist/lib/models/WikiPageVersion.d.ts +24 -0
  151. package/dist/lib/models/WikiPageVersion.js +35 -0
  152. package/dist/lib/models/index.d.ts +53 -0
  153. package/dist/lib/models/index.js +54 -0
  154. package/dist/lib/modules/ArtistUrls.d.ts +18 -0
  155. package/dist/lib/modules/ArtistUrls.js +28 -0
  156. package/dist/lib/modules/ArtistVersions.d.ts +18 -0
  157. package/dist/lib/modules/ArtistVersions.js +28 -0
  158. package/dist/lib/modules/Artists.d.ts +90 -0
  159. package/dist/lib/modules/Artists.js +151 -0
  160. package/dist/lib/modules/AvoidPostingVersions.d.ts +18 -0
  161. package/dist/lib/modules/AvoidPostingVersions.js +28 -0
  162. package/dist/lib/modules/AvoidPostings.d.ts +112 -0
  163. package/dist/lib/modules/AvoidPostings.js +181 -0
  164. package/dist/lib/modules/Bans.d.ts +26 -0
  165. package/dist/lib/modules/Bans.js +47 -0
  166. package/dist/lib/modules/Base.d.ts +20 -0
  167. package/dist/lib/modules/Base.js +39 -0
  168. package/dist/lib/modules/Blips.d.ts +105 -0
  169. package/dist/lib/modules/Blips.js +188 -0
  170. package/dist/lib/modules/BulkUpdateRequests.d.ts +76 -0
  171. package/dist/lib/modules/BulkUpdateRequests.js +136 -0
  172. package/dist/lib/modules/CommentVotes.d.ts +30 -0
  173. package/dist/lib/modules/CommentVotes.js +56 -0
  174. package/dist/lib/modules/Comments.d.ts +112 -0
  175. package/dist/lib/modules/Comments.js +195 -0
  176. package/dist/lib/modules/DMails.d.ts +70 -0
  177. package/dist/lib/modules/DMails.js +134 -0
  178. package/dist/lib/modules/DText.d.ts +18 -0
  179. package/dist/lib/modules/DText.js +32 -0
  180. package/dist/lib/modules/EditHistories.d.ts +34 -0
  181. package/dist/lib/modules/EditHistories.js +56 -0
  182. package/dist/lib/modules/EmailBlacklists.d.ts +45 -0
  183. package/dist/lib/modules/EmailBlacklists.js +74 -0
  184. package/dist/lib/modules/Favorites.d.ts +38 -0
  185. package/dist/lib/modules/Favorites.js +73 -0
  186. package/dist/lib/modules/ForumPosts.d.ts +107 -0
  187. package/dist/lib/modules/ForumPosts.js +190 -0
  188. package/dist/lib/modules/ForumTopics.d.ts +125 -0
  189. package/dist/lib/modules/ForumTopics.js +237 -0
  190. package/dist/lib/modules/HelpPages.d.ts +67 -0
  191. package/dist/lib/modules/HelpPages.js +118 -0
  192. package/dist/lib/modules/IpBans.d.ts +47 -0
  193. package/dist/lib/modules/IpBans.js +76 -0
  194. package/dist/lib/modules/IqdbQueries.d.ts +36 -0
  195. package/dist/lib/modules/IqdbQueries.js +63 -0
  196. package/dist/lib/modules/Mascots.d.ts +60 -0
  197. package/dist/lib/modules/Mascots.js +98 -0
  198. package/dist/lib/modules/ModActions.d.ts +34 -0
  199. package/dist/lib/modules/ModActions.js +55 -0
  200. package/dist/lib/modules/NewsUpdates.d.ts +60 -0
  201. package/dist/lib/modules/NewsUpdates.js +98 -0
  202. package/dist/lib/modules/NoteVersions.d.ts +18 -0
  203. package/dist/lib/modules/NoteVersions.js +28 -0
  204. package/dist/lib/modules/Notes.d.ts +72 -0
  205. package/dist/lib/modules/Notes.js +133 -0
  206. package/dist/lib/modules/PoolVersions.d.ts +18 -0
  207. package/dist/lib/modules/PoolVersions.js +28 -0
  208. package/dist/lib/modules/Pools.d.ts +104 -0
  209. package/dist/lib/modules/Pools.js +197 -0
  210. package/dist/lib/modules/Popular.d.ts +18 -0
  211. package/dist/lib/modules/Popular.js +31 -0
  212. package/dist/lib/modules/PostApprovals.d.ts +42 -0
  213. package/dist/lib/modules/PostApprovals.js +77 -0
  214. package/dist/lib/modules/PostDisapprovals.d.ts +37 -0
  215. package/dist/lib/modules/PostDisapprovals.js +55 -0
  216. package/dist/lib/modules/PostEvents.d.ts +20 -0
  217. package/dist/lib/modules/PostEvents.js +30 -0
  218. package/dist/lib/modules/PostFlags.d.ts +53 -0
  219. package/dist/lib/modules/PostFlags.js +93 -0
  220. package/dist/lib/modules/PostReplacements.d.ts +94 -0
  221. package/dist/lib/modules/PostReplacements.js +167 -0
  222. package/dist/lib/modules/PostSets.d.ts +116 -0
  223. package/dist/lib/modules/PostSets.js +211 -0
  224. package/dist/lib/modules/PostVersions.d.ts +51 -0
  225. package/dist/lib/modules/PostVersions.js +94 -0
  226. package/dist/lib/modules/PostVotes.d.ts +28 -0
  227. package/dist/lib/modules/PostVotes.js +54 -0
  228. package/dist/lib/modules/Posts.d.ts +193 -0
  229. package/dist/lib/modules/Posts.js +395 -0
  230. package/dist/lib/modules/RelatedTags.d.ts +19 -0
  231. package/dist/lib/modules/RelatedTags.js +29 -0
  232. package/dist/lib/modules/StaffNotes.d.ts +80 -0
  233. package/dist/lib/modules/StaffNotes.js +140 -0
  234. package/dist/lib/modules/TagAliases.d.ts +80 -0
  235. package/dist/lib/modules/TagAliases.js +140 -0
  236. package/dist/lib/modules/TagCorrections.d.ts +25 -0
  237. package/dist/lib/modules/TagCorrections.js +52 -0
  238. package/dist/lib/modules/TagImplications.d.ts +80 -0
  239. package/dist/lib/modules/TagImplications.js +140 -0
  240. package/dist/lib/modules/TagTypeVersions.d.ts +18 -0
  241. package/dist/lib/modules/TagTypeVersions.js +28 -0
  242. package/dist/lib/modules/Tags.d.ts +64 -0
  243. package/dist/lib/modules/Tags.js +116 -0
  244. package/dist/lib/modules/Takedowns.d.ts +114 -0
  245. package/dist/lib/modules/Takedowns.js +211 -0
  246. package/dist/lib/modules/Tickets.d.ts +71 -0
  247. package/dist/lib/modules/Tickets.js +123 -0
  248. package/dist/lib/modules/UploadWhitelists.d.ts +68 -0
  249. package/dist/lib/modules/UploadWhitelists.js +117 -0
  250. package/dist/lib/modules/Uploads.d.ts +42 -0
  251. package/dist/lib/modules/Uploads.js +78 -0
  252. package/dist/lib/modules/UserFeedbacks.d.ts +94 -0
  253. package/dist/lib/modules/UserFeedbacks.js +165 -0
  254. package/dist/lib/modules/UserNameChangeRequests.d.ts +59 -0
  255. package/dist/lib/modules/UserNameChangeRequests.js +99 -0
  256. package/dist/lib/modules/Users.d.ts +132 -0
  257. package/dist/lib/modules/Users.js +263 -0
  258. package/dist/lib/modules/WikiPageVersions.d.ts +26 -0
  259. package/dist/lib/modules/WikiPageVersions.js +47 -0
  260. package/dist/lib/modules/WikiPages.d.ts +76 -0
  261. package/dist/lib/modules/WikiPages.js +137 -0
  262. package/dist/lib/modules/admin/Users.d.ts +45 -0
  263. package/dist/lib/modules/admin/Users.js +77 -0
  264. package/dist/lib/modules/comments/Votes.d.ts +26 -0
  265. package/dist/lib/modules/comments/Votes.js +51 -0
  266. package/dist/lib/modules/forum_posts/Votes.d.ts +26 -0
  267. package/dist/lib/modules/forum_posts/Votes.js +51 -0
  268. package/dist/lib/modules/index.d.ts +172 -0
  269. package/dist/lib/modules/index.js +114 -0
  270. package/dist/lib/modules/posts/Flag.d.ts +16 -0
  271. package/dist/lib/modules/posts/Flag.js +31 -0
  272. package/dist/lib/modules/posts/Votes.d.ts +26 -0
  273. package/dist/lib/modules/posts/Votes.js +51 -0
  274. package/dist/lib/modules/users/DMails.d.ts +29 -0
  275. package/dist/lib/modules/users/DMails.js +55 -0
  276. package/dist/lib/util.d.ts +48 -0
  277. package/dist/lib/util.js +49 -0
  278. package/dist/package.json +73 -0
  279. package/package.json +46 -20
  280. package/tsconfig.json +54 -0
  281. package/.mocharc.json +0 -6
  282. package/.ncurc.json +0 -3
  283. package/.node-version +0 -1
  284. package/Features/Artists.md +0 -39
  285. package/Features/Blips.md +0 -33
  286. package/Features/E621SearchInconsistencies.md +0 -54
  287. package/Features/FuturePlans.md +0 -50
  288. package/Features/Notes.md +0 -34
  289. package/Features/Pools.md +0 -38
  290. package/Features/PostFlags.md +0 -31
  291. package/Features/PostSets.md +0 -36
  292. package/Features/Posts.md +0 -46
  293. package/Features/README.md +0 -15
  294. package/Features/Tags.md +0 -34
  295. package/Features/Takedowns.md +0 -32
  296. package/Features/UserFeedback.md +0 -32
  297. package/Features/Users.md +0 -36
  298. package/Features/WikiPages.md +0 -36
  299. package/build/package.json +0 -45
  300. package/build/src/index.d.ts +0 -68
  301. package/build/src/index.js +0 -194
  302. package/build/src/modules/Artists.d.ts +0 -128
  303. package/build/src/modules/Artists.js +0 -295
  304. package/build/src/modules/Blips.d.ts +0 -79
  305. package/build/src/modules/Blips.js +0 -157
  306. package/build/src/modules/Notes.d.ts +0 -88
  307. package/build/src/modules/Notes.js +0 -189
  308. package/build/src/modules/Pools.d.ts +0 -130
  309. package/build/src/modules/Pools.js +0 -261
  310. package/build/src/modules/PostFlags.d.ts +0 -55
  311. package/build/src/modules/PostFlags.js +0 -126
  312. package/build/src/modules/PostSets.d.ts +0 -102
  313. package/build/src/modules/PostSets.js +0 -208
  314. package/build/src/modules/Posts.d.ts +0 -154
  315. package/build/src/modules/Posts.js +0 -390
  316. package/build/src/modules/Tags.d.ts +0 -78
  317. package/build/src/modules/Tags.js +0 -174
  318. package/build/src/modules/Takedowns.d.ts +0 -81
  319. package/build/src/modules/Takedowns.js +0 -195
  320. package/build/src/modules/UserFeedback.d.ts +0 -66
  321. package/build/src/modules/UserFeedback.js +0 -136
  322. package/build/src/modules/Users.d.ts +0 -117
  323. package/build/src/modules/Users.js +0 -261
  324. package/build/src/modules/WikiPages.d.ts +0 -107
  325. package/build/src/modules/WikiPages.js +0 -220
  326. package/build/src/structures/Artist.d.ts +0 -36
  327. package/build/src/structures/Artist.js +0 -51
  328. package/build/src/structures/ArtistHistory.d.ts +0 -39
  329. package/build/src/structures/ArtistHistory.js +0 -50
  330. package/build/src/structures/AuthenticatedUser.d.ts +0 -109
  331. package/build/src/structures/AuthenticatedUser.js +0 -128
  332. package/build/src/structures/Blip.d.ts +0 -66
  333. package/build/src/structures/Blip.js +0 -85
  334. package/build/src/structures/Note.d.ts +0 -32
  335. package/build/src/structures/Note.js +0 -41
  336. package/build/src/structures/NoteHistory.d.ts +0 -38
  337. package/build/src/structures/NoteHistory.js +0 -47
  338. package/build/src/structures/Pool.d.ts +0 -85
  339. package/build/src/structures/Pool.js +0 -112
  340. package/build/src/structures/PoolHistory.d.ts +0 -43
  341. package/build/src/structures/PoolHistory.js +0 -54
  342. package/build/src/structures/Post.d.ts +0 -157
  343. package/build/src/structures/Post.js +0 -170
  344. package/build/src/structures/PostApproval.d.ts +0 -25
  345. package/build/src/structures/PostApproval.js +0 -33
  346. package/build/src/structures/PostFlag.d.ts +0 -38
  347. package/build/src/structures/PostFlag.js +0 -47
  348. package/build/src/structures/PostHistory.d.ts +0 -52
  349. package/build/src/structures/PostHistory.js +0 -93
  350. package/build/src/structures/PostSet.d.ts +0 -71
  351. package/build/src/structures/PostSet.js +0 -93
  352. package/build/src/structures/Tag.d.ts +0 -61
  353. package/build/src/structures/Tag.js +0 -87
  354. package/build/src/structures/TagHistory.d.ts +0 -28
  355. package/build/src/structures/TagHistory.js +0 -36
  356. package/build/src/structures/Takedown.d.ts +0 -49
  357. package/build/src/structures/Takedown.js +0 -64
  358. package/build/src/structures/User.d.ts +0 -62
  359. package/build/src/structures/User.js +0 -80
  360. package/build/src/structures/WikiPage.d.ts +0 -17
  361. package/build/src/structures/WikiPage.js +0 -27
  362. package/build/src/structures/WikiPageHistory.d.ts +0 -38
  363. package/build/src/structures/WikiPageHistory.js +0 -49
  364. package/build/src/types/artists.d.ts +0 -82
  365. package/build/src/types/blips.d.ts +0 -37
  366. package/build/src/types/index.d.ts +0 -96
  367. package/build/src/types/notes.d.ts +0 -64
  368. package/build/src/types/pools.d.ts +0 -62
  369. package/build/src/types/post_flags.d.ts +0 -36
  370. package/build/src/types/post_sets.d.ts +0 -33
  371. package/build/src/types/posts.d.ts +0 -181
  372. package/build/src/types/tags.d.ts +0 -56
  373. package/build/src/types/takedowns.d.ts +0 -62
  374. package/build/src/types/user_feedback.d.ts +0 -27
  375. package/build/src/types/users.d.ts +0 -277
  376. package/build/src/types/wiki_pages.d.ts +0 -66
  377. package/build/src/util/Debug.d.ts +0 -1
  378. package/build/src/util/Debug.js +0 -16
  379. package/build/src/util/FormHelper.d.ts +0 -9
  380. package/build/src/util/FormHelper.js +0 -15
  381. package/build/src/util/MultipartData.d.ts +0 -7
  382. package/build/src/util/MultipartData.js +0 -39
  383. package/build/src/util/RequestHandler.d.ts +0 -38
  384. package/build/src/util/RequestHandler.js +0 -343
  385. package/build/src/util/Timer.d.ts +0 -6
  386. package/build/src/util/Timer.js +0 -71
@@ -0,0 +1,3911 @@
1
+ // This file is auto-generated by @hey-api/openapi-ts
2
+ export const AccessDeniedResponseSchema = {
3
+ type: 'object',
4
+ required: [
5
+ 'success',
6
+ 'reason'
7
+ ],
8
+ properties: {
9
+ success: {
10
+ type: 'boolean'
11
+ },
12
+ reason: {
13
+ type: 'string',
14
+ enum: [
15
+ 'Access Denied'
16
+ ]
17
+ }
18
+ }
19
+ };
20
+ export const NotFoundResponseSchema = {
21
+ type: 'object',
22
+ required: [
23
+ 'success',
24
+ 'reason'
25
+ ],
26
+ properties: {
27
+ success: {
28
+ type: 'boolean'
29
+ },
30
+ reason: {
31
+ type: 'string',
32
+ enum: [
33
+ 'not found'
34
+ ]
35
+ }
36
+ }
37
+ };
38
+ export const WarningRecordTypeSchema = {
39
+ type: 'object',
40
+ required: [
41
+ 'record_type'
42
+ ],
43
+ properties: {
44
+ record_type: {
45
+ type: 'string',
46
+ enum: [
47
+ 'unmark',
48
+ 'ban',
49
+ 'record',
50
+ 'warning'
51
+ ]
52
+ }
53
+ }
54
+ };
55
+ export const ModActionActionsSchema = {
56
+ type: 'string',
57
+ enum: [
58
+ 'artist_page_rename',
59
+ 'artist_page_lock',
60
+ 'artist_page_unlock',
61
+ 'artist_user_linked',
62
+ 'artist_user_unlinked',
63
+ 'avoid_posting_create',
64
+ 'avoid_posting_update',
65
+ 'avoid_posting_delete',
66
+ 'avoid_posting_undelete',
67
+ 'avoid_posting_destroy',
68
+ 'blip_delete',
69
+ 'blip_hide',
70
+ 'blip_unhide',
71
+ 'blip_update',
72
+ 'comment_delete',
73
+ 'comment_hide',
74
+ 'comment_unhide',
75
+ 'comment_update',
76
+ 'forum_category_create',
77
+ 'forum_category_delete',
78
+ 'forum_category_update',
79
+ 'forum_post_delete',
80
+ 'forum_post_hide',
81
+ 'forum_post_unhide',
82
+ 'forum_post_update',
83
+ 'forum_topic_delete',
84
+ 'forum_topic_hide',
85
+ 'forum_topic_unhide',
86
+ 'forum_topic_lock',
87
+ 'forum_topic_unlock',
88
+ 'forum_topic_stick',
89
+ 'forum_topic_unstick',
90
+ 'forum_topic_update',
91
+ 'help_create',
92
+ 'help_delete',
93
+ 'help_update',
94
+ 'ip_ban_create',
95
+ 'ip_ban_delete',
96
+ 'mascot_create',
97
+ 'mascot_update',
98
+ 'mascot_delete',
99
+ 'pool_delete',
100
+ 'report_reason_create',
101
+ 'report_reason_delete',
102
+ 'report_reason_update',
103
+ 'set_update',
104
+ 'set_delete',
105
+ 'set_change_visibility',
106
+ 'tag_alias_create',
107
+ 'tag_alias_update',
108
+ 'tag_implication_create',
109
+ 'tag_implication_update',
110
+ 'ticket_claim',
111
+ 'ticket_unclaim',
112
+ 'ticket_update',
113
+ 'upload_whitelist_create',
114
+ 'upload_whitelist_update',
115
+ 'upload_whitelist_delete',
116
+ 'user_blacklist_changed',
117
+ 'user_text_change',
118
+ 'user_upload_limit_change',
119
+ 'user_flags_change',
120
+ 'user_level_change',
121
+ 'user_name_change',
122
+ 'user_delete',
123
+ 'user_ban',
124
+ 'user_ban_update',
125
+ 'user_unban',
126
+ 'user_feedback_create',
127
+ 'user_feedback_update',
128
+ 'user_feedback_delete',
129
+ 'user_feedback_undelete',
130
+ 'user_feedback_destroy',
131
+ 'wiki_page_rename',
132
+ 'wiki_page_delete',
133
+ 'wiki_page_lock',
134
+ 'wiki_page_unlock',
135
+ 'mass_update',
136
+ 'nuke_tag',
137
+ 'takedown_delete',
138
+ 'takedown_process',
139
+ 'user_flush_favorites',
140
+ 'post_version_hide',
141
+ 'post_version_unhide',
142
+ 'user_uploads_toggle',
143
+ 'staff_note_create',
144
+ 'staff_note_update',
145
+ 'staff_note_delete',
146
+ 'staff_note_undelete',
147
+ 'created_positive_record',
148
+ 'created_neutral_record',
149
+ 'created_negative_record',
150
+ 'created_flag_reason',
151
+ 'edited_flag_reason',
152
+ 'deleted_flag_reason',
153
+ 'post_move_favorites',
154
+ 'post_delete',
155
+ 'post_undelete',
156
+ 'post_destroy',
157
+ 'post_rating_lock',
158
+ 'post_unapprove',
159
+ 'post_replacement_accept',
160
+ 'post_replacement_reject',
161
+ 'post_replacement_delete'
162
+ ]
163
+ };
164
+ export const PostEventActionsSchema = {
165
+ type: 'string',
166
+ enum: [
167
+ 'deleted',
168
+ 'undeleted',
169
+ 'approved',
170
+ 'unapproved',
171
+ 'flag_created',
172
+ 'flag_removed',
173
+ 'favorites_moved',
174
+ 'favorites_received',
175
+ 'rating_locked',
176
+ 'rating_unlocked',
177
+ 'status_locked',
178
+ 'status_unlocked',
179
+ 'note_locked',
180
+ 'note_unlocked',
181
+ 'comment_locked',
182
+ 'comment_unlocked',
183
+ 'replacement_accepted',
184
+ 'replacement_rejected',
185
+ 'replacement_promoted',
186
+ 'replacement_deleted',
187
+ 'expunged',
188
+ 'changed_bg_color',
189
+ 'replacement_penalty_changed'
190
+ ]
191
+ };
192
+ export const RatingsSchema = {
193
+ type: 'string',
194
+ enum: [
195
+ 's',
196
+ 'q',
197
+ 'e'
198
+ ]
199
+ };
200
+ export const TagCategoriesSchema = {
201
+ type: 'integer',
202
+ enum: [
203
+ 0,
204
+ 1,
205
+ 3,
206
+ 4,
207
+ 5,
208
+ 6,
209
+ 7,
210
+ 8
211
+ ]
212
+ };
213
+ export const FeedbackCategoriesSchema = {
214
+ type: 'string',
215
+ enum: [
216
+ 'negative',
217
+ 'neutral',
218
+ 'positive'
219
+ ]
220
+ };
221
+ export const TagRequestStatusesSchema = {
222
+ type: 'string',
223
+ enum: [
224
+ 'active',
225
+ 'deleted',
226
+ 'processing',
227
+ 'queued',
228
+ 'retired',
229
+ 'error',
230
+ 'pending'
231
+ ]
232
+ };
233
+ export const WarningTypesSchema = {
234
+ type: 'string',
235
+ enum: [
236
+ 'warning',
237
+ 'record',
238
+ 'ban'
239
+ ]
240
+ };
241
+ export const PoolCategoriesSchema = {
242
+ type: 'string',
243
+ enum: [
244
+ 'collection',
245
+ 'series'
246
+ ]
247
+ };
248
+ export const TicketTypesSchema = {
249
+ type: 'string',
250
+ enum: [
251
+ 'blip',
252
+ 'comment',
253
+ 'dmail',
254
+ 'forum',
255
+ 'pool',
256
+ 'post',
257
+ 'set',
258
+ 'user',
259
+ 'wiki',
260
+ 'replacement'
261
+ ]
262
+ };
263
+ export const TicketStatusesSchema = {
264
+ type: 'string',
265
+ enum: [
266
+ 'pending',
267
+ 'partial',
268
+ 'approved'
269
+ ]
270
+ };
271
+ export const ArtistSchema = {
272
+ type: 'object',
273
+ required: [
274
+ 'id',
275
+ 'name',
276
+ 'updated_at',
277
+ 'is_active',
278
+ 'other_names',
279
+ 'group_name',
280
+ 'linked_user_id',
281
+ 'created_at',
282
+ 'creator_id',
283
+ 'is_locked',
284
+ 'notes',
285
+ 'urls'
286
+ ],
287
+ properties: {
288
+ id: {
289
+ type: 'integer'
290
+ },
291
+ name: {
292
+ type: 'string'
293
+ },
294
+ updated_at: {
295
+ type: 'string',
296
+ format: 'date-time'
297
+ },
298
+ is_active: {
299
+ type: 'boolean'
300
+ },
301
+ other_names: {
302
+ type: 'array',
303
+ items: {
304
+ type: 'string'
305
+ }
306
+ },
307
+ group_name: {
308
+ type: 'string'
309
+ },
310
+ linked_user_id: {
311
+ type: 'integer',
312
+ nullable: true
313
+ },
314
+ created_at: {
315
+ type: 'string',
316
+ format: 'date-time'
317
+ },
318
+ creator_id: {
319
+ type: 'integer'
320
+ },
321
+ is_locked: {
322
+ type: 'boolean'
323
+ },
324
+ notes: {
325
+ type: 'string',
326
+ nullable: true
327
+ }
328
+ }
329
+ };
330
+ export const ArtistUrlSchema = {
331
+ type: 'object',
332
+ required: [
333
+ 'id',
334
+ 'artist_id',
335
+ 'url',
336
+ 'normalized_url',
337
+ 'created_at',
338
+ 'updated_at',
339
+ 'is_active'
340
+ ],
341
+ properties: {
342
+ id: {
343
+ type: 'integer'
344
+ },
345
+ artist_id: {
346
+ type: 'integer'
347
+ },
348
+ url: {
349
+ type: 'string',
350
+ format: 'uri'
351
+ },
352
+ normalized_url: {
353
+ type: 'string',
354
+ format: 'uri'
355
+ },
356
+ created_at: {
357
+ type: 'string',
358
+ format: 'date-time'
359
+ },
360
+ updated_at: {
361
+ type: 'string',
362
+ format: 'date-time'
363
+ },
364
+ is_active: {
365
+ type: 'boolean'
366
+ }
367
+ }
368
+ };
369
+ export const ArtistVersionSchema = {
370
+ type: 'object',
371
+ required: [
372
+ 'id',
373
+ 'artist_id',
374
+ 'name',
375
+ 'updater_id',
376
+ 'created_at',
377
+ 'updated_at',
378
+ 'is_active',
379
+ 'other_names',
380
+ 'notes_changed',
381
+ 'urls'
382
+ ],
383
+ properties: {
384
+ id: {
385
+ type: 'integer'
386
+ },
387
+ artist_id: {
388
+ type: 'integer'
389
+ },
390
+ name: {
391
+ type: 'string'
392
+ },
393
+ updater_id: {
394
+ type: 'integer'
395
+ },
396
+ created_at: {
397
+ type: 'string',
398
+ format: 'date-time'
399
+ },
400
+ updated_at: {
401
+ type: 'string',
402
+ format: 'date-time'
403
+ },
404
+ is_active: {
405
+ type: 'boolean'
406
+ },
407
+ other_names: {
408
+ type: 'array',
409
+ items: {
410
+ type: 'string'
411
+ }
412
+ },
413
+ notes_changed: {
414
+ type: 'boolean'
415
+ },
416
+ urls: {
417
+ type: 'array',
418
+ items: {
419
+ type: 'string',
420
+ format: 'uri'
421
+ }
422
+ }
423
+ }
424
+ };
425
+ export const AvoidPostingSchema = {
426
+ type: 'object',
427
+ required: [
428
+ 'id',
429
+ 'creator_id',
430
+ 'updater_id',
431
+ 'artist_id',
432
+ 'details',
433
+ 'is_active',
434
+ 'created_at',
435
+ 'updated_at'
436
+ ],
437
+ properties: {
438
+ id: {
439
+ type: 'integer'
440
+ },
441
+ creator_id: {
442
+ type: 'integer'
443
+ },
444
+ updater_id: {
445
+ type: 'integer'
446
+ },
447
+ artist_id: {
448
+ type: 'integer'
449
+ },
450
+ staff_notes: {
451
+ type: 'string',
452
+ description: 'Only visible to Janitor+'
453
+ },
454
+ details: {
455
+ type: 'string'
456
+ },
457
+ is_active: {
458
+ type: 'boolean'
459
+ },
460
+ created_at: {
461
+ type: 'string',
462
+ format: 'date-time'
463
+ },
464
+ updated_at: {
465
+ type: 'string',
466
+ format: 'date-time'
467
+ }
468
+ }
469
+ };
470
+ export const AvoidPostingVersionSchema = {
471
+ type: 'object',
472
+ required: [
473
+ 'id',
474
+ 'updater_id',
475
+ 'avoid_posting_id',
476
+ 'details',
477
+ 'is_active',
478
+ 'updated_at'
479
+ ],
480
+ properties: {
481
+ id: {
482
+ type: 'integer'
483
+ },
484
+ updater_id: {
485
+ type: 'integer'
486
+ },
487
+ avoid_posting_id: {
488
+ type: 'integer'
489
+ },
490
+ details: {
491
+ type: 'string'
492
+ },
493
+ staff_notes: {
494
+ type: 'string',
495
+ description: 'Only visible to Janitor+'
496
+ },
497
+ is_active: {
498
+ type: 'boolean'
499
+ },
500
+ updated_at: {
501
+ type: 'string',
502
+ format: 'date-time'
503
+ }
504
+ }
505
+ };
506
+ export const BanSchema = {
507
+ type: 'object',
508
+ required: [
509
+ 'id',
510
+ 'user_id',
511
+ 'reason',
512
+ 'expires_at',
513
+ 'banner_id',
514
+ 'created_at',
515
+ 'updated_at'
516
+ ],
517
+ properties: {
518
+ id: {
519
+ type: 'integer'
520
+ },
521
+ user_id: {
522
+ type: 'integer'
523
+ },
524
+ reason: {
525
+ type: 'string'
526
+ },
527
+ expires_at: {
528
+ type: 'string',
529
+ format: 'date-time',
530
+ nullable: true
531
+ },
532
+ banner_id: {
533
+ type: 'integer'
534
+ },
535
+ created_at: {
536
+ type: 'string',
537
+ format: 'date-time'
538
+ },
539
+ updated_at: {
540
+ type: 'string',
541
+ format: 'date-time'
542
+ }
543
+ }
544
+ };
545
+ export const BlipSchema = {
546
+ type: 'object',
547
+ required: [
548
+ 'id',
549
+ 'creator_id',
550
+ 'body',
551
+ 'response_to',
552
+ 'created_at',
553
+ 'updated_at',
554
+ 'is_hidden',
555
+ 'warning_type',
556
+ 'warning_user_id',
557
+ 'updater_id',
558
+ 'creator_name'
559
+ ],
560
+ properties: {
561
+ id: {
562
+ type: 'integer'
563
+ },
564
+ creator_id: {
565
+ type: 'integer'
566
+ },
567
+ body: {
568
+ type: 'string'
569
+ },
570
+ response_to: {
571
+ type: 'integer'
572
+ },
573
+ created_at: {
574
+ type: 'string',
575
+ format: 'date-time'
576
+ },
577
+ updated_at: {
578
+ type: 'string',
579
+ format: 'date-time'
580
+ },
581
+ is_hidden: {
582
+ type: 'boolean'
583
+ },
584
+ warning_type: {
585
+ $ref: '#/components/schemas/WarningTypes'
586
+ },
587
+ warning_user_id: {
588
+ type: 'integer'
589
+ },
590
+ updater_id: {
591
+ type: 'integer'
592
+ },
593
+ creator_name: {
594
+ type: 'string'
595
+ }
596
+ }
597
+ };
598
+ export const BulkRelatedTagSchema = {
599
+ allOf: [
600
+ {
601
+ $ref: '#/components/schemas/RelatedTag'
602
+ },
603
+ {
604
+ type: 'object',
605
+ required: [
606
+ 'count'
607
+ ],
608
+ properties: {
609
+ count: {
610
+ type: 'integer'
611
+ }
612
+ }
613
+ }
614
+ ]
615
+ };
616
+ export const BulkUpdateRequestSchema = {
617
+ type: 'object',
618
+ required: [
619
+ 'id',
620
+ 'creator_id',
621
+ 'forum_topic_id',
622
+ 'script',
623
+ 'status',
624
+ 'created_at',
625
+ 'updated_at',
626
+ 'approver_id',
627
+ 'forum_post_id',
628
+ 'title'
629
+ ],
630
+ properties: {
631
+ id: {
632
+ type: 'integer'
633
+ },
634
+ creator_id: {
635
+ type: 'integer'
636
+ },
637
+ forum_topic_id: {
638
+ type: 'integer',
639
+ nullable: true
640
+ },
641
+ script: {
642
+ type: 'string',
643
+ example: [
644
+ 'alias a -> b'
645
+ ]
646
+ },
647
+ status: {
648
+ type: 'string',
649
+ enum: [
650
+ 'approved',
651
+ 'rejected',
652
+ 'pending'
653
+ ]
654
+ },
655
+ created_at: {
656
+ type: 'string',
657
+ format: 'date-time'
658
+ },
659
+ updated_at: {
660
+ type: 'string',
661
+ format: 'date-time'
662
+ },
663
+ approver_id: {
664
+ type: 'integer',
665
+ nullable: true
666
+ },
667
+ forum_post_id: {
668
+ type: 'integer',
669
+ nullable: true
670
+ },
671
+ title: {
672
+ type: 'string'
673
+ }
674
+ }
675
+ };
676
+ export const CommentSchema = {
677
+ type: 'object',
678
+ required: [
679
+ 'id',
680
+ 'created_at',
681
+ 'post_id',
682
+ 'creator_id',
683
+ 'body',
684
+ 'score',
685
+ 'updated_at',
686
+ 'updater_id',
687
+ 'do_not_bump_post',
688
+ 'is_hidden',
689
+ 'is_sticky',
690
+ 'warning_type',
691
+ 'warning_user_id',
692
+ 'creator_name',
693
+ 'updater_name'
694
+ ],
695
+ properties: {
696
+ id: {
697
+ type: 'integer'
698
+ },
699
+ created_at: {
700
+ type: 'string',
701
+ format: 'date-time'
702
+ },
703
+ post_id: {
704
+ type: 'integer'
705
+ },
706
+ creator_id: {
707
+ type: 'integer'
708
+ },
709
+ body: {
710
+ type: 'string'
711
+ },
712
+ score: {
713
+ type: 'integer'
714
+ },
715
+ updated_at: {
716
+ type: 'string',
717
+ format: 'date-time'
718
+ },
719
+ updater_id: {
720
+ type: 'integer'
721
+ },
722
+ do_not_bump_post: {
723
+ type: 'boolean',
724
+ deprecated: true
725
+ },
726
+ is_hidden: {
727
+ type: 'boolean'
728
+ },
729
+ is_sticky: {
730
+ type: 'boolean'
731
+ },
732
+ warning_type: {
733
+ $ref: '#/components/schemas/WarningTypes'
734
+ },
735
+ warning_user_id: {
736
+ type: 'integer',
737
+ nullable: true
738
+ },
739
+ creator_name: {
740
+ type: 'string'
741
+ },
742
+ updater_name: {
743
+ type: 'string'
744
+ }
745
+ }
746
+ };
747
+ export const CurrentUserSchema = {
748
+ allOf: [
749
+ {
750
+ $ref: '#/components/schemas/User'
751
+ },
752
+ {
753
+ type: 'object',
754
+ required: [
755
+ 'blacklist_users',
756
+ 'description_collapsed_initially',
757
+ 'hide_comments',
758
+ 'show_hidden_comments',
759
+ 'show_post_statistics',
760
+ 'receive_email_notifications',
761
+ 'enable_keyboard_navigation',
762
+ 'enable_privacy_mode',
763
+ 'style_usernames',
764
+ 'enable_auto_complete',
765
+ 'disable_cropped_thumbnails',
766
+ 'enable_safe_mode',
767
+ 'disable_responsive_mode',
768
+ 'no_flagging',
769
+ 'disable_user_dmails',
770
+ 'enable_compact_uploader',
771
+ 'replacements_beta',
772
+ 'updated_at',
773
+ 'email',
774
+ 'last_logged_in_at',
775
+ 'last_forum_read_at',
776
+ 'recent_tags',
777
+ 'comment_threshold',
778
+ 'default_image_size',
779
+ 'favorite_tags',
780
+ 'blacklisted_tags',
781
+ 'time_zone',
782
+ 'per_page',
783
+ 'custom_style',
784
+ 'favorite_count',
785
+ 'api_regen_multiplier',
786
+ 'api_burst_limit',
787
+ 'remaining_api_limit',
788
+ 'statement_timeout',
789
+ 'favorite_limit',
790
+ 'tag_query_limit',
791
+ 'has_mail',
792
+ 'forum_notification_dot'
793
+ ],
794
+ properties: {
795
+ blacklist_users: {
796
+ type: 'boolean'
797
+ },
798
+ description_collapsed_initially: {
799
+ type: 'boolean'
800
+ },
801
+ hide_comments: {
802
+ type: 'boolean'
803
+ },
804
+ show_hidden_comments: {
805
+ type: 'boolean'
806
+ },
807
+ show_post_statistics: {
808
+ type: 'boolean'
809
+ },
810
+ receive_email_notifications: {
811
+ type: 'boolean'
812
+ },
813
+ enable_keyboard_navigation: {
814
+ type: 'boolean'
815
+ },
816
+ enable_privacy_mode: {
817
+ type: 'boolean'
818
+ },
819
+ style_usernames: {
820
+ type: 'boolean'
821
+ },
822
+ enable_auto_complete: {
823
+ type: 'boolean'
824
+ },
825
+ can_approve_posts: {
826
+ type: 'boolean'
827
+ },
828
+ disable_cropped_thumbnails: {
829
+ type: 'boolean'
830
+ },
831
+ enable_safe_mode: {
832
+ type: 'boolean'
833
+ },
834
+ disable_responsive_mode: {
835
+ type: 'boolean'
836
+ },
837
+ no_flagging: {
838
+ type: 'boolean'
839
+ },
840
+ disable_user_dmails: {
841
+ type: 'boolean'
842
+ },
843
+ enable_compact_uploader: {
844
+ type: 'boolean'
845
+ },
846
+ replacements_beta: {
847
+ type: 'boolean'
848
+ },
849
+ updated_at: {
850
+ type: 'string',
851
+ format: 'date-time'
852
+ },
853
+ email: {
854
+ type: 'string'
855
+ },
856
+ last_logged_in_at: {
857
+ type: 'string'
858
+ },
859
+ last_forum_read_at: {
860
+ type: 'string'
861
+ },
862
+ recent_tags: {
863
+ type: 'string'
864
+ },
865
+ comment_threshold: {
866
+ type: 'integer'
867
+ },
868
+ default_image_size: {
869
+ type: 'string',
870
+ enum: [
871
+ 'large',
872
+ 'fit',
873
+ 'fitv',
874
+ 'original'
875
+ ]
876
+ },
877
+ favorite_tags: {
878
+ type: 'string'
879
+ },
880
+ blacklisted_tags: {
881
+ type: 'string'
882
+ },
883
+ time_zone: {
884
+ type: 'string'
885
+ },
886
+ per_page: {
887
+ type: 'integer'
888
+ },
889
+ custom_style: {
890
+ type: 'string'
891
+ },
892
+ favorite_count: {
893
+ type: 'integer'
894
+ },
895
+ api_regen_multiplier: {
896
+ type: 'integer'
897
+ },
898
+ api_burst_limit: {
899
+ type: 'integer'
900
+ },
901
+ remaining_api_limit: {
902
+ type: 'integer'
903
+ },
904
+ statement_timeout: {
905
+ type: 'integer'
906
+ },
907
+ favorite_limit: {
908
+ type: 'integer'
909
+ },
910
+ tag_query_limit: {
911
+ type: 'integer'
912
+ },
913
+ has_mail: {
914
+ type: 'boolean'
915
+ },
916
+ forum_notification_dot: {
917
+ type: 'boolean'
918
+ }
919
+ }
920
+ }
921
+ ]
922
+ };
923
+ export const DMailSchema = {
924
+ type: 'object',
925
+ required: [
926
+ 'id',
927
+ 'owner_id',
928
+ 'from_id',
929
+ 'to_id',
930
+ 'title',
931
+ 'body',
932
+ 'is_read',
933
+ 'is_deleted',
934
+ 'created_at',
935
+ 'updated_at',
936
+ 'to_name',
937
+ 'from_name'
938
+ ],
939
+ properties: {
940
+ id: {
941
+ type: 'integer'
942
+ },
943
+ owner_id: {
944
+ type: 'integer'
945
+ },
946
+ from_id: {
947
+ type: 'integer'
948
+ },
949
+ to_id: {
950
+ type: 'integer'
951
+ },
952
+ title: {
953
+ type: 'string'
954
+ },
955
+ body: {
956
+ type: 'string'
957
+ },
958
+ is_read: {
959
+ type: 'boolean'
960
+ },
961
+ is_deleted: {
962
+ type: 'boolean'
963
+ },
964
+ created_at: {
965
+ type: 'string',
966
+ format: 'date-time'
967
+ },
968
+ updated_at: {
969
+ type: 'string',
970
+ format: 'date-time'
971
+ },
972
+ to_name: {
973
+ type: 'string'
974
+ },
975
+ from_name: {
976
+ type: 'string'
977
+ }
978
+ }
979
+ };
980
+ export const DeferredPostSchema = {
981
+ type: 'object',
982
+ required: [
983
+ 'id',
984
+ 'flags',
985
+ 'tags',
986
+ 'rating',
987
+ 'file_ext',
988
+ 'width',
989
+ 'height',
990
+ 'size',
991
+ 'created_at',
992
+ 'uploader',
993
+ 'uploader_id',
994
+ 'score',
995
+ 'fav_count',
996
+ 'is_favorited',
997
+ 'pools',
998
+ 'md5',
999
+ 'preview_url',
1000
+ 'large_url',
1001
+ 'file_url',
1002
+ 'preview_width',
1003
+ 'preview_height'
1004
+ ],
1005
+ properties: {
1006
+ id: {
1007
+ type: 'integer'
1008
+ },
1009
+ flags: {
1010
+ type: 'string'
1011
+ },
1012
+ tags: {
1013
+ type: 'string'
1014
+ },
1015
+ rating: {
1016
+ $ref: '#/components/schemas/Ratings'
1017
+ },
1018
+ file_ext: {
1019
+ type: 'string'
1020
+ },
1021
+ width: {
1022
+ type: 'integer'
1023
+ },
1024
+ height: {
1025
+ type: 'integer'
1026
+ },
1027
+ size: {
1028
+ type: 'integer',
1029
+ format: 'int64'
1030
+ },
1031
+ created_at: {
1032
+ type: 'string',
1033
+ format: 'date-time'
1034
+ },
1035
+ uploader: {
1036
+ type: 'string'
1037
+ },
1038
+ uploader_id: {
1039
+ type: 'integer'
1040
+ },
1041
+ score: {
1042
+ type: 'integer'
1043
+ },
1044
+ fav_count: {
1045
+ type: 'integer'
1046
+ },
1047
+ is_favorited: {
1048
+ type: 'boolean'
1049
+ },
1050
+ pools: {
1051
+ type: 'array',
1052
+ items: {
1053
+ type: 'integer'
1054
+ }
1055
+ },
1056
+ md5: {
1057
+ type: 'string'
1058
+ },
1059
+ preview_url: {
1060
+ type: 'string',
1061
+ nullable: true
1062
+ },
1063
+ large_url: {
1064
+ type: 'string',
1065
+ nullable: true
1066
+ },
1067
+ file_url: {
1068
+ type: 'string',
1069
+ nullable: true
1070
+ },
1071
+ preview_width: {
1072
+ type: 'integer'
1073
+ },
1074
+ preview_height: {
1075
+ type: 'integer'
1076
+ }
1077
+ }
1078
+ };
1079
+ export const DTextResponseSchema = {
1080
+ type: 'object',
1081
+ required: [
1082
+ 'html',
1083
+ 'posts'
1084
+ ],
1085
+ properties: {
1086
+ html: {
1087
+ type: 'string'
1088
+ },
1089
+ posts: {
1090
+ $ref: '#/components/schemas/DeferredPost'
1091
+ }
1092
+ }
1093
+ };
1094
+ export const EmailBlacklistSchema = {
1095
+ type: 'object',
1096
+ required: [
1097
+ 'id',
1098
+ 'created_at',
1099
+ 'updated_at',
1100
+ 'domain',
1101
+ 'creator_id',
1102
+ 'reason'
1103
+ ],
1104
+ properties: {
1105
+ id: {
1106
+ type: 'integer'
1107
+ },
1108
+ created_at: {
1109
+ type: 'string'
1110
+ },
1111
+ updated_at: {
1112
+ type: 'string'
1113
+ },
1114
+ domain: {
1115
+ type: 'string'
1116
+ },
1117
+ creator_id: {
1118
+ type: 'string'
1119
+ },
1120
+ reason: {
1121
+ type: 'string'
1122
+ }
1123
+ }
1124
+ };
1125
+ export const ForumPostSchema = {
1126
+ type: 'object',
1127
+ required: [
1128
+ 'id',
1129
+ 'topic_id',
1130
+ 'creator_id',
1131
+ 'updater_id',
1132
+ 'body',
1133
+ 'is_hidden',
1134
+ 'created_at',
1135
+ 'updated_at',
1136
+ 'warning_type',
1137
+ 'warning_user_id'
1138
+ ],
1139
+ properties: {
1140
+ id: {
1141
+ type: 'integer'
1142
+ },
1143
+ topic_id: {
1144
+ type: 'integer'
1145
+ },
1146
+ creator_id: {
1147
+ type: 'integer'
1148
+ },
1149
+ updater_id: {
1150
+ type: 'integer'
1151
+ },
1152
+ body: {
1153
+ type: 'string'
1154
+ },
1155
+ is_hidden: {
1156
+ type: 'boolean'
1157
+ },
1158
+ created_at: {
1159
+ type: 'string',
1160
+ format: 'date-time'
1161
+ },
1162
+ updated_at: {
1163
+ type: 'string',
1164
+ format: 'date-time'
1165
+ },
1166
+ warning_type: {
1167
+ $ref: '#/components/schemas/WarningTypes'
1168
+ },
1169
+ warning_user_id: {
1170
+ type: 'integer',
1171
+ nullable: true
1172
+ }
1173
+ }
1174
+ };
1175
+ export const ForumPostVoteSchema = {
1176
+ type: 'object',
1177
+ required: [
1178
+ 'id',
1179
+ 'forum_post_id',
1180
+ 'creator_id',
1181
+ 'score',
1182
+ 'created_at',
1183
+ 'updated_at',
1184
+ 'creator_name'
1185
+ ],
1186
+ properties: {
1187
+ id: {
1188
+ type: 'integer'
1189
+ },
1190
+ forum_post_id: {
1191
+ type: 'integer'
1192
+ },
1193
+ creator_id: {
1194
+ type: 'integer'
1195
+ },
1196
+ score: {
1197
+ type: 'integer'
1198
+ },
1199
+ created_at: {
1200
+ type: 'string',
1201
+ format: 'date-time'
1202
+ },
1203
+ updated_at: {
1204
+ type: 'string',
1205
+ format: 'date-time'
1206
+ },
1207
+ creator_name: {
1208
+ type: 'string'
1209
+ }
1210
+ }
1211
+ };
1212
+ export const ForumTopicSchema = {
1213
+ type: 'object',
1214
+ required: [
1215
+ 'id',
1216
+ 'creator_id',
1217
+ 'updater_id',
1218
+ 'title',
1219
+ 'response_count',
1220
+ 'is_sticky',
1221
+ 'is_locked',
1222
+ 'is_hidden',
1223
+ 'created_at',
1224
+ 'updated_at',
1225
+ 'category_id'
1226
+ ],
1227
+ properties: {
1228
+ id: {
1229
+ type: 'integer'
1230
+ },
1231
+ creator_id: {
1232
+ type: 'integer'
1233
+ },
1234
+ updater_id: {
1235
+ type: 'integer'
1236
+ },
1237
+ title: {
1238
+ type: 'string'
1239
+ },
1240
+ response_count: {
1241
+ type: 'integer'
1242
+ },
1243
+ is_sticky: {
1244
+ type: 'boolean'
1245
+ },
1246
+ is_locked: {
1247
+ type: 'boolean'
1248
+ },
1249
+ is_hidden: {
1250
+ type: 'boolean'
1251
+ },
1252
+ created_at: {
1253
+ type: 'string',
1254
+ format: 'date-time'
1255
+ },
1256
+ updated_at: {
1257
+ type: 'string',
1258
+ format: 'date-time'
1259
+ },
1260
+ category_id: {
1261
+ type: 'integer'
1262
+ }
1263
+ }
1264
+ };
1265
+ export const FullCurrentUserSchema = {
1266
+ allOf: [
1267
+ {
1268
+ $ref: '#/components/schemas/CurrentUser'
1269
+ },
1270
+ {
1271
+ $ref: '#/components/schemas/FullUser'
1272
+ }
1273
+ ]
1274
+ };
1275
+ export const FullUserSchema = {
1276
+ allOf: [
1277
+ {
1278
+ $ref: '#/components/schemas/User'
1279
+ },
1280
+ {
1281
+ type: 'object',
1282
+ required: [
1283
+ 'wiki_page_version_count',
1284
+ 'artist_version_count',
1285
+ 'pool_version_count',
1286
+ 'forum_post_count',
1287
+ 'comment_count',
1288
+ 'flag_count',
1289
+ 'favorite_count',
1290
+ 'positive_feedback_count',
1291
+ 'neutral_feedback_count',
1292
+ 'negative_feedback_count',
1293
+ 'upload_limit',
1294
+ 'profile_about',
1295
+ 'profile_artinfo'
1296
+ ],
1297
+ properties: {
1298
+ wiki_page_version_count: {
1299
+ type: 'integer'
1300
+ },
1301
+ artist_version_count: {
1302
+ type: 'integer'
1303
+ },
1304
+ pool_version_count: {
1305
+ type: 'integer'
1306
+ },
1307
+ forum_post_count: {
1308
+ type: 'integer'
1309
+ },
1310
+ comment_count: {
1311
+ type: 'integer'
1312
+ },
1313
+ flag_count: {
1314
+ type: 'integer'
1315
+ },
1316
+ favorite_count: {
1317
+ type: 'integer'
1318
+ },
1319
+ positive_feedback_count: {
1320
+ type: 'integer'
1321
+ },
1322
+ neutral_feedback_count: {
1323
+ type: 'integer'
1324
+ },
1325
+ negative_feedback_count: {
1326
+ type: 'integer'
1327
+ },
1328
+ upload_limit: {
1329
+ type: 'integer'
1330
+ },
1331
+ profile_about: {
1332
+ type: 'string'
1333
+ },
1334
+ profile_artinfo: {
1335
+ type: 'string'
1336
+ }
1337
+ }
1338
+ }
1339
+ ]
1340
+ };
1341
+ export const HelpSchema = {
1342
+ type: 'object',
1343
+ required: [
1344
+ 'id',
1345
+ 'name',
1346
+ 'title',
1347
+ 'wiki_page',
1348
+ 'related',
1349
+ 'created_at',
1350
+ 'updated_at'
1351
+ ],
1352
+ properties: {
1353
+ id: {
1354
+ type: 'integer'
1355
+ },
1356
+ name: {
1357
+ type: 'string'
1358
+ },
1359
+ title: {
1360
+ type: 'string'
1361
+ },
1362
+ wiki_page: {
1363
+ type: 'string'
1364
+ },
1365
+ related: {
1366
+ type: 'string'
1367
+ },
1368
+ created_at: {
1369
+ type: 'string',
1370
+ format: 'date-time'
1371
+ },
1372
+ updated_at: {
1373
+ type: 'string',
1374
+ format: 'date-time'
1375
+ }
1376
+ }
1377
+ };
1378
+ export const IpBanSchema = {
1379
+ type: 'object',
1380
+ description: 'Due to a global filter, the ip_addr is not present no matter your user level.',
1381
+ required: [
1382
+ 'id',
1383
+ 'creator_id',
1384
+ 'reason',
1385
+ 'created_at',
1386
+ 'updated_at'
1387
+ ],
1388
+ properties: {
1389
+ id: {
1390
+ type: 'integer'
1391
+ },
1392
+ creator_id: {
1393
+ type: 'integer'
1394
+ },
1395
+ reason: {
1396
+ type: 'string'
1397
+ },
1398
+ created_at: {
1399
+ type: 'string',
1400
+ format: 'date-time'
1401
+ },
1402
+ updated_at: {
1403
+ type: 'string',
1404
+ format: 'date-time'
1405
+ }
1406
+ }
1407
+ };
1408
+ export const IqdbPostSchema = {
1409
+ type: 'object',
1410
+ required: [
1411
+ 'id',
1412
+ 'created_at',
1413
+ 'updated_at',
1414
+ 'up_score',
1415
+ 'down_score',
1416
+ 'score',
1417
+ 'source',
1418
+ 'md5',
1419
+ 'rating',
1420
+ 'is_note_locked',
1421
+ 'is_rating_locked',
1422
+ 'is_status_locked',
1423
+ 'is_pending',
1424
+ 'is_flagged',
1425
+ 'is_deleted',
1426
+ 'uploader_id',
1427
+ 'approver_id',
1428
+ 'last_noted_at',
1429
+ 'last_comment_bumped_at',
1430
+ 'fav_count',
1431
+ 'tag_string',
1432
+ 'tag_count',
1433
+ 'tag_count_general',
1434
+ 'tag_count_artist',
1435
+ 'tag_count_character',
1436
+ 'tag_count_copyright',
1437
+ 'file_ext',
1438
+ 'file_size',
1439
+ 'image_width',
1440
+ 'image_height',
1441
+ 'parent_id',
1442
+ 'has_children',
1443
+ 'last_commented_at',
1444
+ 'has_active_children',
1445
+ 'bit_flags',
1446
+ 'tag_count_meta',
1447
+ 'locked_tags',
1448
+ 'tag_count_species',
1449
+ 'tag_count_invalid',
1450
+ 'description',
1451
+ 'comment_count',
1452
+ 'change_seq',
1453
+ 'tag_count_lore',
1454
+ 'bg_color',
1455
+ 'generated_samples',
1456
+ 'duration',
1457
+ 'is_comment_disabled',
1458
+ 'is_comment_locked',
1459
+ 'has_large',
1460
+ 'has_visible_children',
1461
+ 'children_ids',
1462
+ 'pool_ids',
1463
+ 'is_favorited'
1464
+ ],
1465
+ properties: {
1466
+ id: {
1467
+ type: 'integer'
1468
+ },
1469
+ created_at: {
1470
+ type: 'string',
1471
+ format: 'date-time'
1472
+ },
1473
+ updated_at: {
1474
+ type: 'string',
1475
+ format: 'date-time'
1476
+ },
1477
+ up_score: {
1478
+ type: 'integer'
1479
+ },
1480
+ down_score: {
1481
+ type: 'integer'
1482
+ },
1483
+ score: {
1484
+ type: 'integer'
1485
+ },
1486
+ source: {
1487
+ type: 'string'
1488
+ },
1489
+ md5: {
1490
+ type: 'string'
1491
+ },
1492
+ rating: {
1493
+ $ref: '#/components/schemas/Ratings'
1494
+ },
1495
+ is_note_locked: {
1496
+ type: 'boolean'
1497
+ },
1498
+ is_rating_locked: {
1499
+ type: 'boolean'
1500
+ },
1501
+ is_status_locked: {
1502
+ type: 'boolean'
1503
+ },
1504
+ is_pending: {
1505
+ type: 'boolean'
1506
+ },
1507
+ is_flagged: {
1508
+ type: 'boolean'
1509
+ },
1510
+ is_deleted: {
1511
+ type: 'boolean'
1512
+ },
1513
+ uploader_id: {
1514
+ type: 'integer'
1515
+ },
1516
+ approver_id: {
1517
+ type: 'integer'
1518
+ },
1519
+ last_noted_at: {
1520
+ type: 'string',
1521
+ format: 'date-time',
1522
+ nullable: true
1523
+ },
1524
+ last_comment_bumped_at: {
1525
+ type: 'string',
1526
+ format: 'date-time',
1527
+ nullable: true
1528
+ },
1529
+ fav_count: {
1530
+ type: 'integer'
1531
+ },
1532
+ tag_string: {
1533
+ type: 'string'
1534
+ },
1535
+ tag_count: {
1536
+ type: 'integer'
1537
+ },
1538
+ tag_count_general: {
1539
+ type: 'integer'
1540
+ },
1541
+ tag_count_artist: {
1542
+ type: 'integer'
1543
+ },
1544
+ tag_count_character: {
1545
+ type: 'integer'
1546
+ },
1547
+ tag_count_copyright: {
1548
+ type: 'integer'
1549
+ },
1550
+ file_ext: {
1551
+ type: 'string'
1552
+ },
1553
+ file_size: {
1554
+ type: 'integer',
1555
+ format: 'int64'
1556
+ },
1557
+ image_width: {
1558
+ type: 'integer'
1559
+ },
1560
+ image_height: {
1561
+ type: 'integer'
1562
+ },
1563
+ parent_id: {
1564
+ type: 'integer',
1565
+ nullable: true
1566
+ },
1567
+ has_children: {
1568
+ type: 'boolean'
1569
+ },
1570
+ last_commented_at: {
1571
+ type: 'string',
1572
+ format: 'date-time',
1573
+ nullable: true
1574
+ },
1575
+ has_active_children: {
1576
+ type: 'boolean'
1577
+ },
1578
+ bit_flags: {
1579
+ type: 'number'
1580
+ },
1581
+ tag_count_meta: {
1582
+ type: 'integer'
1583
+ },
1584
+ locked_tags: {
1585
+ type: 'string',
1586
+ nullable: true
1587
+ },
1588
+ tag_count_species: {
1589
+ type: 'integer'
1590
+ },
1591
+ tag_count_invalid: {
1592
+ type: 'integer'
1593
+ },
1594
+ description: {
1595
+ type: 'string'
1596
+ },
1597
+ comment_count: {
1598
+ type: 'integer'
1599
+ },
1600
+ change_seq: {
1601
+ type: 'integer'
1602
+ },
1603
+ tag_count_lore: {
1604
+ type: 'integer'
1605
+ },
1606
+ bg_color: {
1607
+ type: 'string',
1608
+ nullable: true
1609
+ },
1610
+ generated_samples: {
1611
+ type: 'array',
1612
+ nullable: true,
1613
+ items: {
1614
+ type: 'string',
1615
+ enum: [
1616
+ '720p',
1617
+ '480p',
1618
+ 'original'
1619
+ ]
1620
+ }
1621
+ },
1622
+ duration: {
1623
+ type: 'string',
1624
+ nullable: true
1625
+ },
1626
+ is_comment_disabled: {
1627
+ type: 'boolean'
1628
+ },
1629
+ is_comment_locked: {
1630
+ type: 'boolean'
1631
+ },
1632
+ has_large: {
1633
+ type: 'boolean'
1634
+ },
1635
+ has_visible_children: {
1636
+ type: 'boolean'
1637
+ },
1638
+ children_ids: {
1639
+ type: 'string',
1640
+ nullable: true
1641
+ },
1642
+ pool_ids: {
1643
+ type: 'array',
1644
+ items: {
1645
+ type: 'integer'
1646
+ }
1647
+ },
1648
+ is_favorited: {
1649
+ type: 'boolean'
1650
+ },
1651
+ file_url: {
1652
+ type: 'string'
1653
+ },
1654
+ large_file_url: {
1655
+ type: 'string'
1656
+ },
1657
+ preview_file_url: {
1658
+ type: 'string'
1659
+ }
1660
+ }
1661
+ };
1662
+ export const IqdbResponseSchema = {
1663
+ type: 'object',
1664
+ required: [
1665
+ 'hash',
1666
+ 'post_id',
1667
+ 'score',
1668
+ 'post'
1669
+ ],
1670
+ properties: {
1671
+ hash: {
1672
+ type: 'string'
1673
+ },
1674
+ post_id: {
1675
+ type: 'integer'
1676
+ },
1677
+ score: {
1678
+ type: 'number',
1679
+ format: 'float',
1680
+ minimum: 0,
1681
+ maximum: 100
1682
+ },
1683
+ post: {
1684
+ type: 'object',
1685
+ required: [
1686
+ 'posts'
1687
+ ],
1688
+ properties: {
1689
+ posts: {
1690
+ $ref: '#/components/schemas/IqdbPost'
1691
+ }
1692
+ }
1693
+ }
1694
+ }
1695
+ };
1696
+ export const MascotSchema = {
1697
+ type: 'object',
1698
+ required: [
1699
+ 'id',
1700
+ 'creator_id',
1701
+ 'display_name',
1702
+ 'md5',
1703
+ 'file_ext',
1704
+ 'background_color',
1705
+ 'artist_url',
1706
+ 'artist_name',
1707
+ 'active',
1708
+ 'created_at',
1709
+ 'updated_at',
1710
+ 'available_on',
1711
+ 'url_path'
1712
+ ],
1713
+ properties: {
1714
+ id: {
1715
+ type: 'integer'
1716
+ },
1717
+ creator_id: {
1718
+ type: 'integer'
1719
+ },
1720
+ display_name: {
1721
+ type: 'string'
1722
+ },
1723
+ md5: {
1724
+ type: 'string'
1725
+ },
1726
+ file_ext: {
1727
+ type: 'string'
1728
+ },
1729
+ background_color: {
1730
+ type: 'string'
1731
+ },
1732
+ artist_url: {
1733
+ type: 'string',
1734
+ format: 'uri'
1735
+ },
1736
+ artist_name: {
1737
+ type: 'string'
1738
+ },
1739
+ active: {
1740
+ type: 'boolean'
1741
+ },
1742
+ created_at: {
1743
+ type: 'string',
1744
+ format: 'date-time'
1745
+ },
1746
+ updated_at: {
1747
+ type: 'string',
1748
+ format: 'date-time'
1749
+ },
1750
+ available_on: {
1751
+ type: 'array',
1752
+ items: {
1753
+ type: 'string'
1754
+ }
1755
+ },
1756
+ url_path: {
1757
+ type: 'string',
1758
+ format: 'uri'
1759
+ }
1760
+ }
1761
+ };
1762
+ export const ModActionSchema = {
1763
+ type: 'object',
1764
+ required: [
1765
+ 'id',
1766
+ 'creator_id',
1767
+ 'created_at',
1768
+ 'updated_at',
1769
+ 'action'
1770
+ ],
1771
+ properties: {
1772
+ id: {
1773
+ type: 'integer'
1774
+ },
1775
+ creator_id: {
1776
+ type: 'integer'
1777
+ },
1778
+ created_at: {
1779
+ type: 'string',
1780
+ format: 'date-time'
1781
+ },
1782
+ updated_at: {
1783
+ type: 'string',
1784
+ format: 'date-time'
1785
+ },
1786
+ action: {
1787
+ $ref: '#/components/schemas/ModActionActions'
1788
+ }
1789
+ }
1790
+ };
1791
+ export const NewsUpdateSchema = {
1792
+ type: 'object',
1793
+ required: [
1794
+ 'id',
1795
+ 'message',
1796
+ 'creator_id',
1797
+ 'updater_id',
1798
+ 'created_at',
1799
+ 'updated_at'
1800
+ ],
1801
+ properties: {
1802
+ id: {
1803
+ type: 'integer'
1804
+ },
1805
+ message: {
1806
+ type: 'string'
1807
+ },
1808
+ creator_id: {
1809
+ type: 'integer'
1810
+ },
1811
+ updater_id: {
1812
+ type: 'integer'
1813
+ },
1814
+ created_at: {
1815
+ type: 'string',
1816
+ format: 'date-time'
1817
+ },
1818
+ updated_at: {
1819
+ type: 'string',
1820
+ format: 'date-time'
1821
+ }
1822
+ }
1823
+ };
1824
+ export const NoteSchema = {
1825
+ type: 'object',
1826
+ required: [
1827
+ 'id',
1828
+ 'created_at',
1829
+ 'updated_at',
1830
+ 'creator_id',
1831
+ 'x',
1832
+ 'y',
1833
+ 'width',
1834
+ 'height',
1835
+ 'version',
1836
+ 'is_active',
1837
+ 'post_id',
1838
+ 'body',
1839
+ 'creator_name'
1840
+ ],
1841
+ properties: {
1842
+ id: {
1843
+ type: 'integer'
1844
+ },
1845
+ created_at: {
1846
+ type: 'string',
1847
+ format: 'date-time'
1848
+ },
1849
+ updated_at: {
1850
+ type: 'string',
1851
+ format: 'date-time'
1852
+ },
1853
+ creator_id: {
1854
+ type: 'integer'
1855
+ },
1856
+ x: {
1857
+ type: 'integer'
1858
+ },
1859
+ y: {
1860
+ type: 'integer'
1861
+ },
1862
+ width: {
1863
+ type: 'integer'
1864
+ },
1865
+ height: {
1866
+ type: 'integer'
1867
+ },
1868
+ version: {
1869
+ type: 'number'
1870
+ },
1871
+ is_active: {
1872
+ type: 'boolean'
1873
+ },
1874
+ post_id: {
1875
+ type: 'integer'
1876
+ },
1877
+ body: {
1878
+ type: 'string'
1879
+ },
1880
+ creator_name: {
1881
+ type: 'string'
1882
+ }
1883
+ }
1884
+ };
1885
+ export const NoteVersionSchema = {
1886
+ type: 'object',
1887
+ required: [
1888
+ 'id',
1889
+ 'created_at',
1890
+ 'updated_at',
1891
+ 'x',
1892
+ 'y',
1893
+ 'width',
1894
+ 'height',
1895
+ 'body',
1896
+ 'version',
1897
+ 'is_active',
1898
+ 'note_id',
1899
+ 'post_id',
1900
+ 'updater_id'
1901
+ ],
1902
+ properties: {
1903
+ id: {
1904
+ type: 'integer'
1905
+ },
1906
+ created_at: {
1907
+ type: 'string',
1908
+ format: 'date-time'
1909
+ },
1910
+ updated_at: {
1911
+ type: 'string',
1912
+ format: 'date-time'
1913
+ },
1914
+ x: {
1915
+ type: 'integer'
1916
+ },
1917
+ y: {
1918
+ type: 'integer'
1919
+ },
1920
+ width: {
1921
+ type: 'integer'
1922
+ },
1923
+ height: {
1924
+ type: 'integer'
1925
+ },
1926
+ body: {
1927
+ type: 'string'
1928
+ },
1929
+ version: {
1930
+ type: 'number'
1931
+ },
1932
+ is_active: {
1933
+ type: 'boolean'
1934
+ },
1935
+ note_id: {
1936
+ type: 'integer'
1937
+ },
1938
+ post_id: {
1939
+ type: 'integer'
1940
+ },
1941
+ updater_id: {
1942
+ type: 'integer'
1943
+ }
1944
+ }
1945
+ };
1946
+ export const PoolSchema = {
1947
+ type: 'object',
1948
+ required: [
1949
+ 'id',
1950
+ 'name',
1951
+ 'created_at',
1952
+ 'updated_at',
1953
+ 'creator_id',
1954
+ 'description',
1955
+ 'is_active',
1956
+ 'category',
1957
+ 'post_ids',
1958
+ 'creator_name',
1959
+ 'post_count'
1960
+ ],
1961
+ properties: {
1962
+ id: {
1963
+ type: 'integer'
1964
+ },
1965
+ name: {
1966
+ type: 'string'
1967
+ },
1968
+ updated_at: {
1969
+ type: 'string',
1970
+ format: 'date-time'
1971
+ },
1972
+ creator_id: {
1973
+ type: 'integer'
1974
+ },
1975
+ description: {
1976
+ type: 'string'
1977
+ },
1978
+ is_active: {
1979
+ type: 'boolean'
1980
+ },
1981
+ category: {
1982
+ $ref: '#/components/schemas/PoolCategories'
1983
+ },
1984
+ post_ids: {
1985
+ type: 'array',
1986
+ items: {
1987
+ type: 'integer'
1988
+ }
1989
+ },
1990
+ created_at: {
1991
+ type: 'string',
1992
+ format: 'date-time'
1993
+ },
1994
+ creator_name: {
1995
+ type: 'string'
1996
+ },
1997
+ post_count: {
1998
+ type: 'integer'
1999
+ }
2000
+ }
2001
+ };
2002
+ export const PoolVersionSchema = {
2003
+ type: 'object',
2004
+ required: [
2005
+ 'id',
2006
+ 'pool_id',
2007
+ 'post_ids',
2008
+ 'updater_id',
2009
+ 'created_at',
2010
+ 'updated_at',
2011
+ 'name',
2012
+ 'name_changed',
2013
+ 'description',
2014
+ 'description_changed',
2015
+ 'is_active',
2016
+ 'is_locked',
2017
+ 'category',
2018
+ 'version',
2019
+ 'added_post_ids',
2020
+ 'removed_post_ids'
2021
+ ],
2022
+ properties: {
2023
+ id: {
2024
+ type: 'integer'
2025
+ },
2026
+ pool_id: {
2027
+ type: 'integer'
2028
+ },
2029
+ post_ids: {
2030
+ type: 'array',
2031
+ items: {
2032
+ type: 'integer'
2033
+ }
2034
+ },
2035
+ created_at: {
2036
+ type: 'string',
2037
+ format: 'date-time'
2038
+ },
2039
+ updated_at: {
2040
+ type: 'string',
2041
+ format: 'date-time'
2042
+ },
2043
+ updater_id: {
2044
+ type: 'integer'
2045
+ },
2046
+ name: {
2047
+ type: 'string'
2048
+ },
2049
+ name_changed: {
2050
+ type: 'boolean'
2051
+ },
2052
+ description: {
2053
+ type: 'string'
2054
+ },
2055
+ description_changed: {
2056
+ type: 'boolean'
2057
+ },
2058
+ is_active: {
2059
+ type: 'boolean'
2060
+ },
2061
+ is_locked: {
2062
+ type: 'boolean'
2063
+ },
2064
+ category: {
2065
+ $ref: '#/components/schemas/PoolCategories'
2066
+ },
2067
+ version: {
2068
+ type: 'number'
2069
+ },
2070
+ added_post_ids: {
2071
+ type: 'array',
2072
+ items: {
2073
+ type: 'integer'
2074
+ }
2075
+ },
2076
+ removed_post_ids: {
2077
+ type: 'array',
2078
+ items: {
2079
+ type: 'integer'
2080
+ }
2081
+ }
2082
+ }
2083
+ };
2084
+ export const PostSchema = {
2085
+ type: 'object',
2086
+ required: [
2087
+ 'id',
2088
+ 'created_at',
2089
+ 'updated_at',
2090
+ 'file',
2091
+ 'preview',
2092
+ 'sample',
2093
+ 'score',
2094
+ 'tags',
2095
+ 'locked_tags',
2096
+ 'change_seq',
2097
+ 'flags',
2098
+ 'rating',
2099
+ 'fav_count',
2100
+ 'sources',
2101
+ 'pools',
2102
+ 'relationships',
2103
+ 'approver_id',
2104
+ 'uploader_id',
2105
+ 'description',
2106
+ 'comment_count',
2107
+ 'is_favorited',
2108
+ 'has_notes',
2109
+ 'duration',
2110
+ 'uploader_name'
2111
+ ],
2112
+ properties: {
2113
+ id: {
2114
+ type: 'integer'
2115
+ },
2116
+ created_at: {
2117
+ type: 'string',
2118
+ format: 'date-time'
2119
+ },
2120
+ updated_at: {
2121
+ type: 'string',
2122
+ format: 'date-time'
2123
+ },
2124
+ file: {
2125
+ type: 'object',
2126
+ required: [
2127
+ 'width',
2128
+ 'height',
2129
+ 'ext',
2130
+ 'size',
2131
+ 'md5',
2132
+ 'url'
2133
+ ],
2134
+ properties: {
2135
+ width: {
2136
+ type: 'integer'
2137
+ },
2138
+ height: {
2139
+ type: 'integer'
2140
+ },
2141
+ ext: {
2142
+ type: 'string'
2143
+ },
2144
+ size: {
2145
+ type: 'integer',
2146
+ format: 'int64'
2147
+ },
2148
+ md5: {
2149
+ type: 'string'
2150
+ },
2151
+ url: {
2152
+ type: 'string',
2153
+ nullable: true
2154
+ }
2155
+ }
2156
+ },
2157
+ preview: {
2158
+ type: 'object',
2159
+ required: [
2160
+ 'width',
2161
+ 'height',
2162
+ 'url'
2163
+ ],
2164
+ properties: {
2165
+ width: {
2166
+ type: 'integer'
2167
+ },
2168
+ height: {
2169
+ type: 'integer'
2170
+ },
2171
+ url: {
2172
+ type: 'string',
2173
+ nullable: true
2174
+ }
2175
+ }
2176
+ },
2177
+ sample: {
2178
+ type: 'object',
2179
+ required: [
2180
+ 'has',
2181
+ 'height',
2182
+ 'width',
2183
+ 'url',
2184
+ 'alternates'
2185
+ ],
2186
+ properties: {
2187
+ has: {
2188
+ type: 'boolean'
2189
+ },
2190
+ height: {
2191
+ type: 'integer',
2192
+ nullable: true
2193
+ },
2194
+ width: {
2195
+ type: 'integer',
2196
+ nullable: true
2197
+ },
2198
+ url: {
2199
+ type: 'string',
2200
+ nullable: true
2201
+ },
2202
+ alternates: {
2203
+ type: 'object',
2204
+ properties: {
2205
+ has: {
2206
+ type: 'boolean'
2207
+ },
2208
+ original: {
2209
+ $ref: '#/components/schemas/PostSampleAlternate'
2210
+ },
2211
+ variants: {
2212
+ type: 'object',
2213
+ properties: {
2214
+ webm: {
2215
+ $ref: '#/components/schemas/PostSampleAlternate'
2216
+ },
2217
+ mp4: {
2218
+ $ref: '#/components/schemas/PostSampleAlternate'
2219
+ }
2220
+ }
2221
+ },
2222
+ samples: {
2223
+ type: 'object',
2224
+ properties: {
2225
+ '480p': {
2226
+ $ref: '#/components/schemas/PostSampleAlternate'
2227
+ },
2228
+ '720p': {
2229
+ $ref: '#/components/schemas/PostSampleAlternate'
2230
+ }
2231
+ }
2232
+ }
2233
+ }
2234
+ }
2235
+ }
2236
+ },
2237
+ score: {
2238
+ type: 'object',
2239
+ required: [
2240
+ 'up',
2241
+ 'down',
2242
+ 'total'
2243
+ ],
2244
+ properties: {
2245
+ up: {
2246
+ type: 'integer'
2247
+ },
2248
+ down: {
2249
+ type: 'integer'
2250
+ },
2251
+ total: {
2252
+ type: 'integer'
2253
+ }
2254
+ }
2255
+ },
2256
+ tags: {
2257
+ type: 'object',
2258
+ required: [
2259
+ 'general',
2260
+ 'artist',
2261
+ 'copyright',
2262
+ 'character',
2263
+ 'species',
2264
+ 'invalid',
2265
+ 'meta',
2266
+ 'lore',
2267
+ 'contributor'
2268
+ ],
2269
+ properties: {
2270
+ general: {
2271
+ type: 'array',
2272
+ items: {
2273
+ type: 'string'
2274
+ }
2275
+ },
2276
+ artist: {
2277
+ type: 'array',
2278
+ items: {
2279
+ type: 'string'
2280
+ }
2281
+ },
2282
+ copyright: {
2283
+ type: 'array',
2284
+ items: {
2285
+ type: 'string'
2286
+ }
2287
+ },
2288
+ character: {
2289
+ type: 'array',
2290
+ items: {
2291
+ type: 'string'
2292
+ }
2293
+ },
2294
+ species: {
2295
+ type: 'array',
2296
+ items: {
2297
+ type: 'string'
2298
+ }
2299
+ },
2300
+ invalid: {
2301
+ type: 'array',
2302
+ items: {
2303
+ type: 'string'
2304
+ }
2305
+ },
2306
+ meta: {
2307
+ type: 'array',
2308
+ items: {
2309
+ type: 'string'
2310
+ }
2311
+ },
2312
+ lore: {
2313
+ type: 'array',
2314
+ items: {
2315
+ type: 'string'
2316
+ }
2317
+ },
2318
+ contributor: {
2319
+ type: 'array',
2320
+ items: {
2321
+ type: 'string'
2322
+ }
2323
+ }
2324
+ }
2325
+ },
2326
+ locked_tags: {
2327
+ type: 'array',
2328
+ nullable: true,
2329
+ items: {
2330
+ type: 'string'
2331
+ }
2332
+ },
2333
+ change_seq: {
2334
+ type: 'number'
2335
+ },
2336
+ flags: {
2337
+ type: 'object',
2338
+ required: [
2339
+ 'pending',
2340
+ 'flagged',
2341
+ 'note_locked',
2342
+ 'status_locked',
2343
+ 'rating_locked',
2344
+ 'deleted'
2345
+ ],
2346
+ properties: {
2347
+ pending: {
2348
+ type: 'boolean'
2349
+ },
2350
+ flagged: {
2351
+ type: 'boolean'
2352
+ },
2353
+ note_locked: {
2354
+ type: 'boolean'
2355
+ },
2356
+ status_locked: {
2357
+ type: 'boolean'
2358
+ },
2359
+ rating_locked: {
2360
+ type: 'boolean'
2361
+ },
2362
+ deleted: {
2363
+ type: 'boolean'
2364
+ }
2365
+ }
2366
+ },
2367
+ rating: {
2368
+ $ref: '#/components/schemas/Ratings'
2369
+ },
2370
+ fav_count: {
2371
+ type: 'integer'
2372
+ },
2373
+ sources: {
2374
+ type: 'array',
2375
+ items: {
2376
+ type: 'string'
2377
+ }
2378
+ },
2379
+ pools: {
2380
+ type: 'array',
2381
+ items: {
2382
+ type: 'integer'
2383
+ }
2384
+ },
2385
+ relationships: {
2386
+ type: 'object',
2387
+ required: [
2388
+ 'parent_id',
2389
+ 'has_children',
2390
+ 'has_active_children',
2391
+ 'children'
2392
+ ],
2393
+ properties: {
2394
+ parent_id: {
2395
+ type: 'integer',
2396
+ nullable: true
2397
+ },
2398
+ has_children: {
2399
+ type: 'boolean'
2400
+ },
2401
+ has_active_children: {
2402
+ type: 'boolean'
2403
+ },
2404
+ children: {
2405
+ type: 'array',
2406
+ items: {
2407
+ type: 'integer'
2408
+ }
2409
+ }
2410
+ }
2411
+ },
2412
+ approver_id: {
2413
+ type: 'integer',
2414
+ nullable: true
2415
+ },
2416
+ uploader_id: {
2417
+ type: 'integer'
2418
+ },
2419
+ description: {
2420
+ type: 'string'
2421
+ },
2422
+ comment_count: {
2423
+ type: 'integer'
2424
+ },
2425
+ is_favorited: {
2426
+ type: 'boolean'
2427
+ },
2428
+ has_notes: {
2429
+ type: 'boolean'
2430
+ },
2431
+ duration: {
2432
+ type: 'number',
2433
+ nullable: true
2434
+ },
2435
+ uploader_name: {
2436
+ type: 'string'
2437
+ }
2438
+ }
2439
+ };
2440
+ export const PostApprovalSchema = {
2441
+ type: 'object',
2442
+ required: [
2443
+ 'id',
2444
+ 'user_id',
2445
+ 'post_id',
2446
+ 'created_at',
2447
+ 'updated_at'
2448
+ ],
2449
+ properties: {
2450
+ id: {
2451
+ type: 'integer'
2452
+ },
2453
+ user_id: {
2454
+ type: 'integer'
2455
+ },
2456
+ post_id: {
2457
+ type: 'integer'
2458
+ },
2459
+ created_at: {
2460
+ type: 'string',
2461
+ format: 'date-time'
2462
+ },
2463
+ updated_at: {
2464
+ type: 'string',
2465
+ format: 'date-time'
2466
+ }
2467
+ }
2468
+ };
2469
+ export const PostDisapprovalSchema = {
2470
+ type: 'object',
2471
+ required: [
2472
+ 'id',
2473
+ 'user_id',
2474
+ 'post_id',
2475
+ 'reason',
2476
+ 'message',
2477
+ 'created_at',
2478
+ 'updated_at'
2479
+ ],
2480
+ properties: {
2481
+ id: {
2482
+ type: 'integer'
2483
+ },
2484
+ user_id: {
2485
+ type: 'integer'
2486
+ },
2487
+ post_id: {
2488
+ type: 'integer'
2489
+ },
2490
+ reason: {
2491
+ type: 'string',
2492
+ enum: [
2493
+ 'borderline_quality',
2494
+ 'borderline_relevancy',
2495
+ 'other'
2496
+ ]
2497
+ },
2498
+ message: {
2499
+ type: 'string',
2500
+ nullable: true
2501
+ },
2502
+ created_at: {
2503
+ type: 'string',
2504
+ format: 'date-time'
2505
+ },
2506
+ updated_at: {
2507
+ type: 'string',
2508
+ format: 'date-time'
2509
+ }
2510
+ }
2511
+ };
2512
+ export const PostEventSchema = {
2513
+ type: 'object',
2514
+ required: [
2515
+ 'id',
2516
+ 'creator_id',
2517
+ 'post_id',
2518
+ 'action',
2519
+ 'created_at'
2520
+ ],
2521
+ properties: {
2522
+ id: {
2523
+ type: 'integer'
2524
+ },
2525
+ creator_id: {
2526
+ type: 'integer',
2527
+ nullable: true
2528
+ },
2529
+ post_id: {
2530
+ type: 'integer'
2531
+ },
2532
+ action: {
2533
+ $ref: '#/components/schemas/PostEventActions'
2534
+ },
2535
+ created_at: {
2536
+ type: 'string',
2537
+ format: 'date-time'
2538
+ }
2539
+ }
2540
+ };
2541
+ export const PostFlagSchema = {
2542
+ type: 'object',
2543
+ required: [
2544
+ 'id',
2545
+ 'created_at',
2546
+ 'post_id',
2547
+ 'reason',
2548
+ 'is_resolved',
2549
+ 'updated_at',
2550
+ 'is_deletion',
2551
+ 'type'
2552
+ ],
2553
+ properties: {
2554
+ id: {
2555
+ type: 'integer'
2556
+ },
2557
+ created_at: {
2558
+ type: 'string',
2559
+ format: 'date-time'
2560
+ },
2561
+ post_id: {
2562
+ type: 'integer'
2563
+ },
2564
+ reason: {
2565
+ type: 'string'
2566
+ },
2567
+ creator_id: {
2568
+ type: 'integer',
2569
+ description: 'Only visible to creator and Janitor+',
2570
+ nullable: true
2571
+ },
2572
+ is_resolved: {
2573
+ type: 'boolean'
2574
+ },
2575
+ updated_at: {
2576
+ type: 'string',
2577
+ format: 'date-time'
2578
+ },
2579
+ is_deletion: {
2580
+ type: 'boolean'
2581
+ },
2582
+ type: {
2583
+ type: 'string',
2584
+ enum: [
2585
+ 'flag',
2586
+ 'deletion'
2587
+ ]
2588
+ },
2589
+ note: {
2590
+ type: 'string',
2591
+ description: 'Only visible to creator and Janitor+',
2592
+ nullable: true
2593
+ }
2594
+ }
2595
+ };
2596
+ export const PostReplacementSchema = {
2597
+ type: 'object',
2598
+ required: [
2599
+ 'id',
2600
+ 'created_at',
2601
+ 'updated_at',
2602
+ 'post_id',
2603
+ 'creator_id',
2604
+ 'approver_id',
2605
+ 'file_ext',
2606
+ 'file_size',
2607
+ 'image_height',
2608
+ 'image_width',
2609
+ 'md5',
2610
+ 'source',
2611
+ 'file_name',
2612
+ 'status',
2613
+ 'reason'
2614
+ ],
2615
+ properties: {
2616
+ id: {
2617
+ type: 'integer'
2618
+ },
2619
+ created_at: {
2620
+ type: 'string',
2621
+ format: 'date-time'
2622
+ },
2623
+ updated_at: {
2624
+ type: 'string',
2625
+ format: 'date-time'
2626
+ },
2627
+ post_id: {
2628
+ type: 'integer'
2629
+ },
2630
+ creator_id: {
2631
+ type: 'integer'
2632
+ },
2633
+ approver_id: {
2634
+ type: 'integer',
2635
+ nullable: true
2636
+ },
2637
+ file_ext: {
2638
+ type: 'string'
2639
+ },
2640
+ file_size: {
2641
+ type: 'integer',
2642
+ format: 'int64'
2643
+ },
2644
+ image_height: {
2645
+ type: 'integer'
2646
+ },
2647
+ image_width: {
2648
+ type: 'integer'
2649
+ },
2650
+ md5: {
2651
+ type: 'string'
2652
+ },
2653
+ source: {
2654
+ type: 'string'
2655
+ },
2656
+ file_name: {
2657
+ type: 'string'
2658
+ },
2659
+ status: {
2660
+ type: 'string',
2661
+ enum: [
2662
+ 'prompted',
2663
+ 'approved',
2664
+ 'rejected',
2665
+ 'pending',
2666
+ 'original'
2667
+ ]
2668
+ },
2669
+ reason: {
2670
+ type: 'string'
2671
+ }
2672
+ }
2673
+ };
2674
+ export const PostSampleAlternateSchema = {
2675
+ type: 'object',
2676
+ required: [
2677
+ 'fps',
2678
+ 'codec',
2679
+ 'size',
2680
+ 'width',
2681
+ 'height',
2682
+ 'url'
2683
+ ],
2684
+ properties: {
2685
+ fps: {
2686
+ type: 'number',
2687
+ format: 'float'
2688
+ },
2689
+ codec: {
2690
+ type: 'string'
2691
+ },
2692
+ size: {
2693
+ type: 'integer',
2694
+ format: 'int64'
2695
+ },
2696
+ width: {
2697
+ type: 'integer'
2698
+ },
2699
+ height: {
2700
+ type: 'integer'
2701
+ },
2702
+ url: {
2703
+ type: 'string',
2704
+ format: 'uri'
2705
+ }
2706
+ }
2707
+ };
2708
+ export const PostSetSchema = {
2709
+ type: 'object',
2710
+ required: [
2711
+ 'id',
2712
+ 'created_at',
2713
+ 'updated_at',
2714
+ 'creator_id',
2715
+ 'is_public',
2716
+ 'name',
2717
+ 'shortname',
2718
+ 'description',
2719
+ 'transfer_on_delete',
2720
+ 'post_ids',
2721
+ 'post_count'
2722
+ ],
2723
+ properties: {
2724
+ id: {
2725
+ type: 'integer'
2726
+ },
2727
+ created_at: {
2728
+ type: 'string',
2729
+ format: 'date-time'
2730
+ },
2731
+ updated_at: {
2732
+ type: 'string',
2733
+ format: 'date-time'
2734
+ },
2735
+ creator_id: {
2736
+ type: 'integer'
2737
+ },
2738
+ is_public: {
2739
+ type: 'boolean'
2740
+ },
2741
+ name: {
2742
+ type: 'string'
2743
+ },
2744
+ shortname: {
2745
+ type: 'string'
2746
+ },
2747
+ description: {
2748
+ type: 'string'
2749
+ },
2750
+ post_count: {
2751
+ type: 'integer'
2752
+ },
2753
+ transfer_on_delete: {
2754
+ type: 'boolean'
2755
+ },
2756
+ post_ids: {
2757
+ type: 'array',
2758
+ items: {
2759
+ type: 'integer'
2760
+ }
2761
+ }
2762
+ }
2763
+ };
2764
+ export const PostVersionSchema = {
2765
+ type: 'object',
2766
+ required: [
2767
+ 'id',
2768
+ 'post_id',
2769
+ 'tags',
2770
+ 'updater_id',
2771
+ 'updated_at',
2772
+ 'rating',
2773
+ 'parent_id',
2774
+ 'source',
2775
+ 'description',
2776
+ 'reason',
2777
+ 'locked_tags',
2778
+ 'added_tags',
2779
+ 'removed_tags',
2780
+ 'added_locked_tags',
2781
+ 'removed_locked_tags',
2782
+ 'rating_changed',
2783
+ 'parent_changed',
2784
+ 'source_changed',
2785
+ 'description_changed',
2786
+ 'version',
2787
+ 'obsolete_added_tags',
2788
+ 'obsolete_removed_tags',
2789
+ 'unchanged_tags',
2790
+ 'updater_name',
2791
+ 'is_hidden'
2792
+ ],
2793
+ properties: {
2794
+ id: {
2795
+ type: 'integer'
2796
+ },
2797
+ post_id: {
2798
+ type: 'integer'
2799
+ },
2800
+ tags: {
2801
+ type: 'string'
2802
+ },
2803
+ updater_id: {
2804
+ type: 'integer'
2805
+ },
2806
+ updated_at: {
2807
+ type: 'string',
2808
+ format: 'date-time'
2809
+ },
2810
+ rating: {
2811
+ $ref: '#/components/schemas/Ratings'
2812
+ },
2813
+ parent_id: {
2814
+ type: 'integer',
2815
+ nullable: true
2816
+ },
2817
+ source: {
2818
+ type: 'string'
2819
+ },
2820
+ description: {
2821
+ type: 'string'
2822
+ },
2823
+ reason: {
2824
+ type: 'string',
2825
+ nullable: true
2826
+ },
2827
+ locked_tags: {
2828
+ type: 'string',
2829
+ nullable: true
2830
+ },
2831
+ added_tags: {
2832
+ type: 'array',
2833
+ items: {
2834
+ type: 'string'
2835
+ }
2836
+ },
2837
+ removed_tags: {
2838
+ type: 'array',
2839
+ items: {
2840
+ type: 'string'
2841
+ }
2842
+ },
2843
+ added_locked_tags: {
2844
+ type: 'array',
2845
+ items: {
2846
+ type: 'string'
2847
+ }
2848
+ },
2849
+ removed_locked_tags: {
2850
+ type: 'array',
2851
+ items: {
2852
+ type: 'string'
2853
+ }
2854
+ },
2855
+ rating_changed: {
2856
+ type: 'boolean'
2857
+ },
2858
+ parent_changed: {
2859
+ type: 'boolean'
2860
+ },
2861
+ source_changed: {
2862
+ type: 'boolean'
2863
+ },
2864
+ description_changed: {
2865
+ type: 'boolean'
2866
+ },
2867
+ version: {
2868
+ type: 'number'
2869
+ },
2870
+ obsolete_added_tags: {
2871
+ type: 'string'
2872
+ },
2873
+ obsolete_removed_tags: {
2874
+ type: 'string'
2875
+ },
2876
+ unchanged_tags: {
2877
+ type: 'string'
2878
+ },
2879
+ updater_name: {
2880
+ type: 'string'
2881
+ },
2882
+ is_hidden: {
2883
+ type: 'boolean'
2884
+ }
2885
+ }
2886
+ };
2887
+ export const RelatedTagSchema = {
2888
+ type: 'object',
2889
+ required: [
2890
+ 'name',
2891
+ 'category_id'
2892
+ ],
2893
+ properties: {
2894
+ name: {
2895
+ type: 'string'
2896
+ },
2897
+ category_id: {
2898
+ $ref: '#/components/schemas/TagCategories'
2899
+ }
2900
+ }
2901
+ };
2902
+ export const StaffNoteSchema = {
2903
+ type: 'object',
2904
+ required: [
2905
+ 'id',
2906
+ 'created_at',
2907
+ 'updated_at',
2908
+ 'user_id',
2909
+ 'creator_id',
2910
+ 'body',
2911
+ 'is_deleted',
2912
+ 'updater_id'
2913
+ ],
2914
+ properties: {
2915
+ id: {
2916
+ type: 'integer'
2917
+ },
2918
+ created_at: {
2919
+ type: 'string',
2920
+ format: 'date-time'
2921
+ },
2922
+ updated_at: {
2923
+ type: 'string',
2924
+ format: 'date-time'
2925
+ },
2926
+ user_id: {
2927
+ type: 'integer'
2928
+ },
2929
+ creator_id: {
2930
+ type: 'integer'
2931
+ },
2932
+ body: {
2933
+ type: 'string'
2934
+ },
2935
+ is_deleted: {
2936
+ type: 'boolean'
2937
+ },
2938
+ updater_id: {
2939
+ type: 'integer'
2940
+ }
2941
+ }
2942
+ };
2943
+ export const TagSchema = {
2944
+ type: 'object',
2945
+ required: [
2946
+ 'id',
2947
+ 'name',
2948
+ 'post_count',
2949
+ 'related_tags',
2950
+ 'related_tags_updated_at',
2951
+ 'category',
2952
+ 'is_locked',
2953
+ 'created_at',
2954
+ 'updated_at'
2955
+ ],
2956
+ properties: {
2957
+ id: {
2958
+ type: 'integer'
2959
+ },
2960
+ name: {
2961
+ type: 'string'
2962
+ },
2963
+ post_count: {
2964
+ type: 'integer'
2965
+ },
2966
+ related_tags: {
2967
+ type: 'array',
2968
+ items: {
2969
+ type: 'string'
2970
+ }
2971
+ },
2972
+ related_tags_updated_at: {
2973
+ type: 'string',
2974
+ nullable: true,
2975
+ format: 'date-time'
2976
+ },
2977
+ category: {
2978
+ $ref: '#/components/schemas/TagCategories'
2979
+ },
2980
+ is_locked: {
2981
+ type: 'boolean'
2982
+ },
2983
+ created_at: {
2984
+ type: 'string',
2985
+ format: 'date-time'
2986
+ },
2987
+ updated_at: {
2988
+ type: 'string',
2989
+ format: 'date-time'
2990
+ }
2991
+ }
2992
+ };
2993
+ export const TagAliasSchema = {
2994
+ type: 'object',
2995
+ required: [
2996
+ 'id',
2997
+ 'antecedent_name',
2998
+ 'reason',
2999
+ 'creator_id',
3000
+ 'created_at',
3001
+ 'forum_post_id',
3002
+ 'updated_at',
3003
+ 'forum_topic_id',
3004
+ 'consequent_name',
3005
+ 'status',
3006
+ 'post_count',
3007
+ 'approver_id'
3008
+ ],
3009
+ properties: {
3010
+ id: {
3011
+ type: 'integer'
3012
+ },
3013
+ antecedent_name: {
3014
+ type: 'string'
3015
+ },
3016
+ reason: {
3017
+ type: 'string'
3018
+ },
3019
+ creator_id: {
3020
+ type: 'integer'
3021
+ },
3022
+ created_at: {
3023
+ type: 'string',
3024
+ nullable: true,
3025
+ format: 'date-time'
3026
+ },
3027
+ forum_post_id: {
3028
+ type: 'integer',
3029
+ nullable: true
3030
+ },
3031
+ updated_at: {
3032
+ type: 'string',
3033
+ nullable: true,
3034
+ format: 'date-time'
3035
+ },
3036
+ forum_topic_id: {
3037
+ type: 'integer',
3038
+ nullable: true
3039
+ },
3040
+ consequent_name: {
3041
+ type: 'string'
3042
+ },
3043
+ status: {
3044
+ $ref: '#/components/schemas/TagRequestStatuses'
3045
+ },
3046
+ post_count: {
3047
+ type: 'integer'
3048
+ },
3049
+ approver_id: {
3050
+ type: 'integer',
3051
+ nullable: true
3052
+ }
3053
+ }
3054
+ };
3055
+ export const TagImplicationSchema = {
3056
+ type: 'object',
3057
+ required: [
3058
+ 'id',
3059
+ 'reason',
3060
+ 'creator_id',
3061
+ 'created_at',
3062
+ 'forum_post_id',
3063
+ 'antecedent_name',
3064
+ 'consequent_name',
3065
+ 'status',
3066
+ 'forum_topic_id',
3067
+ 'updated_at',
3068
+ 'descendant_names',
3069
+ 'approver_id'
3070
+ ],
3071
+ properties: {
3072
+ id: {
3073
+ type: 'integer'
3074
+ },
3075
+ reason: {
3076
+ type: 'string'
3077
+ },
3078
+ creator_id: {
3079
+ type: 'integer'
3080
+ },
3081
+ created_at: {
3082
+ type: 'string',
3083
+ format: 'date-time'
3084
+ },
3085
+ forum_post_id: {
3086
+ type: 'integer',
3087
+ nullable: true
3088
+ },
3089
+ antecedent_name: {
3090
+ type: 'string'
3091
+ },
3092
+ consequent_name: {
3093
+ type: 'string'
3094
+ },
3095
+ status: {
3096
+ $ref: '#/components/schemas/TagRequestStatuses'
3097
+ },
3098
+ forum_topic_id: {
3099
+ type: 'integer',
3100
+ nullable: true
3101
+ },
3102
+ updated_at: {
3103
+ type: 'string',
3104
+ format: 'date-time'
3105
+ },
3106
+ descendant_names: {
3107
+ type: 'array',
3108
+ items: {
3109
+ type: 'string'
3110
+ }
3111
+ },
3112
+ approver_id: {
3113
+ type: 'integer',
3114
+ nullable: true
3115
+ }
3116
+ }
3117
+ };
3118
+ export const TagPreviewSchema = {
3119
+ type: 'object',
3120
+ required: [
3121
+ 'name'
3122
+ ],
3123
+ properties: {
3124
+ id: {
3125
+ type: 'integer'
3126
+ },
3127
+ name: {
3128
+ type: 'string'
3129
+ },
3130
+ resolved: {
3131
+ type: 'string'
3132
+ },
3133
+ category: {
3134
+ $ref: '#/components/schemas/TagCategories'
3135
+ },
3136
+ post_count: {
3137
+ type: 'integer'
3138
+ },
3139
+ alias: {
3140
+ type: 'string'
3141
+ },
3142
+ implies: {
3143
+ type: 'array',
3144
+ items: {
3145
+ type: 'string'
3146
+ }
3147
+ }
3148
+ }
3149
+ };
3150
+ export const TagTypeVersionSchema = {
3151
+ type: 'object',
3152
+ required: [
3153
+ 'id',
3154
+ 'created_at',
3155
+ 'updated_at',
3156
+ 'old_type',
3157
+ 'new_type',
3158
+ 'is_locked',
3159
+ 'tag_id',
3160
+ 'creator_id'
3161
+ ],
3162
+ properties: {
3163
+ id: {
3164
+ type: 'integer'
3165
+ },
3166
+ created_at: {
3167
+ type: 'string',
3168
+ format: 'date-time'
3169
+ },
3170
+ updated_at: {
3171
+ type: 'string',
3172
+ format: 'date-time'
3173
+ },
3174
+ old_type: {
3175
+ $ref: '#/components/schemas/TagCategories'
3176
+ },
3177
+ new_type: {
3178
+ $ref: '#/components/schemas/TagCategories'
3179
+ },
3180
+ is_locked: {
3181
+ type: 'boolean'
3182
+ },
3183
+ tag_id: {
3184
+ type: 'integer'
3185
+ },
3186
+ creator_id: {
3187
+ type: 'integer'
3188
+ }
3189
+ }
3190
+ };
3191
+ export const TakedownSchema = {
3192
+ type: 'object',
3193
+ required: [
3194
+ 'id',
3195
+ 'status',
3196
+ 'approver_id',
3197
+ 'reason_hidden',
3198
+ 'created_at',
3199
+ 'updated_at',
3200
+ 'post_count'
3201
+ ],
3202
+ properties: {
3203
+ id: {
3204
+ type: 'integer'
3205
+ },
3206
+ status: {
3207
+ type: 'string',
3208
+ enum: [
3209
+ 'approved',
3210
+ 'denied',
3211
+ 'partial',
3212
+ 'pending'
3213
+ ]
3214
+ },
3215
+ approver_id: {
3216
+ type: 'integer',
3217
+ nullable: true
3218
+ },
3219
+ reason_hidden: {
3220
+ type: 'boolean'
3221
+ },
3222
+ created_at: {
3223
+ type: 'string',
3224
+ format: 'date-time'
3225
+ },
3226
+ updated_at: {
3227
+ type: 'string',
3228
+ format: 'date-time'
3229
+ },
3230
+ post_count: {
3231
+ type: 'integer'
3232
+ }
3233
+ }
3234
+ };
3235
+ export const TicketSchema = {
3236
+ type: 'object',
3237
+ required: [
3238
+ 'id',
3239
+ 'creator_id',
3240
+ 'reason',
3241
+ 'disp_id',
3242
+ 'qtype',
3243
+ 'status',
3244
+ 'created_at',
3245
+ 'updated_at',
3246
+ 'response',
3247
+ 'handler_id',
3248
+ 'report_reason',
3249
+ 'accused_id'
3250
+ ],
3251
+ properties: {
3252
+ id: {
3253
+ type: 'integer'
3254
+ },
3255
+ creator_id: {
3256
+ type: 'integer'
3257
+ },
3258
+ reason: {
3259
+ type: 'string'
3260
+ },
3261
+ disp_id: {
3262
+ type: 'number'
3263
+ },
3264
+ qtype: {
3265
+ $ref: '#/components/schemas/TicketTypes'
3266
+ },
3267
+ status: {
3268
+ $ref: '#/components/schemas/TicketStatuses'
3269
+ },
3270
+ created_at: {
3271
+ type: 'string',
3272
+ format: 'date-time'
3273
+ },
3274
+ updated_at: {
3275
+ type: 'string',
3276
+ format: 'date-time'
3277
+ },
3278
+ response: {
3279
+ type: 'string'
3280
+ },
3281
+ handler_id: {
3282
+ type: 'integer',
3283
+ nullable: true
3284
+ },
3285
+ claimant_id: {
3286
+ type: 'integer',
3287
+ nullable: true,
3288
+ description: 'Only visible to Moderator+.'
3289
+ },
3290
+ report_reason: {
3291
+ type: 'string',
3292
+ nullable: true
3293
+ },
3294
+ accused_id: {
3295
+ type: 'integer',
3296
+ nullable: true
3297
+ }
3298
+ }
3299
+ };
3300
+ export const UploadWhitelistSchema = {
3301
+ type: 'object',
3302
+ required: [
3303
+ 'id',
3304
+ 'created_at',
3305
+ 'updated_at',
3306
+ 'pattern',
3307
+ 'note',
3308
+ 'hidden',
3309
+ 'allowed',
3310
+ 'reason',
3311
+ 'domain',
3312
+ 'path'
3313
+ ],
3314
+ properties: {
3315
+ id: {
3316
+ type: 'integer'
3317
+ },
3318
+ created_at: {
3319
+ type: 'string',
3320
+ format: 'date-time'
3321
+ },
3322
+ updated_at: {
3323
+ type: 'string',
3324
+ format: 'date-time'
3325
+ },
3326
+ pattern: {
3327
+ type: 'string'
3328
+ },
3329
+ note: {
3330
+ type: 'string'
3331
+ },
3332
+ hidden: {
3333
+ type: 'boolean'
3334
+ },
3335
+ allowed: {
3336
+ type: 'boolean'
3337
+ },
3338
+ reason: {
3339
+ type: 'string'
3340
+ },
3341
+ domain: {
3342
+ type: 'string'
3343
+ },
3344
+ path: {
3345
+ type: 'string'
3346
+ }
3347
+ }
3348
+ };
3349
+ export const UploadSchema = {
3350
+ type: 'object',
3351
+ required: [
3352
+ 'id',
3353
+ 'source',
3354
+ 'rating',
3355
+ 'uploader_id',
3356
+ 'tag_string',
3357
+ 'status',
3358
+ 'backtrace',
3359
+ 'post_id',
3360
+ 'md5_confirmation',
3361
+ 'created_at',
3362
+ 'updated_at',
3363
+ 'parent_id',
3364
+ 'md5',
3365
+ 'file_ext',
3366
+ 'file_size',
3367
+ 'image_width',
3368
+ 'image_height',
3369
+ 'description',
3370
+ 'uploader_name'
3371
+ ],
3372
+ properties: {
3373
+ id: {
3374
+ type: 'integer'
3375
+ },
3376
+ source: {
3377
+ type: 'string'
3378
+ },
3379
+ rating: {
3380
+ $ref: '#/components/schemas/Ratings'
3381
+ },
3382
+ uploader_id: {
3383
+ type: 'integer'
3384
+ },
3385
+ tag_string: {
3386
+ type: 'string'
3387
+ },
3388
+ status: {
3389
+ type: 'string',
3390
+ description: 'Note: The "error" status will be proceeded by an error, ex: "error: RuntimeError - No file or source URL provided"\n',
3391
+ enum: [
3392
+ 'completed',
3393
+ 'duplicate',
3394
+ 'error',
3395
+ 'processing',
3396
+ 'pending'
3397
+ ]
3398
+ },
3399
+ backtrace: {
3400
+ type: 'string',
3401
+ nullable: true
3402
+ },
3403
+ post_id: {
3404
+ type: 'integer',
3405
+ nullable: true
3406
+ },
3407
+ md5_confirmation: {
3408
+ type: 'string',
3409
+ nullable: true,
3410
+ deprecated: true
3411
+ },
3412
+ created_at: {
3413
+ type: 'string',
3414
+ format: 'date-time'
3415
+ },
3416
+ updated_at: {
3417
+ type: 'string',
3418
+ format: 'date-time'
3419
+ },
3420
+ parent_id: {
3421
+ type: 'integer',
3422
+ nullable: true
3423
+ },
3424
+ md5: {
3425
+ type: 'string',
3426
+ nullable: true
3427
+ },
3428
+ file_ext: {
3429
+ type: 'string',
3430
+ nullable: true
3431
+ },
3432
+ file_size: {
3433
+ type: 'integer',
3434
+ nullable: true
3435
+ },
3436
+ image_width: {
3437
+ type: 'integer',
3438
+ nullable: true
3439
+ },
3440
+ image_height: {
3441
+ type: 'integer',
3442
+ nullable: true
3443
+ },
3444
+ description: {
3445
+ type: 'string'
3446
+ },
3447
+ uploader_name: {
3448
+ type: 'string'
3449
+ }
3450
+ }
3451
+ };
3452
+ export const UserSchema = {
3453
+ type: 'object',
3454
+ required: [
3455
+ 'id',
3456
+ 'created_at',
3457
+ 'name',
3458
+ 'level',
3459
+ 'base_upload_limit',
3460
+ 'post_upload_count',
3461
+ 'post_update_count',
3462
+ 'note_update_count',
3463
+ 'is_banned',
3464
+ 'can_approve_posts',
3465
+ 'can_upload_free',
3466
+ 'level_string',
3467
+ 'avatar_id'
3468
+ ],
3469
+ properties: {
3470
+ id: {
3471
+ type: 'integer'
3472
+ },
3473
+ created_at: {
3474
+ type: 'string',
3475
+ format: 'date-time'
3476
+ },
3477
+ name: {
3478
+ type: 'string'
3479
+ },
3480
+ level: {
3481
+ type: 'integer'
3482
+ },
3483
+ base_upload_limit: {
3484
+ type: 'integer'
3485
+ },
3486
+ post_upload_count: {
3487
+ type: 'integer'
3488
+ },
3489
+ post_update_count: {
3490
+ type: 'integer'
3491
+ },
3492
+ note_update_count: {
3493
+ type: 'integer'
3494
+ },
3495
+ is_banned: {
3496
+ type: 'boolean'
3497
+ },
3498
+ can_approve_posts: {
3499
+ type: 'boolean'
3500
+ },
3501
+ can_upload_free: {
3502
+ type: 'boolean'
3503
+ },
3504
+ level_string: {
3505
+ type: 'string'
3506
+ },
3507
+ avatar_id: {
3508
+ type: 'integer',
3509
+ nullable: true
3510
+ },
3511
+ is_verified: {
3512
+ type: 'boolean'
3513
+ }
3514
+ }
3515
+ };
3516
+ export const UserFeedbackSchema = {
3517
+ type: 'object',
3518
+ required: [
3519
+ 'id',
3520
+ 'user_id',
3521
+ 'creator_id',
3522
+ 'category',
3523
+ 'body',
3524
+ 'created_at',
3525
+ 'updated_at',
3526
+ 'updater_id',
3527
+ 'is_deleted'
3528
+ ],
3529
+ properties: {
3530
+ id: {
3531
+ type: 'integer'
3532
+ },
3533
+ user_id: {
3534
+ type: 'integer'
3535
+ },
3536
+ creator_id: {
3537
+ type: 'integer'
3538
+ },
3539
+ category: {
3540
+ $ref: '#/components/schemas/FeedbackCategories'
3541
+ },
3542
+ body: {
3543
+ type: 'string'
3544
+ },
3545
+ created_at: {
3546
+ type: 'string',
3547
+ format: 'date-time'
3548
+ },
3549
+ updated_at: {
3550
+ type: 'string',
3551
+ format: 'date-time'
3552
+ },
3553
+ updater_id: {
3554
+ type: 'integer'
3555
+ },
3556
+ is_deleted: {
3557
+ type: 'boolean'
3558
+ }
3559
+ }
3560
+ };
3561
+ export const UserNameChangeRequestSchema = {
3562
+ type: 'object',
3563
+ required: [
3564
+ 'id',
3565
+ 'approver_id',
3566
+ 'user_id',
3567
+ 'original_name',
3568
+ 'desired_name',
3569
+ 'created_at',
3570
+ 'updated_at',
3571
+ 'status'
3572
+ ],
3573
+ properties: {
3574
+ id: {
3575
+ type: 'integer'
3576
+ },
3577
+ approver_id: {
3578
+ type: 'integer'
3579
+ },
3580
+ user_id: {
3581
+ type: 'integer'
3582
+ },
3583
+ original_name: {
3584
+ type: 'string'
3585
+ },
3586
+ desired_name: {
3587
+ type: 'string'
3588
+ },
3589
+ change_reason: {
3590
+ type: 'string'
3591
+ },
3592
+ created_at: {
3593
+ type: 'string',
3594
+ format: 'date-time'
3595
+ },
3596
+ updated_at: {
3597
+ type: 'string',
3598
+ format: 'date-time'
3599
+ },
3600
+ status: {
3601
+ type: 'string',
3602
+ enum: [
3603
+ 'approved'
3604
+ ]
3605
+ }
3606
+ }
3607
+ };
3608
+ export const WikiPageSchema = {
3609
+ type: 'object',
3610
+ required: [
3611
+ 'id',
3612
+ 'created_at',
3613
+ 'updated_at',
3614
+ 'title',
3615
+ 'body',
3616
+ 'creator_id',
3617
+ 'is_locked',
3618
+ 'updater_id',
3619
+ 'is_deleted',
3620
+ 'other_names',
3621
+ 'parent',
3622
+ 'creator_name',
3623
+ 'category_id'
3624
+ ],
3625
+ properties: {
3626
+ id: {
3627
+ type: 'integer'
3628
+ },
3629
+ created_at: {
3630
+ type: 'string',
3631
+ format: 'date-time'
3632
+ },
3633
+ updated_at: {
3634
+ type: 'string',
3635
+ format: 'date-time'
3636
+ },
3637
+ title: {
3638
+ type: 'string'
3639
+ },
3640
+ body: {
3641
+ type: 'string'
3642
+ },
3643
+ creator_id: {
3644
+ type: 'integer'
3645
+ },
3646
+ is_locked: {
3647
+ type: 'boolean'
3648
+ },
3649
+ updater_id: {
3650
+ type: 'integer'
3651
+ },
3652
+ is_deleted: {
3653
+ type: 'boolean'
3654
+ },
3655
+ other_names: {
3656
+ type: 'array',
3657
+ items: {
3658
+ type: 'string'
3659
+ }
3660
+ },
3661
+ parent: {
3662
+ type: 'string',
3663
+ nullable: true
3664
+ },
3665
+ creator_name: {
3666
+ type: 'string'
3667
+ },
3668
+ category_id: {
3669
+ $ref: '#/components/schemas/TagCategories'
3670
+ }
3671
+ }
3672
+ };
3673
+ export const WikiPageVersionSchema = {
3674
+ type: 'object',
3675
+ required: [
3676
+ 'id',
3677
+ 'created_at',
3678
+ 'updated_at',
3679
+ 'title',
3680
+ 'body',
3681
+ 'updater_id',
3682
+ 'wiki_page_id',
3683
+ 'is_locked',
3684
+ 'other_names',
3685
+ 'is_deleted',
3686
+ 'reason',
3687
+ 'parent'
3688
+ ],
3689
+ properties: {
3690
+ id: {
3691
+ type: 'integer'
3692
+ },
3693
+ created_at: {
3694
+ type: 'string',
3695
+ format: 'date-time'
3696
+ },
3697
+ updated_at: {
3698
+ type: 'string',
3699
+ format: 'date-time'
3700
+ },
3701
+ title: {
3702
+ type: 'string'
3703
+ },
3704
+ body: {
3705
+ type: 'string'
3706
+ },
3707
+ updater_id: {
3708
+ type: 'integer'
3709
+ },
3710
+ wiki_page_id: {
3711
+ type: 'integer'
3712
+ },
3713
+ is_locked: {
3714
+ type: 'boolean'
3715
+ },
3716
+ other_names: {
3717
+ type: 'array',
3718
+ items: {
3719
+ type: 'string'
3720
+ }
3721
+ },
3722
+ is_deleted: {
3723
+ type: 'boolean'
3724
+ },
3725
+ reason: {
3726
+ type: 'string',
3727
+ nullable: true
3728
+ },
3729
+ parent: {
3730
+ type: 'string',
3731
+ nullable: true
3732
+ }
3733
+ }
3734
+ };
3735
+ export const ApiKeySchema = {
3736
+ type: 'object',
3737
+ required: [
3738
+ 'id',
3739
+ 'created_at',
3740
+ 'updated_at',
3741
+ 'user_id',
3742
+ 'key',
3743
+ 'name',
3744
+ 'last_used_at',
3745
+ 'last_used_ip_address',
3746
+ 'last_user_agent',
3747
+ 'expires_at',
3748
+ 'notified_at'
3749
+ ],
3750
+ properties: {
3751
+ id: {
3752
+ type: 'integer'
3753
+ },
3754
+ updated_at: {
3755
+ type: 'string',
3756
+ format: 'date-time'
3757
+ },
3758
+ created_at: {
3759
+ type: 'string',
3760
+ format: 'date-time'
3761
+ },
3762
+ user_id: {
3763
+ type: 'integer'
3764
+ },
3765
+ key: {
3766
+ type: 'string'
3767
+ },
3768
+ name: {
3769
+ type: 'string'
3770
+ },
3771
+ last_used_at: {
3772
+ type: 'string',
3773
+ format: 'date-time',
3774
+ nullable: true
3775
+ },
3776
+ last_used_ip_address: {
3777
+ oneOf: [
3778
+ {
3779
+ type: 'string',
3780
+ format: 'ipv4',
3781
+ nullable: true
3782
+ },
3783
+ {
3784
+ type: 'string',
3785
+ format: 'ipv6',
3786
+ nullable: true
3787
+ }
3788
+ ]
3789
+ },
3790
+ last_user_agent: {
3791
+ type: 'string',
3792
+ nullable: true
3793
+ },
3794
+ expires_at: {
3795
+ type: 'string',
3796
+ format: 'date-time',
3797
+ nullable: true
3798
+ },
3799
+ notified_at: {
3800
+ type: 'string',
3801
+ format: 'date-time',
3802
+ nullable: true
3803
+ }
3804
+ }
3805
+ };
3806
+ export const EditHistorySchema = {
3807
+ type: 'object',
3808
+ required: [
3809
+ 'id',
3810
+ 'created_at',
3811
+ 'updated_at',
3812
+ 'body',
3813
+ 'subject',
3814
+ 'versionable_type',
3815
+ 'versionable_id',
3816
+ 'version',
3817
+ 'user_id'
3818
+ ],
3819
+ properties: {
3820
+ id: {
3821
+ type: 'integer'
3822
+ },
3823
+ created_at: {
3824
+ type: 'string',
3825
+ format: 'date-time'
3826
+ },
3827
+ updated_at: {
3828
+ type: 'string',
3829
+ format: 'date-time'
3830
+ },
3831
+ body: {
3832
+ type: 'string'
3833
+ },
3834
+ subject: {
3835
+ type: 'string',
3836
+ nullable: true
3837
+ },
3838
+ versionable_type: {
3839
+ type: 'string',
3840
+ enum: [
3841
+ 'Blip',
3842
+ 'Comment',
3843
+ 'ForumPost'
3844
+ ]
3845
+ },
3846
+ versionable_id: {
3847
+ type: 'integer'
3848
+ },
3849
+ version: {
3850
+ type: 'integer'
3851
+ },
3852
+ user_id: {
3853
+ type: 'integer'
3854
+ }
3855
+ }
3856
+ };
3857
+ export const UserAvatarMenuSchema = {
3858
+ type: 'object',
3859
+ required: [
3860
+ 'has_uploads',
3861
+ 'has_favorites',
3862
+ 'has_sets',
3863
+ 'has_comments',
3864
+ 'has_forums'
3865
+ ],
3866
+ properties: {
3867
+ has_uploads: {
3868
+ type: 'boolean'
3869
+ },
3870
+ has_favorites: {
3871
+ type: 'boolean'
3872
+ },
3873
+ has_sets: {
3874
+ type: 'boolean'
3875
+ },
3876
+ has_comments: {
3877
+ type: 'boolean'
3878
+ },
3879
+ has_forums: {
3880
+ type: 'boolean'
3881
+ }
3882
+ }
3883
+ };
3884
+ export const TagCorrectionSchema = {
3885
+ type: 'object',
3886
+ required: [
3887
+ 'post_count',
3888
+ 'real_post_count',
3889
+ 'category',
3890
+ 'category_cache',
3891
+ 'tag'
3892
+ ],
3893
+ properties: {
3894
+ post_count: {
3895
+ type: 'integer'
3896
+ },
3897
+ real_post_count: {
3898
+ type: 'integer'
3899
+ },
3900
+ category: {
3901
+ $ref: '#/components/schemas/TagCategories'
3902
+ },
3903
+ category_cache: {
3904
+ $ref: '#/components/schemas/TagCategories'
3905
+ },
3906
+ tag: {
3907
+ $ref: '#/components/schemas/Tag'
3908
+ }
3909
+ }
3910
+ };
3911
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9nZW5lcmF0ZWQvc2NoZW1hcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxREFBcUQ7QUFFckQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUc7SUFDdEMsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixTQUFTO1FBQ1QsUUFBUTtLQUNYO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsT0FBTyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxNQUFNLEVBQUU7WUFDSixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRTtnQkFDRixlQUFlO2FBQ2xCO1NBQ0o7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNsQyxJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLFNBQVM7UUFDVCxRQUFRO0tBQ1g7SUFDRCxVQUFVLEVBQUU7UUFDUixPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELE1BQU0sRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1lBQ2QsSUFBSSxFQUFFO2dCQUNGLFdBQVc7YUFDZDtTQUNKO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDbkMsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixhQUFhO0tBQ2hCO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUU7Z0JBQ0YsUUFBUTtnQkFDUixLQUFLO2dCQUNMLFFBQVE7Z0JBQ1IsU0FBUzthQUNaO1NBQ0o7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNsQyxJQUFJLEVBQUUsUUFBUTtJQUNkLElBQUksRUFBRTtRQUNGLG9CQUFvQjtRQUNwQixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixzQkFBc0I7UUFDdEIsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0QixzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLHVCQUF1QjtRQUN2QixhQUFhO1FBQ2IsV0FBVztRQUNYLGFBQWE7UUFDYixhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLHVCQUF1QjtRQUN2Qix1QkFBdUI7UUFDdkIsdUJBQXVCO1FBQ3ZCLG1CQUFtQjtRQUNuQixpQkFBaUI7UUFDakIsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLG9CQUFvQjtRQUNwQixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLG1CQUFtQjtRQUNuQixxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLGFBQWE7UUFDYixhQUFhO1FBQ2IsYUFBYTtRQUNiLGVBQWU7UUFDZixlQUFlO1FBQ2YsZUFBZTtRQUNmLGVBQWU7UUFDZixlQUFlO1FBQ2YsYUFBYTtRQUNiLHNCQUFzQjtRQUN0QixzQkFBc0I7UUFDdEIsc0JBQXNCO1FBQ3RCLFlBQVk7UUFDWixZQUFZO1FBQ1osdUJBQXVCO1FBQ3ZCLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsd0JBQXdCO1FBQ3hCLHdCQUF3QjtRQUN4QixjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZix5QkFBeUI7UUFDekIseUJBQXlCO1FBQ3pCLHlCQUF5QjtRQUN6Qix3QkFBd0I7UUFDeEIsa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsVUFBVTtRQUNWLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0QixzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLHVCQUF1QjtRQUN2QixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLHNCQUFzQjtRQUN0QixtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQixxQkFBcUI7UUFDckIseUJBQXlCO1FBQ3pCLHdCQUF3QjtRQUN4Qix5QkFBeUI7UUFDekIscUJBQXFCO1FBQ3JCLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIscUJBQXFCO1FBQ3JCLGFBQWE7UUFDYixlQUFlO1FBQ2YsY0FBYztRQUNkLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIseUJBQXlCO1FBQ3pCLHlCQUF5QjtRQUN6Qix5QkFBeUI7S0FDNUI7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDbEMsSUFBSSxFQUFFLFFBQVE7SUFDZCxJQUFJLEVBQUU7UUFDRixTQUFTO1FBQ1QsV0FBVztRQUNYLFVBQVU7UUFDVixZQUFZO1FBQ1osY0FBYztRQUNkLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2IsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0QixzQkFBc0I7UUFDdEIscUJBQXFCO1FBQ3JCLFVBQVU7UUFDVixrQkFBa0I7UUFDbEIsNkJBQTZCO0tBQ2hDO0NBQ0ssQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUN6QixJQUFJLEVBQUUsUUFBUTtJQUNkLElBQUksRUFBRTtRQUNGLEdBQUc7UUFDSCxHQUFHO1FBQ0gsR0FBRztLQUNOO0NBQ0ssQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQy9CLElBQUksRUFBRSxTQUFTO0lBQ2YsSUFBSSxFQUFFO1FBQ0YsQ0FBQztRQUNELENBQUM7UUFDRCxDQUFDO1FBQ0QsQ0FBQztRQUNELENBQUM7UUFDRCxDQUFDO1FBQ0QsQ0FBQztRQUNELENBQUM7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUNwQyxJQUFJLEVBQUUsUUFBUTtJQUNkLElBQUksRUFBRTtRQUNGLFVBQVU7UUFDVixTQUFTO1FBQ1QsVUFBVTtLQUNiO0NBQ0ssQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHO0lBQ3BDLElBQUksRUFBRSxRQUFRO0lBQ2QsSUFBSSxFQUFFO1FBQ0YsUUFBUTtRQUNSLFNBQVM7UUFDVCxZQUFZO1FBQ1osUUFBUTtRQUNSLFNBQVM7UUFDVCxPQUFPO1FBQ1AsU0FBUztLQUNaO0NBQ0ssQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQzlCLElBQUksRUFBRSxRQUFRO0lBQ2QsSUFBSSxFQUFFO1FBQ0YsU0FBUztRQUNULFFBQVE7UUFDUixLQUFLO0tBQ1I7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUc7SUFDaEMsSUFBSSxFQUFFLFFBQVE7SUFDZCxJQUFJLEVBQUU7UUFDRixZQUFZO1FBQ1osUUFBUTtLQUNYO0NBQ0ssQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQzdCLElBQUksRUFBRSxRQUFRO0lBQ2QsSUFBSSxFQUFFO1FBQ0YsTUFBTTtRQUNOLFNBQVM7UUFDVCxPQUFPO1FBQ1AsT0FBTztRQUNQLE1BQU07UUFDTixNQUFNO1FBQ04sS0FBSztRQUNMLE1BQU07UUFDTixNQUFNO1FBQ04sYUFBYTtLQUNoQjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRztJQUNoQyxJQUFJLEVBQUUsUUFBUTtJQUNkLElBQUksRUFBRTtRQUNGLFNBQVM7UUFDVCxTQUFTO1FBQ1QsVUFBVTtLQUNiO0NBQ0ssQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUN4QixJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLElBQUk7UUFDSixNQUFNO1FBQ04sWUFBWTtRQUNaLFdBQVc7UUFDWCxhQUFhO1FBQ2IsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFDWCxPQUFPO1FBQ1AsTUFBTTtLQUNUO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsRUFBRSxFQUFFO1lBQ0EsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxJQUFJLEVBQUU7WUFDRixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxTQUFTLEVBQUU7WUFDUCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFdBQVcsRUFBRTtZQUNULElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFO2dCQUNILElBQUksRUFBRSxRQUFRO2FBQ2pCO1NBQ0o7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELGNBQWMsRUFBRTtZQUNaLElBQUksRUFBRSxTQUFTO1lBQ2YsUUFBUSxFQUFFLElBQUk7U0FDakI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxTQUFTLEVBQUU7WUFDUCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELEtBQUssRUFBRTtZQUNILElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDakI7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osV0FBVztRQUNYLEtBQUs7UUFDTCxnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLFlBQVk7UUFDWixXQUFXO0tBQ2Q7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsR0FBRyxFQUFFO1lBQ0QsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsS0FBSztTQUNoQjtRQUNELGNBQWMsRUFBRTtZQUNaLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLEtBQUs7U0FDaEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1NBQ2xCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDL0IsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osV0FBVztRQUNYLE1BQU07UUFDTixZQUFZO1FBQ1osWUFBWTtRQUNaLFlBQVk7UUFDWixXQUFXO1FBQ1gsYUFBYTtRQUNiLGVBQWU7UUFDZixNQUFNO0tBQ1Q7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsSUFBSSxFQUFFO1lBQ0YsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxXQUFXLEVBQUU7WUFDVCxJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsUUFBUTthQUNqQjtTQUNKO1FBQ0QsYUFBYSxFQUFFO1lBQ1gsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxJQUFJLEVBQUU7WUFDRixJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxNQUFNLEVBQUUsS0FBSzthQUNoQjtTQUNKO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDOUIsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osWUFBWTtRQUNaLFlBQVk7UUFDWixXQUFXO1FBQ1gsU0FBUztRQUNULFdBQVc7UUFDWCxZQUFZO1FBQ1osWUFBWTtLQUNmO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsRUFBRSxFQUFFO1lBQ0EsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxXQUFXLEVBQUU7WUFDVCxJQUFJLEVBQUUsUUFBUTtZQUNkLFdBQVcsRUFBRSwwQkFBMEI7U0FDMUM7UUFDRCxPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUNyQyxJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLElBQUk7UUFDSixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLFNBQVM7UUFDVCxXQUFXO1FBQ1gsWUFBWTtLQUNmO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsRUFBRSxFQUFFO1lBQ0EsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELGdCQUFnQixFQUFFO1lBQ2QsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFdBQVcsRUFBRTtZQUNULElBQUksRUFBRSxRQUFRO1lBQ2QsV0FBVyxFQUFFLDBCQUEwQjtTQUMxQztRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtLQUNKO0NBQ0ssQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUNyQixJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLElBQUk7UUFDSixTQUFTO1FBQ1QsUUFBUTtRQUNSLFlBQVk7UUFDWixXQUFXO1FBQ1gsWUFBWTtRQUNaLFlBQVk7S0FDZjtJQUNELFVBQVUsRUFBRTtRQUNSLEVBQUUsRUFBRTtZQUNBLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxNQUFNLEVBQUU7WUFDSixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7WUFDbkIsUUFBUSxFQUFFLElBQUk7U0FDakI7UUFDRCxTQUFTLEVBQUU7WUFDUCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3RCLElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFO1FBQ04sSUFBSTtRQUNKLFlBQVk7UUFDWixNQUFNO1FBQ04sYUFBYTtRQUNiLFlBQVk7UUFDWixZQUFZO1FBQ1osV0FBVztRQUNYLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsWUFBWTtRQUNaLGNBQWM7S0FDakI7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsSUFBSSxFQUFFO1lBQ0YsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxXQUFXLEVBQUU7WUFDVCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxZQUFZLEVBQUU7WUFDVixJQUFJLEVBQUUsbUNBQW1DO1NBQzVDO1FBQ0QsZUFBZSxFQUFFO1lBQ2IsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFlBQVksRUFBRTtZQUNWLElBQUksRUFBRSxRQUFRO1NBQ2pCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUc7SUFDaEMsS0FBSyxFQUFFO1FBQ0g7WUFDSSxJQUFJLEVBQUUsaUNBQWlDO1NBQzFDO1FBQ0Q7WUFDSSxJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRTtnQkFDTixPQUFPO2FBQ1Y7WUFDRCxVQUFVLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFO29CQUNILElBQUksRUFBRSxTQUFTO2lCQUNsQjthQUNKO1NBQ0o7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRztJQUNuQyxJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLElBQUk7UUFDSixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLFFBQVE7UUFDUixRQUFRO1FBQ1IsWUFBWTtRQUNaLFlBQVk7UUFDWixhQUFhO1FBQ2IsZUFBZTtRQUNmLE9BQU87S0FDVjtJQUNELFVBQVUsRUFBRTtRQUNSLEVBQUUsRUFBRTtZQUNBLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxjQUFjLEVBQUU7WUFDWixJQUFJLEVBQUUsU0FBUztZQUNmLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7WUFDZCxPQUFPLEVBQUU7Z0JBQ0wsY0FBYzthQUNqQjtTQUNKO1FBQ0QsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUU7Z0JBQ0YsVUFBVTtnQkFDVixVQUFVO2dCQUNWLFNBQVM7YUFDWjtTQUNKO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxXQUFXLEVBQUU7WUFDVCxJQUFJLEVBQUUsU0FBUztZQUNmLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsYUFBYSxFQUFFO1lBQ1gsSUFBSSxFQUFFLFNBQVM7WUFDZixRQUFRLEVBQUUsSUFBSTtTQUNqQjtRQUNELEtBQUssRUFBRTtZQUNILElBQUksRUFBRSxRQUFRO1NBQ2pCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQ3pCLElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFO1FBQ04sSUFBSTtRQUNKLFlBQVk7UUFDWixTQUFTO1FBQ1QsWUFBWTtRQUNaLE1BQU07UUFDTixPQUFPO1FBQ1AsWUFBWTtRQUNaLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsV0FBVztRQUNYLFdBQVc7UUFDWCxjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxjQUFjO0tBQ2pCO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsRUFBRSxFQUFFO1lBQ0EsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELElBQUksRUFBRTtZQUNGLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsS0FBSyxFQUFFO1lBQ0gsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxnQkFBZ0IsRUFBRTtZQUNkLElBQUksRUFBRSxTQUFTO1lBQ2YsVUFBVSxFQUFFLElBQUk7U0FDbkI7UUFDRCxTQUFTLEVBQUU7WUFDUCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsWUFBWSxFQUFFO1lBQ1YsSUFBSSxFQUFFLG1DQUFtQztTQUM1QztRQUNELGVBQWUsRUFBRTtZQUNiLElBQUksRUFBRSxTQUFTO1lBQ2YsUUFBUSxFQUFFLElBQUk7U0FDakI7UUFDRCxZQUFZLEVBQUU7WUFDVixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFlBQVksRUFBRTtZQUNWLElBQUksRUFBRSxRQUFRO1NBQ2pCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IsS0FBSyxFQUFFO1FBQ0g7WUFDSSxJQUFJLEVBQUUsMkJBQTJCO1NBQ3BDO1FBQ0Q7WUFDSSxJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRTtnQkFDTixpQkFBaUI7Z0JBQ2pCLGlDQUFpQztnQkFDakMsZUFBZTtnQkFDZixzQkFBc0I7Z0JBQ3RCLHNCQUFzQjtnQkFDdEIsNkJBQTZCO2dCQUM3Qiw0QkFBNEI7Z0JBQzVCLHFCQUFxQjtnQkFDckIsaUJBQWlCO2dCQUNqQixzQkFBc0I7Z0JBQ3RCLDRCQUE0QjtnQkFDNUIsa0JBQWtCO2dCQUNsQix5QkFBeUI7Z0JBQ3pCLGFBQWE7Z0JBQ2IscUJBQXFCO2dCQUNyQix5QkFBeUI7Z0JBQ3pCLG1CQUFtQjtnQkFDbkIsWUFBWTtnQkFDWixPQUFPO2dCQUNQLG1CQUFtQjtnQkFDbkIsb0JBQW9CO2dCQUNwQixhQUFhO2dCQUNiLG1CQUFtQjtnQkFDbkIsb0JBQW9CO2dCQUNwQixlQUFlO2dCQUNmLGtCQUFrQjtnQkFDbEIsV0FBVztnQkFDWCxVQUFVO2dCQUNWLGNBQWM7Z0JBQ2QsZ0JBQWdCO2dCQUNoQixzQkFBc0I7Z0JBQ3RCLGlCQUFpQjtnQkFDakIscUJBQXFCO2dCQUNyQixtQkFBbUI7Z0JBQ25CLGdCQUFnQjtnQkFDaEIsaUJBQWlCO2dCQUNqQixVQUFVO2dCQUNWLHdCQUF3QjthQUMzQjtZQUNELFVBQVUsRUFBRTtnQkFDUixlQUFlLEVBQUU7b0JBQ2IsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELCtCQUErQixFQUFFO29CQUM3QixJQUFJLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0QsYUFBYSxFQUFFO29CQUNYLElBQUksRUFBRSxTQUFTO2lCQUNsQjtnQkFDRCxvQkFBb0IsRUFBRTtvQkFDbEIsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELG9CQUFvQixFQUFFO29CQUNsQixJQUFJLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0QsMkJBQTJCLEVBQUU7b0JBQ3pCLElBQUksRUFBRSxTQUFTO2lCQUNsQjtnQkFDRCwwQkFBMEIsRUFBRTtvQkFDeEIsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELG1CQUFtQixFQUFFO29CQUNqQixJQUFJLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0QsZUFBZSxFQUFFO29CQUNiLElBQUksRUFBRSxTQUFTO2lCQUNsQjtnQkFDRCxvQkFBb0IsRUFBRTtvQkFDbEIsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELGlCQUFpQixFQUFFO29CQUNmLElBQUksRUFBRSxTQUFTO2lCQUNsQjtnQkFDRCwwQkFBMEIsRUFBRTtvQkFDeEIsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELGdCQUFnQixFQUFFO29CQUNkLElBQUksRUFBRSxTQUFTO2lCQUNsQjtnQkFDRCx1QkFBdUIsRUFBRTtvQkFDckIsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELFdBQVcsRUFBRTtvQkFDVCxJQUFJLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0QsbUJBQW1CLEVBQUU7b0JBQ2pCLElBQUksRUFBRSxTQUFTO2lCQUNsQjtnQkFDRCx1QkFBdUIsRUFBRTtvQkFDckIsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELGlCQUFpQixFQUFFO29CQUNmLElBQUksRUFBRSxTQUFTO2lCQUNsQjtnQkFDRCxVQUFVLEVBQUU7b0JBQ1IsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsTUFBTSxFQUFFLFdBQVc7aUJBQ3RCO2dCQUNELEtBQUssRUFBRTtvQkFDSCxJQUFJLEVBQUUsUUFBUTtpQkFDakI7Z0JBQ0QsaUJBQWlCLEVBQUU7b0JBQ2YsSUFBSSxFQUFFLFFBQVE7aUJBQ2pCO2dCQUNELGtCQUFrQixFQUFFO29CQUNoQixJQUFJLEVBQUUsUUFBUTtpQkFDakI7Z0JBQ0QsV0FBVyxFQUFFO29CQUNULElBQUksRUFBRSxRQUFRO2lCQUNqQjtnQkFDRCxpQkFBaUIsRUFBRTtvQkFDZixJQUFJLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0Qsa0JBQWtCLEVBQUU7b0JBQ2hCLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRTt3QkFDRixPQUFPO3dCQUNQLEtBQUs7d0JBQ0wsTUFBTTt3QkFDTixVQUFVO3FCQUNiO2lCQUNKO2dCQUNELGFBQWEsRUFBRTtvQkFDWCxJQUFJLEVBQUUsUUFBUTtpQkFDakI7Z0JBQ0QsZ0JBQWdCLEVBQUU7b0JBQ2QsSUFBSSxFQUFFLFFBQVE7aUJBQ2pCO2dCQUNELFNBQVMsRUFBRTtvQkFDUCxJQUFJLEVBQUUsUUFBUTtpQkFDakI7Z0JBQ0QsUUFBUSxFQUFFO29CQUNOLElBQUksRUFBRSxTQUFTO2lCQUNsQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1YsSUFBSSxFQUFFLFFBQVE7aUJBQ2pCO2dCQUNELGNBQWMsRUFBRTtvQkFDWixJQUFJLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0Qsb0JBQW9CLEVBQUU7b0JBQ2xCLElBQUksRUFBRSxTQUFTO2lCQUNsQjtnQkFDRCxlQUFlLEVBQUU7b0JBQ2IsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELG1CQUFtQixFQUFFO29CQUNqQixJQUFJLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0QsaUJBQWlCLEVBQUU7b0JBQ2YsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELGNBQWMsRUFBRTtvQkFDWixJQUFJLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0QsZUFBZSxFQUFFO29CQUNiLElBQUksRUFBRSxTQUFTO2lCQUNsQjtnQkFDRCxRQUFRLEVBQUU7b0JBQ04sSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELHNCQUFzQixFQUFFO29CQUNwQixJQUFJLEVBQUUsU0FBUztpQkFDbEI7YUFDSjtTQUNKO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3ZCLElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFO1FBQ04sSUFBSTtRQUNKLFVBQVU7UUFDVixTQUFTO1FBQ1QsT0FBTztRQUNQLE9BQU87UUFDUCxNQUFNO1FBQ04sU0FBUztRQUNULFlBQVk7UUFDWixZQUFZO1FBQ1osWUFBWTtRQUNaLFNBQVM7UUFDVCxXQUFXO0tBQ2Q7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFFBQVEsRUFBRTtZQUNOLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxLQUFLLEVBQUU7WUFDSCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELEtBQUssRUFBRTtZQUNILElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsSUFBSSxFQUFFO1lBQ0YsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxRQUFRO1NBQ2pCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDOUIsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osT0FBTztRQUNQLE1BQU07UUFDTixRQUFRO1FBQ1IsVUFBVTtRQUNWLE9BQU87UUFDUCxRQUFRO1FBQ1IsTUFBTTtRQUNOLFlBQVk7UUFDWixVQUFVO1FBQ1YsYUFBYTtRQUNiLE9BQU87UUFDUCxXQUFXO1FBQ1gsY0FBYztRQUNkLE9BQU87UUFDUCxLQUFLO1FBQ0wsYUFBYTtRQUNiLFdBQVc7UUFDWCxVQUFVO1FBQ1YsZUFBZTtRQUNmLGdCQUFnQjtLQUNuQjtJQUNELFVBQVUsRUFBRTtRQUNSLEVBQUUsRUFBRTtZQUNBLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsS0FBSyxFQUFFO1lBQ0gsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxJQUFJLEVBQUU7WUFDRixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELE1BQU0sRUFBRTtZQUNKLElBQUksRUFBRSw4QkFBOEI7U0FDdkM7UUFDRCxRQUFRLEVBQUU7WUFDTixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELEtBQUssRUFBRTtZQUNILElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxJQUFJLEVBQUU7WUFDRixJQUFJLEVBQUUsU0FBUztZQUNmLE1BQU0sRUFBRSxPQUFPO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELFFBQVEsRUFBRTtZQUNOLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxLQUFLLEVBQUU7WUFDSCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsWUFBWSxFQUFFO1lBQ1YsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxLQUFLLEVBQUU7WUFDSCxJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsU0FBUzthQUNsQjtTQUNKO1FBQ0QsR0FBRyxFQUFFO1lBQ0QsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxXQUFXLEVBQUU7WUFDVCxJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsSUFBSTtTQUNqQjtRQUNELFFBQVEsRUFBRTtZQUNOLElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDakI7UUFDRCxhQUFhLEVBQUU7WUFDWCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELGNBQWMsRUFBRTtZQUNaLElBQUksRUFBRSxTQUFTO1NBQ2xCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDL0IsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixNQUFNO1FBQ04sT0FBTztLQUNWO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsSUFBSSxFQUFFO1lBQ0YsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxLQUFLLEVBQUU7WUFDSCxJQUFJLEVBQUUsbUNBQW1DO1NBQzVDO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUc7SUFDaEMsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osWUFBWTtRQUNaLFlBQVk7UUFDWixRQUFRO1FBQ1IsWUFBWTtRQUNaLFFBQVE7S0FDWDtJQUNELFVBQVUsRUFBRTtRQUNSLEVBQUUsRUFBRTtZQUNBLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELE1BQU0sRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxNQUFNLEVBQUU7WUFDSixJQUFJLEVBQUUsUUFBUTtTQUNqQjtLQUNKO0NBQ0ssQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUMzQixJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLElBQUk7UUFDSixVQUFVO1FBQ1YsWUFBWTtRQUNaLFlBQVk7UUFDWixNQUFNO1FBQ04sV0FBVztRQUNYLFlBQVk7UUFDWixZQUFZO1FBQ1osY0FBYztRQUNkLGlCQUFpQjtLQUNwQjtJQUNELFVBQVUsRUFBRTtRQUNSLEVBQUUsRUFBRTtZQUNBLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsSUFBSSxFQUFFO1lBQ0YsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxTQUFTLEVBQUU7WUFDUCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsWUFBWSxFQUFFO1lBQ1YsSUFBSSxFQUFFLG1DQUFtQztTQUM1QztRQUNELGVBQWUsRUFBRTtZQUNiLElBQUksRUFBRSxTQUFTO1lBQ2YsUUFBUSxFQUFFLElBQUk7U0FDakI7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUMvQixJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLElBQUk7UUFDSixlQUFlO1FBQ2YsWUFBWTtRQUNaLE9BQU87UUFDUCxZQUFZO1FBQ1osWUFBWTtRQUNaLGNBQWM7S0FDakI7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELGFBQWEsRUFBRTtZQUNYLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxLQUFLLEVBQUU7WUFDSCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsWUFBWSxFQUFFO1lBQ1YsSUFBSSxFQUFFLFFBQVE7U0FDakI7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM1QixJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLElBQUk7UUFDSixZQUFZO1FBQ1osWUFBWTtRQUNaLE9BQU87UUFDUCxnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLFdBQVc7UUFDWCxXQUFXO1FBQ1gsWUFBWTtRQUNaLFlBQVk7UUFDWixhQUFhO0tBQ2hCO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsRUFBRSxFQUFFO1lBQ0EsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsS0FBSyxFQUFFO1lBQ0gsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxjQUFjLEVBQUU7WUFDWixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxTQUFTLEVBQUU7WUFDUCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7U0FDbEI7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNqQyxLQUFLLEVBQUU7UUFDSDtZQUNJLElBQUksRUFBRSxrQ0FBa0M7U0FDM0M7UUFDRDtZQUNJLElBQUksRUFBRSwrQkFBK0I7U0FDeEM7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDMUIsS0FBSyxFQUFFO1FBQ0g7WUFDSSxJQUFJLEVBQUUsMkJBQTJCO1NBQ3BDO1FBQ0Q7WUFDSSxJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRTtnQkFDTix5QkFBeUI7Z0JBQ3pCLHNCQUFzQjtnQkFDdEIsb0JBQW9CO2dCQUNwQixrQkFBa0I7Z0JBQ2xCLGVBQWU7Z0JBQ2YsWUFBWTtnQkFDWixnQkFBZ0I7Z0JBQ2hCLHlCQUF5QjtnQkFDekIsd0JBQXdCO2dCQUN4Qix5QkFBeUI7Z0JBQ3pCLGNBQWM7Z0JBQ2QsZUFBZTtnQkFDZixpQkFBaUI7YUFDcEI7WUFDRCxVQUFVLEVBQUU7Z0JBQ1IsdUJBQXVCLEVBQUU7b0JBQ3JCLElBQUksRUFBRSxTQUFTO2lCQUNsQjtnQkFDRCxvQkFBb0IsRUFBRTtvQkFDbEIsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELGtCQUFrQixFQUFFO29CQUNoQixJQUFJLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0QsZ0JBQWdCLEVBQUU7b0JBQ2QsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELGFBQWEsRUFBRTtvQkFDWCxJQUFJLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0QsVUFBVSxFQUFFO29CQUNSLElBQUksRUFBRSxTQUFTO2lCQUNsQjtnQkFDRCxjQUFjLEVBQUU7b0JBQ1osSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELHVCQUF1QixFQUFFO29CQUNyQixJQUFJLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0Qsc0JBQXNCLEVBQUU7b0JBQ3BCLElBQUksRUFBRSxTQUFTO2lCQUNsQjtnQkFDRCx1QkFBdUIsRUFBRTtvQkFDckIsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELFlBQVksRUFBRTtvQkFDVixJQUFJLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0QsYUFBYSxFQUFFO29CQUNYLElBQUksRUFBRSxRQUFRO2lCQUNqQjtnQkFDRCxlQUFlLEVBQUU7b0JBQ2IsSUFBSSxFQUFFLFFBQVE7aUJBQ2pCO2FBQ0o7U0FDSjtLQUNKO0NBQ0ssQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN0QixJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLElBQUk7UUFDSixNQUFNO1FBQ04sT0FBTztRQUNQLFdBQVc7UUFDWCxTQUFTO1FBQ1QsWUFBWTtRQUNaLFlBQVk7S0FDZjtJQUNELFVBQVUsRUFBRTtRQUNSLEVBQUUsRUFBRTtZQUNBLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsSUFBSSxFQUFFO1lBQ0YsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxLQUFLLEVBQUU7WUFDSCxJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtLQUNKO0NBQ0ssQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN2QixJQUFJLEVBQUUsUUFBUTtJQUNkLFdBQVcsRUFBRSwrRUFBK0U7SUFDNUYsUUFBUSxFQUFFO1FBQ04sSUFBSTtRQUNKLFlBQVk7UUFDWixRQUFRO1FBQ1IsWUFBWTtRQUNaLFlBQVk7S0FDZjtJQUNELFVBQVUsRUFBRTtRQUNSLEVBQUUsRUFBRTtZQUNBLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxNQUFNLEVBQUU7WUFDSixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzFCLElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFO1FBQ04sSUFBSTtRQUNKLFlBQVk7UUFDWixZQUFZO1FBQ1osVUFBVTtRQUNWLFlBQVk7UUFDWixPQUFPO1FBQ1AsUUFBUTtRQUNSLEtBQUs7UUFDTCxRQUFRO1FBQ1IsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsWUFBWTtRQUNaLFlBQVk7UUFDWixZQUFZO1FBQ1osYUFBYTtRQUNiLGFBQWE7UUFDYixlQUFlO1FBQ2Ysd0JBQXdCO1FBQ3hCLFdBQVc7UUFDWCxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQixVQUFVO1FBQ1YsV0FBVztRQUNYLGFBQWE7UUFDYixjQUFjO1FBQ2QsV0FBVztRQUNYLGNBQWM7UUFDZCxtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIsYUFBYTtRQUNiLGVBQWU7UUFDZixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLFVBQVU7UUFDVixtQkFBbUI7UUFDbkIsVUFBVTtRQUNWLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsV0FBVztRQUNYLHNCQUFzQjtRQUN0QixjQUFjO1FBQ2QsVUFBVTtRQUNWLGNBQWM7S0FDakI7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELEtBQUssRUFBRTtZQUNILElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxHQUFHLEVBQUU7WUFDRCxJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELE1BQU0sRUFBRTtZQUNKLElBQUksRUFBRSw4QkFBOEI7U0FDdkM7UUFDRCxjQUFjLEVBQUU7WUFDWixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELGdCQUFnQixFQUFFO1lBQ2QsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxnQkFBZ0IsRUFBRTtZQUNkLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxXQUFXLEVBQUU7WUFDVCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELGFBQWEsRUFBRTtZQUNYLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7WUFDbkIsUUFBUSxFQUFFLElBQUk7U0FDakI7UUFDRCxzQkFBc0IsRUFBRTtZQUNwQixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1lBQ25CLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsaUJBQWlCLEVBQUU7WUFDZixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELGdCQUFnQixFQUFFO1lBQ2QsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxtQkFBbUIsRUFBRTtZQUNqQixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELG1CQUFtQixFQUFFO1lBQ2pCLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxTQUFTLEVBQUU7WUFDUCxJQUFJLEVBQUUsU0FBUztZQUNmLE1BQU0sRUFBRSxPQUFPO1NBQ2xCO1FBQ0QsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxZQUFZLEVBQUU7WUFDVixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1lBQ2YsUUFBUSxFQUFFLElBQUk7U0FDakI7UUFDRCxZQUFZLEVBQUU7WUFDVixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELGlCQUFpQixFQUFFO1lBQ2YsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztZQUNuQixRQUFRLEVBQUUsSUFBSTtTQUNqQjtRQUNELG1CQUFtQixFQUFFO1lBQ2pCLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxjQUFjLEVBQUU7WUFDWixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFdBQVcsRUFBRTtZQUNULElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDakI7UUFDRCxpQkFBaUIsRUFBRTtZQUNmLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsaUJBQWlCLEVBQUU7WUFDZixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFdBQVcsRUFBRTtZQUNULElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsYUFBYSxFQUFFO1lBQ1gsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELGNBQWMsRUFBRTtZQUNaLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsSUFBSTtTQUNqQjtRQUNELGlCQUFpQixFQUFFO1lBQ2YsSUFBSSxFQUFFLE9BQU87WUFDYixRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUU7b0JBQ0YsTUFBTTtvQkFDTixNQUFNO29CQUNOLFVBQVU7aUJBQ2I7YUFDSjtTQUNKO1FBQ0QsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsSUFBSTtTQUNqQjtRQUNELG1CQUFtQixFQUFFO1lBQ2pCLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsaUJBQWlCLEVBQUU7WUFDZixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0Qsb0JBQW9CLEVBQUU7WUFDbEIsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxZQUFZLEVBQUU7WUFDVixJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLE9BQU87WUFDYixLQUFLLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLFNBQVM7YUFDbEI7U0FDSjtRQUNELFlBQVksRUFBRTtZQUNWLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxjQUFjLEVBQUU7WUFDWixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELGdCQUFnQixFQUFFO1lBQ2QsSUFBSSxFQUFFLFFBQVE7U0FDakI7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUM5QixJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLE1BQU07UUFDTixTQUFTO1FBQ1QsT0FBTztRQUNQLE1BQU07S0FDVDtJQUNELFVBQVUsRUFBRTtRQUNSLElBQUksRUFBRTtZQUNGLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxLQUFLLEVBQUU7WUFDSCxJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxPQUFPO1lBQ2YsT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLEVBQUUsR0FBRztTQUNmO1FBQ0QsSUFBSSxFQUFFO1lBQ0YsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUU7Z0JBQ04sT0FBTzthQUNWO1lBQ0QsVUFBVSxFQUFFO2dCQUNSLEtBQUssRUFBRTtvQkFDSCxJQUFJLEVBQUUsK0JBQStCO2lCQUN4QzthQUNKO1NBQ0o7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDeEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osWUFBWTtRQUNaLGNBQWM7UUFDZCxLQUFLO1FBQ0wsVUFBVTtRQUNWLGtCQUFrQjtRQUNsQixZQUFZO1FBQ1osYUFBYTtRQUNiLFFBQVE7UUFDUixZQUFZO1FBQ1osWUFBWTtRQUNaLGNBQWM7UUFDZCxVQUFVO0tBQ2I7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsWUFBWSxFQUFFO1lBQ1YsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxHQUFHLEVBQUU7WUFDRCxJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFFBQVEsRUFBRTtZQUNOLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsZ0JBQWdCLEVBQUU7WUFDZCxJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLEtBQUs7U0FDaEI7UUFDRCxXQUFXLEVBQUU7WUFDVCxJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELE1BQU0sRUFBRTtZQUNKLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxZQUFZLEVBQUU7WUFDVixJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsUUFBUTthQUNqQjtTQUNKO1FBQ0QsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsS0FBSztTQUNoQjtLQUNKO0NBQ0ssQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUMzQixJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLElBQUk7UUFDSixZQUFZO1FBQ1osWUFBWTtRQUNaLFlBQVk7UUFDWixRQUFRO0tBQ1g7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxNQUFNLEVBQUU7WUFDSixJQUFJLEVBQUUsdUNBQXVDO1NBQ2hEO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDNUIsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osU0FBUztRQUNULFlBQVk7UUFDWixZQUFZO1FBQ1osWUFBWTtRQUNaLFlBQVk7S0FDZjtJQUNELFVBQVUsRUFBRTtRQUNSLEVBQUUsRUFBRTtZQUNBLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDdEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osWUFBWTtRQUNaLFlBQVk7UUFDWixZQUFZO1FBQ1osR0FBRztRQUNILEdBQUc7UUFDSCxPQUFPO1FBQ1AsUUFBUTtRQUNSLFNBQVM7UUFDVCxXQUFXO1FBQ1gsU0FBUztRQUNULE1BQU07UUFDTixjQUFjO0tBQ2pCO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsRUFBRSxFQUFFO1lBQ0EsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsQ0FBQyxFQUFFO1lBQ0MsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxDQUFDLEVBQUU7WUFDQyxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELEtBQUssRUFBRTtZQUNILElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxJQUFJLEVBQUU7WUFDRixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFlBQVksRUFBRTtZQUNWLElBQUksRUFBRSxRQUFRO1NBQ2pCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osWUFBWTtRQUNaLFlBQVk7UUFDWixHQUFHO1FBQ0gsR0FBRztRQUNILE9BQU87UUFDUCxRQUFRO1FBQ1IsTUFBTTtRQUNOLFNBQVM7UUFDVCxXQUFXO1FBQ1gsU0FBUztRQUNULFNBQVM7UUFDVCxZQUFZO0tBQ2Y7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsQ0FBQyxFQUFFO1lBQ0MsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxDQUFDLEVBQUU7WUFDQyxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELEtBQUssRUFBRTtZQUNILElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxJQUFJLEVBQUU7WUFDRixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELE9BQU8sRUFBRTtZQUNMLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELE9BQU8sRUFBRTtZQUNMLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDbEI7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDdEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osTUFBTTtRQUNOLFlBQVk7UUFDWixZQUFZO1FBQ1osWUFBWTtRQUNaLGFBQWE7UUFDYixXQUFXO1FBQ1gsVUFBVTtRQUNWLFVBQVU7UUFDVixjQUFjO1FBQ2QsWUFBWTtLQUNmO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsRUFBRSxFQUFFO1lBQ0EsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxJQUFJLEVBQUU7WUFDRixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFdBQVcsRUFBRTtZQUNULElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxRQUFRLEVBQUU7WUFDTixJQUFJLEVBQUUscUNBQXFDO1NBQzlDO1FBQ0QsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLE9BQU87WUFDYixLQUFLLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLFNBQVM7YUFDbEI7U0FDSjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxZQUFZLEVBQUU7WUFDVixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osU0FBUztRQUNULFVBQVU7UUFDVixZQUFZO1FBQ1osWUFBWTtRQUNaLFlBQVk7UUFDWixNQUFNO1FBQ04sY0FBYztRQUNkLGFBQWE7UUFDYixxQkFBcUI7UUFDckIsV0FBVztRQUNYLFdBQVc7UUFDWCxVQUFVO1FBQ1YsU0FBUztRQUNULGdCQUFnQjtRQUNoQixrQkFBa0I7S0FDckI7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELE9BQU8sRUFBRTtZQUNMLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLE9BQU87WUFDYixLQUFLLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLFNBQVM7YUFDbEI7U0FDSjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxJQUFJLEVBQUU7WUFDRixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFlBQVksRUFBRTtZQUNWLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxtQkFBbUIsRUFBRTtZQUNqQixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxRQUFRLEVBQUU7WUFDTixJQUFJLEVBQUUscUNBQXFDO1NBQzlDO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxjQUFjLEVBQUU7WUFDWixJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsU0FBUzthQUNsQjtTQUNKO1FBQ0QsZ0JBQWdCLEVBQUU7WUFDZCxJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsU0FBUzthQUNsQjtTQUNKO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3RCLElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFO1FBQ04sSUFBSTtRQUNKLFlBQVk7UUFDWixZQUFZO1FBQ1osTUFBTTtRQUNOLFNBQVM7UUFDVCxRQUFRO1FBQ1IsT0FBTztRQUNQLE1BQU07UUFDTixhQUFhO1FBQ2IsWUFBWTtRQUNaLE9BQU87UUFDUCxRQUFRO1FBQ1IsV0FBVztRQUNYLFNBQVM7UUFDVCxPQUFPO1FBQ1AsZUFBZTtRQUNmLGFBQWE7UUFDYixhQUFhO1FBQ2IsYUFBYTtRQUNiLGVBQWU7UUFDZixjQUFjO1FBQ2QsV0FBVztRQUNYLFVBQVU7UUFDVixlQUFlO0tBQ2xCO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsRUFBRSxFQUFFO1lBQ0EsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELElBQUksRUFBRTtZQUNGLElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFO2dCQUNOLE9BQU87Z0JBQ1AsUUFBUTtnQkFDUixLQUFLO2dCQUNMLE1BQU07Z0JBQ04sS0FBSztnQkFDTCxLQUFLO2FBQ1I7WUFDRCxVQUFVLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFO29CQUNILElBQUksRUFBRSxTQUFTO2lCQUNsQjtnQkFDRCxNQUFNLEVBQUU7b0JBQ0osSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELEdBQUcsRUFBRTtvQkFDRCxJQUFJLEVBQUUsUUFBUTtpQkFDakI7Z0JBQ0QsSUFBSSxFQUFFO29CQUNGLElBQUksRUFBRSxTQUFTO29CQUNmLE1BQU0sRUFBRSxPQUFPO2lCQUNsQjtnQkFDRCxHQUFHLEVBQUU7b0JBQ0QsSUFBSSxFQUFFLFFBQVE7aUJBQ2pCO2dCQUNELEdBQUcsRUFBRTtvQkFDRCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxRQUFRLEVBQUUsSUFBSTtpQkFDakI7YUFDSjtTQUNKO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUU7Z0JBQ04sT0FBTztnQkFDUCxRQUFRO2dCQUNSLEtBQUs7YUFDUjtZQUNELFVBQVUsRUFBRTtnQkFDUixLQUFLLEVBQUU7b0JBQ0gsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELE1BQU0sRUFBRTtvQkFDSixJQUFJLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0QsR0FBRyxFQUFFO29CQUNELElBQUksRUFBRSxRQUFRO29CQUNkLFFBQVEsRUFBRSxJQUFJO2lCQUNqQjthQUNKO1NBQ0o7UUFDRCxNQUFNLEVBQUU7WUFDSixJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRTtnQkFDTixLQUFLO2dCQUNMLFFBQVE7Z0JBQ1IsT0FBTztnQkFDUCxLQUFLO2dCQUNMLFlBQVk7YUFDZjtZQUNELFVBQVUsRUFBRTtnQkFDUixHQUFHLEVBQUU7b0JBQ0QsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELE1BQU0sRUFBRTtvQkFDSixJQUFJLEVBQUUsU0FBUztvQkFDZixRQUFRLEVBQUUsSUFBSTtpQkFDakI7Z0JBQ0QsS0FBSyxFQUFFO29CQUNILElBQUksRUFBRSxTQUFTO29CQUNmLFFBQVEsRUFBRSxJQUFJO2lCQUNqQjtnQkFDRCxHQUFHLEVBQUU7b0JBQ0QsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsUUFBUSxFQUFFLElBQUk7aUJBQ2pCO2dCQUNELFVBQVUsRUFBRTtvQkFDUixJQUFJLEVBQUUsUUFBUTtvQkFDZCxVQUFVLEVBQUU7d0JBQ1IsR0FBRyxFQUFFOzRCQUNELElBQUksRUFBRSxTQUFTO3lCQUNsQjt3QkFDRCxRQUFRLEVBQUU7NEJBQ04sSUFBSSxFQUFFLDBDQUEwQzt5QkFDbkQ7d0JBQ0QsUUFBUSxFQUFFOzRCQUNOLElBQUksRUFBRSxRQUFROzRCQUNkLFVBQVUsRUFBRTtnQ0FDUixJQUFJLEVBQUU7b0NBQ0YsSUFBSSxFQUFFLDBDQUEwQztpQ0FDbkQ7Z0NBQ0QsR0FBRyxFQUFFO29DQUNELElBQUksRUFBRSwwQ0FBMEM7aUNBQ25EOzZCQUNKO3lCQUNKO3dCQUNELE9BQU8sRUFBRTs0QkFDTCxJQUFJLEVBQUUsUUFBUTs0QkFDZCxVQUFVLEVBQUU7Z0NBQ1IsTUFBTSxFQUFFO29DQUNKLElBQUksRUFBRSwwQ0FBMEM7aUNBQ25EO2dDQUNELE1BQU0sRUFBRTtvQ0FDSixJQUFJLEVBQUUsMENBQTBDO2lDQUNuRDs2QkFDSjt5QkFDSjtxQkFDSjtpQkFDSjthQUNKO1NBQ0o7UUFDRCxLQUFLLEVBQUU7WUFDSCxJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRTtnQkFDTixJQUFJO2dCQUNKLE1BQU07Z0JBQ04sT0FBTzthQUNWO1lBQ0QsVUFBVSxFQUFFO2dCQUNSLEVBQUUsRUFBRTtvQkFDQSxJQUFJLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0QsSUFBSSxFQUFFO29CQUNGLElBQUksRUFBRSxTQUFTO2lCQUNsQjtnQkFDRCxLQUFLLEVBQUU7b0JBQ0gsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2FBQ0o7U0FDSjtRQUNELElBQUksRUFBRTtZQUNGLElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFO2dCQUNOLFNBQVM7Z0JBQ1QsUUFBUTtnQkFDUixXQUFXO2dCQUNYLFdBQVc7Z0JBQ1gsU0FBUztnQkFDVCxTQUFTO2dCQUNULE1BQU07Z0JBQ04sTUFBTTtnQkFDTixhQUFhO2FBQ2hCO1lBQ0QsVUFBVSxFQUFFO2dCQUNSLE9BQU8sRUFBRTtvQkFDTCxJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUU7d0JBQ0gsSUFBSSxFQUFFLFFBQVE7cUJBQ2pCO2lCQUNKO2dCQUNELE1BQU0sRUFBRTtvQkFDSixJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUU7d0JBQ0gsSUFBSSxFQUFFLFFBQVE7cUJBQ2pCO2lCQUNKO2dCQUNELFNBQVMsRUFBRTtvQkFDUCxJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUU7d0JBQ0gsSUFBSSxFQUFFLFFBQVE7cUJBQ2pCO2lCQUNKO2dCQUNELFNBQVMsRUFBRTtvQkFDUCxJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUU7d0JBQ0gsSUFBSSxFQUFFLFFBQVE7cUJBQ2pCO2lCQUNKO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUU7d0JBQ0gsSUFBSSxFQUFFLFFBQVE7cUJBQ2pCO2lCQUNKO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUU7d0JBQ0gsSUFBSSxFQUFFLFFBQVE7cUJBQ2pCO2lCQUNKO2dCQUNELElBQUksRUFBRTtvQkFDRixJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUU7d0JBQ0gsSUFBSSxFQUFFLFFBQVE7cUJBQ2pCO2lCQUNKO2dCQUNELElBQUksRUFBRTtvQkFDRixJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUU7d0JBQ0gsSUFBSSxFQUFFLFFBQVE7cUJBQ2pCO2lCQUNKO2dCQUNELFdBQVcsRUFBRTtvQkFDVCxJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUU7d0JBQ0gsSUFBSSxFQUFFLFFBQVE7cUJBQ2pCO2lCQUNKO2FBQ0o7U0FDSjtRQUNELFdBQVcsRUFBRTtZQUNULElBQUksRUFBRSxPQUFPO1lBQ2IsUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLFFBQVE7YUFDakI7U0FDSjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsS0FBSyxFQUFFO1lBQ0gsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUU7Z0JBQ04sU0FBUztnQkFDVCxTQUFTO2dCQUNULGFBQWE7Z0JBQ2IsZUFBZTtnQkFDZixlQUFlO2dCQUNmLFNBQVM7YUFDWjtZQUNELFVBQVUsRUFBRTtnQkFDUixPQUFPLEVBQUU7b0JBQ0wsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxJQUFJLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0QsV0FBVyxFQUFFO29CQUNULElBQUksRUFBRSxTQUFTO2lCQUNsQjtnQkFDRCxhQUFhLEVBQUU7b0JBQ1gsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCO2dCQUNELGFBQWEsRUFBRTtvQkFDWCxJQUFJLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLElBQUksRUFBRSxTQUFTO2lCQUNsQjthQUNKO1NBQ0o7UUFDRCxNQUFNLEVBQUU7WUFDSixJQUFJLEVBQUUsOEJBQThCO1NBQ3ZDO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsUUFBUTthQUNqQjtTQUNKO1FBQ0QsS0FBSyxFQUFFO1lBQ0gsSUFBSSxFQUFFLE9BQU87WUFDYixLQUFLLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLFNBQVM7YUFDbEI7U0FDSjtRQUNELGFBQWEsRUFBRTtZQUNYLElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFO2dCQUNOLFdBQVc7Z0JBQ1gsY0FBYztnQkFDZCxxQkFBcUI7Z0JBQ3JCLFVBQVU7YUFDYjtZQUNELFVBQVUsRUFBRTtnQkFDUixTQUFTLEVBQUU7b0JBQ1AsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsUUFBUSxFQUFFLElBQUk7aUJBQ2pCO2dCQUNELFlBQVksRUFBRTtvQkFDVixJQUFJLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0QsbUJBQW1CLEVBQUU7b0JBQ2pCLElBQUksRUFBRSxTQUFTO2lCQUNsQjtnQkFDRCxRQUFRLEVBQUU7b0JBQ04sSUFBSSxFQUFFLE9BQU87b0JBQ2IsS0FBSyxFQUFFO3dCQUNILElBQUksRUFBRSxTQUFTO3FCQUNsQjtpQkFDSjthQUNKO1NBQ0o7UUFDRCxXQUFXLEVBQUU7WUFDVCxJQUFJLEVBQUUsU0FBUztZQUNmLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxXQUFXLEVBQUU7WUFDVCxJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELGFBQWEsRUFBRTtZQUNYLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsWUFBWSxFQUFFO1lBQ1YsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxTQUFTLEVBQUU7WUFDUCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFFBQVEsRUFBRTtZQUNOLElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDakI7UUFDRCxhQUFhLEVBQUU7WUFDWCxJQUFJLEVBQUUsUUFBUTtTQUNqQjtLQUNKO0NBQ0ssQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQzlCLElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFO1FBQ04sSUFBSTtRQUNKLFNBQVM7UUFDVCxTQUFTO1FBQ1QsWUFBWTtRQUNaLFlBQVk7S0FDZjtJQUNELFVBQVUsRUFBRTtRQUNSLEVBQUUsRUFBRTtZQUNBLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDakMsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osU0FBUztRQUNULFNBQVM7UUFDVCxRQUFRO1FBQ1IsU0FBUztRQUNULFlBQVk7UUFDWixZQUFZO0tBQ2Y7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELE9BQU8sRUFBRTtZQUNMLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxNQUFNLEVBQUU7WUFDSixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRTtnQkFDRixvQkFBb0I7Z0JBQ3BCLHNCQUFzQjtnQkFDdEIsT0FBTzthQUNWO1NBQ0o7UUFDRCxPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osWUFBWTtRQUNaLFNBQVM7UUFDVCxRQUFRO1FBQ1IsWUFBWTtLQUNmO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsRUFBRSxFQUFFO1lBQ0EsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztZQUNmLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxNQUFNLEVBQUU7WUFDSixJQUFJLEVBQUUsdUNBQXVDO1NBQ2hEO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtLQUNKO0NBQ0ssQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLElBQUk7UUFDSixZQUFZO1FBQ1osU0FBUztRQUNULFFBQVE7UUFDUixhQUFhO1FBQ2IsWUFBWTtRQUNaLGFBQWE7UUFDYixNQUFNO0tBQ1Q7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELE1BQU0sRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7WUFDZixXQUFXLEVBQUUsc0NBQXNDO1lBQ25ELFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxJQUFJLEVBQUU7WUFDRixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRTtnQkFDRixNQUFNO2dCQUNOLFVBQVU7YUFDYjtTQUNKO1FBQ0QsSUFBSSxFQUFFO1lBQ0YsSUFBSSxFQUFFLFFBQVE7WUFDZCxXQUFXLEVBQUUsc0NBQXNDO1lBQ25ELFFBQVEsRUFBRSxJQUFJO1NBQ2pCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDakMsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osWUFBWTtRQUNaLFlBQVk7UUFDWixTQUFTO1FBQ1QsWUFBWTtRQUNaLGFBQWE7UUFDYixVQUFVO1FBQ1YsV0FBVztRQUNYLGNBQWM7UUFDZCxhQUFhO1FBQ2IsS0FBSztRQUNMLFFBQVE7UUFDUixXQUFXO1FBQ1gsUUFBUTtRQUNSLFFBQVE7S0FDWDtJQUNELFVBQVUsRUFBRTtRQUNSLEVBQUUsRUFBRTtZQUNBLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7WUFDZixRQUFRLEVBQUUsSUFBSTtTQUNqQjtRQUNELFFBQVEsRUFBRTtZQUNOLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFNBQVM7WUFDZixNQUFNLEVBQUUsT0FBTztTQUNsQjtRQUNELFlBQVksRUFBRTtZQUNWLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxHQUFHLEVBQUU7WUFDRCxJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELE1BQU0sRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxNQUFNLEVBQUU7WUFDSixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRTtnQkFDRixVQUFVO2dCQUNWLFVBQVU7Z0JBQ1YsVUFBVTtnQkFDVixTQUFTO2dCQUNULFVBQVU7YUFDYjtTQUNKO1FBQ0QsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7U0FDakI7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUNyQyxJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLEtBQUs7UUFDTCxPQUFPO1FBQ1AsTUFBTTtRQUNOLE9BQU87UUFDUCxRQUFRO1FBQ1IsS0FBSztLQUNSO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsR0FBRyxFQUFFO1lBQ0QsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsT0FBTztTQUNsQjtRQUNELEtBQUssRUFBRTtZQUNILElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsSUFBSSxFQUFFO1lBQ0YsSUFBSSxFQUFFLFNBQVM7WUFDZixNQUFNLEVBQUUsT0FBTztTQUNsQjtRQUNELEtBQUssRUFBRTtZQUNILElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxHQUFHLEVBQUU7WUFDRCxJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxLQUFLO1NBQ2hCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQ3pCLElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFO1FBQ04sSUFBSTtRQUNKLFlBQVk7UUFDWixZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFDWCxNQUFNO1FBQ04sV0FBVztRQUNYLGFBQWE7UUFDYixvQkFBb0I7UUFDcEIsVUFBVTtRQUNWLFlBQVk7S0FDZjtJQUNELFVBQVUsRUFBRTtRQUNSLEVBQUUsRUFBRTtZQUNBLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsSUFBSSxFQUFFO1lBQ0YsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxTQUFTLEVBQUU7WUFDUCxJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFdBQVcsRUFBRTtZQUNULElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxrQkFBa0IsRUFBRTtZQUNoQixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFFBQVEsRUFBRTtZQUNOLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFO2dCQUNILElBQUksRUFBRSxTQUFTO2FBQ2xCO1NBQ0o7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3QixJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLElBQUk7UUFDSixTQUFTO1FBQ1QsTUFBTTtRQUNOLFlBQVk7UUFDWixZQUFZO1FBQ1osUUFBUTtRQUNSLFdBQVc7UUFDWCxRQUFRO1FBQ1IsYUFBYTtRQUNiLFFBQVE7UUFDUixhQUFhO1FBQ2IsWUFBWTtRQUNaLGNBQWM7UUFDZCxtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixTQUFTO1FBQ1QscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2QixnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLFdBQVc7S0FDZDtJQUNELFVBQVUsRUFBRTtRQUNSLEVBQUUsRUFBRTtZQUNBLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxJQUFJLEVBQUU7WUFDRixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELE1BQU0sRUFBRTtZQUNKLElBQUksRUFBRSw4QkFBOEI7U0FDdkM7UUFDRCxTQUFTLEVBQUU7WUFDUCxJQUFJLEVBQUUsU0FBUztZQUNmLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxXQUFXLEVBQUU7WUFDVCxJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELE1BQU0sRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDakI7UUFDRCxXQUFXLEVBQUU7WUFDVCxJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLE9BQU87WUFDYixLQUFLLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLFFBQVE7YUFDakI7U0FDSjtRQUNELFlBQVksRUFBRTtZQUNWLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFO2dCQUNILElBQUksRUFBRSxRQUFRO2FBQ2pCO1NBQ0o7UUFDRCxpQkFBaUIsRUFBRTtZQUNmLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFO2dCQUNILElBQUksRUFBRSxRQUFRO2FBQ2pCO1NBQ0o7UUFDRCxtQkFBbUIsRUFBRTtZQUNqQixJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsUUFBUTthQUNqQjtTQUNKO1FBQ0QsY0FBYyxFQUFFO1lBQ1osSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxjQUFjLEVBQUU7WUFDWixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELGNBQWMsRUFBRTtZQUNaLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsbUJBQW1CLEVBQUU7WUFDakIsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELG1CQUFtQixFQUFFO1lBQ2pCLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QscUJBQXFCLEVBQUU7WUFDbkIsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxjQUFjLEVBQUU7WUFDWixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFlBQVksRUFBRTtZQUNWLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFNBQVM7U0FDbEI7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM1QixJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLE1BQU07UUFDTixhQUFhO0tBQ2hCO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsSUFBSSxFQUFFO1lBQ0YsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxXQUFXLEVBQUU7WUFDVCxJQUFJLEVBQUUsb0NBQW9DO1NBQzdDO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzNCLElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFO1FBQ04sSUFBSTtRQUNKLFlBQVk7UUFDWixZQUFZO1FBQ1osU0FBUztRQUNULFlBQVk7UUFDWixNQUFNO1FBQ04sWUFBWTtRQUNaLFlBQVk7S0FDZjtJQUNELFVBQVUsRUFBRTtRQUNSLEVBQUUsRUFBRTtZQUNBLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsSUFBSSxFQUFFO1lBQ0YsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHO0lBQ3JCLElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFO1FBQ04sSUFBSTtRQUNKLE1BQU07UUFDTixZQUFZO1FBQ1osY0FBYztRQUNkLHlCQUF5QjtRQUN6QixVQUFVO1FBQ1YsV0FBVztRQUNYLFlBQVk7UUFDWixZQUFZO0tBQ2Y7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELElBQUksRUFBRTtZQUNGLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxZQUFZLEVBQUU7WUFDVixJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsUUFBUTthQUNqQjtTQUNKO1FBQ0QsdUJBQXVCLEVBQUU7WUFDckIsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsSUFBSTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLG9DQUFvQztTQUM3QztRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDMUIsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osaUJBQWlCO1FBQ2pCLFFBQVE7UUFDUixZQUFZO1FBQ1osWUFBWTtRQUNaLGVBQWU7UUFDZixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixRQUFRO1FBQ1IsWUFBWTtRQUNaLGFBQWE7S0FDaEI7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELGVBQWUsRUFBRTtZQUNiLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFLElBQUk7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELGFBQWEsRUFBRTtZQUNYLElBQUksRUFBRSxTQUFTO1lBQ2YsUUFBUSxFQUFFLElBQUk7U0FDakI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRSxJQUFJO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxjQUFjLEVBQUU7WUFDWixJQUFJLEVBQUUsU0FBUztZQUNmLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsZUFBZSxFQUFFO1lBQ2IsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxNQUFNLEVBQUU7WUFDSixJQUFJLEVBQUUseUNBQXlDO1NBQ2xEO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxXQUFXLEVBQUU7WUFDVCxJQUFJLEVBQUUsU0FBUztZQUNmLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUc7SUFDaEMsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osUUFBUTtRQUNSLFlBQVk7UUFDWixZQUFZO1FBQ1osZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsUUFBUTtRQUNSLGdCQUFnQjtRQUNoQixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLGFBQWE7S0FDaEI7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELE1BQU0sRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsYUFBYSxFQUFFO1lBQ1gsSUFBSSxFQUFFLFNBQVM7WUFDZixRQUFRLEVBQUUsSUFBSTtTQUNqQjtRQUNELGVBQWUsRUFBRTtZQUNiLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsZUFBZSxFQUFFO1lBQ2IsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxNQUFNLEVBQUU7WUFDSixJQUFJLEVBQUUseUNBQXlDO1NBQ2xEO1FBQ0QsY0FBYyxFQUFFO1lBQ1osSUFBSSxFQUFFLFNBQVM7WUFDZixRQUFRLEVBQUUsSUFBSTtTQUNqQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxnQkFBZ0IsRUFBRTtZQUNkLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFO2dCQUNILElBQUksRUFBRSxRQUFRO2FBQ2pCO1NBQ0o7UUFDRCxXQUFXLEVBQUU7WUFDVCxJQUFJLEVBQUUsU0FBUztZQUNmLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDNUIsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixNQUFNO0tBQ1Q7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELElBQUksRUFBRTtZQUNGLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxRQUFRLEVBQUU7WUFDTixJQUFJLEVBQUUsb0NBQW9DO1NBQzdDO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxLQUFLLEVBQUU7WUFDSCxJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELE9BQU8sRUFBRTtZQUNMLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFO2dCQUNILElBQUksRUFBRSxRQUFRO2FBQ2pCO1NBQ0o7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRztJQUNoQyxJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLElBQUk7UUFDSixZQUFZO1FBQ1osWUFBWTtRQUNaLFVBQVU7UUFDVixVQUFVO1FBQ1YsV0FBVztRQUNYLFFBQVE7UUFDUixZQUFZO0tBQ2Y7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLG9DQUFvQztTQUM3QztRQUNELFFBQVEsRUFBRTtZQUNOLElBQUksRUFBRSxvQ0FBb0M7U0FDN0M7UUFDRCxTQUFTLEVBQUU7WUFDUCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELE1BQU0sRUFBRTtZQUNKLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDbEI7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDMUIsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osUUFBUTtRQUNSLGFBQWE7UUFDYixlQUFlO1FBQ2YsWUFBWTtRQUNaLFlBQVk7UUFDWixZQUFZO0tBQ2Y7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELE1BQU0sRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1lBQ2QsSUFBSSxFQUFFO2dCQUNGLFVBQVU7Z0JBQ1YsUUFBUTtnQkFDUixTQUFTO2dCQUNULFNBQVM7YUFDWjtTQUNKO1FBQ0QsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7WUFDZixRQUFRLEVBQUUsSUFBSTtTQUNqQjtRQUNELGFBQWEsRUFBRTtZQUNYLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtLQUNKO0NBQ0ssQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUN4QixJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLElBQUk7UUFDSixZQUFZO1FBQ1osUUFBUTtRQUNSLFNBQVM7UUFDVCxPQUFPO1FBQ1AsUUFBUTtRQUNSLFlBQVk7UUFDWixZQUFZO1FBQ1osVUFBVTtRQUNWLFlBQVk7UUFDWixlQUFlO1FBQ2YsWUFBWTtLQUNmO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsRUFBRSxFQUFFO1lBQ0EsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELE1BQU0sRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxLQUFLLEVBQUU7WUFDSCxJQUFJLEVBQUUsa0NBQWtDO1NBQzNDO1FBQ0QsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLHFDQUFxQztTQUM5QztRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztZQUNmLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7WUFDZixRQUFRLEVBQUUsSUFBSTtZQUNkLFdBQVcsRUFBRSw2QkFBNkI7U0FDN0M7UUFDRCxhQUFhLEVBQUU7WUFDWCxJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7WUFDZixRQUFRLEVBQUUsSUFBSTtTQUNqQjtLQUNKO0NBQ0ssQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ2pDLElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFO1FBQ04sSUFBSTtRQUNKLFlBQVk7UUFDWixZQUFZO1FBQ1osU0FBUztRQUNULE1BQU07UUFDTixRQUFRO1FBQ1IsU0FBUztRQUNULFFBQVE7UUFDUixRQUFRO1FBQ1IsTUFBTTtLQUNUO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsRUFBRSxFQUFFO1lBQ0EsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELE9BQU8sRUFBRTtZQUNMLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsSUFBSSxFQUFFO1lBQ0YsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxNQUFNLEVBQUU7WUFDSixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELE9BQU8sRUFBRTtZQUNMLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxNQUFNLEVBQUU7WUFDSixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELElBQUksRUFBRTtZQUNGLElBQUksRUFBRSxRQUFRO1NBQ2pCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQ3hCLElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFO1FBQ04sSUFBSTtRQUNKLFFBQVE7UUFDUixRQUFRO1FBQ1IsYUFBYTtRQUNiLFlBQVk7UUFDWixRQUFRO1FBQ1IsV0FBVztRQUNYLFNBQVM7UUFDVCxrQkFBa0I7UUFDbEIsWUFBWTtRQUNaLFlBQVk7UUFDWixXQUFXO1FBQ1gsS0FBSztRQUNMLFVBQVU7UUFDVixXQUFXO1FBQ1gsYUFBYTtRQUNiLGNBQWM7UUFDZCxhQUFhO1FBQ2IsZUFBZTtLQUNsQjtJQUNELFVBQVUsRUFBRTtRQUNSLEVBQUUsRUFBRTtZQUNBLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxNQUFNLEVBQUU7WUFDSixJQUFJLEVBQUUsOEJBQThCO1NBQ3ZDO1FBQ0QsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELE1BQU0sRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1lBQ2QsV0FBVyxFQUFFLHNIQUFzSDtZQUNuSSxJQUFJLEVBQUU7Z0JBQ0YsV0FBVztnQkFDWCxXQUFXO2dCQUNYLE9BQU87Z0JBQ1AsWUFBWTtnQkFDWixTQUFTO2FBQ1o7U0FDSjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDakI7UUFDRCxPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsU0FBUztZQUNmLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsZ0JBQWdCLEVBQUU7WUFDZCxJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRSxJQUFJO1lBQ2QsVUFBVSxFQUFFLElBQUk7U0FDbkI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1lBQ2YsUUFBUSxFQUFFLElBQUk7U0FDakI7UUFDRCxHQUFHLEVBQUU7WUFDRCxJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsSUFBSTtTQUNqQjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1lBQ2YsUUFBUSxFQUFFLElBQUk7U0FDakI7UUFDRCxXQUFXLEVBQUU7WUFDVCxJQUFJLEVBQUUsU0FBUztZQUNmLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsWUFBWSxFQUFFO1lBQ1YsSUFBSSxFQUFFLFNBQVM7WUFDZixRQUFRLEVBQUUsSUFBSTtTQUNqQjtRQUNELFdBQVcsRUFBRTtZQUNULElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsYUFBYSxFQUFFO1lBQ1gsSUFBSSxFQUFFLFFBQVE7U0FDakI7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDdEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osWUFBWTtRQUNaLE1BQU07UUFDTixPQUFPO1FBQ1AsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxXQUFXO0tBQ2Q7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxJQUFJLEVBQUU7WUFDRixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELEtBQUssRUFBRTtZQUNILElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsaUJBQWlCLEVBQUU7WUFDZixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELGlCQUFpQixFQUFFO1lBQ2YsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxpQkFBaUIsRUFBRTtZQUNmLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsaUJBQWlCLEVBQUU7WUFDZixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFNBQVMsRUFBRTtZQUNQLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsaUJBQWlCLEVBQUU7WUFDZixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELGVBQWUsRUFBRTtZQUNiLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsWUFBWSxFQUFFO1lBQ1YsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxTQUFTLEVBQUU7WUFDUCxJQUFJLEVBQUUsU0FBUztZQUNmLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7U0FDbEI7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUM5QixJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLElBQUk7UUFDSixTQUFTO1FBQ1QsWUFBWTtRQUNaLFVBQVU7UUFDVixNQUFNO1FBQ04sWUFBWTtRQUNaLFlBQVk7UUFDWixZQUFZO1FBQ1osWUFBWTtLQUNmO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsRUFBRSxFQUFFO1lBQ0EsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLHlDQUF5QztTQUNsRDtRQUNELElBQUksRUFBRTtZQUNGLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUc7SUFDdkMsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixJQUFJO1FBQ0osYUFBYTtRQUNiLFNBQVM7UUFDVCxlQUFlO1FBQ2YsY0FBYztRQUNkLFlBQVk7UUFDWixZQUFZO1FBQ1osUUFBUTtLQUNYO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsRUFBRSxFQUFFO1lBQ0EsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxXQUFXLEVBQUU7WUFDVCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELE9BQU8sRUFBRTtZQUNMLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsYUFBYSxFQUFFO1lBQ1gsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxZQUFZLEVBQUU7WUFDVixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELGFBQWEsRUFBRTtZQUNYLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxNQUFNLEVBQUU7WUFDSixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRTtnQkFDRixVQUFVO2FBQ2I7U0FDSjtLQUNKO0NBQ0ssQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLElBQUk7UUFDSixZQUFZO1FBQ1osWUFBWTtRQUNaLE9BQU87UUFDUCxNQUFNO1FBQ04sWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBQ1osWUFBWTtRQUNaLGFBQWE7UUFDYixRQUFRO1FBQ1IsY0FBYztRQUNkLGFBQWE7S0FDaEI7SUFDRCxVQUFVLEVBQUU7UUFDUixFQUFFLEVBQUU7WUFDQSxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsS0FBSyxFQUFFO1lBQ0gsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxJQUFJLEVBQUU7WUFDRixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLE9BQU87WUFDYixLQUFLLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLFFBQVE7YUFDakI7U0FDSjtRQUNELE1BQU0sRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDakI7UUFDRCxZQUFZLEVBQUU7WUFDVixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFdBQVcsRUFBRTtZQUNULElBQUksRUFBRSxvQ0FBb0M7U0FDN0M7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNqQyxJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLElBQUk7UUFDSixZQUFZO1FBQ1osWUFBWTtRQUNaLE9BQU87UUFDUCxNQUFNO1FBQ04sWUFBWTtRQUNaLGNBQWM7UUFDZCxXQUFXO1FBQ1gsYUFBYTtRQUNiLFlBQVk7UUFDWixRQUFRO1FBQ1IsUUFBUTtLQUNYO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsRUFBRSxFQUFFO1lBQ0EsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELEtBQUssRUFBRTtZQUNILElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsSUFBSSxFQUFFO1lBQ0YsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFlBQVksRUFBRTtZQUNWLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxXQUFXLEVBQUU7WUFDVCxJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsUUFBUTthQUNqQjtTQUNKO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxNQUFNLEVBQUU7WUFDSixJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsSUFBSTtTQUNqQjtLQUNKO0NBQ0ssQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUN4QixJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLElBQUk7UUFDSixZQUFZO1FBQ1osWUFBWTtRQUNaLFNBQVM7UUFDVCxLQUFLO1FBQ0wsTUFBTTtRQUNOLGNBQWM7UUFDZCxzQkFBc0I7UUFDdEIsaUJBQWlCO1FBQ2pCLFlBQVk7UUFDWixhQUFhO0tBQ2hCO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsRUFBRSxFQUFFO1lBQ0EsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELE9BQU8sRUFBRTtZQUNMLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsR0FBRyxFQUFFO1lBQ0QsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRCxJQUFJLEVBQUU7WUFDRixJQUFJLEVBQUUsUUFBUTtTQUNqQjtRQUNELFlBQVksRUFBRTtZQUNWLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7WUFDbkIsUUFBUSxFQUFFLElBQUk7U0FDakI7UUFDRCxvQkFBb0IsRUFBRTtZQUNsQixLQUFLLEVBQUU7Z0JBQ0g7b0JBQ0ksSUFBSSxFQUFFLFFBQVE7b0JBQ2QsTUFBTSxFQUFFLE1BQU07b0JBQ2QsUUFBUSxFQUFFLElBQUk7aUJBQ2pCO2dCQUNEO29CQUNJLElBQUksRUFBRSxRQUFRO29CQUNkLE1BQU0sRUFBRSxNQUFNO29CQUNkLFFBQVEsRUFBRSxJQUFJO2lCQUNqQjthQUNKO1NBQ0o7UUFDRCxlQUFlLEVBQUU7WUFDYixJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztZQUNuQixRQUFRLEVBQUUsSUFBSTtTQUNqQjtRQUNELFdBQVcsRUFBRTtZQUNULElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVc7WUFDbkIsUUFBUSxFQUFFLElBQUk7U0FDakI7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3QixJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLElBQUk7UUFDSixZQUFZO1FBQ1osWUFBWTtRQUNaLE1BQU07UUFDTixTQUFTO1FBQ1Qsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixTQUFTO1FBQ1QsU0FBUztLQUNaO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsRUFBRSxFQUFFO1lBQ0EsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFFBQVE7WUFDZCxNQUFNLEVBQUUsV0FBVztTQUN0QjtRQUNELElBQUksRUFBRTtZQUNGLElBQUksRUFBRSxRQUFRO1NBQ2pCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsSUFBSTtTQUNqQjtRQUNELGdCQUFnQixFQUFFO1lBQ2QsSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUU7Z0JBQ0YsTUFBTTtnQkFDTixTQUFTO2dCQUNULFdBQVc7YUFDZDtTQUNKO1FBQ0QsY0FBYyxFQUFFO1lBQ1osSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELE9BQU8sRUFBRTtZQUNMLElBQUksRUFBRSxTQUFTO1NBQ2xCO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUc7SUFDaEMsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixhQUFhO1FBQ2IsZUFBZTtRQUNmLFVBQVU7UUFDVixjQUFjO1FBQ2QsWUFBWTtLQUNmO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxhQUFhLEVBQUU7WUFDWCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELFFBQVEsRUFBRTtZQUNOLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsWUFBWSxFQUFFO1lBQ1YsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNsQjtLQUNKO0NBQ0ssQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQy9CLElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFO1FBQ04sWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixVQUFVO1FBQ1YsZ0JBQWdCO1FBQ2hCLEtBQUs7S0FDUjtJQUNELFVBQVUsRUFBRTtRQUNSLFVBQVUsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2xCO1FBQ0QsZUFBZSxFQUFFO1lBQ2IsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxRQUFRLEVBQUU7WUFDTixJQUFJLEVBQUUsb0NBQW9DO1NBQzdDO1FBQ0QsY0FBYyxFQUFFO1lBQ1osSUFBSSxFQUFFLG9DQUFvQztTQUM3QztRQUNELEdBQUcsRUFBRTtZQUNELElBQUksRUFBRSwwQkFBMEI7U0FDbkM7S0FDSjtDQUNLLENBQUMifQ==