@enbox/dwn-sdk-js 0.4.16 → 0.4.17
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.
- package/dist/browser.mjs +1 -1
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/generated/precompiled-validators.js +734 -747
- package/dist/esm/generated/precompiled-validators.js.map +1 -1
- package/dist/esm/json-schemas/definitions.json +5 -0
- package/dist/esm/src/core/dwn-constant.js +2 -2
- package/dist/esm/src/core/dwn-error.js +0 -1
- package/dist/esm/src/core/dwn-error.js.map +1 -1
- package/dist/esm/src/core/protocol-authorization-validation.js +1 -24
- package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -1
- package/dist/esm/src/core/protocol-authorization.js +1 -5
- package/dist/esm/src/core/protocol-authorization.js.map +1 -1
- package/dist/esm/src/core/validation-state-reader.js +2 -3
- package/dist/esm/src/core/validation-state-reader.js.map +1 -1
- package/dist/esm/src/handlers/records-count.js +18 -10
- package/dist/esm/src/handlers/records-count.js.map +1 -1
- package/dist/esm/src/handlers/records-query.js +10 -7
- package/dist/esm/src/handlers/records-query.js.map +1 -1
- package/dist/esm/src/handlers/records-subscribe.js +10 -7
- package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
- package/dist/esm/src/handlers/records-write.js +8 -26
- package/dist/esm/src/handlers/records-write.js.map +1 -1
- package/dist/esm/src/index.js +1 -1
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/interfaces/protocols-configure.js +4 -9
- package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
- package/dist/esm/src/store/index-level.js +143 -6
- package/dist/esm/src/store/index-level.js.map +1 -1
- package/dist/esm/src/store/message-store-level.js +158 -21
- package/dist/esm/src/store/message-store-level.js.map +1 -1
- package/dist/esm/src/store/storage-controller.js +1 -3
- package/dist/esm/src/store/storage-controller.js.map +1 -1
- package/dist/esm/src/types/protocols-types.js +0 -10
- package/dist/esm/src/types/protocols-types.js.map +1 -1
- package/dist/esm/src/utils/filter.js +35 -1
- package/dist/esm/src/utils/filter.js.map +1 -1
- package/dist/esm/src/utils/grant-key-coverage.js +4 -6
- package/dist/esm/src/utils/grant-key-coverage.js.map +1 -1
- package/dist/esm/src/utils/messages.js +4 -14
- package/dist/esm/src/utils/messages.js.map +1 -1
- package/dist/esm/src/utils/permission-scope.js +3 -9
- package/dist/esm/src/utils/permission-scope.js.map +1 -1
- package/dist/esm/src/utils/record-limit-occupancy.js +70 -202
- package/dist/esm/src/utils/record-limit-occupancy.js.map +1 -1
- package/dist/esm/src/utils/records.js +9 -9
- package/dist/esm/src/utils/records.js.map +1 -1
- package/dist/esm/tests/core/records-grant-authorization.spec.js +13 -0
- package/dist/esm/tests/core/records-grant-authorization.spec.js.map +1 -1
- package/dist/esm/tests/core/replication-replay-property.spec.js +2 -2
- package/dist/esm/tests/core/replication-replay-property.spec.js.map +1 -1
- package/dist/esm/tests/core/validation-read-closure.spec.js +1 -1
- package/dist/esm/tests/core/validation-read-closure.spec.js.map +1 -1
- package/dist/esm/tests/dwn.spec.js +2 -2
- package/dist/esm/tests/dwn.spec.js.map +1 -1
- package/dist/esm/tests/features/records-delivery.spec.js +2 -5
- package/dist/esm/tests/features/records-delivery.spec.js.map +1 -1
- package/dist/esm/tests/features/records-nested-query-scope.spec.js +138 -73
- package/dist/esm/tests/features/records-nested-query-scope.spec.js.map +1 -1
- package/dist/esm/tests/features/records-record-limit.spec.js +264 -95
- package/dist/esm/tests/features/records-record-limit.spec.js.map +1 -1
- package/dist/esm/tests/fuzz/filter.fuzz.spec.js +19 -4
- package/dist/esm/tests/fuzz/filter.fuzz.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-write.spec.js +57 -3
- package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
- package/dist/esm/tests/store/index-level.spec.js +114 -1
- package/dist/esm/tests/store/index-level.spec.js.map +1 -1
- package/dist/esm/tests/store/message-store-cross-context.spec.js +46 -0
- package/dist/esm/tests/store/message-store-cross-context.spec.js.map +1 -0
- package/dist/esm/tests/store/message-store-level.spec.js +6 -0
- package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
- package/dist/esm/tests/store/message-store.spec.js +81 -0
- package/dist/esm/tests/store/message-store.spec.js.map +1 -1
- package/dist/esm/tests/utils/filters.spec.js +25 -4
- package/dist/esm/tests/utils/filters.spec.js.map +1 -1
- package/dist/esm/tests/utils/permission-scope.spec.js +4 -0
- package/dist/esm/tests/utils/permission-scope.spec.js.map +1 -1
- package/dist/esm/tests/utils/records.spec.js +12 -0
- package/dist/esm/tests/utils/records.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +3 -1
- package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -1
- package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
- package/dist/types/src/core/dwn-constant.d.ts +2 -2
- package/dist/types/src/core/dwn-error.d.ts +0 -1
- package/dist/types/src/core/dwn-error.d.ts.map +1 -1
- package/dist/types/src/core/protocol-authorization-validation.d.ts +0 -10
- package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -1
- package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
- package/dist/types/src/core/validation-state-reader.d.ts.map +1 -1
- package/dist/types/src/handlers/records-count.d.ts +1 -0
- package/dist/types/src/handlers/records-count.d.ts.map +1 -1
- package/dist/types/src/handlers/records-query.d.ts.map +1 -1
- package/dist/types/src/handlers/records-subscribe.d.ts.map +1 -1
- package/dist/types/src/handlers/records-write.d.ts +3 -0
- package/dist/types/src/handlers/records-write.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +3 -3
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
- package/dist/types/src/store/index-level.d.ts +37 -0
- package/dist/types/src/store/index-level.d.ts.map +1 -1
- package/dist/types/src/store/message-store-level.d.ts +23 -6
- package/dist/types/src/store/message-store-level.d.ts.map +1 -1
- package/dist/types/src/store/storage-controller.d.ts.map +1 -1
- package/dist/types/src/types/message-store.d.ts +23 -2
- package/dist/types/src/types/message-store.d.ts.map +1 -1
- package/dist/types/src/types/protocols-types.d.ts +7 -24
- package/dist/types/src/types/protocols-types.d.ts.map +1 -1
- package/dist/types/src/types/query-types.d.ts +8 -1
- package/dist/types/src/types/query-types.d.ts.map +1 -1
- package/dist/types/src/types/records-types.d.ts +2 -1
- package/dist/types/src/types/records-types.d.ts.map +1 -1
- package/dist/types/src/utils/filter.d.ts +14 -1
- package/dist/types/src/utils/filter.d.ts.map +1 -1
- package/dist/types/src/utils/grant-key-coverage.d.ts.map +1 -1
- package/dist/types/src/utils/messages.d.ts.map +1 -1
- package/dist/types/src/utils/permission-scope.d.ts +0 -2
- package/dist/types/src/utils/permission-scope.d.ts.map +1 -1
- package/dist/types/src/utils/record-limit-occupancy.d.ts +25 -12
- package/dist/types/src/utils/record-limit-occupancy.d.ts.map +1 -1
- package/dist/types/src/utils/records.d.ts +3 -2
- package/dist/types/src/utils/records.d.ts.map +1 -1
- package/dist/types/tests/features/records-delivery.spec.d.ts.map +1 -1
- package/dist/types/tests/features/records-nested-query-scope.spec.d.ts.map +1 -1
- package/dist/types/tests/features/records-record-limit.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -1
- package/dist/types/tests/store/message-store-cross-context.spec.d.ts +2 -0
- package/dist/types/tests/store/message-store-cross-context.spec.d.ts.map +1 -0
- package/dist/types/tests/store/message-store.spec.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/core/dwn-constant.ts +2 -2
- package/src/core/dwn-error.ts +0 -2
- package/src/core/protocol-authorization-validation.ts +1 -33
- package/src/core/protocol-authorization.ts +0 -7
- package/src/core/validation-state-reader.ts +2 -3
- package/src/handlers/records-count.ts +34 -13
- package/src/handlers/records-query.ts +14 -11
- package/src/handlers/records-subscribe.ts +18 -11
- package/src/handlers/records-write.ts +17 -32
- package/src/index.ts +3 -3
- package/src/interfaces/protocols-configure.ts +4 -13
- package/src/store/index-level.ts +197 -10
- package/src/store/message-store-level.ts +216 -25
- package/src/store/storage-controller.ts +1 -3
- package/src/types/message-store.ts +25 -2
- package/src/types/protocols-types.ts +7 -26
- package/src/types/query-types.ts +10 -2
- package/src/types/records-types.ts +2 -1
- package/src/utils/filter.ts +40 -3
- package/src/utils/grant-key-coverage.ts +4 -7
- package/src/utils/messages.ts +4 -14
- package/src/utils/permission-scope.ts +4 -11
- package/src/utils/record-limit-occupancy.ts +105 -293
- package/src/utils/records.ts +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records-record-limit.spec.js","sourceRoot":"","sources":["../../../../tests/features/records-record-limit.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"records-record-limit.spec.js","sourceRoot":"","sources":["../../../../tests/features/records-record-limit.spec.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEtG,MAAM,UAAU,sBAAsB;IACpC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,IAAI,WAAwB,CAAC;QAC7B,IAAI,YAA0B,CAAC;QAC/B,IAAI,SAAoB,CAAC;QACzB,IAAI,kBAAsC,CAAC;QAC3C,IAAI,QAAkB,CAAC;QACvB,IAAI,GAAQ,CAAC;QAEb,mGAAmG;QACnG,6EAA6E;QAC7E,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,WAAW,GAAG,IAAI,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAEhE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;YAChC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YACnC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YAC7B,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;YAC/C,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;YAE9B,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;YAClB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,KAAK,UAAU,eAAe,CAAC,KAI9B;YACC,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,0BAA0B,CAAC;gBACxE,MAAM,EAAe,KAAK,CAAC,MAAM;gBACjC,kBAAkB,EAAG,KAAK,CAAC,UAAU;gBACrC,gBAAgB,EAAK,6BAA6B;aACnD,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;YACtG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QAED,KAAK,UAAU,mBAAmB,CAAC,KAQlC;YACC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;gBAC1D,MAAM,EAAa,KAAK,CAAC,MAAM;gBAC/B,SAAS,EAAU,KAAK,CAAC,MAAM,CAAC,GAAG;gBACnC,QAAQ,EAAW,KAAK,CAAC,QAAQ;gBACjC,YAAY,EAAO,KAAK,CAAC,YAAY;gBACrC,eAAe,EAAI,KAAK,CAAC,eAAe;gBACxC,SAAS,EAAU,KAAK,CAAC,SAAS;gBAClC,WAAW,EAAQ,KAAK,CAAC,WAAW;gBACpC,gBAAgB,EAAG,KAAK,CAAC,WAAW;aACrC,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YACjI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,UAAU,sBAAsB,CAAC,KAQrC;YACC,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;gBAChE,MAAM,EAAG,KAAK,CAAC,MAAM;gBACrB,MAAM,EAAG;oBACP,QAAQ,EAAO,KAAK,CAAC,QAAQ;oBAC7B,YAAY,EAAG,KAAK,CAAC,YAAY;oBACjC,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;iBACzE;gBACD,QAAQ,EAAK,KAAK,CAAC,QAAQ;gBAC3B,UAAU,EAAG,KAAK,CAAC,UAAU;aAC9B,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAsB,CAAC;YACzH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEpC,OAAO;gBACL,SAAS,EAAG,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,EAAU,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACvE,MAAM,EAAM,KAAK,CAAC,MAAM;aACzB,CAAC;QACJ,CAAC;QAED,KAAK,UAAU,oBAAoB,CAAC,KAMnC;YACC,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;gBAChE,MAAM,EAAG,KAAK,CAAC,MAAM;gBACrB,MAAM,EAAG;oBACP,QAAQ,EAAO,KAAK,CAAC,QAAQ;oBAC7B,YAAY,EAAG,KAAK,CAAC,YAAY;oBACjC,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;iBACzE;aACF,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAsB,CAAC;YACzH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC,KAAM,CAAC;QACtB,CAAC;QAED,KAAK,UAAU,UAAU,CAAC,KAIzB;YACC,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC;gBAC3C,MAAM,EAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;gBACvC,MAAM,EAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;aACtC,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAqB,CAAC;QAClH,CAAC;QAED,KAAK,UAAU,0BAA0B,CAAC,KAMzC;YACC,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,wBAAwB,CAAC;gBACxE,MAAM,EAAG,KAAK,CAAC,MAAM;gBACrB,MAAM,EAAG;oBACP,QAAQ,EAAO,KAAK,CAAC,QAAQ;oBAC7B,YAAY,EAAG,KAAK,CAAC,YAAY;oBACjC,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;iBACzE;aACF,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,cAAc,CACzD,KAAK,CAAC,MAAM,CAAC,GAAG,EAChB,gBAAgB,CAAC,OAAO,EACxB,EAAE,mBAAmB,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CACT,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,EAAU,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrE,CAAC;QAED,KAAK,UAAU,oBAAoB,CAAC,KAInC;YACC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC9F,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAU,CAAC;aAC1D,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC7F,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;YAC7C,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;gBAC1D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,UAAU,GAAuB;oBACrC,QAAQ,EAAI,iCAAiC;oBAC7C,SAAS,EAAG,IAAI;oBAChB,KAAK,EAAO,EAAE,OAAO,EAAE,EAAE,EAAE;oBAC3B,SAAS,EAAG;wBACV,OAAO,EAAE;4BACP,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;yBACzB;qBACF;iBACF,CAAC;gBAEF,MAAM,kBAAkB,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC;oBACzD,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAC/B,UAAU;iBACX,CAAC,CAAC;gBAEH,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;gBACvE,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9G,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;gBACvD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,UAAU,GAAuB;oBACrC,QAAQ,EAAI,iCAAiC;oBAC7C,SAAS,EAAG,IAAI;oBAChB,KAAK,EAAO,EAAE,OAAO,EAAE,EAAE,EAAE;oBAC3B,SAAS,EAAG;wBACV,OAAO,EAAE;4BACP,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;yBACzB;qBACF;iBACF,CAAC;gBAEF,MAAM,kBAAkB,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC;oBACzD,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAC/B,UAAU;iBACX,CAAC,CAAC;gBAEH,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9G,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;gBAClE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,UAAU,GAAuB;oBACrC,QAAQ,EAAI,iCAAiC;oBAC7C,SAAS,EAAG,IAAI;oBAChB,KAAK,EAAO,EAAE,OAAO,EAAE,EAAE,EAAE;oBAC3B,SAAS,EAAG;wBACV,OAAO,EAAE;4BACP,YAAY,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,cAAc,GAAG,CAAC,EAAE;yBACtD;qBACF;iBACF,CAAC;gBAEF,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC;oBACxC,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAC/B,UAAU;iBACX,CAAC,CAAC;gBAEH,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,oCAAoC,CAAC,CAAC;YAC3F,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;gBAC/D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,UAAU,GAAuB;oBACrC,QAAQ,EAAI,iCAAiC;oBAC7C,SAAS,EAAG,IAAI;oBAChB,KAAK,EAAO,EAAE,OAAO,EAAE,EAAE,EAAE;oBAC3B,SAAS,EAAG;wBACV,OAAO,EAAE;4BACP,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAS;yBAChC;qBACF;iBACF,CAAC;gBAEF,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC;oBACxC,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAC/B,UAAU;iBACX,CAAC,CAAC;gBAEH,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;gBAC/D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,UAAU,GAAuB;oBACrC,QAAQ,EAAI,iCAAiC;oBAC7C,SAAS,EAAG,IAAI;oBAChB,KAAK,EAAO,EAAE,OAAO,EAAE,EAAE,EAAE;oBAC3B,SAAS,EAAG;wBACV,OAAO,EAAE;4BACP,YAAY,EAAE,EAAE,GAAG,EAAE,GAAG,EAAS;yBAClC;qBACF;iBACF,CAAC;gBAEF,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC;oBACxC,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAC/B,UAAU;iBACX,CAAC,CAAC;gBAEH,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;gBACxE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,UAAU,GAAuB;oBACrC,QAAQ,EAAI,iCAAiC;oBAC7C,SAAS,EAAG,IAAI;oBAChB,KAAK,EAAO,EAAE,OAAO,EAAE,EAAE,EAAE;oBAC3B,SAAS,EAAG;wBACV,OAAO,EAAE;4BACP,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAS;yBACpD;qBACF;iBACF,CAAC;gBAEF,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC;oBACxC,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAC/B,UAAU;iBACX,CAAC,CAAC;gBAEH,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;gBAClE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,UAAU,GAAuB;oBACrC,QAAQ,EAAI,iCAAiC;oBAC7C,SAAS,EAAG,IAAI;oBAChB,KAAK,EAAO;wBACV,IAAI,EAAM,EAAE;wBACZ,OAAO,EAAG,EAAE;qBACb;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE;4BACJ,OAAO,EAAE;gCACP,YAAY,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;6BAC3B;yBACF;qBACF;iBACF,CAAC;gBAEF,MAAM,kBAAkB,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC;oBACzD,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;oBAC/B,UAAU;iBACX,CAAC,CAAC;gBAEH,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,IAAW,CAAC;gBAC3F,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;YAC9C,EAAE,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;gBAClG,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,kBAAkB,GAAuB;oBAC7C,QAAQ,EAAI,uBAAuB,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM;oBAC3E,SAAS,EAAG,IAAI;oBAChB,KAAK,EAAO,EAAE,IAAI,EAAE,EAAE,EAAE;oBACxB,SAAS,EAAG;wBACV,IAAI,EAAE;4BACJ,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;yBACzB;qBACF;iBACF,CAAC;gBACF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAC7C,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAEzE,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC;oBACxC,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,MAAM;oBACrB,WAAW,EAAI,6BAA6B;iBAC7C,CAAC,CAAC;gBACH,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE;oBAC1E,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,SAAU,CAAC;iBACrD,CAAC,CAAC;gBACH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE7C,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC;oBACxC,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,MAAM;oBACrB,WAAW,EAAI,6BAA6B;iBAC7C,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC;oBACxC,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,MAAM;oBACrB,WAAW,EAAI,6BAA6B;iBAC7C,CAAC,CAAC;gBAEH,MAAM,CAAC,CAAC,MAAM,sBAAsB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;oBAC1G,OAAO,CAAC,OAAO,CAAC,QAAQ;oBACxB,OAAO,CAAC,OAAO,CAAC,QAAQ;iBACzB,CAAC,CAAC;gBACH,MAAM,CAAC,MAAM,oBAAoB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAE9F,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5F,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1C,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAEjF,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC3F,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;gBACnG,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,kBAAkB,GAAuB;oBAC7C,QAAQ,EAAI,uBAAuB,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM;oBAC3E,SAAS,EAAG,IAAI;oBAChB,KAAK,EAAO,EAAE,OAAO,EAAE,EAAE,EAAE;oBAC3B,SAAS,EAAG;wBACV,OAAO,EAAE;4BACP,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;yBACzB;qBACF;iBACF,CAAC;gBACF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAC7C,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAEzE,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC;oBACxC,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,SAAS;oBACxB,WAAW,EAAI,6BAA6B;iBAC7C,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC;oBACxC,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,SAAS;oBACxB,WAAW,EAAI,6BAA6B;iBAC7C,CAAC,CAAC;gBAEH,MAAM,CAAC,CAAC,MAAM,sBAAsB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;oBAC7G,OAAO,CAAC,OAAO,CAAC,QAAQ;iBACzB,CAAC,CAAC;gBAEH,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,CAAC;oBACjE,MAAM,EAAK,KAAK;oBAChB,QAAQ,EAAG,OAAO,CAAC,OAAO,CAAC,QAAQ;iBACpC,CAAC,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC9E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE1C,MAAM,CAAC,CAAC,MAAM,sBAAsB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;oBAC7G,OAAO,CAAC,OAAO,CAAC,QAAQ;iBACzB,CAAC,CAAC;gBACH,MAAM,CAAC,CAAC,MAAM,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1G,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wGAAwG,EAAE,KAAK,IAAI,EAAE;gBACtH,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,kBAAkB,GAAuB;oBAC7C,QAAQ,EAAI,uBAAuB,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM;oBAC3E,SAAS,EAAG,IAAI;oBAChB,KAAK,EAAO;wBACV,IAAI,EAAM,EAAE;wBACZ,OAAO,EAAG,EAAE;qBACb;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE;4BACJ,OAAO,EAAE;gCACP,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;6BACzB;yBACF;qBACF;iBACF,CAAC;gBACF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAC7C,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAEzE,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC;oBACtC,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,MAAM;oBACrB,WAAW,EAAI,6BAA6B;iBAC7C,CAAC,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC;oBACtC,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,MAAM;oBACrB,WAAW,EAAI,6BAA6B;iBAC7C,CAAC,CAAC;gBAEH,MAAM,aAAa,GAAG;oBACpB,MAAM,mBAAmB,CAAC;wBACxB,MAAM,EAAY,KAAK;wBACvB,QAAQ;wBACR,YAAY,EAAM,cAAc;wBAChC,eAAe,EAAG,KAAK,CAAC,OAAO,CAAC,SAAS;wBACzC,WAAW,EAAO,6BAA6B;qBAChD,CAAC;oBACF,MAAM,mBAAmB,CAAC;wBACxB,MAAM,EAAY,KAAK;wBACvB,QAAQ;wBACR,YAAY,EAAM,cAAc;wBAChC,eAAe,EAAG,KAAK,CAAC,OAAO,CAAC,SAAS;wBACzC,WAAW,EAAO,6BAA6B;qBAChD,CAAC;oBACF,MAAM,mBAAmB,CAAC;wBACxB,MAAM,EAAY,KAAK;wBACvB,QAAQ;wBACR,YAAY,EAAM,cAAc;wBAChC,eAAe,EAAG,KAAK,CAAC,OAAO,CAAC,SAAS;wBACzC,WAAW,EAAO,6BAA6B;qBAChD,CAAC;iBACH,CAAC;gBACF,MAAM,aAAa,GAAG;oBACpB,MAAM,mBAAmB,CAAC;wBACxB,MAAM,EAAY,KAAK;wBACvB,QAAQ;wBACR,YAAY,EAAM,cAAc;wBAChC,eAAe,EAAG,KAAK,CAAC,OAAO,CAAC,SAAS;wBACzC,WAAW,EAAO,6BAA6B;qBAChD,CAAC;oBACF,MAAM,mBAAmB,CAAC;wBACxB,MAAM,EAAY,KAAK;wBACvB,QAAQ;wBACR,YAAY,EAAM,cAAc;wBAChC,eAAe,EAAG,KAAK,CAAC,OAAO,CAAC,SAAS;wBACzC,WAAW,EAAO,6BAA6B;qBAChD,CAAC;oBACF,MAAM,mBAAmB,CAAC;wBACxB,MAAM,EAAY,KAAK;wBACvB,QAAQ;wBACR,YAAY,EAAM,cAAc;wBAChC,eAAe,EAAG,KAAK,CAAC,OAAO,CAAC,SAAS;wBACzC,WAAW,EAAO,6BAA6B;qBAChD,CAAC;iBACH,CAAC;gBAEF,MAAM,CAAC,CAAC,MAAM,sBAAsB,CAAC;oBACnC,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,cAAc;oBAC7B,SAAS,EAAM,KAAK,CAAC,OAAO,CAAC,SAAS;iBACvC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;oBACrB,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;oBACjC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;iBAClC,CAAC,CAAC;gBACH,MAAM,CAAC,CAAC,MAAM,sBAAsB,CAAC;oBACnC,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,cAAc;oBAC7B,SAAS,EAAM,KAAK,CAAC,OAAO,CAAC,SAAS;iBACvC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;oBACrB,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;oBACjC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;iBAClC,CAAC,CAAC;gBAEH,MAAM,CAAC,CAAC,MAAM,sBAAsB,CAAC;oBACnC,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,cAAc;oBAC7B,SAAS,EAAM,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS;iBAClD,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5D,MAAM,CAAC,MAAM,oBAAoB,CAAC;oBAChC,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,cAAc;oBAC7B,SAAS,EAAM,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS;iBAClD,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAEZ,MAAM,CAAC,CAAC,MAAM,sBAAsB,CAAC;oBACnC,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,cAAc;oBAC7B,SAAS,EAAM,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS;iBAClD,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC3B,MAAM,CAAC,MAAM,oBAAoB,CAAC;oBAChC,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,cAAc;oBAC7B,SAAS,EAAM,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS;iBAClD,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAEZ,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBAC9D,MAAM,EAAG,KAAK;oBACd,MAAM,EAAG;wBACP,QAAQ;wBACR,YAAY,EAAE,cAAc;qBAC7B;iBACF,CAAC,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAsB,CAAC;gBAChG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,8CAA8C,CAAC,CAAC;YAC1G,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;gBACpF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,MAAM,kBAAkB,GAAuB;oBAC7C,QAAQ,EAAI,uBAAuB,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM;oBAC3E,SAAS,EAAG,IAAI;oBAChB,KAAK,EAAO;wBACV,OAAO,EAAK,EAAE;wBACd,SAAS,EAAG,EAAE;wBACd,OAAO,EAAK,EAAE;qBACf;oBACD,SAAS,EAAE;wBACT,SAAS,EAAE;4BACT,OAAO,EAAE;gCACP,OAAO,EAAE;oCACP,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;iCACzB;6BACF;yBACF;qBACF;iBACF,CAAC;gBACF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAC7C,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAEzE,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC;oBAC1C,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,WAAW;oBAC1B,WAAW,EAAI,6BAA6B;iBAC7C,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC;oBACzC,MAAM,EAAY,KAAK;oBACvB,QAAQ;oBACR,YAAY,EAAM,mBAAmB;oBACrC,eAAe,EAAG,SAAS,CAAC,OAAO,CAAC,SAAS;oBAC7C,WAAW,EAAO,6BAA6B;iBAChD,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC;oBACzC,MAAM,EAAY,KAAK;oBACvB,QAAQ;oBACR,YAAY,EAAM,mBAAmB;oBACrC,eAAe,EAAG,SAAS,CAAC,OAAO,CAAC,SAAS;oBAC7C,WAAW,EAAO,6BAA6B;iBAChD,CAAC,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAExE,sEAAsE;gBACtE,oEAAoE;gBACpE,2EAA2E;gBAC3E,MAAM,gBAAgB,GAAG;oBACvB,MAAM,mBAAmB,CAAC;wBACxB,MAAM,EAAY,KAAK;wBACvB,QAAQ;wBACR,YAAY,EAAM,2BAA2B;wBAC7C,eAAe,EAAG,QAAQ,CAAC,OAAO,CAAC,SAAS;wBAC5C,WAAW,EAAO,6BAA6B;qBAChD,CAAC;oBACF,MAAM,mBAAmB,CAAC;wBACxB,MAAM,EAAY,KAAK;wBACvB,QAAQ;wBACR,YAAY,EAAM,2BAA2B;wBAC7C,eAAe,EAAG,QAAQ,CAAC,OAAO,CAAC,SAAS;wBAC5C,SAAS,EAAS,IAAI;wBACtB,WAAW,EAAO,6BAA6B;qBAChD,CAAC;oBACF,MAAM,mBAAmB,CAAC;wBACxB,MAAM,EAAY,KAAK;wBACvB,QAAQ;wBACR,YAAY,EAAM,2BAA2B;wBAC7C,eAAe,EAAG,QAAQ,CAAC,OAAO,CAAC,SAAS;wBAC5C,SAAS,EAAS,IAAI;wBACtB,WAAW,EAAO,6BAA6B;qBAChD,CAAC;iBACH,CAAC;gBACF,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC;oBAC7C,MAAM,EAAY,KAAK;oBACvB,QAAQ;oBACR,YAAY,EAAM,2BAA2B;oBAC7C,eAAe,EAAG,QAAQ,CAAC,OAAO,CAAC,SAAS;oBAC5C,SAAS,EAAS,IAAI;oBACtB,WAAW,EAAO,6BAA6B;iBAChD,CAAC,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC;oBAC7C,MAAM,EAAY,KAAK;oBACvB,QAAQ;oBACR,YAAY,EAAM,2BAA2B;oBAC7C,eAAe,EAAG,QAAQ,CAAC,OAAO,CAAC,SAAS;oBAC5C,SAAS,EAAS,IAAI;oBACtB,WAAW,EAAO,6BAA6B;iBAChD,CAAC,CAAC;gBACH,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC;oBAC/C,MAAM,EAAY,KAAK;oBACvB,QAAQ;oBACR,YAAY,EAAM,2BAA2B;oBAC7C,eAAe,EAAG,QAAQ,CAAC,OAAO,CAAC,SAAS;oBAC5C,SAAS,EAAS,IAAI;oBACtB,WAAW,EAAO,6BAA6B;iBAChD,CAAC,CAAC;gBACH,MAAM,gBAAgB,GAAG,CAAC,cAAc,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;gBACtE,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;oBAC1G,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACrB,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACxB,MAAM,iBAAiB,GAAG;oBACxB,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;oBACpC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;oBACpC,wBAAwB,CAAC,OAAO,CAAC,QAAQ;oBACzC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;iBACrC,CAAC;gBACF,MAAM,UAAU,GAAG;oBACjB,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,2BAA2B;oBAC1C,SAAS,EAAM,SAAS,CAAC,OAAO,CAAC,SAAS;iBAC3C,CAAC;gBAEF,MAAM,CAAC,CAAC,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBACxF,MAAM,CAAC,CAAC,MAAM,sBAAsB,CAAC;oBACnC,GAAG,UAAU;oBACb,QAAQ,EAAE,QAAQ,CAAC,iBAAiB;iBACrC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzD,MAAM,CAAC,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC9E,MAAM,CAAC,MAAM,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAEhF,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,EAAE,GAAG,UAAU,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxF,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC/D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;gBAEnC,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC;oBACzC,GAAG,UAAU;oBACb,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAO,EAAE;iBAChD,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;gBAErC,MAAM,eAAe,GAAG,MAAM,sBAAsB,CAAC;oBACnD,GAAG,UAAU;oBACb,QAAQ,EAAK,QAAQ,CAAC,iBAAiB;oBACvC,UAAU,EAAG,EAAE,KAAK,EAAE,CAAC,EAAE;iBAC1B,CAAC,CAAC;gBACH,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxF,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;gBAE7C,MAAM,eAAe,GAAG,MAAM,sBAAsB,CAAC;oBACnD,GAAG,UAAU;oBACb,QAAQ,EAAK,QAAQ,CAAC,iBAAiB;oBACvC,UAAU,EAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAO,EAAE;iBAC3D,CAAC,CAAC;gBACH,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrF,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;gBAE/C,mEAAmE;gBACnE,+DAA+D;gBAC/D,iEAAiE;gBACjE,MAAM,eAAe,GAAG;oBACtB,SAAS,EAAM,SAAS,CAAC,OAAO,CAAC,SAAS;oBAC1C,QAAQ;oBACR,YAAY,EAAG,2BAA2B;oBAC1C,SAAS,EAAM,IAAI;iBACpB,CAAC;gBACF,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBAClE,SAAS,EAAG,IAAI;oBAChB,MAAM,EAAM,eAAe;iBAC5B,CAAC,CAAC;gBACH,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,OAAO,CAAsB,CAAC;gBACxG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC7C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,EAAU,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC7E,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;oBACpC,wBAAwB,CAAC,OAAO,CAAC,QAAQ;oBACzC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;iBACrC,CAAC,CAAC;gBAEH,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC;oBAClE,SAAS,EAAG,IAAI;oBAChB,MAAM,EAAM,eAAe;iBAC5B,CAAC,CAAC;gBACH,MAAM,mBAAmB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,OAAO,CAAsB,CAAC;gBAC7G,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClD,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAE1C,MAAM,iBAAiB,GAAa,EAAE,CAAC;gBACvC,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,wBAAwB,CAAC;oBACvE,MAAM,EAAG,KAAK;oBACd,MAAM,EAAG,oBAAqB;oBAC9B,MAAM,EAAG;wBACP,SAAS,EAAM,SAAS,CAAC,OAAO,CAAC,SAAS;wBAC1C,QAAQ;wBACR,YAAY,EAAG,2BAA2B;qBAC3C;iBACF,CAAC,CAAC;gBACH,MAAM,oBAAoB,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,OAAO,EAAE;oBACxF,mBAAmB,EAAE,CAAC,mBAAmB,EAAQ,EAAE;wBACjD,IAAI,mBAAmB,CAAC,IAAI,KAAK,OAAO,IAAI,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;4BAC5G,iBAAiB,CAAC,IAAI,CAAE,mBAAmB,CAAC,KAAK,CAAC,OAA+B,CAAC,QAAQ,CAAC,CAAC;wBAC9F,CAAC;oBACH,CAAC;iBACF,CAA0B,CAAC;gBAC5B,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnD,MAAM,MAAM,CAAC,yBAAyB,CAAC,KAAK,IAAI,EAAE;oBAChD,MAAM,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACnE,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7E,MAAM,oBAAoB,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC;gBAEjD,MAAM,sBAAsB,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,CAAC;oBAC3E,MAAM,EAAK,KAAK;oBAChB,QAAQ,EAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;iBAChD,CAAC,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;gBACxF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE1C,MAAM,sBAAsB,GAAG;oBAC7B,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;oBACpC,wBAAwB,CAAC,OAAO,CAAC,QAAQ;oBACzC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;oBACpC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;iBACrC,CAAC;gBACF,MAAM,CAAC,CAAC,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;gBAC7F,MAAM,CAAC,CAAC,MAAM,sBAAsB,CAAC;oBACnC,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,2BAA2B;oBAC1C,SAAS,EAAM,QAAQ,CAAC,OAAO,CAAC,SAAS;iBAC1C,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;oBACrB,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;oBACpC,wBAAwB,CAAC,OAAO,CAAC,QAAQ;iBAC1C,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;gBAChF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,kBAAkB,GAAuB;oBAC7C,QAAQ,EAAI,uBAAuB,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM;oBAC3E,SAAS,EAAG,IAAI;oBAChB,KAAK,EAAO,EAAE,IAAI,EAAE,EAAE,EAAE;oBACxB,SAAS,EAAG;wBACV,IAAI,EAAE;4BACJ,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;yBACzB;qBACF;iBACF,CAAC;gBACF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAC7C,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAEzE,MAAM,OAAO,GAAiC,EAAE,CAAC;gBACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5B,OAAO,CAAC,IAAI,CAAC,MAAM,mBAAmB,CAAC;wBACrC,MAAM,EAAS,KAAK;wBACpB,QAAQ;wBACR,YAAY,EAAG,MAAM;wBACrB,WAAW,EAAI,YAAY,CAAC,mBAAmB;qBAChD,CAAC,CAAC,CAAC;gBACN,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC;oBACzC,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,MAAM;oBACrB,UAAU,EAAK,EAAE,KAAK,EAAE,CAAC,EAAE;iBAC5B,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;oBAC9B,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;oBAC3B,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;iBAC5B,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;gBAEnC,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC;oBACzC,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,MAAM;oBACrB,UAAU,EAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAO,EAAE;iBACnD,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;YACvC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;gBACzF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,kBAAkB,GAAuB;oBAC7C,QAAQ,EAAI,uBAAuB,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM;oBAC3E,SAAS,EAAG,IAAI;oBAChB,KAAK,EAAO,EAAE,MAAM,EAAE,EAAE,EAAE;oBAC1B,SAAS,EAAG;wBACV,MAAM,EAAE;4BACN,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;yBACzB;qBACF;iBACF,CAAC;gBACF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAC7C,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAEzE,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC;oBAC9C,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,QAAQ;oBACvB,WAAW,EAAI,6BAA6B;iBAC7C,CAAC,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC;oBAC7C,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,QAAQ;oBACvB,WAAW,EAAI,6BAA6B;iBAC7C,CAAC,CAAC;gBAEH,MAAM,CAAC,MAAM,0BAA0B,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;oBACpG,aAAa,CAAC,OAAO,CAAC,QAAQ;iBAC/B,CAAC,CAAC;gBAEH,MAAM,aAAa,GAAa,EAAE,CAAC;gBACnC,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,wBAAwB,CAAC;oBACxE,MAAM,EAAG,KAAK;oBACd,MAAM,EAAG;wBACP,QAAQ;wBACR,YAAY,EAAE,QAAQ;qBACvB;iBACF,CAAC,CAAC;gBACH,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC,OAAO,EAAE;oBACnF,mBAAmB,EAAE,CAAC,mBAAmB,EAAQ,EAAE;wBACjD,IAAI,mBAAmB,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BACzC,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC;4BACvD,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,KAAK,OAAO,IAAI,UAAU,IAAI,YAAY,IAAI,OAAO,YAAY,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gCAC1H,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;4BAC5C,CAAC;wBACH,CAAC;oBACH,CAAC;iBACF,CAA0B,CAAC;gBAC5B,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE7C,MAAM,iBAAiB,GAAG,MAAM,mBAAmB,CAAC;oBAClD,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,QAAQ;oBACvB,WAAW,EAAI,6BAA6B;iBAC7C,CAAC,CAAC;gBACH,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACnF,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAElC,MAAM,cAAc,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gGAAgG,EAAE,KAAK,IAAI,EAAE;gBAC9G,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAClD,MAAM,aAAa,GAAG,IAAI,iBAAiB,CAAC,EAAE,QAAQ,EAAE,6BAA6B,MAAM,YAAY,EAAE,CAAC,CAAC;gBAC3G,MAAM,iBAAiB,GAAG,IAAI,cAAc,CAAC,EAAE,kBAAkB,EAAE,6BAA6B,MAAM,SAAS,EAAE,CAAC,CAAC;gBACnH,MAAM,iBAAiB,GAAG,IAAI,uBAAuB,CAAC,EAAE,QAAQ,EAAE,6BAA6B,MAAM,SAAS,EAAE,CAAC,CAAC;gBAClH,MAAM,aAAa,GAAG,IAAI,iBAAiB,CAAC,EAAE,QAAQ,EAAE,6BAA6B,MAAM,YAAY,EAAE,CAAC,CAAC;gBAC3G,MAAM,iBAAiB,GAAG,IAAI,cAAc,CAAC,EAAE,kBAAkB,EAAE,6BAA6B,MAAM,SAAS,EAAE,CAAC,CAAC;gBACnH,MAAM,iBAAiB,GAAG,IAAI,uBAAuB,CAAC,EAAE,QAAQ,EAAE,6BAA6B,MAAM,SAAS,EAAE,CAAC,CAAC;gBAClH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC;oBAChC,WAAW,EAAU,WAAW;oBAChC,YAAY,EAAS,aAAa;oBAClC,SAAS,EAAY,iBAAiB;oBACtC,kBAAkB,EAAG,iBAAiB;iBACvC,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC;oBAChC,WAAW,EAAU,WAAW;oBAChC,YAAY,EAAS,aAAa;oBAClC,SAAS,EAAY,iBAAiB;oBACtC,kBAAkB,EAAG,iBAAiB;iBACvC,CAAC,CAAC;gBAEH,IAAI,CAAC;oBACH,MAAM,kBAAkB,GAAuB;wBAC7C,QAAQ,EAAI,+BAA+B,MAAM,MAAM;wBACvD,SAAS,EAAG,IAAI;wBAChB,KAAK,EAAO;4BACV,IAAI,EAAM,EAAE;4BACZ,OAAO,EAAG,EAAE;yBACb;wBACD,SAAS,EAAE;4BACT,IAAI,EAAE;gCACJ,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;6BACzB;4BACD,OAAO,EAAE;gCACP,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;6BACzB;yBACF;qBACF,CAAC;oBACF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC;oBAC7C,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC9F,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAE9F,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC;wBACzC,MAAM,EAAS,KAAK;wBACpB,QAAQ;wBACR,YAAY,EAAG,SAAS;wBACxB,WAAW,EAAI,6BAA6B;wBAC5C,SAAS,EAAM,QAAQ;qBACxB,CAAC,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC;wBACzC,MAAM,EAAS,KAAK;wBACpB,QAAQ;wBACR,YAAY,EAAG,SAAS;wBACxB,WAAW,EAAI,6BAA6B;wBAC5C,SAAS,EAAM,QAAQ;qBACxB,CAAC,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;wBACvC,MAAM,EAAS,KAAK;wBACpB,QAAQ;wBACR,YAAY,EAAG,MAAM;wBACrB,WAAW,EAAI,6BAA6B;wBAC5C,SAAS,EAAM,QAAQ;qBACxB,CAAC,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC;wBACtC,MAAM,EAAS,KAAK;wBACpB,QAAQ;wBACR,YAAY,EAAG,MAAM;wBACrB,WAAW,EAAI,6BAA6B;wBAC5C,SAAS,EAAM,QAAQ;qBACxB,CAAC,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;wBACvC,MAAM,EAAS,KAAK;wBACpB,QAAQ;wBACR,YAAY,EAAG,MAAM;wBACrB,WAAW,EAAI,6BAA6B;wBAC5C,SAAS,EAAM,QAAQ;qBACxB,CAAC,CAAC;oBAEH,MAAM,oBAAoB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACzF,MAAM,oBAAoB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACzF,MAAM,oBAAoB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBACtF,MAAM,oBAAoB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;oBACvF,MAAM,oBAAoB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;oBAEvF,MAAM,kBAAkB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACvD,MAAM,eAAe,GAAG;wBACtB,MAAM,CAAC,OAAO,CAAC,QAAQ;wBACvB,KAAK,CAAC,OAAO,CAAC,QAAQ;qBACvB,CAAC;oBACF,MAAM,CAAC,CAAC,MAAM,sBAAsB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;oBACxJ,MAAM,CAAC,CAAC,MAAM,sBAAsB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;oBACxJ,MAAM,CAAC,CAAC,MAAM,sBAAsB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;oBAClJ,MAAM,CAAC,CAAC,MAAM,sBAAsB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBACpJ,CAAC;wBAAS,CAAC;oBACT,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;oBAC5B,MAAM,iBAAiB,CAAC,KAAK,EAAE,CAAC;oBAChC,MAAM,iBAAiB,CAAC,KAAK,EAAE,CAAC;oBAChC,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;oBAC5B,MAAM,iBAAiB,CAAC,KAAK,EAAE,CAAC;oBAChC,MAAM,iBAAiB,CAAC,KAAK,EAAE,CAAC;oBAChC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACvB,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACzB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;gBAChE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;gBAE9D,MAAM,kBAAkB,GAAuB;oBAC7C,QAAQ,EAAI,uBAAuB,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM;oBAC3E,SAAS,EAAG,IAAI;oBAChB,KAAK,EAAO,EAAE,IAAI,EAAE,EAAE,EAAE;oBACxB,SAAS,EAAG;wBACV,IAAI,EAAE;4BACJ,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;yBACzB;qBACF;iBACF,CAAC;gBACF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAC7C,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAEzE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;oBACvC,MAAM,EAAS,KAAK;oBACpB,QAAQ;oBACR,YAAY,EAAG,MAAM;oBACrB,WAAW,EAAI,6BAA6B;iBAC7C,CAAC,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,wBAAwB,CAAC;oBACrE,MAAM,EAAU,KAAK;oBACrB,aAAa,EAAG,MAAM,CAAC,YAAY;iBACpC,CAAC,CAAC;gBAEH,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;gBACzH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1C,MAAM,CAAC,CAAC,MAAM,sBAAsB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;oBAC1G,MAAM,CAAC,OAAO,CAAC,QAAQ;iBACxB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kCAAkC;AAClC,sBAAsB,EAAE,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { describe, expect, it } from 'bun:test';
|
|
2
2
|
import fc from 'fast-check';
|
|
3
3
|
import { equalFilter, filter, keyValues, oneOfFilter, rangeFilter } from './arbitraries/filter.arbitrary.js';
|
|
4
|
-
import { FilterSelector, FilterUtility } from '../../src/utils/filter.js';
|
|
4
|
+
import { FilterSelector, FilterUtility, isSubtreeFilter } from '../../src/utils/filter.js';
|
|
5
5
|
const numRuns = Number(process.env.FAST_CHECK_NUM_RUNS) || 200;
|
|
6
6
|
describe('FilterUtility — fuzz', () => {
|
|
7
|
+
const pathSegment = fc.array(fc.constantFrom(...'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'), { minLength: 1, maxLength: 20 }).map((characters) => characters.join(''));
|
|
7
8
|
describe('matchFilter — empty filter matches everything', () => {
|
|
8
9
|
it('should return true for any keyValues when filter is empty', () => {
|
|
9
10
|
fc.assert(fc.property(keyValues(), (kv) => {
|
|
@@ -80,14 +81,28 @@ describe('FilterUtility — fuzz', () => {
|
|
|
80
81
|
}), { numRuns });
|
|
81
82
|
});
|
|
82
83
|
});
|
|
83
|
-
describe('
|
|
84
|
+
describe('matchesSubtree — segment boundary property', () => {
|
|
85
|
+
it('should match exact paths and descendants without matching prefix siblings', () => {
|
|
86
|
+
fc.assert(fc.property(pathSegment, pathSegment, pathSegment, (root, branch, suffix) => {
|
|
87
|
+
const subtree = `${root}/${branch}`;
|
|
88
|
+
expect(FilterUtility.matchesSubtree(subtree, subtree)).toBe(true);
|
|
89
|
+
expect(FilterUtility.matchesSubtree(subtree, `${subtree}/${suffix}`)).toBe(true);
|
|
90
|
+
expect(FilterUtility.matchesSubtree(subtree, `${subtree}/${suffix}/grandchild`)).toBe(true);
|
|
91
|
+
expect(FilterUtility.matchesSubtree(subtree, `${subtree}-${suffix}`)).toBe(false);
|
|
92
|
+
expect(FilterUtility.matchesSubtree(subtree, `${subtree}.${suffix}`)).toBe(false);
|
|
93
|
+
expect(FilterUtility.matchesSubtree(subtree, `${subtree}${suffix}`)).toBe(false);
|
|
94
|
+
}), { numRuns });
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
describe('filter value classification — mutual exclusivity', () => {
|
|
84
98
|
it('should classify each filter value into exactly one category', () => {
|
|
85
|
-
fc.assert(fc.property(fc.oneof(equalFilter(), rangeFilter(), oneOfFilter()), (filterValue) => {
|
|
99
|
+
fc.assert(fc.property(fc.oneof(equalFilter(), rangeFilter(), oneOfFilter(), pathSegment.map((subtree) => ({ subtree }))), (filterValue) => {
|
|
86
100
|
const isEqual = FilterUtility.isEqualFilter(filterValue);
|
|
87
101
|
const isRange = FilterUtility.isRangeFilter(filterValue);
|
|
88
102
|
const isOneOf = FilterUtility.isOneOfFilter(filterValue);
|
|
103
|
+
const isSubtree = isSubtreeFilter(filterValue);
|
|
89
104
|
// Exactly one should be true
|
|
90
|
-
const trueCount = [isEqual, isRange, isOneOf].filter(Boolean).length;
|
|
105
|
+
const trueCount = [isEqual, isRange, isOneOf, isSubtree].filter(Boolean).length;
|
|
91
106
|
expect(trueCount).toBe(1);
|
|
92
107
|
}), { numRuns });
|
|
93
108
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.fuzz.spec.js","sourceRoot":"","sources":["../../../../tests/fuzz/filter.fuzz.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAC7G,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"filter.fuzz.spec.js","sourceRoot":"","sources":["../../../../tests/fuzz/filter.fuzz.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1725,6 +1725,60 @@ export function testRecordsWriteHandler() {
|
|
|
1725
1725
|
});
|
|
1726
1726
|
});
|
|
1727
1727
|
describe('protocol based writes', () => {
|
|
1728
|
+
it('should enforce the validated squash policy without a second protocol lookup', async () => {
|
|
1729
|
+
const alice = await TestDataGenerator.generateDidKeyPersona();
|
|
1730
|
+
const protocol = 'http://single-squash-policy-lookup.xyz';
|
|
1731
|
+
const olderTimestamp = Time.createOffsetTimestamp({ seconds: 5 });
|
|
1732
|
+
const squashTimestamp = Time.createOffsetTimestamp({ seconds: 10 });
|
|
1733
|
+
const olderRecord = await TestDataGenerator.generateRecordsWrite({
|
|
1734
|
+
author: alice,
|
|
1735
|
+
protocol,
|
|
1736
|
+
protocolPath: 'entry',
|
|
1737
|
+
messageTimestamp: olderTimestamp,
|
|
1738
|
+
dateCreated: olderTimestamp,
|
|
1739
|
+
});
|
|
1740
|
+
const squashRecord = await TestDataGenerator.generateRecordsWrite({
|
|
1741
|
+
author: alice,
|
|
1742
|
+
protocol,
|
|
1743
|
+
protocolPath: 'entry',
|
|
1744
|
+
messageTimestamp: squashTimestamp,
|
|
1745
|
+
dateCreated: squashTimestamp,
|
|
1746
|
+
squash: true,
|
|
1747
|
+
});
|
|
1748
|
+
const messageStoreStub = sinon.createStubInstance(MessageStoreLevel);
|
|
1749
|
+
messageStoreStub.query.resolves({ messages: [] });
|
|
1750
|
+
const dataStoreStub = sinon.createStubInstance(DataStoreLevel);
|
|
1751
|
+
const validationStateReader = createTestValidationStateReader({
|
|
1752
|
+
messageStore: messageStoreStub,
|
|
1753
|
+
dataStore: dataStoreStub,
|
|
1754
|
+
});
|
|
1755
|
+
const protocolLookup = sinon.stub(validationStateReader, 'fetchProtocolDefinition').rejects(new Error('a redundant policy lookup would fail'));
|
|
1756
|
+
const squashLookup = sinon.stub(validationStateReader, 'fetchLatestSquashRecordAtScope').resolves(squashRecord.message);
|
|
1757
|
+
const validateReferentialIntegrity = sinon.stub(ProtocolAuthorization, 'validateReferentialIntegrity').resolves({ $squash: true });
|
|
1758
|
+
const recordsWriteHandler = new RecordsWriteHandler({
|
|
1759
|
+
didResolver: TestStubGenerator.createDidResolverStub(alice),
|
|
1760
|
+
messageStore: messageStoreStub,
|
|
1761
|
+
dataStore: dataStoreStub,
|
|
1762
|
+
coreProtocols: new CoreProtocolRegistry(),
|
|
1763
|
+
eventLog,
|
|
1764
|
+
validationStateReader,
|
|
1765
|
+
});
|
|
1766
|
+
const reply = await recordsWriteHandler.handle({
|
|
1767
|
+
tenant: alice.did,
|
|
1768
|
+
message: olderRecord.message,
|
|
1769
|
+
dataStream: olderRecord.dataStream,
|
|
1770
|
+
});
|
|
1771
|
+
expect(reply.status.code).toBe(409);
|
|
1772
|
+
expect(reply.status.errorCode).toBe(DwnErrorCode.ProtocolAuthorizationSquashBackstop);
|
|
1773
|
+
sinon.assert.calledOnce(validateReferentialIntegrity);
|
|
1774
|
+
sinon.assert.notCalled(protocolLookup);
|
|
1775
|
+
sinon.assert.calledOnceWithExactly(squashLookup, {
|
|
1776
|
+
tenant: alice.did,
|
|
1777
|
+
protocol,
|
|
1778
|
+
protocolPath: 'entry',
|
|
1779
|
+
contextIdPrefix: undefined,
|
|
1780
|
+
});
|
|
1781
|
+
});
|
|
1728
1782
|
it('should allow write with allow-anyone rule', async () => {
|
|
1729
1783
|
// scenario: Bob writes into Alice's DWN given Alice's "email" protocol allow-anyone rule
|
|
1730
1784
|
// write a protocol definition with an allow-anyone rule
|
|
@@ -5226,7 +5280,7 @@ export function testRecordsWriteHandler() {
|
|
|
5226
5280
|
messageStoreStub.query.resolves({ messages: [] });
|
|
5227
5281
|
const dataStoreStub = sinon.createStubInstance(DataStoreLevel);
|
|
5228
5282
|
// stub protocol validation so the handler reaches authentication/authorization
|
|
5229
|
-
sinon.stub(ProtocolAuthorization, 'validateReferentialIntegrity').resolves();
|
|
5283
|
+
sinon.stub(ProtocolAuthorization, 'validateReferentialIntegrity').resolves({});
|
|
5230
5284
|
const recordsWriteHandler = new RecordsWriteHandler({
|
|
5231
5285
|
didResolver,
|
|
5232
5286
|
messageStore: messageStoreStub,
|
|
@@ -5247,7 +5301,7 @@ export function testRecordsWriteHandler() {
|
|
|
5247
5301
|
messageStoreStub.query.resolves({ messages: [] });
|
|
5248
5302
|
const dataStoreStub = sinon.createStubInstance(DataStoreLevel);
|
|
5249
5303
|
// stub protocol validation so the handler reaches authentication/authorization
|
|
5250
|
-
sinon.stub(ProtocolAuthorization, 'validateReferentialIntegrity').resolves();
|
|
5304
|
+
sinon.stub(ProtocolAuthorization, 'validateReferentialIntegrity').resolves({});
|
|
5251
5305
|
const recordsWriteHandler = new RecordsWriteHandler({
|
|
5252
5306
|
didResolver,
|
|
5253
5307
|
messageStore: messageStoreStub,
|
|
@@ -5349,7 +5403,7 @@ export function testRecordsWriteHandler() {
|
|
|
5349
5403
|
messageStoreStub.query.resolves({ messages: [initialWriteMessage] });
|
|
5350
5404
|
const dataStoreStub = sinon.createStubInstance(DataStoreLevel);
|
|
5351
5405
|
// stub protocol validation so the handler reaches the process methods
|
|
5352
|
-
sinon.stub(ProtocolAuthorization, 'validateReferentialIntegrity').resolves();
|
|
5406
|
+
sinon.stub(ProtocolAuthorization, 'validateReferentialIntegrity').resolves({});
|
|
5353
5407
|
const recordsWriteHandler = new RecordsWriteHandler({
|
|
5354
5408
|
didResolver: didResolverStub, messageStore: messageStoreStub,
|
|
5355
5409
|
dataStore: dataStoreStub, coreProtocols: new CoreProtocolRegistry(), eventLog,
|