@bgord/bun 1.7.6 → 1.7.7

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.
@@ -9,17 +9,17 @@ type ImageProcessorOutputPathStrategy = {
9
9
  strategy: "output_path";
10
10
  input: tools.FilePathRelative | tools.FilePathAbsolute;
11
11
  output: tools.FilePathRelative | tools.FilePathAbsolute;
12
- maxSide: number;
12
+ maxSide: tools.IntegerPositiveType;
13
13
  to: tools.ExtensionType;
14
- quality?: number;
14
+ quality?: tools.IntegerPositiveType;
15
15
  background?: ImageBackground;
16
16
  };
17
17
  type ImageProcessorInPlaceStrategy = {
18
18
  strategy: "in_place";
19
19
  input: tools.FilePathRelative | tools.FilePathAbsolute;
20
- maxSide: number;
20
+ maxSide: tools.IntegerPositiveType;
21
21
  to: tools.ExtensionType;
22
- quality?: number;
22
+ quality?: tools.IntegerPositiveType;
23
23
  background?: ImageBackground;
24
24
  };
25
25
  export type ImageProcessorStrategy = ImageProcessorInPlaceStrategy | ImageProcessorOutputPathStrategy;
@@ -1 +1 @@
1
- {"version":3,"file":"image-processor.port.d.ts","sourceRoot":"","sources":["../src/image-processor.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,KAAK,eAAe,GAAG,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACpF,KAAK,gCAAgC,GAAG;IACtC,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACvD,MAAM,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B,CAAC;AACF,KAAK,6BAA6B,GAAG;IACnC,QAAQ,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,6BAA6B,GAAG,gCAAgC,CAAC;AAEtG,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;CACnG"}
1
+ {"version":3,"file":"image-processor.port.d.ts","sourceRoot":"","sources":["../src/image-processor.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,KAAK,eAAe,GAAG,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACpF,KAAK,gCAAgC,GAAG;IACtC,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACvD,MAAM,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACxD,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC;IACnC,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC;IACxB,OAAO,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC;IACpC,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B,CAAC;AACF,KAAK,6BAA6B,GAAG;IACnC,QAAQ,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACvD,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC;IACnC,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC;IACxB,OAAO,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC;IACpC,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,6BAA6B,GAAG,gCAAgC,CAAC;AAEtG,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;CACnG"}
@@ -1,4 +1,4 @@
1
- import type * as tools from "@bgord/tools";
1
+ import * as tools from "@bgord/tools";
2
2
  import type { RedactorStrategy } from "./redactor.strategy";
3
3
  type RedactorWideObjectOptions = {
4
4
  maxKeys?: tools.IntegerPositiveType;
@@ -1 +1 @@
1
- {"version":3,"file":"redactor-compact-object.strategy.d.ts","sourceRoot":"","sources":["../src/redactor-compact-object.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,KAAK,yBAAyB,GAAG;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAA;CAAE,CAAC;AAEzE,qBAAa,6BAA8B,YAAW,gBAAgB;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAM;IAE9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,GAAE,yBAA8B;IAInD,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;CASvB"}
1
+ {"version":3,"file":"redactor-compact-object.strategy.d.ts","sourceRoot":"","sources":["../src/redactor-compact-object.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,KAAK,yBAAyB,GAAG;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAA;CAAE,CAAC;AAEzE,qBAAa,6BAA8B,YAAW,gBAAgB;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAmC;IAE3E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;gBAExC,OAAO,GAAE,yBAA8B;IAInD,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;CASvB"}
@@ -1,6 +1,7 @@
1
+ import * as tools from "@bgord/tools";
1
2
  import _ from "lodash";
2
3
  export class RedactorCompactObjectStrategy {
3
- static DEFAULT_MAX_KEYS = 20;
4
+ static DEFAULT_MAX_KEYS = tools.IntegerPositive.parse(20);
4
5
  maxKeys;
5
6
  constructor(options = {}) {
6
7
  this.maxKeys = options.maxKeys ?? RedactorCompactObjectStrategy.DEFAULT_MAX_KEYS;
@@ -1 +1 @@
1
- {"version":3,"file":"redactor-compact-object.strategy.js","sourceRoot":"","sources":["../src/redactor-compact-object.strategy.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAKvB,MAAM,OAAO,6BAA6B;IAChC,MAAM,CAAU,gBAAgB,GAAG,EAAE,CAAC;IAE7B,OAAO,CAAS;IAEjC,YAAY,UAAqC,EAAE;QACjD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC,gBAAgB,CAAC;IACnF,CAAC;IAED,MAAM,CAAI,KAAQ;QAChB,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACtC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YAE9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;YAEvC,OAAO,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC"}
1
+ {"version":3,"file":"redactor-compact-object.strategy.js","sourceRoot":"","sources":["../src/redactor-compact-object.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,CAAC,MAAM,QAAQ,CAAC;AAKvB,MAAM,OAAO,6BAA6B;IAChC,MAAM,CAAU,gBAAgB,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE1D,OAAO,CAA4B;IAEpD,YAAY,UAAqC,EAAE;QACjD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC,gBAAgB,CAAC;IACnF,CAAC;IAED,MAAM,CAAI,KAAQ;QAChB,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACtC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YAE9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;YAEvC,OAAO,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC"}
@@ -17,7 +17,7 @@ export type SecurityAction = {
17
17
  } | {
18
18
  kind: "mirage";
19
19
  response: {
20
- status: number;
20
+ status: ContentfulStatusCode;
21
21
  };
22
22
  };
23
23
  export interface SecurityCountermeasureStrategy {
@@ -1 +1 @@
1
- {"version":3,"file":"security-countermeasure.strategy.d.ts","sourceRoot":"","sources":["../src/security-countermeasure.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAExF,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE;QAAE,MAAM,EAAE,oBAAoB,CAAA;KAAE,CAAA;CAAE,GAC5E;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAErD,MAAM,WAAW,8BAA8B;IAC7C,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAE3D,IAAI,IAAI,IAAI,8BAA8B,CAAC;CAC5C"}
1
+ {"version":3,"file":"security-countermeasure.strategy.d.ts","sourceRoot":"","sources":["../src/security-countermeasure.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAExF,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE;QAAE,MAAM,EAAE,oBAAoB,CAAA;KAAE,CAAA;CAAE,GAC5E;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE;QAAE,MAAM,EAAE,oBAAoB,CAAA;KAAE,CAAA;CAAE,CAAC;AAEnE,MAAM,WAAW,8BAA8B;IAC7C,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAE3D,IAAI,IAAI,IAAI,8BAA8B,CAAC;CAC5C"}
@@ -1,4 +1,4 @@
1
- import type * as tools from "@bgord/tools";
1
+ import * as tools from "@bgord/tools";
2
2
  import type { Context } from "hono";
3
3
  import type { CacheRepositoryPort } from "./cache-repository.port";
4
4
  import type { HashContentStrategy } from "./hash-content.strategy";
@@ -1 +1 @@
1
- {"version":3,"file":"security-rule-violation-threshold.strategy.d.ts","sourceRoot":"","sources":["../src/security-rule-violation-threshold.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAInE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGrE,KAAK,YAAY,GAAG;IAAE,eAAe,EAAE,mBAAmB,CAAC;IAAC,WAAW,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAE/F,qBAAa,sCAAuC,YAAW,oBAAoB;IAE/E,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAFJ,IAAI,EAAE,oBAAoB,EAC1B,MAAM,EAAE;QAAE,SAAS,EAAE,KAAK,CAAC,mBAAmB,CAAA;KAAE,EAChD,IAAI,EAAE,YAAY;IAI/B,UAAU,CAAC,CAAC,EAAE,OAAO;IAuB3B,IAAI,IAAI,sDAEP;CACF"}
1
+ {"version":3,"file":"security-rule-violation-threshold.strategy.d.ts","sourceRoot":"","sources":["../src/security-rule-violation-threshold.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAInE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGrE,KAAK,YAAY,GAAG;IAAE,eAAe,EAAE,mBAAmB,CAAC;IAAC,WAAW,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAE/F,qBAAa,sCAAuC,YAAW,oBAAoB;IAE/E,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAFJ,IAAI,EAAE,oBAAoB,EAC1B,MAAM,EAAE;QAAE,SAAS,EAAE,KAAK,CAAC,mBAAmB,CAAA;KAAE,EAChD,IAAI,EAAE,YAAY;IAI/B,UAAU,CAAC,CAAC,EAAE,OAAO;IA0B3B,IAAI,IAAI,sDAEP;CACF"}
@@ -1,3 +1,4 @@
1
+ import * as tools from "@bgord/tools";
1
2
  import { CacheSubjectResolver } from "./cache-subject-resolver.vo";
2
3
  import { CacheSubjectSegmentFixedStrategy } from "./cache-subject-segment-fixed.strategy";
3
4
  import { CacheSubjectSegmentIpStrategy } from "./cache-subject-segment-ip.strategy";
@@ -20,7 +21,7 @@ export class SecurityRuleViolationThresholdStrategy {
20
21
  return false;
21
22
  try {
22
23
  const count = (await this.deps.CacheRepository.get(subject.hex)) ?? 0;
23
- await this.deps.CacheRepository.set(subject.hex, count + 1);
24
+ await this.deps.CacheRepository.set(subject.hex, tools.IntegerNonNegative.parse(count + 1));
24
25
  if (count + 1 >= this.config.threshold)
25
26
  return true;
26
27
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"security-rule-violation-threshold.strategy.js","sourceRoot":"","sources":["../src/security-rule-violation-threshold.strategy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AAGpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAI3D,MAAM,OAAO,sCAAsC;IAE9B;IACA;IACA;IAHnB,YACmB,IAA0B,EAC1B,MAAgD,EAChD,IAAkB;QAFlB,SAAI,GAAJ,IAAI,CAAsB;QAC1B,WAAM,GAAN,MAAM,CAA0C;QAChD,SAAI,GAAJ,IAAI,CAAc;IAClC,CAAC;IAEJ,4FAA4F;IAC5F,KAAK,CAAC,UAAU,CAAC,CAAU;QACzB,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,CAAC,IAAI,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,6BAA6B,EAAE,CAAC,EACtF,IAAI,CAAC,IAAI,CACV,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAE/C,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YAE9E,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAEpE,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YACpD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,IAAI;QACN,OAAO,gBAAgB,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAClG,CAAC;CACF"}
1
+ {"version":3,"file":"security-rule-violation-threshold.strategy.js","sourceRoot":"","sources":["../src/security-rule-violation-threshold.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AAGpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAI3D,MAAM,OAAO,sCAAsC;IAE9B;IACA;IACA;IAHnB,YACmB,IAA0B,EAC1B,MAAgD,EAChD,IAAkB;QAFlB,SAAI,GAAJ,IAAI,CAAsB;QAC1B,WAAM,GAAN,MAAM,CAA0C;QAChD,SAAI,GAAJ,IAAI,CAAc;IAClC,CAAC;IAEJ,4FAA4F;IAC5F,KAAK,CAAC,UAAU,CAAC,CAAU;QACzB,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,CAAC,IAAI,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,6BAA6B,EAAE,CAAC,EACtF,IAAI,CAAC,IAAI,CACV,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAE/C,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAA+B,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YAEpG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CACjC,OAAO,CAAC,GAAG,EACX,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAC1C,CAAC;YAEF,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YACpD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,IAAI;QACN,OAAO,gBAAgB,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAClG,CAAC;CACF"}