@uql/core 3.1.2 → 3.1.4
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 +1 -1
- package/README.md +23 -28
- package/dist/browser/cc-BEf4wTUm.js +535 -0
- package/dist/browser/cc-BEf4wTUm.js.map +1 -0
- package/dist/browser/http/bus.d.ts +1 -0
- package/dist/browser/http/bus.d.ts.map +1 -0
- package/dist/browser/http/bus.js +1 -1
- package/dist/browser/http/bus.js.map +1 -0
- package/dist/browser/http/http.d.ts +1 -0
- package/dist/browser/http/http.d.ts.map +1 -0
- package/dist/browser/http/http.js +1 -1
- package/dist/browser/http/http.js.map +1 -0
- package/dist/browser/http/index.d.ts +1 -0
- package/dist/browser/http/index.d.ts.map +1 -0
- package/dist/browser/http/index.js +1 -1
- package/dist/browser/http/index.js.map +1 -0
- package/dist/browser/index.d.ts +1 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +1 -1
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/options.d.ts +1 -0
- package/dist/browser/options.d.ts.map +1 -0
- package/dist/browser/options.js +1 -1
- package/dist/browser/options.js.map +1 -0
- package/dist/browser/querier/genericClientRepository.d.ts +1 -0
- package/dist/browser/querier/genericClientRepository.d.ts.map +1 -0
- package/dist/browser/querier/genericClientRepository.js +1 -1
- package/dist/browser/querier/genericClientRepository.js.map +1 -0
- package/dist/browser/querier/httpQuerier.d.ts +1 -0
- package/dist/browser/querier/httpQuerier.d.ts.map +1 -0
- package/dist/browser/querier/httpQuerier.js +1 -1
- package/dist/browser/querier/httpQuerier.js.map +1 -0
- package/dist/browser/querier/index.d.ts +1 -0
- package/dist/browser/querier/index.d.ts.map +1 -0
- package/dist/browser/querier/index.js +1 -1
- package/dist/browser/querier/index.js.map +1 -0
- package/dist/browser/querier/querier.util.d.ts +1 -0
- package/dist/browser/querier/querier.util.d.ts.map +1 -0
- package/dist/browser/querier/querier.util.js +1 -1
- package/dist/browser/querier/querier.util.js.map +1 -0
- package/dist/browser/type/clientQuerier.d.ts +1 -0
- package/dist/browser/type/clientQuerier.d.ts.map +1 -0
- package/dist/browser/type/clientQuerier.js +1 -1
- package/dist/browser/type/clientQuerier.js.map +1 -0
- package/dist/browser/type/clientQuerierPool.d.ts +1 -0
- package/dist/browser/type/clientQuerierPool.d.ts.map +1 -0
- package/dist/browser/type/clientQuerierPool.js +1 -1
- package/dist/browser/type/clientQuerierPool.js.map +1 -0
- package/dist/browser/type/clientRepository.d.ts +1 -0
- package/dist/browser/type/clientRepository.d.ts.map +1 -0
- package/dist/browser/type/clientRepository.js +1 -1
- package/dist/browser/type/clientRepository.js.map +1 -0
- package/dist/browser/type/index.d.ts +1 -0
- package/dist/browser/type/index.d.ts.map +1 -0
- package/dist/browser/type/index.js +1 -1
- package/dist/browser/type/index.js.map +1 -0
- package/dist/browser/type/request.d.ts +1 -0
- package/dist/browser/type/request.d.ts.map +1 -0
- package/dist/browser/type/request.js +1 -1
- package/dist/browser/type/request.js.map +1 -0
- package/dist/browser/uql-browser.min.js +94 -83
- package/dist/browser/uql-browser.min.js.map +1 -1
- package/dist/dialect/abstractDialect.d.ts +1 -0
- package/dist/dialect/abstractDialect.d.ts.map +1 -0
- package/dist/dialect/abstractDialect.js +1 -1
- package/dist/dialect/abstractDialect.js.map +1 -0
- package/dist/dialect/abstractSqlDialect.d.ts +1 -0
- package/dist/dialect/abstractSqlDialect.d.ts.map +1 -0
- package/dist/dialect/abstractSqlDialect.js +1 -1
- package/dist/dialect/abstractSqlDialect.js.map +1 -0
- package/dist/dialect/index.d.ts +1 -0
- package/dist/dialect/index.d.ts.map +1 -0
- package/dist/dialect/index.js +1 -1
- package/dist/dialect/index.js.map +1 -0
- package/dist/dialect/queryContext.d.ts +1 -0
- package/dist/dialect/queryContext.d.ts.map +1 -0
- package/dist/dialect/queryContext.js +1 -1
- package/dist/dialect/queryContext.js.map +1 -0
- package/dist/entity/decorator/definition.d.ts +1 -0
- package/dist/entity/decorator/definition.d.ts.map +1 -0
- package/dist/entity/decorator/definition.js +1 -2
- package/dist/entity/decorator/definition.js.map +1 -0
- package/dist/entity/decorator/entity.d.ts +1 -0
- package/dist/entity/decorator/entity.d.ts.map +1 -0
- package/dist/entity/decorator/entity.js +1 -1
- package/dist/entity/decorator/entity.js.map +1 -0
- package/dist/entity/decorator/field.d.ts +1 -0
- package/dist/entity/decorator/field.d.ts.map +1 -0
- package/dist/entity/decorator/field.js +1 -1
- package/dist/entity/decorator/field.js.map +1 -0
- package/dist/entity/decorator/id.d.ts +1 -0
- package/dist/entity/decorator/id.d.ts.map +1 -0
- package/dist/entity/decorator/id.js +1 -1
- package/dist/entity/decorator/id.js.map +1 -0
- package/dist/entity/decorator/index.d.ts +1 -0
- package/dist/entity/decorator/index.d.ts.map +1 -0
- package/dist/entity/decorator/index.js +1 -1
- package/dist/entity/decorator/index.js.map +1 -0
- package/dist/entity/decorator/relation.d.ts +1 -0
- package/dist/entity/decorator/relation.d.ts.map +1 -0
- package/dist/entity/decorator/relation.js +1 -1
- package/dist/entity/decorator/relation.js.map +1 -0
- package/dist/entity/index.d.ts +1 -0
- package/dist/entity/index.d.ts.map +1 -0
- package/dist/entity/index.js +1 -1
- package/dist/entity/index.js.map +1 -0
- package/dist/express/index.d.ts +1 -0
- package/dist/express/index.d.ts.map +1 -0
- package/dist/express/index.js +1 -1
- package/dist/express/index.js.map +1 -0
- package/dist/express/querierMiddleware.d.ts +1 -0
- package/dist/express/querierMiddleware.d.ts.map +1 -0
- package/dist/express/querierMiddleware.js +1 -1
- package/dist/express/querierMiddleware.js.map +1 -0
- package/dist/express/query.util.d.ts +1 -0
- package/dist/express/query.util.d.ts.map +1 -0
- package/dist/express/query.util.js +1 -1
- package/dist/express/query.util.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -0
- package/dist/maria/index.d.ts +1 -0
- package/dist/maria/index.d.ts.map +1 -0
- package/dist/maria/index.js +1 -1
- package/dist/maria/index.js.map +1 -0
- package/dist/maria/mariaDialect.d.ts +1 -0
- package/dist/maria/mariaDialect.d.ts.map +1 -0
- package/dist/maria/mariaDialect.js +1 -1
- package/dist/maria/mariaDialect.js.map +1 -0
- package/dist/maria/mariadbQuerier.d.ts +1 -0
- package/dist/maria/mariadbQuerier.d.ts.map +1 -0
- package/dist/maria/mariadbQuerier.js +1 -1
- package/dist/maria/mariadbQuerier.js.map +1 -0
- package/dist/maria/mariadbQuerierPool.d.ts +1 -0
- package/dist/maria/mariadbQuerierPool.d.ts.map +1 -0
- package/dist/maria/mariadbQuerierPool.js +1 -1
- package/dist/maria/mariadbQuerierPool.js.map +1 -0
- package/dist/migrate/cli.d.ts +1 -0
- package/dist/migrate/cli.d.ts.map +1 -0
- package/dist/migrate/cli.js +3 -3
- package/dist/migrate/cli.js.map +1 -0
- package/dist/migrate/generator/index.d.ts +1 -0
- package/dist/migrate/generator/index.d.ts.map +1 -0
- package/dist/migrate/generator/index.js +1 -1
- package/dist/migrate/generator/index.js.map +1 -0
- package/dist/migrate/generator/mongoSchemaGenerator.d.ts +1 -0
- package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -0
- package/dist/migrate/generator/mongoSchemaGenerator.js +1 -1
- package/dist/migrate/generator/mongoSchemaGenerator.js.map +1 -0
- package/dist/migrate/generator/mysqlSchemaGenerator.d.ts +1 -0
- package/dist/migrate/generator/mysqlSchemaGenerator.d.ts.map +1 -0
- package/dist/migrate/generator/mysqlSchemaGenerator.js +1 -1
- package/dist/migrate/generator/mysqlSchemaGenerator.js.map +1 -0
- package/dist/migrate/generator/postgresSchemaGenerator.d.ts +1 -0
- package/dist/migrate/generator/postgresSchemaGenerator.d.ts.map +1 -0
- package/dist/migrate/generator/postgresSchemaGenerator.js +1 -1
- package/dist/migrate/generator/postgresSchemaGenerator.js.map +1 -0
- package/dist/migrate/generator/sqliteSchemaGenerator.d.ts +1 -0
- package/dist/migrate/generator/sqliteSchemaGenerator.d.ts.map +1 -0
- package/dist/migrate/generator/sqliteSchemaGenerator.js +1 -1
- package/dist/migrate/generator/sqliteSchemaGenerator.js.map +1 -0
- package/dist/migrate/index.d.ts +1 -0
- package/dist/migrate/index.d.ts.map +1 -0
- package/dist/migrate/index.js +1 -1
- package/dist/migrate/index.js.map +1 -0
- package/dist/migrate/introspection/index.d.ts +1 -0
- package/dist/migrate/introspection/index.d.ts.map +1 -0
- package/dist/migrate/introspection/index.js +1 -1
- package/dist/migrate/introspection/index.js.map +1 -0
- package/dist/migrate/introspection/mongoIntrospector.d.ts +1 -0
- package/dist/migrate/introspection/mongoIntrospector.d.ts.map +1 -0
- package/dist/migrate/introspection/mongoIntrospector.js +1 -1
- package/dist/migrate/introspection/mongoIntrospector.js.map +1 -0
- package/dist/migrate/introspection/mysqlIntrospector.d.ts +1 -0
- package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +1 -0
- package/dist/migrate/introspection/mysqlIntrospector.js +1 -1
- package/dist/migrate/introspection/mysqlIntrospector.js.map +1 -0
- package/dist/migrate/introspection/postgresIntrospector.d.ts +1 -0
- package/dist/migrate/introspection/postgresIntrospector.d.ts.map +1 -0
- package/dist/migrate/introspection/postgresIntrospector.js +1 -1
- package/dist/migrate/introspection/postgresIntrospector.js.map +1 -0
- package/dist/migrate/introspection/sqliteIntrospector.d.ts +1 -0
- package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +1 -0
- package/dist/migrate/introspection/sqliteIntrospector.js +1 -1
- package/dist/migrate/introspection/sqliteIntrospector.js.map +1 -0
- package/dist/migrate/migrator.d.ts +1 -0
- package/dist/migrate/migrator.d.ts.map +1 -0
- package/dist/migrate/migrator.js +1 -1
- package/dist/migrate/migrator.js.map +1 -0
- package/dist/migrate/schemaGenerator.d.ts +1 -0
- package/dist/migrate/schemaGenerator.d.ts.map +1 -0
- package/dist/migrate/schemaGenerator.js +1 -1
- package/dist/migrate/schemaGenerator.js.map +1 -0
- package/dist/migrate/storage/databaseStorage.d.ts +1 -0
- package/dist/migrate/storage/databaseStorage.d.ts.map +1 -0
- package/dist/migrate/storage/databaseStorage.js +1 -1
- package/dist/migrate/storage/databaseStorage.js.map +1 -0
- package/dist/migrate/storage/index.d.ts +1 -0
- package/dist/migrate/storage/index.d.ts.map +1 -0
- package/dist/migrate/storage/index.js +1 -1
- package/dist/migrate/storage/index.js.map +1 -0
- package/dist/migrate/storage/jsonStorage.d.ts +1 -0
- package/dist/migrate/storage/jsonStorage.d.ts.map +1 -0
- package/dist/migrate/storage/jsonStorage.js +1 -1
- package/dist/migrate/storage/jsonStorage.js.map +1 -0
- package/dist/migrate/type.d.ts +1 -0
- package/dist/migrate/type.d.ts.map +1 -0
- package/dist/migrate/type.js +1 -1
- package/dist/migrate/type.js.map +1 -0
- package/dist/mongo/index.d.ts +1 -0
- package/dist/mongo/index.d.ts.map +1 -0
- package/dist/mongo/index.js +1 -1
- package/dist/mongo/index.js.map +1 -0
- package/dist/mongo/mongoDialect.d.ts +1 -0
- package/dist/mongo/mongoDialect.d.ts.map +1 -0
- package/dist/mongo/mongoDialect.js +1 -1
- package/dist/mongo/mongoDialect.js.map +1 -0
- package/dist/mongo/mongodbQuerier.d.ts +1 -0
- package/dist/mongo/mongodbQuerier.d.ts.map +1 -0
- package/dist/mongo/mongodbQuerier.js +1 -1
- package/dist/mongo/mongodbQuerier.js.map +1 -0
- package/dist/mongo/mongodbQuerierPool.d.ts +1 -0
- package/dist/mongo/mongodbQuerierPool.d.ts.map +1 -0
- package/dist/mongo/mongodbQuerierPool.js +1 -1
- package/dist/mongo/mongodbQuerierPool.js.map +1 -0
- package/dist/mysql/index.d.ts +1 -0
- package/dist/mysql/index.d.ts.map +1 -0
- package/dist/mysql/index.js +1 -1
- package/dist/mysql/index.js.map +1 -0
- package/dist/mysql/mysql2Querier.d.ts +1 -0
- package/dist/mysql/mysql2Querier.d.ts.map +1 -0
- package/dist/mysql/mysql2Querier.js +1 -1
- package/dist/mysql/mysql2Querier.js.map +1 -0
- package/dist/mysql/mysql2QuerierPool.d.ts +1 -0
- package/dist/mysql/mysql2QuerierPool.d.ts.map +1 -0
- package/dist/mysql/mysql2QuerierPool.js +1 -1
- package/dist/mysql/mysql2QuerierPool.js.map +1 -0
- package/dist/mysql/mysqlDialect.d.ts +1 -0
- package/dist/mysql/mysqlDialect.d.ts.map +1 -0
- package/dist/mysql/mysqlDialect.js +1 -1
- package/dist/mysql/mysqlDialect.js.map +1 -0
- package/dist/namingStrategy/defaultNamingStrategy.d.ts +1 -0
- package/dist/namingStrategy/defaultNamingStrategy.d.ts.map +1 -0
- package/dist/namingStrategy/defaultNamingStrategy.js +1 -1
- package/dist/namingStrategy/defaultNamingStrategy.js.map +1 -0
- package/dist/namingStrategy/index.d.ts +1 -0
- package/dist/namingStrategy/index.d.ts.map +1 -0
- package/dist/namingStrategy/index.js +1 -1
- package/dist/namingStrategy/index.js.map +1 -0
- package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts +1 -0
- package/dist/namingStrategy/snakeCaseNamingStrategy.d.ts.map +1 -0
- package/dist/namingStrategy/snakeCaseNamingStrategy.js +1 -1
- package/dist/namingStrategy/snakeCaseNamingStrategy.js.map +1 -0
- package/dist/options.d.ts +1 -0
- package/dist/options.d.ts.map +1 -0
- package/dist/options.js +1 -1
- package/dist/options.js.map +1 -0
- package/dist/postgres/index.d.ts +1 -0
- package/dist/postgres/index.d.ts.map +1 -0
- package/dist/postgres/index.js +1 -1
- package/dist/postgres/index.js.map +1 -0
- package/dist/postgres/pgQuerier.d.ts +1 -0
- package/dist/postgres/pgQuerier.d.ts.map +1 -0
- package/dist/postgres/pgQuerier.js +1 -1
- package/dist/postgres/pgQuerier.js.map +1 -0
- package/dist/postgres/pgQuerierPool.d.ts +1 -0
- package/dist/postgres/pgQuerierPool.d.ts.map +1 -0
- package/dist/postgres/pgQuerierPool.js +1 -1
- package/dist/postgres/pgQuerierPool.js.map +1 -0
- package/dist/postgres/postgresDialect.d.ts +1 -0
- package/dist/postgres/postgresDialect.d.ts.map +1 -0
- package/dist/postgres/postgresDialect.js +1 -1
- package/dist/postgres/postgresDialect.js.map +1 -0
- package/dist/querier/abstractQuerier.d.ts +1 -0
- package/dist/querier/abstractQuerier.d.ts.map +1 -0
- package/dist/querier/abstractQuerier.js +1 -1
- package/dist/querier/abstractQuerier.js.map +1 -0
- package/dist/querier/abstractQuerierPool.d.ts +1 -0
- package/dist/querier/abstractQuerierPool.d.ts.map +1 -0
- package/dist/querier/abstractQuerierPool.js +1 -1
- package/dist/querier/abstractQuerierPool.js.map +1 -0
- package/dist/querier/abstractSqlQuerier.d.ts +1 -0
- package/dist/querier/abstractSqlQuerier.d.ts.map +1 -0
- package/dist/querier/abstractSqlQuerier.js +1 -1
- package/dist/querier/abstractSqlQuerier.js.map +1 -0
- package/dist/querier/decorator/index.d.ts +1 -0
- package/dist/querier/decorator/index.d.ts.map +1 -0
- package/dist/querier/decorator/index.js +1 -1
- package/dist/querier/decorator/index.js.map +1 -0
- package/dist/querier/decorator/injectQuerier.d.ts +1 -0
- package/dist/querier/decorator/injectQuerier.d.ts.map +1 -0
- package/dist/querier/decorator/injectQuerier.js +1 -1
- package/dist/querier/decorator/injectQuerier.js.map +1 -0
- package/dist/querier/decorator/serialized.d.ts +1 -0
- package/dist/querier/decorator/serialized.d.ts.map +1 -0
- package/dist/querier/decorator/serialized.js +1 -1
- package/dist/querier/decorator/serialized.js.map +1 -0
- package/dist/querier/decorator/transactional.d.ts +1 -0
- package/dist/querier/decorator/transactional.d.ts.map +1 -0
- package/dist/querier/decorator/transactional.js +1 -1
- package/dist/querier/decorator/transactional.js.map +1 -0
- package/dist/querier/index.d.ts +1 -0
- package/dist/querier/index.d.ts.map +1 -0
- package/dist/querier/index.js +1 -1
- package/dist/querier/index.js.map +1 -0
- package/dist/repository/genericRepository.d.ts +1 -0
- package/dist/repository/genericRepository.d.ts.map +1 -0
- package/dist/repository/genericRepository.js +1 -1
- package/dist/repository/genericRepository.js.map +1 -0
- package/dist/repository/index.d.ts +1 -0
- package/dist/repository/index.d.ts.map +1 -0
- package/dist/repository/index.js +1 -1
- package/dist/repository/index.js.map +1 -0
- package/dist/sqlite/index.d.ts +1 -0
- package/dist/sqlite/index.d.ts.map +1 -0
- package/dist/sqlite/index.js +1 -1
- package/dist/sqlite/index.js.map +1 -0
- package/dist/sqlite/sqliteDialect.d.ts +1 -0
- package/dist/sqlite/sqliteDialect.d.ts.map +1 -0
- package/dist/sqlite/sqliteDialect.js +1 -1
- package/dist/sqlite/sqliteDialect.js.map +1 -0
- package/dist/sqlite/sqliteQuerier.d.ts +1 -0
- package/dist/sqlite/sqliteQuerier.d.ts.map +1 -0
- package/dist/sqlite/sqliteQuerier.js +1 -1
- package/dist/sqlite/sqliteQuerier.js.map +1 -0
- package/dist/sqlite/sqliteQuerierPool.d.ts +1 -0
- package/dist/sqlite/sqliteQuerierPool.d.ts.map +1 -0
- package/dist/sqlite/sqliteQuerierPool.js +1 -1
- package/dist/sqlite/sqliteQuerierPool.js.map +1 -0
- package/dist/type/entity.d.ts +1 -0
- package/dist/type/entity.d.ts.map +1 -0
- package/dist/type/entity.js +1 -1
- package/dist/type/entity.js.map +1 -0
- package/dist/type/index.d.ts +1 -0
- package/dist/type/index.d.ts.map +1 -0
- package/dist/type/index.js +1 -1
- package/dist/type/index.js.map +1 -0
- package/dist/type/migration.d.ts +1 -0
- package/dist/type/migration.d.ts.map +1 -0
- package/dist/type/migration.js +1 -1
- package/dist/type/migration.js.map +1 -0
- package/dist/type/namingStrategy.d.ts +1 -0
- package/dist/type/namingStrategy.d.ts.map +1 -0
- package/dist/type/namingStrategy.js +1 -1
- package/dist/type/namingStrategy.js.map +1 -0
- package/dist/type/querier.d.ts +1 -0
- package/dist/type/querier.d.ts.map +1 -0
- package/dist/type/querier.js +1 -1
- package/dist/type/querier.js.map +1 -0
- package/dist/type/querierPool.d.ts +1 -0
- package/dist/type/querierPool.d.ts.map +1 -0
- package/dist/type/querierPool.js +1 -1
- package/dist/type/querierPool.js.map +1 -0
- package/dist/type/query.d.ts +1 -0
- package/dist/type/query.d.ts.map +1 -0
- package/dist/type/query.js +1 -1
- package/dist/type/query.js.map +1 -0
- package/dist/type/repository.d.ts +1 -0
- package/dist/type/repository.d.ts.map +1 -0
- package/dist/type/repository.js +1 -1
- package/dist/type/repository.js.map +1 -0
- package/dist/type/universalQuerier.d.ts +1 -0
- package/dist/type/universalQuerier.d.ts.map +1 -0
- package/dist/type/universalQuerier.js +1 -1
- package/dist/type/universalQuerier.js.map +1 -0
- package/dist/type/utility.d.ts +1 -0
- package/dist/type/utility.d.ts.map +1 -0
- package/dist/type/utility.js +1 -1
- package/dist/type/utility.js.map +1 -0
- package/dist/util/dialect.util.d.ts +1 -0
- package/dist/util/dialect.util.d.ts.map +1 -0
- package/dist/util/dialect.util.js +1 -1
- package/dist/util/dialect.util.js.map +1 -0
- package/dist/util/index.d.ts +1 -0
- package/dist/util/index.d.ts.map +1 -0
- package/dist/util/index.js +1 -1
- package/dist/util/index.js.map +1 -0
- package/dist/util/object.util.d.ts +1 -0
- package/dist/util/object.util.d.ts.map +1 -0
- package/dist/util/object.util.js +1 -1
- package/dist/util/object.util.js.map +1 -0
- package/dist/util/raw.d.ts +1 -0
- package/dist/util/raw.d.ts.map +1 -0
- package/dist/util/raw.js +1 -1
- package/dist/util/raw.js.map +1 -0
- package/dist/util/sql.util.d.ts +1 -0
- package/dist/util/sql.util.d.ts.map +1 -0
- package/dist/util/sql.util.js +1 -1
- package/dist/util/sql.util.js.map +1 -0
- package/dist/util/string.util.d.ts +1 -0
- package/dist/util/string.util.d.ts.map +1 -0
- package/dist/util/string.util.js +1 -1
- package/dist/util/string.util.js.map +1 -0
- package/package.json +3 -2
- package/dist/maria/mariaQuerierPool.test.d.ts +0 -5
- package/dist/maria/mariaQuerierPool.test.js +0 -19
- package/dist/maria/mariadbQuerier.test.d.ts +0 -4
- package/dist/maria/mariadbQuerier.test.js +0 -19
- package/dist/migrate/migrator-mongo.test.d.ts +0 -1
- package/dist/migrate/migrator-mongo.test.js +0 -54
- package/dist/migrate/migrator.test.d.ts +0 -1
- package/dist/migrate/migrator.test.js +0 -106
- package/dist/mongo/mongodbQuerier.test.d.ts +0 -1
- package/dist/mongo/mongodbQuerier.test.js +0 -36
- package/dist/mongo/mongodbQuerierPool.test.d.ts +0 -1
- package/dist/mongo/mongodbQuerierPool.test.js +0 -21
- package/dist/mysql/mysql2Querier.test.d.ts +0 -4
- package/dist/mysql/mysql2Querier.test.js +0 -16
- package/dist/mysql/mysql2QuerierPool.test.d.ts +0 -5
- package/dist/mysql/mysql2QuerierPool.test.js +0 -16
- package/dist/postgres/pgQuerier.test.d.ts +0 -4
- package/dist/postgres/pgQuerier.test.js +0 -20
- package/dist/postgres/pgQuerierPool.test.d.ts +0 -5
- package/dist/postgres/pgQuerierPool.test.js +0 -23
- package/dist/querier/abstractQuerier-test.d.ts +0 -45
- package/dist/querier/abstractQuerier-test.js +0 -461
- package/dist/querier/abstractQuerierPool-test.d.ts +0 -9
- package/dist/querier/abstractQuerierPool-test.js +0 -18
- package/dist/querier/abstractSqlQuerier-test.d.ts +0 -9
- package/dist/querier/abstractSqlQuerier-test.js +0 -16
- package/dist/sqlite/sqliteQuerier.test.d.ts +0 -5
- package/dist/sqlite/sqliteQuerier.test.js +0 -19
- package/dist/sqlite/sqliteQuerierPool.test.d.ts +0 -5
- package/dist/sqlite/sqliteQuerierPool.test.js +0 -10
- package/dist/test/entityMock.d.ts +0 -164
- package/dist/test/entityMock.js +0 -554
- package/dist/test/index.d.ts +0 -3
- package/dist/test/index.js +0 -4
- package/dist/test/it.util.d.ts +0 -4
- package/dist/test/it.util.js +0 -55
- package/dist/test/spec.util.d.ts +0 -14
- package/dist/test/spec.util.js +0 -50
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrate/index.ts"],"names":[],"mappings":"AAIA,YAAY,EACV,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,eAAe,EACf,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,IAAI,sBAAsB,GAC/C,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC1G,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/migrate/index.js
CHANGED
|
@@ -14,4 +14,4 @@ export { AbstractSchemaGenerator } from './schemaGenerator.js';
|
|
|
14
14
|
// Storage implementations
|
|
15
15
|
export { DatabaseMigrationStorage } from './storage/databaseStorage.js';
|
|
16
16
|
export { JsonMigrationStorage } from './storage/jsonStorage.js';
|
|
17
|
-
//# sourceMappingURL=
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrate/index.ts"],"names":[],"mappings":"AAAA,aAAa;AAuBb,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,IAAI,sBAAsB,GAC/C,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,uBAAuB;AACvB,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC1G,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,gBAAgB;AAChB,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC1D,oBAAoB;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,0BAA0B;AAC1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/migrate/introspection/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC5F,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC"}
|
|
@@ -2,4 +2,4 @@ export * from './mongoIntrospector.js';
|
|
|
2
2
|
export { MariadbSchemaIntrospector, MysqlSchemaIntrospector } from './mysqlIntrospector.js';
|
|
3
3
|
export * from './postgresIntrospector.js';
|
|
4
4
|
export * from './sqliteIntrospector.js';
|
|
5
|
-
//# sourceMappingURL=
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrate/introspection/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC5F,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongoIntrospector.d.ts","sourceRoot":"","sources":["../../../src/migrate/introspection/mongoIntrospector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEtG,qBAAa,uBAAwB,YAAW,kBAAkB;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAE/C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IA0BnE,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAWlC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAIvD"}
|
|
@@ -43,4 +43,4 @@ export class MongoSchemaIntrospector {
|
|
|
43
43
|
return names.includes(tableName);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
//# sourceMappingURL=
|
|
46
|
+
//# sourceMappingURL=mongoIntrospector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongoIntrospector.js","sourceRoot":"","sources":["../../../src/migrate/introspection/mongoIntrospector.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,uBAAuB;IACL;IAA7B,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAEzD,KAAK,CAAC,cAAc,CAAC,SAAiB;QACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,EAAE,EAAE,EAAE,GAAG,OAAuB,CAAC;YACvC,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YAC5E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,sEAAsE;YACtE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YAEzD,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,EAAE,EAAE,iCAAiC;gBAC9C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;oBAClC,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;oBAC7B,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;iBACrB,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,EAAE,EAAE,EAAE,GAAG,OAAuB,CAAC;YACvC,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,CAAC;YACzD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAiB;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;CACF"}
|
|
@@ -23,3 +23,4 @@ export declare class MysqlSchemaIntrospector implements SchemaIntrospector {
|
|
|
23
23
|
* MariaDB uses the same information_schema structure as MySQL.
|
|
24
24
|
*/
|
|
25
25
|
export declare const MariadbSchemaIntrospector: typeof MysqlSchemaIntrospector;
|
|
26
|
+
//# sourceMappingURL=mysqlIntrospector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mysqlIntrospector.d.ts","sourceRoot":"","sources":["../../../src/migrate/introspection/mysqlIntrospector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,WAAW,EACX,kBAAkB,EAElB,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAG7B;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,kBAAkB;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAE/C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IA4BnE,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAmBlC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAUxC,mBAAmB;YAYnB,UAAU;YAWV,UAAU;YAiDV,UAAU;YA2BV,cAAc;YAuCd,aAAa;IAmB3B,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,0BAA0B;CAcnC;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,gCAA0B,CAAC"}
|
|
@@ -217,4 +217,4 @@ export class MysqlSchemaIntrospector {
|
|
|
217
217
|
* MariaDB uses the same information_schema structure as MySQL.
|
|
218
218
|
*/
|
|
219
219
|
export const MariadbSchemaIntrospector = MysqlSchemaIntrospector;
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXlzcWxJbnRyb3NwZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWlncmF0ZS9pbnRyb3NwZWN0aW9uL215c3FsSW50cm9zcGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVuRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ0w7SUFBN0IsWUFBNkIsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBRyxDQUFDO0lBRXpELEtBQUssQ0FBQyxjQUFjLENBQUMsU0FBaUI7UUFDcEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFeEMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDWixPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1lBRUQsTUFBTSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztnQkFDcEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDO2dCQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDO2FBQ3ZDLENBQUMsQ0FBQztZQUVILE9BQU87Z0JBQ0wsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTztnQkFDUCxVQUFVO2dCQUNWLE9BQU87Z0JBQ1AsV0FBVzthQUNaLENBQUM7UUFDSixDQUFDO2dCQUFTLENBQUM7WUFDVCxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhO1FBQ2pCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRXhDLElBQUksQ0FBQztZQUNILE1BQU0sR0FBRyxHQUFHOzs7Ozs7T0FNWCxDQUFDO1lBRUYsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUF5QixHQUFHLENBQUMsQ0FBQztZQUMvRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQyxDQUFDO2dCQUFTLENBQUM7WUFDVCxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBaUI7UUFDakMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFeEMsSUFBSSxDQUFDO1lBQ0gsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3RELENBQUM7Z0JBQVMsQ0FBQztZQUNULE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQW1CLEVBQUUsU0FBaUI7UUFDdEUsTUFBTSxHQUFHLEdBQUc7Ozs7O0tBS1gsQ0FBQztRQUVGLE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBb0IsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN2RSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLEtBQUssQ0FBQyxVQUFVO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVwRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFtQixFQUFFLFNBQWlCO1FBQzdELE1BQU0sR0FBRyxHQUFHOzs7Ozs7Ozs7Ozs7Ozs7OztLQWlCWCxDQUFDO1FBRUYsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQVk5QixHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBRXJCLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNoQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFdBQVc7WUFDckIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFO1lBQ2pDLFFBQVEsRUFBRSxHQUFHLENBQUMsV0FBVyxLQUFLLEtBQUs7WUFDbkMsWUFBWSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1lBQ3hELFlBQVksRUFBRSxHQUFHLENBQUMsVUFBVSxLQUFLLEtBQUs7WUFDdEMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1lBQ25FLFFBQVEsRUFBRSxHQUFHLENBQUMsVUFBVSxLQUFLLEtBQUs7WUFDbEMsTUFBTSxFQUFFLEdBQUcsQ0FBQyx3QkFBd0IsSUFBSSxTQUFTO1lBQ2pELFNBQVMsRUFBRSxHQUFHLENBQUMsaUJBQWlCLElBQUksU0FBUztZQUM3QyxLQUFLLEVBQUUsR0FBRyxDQUFDLGFBQWEsSUFBSSxTQUFTO1lBQ3JDLE9BQU8sRUFBRSxHQUFHLENBQUMsY0FBYyxJQUFJLFNBQVM7U0FDekMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFtQixFQUFFLFNBQWlCO1FBQzdELE1BQU0sR0FBRyxHQUFHOzs7Ozs7Ozs7OztLQVdYLENBQUM7UUFFRixNQUFNLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBSTlCLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFFckIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hDLElBQUksRUFBRSxHQUFHLENBQUMsVUFBVTtZQUNwQixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1lBQy9CLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztTQUMvQixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFTyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQW1CLEVBQUUsU0FBaUI7UUFDakUsTUFBTSxHQUFHLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaUJYLENBQUM7UUFFRixNQUFNLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBTzlCLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFFckIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hDLElBQUksRUFBRSxHQUFHLENBQUMsZUFBZTtZQUN6QixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1lBQy9CLGVBQWUsRUFBRSxHQUFHLENBQUMsZ0JBQWdCO1lBQ3JDLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1lBQ3BELFFBQVEsRUFBRSxJQUFJLENBQUMsMEJBQTBCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztZQUMxRCxRQUFRLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7U0FDM0QsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRU8sS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFtQixFQUFFLFNBQWlCO1FBQ2hFLE1BQU0sR0FBRyxHQUFHOzs7Ozs7O0tBT1gsQ0FBQztRQUVGLE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBMEIsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUU3RSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxZQUEyQjtRQUNuRCxJQUFJLFlBQVksS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUMxQixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsNEJBQTRCO1FBQzVCLElBQUksWUFBWSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELElBQUksWUFBWSxLQUFLLG1CQUFtQixFQUFFLENBQUM7WUFDekMsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQztRQUNELElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDakMsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBQ0QsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDdEMsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRU8sMEJBQTBCLENBQUMsTUFBYztRQUMvQyxRQUFRLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQzdCLEtBQUssU0FBUztnQkFDWixPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLFVBQVU7Z0JBQ2IsT0FBTyxVQUFVLENBQUM7WUFDcEIsS0FBSyxVQUFVO2dCQUNiLE9BQU8sVUFBVSxDQUFDO1lBQ3BCLEtBQUssV0FBVztnQkFDZCxPQUFPLFdBQVcsQ0FBQztZQUNyQjtnQkFDRSxPQUFPLFNBQVMsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIENvbHVtblNjaGVtYSxcbiAgRm9yZWlnbktleVNjaGVtYSxcbiAgSW5kZXhTY2hlbWEsXG4gIFF1ZXJpZXJQb29sLFxuICBTY2hlbWFJbnRyb3NwZWN0b3IsXG4gIFNxbFF1ZXJpZXIsXG4gIFRhYmxlU2NoZW1hLFxufSBmcm9tICcuLi8uLi90eXBlL2luZGV4LmpzJztcbmltcG9ydCB7IGlzU3FsUXVlcmllciB9IGZyb20gJy4uLy4uL3R5cGUvaW5kZXguanMnO1xuXG4vKipcbiAqIE15U1FML01hcmlhREIgc2NoZW1hIGludHJvc3BlY3Rvci5cbiAqIFdvcmtzIHdpdGggYm90aCBNeVNRTCBhbmQgTWFyaWFEQiBhcyB0aGV5IHNoYXJlIHRoZSBzYW1lIGluZm9ybWF0aW9uX3NjaGVtYSBzdHJ1Y3R1cmUuXG4gKi9cbmV4cG9ydCBjbGFzcyBNeXNxbFNjaGVtYUludHJvc3BlY3RvciBpbXBsZW1lbnRzIFNjaGVtYUludHJvc3BlY3RvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcXVlcmllclBvb2w6IFF1ZXJpZXJQb29sKSB7fVxuXG4gIGFzeW5jIGdldFRhYmxlU2NoZW1hKHRhYmxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxUYWJsZVNjaGVtYSB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHF1ZXJpZXIgPSBhd2FpdCB0aGlzLmdldFF1ZXJpZXIoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBleGlzdHMgPSBhd2FpdCB0aGlzLnRhYmxlRXhpc3RzSW50ZXJuYWwocXVlcmllciwgdGFibGVOYW1lKTtcbiAgICAgIGlmICghZXhpc3RzKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IFtjb2x1bW5zLCBpbmRleGVzLCBmb3JlaWduS2V5cywgcHJpbWFyeUtleV0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgIHRoaXMuZ2V0Q29sdW1ucyhxdWVyaWVyLCB0YWJsZU5hbWUpLFxuICAgICAgICB0aGlzLmdldEluZGV4ZXMocXVlcmllciwgdGFibGVOYW1lKSxcbiAgICAgICAgdGhpcy5nZXRGb3JlaWduS2V5cyhxdWVyaWVyLCB0YWJsZU5hbWUpLFxuICAgICAgICB0aGlzLmdldFByaW1hcnlLZXkocXVlcmllciwgdGFibGVOYW1lKSxcbiAgICAgIF0pO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiB0YWJsZU5hbWUsXG4gICAgICAgIGNvbHVtbnMsXG4gICAgICAgIHByaW1hcnlLZXksXG4gICAgICAgIGluZGV4ZXMsXG4gICAgICAgIGZvcmVpZ25LZXlzLFxuICAgICAgfTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgcXVlcmllci5yZWxlYXNlKCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZ2V0VGFibGVOYW1lcygpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgY29uc3QgcXVlcmllciA9IGF3YWl0IHRoaXMuZ2V0UXVlcmllcigpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNxbCA9IGBcbiAgICAgICAgU0VMRUNUIFRBQkxFX05BTUUgYXMgdGFibGVfbmFtZVxuICAgICAgICBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5UQUJMRVNcbiAgICAgICAgV0hFUkUgVEFCTEVfU0NIRU1BID0gREFUQUJBU0UoKVxuICAgICAgICAgIEFORCBUQUJMRV9UWVBFID0gJ0JBU0UgVEFCTEUnXG4gICAgICAgIE9SREVSIEJZIFRBQkxFX05BTUVcbiAgICAgIGA7XG5cbiAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBxdWVyaWVyLmFsbDx7IHRhYmxlX25hbWU6IHN0cmluZyB9PihzcWwpO1xuICAgICAgcmV0dXJuIHJlc3VsdHMubWFwKChyOiBhbnkpID0+IHIudGFibGVfbmFtZSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHF1ZXJpZXIucmVsZWFzZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHRhYmxlRXhpc3RzKHRhYmxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgcXVlcmllciA9IGF3YWl0IHRoaXMuZ2V0UXVlcmllcigpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLnRhYmxlRXhpc3RzSW50ZXJuYWwocXVlcmllciwgdGFibGVOYW1lKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgcXVlcmllci5yZWxlYXNlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB0YWJsZUV4aXN0c0ludGVybmFsKHF1ZXJpZXI6IFNxbFF1ZXJpZXIsIHRhYmxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3Qgc3FsID0gYFxuICAgICAgU0VMRUNUIENPVU5UKCopIGFzIGNvdW50XG4gICAgICBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5UQUJMRVNcbiAgICAgIFdIRVJFIFRBQkxFX1NDSEVNQSA9IERBVEFCQVNFKClcbiAgICAgICAgQU5EIFRBQkxFX05BTUUgPSA/XG4gICAgYDtcblxuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBxdWVyaWVyLmFsbDx7IGNvdW50OiBudW1iZXIgfT4oc3FsLCBbdGFibGVOYW1lXSk7XG4gICAgcmV0dXJuIChyZXN1bHRzWzBdPy5jb3VudCA/PyAwKSA+IDA7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFF1ZXJpZXIoKTogUHJvbWlzZTxTcWxRdWVyaWVyPiB7XG4gICAgY29uc3QgcXVlcmllciA9IGF3YWl0IHRoaXMucXVlcmllclBvb2wuZ2V0UXVlcmllcigpO1xuXG4gICAgaWYgKCFpc1NxbFF1ZXJpZXIocXVlcmllcikpIHtcbiAgICAgIGF3YWl0IHF1ZXJpZXIucmVsZWFzZSgpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNeXNxbFNjaGVtYUludHJvc3BlY3RvciByZXF1aXJlcyBhIFNRTC1iYXNlZCBxdWVyaWVyJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHF1ZXJpZXI7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldENvbHVtbnMocXVlcmllcjogU3FsUXVlcmllciwgdGFibGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPENvbHVtblNjaGVtYVtdPiB7XG4gICAgY29uc3Qgc3FsID0gYFxuICAgICAgU0VMRUNUXG4gICAgICAgIENPTFVNTl9OQU1FIGFzIGNvbHVtbl9uYW1lLFxuICAgICAgICBEQVRBX1RZUEUgYXMgZGF0YV90eXBlLFxuICAgICAgICBDT0xVTU5fVFlQRSBhcyBjb2x1bW5fdHlwZSxcbiAgICAgICAgSVNfTlVMTEFCTEUgYXMgaXNfbnVsbGFibGUsXG4gICAgICAgIENPTFVNTl9ERUZBVUxUIGFzIGNvbHVtbl9kZWZhdWx0LFxuICAgICAgICBDSEFSQUNURVJfTUFYSU1VTV9MRU5HVEggYXMgY2hhcmFjdGVyX21heGltdW1fbGVuZ3RoLFxuICAgICAgICBOVU1FUklDX1BSRUNJU0lPTiBhcyBudW1lcmljX3ByZWNpc2lvbixcbiAgICAgICAgTlVNRVJJQ19TQ0FMRSBhcyBudW1lcmljX3NjYWxlLFxuICAgICAgICBDT0xVTU5fS0VZIGFzIGNvbHVtbl9rZXksXG4gICAgICAgIEVYVFJBIGFzIGV4dHJhLFxuICAgICAgICBDT0xVTU5fQ09NTUVOVCBhcyBjb2x1bW5fY29tbWVudFxuICAgICAgRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEuQ09MVU1OU1xuICAgICAgV0hFUkUgVEFCTEVfU0NIRU1BID0gREFUQUJBU0UoKVxuICAgICAgICBBTkQgVEFCTEVfTkFNRSA9ID9cbiAgICAgIE9SREVSIEJZIE9SRElOQUxfUE9TSVRJT05cbiAgICBgO1xuXG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHF1ZXJpZXIuYWxsPHtcbiAgICAgIGNvbHVtbl9uYW1lOiBzdHJpbmc7XG4gICAgICBkYXRhX3R5cGU6IHN0cmluZztcbiAgICAgIGNvbHVtbl90eXBlOiBzdHJpbmc7XG4gICAgICBpc19udWxsYWJsZTogc3RyaW5nO1xuICAgICAgY29sdW1uX2RlZmF1bHQ6IHN0cmluZyB8IG51bGw7XG4gICAgICBjaGFyYWN0ZXJfbWF4aW11bV9sZW5ndGg6IG51bWJlciB8IG51bGw7XG4gICAgICBudW1lcmljX3ByZWNpc2lvbjogbnVtYmVyIHwgbnVsbDtcbiAgICAgIG51bWVyaWNfc2NhbGU6IG51bWJlciB8IG51bGw7XG4gICAgICBjb2x1bW5fa2V5OiBzdHJpbmc7XG4gICAgICBleHRyYTogc3RyaW5nO1xuICAgICAgY29sdW1uX2NvbW1lbnQ6IHN0cmluZyB8IG51bGw7XG4gICAgfT4oc3FsLCBbdGFibGVOYW1lXSk7XG5cbiAgICByZXR1cm4gcmVzdWx0cy5tYXAoKHJvdzogYW55KSA9PiAoe1xuICAgICAgbmFtZTogcm93LmNvbHVtbl9uYW1lLFxuICAgICAgdHlwZTogcm93LmRhdGFfdHlwZS50b1VwcGVyQ2FzZSgpLFxuICAgICAgbnVsbGFibGU6IHJvdy5pc19udWxsYWJsZSA9PT0gJ1lFUycsXG4gICAgICBkZWZhdWx0VmFsdWU6IHRoaXMucGFyc2VEZWZhdWx0VmFsdWUocm93LmNvbHVtbl9kZWZhdWx0KSxcbiAgICAgIGlzUHJpbWFyeUtleTogcm93LmNvbHVtbl9rZXkgPT09ICdQUkknLFxuICAgICAgaXNBdXRvSW5jcmVtZW50OiByb3cuZXh0cmEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnYXV0b19pbmNyZW1lbnQnKSxcbiAgICAgIGlzVW5pcXVlOiByb3cuY29sdW1uX2tleSA9PT0gJ1VOSScsXG4gICAgICBsZW5ndGg6IHJvdy5jaGFyYWN0ZXJfbWF4aW11bV9sZW5ndGggPz8gdW5kZWZpbmVkLFxuICAgICAgcHJlY2lzaW9uOiByb3cubnVtZXJpY19wcmVjaXNpb24gPz8gdW5kZWZpbmVkLFxuICAgICAgc2NhbGU6IHJvdy5udW1lcmljX3NjYWxlID8/IHVuZGVmaW5lZCxcbiAgICAgIGNvbW1lbnQ6IHJvdy5jb2x1bW5fY29tbWVudCB8fCB1bmRlZmluZWQsXG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRJbmRleGVzKHF1ZXJpZXI6IFNxbFF1ZXJpZXIsIHRhYmxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxJbmRleFNjaGVtYVtdPiB7XG4gICAgY29uc3Qgc3FsID0gYFxuICAgICAgU0VMRUNUXG4gICAgICAgIElOREVYX05BTUUgYXMgaW5kZXhfbmFtZSxcbiAgICAgICAgR1JPVVBfQ09OQ0FUKENPTFVNTl9OQU1FIE9SREVSIEJZIFNFUV9JTl9JTkRFWCkgYXMgY29sdW1ucyxcbiAgICAgICAgTk9UIE5PTl9VTklRVUUgYXMgaXNfdW5pcXVlXG4gICAgICBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5TVEFUSVNUSUNTXG4gICAgICBXSEVSRSBUQUJMRV9TQ0hFTUEgPSBEQVRBQkFTRSgpXG4gICAgICAgIEFORCBUQUJMRV9OQU1FID0gP1xuICAgICAgICBBTkQgSU5ERVhfTkFNRSAhPSAnUFJJTUFSWSdcbiAgICAgIEdST1VQIEJZIElOREVYX05BTUUsIE5PTl9VTklRVUVcbiAgICAgIE9SREVSIEJZIElOREVYX05BTUVcbiAgICBgO1xuXG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHF1ZXJpZXIuYWxsPHtcbiAgICAgIGluZGV4X25hbWU6IHN0cmluZztcbiAgICAgIGNvbHVtbnM6IHN0cmluZztcbiAgICAgIGlzX3VuaXF1ZTogbnVtYmVyO1xuICAgIH0+KHNxbCwgW3RhYmxlTmFtZV0pO1xuXG4gICAgcmV0dXJuIHJlc3VsdHMubWFwKChyb3c6IGFueSkgPT4gKHtcbiAgICAgIG5hbWU6IHJvdy5pbmRleF9uYW1lLFxuICAgICAgY29sdW1uczogcm93LmNvbHVtbnMuc3BsaXQoJywnKSxcbiAgICAgIHVuaXF1ZTogQm9vbGVhbihyb3cuaXNfdW5pcXVlKSxcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEZvcmVpZ25LZXlzKHF1ZXJpZXI6IFNxbFF1ZXJpZXIsIHRhYmxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxGb3JlaWduS2V5U2NoZW1hW10+IHtcbiAgICBjb25zdCBzcWwgPSBgXG4gICAgICBTRUxFQ1RcbiAgICAgICAga2N1LkNPTlNUUkFJTlRfTkFNRSBhcyBjb25zdHJhaW50X25hbWUsXG4gICAgICAgIEdST1VQX0NPTkNBVChrY3UuQ09MVU1OX05BTUUgT1JERVIgQlkga2N1Lk9SRElOQUxfUE9TSVRJT04pIGFzIGNvbHVtbnMsXG4gICAgICAgIGtjdS5SRUZFUkVOQ0VEX1RBQkxFX05BTUUgYXMgcmVmZXJlbmNlZF90YWJsZSxcbiAgICAgICAgR1JPVVBfQ09OQ0FUKGtjdS5SRUZFUkVOQ0VEX0NPTFVNTl9OQU1FIE9SREVSIEJZIGtjdS5PUkRJTkFMX1BPU0lUSU9OKSBhcyByZWZlcmVuY2VkX2NvbHVtbnMsXG4gICAgICAgIHJjLkRFTEVURV9SVUxFIGFzIGRlbGV0ZV9ydWxlLFxuICAgICAgICByYy5VUERBVEVfUlVMRSBhcyB1cGRhdGVfcnVsZVxuICAgICAgRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEuS0VZX0NPTFVNTl9VU0FHRSBrY3VcbiAgICAgIEpPSU4gaW5mb3JtYXRpb25fc2NoZW1hLlJFRkVSRU5USUFMX0NPTlNUUkFJTlRTIHJjXG4gICAgICAgIE9OIGtjdS5DT05TVFJBSU5UX05BTUUgPSByYy5DT05TVFJBSU5UX05BTUVcbiAgICAgICAgQU5EIGtjdS5UQUJMRV9TQ0hFTUEgPSByYy5DT05TVFJBSU5UX1NDSEVNQVxuICAgICAgV0hFUkUga2N1LlRBQkxFX1NDSEVNQSA9IERBVEFCQVNFKClcbiAgICAgICAgQU5EIGtjdS5UQUJMRV9OQU1FID0gP1xuICAgICAgICBBTkQga2N1LlJFRkVSRU5DRURfVEFCTEVfTkFNRSBJUyBOT1QgTlVMTFxuICAgICAgR1JPVVAgQlkga2N1LkNPTlNUUkFJTlRfTkFNRSwga2N1LlJFRkVSRU5DRURfVEFCTEVfTkFNRSwgcmMuREVMRVRFX1JVTEUsIHJjLlVQREFURV9SVUxFXG4gICAgICBPUkRFUiBCWSBrY3UuQ09OU1RSQUlOVF9OQU1FXG4gICAgYDtcblxuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBxdWVyaWVyLmFsbDx7XG4gICAgICBjb25zdHJhaW50X25hbWU6IHN0cmluZztcbiAgICAgIGNvbHVtbnM6IHN0cmluZztcbiAgICAgIHJlZmVyZW5jZWRfdGFibGU6IHN0cmluZztcbiAgICAgIHJlZmVyZW5jZWRfY29sdW1uczogc3RyaW5nO1xuICAgICAgZGVsZXRlX3J1bGU6IHN0cmluZztcbiAgICAgIHVwZGF0ZV9ydWxlOiBzdHJpbmc7XG4gICAgfT4oc3FsLCBbdGFibGVOYW1lXSk7XG5cbiAgICByZXR1cm4gcmVzdWx0cy5tYXAoKHJvdzogYW55KSA9PiAoe1xuICAgICAgbmFtZTogcm93LmNvbnN0cmFpbnRfbmFtZSxcbiAgICAgIGNvbHVtbnM6IHJvdy5jb2x1bW5zLnNwbGl0KCcsJyksXG4gICAgICByZWZlcmVuY2VkVGFibGU6IHJvdy5yZWZlcmVuY2VkX3RhYmxlLFxuICAgICAgcmVmZXJlbmNlZENvbHVtbnM6IHJvdy5yZWZlcmVuY2VkX2NvbHVtbnMuc3BsaXQoJywnKSxcbiAgICAgIG9uRGVsZXRlOiB0aGlzLm5vcm1hbGl6ZVJlZmVyZW50aWFsQWN0aW9uKHJvdy5kZWxldGVfcnVsZSksXG4gICAgICBvblVwZGF0ZTogdGhpcy5ub3JtYWxpemVSZWZlcmVudGlhbEFjdGlvbihyb3cudXBkYXRlX3J1bGUpLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0UHJpbWFyeUtleShxdWVyaWVyOiBTcWxRdWVyaWVyLCB0YWJsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10gfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBzcWwgPSBgXG4gICAgICBTRUxFQ1QgQ09MVU1OX05BTUUgYXMgY29sdW1uX25hbWVcbiAgICAgIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLktFWV9DT0xVTU5fVVNBR0VcbiAgICAgIFdIRVJFIFRBQkxFX1NDSEVNQSA9IERBVEFCQVNFKClcbiAgICAgICAgQU5EIFRBQkxFX05BTUUgPSA/XG4gICAgICAgIEFORCBDT05TVFJBSU5UX05BTUUgPSAnUFJJTUFSWSdcbiAgICAgIE9SREVSIEJZIE9SRElOQUxfUE9TSVRJT05cbiAgICBgO1xuXG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHF1ZXJpZXIuYWxsPHsgY29sdW1uX25hbWU6IHN0cmluZyB9PihzcWwsIFt0YWJsZU5hbWVdKTtcblxuICAgIGlmIChyZXN1bHRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0cy5tYXAoKHI6IGFueSkgPT4gci5jb2x1bW5fbmFtZSk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlRGVmYXVsdFZhbHVlKGRlZmF1bHRWYWx1ZTogc3RyaW5nIHwgbnVsbCk6IHVua25vd24ge1xuICAgIGlmIChkZWZhdWx0VmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgZm9yIGNvbW1vbiBwYXR0ZXJuc1xuICAgIGlmIChkZWZhdWx0VmFsdWUgPT09ICdOVUxMJykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmIChkZWZhdWx0VmFsdWUgPT09ICdDVVJSRU5UX1RJTUVTVEFNUCcpIHtcbiAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gICAgfVxuICAgIGlmICgvXicuKickLy50ZXN0KGRlZmF1bHRWYWx1ZSkpIHtcbiAgICAgIHJldHVybiBkZWZhdWx0VmFsdWUuc2xpY2UoMSwgLTEpO1xuICAgIH1cbiAgICBpZiAoL14tP1xcZCskLy50ZXN0KGRlZmF1bHRWYWx1ZSkpIHtcbiAgICAgIHJldHVybiBOdW1iZXIucGFyc2VJbnQoZGVmYXVsdFZhbHVlLCAxMCk7XG4gICAgfVxuICAgIGlmICgvXi0/XFxkK1xcLlxcZCskLy50ZXN0KGRlZmF1bHRWYWx1ZSkpIHtcbiAgICAgIHJldHVybiBOdW1iZXIucGFyc2VGbG9hdChkZWZhdWx0VmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZVJlZmVyZW50aWFsQWN0aW9uKGFjdGlvbjogc3RyaW5nKTogJ0NBU0NBREUnIHwgJ1NFVCBOVUxMJyB8ICdSRVNUUklDVCcgfCAnTk8gQUNUSU9OJyB8IHVuZGVmaW5lZCB7XG4gICAgc3dpdGNoIChhY3Rpb24udG9VcHBlckNhc2UoKSkge1xuICAgICAgY2FzZSAnQ0FTQ0FERSc6XG4gICAgICAgIHJldHVybiAnQ0FTQ0FERSc7XG4gICAgICBjYXNlICdTRVQgTlVMTCc6XG4gICAgICAgIHJldHVybiAnU0VUIE5VTEwnO1xuICAgICAgY2FzZSAnUkVTVFJJQ1QnOlxuICAgICAgICByZXR1cm4gJ1JFU1RSSUNUJztcbiAgICAgIGNhc2UgJ05PIEFDVElPTic6XG4gICAgICAgIHJldHVybiAnTk8gQUNUSU9OJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQWxpYXMgZm9yIE15c3FsU2NoZW1hSW50cm9zcGVjdG9yLlxuICogTWFyaWFEQiB1c2VzIHRoZSBzYW1lIGluZm9ybWF0aW9uX3NjaGVtYSBzdHJ1Y3R1cmUgYXMgTXlTUUwuXG4gKi9cbmV4cG9ydCBjb25zdCBNYXJpYWRiU2NoZW1hSW50cm9zcGVjdG9yID0gTXlzcWxTY2hlbWFJbnRyb3NwZWN0b3I7XG4iXX0=
|
|
220
|
+
//# sourceMappingURL=mysqlIntrospector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mysqlIntrospector.js","sourceRoot":"","sources":["../../../src/migrate/introspection/mysqlIntrospector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgresIntrospector.d.ts","sourceRoot":"","sources":["../../../src/migrate/introspection/postgresIntrospector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,WAAW,EACX,kBAAkB,EAElB,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAG7B;;GAEG;AACH,qBAAa,0BAA2B,YAAW,kBAAkB;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAE/C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IA4BnE,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAmBlC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAUxC,mBAAmB;YAanB,UAAU;YAWV,UAAU;YAsEV,UAAU;YAgCV,cAAc;YA6Cd,aAAa;IAsB3B,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,0BAA0B;CAcnC"}
|
|
@@ -266,4 +266,4 @@ export class PostgresSchemaIntrospector {
|
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdGdyZXNJbnRyb3NwZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWlncmF0ZS9pbnRyb3NwZWN0aW9uL3Bvc3RncmVzSW50cm9zcGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVuRDs7R0FFRztBQUNILE1BQU0sT0FBTywwQkFBMEI7SUFDUjtJQUE3QixZQUE2QixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7SUFFekQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxTQUFpQjtRQUNwQyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUV4QyxJQUFJLENBQUM7WUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNaLE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUM7WUFFRCxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO2dCQUNwRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDO2dCQUN2QyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUM7YUFDdkMsQ0FBQyxDQUFDO1lBRUgsT0FBTztnQkFDTCxJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPO2dCQUNQLFVBQVU7Z0JBQ1YsT0FBTztnQkFDUCxXQUFXO2FBQ1osQ0FB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QixLQUFLLFVBQVU7Z0JBQ2IsT0FBTyxVQUFVLENBQUM7WUFDcEIsS0FBSyxXQUFXO2dCQUNkLE9BQU8sV0FBVyxDQUFDO1lBQ3JCO2dCQUNFLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIENvbHVtblNjaGVtYSxcbiAgRm9yZWlnbktleVNjaGVtYSxcbiAgSW5kZXhTY2hlbWEsXG4gIFF1ZXJpZXJQb29sLFxuICBTY2hlbWFJbnRyb3NwZWN0b3IsXG4gIFNxbFF1ZXJpZXIsXG4gIFRhYmxlU2NoZW1hLFxufSBmcm9tICcuLi8uLi90eXBlL2luZGV4LmpzJztcbmltcG9ydCB7IGlzU3FsUXVlcmllciB9IGZyb20gJy4uLy4uL3R5cGUvaW5kZXguanMnO1xuXG4vKipcbiAqIFBvc3RncmVTUUwgc2NoZW1hIGludHJvc3BlY3RvclxuICovXG5leHBvcnQgY2xhc3MgUG9zdGdyZXNTY2hlbWFJbnRyb3NwZWN0b3IgaW1wbGVtZW50cyBTY2hlbWFJbnRyb3NwZWN0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHF1ZXJpZXJQb29sOiBRdWVyaWVyUG9vbCkge31cblxuICBhc3luYyBnZXRUYWJsZVNjaGVtYSh0YWJsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8VGFibGVTY2hlbWEgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBxdWVyaWVyID0gYXdhaXQgdGhpcy5nZXRRdWVyaWVyKCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgZXhpc3RzID0gYXdhaXQgdGhpcy50YWJsZUV4aXN0c0ludGVybmFsKHF1ZXJpZXIsIHRhYmxlTmFtZSk7XG4gICAgICBpZiAoIWV4aXN0cykge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBbY29sdW1ucywgaW5kZXhlcywgZm9yZWlnbktleXMsIHByaW1hcnlLZXldID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICB0aGlzLmdldENvbHVtbnMocXVlcmllciwgdGFibGVOYW1lKSxcbiAgICAgICAgdGhpcy5nZXRJbmRleGVzKHF1ZXJpZXIsIHRhYmxlTmFtZSksXG4gICAgICAgIHRoaXMuZ2V0Rm9yZWlnbktleXMocXVlcmllciwgdGFibGVOYW1lKSxcbiAgICAgICAgdGhpcy5nZXRQcmltYXJ5S2V5KHF1ZXJpZXIsIHRhYmxlTmFtZSksXG4gICAgICBdKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogdGFibGVOYW1lLFxuICAgICAgICBjb2x1bW5zLFxuICAgICAgICBwcmltYXJ5S2V5LFxuICAgICAgICBpbmRleGVzLFxuICAgICAgICBmb3JlaWduS2V5cyxcbiAgICAgIH07XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHF1ZXJpZXIucmVsZWFzZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGdldFRhYmxlTmFtZXMoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIGNvbnN0IHF1ZXJpZXIgPSBhd2FpdCB0aGlzLmdldFF1ZXJpZXIoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBzcWwgPSBgXG4gICAgICAgIFNFTEVDVCB0YWJsZV9uYW1lXG4gICAgICAgIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnRhYmxlc1xuICAgICAgICBXSEVSRSB0YWJsZV9zY2hlbWEgPSAncHVibGljJ1xuICAgICAgICAgIEFORCB0YWJsZV90eXBlID0gJ0JBU0UgVEFCTEUnXG4gICAgICAgIE9SREVSIEJZIHRhYmxlX25hbWVcbiAgICAgIGA7XG5cbiAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBxdWVyaWVyLmFsbDx7IHRhYmxlX25hbWU6IHN0cmluZyB9PihzcWwpO1xuICAgICAgcmV0dXJuIHJlc3VsdHMubWFwKChyOiBhbnkpID0+IHIudGFibGVfbmFtZSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHF1ZXJpZXIucmVsZWFzZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHRhYmxlRXhpc3RzKHRhYmxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgcXVlcmllciA9IGF3YWl0IHRoaXMuZ2V0UXVlcmllcigpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLnRhYmxlRXhpc3RzSW50ZXJuYWwocXVlcmllciwgdGFibGVOYW1lKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgcXVlcmllci5yZWxlYXNlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB0YWJsZUV4aXN0c0ludGVybmFsKHF1ZXJpZXI6IFNxbFF1ZXJpZXIsIHRhYmxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3Qgc3FsID0gYFxuICAgICAgU0VMRUNUIEVYSVNUUyAoXG4gICAgICAgIFNFTEVDVCBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS50YWJsZXNcbiAgICAgICAgV0hFUkUgdGFibGVfc2NoZW1hID0gJ3B1YmxpYydcbiAgICAgICAgICBBTkQgdGFibGVfbmFtZSA9ICQxXG4gICAgICApIEFTIGV4aXN0c1xuICAgIGA7XG5cbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgcXVlcmllci5hbGw8eyBleGlzdHM6IGJvb2xlYW4gfT4oc3FsLCBbdGFibGVOYW1lXSk7XG4gICAgcmV0dXJuIHJlc3VsdHNbMF0/LmV4aXN0cyA/PyBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0UXVlcmllcigpOiBQcm9taXNlPFNxbFF1ZXJpZXI+IHtcbiAgICBjb25zdCBxdWVyaWVyID0gYXdhaXQgdGhpcy5xdWVyaWVyUG9vbC5nZXRRdWVyaWVyKCk7XG5cbiAgICBpZiAoIWlzU3FsUXVlcmllcihxdWVyaWVyKSkge1xuICAgICAgYXdhaXQgcXVlcmllci5yZWxlYXNlKCk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Bvc3RncmVzU2NoZW1hSW50cm9zcGVjdG9yIHJlcXVpcmVzIGEgU1FMLWJhc2VkIHF1ZXJpZXInKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcXVlcmllcjtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0Q29sdW1ucyhxdWVyaWVyOiBTcWxRdWVyaWVyLCB0YWJsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8Q29sdW1uU2NoZW1hW10+IHtcbiAgICBjb25zdCBzcWwgPSAvKnNxbCovIGBcbiAgICAgIFNFTEVDVFxuICAgICAgICBjLmNvbHVtbl9uYW1lLFxuICAgICAgICBjLmRhdGFfdHlwZSxcbiAgICAgICAgYy51ZHRfbmFtZSxcbiAgICAgICAgYy5pc19udWxsYWJsZSxcbiAgICAgICAgYy5jb2x1bW5fZGVmYXVsdCxcbiAgICAgICAgYy5jaGFyYWN0ZXJfbWF4aW11bV9sZW5ndGgsXG4gICAgICAgIGMubnVtZXJpY19wcmVjaXNpb24sXG4gICAgICAgIGMubnVtZXJpY19zY2FsZSxcbiAgICAgICAgQ09BTEVTQ0UoXG4gICAgICAgICAgKFNFTEVDVCBUUlVFIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnRhYmxlX2NvbnN0cmFpbnRzIHRjXG4gICAgICAgICAgIEpPSU4gaW5mb3JtYXRpb25fc2NoZW1hLmtleV9jb2x1bW5fdXNhZ2Uga2N1XG4gICAgICAgICAgICAgT04gdGMuY29uc3RyYWludF9uYW1lID0ga2N1LmNvbnN0cmFpbnRfbmFtZVxuICAgICAgICAgICBXSEVSRSB0Yy50YWJsZV9uYW1lID0gYy50YWJsZV9uYW1lXG4gICAgICAgICAgICAgQU5EIHRjLmNvbnN0cmFpbnRfdHlwZSA9ICdQUklNQVJZIEtFWSdcbiAgICAgICAgICAgICBBTkQga2N1LmNvbHVtbl9uYW1lID0gYy5jb2x1bW5fbmFtZVxuICAgICAgICAgICBMSU1JVCAxKSxcbiAgICAgICAgICBGQUxTRVxuICAgICAgICApIEFTIGlzX3ByaW1hcnlfa2V5LFxuICAgICAgICBDT0FMRVNDRShcbiAgICAgICAgICAoU0VMRUNUIFRSVUUgRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudGFibGVfY29uc3RyYWludHMgdGNcbiAgICAgICAgICAgSk9JTiBpbmZvcm1hdGlvbl9zY2hlbWEua2V5X2NvbHVtbl91c2FnZSBrY3VcbiAgICAgICAgICAgICBPTiB0Yy5jb25zdHJhaW50X25hbWUgPSBrY3UuY29uc3RyYWludF9uYW1lXG4gICAgICAgICAgIFdIRVJFIHRjLnRhYmxlX25hbWUgPSBjLnRhYmxlX25hbWVcbiAgICAgICAgICAgICBBTkQgdGMuY29uc3RyYWludF90eXBlID0gJ1VOSVFVRSdcbiAgICAgICAgICAgICBBTkQga2N1LmNvbHVtbl9uYW1lID0gYy5jb2x1bW5fbmFtZVxuICAgICAgICAgICBMSU1JVCAxKSxcbiAgICAgICAgICBGQUxTRVxuICAgICAgICApIEFTIGlzX3VuaXF1ZSxcbiAgICAgICAgcGdfY2F0YWxvZy5jb2xfZGVzY3JpcHRpb24oXG4gICAgICAgICAgKFNFTEVDVCBvaWQgRlJPTSBwZ19jYXRhbG9nLnBnX2NsYXNzIFdIRVJFIHJlbG5hbWUgPSBjLnRhYmxlX25hbWUpLFxuICAgICAgICAgIGMub3JkaW5hbF9wb3NpdGlvblxuICAgICAgICApIEFTIGNvbHVtbl9jb21tZW50XG4gICAgICBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5jb2x1bW5zIGNcbiAgICAgIFdIRVJFIGMudGFibGVfc2NoZW1hID0gJ3B1YmxpYydcbiAgICAgICAgQU5EIGMudGFibGVfbmFtZSA9ICQxXG4gICAgICBPUkRFUiBCWSBjLm9yZGluYWxfcG9zaXRpb25cbiAgICBgO1xuXG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHF1ZXJpZXIuYWxsPHtcbiAgICAgIGNvbHVtbl9uYW1lOiBzdHJpbmc7XG4gICAgICBkYXRhX3R5cGU6IHN0cmluZztcbiAgICAgIHVkdF9uYW1lOiBzdHJpbmc7XG4gICAgICBpc19udWxsYWJsZTogc3RyaW5nO1xuICAgICAgY29sdW1uX2RlZmF1bHQ6IHN0cmluZyB8IG51bGw7XG4gICAgICBjaGFyYWN0ZXJfbWF4aW11bV9sZW5ndGg6IG51bWJlciB8IG51bGw7XG4gICAgICBudW1lcmljX3ByZWNpc2lvbjogbnVtYmVyIHwgbnVsbDtcbiAgICAgIG51bWVyaWNfc2NhbGU6IG51bWJlciB8IG51bGw7XG4gICAgICBpc19wcmltYXJ5X2tleTogYm9vbGVhbjtcbiAgICAgIGlzX3VuaXF1ZTogYm9vbGVhbjtcbiAgICAgIGNvbHVtbl9jb21tZW50OiBzdHJpbmcgfCBudWxsO1xuICAgIH0+KHNxbCwgW3RhYmxlTmFtZV0pO1xuXG4gICAgcmV0dXJuIHJlc3VsdHMubWFwKChyb3c6IGFueSkgPT4gKHtcbiAgICAgIG5hbWU6IHJvdy5jb2x1bW5fbmFtZSxcbiAgICAgIHR5cGU6IHRoaXMubm9ybWFsaXplVHlwZShyb3cuZGF0YV90eXBlLCByb3cudWR0X25hbWUpLFxuICAgICAgbnVsbGFibGU6IHJvdy5pc19udWxsYWJsZSA9PT0gJ1lFUycsXG4gICAgICBkZWZhdWx0VmFsdWU6IHRoaXMucGFyc2VEZWZhdWx0VmFsdWUocm93LmNvbHVtbl9kZWZhdWx0KSxcbiAgICAgIGlzUHJpbWFyeUtleTogcm93LmlzX3ByaW1hcnlfa2V5LFxuICAgICAgaXNBdXRvSW5jcmVtZW50OiB0aGlzLmlzQXV0b0luY3JlbWVudChyb3cuY29sdW1uX2RlZmF1bHQpLFxuICAgICAgaXNVbmlxdWU6IHJvdy5pc191bmlxdWUsXG4gICAgICBsZW5ndGg6IHJvdy5jaGFyYWN0ZXJfbWF4aW11bV9sZW5ndGggPz8gdW5kZWZpbmVkLFxuICAgICAgcHJlY2lzaW9uOiByb3cubnVtZXJpY19wcmVjaXNpb24gPz8gdW5kZWZpbmVkLFxuICAgICAgc2NhbGU6IHJvdy5udW1lcmljX3NjYWxlID8/IHVuZGVmaW5lZCxcbiAgICAgIGNvbW1lbnQ6IHJvdy5jb2x1bW5fY29tbWVudCA/PyB1bmRlZmluZWQsXG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRJbmRleGVzKHF1ZXJpZXI6IFNxbFF1ZXJpZXIsIHRhYmxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxJbmRleFNjaGVtYVtdPiB7XG4gICAgY29uc3Qgc3FsID0gLypzcWwqLyBgXG4gICAgICBTRUxFQ1RcbiAgICAgICAgaS5yZWxuYW1lIEFTIGluZGV4X25hbWUsXG4gICAgICAgIGFycmF5X2FnZyhhLmF0dG5hbWUgT1JERVIgQlkgay5uKSBBUyBjb2x1bW5zLFxuICAgICAgICBpeC5pbmRpc3VuaXF1ZSBBUyBpc191bmlxdWVcbiAgICAgIEZST00gcGdfY2xhc3MgdFxuICAgICAgSk9JTiBwZ19pbmRleCBpeCBPTiB0Lm9pZCA9IGl4LmluZHJlbGlkXG4gICAgICBKT0lOIHBnX2NsYXNzIGkgT04gaS5vaWQgPSBpeC5pbmRleHJlbGlkXG4gICAgICBKT0lOIHBnX25hbWVzcGFjZSBuIE9OIG4ub2lkID0gdC5yZWxuYW1lc3BhY2VcbiAgICAgIENST1NTIEpPSU4gTEFURVJBTCB1bm5lc3QoaXguaW5ka2V5KSBXSVRIIE9SRElOQUxJVFkgQVMgayhhdHRudW0sIG4pXG4gICAgICBKT0lOIHBnX2F0dHJpYnV0ZSBhIE9OIGEuYXR0cmVsaWQgPSB0Lm9pZCBBTkQgYS5hdHRudW0gPSBrLmF0dG51bVxuICAgICAgV0hFUkUgdC5yZWxuYW1lID0gJDFcbiAgICAgICAgQU5EIG4ubnNwbmFtZSA9ICdwdWJsaWMnXG4gICAgICAgIEFORCBOT1QgaXguaW5kaXNwcmltYXJ5XG4gICAgICBHUk9VUCBCWSBpLnJlbG5hbWUsIGl4LmluZGlzdW5pcXVlXG4gICAgICBPUkRFUiBCWSBpLnJlbG5hbWVcbiAgICBgO1xuXG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHF1ZXJpZXIuYWxsPHtcbiAgICAgIGluZGV4X25hbWU6IHN0cmluZztcbiAgICAgIGNvbHVtbnM6IHN0cmluZ1tdO1xuICAgICAgaXNfdW5pcXVlOiBib29sZWFuO1xuICAgIH0+KHNxbCwgW3RhYmxlTmFtZV0pO1xuXG4gICAgcmV0dXJuIHJlc3VsdHMubWFwKChyb3c6IGFueSkgPT4gKHtcbiAgICAgIG5hbWU6IHJvdy5pbmRleF9uYW1lLFxuICAgICAgY29sdW1uczogcm93LmNvbHVtbnMsXG4gICAgICB1bmlxdWU6IHJvdy5pc191bmlxdWUsXG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRGb3JlaWduS2V5cyhxdWVyaWVyOiBTcWxRdWVyaWVyLCB0YWJsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8Rm9yZWlnbktleVNjaGVtYVtdPiB7XG4gICAgY29uc3Qgc3FsID0gLypzcWwqLyBgXG4gICAgICBTRUxFQ1RcbiAgICAgICAgdGMuY29uc3RyYWludF9uYW1lLFxuICAgICAgICBhcnJheV9hZ2coa2N1LmNvbHVtbl9uYW1lIE9SREVSIEJZIGtjdS5vcmRpbmFsX3Bvc2l0aW9uKSBBUyBjb2x1bW5zLFxuICAgICAgICBjY3UudGFibGVfbmFtZSBBUyByZWZlcmVuY2VkX3RhYmxlLFxuICAgICAgICBhcnJheV9hZ2coY2N1LmNvbHVtbl9uYW1lIE9SREVSIEJZIGtjdS5vcmRpbmFsX3Bvc2l0aW9uKSBBUyByZWZlcmVuY2VkX2NvbHVtbnMsXG4gICAgICAgIHJjLmRlbGV0ZV9ydWxlLFxuICAgICAgICByYy51cGRhdGVfcnVsZVxuICAgICAgRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudGFibGVfY29uc3RyYWludHMgdGNcbiAgICAgIEpPSU4gaW5mb3JtYXRpb25fc2NoZW1hLmtleV9jb2x1bW5fdXNhZ2Uga2N1XG4gICAgICAgIE9OIHRjLmNvbnN0cmFpbnRfbmFtZSA9IGtjdS5jb25zdHJhaW50X25hbWVcbiAgICAgICAgQU5EIHRjLnRhYmxlX3NjaGVtYSA9IGtjdS50YWJsZV9zY2hlbWFcbiAgICAgIEpPSU4gaW5mb3JtYXRpb25fc2NoZW1hLmNvbnN0cmFpbnRfY29sdW1uX3VzYWdlIGNjdVxuICAgICAgICBPTiBjY3UuY29uc3RyYWludF9uYW1lID0gdGMuY29uc3RyYWludF9uYW1lXG4gICAgICAgIEFORCBjY3UudGFibGVfc2NoZW1hID0gdGMudGFibGVfc2NoZW1hXG4gICAgICBKT0lOIGluZm9ybWF0aW9uX3NjaGVtYS5yZWZlcmVudGlhbF9jb25zdHJhaW50cyByY1xuICAgICAgICBPTiByYy5jb25zdHJhaW50X25hbWUgPSB0Yy5jb25zdHJhaW50X25hbWVcbiAgICAgICAgQU5EIHJjLmNvbnN0cmFpbnRfc2NoZW1hID0gdGMudGFibGVfc2NoZW1hXG4gICAgICBXSEVSRSB0Yy5jb25zdHJhaW50X3R5cGUgPSAnRk9SRUlHTiBLRVknXG4gICAgICAgIEFORCB0Yy50YWJsZV9uYW1lID0gJDFcbiAgICAgICAgQU5EIHRjLnRhYmxlX3NjaGVtYSA9ICdwdWJsaWMnXG4gICAgICBHUk9VUCBCWSB0Yy5jb25zdHJhaW50X25hbWUsIGNjdS50YWJsZV9uYW1lLCByYy5kZWxldGVfcnVsZSwgcmMudXBkYXRlX3J1bGVcbiAgICAgIE9SREVSIEJZIHRjLmNvbnN0cmFpbnRfbmFtZVxuICAgIGA7XG5cbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgcXVlcmllci5hbGw8e1xuICAgICAgY29uc3RyYWludF9uYW1lOiBzdHJpbmc7XG4gICAgICBjb2x1bW5zOiBzdHJpbmdbXTtcbiAgICAgIHJlZmVyZW5jZWRfdGFibGU6IHN0cmluZztcbiAgICAgIHJlZmVyZW5jZWRfY29sdW1uczogc3RyaW5nW107XG4gICAgICBkZWxldGVfcnVsZTogc3RyaW5nO1xuICAgICAgdXBkYXRlX3J1bGU6IHN0cmluZztcbiAgICB9PihzcWwsIFt0YWJsZU5hbWVdKTtcblxuICAgIHJldHVybiByZXN1bHRzLm1hcCgocm93OiBhbnkpID0+ICh7XG4gICAgICBuYW1lOiByb3cuY29uc3RyYWludF9uYW1lLFxuICAgICAgY29sdW1uczogcm93LmNvbHVtbnMsXG4gICAgICByZWZlcmVuY2VkVGFibGU6IHJvdy5yZWZlcmVuY2VkX3RhYmxlLFxuICAgICAgcmVmZXJlbmNlZENvbHVtbnM6IHJvdy5yZWZlcmVuY2VkX2NvbHVtbnMsXG4gICAgICBvbkRlbGV0ZTogdGhpcy5ub3JtYWxpemVSZWZlcmVudGlhbEFjdGlvbihyb3cuZGVsZXRlX3J1bGUpLFxuICAgICAgb25VcGRhdGU6IHRoaXMubm9ybWFsaXplUmVmZXJlbnRpYWxBY3Rpb24ocm93LnVwZGF0ZV9ydWxlKSxcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFByaW1hcnlLZXkocXVlcmllcjogU3FsUXVlcmllciwgdGFibGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZ1tdIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3Qgc3FsID0gLypzcWwqLyBgXG4gICAgICBTRUxFQ1Qga2N1LmNvbHVtbl9uYW1lXG4gICAgICBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS50YWJsZV9jb25zdHJhaW50cyB0Y1xuICAgICAgSk9JTiBpbmZvcm1hdGlvbl9zY2hlbWEua2V5X2NvbHVtbl91c2FnZSBrY3VcbiAgICAgICAgT04gdGMuY29uc3RyYWludF9uYW1lID0ga2N1LmNvbnN0cmFpbnRfbmFtZVxuICAgICAgICBBTkQgdGMudGFibGVfc2NoZW1hID0ga2N1LnRhYmxlX3NjaGVtYVxuICAgICAgV0hFUkUgdGMuY29uc3RyYWludF90eXBlID0gJ1BSSU1BUlkgS0VZJ1xuICAgICAgICBBTkQgdGMudGFibGVfbmFtZSA9ICQxXG4gICAgICAgIEFORCB0Yy50YWJsZV9zY2hlbWEgPSAncHVibGljJ1xuICAgICAgT1JERVIgQlkga2N1Lm9yZGluYWxfcG9zaXRpb25cbiAgICBgO1xuXG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHF1ZXJpZXIuYWxsPHsgY29sdW1uX25hbWU6IHN0cmluZyB9PihzcWwsIFt0YWJsZU5hbWVdKTtcblxuICAgIGlmIChyZXN1bHRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0cy5tYXAoKHI6IGFueSkgPT4gci5jb2x1bW5fbmFtZSk7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZVR5cGUoZGF0YVR5cGU6IHN0cmluZywgdWR0TmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBIYW5kbGUgdXNlci1kZWZpbmVkIHR5cGVzIGFuZCBhcnJheXNcbiAgICBpZiAoZGF0YVR5cGUgPT09ICdVU0VSLURFRklORUQnKSB7XG4gICAgICByZXR1cm4gdWR0TmFtZS50b1VwcGVyQ2FzZSgpO1xuICAgIH1cbiAgICBpZiAoZGF0YVR5cGUgPT09ICdBUlJBWScpIHtcbiAgICAgIHJldHVybiBgJHt1ZHROYW1lLnJlcGxhY2UoL15fLywgJycpfVtdYDtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGFUeXBlLnRvVXBwZXJDYXNlKCk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlRGVmYXVsdFZhbHVlKGRlZmF1bHRWYWx1ZTogc3RyaW5nIHwgbnVsbCk6IHVua25vd24ge1xuICAgIGlmICghZGVmYXVsdFZhbHVlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSB0eXBlIGNhc3RpbmdcbiAgICBjb25zdCBjbGVhbmVkID0gZGVmYXVsdFZhbHVlLnJlcGxhY2UoLzo6W2Etel9dKyhcXFtcXF0pPy9naSwgJycpLnRyaW0oKTtcblxuICAgIC8vIENoZWNrIGZvciBjb21tb24gcGF0dGVybnNcbiAgICBpZiAoY2xlYW5lZC5zdGFydHNXaXRoKFwiJ1wiKSAmJiBjbGVhbmVkLmVuZHNXaXRoKFwiJ1wiKSkge1xuICAgICAgcmV0dXJuIGNsZWFuZWQuc2xpY2UoMSwgLTEpO1xuICAgIH1cbiAgICBpZiAoY2xlYW5lZCA9PT0gJ3RydWUnIHx8IGNsZWFuZWQgPT09ICdmYWxzZScpIHtcbiAgICAgIHJldHVybiBjbGVhbmVkID09PSAndHJ1ZSc7XG4gICAgfVxuICAgIGlmIChjbGVhbmVkID09PSAnTlVMTCcpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAoL14tP1xcZCskLy50ZXN0KGNsZWFuZWQpKSB7XG4gICAgICByZXR1cm4gTnVtYmVyLnBhcnNlSW50KGNsZWFuZWQsIDEwKTtcbiAgICB9XG4gICAgaWYgKC9eLT9cXGQrXFwuXFxkKyQvLnRlc3QoY2xlYW5lZCkpIHtcbiAgICAgIHJldHVybiBOdW1iZXIucGFyc2VGbG9hdChjbGVhbmVkKTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm4gYXMtaXMgZm9yIGZ1bmN0aW9ucyBsaWtlIENVUlJFTlRfVElNRVNUQU1QLCBuZXh0dmFsKCksIGV0Yy5cbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0F1dG9JbmNyZW1lbnQoZGVmYXVsdFZhbHVlOiBzdHJpbmcgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgaWYgKCFkZWZhdWx0VmFsdWUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZS5pbmNsdWRlcygnbmV4dHZhbCgnKTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplUmVmZXJlbnRpYWxBY3Rpb24oYWN0aW9uOiBzdHJpbmcpOiAnQ0FTQ0FERScgfCAnU0VUIE5VTEwnIHwgJ1JFU1RSSUNUJyB8ICdOTyBBQ1RJT04nIHwgdW5kZWZpbmVkIHtcbiAgICBzd2l0Y2ggKGFjdGlvbi50b1VwcGVyQ2FzZSgpKSB7XG4gICAgICBjYXNlICdDQVNDQURFJzpcbiAgICAgICAgcmV0dXJuICdDQVNDQURFJztcbiAgICAgIGNhc2UgJ1NFVCBOVUxMJzpcbiAgICAgICAgcmV0dXJuICdTRVQgTlVMTCc7XG4gICAgICBjYXNlICdSRVNUUklDVCc6XG4gICAgICAgIHJldHVybiAnUkVTVFJJQ1QnO1xuICAgICAgY2FzZSAnTk8gQUNUSU9OJzpcbiAgICAgICAgcmV0dXJuICdOTyBBQ1RJT04nO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
269
|
+
//# sourceMappingURL=postgresIntrospector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgresIntrospector.js","sourceRoot":"","sources":["../../../src/migrate/introspection/postgresIntrospector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqliteIntrospector.d.ts","sourceRoot":"","sources":["../../../src/migrate/introspection/sqliteIntrospector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,WAAW,EACX,kBAAkB,EAElB,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAG7B;;GAEG;AACH,qBAAa,wBAAyB,YAAW,kBAAkB;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAE/C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IA4BnE,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAmBlC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAUxC,mBAAmB;YAYnB,UAAU;YAWV,UAAU;YA+BV,gBAAgB;YA0BhB,UAAU;YA+BV,cAAc;YAmCd,aAAa;IAqB3B,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,0BAA0B;CAcnC"}
|
|
@@ -209,4 +209,4 @@ export class SqliteSchemaIntrospector {
|
|
|
209
209
|
}
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsaXRlSW50cm9zcGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21pZ3JhdGUvaW50cm9zcGVjdGlvbi9zcWxpdGVJbnRyb3NwZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5EOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHdCQUF3QjtJQUNOO0lBQTdCLFlBQTZCLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQUcsQ0FBQztJQUV6RCxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQWlCO1FBQ3BDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRXhDLElBQUksQ0FBQztZQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ1osT0FBTyxTQUFTLENBQUM7WUFDbkIsQ0FBQztZQUVELE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQ3BFLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDO2dCQUNuQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQzthQUN2QyxDQUFDLENBQUM7WUFFSCxPQUFPO2dCQUNMLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU87Z0JBQ1AsVUFBVTtnQkFDVixPQUFPO2dCQUNQLFdBQVc7YUFDWixDQUFDO1FB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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIENvbHVtblNjaGVtYSxcbiAgRm9yZWlnbktleVNjaGVtYSxcbiAgSW5kZXhTY2hlbWEsXG4gIFF1ZXJpZXJQb29sLFxuICBTY2hlbWFJbnRyb3NwZWN0b3IsXG4gIFNxbFF1ZXJpZXIsXG4gIFRhYmxlU2NoZW1hLFxufSBmcm9tICcuLi8uLi90eXBlL2luZGV4LmpzJztcbmltcG9ydCB7IGlzU3FsUXVlcmllciB9IGZyb20gJy4uLy4uL3R5cGUvaW5kZXguanMnO1xuXG4vKipcbiAqIFNRTGl0ZSBzY2hlbWEgaW50cm9zcGVjdG9yXG4gKi9cbmV4cG9ydCBjbGFzcyBTcWxpdGVTY2hlbWFJbnRyb3NwZWN0b3IgaW1wbGVtZW50cyBTY2hlbWFJbnRyb3NwZWN0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHF1ZXJpZXJQb29sOiBRdWVyaWVyUG9vbCkge31cblxuICBhc3luYyBnZXRUYWJsZVNjaGVtYSh0YWJsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8VGFibGVTY2hlbWEgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBxdWVyaWVyID0gYXdhaXQgdGhpcy5nZXRRdWVyaWVyKCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgZXhpc3RzID0gYXdhaXQgdGhpcy50YWJsZUV4aXN0c0ludGVybmFsKHF1ZXJpZXIsIHRhYmxlTmFtZSk7XG4gICAgICBpZiAoIWV4aXN0cykge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBbY29sdW1ucywgaW5kZXhlcywgZm9yZWlnbktleXMsIHByaW1hcnlLZXldID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICB0aGlzLmdldENvbHVtbnMocXVlcmllciwgdGFibGVOYW1lKSxcbiAgICAgICAgdGhpcy5nZXRJbmRleGVzKHF1ZXJpZXIsIHRhYmxlTmFtZSksXG4gICAgICAgIHRoaXMuZ2V0Rm9yZWlnbktleXMocXVlcmllciwgdGFibGVOYW1lKSxcbiAgICAgICAgdGhpcy5nZXRQcmltYXJ5S2V5KHF1ZXJpZXIsIHRhYmxlTmFtZSksXG4gICAgICBdKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogdGFibGVOYW1lLFxuICAgICAgICBjb2x1bW5zLFxuICAgICAgICBwcmltYXJ5S2V5LFxuICAgICAgICBpbmRleGVzLFxuICAgICAgICBmb3JlaWduS2V5cyxcbiAgICAgIH07XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHF1ZXJpZXIucmVsZWFzZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGdldFRhYmxlTmFtZXMoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIGNvbnN0IHF1ZXJpZXIgPSBhd2FpdCB0aGlzLmdldFF1ZXJpZXIoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBzcWwgPSAvKnNxbCovIGBcbiAgICAgICAgU0VMRUNUIG5hbWVcbiAgICAgICAgRlJPTSBzcWxpdGVfbWFzdGVyXG4gICAgICAgIFdIRVJFIHR5cGUgPSAndGFibGUnXG4gICAgICAgICAgQU5EIG5hbWUgTk9UIExJS0UgJ3NxbGl0ZV8lJ1xuICAgICAgICBPUkRFUiBCWSBuYW1lXG4gICAgICBgO1xuXG4gICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgcXVlcmllci5hbGw8eyBuYW1lOiBzdHJpbmcgfT4oc3FsKTtcbiAgICAgIHJldHVybiByZXN1bHRzLm1hcCgocjogYW55KSA9PiByLm5hbWUpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBxdWVyaWVyLnJlbGVhc2UoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyB0YWJsZUV4aXN0cyh0YWJsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHF1ZXJpZXIgPSBhd2FpdCB0aGlzLmdldFF1ZXJpZXIoKTtcblxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy50YWJsZUV4aXN0c0ludGVybmFsKHF1ZXJpZXIsIHRhYmxlTmFtZSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHF1ZXJpZXIucmVsZWFzZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdGFibGVFeGlzdHNJbnRlcm5hbChxdWVyaWVyOiBTcWxRdWVyaWVyLCB0YWJsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHNxbCA9IC8qc3FsKi8gYFxuICAgICAgU0VMRUNUIENPVU5UKCopIGFzIGNvdW50XG4gICAgICBGUk9NIHNxbGl0ZV9tYXN0ZXJcbiAgICAgIFdIRVJFIHR5cGUgPSAndGFibGUnXG4gICAgICAgIEFORCBuYW1lID0gP1xuICAgIGA7XG5cbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgcXVlcmllci5hbGw8eyBjb3VudDogbnVtYmVyIH0+KHNxbCwgW3RhYmxlTmFtZV0pO1xuICAgIHJldHVybiAocmVzdWx0c1swXT8uY291bnQgPz8gMCkgPiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRRdWVyaWVyKCk6IFByb21pc2U8U3FsUXVlcmllcj4ge1xuICAgIGNvbnN0IHF1ZXJpZXIgPSBhd2FpdCB0aGlzLnF1ZXJpZXJQb29sLmdldFF1ZXJpZXIoKTtcblxuICAgIGlmICghaXNTcWxRdWVyaWVyKHF1ZXJpZXIpKSB7XG4gICAgICBhd2FpdCBxdWVyaWVyLnJlbGVhc2UoKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU3FsaXRlU2NoZW1hSW50cm9zcGVjdG9yIHJlcXVpcmVzIGEgU1FMLWJhc2VkIHF1ZXJpZXInKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcXVlcmllcjtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0Q29sdW1ucyhxdWVyaWVyOiBTcWxRdWVyaWVyLCB0YWJsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8Q29sdW1uU2NoZW1hW10+IHtcbiAgICAvLyBTUUxpdGUgdXNlcyBQUkFHTUEgZm9yIHRhYmxlIGluZm9cbiAgICBjb25zdCBzcWwgPSBgUFJBR01BIHRhYmxlX2luZm8oJHt0aGlzLmVzY2FwZUlkKHRhYmxlTmFtZSl9KWA7XG5cbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgcXVlcmllci5hbGw8e1xuICAgICAgY2lkOiBudW1iZXI7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICB0eXBlOiBzdHJpbmc7XG4gICAgICBub3RudWxsOiBudW1iZXI7XG4gICAgICBkZmx0X3ZhbHVlOiBzdHJpbmcgfCBudWxsO1xuICAgICAgcGs6IG51bWJlcjtcbiAgICB9PihzcWwpO1xuXG4gICAgLy8gR2V0IHVuaXF1ZSBjb2x1bW5zIGZyb20gaW5kZXhlc1xuICAgIGNvbnN0IHVuaXF1ZUNvbHVtbnMgPSBhd2FpdCB0aGlzLmdldFVuaXF1ZUNvbHVtbnMocXVlcmllciwgdGFibGVOYW1lKTtcblxuICAgIHJldHVybiByZXN1bHRzLm1hcCgocm93OiBhbnkpID0+ICh7XG4gICAgICBuYW1lOiByb3cubmFtZSxcbiAgICAgIHR5cGU6IHRoaXMubm9ybWFsaXplVHlwZShyb3cudHlwZSksXG4gICAgICBudWxsYWJsZTogcm93Lm5vdG51bGwgPT09IDAsXG4gICAgICBkZWZhdWx0VmFsdWU6IHRoaXMucGFyc2VEZWZhdWx0VmFsdWUocm93LmRmbHRfdmFsdWUpLFxuICAgICAgaXNQcmltYXJ5S2V5OiByb3cucGsgPiAwLFxuICAgICAgaXNBdXRvSW5jcmVtZW50OiByb3cucGsgPiAwICYmIHJvdy50eXBlLnRvVXBwZXJDYXNlKCkgPT09ICdJTlRFR0VSJyxcbiAgICAgIGlzVW5pcXVlOiB1bmlxdWVDb2x1bW5zLmhhcyhyb3cubmFtZSksXG4gICAgICBsZW5ndGg6IHRoaXMuZXh0cmFjdExlbmd0aChyb3cudHlwZSksXG4gICAgICBwcmVjaXNpb246IHVuZGVmaW5lZCxcbiAgICAgIHNjYWxlOiB1bmRlZmluZWQsXG4gICAgICBjb21tZW50OiB1bmRlZmluZWQsIC8vIFNRTGl0ZSBkb2Vzbid0IHN1cHBvcnQgY29sdW1uIGNvbW1lbnRzXG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRVbmlxdWVDb2x1bW5zKHF1ZXJpZXI6IFNxbFF1ZXJpZXIsIHRhYmxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTZXQ8c3RyaW5nPj4ge1xuICAgIGNvbnN0IHNxbCA9IGBQUkFHTUEgaW5kZXhfbGlzdCgke3RoaXMuZXNjYXBlSWQodGFibGVOYW1lKX0pYDtcblxuICAgIGNvbnN0IGluZGV4ZXMgPSBhd2FpdCBxdWVyaWVyLmFsbDx7XG4gICAgICBzZXE6IG51bWJlcjtcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIHVuaXF1ZTogbnVtYmVyO1xuICAgICAgb3JpZ2luOiBzdHJpbmc7XG4gICAgICBwYXJ0aWFsOiBudW1iZXI7XG4gICAgfT4oc3FsKTtcblxuICAgIGNvbnN0IHVuaXF1ZUNvbHVtbnMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICAgIGZvciAoY29uc3QgaW5kZXggb2YgaW5kZXhlcykge1xuICAgICAgaWYgKGluZGV4LnVuaXF1ZSAmJiBpbmRleC5vcmlnaW4gPT09ICd1Jykge1xuICAgICAgICBjb25zdCBpbmRleEluZm8gPSBhd2FpdCBxdWVyaWVyLmFsbDx7IG5hbWU6IHN0cmluZyB9PihgUFJBR01BIGluZGV4X2luZm8oJHt0aGlzLmVzY2FwZUlkKGluZGV4Lm5hbWUpfSlgKTtcbiAgICAgICAgLy8gT25seSBzaW5nbGUtY29sdW1uIHVuaXF1ZSBjb25zdHJhaW50c1xuICAgICAgICBpZiAoaW5kZXhJbmZvLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgIHVuaXF1ZUNvbHVtbnMuYWRkKGluZGV4SW5mb1swXS5uYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmlxdWVDb2x1bW5zO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRJbmRleGVzKHF1ZXJpZXI6IFNxbFF1ZXJpZXIsIHRhYmxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxJbmRleFNjaGVtYVtdPiB7XG4gICAgY29uc3Qgc3FsID0gYFBSQUdNQSBpbmRleF9saXN0KCR7dGhpcy5lc2NhcGVJZCh0YWJsZU5hbWUpfSlgO1xuXG4gICAgY29uc3QgaW5kZXhlcyA9IGF3YWl0IHF1ZXJpZXIuYWxsPHtcbiAgICAgIHNlcTogbnVtYmVyO1xuICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgdW5pcXVlOiBudW1iZXI7XG4gICAgICBvcmlnaW46IHN0cmluZztcbiAgICAgIHBhcnRpYWw6IG51bWJlcjtcbiAgICB9PihzcWwpO1xuXG4gICAgY29uc3QgcmVzdWx0OiBJbmRleFNjaGVtYVtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGluZGV4IG9mIGluZGV4ZXMpIHtcbiAgICAgIC8vIFNraXAgYXV0by1nZW5lcmF0ZWQgaW5kZXhlcyAocHJpbWFyeSBrZXksIHVuaXF1ZSBjb25zdHJhaW50cylcbiAgICAgIGlmIChpbmRleC5vcmlnaW4gIT09ICdjJykge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29sdW1ucyA9IGF3YWl0IHF1ZXJpZXIuYWxsPHsgbmFtZTogc3RyaW5nIH0+KGBQUkFHTUEgaW5kZXhfaW5mbygke3RoaXMuZXNjYXBlSWQoaW5kZXgubmFtZSl9KWApO1xuXG4gICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgIG5hbWU6IGluZGV4Lm5hbWUsXG4gICAgICAgIGNvbHVtbnM6IGNvbHVtbnMubWFwKChjOiBhbnkpID0+IGMubmFtZSksXG4gICAgICAgIHVuaXF1ZTogQm9vbGVhbihpbmRleC51bmlxdWUpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0Rm9yZWlnbktleXMocXVlcmllcjogU3FsUXVlcmllciwgdGFibGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPEZvcmVpZ25LZXlTY2hlbWFbXT4ge1xuICAgIGNvbnN0IHNxbCA9IGBQUkFHTUEgZm9yZWlnbl9rZXlfbGlzdCgke3RoaXMuZXNjYXBlSWQodGFibGVOYW1lKX0pYDtcblxuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBxdWVyaWVyLmFsbDx7XG4gICAgICBpZDogbnVtYmVyO1xuICAgICAgc2VxOiBudW1iZXI7XG4gICAgICB0YWJsZTogc3RyaW5nO1xuICAgICAgZnJvbTogc3RyaW5nO1xuICAgICAgdG86IHN0cmluZztcbiAgICAgIG9uX3VwZGF0ZTogc3RyaW5nO1xuICAgICAgb25fZGVsZXRlOiBzdHJpbmc7XG4gICAgICBtYXRjaDogc3RyaW5nO1xuICAgIH0+KHNxbCk7XG5cbiAgICAvLyBHcm91cCBieSBpZCB0byBoYW5kbGUgY29tcG9zaXRlIGZvcmVpZ24ga2V5c1xuICAgIGNvbnN0IGdyb3VwZWQgPSBuZXcgTWFwPG51bWJlciwgdHlwZW9mIHJlc3VsdHM+KCk7XG4gICAgZm9yIChjb25zdCByb3cgb2YgcmVzdWx0cykge1xuICAgICAgY29uc3QgZXhpc3RpbmcgPSBncm91cGVkLmdldChyb3cuaWQpID8/IFtdO1xuICAgICAgZXhpc3RpbmcucHVzaChyb3cpO1xuICAgICAgZ3JvdXBlZC5zZXQocm93LmlkLCBleGlzdGluZyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIEFycmF5LmZyb20oZ3JvdXBlZC5lbnRyaWVzKCkpLm1hcCgoW2lkLCByb3dzXSkgPT4ge1xuICAgICAgY29uc3QgZmlyc3QgPSByb3dzWzBdO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogYGZrXyR7dGFibGVOYW1lfV8ke2lkfWAsXG4gICAgICAgIGNvbHVtbnM6IHJvd3MubWFwKChyOiBhbnkpID0+IHIuZnJvbSksXG4gICAgICAgIHJlZmVyZW5jZWRUYWJsZTogZmlyc3QudGFibGUsXG4gICAgICAgIHJlZmVyZW5jZWRDb2x1bW5zOiByb3dzLm1hcCgocjogYW55KSA9PiByLnRvKSxcbiAgICAgICAgb25EZWxldGU6IHRoaXMubm9ybWFsaXplUmVmZXJlbnRpYWxBY3Rpb24oZmlyc3Qub25fZGVsZXRlKSxcbiAgICAgICAgb25VcGRhdGU6IHRoaXMubm9ybWFsaXplUmVmZXJlbnRpYWxBY3Rpb24oZmlyc3Qub25fdXBkYXRlKSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFByaW1hcnlLZXkocXVlcmllcjogU3FsUXVlcmllciwgdGFibGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZ1tdIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3Qgc3FsID0gYFBSQUdNQSB0YWJsZV9pbmZvKCR7dGhpcy5lc2NhcGVJZCh0YWJsZU5hbWUpfSlgO1xuXG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHF1ZXJpZXIuYWxsPHtcbiAgICAgIGNpZDogbnVtYmVyO1xuICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgbm90bnVsbDogbnVtYmVyO1xuICAgICAgZGZsdF92YWx1ZTogc3RyaW5nIHwgbnVsbDtcbiAgICAgIHBrOiBudW1iZXI7XG4gICAgfT4oc3FsKTtcblxuICAgIGNvbnN0IHBrQ29sdW1ucyA9IHJlc3VsdHMuZmlsdGVyKChyOiBhbnkpID0+IHIucGsgPiAwKS5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4gYS5wayAtIGIucGspO1xuXG4gICAgaWYgKHBrQ29sdW1ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBrQ29sdW1ucy5tYXAoKHI6IGFueSkgPT4gci5uYW1lKTtcbiAgfVxuXG4gIHByaXZhdGUgZXNjYXBlSWQoaWRlbnRpZmllcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFxcYCR7aWRlbnRpZmllci5yZXBsYWNlKC9gL2csICdgYCcpfVxcYGA7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZVR5cGUodHlwZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBFeHRyYWN0IGJhc2UgdHlwZSB3aXRob3V0IGxlbmd0aC9wcmVjaXNpb25cbiAgICBjb25zdCBtYXRjaCA9IHR5cGUubWF0Y2goL14oW0EtWmEtel0rKS8pO1xuICAgIHJldHVybiBtYXRjaCA/IG1hdGNoWzFdLnRvVXBwZXJDYXNlKCkgOiB0eXBlLnRvVXBwZXJDYXNlKCk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RMZW5ndGgodHlwZTogc3RyaW5nKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBtYXRjaCA9IHR5cGUubWF0Y2goL1xcKChcXGQrKVxcKS8pO1xuICAgIHJldHVybiBtYXRjaCA/IE51bWJlci5wYXJzZUludChtYXRjaFsxXSwgMTApIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZURlZmF1bHRWYWx1ZShkZWZhdWx0VmFsdWU6IHN0cmluZyB8IG51bGwpOiB1bmtub3duIHtcbiAgICBpZiAoZGVmYXVsdFZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGZvciBjb21tb24gcGF0dGVybnNcbiAgICBpZiAoZGVmYXVsdFZhbHVlID09PSAnTlVMTCcpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAoZGVmYXVsdFZhbHVlID09PSAnQ1VSUkVOVF9USU1FU1RBTVAnIHx8IGRlZmF1bHRWYWx1ZSA9PT0gJ0NVUlJFTlRfREFURScgfHwgZGVmYXVsdFZhbHVlID09PSAnQ1VSUkVOVF9USU1FJykge1xuICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICB9XG4gICAgaWYgKC9eJy4qJyQvLnRlc3QoZGVmYXVsdFZhbHVlKSkge1xuICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZS5zbGljZSgxLCAtMSk7XG4gICAgfVxuICAgIGlmICgvXi0/XFxkKyQvLnRlc3QoZGVmYXVsdFZhbHVlKSkge1xuICAgICAgcmV0dXJuIE51bWJlci5wYXJzZUludChkZWZhdWx0VmFsdWUsIDEwKTtcbiAgICB9XG4gICAgaWYgKC9eLT9cXGQrXFwuXFxkKyQvLnRlc3QoZGVmYXVsdFZhbHVlKSkge1xuICAgICAgcmV0dXJuIE51bWJlci5wYXJzZUZsb2F0KGRlZmF1bHRWYWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplUmVmZXJlbnRpYWxBY3Rpb24oYWN0aW9uOiBzdHJpbmcpOiAnQ0FTQ0FERScgfCAnU0VUIE5VTEwnIHwgJ1JFU1RSSUNUJyB8ICdOTyBBQ1RJT04nIHwgdW5kZWZpbmVkIHtcbiAgICBzd2l0Y2ggKGFjdGlvbi50b1VwcGVyQ2FzZSgpKSB7XG4gICAgICBjYXNlICdDQVNDQURFJzpcbiAgICAgICAgcmV0dXJuICdDQVNDQURFJztcbiAgICAgIGNhc2UgJ1NFVCBOVUxMJzpcbiAgICAgICAgcmV0dXJuICdTRVQgTlVMTCc7XG4gICAgICBjYXNlICdSRVNUUklDVCc6XG4gICAgICAgIHJldHVybiAnUkVTVFJJQ1QnO1xuICAgICAgY2FzZSAnTk8gQUNUSU9OJzpcbiAgICAgICAgcmV0dXJuICdOTyBBQ1RJT04nO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
212
|
+
//# sourceMappingURL=sqliteIntrospector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqliteIntrospector.js","sourceRoot":"","sources":["../../../src/migrate/introspection/sqliteIntrospector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrator.d.ts","sourceRoot":"","sources":["../../src/migrate/migrator.ts"],"names":[],"mappings":"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"}
|
package/dist/migrate/migrator.js
CHANGED
|
@@ -597,4 +597,4 @@ ${downSql}
|
|
|
597
597
|
export function defineMigration(migration) {
|
|
598
598
|
return migration;
|
|
599
599
|
}
|
|
600
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWlncmF0ZS9taWdyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWlCMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQix1QkFBdUIsRUFDdkIscUJBQXFCLEdBQ3RCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUMxQix3QkFBd0IsR0FDekIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RTs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFRO0lBVUE7SUFURixPQUFPLENBQW1CO0lBQzFCLGNBQWMsQ0FBUztJQUN2QixNQUFNLENBQTRCO0lBQ2xDLFFBQVEsQ0FBa0I7SUFDMUIsT0FBTyxDQUFVO0lBQzFCLGVBQWUsQ0FBbUI7SUFDbkMsa0JBQWtCLENBQXNCO0lBRS9DLFlBQ21CLFdBQXdCLEVBQ3pDLFVBQTJCLEVBQUU7UUFEWixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUd6QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksV0FBVyxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUM7UUFDcEUsSUFB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QUFFLENBQUMsV0FBVyxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBc0JyQyxDQUFDO0lBQ0EsQ0FBQztJQUVEOztPQUVHO0lBQ0ssc0NBQXNDLENBQzVDLElBQVksRUFDWixZQUFzQixFQUN0QixjQUF3QjtRQUV4QixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsMkJBQTJCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVGLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFaEcsT0FBTyxNQUFNLENBQUM7OztnQkFHRixJQUFJO2NBQ04sSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7Ozs7O0VBS3BDLEtBQUs7Ozs7RUFJTCxPQUFPOzs7Q0FHUixDQUFDO0lBQ0EsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLFNBQThCO0lBQzVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFkZGlyIH0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyBiYXNlbmFtZSwgZXh0bmFtZSwgam9pbiB9IGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgeyBwYXRoVG9GaWxlVVJMIH0gZnJvbSAnbm9kZTp1cmwnO1xuaW1wb3J0IHsgZ2V0RW50aXRpZXMsIGdldE1ldGEgfSBmcm9tICcuLi9lbnRpdHkvaW5kZXguanMnO1xuaW1wb3J0IHR5cGUge1xuICBEaWFsZWN0LFxuICBNaWdyYXRpb24sXG4gIE1pZ3JhdGlvbkRlZmluaXRpb24sXG4gIE1pZ3JhdGlvblJlc3VsdCxcbiAgTWlncmF0aW9uU3RvcmFnZSxcbiAgTWlncmF0b3JPcHRpb25zLFxuICBNb25nb1F1ZXJpZXIsXG4gIE5hbWluZ1N0cmF0ZWd5LFxuICBRdWVyaWVyLFxuICBRdWVyaWVyUG9vbCxcbiAgU2NoZW1hRGlmZixcbiAgU2NoZW1hR2VuZXJhdG9yLFxuICBTY2hlbWFJbnRyb3NwZWN0b3IsXG4gIFR5cGUsXG59IGZyb20gJy4uL3R5cGUvaW5kZXguanMnO1xuaW1wb3J0IHsgaXNTcWxRdWVyaWVyIH0gZnJvbSAnLi4vdHlwZS9pbmRleC5qcyc7XG5pbXBvcnQge1xuICBNYXJpYWRiU2NoZW1hR2VuZXJhdG9yLFxuICBNb25nb1NjaGVtYUdlbmVyYXRvcixcbiAgTXlzcWxTY2hlbWFHZW5lcmF0b3IsXG4gIFBvc3RncmVzU2NoZW1hR2VuZXJhdG9yLFxuICBTcWxpdGVTY2hlbWFHZW5lcmF0b3IsXG59IGZyb20gJy4vZ2VuZXJhdG9yL2luZGV4LmpzJztcbmltcG9ydCB7XG4gIE1hcmlhZGJTY2hlbWFJbnRyb3NwZWN0b3IsXG4gIE1vbmdvU2NoZW1hSW50cm9zcGVjdG9yLFxuICBNeXNxbFNjaGVtYUludHJvc3BlY3RvcixcbiAgUG9zdGdyZXNTY2hlbWFJbnRyb3NwZWN0b3IsXG4gIFNxbGl0ZVNjaGVtYUludHJvc3BlY3Rvcixcbn0gZnJvbSAnLi9pbnRyb3NwZWN0aW9uL2luZGV4LmpzJztcbmltcG9ydCB7IERhdGFiYXNlTWlncmF0aW9uU3RvcmFnZSB9IGZyb20gJy4vc3RvcmFnZS9kYXRhYmFzZVN0b3JhZ2UuanMnO1xuXG4vKipcbiAqIE1haW4gY2xhc3MgZm9yIG1hbmFnaW5nIGRhdGFiYXNlIG1pZ3JhdGlvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIE1pZ3JhdG9yIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzdG9yYWdlOiBNaWdyYXRpb25TdG9yYWdlO1xuICBwcml2YXRlIHJlYWRvbmx5IG1pZ3JhdGlvbnNQYXRoOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiAobWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkO1xuICBwcml2YXRlIHJlYWRvbmx5IGVudGl0aWVzOiBUeXBlPHVua25vd24+W107XG4gIHByaXZhdGUgcmVhZG9ubHkgZGlhbGVjdDogRGlhbGVjdDtcbiAgcHJpdmF0ZSBzY2hlbWFHZW5lcmF0b3I/OiBTY2hlbWFHZW5lcmF0b3I7XG4gIHB1YmxpYyBzY2hlbWFJbnRyb3NwZWN0b3I/OiBTY2hlbWFJbnRyb3NwZWN0b3I7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBxdWVyaWVyUG9vbDogUXVlcmllclBvb2wsXG4gICAgb3B0aW9uczogTWlncmF0b3JPcHRpb25zID0ge30sXG4gICkge1xuICAgIHRoaXMuZGlhbGVjdCA9IG9wdGlvbnMuZGlhbGVjdCA/PyBxdWVyaWVyUG9vbC5kaWFsZWN0ID8/ICdwb3N0Z3Jlcyc7XG4gICAgdGhpcy5zdG9yYWdlID1cbiAgICAgIG9wdGlvbnMuc3RvcmFnZSA/P1xuICAgICAgbmV3IERhdGFiYXNlTWlncmF0aW9uU3RvcmFnZShxdWVyaWVyUG9vbCwge1xuICAgICAgICB0YWJsZU5hbWU6IG9wdGlvbnMudGFibGVOYW1lLFxuICAgICAgfSk7XG4gICAgdGhpcy5taWdyYXRpb25zUGF0aCA9IG9wdGlvbnMubWlncmF0aW9uc1BhdGggPz8gJy4vbWlncmF0aW9ucyc7XG4gICAgdGhpcy5sb2dnZXIgPSBvcHRpb25zLmxvZ2dlciA/PyAoKCkgPT4ge30pO1xuICAgIHRoaXMuZW50aXRpZXMgPSBvcHRpb25zLmVudGl0aWVzID8/IFtdO1xuICAgIHRoaXMuc2NoZW1hSW50cm9zcGVjdG9yID0gdGhpcy5jcmVhdGVJbnRyb3NwZWN0b3IoKTtcbiAgICB0aGlzLnNjaGVtYUdlbmVyYXRvciA9IG9wdGlvbnMuc2NoZW1hR2VuZXJhdG9yID8/IHRoaXMuY3JlYXRlR2VuZXJhdG9yKG9wdGlvbnMubmFtaW5nU3RyYXRlZ3kpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgc2NoZW1hIGdlbmVyYXRvciBmb3IgRERMIG9wZXJhdGlvbnNcbiAgICovXG4gIHNldFNjaGVtYUdlbmVyYXRvcihnZW5lcmF0b3I6IFNjaGVtYUdlbmVyYXRvcik6IHZvaWQge1xuICAgIHRoaXMuc2NoZW1hR2VuZXJhdG9yID0gZ2VuZXJhdG9yO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVJbnRyb3NwZWN0b3IoKTogU2NoZW1hSW50cm9zcGVjdG9yIHwgdW5kZWZpbmVkIHtcbiAgICBzd2l0Y2ggKHRoaXMuZGlhbGVjdCkge1xuICAgICAgY2FzZSAncG9zdGdyZXMnOlxuICAgICAgICByZXR1cm4gbmV3IFBvc3RncmVzU2NoZW1hSW50cm9zcGVjdG9yKHRoaXMucXVlcmllclBvb2wpO1xuICAgICAgY2FzZSAnbXlzcWwnOlxuICAgICAgICByZXR1cm4gbmV3IE15c3FsU2NoZW1hSW50cm9zcGVjdG9yKHRoaXMucXVlcmllclBvb2wpO1xuICAgICAgY2FzZSAnbWFyaWFkYic6XG4gICAgICAgIHJldHVybiBuZXcgTWFyaWFkYlNjaGVtYUludHJvc3BlY3Rvcih0aGlzLnF1ZXJpZXJQb29sKTtcbiAgICAgIGNhc2UgJ3NxbGl0ZSc6XG4gICAgICAgIHJldHVybiBuZXcgU3FsaXRlU2NoZW1hSW50cm9zcGVjdG9yKHRoaXMucXVlcmllclBvb2wpO1xuICAgICAgY2FzZSAnbW9uZ29kYic6XG4gICAgICAgIHJldHVybiBuZXcgTW9uZ29TY2hlbWFJbnRyb3NwZWN0b3IodGhpcy5xdWVyaWVyUG9vbCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlR2VuZXJhdG9yKG5hbWluZ1N0cmF0ZWd5PzogTmFtaW5nU3RyYXRlZ3kpOiBTY2hlbWFHZW5lcmF0b3IgfCB1bmRlZmluZWQge1xuICAgIHN3aXRjaCAodGhpcy5kaWFsZWN0KSB7XG4gICAgICBjYXNlICdwb3N0Z3Jlcyc6XG4gICAgICAgIHJldHVybiBuZXcgUG9zdGdyZXNTY2hlbWFHZW5lcmF0b3IobmFtaW5nU3RyYXRlZ3kpO1xuICAgICAgY2FzZSAnbXlzcWwnOlxuICAgICAgICByZXR1cm4gbmV3IE15c3FsU2NoZW1hR2VuZXJhdG9yKG5hbWluZ1N0cmF0ZWd5KTtcbiAgICAgIGNhc2UgJ21hcmlhZGInOlxuICAgICAgICByZXR1cm4gbmV3IE1hcmlhZGJTY2hlbWFHZW5lcmF0b3IobmFtaW5nU3RyYXRlZ3kpO1xuICAgICAgY2FzZSAnc3FsaXRlJzpcbiAgICAgICAgcmV0dXJuIG5ldyBTcWxpdGVTY2hlbWFHZW5lcmF0b3IobmFtaW5nU3RyYXRlZ3kpO1xuICAgICAgY2FzZSAnbW9uZ29kYic6XG4gICAgICAgIHJldHVybiBuZXcgTW9uZ29TY2hlbWFHZW5lcmF0b3IobmFtaW5nU3RyYXRlZ3kpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBTUUwgZGlhbGVjdFxuICAgKi9cbiAgZ2V0RGlhbGVjdCgpOiBEaWFsZWN0IHtcbiAgICByZXR1cm4gdGhpcy5kaWFsZWN0O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgZGlzY292ZXJlZCBtaWdyYXRpb25zIGZyb20gdGhlIG1pZ3JhdGlvbnMgZGlyZWN0b3J5XG4gICAqL1xuICBhc3luYyBnZXRNaWdyYXRpb25zKCk6IFByb21pc2U8TWlncmF0aW9uW10+IHtcbiAgICBjb25zdCBmaWxlcyA9IGF3YWl0IHRoaXMuZ2V0TWlncmF0aW9uRmlsZXMoKTtcbiAgICBjb25zdCBtaWdyYXRpb25zOiBNaWdyYXRpb25bXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICBjb25zdCBtaWdyYXRpb24gPSBhd2FpdCB0aGlzLmxvYWRNaWdyYXRpb24oZmlsZSk7XG4gICAgICBpZiAobWlncmF0aW9uKSB7XG4gICAgICAgIG1pZ3JhdGlvbnMucHVzaChtaWdyYXRpb24pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvcnQgYnkgbmFtZSAod2hpY2ggdHlwaWNhbGx5IGluY2x1ZGVzIHRpbWVzdGFtcClcbiAgICByZXR1cm4gbWlncmF0aW9ucy5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgcGVuZGluZyBtaWdyYXRpb25zIChub3QgeWV0IGV4ZWN1dGVkKVxuICAgKi9cbiAgYXN5bmMgcGVuZGluZygpOiBQcm9taXNlPE1pZ3JhdGlvbltdPiB7XG4gICAgY29uc3QgW21pZ3JhdGlvbnMsIGV4ZWN1dGVkXSA9IGF3YWl0IFByb21pc2UuYWxsKFt0aGlzLmdldE1pZ3JhdGlvbnMoKSwgdGhpcy5zdG9yYWdlLmV4ZWN1dGVkKCldKTtcblxuICAgIGNvbnN0IGV4ZWN1dGVkU2V0ID0gbmV3IFNldChleGVjdXRlZCk7XG4gICAgcmV0dXJuIG1pZ3JhdGlvbnMuZmlsdGVyKChtOiBhbnkpID0+ICFleGVjdXRlZFNldC5oYXMobS5uYW1lKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgZXhlY3V0ZWQgbWlncmF0aW9uc1xuICAgKi9cbiAgYXN5bmMgZXhlY3V0ZWQoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2UuZXhlY3V0ZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW4gYWxsIHBlbmRpbmcgbWlncmF0aW9uc1xuICAgKi9cbiAgYXN5bmMgdXAob3B0aW9uczogeyB0bz86IHN0cmluZzsgc3RlcD86IG51bWJlciB9ID0ge30pOiBQcm9taXNlPE1pZ3JhdGlvblJlc3VsdFtdPiB7XG4gICAgY29uc3QgcGVuZGluZ01pZ3JhdGlvbnMgPSBhd2FpdCB0aGlzLnBlbmRpbmcoKTtcbiAgICBjb25zdCByZXN1bHRzOiBNaWdyYXRpb25SZXN1bHRbXSA9IFtdO1xuXG4gICAgbGV0IG1pZ3JhdGlvbnNUb1J1biA9IHBlbmRpbmdNaWdyYXRpb25zO1xuXG4gICAgaWYgKG9wdGlvbnMudG8pIHtcbiAgICAgIGNvbnN0IHRvSW5kZXggPSBtaWdyYXRpb25zVG9SdW4uZmluZEluZGV4KChtOiBhbnkpID0+IG0ubmFtZSA9PT0gb3B0aW9ucy50byk7XG4gICAgICBpZiAodG9JbmRleCA9PT0gLTEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaWdyYXRpb24gJyR7b3B0aW9ucy50b30nIG5vdCBmb3VuZGApO1xuICAgICAgfVxuICAgICAgbWlncmF0aW9uc1RvUnVuID0gbWlncmF0aW9uc1RvUnVuLnNsaWNlKDAsIHRvSW5kZXggKyAxKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5zdGVwICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG1pZ3JhdGlvbnNUb1J1biA9IG1pZ3JhdGlvbnNUb1J1bi5zbGljZSgwLCBvcHRpb25zLnN0ZXApO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgbWlncmF0aW9uIG9mIG1pZ3JhdGlvbnNUb1J1bikge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5ydW5NaWdyYXRpb24obWlncmF0aW9uLCAndXAnKTtcbiAgICAgIHJlc3VsdHMucHVzaChyZXN1bHQpO1xuXG4gICAgICBpZiAoIXJlc3VsdC5zdWNjZXNzKSB7XG4gICAgICAgIGJyZWFrOyAvLyBTdG9wIG9uIGZpcnN0IGZhaWx1cmVcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBSb2xsYmFjayBtaWdyYXRpb25zXG4gICAqL1xuICBhc3luYyBkb3duKG9wdGlvbnM6IHsgdG8/OiBzdHJpbmc7IHN0ZXA/OiBudW1iZXIgfSA9IHt9KTogUHJvbWlzZTxNaWdyYXRpb25SZXN1bHRbXT4ge1xuICAgIGNvbnN0IFttaWdyYXRpb25zLCBleGVjdXRlZF0gPSBhd2FpdCBQcm9taXNlLmFsbChbdGhpcy5nZXRNaWdyYXRpb25zKCksIHRoaXMuc3RvcmFnZS5leGVjdXRlZCgpXSk7XG5cbiAgICBjb25zdCBleGVjdXRlZFNldCA9IG5ldyBTZXQoZXhlY3V0ZWQpO1xuICAgIGNvbnN0IGV4ZWN1dGVkTWlncmF0aW9ucyA9IG1pZ3JhdGlvbnMuZmlsdGVyKChtOiBhbnkpID0+IGV4ZWN1dGVkU2V0LmhhcyhtLm5hbWUpKS5yZXZlcnNlKCk7IC8vIFJvbGxiYWNrIGluIHJldmVyc2Ugb3JkZXJcblxuICAgIGNvbnN0IHJlc3VsdHM6IE1pZ3JhdGlvblJlc3VsdFtdID0gW107XG4gICAgbGV0IG1pZ3JhdGlvbnNUb1J1biA9IGV4ZWN1dGVkTWlncmF0aW9ucztcblxuICAgIGlmIChvcHRpb25zLnRvKSB7XG4gICAgICBjb25zdCB0b0luZGV4ID0gbWlncmF0aW9uc1RvUnVuLmZpbmRJbmRleCgobTogYW55KSA9PiBtLm5hbWUgPT09IG9wdGlvbnMudG8pO1xuICAgICAgaWYgKHRvSW5kZXggPT09IC0xKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTWlncmF0aW9uICcke29wdGlvbnMudG99JyBub3QgZm91bmRgKTtcbiAgICAgIH1cbiAgICAgIG1pZ3JhdGlvbnNUb1J1biA9IG1pZ3JhdGlvbnNUb1J1bi5zbGljZSgwLCB0b0luZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuc3RlcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBtaWdyYXRpb25zVG9SdW4gPSBtaWdyYXRpb25zVG9SdW4uc2xpY2UoMCwgb3B0aW9ucy5zdGVwKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IG1pZ3JhdGlvbiBvZiBtaWdyYXRpb25zVG9SdW4pIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucnVuTWlncmF0aW9uKG1pZ3JhdGlvbiwgJ2Rvd24nKTtcbiAgICAgIHJlc3VsdHMucHVzaChyZXN1bHQpO1xuXG4gICAgICBpZiAoIXJlc3VsdC5zdWNjZXNzKSB7XG4gICAgICAgIGJyZWFrOyAvLyBTdG9wIG9uIGZpcnN0IGZhaWx1cmVcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW4gYSBzaW5nbGUgbWlncmF0aW9uIHdpdGhpbiBhIHRyYW5zYWN0aW9uXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIHJ1bk1pZ3JhdGlvbihtaWdyYXRpb246IE1pZ3JhdGlvbiwgZGlyZWN0aW9uOiAndXAnIHwgJ2Rvd24nKTogUHJvbWlzZTxNaWdyYXRpb25SZXN1bHQ+IHtcbiAgICBjb25zdCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgIGNvbnN0IHF1ZXJpZXIgPSBhd2FpdCB0aGlzLnF1ZXJpZXJQb29sLmdldFF1ZXJpZXIoKTtcblxuICAgIGlmICghaXNTcWxRdWVyaWVyKHF1ZXJpZXIpKSB7XG4gICAgICBhd2FpdCBxdWVyaWVyLnJlbGVhc2UoKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlncmF0b3IgcmVxdWlyZXMgYSBTUUwtYmFzZWQgcXVlcmllcicpO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB0aGlzLmxvZ2dlcihgJHtkaXJlY3Rpb24gPT09ICd1cCcgPyAnUnVubmluZycgOiAnUmV2ZXJ0aW5nJ30gbWlncmF0aW9uOiAke21pZ3JhdGlvbi5uYW1lfWApO1xuXG4gICAgICBhd2FpdCBxdWVyaWVyLmJlZ2luVHJhbnNhY3Rpb24oKTtcblxuICAgICAgaWYgKGRpcmVjdGlvbiA9PT0gJ3VwJykge1xuICAgICAgICBhd2FpdCBtaWdyYXRpb24udXAocXVlcmllcik7XG4gICAgICAgIC8vIExvZyB3aXRoaW4gdGhlIHNhbWUgdHJhbnNhY3Rpb25cbiAgICAgICAgYXdhaXQgdGhpcy5zdG9yYWdlLmxvZ1dpdGhRdWVyaWVyKHF1ZXJpZXIsIG1pZ3JhdGlvbi5uYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IG1pZ3JhdGlvbi5kb3duKHF1ZXJpZXIpO1xuICAgICAgICAvLyBVbmxvZyB3aXRoaW4gdGhlIHNhbWUgdHJhbnNhY3Rpb25cbiAgICAgICAgYXdhaXQgdGhpcy5zdG9yYWdlLnVubG9nV2l0aFF1ZXJpZXIocXVlcmllciwgbWlncmF0aW9uLm5hbWUpO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCBxdWVyaWVyLmNvbW1pdFRyYW5zYWN0aW9uKCk7XG5cbiAgICAgIGNvbnN0IGR1cmF0aW9uID0gRGF0ZS5ub3coKSAtIHN0YXJ0VGltZTtcbiAgICAgIHRoaXMubG9nZ2VyKGBNaWdyYXRpb24gJHttaWdyYXRpb24ubmFtZX0gJHtkaXJlY3Rpb24gPT09ICd1cCcgPyAnYXBwbGllZCcgOiAncmV2ZXJ0ZWQnfSBpbiAke2R1cmF0aW9ufW1zYCk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IG1pZ3JhdGlvbi5uYW1lLFxuICAgICAgICBkaXJlY3Rpb24sXG4gICAgICAgIGR1cmF0aW9uLFxuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgYXdhaXQgcXVlcmllci5yb2xsYmFja1RyYW5zYWN0aW9uKCk7XG5cbiAgICAgIGNvbnN0IGR1cmF0aW9uID0gRGF0ZS5ub3coKSAtIHN0YXJ0VGltZTtcbiAgICAgIHRoaXMubG9nZ2VyKGBNaWdyYXRpb24gJHttaWdyYXRpb24ubmFtZX0gZmFpbGVkOiAkeyhlcnJvciBhcyBFcnJvcikubWVzc2FnZX1gKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogbWlncmF0aW9uLm5hbWUsXG4gICAgICAgIGRpcmVjdGlvbixcbiAgICAgICAgZHVyYXRpb24sXG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBlcnJvcjogZXJyb3IgYXMgRXJyb3IsXG4gICAgICB9O1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBxdWVyaWVyLnJlbGVhc2UoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBuZXcgbWlncmF0aW9uIGZpbGVcbiAgICovXG4gIGFzeW5jIGdlbmVyYXRlKG5hbWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgdGltZXN0YW1wID0gdGhpcy5nZXRUaW1lc3RhbXAoKTtcbiAgICBjb25zdCBmaWxlTmFtZSA9IGAke3RpbWVzdGFtcH1fJHt0aGlzLnNsdWdpZnkobmFtZSl9LnRzYDtcbiAgICBjb25zdCBmaWxlUGF0aCA9IGpvaW4odGhpcy5taWdyYXRpb25zUGF0aCwgZmlsZU5hbWUpO1xuXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2VuZXJhdGVNaWdyYXRpb25Db250ZW50KG5hbWUpO1xuXG4gICAgY29uc3QgeyB3cml0ZUZpbGUsIG1rZGlyIH0gPSBhd2FpdCBpbXBvcnQoJ25vZGU6ZnMvcHJvbWlzZXMnKTtcbiAgICBhd2FpdCBta2Rpcih0aGlzLm1pZ3JhdGlvbnNQYXRoLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICBhd2FpdCB3cml0ZUZpbGUoZmlsZVBhdGgsIGNvbnRlbnQsICd1dGYtOCcpO1xuXG4gICAgdGhpcy5sb2dnZXIoYENyZWF0ZWQgbWlncmF0aW9uOiAke2ZpbGVQYXRofWApO1xuICAgIHJldHVybiBmaWxlUGF0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhIG1pZ3JhdGlvbiBiYXNlZCBvbiBlbnRpdHkgc2NoZW1hIGRpZmZlcmVuY2VzXG4gICAqL1xuICBhc3luYyBnZW5lcmF0ZUZyb21FbnRpdGllcyhuYW1lOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGlmICghdGhpcy5zY2hlbWFHZW5lcmF0b3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU2NoZW1hIGdlbmVyYXRvciBub3Qgc2V0LiBDYWxsIHNldFNjaGVtYUdlbmVyYXRvcigpIGZpcnN0LicpO1xuICAgIH1cblxuICAgIGNvbnN0IGRpZmZzID0gYXdhaXQgdGhpcy5nZXREaWZmcygpO1xuICAgIGNvbnN0IHVwU3RhdGVtZW50czogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBkb3duU3RhdGVtZW50czogc3RyaW5nW10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgZGlmZiBvZiBkaWZmcykge1xuICAgICAgaWYgKGRpZmYudHlwZSA9PT0gJ2NyZWF0ZScpIHtcbiAgICAgICAgY29uc3QgZW50aXR5ID0gdGhpcy5maW5kRW50aXR5Rm9yVGFibGUoZGlmZi50YWJsZU5hbWUpO1xuICAgICAgICBpZiAoZW50aXR5KSB7XG4gICAgICAgICAgdXBTdGF0ZW1lbnRzLnB1c2godGhpcy5zY2hlbWFHZW5lcmF0b3IuZ2VuZXJhdGVDcmVhdGVUYWJsZShlbnRpdHkpKTtcbiAgICAgICAgICBkb3duU3RhdGVtZW50cy5wdXNoKHRoaXMuc2NoZW1hR2VuZXJhdG9yLmdlbmVyYXRlRHJvcFRhYmxlKGVudGl0eSkpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGRpZmYudHlwZSA9PT0gJ2FsdGVyJykge1xuICAgICAgICBjb25zdCBhbHRlclN0YXRlbWVudHMgPSB0aGlzLnNjaGVtYUdlbmVyYXRvci5nZW5lcmF0ZUFsdGVyVGFibGUoZGlmZik7XG4gICAgICAgIHVwU3RhdGVtZW50cy5wdXNoKC4uLmFsdGVyU3RhdGVtZW50cyk7XG5cbiAgICAgICAgY29uc3QgYWx0ZXJEb3duU3RhdGVtZW50cyA9IHRoaXMuc2NoZW1hR2VuZXJhdG9yLmdlbmVyYXRlQWx0ZXJUYWJsZURvd24oZGlmZik7XG4gICAgICAgIGRvd25TdGF0ZW1lbnRzLnB1c2goLi4uYWx0ZXJEb3duU3RhdGVtZW50cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHVwU3RhdGVtZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMubG9nZ2VyKCdObyBzY2hlbWEgY2hhbmdlcyBkZXRlY3RlZC4nKTtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCB0aW1lc3RhbXAgPSB0aGlzLmdldFRpbWVzdGFtcCgpO1xuICAgIGNvbnN0IGZpbGVOYW1lID0gYCR7dGltZXN0YW1wfV8ke3RoaXMuc2x1Z2lmeShuYW1lKX0udHNgO1xuICAgIGNvbnN0IGZpbGVQYXRoID0gam9pbih0aGlzLm1pZ3JhdGlvbnNQYXRoLCBmaWxlTmFtZSk7XG5cbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5nZW5lcmF0ZU1pZ3JhdGlvbkNvbnRlbnRXaXRoU3RhdGVtZW50cyhuYW1lLCB1cFN0YXRlbWVudHMsIGRvd25TdGF0ZW1lbnRzLnJldmVyc2UoKSk7XG5cbiAgICBjb25zdCB7IHdyaXRlRmlsZSwgbWtkaXIgfSA9IGF3YWl0IGltcG9ydCgnbm9kZTpmcy9wcm9taXNlcycpO1xuICAgIGF3YWl0IG1rZGlyKHRoaXMubWlncmF0aW9uc1BhdGgsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIGF3YWl0IHdyaXRlRmlsZShmaWxlUGF0aCwgY29udGVudCwgJ3V0Zi04Jyk7XG5cbiAgICB0aGlzLmxvZ2dlcihgQ3JlYXRlZCBtaWdyYXRpb24gZnJvbSBlbnRpdGllczogJHtmaWxlUGF0aH1gKTtcbiAgICByZXR1cm4gZmlsZVBhdGg7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFsbCBzY2hlbWEgZGlmZmVyZW5jZXMgYmV0d2VlbiBlbnRpdGllcyBhbmQgZGF0YWJhc2VcbiAgICovXG4gIGFzeW5jIGdldERpZmZzKCk6IFByb21pc2U8U2NoZW1hRGlmZltdPiB7XG4gICAgaWYgKCF0aGlzLnNjaGVtYUdlbmVyYXRvciB8fCAhdGhpcy5zY2hlbWFJbnRyb3NwZWN0b3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU2NoZW1hIGdlbmVyYXRvciBhbmQgaW50cm9zcGVjdG9yIG11c3QgYmUgc2V0Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgZW50aXRpZXMgPSB0aGlzLmVudGl0aWVzLmxlbmd0aCA+IDAgPyB0aGlzLmVudGl0aWVzIDogZ2V0RW50aXRpZXMoKTtcbiAgICBjb25zdCBkaWZmczogU2NoZW1hRGlmZltdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGVudGl0eSBvZiBlbnRpdGllcykge1xuICAgICAgY29uc3QgbWV0YSA9IGdldE1ldGEoZW50aXR5KTtcbiAgICAgIGNvbnN0IHRhYmxlTmFtZSA9IHRoaXMuc2NoZW1hR2VuZXJhdG9yLnJlc29sdmVUYWJsZU5hbWUoZW50aXR5LCBtZXRhKTtcbiAgICAgIGNvbnN0IGN1cnJlbnRTY2hlbWEgPSBhd2FpdCB0aGlzLnNjaGVtYUludHJvc3BlY3Rvci5nZXRUYWJsZVNjaGVtYSh0YWJsZU5hbWUpO1xuICAgICAgY29uc3QgZGlmZiA9IHRoaXMuc2NoZW1hR2VuZXJhdG9yLmRpZmZTY2hlbWEoZW50aXR5LCBjdXJyZW50U2NoZW1hKTtcbiAgICAgIGlmIChkaWZmKSB7XG4gICAgICAgIGRpZmZzLnB1c2goZGlmZik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGRpZmZzO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kRW50aXR5Rm9yVGFibGUodGFibGVOYW1lOiBzdHJpbmcpOiBUeXBlPHVua25vd24+IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBlbnRpdGllcyA9IHRoaXMuZW50aXRpZXMubGVuZ3RoID4gMCA/IHRoaXMuZW50aXRpZXMgOiBnZXRFbnRpdGllcygpO1xuICAgIGZvciAoY29uc3QgZW50aXR5IG9mIGVudGl0aWVzKSB7XG4gICAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgICAgY29uc3QgbmFtZSA9IHRoaXMuc2NoZW1hR2VuZXJhdG9yLnJlc29sdmVUYWJsZU5hbWUoZW50aXR5LCBtZXRhKTtcbiAgICAgIGlmIChuYW1lID09PSB0YWJsZU5hbWUpIHtcbiAgICAgICAgcmV0dXJuIGVudGl0eTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTeW5jIHNjaGVtYSBkaXJlY3RseSAoZm9yIGRldmVsb3BtZW50IG9ubHkgLSBub3QgZm9yIHByb2R1Y3Rpb24hKVxuICAgKi9cbiAgYXN5bmMgc3luYyhvcHRpb25zOiB7IGZvcmNlPzogYm9vbGVhbiB9ID0ge30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAob3B0aW9ucy5mb3JjZSkge1xuICAgICAgcmV0dXJuIHRoaXMuc3luY0ZvcmNlKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmF1dG9TeW5jKHsgc2FmZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEcm9wcyBhbmQgcmVjcmVhdGVzIGFsbCB0YWJsZXMgKERldmVsb3BtZW50IG9ubHkhKVxuICAgKi9cbiAgcHVibGljIGFzeW5jIHN5bmNGb3JjZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuc2NoZW1hR2VuZXJhdG9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NjaGVtYSBnZW5lcmF0b3Igbm90IHNldC4gQ2FsbCBzZXRTY2hlbWFHZW5lcmF0b3IoKSBmaXJzdC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbnRpdGllcyA9IHRoaXMuZW50aXRpZXMubGVuZ3RoID4gMCA/IHRoaXMuZW50aXRpZXMgOiBnZXRFbnRpdGllcygpO1xuICAgIGNvbnN0IHF1ZXJpZXIgPSBhd2FpdCB0aGlzLnF1ZXJpZXJQb29sLmdldFF1ZXJpZXIoKTtcblxuICAgIGlmICghaXNTcWxRdWVyaWVyKHF1ZXJpZXIpKSB7XG4gICAgICBhd2FpdCBxdWVyaWVyLnJlbGVhc2UoKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlncmF0b3IgcmVxdWlyZXMgYSBTUUwtYmFzZWQgcXVlcmllcicpO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBxdWVyaWVyLmJlZ2luVHJhbnNhY3Rpb24oKTtcblxuICAgICAgLy8gRHJvcCBhbGwgdGFibGVzIGZpcnN0IChpbiByZXZlcnNlIG9yZGVyIGZvciBmb3JlaWduIGtleXMpXG4gICAgICBmb3IgKGNvbnN0IGVudGl0eSBvZiBbLi4uZW50aXRpZXNdLnJldmVyc2UoKSkge1xuICAgICAgICBjb25zdCBkcm9wU3FsID0gdGhpcy5zY2hlbWFHZW5lcmF0b3IuZ2VuZXJhdGVEcm9wVGFibGUoZW50aXR5KTtcbiAgICAgICAgdGhpcy5sb2dnZXIoYEV4ZWN1dGluZzogJHtkcm9wU3FsfWApO1xuICAgICAgICBhd2FpdCBxdWVyaWVyLnJ1bihkcm9wU3FsKTtcbiAgICAgIH1cblxuICAgICAgLy8gQ3JlYXRlIGFsbCB0YWJsZXNcbiAgICAgIGZvciAoY29uc3QgZW50aXR5IG9mIGVudGl0aWVzKSB7XG4gICAgICAgIGNvbnN0IGNyZWF0ZVNxbCA9IHRoaXMuc2NoZW1hR2VuZXJhdG9yLmdlbmVyYXRlQ3JlYXRlVGFibGUoZW50aXR5KTtcbiAgICAgICAgdGhpcy5sb2dnZXIoYEV4ZWN1dGluZzogJHtjcmVhdGVTcWx9YCk7XG4gICAgICAgIGF3YWl0IHF1ZXJpZXIucnVuKGNyZWF0ZVNxbCk7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IHF1ZXJpZXIuY29tbWl0VHJhbnNhY3Rpb24oKTtcbiAgICAgIHRoaXMubG9nZ2VyKCdTY2hlbWEgc3luYyAoZm9yY2UpIGNvbXBsZXRlZCcpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBhd2FpdCBxdWVyaWVyLnJvbGxiYWNrVHJhbnNhY3Rpb24oKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBxdWVyaWVyLnJlbGVhc2UoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2FmZWx5IHN5bmNocm9uaXplcyB0aGUgc2NoZW1hIGJ5IG9ubHkgYWRkaW5nIG1pc3NpbmcgdGFibGVzIGFuZCBjb2x1bW5zLlxuICAgKi9cbiAgYXN5bmMgYXV0b1N5bmMob3B0aW9uczogeyBzYWZlPzogYm9vbGVhbjsgZHJvcD86IGJvb2xlYW47IGxvZ2dpbmc/OiBib29sZWFuIH0gPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5zY2hlbWFHZW5lcmF0b3IgfHwgIXRoaXMuc2NoZW1hSW50cm9zcGVjdG9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NjaGVtYSBnZW5lcmF0b3IgYW5kIGludHJvc3BlY3RvciBtdXN0IGJlIHNldCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGRpZmZzID0gYXdhaXQgdGhpcy5nZXREaWZmcygpO1xuICAgIGNvbnN0IHN0YXRlbWVudHM6IHN0cmluZ1tdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGRpZmYgb2YgZGlmZnMpIHtcbiAgICAgIGlmIChkaWZmLnR5cGUgPT09ICdjcmVhdGUnKSB7XG4gICAgICAgIGNvbnN0IGVudGl0eSA9IHRoaXMuZmluZEVudGl0eUZvclRhYmxlKGRpZmYudGFibGVOYW1lKTtcbiAgICAgICAgaWYgKGVudGl0eSkge1xuICAgICAgICAgIHN0YXRlbWVudHMucHVzaCh0aGlzLnNjaGVtYUdlbmVyYXRvci5nZW5lcmF0ZUNyZWF0ZVRhYmxlKGVudGl0eSkpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGRpZmYudHlwZSA9PT0gJ2FsdGVyJykge1xuICAgICAgICBjb25zdCBmaWx0ZXJlZERpZmYgPSB0aGlzLmZpbHRlckRpZmYoZGlmZiwgb3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IGFsdGVyU3RhdGVtZW50cyA9IHRoaXMuc2NoZW1hR2VuZXJhdG9yLmdlbmVyYXRlQWx0ZXJUYWJsZShmaWx0ZXJlZERpZmYpO1xuICAgICAgICBzdGF0ZW1lbnRzLnB1c2goLi4uYWx0ZXJTdGF0ZW1lbnRzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3RhdGVtZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIGlmIChvcHRpb25zLmxvZ2dpbmcpIHRoaXMubG9nZ2VyKCdTY2hlbWEgaXMgYWxyZWFkeSBpbiBzeW5jLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuZXhlY3V0ZVN5bmNTdGF0ZW1lbnRzKHN0YXRlbWVudHMsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJEaWZmKGRpZmY6IFNjaGVtYURpZmYsIG9wdGlvbnM6IHsgc2FmZT86IGJvb2xlYW47IGRyb3A/OiBib29sZWFuIH0pOiBTY2hlbWFEaWZmIHtcbiAgICBjb25zdCBmaWx0ZXJlZERpZmYgPSB7IC4uLmRpZmYgfSBhcyB7IC1yZWFkb25seSBbSyBpbiBrZXlvZiBTY2hlbWFEaWZmXTogU2NoZW1hRGlmZltLXSB9O1xuICAgIGlmIChvcHRpb25zLnNhZmUgIT09IGZhbHNlKSB7XG4gICAgICAvLyBJbiBzYWZlIG1vZGUsIHdlIG9ubHkgYWxsb3cgYWRkaXRpb25zXG4gICAgICBkZWxldGUgZmlsdGVyZWREaWZmLmNvbHVtbnNUb0Ryb3A7XG4gICAgICBkZWxldGUgZmlsdGVyZWREaWZmLmluZGV4ZXNUb0Ryb3A7XG4gICAgICBkZWxldGUgZmlsdGVyZWREaWZmLmZvcmVpZ25LZXlzVG9Ecm9wO1xuICAgIH1cbiAgICBpZiAoIW9wdGlvbnMuZHJvcCkge1xuICAgICAgZGVsZXRlIGZpbHRlcmVkRGlmZi5jb2x1bW5zVG9Ecm9wO1xuICAgIH1cbiAgICByZXR1cm4gZmlsdGVyZWREaWZmO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBleGVjdXRlU3luY1N0YXRlbWVudHMoc3RhdGVtZW50czogc3RyaW5nW10sIG9wdGlvbnM6IHsgbG9nZ2luZz86IGJvb2xlYW4gfSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHF1ZXJpZXIgPSBhd2FpdCB0aGlzLnF1ZXJpZXJQb29sLmdldFF1ZXJpZXIoKTtcbiAgICB0cnkge1xuICAgICAgaWYgKHRoaXMuZGlhbGVjdCA9PT0gJ21vbmdvZGInKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuZXhlY3V0ZU1vbmdvU3luY1N0YXRlbWVudHMoc3RhdGVtZW50cywgb3B0aW9ucywgcXVlcmllciBhcyBNb25nb1F1ZXJpZXIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXdhaXQgdGhpcy5leGVjdXRlU3FsU3luY1N0YXRlbWVudHMoc3RhdGVtZW50cywgb3B0aW9ucywgcXVlcmllcik7XG4gICAgICB9XG4gICAgICBpZiAob3B0aW9ucy5sb2dnaW5nKSB0aGlzLmxvZ2dlcignU2NoZW1hIHN5bmNocm9uaXphdGlvbiBjb21wbGV0ZWQnKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKHRoaXMuZGlhbGVjdCAhPT0gJ21vbmdvZGInICYmIGlzU3FsUXVlcmllcihxdWVyaWVyKSkge1xuICAgICAgICBhd2FpdCBxdWVyaWVyLnJvbGxiYWNrVHJhbnNhY3Rpb24oKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBxdWVyaWVyLnJlbGVhc2UoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV4ZWN1dGVNb25nb1N5bmNTdGF0ZW1lbnRzKFxuICAgIHN0YXRlbWVudHM6IHN0cmluZ1tdLFxuICAgIG9wdGlvbnM6IHsgbG9nZ2luZz86IGJvb2xlYW4gfSxcbiAgICBxdWVyaWVyOiBNb25nb1F1ZXJpZXIsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGRiID0gcXVlcmllci5kYjtcbiAgICBmb3IgKGNvbnN0IHN0bXQgb2Ygc3RhdGVtZW50cykge1xuICAgICAgY29uc3QgY21kID0gSlNPTi5wYXJzZShzdG10KSBhcyB7XG4gICAgICAgIGFjdGlvbjogc3RyaW5nO1xuICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgICBjb2xsZWN0aW9uPzogc3RyaW5nO1xuICAgICAgICBpbmRleGVzPzogeyBuYW1lOiBzdHJpbmc7IGNvbHVtbnM6IHN0cmluZ1tdOyB1bmlxdWU/OiBib29sZWFuIH1bXTtcbiAgICAgICAga2V5PzogUmVjb3JkPHN0cmluZywgbnVtYmVyPjtcbiAgICAgICAgb3B0aW9ucz86IGFueTtcbiAgICAgIH07XG4gICAgICBpZiAob3B0aW9ucy5sb2dnaW5nKSB0aGlzLmxvZ2dlcihgRXhlY3V0aW5nIE1vbmdvREI6ICR7c3RtdH1gKTtcblxuICAgICAgY29uc3QgY29sbGVjdGlvbk5hbWUgPSBjbWQubmFtZSB8fCBjbWQuY29sbGVjdGlvbjtcbiAgICAgIGlmICghY29sbGVjdGlvbk5hbWUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNb25nb0RCIGNvbW1hbmQgbWlzc2luZyBjb2xsZWN0aW9uIG5hbWU6ICR7c3RtdH1gKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBkYi5jb2xsZWN0aW9uKGNvbGxlY3Rpb25OYW1lKTtcblxuICAgICAgaWYgKGNtZC5hY3Rpb24gPT09ICdjcmVhdGVDb2xsZWN0aW9uJykge1xuICAgICAgICBhd2FpdCBkYi5jcmVhdGVDb2xsZWN0aW9uKGNtZC5uYW1lKTtcbiAgICAgICAgaWYgKGNtZC5pbmRleGVzPy5sZW5ndGgpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGlkeCBvZiBjbWQuaW5kZXhlcykge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gT2JqZWN0LmZyb21FbnRyaWVzKGlkeC5jb2x1bW5zLm1hcCgoYzogc3RyaW5nKSA9PiBbYywgMV0pKTtcbiAgICAgICAgICAgIGF3YWl0IGNvbGxlY3Rpb24uY3JlYXRlSW5kZXgoa2V5LCB7IHVuaXF1ZTogaWR4LnVuaXF1ZSwgbmFtZTogaWR4Lm5hbWUgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGNtZC5hY3Rpb24gPT09ICdkcm9wQ29sbGVjdGlvbicpIHtcbiAgICAgICAgYXdhaXQgY29sbGVjdGlvbi5kcm9wKCk7XG4gICAgICB9IGVsc2UgaWYgKGNtZC5hY3Rpb24gPT09ICdjcmVhdGVJbmRleCcpIHtcbiAgICAgICAgYXdhaXQgY29sbGVjdGlvbi5jcmVhdGVJbmRleChjbWQua2V5LCBjbWQub3B0aW9ucyk7XG4gICAgICB9IGVsc2UgaWYgKGNtZC5hY3Rpb24gPT09ICdkcm9wSW5kZXgnKSB7XG4gICAgICAgIGF3YWl0IGNvbGxlY3Rpb24uZHJvcEluZGV4KGNtZC5uYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV4ZWN1dGVTcWxTeW5jU3RhdGVtZW50cyhcbiAgICBzdGF0ZW1lbnRzOiBzdHJpbmdbXSxcbiAgICBvcHRpb25zOiB7IGxvZ2dpbmc/OiBib29sZWFuIH0sXG4gICAgcXVlcmllcjogUXVlcmllcixcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFpc1NxbFF1ZXJpZXIocXVlcmllcikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlncmF0b3IgcmVxdWlyZXMgYSBTUUwtYmFzZWQgcXVlcmllciBmb3IgdGhpcyBkaWFsZWN0Jyk7XG4gICAgfVxuICAgIGF3YWl0IHF1ZXJpZXIuYmVnaW5UcmFuc2FjdGlvbigpO1xuICAgIGZvciAoY29uc3Qgc3FsIG9mIHN0YXRlbWVudHMpIHtcbiAgICAgIGlmIChvcHRpb25zLmxvZ2dpbmcpIHRoaXMubG9nZ2VyKGBFeGVjdXRpbmc6ICR7c3FsfWApO1xuICAgICAgYXdhaXQgcXVlcmllci5ydW4oc3FsKTtcbiAgICB9XG4gICAgYXdhaXQgcXVlcmllci5jb21taXRUcmFuc2FjdGlvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBtaWdyYXRpb24gc3RhdHVzXG4gICAqL1xuICBhc3luYyBzdGF0dXMoKTogUHJvbWlzZTx7IHBlbmRpbmc6IHN0cmluZ1tdOyBleGVjdXRlZDogc3RyaW5nW10gfT4ge1xuICAgIGNvbnN0IFtwZW5kaW5nLCBleGVjdXRlZF0gPSBhd2FpdCBQcm9taXNlLmFsbChbdGhpcy5wZW5kaW5nKCkudGhlbigobSkgPT4gbS5tYXAoKHgpID0+IHgubmFtZSkpLCB0aGlzLmV4ZWN1dGVkKCldKTtcblxuICAgIHJldHVybiB7IHBlbmRpbmcsIGV4ZWN1dGVkIH07XG4gIH1cblxuICAvKipcbiAgICogR2V0IG1pZ3JhdGlvbiBmaWxlcyBmcm9tIHRoZSBtaWdyYXRpb25zIGRpcmVjdG9yeVxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBnZXRNaWdyYXRpb25GaWxlcygpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGZpbGVzID0gYXdhaXQgcmVhZGRpcih0aGlzLm1pZ3JhdGlvbnNQYXRoKTtcbiAgICAgIHJldHVybiBmaWxlc1xuICAgICAgICAuZmlsdGVyKChmKSA9PiAvXFwuKHRzfGpzfG1qcykkLy50ZXN0KGYpKVxuICAgICAgICAuZmlsdGVyKChmKSA9PiAhZi5lbmRzV2l0aCgnLmQudHMnKSlcbiAgICAgICAgLnNvcnQoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKChlcnJvciBhcyBOb2RlSlMuRXJybm9FeGNlcHRpb24pLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIGEgbWlncmF0aW9uIGZyb20gYSBmaWxlXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGxvYWRNaWdyYXRpb24oZmlsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8TWlncmF0aW9uIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgZmlsZVBhdGggPSBqb2luKHRoaXMubWlncmF0aW9uc1BhdGgsIGZpbGVOYW1lKTtcbiAgICBjb25zdCBmaWxlVXJsID0gcGF0aFRvRmlsZVVSTChmaWxlUGF0aCkuaHJlZjtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBtb2R1bGUgPSBhd2FpdCBpbXBvcnQoZmlsZVVybCk7XG4gICAgICBjb25zdCBtaWdyYXRpb24gPSBtb2R1bGUuZGVmYXVsdCA/PyBtb2R1bGU7XG5cbiAgICAgIGlmICh0aGlzLmlzTWlncmF0aW9uKG1pZ3JhdGlvbikpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBuYW1lOiB0aGlzLmdldE1pZ3JhdGlvbk5hbWUoZmlsZU5hbWUpLFxuICAgICAgICAgIHVwOiBtaWdyYXRpb24udXAuYmluZChtaWdyYXRpb24pLFxuICAgICAgICAgIGRvd246IG1pZ3JhdGlvbi5kb3duLmJpbmQobWlncmF0aW9uKSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sb2dnZXIoYFdhcm5pbmc6ICR7ZmlsZU5hbWV9IGlzIG5vdCBhIHZhbGlkIG1pZ3JhdGlvbmApO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5sb2dnZXIoYEVycm9yIGxvYWRpbmcgbWlncmF0aW9uICR7ZmlsZU5hbWV9OiAkeyhlcnJvciBhcyBFcnJvcikubWVzc2FnZX1gKTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGFuIG9iamVjdCBpcyBhIHZhbGlkIG1pZ3JhdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBpc01pZ3JhdGlvbihvYmo6IHVua25vd24pOiBvYmogaXMgTWlncmF0aW9uRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiBvYmogPT09ICdvYmplY3QnICYmXG4gICAgICBvYmogIT09IHVuZGVmaW5lZCAmJlxuICAgICAgb2JqICE9PSBudWxsICYmXG4gICAgICB0eXBlb2YgKG9iaiBhcyBNaWdyYXRpb25EZWZpbml0aW9uKS51cCA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgdHlwZW9mIChvYmogYXMgTWlncmF0aW9uRGVmaW5pdGlvbikuZG93biA9PT0gJ2Z1bmN0aW9uJ1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRXh0cmFjdCBtaWdyYXRpb24gbmFtZSBmcm9tIGZpbGVuYW1lXG4gICAqL1xuICBwcml2YXRlIGdldE1pZ3JhdGlvbk5hbWUoZmlsZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGJhc2VuYW1lKGZpbGVOYW1lLCBleHRuYW1lKGZpbGVOYW1lKSk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgdGltZXN0YW1wIHN0cmluZyBmb3IgbWlncmF0aW9uIG5hbWVzXG4gICAqL1xuICBwcml2YXRlIGdldFRpbWVzdGFtcCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgcmV0dXJuIFtcbiAgICAgIG5vdy5nZXRGdWxsWWVhcigpLFxuICAgICAgU3RyaW5nKG5vdy5nZXRNb250aCgpICsgMSkucGFkU3RhcnQoMiwgJzAnKSxcbiAgICAgIFN0cmluZyhub3cuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCAnMCcpLFxuICAgICAgU3RyaW5nKG5vdy5nZXRIb3VycygpKS5wYWRTdGFydCgyLCAnMCcpLFxuICAgICAgU3RyaW5nKG5vdy5nZXRNaW51dGVzKCkpLnBhZFN0YXJ0KDIsICcwJyksXG4gICAgICBTdHJpbmcobm93LmdldFNlY29uZHMoKSkucGFkU3RhcnQoMiwgJzAnKSxcbiAgICBdLmpvaW4oJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgYSBzdHJpbmcgdG8gYSBzbHVnIGZvciBmaWxlbmFtZXNcbiAgICovXG4gIHByaXZhdGUgc2x1Z2lmeSh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0ZXh0XG4gICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgLnJlcGxhY2UoL1teYS16MC05XSsvZywgJ18nKVxuICAgICAgLnJlcGxhY2UoL15fK3xfKyQvZywgJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIG1pZ3JhdGlvbiBmaWxlIGNvbnRlbnRcbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVNaWdyYXRpb25Db250ZW50KG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIC8qdHMqLyBgaW1wb3J0IHR5cGUgeyBTcWxRdWVyaWVyIH0gZnJvbSAnQHVxbC9taWdyYXRlJztcblxuLyoqXG4gKiBNaWdyYXRpb246ICR7bmFtZX1cbiAqIENyZWF0ZWQ6ICR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfVxuICovXG5leHBvcnQgZGVmYXVsdCB7XG4gIGFzeW5jIHVwKHF1ZXJpZXI6IFNxbFF1ZXJpZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBBZGQgeW91ciBtaWdyYXRpb24gbG9naWMgaGVyZVxuICAgIC8vIEV4YW1wbGU6XG4gICAgLy8gYXdhaXQgcXVlcmllci5ydW4oXFxgXG4gICAgLy8gICBDUkVBVEUgVEFCTEUgXCJ1c2Vyc1wiIChcbiAgICAvLyAgICAgXCJpZFwiIFNFUklBTCBQUklNQVJZIEtFWSxcbiAgICAvLyAgICAgXCJuYW1lXCIgVkFSQ0hBUigyNTUpIE5PVCBOVUxMLFxuICAgIC8vICAgICBcImVtYWlsXCIgVkFSQ0hBUigyNTUpIFVOSVFVRSBOT1QgTlVMTCxcbiAgICAvLyAgICAgXCJjcmVhdGVkQXRcIiBUSU1FU1RBTVAgREVGQVVMVCBDVVJSRU5UX1RJTUVTVEFNUFxuICAgIC8vICAgKVxuICAgIC8vIFxcYCk7XG4gIH0sXG5cbiAgYXN5bmMgZG93bihxdWVyaWVyOiBTcWxRdWVyaWVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gQWRkIHlvdXIgcm9sbGJhY2sgbG9naWMgaGVyZVxuICAgIC8vIEV4YW1wbGU6XG4gICAgLy8gYXdhaXQgcXVlcmllci5ydW4oXFxgRFJPUCBUQUJMRSBJRiBFWElTVFMgXCJ1c2Vyc1wiXFxgKTtcbiAgfSxcbn07XG5gO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIG1pZ3JhdGlvbiBmaWxlIGNvbnRlbnQgd2l0aCBTUUwgc3RhdGVtZW50c1xuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZU1pZ3JhdGlvbkNvbnRlbnRXaXRoU3RhdGVtZW50cyhcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgdXBTdGF0ZW1lbnRzOiBzdHJpbmdbXSxcbiAgICBkb3duU3RhdGVtZW50czogc3RyaW5nW10sXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgdXBTcWwgPSB1cFN0YXRlbWVudHMubWFwKChzKSA9PiAvKnRzKi8gYCAgICBhd2FpdCBxdWVyaWVyLnJ1bihcXGAke3N9XFxgKTtgKS5qb2luKCdcXG4nKTtcbiAgICBjb25zdCBkb3duU3FsID0gZG93blN0YXRlbWVudHMubWFwKChzKSA9PiAvKnRzKi8gYCAgICBhd2FpdCBxdWVyaWVyLnJ1bihcXGAke3N9XFxgKTtgKS5qb2luKCdcXG4nKTtcblxuICAgIHJldHVybiAvKnRzKi8gYGltcG9ydCB0eXBlIHsgU3FsUXVlcmllciB9IGZyb20gJ0B1cWwvbWlncmF0ZSc7XG5cbi8qKlxuICogTWlncmF0aW9uOiAke25hbWV9XG4gKiBDcmVhdGVkOiAke25ldyBEYXRlKCkudG9JU09TdHJpbmcoKX1cbiAqIEdlbmVyYXRlZCBmcm9tIGVudGl0eSBkZWZpbml0aW9uc1xuICovXG5leHBvcnQgZGVmYXVsdCB7XG4gIGFzeW5jIHVwKHF1ZXJpZXI6IFNxbFF1ZXJpZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiR7dXBTcWx9XG4gIH0sXG5cbiAgYXN5bmMgZG93bihxdWVyaWVyOiBTcWxRdWVyaWVyKTogUHJvbWlzZTx2b2lkPiB7XG4ke2Rvd25TcWx9XG4gIH0sXG59O1xuYDtcbiAgfVxufVxuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBkZWZpbmUgYSBtaWdyYXRpb24gd2l0aCBwcm9wZXIgdHlwaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVNaWdyYXRpb24obWlncmF0aW9uOiBNaWdyYXRpb25EZWZpbml0aW9uKTogTWlncmF0aW9uRGVmaW5pdGlvbiB7XG4gIHJldHVybiBtaWdyYXRpb247XG59XG4iXX0=
|
|
600
|
+
//# sourceMappingURL=migrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrator.js","sourceRoot":"","sources":["../../src/migrate/migrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemaGenerator.d.ts","sourceRoot":"","sources":["../../src/migrate/schemaGenerator.ts"],"names":[],"mappings":"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"}
|