{"code":"var __defProp=Object.defineProperty;var __name=(target,value)=>__defProp(target,\"name\",{value,configurable:true});import{existsSync,mkdirSync,readdirSync,statSync,unlinkSync}from\"node:fs\";import{readFile,writeFile}from\"node:fs/promises\";import{basename,resolve}from\"node:path\";import postgres from\"postgres\";const DRIZZLE_SCHEMA=\"drizzle\";const DRIZZLE_MIGRATIONS_TABLE=\"__drizzle_migrations\";const STATEMENT_BREAKPOINT=\"-- paperclip statement breakpoint 69f6f3f1-42fd-46a6-bf17-d1d85f8f3900\";function sanitizeRestoreErrorMessage(error){if(error&&typeof error===\"object\"){const record=error;const firstLine=typeof record.message===\"string\"?record.message.split(/\\r?\\n/,1)[0]?.trim():\"\";const detail=typeof record.detail===\"string\"?record.detail.trim():\"\";const severity=typeof record.severity===\"string\"?record.severity.trim():\"\";const message=firstLine||detail||(error instanceof Error?error.message:String(error));return severity?`${severity}: ${message}`:message}return error instanceof Error?error.message:String(error)}__name(sanitizeRestoreErrorMessage,\"sanitizeRestoreErrorMessage\");function timestamp(date=new Date){const pad=__name(n=>String(n).padStart(2,\"0\"),\"pad\");return`${date.getFullYear()}${pad(date.getMonth()+1)}${pad(date.getDate())}-${pad(date.getHours())}${pad(date.getMinutes())}${pad(date.getSeconds())}`}__name(timestamp,\"timestamp\");function pruneOldBackups(backupDir,retentionDays,filenamePrefix){if(!existsSync(backupDir))return 0;const safeRetention=Math.max(1,Math.trunc(retentionDays));const cutoff=Date.now()-safeRetention*24*60*60*1e3;let pruned=0;for(const name of readdirSync(backupDir)){if(!name.startsWith(`${filenamePrefix}-`)||!name.endsWith(\".sql\"))continue;const fullPath=resolve(backupDir,name);const stat=statSync(fullPath);if(stat.mtimeMs<cutoff){unlinkSync(fullPath);pruned++}}return pruned}__name(pruneOldBackups,\"pruneOldBackups\");function formatBackupSize(sizeBytes){if(sizeBytes<1024)return`${sizeBytes}B`;if(sizeBytes<1024*1024)return`${(sizeBytes/1024).toFixed(1)}K`;return`${(sizeBytes/(1024*1024)).toFixed(1)}M`}__name(formatBackupSize,\"formatBackupSize\");function formatSqlLiteral(value){const sanitized=value.replace(/\\u0000/g,\"\");let tag=\"$paperclip$\";while(sanitized.includes(tag)){tag=`$paperclip_${Math.random().toString(36).slice(2,8)}$`}return`${tag}${sanitized}${tag}`}__name(formatSqlLiteral,\"formatSqlLiteral\");function normalizeTableNameSet(values){return new Set((values??[]).map(value=>value.trim()).filter(value=>value.length>0))}__name(normalizeTableNameSet,\"normalizeTableNameSet\");function normalizeNullifyColumnMap(values){const out=new Map;if(!values)return out;for(const[tableName,columns]of Object.entries(values)){const normalizedTable=tableName.trim();if(normalizedTable.length===0)continue;const normalizedColumns=new Set(columns.map(column=>column.trim()).filter(column=>column.length>0));if(normalizedColumns.size>0){out.set(normalizedTable,normalizedColumns)}}return out}__name(normalizeNullifyColumnMap,\"normalizeNullifyColumnMap\");function quoteIdentifier(value){return`\"${value.replaceAll('\"','\"\"')}\"`}__name(quoteIdentifier,\"quoteIdentifier\");function quoteQualifiedName(schemaName,objectName){return`${quoteIdentifier(schemaName)}.${quoteIdentifier(objectName)}`}__name(quoteQualifiedName,\"quoteQualifiedName\");function tableKey(schemaName,tableName){return`${schemaName}.${tableName}`}__name(tableKey,\"tableKey\");async function runDatabaseBackup(opts){const filenamePrefix=opts.filenamePrefix??\"paperclip\";const retentionDays=Math.max(1,Math.trunc(opts.retentionDays));const connectTimeout=Math.max(1,Math.trunc(opts.connectTimeoutSeconds??5));const includeMigrationJournal=opts.includeMigrationJournal===true;const excludedTableNames=normalizeTableNameSet(opts.excludeTables);const nullifiedColumnsByTable=normalizeNullifyColumnMap(opts.nullifyColumns);const sql=postgres(opts.connectionString,{max:1,connect_timeout:connectTimeout});try{await sql`SELECT 1`;const lines=[];const emit=__name(line=>lines.push(line),\"emit\");const emitStatement=__name(statement=>{emit(statement);emit(STATEMENT_BREAKPOINT)},\"emitStatement\");const emitStatementBoundary=__name(()=>{emit(STATEMENT_BREAKPOINT)},\"emitStatementBoundary\");emit(\"-- Paperclip database backup\");emit(`-- Created: ${new Date().toISOString()}`);emit(\"\");emitStatement(\"BEGIN;\");emitStatement(\"SET LOCAL session_replication_role = replica;\");emitStatement(\"SET LOCAL client_min_messages = warning;\");emit(\"\");const allTables=await sql`\n      SELECT table_schema AS schema_name, table_name AS tablename\n      FROM information_schema.tables\n      WHERE table_type = 'BASE TABLE'\n        AND (\n          table_schema = 'public'\n          OR (${includeMigrationJournal}::boolean AND table_schema = ${DRIZZLE_SCHEMA} AND table_name = ${DRIZZLE_MIGRATIONS_TABLE})\n        )\n      ORDER BY table_schema, table_name\n    `;const tables=allTables;const includedTableNames=new Set(tables.map(({schema_name,tablename})=>tableKey(schema_name,tablename)));const enums=await sql`\n      SELECT t.typname, array_agg(e.enumlabel ORDER BY e.enumsortorder) AS labels\n      FROM pg_type t\n      JOIN pg_enum e ON t.oid = e.enumtypid\n      JOIN pg_namespace n ON t.typnamespace = n.oid\n      WHERE n.nspname = 'public'\n      GROUP BY t.typname\n      ORDER BY t.typname\n    `;for(const e of enums){const labels=e.labels.map(l=>`'${l.replace(/'/g,\"''\")}'`).join(\", \");emitStatement(`CREATE TYPE \"public\".\"${e.typname}\" AS ENUM (${labels});`)}if(enums.length>0)emit(\"\");const allSequences=await sql`\n      SELECT\n        s.sequence_schema,\n        s.sequence_name,\n        s.data_type,\n        s.start_value,\n        s.minimum_value,\n        s.maximum_value,\n        s.increment,\n        s.cycle_option,\n        tblns.nspname AS owner_schema,\n        tbl.relname AS owner_table,\n        attr.attname AS owner_column\n      FROM information_schema.sequences s\n      JOIN pg_class seq ON seq.relname = s.sequence_name\n      JOIN pg_namespace n ON n.oid = seq.relnamespace AND n.nspname = s.sequence_schema\n      LEFT JOIN pg_depend dep ON dep.objid = seq.oid AND dep.deptype = 'a'\n      LEFT JOIN pg_class tbl ON tbl.oid = dep.refobjid\n      LEFT JOIN pg_namespace tblns ON tblns.oid = tbl.relnamespace\n      LEFT JOIN pg_attribute attr ON attr.attrelid = tbl.oid AND attr.attnum = dep.refobjsubid\n      WHERE s.sequence_schema = 'public'\n         OR (${includeMigrationJournal}::boolean AND s.sequence_schema = ${DRIZZLE_SCHEMA})\n      ORDER BY s.sequence_schema, s.sequence_name\n    `;const sequences=allSequences.filter(seq=>!seq.owner_table||includedTableNames.has(tableKey(seq.owner_schema??\"public\",seq.owner_table)));const schemas=new Set;for(const table of tables)schemas.add(table.schema_name);for(const seq of sequences)schemas.add(seq.sequence_schema);const extraSchemas=[...schemas].filter(schemaName=>schemaName!==\"public\");if(extraSchemas.length>0){emit(\"-- Schemas\");for(const schemaName of extraSchemas){emitStatement(`CREATE SCHEMA IF NOT EXISTS ${quoteIdentifier(schemaName)};`)}emit(\"\")}if(sequences.length>0){emit(\"-- Sequences\");for(const seq of sequences){const qualifiedSequenceName=quoteQualifiedName(seq.sequence_schema,seq.sequence_name);emitStatement(`DROP SEQUENCE IF EXISTS ${qualifiedSequenceName} CASCADE;`);emitStatement(`CREATE SEQUENCE ${qualifiedSequenceName} AS ${seq.data_type} INCREMENT BY ${seq.increment} MINVALUE ${seq.minimum_value} MAXVALUE ${seq.maximum_value} START WITH ${seq.start_value}${seq.cycle_option===\"YES\"?\" CYCLE\":\" NO CYCLE\"};`)}emit(\"\")}for(const{schema_name,tablename}of tables){const qualifiedTableName=quoteQualifiedName(schema_name,tablename);const columns=await sql`\n        SELECT column_name, data_type, udt_name, is_nullable, column_default,\n               character_maximum_length, numeric_precision, numeric_scale\n        FROM information_schema.columns\n        WHERE table_schema = ${schema_name} AND table_name = ${tablename}\n        ORDER BY ordinal_position\n      `;emit(`-- Table: ${schema_name}.${tablename}`);emitStatement(`DROP TABLE IF EXISTS ${qualifiedTableName} CASCADE;`);const colDefs=[];for(const col of columns){let typeStr;if(col.data_type===\"USER-DEFINED\"){typeStr=`\"${col.udt_name}\"`}else if(col.data_type===\"ARRAY\"){typeStr=`${col.udt_name.replace(/^_/,\"\")}[]`}else if(col.data_type===\"character varying\"){typeStr=col.character_maximum_length?`varchar(${col.character_maximum_length})`:\"varchar\"}else if(col.data_type===\"numeric\"&&col.numeric_precision!=null){typeStr=col.numeric_scale!=null?`numeric(${col.numeric_precision}, ${col.numeric_scale})`:`numeric(${col.numeric_precision})`}else{typeStr=col.data_type}let def=`  \"${col.column_name}\" ${typeStr}`;if(col.column_default!=null)def+=` DEFAULT ${col.column_default}`;if(col.is_nullable===\"NO\")def+=\" NOT NULL\";colDefs.push(def)}const pk=await sql`\n        SELECT c.conname AS constraint_name,\n               array_agg(a.attname ORDER BY array_position(c.conkey, a.attnum)) AS column_names\n        FROM pg_constraint c\n        JOIN pg_class t ON t.oid = c.conrelid\n        JOIN pg_namespace n ON n.oid = t.relnamespace\n        JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = ANY(c.conkey)\n        WHERE n.nspname = ${schema_name} AND t.relname = ${tablename} AND c.contype = 'p'\n        GROUP BY c.conname\n      `;for(const p of pk){const cols=p.column_names.map(c=>`\"${c}\"`).join(\", \");colDefs.push(`  CONSTRAINT \"${p.constraint_name}\" PRIMARY KEY (${cols})`)}emit(`CREATE TABLE ${qualifiedTableName} (`);emit(colDefs.join(\",\\n\"));emit(\");\");emitStatementBoundary();emit(\"\")}const ownedSequences=sequences.filter(seq=>seq.owner_table&&seq.owner_column);if(ownedSequences.length>0){emit(\"-- Sequence ownership\");for(const seq of ownedSequences){emitStatement(`ALTER SEQUENCE ${quoteQualifiedName(seq.sequence_schema,seq.sequence_name)} OWNED BY ${quoteQualifiedName(seq.owner_schema??\"public\",seq.owner_table)}.${quoteIdentifier(seq.owner_column)};`)}emit(\"\")}const allForeignKeys=await sql`\n      SELECT\n        c.conname AS constraint_name,\n        srcn.nspname AS source_schema,\n        src.relname AS source_table,\n        array_agg(sa.attname ORDER BY array_position(c.conkey, sa.attnum)) AS source_columns,\n        tgtn.nspname AS target_schema,\n        tgt.relname AS target_table,\n        array_agg(ta.attname ORDER BY array_position(c.confkey, ta.attnum)) AS target_columns,\n        CASE c.confupdtype WHEN 'a' THEN 'NO ACTION' WHEN 'r' THEN 'RESTRICT' WHEN 'c' THEN 'CASCADE' WHEN 'n' THEN 'SET NULL' WHEN 'd' THEN 'SET DEFAULT' END AS update_rule,\n        CASE c.confdeltype WHEN 'a' THEN 'NO ACTION' WHEN 'r' THEN 'RESTRICT' WHEN 'c' THEN 'CASCADE' WHEN 'n' THEN 'SET NULL' WHEN 'd' THEN 'SET DEFAULT' END AS delete_rule\n      FROM pg_constraint c\n      JOIN pg_class src ON src.oid = c.conrelid\n      JOIN pg_namespace srcn ON srcn.oid = src.relnamespace\n      JOIN pg_class tgt ON tgt.oid = c.confrelid\n      JOIN pg_namespace tgtn ON tgtn.oid = tgt.relnamespace\n      JOIN pg_attribute sa ON sa.attrelid = src.oid AND sa.attnum = ANY(c.conkey)\n      JOIN pg_attribute ta ON ta.attrelid = tgt.oid AND ta.attnum = ANY(c.confkey)\n      WHERE c.contype = 'f' AND (\n        srcn.nspname = 'public'\n        OR (${includeMigrationJournal}::boolean AND srcn.nspname = ${DRIZZLE_SCHEMA})\n      )\n      GROUP BY c.conname, srcn.nspname, src.relname, tgtn.nspname, tgt.relname, c.confupdtype, c.confdeltype\n      ORDER BY srcn.nspname, src.relname, c.conname\n    `;const fks=allForeignKeys.filter(fk=>includedTableNames.has(tableKey(fk.source_schema,fk.source_table))&&includedTableNames.has(tableKey(fk.target_schema,fk.target_table)));if(fks.length>0){emit(\"-- Foreign keys\");for(const fk of fks){const srcCols=fk.source_columns.map(c=>`\"${c}\"`).join(\", \");const tgtCols=fk.target_columns.map(c=>`\"${c}\"`).join(\", \");emitStatement(`ALTER TABLE ${quoteQualifiedName(fk.source_schema,fk.source_table)} ADD CONSTRAINT \"${fk.constraint_name}\" FOREIGN KEY (${srcCols}) REFERENCES ${quoteQualifiedName(fk.target_schema,fk.target_table)} (${tgtCols}) ON UPDATE ${fk.update_rule} ON DELETE ${fk.delete_rule};`)}emit(\"\")}const allUniqueConstraints=await sql`\n      SELECT c.conname AS constraint_name,\n             n.nspname AS schema_name,\n             t.relname AS tablename,\n             array_agg(a.attname ORDER BY array_position(c.conkey, a.attnum)) AS column_names\n      FROM pg_constraint c\n      JOIN pg_class t ON t.oid = c.conrelid\n      JOIN pg_namespace n ON n.oid = t.relnamespace\n      JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = ANY(c.conkey)\n      WHERE c.contype = 'u' AND (\n        n.nspname = 'public'\n        OR (${includeMigrationJournal}::boolean AND n.nspname = ${DRIZZLE_SCHEMA})\n      )\n      GROUP BY c.conname, n.nspname, t.relname\n      ORDER BY n.nspname, t.relname, c.conname\n    `;const uniques=allUniqueConstraints.filter(entry=>includedTableNames.has(tableKey(entry.schema_name,entry.tablename)));if(uniques.length>0){emit(\"-- Unique constraints\");for(const u of uniques){const cols=u.column_names.map(c=>`\"${c}\"`).join(\", \");emitStatement(`ALTER TABLE ${quoteQualifiedName(u.schema_name,u.tablename)} ADD CONSTRAINT \"${u.constraint_name}\" UNIQUE (${cols});`)}emit(\"\")}const allIndexes=await sql`\n      SELECT schemaname AS schema_name, tablename, indexdef\n      FROM pg_indexes\n      WHERE (\n          schemaname = 'public'\n          OR (${includeMigrationJournal}::boolean AND schemaname = ${DRIZZLE_SCHEMA})\n        )\n        AND indexname NOT IN (\n          SELECT conname FROM pg_constraint c\n          JOIN pg_namespace n ON n.oid = c.connamespace\n          WHERE n.nspname = pg_indexes.schemaname\n        )\n      ORDER BY schemaname, tablename, indexname\n    `;const indexes=allIndexes.filter(entry=>includedTableNames.has(tableKey(entry.schema_name,entry.tablename)));if(indexes.length>0){emit(\"-- Indexes\");for(const idx of indexes){emitStatement(`${idx.indexdef};`)}emit(\"\")}for(const{schema_name,tablename}of tables){const qualifiedTableName=quoteQualifiedName(schema_name,tablename);const count=await sql.unsafe(`SELECT count(*)::int AS n FROM ${qualifiedTableName}`);if(excludedTableNames.has(tablename)||(count[0]?.n??0)===0)continue;const cols=await sql`\n        SELECT column_name, data_type\n        FROM information_schema.columns\n        WHERE table_schema = ${schema_name} AND table_name = ${tablename}\n        ORDER BY ordinal_position\n      `;const colNames=cols.map(c=>`\"${c.column_name}\"`).join(\", \");emit(`-- Data for: ${schema_name}.${tablename} (${count[0].n} rows)`);const rows=await sql.unsafe(`SELECT * FROM ${qualifiedTableName}`).values();const nullifiedColumns=nullifiedColumnsByTable.get(tablename)??new Set;for(const row of rows){const values=row.map((rawValue,index)=>{const columnName=cols[index]?.column_name;const val=columnName&&nullifiedColumns.has(columnName)?null:rawValue;if(val===null||val===void 0)return\"NULL\";if(typeof val===\"boolean\")return val?\"true\":\"false\";if(typeof val===\"number\")return String(val);if(val instanceof Date)return formatSqlLiteral(val.toISOString());if(typeof val===\"object\")return formatSqlLiteral(JSON.stringify(val));return formatSqlLiteral(String(val))});emitStatement(`INSERT INTO ${qualifiedTableName} (${colNames}) VALUES (${values.join(\", \")});`)}emit(\"\")}if(sequences.length>0){emit(\"-- Sequence values\");for(const seq of sequences){const qualifiedSequenceName=quoteQualifiedName(seq.sequence_schema,seq.sequence_name);const val=await sql.unsafe(`SELECT last_value::text, is_called FROM ${qualifiedSequenceName}`);const skipSequenceValue=seq.owner_table!==null&&excludedTableNames.has(seq.owner_table);if(val[0]&&!skipSequenceValue){emitStatement(`SELECT setval('${qualifiedSequenceName.replaceAll(\"'\",\"''\")}', ${val[0].last_value}, ${val[0].is_called?\"true\":\"false\"});`)}}emit(\"\")}emitStatement(\"COMMIT;\");emit(\"\");mkdirSync(opts.backupDir,{recursive:true});const backupFile=resolve(opts.backupDir,`${filenamePrefix}-${timestamp()}.sql`);await writeFile(backupFile,lines.join(\"\\n\"),\"utf8\");const sizeBytes=statSync(backupFile).size;const prunedCount=pruneOldBackups(opts.backupDir,retentionDays,filenamePrefix);return{backupFile,sizeBytes,prunedCount}}finally{await sql.end()}}__name(runDatabaseBackup,\"runDatabaseBackup\");async function runDatabaseRestore(opts){const connectTimeout=Math.max(1,Math.trunc(opts.connectTimeoutSeconds??5));const sql=postgres(opts.connectionString,{max:1,connect_timeout:connectTimeout});try{await sql`SELECT 1`;const contents=await readFile(opts.backupFile,\"utf8\");const statements=contents.split(STATEMENT_BREAKPOINT).map(statement=>statement.trim()).filter(statement=>statement.length>0);for(const statement of statements){await sql.unsafe(statement).execute()}}catch(error){const statementPreview=typeof error===\"object\"&&error!==null&&typeof error.query===\"string\"?String(error.query).split(/\\r?\\n/).map(line=>line.trim()).find(line=>line.length>0&&!line.startsWith(\"--\")):null;throw new Error(`Failed to restore ${basename(opts.backupFile)}: ${sanitizeRestoreErrorMessage(error)}${statementPreview?` [statement: ${statementPreview.slice(0,120)}]`:\"\"}`)}finally{await sql.end()}}__name(runDatabaseRestore,\"runDatabaseRestore\");function formatDatabaseBackupResult(result){const size=formatBackupSize(result.sizeBytes);const pruned=result.prunedCount>0?`; pruned ${result.prunedCount} old backup(s)`:\"\";return`${result.backupFile} (${size}${pruned})`}__name(formatDatabaseBackupResult,\"formatDatabaseBackupResult\");export{formatDatabaseBackupResult,runDatabaseBackup,runDatabaseRestore};\n","warnings":[],"map":{"version":3,"mappings":"kHAAA,OAAS,WAAY,UAAW,YAAa,SAAU,eAAkB,UACzE,OAAS,SAAU,cAAiB,mBACpC,OAAS,SAAU,YAAe,YAClC,OAAO,aAAc,WA4CrB,MAAM,eAAiB,UACvB,MAAM,yBAA2B,uBAEjC,MAAM,qBAAuB,yEAE7B,SAAS,4BAA4B,MAAwB,CAC3D,GAAI,OAAS,OAAO,QAAU,SAAU,CACtC,MAAM,OAAS,MACf,MAAM,UAAY,OAAO,OAAO,UAAY,SACxC,OAAO,QAAQ,MAAM,QAAS,CAAC,EAAE,CAAC,GAAG,KAAK,EAC1C,GACJ,MAAM,OAAS,OAAO,OAAO,SAAW,SAAW,OAAO,OAAO,KAAK,EAAI,GAC1E,MAAM,SAAW,OAAO,OAAO,WAAa,SAAW,OAAO,SAAS,KAAK,EAAI,GAChF,MAAM,QAAU,WAAa,SAAW,iBAAiB,MAAQ,MAAM,QAAU,OAAO,KAAK,GAC7F,OAAO,SAAW,GAAG,QAAQ,KAAK,OAAO,GAAK,OAChD,CACA,OAAO,iBAAiB,MAAQ,MAAM,QAAU,OAAO,KAAK,CAC9D,CAZS,kEAcT,SAAS,UAAU,KAAa,IAAI,KAAgB,CAClD,MAAM,IAAM,OAAC,GAAc,OAAO,CAAC,EAAE,SAAS,EAAG,GAAG,EAAxC,OACZ,MAAO,GAAG,KAAK,YAAY,CAAC,GAAG,IAAI,KAAK,SAAS,EAAI,CAAC,CAAC,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,EACzJ,CAHS,8BAKT,SAAS,gBAAgB,UAAmB,cAAuB,eAAgC,CACjG,GAAI,CAAC,WAAW,SAAS,EAAG,MAAO,GACnC,MAAM,cAAgB,KAAK,IAAI,EAAG,KAAK,MAAM,aAAa,CAAC,EAC3D,MAAM,OAAS,KAAK,IAAI,EAAI,cAAgB,GAAK,GAAK,GAAK,IAC3D,IAAI,OAAS,EAEb,UAAW,QAAQ,YAAY,SAAS,EAAG,CACzC,GAAI,CAAC,KAAK,WAAW,GAAG,cAAc,GAAG,GAAK,CAAC,KAAK,SAAS,MAAM,EAAG,SACtE,MAAM,SAAW,QAAQ,UAAW,IAAI,EACxC,MAAM,KAAO,SAAS,QAAQ,EAC9B,GAAI,KAAK,QAAU,OAAQ,CACzB,WAAW,QAAQ,EACnB,QACF,CACF,CAEA,OAAO,MACT,CAjBS,0CAmBT,SAAS,iBAAiB,UAA2B,CACnD,GAAI,UAAY,KAAM,MAAO,GAAG,SAAS,IACzC,GAAI,UAAY,KAAO,KAAM,MAAO,IAAI,UAAY,MAAM,QAAQ,CAAC,CAAC,IACpE,MAAO,IAAI,WAAa,KAAO,OAAO,QAAQ,CAAC,CAAC,GAClD,CAJS,4CAMT,SAAS,iBAAiB,MAAuB,CAC/C,MAAM,UAAY,MAAM,QAAQ,UAAW,EAAE,EAC7C,IAAI,IAAM,cACV,MAAO,UAAU,SAAS,GAAG,EAAG,CAC9B,IAAM,cAAc,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAG,CAAC,CAAC,GAC5D,CACA,MAAO,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,EACjC,CAPS,4CAST,SAAS,sBAAsB,OAA2C,CACxE,OAAO,IAAI,KACR,QAAU,CAAC,GACT,IAAK,OAAU,MAAM,KAAK,CAAC,EAC3B,OAAQ,OAAU,MAAM,OAAS,CAAC,CACvC,CACF,CANS,sDAQT,SAAS,0BAA0B,OAAwE,CACzG,MAAM,IAAM,IAAI,IAChB,GAAI,CAAC,OAAQ,OAAO,IACpB,SAAW,CAAC,UAAW,OAAO,IAAK,OAAO,QAAQ,MAAM,EAAG,CACzD,MAAM,gBAAkB,UAAU,KAAK,EACvC,GAAI,gBAAgB,SAAW,EAAG,SAClC,MAAM,kBAAoB,IAAI,IAC5B,QACG,IAAK,QAAW,OAAO,KAAK,CAAC,EAC7B,OAAQ,QAAW,OAAO,OAAS,CAAC,CACzC,EACA,GAAI,kBAAkB,KAAO,EAAG,CAC9B,IAAI,IAAI,gBAAiB,iBAAiB,CAC5C,CACF,CACA,OAAO,GACT,CAhBS,8DAkBT,SAAS,gBAAgB,MAAuB,CAC9C,MAAO,IAAI,MAAM,WAAW,IAAM,IAAM,CAAC,GAC3C,CAFS,0CAIT,SAAS,mBAAmB,WAAoB,WAA4B,CAC1E,MAAO,GAAG,gBAAgB,UAAU,CAAC,IAAI,gBAAgB,UAAU,CAAC,EACtE,CAFS,gDAIT,SAAS,SAAS,WAAoB,UAA2B,CAC/D,MAAO,GAAG,UAAU,IAAI,SAAS,EACnC,CAFS,4BAIT,eAAsB,kBAAkB,KAAkE,CACxG,MAAM,eAAiB,KAAK,gBAAkB,YAC9C,MAAM,cAAgB,KAAK,IAAI,EAAG,KAAK,MAAM,KAAK,aAAa,CAAC,EAChE,MAAM,eAAiB,KAAK,IAAI,EAAG,KAAK,MAAM,KAAK,uBAAyB,CAAC,CAAC,EAC9E,MAAM,wBAA0B,KAAK,0BAA4B,KACjE,MAAM,mBAAqB,sBAAsB,KAAK,aAAa,EACnE,MAAM,wBAA0B,0BAA0B,KAAK,cAAc,EAC7E,MAAM,IAAM,SAAS,KAAK,iBAAkB,CAAE,IAAK,EAAG,gBAAiB,cAAe,CAAC,EAEvF,GAAI,CACF,MAAM,cAEN,MAAM,MAAkB,CAAC,EACzB,MAAM,KAAO,OAAC,MAAiB,MAAM,KAAK,IAAI,EAAjC,QACb,MAAM,cAAgB,OAAC,WAAsB,CAC3C,KAAK,SAAS,EACd,KAAK,oBAAoB,CAC3B,EAHsB,iBAItB,MAAM,sBAAwB,WAAM,CAClC,KAAK,oBAAoB,CAC3B,EAF8B,yBAI9B,KAAK,8BAA8B,EACnC,KAAK,eAAe,IAAI,KAAK,EAAE,YAAY,CAAC,EAAE,EAC9C,KAAK,EAAE,EACP,cAAc,QAAQ,EACtB,cAAc,+CAA+C,EAC7D,cAAc,0CAA0C,EACxD,KAAK,EAAE,EAEP,MAAM,UAAY,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAMZ,uBAAuB,gCAAgC,cAAc,qBAAqB,wBAAwB;AAAA;AAAA;AAAA,MAI9H,MAAM,OAAS,UACf,MAAM,mBAAqB,IAAI,IAAI,OAAO,IAAI,CAAC,CAAE,YAAa,SAAU,IAAM,SAAS,YAAa,SAAS,CAAC,CAAC,EAG/G,MAAM,MAAQ,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAUpB,UAAW,KAAK,MAAO,CACrB,MAAM,OAAS,EAAE,OAAO,IAAK,GAAM,IAAI,EAAE,QAAQ,KAAM,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,EAC1E,cAAc,yBAAyB,EAAE,OAAO,cAAc,MAAM,IAAI,CAC1E,CACA,GAAI,MAAM,OAAS,EAAG,KAAK,EAAE,EAE7B,MAAM,aAAe,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAqBhB,uBAAuB,qCAAqC,cAAc;AAAA;AAAA,MAGrF,MAAM,UAAY,aAAa,OAC5B,KAAQ,CAAC,IAAI,aAAe,mBAAmB,IAAI,SAAS,IAAI,cAAgB,SAAU,IAAI,WAAW,CAAC,CAC7G,EAEA,MAAM,QAAU,IAAI,IACpB,UAAW,SAAS,OAAQ,QAAQ,IAAI,MAAM,WAAW,EACzD,UAAW,OAAO,UAAW,QAAQ,IAAI,IAAI,eAAe,EAC5D,MAAM,aAAe,CAAC,GAAG,OAAO,EAAE,OAAQ,YAAe,aAAe,QAAQ,EAChF,GAAI,aAAa,OAAS,EAAG,CAC3B,KAAK,YAAY,EACjB,UAAW,cAAc,aAAc,CACrC,cAAc,+BAA+B,gBAAgB,UAAU,CAAC,GAAG,CAC7E,CACA,KAAK,EAAE,CACT,CAEA,GAAI,UAAU,OAAS,EAAG,CACxB,KAAK,cAAc,EACnB,UAAW,OAAO,UAAW,CAC3B,MAAM,sBAAwB,mBAAmB,IAAI,gBAAiB,IAAI,aAAa,EACvF,cAAc,2BAA2B,qBAAqB,WAAW,EACzE,cACE,mBAAmB,qBAAqB,OAAO,IAAI,SAAS,iBAAiB,IAAI,SAAS,aAAa,IAAI,aAAa,aAAa,IAAI,aAAa,eAAe,IAAI,WAAW,GAAG,IAAI,eAAiB,MAAQ,SAAW,WAAW,GAC5O,CACF,CACA,KAAK,EAAE,CACT,CAGA,SAAW,CAAE,YAAa,SAAU,IAAK,OAAQ,CAC/C,MAAM,mBAAqB,mBAAmB,YAAa,SAAS,EACpE,MAAM,QAAU,MAAM;AAAA;AAAA;AAAA;AAAA,+BAaG,WAAW,qBAAqB,SAAS;AAAA;AAAA,QAIlE,KAAK,aAAa,WAAW,IAAI,SAAS,EAAE,EAC5C,cAAc,wBAAwB,kBAAkB,WAAW,EAEnE,MAAM,QAAoB,CAAC,EAC3B,UAAW,OAAO,QAAS,CACzB,IAAI,QACJ,GAAI,IAAI,YAAc,eAAgB,CACpC,QAAU,IAAI,IAAI,QAAQ,GAC5B,SAAW,IAAI,YAAc,QAAS,CACpC,QAAU,GAAG,IAAI,SAAS,QAAQ,KAAM,EAAE,CAAC,IAC7C,SAAW,IAAI,YAAc,oBAAqB,CAChD,QAAU,IAAI,yBACV,WAAW,IAAI,wBAAwB,IACvC,SACN,SAAW,IAAI,YAAc,WAAa,IAAI,mBAAqB,KAAM,CACvE,QACE,IAAI,eAAiB,KACjB,WAAW,IAAI,iBAAiB,KAAK,IAAI,aAAa,IACtD,WAAW,IAAI,iBAAiB,GACxC,KAAO,CACL,QAAU,IAAI,SAChB,CAEA,IAAI,IAAM,MAAM,IAAI,WAAW,KAAK,OAAO,GAC3C,GAAI,IAAI,gBAAkB,KAAM,KAAO,YAAY,IAAI,cAAc,GACrE,GAAI,IAAI,cAAgB,KAAM,KAAO,YACrC,QAAQ,KAAK,GAAG,CAClB,CAGA,MAAM,GAAK,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAOK,WAAW,oBAAoB,SAAS;AAAA;AAAA,QAG9D,UAAW,KAAK,GAAI,CAClB,MAAM,KAAO,EAAE,aAAa,IAAK,GAAM,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,EAC1D,QAAQ,KAAK,iBAAiB,EAAE,eAAe,kBAAkB,IAAI,GAAG,CAC1E,CAEA,KAAK,gBAAgB,kBAAkB,IAAI,EAC3C,KAAK,QAAQ,KAAK,KAAK,CAAC,EACxB,KAAK,IAAI,EACT,sBAAsB,EACtB,KAAK,EAAE,CACT,CAEA,MAAM,eAAiB,UAAU,OAAQ,KAAQ,IAAI,aAAe,IAAI,YAAY,EACpF,GAAI,eAAe,OAAS,EAAG,CAC7B,KAAK,uBAAuB,EAC5B,UAAW,OAAO,eAAgB,CAChC,cACE,kBAAkB,mBAAmB,IAAI,gBAAiB,IAAI,aAAa,CAAC,aAAa,mBAAmB,IAAI,cAAgB,SAAU,IAAI,WAAY,CAAC,IAAI,gBAAgB,IAAI,YAAa,CAAC,GACnM,CACF,CACA,KAAK,EAAE,CACT,CAGA,MAAM,eAAiB,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cA8BnB,uBAAuB,gCAAgC,cAAc;AAAA;AAAA;AAAA;AAAA,MAK/E,MAAM,IAAM,eAAe,OACxB,IAAO,mBAAmB,IAAI,SAAS,GAAG,cAAe,GAAG,YAAY,CAAC,GACrE,mBAAmB,IAAI,SAAS,GAAG,cAAe,GAAG,YAAY,CAAC,CACzE,EAEA,GAAI,IAAI,OAAS,EAAG,CAClB,KAAK,iBAAiB,EACtB,UAAW,MAAM,IAAK,CACpB,MAAM,QAAU,GAAG,eAAe,IAAK,GAAM,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,EAChE,MAAM,QAAU,GAAG,eAAe,IAAK,GAAM,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,EAChE,cACE,eAAe,mBAAmB,GAAG,cAAe,GAAG,YAAY,CAAC,oBAAoB,GAAG,eAAe,kBAAkB,OAAO,gBAAgB,mBAAmB,GAAG,cAAe,GAAG,YAAY,CAAC,KAAK,OAAO,eAAe,GAAG,WAAW,cAAc,GAAG,WAAW,GAC/Q,CACF,CACA,KAAK,EAAE,CACT,CAGA,MAAM,qBAAuB,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAgBzB,uBAAuB,6BAA6B,cAAc;AAAA;AAAA;AAAA;AAAA,MAK5E,MAAM,QAAU,qBAAqB,OAAQ,OAAU,mBAAmB,IAAI,SAAS,MAAM,YAAa,MAAM,SAAS,CAAC,CAAC,EAE3H,GAAI,QAAQ,OAAS,EAAG,CACtB,KAAK,uBAAuB,EAC5B,UAAW,KAAK,QAAS,CACvB,MAAM,KAAO,EAAE,aAAa,IAAK,GAAM,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,EAC1D,cAAc,eAAe,mBAAmB,EAAE,YAAa,EAAE,SAAS,CAAC,oBAAoB,EAAE,eAAe,aAAa,IAAI,IAAI,CACvI,CACA,KAAK,EAAE,CACT,CAGA,MAAM,WAAa,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,gBAKb,uBAAuB,8BAA8B,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAS/E,MAAM,QAAU,WAAW,OAAQ,OAAU,mBAAmB,IAAI,SAAS,MAAM,YAAa,MAAM,SAAS,CAAC,CAAC,EAEjH,GAAI,QAAQ,OAAS,EAAG,CACtB,KAAK,YAAY,EACjB,UAAW,OAAO,QAAS,CACzB,cAAc,GAAG,IAAI,QAAQ,GAAG,CAClC,CACA,KAAK,EAAE,CACT,CAGA,SAAW,CAAE,YAAa,SAAU,IAAK,OAAQ,CAC/C,MAAM,mBAAqB,mBAAmB,YAAa,SAAS,EACpE,MAAM,MAAQ,MAAM,IAAI,OAAwB,kCAAkC,kBAAkB,EAAE,EACtG,GAAI,mBAAmB,IAAI,SAAS,IAAM,MAAM,CAAC,GAAG,GAAK,KAAO,EAAG,SAGnE,MAAM,KAAO,MAAM;AAAA;AAAA;AAAA,+BAGM,WAAW,qBAAqB,SAAS;AAAA;AAAA,QAGlE,MAAM,SAAW,KAAK,IAAK,GAAM,IAAI,EAAE,WAAW,GAAG,EAAE,KAAK,IAAI,EAEhE,KAAK,gBAAgB,WAAW,IAAI,SAAS,KAAK,MAAM,CAAC,EAAG,CAAC,QAAQ,EAErE,MAAM,KAAO,MAAM,IAAI,OAAO,iBAAiB,kBAAkB,EAAE,EAAE,OAAO,EAC5E,MAAM,iBAAmB,wBAAwB,IAAI,SAAS,GAAK,IAAI,IACvE,UAAW,OAAO,KAAM,CACtB,MAAM,OAAS,IAAI,IAAI,CAAC,SAAmB,QAAU,CACnD,MAAM,WAAa,KAAK,KAAK,GAAG,YAChC,MAAM,IAAM,YAAc,iBAAiB,IAAI,UAAU,EAAI,KAAO,SACpE,GAAI,MAAQ,MAAQ,MAAQ,OAAW,MAAO,OAC9C,GAAI,OAAO,MAAQ,UAAW,OAAO,IAAM,OAAS,QACpD,GAAI,OAAO,MAAQ,SAAU,OAAO,OAAO,GAAG,EAC9C,GAAI,eAAe,KAAM,OAAO,iBAAiB,IAAI,YAAY,CAAC,EAClE,GAAI,OAAO,MAAQ,SAAU,OAAO,iBAAiB,KAAK,UAAU,GAAG,CAAC,EACxE,OAAO,iBAAiB,OAAO,GAAG,CAAC,CACrC,CAAC,EACD,cAAc,eAAe,kBAAkB,KAAK,QAAQ,aAAa,OAAO,KAAK,IAAI,CAAC,IAAI,CAChG,CACA,KAAK,EAAE,CACT,CAGA,GAAI,UAAU,OAAS,EAAG,CACxB,KAAK,oBAAoB,EACzB,UAAW,OAAO,UAAW,CAC3B,MAAM,sBAAwB,mBAAmB,IAAI,gBAAiB,IAAI,aAAa,EACvF,MAAM,IAAM,MAAM,IAAI,OACpB,2CAA2C,qBAAqB,EAClE,EACA,MAAM,kBACJ,IAAI,cAAgB,MACf,mBAAmB,IAAI,IAAI,WAAW,EAC7C,GAAI,IAAI,CAAC,GAAK,CAAC,kBAAmB,CAChC,cAAc,kBAAkB,sBAAsB,WAAW,IAAK,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC,EAAE,UAAY,OAAS,OAAO,IAAI,CAChJ,CACF,CACA,KAAK,EAAE,CACT,CAEA,cAAc,SAAS,EACvB,KAAK,EAAE,EAGP,UAAU,KAAK,UAAW,CAAE,UAAW,IAAK,CAAC,EAC7C,MAAM,WAAa,QAAQ,KAAK,UAAW,GAAG,cAAc,IAAI,UAAU,CAAC,MAAM,EACjF,MAAM,UAAU,WAAY,MAAM,KAAK,IAAI,EAAG,MAAM,EAEpD,MAAM,UAAY,SAAS,UAAU,EAAE,KACvC,MAAM,YAAc,gBAAgB,KAAK,UAAW,cAAe,cAAc,EAEjF,MAAO,CACL,WACA,UACA,WACF,CACF,QAAE,CACA,MAAM,IAAI,IAAI,CAChB,CACF,CA1XsB,8CA4XtB,eAAsB,mBAAmB,KAAgD,CACvF,MAAM,eAAiB,KAAK,IAAI,EAAG,KAAK,MAAM,KAAK,uBAAyB,CAAC,CAAC,EAC9E,MAAM,IAAM,SAAS,KAAK,iBAAkB,CAAE,IAAK,EAAG,gBAAiB,cAAe,CAAC,EAEvF,GAAI,CACF,MAAM,cACN,MAAM,SAAW,MAAM,SAAS,KAAK,WAAY,MAAM,EACvD,MAAM,WAAa,SAChB,MAAM,oBAAoB,EAC1B,IAAK,WAAc,UAAU,KAAK,CAAC,EACnC,OAAQ,WAAc,UAAU,OAAS,CAAC,EAE7C,UAAW,aAAa,WAAY,CAClC,MAAM,IAAI,OAAO,SAAS,EAAE,QAAQ,CACtC,CACF,OAAS,MAAO,CACd,MAAM,iBAAmB,OAAO,QAAU,UAAY,QAAU,MAAQ,OAAQ,MAAkC,QAAU,SACxH,OAAQ,MAAkC,KAAK,EAC9C,MAAM,OAAO,EACb,IAAK,MAAS,KAAK,KAAK,CAAC,EACzB,KAAM,MAAS,KAAK,OAAS,GAAK,CAAC,KAAK,WAAW,IAAI,CAAC,EACzD,KACJ,MAAM,IAAI,MACR,qBAAqB,SAAS,KAAK,UAAU,CAAC,KAAK,4BAA4B,KAAK,CAAC,GAAG,iBAAmB,gBAAgB,iBAAiB,MAAM,EAAG,GAAG,CAAC,IAAM,EAAE,EACnK,CACF,QAAE,CACA,MAAM,IAAI,IAAI,CAChB,CACF,CA5BsB,gDA8Bf,SAAS,2BAA2B,OAAyC,CAClF,MAAM,KAAO,iBAAiB,OAAO,SAAS,EAC9C,MAAM,OAAS,OAAO,YAAc,EAAI,YAAY,OAAO,WAAW,iBAAmB,GACzF,MAAO,GAAG,OAAO,UAAU,KAAK,IAAI,GAAG,MAAM,GAC/C,CAJgB","names":[],"ignoreList":[],"sources":["/var/www/paperclip.westilt.com/packages/db/src/backup-lib.ts"],"sourcesContent":[null]}}