@kiyasov/platform-hono 1.4.0 → 1.4.1

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 (23) hide show
  1. package/dist/cjs/src/multer/interceptors/any-files-interceptor.js +1 -1
  2. package/dist/cjs/src/multer/interceptors/any-files-interceptor.js.map +1 -1
  3. package/dist/cjs/src/multer/interceptors/file-fields-interceptor.js +1 -1
  4. package/dist/cjs/src/multer/interceptors/file-fields-interceptor.js.map +1 -1
  5. package/dist/cjs/src/multer/interceptors/file-interceptor.js +1 -1
  6. package/dist/cjs/src/multer/interceptors/file-interceptor.js.map +1 -1
  7. package/dist/cjs/src/multer/interceptors/files-interceptor.js +1 -1
  8. package/dist/cjs/src/multer/interceptors/files-interceptor.js.map +1 -1
  9. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  10. package/dist/esm/src/multer/interceptors/any-files-interceptor.js +2 -2
  11. package/dist/esm/src/multer/interceptors/any-files-interceptor.js.map +1 -1
  12. package/dist/esm/src/multer/interceptors/file-fields-interceptor.js +2 -2
  13. package/dist/esm/src/multer/interceptors/file-fields-interceptor.js.map +1 -1
  14. package/dist/esm/src/multer/interceptors/file-interceptor.js +2 -2
  15. package/dist/esm/src/multer/interceptors/file-interceptor.js.map +1 -1
  16. package/dist/esm/src/multer/interceptors/files-interceptor.js +2 -2
  17. package/dist/esm/src/multer/interceptors/files-interceptor.js.map +1 -1
  18. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  19. package/package.json +1 -1
  20. package/src/multer/interceptors/any-files-interceptor.ts +2 -2
  21. package/src/multer/interceptors/file-fields-interceptor.ts +2 -2
  22. package/src/multer/interceptors/file-interceptor.ts +2 -2
  23. package/src/multer/interceptors/files-interceptor.ts +2 -2
@@ -1,4 +1,4 @@
1
- import { tap } from "rxjs";
1
+ import { finalize } from "rxjs";
2
2
  import { mixin, } from "@nestjs/common";
3
3
  import { getMultipartRequest } from "../multipart/request";
4
4
  import { transformUploadOptions } from "../multipart/options";
@@ -17,7 +17,7 @@ export function AnyFilesInterceptor(options) {
17
17
  const { body, files, remove } = await handleMultipartAnyFiles(req, this.options);
18
18
  req.body = body;
19
19
  req.storageFiles = files;
20
- return next.handle().pipe(tap(remove));
20
+ return next.handle().pipe(finalize(remove));
21
21
  }
22
22
  }
23
23
  const Interceptor = mixin(MixinInterceptor);
@@ -1 +1 @@
1
- {"version":3,"file":"any-files-interceptor.js","sourceRoot":"","sources":["../../../../../src/multer/interceptors/any-files-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,GAAG,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAGL,KAAK,GAGN,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAiB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,MAAM,UAAU,mBAAmB,CACjC,OAAuB;IAEvB,MAAM,gBAAgB;QAGpB;YACE,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,KAAK,CAAC,SAAS,CACb,OAAyB,EACzB,IAAiB;YAEjB,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAErC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACnE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,uBAAuB,CAC3D,GAAG,EACH,IAAI,CAAC,OAAO,CACb,CAAC;YAEF,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAChB,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;YAEzB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,CAAC;KACF;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE5C,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"any-files-interceptor.js","sourceRoot":"","sources":["../../../../../src/multer/interceptors/any-files-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,MAAM,CAAC;AAC5C,OAAO,EAGL,KAAK,GAGN,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAiB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,MAAM,UAAU,mBAAmB,CACjC,OAAuB;IAEvB,MAAM,gBAAgB;QAGpB;YACE,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,KAAK,CAAC,SAAS,CACb,OAAyB,EACzB,IAAiB;YAEjB,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAErC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACnE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,uBAAuB,CAC3D,GAAG,EACH,IAAI,CAAC,OAAO,CACb,CAAC;YAEF,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAChB,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;YAEzB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,CAAC;KACF;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE5C,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { tap } from "rxjs";
1
+ import { finalize } from "rxjs";
2
2
  import { mixin, } from "@nestjs/common";
3
3
  import { getMultipartRequest } from "../multipart/request";
4
4
  import { transformUploadOptions } from "../multipart/options";
@@ -18,7 +18,7 @@ export function FileFieldsInterceptor(uploadFields, options) {
18
18
  const { body, files, remove } = await handleMultipartFileFields(req, this.fieldsMap, this.options);
19
19
  req.body = body;
20
20
  req.storageFiles = files;
21
- return next.handle().pipe(tap(remove));
21
+ return next.handle().pipe(finalize(remove));
22
22
  }
23
23
  }
24
24
  const Interceptor = mixin(MixinInterceptor);
@@ -1 +1 @@
1
- {"version":3,"file":"file-fields-interceptor.js","sourceRoot":"","sources":["../../../../../src/multer/interceptors/file-fields-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,GAAG,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAGL,KAAK,GAGN,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAiB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EACL,yBAAyB,EAGzB,iBAAiB,GAClB,MAAM,mCAAmC,CAAC;AAE3C,MAAM,UAAU,qBAAqB,CACnC,YAA2B,EAC3B,OAAuB;IAEvB,MAAM,gBAAgB;QAKpB;YACE,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;QAED,KAAK,CAAC,SAAS,CACb,OAAyB,EACzB,IAAiB;YAEjB,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAErC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACnE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,yBAAyB,CAC7D,GAAG,EACH,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,OAAO,CACb,CAAC;YAEF,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAChB,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;YAEzB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,CAAC;KACF;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE5C,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"file-fields-interceptor.js","sourceRoot":"","sources":["../../../../../src/multer/interceptors/file-fields-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,MAAM,CAAC;AAC5C,OAAO,EAGL,KAAK,GAGN,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAiB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EACL,yBAAyB,EAGzB,iBAAiB,GAClB,MAAM,mCAAmC,CAAC;AAE3C,MAAM,UAAU,qBAAqB,CACnC,YAA2B,EAC3B,OAAuB;IAEvB,MAAM,gBAAgB;QAKpB;YACE,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;QAED,KAAK,CAAC,SAAS,CACb,OAAyB,EACzB,IAAiB;YAEjB,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAErC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACnE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,yBAAyB,CAC7D,GAAG,EACH,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,OAAO,CACb,CAAC;YAEF,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAChB,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;YAEzB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,CAAC;KACF;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE5C,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { tap } from "rxjs";
1
+ import { finalize } from "rxjs";
2
2
  import { mixin, } from "@nestjs/common";
3
3
  import { getMultipartRequest } from "../multipart/request";
4
4
  import { transformUploadOptions } from "../multipart/options";
@@ -17,7 +17,7 @@ export function FileInterceptor(fieldname, options) {
17
17
  const { file, body, remove } = await handleMultipartSingleFile(req, fieldname, this.options);
18
18
  req.body = body;
19
19
  req.storageFile = file;
20
- return next.handle().pipe(tap(remove));
20
+ return next.handle().pipe(finalize(remove));
21
21
  }
22
22
  }
23
23
  const Interceptor = mixin(MixinInterceptor);
@@ -1 +1 @@
1
- {"version":3,"file":"file-interceptor.js","sourceRoot":"","sources":["../../../../../src/multer/interceptors/file-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,GAAG,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAGL,KAAK,GAGN,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAiB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,MAAM,UAAU,eAAe,CAC7B,SAAiB,EACjB,OAAuB;IAEvB,MAAM,gBAAgB;QAGpB;YACE,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,KAAK,CAAC,SAAS,CACb,OAAyB,EACzB,IAAiB;YAEjB,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAErC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACnE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,yBAAyB,CAC5D,GAAG,EACH,SAAS,EACT,IAAI,CAAC,OAAO,CACb,CAAC;YAEF,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAChB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;YAEvB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,CAAC;KACF;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE5C,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"file-interceptor.js","sourceRoot":"","sources":["../../../../../src/multer/interceptors/file-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,MAAM,CAAC;AAC5C,OAAO,EAGL,KAAK,GAGN,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAiB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,MAAM,UAAU,eAAe,CAC7B,SAAiB,EACjB,OAAuB;IAEvB,MAAM,gBAAgB;QAGpB;YACE,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,KAAK,CAAC,SAAS,CACb,OAAyB,EACzB,IAAiB;YAEjB,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAErC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACnE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,yBAAyB,CAC5D,GAAG,EACH,SAAS,EACT,IAAI,CAAC,OAAO,CACb,CAAC;YAEF,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAChB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;YAEvB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,CAAC;KACF;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE5C,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { tap } from "rxjs";
1
+ import { finalize } from "rxjs";
2
2
  import { mixin, } from "@nestjs/common";
3
3
  import { getMultipartRequest } from "../multipart/request";
4
4
  import { transformUploadOptions } from "../multipart/options";
@@ -17,7 +17,7 @@ export function FilesInterceptor(fieldname, maxCount = 1, options) {
17
17
  const { body, files, remove } = await handleMultipartMultipleFiles(req, fieldname, maxCount, this.options);
18
18
  req.body = body;
19
19
  req.storageFiles = files;
20
- return next.handle().pipe(tap(remove));
20
+ return next.handle().pipe(finalize(remove));
21
21
  }
22
22
  }
23
23
  const Interceptor = mixin(MixinInterceptor);
@@ -1 +1 @@
1
- {"version":3,"file":"files-interceptor.js","sourceRoot":"","sources":["../../../../../src/multer/interceptors/files-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,GAAG,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAGL,KAAK,GAGN,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAiB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEpF,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,QAAQ,GAAG,CAAC,EACZ,OAAuB;IAEvB,MAAM,gBAAgB;QAGpB;YACE,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,KAAK,CAAC,SAAS,CACb,OAAyB,EACzB,IAAiB;YAEjB,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAErC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACnE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,4BAA4B,CAChE,GAAG,EACH,SAAS,EACT,QAAQ,EACR,IAAI,CAAC,OAAO,CACb,CAAC;YAEF,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAChB,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;YAEzB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,CAAC;KACF;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE5C,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"files-interceptor.js","sourceRoot":"","sources":["../../../../../src/multer/interceptors/files-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,MAAM,CAAC;AAC5C,OAAO,EAGL,KAAK,GAGN,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAiB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEpF,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,QAAQ,GAAG,CAAC,EACZ,OAAuB;IAEvB,MAAM,gBAAgB;QAGpB;YACE,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,KAAK,CAAC,SAAS,CACb,OAAyB,EACzB,IAAiB;YAEjB,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAErC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACnE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,4BAA4B,CAChE,GAAG,EACH,SAAS,EACT,QAAQ,EACR,IAAI,CAAC,OAAO,CACb,CAAC;YAEF,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAChB,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;YAEzB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,CAAC;KACF;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE5C,OAAO,WAAW,CAAC;AACrB,CAAC"}