uql-orm 0.9.5 → 0.10.2
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 +43 -0
- package/README.md +3 -2
- package/dist/browser/http/bus.d.ts +4 -0
- package/dist/browser/http/bus.d.ts.map +1 -0
- package/dist/browser/http/bus.js +14 -0
- package/dist/browser/http/bus.js.map +1 -0
- package/dist/browser/http/http.d.ts +22 -0
- package/dist/browser/http/http.d.ts.map +1 -0
- package/dist/browser/http/http.js +70 -0
- package/dist/browser/http/http.js.map +1 -0
- package/dist/browser/http/index.d.ts +3 -0
- package/dist/browser/http/index.d.ts.map +1 -0
- package/dist/browser/http/index.js +3 -0
- package/dist/browser/http/index.js.map +1 -0
- package/dist/browser/index.d.ts +5 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +5 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/options.d.ts +5 -0
- package/dist/browser/options.d.ts.map +1 -0
- package/dist/browser/options.js +14 -0
- package/dist/browser/options.js.map +1 -0
- package/dist/browser/querier/httpQuerier.d.ts +38 -0
- package/dist/browser/querier/httpQuerier.d.ts.map +1 -0
- package/dist/browser/querier/httpQuerier.js +83 -0
- package/dist/browser/querier/httpQuerier.js.map +1 -0
- package/dist/browser/querier/index.d.ts +2 -0
- package/dist/browser/querier/index.d.ts.map +1 -0
- package/dist/browser/querier/index.js +2 -0
- package/dist/browser/querier/index.js.map +1 -0
- package/dist/browser/type/clientQuerier.d.ts +28 -0
- package/dist/browser/type/clientQuerier.d.ts.map +1 -0
- package/dist/browser/type/clientQuerier.js +2 -0
- package/dist/browser/type/clientQuerier.js.map +1 -0
- package/dist/browser/type/clientQuerierPool.d.ts +5 -0
- package/dist/browser/type/clientQuerierPool.d.ts.map +1 -0
- package/dist/browser/type/clientQuerierPool.js +2 -0
- package/dist/browser/type/clientQuerierPool.js.map +1 -0
- package/dist/browser/type/index.d.ts +4 -0
- package/dist/browser/type/index.d.ts.map +1 -0
- package/dist/browser/type/index.js +4 -0
- package/dist/browser/type/index.js.map +1 -0
- package/dist/browser/type/request.d.ts +28 -0
- package/dist/browser/type/request.d.ts.map +1 -0
- package/dist/browser/type/request.js +2 -0
- package/dist/browser/type/request.js.map +1 -0
- package/dist/browser/uql-browser.min.js +2 -7029
- package/dist/browser/uql-browser.min.js.map +17 -1
- package/dist/bunSql/bunSql.util.d.ts +30 -0
- package/dist/bunSql/bunSql.util.d.ts.map +1 -0
- package/dist/bunSql/bunSql.util.js +101 -0
- package/dist/bunSql/bunSql.util.js.map +1 -0
- package/dist/bunSql/bunSqlPostgresDialect.d.ts +12 -0
- package/dist/bunSql/bunSqlPostgresDialect.d.ts.map +1 -0
- package/dist/bunSql/bunSqlPostgresDialect.js +21 -0
- package/dist/bunSql/bunSqlPostgresDialect.js.map +1 -0
- package/dist/bunSql/bunSqlQuerier.d.ts +14 -0
- package/dist/bunSql/bunSqlQuerier.d.ts.map +1 -0
- package/dist/bunSql/bunSqlQuerier.js +37 -0
- package/dist/bunSql/bunSqlQuerier.js.map +1 -0
- package/dist/bunSql/bunSqlQuerierPool.d.ts +19 -0
- package/dist/bunSql/bunSqlQuerierPool.d.ts.map +1 -0
- package/dist/bunSql/bunSqlQuerierPool.js +58 -0
- package/dist/bunSql/bunSqlQuerierPool.js.map +1 -0
- package/dist/bunSql/bunSqliteDialect.d.ts +7 -0
- package/dist/bunSql/bunSqliteDialect.d.ts.map +1 -0
- package/dist/bunSql/bunSqliteDialect.js +7 -0
- package/dist/bunSql/bunSqliteDialect.js.map +1 -0
- package/dist/bunSql/index.d.ts +5 -0
- package/dist/bunSql/index.d.ts.map +1 -0
- package/dist/bunSql/index.js +5 -0
- package/dist/bunSql/index.js.map +1 -0
- package/dist/cockroachdb/cockroachDialect.d.ts +15 -0
- package/dist/cockroachdb/cockroachDialect.d.ts.map +1 -0
- package/dist/cockroachdb/cockroachDialect.js +14 -0
- package/dist/cockroachdb/cockroachDialect.js.map +1 -0
- package/dist/cockroachdb/crdbQuerier.d.ts +9 -0
- package/dist/cockroachdb/crdbQuerier.d.ts.map +1 -0
- package/dist/cockroachdb/crdbQuerier.js +7 -0
- package/dist/cockroachdb/crdbQuerier.js.map +1 -0
- package/dist/cockroachdb/crdbQuerierPool.d.ts +14 -0
- package/dist/cockroachdb/crdbQuerierPool.d.ts.map +1 -0
- package/dist/cockroachdb/crdbQuerierPool.js +16 -0
- package/dist/cockroachdb/crdbQuerierPool.js.map +1 -0
- package/dist/cockroachdb/index.d.ts +4 -0
- package/dist/cockroachdb/index.d.ts.map +1 -0
- package/dist/cockroachdb/index.js +4 -0
- package/dist/cockroachdb/index.js.map +1 -0
- package/dist/d1/d1Querier.d.ts +46 -0
- package/dist/d1/d1Querier.d.ts.map +1 -0
- package/dist/d1/d1Querier.js +30 -0
- package/dist/d1/d1Querier.js.map +1 -0
- package/dist/d1/d1QuerierPool.d.ts +11 -0
- package/dist/d1/d1QuerierPool.d.ts.map +1 -0
- package/dist/d1/d1QuerierPool.js +17 -0
- package/dist/d1/d1QuerierPool.js.map +1 -0
- package/dist/d1/d1SqliteDialect.d.ts +10 -0
- package/dist/d1/d1SqliteDialect.d.ts.map +1 -0
- package/dist/d1/d1SqliteDialect.js +10 -0
- package/dist/d1/d1SqliteDialect.js.map +1 -0
- package/dist/d1/index.d.ts +4 -0
- package/dist/d1/index.d.ts.map +1 -0
- package/dist/d1/index.js +4 -0
- package/dist/d1/index.js.map +1 -0
- package/dist/dialect/abstractDialect.d.ts +32 -0
- package/dist/dialect/abstractDialect.d.ts.map +1 -0
- package/dist/dialect/abstractDialect.js +39 -0
- package/dist/dialect/abstractDialect.js.map +1 -0
- package/dist/dialect/abstractSqlDialect.d.ts +233 -0
- package/dist/dialect/abstractSqlDialect.d.ts.map +1 -0
- package/dist/dialect/abstractSqlDialect.js +1332 -0
- package/dist/dialect/abstractSqlDialect.js.map +1 -0
- package/dist/dialect/index.d.ts +9 -0
- package/dist/dialect/index.d.ts.map +1 -0
- package/dist/dialect/index.js +9 -0
- package/dist/dialect/index.js.map +1 -0
- package/dist/dialect/jsonArrayElemMatchUtils.d.ts +10 -0
- package/dist/dialect/jsonArrayElemMatchUtils.d.ts.map +1 -0
- package/dist/dialect/jsonArrayElemMatchUtils.js +24 -0
- package/dist/dialect/jsonArrayElemMatchUtils.js.map +1 -0
- package/dist/dialect/mysqlLikeSqlDialect.d.ts +36 -0
- package/dist/dialect/mysqlLikeSqlDialect.d.ts.map +1 -0
- package/dist/dialect/mysqlLikeSqlDialect.js +84 -0
- package/dist/dialect/mysqlLikeSqlDialect.js.map +1 -0
- package/dist/dialect/queryContext.d.ts +49 -0
- package/dist/dialect/queryContext.d.ts.map +1 -0
- package/dist/dialect/queryContext.js +65 -0
- package/dist/dialect/queryContext.js.map +1 -0
- package/dist/entity/decorator/entity.d.ts +3 -0
- package/dist/entity/decorator/entity.d.ts.map +1 -0
- package/dist/entity/decorator/entity.js +7 -0
- package/dist/entity/decorator/entity.js.map +1 -0
- package/dist/entity/decorator/field.d.ts +3 -0
- package/dist/entity/decorator/field.d.ts.map +1 -0
- package/dist/entity/decorator/field.js +8 -0
- package/dist/entity/decorator/field.js.map +1 -0
- package/dist/entity/decorator/hook.d.ts +8 -0
- package/dist/entity/decorator/hook.d.ts.map +1 -0
- package/dist/entity/decorator/hook.js +15 -0
- package/dist/entity/decorator/hook.js.map +1 -0
- package/dist/entity/decorator/id.d.ts +3 -0
- package/dist/entity/decorator/id.d.ts.map +1 -0
- package/dist/entity/decorator/id.js +8 -0
- package/dist/entity/decorator/id.js.map +1 -0
- package/dist/entity/decorator/index-decorator.d.ts +37 -0
- package/dist/entity/decorator/index-decorator.d.ts.map +1 -0
- package/dist/entity/decorator/index-decorator.js +27 -0
- package/dist/entity/decorator/index-decorator.js.map +1 -0
- package/dist/entity/decorator/index.d.ts +8 -0
- package/dist/entity/decorator/index.d.ts.map +1 -0
- package/dist/entity/decorator/index.js +8 -0
- package/dist/entity/decorator/index.js.map +1 -0
- package/dist/entity/decorator/relation.d.ts +9 -0
- package/dist/entity/decorator/relation.d.ts.map +1 -0
- package/dist/entity/decorator/relation.js +20 -0
- package/dist/entity/decorator/relation.js.map +1 -0
- package/dist/entity/index.d.ts +2 -0
- package/dist/entity/index.d.ts.map +1 -0
- package/dist/entity/index.js +2 -0
- package/dist/entity/index.js.map +1 -0
- package/dist/entity/metadata/definition.d.ts +16 -0
- package/dist/entity/metadata/definition.d.ts.map +1 -0
- package/dist/entity/metadata/definition.js +311 -0
- package/dist/entity/metadata/definition.js.map +1 -0
- package/dist/entity/test-helpers.d.ts +4 -0
- package/dist/entity/test-helpers.d.ts.map +1 -0
- package/dist/entity/test-helpers.js +15 -0
- package/dist/entity/test-helpers.js.map +1 -0
- package/dist/express/index.d.ts +2 -0
- package/dist/express/index.d.ts.map +1 -0
- package/dist/express/index.js +2 -0
- package/dist/express/index.js.map +1 -0
- package/dist/express/querierMiddleware.d.ts +12 -0
- package/dist/express/querierMiddleware.d.ts.map +1 -0
- package/dist/express/querierMiddleware.js +40 -0
- package/dist/express/querierMiddleware.js.map +1 -0
- package/dist/http/contract.d.ts +99 -0
- package/dist/http/contract.d.ts.map +1 -0
- package/dist/http/contract.js +72 -0
- package/dist/http/contract.js.map +1 -0
- package/dist/http/fetchHandler.d.ts +14 -0
- package/dist/http/fetchHandler.d.ts.map +1 -0
- package/dist/http/fetchHandler.js +63 -0
- package/dist/http/fetchHandler.js.map +1 -0
- package/dist/http/handler.d.ts +77 -0
- package/dist/http/handler.d.ts.map +1 -0
- package/dist/http/handler.js +172 -0
- package/dist/http/handler.js.map +1 -0
- package/dist/http/index.d.ts +5 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +5 -0
- package/dist/http/index.js.map +1 -0
- package/dist/http/query.d.ts +12 -0
- package/dist/http/query.d.ts.map +1 -0
- package/dist/http/query.js +49 -0
- package/dist/http/query.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/libsql/index.d.ts +4 -0
- package/dist/libsql/index.d.ts.map +1 -0
- package/dist/libsql/index.js +4 -0
- package/dist/libsql/index.js.map +1 -0
- package/dist/libsql/libsqlDialect.d.ts +10 -0
- package/dist/libsql/libsqlDialect.d.ts.map +1 -0
- package/dist/libsql/libsqlDialect.js +10 -0
- package/dist/libsql/libsqlDialect.js.map +1 -0
- package/dist/libsql/libsqlQuerier.d.ts +24 -0
- package/dist/libsql/libsqlQuerier.d.ts.map +1 -0
- package/dist/libsql/libsqlQuerier.js +76 -0
- package/dist/libsql/libsqlQuerier.js.map +1 -0
- package/dist/libsql/libsqlQuerierPool.d.ts +20 -0
- package/dist/libsql/libsqlQuerierPool.d.ts.map +1 -0
- package/dist/libsql/libsqlQuerierPool.js +40 -0
- package/dist/libsql/libsqlQuerierPool.js.map +1 -0
- package/dist/maria/index.d.ts +4 -0
- package/dist/maria/index.d.ts.map +1 -0
- package/dist/maria/index.js +4 -0
- package/dist/maria/index.js.map +1 -0
- package/dist/maria/mariaDialect.d.ts +16 -0
- package/dist/maria/mariaDialect.d.ts.map +1 -0
- package/dist/maria/mariaDialect.js +56 -0
- package/dist/maria/mariaDialect.js.map +1 -0
- package/dist/maria/mariadbQuerier.d.ts +12 -0
- package/dist/maria/mariadbQuerier.d.ts.map +1 -0
- package/dist/maria/mariadbQuerier.js +31 -0
- package/dist/maria/mariadbQuerier.js.map +1 -0
- package/dist/maria/mariadbQuerierPool.d.ts +14 -0
- package/dist/maria/mariadbQuerierPool.d.ts.map +1 -0
- package/dist/maria/mariadbQuerierPool.js +26 -0
- package/dist/maria/mariadbQuerierPool.js.map +1 -0
- package/dist/migrate/acquireQuerierForMigrations.d.ts +9 -0
- package/dist/migrate/acquireQuerierForMigrations.d.ts.map +1 -0
- package/dist/migrate/acquireQuerierForMigrations.js +10 -0
- package/dist/migrate/acquireQuerierForMigrations.js.map +1 -0
- package/dist/migrate/assertCliConfig.d.ts +6 -0
- package/dist/migrate/assertCliConfig.d.ts.map +1 -0
- package/dist/migrate/assertCliConfig.js +31 -0
- package/dist/migrate/assertCliConfig.js.map +1 -0
- package/dist/migrate/bin.d.ts +3 -0
- package/dist/migrate/bin.d.ts.map +1 -0
- package/dist/migrate/bin.js +7 -0
- package/dist/migrate/bin.js.map +1 -0
- package/dist/migrate/builder/columnBuilder.d.ts +79 -0
- package/dist/migrate/builder/columnBuilder.d.ts.map +1 -0
- package/dist/migrate/builder/columnBuilder.js +159 -0
- package/dist/migrate/builder/columnBuilder.js.map +1 -0
- package/dist/migrate/builder/expressions.d.ts +87 -0
- package/dist/migrate/builder/expressions.d.ts.map +1 -0
- package/dist/migrate/builder/expressions.js +150 -0
- package/dist/migrate/builder/expressions.js.map +1 -0
- package/dist/migrate/builder/index.d.ts +6 -0
- package/dist/migrate/builder/index.d.ts.map +1 -0
- package/dist/migrate/builder/index.js +6 -0
- package/dist/migrate/builder/index.js.map +1 -0
- package/dist/migrate/builder/migrationBuilder.d.ts +110 -0
- package/dist/migrate/builder/migrationBuilder.d.ts.map +1 -0
- package/dist/migrate/builder/migrationBuilder.js +470 -0
- package/dist/migrate/builder/migrationBuilder.js.map +1 -0
- package/dist/migrate/builder/splitSqlStatements.d.ts +18 -0
- package/dist/migrate/builder/splitSqlStatements.d.ts.map +1 -0
- package/dist/migrate/builder/splitSqlStatements.js +44 -0
- package/dist/migrate/builder/splitSqlStatements.js.map +1 -0
- package/dist/migrate/builder/tableBuilder.d.ts +51 -0
- package/dist/migrate/builder/tableBuilder.d.ts.map +1 -0
- package/dist/migrate/builder/tableBuilder.js +291 -0
- package/dist/migrate/builder/tableBuilder.js.map +1 -0
- package/dist/migrate/builder/types.d.ts +466 -0
- package/dist/migrate/builder/types.d.ts.map +1 -0
- package/dist/migrate/builder/types.js +8 -0
- package/dist/migrate/builder/types.js.map +1 -0
- package/dist/migrate/cli-config.d.ts +3 -0
- package/dist/migrate/cli-config.d.ts.map +1 -0
- package/dist/migrate/cli-config.js +35 -0
- package/dist/migrate/cli-config.js.map +1 -0
- package/dist/migrate/cli.d.ts +20 -0
- package/dist/migrate/cli.d.ts.map +1 -0
- package/dist/migrate/cli.js +398 -0
- package/dist/migrate/cli.js.map +1 -0
- package/dist/migrate/codegen/entityCodeGenerator.d.ts +137 -0
- package/dist/migrate/codegen/entityCodeGenerator.d.ts.map +1 -0
- package/dist/migrate/codegen/entityCodeGenerator.js +405 -0
- package/dist/migrate/codegen/entityCodeGenerator.js.map +1 -0
- package/dist/migrate/codegen/entityMerger.d.ts +115 -0
- package/dist/migrate/codegen/entityMerger.d.ts.map +1 -0
- package/dist/migrate/codegen/entityMerger.js +294 -0
- package/dist/migrate/codegen/entityMerger.js.map +1 -0
- package/dist/migrate/codegen/index.d.ts +11 -0
- package/dist/migrate/codegen/index.d.ts.map +1 -0
- package/dist/migrate/codegen/index.js +15 -0
- package/dist/migrate/codegen/index.js.map +1 -0
- package/dist/migrate/codegen/migrationCodeGenerator.d.ts +62 -0
- package/dist/migrate/codegen/migrationCodeGenerator.d.ts.map +1 -0
- package/dist/migrate/codegen/migrationCodeGenerator.js +356 -0
- package/dist/migrate/codegen/migrationCodeGenerator.js.map +1 -0
- package/dist/migrate/codegen/migrationFile.d.ts +29 -0
- package/dist/migrate/codegen/migrationFile.d.ts.map +1 -0
- package/dist/migrate/codegen/migrationFile.js +48 -0
- package/dist/migrate/codegen/migrationFile.js.map +1 -0
- package/dist/migrate/codegen/smartRelationDetector.d.ts +48 -0
- package/dist/migrate/codegen/smartRelationDetector.d.ts.map +1 -0
- package/dist/migrate/codegen/smartRelationDetector.js +135 -0
- package/dist/migrate/codegen/smartRelationDetector.js.map +1 -0
- package/dist/migrate/drift/driftDetector.d.ts +80 -0
- package/dist/migrate/drift/driftDetector.d.ts.map +1 -0
- package/dist/migrate/drift/driftDetector.js +247 -0
- package/dist/migrate/drift/driftDetector.js.map +1 -0
- package/dist/migrate/drift/index.d.ts +7 -0
- package/dist/migrate/drift/index.d.ts.map +1 -0
- package/dist/migrate/drift/index.js +7 -0
- package/dist/migrate/drift/index.js.map +1 -0
- package/dist/migrate/generator/index.d.ts +3 -0
- package/dist/migrate/generator/index.d.ts.map +1 -0
- package/dist/migrate/generator/index.js +3 -0
- package/dist/migrate/generator/index.js.map +1 -0
- package/dist/migrate/generator/mongoSchemaGenerator.d.ts +48 -0
- package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -0
- package/dist/migrate/generator/mongoSchemaGenerator.js +188 -0
- package/dist/migrate/generator/mongoSchemaGenerator.js.map +1 -0
- package/dist/migrate/index.d.ts +16 -0
- package/dist/migrate/index.d.ts.map +1 -0
- package/dist/migrate/index.js +23 -0
- package/dist/migrate/index.js.map +1 -0
- package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts +77 -0
- package/dist/migrate/introspection/abstractSqlSchemaIntrospector.d.ts.map +1 -0
- package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js +156 -0
- package/dist/migrate/introspection/abstractSqlSchemaIntrospector.js.map +1 -0
- package/dist/migrate/introspection/baseSqlIntrospector.d.ts +26 -0
- package/dist/migrate/introspection/baseSqlIntrospector.d.ts.map +1 -0
- package/dist/migrate/introspection/baseSqlIntrospector.js +132 -0
- package/dist/migrate/introspection/baseSqlIntrospector.js.map +1 -0
- package/dist/migrate/introspection/index.d.ts +6 -0
- package/dist/migrate/introspection/index.d.ts.map +1 -0
- package/dist/migrate/introspection/index.js +6 -0
- package/dist/migrate/introspection/index.js.map +1 -0
- package/dist/migrate/introspection/mongoIntrospector.d.ts +15 -0
- package/dist/migrate/introspection/mongoIntrospector.d.ts.map +1 -0
- package/dist/migrate/introspection/mongoIntrospector.js +100 -0
- package/dist/migrate/introspection/mongoIntrospector.js.map +1 -0
- package/dist/migrate/introspection/mysqlIntrospector.d.ts +59 -0
- package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +1 -0
- package/dist/migrate/introspection/mysqlIntrospector.js +175 -0
- package/dist/migrate/introspection/mysqlIntrospector.js.map +1 -0
- package/dist/migrate/introspection/postgresIntrospector.d.ts +55 -0
- package/dist/migrate/introspection/postgresIntrospector.d.ts.map +1 -0
- package/dist/migrate/introspection/postgresIntrospector.js +226 -0
- package/dist/migrate/introspection/postgresIntrospector.js.map +1 -0
- package/dist/migrate/introspection/sqliteIntrospector.d.ts +60 -0
- package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +1 -0
- package/dist/migrate/introspection/sqliteIntrospector.js +188 -0
- package/dist/migrate/introspection/sqliteIntrospector.js.map +1 -0
- package/dist/migrate/migrator.d.ts +168 -0
- package/dist/migrate/migrator.d.ts.map +1 -0
- package/dist/migrate/migrator.js +614 -0
- package/dist/migrate/migrator.js.map +1 -0
- package/dist/migrate/schemaGenerator.d.ts +142 -0
- package/dist/migrate/schemaGenerator.d.ts.map +1 -0
- package/dist/migrate/schemaGenerator.js +693 -0
- package/dist/migrate/schemaGenerator.js.map +1 -0
- package/dist/migrate/schemaGeneratorAsync.d.ts +9 -0
- package/dist/migrate/schemaGeneratorAsync.d.ts.map +1 -0
- package/dist/migrate/schemaGeneratorAsync.js +13 -0
- package/dist/migrate/schemaGeneratorAsync.js.map +1 -0
- package/dist/migrate/storage/databaseStorage.d.ts +25 -0
- package/dist/migrate/storage/databaseStorage.d.ts.map +1 -0
- package/dist/migrate/storage/databaseStorage.js +78 -0
- package/dist/migrate/storage/databaseStorage.js.map +1 -0
- package/dist/migrate/storage/index.d.ts +3 -0
- package/dist/migrate/storage/index.d.ts.map +1 -0
- package/dist/migrate/storage/index.js +3 -0
- package/dist/migrate/storage/index.js.map +1 -0
- package/dist/migrate/storage/jsonStorage.d.ts +16 -0
- package/dist/migrate/storage/jsonStorage.d.ts.map +1 -0
- package/dist/migrate/storage/jsonStorage.js +43 -0
- package/dist/migrate/storage/jsonStorage.js.map +1 -0
- package/dist/migrate/sync/index.d.ts +7 -0
- package/dist/migrate/sync/index.d.ts.map +1 -0
- package/dist/migrate/sync/index.js +7 -0
- package/dist/migrate/sync/index.js.map +1 -0
- package/dist/migrate/sync/schemaSync.d.ts +132 -0
- package/dist/migrate/sync/schemaSync.d.ts.map +1 -0
- package/dist/migrate/sync/schemaSync.js +260 -0
- package/dist/migrate/sync/schemaSync.js.map +1 -0
- package/dist/mongo/index.d.ts +6 -0
- package/dist/mongo/index.d.ts.map +1 -0
- package/dist/mongo/index.js +6 -0
- package/dist/mongo/index.js.map +1 -0
- package/dist/mongo/mongoDialect.d.ts +83 -0
- package/dist/mongo/mongoDialect.d.ts.map +1 -0
- package/dist/mongo/mongoDialect.js +418 -0
- package/dist/mongo/mongoDialect.js.map +1 -0
- package/dist/mongo/mongodbNativeDialect.d.ts +10 -0
- package/dist/mongo/mongodbNativeDialect.d.ts.map +1 -0
- package/dist/mongo/mongodbNativeDialect.js +10 -0
- package/dist/mongo/mongodbNativeDialect.js.map +1 -0
- package/dist/mongo/mongodbQuerier.d.ts +46 -0
- package/dist/mongo/mongodbQuerier.d.ts.map +1 -0
- package/dist/mongo/mongodbQuerier.js +344 -0
- package/dist/mongo/mongodbQuerier.js.map +1 -0
- package/dist/mongo/mongodbQuerierPool.d.ts +12 -0
- package/dist/mongo/mongodbQuerierPool.d.ts.map +1 -0
- package/dist/mongo/mongodbQuerierPool.js +19 -0
- package/dist/mongo/mongodbQuerierPool.js.map +1 -0
- package/dist/mysql/index.d.ts +5 -0
- package/dist/mysql/index.d.ts.map +1 -0
- package/dist/mysql/index.js +5 -0
- package/dist/mysql/index.js.map +1 -0
- package/dist/mysql/mysql2Dialect.d.ts +10 -0
- package/dist/mysql/mysql2Dialect.d.ts.map +1 -0
- package/dist/mysql/mysql2Dialect.js +10 -0
- package/dist/mysql/mysql2Dialect.js.map +1 -0
- package/dist/mysql/mysql2Querier.d.ts +12 -0
- package/dist/mysql/mysql2Querier.d.ts.map +1 -0
- package/dist/mysql/mysql2Querier.js +34 -0
- package/dist/mysql/mysql2Querier.js.map +1 -0
- package/dist/mysql/mysql2QuerierPool.d.ts +12 -0
- package/dist/mysql/mysql2QuerierPool.d.ts.map +1 -0
- package/dist/mysql/mysql2QuerierPool.js +18 -0
- package/dist/mysql/mysql2QuerierPool.js.map +1 -0
- package/dist/mysql/mysqlDialect.d.ts +6 -0
- package/dist/mysql/mysqlDialect.d.ts.map +1 -0
- package/dist/mysql/mysqlDialect.js +6 -0
- package/dist/mysql/mysqlDialect.js.map +1 -0
- package/dist/namingStrategy/defaultNamingStrategy.d.ts +10 -0
- package/dist/namingStrategy/defaultNamingStrategy.d.ts.map +1 -0
- package/dist/namingStrategy/defaultNamingStrategy.js +15 -0
- package/dist/namingStrategy/defaultNamingStrategy.js.map +1 -0
- package/dist/namingStrategy/index.d.ts +3 -0
- package/dist/namingStrategy/index.d.ts.map +1 -0
- package/dist/namingStrategy/index.js +3 -0
- package/dist/namingStrategy/index.js.map +1 -0
- package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts +9 -0
- package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts.map +1 -0
- package/dist/namingStrategy/snakeCaseNamingStrategy.js +14 -0
- package/dist/namingStrategy/snakeCaseNamingStrategy.js.map +1 -0
- package/dist/neon/index.d.ts +4 -0
- package/dist/neon/index.d.ts.map +1 -0
- package/dist/neon/index.js +4 -0
- package/dist/neon/index.js.map +1 -0
- package/dist/neon/neonDialect.d.ts +11 -0
- package/dist/neon/neonDialect.d.ts.map +1 -0
- package/dist/neon/neonDialect.js +11 -0
- package/dist/neon/neonDialect.js.map +1 -0
- package/dist/neon/neonQuerier.d.ts +6 -0
- package/dist/neon/neonQuerier.d.ts.map +1 -0
- package/dist/neon/neonQuerier.js +4 -0
- package/dist/neon/neonQuerier.js.map +1 -0
- package/dist/neon/neonQuerierPool.d.ts +11 -0
- package/dist/neon/neonQuerierPool.d.ts.map +1 -0
- package/dist/neon/neonQuerierPool.js +13 -0
- package/dist/neon/neonQuerierPool.js.map +1 -0
- package/dist/nestjs/index.d.ts +2 -0
- package/dist/nestjs/index.d.ts.map +1 -0
- package/dist/nestjs/index.js +2 -0
- package/dist/nestjs/index.js.map +1 -0
- package/dist/nestjs/uqlModule.d.ts +29 -0
- package/dist/nestjs/uqlModule.d.ts.map +1 -0
- package/dist/nestjs/uqlModule.js +42 -0
- package/dist/nestjs/uqlModule.js.map +1 -0
- package/dist/options.d.ts +5 -0
- package/dist/options.d.ts.map +1 -0
- package/dist/options.js +14 -0
- package/dist/options.js.map +1 -0
- package/dist/postgres/abstractPgQuerier.d.ts +24 -0
- package/dist/postgres/abstractPgQuerier.d.ts.map +1 -0
- package/dist/postgres/abstractPgQuerier.js +33 -0
- package/dist/postgres/abstractPgQuerier.js.map +1 -0
- package/dist/postgres/abstractPgQuerierPool.d.ts +22 -0
- package/dist/postgres/abstractPgQuerierPool.d.ts.map +1 -0
- package/dist/postgres/abstractPgQuerierPool.js +21 -0
- package/dist/postgres/abstractPgQuerierPool.js.map +1 -0
- package/dist/postgres/index.d.ts +6 -0
- package/dist/postgres/index.d.ts.map +1 -0
- package/dist/postgres/index.js +6 -0
- package/dist/postgres/index.js.map +1 -0
- package/dist/postgres/pgDialect.d.ts +13 -0
- package/dist/postgres/pgDialect.d.ts.map +1 -0
- package/dist/postgres/pgDialect.js +14 -0
- package/dist/postgres/pgDialect.js.map +1 -0
- package/dist/postgres/pgQuerier.d.ts +6 -0
- package/dist/postgres/pgQuerier.d.ts.map +1 -0
- package/dist/postgres/pgQuerier.js +4 -0
- package/dist/postgres/pgQuerier.js.map +1 -0
- package/dist/postgres/pgQuerierPool.d.ts +11 -0
- package/dist/postgres/pgQuerierPool.d.ts.map +1 -0
- package/dist/postgres/pgQuerierPool.js +15 -0
- package/dist/postgres/pgQuerierPool.js.map +1 -0
- package/dist/postgres/postgresDialect.d.ts +48 -0
- package/dist/postgres/postgresDialect.d.ts.map +1 -0
- package/dist/postgres/postgresDialect.js +222 -0
- package/dist/postgres/postgresDialect.js.map +1 -0
- package/dist/postgres/postgresWireDriverCapabilities.d.ts +15 -0
- package/dist/postgres/postgresWireDriverCapabilities.d.ts.map +1 -0
- package/dist/postgres/postgresWireDriverCapabilities.js +15 -0
- package/dist/postgres/postgresWireDriverCapabilities.js.map +1 -0
- package/dist/querier/abstractPoolQuerier.d.ts +14 -0
- package/dist/querier/abstractPoolQuerier.d.ts.map +1 -0
- package/dist/querier/abstractPoolQuerier.js +31 -0
- package/dist/querier/abstractPoolQuerier.js.map +1 -0
- package/dist/querier/abstractQuerier.d.ts +138 -0
- package/dist/querier/abstractQuerier.d.ts.map +1 -0
- package/dist/querier/abstractQuerier.js +426 -0
- package/dist/querier/abstractQuerier.js.map +1 -0
- package/dist/querier/abstractQuerierPool.d.ts +27 -0
- package/dist/querier/abstractQuerierPool.d.ts.map +1 -0
- package/dist/querier/abstractQuerierPool.js +31 -0
- package/dist/querier/abstractQuerierPool.js.map +1 -0
- package/dist/querier/abstractSqlQuerier.d.ts +53 -0
- package/dist/querier/abstractSqlQuerier.d.ts.map +1 -0
- package/dist/querier/abstractSqlQuerier.js +256 -0
- package/dist/querier/abstractSqlQuerier.js.map +1 -0
- package/dist/querier/decorator/index.d.ts +5 -0
- package/dist/querier/decorator/index.d.ts.map +1 -0
- package/dist/querier/decorator/index.js +5 -0
- package/dist/querier/decorator/index.js.map +1 -0
- package/dist/querier/decorator/injectQuerier.d.ts +4 -0
- package/dist/querier/decorator/injectQuerier.d.ts.map +1 -0
- package/dist/querier/decorator/injectQuerier.js +34 -0
- package/dist/querier/decorator/injectQuerier.js.map +1 -0
- package/dist/querier/decorator/log.d.ts +7 -0
- package/dist/querier/decorator/log.d.ts.map +1 -0
- package/dist/querier/decorator/log.js +27 -0
- package/dist/querier/decorator/log.js.map +1 -0
- package/dist/querier/decorator/serialized.d.ts +7 -0
- package/dist/querier/decorator/serialized.d.ts.map +1 -0
- package/dist/querier/decorator/serialized.js +14 -0
- package/dist/querier/decorator/serialized.js.map +1 -0
- package/dist/querier/decorator/transactional.d.ts +7 -0
- package/dist/querier/decorator/transactional.d.ts.map +1 -0
- package/dist/querier/decorator/transactional.js +49 -0
- package/dist/querier/decorator/transactional.js.map +1 -0
- package/dist/querier/index.d.ts +5 -0
- package/dist/querier/index.d.ts.map +1 -0
- package/dist/querier/index.js +5 -0
- package/dist/querier/index.js.map +1 -0
- package/dist/schema/canonicalType.d.ts +54 -0
- package/dist/schema/canonicalType.d.ts.map +1 -0
- package/dist/schema/canonicalType.js +571 -0
- package/dist/schema/canonicalType.js.map +1 -0
- package/dist/schema/index.d.ts +26 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +27 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/schemaAST.d.ts +155 -0
- package/dist/schema/schemaAST.d.ts.map +1 -0
- package/dist/schema/schemaAST.js +496 -0
- package/dist/schema/schemaAST.js.map +1 -0
- package/dist/schema/schemaASTBuilder.d.ts +78 -0
- package/dist/schema/schemaASTBuilder.d.ts.map +1 -0
- package/dist/schema/schemaASTBuilder.js +259 -0
- package/dist/schema/schemaASTBuilder.js.map +1 -0
- package/dist/schema/schemaASTDiffer.d.ts +84 -0
- package/dist/schema/schemaASTDiffer.d.ts.map +1 -0
- package/dist/schema/schemaASTDiffer.js +431 -0
- package/dist/schema/schemaASTDiffer.js.map +1 -0
- package/dist/schema/types.d.ts +348 -0
- package/dist/schema/types.d.ts.map +1 -0
- package/dist/schema/types.js +11 -0
- package/dist/schema/types.js.map +1 -0
- package/dist/sqlite/abstractSqliteQuerier.d.ts +4 -0
- package/dist/sqlite/abstractSqliteQuerier.d.ts.map +1 -0
- package/dist/sqlite/abstractSqliteQuerier.js +4 -0
- package/dist/sqlite/abstractSqliteQuerier.js.map +1 -0
- package/dist/sqlite/betterSqlite3Dialect.d.ts +10 -0
- package/dist/sqlite/betterSqlite3Dialect.d.ts.map +1 -0
- package/dist/sqlite/betterSqlite3Dialect.js +10 -0
- package/dist/sqlite/betterSqlite3Dialect.js.map +1 -0
- package/dist/sqlite/index.d.ts +6 -0
- package/dist/sqlite/index.d.ts.map +1 -0
- package/dist/sqlite/index.js +6 -0
- package/dist/sqlite/index.js.map +1 -0
- package/dist/sqlite/sqliteDialect.d.ts +36 -0
- package/dist/sqlite/sqliteDialect.d.ts.map +1 -0
- package/dist/sqlite/sqliteDialect.js +155 -0
- package/dist/sqlite/sqliteDialect.js.map +1 -0
- package/dist/sqlite/sqliteQuerier.d.ts +14 -0
- package/dist/sqlite/sqliteQuerier.d.ts.map +1 -0
- package/dist/sqlite/sqliteQuerier.js +30 -0
- package/dist/sqlite/sqliteQuerier.js.map +1 -0
- package/dist/sqlite/sqliteQuerierPool.d.ts +14 -0
- package/dist/sqlite/sqliteQuerierPool.d.ts.map +1 -0
- package/dist/sqlite/sqliteQuerierPool.js +36 -0
- package/dist/sqlite/sqliteQuerierPool.js.map +1 -0
- package/dist/type/config.d.ts +43 -0
- package/dist/type/config.d.ts.map +1 -0
- package/dist/type/config.js +2 -0
- package/dist/type/config.js.map +1 -0
- package/dist/type/entity.d.ts +338 -0
- package/dist/type/entity.d.ts.map +1 -0
- package/dist/type/entity.js +5 -0
- package/dist/type/entity.js.map +1 -0
- package/dist/type/index.d.ts +12 -0
- package/dist/type/index.d.ts.map +1 -0
- package/dist/type/index.js +12 -0
- package/dist/type/index.js.map +1 -0
- package/dist/type/logger.d.ts +61 -0
- package/dist/type/logger.d.ts.map +1 -0
- package/dist/type/logger.js +2 -0
- package/dist/type/logger.js.map +1 -0
- package/dist/type/migration.d.ts +267 -0
- package/dist/type/migration.d.ts.map +1 -0
- package/dist/type/migration.js +2 -0
- package/dist/type/migration.js.map +1 -0
- package/dist/type/migratorDialect.d.ts +10 -0
- package/dist/type/migratorDialect.d.ts.map +1 -0
- package/dist/type/migratorDialect.js +16 -0
- package/dist/type/migratorDialect.js.map +1 -0
- package/dist/type/namingStrategy.d.ts +18 -0
- package/dist/type/namingStrategy.d.ts.map +1 -0
- package/dist/type/namingStrategy.js +2 -0
- package/dist/type/namingStrategy.js.map +1 -0
- package/dist/type/querier.d.ts +162 -0
- package/dist/type/querier.d.ts.map +1 -0
- package/dist/type/querier.js +11 -0
- package/dist/type/querier.js.map +1 -0
- package/dist/type/querierPool.d.ts +62 -0
- package/dist/type/querierPool.d.ts.map +1 -0
- package/dist/type/querierPool.js +2 -0
- package/dist/type/querierPool.js.map +1 -0
- package/dist/type/query.d.ts +700 -0
- package/dist/type/query.d.ts.map +1 -0
- package/dist/type/query.js +11 -0
- package/dist/type/query.js.map +1 -0
- package/dist/type/universalQuerier.d.ts +136 -0
- package/dist/type/universalQuerier.d.ts.map +1 -0
- package/dist/type/universalQuerier.js +2 -0
- package/dist/type/universalQuerier.js.map +1 -0
- package/dist/type/utility.d.ts +37 -0
- package/dist/type/utility.d.ts.map +1 -0
- package/dist/type/utility.js +2 -0
- package/dist/type/utility.js.map +1 -0
- package/dist/util/ansiSqlLiteral.d.ts +21 -0
- package/dist/util/ansiSqlLiteral.d.ts.map +1 -0
- package/dist/util/ansiSqlLiteral.js +101 -0
- package/dist/util/ansiSqlLiteral.js.map +1 -0
- package/dist/util/dialect.util.d.ts +31 -0
- package/dist/util/dialect.util.d.ts.map +1 -0
- package/dist/util/dialect.util.js +113 -0
- package/dist/util/dialect.util.js.map +1 -0
- package/dist/util/field.util.d.ts +14 -0
- package/dist/util/field.util.d.ts.map +1 -0
- package/dist/util/field.util.js +57 -0
- package/dist/util/field.util.js.map +1 -0
- package/dist/util/hook.util.d.ts +15 -0
- package/dist/util/hook.util.d.ts.map +1 -0
- package/dist/util/hook.util.js +20 -0
- package/dist/util/hook.util.js.map +1 -0
- package/dist/util/index.d.ts +10 -0
- package/dist/util/index.d.ts.map +1 -0
- package/dist/util/index.js +10 -0
- package/dist/util/index.js.map +1 -0
- package/dist/util/logger.d.ts +51 -0
- package/dist/util/logger.d.ts.map +1 -0
- package/dist/util/logger.js +144 -0
- package/dist/util/logger.js.map +1 -0
- package/dist/util/object.util.d.ts +10 -0
- package/dist/util/object.util.d.ts.map +1 -0
- package/dist/util/object.util.js +29 -0
- package/dist/util/object.util.js.map +1 -0
- package/dist/util/raw.d.ts +18 -0
- package/dist/util/raw.d.ts.map +1 -0
- package/dist/util/raw.js +20 -0
- package/dist/util/raw.js.map +1 -0
- package/dist/util/relationQuery.util.d.ts +25 -0
- package/dist/util/relationQuery.util.d.ts.map +1 -0
- package/dist/util/relationQuery.util.js +101 -0
- package/dist/util/relationQuery.util.js.map +1 -0
- package/dist/util/sql.util.d.ts +50 -0
- package/dist/util/sql.util.d.ts.map +1 -0
- package/dist/util/sql.util.js +141 -0
- package/dist/util/sql.util.js.map +1 -0
- package/dist/util/string.util.d.ts +29 -0
- package/dist/util/string.util.d.ts.map +1 -0
- package/dist/util/string.util.js +93 -0
- package/dist/util/string.util.js.map +1 -0
- package/package.json +17 -10
- package/dist/browser/cc-BVTDOeZ_.js +0 -566
- package/dist/browser/cc-BVTDOeZ_.js.map +0 -1
- package/dist/browser/mongoSchemaGenerator-BT2_u1wI.js +0 -735
- package/dist/browser/mongoSchemaGenerator-BT2_u1wI.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongoSchemaGenerator-BT2_u1wI.js","sources":["../../src/dialect/abstractDialect.ts","../../src/mongo/mongoDialect.ts","../../src/migrate/generator/mongoSchemaGenerator.ts"],"sourcesContent":["import type { DialectFeatures, DialectName, EntityMeta, FieldOptions, NamingStrategy, Type } from '../type/index.js';\n\n/**\n * Options for initializing a dialect.\n */\nexport interface DialectOptions {\n readonly namingStrategy?: NamingStrategy;\n readonly driverCapabilities?: Partial<DialectFeatures>;\n}\n\n/**\n * Merge dialect capability defaults with optional overrides from {@link DialectOptions.driverCapabilities}.\n */\nexport function mergeDialectFeatures(defaults: DialectFeatures, patch?: Partial<DialectFeatures>): DialectFeatures {\n return patch ? { ...defaults, ...patch } : defaults;\n}\n\n/**\n * Base abstract class for all database dialects (SQL and NoSQL).\n */\nexport abstract class AbstractDialect {\n abstract readonly dialectName: DialectName;\n\n abstract readonly insertIdStrategy: 'first' | 'last';\n readonly namingStrategy: NamingStrategy | undefined;\n readonly features: DialectFeatures;\n\n constructor(\n featureDefaults: DialectFeatures,\n protected readonly options: DialectOptions = {},\n ) {\n this.namingStrategy = options.namingStrategy;\n this.features = mergeDialectFeatures(featureDefaults, options.driverCapabilities);\n }\n\n /**\n * Resolve the table name for an entity, applying naming strategy if necessary.\n */\n resolveTableName<E>(entity: Type<E>, meta: EntityMeta<E>): string {\n const name = meta.name ?? entity.name;\n if (name !== entity.name || !this.namingStrategy) {\n return name;\n }\n return this.namingStrategy.tableName(name);\n }\n\n /**\n * Resolve the column/field name for a property, applying naming strategy if necessary.\n */\n resolveColumnName(key: string, field: FieldOptions | undefined): string {\n if (!field || field.name !== key || !this.namingStrategy) {\n return field?.name ?? key;\n }\n return this.namingStrategy.columnName(field.name);\n }\n}\n","import { type Document, type Filter, ObjectId, type Sort } from 'mongodb';\nimport type { DialectOptions } from '../dialect/abstractDialect.js';\nimport { AbstractDialect } from '../dialect/abstractDialect.js';\nimport { getMeta } from '../entity/index.js';\nimport type { IndexType } from '../schema/types.js';\nimport type {\n DialectFeatures,\n EntityMeta,\n FieldValue,\n Query,\n QueryAggregate,\n QueryExclude,\n QueryOptions,\n QuerySelect,\n QuerySortMap,\n QueryVectorSearch,\n QueryWhere,\n RelationKey,\n Type,\n} from '../type/index.js';\nimport {\n buildQueryWhereAsMap,\n buildSortMap,\n type CallbackKey,\n fillOnFields,\n filterFieldKeys,\n getKeys,\n getRelationRequestSummary,\n hasKeys,\n isVectorSearch,\n normalizeScalarFieldSelection,\n parseGroupMap,\n type RelationRequestSummary,\n} from '../util/index.js';\n\nexport class MongoDialect extends AbstractDialect {\n /** Default {@link DialectFeatures} for MongoDB; shared by {@link MongoSchemaGenerator}. */\n static readonly defaultDialectFeatures: DialectFeatures = {\n explicitJsonCast: false,\n nativeArrays: false,\n supportsJsonb: false,\n returning: false,\n ifNotExists: false,\n indexIfNotExists: false,\n dropTableCascade: false,\n renameColumn: false,\n foreignKeyAlter: false,\n columnComment: false,\n vectorIndexStyle: 'create',\n vectorSupportsLength: false,\n supportsTimestamptz: false,\n defaultStringAsText: false,\n };\n\n readonly dialectName = 'mongodb';\n\n override readonly insertIdStrategy = 'last';\n\n constructor(options: DialectOptions = {}) {\n super(MongoDialect.defaultDialectFeatures, options);\n }\n\n private static readonly ID_KEY = '_id';\n private static readonly VECTOR_INDEX_TYPES = new Set<IndexType>(['vectorSearch', 'hnsw', 'ivfflat', 'vector']);\n\n private static readonly AGGREGATE_OP_MAP: Record<string, string> = {\n $count: '$sum',\n $sum: '$sum',\n $avg: '$avg',\n $min: '$min',\n $max: '$max',\n };\n\n public where<E extends Document>(\n entity: Type<E>,\n where: QueryWhere<E> = {},\n { softDelete }: QueryOptions = {},\n ): Filter<E> {\n const meta = getMeta(entity);\n const whereMap = buildQueryWhereAsMap(meta, where);\n\n if (meta.softDelete && (softDelete || softDelete === undefined) && !whereMap[meta.softDelete]) {\n const field = meta.fields[meta.softDelete];\n (whereMap as Record<string, unknown>)[this.resolveColumnName(meta.softDelete, field!)] = null;\n }\n\n const filter: Record<string, unknown> = {};\n for (const [rawKey, rawVal] of Object.entries(whereMap)) {\n let key = rawKey;\n let val: unknown = rawVal;\n if (key === '$and' || key === '$or') {\n filter[key] = (val as QueryWhere<E>[]).map((filterIt) => this.where(entity, filterIt));\n } else {\n const field = meta.fields[key];\n if (key === MongoDialect.ID_KEY || key === meta.id) {\n key = MongoDialect.ID_KEY;\n val = this.getIdValue(val as IdValue);\n } else if (field) {\n key = this.resolveColumnName(key, field);\n }\n if (\n val &&\n typeof val === 'object' &&\n !Array.isArray(val) &&\n this.hasOperatorKeys(val as Record<string, unknown>)\n ) {\n val = this.transformOperators(val as Record<string, unknown>);\n } else if (Array.isArray(val)) {\n val = { $in: val };\n }\n filter[key] = val;\n }\n }\n return filter as Filter<E>;\n }\n\n /**\n * Check if an object has operator keys (keys starting with $).\n */\n private hasOperatorKeys(obj: Record<string, unknown>): boolean {\n return Object.keys(obj).some((key) => key.startsWith('$'));\n }\n\n protected mapTableNameRow(row: { table_name: string }): string {\n return row.table_name;\n }\n\n /** String operators → { pattern: (v) => regex, caseInsensitive } */\n private static readonly REGEX_OP_MAP: Record<string, { wrap: (v: unknown) => string; ci: boolean }> = {\n $startsWith: { wrap: (v) => `^${v}`, ci: false },\n $istartsWith: { wrap: (v) => `^${v}`, ci: true },\n $endsWith: { wrap: (v) => `${v}$`, ci: false },\n $iendsWith: { wrap: (v) => `${v}$`, ci: true },\n $includes: { wrap: (v) => String(v), ci: false },\n $iincludes: { wrap: (v) => String(v), ci: true },\n $like: { wrap: (v) => String(v).replace(/%/g, '.*').replace(/_/g, '.'), ci: false },\n $ilike: { wrap: (v) => String(v).replace(/%/g, '.*').replace(/_/g, '.'), ci: true },\n };\n\n /** MongoDB native operators — pass through as-is. */\n private static readonly NATIVE_OPS = new Set([\n '$all',\n '$size',\n '$elemMatch',\n '$eq',\n '$ne',\n '$lt',\n '$lte',\n '$gt',\n '$gte',\n '$in',\n '$nin',\n '$regex',\n '$not',\n ]);\n\n /**\n * Transform UQL operators to MongoDB operators.\n */\n private transformOperators(ops: Record<string, unknown>): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n for (const [op, val] of Object.entries(ops)) {\n // Native MongoDB operators — pass through directly\n if (MongoDialect.NATIVE_OPS.has(op)) {\n result[op] = val;\n continue;\n }\n // String/pattern → regex operators (8 variants including $like/$ilike)\n const regexEntry = MongoDialect.REGEX_OP_MAP[op];\n if (regexEntry) {\n result['$regex'] = regexEntry.wrap(val);\n if (regexEntry.ci) result['$options'] = 'i';\n continue;\n }\n // Structural transforms\n switch (op) {\n case '$between': {\n const [min, max] = val as [unknown, unknown];\n result['$gte'] = min;\n result['$lte'] = max;\n break;\n }\n case '$isNull':\n result[val ? '$eq' : '$ne'] = null;\n break;\n case '$isNotNull':\n result[val ? '$ne' : '$eq'] = null;\n break;\n case '$text':\n result['$text'] = { $search: val };\n break;\n default:\n result[op] = val;\n break;\n }\n }\n return result;\n }\n\n public select<E extends Document>(\n entity: Type<E>,\n select?: QuerySelect<E>,\n exclude?: QueryExclude<E>,\n ): Record<string, 1> {\n const meta = getMeta(entity);\n if (!select && !exclude) {\n return {};\n }\n const selectedFields = normalizeScalarFieldSelection(meta, select, exclude);\n return selectedFields.reduce<Record<string, 1>>((acc, key) => {\n acc[key] = 1;\n return acc;\n }, {});\n }\n\n public sort<E extends Document>(entity: Type<E>, sort?: QuerySortMap<E>): Sort {\n const raw = buildSortMap(sort);\n const normalized: Record<string, 1 | -1> = {};\n for (const [key, dir] of Object.entries(raw)) {\n normalized[key] = dir === 'desc' || dir === -1 ? -1 : 1;\n }\n return normalized as Sort;\n }\n\n public aggregationPipeline<E extends Document>(\n entity: Type<E>,\n q: Query<E>,\n relationSummary?: RelationRequestSummary<E>,\n ): MongoAggregationPipelineEntry<E>[] {\n const meta = getMeta(entity);\n const where = this.where(entity, q.$where);\n const sort = this.sort(entity, q.$sort);\n const firstPipelineEntry: MongoAggregationPipelineEntry<E> = {};\n\n if (hasKeys(where)) {\n firstPipelineEntry.$match = where;\n }\n if (hasKeys(sort)) {\n firstPipelineEntry.$sort = sort;\n }\n\n const pipeline: MongoAggregationPipelineEntry<E>[] = [];\n\n if (hasKeys(firstPipelineEntry)) {\n pipeline.push(firstPipelineEntry);\n }\n\n const relKeys = (relationSummary ?? getRelationRequestSummary(meta, q.$populate)).joinableKeys;\n\n for (const relKey of relKeys) {\n const relOpts = meta.relations[relKey];\n if (!relOpts) continue;\n\n if (relOpts.cardinality === '1m' || relOpts.cardinality === 'mm') {\n // '1m' and 'mm' should be resolved in a higher layer because they will need multiple queries\n continue;\n }\n\n const relEntity = relOpts.entity!();\n const relMeta = getMeta(relEntity);\n\n if (relOpts.cardinality === 'm1') {\n const localField = meta.fields[relOpts.references![0].local];\n pipeline.push({\n $lookup: {\n from: this.resolveTableName(relEntity, relMeta),\n localField: this.resolveColumnName(relOpts.references![0].local, localField!),\n foreignField: '_id',\n as: relKey,\n },\n });\n } else {\n const foreignField = relMeta.fields[relOpts.references![0].foreign];\n const foreignFieldName = this.resolveColumnName(relOpts.references![0].foreign, foreignField!);\n const referenceWhere = this.where(relEntity, where);\n const referenceSort = this.sort(relEntity, q.$sort);\n const _id = MongoDialect.ID_KEY;\n const referencePipelineEntry: MongoAggregationPipelineEntry<FieldValue<E>> = {\n $match: { [foreignFieldName]: referenceWhere[_id] },\n };\n if (hasKeys(referenceSort)) {\n referencePipelineEntry.$sort = referenceSort;\n }\n pipeline.push({\n $lookup: {\n from: this.resolveTableName(relEntity, relMeta),\n pipeline: [referencePipelineEntry],\n as: relKey,\n },\n });\n }\n\n pipeline.push({ $unwind: { path: `$${relKey}`, preserveNullAndEmptyArrays: true } });\n }\n\n return pipeline;\n }\n\n public normalizeIds<E extends Document>(meta: EntityMeta<E>, docs: E[] | undefined): E[] | undefined {\n return docs?.map((doc) => this.normalizeId(meta, doc)) as E[] | undefined;\n }\n\n public normalizeId<E extends Document>(meta: EntityMeta<E>, doc: E | undefined): E | undefined {\n if (!doc) {\n return doc;\n }\n\n const res = doc as unknown as Record<string, unknown>;\n const _id = MongoDialect.ID_KEY;\n\n if (res[_id]) {\n res[meta.id as string] = res[_id];\n if (meta.id !== _id) {\n delete res[_id];\n }\n }\n\n for (const key of getKeys(meta.fields)) {\n const field = meta.fields[key];\n const dbName = this.resolveColumnName(key, field!);\n if (dbName !== key && res[dbName] !== undefined) {\n res[key] = res[dbName];\n delete res[dbName];\n }\n }\n\n const relKeys = getKeys(meta.relations).filter((key) => res[key]) as RelationKey<E>[];\n\n for (const relKey of relKeys) {\n const relOpts = meta.relations[relKey];\n if (!relOpts) continue;\n const relMeta = getMeta(relOpts.entity!());\n res[relKey] = Array.isArray(res[relKey])\n ? this.normalizeIds(relMeta, res[relKey] as Document[])\n : this.normalizeId(relMeta, res[relKey] as Document);\n }\n\n return res as unknown as E;\n }\n\n public getIdValue<T extends IdValue>(value: T): T {\n if (value instanceof ObjectId) {\n return value;\n }\n try {\n return new ObjectId(value) as T;\n } catch (e) {\n return value;\n }\n }\n\n public getPersistable<E extends Document>(meta: EntityMeta<E>, payload: E, callbackKey: CallbackKey): Partial<E> {\n return this.getPersistables(meta, payload, callbackKey)[0];\n }\n\n public getPersistables<E extends Document>(\n meta: EntityMeta<E>,\n payload: E | E[],\n callbackKey: CallbackKey,\n ): Partial<E>[] {\n const payloads = fillOnFields(meta, payload, callbackKey);\n const persistableKeys = filterFieldKeys(meta, payloads[0], callbackKey);\n return payloads.map((it) =>\n persistableKeys.reduce<Partial<E>>(\n (acc, key) => {\n const field = meta.fields[key];\n (acc as Record<string, unknown>)[this.resolveColumnName(key, field!)] = it[key];\n return acc;\n },\n {} as Partial<E>,\n ),\n );\n }\n\n /**\n * Build MongoDB aggregation pipeline stages from a QueryAggregate.\n */\n public buildAggregateStages<E extends Document>(entity: Type<E>, q: QueryAggregate<E>): Record<string, unknown>[] {\n const pipeline: Record<string, unknown>[] = [];\n\n // $match stage (WHERE equivalent — before grouping)\n if (q.$where) {\n const filter = this.where(entity, q.$where);\n if (hasKeys(filter)) {\n pipeline.push({ $match: filter });\n }\n }\n\n // $group stage\n const groupId: Record<string, string> = {};\n const groupAccumulators: Record<string, Record<string, unknown>> = {};\n\n for (const entry of parseGroupMap(q.$group)) {\n if (entry.kind === 'key') {\n groupId[entry.alias] = `$${entry.alias}`;\n } else {\n const mongoOp = MongoDialect.AGGREGATE_OP_MAP[entry.op];\n groupAccumulators[entry.alias] = entry.op === '$count' ? { [mongoOp]: 1 } : { [mongoOp]: `$${entry.fieldRef}` };\n }\n }\n\n pipeline.push({ $group: { _id: hasKeys(groupId) ? groupId : null, ...groupAccumulators } });\n\n // Project stage — rename _id fields back to their original names\n if (hasKeys(groupId)) {\n const project: Record<string, unknown> = { _id: 0 };\n for (const alias of Object.keys(groupId)) {\n project[alias] = `$_id.${alias}`;\n }\n for (const alias of Object.keys(groupAccumulators)) {\n project[alias] = 1;\n }\n pipeline.push({ $project: project });\n }\n\n // $match stage for HAVING (post-group filtering)\n if (q.$having) {\n const havingFilter = this.buildHavingFilter(q.$having);\n if (hasKeys(havingFilter)) {\n pipeline.push({ $match: havingFilter });\n }\n }\n\n // $sort stage\n if (q.$sort) {\n const sort = this.sort(entity, q.$sort);\n if (hasKeys(sort)) {\n pipeline.push({ $sort: sort });\n }\n }\n\n // $skip and $limit stages\n if (q.$skip !== undefined) {\n pipeline.push({ $skip: q.$skip });\n }\n if (q.$limit !== undefined) {\n pipeline.push({ $limit: q.$limit });\n }\n\n return pipeline;\n }\n\n private buildHavingFilter(having: Record<string, unknown>): Record<string, unknown> {\n const filter: Record<string, unknown> = {};\n for (const [alias, condition] of Object.entries(having)) {\n if (condition === undefined) continue;\n if (typeof condition === 'number') {\n filter[alias] = condition;\n } else if (typeof condition === 'object' && condition !== null) {\n filter[alias] = this.transformOperators(condition as Record<string, unknown>);\n }\n }\n return filter;\n }\n\n /**\n * Separate vector sort entries from regular sort entries.\n * Returns `undefined` if no vector sort is present.\n */\n extractVectorSort<E extends Document>(sort: QuerySortMap<E> | undefined): ExtractedVectorSort<E> | undefined {\n if (!sort) return undefined;\n const raw = buildSortMap(sort);\n let vectorKey: string | undefined;\n let vectorSearch: QueryVectorSearch | undefined;\n const regularSort = {} as QuerySortMap<E>;\n\n for (const [key, value] of Object.entries(raw)) {\n if (isVectorSearch(value)) {\n vectorKey = key;\n vectorSearch = value;\n } else {\n (regularSort as Record<string, unknown>)[key] = value;\n }\n }\n\n if (!vectorKey || !vectorSearch) return undefined;\n\n return { vectorKey, vectorSearch, regularSort };\n }\n\n /**\n * Build a `$vectorSearch` aggregation pipeline stage.\n * Merges `$where` into `$vectorSearch.filter` for optimal pre-filtering.\n */\n buildVectorSearchStage<E extends Document>(\n entity: Type<E>,\n meta: EntityMeta<E>,\n key: string,\n search: QueryVectorSearch,\n where: QueryWhere<E> | undefined,\n limit: number,\n ): Record<string, unknown> {\n const field = meta.fields[key];\n if (!field) {\n throw new TypeError(`Field '${key}' not found in entity '${meta.name}'`);\n }\n const colName = this.resolveColumnName(key, field);\n\n // Resolve index name from @Index metadata, or fall back to convention\n const indexMeta = meta.indexes?.find(\n (idx) => idx.columns.includes(key) && MongoDialect.VECTOR_INDEX_TYPES.has(idx.type!),\n );\n const indexName = indexMeta?.name ?? `${colName}_index`;\n\n const stage: Record<string, unknown> = {\n index: indexName,\n path: colName,\n queryVector: [...search.$vector],\n numCandidates: limit * 10,\n limit,\n };\n\n // Pre-filter: merge $where into $vectorSearch.filter\n if (where) {\n const filter = this.where(entity, where);\n if (hasKeys(filter)) {\n stage['filter'] = filter;\n }\n }\n\n return { $vectorSearch: stage };\n }\n}\n\nexport type MongoAggregationPipelineEntry<E extends Document> = {\n $lookup?: MongoAggregationLookup<E>;\n $match?: Filter<E> | Record<string, unknown>;\n $sort?: Sort;\n $unwind?: MongoAggregationUnwind;\n $group?: Record<string, unknown>;\n $project?: Record<string, unknown>;\n $skip?: number;\n $limit?: number;\n};\n\ntype MongoAggregationLookup<E extends Document> = {\n readonly from?: string;\n readonly foreignField?: string;\n readonly localField?: string;\n readonly pipeline?: MongoAggregationPipelineEntry<FieldValue<E>>[];\n readonly as?: RelationKey<E>;\n};\n\ntype MongoAggregationUnwind = {\n readonly path?: string;\n readonly preserveNullAndEmptyArrays?: boolean;\n};\n\ntype IdValue = string | ObjectId;\n\nexport type ExtractedVectorSort<E> = {\n readonly vectorKey: string;\n readonly vectorSearch: QueryVectorSearch;\n readonly regularSort: QuerySortMap<E>;\n};\n","import { AbstractDialect } from '../../dialect/abstractDialect.js';\nimport { getMeta } from '../../entity/index.js';\nimport { MongoDialect } from '../../mongo/mongoDialect.js';\nimport type { ForeignKeyAction, IndexNode, TableNode } from '../../schema/types.js';\nimport type {\n DialectName,\n FieldOptions,\n IndexSchema,\n NamingStrategy,\n SchemaDiff,\n SchemaGenerator,\n Type,\n} from '../../type/index.js';\nimport { getKeys } from '../../util/index.js';\nimport type { TableDefinition } from '../builder/types.js';\n\nexport class MongoSchemaGenerator extends AbstractDialect implements SchemaGenerator {\n readonly dialectName = 'mongodb' satisfies DialectName;\n\n constructor(\n namingStrategy?: NamingStrategy,\n protected readonly defaultForeignKeyAction?: ForeignKeyAction,\n ) {\n super(MongoDialect.defaultDialectFeatures, { namingStrategy });\n }\n\n override readonly insertIdStrategy: 'first' | 'last' = 'last';\n\n generateCreateTable<E>(entity: Type<E>, _options?: { ifNotExists?: boolean }): string[] {\n const meta = getMeta(entity);\n const collectionName = this.resolveTableName(entity, meta);\n const indexes: IndexSchema[] = [];\n\n for (const key of getKeys(meta.fields)) {\n const field = meta.fields[key];\n if (field?.index) {\n const columnName = this.resolveColumnName(key, field);\n const indexName = typeof field.index === 'string' ? field.index : `idx_${collectionName}_${columnName}`;\n indexes.push({\n name: indexName,\n columns: [columnName],\n unique: !!field.unique,\n });\n }\n }\n\n return [JSON.stringify({ action: 'createCollection', name: collectionName, indexes })];\n }\n\n generateDropTable<E>(entity: Type<E>): string {\n const meta = getMeta(entity);\n const collectionName = this.resolveTableName(entity, meta);\n return JSON.stringify({ action: 'dropCollection', name: collectionName });\n }\n\n generateAlterTable(diff: SchemaDiff): string[] {\n const statements: string[] = [];\n if (diff.indexesToAdd?.length) {\n for (const index of diff.indexesToAdd) {\n statements.push(this.generateCreateIndex(diff.tableName, index));\n }\n }\n return statements;\n }\n\n generateAlterTableDown(diff: SchemaDiff): string[] {\n const statements: string[] = [];\n if (diff.indexesToAdd?.length) {\n for (const index of diff.indexesToAdd) {\n statements.push(this.generateDropIndex(diff.tableName, index.name));\n }\n }\n return statements;\n }\n\n generateCreateIndex(tableName: string, index: IndexSchema): string {\n const key: Record<string, number> = {};\n for (const col of index.columns) {\n key[col] = 1;\n }\n return JSON.stringify({\n action: 'createIndex',\n collection: tableName,\n name: index.name,\n key,\n options: { unique: index.unique, name: index.name },\n });\n }\n\n generateDropIndex(tableName: string, indexName: string): string {\n return JSON.stringify({\n action: 'dropIndex',\n collection: tableName,\n name: indexName,\n });\n }\n\n getSqlType(fieldOptions: FieldOptions, fieldType?: unknown): string {\n return '';\n }\n\n getBooleanType(): string {\n return '';\n }\n\n generateColumnDefinitions(): string[] {\n return [];\n }\n\n generateColumnDefinition(): string {\n return '';\n }\n\n generateColumnDefinitionFromSchema(): string {\n return '';\n }\n\n generateTableConstraints(): string[] {\n return [];\n }\n\n generateAlterColumnStatements(): string[] {\n return [];\n }\n\n getTableOptions(): string {\n return '';\n }\n\n generateColumnComment(): string {\n return '';\n }\n\n formatDefaultValue(): string {\n return '';\n }\n\n generateCreateTableFromNode(table: TableNode, _options?: { ifNotExists?: boolean }): string[] {\n return [JSON.stringify({ action: 'createCollection', name: table.name })];\n }\n\n generateCreateIndexFromNode(index: IndexNode): string {\n const key: Record<string, number> = {};\n for (const col of index.columns) {\n key[col.name] = 1;\n }\n return JSON.stringify({\n action: 'createIndex',\n collection: index.table.name,\n name: index.name,\n key,\n options: { unique: index.unique, name: index.name },\n });\n }\n\n generateDropTableFromNode(table: TableNode): string {\n return JSON.stringify({ action: 'dropCollection', name: table.name });\n }\n\n generateCreateTableFromDefinition(table: TableDefinition, _options?: { ifNotExists?: boolean }): string[] {\n return [JSON.stringify({ action: 'createCollection', name: table.name })];\n }\n\n generateDropTableSql(tableName: string): string {\n return JSON.stringify({ action: 'dropCollection', name: tableName });\n }\n\n generateRenameTableSql(oldName: string, newName: string): string {\n return JSON.stringify({ action: 'renameCollection', from: oldName, to: newName });\n }\n\n generateAddColumnSql(): string {\n return '';\n }\n\n generateDropColumnSql(): string {\n return '';\n }\n\n generateRenameColumnSql(): string {\n return '';\n }\n\n generateAlterColumnSql(): string {\n return '';\n }\n\n generateCreateIndexSql(tableName: string, index: IndexSchema): string {\n return this.generateCreateIndex(tableName, index);\n }\n\n generateDropIndexSql(tableName: string, indexName: string): string {\n return this.generateDropIndex(tableName, indexName);\n }\n\n generateAddForeignKeySql(): string {\n return '';\n }\n\n generateDropForeignKeySql(): string {\n return '';\n }\n\n diffSchema<E>(entity: Type<E>, currentTable: TableNode | undefined): SchemaDiff | undefined {\n const meta = getMeta(entity);\n const collectionName = this.resolveTableName(entity, meta);\n\n if (!currentTable) {\n return { tableName: collectionName, type: 'create' };\n }\n\n const indexesToAdd: IndexSchema[] = [];\n const existingIndexes = new Set(currentTable.indexes?.map((i) => i.name) ?? []);\n\n for (const key of getKeys(meta.fields)) {\n const field = meta.fields[key];\n if (field?.index) {\n const columnName = this.resolveColumnName(key, field);\n const indexName = typeof field.index === 'string' ? field.index : `idx_${collectionName}_${columnName}`;\n if (!existingIndexes.has(indexName)) {\n indexesToAdd.push({\n name: indexName,\n columns: [columnName],\n unique: !!field.unique,\n });\n }\n }\n }\n\n if (indexesToAdd.length === 0) {\n return undefined;\n }\n\n return {\n tableName: collectionName,\n type: 'alter',\n indexesToAdd,\n };\n }\n}\n"],"names":["mergeDialectFeatures","defaults","patch","AbstractDialect","featureDefaults","options","namingStrategy","features","driverCapabilities","resolveTableName","entity","meta","name","tableName","resolveColumnName","key","field","columnName","MongoDialect","defaultDialectFeatures","explicitJsonCast","nativeArrays","supportsJsonb","returning","ifNotExists","indexIfNotExists","dropTableCascade","renameColumn","foreignKeyAlter","columnComment","vectorIndexStyle","vectorSupportsLength","supportsTimestamptz","defaultStringAsText","dialectName","insertIdStrategy","ID_KEY","VECTOR_INDEX_TYPES","Set","AGGREGATE_OP_MAP","$count","$sum","$avg","$min","$max","where","softDelete","getMeta","whereMap","buildQueryWhereAsMap","undefined","fields","filter","rawKey","rawVal","Object","entries","val","map","filterIt","id","getIdValue","Array","isArray","hasOperatorKeys","transformOperators","$in","obj","keys","some","startsWith","mapTableNameRow","row","table_name","REGEX_OP_MAP","$startsWith","wrap","v","ci","$istartsWith","$endsWith","$iendsWith","$includes","String","$iincludes","$like","replace","$ilike","NATIVE_OPS","ops","result","op","has","regexEntry","min","max","$search","select","exclude","selectedFields","normalizeScalarFieldSelection","reduce","acc","sort","raw","buildSortMap","normalized","dir","aggregationPipeline","q","relationSummary","$where","$sort","firstPipelineEntry","hasKeys","$match","pipeline","push","relKeys","getRelationRequestSummary","$populate","joinableKeys","relKey","relOpts","relations","cardinality","relEntity","relMeta","localField","references","local","$lookup","from","foreignField","as","foreign","foreignFieldName","referenceWhere","referenceSort","_id","referencePipelineEntry","$unwind","path","preserveNullAndEmptyArrays","normalizeIds","docs","doc","normalizeId","res","getKeys","dbName","value","ObjectId","e","getPersistable","payload","callbackKey","getPersistables","payloads","fillOnFields","persistableKeys","filterFieldKeys","it","buildAggregateStages","groupId","groupAccumulators","entry","parseGroupMap","$group","kind","alias","mongoOp","fieldRef","project","$project","$having","havingFilter","buildHavingFilter","$skip","$limit","having","condition","extractVectorSort","vectorKey","vectorSearch","regularSort","isVectorSearch","buildVectorSearchStage","search","limit","TypeError","colName","indexMeta","indexes","find","idx","columns","includes","type","indexName","stage","index","queryVector","$vector","numCandidates","$vectorSearch","MongoSchemaGenerator","defaultForeignKeyAction","generateCreateTable","_options","collectionName","unique","JSON","stringify","action","generateDropTable","generateAlterTable","diff","statements","indexesToAdd","length","generateCreateIndex","generateAlterTableDown","generateDropIndex","col","collection","getSqlType","fieldOptions","fieldType","getBooleanType","generateColumnDefinitions","generateColumnDefinition","generateColumnDefinitionFromSchema","generateTableConstraints","generateAlterColumnStatements","getTableOptions","generateColumnComment","formatDefaultValue","generateCreateTableFromNode","table","generateCreateIndexFromNode","generateDropTableFromNode","generateCreateTableFromDefinition","generateDropTableSql","generateRenameTableSql","oldName","newName","to","generateAddColumnSql","generateDropColumnSql","generateRenameColumnSql","generateAlterColumnSql","generateCreateIndexSql","generateDropIndexSql","generateAddForeignKeySql","generateDropForeignKeySql","diffSchema","currentTable","existingIndexes","i"],"mappings":";;;;AAUA;;AAEC,IACM,SAASA,oBAAAA,CAAqBC,QAAyB,EAAEC,KAAgC,EAAA;AAC9F,IAAA,OAAOA,KAAAA,GAAQ;AAAE,QAAA,GAAGD,QAAQ;AAAE,QAAA,GAAGC;KAAM,GAAID,QAAAA;AAC7C;AAEA;;AAEC,IACM,MAAeE,eAAAA,CAAAA;AAOpB,IAAA,WAAA,CACEC,eAAgC,EACbC,OAAAA,GAA0B,EAAE,CAC/C;aADmBA,OAAAA,GAAAA,OAAAA;AAEnB,QAAA,IAAI,CAACC,cAAc,GAAGD,OAAAA,CAAQC,cAAc;AAC5C,QAAA,IAAI,CAACC,QAAQ,GAAGP,oBAAAA,CAAqBI,eAAAA,EAAiBC,QAAQG,kBAAkB,CAAA;AAClF,IAAA;AAEA;;AAEC,MACDC,gBAAAA,CAAoBC,MAAe,EAAEC,IAAmB,EAAU;AAChE,QAAA,MAAMC,IAAAA,GAAOD,IAAAA,CAAKC,IAAI,IAAIF,OAAOE,IAAI;QACrC,IAAIA,IAAAA,KAASF,OAAOE,IAAI,IAAI,CAAC,IAAI,CAACN,cAAc,EAAE;YAChD,OAAOM,IAAAA;AACT,QAAA;AACA,QAAA,OAAO,IAAI,CAACN,cAAc,CAACO,SAAS,CAACD,IAAAA,CAAAA;AACvC,IAAA;AAEA;;AAEC,MACDE,iBAAAA,CAAkBC,GAAW,EAAEC,KAA+B,EAAU;QACtE,IAAI,CAACA,KAAAA,IAASA,KAAAA,CAAMJ,IAAI,KAAKG,OAAO,CAAC,IAAI,CAACT,cAAc,EAAE;AACxD,YAAA,OAAOU,OAAOJ,IAAAA,IAAQG,GAAAA;AACxB,QAAA;AACA,QAAA,OAAO,IAAI,CAACT,cAAc,CAACW,UAAU,CAACD,MAAMJ,IAAI,CAAA;AAClD,IAAA;AACF;;ACpBO,MAAMM,YAAAA,SAAqBf,eAAAA,CAAAA;;AAChC,yGACgBgB,sBAAAA,GAA0C;YACxDC,gBAAAA,EAAkB,KAAA;YAClBC,YAAAA,EAAc,KAAA;YACdC,aAAAA,EAAe,KAAA;YACfC,SAAAA,EAAW,KAAA;YACXC,WAAAA,EAAa,KAAA;YACbC,gBAAAA,EAAkB,KAAA;YAClBC,gBAAAA,EAAkB,KAAA;YAClBC,YAAAA,EAAc,KAAA;YACdC,eAAAA,EAAiB,KAAA;YACjBC,aAAAA,EAAe,KAAA;YACfC,gBAAAA,EAAkB,QAAA;YAClBC,oBAAAA,EAAsB,KAAA;YACtBC,mBAAAA,EAAqB,KAAA;YACrBC,mBAAAA,EAAqB;AACvB,SAAA;;IAMA,WAAA,CAAY5B,OAAAA,GAA0B,EAAE,CAAE;AACxC,QAAA,KAAK,CAACa,YAAAA,CAAaC,sBAAsB,EAAEd,OAAAA,CAAAA,EAAAA,IAAAA,CALpC6B,WAAAA,GAAc,gBAELC,gBAAAA,GAAmB,MAAA;AAIrC,IAAA;;aAEwBC,MAAAA,GAAS,KAAA;;;AACTC,QAAAA,IAAAA,CAAAA,kBAAAA,GAAqB,IAAIC,GAAAA,CAAe;AAAC,YAAA,cAAA;AAAgB,YAAA,MAAA;AAAQ,YAAA,SAAA;AAAW,YAAA;AAAS,SAAA,CAAA;;;aAErFC,gBAAAA,GAA2C;YACjEC,MAAAA,EAAQ,MAAA;YACRC,IAAAA,EAAM,MAAA;YACNC,IAAAA,EAAM,MAAA;YACNC,IAAAA,EAAM,MAAA;YACNC,IAAAA,EAAM;AACR,SAAA;;AAEOC,IAAAA,KAAAA,CACLnC,MAAe,EACfmC,KAAAA,GAAuB,EAAE,EACzB,EAAEC,UAAU,EAAgB,GAAG,EAAE,EACtB;AACX,QAAA,MAAMnC,OAAOoC,OAAAA,CAAQrC,MAAAA,CAAAA;QACrB,MAAMsC,QAAAA,GAAWC,qBAAqBtC,IAAAA,EAAMkC,KAAAA,CAAAA;AAE5C,QAAA,IAAIlC,IAAAA,CAAKmC,UAAU,KAAKA,cAAcA,UAAAA,KAAeI,SAAQ,CAAA,IAAM,CAACF,QAAQ,CAACrC,IAAAA,CAAKmC,UAAU,CAAC,EAAE;AAC7F,YAAA,MAAM9B,QAAQL,IAAAA,CAAKwC,MAAM,CAACxC,IAAAA,CAAKmC,UAAU,CAAC;YACzCE,QAAoC,CAAC,IAAI,CAAClC,iBAAiB,CAACH,IAAAA,CAAKmC,UAAU,EAAE9B,KAAAA,CAAAA,CAAQ,GAAG,IAAA;AAC3F,QAAA;AAEA,QAAA,MAAMoC,SAAkC,EAAC;QACzC,KAAK,MAAM,CAACC,MAAAA,EAAQC,MAAAA,CAAO,IAAIC,MAAAA,CAAOC,OAAO,CAACR,QAAAA,CAAAA,CAAW;AACvD,YAAA,IAAIjC,GAAAA,GAAMsC,MAAAA;AACV,YAAA,IAAII,GAAAA,GAAeH,MAAAA;YACnB,IAAIvC,GAAAA,KAAQ,MAAA,IAAUA,GAAAA,KAAQ,KAAA,EAAO;AACnCqC,gBAAAA,MAAM,CAACrC,GAAAA,CAAI,GAAI0C,GAAAA,CAAwBC,GAAG,CAAC,CAACC,QAAAA,GAAa,IAAI,CAACd,KAAK,CAACnC,MAAAA,EAAQiD,QAAAA,CAAAA,CAAAA;YAC9E,CAAA,MAAO;AACL,gBAAA,MAAM3C,KAAAA,GAAQL,IAAAA,CAAKwC,MAAM,CAACpC,GAAAA,CAAI;AAC9B,gBAAA,IAAIA,QAAQG,YAAAA,CAAakB,MAAM,IAAIrB,GAAAA,KAAQJ,IAAAA,CAAKiD,EAAE,EAAE;AAClD7C,oBAAAA,GAAAA,GAAMG,aAAakB,MAAM;oBACzBqB,GAAAA,GAAM,IAAI,CAACI,UAAU,CAACJ,GAAAA,CAAAA;AACxB,gBAAA,CAAA,MAAO,IAAIzC,KAAAA,EAAO;AAChBD,oBAAAA,GAAAA,GAAM,IAAI,CAACD,iBAAiB,CAACC,GAAAA,EAAKC,KAAAA,CAAAA;AACpC,gBAAA;AACA,gBAAA,IACEyC,GAAAA,IACA,OAAOA,GAAAA,KAAQ,QAAA,IACf,CAACK,KAAAA,CAAMC,OAAO,CAACN,GAAAA,CAAAA,IACf,IAAI,CAACO,eAAe,CAACP,GAAAA,CAAAA,EACrB;oBACAA,GAAAA,GAAM,IAAI,CAACQ,kBAAkB,CAACR,GAAAA,CAAAA;AAChC,gBAAA,CAAA,MAAO,IAAIK,KAAAA,CAAMC,OAAO,CAACN,GAAAA,CAAAA,EAAM;oBAC7BA,GAAAA,GAAM;wBAAES,GAAAA,EAAKT;AAAI,qBAAA;AACnB,gBAAA;gBACAL,MAAM,CAACrC,IAAI,GAAG0C,GAAAA;AAChB,YAAA;AACF,QAAA;QACA,OAAOL,MAAAA;AACT,IAAA;AAEA;;MAGQY,eAAAA,CAAgBG,GAA4B,EAAW;QAC7D,OAAOZ,MAAAA,CAAOa,IAAI,CAACD,GAAAA,CAAAA,CAAKE,IAAI,CAAC,CAACtD,GAAAA,GAAQA,GAAAA,CAAIuD,UAAU,CAAC,GAAA,CAAA,CAAA;AACvD,IAAA;AAEUC,IAAAA,eAAAA,CAAgBC,GAA2B,EAAU;AAC7D,QAAA,OAAOA,IAAIC,UAAU;AACvB,IAAA;;AAEA,kFACwBC,YAAAA,GAA8E;YACpGC,WAAAA,EAAa;AAAEC,gBAAAA,IAAAA,EAAM,CAACC,CAAAA,GAAM,CAAC,CAAC,EAAEA,CAAAA,CAAAA,CAAG;gBAAEC,EAAAA,EAAI;AAAM,aAAA;YAC/CC,YAAAA,EAAc;AAAEH,gBAAAA,IAAAA,EAAM,CAACC,CAAAA,GAAM,CAAC,CAAC,EAAEA,CAAAA,CAAAA,CAAG;gBAAEC,EAAAA,EAAI;AAAK,aAAA;YAC/CE,SAAAA,EAAW;AAAEJ,gBAAAA,IAAAA,EAAM,CAACC,CAAAA,GAAM,CAAA,EAAGA,CAAAA,CAAE,CAAC,CAAC;gBAAEC,EAAAA,EAAI;AAAM,aAAA;YAC7CG,UAAAA,EAAY;AAAEL,gBAAAA,IAAAA,EAAM,CAACC,CAAAA,GAAM,CAAA,EAAGA,CAAAA,CAAE,CAAC,CAAC;gBAAEC,EAAAA,EAAI;AAAK,aAAA;YAC7CI,SAAAA,EAAW;gBAAEN,IAAAA,EAAM,CAACC,IAAMM,MAAAA,CAAON,CAAAA,CAAAA;gBAAIC,EAAAA,EAAI;AAAM,aAAA;YAC/CM,UAAAA,EAAY;gBAAER,IAAAA,EAAM,CAACC,IAAMM,MAAAA,CAAON,CAAAA,CAAAA;gBAAIC,EAAAA,EAAI;AAAK,aAAA;YAC/CO,KAAAA,EAAO;gBAAET,IAAAA,EAAM,CAACC,CAAAA,GAAMM,MAAAA,CAAON,CAAAA,CAAAA,CAAGS,OAAO,CAAC,IAAA,EAAM,IAAA,CAAA,CAAMA,OAAO,CAAC,IAAA,EAAM,GAAA,CAAA;gBAAMR,EAAAA,EAAI;AAAM,aAAA;YAClFS,MAAAA,EAAQ;gBAAEX,IAAAA,EAAM,CAACC,CAAAA,GAAMM,MAAAA,CAAON,CAAAA,CAAAA,CAAGS,OAAO,CAAC,IAAA,EAAM,IAAA,CAAA,CAAMA,OAAO,CAAC,IAAA,EAAM,GAAA,CAAA;gBAAMR,EAAAA,EAAI;AAAK;AACpF,SAAA;;;8DAEmD,IAAA,CAC3BU,UAAAA,GAAa,IAAIlD,GAAAA,CAAI;AAC3C,YAAA,MAAA;AACA,YAAA,OAAA;AACA,YAAA,YAAA;AACA,YAAA,KAAA;AACA,YAAA,KAAA;AACA,YAAA,KAAA;AACA,YAAA,MAAA;AACA,YAAA,KAAA;AACA,YAAA,MAAA;AACA,YAAA,KAAA;AACA,YAAA,MAAA;AACA,YAAA,QAAA;AACA,YAAA;AACD,SAAA,CAAA;;AAED;;MAGQ2B,kBAAAA,CAAmBwB,GAA4B,EAA2B;AAChF,QAAA,MAAMC,SAAkC,EAAC;QACzC,KAAK,MAAM,CAACC,EAAAA,EAAIlC,GAAAA,CAAI,IAAIF,MAAAA,CAAOC,OAAO,CAACiC,GAAAA,CAAAA,CAAM;;AAE3C,YAAA,IAAIvE,YAAAA,CAAasE,UAAU,CAACI,GAAG,CAACD,EAAAA,CAAAA,EAAK;gBACnCD,MAAM,CAACC,GAAG,GAAGlC,GAAAA;AACb,gBAAA;AACF,YAAA;;AAEA,YAAA,MAAMoC,UAAAA,GAAa3E,YAAAA,CAAawD,YAAY,CAACiB,EAAAA,CAAG;AAChD,YAAA,IAAIE,UAAAA,EAAY;AACdH,gBAAAA,MAAM,CAAC,QAAA,CAAS,GAAGG,UAAAA,CAAWjB,IAAI,CAACnB,GAAAA,CAAAA;AACnC,gBAAA,IAAIoC,WAAWf,EAAE,EAAEY,MAAM,CAAC,WAAW,GAAG,GAAA;AACxC,gBAAA;AACF,YAAA;;YAEA,OAAQC,EAAAA;gBACN,KAAK,UAAA;AAAY,oBAAA;wBACf,MAAM,CAACG,GAAAA,EAAKC,GAAAA,CAAI,GAAGtC,GAAAA;wBACnBiC,MAAM,CAAC,OAAO,GAAGI,GAAAA;wBACjBJ,MAAM,CAAC,OAAO,GAAGK,GAAAA;AACjB,wBAAA;AACF,oBAAA;gBACA,KAAK,SAAA;AACHL,oBAAAA,MAAM,CAACjC,GAAAA,GAAM,KAAA,GAAQ,KAAA,CAAM,GAAG,IAAA;AAC9B,oBAAA;gBACF,KAAK,YAAA;AACHiC,oBAAAA,MAAM,CAACjC,GAAAA,GAAM,KAAA,GAAQ,KAAA,CAAM,GAAG,IAAA;AAC9B,oBAAA;gBACF,KAAK,OAAA;oBACHiC,MAAM,CAAC,QAAQ,GAAG;wBAAEM,OAAAA,EAASvC;AAAI,qBAAA;AACjC,oBAAA;AACF,gBAAA;oBACEiC,MAAM,CAACC,GAAG,GAAGlC,GAAAA;AACb,oBAAA;AACJ;AACF,QAAA;QACA,OAAOiC,MAAAA;AACT,IAAA;AAEOO,IAAAA,MAAAA,CACLvF,MAAe,EACfuF,MAAuB,EACvBC,OAAyB,EACN;AACnB,QAAA,MAAMvF,OAAOoC,OAAAA,CAAQrC,MAAAA,CAAAA;QACrB,IAAI,CAACuF,MAAAA,IAAU,CAACC,OAAAA,EAAS;AACvB,YAAA,OAAO,EAAC;AACV,QAAA;QACA,MAAMC,cAAAA,GAAiBC,6BAAAA,CAA8BzF,IAAAA,EAAMsF,MAAAA,EAAQC,OAAAA,CAAAA;AACnE,QAAA,OAAOC,cAAAA,CAAeE,MAAM,CAAoB,CAACC,GAAAA,EAAKvF,GAAAA,GAAAA;YACpDuF,GAAG,CAACvF,IAAI,GAAG,CAAA;YACX,OAAOuF,GAAAA;AACT,QAAA,CAAA,EAAG,EAAC,CAAA;AACN,IAAA;IAEOC,IAAAA,CAAyB7F,MAAe,EAAE6F,IAAsB,EAAQ;AAC7E,QAAA,MAAMC,MAAMC,YAAAA,CAAaF,IAAAA,CAAAA;AACzB,QAAA,MAAMG,aAAqC,EAAC;QAC5C,KAAK,MAAM,CAAC3F,GAAAA,EAAK4F,GAAAA,CAAI,IAAIpD,MAAAA,CAAOC,OAAO,CAACgD,GAAAA,CAAAA,CAAM;YAC5CE,UAAU,CAAC3F,IAAI,GAAG4F,GAAAA,KAAQ,UAAUA,GAAAA,KAAQ,EAAC,GAAI,EAAC,GAAI,CAAA;AACxD,QAAA;QACA,OAAOD,UAAAA;AACT,IAAA;AAEOE,IAAAA,mBAAAA,CACLlG,MAAe,EACfmG,CAAW,EACXC,eAA2C,EACP;AACpC,QAAA,MAAMnG,OAAOoC,OAAAA,CAAQrC,MAAAA,CAAAA;AACrB,QAAA,MAAMmC,QAAQ,IAAI,CAACA,KAAK,CAACnC,MAAAA,EAAQmG,EAAEE,MAAM,CAAA;AACzC,QAAA,MAAMR,OAAO,IAAI,CAACA,IAAI,CAAC7F,MAAAA,EAAQmG,EAAEG,KAAK,CAAA;AACtC,QAAA,MAAMC,qBAAuD,EAAC;AAE9D,QAAA,IAAIC,QAAQrE,KAAAA,CAAAA,EAAQ;AAClBoE,YAAAA,kBAAAA,CAAmBE,MAAM,GAAGtE,KAAAA;AAC9B,QAAA;AACA,QAAA,IAAIqE,QAAQX,IAAAA,CAAAA,EAAO;AACjBU,YAAAA,kBAAAA,CAAmBD,KAAK,GAAGT,IAAAA;AAC7B,QAAA;AAEA,QAAA,MAAMa,WAA+C,EAAE;AAEvD,QAAA,IAAIF,QAAQD,kBAAAA,CAAAA,EAAqB;AAC/BG,YAAAA,QAAAA,CAASC,IAAI,CAACJ,kBAAAA,CAAAA;AAChB,QAAA;QAEA,MAAMK,OAAAA,GAAU,CAACR,eAAAA,IAAmBS,yBAAAA,CAA0B5G,MAAMkG,CAAAA,CAAEW,SAAS,CAAA,EAAGC,YAAY;QAE9F,KAAK,MAAMC,UAAUJ,OAAAA,CAAS;AAC5B,YAAA,MAAMK,OAAAA,GAAUhH,IAAAA,CAAKiH,SAAS,CAACF,MAAAA,CAAO;AACtC,YAAA,IAAI,CAACC,OAAAA,EAAS;AAEd,YAAA,IAAIA,QAAQE,WAAW,KAAK,QAAQF,OAAAA,CAAQE,WAAW,KAAK,IAAA,EAAM;AAEhE,gBAAA;AACF,YAAA;YAEA,MAAMC,SAAAA,GAAYH,QAAQjH,MAAM,EAAA;AAChC,YAAA,MAAMqH,UAAUhF,OAAAA,CAAQ+E,SAAAA,CAAAA;YAExB,IAAIH,OAAAA,CAAQE,WAAW,KAAK,IAAA,EAAM;gBAChC,MAAMG,UAAAA,GAAarH,IAAAA,CAAKwC,MAAM,CAACwE,OAAAA,CAAQM,UAAW,CAAC,CAAA,CAAE,CAACC,KAAK,CAAC;AAC5Dd,gBAAAA,QAAAA,CAASC,IAAI,CAAC;oBACZc,OAAAA,EAAS;AACPC,wBAAAA,IAAAA,EAAM,IAAI,CAAC3H,gBAAgB,CAACqH,SAAAA,EAAWC,OAAAA,CAAAA;wBACvCC,UAAAA,EAAY,IAAI,CAAClH,iBAAiB,CAAC6G,OAAAA,CAAQM,UAAW,CAAC,CAAA,CAAE,CAACC,KAAK,EAAEF,UAAAA,CAAAA;wBACjEK,YAAAA,EAAc,KAAA;wBACdC,EAAAA,EAAIZ;AACN;AACF,iBAAA,CAAA;YACF,CAAA,MAAO;gBACL,MAAMW,YAAAA,GAAeN,OAAAA,CAAQ5E,MAAM,CAACwE,OAAAA,CAAQM,UAAW,CAAC,CAAA,CAAE,CAACM,OAAO,CAAC;AACnE,gBAAA,MAAMC,gBAAAA,GAAmB,IAAI,CAAC1H,iBAAiB,CAAC6G,OAAAA,CAAQM,UAAW,CAAC,CAAA,CAAE,CAACM,OAAO,EAAEF,YAAAA,CAAAA;AAChF,gBAAA,MAAMI,cAAAA,GAAiB,IAAI,CAAC5F,KAAK,CAACiF,SAAAA,EAAWjF,KAAAA,CAAAA;AAC7C,gBAAA,MAAM6F,gBAAgB,IAAI,CAACnC,IAAI,CAACuB,SAAAA,EAAWjB,EAAEG,KAAK,CAAA;gBAClD,MAAM2B,GAAAA,GAAMzH,aAAakB,MAAM;AAC/B,gBAAA,MAAMwG,sBAAAA,GAAuE;oBAC3EzB,MAAAA,EAAQ;AAAE,wBAAA,CAACqB,gBAAAA,GAAmBC,cAAc,CAACE,GAAAA;AAAK;AACpD,iBAAA;AACA,gBAAA,IAAIzB,QAAQwB,aAAAA,CAAAA,EAAgB;AAC1BE,oBAAAA,sBAAAA,CAAuB5B,KAAK,GAAG0B,aAAAA;AACjC,gBAAA;AACAtB,gBAAAA,QAAAA,CAASC,IAAI,CAAC;oBACZc,OAAAA,EAAS;AACPC,wBAAAA,IAAAA,EAAM,IAAI,CAAC3H,gBAAgB,CAACqH,SAAAA,EAAWC,OAAAA,CAAAA;wBACvCX,QAAAA,EAAU;AAACwB,4BAAAA;AAAuB,yBAAA;wBAClCN,EAAAA,EAAIZ;AACN;AACF,iBAAA,CAAA;AACF,YAAA;AAEAN,YAAAA,QAAAA,CAASC,IAAI,CAAC;gBAAEwB,OAAAA,EAAS;oBAAEC,IAAAA,EAAM,CAAC,CAAC,EAAEpB,MAAAA,CAAAA,CAAQ;oBAAEqB,0BAAAA,EAA4B;AAAK;AAAE,aAAA,CAAA;AACpF,QAAA;QAEA,OAAO3B,QAAAA;AACT,IAAA;IAEO4B,YAAAA,CAAiCrI,IAAmB,EAAEsI,IAAqB,EAAmB;QACnG,OAAOA,IAAAA,EAAMvF,IAAI,CAACwF,GAAAA,GAAQ,IAAI,CAACC,WAAW,CAACxI,IAAAA,EAAMuI,GAAAA,CAAAA,CAAAA;AACnD,IAAA;IAEOC,WAAAA,CAAgCxI,IAAmB,EAAEuI,GAAkB,EAAiB;AAC7F,QAAA,IAAI,CAACA,GAAAA,EAAK;YACR,OAAOA,GAAAA;AACT,QAAA;AAEA,QAAA,MAAME,GAAAA,GAAMF,GAAAA;QACZ,MAAMP,GAAAA,GAAMzH,aAAakB,MAAM;QAE/B,IAAIgH,GAAG,CAACT,GAAAA,CAAI,EAAE;AACZS,YAAAA,GAAG,CAACzI,IAAAA,CAAKiD,EAAE,CAAW,GAAGwF,GAAG,CAACT,GAAAA,CAAI;YACjC,IAAIhI,IAAAA,CAAKiD,EAAE,KAAK+E,GAAAA,EAAK;gBACnB,OAAOS,GAAG,CAACT,GAAAA,CAAI;AACjB,YAAA;AACF,QAAA;AAEA,QAAA,KAAK,MAAM5H,GAAAA,IAAOsI,OAAAA,CAAQ1I,IAAAA,CAAKwC,MAAM,CAAA,CAAG;AACtC,YAAA,MAAMnC,KAAAA,GAAQL,IAAAA,CAAKwC,MAAM,CAACpC,GAAAA,CAAI;AAC9B,YAAA,MAAMuI,MAAAA,GAAS,IAAI,CAACxI,iBAAiB,CAACC,GAAAA,EAAKC,KAAAA,CAAAA;AAC3C,YAAA,IAAIsI,WAAWvI,GAAAA,IAAOqI,GAAG,CAACE,MAAAA,CAAO,KAAKpG,SAAAA,EAAW;AAC/CkG,gBAAAA,GAAG,CAACrI,GAAAA,CAAI,GAAGqI,GAAG,CAACE,MAAAA,CAAO;gBACtB,OAAOF,GAAG,CAACE,MAAAA,CAAO;AACpB,YAAA;AACF,QAAA;QAEA,MAAMhC,OAAAA,GAAU+B,OAAAA,CAAQ1I,IAAAA,CAAKiH,SAAS,CAAA,CAAExE,MAAM,CAAC,CAACrC,GAAAA,GAAQqI,GAAG,CAACrI,GAAAA,CAAI,CAAA;QAEhE,KAAK,MAAM2G,UAAUJ,OAAAA,CAAS;AAC5B,YAAA,MAAMK,OAAAA,GAAUhH,IAAAA,CAAKiH,SAAS,CAACF,MAAAA,CAAO;AACtC,YAAA,IAAI,CAACC,OAAAA,EAAS;YACd,MAAMI,OAAAA,GAAUhF,OAAAA,CAAQ4E,OAAAA,CAAQjH,MAAM,EAAA,CAAA;YACtC0I,GAAG,CAAC1B,MAAAA,CAAO,GAAG5D,KAAAA,CAAMC,OAAO,CAACqF,GAAG,CAAC1B,MAAAA,CAAO,CAAA,GACnC,IAAI,CAACsB,YAAY,CAACjB,OAAAA,EAASqB,GAAG,CAAC1B,MAAAA,CAAO,CAAA,GACtC,IAAI,CAACyB,WAAW,CAACpB,OAAAA,EAASqB,GAAG,CAAC1B,MAAAA,CAAO,CAAA;AAC3C,QAAA;QAEA,OAAO0B,GAAAA;AACT,IAAA;AAEOvF,IAAAA,UAAAA,CAA8B0F,KAAQ,EAAK;AAChD,QAAA,IAAIA,iBAAiBC,QAAAA,EAAU;YAC7B,OAAOD,KAAAA;AACT,QAAA;QACA,IAAI;AACF,YAAA,OAAO,IAAIC,QAAAA,CAASD,KAAAA,CAAAA;AACtB,QAAA,CAAA,CAAE,OAAOE,CAAAA,EAAG;YACV,OAAOF,KAAAA;AACT,QAAA;AACF,IAAA;AAEOG,IAAAA,cAAAA,CAAmC/I,IAAmB,EAAEgJ,OAAU,EAAEC,WAAwB,EAAc;QAC/G,OAAO,IAAI,CAACC,eAAe,CAAClJ,MAAMgJ,OAAAA,EAASC,WAAAA,CAAY,CAAC,CAAA,CAAE;AAC5D,IAAA;AAEOC,IAAAA,eAAAA,CACLlJ,IAAmB,EACnBgJ,OAAgB,EAChBC,WAAwB,EACV;QACd,MAAME,QAAAA,GAAWC,YAAAA,CAAapJ,IAAAA,EAAMgJ,OAAAA,EAASC,WAAAA,CAAAA;AAC7C,QAAA,MAAMI,kBAAkBC,eAAAA,CAAgBtJ,IAAAA,EAAMmJ,QAAQ,CAAC,EAAE,EAAEF,WAAAA,CAAAA;QAC3D,OAAOE,QAAAA,CAASpG,GAAG,CAAC,CAACwG,KACnBF,eAAAA,CAAgB3D,MAAM,CACpB,CAACC,GAAAA,EAAKvF,GAAAA,GAAAA;AACJ,gBAAA,MAAMC,KAAAA,GAAQL,IAAAA,CAAKwC,MAAM,CAACpC,GAAAA,CAAI;gBAC7BuF,GAA+B,CAAC,IAAI,CAACxF,iBAAiB,CAACC,KAAKC,KAAAA,CAAAA,CAAQ,GAAGkJ,EAAE,CAACnJ,GAAAA,CAAI;gBAC/E,OAAOuF,GAAAA;AACT,YAAA,CAAA,EACA,EAAC,CAAA,CAAA;AAGP,IAAA;AAEA;;AAEC,MACD,oBAAO6D,CAAyCzJ,MAAe,EAAEmG,CAAoB,EAA6B;AAChH,QAAA,MAAMO,WAAsC,EAAE;;QAG9C,IAAIP,CAAAA,CAAEE,MAAM,EAAE;AACZ,YAAA,MAAM3D,SAAS,IAAI,CAACP,KAAK,CAACnC,MAAAA,EAAQmG,EAAEE,MAAM,CAAA;AAC1C,YAAA,IAAIG,QAAQ9D,MAAAA,CAAAA,EAAS;AACnBgE,gBAAAA,QAAAA,CAASC,IAAI,CAAC;oBAAEF,MAAAA,EAAQ/D;AAAO,iBAAA,CAAA;AACjC,YAAA;AACF,QAAA;;AAGA,QAAA,MAAMgH,UAAkC,EAAC;AACzC,QAAA,MAAMC,oBAA6D,EAAC;AAEpE,QAAA,KAAK,MAAMC,KAAAA,IAASC,aAAAA,CAAc1D,CAAAA,CAAE2D,MAAM,CAAA,CAAG;YAC3C,IAAIF,KAAAA,CAAMG,IAAI,KAAK,KAAA,EAAO;gBACxBL,OAAO,CAACE,KAAAA,CAAMI,KAAK,CAAC,GAAG,CAAC,CAAC,EAAEJ,KAAAA,CAAMI,KAAK,CAAA,CAAE;YAC1C,CAAA,MAAO;AACL,gBAAA,MAAMC,UAAUzJ,YAAAA,CAAaqB,gBAAgB,CAAC+H,KAAAA,CAAM3E,EAAE,CAAC;gBACvD0E,iBAAiB,CAACC,MAAMI,KAAK,CAAC,GAAGJ,KAAAA,CAAM3E,EAAE,KAAK,QAAA,GAAW;AAAE,oBAAA,CAACgF,UAAU;iBAAE,GAAI;AAAE,oBAAA,CAACA,UAAU,CAAC,CAAC,EAAEL,KAAAA,CAAMM,QAAQ,CAAA;AAAG,iBAAA;AAChH,YAAA;AACF,QAAA;AAEAxD,QAAAA,QAAAA,CAASC,IAAI,CAAC;YAAEmD,MAAAA,EAAQ;gBAAE7B,GAAAA,EAAKzB,OAAAA,CAAQkD,WAAWA,OAAAA,GAAU,IAAA;AAAM,gBAAA,GAAGC;AAAkB;AAAE,SAAA,CAAA;;AAGzF,QAAA,IAAInD,QAAQkD,OAAAA,CAAAA,EAAU;AACpB,YAAA,MAAMS,OAAAA,GAAmC;gBAAElC,GAAAA,EAAK;AAAE,aAAA;AAClD,YAAA,KAAK,MAAM+B,KAAAA,IAASnH,MAAAA,CAAOa,IAAI,CAACgG,OAAAA,CAAAA,CAAU;AACxCS,gBAAAA,OAAO,CAACH,KAAAA,CAAM,GAAG,CAAC,KAAK,EAAEA,KAAAA,CAAAA,CAAO;AAClC,YAAA;AACA,YAAA,KAAK,MAAMA,KAAAA,IAASnH,MAAAA,CAAOa,IAAI,CAACiG,iBAAAA,CAAAA,CAAoB;gBAClDQ,OAAO,CAACH,MAAM,GAAG,CAAA;AACnB,YAAA;AACAtD,YAAAA,QAAAA,CAASC,IAAI,CAAC;gBAAEyD,QAAAA,EAAUD;AAAQ,aAAA,CAAA;AACpC,QAAA;;QAGA,IAAIhE,CAAAA,CAAEkE,OAAO,EAAE;AACb,YAAA,MAAMC,eAAe,IAAI,CAACC,iBAAiB,CAACpE,EAAEkE,OAAO,CAAA;AACrD,YAAA,IAAI7D,QAAQ8D,YAAAA,CAAAA,EAAe;AACzB5D,gBAAAA,QAAAA,CAASC,IAAI,CAAC;oBAAEF,MAAAA,EAAQ6D;AAAa,iBAAA,CAAA;AACvC,YAAA;AACF,QAAA;;QAGA,IAAInE,CAAAA,CAAEG,KAAK,EAAE;AACX,YAAA,MAAMT,OAAO,IAAI,CAACA,IAAI,CAAC7F,MAAAA,EAAQmG,EAAEG,KAAK,CAAA;AACtC,YAAA,IAAIE,QAAQX,IAAAA,CAAAA,EAAO;AACjBa,gBAAAA,QAAAA,CAASC,IAAI,CAAC;oBAAEL,KAAAA,EAAOT;AAAK,iBAAA,CAAA;AAC9B,YAAA;AACF,QAAA;;QAGA,IAAIM,CAAAA,CAAEqE,KAAK,KAAKhI,SAAAA,EAAW;AACzBkE,YAAAA,QAAAA,CAASC,IAAI,CAAC;AAAE6D,gBAAAA,KAAAA,EAAOrE,EAAEqE;AAAM,aAAA,CAAA;AACjC,QAAA;QACA,IAAIrE,CAAAA,CAAEsE,MAAM,KAAKjI,SAAAA,EAAW;AAC1BkE,YAAAA,QAAAA,CAASC,IAAI,CAAC;AAAE8D,gBAAAA,MAAAA,EAAQtE,EAAEsE;AAAO,aAAA,CAAA;AACnC,QAAA;QAEA,OAAO/D,QAAAA;AACT,IAAA;AAEQ6D,IAAAA,iBAAAA,CAAkBG,MAA+B,EAA2B;AAClF,QAAA,MAAMhI,SAAkC,EAAC;QACzC,KAAK,MAAM,CAACsH,KAAAA,EAAOW,SAAAA,CAAU,IAAI9H,MAAAA,CAAOC,OAAO,CAAC4H,MAAAA,CAAAA,CAAS;AACvD,YAAA,IAAIC,cAAcnI,SAAAA,EAAW;YAC7B,IAAI,OAAOmI,cAAc,QAAA,EAAU;gBACjCjI,MAAM,CAACsH,MAAM,GAAGW,SAAAA;AAClB,YAAA,CAAA,MAAO,IAAI,OAAOA,SAAAA,KAAc,QAAA,IAAYA,cAAc,IAAA,EAAM;AAC9DjI,gBAAAA,MAAM,CAACsH,KAAAA,CAAM,GAAG,IAAI,CAACzG,kBAAkB,CAACoH,SAAAA,CAAAA;AAC1C,YAAA;AACF,QAAA;QACA,OAAOjI,MAAAA;AACT,IAAA;AAEA;;;MAIAkI,iBAAAA,CAAsC/E,IAAiC,EAAsC;QAC3G,IAAI,CAACA,MAAM,OAAOrD,SAAAA;AAClB,QAAA,MAAMsD,MAAMC,YAAAA,CAAaF,IAAAA,CAAAA;QACzB,IAAIgF,SAAAA;QACJ,IAAIC,YAAAA;AACJ,QAAA,MAAMC,cAAc,EAAC;QAErB,KAAK,MAAM,CAAC1K,GAAAA,EAAKwI,KAAAA,CAAM,IAAIhG,MAAAA,CAAOC,OAAO,CAACgD,GAAAA,CAAAA,CAAM;AAC9C,YAAA,IAAIkF,eAAenC,KAAAA,CAAAA,EAAQ;gBACzBgC,SAAAA,GAAYxK,GAAAA;gBACZyK,YAAAA,GAAejC,KAAAA;YACjB,CAAA,MAAO;gBACJkC,WAAuC,CAAC1K,IAAI,GAAGwI,KAAAA;AAClD,YAAA;AACF,QAAA;AAEA,QAAA,IAAI,CAACgC,SAAAA,IAAa,CAACC,YAAAA,EAAc,OAAOtI,SAAAA;QAExC,OAAO;AAAEqI,YAAAA,SAAAA;AAAWC,YAAAA,YAAAA;AAAcC,YAAAA;AAAY,SAAA;AAChD,IAAA;AAEA;;;AAGC,MACDE,sBAAAA,CACEjL,MAAe,EACfC,IAAmB,EACnBI,GAAW,EACX6K,MAAyB,EACzB/I,KAAgC,EAChCgJ,KAAa,EACY;AACzB,QAAA,MAAM7K,KAAAA,GAAQL,IAAAA,CAAKwC,MAAM,CAACpC,GAAAA,CAAI;AAC9B,QAAA,IAAI,CAACC,KAAAA,EAAO;AACV,YAAA,MAAM,IAAI8K,SAAAA,CAAU,CAAC,OAAO,EAAE/K,GAAAA,CAAI,uBAAuB,EAAEJ,IAAAA,CAAKC,IAAI,CAAC,CAAC,CAAC,CAAA;AACzE,QAAA;AACA,QAAA,MAAMmL,OAAAA,GAAU,IAAI,CAACjL,iBAAiB,CAACC,GAAAA,EAAKC,KAAAA,CAAAA;;AAG5C,QAAA,MAAMgL,YAAYrL,IAAAA,CAAKsL,OAAO,EAAEC,IAAAA,CAC9B,CAACC,MAAQA,GAAAA,CAAIC,OAAO,CAACC,QAAQ,CAACtL,QAAQG,YAAAA,CAAamB,kBAAkB,CAACuD,GAAG,CAACuG,IAAIG,IAAI,CAAA,CAAA;AAEpF,QAAA,MAAMC,YAAYP,SAAAA,EAAWpL,IAAAA,IAAQ,CAAA,EAAGmL,OAAAA,CAAQ,MAAM,CAAC;AAEvD,QAAA,MAAMS,KAAAA,GAAiC;YACrCC,KAAAA,EAAOF,SAAAA;YACPzD,IAAAA,EAAMiD,OAAAA;YACNW,WAAAA,EAAa;AAAId,gBAAAA,GAAAA,MAAAA,CAAOe;AAAQ,aAAA;AAChCC,YAAAA,aAAAA,EAAef,KAAAA,GAAQ,EAAA;AACvBA,YAAAA;AACF,SAAA;;AAGA,QAAA,IAAIhJ,KAAAA,EAAO;AACT,YAAA,MAAMO,MAAAA,GAAS,IAAI,CAACP,KAAK,CAACnC,MAAAA,EAAQmC,KAAAA,CAAAA;AAClC,YAAA,IAAIqE,QAAQ9D,MAAAA,CAAAA,EAAS;gBACnBoJ,KAAK,CAAC,SAAS,GAAGpJ,MAAAA;AACpB,YAAA;AACF,QAAA;QAEA,OAAO;YAAEyJ,aAAAA,EAAeL;AAAM,SAAA;AAChC,IAAA;AACF;;AC1fO,MAAMM,oBAAAA,SAA6B3M,eAAAA,CAAAA;AAGxC,IAAA,WAAA,CACEG,cAA+B,EAC/B,uBAA6D,CAC7D;QACA,KAAK,CAACY,YAAAA,CAAaC,sBAAsB,EAAE;AAAEb,YAAAA;AAAe,SAAA,CAAA,EAAA,IAAA,CAFzCyM,uBAAAA,GAAAA,uBAAAA,EAAAA,IAAAA,CAJZ7K,WAAAA,GAAc,SAAA,EAAA,IAAA,CASLC,gBAAAA,GAAqC,MAAA;AAFvD,IAAA;IAIA6K,mBAAAA,CAAuBtM,MAAe,EAAEuM,QAAoC,EAAY;AACtF,QAAA,MAAMtM,OAAOoC,OAAAA,CAAQrC,MAAAA,CAAAA;AACrB,QAAA,MAAMwM,cAAAA,GAAiB,IAAI,CAACzM,gBAAgB,CAACC,MAAAA,EAAQC,IAAAA,CAAAA;AACrD,QAAA,MAAMsL,UAAyB,EAAE;AAEjC,QAAA,KAAK,MAAMlL,GAAAA,IAAOsI,OAAAA,CAAQ1I,IAAAA,CAAKwC,MAAM,CAAA,CAAG;AACtC,YAAA,MAAMnC,KAAAA,GAAQL,IAAAA,CAAKwC,MAAM,CAACpC,GAAAA,CAAI;AAC9B,YAAA,IAAIC,OAAOyL,KAAAA,EAAO;AAChB,gBAAA,MAAMxL,UAAAA,GAAa,IAAI,CAACH,iBAAiB,CAACC,GAAAA,EAAKC,KAAAA,CAAAA;AAC/C,gBAAA,MAAMuL,SAAAA,GAAY,OAAOvL,KAAAA,CAAMyL,KAAK,KAAK,QAAA,GAAWzL,KAAAA,CAAMyL,KAAK,GAAG,CAAC,IAAI,EAAES,cAAAA,CAAe,CAAC,EAAEjM,UAAAA,CAAAA,CAAY;AACvGgL,gBAAAA,OAAAA,CAAQ5E,IAAI,CAAC;oBACXzG,IAAAA,EAAM2L,SAAAA;oBACNH,OAAAA,EAAS;AAACnL,wBAAAA;AAAW,qBAAA;oBACrBkM,MAAAA,EAAQ,CAAC,CAACnM,KAAAA,CAAMmM;AAClB,iBAAA,CAAA;AACF,YAAA;AACF,QAAA;QAEA,OAAO;AAACC,YAAAA,IAAAA,CAAKC,SAAS,CAAC;gBAAEC,MAAAA,EAAQ,kBAAA;gBAAoB1M,IAAAA,EAAMsM,cAAAA;AAAgBjB,gBAAAA;AAAQ,aAAA;AAAG,SAAA;AACxF,IAAA;AAEAsB,IAAAA,iBAAAA,CAAqB7M,MAAe,EAAU;AAC5C,QAAA,MAAMC,OAAOoC,OAAAA,CAAQrC,MAAAA,CAAAA;AACrB,QAAA,MAAMwM,cAAAA,GAAiB,IAAI,CAACzM,gBAAgB,CAACC,MAAAA,EAAQC,IAAAA,CAAAA;QACrD,OAAOyM,IAAAA,CAAKC,SAAS,CAAC;YAAEC,MAAAA,EAAQ,gBAAA;YAAkB1M,IAAAA,EAAMsM;AAAe,SAAA,CAAA;AACzE,IAAA;AAEAM,IAAAA,kBAAAA,CAAmBC,IAAgB,EAAY;AAC7C,QAAA,MAAMC,aAAuB,EAAE;QAC/B,IAAID,IAAAA,CAAKE,YAAY,EAAEC,MAAAA,EAAQ;AAC7B,YAAA,KAAK,MAAMnB,KAAAA,IAASgB,IAAAA,CAAKE,YAAY,CAAE;gBACrCD,UAAAA,CAAWrG,IAAI,CAAC,IAAI,CAACwG,mBAAmB,CAACJ,IAAAA,CAAK5M,SAAS,EAAE4L,KAAAA,CAAAA,CAAAA;AAC3D,YAAA;AACF,QAAA;QACA,OAAOiB,UAAAA;AACT,IAAA;AAEAI,IAAAA,sBAAAA,CAAuBL,IAAgB,EAAY;AACjD,QAAA,MAAMC,aAAuB,EAAE;QAC/B,IAAID,IAAAA,CAAKE,YAAY,EAAEC,MAAAA,EAAQ;AAC7B,YAAA,KAAK,MAAMnB,KAAAA,IAASgB,IAAAA,CAAKE,YAAY,CAAE;gBACrCD,UAAAA,CAAWrG,IAAI,CAAC,IAAI,CAAC0G,iBAAiB,CAACN,IAAAA,CAAK5M,SAAS,EAAE4L,KAAAA,CAAM7L,IAAI,CAAA,CAAA;AACnE,YAAA;AACF,QAAA;QACA,OAAO8M,UAAAA;AACT,IAAA;IAEAG,mBAAAA,CAAoBhN,SAAiB,EAAE4L,KAAkB,EAAU;AACjE,QAAA,MAAM1L,MAA8B,EAAC;AACrC,QAAA,KAAK,MAAMiN,GAAAA,IAAOvB,KAAAA,CAAML,OAAO,CAAE;YAC/BrL,GAAG,CAACiN,IAAI,GAAG,CAAA;AACb,QAAA;QACA,OAAOZ,IAAAA,CAAKC,SAAS,CAAC;YACpBC,MAAAA,EAAQ,aAAA;YACRW,UAAAA,EAAYpN,SAAAA;AACZD,YAAAA,IAAAA,EAAM6L,MAAM7L,IAAI;AAChBG,YAAAA,GAAAA;YACAV,OAAAA,EAAS;AAAE8M,gBAAAA,MAAAA,EAAQV,MAAMU,MAAM;AAAEvM,gBAAAA,IAAAA,EAAM6L,MAAM7L;AAAK;AACpD,SAAA,CAAA;AACF,IAAA;IAEAmN,iBAAAA,CAAkBlN,SAAiB,EAAE0L,SAAiB,EAAU;QAC9D,OAAOa,IAAAA,CAAKC,SAAS,CAAC;YACpBC,MAAAA,EAAQ,WAAA;YACRW,UAAAA,EAAYpN,SAAAA;YACZD,IAAAA,EAAM2L;AACR,SAAA,CAAA;AACF,IAAA;IAEA2B,UAAAA,CAAWC,YAA0B,EAAEC,SAAmB,EAAU;QAClE,OAAO,EAAA;AACT,IAAA;IAEAC,cAAAA,GAAyB;QACvB,OAAO,EAAA;AACT,IAAA;IAEAC,yBAAAA,GAAsC;AACpC,QAAA,OAAO,EAAE;AACX,IAAA;IAEAC,wBAAAA,GAAmC;QACjC,OAAO,EAAA;AACT,IAAA;IAEAC,kCAAAA,GAA6C;QAC3C,OAAO,EAAA;AACT,IAAA;IAEAC,wBAAAA,GAAqC;AACnC,QAAA,OAAO,EAAE;AACX,IAAA;IAEAC,6BAAAA,GAA0C;AACxC,QAAA,OAAO,EAAE;AACX,IAAA;IAEAC,eAAAA,GAA0B;QACxB,OAAO,EAAA;AACT,IAAA;IAEAC,qBAAAA,GAAgC;QAC9B,OAAO,EAAA;AACT,IAAA;IAEAC,kBAAAA,GAA6B;QAC3B,OAAO,EAAA;AACT,IAAA;IAEAC,2BAAAA,CAA4BC,KAAgB,EAAE9B,QAAoC,EAAY;QAC5F,OAAO;AAACG,YAAAA,IAAAA,CAAKC,SAAS,CAAC;gBAAEC,MAAAA,EAAQ,kBAAA;AAAoB1M,gBAAAA,IAAAA,EAAMmO,MAAMnO;AAAK,aAAA;AAAG,SAAA;AAC3E,IAAA;AAEAoO,IAAAA,2BAAAA,CAA4BvC,KAAgB,EAAU;AACpD,QAAA,MAAM1L,MAA8B,EAAC;AACrC,QAAA,KAAK,MAAMiN,GAAAA,IAAOvB,KAAAA,CAAML,OAAO,CAAE;AAC/BrL,YAAAA,GAAG,CAACiN,GAAAA,CAAIpN,IAAI,CAAC,GAAG,CAAA;AAClB,QAAA;QACA,OAAOwM,IAAAA,CAAKC,SAAS,CAAC;YACpBC,MAAAA,EAAQ,aAAA;YACRW,UAAAA,EAAYxB,KAAAA,CAAMsC,KAAK,CAACnO,IAAI;AAC5BA,YAAAA,IAAAA,EAAM6L,MAAM7L,IAAI;AAChBG,YAAAA,GAAAA;YACAV,OAAAA,EAAS;AAAE8M,gBAAAA,MAAAA,EAAQV,MAAMU,MAAM;AAAEvM,gBAAAA,IAAAA,EAAM6L,MAAM7L;AAAK;AACpD,SAAA,CAAA;AACF,IAAA;AAEAqO,IAAAA,yBAAAA,CAA0BF,KAAgB,EAAU;QAClD,OAAO3B,IAAAA,CAAKC,SAAS,CAAC;YAAEC,MAAAA,EAAQ,gBAAA;AAAkB1M,YAAAA,IAAAA,EAAMmO,MAAMnO;AAAK,SAAA,CAAA;AACrE,IAAA;IAEAsO,iCAAAA,CAAkCH,KAAsB,EAAE9B,QAAoC,EAAY;QACxG,OAAO;AAACG,YAAAA,IAAAA,CAAKC,SAAS,CAAC;gBAAEC,MAAAA,EAAQ,kBAAA;AAAoB1M,gBAAAA,IAAAA,EAAMmO,MAAMnO;AAAK,aAAA;AAAG,SAAA;AAC3E,IAAA;AAEAuO,IAAAA,oBAAAA,CAAqBtO,SAAiB,EAAU;QAC9C,OAAOuM,IAAAA,CAAKC,SAAS,CAAC;YAAEC,MAAAA,EAAQ,gBAAA;YAAkB1M,IAAAA,EAAMC;AAAU,SAAA,CAAA;AACpE,IAAA;IAEAuO,sBAAAA,CAAuBC,OAAe,EAAEC,OAAe,EAAU;QAC/D,OAAOlC,IAAAA,CAAKC,SAAS,CAAC;YAAEC,MAAAA,EAAQ,kBAAA;YAAoBlF,IAAAA,EAAMiH,OAAAA;YAASE,EAAAA,EAAID;AAAQ,SAAA,CAAA;AACjF,IAAA;IAEAE,oBAAAA,GAA+B;QAC7B,OAAO,EAAA;AACT,IAAA;IAEAC,qBAAAA,GAAgC;QAC9B,OAAO,EAAA;AACT,IAAA;IAEAC,uBAAAA,GAAkC;QAChC,OAAO,EAAA;AACT,IAAA;IAEAC,sBAAAA,GAAiC;QAC/B,OAAO,EAAA;AACT,IAAA;IAEAC,sBAAAA,CAAuB/O,SAAiB,EAAE4L,KAAkB,EAAU;AACpE,QAAA,OAAO,IAAI,CAACoB,mBAAmB,CAAChN,SAAAA,EAAW4L,KAAAA,CAAAA;AAC7C,IAAA;IAEAoD,oBAAAA,CAAqBhP,SAAiB,EAAE0L,SAAiB,EAAU;AACjE,QAAA,OAAO,IAAI,CAACwB,iBAAiB,CAAClN,SAAAA,EAAW0L,SAAAA,CAAAA;AAC3C,IAAA;IAEAuD,wBAAAA,GAAmC;QACjC,OAAO,EAAA;AACT,IAAA;IAEAC,yBAAAA,GAAoC;QAClC,OAAO,EAAA;AACT,IAAA;IAEAC,UAAAA,CAActP,MAAe,EAAEuP,YAAmC,EAA0B;AAC1F,QAAA,MAAMtP,OAAOoC,OAAAA,CAAQrC,MAAAA,CAAAA;AACrB,QAAA,MAAMwM,cAAAA,GAAiB,IAAI,CAACzM,gBAAgB,CAACC,MAAAA,EAAQC,IAAAA,CAAAA;AAErD,QAAA,IAAI,CAACsP,YAAAA,EAAc;YACjB,OAAO;gBAAEpP,SAAAA,EAAWqM,cAAAA;gBAAgBZ,IAAAA,EAAM;AAAS,aAAA;AACrD,QAAA;AAEA,QAAA,MAAMqB,eAA8B,EAAE;AACtC,QAAA,MAAMuC,eAAAA,GAAkB,IAAI5N,GAAAA,CAAI2N,YAAAA,CAAahE,OAAO,EAAEvI,GAAAA,CAAI,CAACyM,CAAAA,GAAMA,CAAAA,CAAEvP,IAAI,CAAA,IAAK,EAAE,CAAA;AAE9E,QAAA,KAAK,MAAMG,GAAAA,IAAOsI,OAAAA,CAAQ1I,IAAAA,CAAKwC,MAAM,CAAA,CAAG;AACtC,YAAA,MAAMnC,KAAAA,GAAQL,IAAAA,CAAKwC,MAAM,CAACpC,GAAAA,CAAI;AAC9B,YAAA,IAAIC,OAAOyL,KAAAA,EAAO;AAChB,gBAAA,MAAMxL,UAAAA,GAAa,IAAI,CAACH,iBAAiB,CAACC,GAAAA,EAAKC,KAAAA,CAAAA;AAC/C,gBAAA,MAAMuL,SAAAA,GAAY,OAAOvL,KAAAA,CAAMyL,KAAK,KAAK,QAAA,GAAWzL,KAAAA,CAAMyL,KAAK,GAAG,CAAC,IAAI,EAAES,cAAAA,CAAe,CAAC,EAAEjM,UAAAA,CAAAA,CAAY;AACvG,gBAAA,IAAI,CAACiP,eAAAA,CAAgBtK,GAAG,CAAC2G,SAAAA,CAAAA,EAAY;AACnCoB,oBAAAA,YAAAA,CAAatG,IAAI,CAAC;wBAChBzG,IAAAA,EAAM2L,SAAAA;wBACNH,OAAAA,EAAS;AAACnL,4BAAAA;AAAW,yBAAA;wBACrBkM,MAAAA,EAAQ,CAAC,CAACnM,KAAAA,CAAMmM;AAClB,qBAAA,CAAA;AACF,gBAAA;AACF,YAAA;AACF,QAAA;QAEA,IAAIQ,YAAAA,CAAaC,MAAM,KAAK,CAAA,EAAG;YAC7B,OAAO1K,SAAAA;AACT,QAAA;QAEA,OAAO;YACLrC,SAAAA,EAAWqM,cAAAA;YACXZ,IAAAA,EAAM,OAAA;AACNqB,YAAAA;AACF,SAAA;AACF,IAAA;AACF;;;;"}
|