lemon-core 2.2.20 → 3.1.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 (310) hide show
  1. package/README.md +12 -21
  2. package/dist/common/test-helper.js +20 -12
  3. package/dist/common/test-helper.js.map +1 -1
  4. package/dist/controllers/dummy-controller.js.map +1 -1
  5. package/dist/controllers/general-api-controller.js +5 -5
  6. package/dist/controllers/general-api-controller.js.map +1 -1
  7. package/dist/controllers/general-controller.js +2 -1
  8. package/dist/controllers/general-controller.js.map +1 -1
  9. package/dist/controllers/index.js +6 -2
  10. package/dist/controllers/index.js.map +1 -1
  11. package/dist/cores/api-service.js +19 -18
  12. package/dist/cores/api-service.js.map +1 -1
  13. package/dist/cores/aws/aws-kms-service.js +10 -14
  14. package/dist/cores/aws/aws-kms-service.js.map +1 -1
  15. package/dist/cores/aws/aws-s3-service.js +19 -18
  16. package/dist/cores/aws/aws-s3-service.js.map +1 -1
  17. package/dist/cores/aws/aws-sns-service.js +12 -12
  18. package/dist/cores/aws/aws-sns-service.js.map +1 -1
  19. package/dist/cores/aws/aws-sqs-service.js +12 -12
  20. package/dist/cores/aws/aws-sqs-service.js.map +1 -1
  21. package/dist/cores/aws/index.js +1 -1
  22. package/dist/cores/cache-service.js +33 -33
  23. package/dist/cores/cache-service.js.map +1 -1
  24. package/dist/cores/config/config-service.js +11 -10
  25. package/dist/cores/config/config-service.js.map +1 -1
  26. package/dist/cores/core-services.js +6 -2
  27. package/dist/cores/core-services.js.map +1 -1
  28. package/dist/cores/core-types.d.ts +92 -2
  29. package/dist/cores/core-types.js +1 -0
  30. package/dist/cores/core-types.js.map +1 -1
  31. package/dist/cores/dynamo-query-service.js +7 -7
  32. package/dist/cores/dynamo-query-service.js.map +1 -1
  33. package/dist/cores/dynamo-scan-service.js +8 -8
  34. package/dist/cores/dynamo-scan-service.js.map +1 -1
  35. package/dist/cores/dynamo-service.js +21 -21
  36. package/dist/cores/dynamo-service.js.map +1 -1
  37. package/dist/cores/elastic6-query-service.d.ts +42 -9
  38. package/dist/cores/elastic6-query-service.js +148 -138
  39. package/dist/cores/elastic6-query-service.js.map +1 -1
  40. package/dist/cores/elastic6-service.d.ts +144 -57
  41. package/dist/cores/elastic6-service.js +522 -346
  42. package/dist/cores/elastic6-service.js.map +1 -1
  43. package/dist/cores/http-storage-service.js +1 -1
  44. package/dist/cores/http-storage-service.js.map +1 -1
  45. package/dist/cores/index.d.ts +4 -4
  46. package/dist/cores/index.js +6 -2
  47. package/dist/cores/index.js.map +1 -1
  48. package/dist/cores/lambda/index.js +8 -4
  49. package/dist/cores/lambda/index.js.map +1 -1
  50. package/dist/cores/lambda/lambda-cognito-handler.js +2 -2
  51. package/dist/cores/lambda/lambda-cognito-handler.js.map +1 -1
  52. package/dist/cores/lambda/lambda-cron-handler.js +2 -2
  53. package/dist/cores/lambda/lambda-cron-handler.js.map +1 -1
  54. package/dist/cores/lambda/lambda-dynamo-stream-handler.js +23 -23
  55. package/dist/cores/lambda/lambda-dynamo-stream-handler.js.map +1 -1
  56. package/dist/cores/lambda/lambda-handler.js +12 -11
  57. package/dist/cores/lambda/lambda-handler.js.map +1 -1
  58. package/dist/cores/lambda/lambda-notification-handler.js +10 -10
  59. package/dist/cores/lambda/lambda-notification-handler.js.map +1 -1
  60. package/dist/cores/lambda/lambda-sns-handler.js +13 -13
  61. package/dist/cores/lambda/lambda-sns-handler.js.map +1 -1
  62. package/dist/cores/lambda/lambda-sqs-handler.js +13 -13
  63. package/dist/cores/lambda/lambda-sqs-handler.js.map +1 -1
  64. package/dist/cores/lambda/lambda-web-handler.js +58 -55
  65. package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
  66. package/dist/cores/lambda/lambda-wss-handler.js +16 -12
  67. package/dist/cores/lambda/lambda-wss-handler.js.map +1 -1
  68. package/dist/cores/model-manager.js +11 -11
  69. package/dist/cores/model-manager.js.map +1 -1
  70. package/dist/cores/protocol/protocol-service.d.ts +1 -2
  71. package/dist/cores/protocol/protocol-service.js +39 -36
  72. package/dist/cores/protocol/protocol-service.js.map +1 -1
  73. package/dist/cores/proxy-storage-service.js +7 -10
  74. package/dist/cores/proxy-storage-service.js.map +1 -1
  75. package/dist/cores/redis-storage-service.js +13 -13
  76. package/dist/cores/redis-storage-service.js.map +1 -1
  77. package/dist/cores/storage-service.js +8 -6
  78. package/dist/cores/storage-service.js.map +1 -1
  79. package/dist/engine/builder.d.ts +1 -0
  80. package/dist/engine/builder.js +28 -21
  81. package/dist/engine/builder.js.map +1 -1
  82. package/dist/engine/engine.js +55 -45
  83. package/dist/engine/engine.js.map +1 -1
  84. package/dist/engine/index.d.ts +0 -1
  85. package/dist/engine/index.js +9 -7
  86. package/dist/engine/index.js.map +1 -1
  87. package/dist/engine/types.d.ts +0 -4
  88. package/dist/engine/types.js.map +1 -1
  89. package/dist/engine/utilities.d.ts +5 -1
  90. package/dist/engine/utilities.js +146 -36
  91. package/dist/engine/utilities.js.map +1 -1
  92. package/dist/environ.js +13 -6
  93. package/dist/environ.js.map +1 -1
  94. package/dist/exec-cli.js +26 -26
  95. package/dist/exec-cli.js.map +1 -1
  96. package/dist/helpers/helpers.d.ts +266 -0
  97. package/dist/helpers/helpers.js +606 -0
  98. package/dist/helpers/helpers.js.map +1 -0
  99. package/dist/helpers/index.d.ts +10 -0
  100. package/dist/helpers/index.js +27 -0
  101. package/dist/helpers/index.js.map +1 -0
  102. package/dist/index.d.ts +6 -5
  103. package/dist/index.js +8 -3
  104. package/dist/index.js.map +1 -1
  105. package/dist/lib/dynamo/expressions.js +35 -27
  106. package/dist/lib/dynamo/expressions.js.map +1 -1
  107. package/dist/lib/dynamo/query.js +24 -20
  108. package/dist/lib/dynamo/query.js.map +1 -1
  109. package/dist/lib/dynamo/scan.js +17 -13
  110. package/dist/lib/dynamo/scan.js.map +1 -1
  111. package/dist/lib/dynamo/serializer.js +11 -7
  112. package/dist/lib/dynamo/serializer.js.map +1 -1
  113. package/dist/lib/dynamo/utils.js +19 -14
  114. package/dist/lib/dynamo/utils.js.map +1 -1
  115. package/dist/lib/dynamodb-value.js +3 -3
  116. package/dist/lib/dynamodb-value.js.map +1 -1
  117. package/dist/lib/index.js +6 -2
  118. package/dist/lib/index.js.map +1 -1
  119. package/dist/tools/express.js +21 -18
  120. package/dist/tools/express.js.map +1 -1
  121. package/dist/tools/index.js +6 -2
  122. package/dist/tools/index.js.map +1 -1
  123. package/dist/tools/shared.js +12 -6
  124. package/dist/tools/shared.js.map +1 -1
  125. package/package.json +15 -21
  126. package/CHANGELOG.md +0 -61
  127. package/dist/docs/assets/css/main.css +0 -2321
  128. package/dist/docs/assets/images/icons.png +0 -0
  129. package/dist/docs/assets/images/icons@2x.png +0 -0
  130. package/dist/docs/assets/images/widgets.png +0 -0
  131. package/dist/docs/assets/images/widgets@2x.png +0 -0
  132. package/dist/docs/assets/js/main.js +0 -1
  133. package/dist/docs/assets/js/search.js +0 -3
  134. package/dist/docs/classes/abstractmanager.html +0 -1054
  135. package/dist/docs/classes/apiproxyclient.html +0 -509
  136. package/dist/docs/classes/apiservice.html +0 -805
  137. package/dist/docs/classes/awskmsservice.html +0 -468
  138. package/dist/docs/classes/awsmodule.html +0 -353
  139. package/dist/docs/classes/awss3service.html +0 -563
  140. package/dist/docs/classes/awssnsservice.html +0 -543
  141. package/dist/docs/classes/awssqsservice.html +0 -517
  142. package/dist/docs/classes/cacheservice.html +0 -996
  143. package/dist/docs/classes/configmodule.html +0 -311
  144. package/dist/docs/classes/dummycacheservice.html +0 -1000
  145. package/dist/docs/classes/dummycontroller.html +0 -709
  146. package/dist/docs/classes/dummydynamoservice.html +0 -915
  147. package/dist/docs/classes/dummyelastic6service.html +0 -791
  148. package/dist/docs/classes/dummyredisstorageservice.html +0 -804
  149. package/dist/docs/classes/dummystoragemaker.html +0 -383
  150. package/dist/docs/classes/dummystorageservice.html +0 -592
  151. package/dist/docs/classes/dynamoqueryservice.html +0 -413
  152. package/dist/docs/classes/dynamoscanservice.html +0 -358
  153. package/dist/docs/classes/dynamoservice.html +0 -844
  154. package/dist/docs/classes/dynamostorageservice.html +0 -623
  155. package/dist/docs/classes/elastic6queryservice.html +0 -458
  156. package/dist/docs/classes/elastic6service.html +0 -804
  157. package/dist/docs/classes/generalapicontroller.html +0 -877
  158. package/dist/docs/classes/generalcontroller.html +0 -454
  159. package/dist/docs/classes/generalcontrollerlocal.html +0 -499
  160. package/dist/docs/classes/generalcontrollerlocal2.html +0 -523
  161. package/dist/docs/classes/generalkeymaker.html +0 -335
  162. package/dist/docs/classes/generalmodelfilter.html +0 -529
  163. package/dist/docs/classes/generalwebcontroller.html +0 -580
  164. package/dist/docs/classes/hangulservice.html +0 -636
  165. package/dist/docs/classes/httpstorageservice.html +0 -539
  166. package/dist/docs/classes/lambdacognitohandler.html +0 -355
  167. package/dist/docs/classes/lambdacronhandler.html +0 -390
  168. package/dist/docs/classes/lambdacronhandlerlocal.html +0 -371
  169. package/dist/docs/classes/lambdadynamostreamhandler.html +0 -472
  170. package/dist/docs/classes/lambdadynamostreamhandlerlocal.html +0 -455
  171. package/dist/docs/classes/lambdahandler.html +0 -479
  172. package/dist/docs/classes/lambdahandlerlocal.html +0 -472
  173. package/dist/docs/classes/lambdamodule.html +0 -433
  174. package/dist/docs/classes/lambdanotificationhandler.html +0 -474
  175. package/dist/docs/classes/lambdanotificationhandlerlocal.html +0 -457
  176. package/dist/docs/classes/lambdasnshandler.html +0 -394
  177. package/dist/docs/classes/lambdasnshandlerlocal.html +0 -397
  178. package/dist/docs/classes/lambdasqshandler.html +0 -394
  179. package/dist/docs/classes/lambdasqshandlerlocal.html +0 -397
  180. package/dist/docs/classes/lambdasubhandler.html +0 -305
  181. package/dist/docs/classes/lambdawebhandler.html +0 -603
  182. package/dist/docs/classes/lambdawebhandlerlocal.html +0 -581
  183. package/dist/docs/classes/lambdawsshandler.html +0 -359
  184. package/dist/docs/classes/memcachedbackend.html +0 -900
  185. package/dist/docs/classes/mocksapiservice.html +0 -691
  186. package/dist/docs/classes/modelutil.html +0 -311
  187. package/dist/docs/classes/myconfigservice.html +0 -561
  188. package/dist/docs/classes/myconfigservicetest.html +0 -527
  189. package/dist/docs/classes/myconfigservicetest2.html +0 -522
  190. package/dist/docs/classes/mydummysqsservice.html +0 -419
  191. package/dist/docs/classes/myenginemodules.html +0 -357
  192. package/dist/docs/classes/mygeneralapicontroller.html +0 -837
  193. package/dist/docs/classes/mylemonwebcontroller.html +0 -356
  194. package/dist/docs/classes/mymodelfilter.html +0 -479
  195. package/dist/docs/classes/myprotocolservice.html +0 -993
  196. package/dist/docs/classes/myprotocolservicetest.html +0 -983
  197. package/dist/docs/classes/myservice.html +0 -329
  198. package/dist/docs/classes/mystorage.html +0 -1370
  199. package/dist/docs/classes/nodecachebackend.html +0 -714
  200. package/dist/docs/classes/protocolmodule.html +0 -311
  201. package/dist/docs/classes/proxystorageservice.html +0 -1441
  202. package/dist/docs/classes/query.html +0 -850
  203. package/dist/docs/classes/redisbackend.html +0 -781
  204. package/dist/docs/classes/redisstorageservice.html +0 -867
  205. package/dist/docs/classes/s3putobjectrequestbuilder.html +0 -509
  206. package/dist/docs/classes/scan.html +0 -685
  207. package/dist/docs/classes/snsprotocoltransformer.html +0 -334
  208. package/dist/docs/classes/sqsprotocoltransformer.html +0 -334
  209. package/dist/docs/classes/typedstorageservice.html +0 -914
  210. package/dist/docs/classes/uniquefieldmanager.html +0 -477
  211. package/dist/docs/classes/usermanager.html +0 -931
  212. package/dist/docs/classes/utilities.html +0 -1914
  213. package/dist/docs/classes/webprotocoltransformer.html +0 -330
  214. package/dist/docs/globals.html +0 -7477
  215. package/dist/docs/index.html +0 -1519
  216. package/dist/docs/interfaces/accountitem.html +0 -277
  217. package/dist/docs/interfaces/accountmodel.html +0 -306
  218. package/dist/docs/interfaces/adaptiveparam.html +0 -203
  219. package/dist/docs/interfaces/apiheaders.html +0 -183
  220. package/dist/docs/interfaces/apihttpproxy.html +0 -304
  221. package/dist/docs/interfaces/apiserviceclient.html +0 -448
  222. package/dist/docs/interfaces/autocompletesearchparam.html +0 -309
  223. package/dist/docs/interfaces/betweencondition.html +0 -226
  224. package/dist/docs/interfaces/cachebackend.html +0 -714
  225. package/dist/docs/interfaces/cacheentry.html +0 -248
  226. package/dist/docs/interfaces/cacheoptions.html +0 -267
  227. package/dist/docs/interfaces/callbackdata.html +0 -279
  228. package/dist/docs/interfaces/callbackparam.html +0 -252
  229. package/dist/docs/interfaces/comparisoncondition.html +0 -226
  230. package/dist/docs/interfaces/coreconfigservice.html +0 -342
  231. package/dist/docs/interfaces/corekey.html +0 -278
  232. package/dist/docs/interfaces/corekeymakeable.html +0 -292
  233. package/dist/docs/interfaces/corekmsservice.html +0 -311
  234. package/dist/docs/interfaces/coremodel.html +0 -499
  235. package/dist/docs/interfaces/coremodelfilterable.html +0 -281
  236. package/dist/docs/interfaces/cores3service.html +0 -444
  237. package/dist/docs/interfaces/coreservices.html +0 -232
  238. package/dist/docs/interfaces/coresnsservice.html +0 -317
  239. package/dist/docs/interfaces/corewebcontroller.html +0 -271
  240. package/dist/docs/interfaces/cronevent.html +0 -223
  241. package/dist/docs/interfaces/cronparam.html +0 -212
  242. package/dist/docs/interfaces/dynamooption.html +0 -254
  243. package/dist/docs/interfaces/dynamoqueryresult.html +0 -244
  244. package/dist/docs/interfaces/dynamoscanresult.html +0 -244
  245. package/dist/docs/interfaces/dynamosimplequeriable.html +0 -308
  246. package/dist/docs/interfaces/dynamosimplescannable.html +0 -255
  247. package/dist/docs/interfaces/dynamostreambody.html +0 -268
  248. package/dist/docs/interfaces/dynamostreamcallback.html +0 -209
  249. package/dist/docs/interfaces/dynamostreamfilter.html +0 -218
  250. package/dist/docs/interfaces/dynamostreamparam.html +0 -240
  251. package/dist/docs/interfaces/elastic6item.html +0 -221
  252. package/dist/docs/interfaces/elastic6option.html +0 -275
  253. package/dist/docs/interfaces/elastic6simplequeriable.html +0 -284
  254. package/dist/docs/interfaces/engineconsole.html +0 -292
  255. package/dist/docs/interfaces/enginecore.html +0 -344
  256. package/dist/docs/interfaces/enginemodule.html +0 -269
  257. package/dist/docs/interfaces/enginemodules.html +0 -316
  258. package/dist/docs/interfaces/engineoption.html +0 -244
  259. package/dist/docs/interfaces/enginescope.html +0 -220
  260. package/dist/docs/interfaces/existencecondition.html +0 -212
  261. package/dist/docs/interfaces/filter.html +0 -253
  262. package/dist/docs/interfaces/generalfuntion.html +0 -207
  263. package/dist/docs/interfaces/generalitem.html +0 -212
  264. package/dist/docs/interfaces/handlermap.html +0 -171
  265. package/dist/docs/interfaces/incrementable.html +0 -190
  266. package/dist/docs/interfaces/internalkey.html +0 -210
  267. package/dist/docs/interfaces/internalmodel.html +0 -226
  268. package/dist/docs/interfaces/itementry.html +0 -241
  269. package/dist/docs/interfaces/jwtcommon.html +0 -242
  270. package/dist/docs/interfaces/lambdahandlerservice.html +0 -340
  271. package/dist/docs/interfaces/lemonengine.html +0 -593
  272. package/dist/docs/interfaces/metricpostbody.html +0 -220
  273. package/dist/docs/interfaces/mygeneral.html +0 -271
  274. package/dist/docs/interfaces/mymodel.html +0 -554
  275. package/dist/docs/interfaces/myprotocolparam.html +0 -359
  276. package/dist/docs/interfaces/nextcontext.html +0 -381
  277. package/dist/docs/interfaces/nextidentity.html +0 -325
  278. package/dist/docs/interfaces/nextidentityaccess.html +0 -495
  279. package/dist/docs/interfaces/nextidentitycognito.html +0 -422
  280. package/dist/docs/interfaces/notificationbody.html +0 -171
  281. package/dist/docs/interfaces/notificationparam.html +0 -304
  282. package/dist/docs/interfaces/options.html +0 -226
  283. package/dist/docs/interfaces/parrallelcallback.html +0 -203
  284. package/dist/docs/interfaces/parrallelparam.html +0 -285
  285. package/dist/docs/interfaces/protocolbody.html +0 -183
  286. package/dist/docs/interfaces/protocolparam.html +0 -336
  287. package/dist/docs/interfaces/protocolservice.html +0 -548
  288. package/dist/docs/interfaces/protocoltransformer.html +0 -295
  289. package/dist/docs/interfaces/proxyparams.html +0 -212
  290. package/dist/docs/interfaces/putobjectresult.html +0 -282
  291. package/dist/docs/interfaces/queryresult.html +0 -272
  292. package/dist/docs/interfaces/redisoptions.html +0 -248
  293. package/dist/docs/interfaces/simplesearchparam.html +0 -351
  294. package/dist/docs/interfaces/slackaction.html +0 -240
  295. package/dist/docs/interfaces/slackattachment.html +0 -459
  296. package/dist/docs/interfaces/slackpostbody.html +0 -240
  297. package/dist/docs/interfaces/sqsattribute.html +0 -171
  298. package/dist/docs/interfaces/sqsmessage.html +0 -254
  299. package/dist/docs/interfaces/sqsrecord.html +0 -324
  300. package/dist/docs/interfaces/sqsservice.html +0 -333
  301. package/dist/docs/interfaces/sqsstatistics.html +0 -240
  302. package/dist/docs/interfaces/storagemakeable.html +0 -258
  303. package/dist/docs/interfaces/storagemodel.html +0 -285
  304. package/dist/docs/interfaces/storageservice.html +0 -497
  305. package/dist/docs/interfaces/stringcondition.html +0 -226
  306. package/dist/docs/interfaces/tagset.html +0 -171
  307. package/dist/docs/interfaces/testmodel.html +0 -334
  308. package/dist/docs/interfaces/timeout.html +0 -233
  309. package/dist/docs/interfaces/updatable.html +0 -193
  310. package/dist/docs/interfaces/user.html +0 -534
@@ -20,23 +20,25 @@ exports.Elastic6QueryService = void 0;
20
20
  *
21
21
  * @author Steve Jung <steve@lemoncloud.io>
22
22
  * @date 2019-11-20 initial version via backbone
23
+ * @date 2021-12-07 support SearchBody
23
24
  *
24
25
  * @copyright (C) 2019 LemonCloud Co Ltd. - All Rights Reserved.
25
26
  */
26
27
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
27
28
  const engine_1 = require("../engine/");
28
- const NS = engine_1.$U.NS('ES6Q', 'green'); // NAMESPACE TO BE PRINTED.
29
29
  const elastic6_service_1 = require("./elastic6-service");
30
30
  const hangul_service_1 = __importDefault(require("./hangul-service"));
31
- /** ****************************************************************************************************************
32
- * Service Main
33
- ** ****************************************************************************************************************/
31
+ const NS = engine_1.$U.NS('ES6Q', 'green'); // NAMESPACE TO BE PRINTED.
34
32
  /**
35
33
  * class: `Elastic6QueryService`
36
34
  * - support simple query like range search.
37
35
  */
38
36
  class Elastic6QueryService {
39
- constructor(options) {
37
+ /**
38
+ * use query w/ the given search-service.
39
+ * @param service the origin search-service to use.
40
+ */
41
+ constructor(service) {
40
42
  /**
41
43
  * say hello of identity.
42
44
  */
@@ -54,13 +56,16 @@ class Elastic6QueryService {
54
56
  let $O = ''; // OrderBy
55
57
  let $H = ''; // Highlight
56
58
  //! build query.
57
- const queries = engine_1.$_.reduce(param, (list, val, key) => {
59
+ const queries = Object.keys(param).reduce((list, key) => {
60
+ let val = param[key];
58
61
  // ignore internal values.
59
62
  if (key.startsWith('_'))
60
63
  return list;
61
64
  // _log(NS, `>> param[${key}] = `, val);
62
65
  if (key === '$query') {
63
- $query = { query: typeof val === 'object' ? val : JSON.parse(val) };
66
+ $query = {
67
+ query: typeof val === 'object' ? val : typeof val === 'string' ? JSON.parse(val) : `${val || ''}`,
68
+ };
64
69
  }
65
70
  else if (key === '$limit') {
66
71
  $limit = engine_1.$U.N(val, 0);
@@ -103,11 +108,11 @@ class Elastic6QueryService {
103
108
  // all.
104
109
  $source = '*';
105
110
  }
106
- else if (val && val.indexOf && val.indexOf(',')) {
111
+ else if (typeof val === 'string' && val.indexOf !== undefined) {
107
112
  // string array set.
108
- let vals = val.split(',') || [];
109
- let $includes = [];
110
- let $excludes = [];
113
+ const vals = val.split(',') || [];
114
+ const $includes = [];
115
+ const $excludes = [];
111
116
  vals.forEach(val => {
112
117
  val = `${val || ''}`.trim();
113
118
  if (!val)
@@ -126,7 +131,7 @@ class Elastic6QueryService {
126
131
  }
127
132
  }
128
133
  else if (key === '$exist' || key === '$exists') {
129
- (val.split(',') || []).forEach((val) => {
134
+ (Array.isArray(val) ? val : `${val}`.split(',') || []).forEach((val) => {
130
135
  val = `${val || ''}`.trim();
131
136
  if (!val)
132
137
  return;
@@ -141,8 +146,8 @@ class Elastic6QueryService {
141
146
  else {
142
147
  //! escape if there is ' ' except like '(a AND B)'
143
148
  const escape_val = (val) => {
144
- if (val === '') {
145
- val = '"' + val + '"';
149
+ if (typeof val === 'string' && val === '') {
150
+ return '"' + val + '"';
146
151
  }
147
152
  else if (val && typeof val === 'string') {
148
153
  if (val.startsWith('(') && val.endsWith(')')) {
@@ -166,8 +171,8 @@ class Elastic6QueryService {
166
171
  val.indexOf('\\') >= 0 ||
167
172
  val.indexOf('#') >= 0 ||
168
173
  val.indexOf('^') >= 0) {
169
- val = val.replace(/([\"\'])/gi, '\\$1'); // replace '"' -> '\"'
170
- val = '"' + val + '"';
174
+ const str = val.replace(/([\"\'])/gi, '\\$1'); // replace '"' -> '\"'
175
+ return '"' + str + '"';
171
176
  }
172
177
  }
173
178
  return val;
@@ -177,7 +182,7 @@ class Elastic6QueryService {
177
182
  if (key.startsWith('!')) {
178
183
  if (val) {
179
184
  if (Array.isArray(val)) {
180
- const vals = val.map(_ => escape_val(_));
185
+ const vals = val.map((_) => escape_val(_));
181
186
  list.push(key.substr(1) + ':(NOT (' + vals.join(' OR ') + '))');
182
187
  }
183
188
  else {
@@ -200,7 +205,7 @@ class Elastic6QueryService {
200
205
  }
201
206
  else if (val && Array.isArray(val)) {
202
207
  // list.push('(' + val.map(val => `${key}:${val}`).join(' OR ') + ')');
203
- list.push(`${key}:` + '(' + val.map(val => `${escape_val(val)}`).join(' OR ') + ')');
208
+ list.push(`${key}:` + '(' + val.map((val) => `${escape_val(val)}`).join(' OR ') + ')');
204
209
  }
205
210
  else {
206
211
  list.push(`${key}:${val}`);
@@ -283,11 +288,16 @@ class Elastic6QueryService {
283
288
  //! returns body.
284
289
  return $body;
285
290
  };
286
- // eslint-disable-next-line prettier/prettier
287
- engine_1._inf(NS, `Elastic6QueryService(${options.indexName}/${options.idName})...`);
291
+ const options = service.options;
288
292
  if (!options.indexName)
289
293
  throw new Error('.indexName is required');
290
- this.options = Object.assign({ docType: '_doc' }, options);
294
+ this.service = service;
295
+ }
296
+ /**
297
+ * get options
298
+ */
299
+ get options() {
300
+ return this.service.options;
291
301
  }
292
302
  /**
293
303
  * query all by id.
@@ -346,131 +356,129 @@ class Elastic6QueryService {
346
356
  return __awaiter(this, void 0, void 0, function* () {
347
357
  if (!param)
348
358
  throw new Error('@param (SimpleSearchParam) is required');
349
- const { endpoint, indexName, docType } = this.options;
350
- const { client } = elastic6_service_1.Elastic6Service.instance(endpoint);
351
- engine_1._log(NS, `- search(${indexName})....`);
352
- engine_1._log(NS, `> param =`, engine_1.$U.json(param));
359
+ const { indexName } = this.options;
360
+ (0, engine_1._log)(NS, `- searchSimple(${indexName})....`);
361
+ (0, engine_1._log)(NS, `> param =`, engine_1.$U.json(param));
353
362
  //! build query body.
354
- const payload = this.buildQueryBody(param);
355
- const id = '';
356
- const type = `${docType}`;
357
- const params = { index: indexName, type, body: payload };
358
- engine_1._log(NS, `> params[${id}] =`, engine_1.$U.json(params));
359
- const res = yield client.search(params).catch(elastic6_service_1.$ERROR.handler('search', e => {
360
- engine_1._err(NS, `> search[${indexName}].err =`, e);
361
- throw e;
362
- }));
363
- // {"took":6,"timed_out":false,"_shards":{"total":4,"successful":4,"skipped":0,"failed":0},"hits":{"total":1,"max_score":0.2876821,"hits":[{"_index":"test-v3","_type":"_doc","_id":"aaa","_score":0.2876821,"_source":{"name":"AAA","@id":"aaa","a":-3,"b":-2}}]}}
364
- // _log(NS, `> search[${id}].res =`, $U.json(res));
365
- engine_1._log(NS, `> search[${id}].took =`, res.took);
366
- engine_1._log(NS, `> search[${id}].hits.total =`, res.hits && res.hits.total);
367
- engine_1._log(NS, `> search[${id}].hits.max_score =`, res.hits && res.hits.max_score);
368
- engine_1._log(NS, `> search[${id}].hits.hits[0] =`, res.hits && engine_1.$U.json(res.hits.hits[0]));
369
- //! extract for result.
370
- const $hits = res.hits;
371
- const hits = ($hits && $hits.hits) || [];
372
- const total = engine_1.$U.N($hits && $hits.total, 0);
373
- const list = hits.map((_) => {
374
- const id = _ && _._id; // id of elastic-search
375
- const score = _ && _._score; // search score.
376
- const source = _ && _._source; // origin data
377
- //! save as internal
378
- source._id = source._id || id; // attach to internal-id
379
- source._score = score;
380
- // delete internal autocomplete data
381
- delete source[elastic6_service_1.Elastic6Service.DECOMPOSED_FIELD];
382
- delete source[elastic6_service_1.Elastic6Service.QWERTY_FIELD];
383
- return source;
384
- });
385
- const result = { list, total };
386
- if (res.aggregations) {
387
- const $aggregations = res.aggregations || {};
388
- result.aggregations = Object.keys($aggregations).reduce((aggrs, field) => {
389
- const { doc_count_error_upper_bound: docCountError = 0, sum_other_doc_count: docSkippedCount = 0, buckets, } = res.aggregations[field];
390
- if (docCountError > 0)
391
- engine_1._err(NS, `> [WARN] aggregation: counts for each term are not accurate.`);
392
- if (docSkippedCount > 0)
393
- engine_1._err(NS, '> [WARN] aggregation: too many unique terms in the result. some terms are skipped.');
394
- if (Array.isArray(buckets)) {
395
- aggrs[field] = buckets.map((bucket) => {
396
- return { key: bucket.key, count: bucket.doc_count };
397
- });
398
- }
399
- return aggrs;
400
- }, {});
401
- }
402
- return result;
363
+ const body = this.buildQueryBody(param);
364
+ //! search via client
365
+ const res = yield this.search(body);
366
+ //! convert to query-result.
367
+ return this.asQueryResult(body, res);
368
+ });
369
+ }
370
+ /**
371
+ * search with raw query language.
372
+ *
373
+ * @param body SearchBody.
374
+ * @returns results.
375
+ */
376
+ search(body, searchType) {
377
+ return __awaiter(this, void 0, void 0, function* () {
378
+ if (!body)
379
+ throw new Error('@body (SearchBody) is required');
380
+ return this.service.searchRaw(body, searchType);
403
381
  });
404
382
  }
383
+ /**
384
+ * convert result as `QueryResult`
385
+ * @param body the query body requested
386
+ * @param res the result
387
+ * @returns QueryResult
388
+ */
389
+ asQueryResult(body, res) {
390
+ var _a, _b, _c;
391
+ const size = engine_1.$U.N(body === null || body === void 0 ? void 0 : body.size, 10);
392
+ //! extract for result.
393
+ const hits = res === null || res === void 0 ? void 0 : res.hits;
394
+ if (typeof hits !== 'object')
395
+ throw new Error(`.hits (object) is required - hists:${engine_1.$U.json(hits)}`);
396
+ const total = engine_1.$U.N(typeof ((_a = hits.total) === null || _a === void 0 ? void 0 : _a.value) === 'number' ? (_b = hits.total) === null || _b === void 0 ? void 0 : _b.value : hits.total, 0); // since v7.x
397
+ const last = (hits === null || hits === void 0 ? void 0 : hits.hits.length) === size ? (_c = hits.hits[size - 1]) === null || _c === void 0 ? void 0 : _c.sort : undefined;
398
+ const list = ((hits && hits.hits) || []).map((N) => {
399
+ const id = N && N._id; // id of elastic-search
400
+ const score = N && N._score; // search score.
401
+ const source = N && N._source; // origin data
402
+ //! save as internal
403
+ source._id = source._id || id; // attach to internal-id
404
+ source._score = score;
405
+ // delete internal autocomplete data
406
+ delete source[elastic6_service_1.Elastic6Service.DECOMPOSED_FIELD];
407
+ delete source[elastic6_service_1.Elastic6Service.QWERTY_FIELD];
408
+ return source;
409
+ });
410
+ const result = { list, total, last };
411
+ if (res === null || res === void 0 ? void 0 : res.aggregations) {
412
+ const $aggregations = res.aggregations || {};
413
+ result.aggregations = Object.keys($aggregations).reduce((aggrs, field) => {
414
+ const { doc_count_error_upper_bound: docCountError = 0, sum_other_doc_count: docSkippedCount = 0, buckets, } = res.aggregations[field];
415
+ if (docCountError > 0)
416
+ (0, engine_1._err)(NS, `> [WARN] aggregation: counts for each term are not accurate.`);
417
+ if (docSkippedCount > 0)
418
+ (0, engine_1._err)(NS, '> [WARN] aggregation: too many unique terms in the result. some terms are skipped.');
419
+ if (Array.isArray(buckets)) {
420
+ aggrs[field] = buckets.map((bucket) => {
421
+ return { key: bucket.key, count: bucket.doc_count };
422
+ });
423
+ }
424
+ return aggrs;
425
+ }, {});
426
+ }
427
+ return result;
428
+ }
429
+ /**
430
+ * convert `AutocompleteSearchParam` to `SearchBody`
431
+ * @param param AutocompleteSearchParam
432
+ * @returns SearchBody
433
+ */
434
+ asSearchBody(param) {
435
+ const { autocompleteFields } = this.options;
436
+ // validate parameters
437
+ if (!param)
438
+ throw new Error('@param (AutocompleteSearchParam) is required');
439
+ if (!param.$query || !Object.keys(param.$query).length)
440
+ throw new Error('.query is required');
441
+ if (Object.keys(param.$query).length > 1)
442
+ throw new Error('.query accepts only one property');
443
+ const [field, query] = Object.entries(param.$query)[0];
444
+ if (!field || !query)
445
+ throw new Error(`.query is invalid`);
446
+ if (!autocompleteFields.includes(field))
447
+ throw new Error(`.query has no autocomplete field`);
448
+ // build query body
449
+ const decomposedField = `${elastic6_service_1.Elastic6Service.DECOMPOSED_FIELD}.${field}`;
450
+ const qwertyField = `${elastic6_service_1.Elastic6Service.QWERTY_FIELD}.${field}`;
451
+ const body = {
452
+ query: {
453
+ bool: {
454
+ should: [
455
+ { match: { [decomposedField]: hangul_service_1.default.asJamoSequence(query) } },
456
+ { match: { [qwertyField]: query } },
457
+ ],
458
+ minimum_should_match: 1,
459
+ },
460
+ },
461
+ };
462
+ if (param.$filter) {
463
+ body.query.bool.filter = Object.entries(param.$filter).map(([field, filter]) => {
464
+ return { term: { [field]: filter } };
465
+ });
466
+ }
467
+ body.size = engine_1.$U.N(param.$limit, 10);
468
+ body.from = engine_1.$U.N(param.$page, 0) * body.size;
469
+ return { field, query, body };
470
+ }
405
471
  /**
406
472
  * search item in Search-as-You-Type way
407
473
  * @param param AutocompleteSearchParam
408
474
  */
409
475
  searchAutocomplete(param) {
410
476
  return __awaiter(this, void 0, void 0, function* () {
411
- const { endpoint, indexName, docType: type, autocompleteFields } = this.options;
412
- const { client } = elastic6_service_1.Elastic6Service.instance(endpoint);
413
- // validate parameters
414
- if (!param)
415
- throw new Error('@param (AutocompleteSearchParam) is required');
416
- if (!param.$query || !Object.keys(param.$query).length)
417
- throw new Error('.query is required');
418
- if (Object.keys(param.$query).length > 1)
419
- throw new Error('.query accepts only one property');
420
- const [field, query] = Object.entries(param.$query)[0];
421
- if (!field || !query)
422
- throw new Error(`.query is invalid`);
423
- if (!autocompleteFields.includes(field))
424
- throw new Error(`.query has no autocomplete field`);
425
- // build query body
426
- const decomposedField = `${elastic6_service_1.Elastic6Service.DECOMPOSED_FIELD}.${field}`;
427
- const qwertyField = `${elastic6_service_1.Elastic6Service.QWERTY_FIELD}.${field}`;
428
- const body = {
429
- query: {
430
- bool: {
431
- should: [
432
- { match: { [decomposedField]: hangul_service_1.default.asJamoSequence(query) } },
433
- { match: { [qwertyField]: query } },
434
- ],
435
- minimum_should_match: 1,
436
- },
437
- },
438
- };
439
- if (param.$filter) {
440
- body.query.bool.filter = Object.entries(param.$filter).map(([field, filter]) => {
441
- return { term: { [field]: filter } };
442
- });
443
- }
444
- body.size = engine_1.$U.N(param.$limit, 10);
445
- body.from = engine_1.$U.N(param.$page, 0) * body.size;
446
- // perform search
447
- const params = { index: indexName, type, body };
448
- engine_1._log(NS, `> params =`, engine_1.$U.json(params));
449
- const res = yield client.search(params).catch(elastic6_service_1.$ERROR.handler('search', e => {
450
- engine_1._err(NS, `> search[${indexName}].err =`, e);
451
- throw e;
452
- }));
453
- engine_1._log(NS, `> search.took =`, res.took);
454
- engine_1._log(NS, `> search.hits.total =`, res.hits && res.hits.total);
455
- engine_1._log(NS, `> search.hits.max_score =`, res.hits && res.hits.max_score);
456
- engine_1._log(NS, `> search.hits.hits[0] =`, res.hits && engine_1.$U.json(res.hits.hits[0]));
457
- // extract result
458
- const $hits = res.hits;
459
- const hits = ($hits && $hits.hits) || [];
460
- const total = engine_1.$U.N($hits && $hits.total, 0);
461
- const list = hits.map((_) => {
462
- const id = _ && _._id; // id of elastic-search
463
- const score = _ && _._score; // search score.
464
- const source = _ && _._source; // origin data
465
- //! save as internal
466
- source._id = source._id || id; // attach to internal-id
467
- source._score = score;
468
- // delete internal autocomplete data
469
- delete source[elastic6_service_1.Elastic6Service.DECOMPOSED_FIELD];
470
- delete source[elastic6_service_1.Elastic6Service.QWERTY_FIELD];
471
- return source;
472
- });
477
+ const { field, query, body } = this.asSearchBody(param);
478
+ const res = yield this.service.searchRaw(body);
479
+ const result = this.asQueryResult(body, res);
473
480
  // highlighting result manually
481
+ let list = result.list;
474
482
  if (param.$highlight) {
475
483
  // prepare tag name to wrap highlighted text
476
484
  const tagName = typeof param.$highlight == 'string' ? param.$highlight : 'em';
@@ -478,7 +486,7 @@ class Elastic6QueryService {
478
486
  // e.g. 'COVID-19' => /C *O *V *I *D *- *1 *9/i
479
487
  const regexp = new RegExp([...query.replace(/\s/g, '')].join(' *'), 'i');
480
488
  // try to match regular expression with items found
481
- list.map((item) => {
489
+ list = result.list.map((item) => {
482
490
  const target = `${item[field] || ''}`;
483
491
  const match = target.match(regexp);
484
492
  if (match) {
@@ -490,9 +498,11 @@ class Elastic6QueryService {
490
498
  else {
491
499
  item._highlight = target;
492
500
  }
501
+ return item;
493
502
  });
494
503
  }
495
- return { list, total };
504
+ //! finally, override list.
505
+ return Object.assign(Object.assign({}, result), { list });
496
506
  });
497
507
  }
498
508
  }
@@ -1 +1 @@
1
- {"version":3,"file":"elastic6-query-service.js","sourceRoot":"","sources":["../../src/cores/elastic6-query-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elastic6-query-service.js","sourceRoot":"","sources":["../../src/cores/elastic6-query-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;;GAUG;AACH,6DAA6D;AAC7D,uCAAkD;AASlD,yDAAiE;AACjE,sEAAuC;AACvC,MAAM,EAAE,GAAG,WAAE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,2BAA2B;AAE9D;;;GAGG;AACH,MAAa,oBAAoB;IAG7B;;;OAGG;IACH,YAAmB,OAAwB;QAa3C;;WAEG;QACI,UAAK,GAAG,GAAG,EAAE,CAAC,0BAA0B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QA4MxE;;WAEG;QACI,mBAAc,GAAG,CAAC,KAAwB,EAAc,EAAE;YAC7D,eAAe;YACf,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,IAAI,OAAO,GAAQ,IAAI,CAAC;YACxB,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;YACf,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;YAChB,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,cAAc;YAC3B,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU;YACvB,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,YAAY;YAEzB,gBAAgB;YAChB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAc,EAAE,GAAW,EAAY,EAAE;gBAChF,IAAI,GAAG,GAAG,KAAK,CAAC,GAA8B,CAAC,CAAC;gBAChD,0BAA0B;gBAC1B,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAErC,wCAAwC;gBACxC,IAAI,GAAG,KAAK,QAAQ,EAAE;oBAClB,MAAM,GAAG;wBACL,KAAK,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,EAAE;qBACpG,CAAC;iBACL;qBAAM,IAAI,GAAG,KAAK,QAAQ,EAAE;oBACzB,MAAM,GAAG,WAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;iBACzB;qBAAM,IAAI,GAAG,KAAK,OAAO,EAAE;oBACxB,KAAK,GAAG,WAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;iBACxB;qBAAM,IAAI,GAAG,KAAK,IAAI,EAAE;oBACrB,IAAI,CAAC,GAAG,EAAE;wBACN,MAAM;qBACT;yBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;wBAChC,uCAAuC;wBACvC,MAAM,GAAG,GAAG,CAAC;qBAChB;yBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBAC5E,0BAA0B;wBAC1B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBAC5B;yBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;wBAChC,yBAAyB;wBACzB,oBAAoB;wBACpB,gDAAgD;wBAChD,wGAAwG;wBACxG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;qBACzB;iBACJ;qBAAM,IAAI,GAAG,KAAK,IAAI,EAAE;oBACrB,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,+BAA+B;iBACxD;qBAAM,IAAI,GAAG,KAAK,IAAI,EAAE;oBACrB,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,+BAA+B;iBACxD;qBAAM,IAAI,GAAG,KAAK,IAAI,EAAE;oBACrB,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,mCAAmC;iBAC5D;qBAAM,IAAI,GAAG,KAAK,SAAS,EAAE;oBAC1B,mDAAmD;oBACnD,IAAI,GAAG,KAAK,GAAG,EAAE;wBACb,OAAO;wBACP,OAAO,GAAG,GAAG,CAAC;qBACjB;yBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE;wBAC7D,oBAAoB;wBACpB,MAAM,IAAI,GAAa,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;wBAC5C,MAAM,SAAS,GAAa,EAAE,CAAC;wBAC/B,MAAM,SAAS,GAAa,EAAE,CAAC;wBAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;4BACf,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;4BAC5B,IAAI,CAAC,GAAG;gCAAE,OAAO;4BACjB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gCACrB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;6BACjC;iCAAM;gCACH,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;6BACvB;wBACL,CAAC,CAAC,CAAC;wBACH,OAAO,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;qBAC1D;yBAAM;wBACH,OAAO,GAAG,GAAG,CAAC;qBACjB;iBACJ;qBAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS,EAAE;oBAC9C,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;wBACxE,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;wBAC5B,IAAI,CAAC,GAAG;4BAAE,OAAO;wBACjB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;4BACrB,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC9C;6BAAM;4BACH,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;yBAChC;oBACL,CAAC,CAAC,CAAC;iBACN;qBAAM;oBACH,kDAAkD;oBAClD,MAAM,UAAU,GAAG,CAAC,GAAQ,EAAqB,EAAE;wBAC/C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,EAAE,EAAE;4BACvC,OAAO,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;yBAC1B;6BAAM,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;4BACvC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gCAC1C,MAAM;6BACT;iCAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gCACjD,uBAAuB;gCACvB,OAAO,GAAG,CAAC;6BACd;iCAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gCAC7B,iBAAiB;gCACjB,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oCAC1B,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gCAC5B,CAAC,CAAC,CAAC;6BACN;iCAAM;4BACH,gBAAgB;4BAChB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gCACrB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gCACtB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gCACrB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gCACtB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gCACrB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EACvB;gCACE,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB;gCACrE,OAAO,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;6BAC1B;yBACJ;wBACD,OAAO,GAAG,CAAC;oBACf,CAAC,CAAC;oBACF,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;oBAEtB,sBAAsB;oBACtB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;wBACrB,IAAI,GAAG,EAAE;4BACL,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gCACpB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gCAChD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;6BACnE;iCAAM;gCACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;6BACnD;yBACJ;6BAAM;4BACH,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC1C;qBACJ;yBAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;wBAC5B,cAAc;wBACd,OAAO,GAAG,OAAO,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;wBACpD,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE;4BAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;yBACxC;qBACJ;yBAAM,IAAI,GAAG,KAAK,SAAS,EAAE;wBAC1B,OAAO;qBACV;yBAAM,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;wBAClC,uEAAuE;wBACvE,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;qBAC/F;yBAAM;wBACH,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;qBAC9B;iBACJ;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC,EAAE,EAAE,CAAC,CAAC;YAEP,0BAA0B;YAC1B,MAAM,KAAK,GAAe,MAAM;gBAC5B,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,0BAA0B;YAEzH,gBAAgB;YAChB,IAAI,EAAE,EAAE;gBACJ,kBAAkB;gBAClB,gEAAgE;gBAChE,uDAAuD;gBACvD,IAAI;gBACJ,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAO,EAAE,GAAW,EAAE,EAAE;oBACxD,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBACxB,IAAI,GAAG,EAAE;wBACL,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;4BACtB,gBAAgB;4BAChB,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;4BACrC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;yBAC3D;6BAAM;4BACH,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;yBACvC;qBACJ;oBACD,OAAO,EAAE,CAAC;gBACd,CAAC,EAAE,EAAE,CAAC,CAAC;gBACP,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;aACzB;YAED,YAAY;YACZ,IAAI,EAAE,EAAE;gBACJ,4GAA4G;gBAC5G,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE;oBAC3C,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBACxB,IAAI,GAAG,EAAE;wBACL,IAAI,IAAI,GAAG,GAAG,CAAC;wBACf,IAAI,GAAG,GAAG,IAAI,CAAC;wBACf,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;4BACrB,UAAU;4BACV,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BACpB,GAAG,GAAG,KAAK,CAAC;yBACf;wBACD,IAAI,IAAI,EAAE;4BACN,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;yBACxD;qBACJ;oBACD,OAAO,EAAE,CAAC;gBACd,CAAC,EAAE,EAAE,CAAC,CAAC;gBAEP,IAAI,KAAK,CAAC,MAAM,EAAE;oBACd,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;iBACtB;aACJ;YAED,cAAc;YACd,IAAI,EAAE,EAAE;gBACJ,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAO,EAAE,GAAW,EAAE,EAAE;oBAC7D,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBACxB,IAAI,GAAG,EAAE;wBACL,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;qBACjC;oBACD,OAAO,EAAE,CAAC;gBACd,CAAC,EAAE,EAAE,CAAC,CAAC;gBACP,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;gBACxB,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC;aAC7C;YAED,oCAAoC;YACpC,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE;gBACb,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;gBACpB,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;oBACZ,gBAAgB;oBAChB,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;iBAC/B;aACJ;YAED,4CAA4C;YAC5C,IAAI,OAAO,KAAK,IAAI;gBAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAE9C,iBAAiB;YACjB,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC;QA5bE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAc,OAAO;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAChC,CAAC;IAOD;;;;;;OAMG;IACU,QAAQ,CAAC,EAAU,EAAE,KAAc,EAAE,MAAgB;;YAC9D,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAChC,MAAM,KAAK,GAAQ;gBACf,CAAC,MAAM,CAAC,EAAE,EAAE;aACf,CAAC;YACF,IAAI,KAAK,KAAK,SAAS;gBAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;YACjD,IAAI,MAAM,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;YACjE,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACU,YAAY,CAAC,KAAwB;;YAC9C,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACtE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YACnC,IAAA,aAAI,EAAC,EAAE,EAAE,kBAAkB,SAAS,OAAO,CAAC,CAAC;YAC7C,IAAA,aAAI,EAAC,EAAE,EAAE,WAAW,EAAE,WAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACtC,qBAAqB;YACrB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACxC,qBAAqB;YACrB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,4BAA4B;YAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;KAAA;IAED;;;;;OAKG;IACU,MAAM,CAAC,IAAgB,EAAE,UAAuB;;YACzD,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACpD,CAAC;KAAA;IAED;;;;;OAKG;IACI,aAAa,CAAC,IAAgB,EAAE,GAAQ;;QAC3C,MAAM,IAAI,GAAG,WAAE,CAAC,CAAC,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAClC,uBAAuB;QACvB,MAAM,IAAI,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,CAAC;QACvB,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,WAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrG,MAAM,KAAK,GAAG,WAAE,CAAC,CAAC,CAAC,OAAO,CAAA,MAAC,IAAI,CAAC,KAAa,0CAAE,KAAK,CAAA,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAC,IAAI,CAAC,KAAa,0CAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa;QAC9H,MAAM,IAAI,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAC,MAAM,MAAK,IAAI,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,0CAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,MAAM,IAAI,GAAQ,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACzD,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,uBAAuB;YAC9C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,gBAAgB;YAC7C,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc;YAC7C,oBAAoB;YACpB,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,wBAAwB;YACvD,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;YACtB,oCAAoC;YACpC,OAAO,MAAM,CAAC,kCAAe,CAAC,gBAAgB,CAAC,CAAC;YAChD,OAAO,MAAM,CAAC,kCAAe,CAAC,YAAY,CAAC,CAAC;YAC5C,OAAO,MAAW,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACrD,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,EAAE;YACnB,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;YAC7C,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACrE,MAAM,EACF,2BAA2B,EAAE,aAAa,GAAG,CAAC,EAC9C,mBAAmB,EAAE,eAAe,GAAG,CAAC,EACxC,OAAO,GACV,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,aAAa,GAAG,CAAC;oBAAE,IAAA,aAAI,EAAC,EAAE,EAAE,8DAA8D,CAAC,CAAC;gBAChG,IAAI,eAAe,GAAG,CAAC;oBACnB,IAAA,aAAI,EAAC,EAAE,EAAE,oFAAoF,CAAC,CAAC;gBACnG,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACxB,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE;wBACvC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;oBACxD,CAAC,CAAC,CAAC;iBACN;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC,EAAE,EAAS,CAAC,CAAC;SACjB;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,KAA8B;QAC9C,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5C,sBAAsB;QACtB,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC5E,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC9F,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAE9F,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3D,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAE7F,mBAAmB;QACnB,MAAM,eAAe,GAAG,GAAG,kCAAe,CAAC,gBAAgB,IAAI,KAAK,EAAE,CAAC;QACvE,MAAM,WAAW,GAAG,GAAG,kCAAe,CAAC,YAAY,IAAI,KAAK,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAe;YACrB,KAAK,EAAE;gBACH,IAAI,EAAE;oBACF,MAAM,EAAE;wBACJ,EAAE,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,wBAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE;wBAC/D,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE;qBACtC;oBACD,oBAAoB,EAAE,CAAC;iBAC1B;aACJ;SACJ,CAAC;QACF,IAAI,KAAK,CAAC,OAAO,EAAE;YACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE;gBAC3E,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;YACzC,CAAC,CAAC,CAAC;SACN;QACD,IAAI,CAAC,IAAI,GAAG,WAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,WAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAClC,CAAC;IAED;;;OAGG;IACU,kBAAkB,CAAC,KAA8B;;YAC1D,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAE7C,+BAA+B;YAC/B,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACvB,IAAI,KAAK,CAAC,UAAU,EAAE;gBAClB,4CAA4C;gBAC5C,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC9E,oFAAoF;gBACpF,+CAA+C;gBAC/C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;gBAEzE,mDAAmD;gBACnD,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAS,EAAK,EAAE;oBACpC,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;oBACtC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACnC,IAAI,KAAK,EAAE;wBACP,IAAI,CAAC,UAAU;4BACX,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;gCAC5B,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG;gCACtC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;qBACnD;yBAAM;wBACH,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;qBAC5B;oBACD,OAAO,IAAI,CAAC;gBAChB,CAAC,CAAC,CAAC;aACN;YAED,2BAA2B;YAC3B,uCAAY,MAAM,KAAE,IAAI,IAAG;QAC/B,CAAC;KAAA;CAoOJ;AArcD,oDAqcC"}