@react-native-firebase/firestore 23.8.8 → 24.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/RNFBFirestore.podspec +2 -1
- package/android/src/reactnative/java/io/invertase/firebase/firestore/ReactNativeFirebaseFirestoreCollectionModule.java +17 -4
- package/android/src/reactnative/java/io/invertase/firebase/firestore/ReactNativeFirebaseFirestoreDocumentModule.java +2 -2
- package/android/src/reactnative/java/io/invertase/firebase/firestore/ReactNativeFirebaseFirestorePipelineExecutor.java +1243 -0
- package/android/src/reactnative/java/io/invertase/firebase/firestore/ReactNativeFirebaseFirestorePipelineNodeBuilder.java +3919 -0
- package/android/src/reactnative/java/io/invertase/firebase/firestore/ReactNativeFirebaseFirestorePipelineParser.java +1735 -0
- package/android/src/reactnative/java/io/invertase/firebase/firestore/ReactNativeFirebaseFirestoreSerialize.java +1 -1
- package/dist/module/FieldPath.js +59 -0
- package/dist/module/FieldPath.js.map +1 -0
- package/dist/module/FieldValue.js +82 -0
- package/dist/module/FieldValue.js.map +1 -0
- package/{lib → dist/module}/FirestoreAggregate.js +31 -43
- package/dist/module/FirestoreAggregate.js.map +1 -0
- package/dist/module/FirestoreBlob.js +56 -0
- package/dist/module/FirestoreBlob.js.map +1 -0
- package/dist/module/FirestoreCollectionReference.js +70 -0
- package/dist/module/FirestoreCollectionReference.js.map +1 -0
- package/{lib → dist/module}/FirestoreDocumentChange.js +12 -15
- package/dist/module/FirestoreDocumentChange.js.map +1 -0
- package/dist/module/FirestoreDocumentReference.js +170 -0
- package/dist/module/FirestoreDocumentReference.js.map +1 -0
- package/dist/module/FirestoreDocumentSnapshot.js +88 -0
- package/dist/module/FirestoreDocumentSnapshot.js.map +1 -0
- package/dist/module/FirestoreFilter.js +146 -0
- package/dist/module/FirestoreFilter.js.map +1 -0
- package/dist/module/FirestoreGeoPoint.js +80 -0
- package/dist/module/FirestoreGeoPoint.js.map +1 -0
- package/{lib → dist/module}/FirestorePath.js +5 -12
- package/dist/module/FirestorePath.js.map +1 -0
- package/{lib → dist/module}/FirestorePersistentCacheIndexManager.js +11 -4
- package/dist/module/FirestorePersistentCacheIndexManager.js.map +1 -0
- package/dist/module/FirestoreQuery.js +298 -0
- package/dist/module/FirestoreQuery.js.map +1 -0
- package/{lib → dist/module}/FirestoreQueryModifiers.js +25 -136
- package/dist/module/FirestoreQueryModifiers.js.map +1 -0
- package/dist/module/FirestoreQuerySnapshot.js +98 -0
- package/dist/module/FirestoreQuerySnapshot.js.map +1 -0
- package/dist/module/FirestoreSnapshotMetadata.js +38 -0
- package/dist/module/FirestoreSnapshotMetadata.js.map +1 -0
- package/dist/module/FirestoreStatics.js +50 -0
- package/dist/module/FirestoreStatics.js.map +1 -0
- package/{lib → dist/module}/FirestoreTimestamp.js +39 -39
- package/dist/module/FirestoreTimestamp.js.map +1 -0
- package/dist/module/FirestoreTransaction.js +113 -0
- package/dist/module/FirestoreTransaction.js.map +1 -0
- package/dist/module/FirestoreTransactionHandler.js +137 -0
- package/dist/module/FirestoreTransactionHandler.js.map +1 -0
- package/dist/module/FirestoreVectorValue.js +75 -0
- package/dist/module/FirestoreVectorValue.js.map +1 -0
- package/dist/module/FirestoreWriteBatch.js +113 -0
- package/dist/module/FirestoreWriteBatch.js.map +1 -0
- package/dist/module/LoadBundleTask.js +70 -0
- package/dist/module/LoadBundleTask.js.map +1 -0
- package/dist/module/index.js +31 -0
- package/dist/module/index.js.map +1 -0
- package/dist/module/modular/Bytes.js +67 -0
- package/dist/module/modular/Bytes.js.map +1 -0
- package/dist/module/modular/FieldPath.js +25 -0
- package/dist/module/modular/FieldPath.js.map +1 -0
- package/dist/module/modular/FieldValue.js +37 -0
- package/dist/module/modular/FieldValue.js.map +1 -0
- package/dist/module/modular/GeoPoint.js +22 -0
- package/dist/module/modular/GeoPoint.js.map +1 -0
- package/dist/module/modular/Timestamp.js +22 -0
- package/dist/module/modular/Timestamp.js.map +1 -0
- package/dist/module/modular/VectorValue.js +25 -0
- package/dist/module/modular/VectorValue.js.map +1 -0
- package/dist/module/modular/query.js +222 -0
- package/dist/module/modular/query.js.map +1 -0
- package/dist/module/modular/snapshot.js +32 -0
- package/dist/module/modular/snapshot.js.map +1 -0
- package/dist/module/modular.js +229 -0
- package/dist/module/modular.js.map +1 -0
- package/dist/module/namespaced.js +298 -0
- package/dist/module/namespaced.js.map +1 -0
- package/dist/module/package.json +1 -0
- package/dist/module/pipelines/expressions.js +1273 -0
- package/dist/module/pipelines/expressions.js.map +1 -0
- package/dist/module/pipelines/index.js +32 -0
- package/dist/module/pipelines/index.js.map +1 -0
- package/dist/module/pipelines/pipeline-result.js +58 -0
- package/dist/module/pipelines/pipeline-result.js.map +1 -0
- package/dist/module/pipelines/pipeline-source.js +4 -0
- package/dist/module/pipelines/pipeline-source.js.map +1 -0
- package/dist/module/pipelines/pipeline.js +4 -0
- package/dist/module/pipelines/pipeline.js.map +1 -0
- package/dist/module/pipelines/pipeline_impl.js +42 -0
- package/dist/module/pipelines/pipeline_impl.js.map +1 -0
- package/dist/module/pipelines/pipeline_options.js +4 -0
- package/dist/module/pipelines/pipeline_options.js.map +1 -0
- package/dist/module/pipelines/pipeline_runtime.js +526 -0
- package/dist/module/pipelines/pipeline_runtime.js.map +1 -0
- package/dist/module/pipelines/pipeline_support.js +71 -0
- package/dist/module/pipelines/pipeline_support.js.map +1 -0
- package/dist/module/pipelines/pipeline_validate.js +183 -0
- package/dist/module/pipelines/pipeline_validate.js.map +1 -0
- package/dist/module/pipelines/stage_options.js +4 -0
- package/dist/module/pipelines/stage_options.js.map +1 -0
- package/dist/module/pipelines/types.js +2 -0
- package/dist/module/pipelines/types.js.map +1 -0
- package/dist/module/types/firestore.js +4 -0
- package/dist/module/types/firestore.js.map +1 -0
- package/dist/module/types/internal.js +4 -0
- package/dist/module/types/internal.js.map +1 -0
- package/dist/module/types/namespaced.js +338 -0
- package/dist/module/types/namespaced.js.map +1 -0
- package/{lib → dist/module}/utils/index.js +59 -114
- package/dist/module/utils/index.js.map +1 -0
- package/{lib → dist/module}/utils/serialize.js +58 -116
- package/dist/module/utils/serialize.js.map +1 -0
- package/{lib → dist/module}/utils/typemap.js +6 -20
- package/dist/module/utils/typemap.js.map +1 -0
- package/dist/module/version.js +5 -0
- package/dist/module/version.js.map +1 -0
- package/dist/module/web/RNFBFirestoreModule.android.js +5 -0
- package/dist/module/web/RNFBFirestoreModule.android.js.map +1 -0
- package/dist/module/web/RNFBFirestoreModule.ios.js +5 -0
- package/dist/module/web/RNFBFirestoreModule.ios.js.map +1 -0
- package/dist/module/web/RNFBFirestoreModule.js +387 -0
- package/dist/module/web/RNFBFirestoreModule.js.map +1 -0
- package/{lib → dist/module}/web/convert.js +60 -94
- package/dist/module/web/convert.js.map +1 -0
- package/dist/module/web/pipelines/pipeline.js +34 -0
- package/dist/module/web/pipelines/pipeline.js.map +1 -0
- package/dist/module/web/pipelines/pipeline_bridge_factory.js +217 -0
- package/dist/module/web/pipelines/pipeline_bridge_factory.js.map +1 -0
- package/dist/module/web/pipelines/pipeline_node_builder.js +294 -0
- package/dist/module/web/pipelines/pipeline_node_builder.js.map +1 -0
- package/dist/module/web/pipelines/pipeline_parser.js +21 -0
- package/dist/module/web/pipelines/pipeline_parser.js.map +1 -0
- package/dist/module/web/pipelines/pipeline_snapshot_serializer.js +89 -0
- package/dist/module/web/pipelines/pipeline_snapshot_serializer.js.map +1 -0
- package/dist/module/web/query.js +95 -0
- package/dist/module/web/query.js.map +1 -0
- package/dist/typescript/lib/FieldPath.d.ts +10 -0
- package/dist/typescript/lib/FieldPath.d.ts.map +1 -0
- package/dist/typescript/lib/FieldValue.d.ts +17 -0
- package/dist/typescript/lib/FieldValue.d.ts.map +1 -0
- package/dist/typescript/lib/FirestoreAggregate.d.ts +40 -0
- package/dist/typescript/lib/FirestoreAggregate.d.ts.map +1 -0
- package/dist/typescript/lib/FirestoreBlob.d.ts +11 -0
- package/dist/typescript/lib/FirestoreBlob.d.ts.map +1 -0
- package/dist/typescript/lib/FirestoreCollectionReference.d.ts +15 -0
- package/dist/typescript/lib/FirestoreCollectionReference.d.ts.map +1 -0
- package/dist/typescript/lib/FirestoreDocumentChange.d.ts +27 -0
- package/dist/typescript/lib/FirestoreDocumentChange.d.ts.map +1 -0
- package/dist/typescript/lib/FirestoreDocumentReference.d.ts +30 -0
- package/dist/typescript/lib/FirestoreDocumentReference.d.ts.map +1 -0
- package/dist/typescript/lib/FirestoreDocumentSnapshot.d.ts +30 -0
- package/dist/typescript/lib/FirestoreDocumentSnapshot.d.ts.map +1 -0
- package/dist/typescript/lib/FirestoreFilter.d.ts +52 -0
- package/dist/typescript/lib/FirestoreFilter.d.ts.map +1 -0
- package/dist/typescript/lib/FirestoreGeoPoint.d.ts +22 -0
- package/dist/typescript/lib/FirestoreGeoPoint.d.ts.map +1 -0
- package/dist/typescript/lib/FirestorePath.d.ts +12 -0
- package/dist/typescript/lib/FirestorePath.d.ts.map +1 -0
- package/dist/typescript/lib/FirestorePersistentCacheIndexManager.d.ts +16 -0
- package/dist/typescript/lib/FirestorePersistentCacheIndexManager.d.ts.map +1 -0
- package/dist/typescript/lib/FirestoreQuery.d.ts +39 -0
- package/dist/typescript/lib/FirestoreQuery.d.ts.map +1 -0
- package/dist/typescript/lib/FirestoreQueryModifiers.d.ts +59 -0
- package/dist/typescript/lib/FirestoreQueryModifiers.d.ts.map +1 -0
- package/dist/typescript/lib/FirestoreQuerySnapshot.d.ts +49 -0
- package/dist/typescript/lib/FirestoreQuerySnapshot.d.ts.map +1 -0
- package/dist/typescript/lib/FirestoreSnapshotMetadata.d.ts +8 -0
- package/dist/typescript/lib/FirestoreSnapshotMetadata.d.ts.map +1 -0
- package/dist/typescript/lib/FirestoreStatics.d.ts +23 -0
- package/dist/typescript/lib/FirestoreStatics.d.ts.map +1 -0
- package/dist/typescript/lib/FirestoreTimestamp.d.ts +33 -0
- package/dist/typescript/lib/FirestoreTimestamp.d.ts.map +1 -0
- package/dist/typescript/lib/FirestoreTransaction.d.ts +42 -0
- package/dist/typescript/lib/FirestoreTransaction.d.ts.map +1 -0
- package/dist/typescript/lib/FirestoreTransactionHandler.d.ts +26 -0
- package/dist/typescript/lib/FirestoreTransactionHandler.d.ts.map +1 -0
- package/dist/typescript/lib/FirestoreVectorValue.d.ts +17 -0
- package/dist/typescript/lib/FirestoreVectorValue.d.ts.map +1 -0
- package/dist/typescript/lib/FirestoreWriteBatch.d.ts +21 -0
- package/dist/typescript/lib/FirestoreWriteBatch.d.ts.map +1 -0
- package/dist/typescript/lib/LoadBundleTask.d.ts +16 -0
- package/dist/typescript/lib/LoadBundleTask.d.ts.map +1 -0
- package/dist/typescript/lib/index.d.ts +6 -0
- package/dist/typescript/lib/index.d.ts.map +1 -0
- package/dist/typescript/lib/modular/Bytes.d.ts +22 -0
- package/dist/typescript/lib/modular/Bytes.d.ts.map +1 -0
- package/dist/typescript/lib/modular/FieldPath.d.ts +4 -0
- package/dist/typescript/lib/modular/FieldPath.d.ts.map +1 -0
- package/dist/typescript/lib/modular/FieldValue.d.ts +8 -0
- package/dist/typescript/lib/modular/FieldValue.d.ts.map +1 -0
- package/dist/typescript/lib/modular/GeoPoint.d.ts +3 -0
- package/dist/typescript/lib/modular/GeoPoint.d.ts.map +1 -0
- package/dist/typescript/lib/modular/Timestamp.d.ts +3 -0
- package/dist/typescript/lib/modular/Timestamp.d.ts.map +1 -0
- package/dist/typescript/lib/modular/VectorValue.d.ts +4 -0
- package/dist/typescript/lib/modular/VectorValue.d.ts.map +1 -0
- package/dist/typescript/lib/modular/query.d.ts +93 -0
- package/dist/typescript/lib/modular/query.d.ts.map +1 -0
- package/dist/typescript/lib/modular/snapshot.d.ts +30 -0
- package/dist/typescript/lib/modular/snapshot.d.ts.map +1 -0
- package/dist/typescript/lib/modular.d.ts +69 -0
- package/dist/typescript/lib/modular.d.ts.map +1 -0
- package/dist/typescript/lib/namespaced.d.ts +13 -0
- package/dist/typescript/lib/namespaced.d.ts.map +1 -0
- package/dist/typescript/lib/pipelines/expressions.d.ts +723 -0
- package/dist/typescript/lib/pipelines/expressions.d.ts.map +1 -0
- package/dist/typescript/lib/pipelines/index.d.ts +31 -0
- package/dist/typescript/lib/pipelines/index.d.ts.map +1 -0
- package/dist/typescript/lib/pipelines/pipeline-result.d.ts +30 -0
- package/dist/typescript/lib/pipelines/pipeline-result.d.ts.map +1 -0
- package/dist/typescript/lib/pipelines/pipeline-source.d.ts +64 -0
- package/dist/typescript/lib/pipelines/pipeline-source.d.ts.map +1 -0
- package/dist/typescript/lib/pipelines/pipeline.d.ts +61 -0
- package/dist/typescript/lib/pipelines/pipeline.d.ts.map +1 -0
- package/dist/typescript/lib/pipelines/pipeline_impl.d.ts +21 -0
- package/dist/typescript/lib/pipelines/pipeline_impl.d.ts.map +1 -0
- package/dist/typescript/lib/pipelines/pipeline_options.d.ts +17 -0
- package/dist/typescript/lib/pipelines/pipeline_options.d.ts.map +1 -0
- package/dist/typescript/lib/pipelines/pipeline_runtime.d.ts +10 -0
- package/dist/typescript/lib/pipelines/pipeline_runtime.d.ts.map +1 -0
- package/dist/typescript/lib/pipelines/pipeline_support.d.ts +7 -0
- package/dist/typescript/lib/pipelines/pipeline_support.d.ts.map +1 -0
- package/dist/typescript/lib/pipelines/pipeline_validate.d.ts +9 -0
- package/dist/typescript/lib/pipelines/pipeline_validate.d.ts.map +1 -0
- package/dist/typescript/lib/pipelines/stage_options.d.ts +326 -0
- package/dist/typescript/lib/pipelines/stage_options.d.ts.map +1 -0
- package/dist/typescript/lib/pipelines/types.d.ts +10 -0
- package/dist/typescript/lib/pipelines/types.d.ts.map +1 -0
- package/dist/typescript/lib/types/firestore.d.ts +263 -0
- package/dist/typescript/lib/types/firestore.d.ts.map +1 -0
- package/dist/typescript/lib/types/internal.d.ts +483 -0
- package/dist/typescript/lib/types/internal.d.ts.map +1 -0
- package/dist/typescript/lib/types/namespaced.d.ts +2285 -0
- package/dist/typescript/lib/types/namespaced.d.ts.map +1 -0
- package/dist/typescript/lib/utils/index.d.ts +15 -0
- package/dist/typescript/lib/utils/index.d.ts.map +1 -0
- package/dist/typescript/lib/utils/serialize.d.ts +17 -0
- package/dist/typescript/lib/utils/serialize.d.ts.map +1 -0
- package/dist/typescript/lib/utils/typemap.d.ts +3 -0
- package/dist/typescript/lib/utils/typemap.d.ts.map +1 -0
- package/dist/typescript/lib/version.d.ts +2 -0
- package/dist/typescript/lib/version.d.ts.map +1 -0
- package/dist/typescript/lib/web/RNFBFirestoreModule.android.d.ts +3 -0
- package/dist/typescript/lib/web/RNFBFirestoreModule.android.d.ts.map +1 -0
- package/dist/typescript/lib/web/RNFBFirestoreModule.d.ts +75 -0
- package/dist/typescript/lib/web/RNFBFirestoreModule.d.ts.map +1 -0
- package/dist/typescript/lib/web/RNFBFirestoreModule.ios.d.ts +3 -0
- package/dist/typescript/lib/web/RNFBFirestoreModule.ios.d.ts.map +1 -0
- package/dist/typescript/lib/web/convert.d.ts +14 -0
- package/dist/typescript/lib/web/convert.d.ts.map +1 -0
- package/dist/typescript/lib/web/pipelines/pipeline.d.ts +4 -0
- package/dist/typescript/lib/web/pipelines/pipeline.d.ts.map +1 -0
- package/dist/typescript/lib/web/pipelines/pipeline_bridge_factory.d.ts +5 -0
- package/dist/typescript/lib/web/pipelines/pipeline_bridge_factory.d.ts.map +1 -0
- package/dist/typescript/lib/web/pipelines/pipeline_node_builder.d.ts +5 -0
- package/dist/typescript/lib/web/pipelines/pipeline_node_builder.d.ts.map +1 -0
- package/dist/typescript/lib/web/pipelines/pipeline_parser.d.ts +3 -0
- package/dist/typescript/lib/web/pipelines/pipeline_parser.d.ts.map +1 -0
- package/dist/typescript/lib/web/pipelines/pipeline_snapshot_serializer.d.ts +4 -0
- package/dist/typescript/lib/web/pipelines/pipeline_snapshot_serializer.d.ts.map +1 -0
- package/dist/typescript/lib/web/query.d.ts +23 -0
- package/dist/typescript/lib/web/query.d.ts.map +1 -0
- package/dist/typescript/package.json +1 -0
- package/ios/RNFBFirestore/RNFBFirestoreCollectionModule.m +52 -2
- package/ios/RNFBFirestore/RNFBFirestorePipelineBridgeFactory.swift +384 -0
- package/ios/RNFBFirestore/RNFBFirestorePipelineCallHandler.swift +86 -0
- package/ios/RNFBFirestore/RNFBFirestorePipelineNodeBuilder.swift +1500 -0
- package/ios/RNFBFirestore/RNFBFirestorePipelineParser.swift +1352 -0
- package/ios/RNFBFirestore/RNFBFirestorePipelineSnapshotSerializer.swift +98 -0
- package/lib/{FirestoreFieldPath.js → FieldPath.ts} +10 -12
- package/lib/{FirestoreFieldValue.js → FieldValue.ts} +22 -19
- package/lib/FirestoreAggregate.ts +124 -0
- package/lib/FirestoreBlob.ts +73 -0
- package/lib/FirestoreCollectionReference.ts +99 -0
- package/lib/FirestoreDocumentChange.ts +71 -0
- package/lib/FirestoreDocumentReference.ts +310 -0
- package/lib/FirestoreDocumentSnapshot.ts +149 -0
- package/lib/FirestoreFilter.ts +232 -0
- package/lib/{FirestoreGeoPoint.js → FirestoreGeoPoint.ts} +48 -8
- package/lib/FirestorePath.ts +54 -0
- package/lib/FirestorePersistentCacheIndexManager.ts +46 -0
- package/lib/{FirestoreQuery.js → FirestoreQuery.ts} +208 -100
- package/lib/FirestoreQueryModifiers.ts +411 -0
- package/lib/{FirestoreQuerySnapshot.js → FirestoreQuerySnapshot.ts} +61 -32
- package/lib/{FirestoreSnapshotMetadata.js → FirestoreSnapshotMetadata.ts} +8 -6
- package/lib/{FirestoreStatics.js → FirestoreStatics.ts} +18 -11
- package/lib/FirestoreTimestamp.ts +161 -0
- package/lib/{FirestoreTransaction.js → FirestoreTransaction.ts} +64 -27
- package/lib/{FirestoreTransactionHandler.js → FirestoreTransactionHandler.ts} +54 -75
- package/lib/{FirestoreVectorValue.js → FirestoreVectorValue.ts} +36 -15
- package/lib/{FirestoreWriteBatch.js → FirestoreWriteBatch.ts} +45 -21
- package/lib/LoadBundleTask.ts +85 -0
- package/lib/index.ts +71 -0
- package/lib/modular/Bytes.ts +81 -0
- package/lib/modular/FieldPath.ts +24 -0
- package/lib/modular/FieldValue.ts +40 -0
- package/lib/modular/GeoPoint.ts +20 -0
- package/lib/modular/Timestamp.ts +20 -0
- package/lib/modular/VectorValue.ts +24 -0
- package/lib/modular/query.ts +368 -0
- package/lib/modular/snapshot.ts +137 -0
- package/lib/modular.ts +552 -0
- package/lib/{index.js → namespaced.ts} +170 -80
- package/lib/pipelines/expressions.ts +2321 -0
- package/lib/pipelines/index.ts +203 -0
- package/lib/pipelines/pipeline-result.ts +78 -0
- package/lib/pipelines/pipeline-source.ts +83 -0
- package/lib/pipelines/pipeline.ts +99 -0
- package/lib/pipelines/pipeline_impl.ts +46 -0
- package/lib/pipelines/pipeline_options.ts +32 -0
- package/lib/pipelines/pipeline_runtime.ts +863 -0
- package/lib/pipelines/pipeline_support.ts +134 -0
- package/lib/pipelines/pipeline_validate.ts +242 -0
- package/lib/pipelines/stage_options.ts +376 -0
- package/lib/pipelines/types.ts +26 -0
- package/lib/types/firestore.ts +477 -0
- package/lib/types/internal.ts +747 -0
- package/lib/{index.d.ts → types/namespaced.ts} +280 -79
- package/lib/utils/index.ts +244 -0
- package/lib/utils/serialize.ts +314 -0
- package/lib/utils/typemap.ts +65 -0
- package/lib/version.ts +2 -0
- package/lib/web/{RNFBFirestoreModule.js → RNFBFirestoreModule.ts} +222 -234
- package/lib/web/convert.ts +287 -0
- package/lib/web/pipelines/pipeline.ts +47 -0
- package/lib/web/pipelines/pipeline_bridge_factory.ts +377 -0
- package/lib/web/pipelines/pipeline_node_builder.ts +413 -0
- package/lib/web/pipelines/pipeline_parser.ts +23 -0
- package/lib/web/pipelines/pipeline_snapshot_serializer.ts +133 -0
- package/lib/web/query.ts +150 -0
- package/package.json +46 -7
- package/tsconfig.json +35 -0
- package/lib/FirestoreBlob.js +0 -107
- package/lib/FirestoreCollectionReference.js +0 -70
- package/lib/FirestoreDocumentReference.js +0 -222
- package/lib/FirestoreDocumentSnapshot.js +0 -132
- package/lib/FirestoreFilter.js +0 -156
- package/lib/modular/Bytes.d.ts +0 -11
- package/lib/modular/Bytes.js +0 -62
- package/lib/modular/FieldPath.d.ts +0 -20
- package/lib/modular/FieldPath.js +0 -7
- package/lib/modular/FieldValue.d.ts +0 -67
- package/lib/modular/FieldValue.js +0 -41
- package/lib/modular/GeoPoint.d.ts +0 -17
- package/lib/modular/GeoPoint.js +0 -3
- package/lib/modular/Timestamp.d.ts +0 -85
- package/lib/modular/Timestamp.js +0 -3
- package/lib/modular/VectorValue.d.ts +0 -30
- package/lib/modular/VectorValue.js +0 -11
- package/lib/modular/index.d.ts +0 -788
- package/lib/modular/index.js +0 -410
- package/lib/modular/query.d.ts +0 -370
- package/lib/modular/query.js +0 -233
- package/lib/modular/snapshot.d.ts +0 -256
- package/lib/modular/snapshot.js +0 -33
- package/lib/modular/utils/observer.js +0 -16
- package/lib/version.js +0 -2
- package/lib/web/query.js +0 -112
- /package/lib/web/{RNFBFirestoreModule.android.js → RNFBFirestoreModule.android.ts} +0 -0
- /package/lib/web/{RNFBFirestoreModule.ios.js → RNFBFirestoreModule.ios.ts} +0 -0
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Copyright (c) 2016-present Invertase Limited & Contributors
|
|
5
|
+
*
|
|
6
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
* you may not use this library except in compliance with the License.
|
|
8
|
+
* You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
import { createDeprecationProxy, filterModularArgument, isArray, isNull, isObject, isString, isUndefined } from '@react-native-firebase/app/dist/module/common';
|
|
21
|
+
import NativeError from '@react-native-firebase/app/dist/module/internal/NativeFirebaseError';
|
|
22
|
+
import { AggregateQuery } from "./FirestoreAggregate.js";
|
|
23
|
+
import DocumentSnapshot from "./FirestoreDocumentSnapshot.js";
|
|
24
|
+
import FieldPath, { fromDotSeparatedString } from "./FieldPath.js";
|
|
25
|
+
import { _Filter, generateFilters } from "./FirestoreFilter.js";
|
|
26
|
+
import QuerySnapshot from "./FirestoreQuerySnapshot.js";
|
|
27
|
+
import { parseSnapshotArgs, validateWithConverter } from "./utils/index.js";
|
|
28
|
+
let _id = 0;
|
|
29
|
+
export default class Query {
|
|
30
|
+
/** Satisfies Query<DocumentData, DocumentData> for AggregateQuerySnapshot and similar. */
|
|
31
|
+
type = 'query';
|
|
32
|
+
constructor(firestore, collectionPath, modifiers, queryName, converter) {
|
|
33
|
+
this._firestore = firestore;
|
|
34
|
+
this._collectionPath = collectionPath;
|
|
35
|
+
this._modifiers = modifiers;
|
|
36
|
+
this._queryName = queryName;
|
|
37
|
+
this._converter = converter ?? null;
|
|
38
|
+
}
|
|
39
|
+
get firestore() {
|
|
40
|
+
return this._firestore;
|
|
41
|
+
}
|
|
42
|
+
get converter() {
|
|
43
|
+
return this._converter;
|
|
44
|
+
}
|
|
45
|
+
_handleQueryCursor(cursor, docOrField, fields) {
|
|
46
|
+
const modifiers = this._modifiers._copy();
|
|
47
|
+
if (isUndefined(docOrField)) {
|
|
48
|
+
throw new Error(`firebase.firestore().collection().${cursor}(*) Expected a DocumentSnapshot or list of field values but got undefined.`);
|
|
49
|
+
}
|
|
50
|
+
if (docOrField instanceof DocumentSnapshot) {
|
|
51
|
+
if (fields.length > 0) {
|
|
52
|
+
throw new Error(`firebase.firestore().collection().${cursor}(*) Too many arguments provided. Expected DocumentSnapshot or list of field values.`);
|
|
53
|
+
}
|
|
54
|
+
const documentSnapshot = docOrField;
|
|
55
|
+
if (!documentSnapshot.exists()) {
|
|
56
|
+
throw new Error(`firebase.firestore().collection().${cursor}(*) Can't use a DocumentSnapshot that doesn't exist.`);
|
|
57
|
+
}
|
|
58
|
+
const currentOrders = modifiers.orders;
|
|
59
|
+
const values = [];
|
|
60
|
+
for (let i = 0; i < currentOrders.length; i++) {
|
|
61
|
+
const order = currentOrders[i];
|
|
62
|
+
const pathStr = Array.isArray(order.fieldPath) ? order.fieldPath.join('.') : String(order.fieldPath);
|
|
63
|
+
if (pathStr === '__name__') {
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
const value = documentSnapshot.get(Array.isArray(order.fieldPath) ? new FieldPath(...order.fieldPath) : order.fieldPath);
|
|
67
|
+
if (value === undefined) {
|
|
68
|
+
throw new Error(`firebase.firestore().collection().${cursor}(*) You are trying to start or end a query using a document for which the field '${pathStr}' (used as the orderBy) does not exist.`);
|
|
69
|
+
}
|
|
70
|
+
values.push(value);
|
|
71
|
+
}
|
|
72
|
+
if (modifiers._orders.length) {
|
|
73
|
+
const lastOrder = modifiers._orders[modifiers._orders.length - 1];
|
|
74
|
+
const lastPathStr = lastOrder.fieldPath instanceof FieldPath ? lastOrder.fieldPath._toPath() : String(lastOrder.fieldPath);
|
|
75
|
+
if (lastPathStr !== '__name__') {
|
|
76
|
+
modifiers._orders.push({
|
|
77
|
+
fieldPath: new FieldPath('__name__'),
|
|
78
|
+
direction: lastOrder.direction
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
} else {
|
|
82
|
+
modifiers._orders.push({
|
|
83
|
+
fieldPath: new FieldPath('__name__'),
|
|
84
|
+
direction: 'ASCENDING'
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
if (this._modifiers.isCollectionGroupQuery()) {
|
|
88
|
+
values.push(documentSnapshot.ref.path);
|
|
89
|
+
} else {
|
|
90
|
+
values.push(documentSnapshot.id);
|
|
91
|
+
}
|
|
92
|
+
return modifiers.setFieldsCursor(cursor, values);
|
|
93
|
+
}
|
|
94
|
+
const allFields = [docOrField].concat(fields);
|
|
95
|
+
if (allFields.length > modifiers.orders.length) {
|
|
96
|
+
throw new Error(`firebase.firestore().collection().${cursor}(*) Too many arguments provided. The number of arguments must be less than or equal to the number of orderBy() clauses.`);
|
|
97
|
+
}
|
|
98
|
+
return modifiers.setFieldsCursor(cursor, allFields);
|
|
99
|
+
}
|
|
100
|
+
count() {
|
|
101
|
+
return createDeprecationProxy(new AggregateQuery(this._firestore, this, this._collectionPath, this._modifiers));
|
|
102
|
+
}
|
|
103
|
+
countFromServer() {
|
|
104
|
+
return this.count();
|
|
105
|
+
}
|
|
106
|
+
endAt(docOrField, ...fields) {
|
|
107
|
+
return createDeprecationProxy(new Query(this._firestore, this._collectionPath, this._handleQueryCursor('endAt', docOrField, filterModularArgument(fields)), this._queryName, this._converter));
|
|
108
|
+
}
|
|
109
|
+
endBefore(docOrField, ...fields) {
|
|
110
|
+
return createDeprecationProxy(new Query(this._firestore, this._collectionPath, this._handleQueryCursor('endBefore', docOrField, filterModularArgument(fields)), this._queryName, this._converter));
|
|
111
|
+
}
|
|
112
|
+
get(options) {
|
|
113
|
+
if (!isUndefined(options) && !isObject(options)) {
|
|
114
|
+
throw new Error("firebase.firestore().collection().get(*) 'options' must be an object is provided.");
|
|
115
|
+
}
|
|
116
|
+
if (options && options.source && options.source !== 'default' && options.source !== 'server' && options.source !== 'cache') {
|
|
117
|
+
throw new Error("firebase.firestore().collection().get(*) 'options' GetOptions.source must be one of 'default', 'server' or 'cache'.");
|
|
118
|
+
}
|
|
119
|
+
if (!isUndefined(this._queryName)) {
|
|
120
|
+
return this._firestore.native.namedQueryGet(this._queryName, this._modifiers.type, this._modifiers.filters, this._modifiers.orders, this._modifiers.options, options).then(data => new QuerySnapshot(this._firestore, this, data, this._converter));
|
|
121
|
+
}
|
|
122
|
+
this._modifiers.validatelimitToLast();
|
|
123
|
+
return this._firestore.native.collectionGet(this._collectionPath.relativeName, this._modifiers.type, this._modifiers.filters, this._modifiers.orders, this._modifiers.options, options).then(data => new QuerySnapshot(this._firestore, this, data, this._converter));
|
|
124
|
+
}
|
|
125
|
+
isEqual(other) {
|
|
126
|
+
if (!(other instanceof Query)) {
|
|
127
|
+
throw new Error("firebase.firestore().collection().isEqual(*) 'other' expected a Query instance.");
|
|
128
|
+
}
|
|
129
|
+
if (this.firestore.app.name !== other.firestore.app.name || this._modifiers.type !== other._modifiers.type || this._modifiers.filters.length !== other._modifiers.filters.length || this._modifiers.orders.length !== other._modifiers.orders.length || this._collectionPath.relativeName !== other._collectionPath.relativeName || this._converter !== other._converter || Object.keys(this._modifiers.options).length !== Object.keys(other._modifiers.options).length) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
if (JSON.stringify(this._modifiers.filters) !== JSON.stringify(other._modifiers.filters) || JSON.stringify(this._modifiers.orders) !== JSON.stringify(other._modifiers.orders) || JSON.stringify(this._modifiers.options) !== JSON.stringify(other._modifiers.options)) {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
limit(limit) {
|
|
138
|
+
if (this._modifiers.isValidLimit(limit)) {
|
|
139
|
+
throw new Error("firebase.firestore().collection().limit(*) 'limit' must be a positive integer value.");
|
|
140
|
+
}
|
|
141
|
+
const modifiers = this._modifiers._copy().limit(limit);
|
|
142
|
+
return createDeprecationProxy(new Query(this._firestore, this._collectionPath, modifiers, this._queryName, this._converter));
|
|
143
|
+
}
|
|
144
|
+
limitToLast(limitToLast) {
|
|
145
|
+
if (this._modifiers.isValidLimitToLast(limitToLast)) {
|
|
146
|
+
throw new Error("firebase.firestore().collection().limitToLast(*) 'limitToLast' must be a positive integer value.");
|
|
147
|
+
}
|
|
148
|
+
const modifiers = this._modifiers._copy().limitToLast(limitToLast);
|
|
149
|
+
return createDeprecationProxy(new Query(this._firestore, this._collectionPath, modifiers, this._queryName, this._converter));
|
|
150
|
+
}
|
|
151
|
+
onSnapshot(...args) {
|
|
152
|
+
let snapshotListenOptions;
|
|
153
|
+
let callback;
|
|
154
|
+
let onNext;
|
|
155
|
+
let onError;
|
|
156
|
+
this._modifiers.validatelimitToLast();
|
|
157
|
+
try {
|
|
158
|
+
const options = parseSnapshotArgs(filterModularArgument(args));
|
|
159
|
+
snapshotListenOptions = options.snapshotListenOptions;
|
|
160
|
+
callback = options.callback;
|
|
161
|
+
onNext = options.onNext;
|
|
162
|
+
onError = options.onError;
|
|
163
|
+
} catch (e) {
|
|
164
|
+
throw new Error(`firebase.firestore().collection().onSnapshot(*) ${e.message}`);
|
|
165
|
+
}
|
|
166
|
+
function handleSuccess(querySnapshot) {
|
|
167
|
+
callback(querySnapshot, null);
|
|
168
|
+
onNext(querySnapshot);
|
|
169
|
+
}
|
|
170
|
+
function handleError(error) {
|
|
171
|
+
callback(null, error);
|
|
172
|
+
onError(error);
|
|
173
|
+
}
|
|
174
|
+
const listenerId = _id++;
|
|
175
|
+
const onSnapshotSubscription = this._firestore.emitter.addListener(this._firestore.eventNameForApp(`firestore_collection_sync_event:${listenerId}`), event => {
|
|
176
|
+
const body = event.body;
|
|
177
|
+
if (body.error) {
|
|
178
|
+
handleError(NativeError.fromEvent(body.error, 'firestore'));
|
|
179
|
+
} else {
|
|
180
|
+
const snapshot = body.snapshot;
|
|
181
|
+
if (!snapshot) return;
|
|
182
|
+
const querySnapshot = new QuerySnapshot(this._firestore, this, snapshot, this._converter);
|
|
183
|
+
handleSuccess(querySnapshot);
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
const unsubscribe = () => {
|
|
187
|
+
onSnapshotSubscription.remove();
|
|
188
|
+
this._firestore.native.collectionOffSnapshot(listenerId);
|
|
189
|
+
};
|
|
190
|
+
if (!isUndefined(this._queryName)) {
|
|
191
|
+
this._firestore.native.namedQueryOnSnapshot(this._queryName, this._modifiers.type, this._modifiers.filters, this._modifiers.orders, this._modifiers.options, listenerId, snapshotListenOptions);
|
|
192
|
+
} else {
|
|
193
|
+
this._firestore.native.collectionOnSnapshot(this._collectionPath.relativeName, this._modifiers.type, this._modifiers.filters, this._modifiers.orders, this._modifiers.options, listenerId, snapshotListenOptions);
|
|
194
|
+
}
|
|
195
|
+
return unsubscribe;
|
|
196
|
+
}
|
|
197
|
+
orderBy(fieldPath, directionStr) {
|
|
198
|
+
if (!isString(fieldPath) && !(fieldPath instanceof FieldPath)) {
|
|
199
|
+
throw new Error("firebase.firestore().collection().orderBy(*) 'fieldPath' must be a string or instance of FieldPath.");
|
|
200
|
+
}
|
|
201
|
+
let path;
|
|
202
|
+
if (isString(fieldPath)) {
|
|
203
|
+
try {
|
|
204
|
+
path = fromDotSeparatedString(fieldPath);
|
|
205
|
+
} catch (e) {
|
|
206
|
+
throw new Error(`firebase.firestore().collection().orderBy(*) 'fieldPath' ${e.message}.`);
|
|
207
|
+
}
|
|
208
|
+
} else {
|
|
209
|
+
path = fieldPath;
|
|
210
|
+
}
|
|
211
|
+
if (!isUndefined(directionStr) && !this._modifiers.isValidDirection(directionStr)) {
|
|
212
|
+
throw new Error("firebase.firestore().collection().orderBy(_, *) 'directionStr' must be one of 'asc' or 'desc'.");
|
|
213
|
+
}
|
|
214
|
+
if (this._modifiers.hasStart()) {
|
|
215
|
+
throw new Error('firebase.firestore().collection().orderBy() Invalid query. You must not call startAt() or startAfter() before calling orderBy().');
|
|
216
|
+
}
|
|
217
|
+
if (this._modifiers.hasEnd()) {
|
|
218
|
+
throw new Error('firebase.firestore().collection().orderBy() Invalid query. You must not call endAt() or endBefore() before calling orderBy().');
|
|
219
|
+
}
|
|
220
|
+
const modifiers = this._modifiers._copy().orderBy(path, directionStr);
|
|
221
|
+
try {
|
|
222
|
+
modifiers.validateOrderBy();
|
|
223
|
+
} catch (e) {
|
|
224
|
+
throw new Error(`firebase.firestore().collection().orderBy() ${e.message}`);
|
|
225
|
+
}
|
|
226
|
+
return createDeprecationProxy(new Query(this._firestore, this._collectionPath, modifiers, this._queryName, this._converter));
|
|
227
|
+
}
|
|
228
|
+
startAfter(docOrField, ...fields) {
|
|
229
|
+
return createDeprecationProxy(new Query(this._firestore, this._collectionPath, this._handleQueryCursor('startAfter', docOrField, filterModularArgument(fields)), this._queryName, this._converter));
|
|
230
|
+
}
|
|
231
|
+
startAt(docOrField, ...fields) {
|
|
232
|
+
return createDeprecationProxy(new Query(this._firestore, this._collectionPath, this._handleQueryCursor('startAt', docOrField, filterModularArgument(fields)), this._queryName, this._converter));
|
|
233
|
+
}
|
|
234
|
+
where(fieldPathOrFilter, opStr, value) {
|
|
235
|
+
if (!isString(fieldPathOrFilter) && !(fieldPathOrFilter instanceof FieldPath) && !(fieldPathOrFilter instanceof _Filter)) {
|
|
236
|
+
throw new Error("firebase.firestore().collection().where(*) 'fieldPath' must be a string, instance of FieldPath or instance of Filter.");
|
|
237
|
+
}
|
|
238
|
+
let modifiers;
|
|
239
|
+
if (fieldPathOrFilter instanceof _Filter && fieldPathOrFilter.queries) {
|
|
240
|
+
const filters = generateFilters(fieldPathOrFilter, this._modifiers);
|
|
241
|
+
modifiers = this._modifiers._copy().filterWhere(filters);
|
|
242
|
+
} else {
|
|
243
|
+
let path;
|
|
244
|
+
let op = opStr;
|
|
245
|
+
let val = value;
|
|
246
|
+
if (fieldPathOrFilter instanceof _Filter) {
|
|
247
|
+
op = fieldPathOrFilter.operator;
|
|
248
|
+
val = fieldPathOrFilter.value;
|
|
249
|
+
fieldPathOrFilter = fieldPathOrFilter.fieldPath;
|
|
250
|
+
}
|
|
251
|
+
if (isString(fieldPathOrFilter)) {
|
|
252
|
+
try {
|
|
253
|
+
path = fromDotSeparatedString(fieldPathOrFilter);
|
|
254
|
+
} catch (e) {
|
|
255
|
+
throw new Error(`firebase.firestore().collection().where(*) 'fieldPath' ${e.message}.`);
|
|
256
|
+
}
|
|
257
|
+
} else {
|
|
258
|
+
path = fieldPathOrFilter;
|
|
259
|
+
}
|
|
260
|
+
if (!this._modifiers.isValidOperator(op)) {
|
|
261
|
+
throw new Error("firebase.firestore().collection().where(_, *) 'opStr' is invalid. Expected one of '==', '>', '>=', '<', '<=', '!=', 'array-contains', 'not-in', 'array-contains-any' or 'in'.");
|
|
262
|
+
}
|
|
263
|
+
if (isUndefined(val)) {
|
|
264
|
+
throw new Error("firebase.firestore().collection().where(_, _, *) 'value' argument expected.");
|
|
265
|
+
}
|
|
266
|
+
if (isNull(val) && !this._modifiers.isEqualOperator(op) && !this._modifiers.isNotEqualOperator(op)) {
|
|
267
|
+
throw new Error("firebase.firestore().collection().where(_, _, *) 'value' is invalid. You can only perform equals comparisons on null");
|
|
268
|
+
}
|
|
269
|
+
if (this._modifiers.isInOperator(op)) {
|
|
270
|
+
if (!isArray(val) || !val.length) {
|
|
271
|
+
throw new Error(`firebase.firestore().collection().where(_, _, *) 'value' is invalid. A non-empty array is required for '${op}' filters.`);
|
|
272
|
+
}
|
|
273
|
+
if (val.length > 30) {
|
|
274
|
+
throw new Error(`firebase.firestore().collection().where(_, _, *) 'value' is invalid. '${op}' filters support a maximum of 30 elements in the value array.`);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
modifiers = this._modifiers._copy().where(path, op, val);
|
|
278
|
+
}
|
|
279
|
+
try {
|
|
280
|
+
modifiers.validateWhere();
|
|
281
|
+
} catch (e) {
|
|
282
|
+
throw new Error(`firebase.firestore().collection().where() ${e.message}`);
|
|
283
|
+
}
|
|
284
|
+
return createDeprecationProxy(new Query(this._firestore, this._collectionPath, modifiers, this._queryName, this._converter));
|
|
285
|
+
}
|
|
286
|
+
withConverter(converter) {
|
|
287
|
+
if (isUndefined(converter) || isNull(converter)) {
|
|
288
|
+
return new Query(this._firestore, this._collectionPath, this._modifiers, this._queryName, null);
|
|
289
|
+
}
|
|
290
|
+
try {
|
|
291
|
+
validateWithConverter(converter);
|
|
292
|
+
} catch (e) {
|
|
293
|
+
throw new Error(`firebase.firestore().collection().withConverter() ${e.message}`);
|
|
294
|
+
}
|
|
295
|
+
return new Query(this._firestore, this._collectionPath, this._modifiers, this._queryName, converter);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
//# sourceMappingURL=FirestoreQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createDeprecationProxy","filterModularArgument","isArray","isNull","isObject","isString","isUndefined","NativeError","AggregateQuery","DocumentSnapshot","FieldPath","fromDotSeparatedString","_Filter","generateFilters","QuerySnapshot","parseSnapshotArgs","validateWithConverter","_id","Query","type","constructor","firestore","collectionPath","modifiers","queryName","converter","_firestore","_collectionPath","_modifiers","_queryName","_converter","_handleQueryCursor","cursor","docOrField","fields","_copy","Error","length","documentSnapshot","exists","currentOrders","orders","values","i","order","pathStr","Array","fieldPath","join","String","value","get","undefined","push","_orders","lastOrder","lastPathStr","_toPath","direction","isCollectionGroupQuery","ref","path","id","setFieldsCursor","allFields","concat","count","countFromServer","endAt","endBefore","options","source","native","namedQueryGet","filters","then","data","validatelimitToLast","collectionGet","relativeName","isEqual","other","app","name","Object","keys","JSON","stringify","limit","isValidLimit","limitToLast","isValidLimitToLast","onSnapshot","args","snapshotListenOptions","callback","onNext","onError","e","message","handleSuccess","querySnapshot","handleError","error","listenerId","onSnapshotSubscription","emitter","addListener","eventNameForApp","event","body","fromEvent","snapshot","unsubscribe","remove","collectionOffSnapshot","namedQueryOnSnapshot","collectionOnSnapshot","orderBy","directionStr","isValidDirection","hasStart","hasEnd","validateOrderBy","startAfter","startAt","where","fieldPathOrFilter","opStr","queries","filterWhere","op","val","operator","isValidOperator","isEqualOperator","isNotEqualOperator","isInOperator","validateWhere","withConverter"],"sourceRoot":"../../lib","sources":["FirestoreQuery.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,sBAAsB,EACtBC,qBAAqB,EACrBC,OAAO,EACPC,MAAM,EACNC,QAAQ,EACRC,QAAQ,EACRC,WAAW,QACN,+CAA+C;AACtD,OAAOC,WAAW,MAAM,qEAAqE;AAC7F,SAASC,cAAc,QAAQ,yBAAsB;AACrD,OAAOC,gBAAgB,MAAM,gCAA6B;AAC1D,OAAOC,SAAS,IAAIC,sBAAsB,QAAQ,gBAAa;AAC/D,SAASC,OAAO,EAAEC,eAAe,QAAQ,sBAAmB;AAE5D,OAAOC,aAAa,MAAwC,6BAA0B;AACtF,SAASC,iBAAiB,EAAEC,qBAAqB,QAAQ,kBAAS;AAWlE,IAAIC,GAAG,GAAG,CAAC;AAEX,eAAe,MAAMC,KAAK,CAAC;EAOzB;EACSC,IAAI,GAAG,OAAO;EAEvBC,WAAWA,CACTC,SAA4B,EAC5BC,cAA6B,EAC7BC,SAAyB,EACzBC,SAAkB,EAClBC,SAAqE,EACrE;IACA,IAAI,CAACC,UAAU,GAAGL,SAAS;IAC3B,IAAI,CAACM,eAAe,GAAGL,cAAc;IACrC,IAAI,CAACM,UAAU,GAAGL,SAAS;IAC3B,IAAI,CAACM,UAAU,GAAGL,SAAS;IAC3B,IAAI,CAACM,UAAU,GAAGL,SAAS,IAAI,IAAI;EACrC;EAEA,IAAIJ,SAASA,CAAA,EAAsB;IACjC,OAAO,IAAI,CAACK,UAAU;EACxB;EAEA,IAAID,SAASA,CAAA,EAA8D;IACzE,OAAO,IAAI,CAACK,UAAU;EACxB;EAEAC,kBAAkBA,CAChBC,MAAwD,EACxDC,UAAyD,EACzDC,MAAoC,EACpB;IAChB,MAAMX,SAAS,GAAG,IAAI,CAACK,UAAU,CAACO,KAAK,CAAC,CAAC;IAEzC,IAAI7B,WAAW,CAAC2B,UAAU,CAAC,EAAE;MAC3B,MAAM,IAAIG,KAAK,CACb,qCAAqCJ,MAAM,4EAC7C,CAAC;IACH;IAEA,IAAIC,UAAU,YAAYxB,gBAAgB,EAAE;MAC1C,IAAIyB,MAAM,CAACG,MAAM,GAAG,CAAC,EAAE;QACrB,MAAM,IAAID,KAAK,CACb,qCAAqCJ,MAAM,qFAC7C,CAAC;MACH;MAEA,MAAMM,gBAAgB,GAAGL,UAAU;MAEnC,IAAI,CAACK,gBAAgB,CAACC,MAAM,CAAC,CAAC,EAAE;QAC9B,MAAM,IAAIH,KAAK,CACb,qCAAqCJ,MAAM,sDAC7C,CAAC;MACH;MAEA,MAAMQ,aAAa,GAAGjB,SAAS,CAACkB,MAAM;MACtC,MAAMC,MAAoC,GAAG,EAAE;MAE/C,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,aAAa,CAACH,MAAM,EAAEM,CAAC,EAAE,EAAE;QAC7C,MAAMC,KAAK,GAAGJ,aAAa,CAACG,CAAC,CAAE;QAC/B,MAAME,OAAO,GAAGC,KAAK,CAAC5C,OAAO,CAAC0C,KAAK,CAACG,SAAS,CAAC,GAC1CH,KAAK,CAACG,SAAS,CAACC,IAAI,CAAC,GAAG,CAAC,GACzBC,MAAM,CAACL,KAAK,CAACG,SAAS,CAAC;QAC3B,IAAIF,OAAO,KAAK,UAAU,EAAE;UAC1B;QACF;QAEA,MAAMK,KAAK,GAAGZ,gBAAgB,CAACa,GAAG,CAChCL,KAAK,CAAC5C,OAAO,CAAC0C,KAAK,CAACG,SAAS,CAAC,GAC1B,IAAIrC,SAAS,CAAC,GAAGkC,KAAK,CAACG,SAAS,CAAC,GAChCH,KAAK,CAACG,SACb,CAAC;QAED,IAAIG,KAAK,KAAKE,SAAS,EAAE;UACvB,MAAM,IAAIhB,KAAK,CACb,qCAAqCJ,MAAM,oFAAoFa,OAAO,yCACxI,CAAC;QACH;QAEAH,MAAM,CAACW,IAAI,CAACH,KAAK,CAAC;MACpB;MAEA,IAAI3B,SAAS,CAAC+B,OAAO,CAACjB,MAAM,EAAE;QAC5B,MAAMkB,SAAS,GAAGhC,SAAS,CAAC+B,OAAO,CAAC/B,SAAS,CAAC+B,OAAO,CAACjB,MAAM,GAAG,CAAC,CAAE;QAClE,MAAMmB,WAAW,GACfD,SAAS,CAACR,SAAS,YAAYrC,SAAS,GACpC6C,SAAS,CAACR,SAAS,CAACU,OAAO,CAAC,CAAC,GAC7BR,MAAM,CAACM,SAAS,CAACR,SAAS,CAAC;QACjC,IAAIS,WAAW,KAAK,UAAU,EAAE;UAC9BjC,SAAS,CAAC+B,OAAO,CAACD,IAAI,CAAC;YACrBN,SAAS,EAAE,IAAIrC,SAAS,CAAC,UAAU,CAAC;YACpCgD,SAAS,EAAEH,SAAS,CAACG;UACvB,CAAC,CAAC;QACJ;MACF,CAAC,MAAM;QACLnC,SAAS,CAAC+B,OAAO,CAACD,IAAI,CAAC;UACrBN,SAAS,EAAE,IAAIrC,SAAS,CAAC,UAAU,CAAC;UACpCgD,SAAS,EAAE;QACb,CAAC,CAAC;MACJ;MAEA,IAAI,IAAI,CAAC9B,UAAU,CAAC+B,sBAAsB,CAAC,CAAC,EAAE;QAC5CjB,MAAM,CAACW,IAAI,CAACf,gBAAgB,CAACsB,GAAG,CAACC,IAAI,CAAC;MACxC,CAAC,MAAM;QACLnB,MAAM,CAACW,IAAI,CAACf,gBAAgB,CAACwB,EAAE,CAAC;MAClC;MAEA,OAAOvC,SAAS,CAACwC,eAAe,CAAC/B,MAAM,EAAEU,MAAM,CAAC;IAClD;IAEA,MAAMsB,SAAS,GAAG,CAAC/B,UAAU,CAAC,CAACgC,MAAM,CAAC/B,MAAM,CAAC;IAE7C,IAAI8B,SAAS,CAAC3B,MAAM,GAAGd,SAAS,CAACkB,MAAM,CAACJ,MAAM,EAAE;MAC9C,MAAM,IAAID,KAAK,CACb,qCAAqCJ,MAAM,yHAC7C,CAAC;IACH;IAEA,OAAOT,SAAS,CAACwC,eAAe,CAAC/B,MAAM,EAAEgC,SAAS,CAAC;EACrD;EAEAE,KAAKA,CAAA,EAA8C;IACjD,OAAOlE,sBAAsB,CAC3B,IAAIQ,cAAc,CAAC,IAAI,CAACkB,UAAU,EAAE,IAAI,EAAE,IAAI,CAACC,eAAe,EAAE,IAAI,CAACC,UAAU,CACjF,CAAC;EACH;EAEAuC,eAAeA,CAAA,EAA+B;IAC5C,OAAO,IAAI,CAACD,KAAK,CAAC,CAAC;EACrB;EAEAE,KAAKA,CACHnC,UAAyD,EACzD,GAAGC,MAAoC,EACI;IAC3C,OAAOlC,sBAAsB,CAC3B,IAAIkB,KAAK,CACP,IAAI,CAACQ,UAAU,EACf,IAAI,CAACC,eAAe,EACpB,IAAI,CAACI,kBAAkB,CAAC,OAAO,EAAEE,UAAU,EAAEhC,qBAAqB,CAACiC,MAAM,CAAC,CAAC,EAC3E,IAAI,CAACL,UAAU,EACf,IAAI,CAACC,UACP,CACF,CAAC;EACH;EAEAuC,SAASA,CACPpC,UAAyD,EACzD,GAAGC,MAAoC,EACI;IAC3C,OAAOlC,sBAAsB,CAC3B,IAAIkB,KAAK,CACP,IAAI,CAACQ,UAAU,EACf,IAAI,CAACC,eAAe,EACpB,IAAI,CAACI,kBAAkB,CAAC,WAAW,EAAEE,UAAU,EAAEhC,qBAAqB,CAACiC,MAAM,CAAC,CAAC,EAC/E,IAAI,CAACL,UAAU,EACf,IAAI,CAACC,UACP,CACF,CAAC;EACH;EAEAqB,GAAGA,CAACmB,OAAqD,EAA0B;IACjF,IAAI,CAAChE,WAAW,CAACgE,OAAO,CAAC,IAAI,CAAClE,QAAQ,CAACkE,OAAO,CAAC,EAAE;MAC/C,MAAM,IAAIlC,KAAK,CACb,mFACF,CAAC;IACH;IAEA,IACEkC,OAAO,IACPA,OAAO,CAACC,MAAM,IACdD,OAAO,CAACC,MAAM,KAAK,SAAS,IAC5BD,OAAO,CAACC,MAAM,KAAK,QAAQ,IAC3BD,OAAO,CAACC,MAAM,KAAK,OAAO,EAC1B;MACA,MAAM,IAAInC,KAAK,CACb,qHACF,CAAC;IACH;IAEA,IAAI,CAAC9B,WAAW,CAAC,IAAI,CAACuB,UAAU,CAAC,EAAE;MACjC,OAAO,IAAI,CAACH,UAAU,CAAC8C,MAAM,CAC1BC,aAAa,CACZ,IAAI,CAAC5C,UAAU,EACf,IAAI,CAACD,UAAU,CAACT,IAAI,EACpB,IAAI,CAACS,UAAU,CAAC8C,OAAO,EACvB,IAAI,CAAC9C,UAAU,CAACa,MAAM,EACtB,IAAI,CAACb,UAAU,CAAC0C,OAAO,EACvBA,OACF,CAAC,CACAK,IAAI,CACFC,IAAa,IACZ,IAAI9D,aAAa,CACf,IAAI,CAACY,UAAU,EACf,IAAI,EACJkD,IAAI,EACJ,IAAI,CAAC9C,UACP,CACJ,CAAC;IACL;IAEA,IAAI,CAACF,UAAU,CAACiD,mBAAmB,CAAC,CAAC;IAErC,OAAO,IAAI,CAACnD,UAAU,CAAC8C,MAAM,CAC1BM,aAAa,CACZ,IAAI,CAACnD,eAAe,CAACoD,YAAY,EACjC,IAAI,CAACnD,UAAU,CAACT,IAAI,EACpB,IAAI,CAACS,UAAU,CAAC8C,OAAO,EACvB,IAAI,CAAC9C,UAAU,CAACa,MAAM,EACtB,IAAI,CAACb,UAAU,CAAC0C,OAAO,EACvBA,OACF,CAAC,CACAK,IAAI,CACFC,IAAa,IACZ,IAAI9D,aAAa,CACf,IAAI,CAACY,UAAU,EACf,IAAI,EACJkD,IAAI,EACJ,IAAI,CAAC9C,UACP,CACJ,CAAC;EACL;EAEAkD,OAAOA,CAACC,KAAY,EAAW;IAC7B,IAAI,EAAEA,KAAK,YAAY/D,KAAK,CAAC,EAAE;MAC7B,MAAM,IAAIkB,KAAK,CACb,iFACF,CAAC;IACH;IAEA,IACE,IAAI,CAACf,SAAS,CAAC6D,GAAG,CAACC,IAAI,KAAKF,KAAK,CAAC5D,SAAS,CAAC6D,GAAG,CAACC,IAAI,IACpD,IAAI,CAACvD,UAAU,CAACT,IAAI,KAAK8D,KAAK,CAACrD,UAAU,CAACT,IAAI,IAC9C,IAAI,CAACS,UAAU,CAAC8C,OAAO,CAACrC,MAAM,KAAK4C,KAAK,CAACrD,UAAU,CAAC8C,OAAO,CAACrC,MAAM,IAClE,IAAI,CAACT,UAAU,CAACa,MAAM,CAACJ,MAAM,KAAK4C,KAAK,CAACrD,UAAU,CAACa,MAAM,CAACJ,MAAM,IAChE,IAAI,CAACV,eAAe,CAACoD,YAAY,KAAKE,KAAK,CAACtD,eAAe,CAACoD,YAAY,IACxE,IAAI,CAACjD,UAAU,KAAKmD,KAAK,CAACnD,UAAU,IACpCsD,MAAM,CAACC,IAAI,CAAC,IAAI,CAACzD,UAAU,CAAC0C,OAAO,CAAC,CAACjC,MAAM,KAAK+C,MAAM,CAACC,IAAI,CAACJ,KAAK,CAACrD,UAAU,CAAC0C,OAAO,CAAC,CAACjC,MAAM,EAC5F;MACA,OAAO,KAAK;IACd;IAEA,IACEiD,IAAI,CAACC,SAAS,CAAC,IAAI,CAAC3D,UAAU,CAAC8C,OAAO,CAAC,KAAKY,IAAI,CAACC,SAAS,CAACN,KAAK,CAACrD,UAAU,CAAC8C,OAAO,CAAC,IACpFY,IAAI,CAACC,SAAS,CAAC,IAAI,CAAC3D,UAAU,CAACa,MAAM,CAAC,KAAK6C,IAAI,CAACC,SAAS,CAACN,KAAK,CAACrD,UAAU,CAACa,MAAM,CAAC,IAClF6C,IAAI,CAACC,SAAS,CAAC,IAAI,CAAC3D,UAAU,CAAC0C,OAAO,CAAC,KAAKgB,IAAI,CAACC,SAAS,CAACN,KAAK,CAACrD,UAAU,CAAC0C,OAAO,CAAC,EACpF;MACA,OAAO,KAAK;IACd;IAEA,OAAO,IAAI;EACb;EAEAkB,KAAKA,CAACA,KAAa,EAA6C;IAC9D,IAAI,IAAI,CAAC5D,UAAU,CAAC6D,YAAY,CAACD,KAAK,CAAC,EAAE;MACvC,MAAM,IAAIpD,KAAK,CACb,sFACF,CAAC;IACH;IAEA,MAAMb,SAAS,GAAG,IAAI,CAACK,UAAU,CAACO,KAAK,CAAC,CAAC,CAACqD,KAAK,CAACA,KAAK,CAAC;IAEtD,OAAOxF,sBAAsB,CAC3B,IAAIkB,KAAK,CAAC,IAAI,CAACQ,UAAU,EAAE,IAAI,CAACC,eAAe,EAAEJ,SAAS,EAAE,IAAI,CAACM,UAAU,EAAE,IAAI,CAACC,UAAU,CAC9F,CAAC;EACH;EAEA4D,WAAWA,CAACA,WAAmB,EAA6C;IAC1E,IAAI,IAAI,CAAC9D,UAAU,CAAC+D,kBAAkB,CAACD,WAAW,CAAC,EAAE;MACnD,MAAM,IAAItD,KAAK,CACb,kGACF,CAAC;IACH;IAEA,MAAMb,SAAS,GAAG,IAAI,CAACK,UAAU,CAACO,KAAK,CAAC,CAAC,CAACuD,WAAW,CAACA,WAAW,CAAC;IAElE,OAAO1F,sBAAsB,CAC3B,IAAIkB,KAAK,CAAC,IAAI,CAACQ,UAAU,EAAE,IAAI,CAACC,eAAe,EAAEJ,SAAS,EAAE,IAAI,CAACM,UAAU,EAAE,IAAI,CAACC,UAAU,CAC9F,CAAC;EACH;EAEA8D,UAAUA,CAAC,GAAGC,IAAe,EAAc;IACzC,IAAIC,qBAA2D;IAC/D,IAAIC,QAAuE;IAC3E,IAAIC,MAAyC;IAC7C,IAAIC,OAA+B;IAEnC,IAAI,CAACrE,UAAU,CAACiD,mBAAmB,CAAC,CAAC;IAErC,IAAI;MACF,MAAMP,OAAO,GAAGvD,iBAAiB,CAACd,qBAAqB,CAAC4F,IAAI,CAAC,CAAC;MAC9DC,qBAAqB,GAAGxB,OAAO,CAACwB,qBAAqB;MACrDC,QAAQ,GAAGzB,OAAO,CAACyB,QAAQ;MAC3BC,MAAM,GAAG1B,OAAO,CAAC0B,MAAM;MACvBC,OAAO,GAAG3B,OAAO,CAAC2B,OAAO;IAC3B,CAAC,CAAC,OAAOC,CAAC,EAAE;MACV,MAAM,IAAI9D,KAAK,CAAC,mDAAoD8D,CAAC,CAAWC,OAAO,EAAE,CAAC;IAC5F;IAEA,SAASC,aAAaA,CAACC,aAA4B,EAAQ;MACzDN,QAAQ,CAACM,aAAa,EAAE,IAAI,CAAC;MAC7BL,MAAM,CAACK,aAAa,CAAC;IACvB;IAEA,SAASC,WAAWA,CAACC,KAAY,EAAQ;MACvCR,QAAQ,CAAC,IAAI,EAAEQ,KAAK,CAAC;MACrBN,OAAO,CAACM,KAAK,CAAC;IAChB;IAEA,MAAMC,UAAU,GAAGvF,GAAG,EAAE;IAExB,MAAMwF,sBAAsB,GAAG,IAAI,CAAC/E,UAAU,CAACgF,OAAO,CAACC,WAAW,CAChE,IAAI,CAACjF,UAAU,CAACkF,eAAe,CAAC,mCAAmCJ,UAAU,EAAE,CAAC,EAC/EK,KAA+C,IAAK;MACnD,MAAMC,IAAI,GAAGD,KAAK,CAACC,IAGlB;MACD,IAAIA,IAAI,CAACP,KAAK,EAAE;QACdD,WAAW,CAAC/F,WAAW,CAACwG,SAAS,CAACD,IAAI,CAACP,KAAK,EAAE,WAAW,CAAC,CAAC;MAC7D,CAAC,MAAM;QACL,MAAMS,QAAQ,GAAGF,IAAI,CAACE,QAAQ;QAC9B,IAAI,CAACA,QAAQ,EAAE;QACf,MAAMX,aAAa,GAAG,IAAIvF,aAAa,CAAC,IAAI,CAACY,UAAU,EAAE,IAAI,EAAEsF,QAAQ,EAAE,IAAI,CAAClF,UAAU,CAAC;QACzFsE,aAAa,CAACC,aAAa,CAAC;MAC9B;IACF,CACF,CAAC;IAED,MAAMY,WAAW,GAAGA,CAAA,KAAY;MAC9BR,sBAAsB,CAACS,MAAM,CAAC,CAAC;MAC/B,IAAI,CAACxF,UAAU,CAAC8C,MAAM,CAAC2C,qBAAqB,CAACX,UAAU,CAAC;IAC1D,CAAC;IAED,IAAI,CAAClG,WAAW,CAAC,IAAI,CAACuB,UAAU,CAAC,EAAE;MACjC,IAAI,CAACH,UAAU,CAAC8C,MAAM,CAAC4C,oBAAoB,CACzC,IAAI,CAACvF,UAAU,EACf,IAAI,CAACD,UAAU,CAACT,IAAI,EACpB,IAAI,CAACS,UAAU,CAAC8C,OAAO,EACvB,IAAI,CAAC9C,UAAU,CAACa,MAAM,EACtB,IAAI,CAACb,UAAU,CAAC0C,OAAO,EACvBkC,UAAU,EACVV,qBACF,CAAC;IACH,CAAC,MAAM;MACL,IAAI,CAACpE,UAAU,CAAC8C,MAAM,CAAC6C,oBAAoB,CACzC,IAAI,CAAC1F,eAAe,CAACoD,YAAY,EACjC,IAAI,CAACnD,UAAU,CAACT,IAAI,EACpB,IAAI,CAACS,UAAU,CAAC8C,OAAO,EACvB,IAAI,CAAC9C,UAAU,CAACa,MAAM,EACtB,IAAI,CAACb,UAAU,CAAC0C,OAAO,EACvBkC,UAAU,EACVV,qBACF,CAAC;IACH;IAEA,OAAOmB,WAAW;EACpB;EAEAK,OAAOA,CACLvE,SAA6B,EAC7BwE,YAAqB,EACsB;IAC3C,IAAI,CAAClH,QAAQ,CAAC0C,SAAS,CAAC,IAAI,EAAEA,SAAS,YAAYrC,SAAS,CAAC,EAAE;MAC7D,MAAM,IAAI0B,KAAK,CACb,qGACF,CAAC;IACH;IAEA,IAAIyB,IAAe;IAEnB,IAAIxD,QAAQ,CAAC0C,SAAS,CAAC,EAAE;MACvB,IAAI;QACFc,IAAI,GAAGlD,sBAAsB,CAACoC,SAAS,CAAC;MAC1C,CAAC,CAAC,OAAOmD,CAAC,EAAE;QACV,MAAM,IAAI9D,KAAK,CACb,4DAA6D8D,CAAC,CAAWC,OAAO,GAClF,CAAC;MACH;IACF,CAAC,MAAM;MACLtC,IAAI,GAAGd,SAAS;IAClB;IAEA,IAAI,CAACzC,WAAW,CAACiH,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC3F,UAAU,CAAC4F,gBAAgB,CAACD,YAAY,CAAC,EAAE;MACjF,MAAM,IAAInF,KAAK,CACb,gGACF,CAAC;IACH;IAEA,IAAI,IAAI,CAACR,UAAU,CAAC6F,QAAQ,CAAC,CAAC,EAAE;MAC9B,MAAM,IAAIrF,KAAK,CACb,kIACF,CAAC;IACH;IAEA,IAAI,IAAI,CAACR,UAAU,CAAC8F,MAAM,CAAC,CAAC,EAAE;MAC5B,MAAM,IAAItF,KAAK,CACb,+HACF,CAAC;IACH;IAEA,MAAMb,SAAS,GAAG,IAAI,CAACK,UAAU,CAACO,KAAK,CAAC,CAAC,CAACmF,OAAO,CAACzD,IAAI,EAAE0D,YAAY,CAAC;IAErE,IAAI;MACFhG,SAAS,CAACoG,eAAe,CAAC,CAAC;IAC7B,CAAC,CAAC,OAAOzB,CAAC,EAAE;MACV,MAAM,IAAI9D,KAAK,CAAC,+CAAgD8D,CAAC,CAAWC,OAAO,EAAE,CAAC;IACxF;IAEA,OAAOnG,sBAAsB,CAC3B,IAAIkB,KAAK,CAAC,IAAI,CAACQ,UAAU,EAAE,IAAI,CAACC,eAAe,EAAEJ,SAAS,EAAE,IAAI,CAACM,UAAU,EAAE,IAAI,CAACC,UAAU,CAC9F,CAAC;EACH;EAEA8F,UAAUA,CACR3F,UAAyD,EACzD,GAAGC,MAAoC,EACI;IAC3C,OAAOlC,sBAAsB,CAC3B,IAAIkB,KAAK,CACP,IAAI,CAACQ,UAAU,EACf,IAAI,CAACC,eAAe,EACpB,IAAI,CAACI,kBAAkB,CAAC,YAAY,EAAEE,UAAU,EAAEhC,qBAAqB,CAACiC,MAAM,CAAC,CAAC,EAChF,IAAI,CAACL,UAAU,EACf,IAAI,CAACC,UACP,CACF,CAAC;EACH;EAEA+F,OAAOA,CACL5F,UAAyD,EACzD,GAAGC,MAAoC,EACI;IAC3C,OAAOlC,sBAAsB,CAC3B,IAAIkB,KAAK,CACP,IAAI,CAACQ,UAAU,EACf,IAAI,CAACC,eAAe,EACpB,IAAI,CAACI,kBAAkB,CAAC,SAAS,EAAEE,UAAU,EAAEhC,qBAAqB,CAACiC,MAAM,CAAC,CAAC,EAC7E,IAAI,CAACL,UAAU,EACf,IAAI,CAACC,UACP,CACF,CAAC;EACH;EAEAgG,KAAKA,CACHC,iBAA+C,EAC/CC,KAAc,EACd9E,KAAkC,EACS;IAC3C,IACE,CAAC7C,QAAQ,CAAC0H,iBAAiB,CAAC,IAC5B,EAAEA,iBAAiB,YAAYrH,SAAS,CAAC,IACzC,EAAEqH,iBAAiB,YAAYnH,OAAO,CAAC,EACvC;MACA,MAAM,IAAIwB,KAAK,CACb,uHACF,CAAC;IACH;IAEA,IAAIb,SAAyB;IAE7B,IAAIwG,iBAAiB,YAAYnH,OAAO,IAAImH,iBAAiB,CAACE,OAAO,EAAE;MACrE,MAAMvD,OAAO,GAAG7D,eAAe,CAACkH,iBAAiB,EAAE,IAAI,CAACnG,UAAU,CAAC;MACnEL,SAAS,GAAG,IAAI,CAACK,UAAU,CAACO,KAAK,CAAC,CAAC,CAAC+F,WAAW,CAACxD,OAAO,CAAC;IAC1D,CAAC,MAAM;MACL,IAAIb,IAAe;MACnB,IAAIsE,EAAE,GAAGH,KAAK;MACd,IAAII,GAAG,GAAGlF,KAAK;MAEf,IAAI6E,iBAAiB,YAAYnH,OAAO,EAAE;QACxCuH,EAAE,GAAGJ,iBAAiB,CAACM,QAAkB;QACzCD,GAAG,GAAGL,iBAAiB,CAAC7E,KAAK;QAC7B6E,iBAAiB,GAAGA,iBAAiB,CAAChF,SAAsB;MAC9D;MAEA,IAAI1C,QAAQ,CAAC0H,iBAAiB,CAAC,EAAE;QAC/B,IAAI;UACFlE,IAAI,GAAGlD,sBAAsB,CAACoH,iBAAiB,CAAC;QAClD,CAAC,CAAC,OAAO7B,CAAC,EAAE;UACV,MAAM,IAAI9D,KAAK,CACb,0DAA2D8D,CAAC,CAAWC,OAAO,GAChF,CAAC;QACH;MACF,CAAC,MAAM;QACLtC,IAAI,GAAGkE,iBAAiB;MAC1B;MAEA,IAAI,CAAC,IAAI,CAACnG,UAAU,CAAC0G,eAAe,CAACH,EAAG,CAAC,EAAE;QACzC,MAAM,IAAI/F,KAAK,CACb,+KACF,CAAC;MACH;MAEA,IAAI9B,WAAW,CAAC8H,GAAG,CAAC,EAAE;QACpB,MAAM,IAAIhG,KAAK,CACb,6EACF,CAAC;MACH;MAEA,IACEjC,MAAM,CAACiI,GAAG,CAAC,IACX,CAAC,IAAI,CAACxG,UAAU,CAAC2G,eAAe,CAACJ,EAAG,CAAC,IACrC,CAAC,IAAI,CAACvG,UAAU,CAAC4G,kBAAkB,CAACL,EAAG,CAAC,EACxC;QACA,MAAM,IAAI/F,KAAK,CACb,sHACF,CAAC;MACH;MAEA,IAAI,IAAI,CAACR,UAAU,CAAC6G,YAAY,CAACN,EAAG,CAAC,EAAE;QACrC,IAAI,CAACjI,OAAO,CAACkI,GAAG,CAAC,IAAI,CAAEA,GAAG,CAAkC/F,MAAM,EAAE;UAClE,MAAM,IAAID,KAAK,CACb,2GAA2G+F,EAAE,YAC/G,CAAC;QACH;QAEA,IAAKC,GAAG,CAAkC/F,MAAM,GAAG,EAAE,EAAE;UACrD,MAAM,IAAID,KAAK,CACb,yEAAyE+F,EAAE,gEAC7E,CAAC;QACH;MACF;MAEA5G,SAAS,GAAG,IAAI,CAACK,UAAU,CAACO,KAAK,CAAC,CAAC,CAAC2F,KAAK,CAACjE,IAAI,EAAEsE,EAAE,EAAGC,GAAG,CAAC;IAC3D;IAEA,IAAI;MACF7G,SAAS,CAACmH,aAAa,CAAC,CAAC;IAC3B,CAAC,CAAC,OAAOxC,CAAC,EAAE;MACV,MAAM,IAAI9D,KAAK,CAAC,6CAA8C8D,CAAC,CAAWC,OAAO,EAAE,CAAC;IACtF;IAEA,OAAOnG,sBAAsB,CAC3B,IAAIkB,KAAK,CAAC,IAAI,CAACQ,UAAU,EAAE,IAAI,CAACC,eAAe,EAAEJ,SAAS,EAAE,IAAI,CAACM,UAAU,EAAE,IAAI,CAACC,UAAU,CAC9F,CAAC;EACH;EAEA6G,aAAaA,CACXlH,SAA8E,EACvE;IACP,IAAInB,WAAW,CAACmB,SAAS,CAAC,IAAItB,MAAM,CAACsB,SAAS,CAAC,EAAE;MAC/C,OAAO,IAAIP,KAAK,CACd,IAAI,CAACQ,UAAU,EACf,IAAI,CAACC,eAAe,EACpB,IAAI,CAACC,UAAU,EACf,IAAI,CAACC,UAAU,EACf,IACF,CAAC;IACH;IAEA,IAAI;MACFb,qBAAqB,CAACS,SAAS,CAAC;IAClC,CAAC,CAAC,OAAOyE,CAAC,EAAE;MACV,MAAM,IAAI9D,KAAK,CAAC,qDAAsD8D,CAAC,CAAWC,OAAO,EAAE,CAAC;IAC9F;IAEA,OAAO,IAAIjF,KAAK,CACd,IAAI,CAACQ,UAAU,EACf,IAAI,CAACC,eAAe,EACpB,IAAI,CAACC,UAAU,EACf,IAAI,CAACC,UAAU,EACfJ,SACF,CAAC;EACH;AACF","ignoreList":[]}
|