gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-exchange] branch master updated: -merge eufin branch (manually)


From: gnunet
Subject: [taler-exchange] branch master updated: -merge eufin branch (manually)
Date: Sat, 06 Aug 2022 13:26:00 +0200

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new c602e11a -merge eufin branch (manually)
c602e11a is described below

commit c602e11a3642fe9cd59a3526fb4f99912e275092
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sat Aug 6 13:25:54 2022 +0200

    -merge eufin branch (manually)
---
 contrib/taler-bank-manage-testing                  |   174 +-
 contrib/taler-nexus-prepare                        |   233 +-
 src/auditor/auditor-basedb.conf                    |    11 +-
 src/auditor/auditor-basedb.fees                    |   Bin 800 -> 0 bytes
 src/auditor/generate-auditor-basedb.conf           |     4 +-
 src/auditor/generate-auditor-basedb.sh             |   104 +-
 src/auditor/generate-revoke-basedb.sh              |    31 +-
 src/auditor/revoke-basedb.age                      |     1 -
 src/auditor/revoke-basedb.conf                     |     4 +-
 src/auditor/revoke-basedb.fees                     |   Bin 800 -> 0 bytes
 src/auditor/revoke-basedb.mpub                     |     1 -
 src/auditor/revoke-basedb.sql                      | 17003 -------------------
 src/auditor/taler-helper-auditor-wire.c            |     8 +-
 src/auditor/test-auditor.sh                        |   185 +-
 src/auditor/test-revocation.sh                     |   105 +-
 src/testing/test_bank_api.c                        |    20 +-
 src/testing/test_bank_api_nexus.conf               |    10 +-
 .../testing_api_cmd_bank_admin_add_incoming.c      |    20 +
 src/testing/testing_api_cmd_bank_history_credit.c  |    34 +-
 src/testing/testing_api_helpers_bank.c             |    30 +-
 20 files changed, 685 insertions(+), 17293 deletions(-)

diff --git a/contrib/taler-bank-manage-testing 
b/contrib/taler-bank-manage-testing
index 4fa80b17..9be8ac9a 100755
--- a/contrib/taler-bank-manage-testing
+++ b/contrib/taler-bank-manage-testing
@@ -4,24 +4,176 @@
 # testing accounts before launching the bank properly.
 #
 # Takes 3 arguments:
-# $1: the configuration file name
+# $1: the Nexus port (Sandbox port prepends 1 to it)
 # $2: the database name
-# $3: serve-http or serve-uwsgi
+# $3: exchange base URL (used to specify the default exchange)
+# $4: config file (needs patch to specify exchange's PAYTO_URI)
 
 set -eu
 
-if [ "$#" -ne 3 ];
+if [ "$#" -ne 4 ];
 then
-    echo "illegal number of parameters"
+    echo "illegal number of parameters.  \
+Give: Nexus port number, SQLIte file path, exchange base URL, config file 
path."
     exit 1
 fi
 
-# Ensure starting accounts exist
-taler-bank-manage -c $1 --with-db $2 django provide_accounts
-taler-bank-manage -c $1 --with-db $2 django add_bank_account 42
-taler-bank-manage -c $1 --with-db $2 django add_bank_account 43
+# Must not terminate jobs here, as they are needed
+# by the script _importing_ this one.  Those script
+# will then manage the termination.
+# trap cleanup EXIT
 
-taler-bank-manage -c $1 --with-db $2 django changepassword_unsafe Exchange x
+export LIBEUFIN_SANDBOX_DB_CONNECTION="jdbc:sqlite:$2"
+# Create the default demobank.
+libeufin-sandbox config --currency TESTKUDOS default
+export LIBEUFIN_SANDBOX_ADMIN_PASSWORD=secret
+libeufin-sandbox serve --port "1$1" \
+  > libeufin-sandbox-stdout.log \
+  2> libeufin-sandbox-stderr.log &
+echo $! > libeufin-sandbox.pid
+export LIBEUFIN_SANDBOX_URL="http://localhost:1$1/demobanks/default";
+set +e
+echo -n "Waiting for Sandbox.."
+for n in `seq 1 50`; do
+  echo -n "."
+  sleep 1  
+  wget --timeout=1 \
+    --tries=3 --waitretry=0 \
+    -o /dev/null -O /dev/null \
+    $LIBEUFIN_SANDBOX_URL
+  break
+done
+echo OK
 
-# Now run Django for good
-exec taler-bank-manage -c $1 --with-db $2 $3
+register_sandbox_account() {
+    export LIBEUFIN_SANDBOX_USERNAME=$1
+    export LIBEUFIN_SANDBOX_PASSWORD=$2
+    libeufin-cli sandbox \
+      demobank \
+      register --name "$3"
+    unset LIBEUFIN_SANDBOX_USERNAME
+    unset LIBEUFIN_SANDBOX_PASSWORD
+}
+set -e
+echo -n "Register the 'fortytwo' Sandbox user.."
+register_sandbox_account fortytwo x "Forty Two"
+echo OK
+echo -n "Register the 'fortythree' Sandbox user.."
+register_sandbox_account fortythree x "Forty Three"
+echo OK
+echo -n "Register 'exchange' Sandbox user.."
+register_sandbox_account exchange x "Exchange Company"
+echo OK
+echo -n "Register 'tor' Sandbox user.."
+register_sandbox_account tor x "Tor Project"
+echo OK
+echo -n "Register 'gnunet' Sandbox user.."
+register_sandbox_account gnunet x "GNUnet"
+echo OK
+echo -n "Register 'tutorial' Sandbox user.."
+register_sandbox_account tutorial x "Tutorial"
+echo OK
+echo -n "Register 'survey' Sandbox user.."
+register_sandbox_account survey x "Survey"
+echo OK
+echo -n "Specify exchange's PAYTO_URI in the config ..."
+export LIBEUFIN_SANDBOX_USERNAME=exchange
+export LIBEUFIN_SANDBOX_PASSWORD=x
+PAYTO=`libeufin-cli sandbox demobank info --bank-account exchange | jq 
--raw-output '.paytoUri'`
+taler-config -c $4 -s exchange-account-1 -o PAYTO_URI -V $PAYTO
+echo " OK"
+echo -n "Setting this exchange as the bank's default ..."
+EXCHANGE_PAYTO=`libeufin-cli sandbox demobank info --bank-account exchange | 
jq --raw-output '.paytoUri'`
+libeufin-sandbox default-exchange "$3" "$EXCHANGE_PAYTO"
+echo " OK"
+# Prepare EBICS: create Ebics host and Exchange subscriber.
+# Shortly becoming admin to setup Ebics.
+export LIBEUFIN_SANDBOX_USERNAME=admin
+export LIBEUFIN_SANDBOX_PASSWORD=secret
+echo -n "Create EBICS host at Sandbox.."
+libeufin-cli sandbox \
+  --sandbox-url http://localhost:1$1 \
+  ebicshost create --host-id talerebics
+echo OK
+echo -n "Create exchange EBICS subscriber at Sandbox.."
+libeufin-cli sandbox \
+  demobank new-ebicssubscriber --host-id talerebics \
+  --user-id exchangeebics --partner-id talerpartner \
+  --bank-account exchange # that's a username _and_ a bank account name
+echo OK
+unset LIBEUFIN_SANDBOX_USERNAME
+unset LIBEUFIN_SANDBOX_PASSWORD
+# Prepare Nexus, which is the side actually talking
+# to the exchange.
+export LIBEUFIN_NEXUS_DB_CONNECTION="jdbc:sqlite:$2"
+# For convenience, username and password are
+# identical to those used at the Sandbox.
+echo -n Create exchange Nexus user..
+libeufin-nexus superuser exchange --password x
+echo OK
+libeufin-nexus serve --port $1 \
+  2> libeufin-nexus-stderr.log \
+  > libeufin-nexus-stdout.log &
+echo $! > libeufin-nexus.pid
+export LIBEUFIN_NEXUS_URL=http://localhost:$1
+echo -n Waiting for Nexus..
+set +e
+for n in `seq 1 50`; do
+  echo -n "."
+  sleep 1  
+  wget --timeout=1 \
+    --tries=3 --waitretry=0 \
+    -o /dev/null -O /dev/null \
+    $LIBEUFIN_NEXUS_URL
+  break
+done
+set -e
+echo OK
+export LIBEUFIN_NEXUS_USERNAME=exchange
+export LIBEUFIN_NEXUS_PASSWORD=x
+echo -n Creating a EBICS connection at Nexus..
+libeufin-cli connections new-ebics-connection \
+  --ebics-url "http://localhost:1$1/ebicsweb"; \
+  --host-id talerebics \
+  --partner-id talerpartner \
+  --ebics-user-id exchangeebics \
+  talerconn
+echo OK
+echo -n Setup EBICS keying..
+libeufin-cli connections connect talerconn > /dev/null
+echo OK
+echo -n Download bank account name from Sandbox..
+libeufin-cli connections download-bank-accounts talerconn
+echo OK
+echo -n Importing bank account info into Nexus..
+libeufin-cli connections import-bank-account \
+  --offered-account-id exchange \
+  --nexus-bank-account-id exchange-nexus \
+  talerconn
+echo OK
+echo -n Setup payments submission task..
+# Tries every second.
+libeufin-cli accounts task-schedule \
+  --task-type submit \
+  --task-name exchange-payments \
+  --task-cronspec "* * *" \
+  exchange-nexus
+echo OK
+# Tries every second.  Ask C52
+echo -n Setup history fetch task..
+libeufin-cli accounts task-schedule \
+  --task-type fetch \
+  --task-name exchange-history \
+  --task-cronspec "* * *" \
+  --task-param-level report \
+  --task-param-range-type latest \
+  exchange-nexus
+echo OK
+# TBD: create Taler facade.
+echo -n Create the Taler facade at Nexus..
+libeufin-cli facades \
+  new-taler-wire-gateway-facade \
+  --currency TESTKUDOS --facade-name test-facade \
+  talerconn exchange-nexus
+echo OK
+# Facade schema: http://localhost:$1/facades/test-facade/taler-wire-gateway/
diff --git a/contrib/taler-nexus-prepare b/contrib/taler-nexus-prepare
index 66a0b1c1..6a36387d 100755
--- a/contrib/taler-nexus-prepare
+++ b/contrib/taler-nexus-prepare
@@ -1,128 +1,115 @@
-#!/usr/bin/env python3
-# This file is in the public domain.
+#!/bin/bash
 
-from requests import get, post
-from subprocess import call
-import base64
+set -eu
 
 # EBICS details
-EBICS_URL = "http://localhost:5000/ebicsweb";
-HOST_ID = "HOST01"
-PARTNER_ID = "PARTNER1"
-USER_ID = "USER1"
-EBICS_VERSION = "H004"
-
-SUBSCRIBER_IBAN = "ES9121000418450200051332"
-SUBSCRIBER_BIC = "BIC"
-SUBSCRIBER_NAME = "Exchange"
-
-BANK_ACCOUNT_LABEL = "my-bank-account"
-BANK_CONNECTION_LABEL = "my-bank-connection"
+EBICS_URL="http://localhost:5000/ebicsweb";
+HOST_ID="HOST01"
+PARTNER_ID="PARTNER1"
+USER_ID="USER1"
+
+# This is used _both_ at Sandbox and at Nexus.
+# Basically, Nexus imports the offered bank account
+# using the same name used by the Sandbox.
+BANK_ACCOUNT_LABEL="my-bank-account"
+BANK_CONNECTION_LABEL="my-bank-connection"
 FACADE_LABEL="my-facade"
 
-USERNAME="Exchange"
-USER_AUTHORIZATION_HEADER = "basic {}".format(
-    base64.b64encode(b"Exchange:x").decode("utf-8")
-)
-
-def assertResponse(response):
-    if response.status_code != 200:
-        print("Test failed on URL: {}".format(response.url))
-        # stdout/stderr from both services is A LOT of text.
-        # Confusing to dump all that to console.
-        print("Check nexus.log and sandbox.log, probably under /tmp")
-        exit(1)
-    # Allows for finer grained checks.
-    return response
-
-# Create a nexus (super-) user
-check_call(["libeufin-nexus",
-      "superuser",
-      "--db-name", "/tmp/nexus-exchange-test.sqlite3",
-      "Exchange",
-      "--password", "x"]
-)
-
-# Create a EBICS bank connection.
-assertResponse(
-    post(
-        "http://localhost:5001/bank-connections";,
-        json=dict(
-            name=BANK_CONNECTION_LABEL,
-            source="new",
-            type="ebics",
-            data=dict(
-                ebicsURL=EBICS_URL, hostID=HOST_ID, partnerID=PARTNER_ID, 
userID=USER_ID
-            ),
-        ),
-        headers=dict(Authorization=USER_AUTHORIZATION_HEADER),
-    )
-)
-
-# Create a facade
-assertResponse(
-    post(
-        "http://localhost:5001/facades";,
-        json=dict(
-            name=FACADE_LABEL,
-            type="taler-wire-gateway",
-            creator=USERNAME,
-            config=dict(
-                bankAccount=BANK_ACCOUNT_LABEL,
-                bankConnection=BANK_CONNECTION_LABEL,
-                reserveTransferLevel="UNUSED",
-                intervalIncremental="UNUSED"
-            )
-        ),
-        headers=dict(Authorization=USER_AUTHORIZATION_HEADER),
-    )
-)
-
-# Create the EBICS host at the Sandbox.
-assertResponse(
-    post(
-        "http://localhost:5000/admin/ebics/host";,
-        json=dict(hostID=HOST_ID, ebicsVersion=EBICS_VERSION),
-    )
-)
-
-# Create Exchange EBICS subscriber at the Sandbox.
-assertResponse(
-    post(
-        "http://localhost:5000/admin/ebics/subscribers";,
-        json=dict(hostID=HOST_ID, partnerID=PARTNER_ID, userID=USER_ID),
-    )
-)
-
-# Create a bank account associated to the Exchange's EBICS subscriber,
-# again at the Sandbox.
-assertResponse(
-    post(
-        "http://localhost:5000/admin/ebics/bank-accounts";,
-        json=dict(
-            subscriber=dict(hostID=HOST_ID, partnerID=PARTNER_ID, 
userID=USER_ID),
-            iban=SUBSCRIBER_IBAN,
-            bic=SUBSCRIBER_BIC,
-            name=SUBSCRIBER_NAME,
-            label=BANK_ACCOUNT_LABEL,
-        ),
-    )
-)
-
-# 'connect' to the bank: upload+download keys.
-assertResponse(
-    post(
-        
"http://localhost:5001/bank-connections/{}/connect".format(BANK_CONNECTION_LABEL),
-        json=dict(),
-        headers=dict(Authorization=USER_AUTHORIZATION_HEADER),
-    )
-)
-
-# Download bank accounts.
-assertResponse(
-    post(
-        
"http://localhost:5001/bank-connections/{}/ebics/import-accounts".format(BANK_CONNECTION_LABEL),
-        json=dict(),
-        headers=dict(Authorization=USER_AUTHORIZATION_HEADER),
-    )
-)
+export LIBEUFIN_SANDBOX_USERNAME=exchange
+export LIBEUFIN_SANDBOX_PASSWORD=x
+export LIBEUFIN_SANDBOX_URL=http://localhost:5000/demobanks/default
+libeufin-cli sandbox demobank register --name "Exchange Company"
+
+export LIBEUFIN_SANDBOX_USERNAME=fortytwo
+export LIBEUFIN_SANDBOX_PASSWORD=x
+export LIBEUFIN_SANDBOX_URL=http://localhost:5000/demobanks/default
+libeufin-cli sandbox demobank register \
+  --name User42 --iban FR7630006000011234567890189
+
+export LIBEUFIN_SANDBOX_USERNAME=fortythree
+export LIBEUFIN_SANDBOX_PASSWORD=x
+export LIBEUFIN_SANDBOX_URL=http://localhost:5000/demobanks/default
+libeufin-cli sandbox demobank register \
+  --name User43 --iban GB33BUKB20201555555555
+
+export LIBEUFIN_SANDBOX_USERNAME=admin
+export LIBEUFIN_SANDBOX_PASSWORD=secret
+export LIBEUFIN_SANDBOX_URL=http://localhost:5000/demobanks/default
+echo -n "Create EBICS host at Sandbox..."
+libeufin-cli sandbox \
+  --sandbox-url "http://localhost:5000"; \
+  ebicshost create --host-id $HOST_ID
+echo " OK"
+
+echo -n "Create exchange EBICS subscriber at Sandbox..."
+libeufin-cli sandbox \
+  demobank new-ebicssubscriber --host-id $HOST_ID \
+  --user-id $USER_ID --partner-id $PARTNER_ID \
+  --bank-account exchange # that's a username _and_ a bank account name
+echo " OK"
+unset LIBEUFIN_SANDBOX_USERNAME
+unset LIBEUFIN_SANDBOX_PASSWORD
+unset LIBEUFIN_SANDBOX_URL
+
+export LIBEUFIN_NEXUS_USERNAME=exchange
+export LIBEUFIN_NEXUS_PASSWORD=x
+export LIBEUFIN_NEXUS_URL=http://localhost:5001/
+
+echo -n "Create the exchange (super)user at Nexus..."
+libeufin-nexus superuser exchange --password x
+echo " DONE"
+
+echo -n "Creating a EBICS connection at Nexus..."
+libeufin-cli connections new-ebics-connection \
+  --ebics-url $EBICS_URL \
+  --host-id $HOST_ID \
+  --partner-id $PARTNER_ID \
+  --ebics-user-id $USER_ID \
+  $BANK_CONNECTION_LABEL
+echo " OK"
+
+echo -n "Setup EBICS keying..."
+libeufin-cli connections connect $BANK_CONNECTION_LABEL > /dev/null
+echo " OK"
+
+echo -n "Download bank account name from Sandbox..."
+libeufin-cli connections download-bank-accounts $BANK_CONNECTION_LABEL
+echo " OK"
+
+echo -n "Importing bank account info into Nexus..."
+libeufin-cli connections import-bank-account \
+  --offered-account-id exchange \
+  --nexus-bank-account-id $BANK_ACCOUNT_LABEL \
+  $BANK_CONNECTION_LABEL
+echo " OK"
+
+echo -n "Create the Taler facade at Nexus..."
+libeufin-cli facades \
+  new-taler-wire-gateway-facade \
+  --currency KUDOS --facade-name $FACADE_LABEL \
+  $BANK_CONNECTION_LABEL $BANK_ACCOUNT_LABEL
+echo " DONE"
+
+echo -n Setup payments submission task..
+# Tries every second.
+libeufin-cli accounts task-schedule \
+  --task-type submit \
+  --task-name exchange-payments \
+  --task-cronspec "* * *" \
+  $BANK_ACCOUNT_LABEL
+echo OK
+# Tries every second.  Ask C52
+echo -n Setup history fetch task..
+libeufin-cli accounts task-schedule \
+  --task-type fetch \
+  --task-name exchange-history \
+  --task-cronspec "* * *" \
+  --task-param-level report \
+  --task-param-range-type latest \
+  $BANK_ACCOUNT_LABEL
+echo OK
+
+# unset, in case the script gets 'source'd.
+unset LIBEUFIN_NEXUS_USERNAME
+unset LIBEUFIN_NEXUS_PASSWORD
+unset LIBEUFIN_NEXUS_URL
diff --git a/src/auditor/auditor-basedb.conf b/src/auditor/auditor-basedb.conf
index 5f864849..d5f49a13 100644
--- a/src/auditor/auditor-basedb.conf
+++ b/src/auditor/auditor-basedb.conf
@@ -110,7 +110,7 @@ currency = TESTKUDOS
 [merchant-exchange-default]
 CURRENCY = TESTKUDOS
 EXCHANGE_BASE_URL = http://localhost:8081/
-MASTER_KEY = JM0NJXHM6Y6HYAPK2WDFH3HDJ2E9KZWGKM3E0FYRV2V3HCTB3DQ0
+MASTER_KEY = EBN9WPH07EP1SCEXWH9CGZ83S6ERGFXANDD78WF3SV4AKF8X4QH0
 
 [merchant-account-merchant]
 ACTIVE_default = YES
@@ -119,9 +119,9 @@ PAYTO_URI = payto://x-taler-bank/localhost/42
 
 [exchange-accountcredentials-1]
 PASSWORD = x
-USERNAME = Exchange
+USERNAME = exchange
 WIRE_GATEWAY_AUTH_METHOD = basic
-WIRE_GATEWAY_URL = http://localhost:8082/taler-wire-gateway/Exchange/
+WIRE_GATEWAY_URL = 
http://localhost:8082/facades/test-facade/taler-wire-gateway/
 
 [exchange-account-1]
 enable_credit = yes
@@ -154,7 +154,7 @@ CONFIG = postgres:///auditor-basedb
 [exchange]
 LOOKAHEAD_SIGN = 32 weeks 1 day
 SIGNKEY_DURATION = 4 weeks
-MASTER_PUBLIC_KEY = JM0NJXHM6Y6HYAPK2WDFH3HDJ2E9KZWGKM3E0FYRV2V3HCTB3DQ0
+MASTER_PUBLIC_KEY = EBN9WPH07EP1SCEXWH9CGZ83S6ERGFXANDD78WF3SV4AKF8X4QH0
 SIGNKEY_LEGAL_DURATION = 4 weeks
 UNIXPATH = ${TALER_RUNTIME_DIR}/exchange.http
 
@@ -172,7 +172,7 @@ DATABASE = postgres:///auditor-basedb
 CONFIG = postgres:///auditor-basedb
 
 [auditor]
-PUBLIC_KEY = 73NJKBP4MHJF8274K88F4WFWKNYMK8T6MTSE6HHYS6WC01H9YH7G
+PUBLIC_KEY = VZ14T1ZX99S51PCHBKFTGGNJ89ZF9FRY1BSDQXBYZ9H5W2PWETX0
 TINY_AMOUNT = TESTKUDOS:0.01
 BASE_URL = http://localhost:8083/
 
@@ -181,3 +181,4 @@ TALER_CACHE_HOME = $TALER_HOME/.cache/taler/
 TALER_CONFIG_HOME = $TALER_HOME/.config/taler/
 TALER_DATA_HOME = $TALER_HOME/.local/share/taler/
 TALER_HOME = ${PWD}/generate_auditordb_home/
+
diff --git a/src/auditor/auditor-basedb.fees b/src/auditor/auditor-basedb.fees
deleted file mode 100644
index ef2a6d12..00000000
Binary files a/src/auditor/auditor-basedb.fees and /dev/null differ
diff --git a/src/auditor/generate-auditor-basedb.conf 
b/src/auditor/generate-auditor-basedb.conf
index 5540aa3b..af3c28ed 100644
--- a/src/auditor/generate-auditor-basedb.conf
+++ b/src/auditor/generate-auditor-basedb.conf
@@ -74,9 +74,9 @@ enable_debit = yes
 enable_credit = yes
 
 [exchange-accountcredentials-1]
-WIRE_GATEWAY_URL = "http://localhost:8082/taler-wire-gateway/Exchange/";
+WIRE_GATEWAY_URL = 
http://localhost:8082/facades/test-facade/taler-wire-gateway/
 WIRE_GATEWAY_AUTH_METHOD = basic
-USERNAME = Exchange
+USERNAME = exchange
 PASSWORD = x
 
 [merchant-account-merchant]
diff --git a/src/auditor/generate-auditor-basedb.sh 
b/src/auditor/generate-auditor-basedb.sh
index 937ebc1c..4085ae20 100755
--- a/src/auditor/generate-auditor-basedb.sh
+++ b/src/auditor/generate-auditor-basedb.sh
@@ -15,6 +15,20 @@
 #
 set -eu
 
+function get_iban() {
+    export LIBEUFIN_SANDBOX_USERNAME=$1
+    export LIBEUFIN_SANDBOX_PASSWORD=$2
+    export LIBEUFIN_SANDBOX_URL=$BANK_URL
+    libeufin-cli sandbox demobank info --bank-account $1 | jq --raw-output 
'.iban'
+}
+
+function get_payto_uri() {
+    export LIBEUFIN_SANDBOX_USERNAME=$1
+    export LIBEUFIN_SANDBOX_PASSWORD=$2
+    export LIBEUFIN_SANDBOX_URL=$BANK_URL
+    libeufin-cli sandbox demobank info --bank-account $1 | jq --raw-output 
'.paytoUri'
+}
+
 # Cleanup to run whenever we exit
 function cleanup()
 {
@@ -22,6 +36,9 @@ function cleanup()
     do
         kill $n 2> /dev/null || true
     done
+    echo Killing euFin..
+    kill `cat libeufin-sandbox.pid 2> /dev/null` &> /dev/null || true
+    kill `cat libeufin-nexus.pid 2> /dev/null` &> /dev/null || true
     wait
 }
 
@@ -34,10 +51,8 @@ function exit_skip() {
     echo $1
     exit 77
 }
-
 # Where do we write the result?
 BASEDB=${1:-"auditor-basedb"}
-
 # Name of the Postgres database we will use for the script.
 # Will be dropped, do NOT use anything that might be used
 # elsewhere
@@ -47,16 +62,15 @@ export WALLET_DB=${BASEDB:-"wallet"}.wdb
 
 # delete existing wallet database
 rm -f $WALLET_DB
-
+# delete libeufin database
+rm -f $TARGET_DB
 
 # Configuration file will be edited, so we create one
 # from the template.
-CONF=${BASEDB}.conf
-cp generate-auditor-basedb.conf $CONF
-
-
-echo -n "Testing for taler-bank-manage"
-taler-bank-manage --help >/dev/null </dev/null || exit_skip " MISSING"
+CONF_ONCE=${BASEDB}.conf
+cp generate-auditor-basedb.conf $CONF_ONCE
+echo -n "Testing for libeufin"
+libeufin-cli --help >/dev/null </dev/null || exit_skip " MISSING"
 echo " FOUND"
 echo -n "Testing for taler-wallet-cli"
 taler-wallet-cli -v >/dev/null </dev/null || exit_skip " MISSING"
@@ -69,7 +83,7 @@ echo " FOUND"
 pwd
 # Clean up
 
-DATA_DIR=`taler-config -f -c $CONF -s PATHS -o TALER_HOME`
+DATA_DIR=`taler-config -f -c $CONF_ONCE -s PATHS -o TALER_HOME`
 rm -rf $DATA_DIR || true
 
 # reset database
@@ -78,59 +92,59 @@ createdb $TARGET_DB || exit_skip "Could not create database 
$TARGET_DB"
 
 
 # obtain key configuration data
-MASTER_PRIV_FILE=`taler-config -f -c $CONF -s exchange-offline -o 
MASTER_PRIV_FILE`
+MASTER_PRIV_FILE=`taler-config -f -c $CONF_ONCE -s exchange-offline -o 
MASTER_PRIV_FILE`
 MASTER_PRIV_DIR=`dirname $MASTER_PRIV_FILE`
 mkdir -p $MASTER_PRIV_DIR
 gnunet-ecc -g1 $MASTER_PRIV_FILE > /dev/null
 MASTER_PUB=`gnunet-ecc -p $MASTER_PRIV_FILE`
-EXCHANGE_URL=`taler-config -c $CONF -s EXCHANGE -o BASE_URL`
-MERCHANT_PORT=`taler-config -c $CONF -s MERCHANT -o PORT`
+MERCHANT_PORT=`taler-config -c $CONF_ONCE -s MERCHANT -o PORT`
 MERCHANT_URL=http://localhost:${MERCHANT_PORT}/
-BANK_PORT=`taler-config -c $CONF -s BANK -o HTTP_PORT`
-BANK_URL=http://localhost:${BANK_PORT}/
 AUDITOR_URL=http://localhost:8083/
-AUDITOR_PRIV_FILE=`taler-config -f -c $CONF -s AUDITOR -o AUDITOR_PRIV_FILE`
+AUDITOR_PRIV_FILE=`taler-config -f -c $CONF_ONCE -s AUDITOR -o 
AUDITOR_PRIV_FILE`
 AUDITOR_PRIV_DIR=`dirname $AUDITOR_PRIV_FILE`
 mkdir -p $AUDITOR_PRIV_DIR
 gnunet-ecc -g1 $AUDITOR_PRIV_FILE > /dev/null
 AUDITOR_PUB=`gnunet-ecc -p $AUDITOR_PRIV_FILE`
+EXCHANGE_URL=`taler-config -c $CONF_ONCE -s EXCHANGE -o BASE_URL`
+BANK_PORT=`taler-config -c $CONF_ONCE -s BANK -o HTTP_PORT`
+BANK_URL="http://localhost:1${BANK_PORT}/demobanks/default";
 
 echo "AUDITOR PUB is $AUDITOR_PUB using file $AUDITOR_PRIV_FILE"
 
 # patch configuration
-taler-config -c $CONF -s exchange -o MASTER_PUBLIC_KEY -V $MASTER_PUB
-taler-config -c $CONF -s auditor -o PUBLIC_KEY -V $AUDITOR_PUB
-taler-config -c $CONF -s merchant-exchange-default -o MASTER_KEY -V $MASTER_PUB
-taler-config -c $CONF -s exchangedb-postgres -o CONFIG -V 
postgres:///$TARGET_DB
-taler-config -c $CONF -s auditordb-postgres -o CONFIG -V postgres:///$TARGET_DB
-taler-config -c $CONF -s merchantdb-postgres -o CONFIG -V 
postgres:///$TARGET_DB
-taler-config -c $CONF -s bank -o database -V postgres:///$TARGET_DB
+taler-config -c $CONF_ONCE -s exchange -o MASTER_PUBLIC_KEY -V $MASTER_PUB
+taler-config -c $CONF_ONCE -s auditor -o PUBLIC_KEY -V $AUDITOR_PUB
+taler-config -c $CONF_ONCE -s merchant-exchange-default -o MASTER_KEY -V 
$MASTER_PUB
+taler-config -c $CONF_ONCE -s exchangedb-postgres -o CONFIG -V 
postgres:///$TARGET_DB
+taler-config -c $CONF_ONCE -s auditordb-postgres -o CONFIG -V 
postgres:///$TARGET_DB
+taler-config -c $CONF_ONCE -s merchantdb-postgres -o CONFIG -V 
postgres:///$TARGET_DB
+taler-config -c $CONF_ONCE -s bank -o database -V postgres:///$TARGET_DB
 
 # setup exchange
 echo "Setting up exchange"
-taler-exchange-dbinit -c $CONF
+taler-exchange-dbinit -c $CONF_ONCE
 
 echo "Setting up merchant"
-taler-merchant-dbinit -c $CONF
+taler-merchant-dbinit -c $CONF_ONCE
 
 # setup auditor
 echo "Setting up auditor"
-taler-auditor-dbinit -c $CONF || exit_skip "Failed to initialize auditor DB"
-taler-auditor-exchange -c $CONF -m $MASTER_PUB -u $EXCHANGE_URL || exit_skip 
"Failed to add exchange to auditor"
+taler-auditor-dbinit -c $CONF_ONCE || exit_skip "Failed to initialize auditor 
DB"
+taler-auditor-exchange -c $CONF_ONCE -m $MASTER_PUB -u $EXCHANGE_URL || 
exit_skip "Failed to add exchange to auditor"
 
 # Launch services
-echo "Launching services"
-taler-bank-manage-testing $CONF postgres:///$TARGET_DB serve &> taler-bank.log 
&
+echo "Launching services (pre audit DB: $TARGET_DB)"
+taler-bank-manage-testing $BANK_PORT $TARGET_DB $EXCHANGE_URL $CONF_ONCE
 TFN=`which taler-exchange-httpd`
 TBINPFX=`dirname $TFN`
 TLIBEXEC=${TBINPFX}/../lib/taler/libexec/
-taler-exchange-secmod-eddsa -c $CONF 2> taler-exchange-secmod-eddsa.log &
-taler-exchange-secmod-rsa -c $CONF 2> taler-exchange-secmod-rsa.log &
-taler-exchange-secmod-cs -c $CONF 2> taler-exchange-secmod-cs.log &
-taler-exchange-httpd -c $CONF 2> taler-exchange-httpd.log &
-taler-merchant-httpd -c $CONF -L INFO 2> taler-merchant-httpd.log &
-taler-exchange-wirewatch -c $CONF 2> taler-exchange-wirewatch.log &
-taler-auditor-httpd -L INFO -c $CONF 2> taler-auditor-httpd.log &
+taler-exchange-secmod-eddsa -c $CONF_ONCE 2> taler-exchange-secmod-eddsa.log &
+taler-exchange-secmod-rsa -c $CONF_ONCE 2> taler-exchange-secmod-rsa.log &
+taler-exchange-secmod-cs -c $CONF_ONCE 2> taler-exchange-secmod-cs.log &
+taler-exchange-httpd -c $CONF_ONCE 2> taler-exchange-httpd.log &
+taler-merchant-httpd -c $CONF_ONCE -L INFO 2> taler-merchant-httpd.log &
+taler-exchange-wirewatch -c $CONF_ONCE 2> taler-exchange-wirewatch.log &
+taler-auditor-httpd -L INFO -c $CONF_ONCE 2> taler-auditor-httpd.log &
 
 # Wait for all bank to be available (usually the slowest)
 for n in `seq 1 50`
@@ -169,14 +183,12 @@ if [ 1 != $OK ]
 then
     exit_skip "Failed to launch services"
 fi
-echo " DONE"
-
 echo -n "Setting up keys"
-taler-exchange-offline -c $CONF \
+taler-exchange-offline -c $CONF_ONCE \
   download sign \
-  enable-account payto://x-taler-bank/localhost/Exchange \
+  enable-account `taler-config -c $CONF_ONCE -s exchange-account-1 -o 
PAYTO_URI` \
   enable-auditor $AUDITOR_PUB $AUDITOR_URL "TESTKUDOS Auditor" \
-  wire-fee now x-taler-bank TESTKUDOS:0.07 TESTKUDOS:0.01 TESTKUDOS:0.01 \
+  wire-fee now iban TESTKUDOS:0.07 TESTKUDOS:0.01 TESTKUDOS:0.01 \
   global-fee now TESTKUDOS:0.01 TESTKUDOS:0.01 TESTKUDOS:0.01 TESTKUDOS:0.01 
1h 1h 1year 5 \
   upload &> taler-exchange-offline.log
 
@@ -199,7 +211,7 @@ fi
 echo " DONE"
 echo -n "Adding auditor signatures ..."
 
-taler-auditor-offline -c $CONF \
+taler-auditor-offline -c $CONF_ONCE \
   download sign upload &> taler-auditor-offline.log
 
 echo " DONE"
@@ -227,16 +239,16 @@ taler-wallet-cli --no-throttle --wallet-db=$WALLET_DB api 
'runIntegrationTest' \
     }' \
     --arg MERCHANT_URL "$MERCHANT_URL" \
     --arg EXCHANGE_URL "$EXCHANGE_URL" \
-    --arg BANK_URL "$BANK_URL"
+    --arg BANK_URL "$BANK_URL/access-api/"
   )" &> taler-wallet-cli.log
 
-
 echo "Shutting down services"
 cleanup
 
 # Dump database
-echo "Dumping database"
+echo "Dumping database ${BASEDB}(-libeufin).sql"
 pg_dump -O $TARGET_DB | sed -e '/AS integer/d' > ${BASEDB}.sql
+sqlite3 $TARGET_DB ".dump" > ${BASEDB}-libeufin.sql
 
 echo $MASTER_PUB > ${BASEDB}.mpub
 
@@ -245,7 +257,7 @@ date +%s > ${BASEDB}.age
 # clean up
 echo "Final clean up"
 dropdb $TARGET_DB
-
+rm $TARGET_DB # libeufin DB
 rm -rf $DATA_DIR || true
 
 echo "====================================="
diff --git a/src/auditor/generate-revoke-basedb.sh 
b/src/auditor/generate-revoke-basedb.sh
index 5ebd0bdb..92b2358b 100755
--- a/src/auditor/generate-revoke-basedb.sh
+++ b/src/auditor/generate-revoke-basedb.sh
@@ -14,9 +14,19 @@ function cleanup()
     do
         kill $n 2> /dev/null || true
     done
+    echo Killing euFin..
+    kill `cat libeufin-sandbox.pid 2> /dev/null` &> /dev/null || true
+    kill `cat libeufin-nexus.pid 2> /dev/null` &> /dev/null || true
     wait
 }
 
+function get_payto_uri() {
+    export LIBEUFIN_SANDBOX_USERNAME=$1
+    export LIBEUFIN_SANDBOX_PASSWORD=$2
+    export LIBEUFIN_SANDBOX_URL=$BANK_URL
+    libeufin-cli sandbox demobank info --bank-account $1 | jq --raw-output 
'.paytoUri'
+}
+
 # Install cleanup handler (except for kill -9)
 trap cleanup EXIT
 
@@ -43,8 +53,8 @@ export CONF=generate-auditor-basedb-revocation.conf
 cp generate-auditor-basedb.conf $CONF
 
 
-echo -n "Testing for taler-bank-manage"
-taler-bank-manage --help >/dev/null </dev/null || exit_skip " MISSING"
+echo -n "Testing for libeufin(-cli)"
+libeufin-cli --help >/dev/null </dev/null || exit_skip " MISSING"
 echo " FOUND"
 echo -n "Testing for taler-wallet-cli"
 taler-wallet-cli -v >/dev/null </dev/null || exit_skip " MISSING"
@@ -53,8 +63,6 @@ echo -n "Testing for curl"
 curl --help >/dev/null </dev/null || exit_skip " MISSING"
 echo " FOUND"
 
-
-
 # Clean up
 DATA_DIR=`taler-config -f -c $CONF -s PATHS -o TALER_HOME`
 rm -rf $DATA_DIR || true
@@ -62,6 +70,7 @@ rm -rf $DATA_DIR || true
 # reset database
 dropdb $TARGET_DB >/dev/null 2>/dev/null || true
 createdb $TARGET_DB || exit_skip "Could not create database $TARGET_DB"
+rm $TARGET_DB >/dev/null 2>/dev/null || true # libeufin
 
 # obtain key configuration data
 MASTER_PRIV_FILE=`taler-config -f -c $CONF -s exchange-offline -o 
MASTER_PRIV_FILE`
@@ -73,7 +82,7 @@ export EXCHANGE_URL=`taler-config -c $CONF -s EXCHANGE -o 
BASE_URL`
 MERCHANT_PORT=`taler-config -c $CONF -s MERCHANT -o PORT`
 export MERCHANT_URL=http://localhost:${MERCHANT_PORT}/
 BANK_PORT=`taler-config -c $CONF -s BANK -o HTTP_PORT`
-export BANK_URL=http://localhost:${BANK_PORT}/
+export BANK_URL=http://localhost:1${BANK_PORT}/demobanks/default
 export AUDITOR_URL=http://localhost:8083/
 AUDITOR_PRIV_FILE=`taler-config -f -c $CONF -s AUDITOR -o AUDITOR_PRIV_FILE`
 AUDITOR_PRIV_DIR=`dirname $AUDITOR_PRIV_FILE`
@@ -105,7 +114,7 @@ taler-auditor-exchange -c $CONF -m $MASTER_PUB -u 
$EXCHANGE_URL
 
 # Launch services
 echo "Launching services"
-taler-bank-manage-testing $CONF postgres:///$TARGET_DB serve &> 
revocation-bank.log &
+taler-bank-manage-testing $BANK_PORT $TARGET_DB $EXCHANGE_URL $CONF
 TFN=`which taler-exchange-httpd`
 TBINPFX=`dirname $TFN`
 TLIBEXEC=${TBINPFX}/../lib/taler/libexec/
@@ -166,9 +175,9 @@ echo -n "Setting up keys"
 
 taler-exchange-offline -c $CONF \
   download sign \
-  enable-account payto://x-taler-bank/localhost/Exchange \
+  enable-account `taler-config -c $CONF -s exchange-account-1 -o PAYTO_URI` \
   enable-auditor $AUDITOR_PUB $AUDITOR_URL "TESTKUDOS Auditor" \
-  wire-fee now x-taler-bank TESTKUDOS:0.01 TESTKUDOS:0.01 TESTKUDOS:0.01 \
+  wire-fee now iban TESTKUDOS:0.01 TESTKUDOS:0.01 TESTKUDOS:0.01 \
   global-fee now TESTKUDOS:0.01 TESTKUDOS:0.01 TESTKUDOS:0.01 TESTKUDOS:0.01 
1h 1h 1year 5 \
   upload &> taler-exchange-offline.log
 
@@ -211,7 +220,7 @@ taler-wallet-cli --no-throttle --wallet-db=$WALLET_DB api 
'withdrawTestBalance'
       bankBaseUrl: $BANK_URL,
       exchangeBaseUrl: $EXCHANGE_URL,
     }' \
-    --arg BANK_URL $BANK_URL \
+    --arg BANK_URL "$BANK_URL/access-api/" \
     --arg EXCHANGE_URL $EXCHANGE_URL
   )"
 
@@ -388,7 +397,10 @@ cleanup
 
 # Dump database
 echo "Dumping database"
+echo "Dumping PostgreSQL database: ${BASEDB}.sql"
 pg_dump -O $TARGET_DB | sed -e '/AS integer/d' > ${BASEDB}.sql
+echo "Dumping libeufin database: ${BASEDB}-libeufin.sql"
+sqlite3 $TARGET_DB ".dump" > ${BASEDB}-libeufin.sql
 
 echo $MASTER_PUB > ${BASEDB}.mpub
 date +%s > ${BASEDB}.age
@@ -396,6 +408,7 @@ date +%s > ${BASEDB}.age
 # clean up
 echo "Final clean up"
 dropdb $TARGET_DB
+rm $TARGET_DB # libeufin
 rm -rf $DATA_DIR || true
 rm -f $CONF
 rm -r $TMP_DIR
diff --git a/src/auditor/revoke-basedb.age b/src/auditor/revoke-basedb.age
deleted file mode 100644
index 9e02070a..00000000
--- a/src/auditor/revoke-basedb.age
+++ /dev/null
@@ -1 +0,0 @@
-1655640625
diff --git a/src/auditor/revoke-basedb.conf b/src/auditor/revoke-basedb.conf
index 5209cc2c..200d7347 100644
--- a/src/auditor/revoke-basedb.conf
+++ b/src/auditor/revoke-basedb.conf
@@ -9,9 +9,9 @@ enable_debit = yes
 enable_credit = yes
 
 [exchange-accountcredentials-1]
-WIRE_GATEWAY_URL = "http://localhost:8082/taler-wire-gateway/Exchange/";
+WIRE_GATEWAY_URL = 
"http://localhost:8082/facades/test-facade/taler-wire-gateway/";
 WIRE_GATEWAY_AUTH_METHOD = basic
-USERNAME = Exchange
+USERNAME = exchange
 PASSWORD = x
 
 [exchangedb]
diff --git a/src/auditor/revoke-basedb.fees b/src/auditor/revoke-basedb.fees
deleted file mode 100644
index d9b45a37..00000000
Binary files a/src/auditor/revoke-basedb.fees and /dev/null differ
diff --git a/src/auditor/revoke-basedb.mpub b/src/auditor/revoke-basedb.mpub
deleted file mode 100644
index 483d1f7d..00000000
--- a/src/auditor/revoke-basedb.mpub
+++ /dev/null
@@ -1 +0,0 @@
-MREDG0XYVSX4RPYSA6JNQZ93P2DDBG45F3M6RBZXRS49M0JTVN40
diff --git a/src/auditor/revoke-basedb.sql b/src/auditor/revoke-basedb.sql
deleted file mode 100644
index f0aff765..00000000
--- a/src/auditor/revoke-basedb.sql
+++ /dev/null
@@ -1,17003 +0,0 @@
---
--- PostgreSQL database dump
---
-
--- Dumped from database version 13.7 (Debian 13.7-0+deb11u1)
--- Dumped by pg_dump version 13.7 (Debian 13.7-0+deb11u1)
-
-SET statement_timeout = 0;
-SET lock_timeout = 0;
-SET idle_in_transaction_session_timeout = 0;
-SET client_encoding = 'UTF8';
-SET standard_conforming_strings = on;
-SELECT pg_catalog.set_config('search_path', '', false);
-SET check_function_bodies = false;
-SET xmloption = content;
-SET client_min_messages = warning;
-SET row_security = off;
-
---
--- Name: _v; Type: SCHEMA; Schema: -; Owner: -
---
-
-CREATE SCHEMA _v;
-
-
---
--- Name: SCHEMA _v; Type: COMMENT; Schema: -; Owner: -
---
-
-COMMENT ON SCHEMA _v IS 'Schema for versioning data and functionality.';
-
-
---
--- Name: assert_patch_is_applied(text); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.assert_patch_is_applied(in_patch_name text) RETURNS text
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-    t_text TEXT;
-BEGIN
-    SELECT patch_name INTO t_text FROM _v.patches WHERE patch_name = 
in_patch_name;
-    IF NOT FOUND THEN
-        RAISE EXCEPTION 'Patch % is not applied!', in_patch_name;
-    END IF;
-    RETURN format('Patch %s is applied.', in_patch_name);
-END;
-$$;
-
-
---
--- Name: FUNCTION assert_patch_is_applied(in_patch_name text); Type: COMMENT; 
Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.assert_patch_is_applied(in_patch_name text) IS 
'Function that can be used to make sure that patch has been applied.';
-
-
---
--- Name: assert_user_is_not_superuser(); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.assert_user_is_not_superuser() RETURNS text
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-    v_super bool;
-BEGIN
-    SELECT usesuper INTO v_super FROM pg_user WHERE usename = current_user;
-    IF v_super THEN
-        RAISE EXCEPTION 'Current user is superuser - cannot continue.';
-    END IF;
-    RETURN 'assert_user_is_not_superuser: OK';
-END;
-$$;
-
-
---
--- Name: FUNCTION assert_user_is_not_superuser(); Type: COMMENT; Schema: _v; 
Owner: -
---
-
-COMMENT ON FUNCTION _v.assert_user_is_not_superuser() IS 'Function that can be 
used to make sure that patch is being applied using normal (not superuser) 
account.';
-
-
---
--- Name: assert_user_is_one_of(text[]); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.assert_user_is_one_of(VARIADIC p_acceptable_users text[]) 
RETURNS text
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-BEGIN
-    IF current_user = any( p_acceptable_users ) THEN
-        RETURN 'assert_user_is_one_of: OK';
-    END IF;
-    RAISE EXCEPTION 'User is not one of: % - cannot continue.', 
p_acceptable_users;
-END;
-$$;
-
-
---
--- Name: FUNCTION assert_user_is_one_of(VARIADIC p_acceptable_users text[]); 
Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.assert_user_is_one_of(VARIADIC p_acceptable_users 
text[]) IS 'Function that can be used to make sure that patch is being applied 
by one of defined users.';
-
-
---
--- Name: assert_user_is_superuser(); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.assert_user_is_superuser() RETURNS text
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-    v_super bool;
-BEGIN
-    SELECT usesuper INTO v_super FROM pg_user WHERE usename = current_user;
-    IF v_super THEN
-        RETURN 'assert_user_is_superuser: OK';
-    END IF;
-    RAISE EXCEPTION 'Current user is not superuser - cannot continue.';
-END;
-$$;
-
-
---
--- Name: FUNCTION assert_user_is_superuser(); Type: COMMENT; Schema: _v; 
Owner: -
---
-
-COMMENT ON FUNCTION _v.assert_user_is_superuser() IS 'Function that can be 
used to make sure that patch is being applied using superuser account.';
-
-
---
--- Name: register_patch(text); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.register_patch(text) RETURNS SETOF integer
-    LANGUAGE sql
-    AS $_$
-    SELECT _v.register_patch( $1, NULL, NULL );
-$_$;
-
-
---
--- Name: FUNCTION register_patch(text); Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.register_patch(text) IS 'Wrapper to allow registration 
of patches without requirements and conflicts.';
-
-
---
--- Name: register_patch(text, text[]); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.register_patch(text, text[]) RETURNS SETOF integer
-    LANGUAGE sql
-    AS $_$
-    SELECT _v.register_patch( $1, $2, NULL );
-$_$;
-
-
---
--- Name: FUNCTION register_patch(text, text[]); Type: COMMENT; Schema: _v; 
Owner: -
---
-
-COMMENT ON FUNCTION _v.register_patch(text, text[]) IS 'Wrapper to allow 
registration of patches without conflicts.';
-
-
---
--- Name: register_patch(text, text[], text[]); Type: FUNCTION; Schema: _v; 
Owner: -
---
-
-CREATE FUNCTION _v.register_patch(in_patch_name text, in_requirements text[], 
in_conflicts text[], OUT versioning integer) RETURNS SETOF integer
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-    t_text   TEXT;
-    t_text_a TEXT[];
-    i INT4;
-BEGIN
-    -- Thanks to this we know only one patch will be applied at a time
-    LOCK TABLE _v.patches IN EXCLUSIVE MODE;
-
-    SELECT patch_name INTO t_text FROM _v.patches WHERE patch_name = 
in_patch_name;
-    IF FOUND THEN
-        RAISE EXCEPTION 'Patch % is already applied!', in_patch_name;
-    END IF;
-
-    t_text_a := ARRAY( SELECT patch_name FROM _v.patches WHERE patch_name = 
any( in_conflicts ) );
-    IF array_upper( t_text_a, 1 ) IS NOT NULL THEN
-        RAISE EXCEPTION 'Versioning patches conflict. Conflicting patche(s) 
installed: %.', array_to_string( t_text_a, ', ' );
-    END IF;
-
-    IF array_upper( in_requirements, 1 ) IS NOT NULL THEN
-        t_text_a := '{}';
-        FOR i IN array_lower( in_requirements, 1 ) .. array_upper( 
in_requirements, 1 ) LOOP
-            SELECT patch_name INTO t_text FROM _v.patches WHERE patch_name = 
in_requirements[i];
-            IF NOT FOUND THEN
-                t_text_a := t_text_a || in_requirements[i];
-            END IF;
-        END LOOP;
-        IF array_upper( t_text_a, 1 ) IS NOT NULL THEN
-            RAISE EXCEPTION 'Missing prerequisite(s): %.', array_to_string( 
t_text_a, ', ' );
-        END IF;
-    END IF;
-
-    INSERT INTO _v.patches (patch_name, applied_tsz, applied_by, requires, 
conflicts ) VALUES ( in_patch_name, now(), current_user, coalesce( 
in_requirements, '{}' ), coalesce( in_conflicts, '{}' ) );
-    RETURN;
-END;
-$$;
-
-
---
--- Name: FUNCTION register_patch(in_patch_name text, in_requirements text[], 
in_conflicts text[], OUT versioning integer); Type: COMMENT; Schema: _v; Owner: 
-
---
-
-COMMENT ON FUNCTION _v.register_patch(in_patch_name text, in_requirements 
text[], in_conflicts text[], OUT versioning integer) IS 'Function to register 
patches in database. Raises exception if there are conflicts, prerequisites are 
not installed or the migration has already been installed.';
-
-
---
--- Name: unregister_patch(text); Type: FUNCTION; Schema: _v; Owner: -
---
-
-CREATE FUNCTION _v.unregister_patch(in_patch_name text, OUT versioning 
integer) RETURNS SETOF integer
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-    i        INT4;
-    t_text_a TEXT[];
-BEGIN
-    -- Thanks to this we know only one patch will be applied at a time
-    LOCK TABLE _v.patches IN EXCLUSIVE MODE;
-
-    t_text_a := ARRAY( SELECT patch_name FROM _v.patches WHERE in_patch_name = 
ANY( requires ) );
-    IF array_upper( t_text_a, 1 ) IS NOT NULL THEN
-        RAISE EXCEPTION 'Cannot uninstall %, as it is required by: %.', 
in_patch_name, array_to_string( t_text_a, ', ' );
-    END IF;
-
-    DELETE FROM _v.patches WHERE patch_name = in_patch_name;
-    GET DIAGNOSTICS i = ROW_COUNT;
-    IF i < 1 THEN
-        RAISE EXCEPTION 'Patch % is not installed, so it can''t be 
uninstalled!', in_patch_name;
-    END IF;
-
-    RETURN;
-END;
-$$;
-
-
---
--- Name: FUNCTION unregister_patch(in_patch_name text, OUT versioning 
integer); Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON FUNCTION _v.unregister_patch(in_patch_name text, OUT versioning 
integer) IS 'Function to unregister patches in database. Dies if the patch is 
not registered, or if unregistering it would break dependencies.';
-
-
---
--- Name: add_constraints_to_account_merges_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION 
public.add_constraints_to_account_merges_partition(partition_suffix character 
varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE account_merges_' || partition_suffix || ' '
-      'ADD CONSTRAINT account_merges_' || partition_suffix || 
'_account_merge_request_serial_id_key '
-        'UNIQUE (account_merge_request_serial_id) '
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_aggregation_tracking_partition(character varying); 
Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION 
public.add_constraints_to_aggregation_tracking_partition(partition_suffix 
character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE aggregation_tracking_' || partition_suffix || ' '
-      'ADD CONSTRAINT aggregation_tracking_' || partition_suffix || 
'_aggregation_serial_id_key '
-        'UNIQUE (aggregation_serial_id) '
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_contracts_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.add_constraints_to_contracts_partition(partition_suffix 
character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE contracts_' || partition_suffix || ' '
-      'ADD CONSTRAINT contracts_' || partition_suffix || 
'_contract_serial_id_key '
-        'UNIQUE (contract_serial_id) '
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_cs_nonce_locks_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION 
public.add_constraints_to_cs_nonce_locks_partition(partition_suffix character 
varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE cs_nonce_locks_' || partition_suffix || ' '
-      'ADD CONSTRAINT cs_nonce_locks_' || partition_suffix || 
'_cs_nonce_lock_serial_id_key '
-        'UNIQUE (cs_nonce_lock_serial_id)'
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_deposits_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.add_constraints_to_deposits_partition(partition_suffix 
character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE deposits_' || partition_suffix || ' '
-      'ADD CONSTRAINT deposits_' || partition_suffix || 
'_deposit_serial_id_pkey '
-        'PRIMARY KEY (deposit_serial_id) '
-      ',ADD CONSTRAINT deposits_' || partition_suffix || 
'_coin_pub_merchant_pub_h_contract_terms_key '
-        'UNIQUE (coin_pub, merchant_pub, h_contract_terms)'
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_known_coins_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION 
public.add_constraints_to_known_coins_partition(partition_suffix character 
varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE known_coins_' || partition_suffix || ' '
-      'ADD CONSTRAINT known_coins_' || partition_suffix || '_known_coin_id_key 
'
-        'UNIQUE (known_coin_id)'
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_purse_deposits_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION 
public.add_constraints_to_purse_deposits_partition(partition_suffix character 
varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE purse_deposits_' || partition_suffix || ' '
-      'ADD CONSTRAINT purse_deposits_' || partition_suffix || 
'_purse_deposit_serial_id_key '
-        'UNIQUE (purse_deposit_serial_id) '
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_purse_merges_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION 
public.add_constraints_to_purse_merges_partition(partition_suffix character 
varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE purse_merges_' || partition_suffix || ' '
-      'ADD CONSTRAINT purse_merges_' || partition_suffix || 
'_purse_merge_request_serial_id_key '
-        'UNIQUE (purse_merge_request_serial_id) '
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_purse_refunds_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION 
public.add_constraints_to_purse_refunds_partition(partition_suffix character 
varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE purse_refunds_' || partition_suffix || ' '
-      'ADD CONSTRAINT purse_refunds_' || partition_suffix || 
'_purse_refunds_serial_id_key '
-        'UNIQUE (purse_refunds_serial_id) '
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_purse_requests_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION 
public.add_constraints_to_purse_requests_partition(partition_suffix character 
varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE purse_requests_' || partition_suffix || ' '
-      'ADD CONSTRAINT purse_requests_' || partition_suffix || 
'_purse_requests_serial_id_key '
-        'UNIQUE (purse_requests_serial_id) '
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_recoup_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.add_constraints_to_recoup_partition(partition_suffix 
character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE recoup_' || partition_suffix || ' '
-      'ADD CONSTRAINT recoup_' || partition_suffix || '_recoup_uuid_key '
-        'UNIQUE (recoup_uuid) '
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_recoup_refresh_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION 
public.add_constraints_to_recoup_refresh_partition(partition_suffix character 
varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE recoup_refresh_' || partition_suffix || ' '
-      'ADD CONSTRAINT recoup_refresh_' || partition_suffix || 
'_recoup_refresh_uuid_key '
-        'UNIQUE (recoup_refresh_uuid) '
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_refresh_commitments_partition(character varying); 
Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION 
public.add_constraints_to_refresh_commitments_partition(partition_suffix 
character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE refresh_commitments_' || partition_suffix || ' '
-      'ADD CONSTRAINT refresh_commitments_' || partition_suffix || 
'_melt_serial_id_key '
-        'UNIQUE (melt_serial_id)'
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_refresh_revealed_coins_partition(character 
varying); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION 
public.add_constraints_to_refresh_revealed_coins_partition(partition_suffix 
character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE refresh_revealed_coins_' || partition_suffix || ' '
-      'ADD CONSTRAINT refresh_revealed_coins_' || partition_suffix || 
'_rrc_serial_key '
-        'UNIQUE (rrc_serial) '
-      ',ADD CONSTRAINT refresh_revealed_coins_' || partition_suffix || 
'_coin_ev_key '
-        'UNIQUE (coin_ev) '
-      ',ADD CONSTRAINT refresh_revealed_coins_' || partition_suffix || 
'_h_coin_ev_key '
-        'UNIQUE (h_coin_ev) '
-      ',ADD PRIMARY KEY (melt_serial_id, freshcoin_index) '
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_refresh_transfer_keys_partition(character 
varying); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION 
public.add_constraints_to_refresh_transfer_keys_partition(partition_suffix 
character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE refresh_transfer_keys_' || partition_suffix || ' '
-      'ADD CONSTRAINT refresh_transfer_keys_' || partition_suffix || 
'_rtc_serial_key '
-        'UNIQUE (rtc_serial)'
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_refunds_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.add_constraints_to_refunds_partition(partition_suffix 
character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE refunds_' || partition_suffix || ' '
-      'ADD CONSTRAINT refunds_' || partition_suffix || '_refund_serial_id_key '
-        'UNIQUE (refund_serial_id) '
-      ',ADD PRIMARY KEY (deposit_serial_id, rtransaction_id) '
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_reserves_close_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION 
public.add_constraints_to_reserves_close_partition(partition_suffix character 
varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE reserves_close_' || partition_suffix || ' '
-      'ADD CONSTRAINT reserves_close_' || partition_suffix || 
'_close_uuid_pkey '
-        'PRIMARY KEY (close_uuid)'
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_reserves_in_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION 
public.add_constraints_to_reserves_in_partition(partition_suffix character 
varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE reserves_in_' || partition_suffix || ' '
-      'ADD CONSTRAINT reserves_in_' || partition_suffix || 
'_reserve_in_serial_id_key '
-        'UNIQUE (reserve_in_serial_id)'
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_reserves_out_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION 
public.add_constraints_to_reserves_out_partition(partition_suffix character 
varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE reserves_out_' || partition_suffix || ' '
-      'ADD CONSTRAINT reserves_out_' || partition_suffix || 
'_reserve_out_serial_id_key '
-        'UNIQUE (reserve_out_serial_id)'
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_wad_in_entries_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION 
public.add_constraints_to_wad_in_entries_partition(partition_suffix character 
varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE wad_in_entries_' || partition_suffix || ' '
-      'ADD CONSTRAINT wad_in_entries_' || partition_suffix || 
'_wad_in_entry_serial_id_key '
-        'UNIQUE (wad_in_entry_serial_id) '
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_wad_out_entries_partition(character varying); 
Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION 
public.add_constraints_to_wad_out_entries_partition(partition_suffix character 
varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE wad_out_entries_' || partition_suffix || ' '
-      'ADD CONSTRAINT wad_out_entries_' || partition_suffix || 
'_wad_out_entry_serial_id_key '
-        'UNIQUE (wad_out_entry_serial_id) '
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_wads_in_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.add_constraints_to_wads_in_partition(partition_suffix 
character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE wads_in_' || partition_suffix || ' '
-      'ADD CONSTRAINT wads_in_' || partition_suffix || '_wad_in_serial_id_key '
-        'UNIQUE (wad_in_serial_id) '
-      ',ADD CONSTRAINT wads_in_' || partition_suffix || 
'_wad_is_origin_exchange_url_key '
-        'UNIQUE (wad_id, origin_exchange_url) '
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_wads_out_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.add_constraints_to_wads_out_partition(partition_suffix 
character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE wads_out_' || partition_suffix || ' '
-      'ADD CONSTRAINT wads_out_' || partition_suffix || 
'_wad_out_serial_id_key '
-        'UNIQUE (wad_out_serial_id) '
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_wire_out_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.add_constraints_to_wire_out_partition(partition_suffix 
character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  EXECUTE FORMAT (
-    'ALTER TABLE wire_out_' || partition_suffix || ' '
-      'ADD CONSTRAINT wire_out_' || partition_suffix || '_wireout_uuid_pkey '
-        'PRIMARY KEY (wireout_uuid)'
-  );
-END
-$$;
-
-
---
--- Name: add_constraints_to_wire_targets_partition(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION 
public.add_constraints_to_wire_targets_partition(partition_suffix character 
varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-
-  EXECUTE FORMAT (
-    'ALTER TABLE wire_targets_' || partition_suffix || ' '
-      'ADD CONSTRAINT wire_targets_' || partition_suffix || 
'_wire_target_serial_id_key '
-        'UNIQUE (wire_target_serial_id)'
-  );
-END
-$$;
-
-
---
--- Name: create_foreign_hash_partition(character varying, integer, character 
varying, integer, character varying); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_foreign_hash_partition(source_table_name 
character varying, modulus integer, shard_suffix character varying, 
current_shard_num integer, local_user character varying DEFAULT 
'taler-exchange-httpd'::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-
-  RAISE NOTICE 'Creating %_% on %', source_table_name, shard_suffix, 
shard_suffix;
-
-  EXECUTE FORMAT(
-    'CREATE FOREIGN TABLE IF NOT EXISTS %I '
-      'PARTITION OF %I '
-      'FOR VALUES WITH (MODULUS %s, REMAINDER %s) '
-      'SERVER %I'
-    ,source_table_name || '_' || shard_suffix
-    ,source_table_name
-    ,modulus
-    ,current_shard_num-1
-    ,shard_suffix
-  );
-
-  EXECUTE FORMAT(
-    'ALTER FOREIGN TABLE %I OWNER TO %I'
-    ,source_table_name || '_' || shard_suffix
-    ,local_user
-  );
-
-END
-$$;
-
-
---
--- Name: create_foreign_range_partition(character varying, integer); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_foreign_range_partition(source_table_name 
character varying, partition_num integer) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-   RAISE NOTICE 'TODO';
-END
-$$;
-
-
---
--- Name: create_foreign_servers(integer, character varying, character varying, 
character varying); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_foreign_servers(amount integer, domain character 
varying, remote_user character varying DEFAULT 'taler'::character varying, 
remote_user_password character varying DEFAULT 'taler'::character varying) 
RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-
-  PERFORM prepare_sharding();
-
-  FOR i IN 1..amount LOOP
-    PERFORM create_shard_server(
-      i::varchar
-     ,amount
-     ,i
-     ,'shard-' || i::varchar || '.' || domain
-     ,remote_user
-     ,remote_user_password
-     ,'taler-exchange'
-     ,'5432'
-     ,'taler-exchange-httpd'
-    );
-  END LOOP;
-
-  PERFORM drop_default_partitions();
-
-END
-$$;
-
-
---
--- Name: create_hash_partition(character varying, integer, integer); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_hash_partition(source_table_name character 
varying, modulus integer, partition_num integer) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-
-  RAISE NOTICE 'Creating partition %_%', source_table_name, partition_num;
-
-  EXECUTE FORMAT(
-    'CREATE TABLE IF NOT EXISTS %I '
-      'PARTITION OF %I '
-      'FOR VALUES WITH (MODULUS %s, REMAINDER %s)'
-    ,source_table_name || '_' || partition_num
-    ,source_table_name
-    ,modulus
-    ,partition_num-1
-  );
-
-END
-$$;
-
-
---
--- Name: create_partitioned_table(character varying, character varying, 
character varying, character varying); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_partitioned_table(table_definition character 
varying, table_name character varying, main_table_partition_str character 
varying, shard_suffix character varying DEFAULT NULL::character varying) 
RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-
-  IF shard_suffix IS NOT NULL THEN
-    table_name=table_name || '_' || shard_suffix;
-    main_table_partition_str = '';
-  END IF;
-
-  EXECUTE FORMAT(
-    table_definition,
-    table_name,
-    main_table_partition_str
-  );
-
-END
-$$;
-
-
---
--- Name: create_partitions(integer); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_partitions(num_partitions integer) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  modulus INTEGER;
-BEGIN
-
-  modulus := num_partitions;
-
-  PERFORM detach_default_partitions();
-
-  LOOP
-
-    PERFORM create_hash_partition(
-      'wire_targets'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM add_constraints_to_wire_targets_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'reserves'
-      ,modulus
-      ,num_partitions
-    );
-
-    PERFORM create_hash_partition(
-      'reserves_in'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM add_constraints_to_reserves_in_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'reserves_close'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM 
add_constraints_to_reserves_close_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'reserves_out'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM add_constraints_to_reserves_out_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'reserves_out_by_reserve'
-      ,modulus
-      ,num_partitions
-    );
-
-    PERFORM create_hash_partition(
-      'known_coins'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM add_constraints_to_known_coins_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'refresh_commitments'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM 
add_constraints_to_refresh_commitments_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'refresh_revealed_coins'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM 
add_constraints_to_refresh_revealed_coins_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'refresh_transfer_keys'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM 
add_constraints_to_refresh_transfer_keys_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'deposits'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM add_constraints_to_deposits_partition(num_partitions::varchar);
-
--- TODO: dynamically (!) creating/deleting deposits partitions:
---    create new partitions 'as needed', drop old ones once the aggregator has 
made
---    them empty; as 'new' deposits will always have deadlines in the future, 
this
---    would basically guarantee no conflict between aggregator and exchange 
service!
--- SEE also: 
https://www.cybertec-postgresql.com/en/automatic-partition-creation-in-postgresql/
--- (article is slightly wrong, as this works:)
---CREATE TABLE tab (
---  id bigint GENERATED ALWAYS AS IDENTITY,
---  ts timestamp NOT NULL,
---  data text
--- PARTITION BY LIST ((ts::date));
--- CREATE TABLE tab_def PARTITION OF tab DEFAULT;
--- BEGIN
--- CREATE TABLE tab_part2 (LIKE tab);
--- insert into tab_part2 (id,ts, data) values (5,'2022-03-21', 'foo');
--- alter table tab attach partition tab_part2 for values in ('2022-03-21');
--- commit;
--- Naturally, to ensure this is actually 100% conflict-free, we'd
--- need to create tables at the granularity of the wire/refund deadlines;
--- that is right now configurable via AGGREGATOR_SHIFT option.
-
--- FIXME: range partitioning
---    PERFORM create_range_partition(
---      'deposits_by_ready'
---      ,modulus
---      ,num_partitions
---    );
---
---    PERFORM create_range_partition(
---      'deposits_for_matching'
---      ,modulus
---      ,num_partitions
---    );
-
-    PERFORM create_hash_partition(
-      'refunds'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM add_constraints_to_refunds_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'wire_out'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM add_constraints_to_wire_out_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'aggregation_transient'
-      ,modulus
-      ,num_partitions
-    );
-
-    PERFORM create_hash_partition(
-      'aggregation_tracking'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM 
add_constraints_to_aggregation_tracking_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'recoup'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM add_constraints_to_recoup_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'recoup_by_reserve'
-      ,modulus
-      ,num_partitions
-    );
-
-    PERFORM create_hash_partition(
-      'recoup_refresh'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM 
add_constraints_to_recoup_refresh_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'prewire'
-      ,modulus
-      ,num_partitions
-    );
-
-    PERFORM create_hash_partition(
-      'cs_nonce_locks'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM 
add_constraints_to_cs_nonce_locks_partition(num_partitions::varchar);
-
-    ---------------- P2P ----------------------
-
-    PERFORM create_hash_partition(
-      'purse_requests'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM 
add_constraints_to_purse_requests_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'purse_refunds'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM 
add_constraints_to_purse_refunds_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'purse_merges'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM add_constraints_to_purse_merges_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'account_merges'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM 
add_constraints_to_account_merges_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'contracts'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM add_constraints_to_contracts_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'history_requests'
-      ,modulus
-      ,num_partitions
-    );
-
-    PERFORM create_hash_partition(
-      'close_requests'
-      ,modulus
-      ,num_partitions
-    );
-
-    PERFORM create_hash_partition(
-      'purse_deposits'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM 
add_constraints_to_purse_deposits_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'wad_out_entries'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM 
add_constraints_to_wad_out_entries_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'wads_in'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM add_constraints_to_wads_in_partition(num_partitions::varchar);
-
-    PERFORM create_hash_partition(
-      'wad_in_entries'
-      ,modulus
-      ,num_partitions
-    );
-    PERFORM 
add_constraints_to_wad_in_entries_partition(num_partitions::varchar);
-
-    num_partitions=num_partitions-1;
-    EXIT WHEN num_partitions=0;
-
-  END LOOP;
-
-  PERFORM drop_default_partitions();
-
-END
-$$;
-
-
---
--- Name: create_range_partition(character varying, integer); Type: FUNCTION; 
Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_range_partition(source_table_name character 
varying, partition_num integer) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  RAISE NOTICE 'TODO';
-END
-$$;
-
-
---
--- Name: create_shard_server(character varying, integer, integer, character 
varying, character varying, character varying, character varying, integer, 
character varying); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_shard_server(shard_suffix character varying, 
total_num_shards integer, current_shard_num integer, remote_host character 
varying, remote_user character varying, remote_user_password character varying, 
remote_db_name character varying DEFAULT 'taler-exchange'::character varying, 
remote_port integer DEFAULT 5432, local_user character varying DEFAULT 
'taler-exchange-httpd'::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-
-  RAISE NOTICE 'Creating server %', remote_host;
-
-  EXECUTE FORMAT(
-    'CREATE SERVER IF NOT EXISTS %I '
-      'FOREIGN DATA WRAPPER postgres_fdw '
-      'OPTIONS (dbname %L, host %L, port %L)'
-    ,shard_suffix
-    ,remote_db_name
-    ,remote_host
-    ,remote_port
-  );
-
-  EXECUTE FORMAT(
-    'CREATE USER MAPPING IF NOT EXISTS '
-      'FOR %I SERVER %I '
-      'OPTIONS (user %L, password %L)'
-    ,local_user
-    ,shard_suffix
-    ,remote_user
-    ,remote_user_password
-  );
-
-  EXECUTE FORMAT(
-    'GRANT ALL PRIVILEGES '
-      'ON FOREIGN SERVER %I '
-      'TO %I;'
-    ,shard_suffix
-    ,local_user
-  );
-
-  PERFORM create_foreign_hash_partition(
-    'wire_targets'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'reserves'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'reserves_in'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'reserves_out'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'reserves_out_by_reserve'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'reserves_close'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'known_coins'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'refresh_commitments'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'refresh_revealed_coins'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'refresh_transfer_keys'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'deposits'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
---  PERFORM create_foreign_range_partition(
---    'deposits_by_ready'
---    ,total_num_shards
---    ,shard_suffix
---    ,current_shard_num
---    ,local_user
---  );
---  PERFORM create_foreign_range_partition(
---    'deposits_for_matching'
---    ,total_num_shards
---    ,shard_suffix
---    ,current_shard_num
---    ,local_user
---  );
-  PERFORM create_foreign_hash_partition(
-    'refunds'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'wire_out'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'aggregation_transient'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'aggregation_tracking'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'recoup'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'recoup_by_reserve'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'recoup_refresh'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'prewire'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'cs_nonce_locks'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-
-  ------------------- P2P --------------------
-
-  PERFORM create_foreign_hash_partition(
-    'purse_requests'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'purse_refunds'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'purse_merges'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'account_merges'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'contracts'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'history_requests'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'close_requests'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'purse_deposits'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'wad_out_entries'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'wads_in'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-  PERFORM create_foreign_hash_partition(
-    'wad_in_entries'
-    ,total_num_shards
-    ,shard_suffix
-    ,current_shard_num
-    ,local_user
-  );
-
-END
-$$;
-
-
---
--- Name: FUNCTION create_shard_server(shard_suffix character varying, 
total_num_shards integer, current_shard_num integer, remote_host character 
varying, remote_user character varying, remote_user_password character varying, 
remote_db_name character varying, remote_port integer, local_user character 
varying); Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON FUNCTION public.create_shard_server(shard_suffix character varying, 
total_num_shards integer, current_shard_num integer, remote_host character 
varying, remote_user character varying, remote_user_password character varying, 
remote_db_name character varying, remote_port integer, local_user character 
varying) IS 'Create a shard server on the master
-      node with all foreign tables and user mappings';
-
-
---
--- Name: create_table_account_merges(character varying); Type: FUNCTION; 
Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_account_merges(shard_suffix character 
varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'account_merges';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I '
-      '(account_merge_request_serial_id BIGINT GENERATED BY DEFAULT AS 
IDENTITY' -- UNIQUE
-      ',reserve_pub BYTEA NOT NULL CHECK (LENGTH(reserve_pub)=32)' -- 
REFERENCES reserves (reserve_pub) ON DELETE CASCADE
-      ',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
-      ',purse_pub BYTEA NOT NULL CHECK (LENGTH(purse_pub)=32)' -- REFERENCES 
purse_requests (purse_pub)
-      ',PRIMARY KEY (purse_pub)'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (purse_pub)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  -- FIXME: change to materialized index by reserve_pub!
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_reserve_pub '
-    'ON ' || table_name || ' '
-    '(reserve_pub);'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_aggregation_tracking(character varying); Type: FUNCTION; 
Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_aggregation_tracking(shard_suffix 
character varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'aggregation_tracking';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I'
-      '(aggregation_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' -- 
UNIQUE'
-           ',deposit_serial_id INT8 PRIMARY KEY' -- REFERENCES deposits 
(deposit_serial_id) ON DELETE CASCADE' -- FIXME change to coint_pub + 
deposit_serial_id for more efficient depost -- or something else ???
-      ',wtid_raw BYTEA NOT NULL' -- CONSTRAINT wire_out_ref REFERENCES 
wire_out(wtid_raw) ON DELETE CASCADE DEFERRABLE'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (deposit_serial_id)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_wtid_raw_index '
-    'ON ' || table_name || ' '
-    '(wtid_raw);'
-  );
-  EXECUTE FORMAT (
-    'COMMENT ON INDEX ' || table_name || '_by_wtid_raw_index '
-    'IS ' || quote_literal('for lookup_transactions') || ';'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_aggregation_transient(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_aggregation_transient(shard_suffix 
character varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'aggregation_transient';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I '
-      '(amount_val INT8 NOT NULL'
-      ',amount_frac INT4 NOT NULL'
-      ',wire_target_h_payto BYTEA CHECK (LENGTH(wire_target_h_payto)=32)'
-      ',exchange_account_section TEXT NOT NULL'
-      ',wtid_raw BYTEA NOT NULL CHECK (LENGTH(wtid_raw)=32)'
-      ') %s ;'
-      ,table_name
-      ,'PARTITION BY HASH (wire_target_h_payto)'
-      ,shard_suffix
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_close_requests(character varying); Type: FUNCTION; 
Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_close_requests(shard_suffix character 
varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'close_requests';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I '
-      '(close_request_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' 
--UNIQUE'
-      ',reserve_pub BYTEA NOT NULL CHECK (LENGTH(reserve_pub)=32)' -- 
REFERENCES reserves(reserve_pub) ON DELETE CASCADE
-      ',close_timestamp INT8 NOT NULL'
-      ',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
-      ',close_val INT8 NOT NULL'
-      ',close_frac INT4 NOT NULL'
-      ',PRIMARY KEY (reserve_pub,close_timestamp)'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (reserve_pub)'
-    ,shard_suffix
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_contracts(character varying); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.create_table_contracts(shard_suffix character varying 
DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'contracts';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I '
-      '(contract_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' --UNIQUE
-      ',purse_pub BYTEA NOT NULL CHECK (LENGTH(purse_pub)=32)'
-      ',pub_ckey BYTEA NOT NULL CHECK (LENGTH(pub_ckey)=32)'
-      ',contract_sig BYTEA NOT NULL CHECK (LENGTH(contract_sig)=64)'
-      ',e_contract BYTEA NOT NULL'
-      ',purse_expiration INT8 NOT NULL'
-      ',PRIMARY KEY (purse_pub)'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (purse_pub)'
-    ,shard_suffix
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_cs_nonce_locks(character varying); Type: FUNCTION; 
Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_cs_nonce_locks(shard_suffix character 
varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I'
-      '(cs_nonce_lock_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' -- 
UNIQUE'
-      ',nonce BYTEA PRIMARY KEY CHECK (LENGTH(nonce)=32)'
-      ',op_hash BYTEA NOT NULL CHECK (LENGTH(op_hash)=64)'
-      ',max_denomination_serial INT8 NOT NULL'
-    ') %s ;'
-    ,'cs_nonce_locks'
-    ,'PARTITION BY HASH (nonce)'
-    ,shard_suffix
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_deposits(character varying); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.create_table_deposits(shard_suffix character varying 
DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'deposits';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I'
-      '(deposit_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' -- PRIMARY 
KEY'
-      ',shard INT8 NOT NULL'
-      ',coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)' -- REFERENCES 
known_coins (coin_pub) ON DELETE CASCADE
-      ',known_coin_id INT8 NOT NULL' -- REFERENCES known_coins (known_coin_id) 
ON DELETE CASCADE' --- FIXME: column needed???
-      ',amount_with_fee_val INT8 NOT NULL'
-      ',amount_with_fee_frac INT4 NOT NULL'
-      ',wallet_timestamp INT8 NOT NULL'
-      ',exchange_timestamp INT8 NOT NULL'
-      ',refund_deadline INT8 NOT NULL'
-      ',wire_deadline INT8 NOT NULL'
-      ',merchant_pub BYTEA NOT NULL CHECK (LENGTH(merchant_pub)=32)'
-      ',h_contract_terms BYTEA NOT NULL CHECK (LENGTH(h_contract_terms)=64)'
-      ',coin_sig BYTEA NOT NULL CHECK (LENGTH(coin_sig)=64)'
-      ',wire_salt BYTEA NOT NULL CHECK (LENGTH(wire_salt)=16)'
-      ',wire_target_h_payto BYTEA CHECK (LENGTH(wire_target_h_payto)=32)'
-      ',done BOOLEAN NOT NULL DEFAULT FALSE'
-      ',extension_blocked BOOLEAN NOT NULL DEFAULT FALSE'
-      ',extension_details_serial_id INT8' -- REFERENCES extension_details 
(extension_details_serial_id) ON DELETE CASCADE'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (coin_pub)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_coin_pub_index '
-    'ON ' || table_name || ' '
-    '(coin_pub);'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_deposits_by_ready(character varying); Type: FUNCTION; 
Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_deposits_by_ready(shard_suffix character 
varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'deposits_by_ready';
-BEGIN
-
-  PERFORM create_partitioned_table(
-  'CREATE TABLE IF NOT EXISTS %I'
-    '(wire_deadline INT8 NOT NULL'
-    ',shard INT8 NOT NULL'
-    ',coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)'
-    ',deposit_serial_id INT8'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY RANGE (wire_deadline)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_main_index '
-    'ON ' || table_name || ' '
-    '(wire_deadline ASC, shard ASC, coin_pub);'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_deposits_for_matching(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_deposits_for_matching(shard_suffix 
character varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'deposits_for_matching';
-BEGIN
-
-  PERFORM create_partitioned_table(
-  'CREATE TABLE IF NOT EXISTS %I'
-    '(refund_deadline INT8 NOT NULL'
-    ',merchant_pub BYTEA NOT NULL CHECK (LENGTH(merchant_pub)=32)'
-    ',coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)' -- REFERENCES 
known_coins (coin_pub) ON DELETE CASCADE
-    ',deposit_serial_id INT8'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY RANGE (refund_deadline)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_main_index '
-    'ON ' || table_name || ' '
-    '(refund_deadline ASC, merchant_pub, coin_pub);'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_history_requests(character varying); Type: FUNCTION; 
Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_history_requests(shard_suffix character 
varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'history_requests';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I '
-      '(history_request_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' 
--UNIQUE'
-      ',reserve_pub BYTEA NOT NULL CHECK (LENGTH(reserve_pub)=32)' -- 
REFERENCES reserves(reserve_pub) ON DELETE CASCADE
-      ',request_timestamp INT8 NOT NULL'
-      ',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
-      ',history_fee_val INT8 NOT NULL'
-      ',history_fee_frac INT4 NOT NULL'
-      ',PRIMARY KEY (reserve_pub,request_timestamp)'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (reserve_pub)'
-    ,shard_suffix
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_known_coins(character varying); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.create_table_known_coins(shard_suffix character varying 
DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR default 'known_coins';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I'
-      '(known_coin_id BIGINT GENERATED BY DEFAULT AS IDENTITY' -- UNIQUE'
-      ',denominations_serial INT8 NOT NULL' -- REFERENCES denominations 
(denominations_serial) ON DELETE CASCADE'
-      ',coin_pub BYTEA NOT NULL PRIMARY KEY CHECK (LENGTH(coin_pub)=32)'
-      ',age_commitment_hash BYTEA CHECK (LENGTH(age_commitment_hash)=32)'
-      ',denom_sig BYTEA NOT NULL'
-      ',remaining_val INT8 NOT NULL DEFAULT(0)'
-      ',remaining_frac INT4 NOT NULL DEFAULT(0)'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (coin_pub)' -- FIXME: or include denominations_serial? 
or multi-level partitioning?;
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-END
-$$;
-
-
---
--- Name: create_table_prewire(character varying); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.create_table_prewire(shard_suffix character varying 
DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'prewire';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I'
-      '(prewire_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY'
-      ',wire_method TEXT NOT NULL'
-      ',finished BOOLEAN NOT NULL DEFAULT false'
-      ',failed BOOLEAN NOT NULL DEFAULT false'
-      ',buf BYTEA NOT NULL'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (prewire_uuid)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_finished_index '
-    'ON ' || table_name || ' '
-    '(finished);'
-  );
-  EXECUTE FORMAT (
-    'COMMENT ON INDEX ' || table_name || '_by_finished_index '
-    'IS ' || quote_literal('for gc_prewire') || ';'
-  );
-  -- FIXME: find a way to combine these two indices?
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_failed_finished_index '
-    'ON ' || table_name || ' '
-    '(failed,finished);'
-  );
-  EXECUTE FORMAT (
-    'COMMENT ON INDEX ' || table_name || '_by_failed_finished_index '
-    'IS ' || quote_literal('for wire_prepare_data_get') || ';'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_purse_deposits(character varying); Type: FUNCTION; 
Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_purse_deposits(shard_suffix character 
varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'purse_deposits';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I '
-      '(purse_deposit_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' -- 
UNIQUE
-      ',partner_serial_id INT8' -- REFERENCES partners(partner_serial_id) ON 
DELETE CASCADE'
-      ',purse_pub BYTEA NOT NULL CHECK (LENGTH(purse_pub)=32)'
-      ',coin_pub BYTEA NOT NULL' -- REFERENCES known_coins (coin_pub) ON 
DELETE CASCADE'
-      ',amount_with_fee_val INT8 NOT NULL'
-      ',amount_with_fee_frac INT4 NOT NULL'
-      ',coin_sig BYTEA NOT NULL CHECK(LENGTH(coin_sig)=64)'
-      ',PRIMARY KEY (purse_pub,coin_pub)'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (purse_pub)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  -- FIXME: change to materialized index by coin_pub!
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_coin_pub '
-    'ON ' || table_name || ' '
-    '(coin_pub);'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_purse_merges(character varying); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.create_table_purse_merges(shard_suffix character 
varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'purse_merges';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I '
-      '(purse_merge_request_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY 
'-- UNIQUE
-      ',partner_serial_id INT8' -- REFERENCES partners(partner_serial_id) ON 
DELETE CASCADE
-      ',reserve_pub BYTEA NOT NULL CHECK(length(reserve_pub)=32)'--REFERENCES 
reserves (reserve_pub) ON DELETE CASCADE
-      ',purse_pub BYTEA NOT NULL CHECK (LENGTH(purse_pub)=32)' --REFERENCES 
purse_requests (purse_pub) ON DELETE CASCADE
-      ',merge_sig BYTEA NOT NULL CHECK (LENGTH(merge_sig)=64)'
-      ',merge_timestamp INT8 NOT NULL'
-      ',PRIMARY KEY (purse_pub)'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (purse_pub)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  -- FIXME: change to materialized index by reserve_pub!
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_reserve_pub '
-    'ON ' || table_name || ' '
-    '(reserve_pub);'
-  );
-  EXECUTE FORMAT (
-    'COMMENT ON INDEX ' || table_name || '_reserve_pub '
-    'IS ' || quote_literal('needed in reserve history computation') || ';'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_purse_refunds(character varying); Type: FUNCTION; 
Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_purse_refunds(shard_suffix character 
varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'purse_refunds';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I '
-      '(purse_refunds_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' 
--UNIQUE
-      ',purse_pub BYTEA NOT NULL CHECK (LENGTH(purse_pub)=32)'
-      ',PRIMARY KEY (purse_pub)'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (purse_pub)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-END
-$$;
-
-
---
--- Name: create_table_purse_requests(character varying); Type: FUNCTION; 
Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_purse_requests(shard_suffix character 
varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'purse_requests';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I '
-      '(purse_requests_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' 
--UNIQUE
-      ',purse_pub BYTEA NOT NULL CHECK (LENGTH(purse_pub)=32)'
-      ',merge_pub BYTEA NOT NULL CHECK (LENGTH(merge_pub)=32)'
-      ',purse_creation INT8 NOT NULL'
-      ',purse_expiration INT8 NOT NULL'
-      ',h_contract_terms BYTEA NOT NULL CHECK (LENGTH(h_contract_terms)=64)'
-      ',age_limit INT4 NOT NULL'
-      ',flags INT4 NOT NULL'
-      ',refunded BOOLEAN NOT NULL DEFAULT(FALSE)'
-      ',finished BOOLEAN NOT NULL DEFAULT(FALSE)'
-      ',in_reserve_quota BOOLEAN NOT NULL DEFAULT(FALSE)'
-      ',amount_with_fee_val INT8 NOT NULL'
-      ',amount_with_fee_frac INT4 NOT NULL'
-      ',purse_fee_val INT8 NOT NULL'
-      ',purse_fee_frac INT4 NOT NULL'
-      ',balance_val INT8 NOT NULL DEFAULT (0)'
-      ',balance_frac INT4 NOT NULL DEFAULT (0)'
-      ',purse_sig BYTEA NOT NULL CHECK(LENGTH(purse_sig)=64)'
-      ',PRIMARY KEY (purse_pub)'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (purse_pub)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  -- FIXME: change to materialized index by merge_pub!
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_merge_pub '
-    'ON ' || table_name || ' '
-    '(merge_pub);'
-  );
-
-  -- FIXME: drop index on master (crosses shards)?
-  -- Or use materialized index? (needed?)
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_purse_expiration '
-    'ON ' || table_name || ' '
-    '(purse_expiration);'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_recoup(character varying); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.create_table_recoup(shard_suffix character varying 
DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'recoup';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I'
-      '(recoup_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY' -- UNIQUE'
-      ',coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)' -- REFERENCES 
known_coins (coin_pub)
-      ',coin_sig BYTEA NOT NULL CHECK(LENGTH(coin_sig)=64)'
-      ',coin_blind BYTEA NOT NULL CHECK(LENGTH(coin_blind)=32)'
-      ',amount_val INT8 NOT NULL'
-      ',amount_frac INT4 NOT NULL'
-      ',recoup_timestamp INT8 NOT NULL'
-      ',reserve_out_serial_id INT8 NOT NULL' -- REFERENCES reserves_out 
(reserve_out_serial_id) ON DELETE CASCADE'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (coin_pub);'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_coin_pub_index '
-    'ON ' || table_name || ' '
-    '(coin_pub);'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_recoup_by_reserve(character varying); Type: FUNCTION; 
Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_recoup_by_reserve(shard_suffix character 
varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'recoup_by_reserve';
-BEGIN
-
-  PERFORM create_partitioned_table(
-  'CREATE TABLE IF NOT EXISTS %I'
-    '(reserve_out_serial_id INT8 NOT NULL' -- REFERENCES reserves 
(reserve_out_serial_id) ON DELETE CASCADE
-    ',coin_pub BYTEA CHECK (LENGTH(coin_pub)=32)' -- REFERENCES known_coins 
(coin_pub)
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (reserve_out_serial_id)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_main_index '
-    'ON ' || table_name || ' '
-    '(reserve_out_serial_id);'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_recoup_refresh(character varying); Type: FUNCTION; 
Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_recoup_refresh(shard_suffix character 
varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'recoup_refresh';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I'
-      '(recoup_refresh_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY' -- UNIQUE'
-      ',coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)' -- REFERENCES 
known_coins (coin_pub)
-      ',known_coin_id BIGINT NOT NULL' -- REFERENCES known_coins 
(known_coin_id) ON DELETE CASCADE
-      ',coin_sig BYTEA NOT NULL CHECK(LENGTH(coin_sig)=64)'
-      ',coin_blind BYTEA NOT NULL CHECK(LENGTH(coin_blind)=32)'
-      ',amount_val INT8 NOT NULL'
-      ',amount_frac INT4 NOT NULL'
-      ',recoup_timestamp INT8 NOT NULL'
-      ',rrc_serial INT8 NOT NULL' -- REFERENCES refresh_revealed_coins 
(rrc_serial) ON DELETE CASCADE -- UNIQUE'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (coin_pub)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  -- FIXME: any query using this index will be slow. Materialize index or 
change query?
-  -- Also: which query uses this index?
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_rrc_serial_index '
-    'ON ' || table_name || ' '
-    '(rrc_serial);'
-  );
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_coin_pub_index '
-    'ON ' || table_name || ' '
-    '(coin_pub);'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_refresh_commitments(character varying); Type: FUNCTION; 
Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_refresh_commitments(shard_suffix character 
varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'refresh_commitments';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I'
-      '(melt_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' -- UNIQUE'
-      ',rc BYTEA PRIMARY KEY CHECK (LENGTH(rc)=64)'
-      ',old_coin_pub BYTEA NOT NULL' -- REFERENCES known_coins (coin_pub) ON 
DELETE CASCADE'
-      ',old_coin_sig BYTEA NOT NULL CHECK(LENGTH(old_coin_sig)=64)'
-      ',amount_with_fee_val INT8 NOT NULL'
-      ',amount_with_fee_frac INT4 NOT NULL'
-      ',noreveal_index INT4 NOT NULL'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (rc)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  -- Note: index spans partitions, may need to be materialized.
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_old_coin_pub_index '
-    'ON ' || table_name || ' '
-    '(old_coin_pub);'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_refresh_revealed_coins(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_refresh_revealed_coins(shard_suffix 
character varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'refresh_revealed_coins';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I'
-      '(rrc_serial BIGINT GENERATED BY DEFAULT AS IDENTITY' -- UNIQUE'
-      ',melt_serial_id INT8 NOT NULL' -- REFERENCES refresh_commitments 
(melt_serial_id) ON DELETE CASCADE'
-      ',freshcoin_index INT4 NOT NULL'
-      ',link_sig BYTEA NOT NULL CHECK(LENGTH(link_sig)=64)'
-      ',denominations_serial INT8 NOT NULL' -- REFERENCES denominations 
(denominations_serial) ON DELETE CASCADE'
-      ',coin_ev BYTEA NOT NULL' -- UNIQUE'
-      ',h_coin_ev BYTEA NOT NULL CHECK(LENGTH(h_coin_ev)=64)' -- UNIQUE'
-      ',ev_sig BYTEA NOT NULL'
-      ',ewv BYTEA NOT NULL'
-      --  ,PRIMARY KEY (melt_serial_id, freshcoin_index) -- done per shard
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (melt_serial_id)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || 
'_coins_by_melt_serial_id_index '
-    'ON ' || table_name || ' '
-    '(melt_serial_id);'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_refresh_transfer_keys(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_refresh_transfer_keys(shard_suffix 
character varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'refresh_transfer_keys';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I'
-      '(rtc_serial BIGINT GENERATED BY DEFAULT AS IDENTITY' -- UNIQUE'
-      ',melt_serial_id INT8 PRIMARY KEY' -- REFERENCES refresh_commitments 
(melt_serial_id) ON DELETE CASCADE'
-      ',transfer_pub BYTEA NOT NULL CHECK(LENGTH(transfer_pub)=32)'
-      ',transfer_privs BYTEA NOT NULL'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (melt_serial_id)'
-    ,shard_suffix
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_refunds(character varying); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.create_table_refunds(shard_suffix character varying 
DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'refunds';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I'
-      '(refund_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' -- UNIQUE'
-      ',coin_pub BYTEA NOT NULL CHECK (LENGTH(coin_pub)=32)' -- REFERENCES 
known_coins (coin_pub) ON DELETE CASCADE
-      ',deposit_serial_id INT8 NOT NULL' -- REFERENCES deposits 
(deposit_serial_id) ON DELETE CASCADE'
-      ',merchant_sig BYTEA NOT NULL CHECK(LENGTH(merchant_sig)=64)'
-      ',rtransaction_id INT8 NOT NULL'
-      ',amount_with_fee_val INT8 NOT NULL'
-      ',amount_with_fee_frac INT4 NOT NULL'
-      -- ,PRIMARY KEY (deposit_serial_id, rtransaction_id) -- done per shard!
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (coin_pub)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_coin_pub_index '
-    'ON ' || table_name || ' '
-    '(coin_pub);'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_reserves(character varying); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.create_table_reserves(shard_suffix character varying 
DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'reserves';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I'
-      '(reserve_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY'
-      ',reserve_pub BYTEA PRIMARY KEY CHECK(LENGTH(reserve_pub)=32)'
-      ',current_balance_val INT8 NOT NULL DEFAULT(0)'
-      ',current_balance_frac INT4 NOT NULL DEFAULT(0)'
-      ',purses_active INT8 NOT NULL DEFAULT(0)'
-      ',purses_allowed INT8 NOT NULL DEFAULT(0)'
-      ',kyc_required BOOLEAN NOT NULL DEFAULT(FALSE)'
-      ',kyc_passed BOOLEAN NOT NULL DEFAULT(FALSE)'
-      ',max_age INT4 NOT NULL DEFAULT(120)'
-      ',expiration_date INT8 NOT NULL'
-      ',gc_date INT8 NOT NULL'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (reserve_pub)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_expiration_index '
-    'ON ' || table_name || ' '
-    '(expiration_date'
-    ',current_balance_val'
-    ',current_balance_frac'
-    ');'
-  );
-  EXECUTE FORMAT (
-    'COMMENT ON INDEX ' || table_name || '_by_expiration_index '
-    'IS ' || quote_literal('used in get_expired_reserves') || ';'
-  );
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_reserve_uuid_index '
-    'ON ' || table_name || ' '
-    '(reserve_uuid);'
-  );
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_gc_date_index '
-    'ON ' || table_name || ' '
-    '(gc_date);'
-  );
-  EXECUTE FORMAT (
-    'COMMENT ON INDEX ' || table_name || '_by_gc_date_index '
-    'IS ' || quote_literal('for reserve garbage collection') || ';'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_reserves_close(character varying); Type: FUNCTION; 
Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_reserves_close(shard_suffix character 
varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR default 'reserves_close';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I'
-      '(close_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY' -- UNIQUE / 
PRIMARY KEY'
-      ',reserve_pub BYTEA NOT NULL' -- REFERENCES reserves (reserve_pub) ON 
DELETE CASCADE'
-      ',execution_date INT8 NOT NULL'
-      ',wtid BYTEA NOT NULL CHECK (LENGTH(wtid)=32)'
-      ',wire_target_h_payto BYTEA CHECK (LENGTH(wire_target_h_payto)=32)'
-      ',amount_val INT8 NOT NULL'
-      ',amount_frac INT4 NOT NULL'
-      ',closing_fee_val INT8 NOT NULL'
-      ',closing_fee_frac INT4 NOT NULL'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (reserve_pub)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_close_uuid_index '
-    'ON ' || table_name || ' '
-    '(close_uuid);'
-  );
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_reserve_pub_index '
-    'ON ' || table_name || ' '
-    '(reserve_pub);'
-  );
-END
-$$;
-
-
---
--- Name: create_table_reserves_in(character varying); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.create_table_reserves_in(shard_suffix character varying 
DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR default 'reserves_in';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I'
-      '(reserve_in_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' -- 
UNIQUE'
-      ',reserve_pub BYTEA PRIMARY KEY' -- REFERENCES reserves (reserve_pub) ON 
DELETE CASCADE'
-      ',wire_reference INT8 NOT NULL'
-      ',credit_val INT8 NOT NULL'
-      ',credit_frac INT4 NOT NULL'
-      ',wire_source_h_payto BYTEA CHECK (LENGTH(wire_source_h_payto)=32)'
-      ',exchange_account_section TEXT NOT NULL'
-      ',execution_date INT8 NOT NULL'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (reserve_pub)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || 
'_by_reserve_in_serial_id_index '
-    'ON ' || table_name || ' '
-    '(reserve_in_serial_id);'
-  );
-  -- FIXME: where do we need this index? Can we do better?
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || 
'_by_exch_accnt_section_execution_date_idx '
-    'ON ' || table_name || ' '
-    '(exchange_account_section '
-    ',execution_date'
-    ');'
-  );
-  -- FIXME: where do we need this index? Can we do better?
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || 
'_by_exch_accnt_reserve_in_serial_id_idx '
-    'ON ' || table_name || ' '
-    '(exchange_account_section,'
-    'reserve_in_serial_id DESC'
-    ');'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_reserves_out(character varying); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.create_table_reserves_out(shard_suffix character 
varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR default 'reserves_out';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I'
-      '(reserve_out_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' -- 
UNIQUE'
-      ',h_blind_ev BYTEA CHECK (LENGTH(h_blind_ev)=64) UNIQUE'
-      ',denominations_serial INT8 NOT NULL' -- REFERENCES denominations 
(denominations_serial)'
-      ',denom_sig BYTEA NOT NULL'
-      ',reserve_uuid INT8 NOT NULL' -- REFERENCES reserves (reserve_uuid) ON 
DELETE CASCADE'
-      ',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
-      ',execution_date INT8 NOT NULL'
-      ',amount_with_fee_val INT8 NOT NULL'
-      ',amount_with_fee_frac INT4 NOT NULL'
-    ') %s ;'
-    ,'reserves_out'
-    ,'PARTITION BY HASH (h_blind_ev)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || 
'_by_reserve_out_serial_id_index '
-    'ON ' || table_name || ' '
-    '(reserve_out_serial_id);'
-  );
-  -- FIXME: change query to use reserves_out_by_reserve instead and 
materialize execution_date there as well???
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || 
'_by_reserve_uuid_and_execution_date_index '
-    'ON ' || table_name || ' '
-    '(reserve_uuid, execution_date);'
-  );
-  EXECUTE FORMAT (
-    'COMMENT ON INDEX ' || table_name || 
'_by_reserve_uuid_and_execution_date_index '
-    'IS ' || quote_literal('for get_reserves_out and 
exchange_do_withdraw_limit_check') || ';'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_reserves_out_by_reserve(character varying); Type: 
FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_reserves_out_by_reserve(shard_suffix 
character varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'reserves_out_by_reserve';
-BEGIN
-
-  PERFORM create_partitioned_table(
-  'CREATE TABLE IF NOT EXISTS %I'
-    '(reserve_uuid INT8 NOT NULL' -- REFERENCES reserves (reserve_uuid) ON 
DELETE CASCADE
-    ',h_blind_ev BYTEA CHECK (LENGTH(h_blind_ev)=64)'
-    ') %s '
-    ,table_name
-    ,'PARTITION BY HASH (reserve_uuid)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_main_index '
-    'ON ' || table_name || ' '
-    '(reserve_uuid);'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_wad_in_entries(character varying); Type: FUNCTION; 
Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_wad_in_entries(shard_suffix character 
varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'wad_in_entries';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I '
-      '(wad_in_entry_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' 
--UNIQUE
-      ',wad_in_serial_id INT8' -- REFERENCES wads_in (wad_in_serial_id) ON 
DELETE CASCADE
-      ',reserve_pub BYTEA NOT NULL CHECK(LENGTH(reserve_pub)=32)'
-      ',purse_pub BYTEA PRIMARY KEY CHECK(LENGTH(purse_pub)=32)'
-      ',h_contract BYTEA NOT NULL CHECK(LENGTH(h_contract)=64)'
-      ',purse_expiration INT8 NOT NULL'
-      ',merge_timestamp INT8 NOT NULL'
-      ',amount_with_fee_val INT8 NOT NULL'
-      ',amount_with_fee_frac INT4 NOT NULL'
-      ',wad_fee_val INT8 NOT NULL'
-      ',wad_fee_frac INT4 NOT NULL'
-      ',deposit_fees_val INT8 NOT NULL'
-      ',deposit_fees_frac INT4 NOT NULL'
-      ',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
-      ',purse_sig BYTEA NOT NULL CHECK (LENGTH(purse_sig)=64)'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (purse_pub)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  -- FIXME: change to materialized index by reserve_pub!
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_reserve_pub '
-    'ON ' || table_name || ' '
-    '(reserve_pub);'
-  );
-  EXECUTE FORMAT (
-    'COMMENT ON INDEX ' || table_name || '_reserve_pub '
-    'IS ' || quote_literal('needed in reserve history computation') || ';'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_wad_out_entries(character varying); Type: FUNCTION; 
Schema: public; Owner: -
---
-
-CREATE FUNCTION public.create_table_wad_out_entries(shard_suffix character 
varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'wad_out_entries';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I '
-      '(wad_out_entry_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' 
--UNIQUE
-      ',wad_out_serial_id INT8' -- REFERENCES wads_out (wad_out_serial_id) ON 
DELETE CASCADE
-      ',reserve_pub BYTEA NOT NULL CHECK(LENGTH(reserve_pub)=32)'
-      ',purse_pub BYTEA PRIMARY KEY CHECK(LENGTH(purse_pub)=32)'
-      ',h_contract BYTEA NOT NULL CHECK(LENGTH(h_contract)=64)'
-      ',purse_expiration INT8 NOT NULL'
-      ',merge_timestamp INT8 NOT NULL'
-      ',amount_with_fee_val INT8 NOT NULL'
-      ',amount_with_fee_frac INT4 NOT NULL'
-      ',wad_fee_val INT8 NOT NULL'
-      ',wad_fee_frac INT4 NOT NULL'
-      ',deposit_fees_val INT8 NOT NULL'
-      ',deposit_fees_frac INT4 NOT NULL'
-      ',reserve_sig BYTEA NOT NULL CHECK (LENGTH(reserve_sig)=64)'
-      ',purse_sig BYTEA NOT NULL CHECK (LENGTH(purse_sig)=64)'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (purse_pub)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  -- FIXME: change to materialized index by reserve_pub!
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || '_by_reserve_pub '
-    'ON ' || table_name || ' '
-    '(reserve_pub);'
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_wads_in(character varying); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.create_table_wads_in(shard_suffix character varying 
DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'wads_in';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I '
-      '(wad_in_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' --UNIQUE
-      ',wad_id BYTEA PRIMARY KEY CHECK (LENGTH(wad_id)=24)'
-      ',origin_exchange_url TEXT NOT NULL'
-      ',amount_val INT8 NOT NULL'
-      ',amount_frac INT4 NOT NULL'
-      ',arrival_time INT8 NOT NULL'
-      ',UNIQUE (wad_id, origin_exchange_url)'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (wad_id)'
-    ,shard_suffix
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_wads_out(character varying); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.create_table_wads_out(shard_suffix character varying 
DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'wads_out';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I '
-      '(wad_out_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' --UNIQUE
-      ',wad_id BYTEA PRIMARY KEY CHECK (LENGTH(wad_id)=24)'
-      ',partner_serial_id INT8 NOT NULL' -- REFERENCES 
partners(partner_serial_id) ON DELETE CASCADE
-      ',amount_val INT8 NOT NULL'
-      ',amount_frac INT4 NOT NULL'
-      ',execution_time INT8 NOT NULL'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (wad_id)'
-    ,shard_suffix
-  );
-
-END
-$$;
-
-
---
--- Name: create_table_wire_out(character varying); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.create_table_wire_out(shard_suffix character varying 
DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  table_name VARCHAR DEFAULT 'wire_out';
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I'
-      '(wireout_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY' -- PRIMARY KEY'
-      ',execution_date INT8 NOT NULL'
-      ',wtid_raw BYTEA UNIQUE NOT NULL CHECK (LENGTH(wtid_raw)=32)'
-      ',wire_target_h_payto BYTEA CHECK (LENGTH(wire_target_h_payto)=32)'
-      ',exchange_account_section TEXT NOT NULL'
-      ',amount_val INT8 NOT NULL'
-      ',amount_frac INT4 NOT NULL'
-    ') %s ;'
-    ,table_name
-    ,'PARTITION BY HASH (wtid_raw)'
-    ,shard_suffix
-  );
-
-  table_name = concat_ws('_', table_name, shard_suffix);
-
-  EXECUTE FORMAT (
-    'CREATE INDEX IF NOT EXISTS ' || table_name || 
'_by_wire_target_h_payto_index '
-    'ON ' || table_name || ' '
-    '(wire_target_h_payto);'
-  );
-
-
-END
-$$;
-
-
---
--- Name: create_table_wire_targets(character varying); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.create_table_wire_targets(shard_suffix character 
varying DEFAULT NULL::character varying) RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-
-  PERFORM create_partitioned_table(
-    'CREATE TABLE IF NOT EXISTS %I'
-      '(wire_target_serial_id BIGINT GENERATED BY DEFAULT AS IDENTITY' -- 
UNIQUE'
-      ',wire_target_h_payto BYTEA PRIMARY KEY CHECK 
(LENGTH(wire_target_h_payto)=32)'
-      ',payto_uri VARCHAR NOT NULL'
-      ',kyc_ok BOOLEAN NOT NULL DEFAULT (FALSE)'
-      ',external_id VARCHAR'
-    ') %s ;'
-    ,'wire_targets'
-    ,'PARTITION BY HASH (wire_target_h_payto)'
-    ,shard_suffix
-  );
-
-END
-$$;
-
-
---
--- Name: defer_wire_out(); Type: PROCEDURE; Schema: public; Owner: -
---
-
-CREATE PROCEDURE public.defer_wire_out()
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-
-IF EXISTS (
-  SELECT 1
-    FROM information_Schema.constraint_column_usage
-   WHERE table_name='wire_out'
-     AND constraint_name='wire_out_ref')
-THEN
-  SET CONSTRAINTS wire_out_ref DEFERRED;
-END IF;
-
-END $$;
-
-
---
--- Name: deposits_delete_trigger(); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.deposits_delete_trigger() RETURNS trigger
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  was_ready BOOLEAN;
-BEGIN
-  was_ready  = NOT (OLD.done OR OLD.extension_blocked);
-
-  IF (was_ready)
-  THEN
-    DELETE FROM deposits_by_ready
-     WHERE wire_deadline = OLD.wire_deadline
-       AND shard = OLD.shard
-       AND coin_pub = OLD.coin_pub
-       AND deposit_serial_id = OLD.deposit_serial_id;
-    DELETE FROM deposits_for_matching
-     WHERE refund_deadline = OLD.refund_deadline
-       AND merchant_pub = OLD.merchant_pub
-       AND coin_pub = OLD.coin_pub
-       AND deposit_serial_id = OLD.deposit_serial_id;
-  END IF;
-  RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION deposits_delete_trigger(); Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON FUNCTION public.deposits_delete_trigger() IS 'Replicate deposit 
deletions into materialized indices.';
-
-
---
--- Name: deposits_insert_trigger(); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.deposits_insert_trigger() RETURNS trigger
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  is_ready BOOLEAN;
-BEGIN
-  is_ready  = NOT (NEW.done OR NEW.extension_blocked);
-
-  IF (is_ready)
-  THEN
-    INSERT INTO deposits_by_ready
-      (wire_deadline
-      ,shard
-      ,coin_pub
-      ,deposit_serial_id)
-    VALUES
-      (NEW.wire_deadline
-      ,NEW.shard
-      ,NEW.coin_pub
-      ,NEW.deposit_serial_id);
-    INSERT INTO deposits_for_matching
-      (refund_deadline
-      ,merchant_pub
-      ,coin_pub
-      ,deposit_serial_id)
-    VALUES
-      (NEW.refund_deadline
-      ,NEW.merchant_pub
-      ,NEW.coin_pub
-      ,NEW.deposit_serial_id);
-  END IF;
-  RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION deposits_insert_trigger(); Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON FUNCTION public.deposits_insert_trigger() IS 'Replicate deposit 
inserts into materialized indices.';
-
-
---
--- Name: deposits_update_trigger(); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.deposits_update_trigger() RETURNS trigger
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  was_ready BOOLEAN;
-DECLARE
-  is_ready BOOLEAN;
-BEGIN
-  was_ready = NOT (OLD.done OR OLD.extension_blocked);
-  is_ready  = NOT (NEW.done OR NEW.extension_blocked);
-  IF (was_ready AND NOT is_ready)
-  THEN
-    DELETE FROM deposits_by_ready
-     WHERE wire_deadline = OLD.wire_deadline
-       AND shard = OLD.shard
-       AND coin_pub = OLD.coin_pub
-       AND deposit_serial_id = OLD.deposit_serial_id;
-    DELETE FROM deposits_for_matching
-     WHERE refund_deadline = OLD.refund_deadline
-       AND merchant_pub = OLD.merchant_pub
-       AND coin_pub = OLD.coin_pub
-       AND deposit_serial_id = OLD.deposit_serial_id;
-  END IF;
-  IF (is_ready AND NOT was_ready)
-  THEN
-    INSERT INTO deposits_by_ready
-      (wire_deadline
-      ,shard
-      ,coin_pub
-      ,deposit_serial_id)
-    VALUES
-      (NEW.wire_deadline
-      ,NEW.shard
-      ,NEW.coin_pub
-      ,NEW.deposit_serial_id);
-    INSERT INTO deposits_for_matching
-      (refund_deadline
-      ,merchant_pub
-      ,coin_pub
-      ,deposit_serial_id)
-    VALUES
-      (NEW.refund_deadline
-      ,NEW.merchant_pub
-      ,NEW.coin_pub
-      ,NEW.deposit_serial_id);
-  END IF;
-  RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION deposits_update_trigger(); Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON FUNCTION public.deposits_update_trigger() IS 'Replicate deposits 
changes into materialized indices.';
-
-
---
--- Name: detach_default_partitions(); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.detach_default_partitions() RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-
-  RAISE NOTICE 'Detaching all default table partitions';
-
-  ALTER TABLE IF EXISTS wire_targets
-    DETACH PARTITION wire_targets_default;
-
-  ALTER TABLE IF EXISTS reserves
-    DETACH PARTITION reserves_default;
-
-  ALTER TABLE IF EXISTS reserves_in
-    DETACH PARTITION reserves_in_default;
-
-  ALTER TABLE IF EXISTS reserves_close
-    DETACH PARTITION reserves_close_default;
-
-  ALTER TABLE IF EXISTS reserves_out
-    DETACH PARTITION reserves_out_default;
-
-  ALTER TABLE IF EXISTS reserves_out_by_reserve
-    DETACH PARTITION reserves_out_by_reserve_default;
-
-  ALTER TABLE IF EXISTS known_coins
-    DETACH PARTITION known_coins_default;
-
-  ALTER TABLE IF EXISTS refresh_commitments
-    DETACH PARTITION refresh_commitments_default;
-
-  ALTER TABLE IF EXISTS refresh_revealed_coins
-    DETACH PARTITION refresh_revealed_coins_default;
-
-  ALTER TABLE IF EXISTS refresh_transfer_keys
-    DETACH PARTITION refresh_transfer_keys_default;
-
-  ALTER TABLE IF EXISTS deposits
-    DETACH PARTITION deposits_default;
-
---- TODO range partitioning
---  ALTER TABLE IF EXISTS deposits_by_ready
---    DETACH PARTITION deposits_by_ready_default;
---
---  ALTER TABLE IF EXISTS deposits_for_matching
---    DETACH PARTITION deposits_default_for_matching_default;
-
-  ALTER TABLE IF EXISTS refunds
-    DETACH PARTITION refunds_default;
-
-  ALTER TABLE IF EXISTS wire_out
-    DETACH PARTITION wire_out_default;
-
-  ALTER TABLE IF EXISTS aggregation_transient
-    DETACH PARTITION aggregation_transient_default;
-
-  ALTER TABLE IF EXISTS aggregation_tracking
-    DETACH PARTITION aggregation_tracking_default;
-
-  ALTER TABLE IF EXISTS recoup
-    DETACH PARTITION recoup_default;
-
-  ALTER TABLE IF EXISTS recoup_by_reserve
-    DETACH PARTITION recoup_by_reserve_default;
-
-  ALTER TABLE IF EXISTS recoup_refresh
-    DETACH PARTITION recoup_refresh_default;
-
-  ALTER TABLE IF EXISTS prewire
-    DETACH PARTITION prewire_default;
-
-  ALTER TABLE IF EXISTS cs_nonce_locks
-    DETACH partition cs_nonce_locks_default;
-
-  ALTER TABLE IF EXISTS purse_requests
-    DETACH partition purse_requests_default;
-
-  ALTER TABLE IF EXISTS purse_refunds
-    DETACH partition purse_refunds_default;
-
-  ALTER TABLE IF EXISTS purse_merges
-    DETACH partition purse_merges_default;
-
-  ALTER TABLE IF EXISTS account_merges
-    DETACH partition account_merges_default;
-
-  ALTER TABLE IF EXISTS contracts
-    DETACH partition contracts_default;
-
-  ALTER TABLE IF EXISTS history_requests
-    DETACH partition history_requests_default;
-
-  ALTER TABLE IF EXISTS close_requests
-    DETACH partition close_requests_default;
-
-  ALTER TABLE IF EXISTS purse_deposits
-    DETACH partition purse_deposits_default;
-
-  ALTER TABLE IF EXISTS wad_out_entries
-    DETACH partition wad_out_entries_default;
-
-  ALTER TABLE IF EXISTS wads_in
-    DETACH partition wads_in_default;
-
-  ALTER TABLE IF EXISTS wad_in_entries
-    DETACH partition wad_in_entries_default;
-END
-$$;
-
-
---
--- Name: FUNCTION detach_default_partitions(); Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON FUNCTION public.detach_default_partitions() IS 'We need to drop 
default and create new one before deleting the default partitions
-      otherwise constraints get lost too. Might be needed in shardig too';
-
-
---
--- Name: drop_default_partitions(); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.drop_default_partitions() RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-
-  RAISE NOTICE 'Dropping default table partitions';
-
-  DROP TABLE IF EXISTS wire_targets_default;
-  DROP TABLE IF EXISTS reserves_default;
-  DROP TABLE IF EXISTS reserves_in_default;
-  DROP TABLE IF EXISTS reserves_close_default;
-  DROP TABLE IF EXISTS reserves_out_default;
-  DROP TABLE IF EXISTS reserves_out_by_reserve_default;
-  DROP TABLE IF EXISTS known_coins_default;
-  DROP TABLE IF EXISTS refresh_commitments_default;
-  DROP TABLE IF EXISTS refresh_revealed_coins_default;
-  DROP TABLE IF EXISTS refresh_transfer_keys_default;
-  DROP TABLE IF EXISTS deposits_default;
---DROP TABLE IF EXISTS deposits_by_ready_default;
---DROP TABLE IF EXISTS deposits_for_matching_default;
-  DROP TABLE IF EXISTS refunds_default;
-  DROP TABLE IF EXISTS wire_out_default;
-  DROP TABLE IF EXISTS aggregation_transient_default;
-  DROP TABLE IF EXISTS aggregation_tracking_default;
-  DROP TABLE IF EXISTS recoup_default;
-  DROP TABLE IF EXISTS recoup_by_reserve_default;
-  DROP TABLE IF EXISTS recoup_refresh_default;
-  DROP TABLE IF EXISTS prewire_default;
-  DROP TABLE IF EXISTS cs_nonce_locks_default;
-
-  DROP TABLE IF EXISTS purse_requests_default;
-  DROP TABLE IF EXISTS purse_refunds_default;
-  DROP TABLE IF EXISTS purse_merges_default;
-  DROP TABLE IF EXISTS account_merges_default;
-  DROP TABLE IF EXISTS contracts_default;
-  DROP TABLE IF EXISTS history_requests_default;
-  DROP TABLE IF EXISTS close_requests_default;
-  DROP TABLE IF EXISTS purse_deposits_default;
-  DROP TABLE IF EXISTS wad_out_entries_default;
-  DROP TABLE IF EXISTS wads_in_default;
-  DROP TABLE IF EXISTS wad_in_entries_default;
-
-END
-$$;
-
-
---
--- Name: FUNCTION drop_default_partitions(); Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON FUNCTION public.drop_default_partitions() IS 'Drop all default 
partitions once other partitions are attached.
-      Might be needed in sharding too.';
-
-
---
--- Name: exchange_do_account_merge(bytea, bytea, bytea); Type: FUNCTION; 
Schema: public; Owner: -
---
-
-CREATE FUNCTION public.exchange_do_account_merge(in_purse_pub bytea, 
in_reserve_pub bytea, in_reserve_sig bytea, OUT out_balance_ok boolean, OUT 
out_conflict boolean) RETURNS record
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  -- FIXME: function/API is dead! Do DCE?
-END $$;
-
-
---
--- Name: exchange_do_batch_withdraw(bigint, integer, bytea, bigint, bigint); 
Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.exchange_do_batch_withdraw(amount_val bigint, 
amount_frac integer, rpub bytea, now bigint, min_reserve_gc bigint, OUT 
reserve_found boolean, OUT balance_ok boolean, OUT kycok boolean, OUT 
account_uuid bigint, OUT ruuid bigint) RETURNS record
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  reserve_gc INT8;
-DECLARE
-  reserve_val INT8;
-DECLARE
-  reserve_frac INT4;
-BEGIN
--- Shards: reserves by reserve_pub (SELECT)
---         reserves_out (INSERT, with CONFLICT detection) by wih
---         reserves by reserve_pub (UPDATE)
---         reserves_in by reserve_pub (SELECT)
---         wire_targets by wire_target_h_payto
-
-SELECT
-   current_balance_val
-  ,current_balance_frac
-  ,gc_date
-  ,reserve_uuid
- INTO
-   reserve_val
-  ,reserve_frac
-  ,reserve_gc
-  ,ruuid
-  FROM reserves
- WHERE reserves.reserve_pub=rpub;
-
-IF NOT FOUND
-THEN
-  -- reserve unknown
-  reserve_found=FALSE;
-  balance_ok=FALSE;
-  kycok=FALSE;
-  account_uuid=0;
-  ruuid=2;
-  RETURN;
-END IF;
-
--- Check reserve balance is sufficient.
-IF (reserve_val > amount_val)
-THEN
-  IF (reserve_frac >= amount_frac)
-  THEN
-    reserve_val=reserve_val - amount_val;
-    reserve_frac=reserve_frac - amount_frac;
-  ELSE
-    reserve_val=reserve_val - amount_val - 1;
-    reserve_frac=reserve_frac + 100000000 - amount_frac;
-  END IF;
-ELSE
-  IF (reserve_val = amount_val) AND (reserve_frac >= amount_frac)
-  THEN
-    reserve_val=0;
-    reserve_frac=reserve_frac - amount_frac;
-  ELSE
-    reserve_found=TRUE;
-    balance_ok=FALSE;
-    kycok=FALSE; -- we do not really know or care
-    account_uuid=0;
-    RETURN;
-  END IF;
-END IF;
-
--- Calculate new expiration dates.
-min_reserve_gc=GREATEST(min_reserve_gc,reserve_gc);
-
--- Update reserve balance.
-UPDATE reserves SET
-  gc_date=min_reserve_gc
- ,current_balance_val=reserve_val
- ,current_balance_frac=reserve_frac
-WHERE
-  reserves.reserve_pub=rpub;
-
-reserve_found=TRUE;
-balance_ok=TRUE;
-
-
--- Obtain KYC status based on the last wire transfer into
--- this reserve. FIXME: likely not adequate for reserves that got P2P 
transfers!
--- SELECT
---    kyc_ok
---   ,wire_target_serial_id
---   INTO
---    kycok
---   ,account_uuid
---   FROM reserves_in
---   JOIN wire_targets ON (wire_source_h_payto = wire_target_h_payto)
---  WHERE reserve_pub=rpub
---  LIMIT 1; -- limit 1 should not be required (without p2p transfers)
-
-WITH reserves_in AS materialized (
-  SELECT wire_source_h_payto
-  FROM reserves_in WHERE
-  reserve_pub=rpub
-)
-SELECT
-  kyc_ok
-  ,wire_target_serial_id
-INTO
-  kycok
-  ,account_uuid
-FROM wire_targets
-  WHERE wire_target_h_payto = (
-    SELECT wire_source_h_payto
-      FROM reserves_in
-  );
-
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_batch_withdraw(amount_val bigint, amount_frac 
integer, rpub bytea, now bigint, min_reserve_gc bigint, OUT reserve_found 
boolean, OUT balance_ok boolean, OUT kycok boolean, OUT account_uuid bigint, 
OUT ruuid bigint); Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON FUNCTION public.exchange_do_batch_withdraw(amount_val bigint, 
amount_frac integer, rpub bytea, now bigint, min_reserve_gc bigint, OUT 
reserve_found boolean, OUT balance_ok boolean, OUT kycok boolean, OUT 
account_uuid bigint, OUT ruuid bigint) IS 'Checks whether the reserve has 
sufficient balance for a withdraw operation (or the request is repeated and was 
previously approved) and if so updates the database with the result. Excludes 
storing the planchets.';
-
-
---
--- Name: exchange_do_batch_withdraw_insert(bytea, bigint, integer, bytea, 
bigint, bytea, bytea, bytea, bigint); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.exchange_do_batch_withdraw_insert(cs_nonce bytea, 
amount_val bigint, amount_frac integer, h_denom_pub bytea, ruuid bigint, 
reserve_sig bytea, h_coin_envelope bytea, denom_sig bytea, now bigint, OUT 
out_denom_unknown boolean, OUT out_nonce_reuse boolean, OUT out_conflict 
boolean) RETURNS record
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  denom_serial INT8;
-BEGIN
--- Shards: reserves by reserve_pub (SELECT)
---         reserves_out (INSERT, with CONFLICT detection) by wih
---         reserves by reserve_pub (UPDATE)
---         reserves_in by reserve_pub (SELECT)
---         wire_targets by wire_target_h_payto
-
-out_denom_unknown=TRUE;
-out_conflict=TRUE;
-out_nonce_reuse=TRUE;
-
-SELECT denominations_serial
-  INTO denom_serial
-  FROM denominations
- WHERE denom_pub_hash=h_denom_pub;
-
-IF NOT FOUND
-THEN
-  -- denomination unknown, should be impossible!
-  out_denom_unknown=TRUE;
-  ASSERT false, 'denomination unknown';
-  RETURN;
-END IF;
-out_denom_unknown=FALSE;
-
-INSERT INTO reserves_out
-  (h_blind_ev
-  ,denominations_serial
-  ,denom_sig
-  ,reserve_uuid
-  ,reserve_sig
-  ,execution_date
-  ,amount_with_fee_val
-  ,amount_with_fee_frac)
-VALUES
-  (h_coin_envelope
-  ,denom_serial
-  ,denom_sig
-  ,ruuid
-  ,reserve_sig
-  ,now
-  ,amount_val
-  ,amount_frac)
-ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
-  out_conflict=TRUE;
-  RETURN;
-END IF;
-out_conflict=FALSE;
-
--- Special actions needed for a CS withdraw?
-out_nonce_reuse=FALSE;
-IF NOT NULL cs_nonce
-THEN
-  -- Cache CS signature to prevent replays in the future
-  -- (and check if cached signature exists at the same time).
-  INSERT INTO cs_nonce_locks
-    (nonce
-    ,max_denomination_serial
-    ,op_hash)
-  VALUES
-    (cs_nonce
-    ,denom_serial
-    ,h_coin_envelope)
-  ON CONFLICT DO NOTHING;
-
-  IF NOT FOUND
-  THEN
-    -- See if the existing entry is identical.
-    SELECT 1
-      FROM cs_nonce_locks
-     WHERE nonce=cs_nonce
-       AND op_hash=h_coin_envelope;
-    IF NOT FOUND
-    THEN
-      out_nonce_reuse=TRUE;
-      ASSERT false, 'nonce reuse attempted by client';
-      RETURN;
-    END IF;
-  END IF;
-END IF;
-
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_batch_withdraw_insert(cs_nonce bytea, amount_val 
bigint, amount_frac integer, h_denom_pub bytea, ruuid bigint, reserve_sig 
bytea, h_coin_envelope bytea, denom_sig bytea, now bigint, OUT 
out_denom_unknown boolean, OUT out_nonce_reuse boolean, OUT out_conflict 
boolean); Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON FUNCTION public.exchange_do_batch_withdraw_insert(cs_nonce bytea, 
amount_val bigint, amount_frac integer, h_denom_pub bytea, ruuid bigint, 
reserve_sig bytea, h_coin_envelope bytea, denom_sig bytea, now bigint, OUT 
out_denom_unknown boolean, OUT out_nonce_reuse boolean, OUT out_conflict 
boolean) IS 'Stores information about a planchet for a batch withdraw 
operation. Checks if the planchet already exists, and in that case indicates a 
conflict';
-
-
---
--- Name: exchange_do_close_request(bytea, bytea); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.exchange_do_close_request(in_reserve_pub bytea, 
in_reserve_sig bytea, OUT out_final_balance_val bigint, OUT 
out_final_balance_frac integer, OUT out_balance_ok boolean, OUT out_conflict 
boolean) RETURNS record
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  -- FIXME
-END $$;
-
-
---
--- Name: exchange_do_deposit(bigint, integer, bytea, bytea, bigint, bigint, 
bigint, bigint, bytea, character varying, bytea, bigint, bytea, bytea, bigint, 
boolean, character varying); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.exchange_do_deposit(in_amount_with_fee_val bigint, 
in_amount_with_fee_frac integer, in_h_contract_terms bytea, in_wire_salt bytea, 
in_wallet_timestamp bigint, in_exchange_timestamp bigint, in_refund_deadline 
bigint, in_wire_deadline bigint, in_merchant_pub bytea, 
in_receiver_wire_account character varying, in_h_payto bytea, in_known_coin_id 
bigint, in_coin_pub bytea, in_coin_sig bytea, in_shard bigint, 
in_extension_blocked boolean, in_extension_details character va [...]
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  wtsi INT8; -- wire target serial id
-DECLARE
-  xdi INT8; -- eXstension details serial id
-BEGIN
--- Shards: INSERT extension_details (by extension_details_serial_id)
---         INSERT wire_targets (by h_payto), on CONFLICT DO NOTHING;
---         INSERT deposits (by coin_pub, shard), ON CONFLICT DO NOTHING;
---         UPDATE known_coins (by coin_pub)
-
-IF NOT NULL in_extension_details
-THEN
-  INSERT INTO extension_details
-  (extension_options)
-  VALUES
-    (in_extension_details)
-  RETURNING extension_details_serial_id INTO xdi;
-ELSE
-  xdi=NULL;
-END IF;
-
-
-INSERT INTO wire_targets
-  (wire_target_h_payto
-  ,payto_uri)
-  VALUES
-  (in_h_payto
-  ,in_receiver_wire_account)
-ON CONFLICT DO NOTHING -- for CONFLICT ON (wire_target_h_payto)
-  RETURNING wire_target_serial_id INTO wtsi;
-
-IF NOT FOUND
-THEN
-  SELECT wire_target_serial_id
-  INTO wtsi
-  FROM wire_targets
-  WHERE wire_target_h_payto=in_h_payto;
-END IF;
-
-
-INSERT INTO deposits
-  (shard
-  ,coin_pub
-  ,known_coin_id
-  ,amount_with_fee_val
-  ,amount_with_fee_frac
-  ,wallet_timestamp
-  ,exchange_timestamp
-  ,refund_deadline
-  ,wire_deadline
-  ,merchant_pub
-  ,h_contract_terms
-  ,coin_sig
-  ,wire_salt
-  ,wire_target_h_payto
-  ,extension_blocked
-  ,extension_details_serial_id
-  )
-  VALUES
-  (in_shard
-  ,in_coin_pub
-  ,in_known_coin_id
-  ,in_amount_with_fee_val
-  ,in_amount_with_fee_frac
-  ,in_wallet_timestamp
-  ,in_exchange_timestamp
-  ,in_refund_deadline
-  ,in_wire_deadline
-  ,in_merchant_pub
-  ,in_h_contract_terms
-  ,in_coin_sig
-  ,in_wire_salt
-  ,in_h_payto
-  ,in_extension_blocked
-  ,xdi)
-  ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
-  -- Idempotency check: see if an identical record exists.
-  -- Note that by checking 'coin_sig', we implicitly check
-  -- identity over everything that the signature covers.
-  -- We do select over merchant_pub and wire_target_h_payto
-  -- primarily here to maximally use the existing index.
-  SELECT
-     exchange_timestamp
-   INTO
-     out_exchange_timestamp
-   FROM deposits
-   WHERE shard=in_shard
-     AND merchant_pub=in_merchant_pub
-     AND wire_target_h_payto=in_h_payto
-     AND coin_pub=in_coin_pub
-     AND coin_sig=in_coin_sig;
-
-  IF NOT FOUND
-  THEN
-    -- Deposit exists, but with differences. Not allowed.
-    out_balance_ok=FALSE;
-    out_conflict=TRUE;
-    RETURN;
-  END IF;
-
-  -- Idempotent request known, return success.
-  out_balance_ok=TRUE;
-  out_conflict=FALSE;
-
-  RETURN;
-END IF;
-
-
-out_exchange_timestamp=in_exchange_timestamp;
-
--- Check and update balance of the coin.
-UPDATE known_coins
-  SET
-    remaining_frac=remaining_frac-in_amount_with_fee_frac
-       + CASE
-         WHEN remaining_frac < in_amount_with_fee_frac
-         THEN 100000000
-         ELSE 0
-         END,
-    remaining_val=remaining_val-in_amount_with_fee_val
-       - CASE
-         WHEN remaining_frac < in_amount_with_fee_frac
-         THEN 1
-         ELSE 0
-         END
-  WHERE coin_pub=in_coin_pub
-    AND ( (remaining_val > in_amount_with_fee_val) OR
-          ( (remaining_frac >= in_amount_with_fee_frac) AND
-            (remaining_val >= in_amount_with_fee_val) ) );
-
-IF NOT FOUND
-THEN
-  -- Insufficient balance.
-  out_balance_ok=FALSE;
-  out_conflict=FALSE;
-  RETURN;
-END IF;
-
--- Everything fine, return success!
-out_balance_ok=TRUE;
-out_conflict=FALSE;
-
-END $$;
-
-
---
--- Name: exchange_do_expire_purse(bigint, bigint); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.exchange_do_expire_purse(in_start_time bigint, 
in_end_time bigint, OUT out_found boolean) RETURNS boolean
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  my_purse_pub BYTEA;
-DECLARE
-  my_deposit record;
-BEGIN
-
-SELECT purse_pub
-  INTO my_purse_pub
-  FROM purse_requests
- WHERE (purse_expiration >= in_start_time) AND
-       (purse_expiration < in_end_time) AND
-       (NOT finished) AND
-       (NOT refunded)
- ORDER BY purse_expiration ASC
- LIMIT 1;
-out_found = FOUND;
-IF NOT FOUND
-THEN
-  RETURN;
-END IF;
-
-UPDATE purse_requests
- SET refunded=TRUE,
-     finished=TRUE
- WHERE purse_pub=my_purse_pub;
-
-INSERT INTO purse_refunds
- (purse_pub)
- VALUES
- (my_purse_pub);
-
--- restore balance to each coin deposited into the purse
-FOR my_deposit IN
-  SELECT coin_pub
-        ,amount_with_fee_val
-        ,amount_with_fee_frac
-    FROM purse_deposits
-  WHERE purse_pub = my_purse_pub
-LOOP
-  UPDATE known_coins SET
-    remaining_frac=remaining_frac+my_deposit.amount_with_fee_frac
-     - CASE
-       WHEN remaining_frac+my_deposit.amount_with_fee_frac >= 100000000
-       THEN 100000000
-       ELSE 0
-       END,
-    remaining_val=remaining_val+my_deposit.amount_with_fee_val
-     + CASE
-       WHEN remaining_frac+my_deposit.amount_with_fee_frac >= 100000000
-       THEN 1
-       ELSE 0
-       END
-    WHERE coin_pub = my_deposit.coin_pub;
-  END LOOP;
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_expire_purse(in_start_time bigint, in_end_time 
bigint, OUT out_found boolean); Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON FUNCTION public.exchange_do_expire_purse(in_start_time bigint, 
in_end_time bigint, OUT out_found boolean) IS 'Finds an expired purse in the 
given time range and refunds the coins (if any).';
-
-
---
--- Name: exchange_do_gc(bigint, bigint); Type: PROCEDURE; Schema: public; 
Owner: -
---
-
-CREATE PROCEDURE public.exchange_do_gc(in_ancient_date bigint, in_now bigint)
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  reserve_uuid_min INT8; -- minimum reserve UUID still alive
-DECLARE
-  melt_min INT8; -- minimum melt still alive
-DECLARE
-  coin_min INT8; -- minimum known_coin still alive
-DECLARE
-  deposit_min INT8; -- minimum deposit still alive
-DECLARE
-  reserve_out_min INT8; -- minimum reserve_out still alive
-DECLARE
-  denom_min INT8; -- minimum denomination still alive
-BEGIN
-
-DELETE FROM prewire
-  WHERE finished=TRUE;
-
-DELETE FROM wire_fee
-  WHERE end_date < in_ancient_date;
-
--- TODO: use closing fee as threshold?
-DELETE FROM reserves
-  WHERE gc_date < in_now
-    AND current_balance_val = 0
-    AND current_balance_frac = 0;
-
-SELECT
-     reserve_out_serial_id
-  INTO
-     reserve_out_min
-  FROM reserves_out
-  ORDER BY reserve_out_serial_id ASC
-  LIMIT 1;
-
-DELETE FROM recoup
-  WHERE reserve_out_serial_id < reserve_out_min;
--- FIXME: recoup_refresh lacks GC!
-
-SELECT
-     reserve_uuid
-  INTO
-     reserve_uuid_min
-  FROM reserves
-  ORDER BY reserve_uuid ASC
-  LIMIT 1;
-
-DELETE FROM reserves_out
-  WHERE reserve_uuid < reserve_uuid_min;
-
--- FIXME: this query will be horribly slow;
--- need to find another way to formulate it...
-DELETE FROM denominations
-  WHERE expire_legal < in_now
-    AND denominations_serial NOT IN
-      (SELECT DISTINCT denominations_serial
-         FROM reserves_out)
-    AND denominations_serial NOT IN
-      (SELECT DISTINCT denominations_serial
-         FROM known_coins
-        WHERE coin_pub IN
-          (SELECT DISTINCT coin_pub
-             FROM recoup))
-    AND denominations_serial NOT IN
-      (SELECT DISTINCT denominations_serial
-         FROM known_coins
-        WHERE coin_pub IN
-          (SELECT DISTINCT coin_pub
-             FROM recoup_refresh));
-
-SELECT
-     melt_serial_id
-  INTO
-     melt_min
-  FROM refresh_commitments
-  ORDER BY melt_serial_id ASC
-  LIMIT 1;
-
-DELETE FROM refresh_revealed_coins
-  WHERE melt_serial_id < melt_min;
-
-DELETE FROM refresh_transfer_keys
-  WHERE melt_serial_id < melt_min;
-
-SELECT
-     known_coin_id
-  INTO
-     coin_min
-  FROM known_coins
-  ORDER BY known_coin_id ASC
-  LIMIT 1;
-
-DELETE FROM deposits
-  WHERE known_coin_id < coin_min;
-
-SELECT
-     deposit_serial_id
-  INTO
-     deposit_min
-  FROM deposits
-  ORDER BY deposit_serial_id ASC
-  LIMIT 1;
-
-DELETE FROM refunds
-  WHERE deposit_serial_id < deposit_min;
-
-DELETE FROM aggregation_tracking
-  WHERE deposit_serial_id < deposit_min;
-
-SELECT
-     denominations_serial
-  INTO
-     denom_min
-  FROM denominations
-  ORDER BY denominations_serial ASC
-  LIMIT 1;
-
-DELETE FROM cs_nonce_locks
-  WHERE max_denomination_serial <= denom_min;
-
-END $$;
-
-
---
--- Name: exchange_do_history_request(bytea, bytea, bigint, bigint, integer); 
Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.exchange_do_history_request(in_reserve_pub bytea, 
in_reserve_sig bytea, in_request_timestamp bigint, in_history_fee_val bigint, 
in_history_fee_frac integer, OUT out_balance_ok boolean, OUT out_idempotent 
boolean) RETURNS record
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-
-  -- Insert and check for idempotency.
-  INSERT INTO history_requests
-  (reserve_pub
-  ,request_timestamp
-  ,reserve_sig
-  ,history_fee_val
-  ,history_fee_frac)
-  VALUES
-  (in_reserve_pub
-  ,in_request_timestamp
-  ,in_reserve_sig
-  ,in_history_fee_val
-  ,in_history_fee_frac)
-  ON CONFLICT DO NOTHING;
-
-  IF NOT FOUND
-  THEN
-    out_balance_ok=TRUE;
-    out_idempotent=TRUE;
-    RETURN;
-  END IF;
-
-  out_idempotent=FALSE;
-
-  -- Update reserve balance.
-  UPDATE reserves
-   SET
-    current_balance_frac=current_balance_frac-in_history_fee_frac
-       + CASE
-         WHEN current_balance_frac < in_history_fee_frac
-         THEN 100000000
-         ELSE 0
-         END,
-    current_balance_val=current_balance_val-in_history_fee_val
-       - CASE
-         WHEN current_balance_frac < in_history_fee_frac
-         THEN 1
-         ELSE 0
-         END
-  WHERE
-    reserve_pub=in_reserve_pub
-    AND ( (current_balance_val > in_history_fee_val) OR
-          ( (current_balance_frac >= in_history_fee_frac) AND
-            (current_balance_val >= in_history_fee_val) ) );
-
-  IF NOT FOUND
-  THEN
-    -- Either reserve does not exist, or balance insufficient.
-    -- Both we treat the same here as balance insufficient.
-    out_balance_ok=FALSE;
-    RETURN;
-  END IF;
-
-  out_balance_ok=TRUE;
-END $$;
-
-
---
--- Name: exchange_do_melt(bytea, bigint, integer, bytea, bytea, bytea, bigint, 
integer, boolean); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.exchange_do_melt(in_cs_rms bytea, 
in_amount_with_fee_val bigint, in_amount_with_fee_frac integer, in_rc bytea, 
in_old_coin_pub bytea, in_old_coin_sig bytea, in_known_coin_id bigint, 
in_noreveal_index integer, in_zombie_required boolean, OUT out_balance_ok 
boolean, OUT out_zombie_bad boolean, OUT out_noreveal_index integer) RETURNS 
record
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  denom_max INT8;
-BEGIN
--- Shards: INSERT refresh_commitments (by rc)
--- (rare:) SELECT refresh_commitments (by old_coin_pub) -- crosses shards!
--- (rare:) SEELCT refresh_revealed_coins (by melt_serial_id)
--- (rare:) PERFORM recoup_refresh (by rrc_serial) -- crosses shards!
---         UPDATE known_coins (by coin_pub)
-
-INSERT INTO refresh_commitments
-  (rc
-  ,old_coin_pub
-  ,old_coin_sig
-  ,amount_with_fee_val
-  ,amount_with_fee_frac
-  ,noreveal_index
-  )
-  VALUES
-  (in_rc
-  ,in_old_coin_pub
-  ,in_old_coin_sig
-  ,in_amount_with_fee_val
-  ,in_amount_with_fee_frac
-  ,in_noreveal_index)
-  ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
-  -- Idempotency check: see if an identical record exists.
-  out_noreveal_index=-1;
-  SELECT
-     noreveal_index
-    INTO
-     out_noreveal_index
-    FROM refresh_commitments
-   WHERE rc=in_rc;
-  out_balance_ok=FOUND;
-  out_zombie_bad=FALSE; -- zombie is OK
-  RETURN;
-END IF;
-
-
-IF in_zombie_required
-THEN
-  -- Check if this coin was part of a refresh
-  -- operation that was subsequently involved
-  -- in a recoup operation.  We begin by all
-  -- refresh operations our coin was involved
-  -- with, then find all associated reveal
-  -- operations, and then see if any of these
-  -- reveal operations was involved in a recoup.
-  PERFORM
-    FROM recoup_refresh
-   WHERE rrc_serial IN
-    (SELECT rrc_serial
-       FROM refresh_revealed_coins
-      WHERE melt_serial_id IN
-      (SELECT melt_serial_id
-         FROM refresh_commitments
-        WHERE old_coin_pub=in_old_coin_pub));
-  IF NOT FOUND
-  THEN
-    out_zombie_bad=TRUE;
-    out_balance_ok=FALSE;
-    RETURN;
-  END IF;
-END IF;
-
-out_zombie_bad=FALSE; -- zombie is OK
-
-
--- Check and update balance of the coin.
-UPDATE known_coins
-  SET
-    remaining_frac=remaining_frac-in_amount_with_fee_frac
-       + CASE
-         WHEN remaining_frac < in_amount_with_fee_frac
-         THEN 100000000
-         ELSE 0
-         END,
-    remaining_val=remaining_val-in_amount_with_fee_val
-       - CASE
-         WHEN remaining_frac < in_amount_with_fee_frac
-         THEN 1
-         ELSE 0
-         END
-  WHERE coin_pub=in_old_coin_pub
-    AND ( (remaining_val > in_amount_with_fee_val) OR
-          ( (remaining_frac >= in_amount_with_fee_frac) AND
-            (remaining_val >= in_amount_with_fee_val) ) );
-
-IF NOT FOUND
-THEN
-  -- Insufficient balance.
-  out_noreveal_index=-1;
-  out_balance_ok=FALSE;
-  RETURN;
-END IF;
-
-
-
--- Special actions needed for a CS melt?
-IF NOT NULL in_cs_rms
-THEN
-  -- Get maximum denominations serial value in
-  -- existence, this will determine how long the
-  -- nonce will be locked.
-  SELECT
-      denominations_serial
-    INTO
-      denom_max
-    FROM denominations
-      ORDER BY denominations_serial DESC
-      LIMIT 1;
-
-  -- Cache CS signature to prevent replays in the future
-  -- (and check if cached signature exists at the same time).
-  INSERT INTO cs_nonce_locks
-    (nonce
-    ,max_denomination_serial
-    ,op_hash)
-  VALUES
-    (cs_rms
-    ,denom_serial
-    ,in_rc)
-  ON CONFLICT DO NOTHING;
-
-  IF NOT FOUND
-  THEN
-    -- Record exists, make sure it is the same
-    SELECT 1
-      FROM cs_nonce_locks
-     WHERE nonce=cs_rms
-       AND op_hash=in_rc;
-
-    IF NOT FOUND
-    THEN
-       -- Nonce reuse detected
-       out_balance_ok=FALSE;
-       out_zombie_bad=FALSE;
-       out_noreveal_index=42; -- FIXME: return error message more nicely!
-       ASSERT false, 'nonce reuse attempted by client';
-    END IF;
-  END IF;
-END IF;
-
--- Everything fine, return success!
-out_balance_ok=TRUE;
-out_noreveal_index=in_noreveal_index;
-
-END $$;
-
-
---
--- Name: exchange_do_purse_deposit(bigint, bytea, bigint, integer, bytea, 
bytea, bigint, integer); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.exchange_do_purse_deposit(in_partner_id bigint, 
in_purse_pub bytea, in_amount_with_fee_val bigint, in_amount_with_fee_frac 
integer, in_coin_pub bytea, in_coin_sig bytea, in_amount_without_fee_val 
bigint, in_amount_without_fee_frac integer, OUT out_balance_ok boolean, OUT 
out_conflict boolean) RETURNS record
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  was_merged BOOLEAN;
-DECLARE
-  psi INT8; -- partner's serial ID (set if merged)
-DECLARE
-  my_amount_val INT8; -- total in purse
-DECLARE
-  my_amount_frac INT4; -- total in purse
-DECLARE
-  was_paid BOOLEAN;
-DECLARE
-  my_reserve_pub BYTEA;
-BEGIN
-
--- Store the deposit request.
-INSERT INTO purse_deposits
-  (partner_serial_id
-  ,purse_pub
-  ,coin_pub
-  ,amount_with_fee_val
-  ,amount_with_fee_frac
-  ,coin_sig)
-  VALUES
-  (in_partner_id
-  ,in_purse_pub
-  ,in_coin_pub
-  ,in_amount_with_fee_val
-  ,in_amount_with_fee_frac
-  ,in_coin_sig)
-  ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
-  -- Idempotency check: check if coin_sig is the same,
-  -- if so, success, otherwise conflict!
-  PERFORM
-  FROM purse_deposits
-  WHERE coin_pub = in_coin_pub
-    AND purse_pub = in_purse_pub
-    AND coin_sig = in_cion_sig;
-  IF NOT FOUND
-  THEN
-    -- Deposit exists, but with differences. Not allowed.
-    out_balance_ok=FALSE;
-    out_conflict=TRUE;
-    RETURN;
-  END IF;
-END IF;
-
-
--- Debit the coin
--- Check and update balance of the coin.
-UPDATE known_coins
-  SET
-    remaining_frac=remaining_frac-in_amount_with_fee_frac
-       + CASE
-         WHEN remaining_frac < in_amount_with_fee_frac
-         THEN 100000000
-         ELSE 0
-         END,
-    remaining_val=remaining_val-in_amount_with_fee_val
-       - CASE
-         WHEN remaining_frac < in_amount_with_fee_frac
-         THEN 1
-         ELSE 0
-         END
-  WHERE coin_pub=in_coin_pub
-    AND ( (remaining_val > in_amount_with_fee_val) OR
-          ( (remaining_frac >= in_amount_with_fee_frac) AND
-            (remaining_val >= in_amount_with_fee_val) ) );
-
-IF NOT FOUND
-THEN
-  -- Insufficient balance.
-  out_balance_ok=FALSE;
-  out_conflict=FALSE;
-  RETURN;
-END IF;
-
-
--- Credit the purse.
-UPDATE purse_requests
-  SET
-    balance_frac=balance_frac+in_amount_without_fee_frac
-       - CASE
-         WHEN balance_frac+in_amount_without_fee_frac >= 100000000
-         THEN 100000000
-         ELSE 0
-         END,
-    balance_val=balance_val+in_amount_without_fee_val
-       + CASE
-         WHEN balance_frac+in_amount_without_fee_frac >= 100000000
-         THEN 1
-         ELSE 0
-         END
-  WHERE purse_pub=in_purse_pub;
-
-out_conflict=FALSE;
-out_balance_ok=TRUE;
-
--- See if we can finish the merge or need to update the trigger time and 
partner.
-SELECT partner_serial_id
-      ,reserve_pub
-  INTO psi
-      ,my_reserve_pub
-  FROM purse_merges
- WHERE purse_pub=in_purse_pub;
-
-IF NOT FOUND
-THEN
-  RETURN;
-END IF;
-
-SELECT
-    amount_with_fee_val
-   ,amount_with_fee_frac
-  INTO
-    my_amount_val
-   ,my_amount_frac
-  FROM purse_requests
-  WHERE (purse_pub=in_purse_pub)
-    AND ( ( ( (amount_with_fee_val <= balance_val)
-          AND (amount_with_fee_frac <= balance_frac) )
-         OR (amount_with_fee_val < balance_val) ) );
-IF NOT FOUND
-THEN
-  RETURN;
-END IF;
-
-IF (0 != psi)
-THEN
-  -- The taler-exchange-router will take care of this.
-  UPDATE purse_actions
-     SET action_date=0 --- "immediately"
-        ,partner_serial_id=psi
-   WHERE purse_pub=in_purse_pub;
-ELSE
-  -- This is a local reserve, update balance immediately.
-  UPDATE reserves
-  SET
-    current_balance_frac=current_balance_frac+my_amount_frac
-       - CASE
-         WHEN current_balance_frac + my_amount_frac >= 100000000
-         THEN 100000000
-         ELSE 0
-         END,
-    current_balance_val=current_balance_val+my_amount_val
-       + CASE
-         WHEN current_balance_frac + my_amount_frac >= 100000000
-         THEN 1
-         ELSE 0
-         END
-  WHERE reserve_pub=my_reserve_pub;
-
-  -- ... and mark purse as finished.
-  -- FIXME: combine with UPDATE above?
-  UPDATE purse_requests
-     SET finished=true
-  WHERE purse_pub=in_purse_pub;
-END IF;
-
-
-END $$;
-
-
---
--- Name: exchange_do_purse_merge(bytea, bytea, bigint, bytea, character 
varying, bytea, boolean); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.exchange_do_purse_merge(in_purse_pub bytea, 
in_merge_sig bytea, in_merge_timestamp bigint, in_reserve_sig bytea, 
in_partner_url character varying, in_reserve_pub bytea, in_require_kyc boolean, 
OUT out_no_partner boolean, OUT out_no_balance boolean, OUT out_no_kyc boolean, 
OUT out_no_reserve boolean, OUT out_conflict boolean) RETURNS record
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  my_amount_val INT8;
-DECLARE
-  my_amount_frac INT4;
-DECLARE
-  my_purse_fee_val INT8;
-DECLARE
-  my_purse_fee_frac INT4;
-DECLARE
-  my_partner_serial_id INT8;
-DECLARE
-  my_finished BOOLEAN;
-BEGIN
-
-IF in_partner_url IS NULL
-THEN
-  my_partner_serial_id=0;
-ELSE
-  SELECT
-    partner_serial_id
-  INTO
-    my_partner_serial_id
-  FROM partners
-  WHERE partner_base_url=in_partner_url
-    AND start_date <= in_merge_timestamp
-    AND end_date > in_merge_timestamp;
-  IF NOT FOUND
-  THEN
-    out_no_partner=TRUE;
-    out_conflict=FALSE;
-    out_no_kyc=FALSE;
-    out_no_reserve=FALSE;
-    RETURN;
-  END IF;
-END IF;
-
-out_no_partner=FALSE;
-
-
--- Check purse is 'full'.
-SELECT amount_with_fee_val
-      ,amount_with_fee_frac
-      ,purse_fee_val
-      ,purse_fee_frac
-      ,finished
-  INTO my_amount_val
-      ,my_amount_frac
-      ,my_purse_fee_val
-      ,my_purse_fee_frac
-      ,my_finished
-  FROM purse_requests
-  WHERE purse_pub=in_purse_pub
-    AND balance_val >= amount_with_fee_val
-    AND ( (balance_frac >= amount_with_fee_frac) OR
-          (balance_val > amount_with_fee_val) );
-IF NOT FOUND
-THEN
-  out_no_balance=TRUE;
-  out_conflict=FALSE;
-  out_no_kyc=FALSE;
-  out_no_reserve=FALSE;
-  RETURN;
-END IF;
-out_no_balance=FALSE;
-
--- Store purse merge signature, checks for purse_pub uniqueness
-INSERT INTO purse_merges
-    (partner_serial_id
-    ,reserve_pub
-    ,purse_pub
-    ,merge_sig
-    ,merge_timestamp)
-  VALUES
-    (my_partner_serial_id
-    ,in_reserve_pub
-    ,in_purse_pub
-    ,in_merge_sig
-    ,in_merge_timestamp)
-  ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
-  -- Idempotency check: see if an identical record exists.
-  -- Note that by checking 'merge_sig', we implicitly check
-  -- identity over everything that the signature covers.
-  PERFORM
-  FROM purse_merges
-  WHERE purse_pub=in_purse_pub
-     AND merge_sig=in_merge_sig;
-  IF NOT FOUND
-  THEN
-     -- Purse was merged, but to some other reserve. Not allowed.
-     out_conflict=TRUE;
-     out_no_kyc=FALSE;
-     out_no_reserve=FALSE;
-     RETURN;
-  END IF;
-
-  -- "success"
-  out_conflict=FALSE;
-  out_no_kyc=FALSE;
-  out_no_reserve=FALSE;
-  RETURN;
-END IF;
-out_conflict=FALSE;
-
-ASSERT NOT my_finished, 'internal invariant failed';
-
-IF ( (in_partner_url IS NULL) AND
-     (in_require_kyc) )
-THEN
-  -- Need to do KYC check.
-  SELECT NOT kyc_passed
-    INTO out_no_kyc
-    FROM reserves
-   WHERE reserve_pub=in_reserve_pub;
-
-  IF NOT FOUND
-  THEN
-    out_no_kyc=TRUE;
-    out_no_reserve=TRUE;
-    RETURN;
-  END IF;
-  out_no_reserve=FALSE;
-
-  IF (out_no_kyc)
-  THEN
-    RETURN;
-  END IF;
-ELSE
-  -- KYC is not our responsibility
-  out_no_reserve=FALSE;
-  out_no_kyc=FALSE;
-END IF;
-
-
-
--- Store account merge signature.
-INSERT INTO account_merges
-  (reserve_pub
-  ,reserve_sig
-  ,purse_pub)
-  VALUES
-  (in_reserve_pub
-  ,in_reserve_sig
-  ,in_purse_pub);
-
--- If we need a wad transfer, mark purse ready for it.
-IF (0 != my_partner_serial_id)
-THEN
-  -- The taler-exchange-router will take care of this.
-  UPDATE purse_actions
-     SET action_date=0 --- "immediately"
-        ,partner_serial_id=my_partner_serial_id
-   WHERE purse_pub=in_purse_pub;
-ELSE
-  -- This is a local reserve, update reserve balance immediately.
-
-  -- Refund the purse fee, by adding it to the purse value:
-  my_amount_val = my_amount_val + my_purse_fee_val;
-  my_amount_frac = my_amount_frac + my_purse_fee_frac;
-  -- normalize result
-  my_amount_val = my_amount_val + my_amount_frac / 100000000;
-  my_amount_frac = my_amount_frac % 100000000;
-
-  UPDATE reserves
-  SET
-    current_balance_frac=current_balance_frac+my_amount_frac
-       - CASE
-         WHEN current_balance_frac + my_amount_frac >= 100000000
-         THEN 100000000
-         ELSE 0
-         END,
-    current_balance_val=current_balance_val+my_amount_val
-       + CASE
-         WHEN current_balance_frac + my_amount_frac >= 100000000
-         THEN 1
-         ELSE 0
-         END
-  WHERE reserve_pub=in_reserve_pub;
-
-  -- ... and mark purse as finished.
-  UPDATE purse_requests
-     SET finished=true
-  WHERE purse_pub=in_purse_pub;
-END IF;
-
-
-RETURN;
-
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_purse_merge(in_purse_pub bytea, in_merge_sig 
bytea, in_merge_timestamp bigint, in_reserve_sig bytea, in_partner_url 
character varying, in_reserve_pub bytea, in_require_kyc boolean, OUT 
out_no_partner boolean, OUT out_no_balance boolean, OUT out_no_kyc boolean, OUT 
out_no_reserve boolean, OUT out_conflict boolean); Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON FUNCTION public.exchange_do_purse_merge(in_purse_pub bytea, 
in_merge_sig bytea, in_merge_timestamp bigint, in_reserve_sig bytea, 
in_partner_url character varying, in_reserve_pub bytea, in_require_kyc boolean, 
OUT out_no_partner boolean, OUT out_no_balance boolean, OUT out_no_kyc boolean, 
OUT out_no_reserve boolean, OUT out_conflict boolean) IS 'Checks that the 
partner exists, the purse has not been merged with a different reserve and that 
the purse is full. If so, persists the [...]
-
-
---
--- Name: exchange_do_recoup_by_reserve(bytea); Type: FUNCTION; Schema: public; 
Owner: -
---
-
-CREATE FUNCTION public.exchange_do_recoup_by_reserve(res_pub bytea) RETURNS 
TABLE(denom_sig bytea, denominations_serial bigint, coin_pub bytea, coin_sig 
bytea, coin_blind bytea, amount_val bigint, amount_frac integer, 
recoup_timestamp bigint)
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  res_uuid BIGINT;
-  blind_ev BYTEA;
-  c_pub    BYTEA;
-BEGIN
-  SELECT reserve_uuid
-  INTO res_uuid
-  FROM reserves
-  WHERE reserves.reserve_pub = res_pub;
-
-  FOR blind_ev IN
-    SELECT h_blind_ev
-      FROM reserves_out_by_reserve
-    WHERE reserves_out_by_reserve.reserve_uuid = res_uuid
-  LOOP
-    SELECT robr.coin_pub
-      INTO c_pub
-      FROM recoup_by_reserve robr
-    WHERE robr.reserve_out_serial_id = (
-      SELECT reserves_out.reserve_out_serial_id
-        FROM reserves_out
-      WHERE reserves_out.h_blind_ev = blind_ev
-    );
-    RETURN QUERY
-      SELECT kc.denom_sig,
-             kc.denominations_serial,
-             rc.coin_pub,
-             rc.coin_sig,
-             rc.coin_blind,
-             rc.amount_val,
-             rc.amount_frac,
-             rc.recoup_timestamp
-      FROM (
-        SELECT *
-        FROM known_coins
-        WHERE known_coins.coin_pub = c_pub
-      ) kc
-      JOIN (
-        SELECT *
-        FROM recoup
-        WHERE recoup.coin_pub = c_pub
-      ) rc USING (coin_pub);
-  END LOOP;
-END;
-$$;
-
-
---
--- Name: FUNCTION exchange_do_recoup_by_reserve(res_pub bytea); Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON FUNCTION public.exchange_do_recoup_by_reserve(res_pub bytea) IS 
'Recoup by reserve as a function to make sure we hit only the needed partition 
and not all when joining as joins on distributed tables fetch ALL rows from the 
shards';
-
-
---
--- Name: exchange_do_recoup_to_coin(bytea, bigint, bytea, bytea, bigint, 
bytea, bigint); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.exchange_do_recoup_to_coin(in_old_coin_pub bytea, 
in_rrc_serial bigint, in_coin_blind bytea, in_coin_pub bytea, in_known_coin_id 
bigint, in_coin_sig bytea, in_recoup_timestamp bigint, OUT out_recoup_ok 
boolean, OUT out_internal_failure boolean, OUT out_recoup_timestamp bigint) 
RETURNS record
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  tmp_val INT8; -- amount recouped
-DECLARE
-  tmp_frac INT8; -- amount recouped
-BEGIN
-
--- Shards: UPDATE known_coins (by coin_pub)
---         SELECT recoup_refresh (by coin_pub)
---         UPDATE known_coins (by coin_pub)
---         INSERT recoup_refresh (by coin_pub)
-
-
-out_internal_failure=FALSE;
-
-
--- Check remaining balance of the coin.
-SELECT
-   remaining_frac
-  ,remaining_val
- INTO
-   tmp_frac
-  ,tmp_val
-FROM known_coins
-  WHERE coin_pub=in_coin_pub;
-
-IF NOT FOUND
-THEN
-  out_internal_failure=TRUE;
-  out_recoup_ok=FALSE;
-  RETURN;
-END IF;
-
-IF tmp_val + tmp_frac = 0
-THEN
-  -- Check for idempotency
-  SELECT
-      recoup_timestamp
-    INTO
-      out_recoup_timestamp
-    FROM recoup_refresh
-    WHERE coin_pub=in_coin_pub;
-  out_recoup_ok=FOUND;
-  RETURN;
-END IF;
-
--- Update balance of the coin.
-UPDATE known_coins
-  SET
-     remaining_frac=0
-    ,remaining_val=0
-  WHERE coin_pub=in_coin_pub;
-
-
--- Credit the old coin.
-UPDATE known_coins
-  SET
-    remaining_frac=remaining_frac+tmp_frac
-       - CASE
-         WHEN remaining_frac+tmp_frac >= 100000000
-         THEN 100000000
-         ELSE 0
-         END,
-    remaining_val=remaining_val+tmp_val
-       + CASE
-         WHEN remaining_frac+tmp_frac >= 100000000
-         THEN 1
-         ELSE 0
-         END
-  WHERE coin_pub=in_old_coin_pub;
-
-
-IF NOT FOUND
-THEN
-  RAISE NOTICE 'failed to increase old coin balance from recoup';
-  out_recoup_ok=TRUE;
-  out_internal_failure=TRUE;
-  RETURN;
-END IF;
-
-
-INSERT INTO recoup_refresh
-  (coin_pub
-  ,known_coin_id
-  ,coin_sig
-  ,coin_blind
-  ,amount_val
-  ,amount_frac
-  ,recoup_timestamp
-  ,rrc_serial
-  )
-VALUES
-  (in_coin_pub
-  ,in_known_coin_id
-  ,in_coin_sig
-  ,in_coin_blind
-  ,tmp_val
-  ,tmp_frac
-  ,in_recoup_timestamp
-  ,in_rrc_serial);
-
--- Normal end, everything is fine.
-out_recoup_ok=TRUE;
-out_recoup_timestamp=in_recoup_timestamp;
-
-END $$;
-
-
---
--- Name: exchange_do_recoup_to_reserve(bytea, bigint, bytea, bytea, bigint, 
bytea, bigint, bigint, bigint); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.exchange_do_recoup_to_reserve(in_reserve_pub bytea, 
in_reserve_out_serial_id bigint, in_coin_blind bytea, in_coin_pub bytea, 
in_known_coin_id bigint, in_coin_sig bytea, in_reserve_gc bigint, 
in_reserve_expiration bigint, in_recoup_timestamp bigint, OUT out_recoup_ok 
boolean, OUT out_internal_failure boolean, OUT out_recoup_timestamp bigint) 
RETURNS record
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  tmp_val INT8; -- amount recouped
-DECLARE
-  tmp_frac INT8; -- amount recouped
-BEGIN
--- Shards: SELECT known_coins (by coin_pub)
---         SELECT recoup      (by coin_pub)
---         UPDATE known_coins (by coin_pub)
---         UPDATE reserves (by reserve_pub)
---         INSERT recoup      (by coin_pub)
-
-out_internal_failure=FALSE;
-
-
--- Check remaining balance of the coin.
-SELECT
-   remaining_frac
-  ,remaining_val
- INTO
-   tmp_frac
-  ,tmp_val
-FROM known_coins
-  WHERE coin_pub=in_coin_pub;
-
-IF NOT FOUND
-THEN
-  out_internal_failure=TRUE;
-  out_recoup_ok=FALSE;
-  RETURN;
-END IF;
-
-IF tmp_val + tmp_frac = 0
-THEN
-  -- Check for idempotency
-  SELECT
-    recoup_timestamp
-  INTO
-    out_recoup_timestamp
-    FROM recoup
-    WHERE coin_pub=in_coin_pub;
-
-  out_recoup_ok=FOUND;
-  RETURN;
-END IF;
-
-
--- Update balance of the coin.
-UPDATE known_coins
-  SET
-     remaining_frac=0
-    ,remaining_val=0
-  WHERE coin_pub=in_coin_pub;
-
-
--- Credit the reserve and update reserve timers.
-UPDATE reserves
-  SET
-    current_balance_frac=current_balance_frac+tmp_frac
-       - CASE
-         WHEN current_balance_frac+tmp_frac >= 100000000
-         THEN 100000000
-         ELSE 0
-         END,
-    current_balance_val=current_balance_val+tmp_val
-       + CASE
-         WHEN current_balance_frac+tmp_frac >= 100000000
-         THEN 1
-         ELSE 0
-         END,
-    gc_date=GREATEST(gc_date, in_reserve_gc),
-    expiration_date=GREATEST(expiration_date, in_reserve_expiration)
-  WHERE reserve_pub=in_reserve_pub;
-
-
-IF NOT FOUND
-THEN
-  RAISE NOTICE 'failed to increase reserve balance from recoup';
-  out_recoup_ok=TRUE;
-  out_internal_failure=TRUE;
-  RETURN;
-END IF;
-
-
-INSERT INTO recoup
-  (coin_pub
-  ,coin_sig
-  ,coin_blind
-  ,amount_val
-  ,amount_frac
-  ,recoup_timestamp
-  ,reserve_out_serial_id
-  )
-VALUES
-  (in_coin_pub
-  ,in_coin_sig
-  ,in_coin_blind
-  ,tmp_val
-  ,tmp_frac
-  ,in_recoup_timestamp
-  ,in_reserve_out_serial_id);
-
--- Normal end, everything is fine.
-out_recoup_ok=TRUE;
-out_recoup_timestamp=in_recoup_timestamp;
-
-END $$;
-
-
---
--- Name: exchange_do_refund(bigint, integer, bigint, integer, bigint, integer, 
bytea, bigint, bigint, bigint, bytea, bytea, bytea); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.exchange_do_refund(in_amount_with_fee_val bigint, 
in_amount_with_fee_frac integer, in_amount_val bigint, in_amount_frac integer, 
in_deposit_fee_val bigint, in_deposit_fee_frac integer, in_h_contract_terms 
bytea, in_rtransaction_id bigint, in_deposit_shard bigint, in_known_coin_id 
bigint, in_coin_pub bytea, in_merchant_pub bytea, in_merchant_sig bytea, OUT 
out_not_found boolean, OUT out_refund_ok boolean, OUT out_gone boolean, OUT 
out_conflict boolean) RETURNS record
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  dsi INT8; -- ID of deposit being refunded
-DECLARE
-  tmp_val INT8; -- total amount refunded
-DECLARE
-  tmp_frac INT8; -- total amount refunded
-DECLARE
-  deposit_val INT8; -- amount that was originally deposited
-DECLARE
-  deposit_frac INT8; -- amount that was originally deposited
-BEGIN
--- Shards: SELECT deposits (coin_pub, shard, h_contract_terms, merchant_pub)
---         INSERT refunds (by coin_pub, rtransaction_id) ON CONFLICT DO NOTHING
---         SELECT refunds (by coin_pub)
---         UPDATE known_coins (by coin_pub)
-
-SELECT
-   deposit_serial_id
-  ,amount_with_fee_val
-  ,amount_with_fee_frac
-  ,done
-INTO
-   dsi
-  ,deposit_val
-  ,deposit_frac
-  ,out_gone
-FROM deposits
- WHERE coin_pub=in_coin_pub
-  AND shard=in_deposit_shard
-  AND merchant_pub=in_merchant_pub
-  AND h_contract_terms=in_h_contract_terms;
-
-IF NOT FOUND
-THEN
-  -- No matching deposit found!
-  out_refund_ok=FALSE;
-  out_conflict=FALSE;
-  out_not_found=TRUE;
-  out_gone=FALSE;
-  RETURN;
-END IF;
-
-INSERT INTO refunds
-  (deposit_serial_id
-  ,coin_pub
-  ,merchant_sig
-  ,rtransaction_id
-  ,amount_with_fee_val
-  ,amount_with_fee_frac
-  )
-  VALUES
-  (dsi
-  ,in_coin_pub
-  ,in_merchant_sig
-  ,in_rtransaction_id
-  ,in_amount_with_fee_val
-  ,in_amount_with_fee_frac)
-  ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
-  -- Idempotency check: see if an identical record exists.
-  -- Note that by checking 'coin_sig', we implicitly check
-  -- identity over everything that the signature covers.
-  -- We do select over merchant_pub and h_contract_terms
-  -- primarily here to maximally use the existing index.
-   PERFORM
-   FROM refunds
-   WHERE coin_pub=in_coin_pub
-     AND deposit_serial_id=dsi
-     AND rtransaction_id=in_rtransaction_id
-     AND amount_with_fee_val=in_amount_with_fee_val
-     AND amount_with_fee_frac=in_amount_with_fee_frac;
-
-  IF NOT FOUND
-  THEN
-    -- Deposit exists, but have conflicting refund.
-    out_refund_ok=FALSE;
-    out_conflict=TRUE;
-    out_not_found=FALSE;
-    RETURN;
-  END IF;
-
-  -- Idempotent request known, return success.
-  out_refund_ok=TRUE;
-  out_conflict=FALSE;
-  out_not_found=FALSE;
-  out_gone=FALSE;
-  RETURN;
-END IF;
-
-IF out_gone
-THEN
-  -- money already sent to the merchant. Tough luck.
-  out_refund_ok=FALSE;
-  out_conflict=FALSE;
-  out_not_found=FALSE;
-  RETURN;
-END IF;
-
--- Check refund balance invariant.
-SELECT
-   SUM(amount_with_fee_val) -- overflow here is not plausible
-  ,SUM(CAST(amount_with_fee_frac AS INT8)) -- compute using 64 bits
-  INTO
-   tmp_val
-  ,tmp_frac
-  FROM refunds
-  WHERE coin_pub=in_coin_pub
-    AND deposit_serial_id=dsi;
-IF tmp_val IS NULL
-THEN
-  RAISE NOTICE 'failed to sum up existing refunds';
-  out_refund_ok=FALSE;
-  out_conflict=FALSE;
-  out_not_found=FALSE;
-  RETURN;
-END IF;
-
--- Normalize result before continuing
-tmp_val = tmp_val + tmp_frac / 100000000;
-tmp_frac = tmp_frac % 100000000;
-
--- Actually check if the deposits are sufficient for the refund. Verbosely. ;-)
-IF (tmp_val < deposit_val)
-THEN
-  out_refund_ok=TRUE;
-ELSE
-  IF (tmp_val = deposit_val) AND (tmp_frac <= deposit_frac)
-  THEN
-    out_refund_ok=TRUE;
-  ELSE
-    out_refund_ok=FALSE;
-  END IF;
-END IF;
-
-IF (tmp_val = deposit_val) AND (tmp_frac = deposit_frac)
-THEN
-  -- Refunds have reached the full value of the original
-  -- deposit. Also refund the deposit fee.
-  in_amount_frac = in_amount_frac + in_deposit_fee_frac;
-  in_amount_val = in_amount_val + in_deposit_fee_val;
-
-  -- Normalize result before continuing
-  in_amount_val = in_amount_val + in_amount_frac / 100000000;
-  in_amount_frac = in_amount_frac % 100000000;
-END IF;
-
--- Update balance of the coin.
-UPDATE known_coins
-  SET
-    remaining_frac=remaining_frac+in_amount_frac
-       - CASE
-         WHEN remaining_frac+in_amount_frac >= 100000000
-         THEN 100000000
-         ELSE 0
-         END,
-    remaining_val=remaining_val+in_amount_val
-       + CASE
-         WHEN remaining_frac+in_amount_frac >= 100000000
-         THEN 1
-         ELSE 0
-         END
-  WHERE coin_pub=in_coin_pub;
-
-
-out_conflict=FALSE;
-out_not_found=FALSE;
-
-END $$;
-
-
---
--- Name: exchange_do_reserve_purse(bytea, bytea, bigint, bytea, boolean, 
bigint, integer, bytea, boolean); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.exchange_do_reserve_purse(in_purse_pub bytea, 
in_merge_sig bytea, in_merge_timestamp bigint, in_reserve_sig bytea, 
in_reserve_quota boolean, in_purse_fee_val bigint, in_purse_fee_frac integer, 
in_reserve_pub bytea, in_require_kyc boolean, OUT out_no_funds boolean, OUT 
out_no_kyc boolean, OUT out_no_reserve boolean, OUT out_conflict boolean) 
RETURNS record
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-
--- Store purse merge signature, checks for purse_pub uniqueness
-INSERT INTO purse_merges
-    (partner_serial_id
-    ,reserve_pub
-    ,purse_pub
-    ,merge_sig
-    ,merge_timestamp)
-  VALUES
-    (0
-    ,in_reserve_pub
-    ,in_purse_pub
-    ,in_merge_sig
-    ,in_merge_timestamp)
-  ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
-  -- Idempotency check: see if an identical record exists.
-  -- Note that by checking 'merge_sig', we implicitly check
-  -- identity over everything that the signature covers.
-  PERFORM
-  FROM purse_merges
-  WHERE purse_pub=in_purse_pub
-     AND merge_sig=in_merge_sig;
-  IF NOT FOUND
-  THEN
-     -- Purse was merged, but to some other reserve. Not allowed.
-     out_conflict=TRUE;
-     out_no_kyc=FALSE;
-     out_no_reserve=FALSE;
-     out_no_funds=FALSE;
-     RETURN;
-  END IF;
-
-  -- "success"
-  out_conflict=FALSE;
-  out_no_funds=FALSE;
-  out_no_kyc=FALSE;
-  out_no_reserve=FALSE;
-  RETURN;
-END IF;
-out_conflict=FALSE;
-
-SELECT NOT kyc_passed
-  INTO out_no_kyc
-  FROM reserves
- WHERE reserve_pub=in_reserve_pub;
-
-IF NOT FOUND
-THEN
-  out_no_kyc=TRUE;
-  out_no_reserve=TRUE;
-  out_no_funds=TRUE;
-  RETURN;
-END IF;
-out_no_reserve=FALSE;
-
-IF (out_no_kyc AND in_require_kyc)
-THEN
-  out_no_funds=FALSE;
-  RETURN;
-END IF;
-
-IF (in_reserve_quota)
-THEN
-  -- Increment active purses per reserve (and check this is allowed)
-  UPDATE reserves
-     SET purses_active=purses_active+1
-        ,kyc_required=TRUE
-   WHERE reserve_pub=in_reserve_pub
-     AND purses_active < purses_allowed;
-  IF NOT FOUND
-  THEN
-    out_no_funds=TRUE;
-    RETURN;
-  END IF;
-ELSE
-  --  UPDATE reserves balance (and check if balance is enough to pay the fee)
-  UPDATE reserves
-  SET
-    current_balance_frac=current_balance_frac-in_purse_fee_frac
-       + CASE
-         WHEN current_balance_frac < in_purse_fee_frac
-         THEN 100000000
-         ELSE 0
-         END,
-    current_balance_val=current_balance_val-in_purse_fee_val
-       - CASE
-         WHEN current_balance_frac < in_purse_fee_frac
-         THEN 1
-         ELSE 0
-         END
-    ,kyc_required=TRUE
-  WHERE reserve_pub=in_reserve_pub
-    AND ( (current_balance_val > in_purse_fee_val) OR
-          ( (current_balance_frac >= in_purse_fee_frac) AND
-            (current_balance_val >= in_purse_fee_val) ) );
-  IF NOT FOUND
-  THEN
-    out_no_funds=TRUE;
-    RETURN;
-  END IF;
-END IF;
-
-out_no_funds=FALSE;
-
-
--- Store account merge signature.
-INSERT INTO account_merges
-  (reserve_pub
-  ,reserve_sig
-  ,purse_pub)
-  VALUES
-  (in_reserve_pub
-  ,in_reserve_sig
-  ,in_purse_pub);
-
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_reserve_purse(in_purse_pub bytea, in_merge_sig 
bytea, in_merge_timestamp bigint, in_reserve_sig bytea, in_reserve_quota 
boolean, in_purse_fee_val bigint, in_purse_fee_frac integer, in_reserve_pub 
bytea, in_require_kyc boolean, OUT out_no_funds boolean, OUT out_no_kyc 
boolean, OUT out_no_reserve boolean, OUT out_conflict boolean); Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON FUNCTION public.exchange_do_reserve_purse(in_purse_pub bytea, 
in_merge_sig bytea, in_merge_timestamp bigint, in_reserve_sig bytea, 
in_reserve_quota boolean, in_purse_fee_val bigint, in_purse_fee_frac integer, 
in_reserve_pub bytea, in_require_kyc boolean, OUT out_no_funds boolean, OUT 
out_no_kyc boolean, OUT out_no_reserve boolean, OUT out_conflict boolean) IS 
'Create a purse for a reserve.';
-
-
---
--- Name: exchange_do_withdraw(bytea, bigint, integer, bytea, bytea, bytea, 
bytea, bytea, bigint, bigint); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.exchange_do_withdraw(cs_nonce bytea, amount_val bigint, 
amount_frac integer, h_denom_pub bytea, rpub bytea, reserve_sig bytea, 
h_coin_envelope bytea, denom_sig bytea, now bigint, min_reserve_gc bigint, OUT 
reserve_found boolean, OUT balance_ok boolean, OUT kycok boolean, OUT 
account_uuid bigint, OUT ruuid bigint) RETURNS record
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  reserve_gc INT8;
-DECLARE
-  denom_serial INT8;
-DECLARE
-  reserve_val INT8;
-DECLARE
-  reserve_frac INT4;
-BEGIN
--- Shards: reserves by reserve_pub (SELECT)
---         reserves_out (INSERT, with CONFLICT detection) by wih
---         reserves by reserve_pub (UPDATE)
---         reserves_in by reserve_pub (SELECT)
---         wire_targets by wire_target_h_payto
-
-SELECT denominations_serial
-  INTO denom_serial
-  FROM denominations
- WHERE denom_pub_hash=h_denom_pub;
-
-IF NOT FOUND
-THEN
-  -- denomination unknown, should be impossible!
-  reserve_found=FALSE;
-  balance_ok=FALSE;
-  kycok=FALSE;
-  account_uuid=0;
-  ruuid=0;
-  ASSERT false, 'denomination unknown';
-  RETURN;
-END IF;
-
-
-SELECT
-   current_balance_val
-  ,current_balance_frac
-  ,gc_date
-  ,reserve_uuid
- INTO
-   reserve_val
-  ,reserve_frac
-  ,reserve_gc
-  ,ruuid
-  FROM reserves
- WHERE reserves.reserve_pub=rpub;
-
-IF NOT FOUND
-THEN
-  -- reserve unknown
-  reserve_found=FALSE;
-  balance_ok=FALSE;
-  kycok=FALSE;
-  account_uuid=0;
-  ruuid=2;
-  RETURN;
-END IF;
-
--- We optimistically insert, and then on conflict declare
--- the query successful due to idempotency.
-INSERT INTO reserves_out
-  (h_blind_ev
-  ,denominations_serial
-  ,denom_sig
-  ,reserve_uuid
-  ,reserve_sig
-  ,execution_date
-  ,amount_with_fee_val
-  ,amount_with_fee_frac)
-VALUES
-  (h_coin_envelope
-  ,denom_serial
-  ,denom_sig
-  ,ruuid
-  ,reserve_sig
-  ,now
-  ,amount_val
-  ,amount_frac)
-ON CONFLICT DO NOTHING;
-
-IF NOT FOUND
-THEN
-  -- idempotent query, all constraints must be satisfied
-  reserve_found=TRUE;
-  balance_ok=TRUE;
-  kycok=TRUE;
-  account_uuid=0;
-  RETURN;
-END IF;
-
--- Check reserve balance is sufficient.
-IF (reserve_val > amount_val)
-THEN
-  IF (reserve_frac >= amount_frac)
-  THEN
-    reserve_val=reserve_val - amount_val;
-    reserve_frac=reserve_frac - amount_frac;
-  ELSE
-    reserve_val=reserve_val - amount_val - 1;
-    reserve_frac=reserve_frac + 100000000 - amount_frac;
-  END IF;
-ELSE
-  IF (reserve_val = amount_val) AND (reserve_frac >= amount_frac)
-  THEN
-    reserve_val=0;
-    reserve_frac=reserve_frac - amount_frac;
-  ELSE
-    reserve_found=TRUE;
-    balance_ok=FALSE;
-    kycok=FALSE; -- we do not really know or care
-    account_uuid=0;
-    RETURN;
-  END IF;
-END IF;
-
--- Calculate new expiration dates.
-min_reserve_gc=GREATEST(min_reserve_gc,reserve_gc);
-
--- Update reserve balance.
-UPDATE reserves SET
-  gc_date=min_reserve_gc
- ,current_balance_val=reserve_val
- ,current_balance_frac=reserve_frac
-WHERE
-  reserves.reserve_pub=rpub;
-
-reserve_found=TRUE;
-balance_ok=TRUE;
-
-
-
--- Special actions needed for a CS withdraw?
-IF NOT NULL cs_nonce
-THEN
-  -- Cache CS signature to prevent replays in the future
-  -- (and check if cached signature exists at the same time).
-  INSERT INTO cs_nonce_locks
-    (nonce
-    ,max_denomination_serial
-    ,op_hash)
-  VALUES
-    (cs_nonce
-    ,denom_serial
-    ,h_coin_envelope)
-  ON CONFLICT DO NOTHING;
-
-  IF NOT FOUND
-  THEN
-    -- See if the existing entry is identical.
-    SELECT 1
-      FROM cs_nonce_locks
-     WHERE nonce=cs_nonce
-       AND op_hash=h_coin_envelope;
-    IF NOT FOUND
-    THEN
-      reserve_found=FALSE;
-      balance_ok=FALSE;
-      kycok=FALSE;
-      account_uuid=0;
-      ruuid=1; -- FIXME: return error message more nicely!
-      ASSERT false, 'nonce reuse attempted by client';
-    END IF;
-  END IF;
-END IF;
-
-
-
--- Obtain KYC status based on the last wire transfer into
--- this reserve. FIXME: likely not adequate for reserves that got P2P 
transfers!
--- SELECT
---    kyc_ok
---   ,wire_target_serial_id
---   INTO
---    kycok
---   ,account_uuid
---   FROM reserves_in
---   JOIN wire_targets ON (wire_source_h_payto = wire_target_h_payto)
---  WHERE reserve_pub=rpub
---  LIMIT 1; -- limit 1 should not be required (without p2p transfers)
-
-WITH reserves_in AS materialized (
-  SELECT wire_source_h_payto
-  FROM reserves_in WHERE
-  reserve_pub=rpub
-)
-SELECT
-  kyc_ok
-  ,wire_target_serial_id
-INTO
-  kycok
-  ,account_uuid
-FROM wire_targets
-  WHERE wire_target_h_payto = (
-    SELECT wire_source_h_payto
-      FROM reserves_in
-  );
-
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_withdraw(cs_nonce bytea, amount_val bigint, 
amount_frac integer, h_denom_pub bytea, rpub bytea, reserve_sig bytea, 
h_coin_envelope bytea, denom_sig bytea, now bigint, min_reserve_gc bigint, OUT 
reserve_found boolean, OUT balance_ok boolean, OUT kycok boolean, OUT 
account_uuid bigint, OUT ruuid bigint); Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON FUNCTION public.exchange_do_withdraw(cs_nonce bytea, amount_val 
bigint, amount_frac integer, h_denom_pub bytea, rpub bytea, reserve_sig bytea, 
h_coin_envelope bytea, denom_sig bytea, now bigint, min_reserve_gc bigint, OUT 
reserve_found boolean, OUT balance_ok boolean, OUT kycok boolean, OUT 
account_uuid bigint, OUT ruuid bigint) IS 'Checks whether the reserve has 
sufficient balance for a withdraw operation (or the request is repeated and was 
previously approved) and if so upda [...]
-
-
---
--- Name: exchange_do_withdraw_limit_check(bigint, bigint, bigint, integer); 
Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.exchange_do_withdraw_limit_check(ruuid bigint, 
start_time bigint, upper_limit_val bigint, upper_limit_frac integer, OUT 
below_limit boolean) RETURNS boolean
-    LANGUAGE plpgsql
-    AS $$
-DECLARE
-  total_val INT8;
-DECLARE
-  total_frac INT8; -- INT4 could overflow during accumulation!
-BEGIN
--- NOTE: Read-only, but crosses shards.
--- Shards: reserves by reserve_pub
---         reserves_out by reserve_uuid -- crosses shards!!
-
-
-SELECT
-   SUM(amount_with_fee_val) -- overflow here is not plausible
-  ,SUM(CAST(amount_with_fee_frac AS INT8)) -- compute using 64 bits
-  INTO
-   total_val
-  ,total_frac
-  FROM reserves_out
- WHERE reserve_uuid=ruuid
-   AND execution_date > start_time;
-
--- normalize result
-total_val = total_val + total_frac / 100000000;
-total_frac = total_frac % 100000000;
-
--- compare to threshold
-below_limit = (total_val < upper_limit_val) OR
-            ( (total_val = upper_limit_val) AND
-              (total_frac <= upper_limit_frac) );
-END $$;
-
-
---
--- Name: FUNCTION exchange_do_withdraw_limit_check(ruuid bigint, start_time 
bigint, upper_limit_val bigint, upper_limit_frac integer, OUT below_limit 
boolean); Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON FUNCTION public.exchange_do_withdraw_limit_check(ruuid bigint, 
start_time bigint, upper_limit_val bigint, upper_limit_frac integer, OUT 
below_limit boolean) IS 'Check whether the withdrawals from the given reserve 
since the given time are below the given threshold';
-
-
---
--- Name: prepare_sharding(); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.prepare_sharding() RETURNS void
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-
-  CREATE EXTENSION IF NOT EXISTS postgres_fdw;
-
-  PERFORM detach_default_partitions();
-
-  ALTER TABLE IF EXISTS wire_targets
-    DROP CONSTRAINT IF EXISTS wire_targets_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS reserves
-    DROP CONSTRAINT IF EXISTS reserves_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS reserves_in
-    DROP CONSTRAINT IF EXISTS reserves_in_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS reserves_close
-    DROP CONSTRAINT IF EXISTS reserves_close_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS reserves_out
-    DROP CONSTRAINT IF EXISTS reserves_out_pkey CASCADE
-    ,DROP CONSTRAINT IF EXISTS reserves_out_denominations_serial_fkey
-    ,DROP CONSTRAINT IF EXISTS reserves_out_h_blind_ev_key
-  ;
-
-  ALTER TABLE IF EXISTS known_coins
-    DROP CONSTRAINT IF EXISTS known_coins_pkey CASCADE
-    ,DROP CONSTRAINT IF EXISTS known_coins_denominations_serial_fkey
-  ;
-
-  ALTER TABLE IF EXISTS refresh_commitments
-    DROP CONSTRAINT IF EXISTS refresh_commitments_pkey CASCADE
-    ,DROP CONSTRAINT IF EXISTS refresh_old_coin_pub_fkey
-  ;
-
-  ALTER TABLE IF EXISTS refresh_revealed_coins
-    DROP CONSTRAINT IF EXISTS refresh_revealed_coins_pkey CASCADE
-    ,DROP CONSTRAINT IF EXISTS refresh_revealed_coins_denominations_serial_fkey
-  ;
-
-  ALTER TABLE IF EXISTS refresh_transfer_keys
-    DROP CONSTRAINT IF EXISTS refresh_transfer_keys_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS deposits
-    DROP CONSTRAINT IF EXISTS deposits_pkey CASCADE
-    ,DROP CONSTRAINT IF EXISTS deposits_extension_details_serial_id_fkey
-    ,DROP CONSTRAINT IF EXISTS 
deposits_coin_pub_merchant_pub_h_contract_terms_key CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS refunds
-    DROP CONSTRAINT IF EXISTS refunds_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS wire_out
-    DROP CONSTRAINT IF EXISTS wire_out_pkey CASCADE
-    ,DROP CONSTRAINT IF EXISTS wire_out_wtid_raw_key CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS aggregation_tracking
-    DROP CONSTRAINT IF EXISTS aggregation_tracking_pkey CASCADE
-    ,DROP CONSTRAINT IF EXISTS aggregation_tracking_wtid_raw_fkey
-  ;
-
-  ALTER TABLE IF EXISTS recoup
-    DROP CONSTRAINT IF EXISTS recoup_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS recoup_refresh
-    DROP CONSTRAINT IF EXISTS recoup_refresh_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS prewire
-    DROP CONSTRAINT IF EXISTS prewire_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS cs_nonce_locks
-    DROP CONSTRAINT IF EXISTS cs_nonce_locks_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS purse_requests
-    DROP CONSTRAINT IF EXISTS purse_requests_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS purse_refunds
-    DROP CONSTRAINT IF EXISTS purse_refunds_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS purse_merges
-    DROP CONSTRAINT IF EXISTS purse_merges_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS account_merges
-    DROP CONSTRAINT IF EXISTS account_merges_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS contracts
-    DROP CONSTRAINT IF EXISTS contracts_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS history_requests
-    DROP CONSTRAINT IF EXISTS history_requests_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS close_requests
-    DROP CONSTRAINT IF EXISTS close_requests_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS purse_deposits
-    DROP CONSTRAINT IF EXISTS purse_deposits_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS wads_out
-    DROP CONSTRAINT IF EXISTS wads_out_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS wad_out_entries
-    DROP CONSTRAINT IF EXISTS wad_out_entries_pkey CASCADE
-  ;
-
-  ALTER TABLE IF EXISTS wads_in
-    DROP CONSTRAINT IF EXISTS wads_in_pkey CASCADE
-    ,DROP CONSTRAINT IF EXISTS wads_in_wad_id_origin_exchange_url_key
-  ;
-
-  ALTER TABLE IF EXISTS wad_in_entries
-    DROP CONSTRAINT IF EXISTS wad_in_entries_pkey CASCADE
-  ;
-
-END
-$$;
-
-
---
--- Name: purse_requests_insert_trigger(); Type: FUNCTION; Schema: public; 
Owner: -
---
-
-CREATE FUNCTION public.purse_requests_insert_trigger() RETURNS trigger
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  ASSERT NOT NEW.finished,'Internal invariant violated';
-  INSERT INTO
-    purse_actions
-    (purse_pub
-    ,action_date)
-  VALUES
-    (NEW.purse_pub
-    ,NEW.purse_expiration);
-  RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION purse_requests_insert_trigger(); Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON FUNCTION public.purse_requests_insert_trigger() IS 'When a purse is 
created, insert it into the purse_action table to take action when the purse 
expires.';
-
-
---
--- Name: purse_requests_on_update_trigger(); Type: FUNCTION; Schema: public; 
Owner: -
---
-
-CREATE FUNCTION public.purse_requests_on_update_trigger() RETURNS trigger
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  IF (NEW.finished AND NOT OLD.finished)
-  THEN
-    -- If this purse counted against the reserve's
-    -- quota of purses, decrement the reserve accounting.
-    IF (NEW.in_reserve_quota)
-    THEN
-      UPDATE reserves
-         SET purses_active=purses_active-1
-       WHERE reserve_pub IN
-         (SELECT reserve_pub
-            FROM purse_merges
-           WHERE purse_pub=NEW.purse_pub
-           LIMIT 1);
-      NEW.in_reserve_quota=FALSE;
-    END IF;
-    -- Delete from the purse_actions table, we are done
-    -- with this purse for good.
-    DELETE FROM purse_actions
-          WHERE purse_pub=NEW.purse_pub;
-    RETURN NEW;
-  END IF;
-
-  RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION purse_requests_on_update_trigger(); Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON FUNCTION public.purse_requests_on_update_trigger() IS 'Trigger the 
router if the purse is ready. Also removes the entry from the router watchlist 
once the purse is finished.';
-
-
---
--- Name: recoup_delete_trigger(); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.recoup_delete_trigger() RETURNS trigger
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  DELETE FROM recoup_by_reserve
-   WHERE reserve_out_serial_id = OLD.reserve_out_serial_id
-     AND coin_pub = OLD.coin_pub;
-  RETURN OLD;
-END $$;
-
-
---
--- Name: FUNCTION recoup_delete_trigger(); Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON FUNCTION public.recoup_delete_trigger() IS 'Replicate recoup 
deletions into recoup_by_reserve table.';
-
-
---
--- Name: recoup_insert_trigger(); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.recoup_insert_trigger() RETURNS trigger
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  INSERT INTO recoup_by_reserve
-    (reserve_out_serial_id
-    ,coin_pub)
-  VALUES
-    (NEW.reserve_out_serial_id
-    ,NEW.coin_pub);
-  RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION recoup_insert_trigger(); Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON FUNCTION public.recoup_insert_trigger() IS 'Replicate recoup 
inserts into recoup_by_reserve table.';
-
-
---
--- Name: reserves_out_by_reserve_delete_trigger(); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.reserves_out_by_reserve_delete_trigger() RETURNS trigger
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  DELETE FROM reserves_out_by_reserve
-   WHERE reserve_uuid = OLD.reserve_uuid;
-  RETURN OLD;
-END $$;
-
-
---
--- Name: FUNCTION reserves_out_by_reserve_delete_trigger(); Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON FUNCTION public.reserves_out_by_reserve_delete_trigger() IS 
'Replicate reserve_out deletions into reserve_out_by_reserve table.';
-
-
---
--- Name: reserves_out_by_reserve_insert_trigger(); Type: FUNCTION; Schema: 
public; Owner: -
---
-
-CREATE FUNCTION public.reserves_out_by_reserve_insert_trigger() RETURNS trigger
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  INSERT INTO reserves_out_by_reserve
-    (reserve_uuid
-    ,h_blind_ev)
-  VALUES
-    (NEW.reserve_uuid
-    ,NEW.h_blind_ev);
-  RETURN NEW;
-END $$;
-
-
---
--- Name: FUNCTION reserves_out_by_reserve_insert_trigger(); Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON FUNCTION public.reserves_out_by_reserve_insert_trigger() IS 
'Replicate reserve_out inserts into reserve_out_by_reserve table.';
-
-
---
--- Name: wire_out_delete_trigger(); Type: FUNCTION; Schema: public; Owner: -
---
-
-CREATE FUNCTION public.wire_out_delete_trigger() RETURNS trigger
-    LANGUAGE plpgsql
-    AS $$
-BEGIN
-  DELETE FROM aggregation_tracking
-   WHERE wtid_raw = OLD.wtid_raw;
-  RETURN OLD;
-END $$;
-
-
---
--- Name: FUNCTION wire_out_delete_trigger(); Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON FUNCTION public.wire_out_delete_trigger() IS 'Replicate reserve_out 
deletions into aggregation_tracking. This replaces an earlier use of an ON 
DELETE CASCADE that required a DEFERRABLE constraint and conflicted with nice 
partitioning.';
-
-
-SET default_tablespace = '';
-
-SET default_table_access_method = heap;
-
---
--- Name: patches; Type: TABLE; Schema: _v; Owner: -
---
-
-CREATE TABLE _v.patches (
-    patch_name text NOT NULL,
-    applied_tsz timestamp with time zone DEFAULT now() NOT NULL,
-    applied_by text NOT NULL,
-    requires text[],
-    conflicts text[]
-);
-
-
---
--- Name: TABLE patches; Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON TABLE _v.patches IS 'Contains information about what patches are 
currently applied on database.';
-
-
---
--- Name: COLUMN patches.patch_name; Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON COLUMN _v.patches.patch_name IS 'Name of patch, has to be unique 
for every patch.';
-
-
---
--- Name: COLUMN patches.applied_tsz; Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON COLUMN _v.patches.applied_tsz IS 'When the patch was applied.';
-
-
---
--- Name: COLUMN patches.applied_by; Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON COLUMN _v.patches.applied_by IS 'Who applied this patch (PostgreSQL 
username)';
-
-
---
--- Name: COLUMN patches.requires; Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON COLUMN _v.patches.requires IS 'List of patches that are required 
for given patch.';
-
-
---
--- Name: COLUMN patches.conflicts; Type: COMMENT; Schema: _v; Owner: -
---
-
-COMMENT ON COLUMN _v.patches.conflicts IS 'List of patches that conflict with 
given patch.';
-
-
---
--- Name: account_merges; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.account_merges (
-    account_merge_request_serial_id bigint NOT NULL,
-    reserve_pub bytea NOT NULL,
-    reserve_sig bytea NOT NULL,
-    purse_pub bytea NOT NULL,
-    CONSTRAINT account_merges_purse_pub_check CHECK ((length(purse_pub) = 32)),
-    CONSTRAINT account_merges_reserve_pub_check CHECK ((length(reserve_pub) = 
32)),
-    CONSTRAINT account_merges_reserve_sig_check CHECK ((length(reserve_sig) = 
64))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE account_merges; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.account_merges IS 'Merge requests where a purse- and 
account-owner requested merging the purse into the account';
-
-
---
--- Name: COLUMN account_merges.reserve_pub; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.account_merges.reserve_pub IS 'public key of the 
target reserve';
-
-
---
--- Name: COLUMN account_merges.reserve_sig; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.account_merges.reserve_sig IS 'signature by the 
reserve private key affirming the merge, of type 
TALER_SIGNATURE_WALLET_ACCOUNT_MERGE';
-
-
---
--- Name: COLUMN account_merges.purse_pub; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.account_merges.purse_pub IS 'public key of the purse';
-
-
---
--- Name: account_merges_account_merge_request_serial_id_seq; Type: SEQUENCE; 
Schema: public; Owner: -
---
-
-ALTER TABLE public.account_merges ALTER COLUMN account_merge_request_serial_id 
ADD GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.account_merges_account_merge_request_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: account_merges_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.account_merges_default (
-    account_merge_request_serial_id bigint NOT NULL,
-    reserve_pub bytea NOT NULL,
-    reserve_sig bytea NOT NULL,
-    purse_pub bytea NOT NULL,
-    CONSTRAINT account_merges_purse_pub_check CHECK ((length(purse_pub) = 32)),
-    CONSTRAINT account_merges_reserve_pub_check CHECK ((length(reserve_pub) = 
32)),
-    CONSTRAINT account_merges_reserve_sig_check CHECK ((length(reserve_sig) = 
64))
-);
-ALTER TABLE ONLY public.account_merges ATTACH PARTITION 
public.account_merges_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: aggregation_tracking; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.aggregation_tracking (
-    aggregation_serial_id bigint NOT NULL,
-    deposit_serial_id bigint NOT NULL,
-    wtid_raw bytea NOT NULL
-)
-PARTITION BY HASH (deposit_serial_id);
-
-
---
--- Name: TABLE aggregation_tracking; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.aggregation_tracking IS 'mapping from wire transfer 
identifiers (WTID) to deposits (and back)';
-
-
---
--- Name: COLUMN aggregation_tracking.wtid_raw; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.aggregation_tracking.wtid_raw IS 'identifier of the 
wire transfer';
-
-
---
--- Name: aggregation_tracking_aggregation_serial_id_seq; Type: SEQUENCE; 
Schema: public; Owner: -
---
-
-ALTER TABLE public.aggregation_tracking ALTER COLUMN aggregation_serial_id ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.aggregation_tracking_aggregation_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: aggregation_tracking_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.aggregation_tracking_default (
-    aggregation_serial_id bigint NOT NULL,
-    deposit_serial_id bigint NOT NULL,
-    wtid_raw bytea NOT NULL
-);
-ALTER TABLE ONLY public.aggregation_tracking ATTACH PARTITION 
public.aggregation_tracking_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: aggregation_transient; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.aggregation_transient (
-    amount_val bigint NOT NULL,
-    amount_frac integer NOT NULL,
-    wire_target_h_payto bytea,
-    exchange_account_section text NOT NULL,
-    wtid_raw bytea NOT NULL,
-    CONSTRAINT aggregation_transient_wire_target_h_payto_check CHECK 
((length(wire_target_h_payto) = 32)),
-    CONSTRAINT aggregation_transient_wtid_raw_check CHECK ((length(wtid_raw) = 
32))
-)
-PARTITION BY HASH (wire_target_h_payto);
-
-
---
--- Name: TABLE aggregation_transient; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.aggregation_transient IS 'aggregations currently 
happening (lacking wire_out, usually because the amount is too low); this table 
is not replicated';
-
-
---
--- Name: COLUMN aggregation_transient.amount_val; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.aggregation_transient.amount_val IS 'Sum of all of 
the aggregated deposits (without deposit fees)';
-
-
---
--- Name: COLUMN aggregation_transient.wtid_raw; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.aggregation_transient.wtid_raw IS 'identifier of the 
wire transfer';
-
-
---
--- Name: aggregation_transient_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.aggregation_transient_default (
-    amount_val bigint NOT NULL,
-    amount_frac integer NOT NULL,
-    wire_target_h_payto bytea,
-    exchange_account_section text NOT NULL,
-    wtid_raw bytea NOT NULL,
-    CONSTRAINT aggregation_transient_wire_target_h_payto_check CHECK 
((length(wire_target_h_payto) = 32)),
-    CONSTRAINT aggregation_transient_wtid_raw_check CHECK ((length(wtid_raw) = 
32))
-);
-ALTER TABLE ONLY public.aggregation_transient ATTACH PARTITION 
public.aggregation_transient_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: app_bankaccount; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.app_bankaccount (
-    is_public boolean NOT NULL,
-    account_no integer NOT NULL,
-    balance character varying NOT NULL,
-    user_id integer NOT NULL
-);
-
-
---
--- Name: app_bankaccount_account_no_seq; Type: SEQUENCE; Schema: public; 
Owner: -
---
-
-CREATE SEQUENCE public.app_bankaccount_account_no_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-
---
--- Name: app_bankaccount_account_no_seq; Type: SEQUENCE OWNED BY; Schema: 
public; Owner: -
---
-
-ALTER SEQUENCE public.app_bankaccount_account_no_seq OWNED BY 
public.app_bankaccount.account_no;
-
-
---
--- Name: app_banktransaction; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.app_banktransaction (
-    id bigint NOT NULL,
-    amount character varying NOT NULL,
-    subject character varying(200) NOT NULL,
-    date timestamp with time zone NOT NULL,
-    cancelled boolean NOT NULL,
-    request_uid character varying(128) NOT NULL,
-    credit_account_id integer NOT NULL,
-    debit_account_id integer NOT NULL
-);
-
-
---
--- Name: app_banktransaction_id_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-CREATE SEQUENCE public.app_banktransaction_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-
---
--- Name: app_banktransaction_id_seq; Type: SEQUENCE OWNED BY; Schema: public; 
Owner: -
---
-
-ALTER SEQUENCE public.app_banktransaction_id_seq OWNED BY 
public.app_banktransaction.id;
-
-
---
--- Name: app_talerwithdrawoperation; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.app_talerwithdrawoperation (
-    withdraw_id uuid NOT NULL,
-    amount character varying NOT NULL,
-    selection_done boolean NOT NULL,
-    confirmation_done boolean NOT NULL,
-    aborted boolean NOT NULL,
-    selected_reserve_pub text,
-    selected_exchange_account_id integer,
-    withdraw_account_id integer NOT NULL
-);
-
-
---
--- Name: auditor_balance_summary; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auditor_balance_summary (
-    master_pub bytea NOT NULL,
-    denom_balance_val bigint NOT NULL,
-    denom_balance_frac integer NOT NULL,
-    deposit_fee_balance_val bigint NOT NULL,
-    deposit_fee_balance_frac integer NOT NULL,
-    melt_fee_balance_val bigint NOT NULL,
-    melt_fee_balance_frac integer NOT NULL,
-    refund_fee_balance_val bigint NOT NULL,
-    refund_fee_balance_frac integer NOT NULL,
-    risk_val bigint NOT NULL,
-    risk_frac integer NOT NULL,
-    loss_val bigint NOT NULL,
-    loss_frac integer NOT NULL,
-    irregular_recoup_val bigint NOT NULL,
-    irregular_recoup_frac integer NOT NULL
-);
-
-
---
--- Name: TABLE auditor_balance_summary; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.auditor_balance_summary IS 'the sum of the outstanding 
coins from auditor_denomination_pending (denom_pubs must belong to the 
respectives exchange master public key); it represents the 
auditor_balance_summary of the exchange at this point (modulo unexpected 
historic_loss-style events where denomination keys are compromised)';
-
-
---
--- Name: auditor_denom_sigs; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auditor_denom_sigs (
-    auditor_denom_serial bigint NOT NULL,
-    auditor_uuid bigint NOT NULL,
-    denominations_serial bigint NOT NULL,
-    auditor_sig bytea,
-    CONSTRAINT auditor_denom_sigs_auditor_sig_check CHECK 
((length(auditor_sig) = 64))
-);
-
-
---
--- Name: TABLE auditor_denom_sigs; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.auditor_denom_sigs IS 'Table with auditor signatures 
on exchange denomination keys.';
-
-
---
--- Name: COLUMN auditor_denom_sigs.auditor_uuid; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.auditor_denom_sigs.auditor_uuid IS 'Identifies the 
auditor.';
-
-
---
--- Name: COLUMN auditor_denom_sigs.denominations_serial; Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.auditor_denom_sigs.denominations_serial IS 
'Denomination the signature is for.';
-
-
---
--- Name: COLUMN auditor_denom_sigs.auditor_sig; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.auditor_denom_sigs.auditor_sig IS 'Signature of the 
auditor, of purpose TALER_SIGNATURE_AUDITOR_EXCHANGE_KEYS.';
-
-
---
--- Name: auditor_denom_sigs_auditor_denom_serial_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.auditor_denom_sigs ALTER COLUMN auditor_denom_serial ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.auditor_denom_sigs_auditor_denom_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: auditor_denomination_pending; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auditor_denomination_pending (
-    denom_pub_hash bytea NOT NULL,
-    denom_balance_val bigint NOT NULL,
-    denom_balance_frac integer NOT NULL,
-    denom_loss_val bigint NOT NULL,
-    denom_loss_frac integer NOT NULL,
-    num_issued bigint NOT NULL,
-    denom_risk_val bigint NOT NULL,
-    denom_risk_frac integer NOT NULL,
-    recoup_loss_val bigint NOT NULL,
-    recoup_loss_frac integer NOT NULL,
-    CONSTRAINT auditor_denomination_pending_denom_pub_hash_check CHECK 
((length(denom_pub_hash) = 64))
-);
-
-
---
--- Name: TABLE auditor_denomination_pending; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON TABLE public.auditor_denomination_pending IS 'outstanding 
denomination coins that the exchange is aware of and what the respective 
balances are (outstanding as well as issued overall which implies the maximum 
value at risk).';
-
-
---
--- Name: COLUMN auditor_denomination_pending.num_issued; Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.auditor_denomination_pending.num_issued IS 'counts 
the number of coins issued (withdraw, refresh) of this denomination';
-
-
---
--- Name: COLUMN auditor_denomination_pending.denom_risk_val; Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.auditor_denomination_pending.denom_risk_val IS 
'amount that could theoretically be lost in the future due to recoup 
operations';
-
-
---
--- Name: COLUMN auditor_denomination_pending.recoup_loss_val; Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.auditor_denomination_pending.recoup_loss_val IS 
'amount actually lost due to recoup operations past revocation';
-
-
---
--- Name: auditor_exchange_signkeys; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auditor_exchange_signkeys (
-    master_pub bytea NOT NULL,
-    ep_start bigint NOT NULL,
-    ep_expire bigint NOT NULL,
-    ep_end bigint NOT NULL,
-    exchange_pub bytea NOT NULL,
-    master_sig bytea NOT NULL,
-    CONSTRAINT auditor_exchange_signkeys_exchange_pub_check CHECK 
((length(exchange_pub) = 32)),
-    CONSTRAINT auditor_exchange_signkeys_master_sig_check CHECK 
((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE auditor_exchange_signkeys; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON TABLE public.auditor_exchange_signkeys IS 'list of the online 
signing keys of exchanges we are auditing';
-
-
---
--- Name: auditor_exchanges; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auditor_exchanges (
-    master_pub bytea NOT NULL,
-    exchange_url character varying NOT NULL,
-    CONSTRAINT auditor_exchanges_master_pub_check CHECK ((length(master_pub) = 
32))
-);
-
-
---
--- Name: TABLE auditor_exchanges; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.auditor_exchanges IS 'list of the exchanges we are 
auditing';
-
-
---
--- Name: auditor_historic_denomination_revenue; Type: TABLE; Schema: public; 
Owner: -
---
-
-CREATE TABLE public.auditor_historic_denomination_revenue (
-    master_pub bytea NOT NULL,
-    denom_pub_hash bytea NOT NULL,
-    revenue_timestamp bigint NOT NULL,
-    revenue_balance_val bigint NOT NULL,
-    revenue_balance_frac integer NOT NULL,
-    loss_balance_val bigint NOT NULL,
-    loss_balance_frac integer NOT NULL,
-    CONSTRAINT auditor_historic_denomination_revenue_denom_pub_hash_check 
CHECK ((length(denom_pub_hash) = 64))
-);
-
-
---
--- Name: TABLE auditor_historic_denomination_revenue; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON TABLE public.auditor_historic_denomination_revenue IS 'Table with 
historic profits; basically, when a denom_pub has expired and everything 
associated with it is garbage collected, the final profits end up in here; note 
that the denom_pub here is not a foreign key, we just keep it as a reference 
point.';
-
-
---
--- Name: COLUMN auditor_historic_denomination_revenue.revenue_balance_val; 
Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN 
public.auditor_historic_denomination_revenue.revenue_balance_val IS 'the sum of 
all of the profits we made on the coin except for withdraw fees (which are in 
historic_reserve_revenue); so this includes the deposit, melt and refund fees';
-
-
---
--- Name: auditor_historic_reserve_summary; Type: TABLE; Schema: public; Owner: 
-
---
-
-CREATE TABLE public.auditor_historic_reserve_summary (
-    master_pub bytea NOT NULL,
-    start_date bigint NOT NULL,
-    end_date bigint NOT NULL,
-    reserve_profits_val bigint NOT NULL,
-    reserve_profits_frac integer NOT NULL
-);
-
-
---
--- Name: TABLE auditor_historic_reserve_summary; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON TABLE public.auditor_historic_reserve_summary IS 'historic profits 
from reserves; we eventually GC auditor_historic_reserve_revenue, and then 
store the totals in here (by time intervals).';
-
-
---
--- Name: auditor_predicted_result; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auditor_predicted_result (
-    master_pub bytea NOT NULL,
-    balance_val bigint NOT NULL,
-    balance_frac integer NOT NULL
-);
-
-
---
--- Name: TABLE auditor_predicted_result; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON TABLE public.auditor_predicted_result IS 'Table with the sum of the 
ledger, auditor_historic_revenue and the auditor_reserve_balance.  This is the 
final amount that the exchange should have in its bank account right now.';
-
-
---
--- Name: auditor_progress_aggregation; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auditor_progress_aggregation (
-    master_pub bytea NOT NULL,
-    last_wire_out_serial_id bigint DEFAULT 0 NOT NULL
-);
-
-
---
--- Name: TABLE auditor_progress_aggregation; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON TABLE public.auditor_progress_aggregation IS 'information as to 
which transactions the auditor has processed in the exchange database.  Used 
for SELECTing the
- statements to process.  The indices include the last serial ID from the 
respective tables that we have processed. Thus, we need to select those table 
entries that are strictly larger (and process in monotonically increasing 
order).';
-
-
---
--- Name: auditor_progress_coin; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auditor_progress_coin (
-    master_pub bytea NOT NULL,
-    last_withdraw_serial_id bigint DEFAULT 0 NOT NULL,
-    last_deposit_serial_id bigint DEFAULT 0 NOT NULL,
-    last_melt_serial_id bigint DEFAULT 0 NOT NULL,
-    last_refund_serial_id bigint DEFAULT 0 NOT NULL,
-    last_recoup_serial_id bigint DEFAULT 0 NOT NULL,
-    last_recoup_refresh_serial_id bigint DEFAULT 0 NOT NULL,
-    last_purse_deposits_serial_id bigint DEFAULT 0 NOT NULL,
-    last_purse_refunds_serial_id bigint DEFAULT 0 NOT NULL
-);
-
-
---
--- Name: TABLE auditor_progress_coin; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.auditor_progress_coin IS 'information as to which 
transactions the auditor has processed in the exchange database.  Used for 
SELECTing the
- statements to process.  The indices include the last serial ID from the 
respective tables that we have processed. Thus, we need to select those table 
entries that are strictly larger (and process in monotonically increasing 
order).';
-
-
---
--- Name: auditor_progress_deposit_confirmation; Type: TABLE; Schema: public; 
Owner: -
---
-
-CREATE TABLE public.auditor_progress_deposit_confirmation (
-    master_pub bytea NOT NULL,
-    last_deposit_confirmation_serial_id bigint DEFAULT 0 NOT NULL
-);
-
-
---
--- Name: TABLE auditor_progress_deposit_confirmation; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON TABLE public.auditor_progress_deposit_confirmation IS 'information 
as to which transactions the auditor has processed in the exchange database.  
Used for SELECTing the
- statements to process.  The indices include the last serial ID from the 
respective tables that we have processed. Thus, we need to select those table 
entries that are strictly larger (and process in monotonically increasing 
order).';
-
-
---
--- Name: auditor_progress_reserve; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auditor_progress_reserve (
-    master_pub bytea NOT NULL,
-    last_reserve_in_serial_id bigint DEFAULT 0 NOT NULL,
-    last_reserve_out_serial_id bigint DEFAULT 0 NOT NULL,
-    last_reserve_recoup_serial_id bigint DEFAULT 0 NOT NULL,
-    last_reserve_close_serial_id bigint DEFAULT 0 NOT NULL,
-    last_purse_merges_serial_id bigint DEFAULT 0 NOT NULL,
-    last_purse_deposits_serial_id bigint DEFAULT 0 NOT NULL,
-    last_account_merges_serial_id bigint DEFAULT 0 NOT NULL,
-    last_history_requests_serial_id bigint DEFAULT 0 NOT NULL,
-    last_close_requests_serial_id bigint DEFAULT 0 NOT NULL
-);
-
-
---
--- Name: TABLE auditor_progress_reserve; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON TABLE public.auditor_progress_reserve IS 'information as to which 
transactions the auditor has processed in the exchange database.  Used for 
SELECTing the
- statements to process.  The indices include the last serial ID from the 
respective tables that we have processed. Thus, we need to select those table 
entries that are strictly larger (and process in monotonically increasing 
order).';
-
-
---
--- Name: auditor_reserve_balance; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auditor_reserve_balance (
-    master_pub bytea NOT NULL,
-    reserve_balance_val bigint NOT NULL,
-    reserve_balance_frac integer NOT NULL,
-    withdraw_fee_balance_val bigint NOT NULL,
-    withdraw_fee_balance_frac integer NOT NULL,
-    purse_fee_balance_val bigint NOT NULL,
-    purse_fee_balance_frac integer NOT NULL,
-    history_fee_balance_val bigint NOT NULL,
-    history_fee_balance_frac integer NOT NULL
-);
-
-
---
--- Name: TABLE auditor_reserve_balance; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.auditor_reserve_balance IS 'sum of the balances of all 
customer reserves (by exchange master public key)';
-
-
---
--- Name: auditor_reserves; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auditor_reserves (
-    reserve_pub bytea NOT NULL,
-    master_pub bytea NOT NULL,
-    reserve_balance_val bigint NOT NULL,
-    reserve_balance_frac integer NOT NULL,
-    withdraw_fee_balance_val bigint NOT NULL,
-    withdraw_fee_balance_frac integer NOT NULL,
-    expiration_date bigint NOT NULL,
-    auditor_reserves_rowid bigint NOT NULL,
-    origin_account text,
-    CONSTRAINT auditor_reserves_reserve_pub_check CHECK ((length(reserve_pub) 
= 32))
-);
-
-
---
--- Name: TABLE auditor_reserves; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.auditor_reserves IS 'all of the customer reserves and 
their respective balances that the auditor is aware of';
-
-
---
--- Name: auditor_reserves_auditor_reserves_rowid_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-CREATE SEQUENCE public.auditor_reserves_auditor_reserves_rowid_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-
---
--- Name: auditor_reserves_auditor_reserves_rowid_seq; Type: SEQUENCE OWNED BY; 
Schema: public; Owner: -
---
-
-ALTER SEQUENCE public.auditor_reserves_auditor_reserves_rowid_seq OWNED BY 
public.auditor_reserves.auditor_reserves_rowid;
-
-
---
--- Name: auditor_wire_fee_balance; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auditor_wire_fee_balance (
-    master_pub bytea NOT NULL,
-    wire_fee_balance_val bigint NOT NULL,
-    wire_fee_balance_frac integer NOT NULL
-);
-
-
---
--- Name: TABLE auditor_wire_fee_balance; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON TABLE public.auditor_wire_fee_balance IS 'sum of the balances of 
all wire fees (by exchange master public key)';
-
-
---
--- Name: auditors; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auditors (
-    auditor_uuid bigint NOT NULL,
-    auditor_pub bytea NOT NULL,
-    auditor_name character varying NOT NULL,
-    auditor_url character varying NOT NULL,
-    is_active boolean NOT NULL,
-    last_change bigint NOT NULL,
-    CONSTRAINT auditors_auditor_pub_check CHECK ((length(auditor_pub) = 32))
-);
-
-
---
--- Name: TABLE auditors; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.auditors IS 'Table with auditors the exchange uses or 
has used in the past. Entries never expire as we need to remember the 
last_change column indefinitely.';
-
-
---
--- Name: COLUMN auditors.auditor_pub; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.auditors.auditor_pub IS 'Public key of the auditor.';
-
-
---
--- Name: COLUMN auditors.auditor_url; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.auditors.auditor_url IS 'The base URL of the 
auditor.';
-
-
---
--- Name: COLUMN auditors.is_active; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.auditors.is_active IS 'true if we are currently 
supporting the use of this auditor.';
-
-
---
--- Name: COLUMN auditors.last_change; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.auditors.last_change IS 'Latest time when active 
status changed. Used to detect replays of old messages.';
-
-
---
--- Name: auditors_auditor_uuid_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-ALTER TABLE public.auditors ALTER COLUMN auditor_uuid ADD GENERATED BY DEFAULT 
AS IDENTITY (
-    SEQUENCE NAME public.auditors_auditor_uuid_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: auth_group; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auth_group (
-    id integer NOT NULL,
-    name character varying(150) NOT NULL
-);
-
-
---
--- Name: auth_group_id_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-CREATE SEQUENCE public.auth_group_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-
---
--- Name: auth_group_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
---
-
-ALTER SEQUENCE public.auth_group_id_seq OWNED BY public.auth_group.id;
-
-
---
--- Name: auth_group_permissions; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auth_group_permissions (
-    id bigint NOT NULL,
-    group_id integer NOT NULL,
-    permission_id integer NOT NULL
-);
-
-
---
--- Name: auth_group_permissions_id_seq; Type: SEQUENCE; Schema: public; Owner: 
-
---
-
-CREATE SEQUENCE public.auth_group_permissions_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-
---
--- Name: auth_group_permissions_id_seq; Type: SEQUENCE OWNED BY; Schema: 
public; Owner: -
---
-
-ALTER SEQUENCE public.auth_group_permissions_id_seq OWNED BY 
public.auth_group_permissions.id;
-
-
---
--- Name: auth_permission; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auth_permission (
-    id integer NOT NULL,
-    name character varying(255) NOT NULL,
-    content_type_id integer NOT NULL,
-    codename character varying(100) NOT NULL
-);
-
-
---
--- Name: auth_permission_id_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-CREATE SEQUENCE public.auth_permission_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-
---
--- Name: auth_permission_id_seq; Type: SEQUENCE OWNED BY; Schema: public; 
Owner: -
---
-
-ALTER SEQUENCE public.auth_permission_id_seq OWNED BY 
public.auth_permission.id;
-
-
---
--- Name: auth_user; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auth_user (
-    id integer NOT NULL,
-    password character varying(128) NOT NULL,
-    last_login timestamp with time zone,
-    is_superuser boolean NOT NULL,
-    username character varying(150) NOT NULL,
-    first_name character varying(150) NOT NULL,
-    last_name character varying(150) NOT NULL,
-    email character varying(254) NOT NULL,
-    is_staff boolean NOT NULL,
-    is_active boolean NOT NULL,
-    date_joined timestamp with time zone NOT NULL
-);
-
-
---
--- Name: auth_user_groups; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auth_user_groups (
-    id bigint NOT NULL,
-    user_id integer NOT NULL,
-    group_id integer NOT NULL
-);
-
-
---
--- Name: auth_user_groups_id_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-CREATE SEQUENCE public.auth_user_groups_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-
---
--- Name: auth_user_groups_id_seq; Type: SEQUENCE OWNED BY; Schema: public; 
Owner: -
---
-
-ALTER SEQUENCE public.auth_user_groups_id_seq OWNED BY 
public.auth_user_groups.id;
-
-
---
--- Name: auth_user_id_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-CREATE SEQUENCE public.auth_user_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-
---
--- Name: auth_user_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
---
-
-ALTER SEQUENCE public.auth_user_id_seq OWNED BY public.auth_user.id;
-
-
---
--- Name: auth_user_user_permissions; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.auth_user_user_permissions (
-    id bigint NOT NULL,
-    user_id integer NOT NULL,
-    permission_id integer NOT NULL
-);
-
-
---
--- Name: auth_user_user_permissions_id_seq; Type: SEQUENCE; Schema: public; 
Owner: -
---
-
-CREATE SEQUENCE public.auth_user_user_permissions_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-
---
--- Name: auth_user_user_permissions_id_seq; Type: SEQUENCE OWNED BY; Schema: 
public; Owner: -
---
-
-ALTER SEQUENCE public.auth_user_user_permissions_id_seq OWNED BY 
public.auth_user_user_permissions.id;
-
-
---
--- Name: close_requests; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.close_requests (
-    close_request_serial_id bigint NOT NULL,
-    reserve_pub bytea NOT NULL,
-    close_timestamp bigint NOT NULL,
-    reserve_sig bytea NOT NULL,
-    close_val bigint NOT NULL,
-    close_frac integer NOT NULL,
-    CONSTRAINT close_requests_reserve_pub_check CHECK ((length(reserve_pub) = 
32)),
-    CONSTRAINT close_requests_reserve_sig_check CHECK ((length(reserve_sig) = 
64))
-)
-PARTITION BY HASH (reserve_pub);
-
-
---
--- Name: TABLE close_requests; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.close_requests IS 'Explicit requests by a reserve 
owner to close a reserve immediately';
-
-
---
--- Name: COLUMN close_requests.close_timestamp; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.close_requests.close_timestamp IS 'When the request 
was created by the client';
-
-
---
--- Name: COLUMN close_requests.reserve_sig; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.close_requests.reserve_sig IS 'Signature affirming 
that the reserve is to be closed';
-
-
---
--- Name: COLUMN close_requests.close_val; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.close_requests.close_val IS 'Balance of the reserve 
at the time of closing, to be wired to the associated bank account (minus the 
closing fee)';
-
-
---
--- Name: close_requests_close_request_serial_id_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.close_requests ALTER COLUMN close_request_serial_id ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.close_requests_close_request_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: close_requests_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.close_requests_default (
-    close_request_serial_id bigint NOT NULL,
-    reserve_pub bytea NOT NULL,
-    close_timestamp bigint NOT NULL,
-    reserve_sig bytea NOT NULL,
-    close_val bigint NOT NULL,
-    close_frac integer NOT NULL,
-    CONSTRAINT close_requests_reserve_pub_check CHECK ((length(reserve_pub) = 
32)),
-    CONSTRAINT close_requests_reserve_sig_check CHECK ((length(reserve_sig) = 
64))
-);
-ALTER TABLE ONLY public.close_requests ATTACH PARTITION 
public.close_requests_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: contracts; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.contracts (
-    contract_serial_id bigint NOT NULL,
-    purse_pub bytea NOT NULL,
-    pub_ckey bytea NOT NULL,
-    contract_sig bytea NOT NULL,
-    e_contract bytea NOT NULL,
-    purse_expiration bigint NOT NULL,
-    CONSTRAINT contracts_contract_sig_check CHECK ((length(contract_sig) = 
64)),
-    CONSTRAINT contracts_pub_ckey_check CHECK ((length(pub_ckey) = 32)),
-    CONSTRAINT contracts_purse_pub_check CHECK ((length(purse_pub) = 32))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE contracts; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.contracts IS 'encrypted contracts associated with 
purses';
-
-
---
--- Name: COLUMN contracts.purse_pub; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.contracts.purse_pub IS 'public key of the purse that 
the contract is associated with';
-
-
---
--- Name: COLUMN contracts.pub_ckey; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.contracts.pub_ckey IS 'Public ECDH key used to 
encrypt the contract, to be used with the purse private key for decryption';
-
-
---
--- Name: COLUMN contracts.contract_sig; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.contracts.contract_sig IS 'signature over the 
encrypted contract by the purse contract key';
-
-
---
--- Name: COLUMN contracts.e_contract; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.contracts.e_contract IS 'AES-GCM encrypted contract 
terms (contains gzip compressed JSON after decryption)';
-
-
---
--- Name: contracts_contract_serial_id_seq; Type: SEQUENCE; Schema: public; 
Owner: -
---
-
-ALTER TABLE public.contracts ALTER COLUMN contract_serial_id ADD GENERATED BY 
DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.contracts_contract_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: contracts_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.contracts_default (
-    contract_serial_id bigint NOT NULL,
-    purse_pub bytea NOT NULL,
-    pub_ckey bytea NOT NULL,
-    contract_sig bytea NOT NULL,
-    e_contract bytea NOT NULL,
-    purse_expiration bigint NOT NULL,
-    CONSTRAINT contracts_contract_sig_check CHECK ((length(contract_sig) = 
64)),
-    CONSTRAINT contracts_pub_ckey_check CHECK ((length(pub_ckey) = 32)),
-    CONSTRAINT contracts_purse_pub_check CHECK ((length(purse_pub) = 32))
-);
-ALTER TABLE ONLY public.contracts ATTACH PARTITION public.contracts_default 
FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: cs_nonce_locks; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.cs_nonce_locks (
-    cs_nonce_lock_serial_id bigint NOT NULL,
-    nonce bytea NOT NULL,
-    op_hash bytea NOT NULL,
-    max_denomination_serial bigint NOT NULL,
-    CONSTRAINT cs_nonce_locks_nonce_check CHECK ((length(nonce) = 32)),
-    CONSTRAINT cs_nonce_locks_op_hash_check CHECK ((length(op_hash) = 64))
-)
-PARTITION BY HASH (nonce);
-
-
---
--- Name: TABLE cs_nonce_locks; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.cs_nonce_locks IS 'ensures a Clause Schnorr client 
nonce is locked for use with an operation identified by a hash';
-
-
---
--- Name: COLUMN cs_nonce_locks.nonce; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.cs_nonce_locks.nonce IS 'actual nonce submitted by 
the client';
-
-
---
--- Name: COLUMN cs_nonce_locks.op_hash; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.cs_nonce_locks.op_hash IS 'hash (RC for refresh, 
blind coin hash for withdraw) the nonce may be used with';
-
-
---
--- Name: COLUMN cs_nonce_locks.max_denomination_serial; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.cs_nonce_locks.max_denomination_serial IS 'Maximum 
number of a CS denomination serial the nonce could be used with, for GC';
-
-
---
--- Name: cs_nonce_locks_cs_nonce_lock_serial_id_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.cs_nonce_locks ALTER COLUMN cs_nonce_lock_serial_id ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.cs_nonce_locks_cs_nonce_lock_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: cs_nonce_locks_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.cs_nonce_locks_default (
-    cs_nonce_lock_serial_id bigint NOT NULL,
-    nonce bytea NOT NULL,
-    op_hash bytea NOT NULL,
-    max_denomination_serial bigint NOT NULL,
-    CONSTRAINT cs_nonce_locks_nonce_check CHECK ((length(nonce) = 32)),
-    CONSTRAINT cs_nonce_locks_op_hash_check CHECK ((length(op_hash) = 64))
-);
-ALTER TABLE ONLY public.cs_nonce_locks ATTACH PARTITION 
public.cs_nonce_locks_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: denomination_revocations; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.denomination_revocations (
-    denom_revocations_serial_id bigint NOT NULL,
-    denominations_serial bigint NOT NULL,
-    master_sig bytea NOT NULL,
-    CONSTRAINT denomination_revocations_master_sig_check CHECK 
((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE denomination_revocations; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON TABLE public.denomination_revocations IS 'remembering which 
denomination keys have been revoked';
-
-
---
--- Name: denomination_revocations_denom_revocations_serial_id_seq; Type: 
SEQUENCE; Schema: public; Owner: -
---
-
-ALTER TABLE public.denomination_revocations ALTER COLUMN 
denom_revocations_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME 
public.denomination_revocations_denom_revocations_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: denominations; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.denominations (
-    denominations_serial bigint NOT NULL,
-    denom_pub_hash bytea NOT NULL,
-    denom_type integer DEFAULT 1 NOT NULL,
-    age_mask integer DEFAULT 0 NOT NULL,
-    denom_pub bytea NOT NULL,
-    master_sig bytea NOT NULL,
-    valid_from bigint NOT NULL,
-    expire_withdraw bigint NOT NULL,
-    expire_deposit bigint NOT NULL,
-    expire_legal bigint NOT NULL,
-    coin_val bigint NOT NULL,
-    coin_frac integer NOT NULL,
-    fee_withdraw_val bigint NOT NULL,
-    fee_withdraw_frac integer NOT NULL,
-    fee_deposit_val bigint NOT NULL,
-    fee_deposit_frac integer NOT NULL,
-    fee_refresh_val bigint NOT NULL,
-    fee_refresh_frac integer NOT NULL,
-    fee_refund_val bigint NOT NULL,
-    fee_refund_frac integer NOT NULL,
-    CONSTRAINT denominations_denom_pub_hash_check CHECK 
((length(denom_pub_hash) = 64)),
-    CONSTRAINT denominations_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE denominations; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.denominations IS 'Main denominations table. All the 
valid denominations the exchange knows about.';
-
-
---
--- Name: COLUMN denominations.denominations_serial; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.denominations.denominations_serial IS 'needed for 
exchange-auditor replication logic';
-
-
---
--- Name: COLUMN denominations.denom_type; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.denominations.denom_type IS 'determines cipher type 
for blind signatures used with this denomination; 0 is for RSA';
-
-
---
--- Name: COLUMN denominations.age_mask; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.denominations.age_mask IS 'bitmask with the age 
restrictions that are being used for this denomination; 0 if denomination does 
not support the use of age restrictions';
-
-
---
--- Name: denominations_denominations_serial_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.denominations ALTER COLUMN denominations_serial ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.denominations_denominations_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: deposit_confirmations; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.deposit_confirmations (
-    master_pub bytea NOT NULL,
-    serial_id bigint NOT NULL,
-    h_contract_terms bytea NOT NULL,
-    h_extensions bytea NOT NULL,
-    h_wire bytea NOT NULL,
-    exchange_timestamp bigint NOT NULL,
-    refund_deadline bigint NOT NULL,
-    wire_deadline bigint NOT NULL,
-    amount_without_fee_val bigint NOT NULL,
-    amount_without_fee_frac integer NOT NULL,
-    coin_pub bytea NOT NULL,
-    merchant_pub bytea NOT NULL,
-    exchange_sig bytea NOT NULL,
-    exchange_pub bytea NOT NULL,
-    master_sig bytea NOT NULL,
-    CONSTRAINT deposit_confirmations_coin_pub_check CHECK ((length(coin_pub) = 
32)),
-    CONSTRAINT deposit_confirmations_exchange_pub_check CHECK 
((length(exchange_pub) = 32)),
-    CONSTRAINT deposit_confirmations_exchange_sig_check CHECK 
((length(exchange_sig) = 64)),
-    CONSTRAINT deposit_confirmations_h_contract_terms_check CHECK 
((length(h_contract_terms) = 64)),
-    CONSTRAINT deposit_confirmations_h_contract_terms_check1 CHECK 
((length(h_contract_terms) = 64)),
-    CONSTRAINT deposit_confirmations_h_wire_check CHECK ((length(h_wire) = 
64)),
-    CONSTRAINT deposit_confirmations_master_sig_check CHECK 
((length(master_sig) = 64)),
-    CONSTRAINT deposit_confirmations_merchant_pub_check CHECK 
((length(merchant_pub) = 32))
-);
-
-
---
--- Name: TABLE deposit_confirmations; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.deposit_confirmations IS 'deposit confirmation sent to 
us by merchants; we must check that the exchange reported these properly.';
-
-
---
--- Name: deposit_confirmations_serial_id_seq; Type: SEQUENCE; Schema: public; 
Owner: -
---
-
-CREATE SEQUENCE public.deposit_confirmations_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-
---
--- Name: deposit_confirmations_serial_id_seq; Type: SEQUENCE OWNED BY; Schema: 
public; Owner: -
---
-
-ALTER SEQUENCE public.deposit_confirmations_serial_id_seq OWNED BY 
public.deposit_confirmations.serial_id;
-
-
---
--- Name: deposits; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.deposits (
-    deposit_serial_id bigint NOT NULL,
-    shard bigint NOT NULL,
-    coin_pub bytea NOT NULL,
-    known_coin_id bigint NOT NULL,
-    amount_with_fee_val bigint NOT NULL,
-    amount_with_fee_frac integer NOT NULL,
-    wallet_timestamp bigint NOT NULL,
-    exchange_timestamp bigint NOT NULL,
-    refund_deadline bigint NOT NULL,
-    wire_deadline bigint NOT NULL,
-    merchant_pub bytea NOT NULL,
-    h_contract_terms bytea NOT NULL,
-    coin_sig bytea NOT NULL,
-    wire_salt bytea NOT NULL,
-    wire_target_h_payto bytea,
-    done boolean DEFAULT false NOT NULL,
-    extension_blocked boolean DEFAULT false NOT NULL,
-    extension_details_serial_id bigint,
-    CONSTRAINT deposits_coin_pub_check CHECK ((length(coin_pub) = 32)),
-    CONSTRAINT deposits_coin_sig_check CHECK ((length(coin_sig) = 64)),
-    CONSTRAINT deposits_h_contract_terms_check CHECK 
((length(h_contract_terms) = 64)),
-    CONSTRAINT deposits_merchant_pub_check CHECK ((length(merchant_pub) = 32)),
-    CONSTRAINT deposits_wire_salt_check CHECK ((length(wire_salt) = 16)),
-    CONSTRAINT deposits_wire_target_h_payto_check CHECK 
((length(wire_target_h_payto) = 32))
-)
-PARTITION BY HASH (coin_pub);
-
-
---
--- Name: TABLE deposits; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.deposits IS 'Deposits we have received and for which 
we need to make (aggregate) wire transfers (and manage refunds).';
-
-
---
--- Name: COLUMN deposits.shard; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.deposits.shard IS 'Used for load sharding in the 
materialized indices. Should be set based on merchant_pub. 64-bit value because 
we need an *unsigned* 32-bit value.';
-
-
---
--- Name: COLUMN deposits.known_coin_id; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.deposits.known_coin_id IS 'Used for garbage 
collection';
-
-
---
--- Name: COLUMN deposits.wire_salt; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.deposits.wire_salt IS 'Salt used when hashing the 
payto://-URI to get the h_wire';
-
-
---
--- Name: COLUMN deposits.wire_target_h_payto; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.deposits.wire_target_h_payto IS 'Identifies the 
target bank account and KYC status';
-
-
---
--- Name: COLUMN deposits.done; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.deposits.done IS 'Set to TRUE once we have included 
this deposit in some aggregate wire transfer to the merchant';
-
-
---
--- Name: COLUMN deposits.extension_blocked; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.deposits.extension_blocked IS 'True if the 
aggregation of the deposit is currently blocked by some extension mechanism. 
Used to filter out deposits that must not be processed by the canonical deposit 
logic.';
-
-
---
--- Name: COLUMN deposits.extension_details_serial_id; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.deposits.extension_details_serial_id IS 'References 
extensions table, NULL if extensions are not used';
-
-
---
--- Name: deposits_by_ready; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.deposits_by_ready (
-    wire_deadline bigint NOT NULL,
-    shard bigint NOT NULL,
-    coin_pub bytea NOT NULL,
-    deposit_serial_id bigint,
-    CONSTRAINT deposits_by_ready_coin_pub_check CHECK ((length(coin_pub) = 32))
-)
-PARTITION BY RANGE (wire_deadline);
-
-
---
--- Name: TABLE deposits_by_ready; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.deposits_by_ready IS 'Enables fast lookups for 
deposits_get_ready, auto-populated via TRIGGER below';
-
-
---
--- Name: deposits_by_ready_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.deposits_by_ready_default (
-    wire_deadline bigint NOT NULL,
-    shard bigint NOT NULL,
-    coin_pub bytea NOT NULL,
-    deposit_serial_id bigint,
-    CONSTRAINT deposits_by_ready_coin_pub_check CHECK ((length(coin_pub) = 32))
-);
-ALTER TABLE ONLY public.deposits_by_ready ATTACH PARTITION 
public.deposits_by_ready_default DEFAULT;
-
-
---
--- Name: deposits_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.deposits_default (
-    deposit_serial_id bigint NOT NULL,
-    shard bigint NOT NULL,
-    coin_pub bytea NOT NULL,
-    known_coin_id bigint NOT NULL,
-    amount_with_fee_val bigint NOT NULL,
-    amount_with_fee_frac integer NOT NULL,
-    wallet_timestamp bigint NOT NULL,
-    exchange_timestamp bigint NOT NULL,
-    refund_deadline bigint NOT NULL,
-    wire_deadline bigint NOT NULL,
-    merchant_pub bytea NOT NULL,
-    h_contract_terms bytea NOT NULL,
-    coin_sig bytea NOT NULL,
-    wire_salt bytea NOT NULL,
-    wire_target_h_payto bytea,
-    done boolean DEFAULT false NOT NULL,
-    extension_blocked boolean DEFAULT false NOT NULL,
-    extension_details_serial_id bigint,
-    CONSTRAINT deposits_coin_pub_check CHECK ((length(coin_pub) = 32)),
-    CONSTRAINT deposits_coin_sig_check CHECK ((length(coin_sig) = 64)),
-    CONSTRAINT deposits_h_contract_terms_check CHECK 
((length(h_contract_terms) = 64)),
-    CONSTRAINT deposits_merchant_pub_check CHECK ((length(merchant_pub) = 32)),
-    CONSTRAINT deposits_wire_salt_check CHECK ((length(wire_salt) = 16)),
-    CONSTRAINT deposits_wire_target_h_payto_check CHECK 
((length(wire_target_h_payto) = 32))
-);
-ALTER TABLE ONLY public.deposits ATTACH PARTITION public.deposits_default FOR 
VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: deposits_deposit_serial_id_seq; Type: SEQUENCE; Schema: public; 
Owner: -
---
-
-ALTER TABLE public.deposits ALTER COLUMN deposit_serial_id ADD GENERATED BY 
DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.deposits_deposit_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: deposits_for_matching; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.deposits_for_matching (
-    refund_deadline bigint NOT NULL,
-    merchant_pub bytea NOT NULL,
-    coin_pub bytea NOT NULL,
-    deposit_serial_id bigint,
-    CONSTRAINT deposits_for_matching_coin_pub_check CHECK ((length(coin_pub) = 
32)),
-    CONSTRAINT deposits_for_matching_merchant_pub_check CHECK 
((length(merchant_pub) = 32))
-)
-PARTITION BY RANGE (refund_deadline);
-
-
---
--- Name: TABLE deposits_for_matching; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.deposits_for_matching IS 'Enables fast lookups for 
deposits_iterate_matching, auto-populated via TRIGGER below';
-
-
---
--- Name: deposits_for_matching_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.deposits_for_matching_default (
-    refund_deadline bigint NOT NULL,
-    merchant_pub bytea NOT NULL,
-    coin_pub bytea NOT NULL,
-    deposit_serial_id bigint,
-    CONSTRAINT deposits_for_matching_coin_pub_check CHECK ((length(coin_pub) = 
32)),
-    CONSTRAINT deposits_for_matching_merchant_pub_check CHECK 
((length(merchant_pub) = 32))
-);
-ALTER TABLE ONLY public.deposits_for_matching ATTACH PARTITION 
public.deposits_for_matching_default DEFAULT;
-
-
---
--- Name: django_content_type; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.django_content_type (
-    id integer NOT NULL,
-    app_label character varying(100) NOT NULL,
-    model character varying(100) NOT NULL
-);
-
-
---
--- Name: django_content_type_id_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-CREATE SEQUENCE public.django_content_type_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-
---
--- Name: django_content_type_id_seq; Type: SEQUENCE OWNED BY; Schema: public; 
Owner: -
---
-
-ALTER SEQUENCE public.django_content_type_id_seq OWNED BY 
public.django_content_type.id;
-
-
---
--- Name: django_migrations; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.django_migrations (
-    id bigint NOT NULL,
-    app character varying(255) NOT NULL,
-    name character varying(255) NOT NULL,
-    applied timestamp with time zone NOT NULL
-);
-
-
---
--- Name: django_migrations_id_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-CREATE SEQUENCE public.django_migrations_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-
---
--- Name: django_migrations_id_seq; Type: SEQUENCE OWNED BY; Schema: public; 
Owner: -
---
-
-ALTER SEQUENCE public.django_migrations_id_seq OWNED BY 
public.django_migrations.id;
-
-
---
--- Name: django_session; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.django_session (
-    session_key character varying(40) NOT NULL,
-    session_data text NOT NULL,
-    expire_date timestamp with time zone NOT NULL
-);
-
-
---
--- Name: exchange_sign_keys; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.exchange_sign_keys (
-    esk_serial bigint NOT NULL,
-    exchange_pub bytea NOT NULL,
-    master_sig bytea NOT NULL,
-    valid_from bigint NOT NULL,
-    expire_sign bigint NOT NULL,
-    expire_legal bigint NOT NULL,
-    CONSTRAINT exchange_sign_keys_exchange_pub_check CHECK 
((length(exchange_pub) = 32)),
-    CONSTRAINT exchange_sign_keys_master_sig_check CHECK ((length(master_sig) 
= 64))
-);
-
-
---
--- Name: TABLE exchange_sign_keys; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.exchange_sign_keys IS 'Table with master public key 
signatures on exchange online signing keys.';
-
-
---
--- Name: COLUMN exchange_sign_keys.exchange_pub; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.exchange_sign_keys.exchange_pub IS 'Public online 
signing key of the exchange.';
-
-
---
--- Name: COLUMN exchange_sign_keys.master_sig; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.exchange_sign_keys.master_sig IS 'Signature affirming 
the validity of the signing key of purpose 
TALER_SIGNATURE_MASTER_SIGNING_KEY_VALIDITY.';
-
-
---
--- Name: COLUMN exchange_sign_keys.valid_from; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.exchange_sign_keys.valid_from IS 'Time when this 
online signing key will first be used to sign messages.';
-
-
---
--- Name: COLUMN exchange_sign_keys.expire_sign; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.exchange_sign_keys.expire_sign IS 'Time when this 
online signing key will no longer be used to sign.';
-
-
---
--- Name: COLUMN exchange_sign_keys.expire_legal; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.exchange_sign_keys.expire_legal IS 'Time when this 
online signing key legally expires.';
-
-
---
--- Name: exchange_sign_keys_esk_serial_seq; Type: SEQUENCE; Schema: public; 
Owner: -
---
-
-ALTER TABLE public.exchange_sign_keys ALTER COLUMN esk_serial ADD GENERATED BY 
DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.exchange_sign_keys_esk_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: extension_details; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.extension_details (
-    extension_details_serial_id bigint NOT NULL,
-    extension_options character varying
-)
-PARTITION BY HASH (extension_details_serial_id);
-
-
---
--- Name: TABLE extension_details; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.extension_details IS 'Extensions that were provided 
with deposits (not yet used).';
-
-
---
--- Name: COLUMN extension_details.extension_options; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.extension_details.extension_options IS 'JSON object 
with options set that the exchange needs to consider when executing a deposit. 
Supported details depend on the extensions supported by the exchange.';
-
-
---
--- Name: extension_details_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.extension_details_default (
-    extension_details_serial_id bigint NOT NULL,
-    extension_options character varying
-);
-ALTER TABLE ONLY public.extension_details ATTACH PARTITION 
public.extension_details_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: extension_details_extension_details_serial_id_seq; Type: SEQUENCE; 
Schema: public; Owner: -
---
-
-ALTER TABLE public.extension_details ALTER COLUMN extension_details_serial_id 
ADD GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.extension_details_extension_details_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: extensions; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.extensions (
-    extension_id bigint NOT NULL,
-    name character varying NOT NULL,
-    config bytea
-);
-
-
---
--- Name: TABLE extensions; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.extensions IS 'Configurations of the activated 
extensions';
-
-
---
--- Name: COLUMN extensions.name; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.extensions.name IS 'Name of the extension';
-
-
---
--- Name: COLUMN extensions.config; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.extensions.config IS 'Configuration of the extension 
as JSON-blob, maybe NULL';
-
-
---
--- Name: extensions_extension_id_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-ALTER TABLE public.extensions ALTER COLUMN extension_id ADD GENERATED BY 
DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.extensions_extension_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: global_fee; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.global_fee (
-    global_fee_serial bigint NOT NULL,
-    start_date bigint NOT NULL,
-    end_date bigint NOT NULL,
-    history_fee_val bigint NOT NULL,
-    history_fee_frac integer NOT NULL,
-    kyc_fee_val bigint NOT NULL,
-    kyc_fee_frac integer NOT NULL,
-    account_fee_val bigint NOT NULL,
-    account_fee_frac integer NOT NULL,
-    purse_fee_val bigint NOT NULL,
-    purse_fee_frac integer NOT NULL,
-    purse_timeout bigint NOT NULL,
-    kyc_timeout bigint NOT NULL,
-    history_expiration bigint NOT NULL,
-    purse_account_limit integer NOT NULL,
-    master_sig bytea NOT NULL,
-    CONSTRAINT global_fee_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE global_fee; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.global_fee IS 'list of the global fees of this 
exchange, by date';
-
-
---
--- Name: COLUMN global_fee.global_fee_serial; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.global_fee.global_fee_serial IS 'needed for 
exchange-auditor replication logic';
-
-
---
--- Name: global_fee_global_fee_serial_seq; Type: SEQUENCE; Schema: public; 
Owner: -
---
-
-ALTER TABLE public.global_fee ALTER COLUMN global_fee_serial ADD GENERATED BY 
DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.global_fee_global_fee_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: history_requests; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.history_requests (
-    history_request_serial_id bigint NOT NULL,
-    reserve_pub bytea NOT NULL,
-    request_timestamp bigint NOT NULL,
-    reserve_sig bytea NOT NULL,
-    history_fee_val bigint NOT NULL,
-    history_fee_frac integer NOT NULL,
-    CONSTRAINT history_requests_reserve_pub_check CHECK ((length(reserve_pub) 
= 32)),
-    CONSTRAINT history_requests_reserve_sig_check CHECK ((length(reserve_sig) 
= 64))
-)
-PARTITION BY HASH (reserve_pub);
-
-
---
--- Name: TABLE history_requests; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.history_requests IS 'Paid history requests issued by a 
client against a reserve';
-
-
---
--- Name: COLUMN history_requests.request_timestamp; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.history_requests.request_timestamp IS 'When was the 
history request made';
-
-
---
--- Name: COLUMN history_requests.reserve_sig; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.history_requests.reserve_sig IS 'Signature approving 
payment for the history request';
-
-
---
--- Name: COLUMN history_requests.history_fee_val; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.history_requests.history_fee_val IS 'History fee 
approved by the signature';
-
-
---
--- Name: history_requests_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.history_requests_default (
-    history_request_serial_id bigint NOT NULL,
-    reserve_pub bytea NOT NULL,
-    request_timestamp bigint NOT NULL,
-    reserve_sig bytea NOT NULL,
-    history_fee_val bigint NOT NULL,
-    history_fee_frac integer NOT NULL,
-    CONSTRAINT history_requests_reserve_pub_check CHECK ((length(reserve_pub) 
= 32)),
-    CONSTRAINT history_requests_reserve_sig_check CHECK ((length(reserve_sig) 
= 64))
-);
-ALTER TABLE ONLY public.history_requests ATTACH PARTITION 
public.history_requests_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: history_requests_history_request_serial_id_seq; Type: SEQUENCE; 
Schema: public; Owner: -
---
-
-ALTER TABLE public.history_requests ALTER COLUMN history_request_serial_id ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.history_requests_history_request_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: known_coins; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.known_coins (
-    known_coin_id bigint NOT NULL,
-    denominations_serial bigint NOT NULL,
-    coin_pub bytea NOT NULL,
-    age_commitment_hash bytea,
-    denom_sig bytea NOT NULL,
-    remaining_val bigint DEFAULT 0 NOT NULL,
-    remaining_frac integer DEFAULT 0 NOT NULL,
-    CONSTRAINT known_coins_age_commitment_hash_check CHECK 
((length(age_commitment_hash) = 32)),
-    CONSTRAINT known_coins_coin_pub_check CHECK ((length(coin_pub) = 32))
-)
-PARTITION BY HASH (coin_pub);
-
-
---
--- Name: TABLE known_coins; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.known_coins IS 'information about coins and their 
signatures, so we do not have to store the signatures more than once if a coin 
is involved in multiple operations';
-
-
---
--- Name: COLUMN known_coins.denominations_serial; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.known_coins.denominations_serial IS 'Denomination of 
the coin, determines the value of the original coin and applicable fees for 
coin-specific operations.';
-
-
---
--- Name: COLUMN known_coins.coin_pub; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.known_coins.coin_pub IS 'EdDSA public key of the 
coin';
-
-
---
--- Name: COLUMN known_coins.age_commitment_hash; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.known_coins.age_commitment_hash IS 'Optional hash of 
the age commitment for age restrictions as per DD 24 (active if denom_type has 
the respective bit set)';
-
-
---
--- Name: COLUMN known_coins.denom_sig; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.known_coins.denom_sig IS 'This is the signature of 
the exchange that affirms that the coin is a valid coin. The specific signature 
type depends on denom_type of the denomination.';
-
-
---
--- Name: COLUMN known_coins.remaining_val; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.known_coins.remaining_val IS 'Value of the coin that 
remains to be spent';
-
-
---
--- Name: known_coins_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.known_coins_default (
-    known_coin_id bigint NOT NULL,
-    denominations_serial bigint NOT NULL,
-    coin_pub bytea NOT NULL,
-    age_commitment_hash bytea,
-    denom_sig bytea NOT NULL,
-    remaining_val bigint DEFAULT 0 NOT NULL,
-    remaining_frac integer DEFAULT 0 NOT NULL,
-    CONSTRAINT known_coins_age_commitment_hash_check CHECK 
((length(age_commitment_hash) = 32)),
-    CONSTRAINT known_coins_coin_pub_check CHECK ((length(coin_pub) = 32))
-);
-ALTER TABLE ONLY public.known_coins ATTACH PARTITION 
public.known_coins_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: known_coins_known_coin_id_seq; Type: SEQUENCE; Schema: public; Owner: 
-
---
-
-ALTER TABLE public.known_coins ALTER COLUMN known_coin_id ADD GENERATED BY 
DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.known_coins_known_coin_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: merchant_accounts; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_accounts (
-    account_serial bigint NOT NULL,
-    merchant_serial bigint NOT NULL,
-    h_wire bytea NOT NULL,
-    salt bytea NOT NULL,
-    payto_uri character varying NOT NULL,
-    active boolean NOT NULL,
-    CONSTRAINT merchant_accounts_h_wire_check CHECK ((length(h_wire) = 64)),
-    CONSTRAINT merchant_accounts_salt_check CHECK ((length(salt) = 16))
-);
-
-
---
--- Name: TABLE merchant_accounts; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.merchant_accounts IS 'bank accounts of the instances';
-
-
---
--- Name: COLUMN merchant_accounts.h_wire; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_accounts.h_wire IS 'salted hash of 
payto_uri';
-
-
---
--- Name: COLUMN merchant_accounts.salt; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_accounts.salt IS 'salt used when hashing 
payto_uri into h_wire';
-
-
---
--- Name: COLUMN merchant_accounts.payto_uri; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_accounts.payto_uri IS 'payto URI of a 
merchant bank account';
-
-
---
--- Name: COLUMN merchant_accounts.active; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_accounts.active IS 'true if we actively use 
this bank account, false if it is just kept around for older contracts to refer 
to';
-
-
---
--- Name: merchant_accounts_account_serial_seq; Type: SEQUENCE; Schema: public; 
Owner: -
---
-
-ALTER TABLE public.merchant_accounts ALTER COLUMN account_serial ADD GENERATED 
BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.merchant_accounts_account_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: merchant_contract_terms; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_contract_terms (
-    order_serial bigint NOT NULL,
-    merchant_serial bigint NOT NULL,
-    order_id character varying NOT NULL,
-    contract_terms bytea NOT NULL,
-    h_contract_terms bytea NOT NULL,
-    creation_time bigint NOT NULL,
-    pay_deadline bigint NOT NULL,
-    refund_deadline bigint NOT NULL,
-    paid boolean DEFAULT false NOT NULL,
-    wired boolean DEFAULT false NOT NULL,
-    fulfillment_url character varying,
-    session_id character varying DEFAULT ''::character varying NOT NULL,
-    claim_token bytea NOT NULL,
-    CONSTRAINT merchant_contract_terms_claim_token_check CHECK 
((length(claim_token) = 16)),
-    CONSTRAINT merchant_contract_terms_h_contract_terms_check CHECK 
((length(h_contract_terms) = 64))
-);
-
-
---
--- Name: TABLE merchant_contract_terms; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.merchant_contract_terms IS 'Contracts are orders that 
have been claimed by a wallet';
-
-
---
--- Name: COLUMN merchant_contract_terms.merchant_serial; Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_contract_terms.merchant_serial IS 
'Identifies the instance offering the contract';
-
-
---
--- Name: COLUMN merchant_contract_terms.order_id; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_contract_terms.order_id IS 'Not a foreign 
key into merchant_orders because paid contracts persist after expiration';
-
-
---
--- Name: COLUMN merchant_contract_terms.contract_terms; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_contract_terms.contract_terms IS 'These 
contract terms include the wallet nonce';
-
-
---
--- Name: COLUMN merchant_contract_terms.h_contract_terms; Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_contract_terms.h_contract_terms IS 'Hash 
over contract_terms';
-
-
---
--- Name: COLUMN merchant_contract_terms.pay_deadline; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_contract_terms.pay_deadline IS 'How long is 
the offer valid. After this time, the order can be garbage collected';
-
-
---
--- Name: COLUMN merchant_contract_terms.refund_deadline; Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_contract_terms.refund_deadline IS 'By what 
times do refunds have to be approved (useful to reject refund requests)';
-
-
---
--- Name: COLUMN merchant_contract_terms.paid; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_contract_terms.paid IS 'true implies the 
customer paid for this contract; order should be DELETEd from merchant_orders 
once paid is set to release merchant_order_locks; paid remains true even if the 
payment was later refunded';
-
-
---
--- Name: COLUMN merchant_contract_terms.wired; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_contract_terms.wired IS 'true implies the 
exchange wired us the full amount for all non-refunded payments under this 
contract';
-
-
---
--- Name: COLUMN merchant_contract_terms.fulfillment_url; Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_contract_terms.fulfillment_url IS 'also 
included in contract_terms, but we need it here to SELECT on it during 
repurchase detection; can be NULL if the contract has no fulfillment URL';
-
-
---
--- Name: COLUMN merchant_contract_terms.session_id; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_contract_terms.session_id IS 'last 
session_id from we confirmed the paying client to use, empty string for none';
-
-
---
--- Name: COLUMN merchant_contract_terms.claim_token; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_contract_terms.claim_token IS 'Token 
optionally used to access the status of the order. All zeros (not NULL) if not 
used';
-
-
---
--- Name: merchant_deposit_to_transfer; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_deposit_to_transfer (
-    deposit_serial bigint NOT NULL,
-    coin_contribution_value_val bigint NOT NULL,
-    coin_contribution_value_frac integer NOT NULL,
-    credit_serial bigint NOT NULL,
-    execution_time bigint NOT NULL,
-    signkey_serial bigint NOT NULL,
-    exchange_sig bytea NOT NULL,
-    CONSTRAINT merchant_deposit_to_transfer_exchange_sig_check CHECK 
((length(exchange_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_deposit_to_transfer; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON TABLE public.merchant_deposit_to_transfer IS 'Mapping of deposits 
to (possibly unconfirmed) wire transfers; NOTE: not used yet';
-
-
---
--- Name: COLUMN merchant_deposit_to_transfer.execution_time; Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_deposit_to_transfer.execution_time IS 
'Execution time as claimed by the exchange, roughly matches time seen by 
merchant';
-
-
---
--- Name: merchant_deposits; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_deposits (
-    deposit_serial bigint NOT NULL,
-    order_serial bigint,
-    deposit_timestamp bigint NOT NULL,
-    coin_pub bytea NOT NULL,
-    exchange_url character varying NOT NULL,
-    amount_with_fee_val bigint NOT NULL,
-    amount_with_fee_frac integer NOT NULL,
-    deposit_fee_val bigint NOT NULL,
-    deposit_fee_frac integer NOT NULL,
-    refund_fee_val bigint NOT NULL,
-    refund_fee_frac integer NOT NULL,
-    wire_fee_val bigint NOT NULL,
-    wire_fee_frac integer NOT NULL,
-    signkey_serial bigint NOT NULL,
-    exchange_sig bytea NOT NULL,
-    account_serial bigint NOT NULL,
-    CONSTRAINT merchant_deposits_coin_pub_check CHECK ((length(coin_pub) = 
32)),
-    CONSTRAINT merchant_deposits_exchange_sig_check CHECK 
((length(exchange_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_deposits; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.merchant_deposits IS 'Refunds approved by the merchant 
(backoffice) logic, excludes abort refunds';
-
-
---
--- Name: COLUMN merchant_deposits.deposit_timestamp; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_deposits.deposit_timestamp IS 'Time when the 
exchange generated the deposit confirmation';
-
-
---
--- Name: COLUMN merchant_deposits.wire_fee_val; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_deposits.wire_fee_val IS 'We MAY want to see 
if we should try to get this via merchant_exchange_wire_fees (not sure, may be 
too complicated with the date range, etc.)';
-
-
---
--- Name: COLUMN merchant_deposits.signkey_serial; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_deposits.signkey_serial IS 'Online signing 
key of the exchange on the deposit confirmation';
-
-
---
--- Name: COLUMN merchant_deposits.exchange_sig; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_deposits.exchange_sig IS 'Signature of the 
exchange over the deposit confirmation';
-
-
---
--- Name: merchant_deposits_deposit_serial_seq; Type: SEQUENCE; Schema: public; 
Owner: -
---
-
-ALTER TABLE public.merchant_deposits ALTER COLUMN deposit_serial ADD GENERATED 
BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.merchant_deposits_deposit_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: merchant_exchange_signing_keys; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_exchange_signing_keys (
-    signkey_serial bigint NOT NULL,
-    master_pub bytea NOT NULL,
-    exchange_pub bytea NOT NULL,
-    start_date bigint NOT NULL,
-    expire_date bigint NOT NULL,
-    end_date bigint NOT NULL,
-    master_sig bytea NOT NULL,
-    CONSTRAINT merchant_exchange_signing_keys_exchange_pub_check CHECK 
((length(exchange_pub) = 32)),
-    CONSTRAINT merchant_exchange_signing_keys_master_pub_check CHECK 
((length(master_pub) = 32)),
-    CONSTRAINT merchant_exchange_signing_keys_master_sig_check CHECK 
((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_exchange_signing_keys; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON TABLE public.merchant_exchange_signing_keys IS 'Here we store 
proofs of the exchange online signing keys being signed by the exchange master 
key';
-
-
---
--- Name: COLUMN merchant_exchange_signing_keys.master_pub; Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_exchange_signing_keys.master_pub IS 'Master 
public key of the exchange with these online signing keys';
-
-
---
--- Name: merchant_exchange_signing_keys_signkey_serial_seq; Type: SEQUENCE; 
Schema: public; Owner: -
---
-
-ALTER TABLE public.merchant_exchange_signing_keys ALTER COLUMN signkey_serial 
ADD GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.merchant_exchange_signing_keys_signkey_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: merchant_exchange_wire_fees; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_exchange_wire_fees (
-    wirefee_serial bigint NOT NULL,
-    master_pub bytea NOT NULL,
-    h_wire_method bytea NOT NULL,
-    start_date bigint NOT NULL,
-    end_date bigint NOT NULL,
-    wire_fee_val bigint NOT NULL,
-    wire_fee_frac integer NOT NULL,
-    closing_fee_val bigint NOT NULL,
-    closing_fee_frac integer NOT NULL,
-    wad_fee_val bigint NOT NULL,
-    wad_fee_frac integer NOT NULL,
-    master_sig bytea NOT NULL,
-    CONSTRAINT merchant_exchange_wire_fees_h_wire_method_check CHECK 
((length(h_wire_method) = 64)),
-    CONSTRAINT merchant_exchange_wire_fees_master_pub_check CHECK 
((length(master_pub) = 32)),
-    CONSTRAINT merchant_exchange_wire_fees_master_sig_check CHECK 
((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_exchange_wire_fees; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON TABLE public.merchant_exchange_wire_fees IS 'Here we store proofs 
of the wire fee structure of the various exchanges';
-
-
---
--- Name: COLUMN merchant_exchange_wire_fees.master_pub; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_exchange_wire_fees.master_pub IS 'Master 
public key of the exchange with these wire fees';
-
-
---
--- Name: merchant_exchange_wire_fees_wirefee_serial_seq; Type: SEQUENCE; 
Schema: public; Owner: -
---
-
-ALTER TABLE public.merchant_exchange_wire_fees ALTER COLUMN wirefee_serial ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.merchant_exchange_wire_fees_wirefee_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: merchant_instances; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_instances (
-    merchant_serial bigint NOT NULL,
-    merchant_pub bytea NOT NULL,
-    auth_hash bytea,
-    auth_salt bytea,
-    merchant_id character varying NOT NULL,
-    merchant_name character varying NOT NULL,
-    address bytea NOT NULL,
-    jurisdiction bytea NOT NULL,
-    default_max_deposit_fee_val bigint NOT NULL,
-    default_max_deposit_fee_frac integer NOT NULL,
-    default_max_wire_fee_val bigint NOT NULL,
-    default_max_wire_fee_frac integer NOT NULL,
-    default_wire_fee_amortization integer NOT NULL,
-    default_wire_transfer_delay bigint NOT NULL,
-    default_pay_delay bigint NOT NULL,
-    website character varying,
-    email character varying,
-    logo bytea,
-    CONSTRAINT merchant_instances_auth_hash_check CHECK ((length(auth_hash) = 
64)),
-    CONSTRAINT merchant_instances_auth_salt_check CHECK ((length(auth_salt) = 
32)),
-    CONSTRAINT merchant_instances_merchant_pub_check CHECK 
((length(merchant_pub) = 32))
-);
-
-
---
--- Name: TABLE merchant_instances; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.merchant_instances IS 'all the instances supported by 
this backend';
-
-
---
--- Name: COLUMN merchant_instances.auth_hash; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_instances.auth_hash IS 'hash used for 
merchant back office Authorization, NULL for no check';
-
-
---
--- Name: COLUMN merchant_instances.auth_salt; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_instances.auth_salt IS 'salt to use when 
hashing Authorization header before comparing with auth_hash';
-
-
---
--- Name: COLUMN merchant_instances.merchant_id; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_instances.merchant_id IS 'identifier of the 
merchant as used in the base URL (required)';
-
-
---
--- Name: COLUMN merchant_instances.merchant_name; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_instances.merchant_name IS 'legal name of 
the merchant as a simple string (required)';
-
-
---
--- Name: COLUMN merchant_instances.address; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_instances.address IS 'physical address of 
the merchant as a Location in JSON format (required)';
-
-
---
--- Name: COLUMN merchant_instances.jurisdiction; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_instances.jurisdiction IS 'jurisdiction of 
the merchant as a Location in JSON format (required)';
-
-
---
--- Name: COLUMN merchant_instances.website; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_instances.website IS 'merchant site URL';
-
-
---
--- Name: COLUMN merchant_instances.email; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_instances.email IS 'email';
-
-
---
--- Name: COLUMN merchant_instances.logo; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON COLUMN public.merchant_instances.logo IS 'data image url';
-
-
---
--- Name: merchant_instances_merchant_serial_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.merchant_instances ALTER COLUMN merchant_serial ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.merchant_instances_merchant_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: merchant_inventory; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_inventory (
-    product_serial bigint NOT NULL,
-    merchant_serial bigint NOT NULL,
-    product_id character varying NOT NULL,
-    description character varying NOT NULL,
-    description_i18n bytea NOT NULL,
-    unit character varying NOT NULL,
-    image bytea NOT NULL,
-    taxes bytea NOT NULL,
-    price_val bigint NOT NULL,
-    price_frac integer NOT NULL,
-    total_stock bigint NOT NULL,
-    total_sold bigint DEFAULT 0 NOT NULL,
-    total_lost bigint DEFAULT 0 NOT NULL,
-    address bytea NOT NULL,
-    next_restock bigint NOT NULL,
-    minimum_age integer DEFAULT 0 NOT NULL
-);
-
-
---
--- Name: TABLE merchant_inventory; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.merchant_inventory IS 'products offered by the 
merchant (may be incomplete, frontend can override)';
-
-
---
--- Name: COLUMN merchant_inventory.description; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_inventory.description IS 'Human-readable 
product description';
-
-
---
--- Name: COLUMN merchant_inventory.description_i18n; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_inventory.description_i18n IS 'JSON map from 
IETF BCP 47 language tags to localized descriptions';
-
-
---
--- Name: COLUMN merchant_inventory.unit; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON COLUMN public.merchant_inventory.unit IS 'Unit of sale for the 
product (liters, kilograms, packages)';
-
-
---
--- Name: COLUMN merchant_inventory.image; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_inventory.image IS 'NOT NULL, but can be 0 
bytes; must contain an ImageDataUrl';
-
-
---
--- Name: COLUMN merchant_inventory.taxes; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_inventory.taxes IS 'JSON array containing 
taxes the merchant pays, must be JSON, but can be just "[]"';
-
-
---
--- Name: COLUMN merchant_inventory.price_val; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_inventory.price_val IS 'Current price of one 
unit of the product';
-
-
---
--- Name: COLUMN merchant_inventory.total_stock; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_inventory.total_stock IS 'A value of -1 is 
used for unlimited (electronic good), may never be lowered';
-
-
---
--- Name: COLUMN merchant_inventory.total_sold; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_inventory.total_sold IS 'Number of products 
sold, must be below total_stock, non-negative, may never be lowered';
-
-
---
--- Name: COLUMN merchant_inventory.total_lost; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_inventory.total_lost IS 'Number of products 
that used to be in stock but were lost (spoiled, damaged), may never be 
lowered; total_stock >= total_sold + total_lost must always hold';
-
-
---
--- Name: COLUMN merchant_inventory.address; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_inventory.address IS 'JSON formatted 
Location of where the product is stocked';
-
-
---
--- Name: COLUMN merchant_inventory.next_restock; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_inventory.next_restock IS 'GNUnet absolute 
time indicating when the next restock is expected. 0 for unknown.';
-
-
---
--- Name: COLUMN merchant_inventory.minimum_age; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_inventory.minimum_age IS 'Minimum age of the 
customer in years, to be used if an exchange supports the age restriction 
extension.';
-
-
---
--- Name: merchant_inventory_locks; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_inventory_locks (
-    product_serial bigint NOT NULL,
-    lock_uuid bytea NOT NULL,
-    total_locked bigint NOT NULL,
-    expiration bigint NOT NULL,
-    CONSTRAINT merchant_inventory_locks_lock_uuid_check CHECK 
((length(lock_uuid) = 16))
-);
-
-
---
--- Name: TABLE merchant_inventory_locks; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON TABLE public.merchant_inventory_locks IS 'locks on inventory helt 
by shopping carts; note that locks MAY not be honored if merchants increase 
total_lost for inventory';
-
-
---
--- Name: COLUMN merchant_inventory_locks.total_locked; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_inventory_locks.total_locked IS 'how many 
units of the product does this lock reserve';
-
-
---
--- Name: COLUMN merchant_inventory_locks.expiration; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_inventory_locks.expiration IS 'when does 
this lock automatically expire (if no order is created)';
-
-
---
--- Name: merchant_inventory_product_serial_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.merchant_inventory ALTER COLUMN product_serial ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.merchant_inventory_product_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: merchant_keys; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_keys (
-    merchant_priv bytea NOT NULL,
-    merchant_serial bigint NOT NULL,
-    CONSTRAINT merchant_keys_merchant_priv_check CHECK ((length(merchant_priv) 
= 32))
-);
-
-
---
--- Name: TABLE merchant_keys; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.merchant_keys IS 'private keys of instances that have 
not been deleted';
-
-
---
--- Name: merchant_kyc; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_kyc (
-    kyc_serial_id bigint NOT NULL,
-    kyc_timestamp bigint NOT NULL,
-    kyc_ok boolean DEFAULT false NOT NULL,
-    exchange_sig bytea,
-    exchange_pub bytea,
-    exchange_kyc_serial bigint DEFAULT 0 NOT NULL,
-    account_serial bigint NOT NULL,
-    exchange_url character varying NOT NULL,
-    CONSTRAINT merchant_kyc_exchange_pub_check CHECK ((length(exchange_pub) = 
32)),
-    CONSTRAINT merchant_kyc_exchange_sig_check CHECK ((length(exchange_sig) = 
64))
-);
-
-
---
--- Name: TABLE merchant_kyc; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.merchant_kyc IS 'Status of the KYC process of a 
merchant account at an exchange';
-
-
---
--- Name: COLUMN merchant_kyc.kyc_timestamp; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_kyc.kyc_timestamp IS 'Last time we checked 
our KYC status at the exchange. Useful to re-check if the status is very stale. 
Also the timestamp used for the exchange signature (if present).';
-
-
---
--- Name: COLUMN merchant_kyc.kyc_ok; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_kyc.kyc_ok IS 'true if the KYC check was 
passed successfully';
-
-
---
--- Name: COLUMN merchant_kyc.exchange_sig; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_kyc.exchange_sig IS 'signature of the 
exchange affirming the KYC passed (or NULL if exchange does not require KYC or 
not kyc_ok)';
-
-
---
--- Name: COLUMN merchant_kyc.exchange_pub; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_kyc.exchange_pub IS 'public key used with 
exchange_sig (or NULL if exchange_sig is NULL)';
-
-
---
--- Name: COLUMN merchant_kyc.exchange_kyc_serial; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_kyc.exchange_kyc_serial IS 'Number to use in 
the KYC-endpoints of the exchange to check the KYC status or begin the KYC 
process. 0 if we do not know it yet.';
-
-
---
--- Name: COLUMN merchant_kyc.account_serial; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_kyc.account_serial IS 'Which bank account of 
the merchant is the KYC status for';
-
-
---
--- Name: COLUMN merchant_kyc.exchange_url; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_kyc.exchange_url IS 'Which exchange base URL 
is this KYC status valid for';
-
-
---
--- Name: merchant_kyc_kyc_serial_id_seq; Type: SEQUENCE; Schema: public; 
Owner: -
---
-
-ALTER TABLE public.merchant_kyc ALTER COLUMN kyc_serial_id ADD GENERATED BY 
DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.merchant_kyc_kyc_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: merchant_order_locks; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_order_locks (
-    product_serial bigint NOT NULL,
-    total_locked bigint NOT NULL,
-    order_serial bigint NOT NULL
-);
-
-
---
--- Name: TABLE merchant_order_locks; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.merchant_order_locks IS 'locks on orders awaiting 
claim and payment; note that locks MAY not be honored if merchants increase 
total_lost for inventory';
-
-
---
--- Name: COLUMN merchant_order_locks.total_locked; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_order_locks.total_locked IS 'how many units 
of the product does this lock reserve';
-
-
---
--- Name: merchant_orders; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_orders (
-    order_serial bigint NOT NULL,
-    merchant_serial bigint NOT NULL,
-    order_id character varying NOT NULL,
-    claim_token bytea NOT NULL,
-    h_post_data bytea NOT NULL,
-    pay_deadline bigint NOT NULL,
-    creation_time bigint NOT NULL,
-    contract_terms bytea NOT NULL,
-    CONSTRAINT merchant_orders_claim_token_check CHECK ((length(claim_token) = 
16)),
-    CONSTRAINT merchant_orders_h_post_data_check CHECK ((length(h_post_data) = 
64))
-);
-
-
---
--- Name: TABLE merchant_orders; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.merchant_orders IS 'Orders we offered to a customer, 
but that have not yet been claimed';
-
-
---
--- Name: COLUMN merchant_orders.merchant_serial; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_orders.merchant_serial IS 'Identifies the 
instance offering the contract';
-
-
---
--- Name: COLUMN merchant_orders.claim_token; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_orders.claim_token IS 'Token optionally used 
to authorize the wallet to claim the order. All zeros (not NULL) if not used';
-
-
---
--- Name: COLUMN merchant_orders.h_post_data; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_orders.h_post_data IS 'Hash of the POST 
request that created this order, for idempotency checks';
-
-
---
--- Name: COLUMN merchant_orders.pay_deadline; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_orders.pay_deadline IS 'How long is the 
offer valid. After this time, the order can be garbage collected';
-
-
---
--- Name: COLUMN merchant_orders.contract_terms; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_orders.contract_terms IS 'Claiming changes 
the contract_terms, hence we have no hash of the terms in this table';
-
-
---
--- Name: merchant_orders_order_serial_seq; Type: SEQUENCE; Schema: public; 
Owner: -
---
-
-ALTER TABLE public.merchant_orders ALTER COLUMN order_serial ADD GENERATED BY 
DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.merchant_orders_order_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: merchant_refund_proofs; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_refund_proofs (
-    refund_serial bigint NOT NULL,
-    exchange_sig bytea NOT NULL,
-    signkey_serial bigint NOT NULL,
-    CONSTRAINT merchant_refund_proofs_exchange_sig_check CHECK 
((length(exchange_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_refund_proofs; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.merchant_refund_proofs IS 'Refunds confirmed by the 
exchange (not all approved refunds are grabbed by the wallet)';
-
-
---
--- Name: merchant_refunds; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_refunds (
-    refund_serial bigint NOT NULL,
-    order_serial bigint NOT NULL,
-    rtransaction_id bigint NOT NULL,
-    refund_timestamp bigint NOT NULL,
-    coin_pub bytea NOT NULL,
-    reason character varying NOT NULL,
-    refund_amount_val bigint NOT NULL,
-    refund_amount_frac integer NOT NULL
-);
-
-
---
--- Name: COLUMN merchant_refunds.rtransaction_id; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_refunds.rtransaction_id IS 'Needed for 
uniqueness in case a refund is increased for the same order';
-
-
---
--- Name: COLUMN merchant_refunds.refund_timestamp; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_refunds.refund_timestamp IS 'Needed for 
grouping of refunds in the wallet UI; has no semantics in the protocol (only 
for UX), but should be from the time when the merchant internally approved the 
refund';
-
-
---
--- Name: merchant_refunds_refund_serial_seq; Type: SEQUENCE; Schema: public; 
Owner: -
---
-
-ALTER TABLE public.merchant_refunds ALTER COLUMN refund_serial ADD GENERATED 
BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.merchant_refunds_refund_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: merchant_tip_pickup_signatures; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_tip_pickup_signatures (
-    pickup_serial bigint NOT NULL,
-    coin_offset integer NOT NULL,
-    blind_sig bytea NOT NULL
-);
-
-
---
--- Name: TABLE merchant_tip_pickup_signatures; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON TABLE public.merchant_tip_pickup_signatures IS 'blind signatures we 
got from the exchange during the tip pickup';
-
-
---
--- Name: merchant_tip_pickups; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_tip_pickups (
-    pickup_serial bigint NOT NULL,
-    tip_serial bigint NOT NULL,
-    pickup_id bytea NOT NULL,
-    amount_val bigint NOT NULL,
-    amount_frac integer NOT NULL,
-    CONSTRAINT merchant_tip_pickups_pickup_id_check CHECK ((length(pickup_id) 
= 64))
-);
-
-
---
--- Name: TABLE merchant_tip_pickups; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.merchant_tip_pickups IS 'tips that have been picked 
up';
-
-
---
--- Name: merchant_tip_pickups_pickup_serial_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.merchant_tip_pickups ALTER COLUMN pickup_serial ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.merchant_tip_pickups_pickup_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: merchant_tip_reserve_keys; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_tip_reserve_keys (
-    reserve_serial bigint NOT NULL,
-    reserve_priv bytea NOT NULL,
-    exchange_url character varying NOT NULL,
-    payto_uri character varying,
-    CONSTRAINT merchant_tip_reserve_keys_reserve_priv_check CHECK 
((length(reserve_priv) = 32))
-);
-
-
---
--- Name: COLUMN merchant_tip_reserve_keys.payto_uri; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_tip_reserve_keys.payto_uri IS 'payto:// URI 
used to fund the reserve, may be NULL once reserve is funded';
-
-
---
--- Name: merchant_tip_reserves; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_tip_reserves (
-    reserve_serial bigint NOT NULL,
-    reserve_pub bytea NOT NULL,
-    merchant_serial bigint NOT NULL,
-    creation_time bigint NOT NULL,
-    expiration bigint NOT NULL,
-    merchant_initial_balance_val bigint NOT NULL,
-    merchant_initial_balance_frac integer NOT NULL,
-    exchange_initial_balance_val bigint DEFAULT 0 NOT NULL,
-    exchange_initial_balance_frac integer DEFAULT 0 NOT NULL,
-    tips_committed_val bigint DEFAULT 0 NOT NULL,
-    tips_committed_frac integer DEFAULT 0 NOT NULL,
-    tips_picked_up_val bigint DEFAULT 0 NOT NULL,
-    tips_picked_up_frac integer DEFAULT 0 NOT NULL,
-    CONSTRAINT merchant_tip_reserves_reserve_pub_check CHECK 
((length(reserve_pub) = 32))
-);
-
-
---
--- Name: TABLE merchant_tip_reserves; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.merchant_tip_reserves IS 'private keys of reserves 
that have not been deleted';
-
-
---
--- Name: COLUMN merchant_tip_reserves.expiration; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_tip_reserves.expiration IS 'FIXME: EXCHANGE 
API needs to tell us when reserves close if we are to compute this';
-
-
---
--- Name: COLUMN merchant_tip_reserves.merchant_initial_balance_val; Type: 
COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_tip_reserves.merchant_initial_balance_val IS 
'Set to the initial balance the merchant told us when creating the reserve';
-
-
---
--- Name: COLUMN merchant_tip_reserves.exchange_initial_balance_val; Type: 
COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_tip_reserves.exchange_initial_balance_val IS 
'Set to the initial balance the exchange told us when we queried the reserve 
status';
-
-
---
--- Name: COLUMN merchant_tip_reserves.tips_committed_val; Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_tip_reserves.tips_committed_val IS 'Amount 
of outstanding approved tips that have not been picked up';
-
-
---
--- Name: COLUMN merchant_tip_reserves.tips_picked_up_val; Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_tip_reserves.tips_picked_up_val IS 'Total 
amount tips that have been picked up from this reserve';
-
-
---
--- Name: merchant_tip_reserves_reserve_serial_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.merchant_tip_reserves ALTER COLUMN reserve_serial ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.merchant_tip_reserves_reserve_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: merchant_tips; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_tips (
-    tip_serial bigint NOT NULL,
-    reserve_serial bigint NOT NULL,
-    tip_id bytea NOT NULL,
-    justification character varying NOT NULL,
-    next_url character varying NOT NULL,
-    expiration bigint NOT NULL,
-    amount_val bigint NOT NULL,
-    amount_frac integer NOT NULL,
-    picked_up_val bigint DEFAULT 0 NOT NULL,
-    picked_up_frac integer DEFAULT 0 NOT NULL,
-    was_picked_up boolean DEFAULT false NOT NULL,
-    CONSTRAINT merchant_tips_tip_id_check CHECK ((length(tip_id) = 64))
-);
-
-
---
--- Name: TABLE merchant_tips; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.merchant_tips IS 'tips that have been authorized';
-
-
---
--- Name: COLUMN merchant_tips.reserve_serial; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_tips.reserve_serial IS 'Reserve from which 
this tip is funded';
-
-
---
--- Name: COLUMN merchant_tips.expiration; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_tips.expiration IS 'by when does the client 
have to pick up the tip';
-
-
---
--- Name: COLUMN merchant_tips.amount_val; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_tips.amount_val IS 'total transaction cost 
for all coins including withdraw fees';
-
-
---
--- Name: COLUMN merchant_tips.picked_up_val; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_tips.picked_up_val IS 'Tip amount left to be 
picked up';
-
-
---
--- Name: merchant_tips_tip_serial_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-ALTER TABLE public.merchant_tips ALTER COLUMN tip_serial ADD GENERATED BY 
DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.merchant_tips_tip_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: merchant_transfer_signatures; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_transfer_signatures (
-    credit_serial bigint NOT NULL,
-    signkey_serial bigint NOT NULL,
-    wire_fee_val bigint NOT NULL,
-    wire_fee_frac integer NOT NULL,
-    credit_amount_val bigint NOT NULL,
-    credit_amount_frac integer NOT NULL,
-    execution_time bigint NOT NULL,
-    exchange_sig bytea NOT NULL,
-    CONSTRAINT merchant_transfer_signatures_exchange_sig_check CHECK 
((length(exchange_sig) = 64))
-);
-
-
---
--- Name: TABLE merchant_transfer_signatures; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON TABLE public.merchant_transfer_signatures IS 'table represents the 
main information returned from the /transfer request to the exchange.';
-
-
---
--- Name: COLUMN merchant_transfer_signatures.credit_amount_val; Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_transfer_signatures.credit_amount_val IS 
'actual value of the (aggregated) wire transfer, excluding the wire fee, 
according to the exchange';
-
-
---
--- Name: COLUMN merchant_transfer_signatures.execution_time; Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_transfer_signatures.execution_time IS 
'Execution time as claimed by the exchange, roughly matches time seen by 
merchant';
-
-
---
--- Name: merchant_transfer_to_coin; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_transfer_to_coin (
-    deposit_serial bigint NOT NULL,
-    credit_serial bigint NOT NULL,
-    offset_in_exchange_list bigint NOT NULL,
-    exchange_deposit_value_val bigint NOT NULL,
-    exchange_deposit_value_frac integer NOT NULL,
-    exchange_deposit_fee_val bigint NOT NULL,
-    exchange_deposit_fee_frac integer NOT NULL
-);
-
-
---
--- Name: TABLE merchant_transfer_to_coin; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON TABLE public.merchant_transfer_to_coin IS 'Mapping of (credit) 
transfers to (deposited) coins';
-
-
---
--- Name: COLUMN merchant_transfer_to_coin.exchange_deposit_value_val; Type: 
COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_transfer_to_coin.exchange_deposit_value_val 
IS 'Deposit value as claimed by the exchange, should match our values in 
merchant_deposits minus refunds';
-
-
---
--- Name: COLUMN merchant_transfer_to_coin.exchange_deposit_fee_val; Type: 
COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_transfer_to_coin.exchange_deposit_fee_val IS 
'Deposit value as claimed by the exchange, should match our values in 
merchant_deposits';
-
-
---
--- Name: merchant_transfers; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.merchant_transfers (
-    credit_serial bigint NOT NULL,
-    exchange_url character varying NOT NULL,
-    wtid bytea,
-    credit_amount_val bigint NOT NULL,
-    credit_amount_frac integer NOT NULL,
-    account_serial bigint NOT NULL,
-    verified boolean DEFAULT false NOT NULL,
-    confirmed boolean DEFAULT false NOT NULL,
-    CONSTRAINT merchant_transfers_wtid_check CHECK ((length(wtid) = 32))
-);
-
-
---
--- Name: TABLE merchant_transfers; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.merchant_transfers IS 'table represents the 
information provided by the (trusted) merchant about incoming wire transfers';
-
-
---
--- Name: COLUMN merchant_transfers.credit_amount_val; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.merchant_transfers.credit_amount_val IS 'actual value 
of the (aggregated) wire transfer, excluding the wire fee, according to the 
merchant';
-
-
---
--- Name: COLUMN merchant_transfers.verified; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_transfers.verified IS 'true once we got an 
acceptable response from the exchange for this transfer';
-
-
---
--- Name: COLUMN merchant_transfers.confirmed; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.merchant_transfers.confirmed IS 'true once the 
merchant confirmed that this transfer was received';
-
-
---
--- Name: merchant_transfers_credit_serial_seq; Type: SEQUENCE; Schema: public; 
Owner: -
---
-
-ALTER TABLE public.merchant_transfers ALTER COLUMN credit_serial ADD GENERATED 
BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.merchant_transfers_credit_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: partner_accounts; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.partner_accounts (
-    payto_uri character varying NOT NULL,
-    partner_serial_id bigint,
-    partner_master_sig bytea,
-    last_seen bigint NOT NULL,
-    CONSTRAINT partner_accounts_partner_master_sig_check CHECK 
((length(partner_master_sig) = 64))
-);
-
-
---
--- Name: TABLE partner_accounts; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.partner_accounts IS 'Table with bank accounts of the 
partner exchange. Entries never expire as we need to remember the signature for 
the auditor.';
-
-
---
--- Name: COLUMN partner_accounts.payto_uri; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.partner_accounts.payto_uri IS 'payto URI (RFC 8905) 
with the bank account of the partner exchange.';
-
-
---
--- Name: COLUMN partner_accounts.partner_master_sig; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.partner_accounts.partner_master_sig IS 'Signature of 
purpose TALER_SIGNATURE_MASTER_WIRE_DETAILS by the partner master public key';
-
-
---
--- Name: COLUMN partner_accounts.last_seen; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.partner_accounts.last_seen IS 'Last time we saw this 
account as being active at the partner exchange. Used to select the most recent 
entry, and to detect when we should check again.';
-
-
---
--- Name: partners; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.partners (
-    partner_serial_id bigint NOT NULL,
-    partner_master_pub bytea NOT NULL,
-    start_date bigint NOT NULL,
-    end_date bigint NOT NULL,
-    next_wad bigint DEFAULT 0 NOT NULL,
-    wad_frequency bigint NOT NULL,
-    wad_fee_val bigint NOT NULL,
-    wad_fee_frac integer NOT NULL,
-    master_sig bytea NOT NULL,
-    partner_base_url text NOT NULL,
-    CONSTRAINT partners_master_sig_check CHECK ((length(master_sig) = 64)),
-    CONSTRAINT partners_partner_master_pub_check CHECK 
((length(partner_master_pub) = 32))
-);
-
-
---
--- Name: TABLE partners; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.partners IS 'exchanges we do wad transfers to';
-
-
---
--- Name: COLUMN partners.partner_master_pub; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.partners.partner_master_pub IS 'offline master public 
key of the partner';
-
-
---
--- Name: COLUMN partners.start_date; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.partners.start_date IS 'starting date of the 
partnership';
-
-
---
--- Name: COLUMN partners.end_date; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.partners.end_date IS 'end date of the partnership';
-
-
---
--- Name: COLUMN partners.next_wad; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.partners.next_wad IS 'at what time should we do the 
next wad transfer to this partner (frequently updated); set to forever after 
the end_date';
-
-
---
--- Name: COLUMN partners.wad_frequency; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.partners.wad_frequency IS 'how often do we promise to 
do wad transfers';
-
-
---
--- Name: COLUMN partners.wad_fee_val; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.partners.wad_fee_val IS 'how high is the fee for a 
wallet to be added to a wad to this partner';
-
-
---
--- Name: COLUMN partners.master_sig; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.partners.master_sig IS 'signature of our master 
public key affirming the partnership, of purpose 
TALER_SIGNATURE_MASTER_PARTNER_DETAILS';
-
-
---
--- Name: COLUMN partners.partner_base_url; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.partners.partner_base_url IS 'base URL of the REST 
API for this partner';
-
-
---
--- Name: partners_partner_serial_id_seq; Type: SEQUENCE; Schema: public; 
Owner: -
---
-
-ALTER TABLE public.partners ALTER COLUMN partner_serial_id ADD GENERATED BY 
DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.partners_partner_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: prewire; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.prewire (
-    prewire_uuid bigint NOT NULL,
-    wire_method text NOT NULL,
-    finished boolean DEFAULT false NOT NULL,
-    failed boolean DEFAULT false NOT NULL,
-    buf bytea NOT NULL
-)
-PARTITION BY HASH (prewire_uuid);
-
-
---
--- Name: TABLE prewire; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.prewire IS 'pre-commit data for wire transfers we are 
about to execute';
-
-
---
--- Name: COLUMN prewire.finished; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.prewire.finished IS 'set to TRUE once bank confirmed 
receiving the wire transfer request';
-
-
---
--- Name: COLUMN prewire.failed; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.prewire.failed IS 'set to TRUE if the bank responded 
with a non-transient failure to our transfer request';
-
-
---
--- Name: COLUMN prewire.buf; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.prewire.buf IS 'serialized data to send to the bank 
to execute the wire transfer';
-
-
---
--- Name: prewire_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.prewire_default (
-    prewire_uuid bigint NOT NULL,
-    wire_method text NOT NULL,
-    finished boolean DEFAULT false NOT NULL,
-    failed boolean DEFAULT false NOT NULL,
-    buf bytea NOT NULL
-);
-ALTER TABLE ONLY public.prewire ATTACH PARTITION public.prewire_default FOR 
VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: prewire_prewire_uuid_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-ALTER TABLE public.prewire ALTER COLUMN prewire_uuid ADD GENERATED BY DEFAULT 
AS IDENTITY (
-    SEQUENCE NAME public.prewire_prewire_uuid_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: purse_actions; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.purse_actions (
-    purse_pub bytea NOT NULL,
-    action_date bigint NOT NULL,
-    partner_serial_id bigint,
-    CONSTRAINT purse_actions_purse_pub_check CHECK ((length(purse_pub) = 32))
-);
-
-
---
--- Name: TABLE purse_actions; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.purse_actions IS 'purses awaiting some action by the 
router';
-
-
---
--- Name: COLUMN purse_actions.purse_pub; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON COLUMN public.purse_actions.purse_pub IS 'public (contract) key of 
the purse';
-
-
---
--- Name: COLUMN purse_actions.action_date; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.purse_actions.action_date IS 'when is the purse ready 
for action';
-
-
---
--- Name: COLUMN purse_actions.partner_serial_id; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.purse_actions.partner_serial_id IS 'wad target of an 
outgoing wire transfer, 0 for local, NULL if the purse is unmerged and thus the 
target is still unknown';
-
-
---
--- Name: purse_deposits; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.purse_deposits (
-    purse_deposit_serial_id bigint NOT NULL,
-    partner_serial_id bigint,
-    purse_pub bytea NOT NULL,
-    coin_pub bytea NOT NULL,
-    amount_with_fee_val bigint NOT NULL,
-    amount_with_fee_frac integer NOT NULL,
-    coin_sig bytea NOT NULL,
-    CONSTRAINT purse_deposits_coin_sig_check CHECK ((length(coin_sig) = 64)),
-    CONSTRAINT purse_deposits_purse_pub_check CHECK ((length(purse_pub) = 32))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE purse_deposits; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.purse_deposits IS 'Requests depositing coins into a 
purse';
-
-
---
--- Name: COLUMN purse_deposits.partner_serial_id; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.purse_deposits.partner_serial_id IS 'identifies the 
partner exchange, NULL in case the target purse lives at this exchange';
-
-
---
--- Name: COLUMN purse_deposits.purse_pub; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.purse_deposits.purse_pub IS 'Public key of the purse';
-
-
---
--- Name: COLUMN purse_deposits.coin_pub; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON COLUMN public.purse_deposits.coin_pub IS 'Public key of the coin 
being deposited';
-
-
---
--- Name: COLUMN purse_deposits.amount_with_fee_val; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.purse_deposits.amount_with_fee_val IS 'Total amount 
being deposited';
-
-
---
--- Name: COLUMN purse_deposits.coin_sig; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON COLUMN public.purse_deposits.coin_sig IS 'Signature of the coin 
affirming the deposit into the purse, of type TALER_SIGNATURE_PURSE_DEPOSIT';
-
-
---
--- Name: purse_deposits_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.purse_deposits_default (
-    purse_deposit_serial_id bigint NOT NULL,
-    partner_serial_id bigint,
-    purse_pub bytea NOT NULL,
-    coin_pub bytea NOT NULL,
-    amount_with_fee_val bigint NOT NULL,
-    amount_with_fee_frac integer NOT NULL,
-    coin_sig bytea NOT NULL,
-    CONSTRAINT purse_deposits_coin_sig_check CHECK ((length(coin_sig) = 64)),
-    CONSTRAINT purse_deposits_purse_pub_check CHECK ((length(purse_pub) = 32))
-);
-ALTER TABLE ONLY public.purse_deposits ATTACH PARTITION 
public.purse_deposits_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: purse_deposits_purse_deposit_serial_id_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.purse_deposits ALTER COLUMN purse_deposit_serial_id ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.purse_deposits_purse_deposit_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: purse_merges; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.purse_merges (
-    purse_merge_request_serial_id bigint NOT NULL,
-    partner_serial_id bigint,
-    reserve_pub bytea NOT NULL,
-    purse_pub bytea NOT NULL,
-    merge_sig bytea NOT NULL,
-    merge_timestamp bigint NOT NULL,
-    CONSTRAINT purse_merges_merge_sig_check CHECK ((length(merge_sig) = 64)),
-    CONSTRAINT purse_merges_purse_pub_check CHECK ((length(purse_pub) = 32)),
-    CONSTRAINT purse_merges_reserve_pub_check CHECK ((length(reserve_pub) = 
32))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE purse_merges; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.purse_merges IS 'Merge requests where a purse-owner 
requested merging the purse into the account';
-
-
---
--- Name: COLUMN purse_merges.partner_serial_id; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.purse_merges.partner_serial_id IS 'identifies the 
partner exchange, NULL in case the target reserve lives at this exchange';
-
-
---
--- Name: COLUMN purse_merges.reserve_pub; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.purse_merges.reserve_pub IS 'public key of the target 
reserve';
-
-
---
--- Name: COLUMN purse_merges.purse_pub; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.purse_merges.purse_pub IS 'public key of the purse';
-
-
---
--- Name: COLUMN purse_merges.merge_sig; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.purse_merges.merge_sig IS 'signature by the purse 
private key affirming the merge, of type TALER_SIGNATURE_WALLET_PURSE_MERGE';
-
-
---
--- Name: COLUMN purse_merges.merge_timestamp; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.purse_merges.merge_timestamp IS 'when was the merge 
message signed';
-
-
---
--- Name: purse_merges_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.purse_merges_default (
-    purse_merge_request_serial_id bigint NOT NULL,
-    partner_serial_id bigint,
-    reserve_pub bytea NOT NULL,
-    purse_pub bytea NOT NULL,
-    merge_sig bytea NOT NULL,
-    merge_timestamp bigint NOT NULL,
-    CONSTRAINT purse_merges_merge_sig_check CHECK ((length(merge_sig) = 64)),
-    CONSTRAINT purse_merges_purse_pub_check CHECK ((length(purse_pub) = 32)),
-    CONSTRAINT purse_merges_reserve_pub_check CHECK ((length(reserve_pub) = 
32))
-);
-ALTER TABLE ONLY public.purse_merges ATTACH PARTITION 
public.purse_merges_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: purse_merges_purse_merge_request_serial_id_seq; Type: SEQUENCE; 
Schema: public; Owner: -
---
-
-ALTER TABLE public.purse_merges ALTER COLUMN purse_merge_request_serial_id ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.purse_merges_purse_merge_request_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: purse_refunds; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.purse_refunds (
-    purse_refunds_serial_id bigint NOT NULL,
-    purse_pub bytea NOT NULL,
-    CONSTRAINT purse_refunds_purse_pub_check CHECK ((length(purse_pub) = 32))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE purse_refunds; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.purse_refunds IS 'Purses that were refunded due to 
expiration';
-
-
---
--- Name: COLUMN purse_refunds.purse_pub; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON COLUMN public.purse_refunds.purse_pub IS 'Public key of the purse';
-
-
---
--- Name: purse_refunds_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.purse_refunds_default (
-    purse_refunds_serial_id bigint NOT NULL,
-    purse_pub bytea NOT NULL,
-    CONSTRAINT purse_refunds_purse_pub_check CHECK ((length(purse_pub) = 32))
-);
-ALTER TABLE ONLY public.purse_refunds ATTACH PARTITION 
public.purse_refunds_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: purse_refunds_purse_refunds_serial_id_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.purse_refunds ALTER COLUMN purse_refunds_serial_id ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.purse_refunds_purse_refunds_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: purse_requests; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.purse_requests (
-    purse_requests_serial_id bigint NOT NULL,
-    purse_pub bytea NOT NULL,
-    merge_pub bytea NOT NULL,
-    purse_creation bigint NOT NULL,
-    purse_expiration bigint NOT NULL,
-    h_contract_terms bytea NOT NULL,
-    age_limit integer NOT NULL,
-    flags integer NOT NULL,
-    refunded boolean DEFAULT false NOT NULL,
-    finished boolean DEFAULT false NOT NULL,
-    in_reserve_quota boolean DEFAULT false NOT NULL,
-    amount_with_fee_val bigint NOT NULL,
-    amount_with_fee_frac integer NOT NULL,
-    purse_fee_val bigint NOT NULL,
-    purse_fee_frac integer NOT NULL,
-    balance_val bigint DEFAULT 0 NOT NULL,
-    balance_frac integer DEFAULT 0 NOT NULL,
-    purse_sig bytea NOT NULL,
-    CONSTRAINT purse_requests_h_contract_terms_check CHECK 
((length(h_contract_terms) = 64)),
-    CONSTRAINT purse_requests_merge_pub_check CHECK ((length(merge_pub) = 32)),
-    CONSTRAINT purse_requests_purse_pub_check CHECK ((length(purse_pub) = 32)),
-    CONSTRAINT purse_requests_purse_sig_check CHECK ((length(purse_sig) = 64))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE purse_requests; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.purse_requests IS 'Requests establishing purses, 
associating them with a contract but without a target reserve';
-
-
---
--- Name: COLUMN purse_requests.purse_pub; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.purse_requests.purse_pub IS 'Public key of the purse';
-
-
---
--- Name: COLUMN purse_requests.purse_creation; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.purse_requests.purse_creation IS 'Local time when the 
purse was created. Determines applicable purse fees.';
-
-
---
--- Name: COLUMN purse_requests.purse_expiration; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.purse_requests.purse_expiration IS 'When the purse is 
set to expire';
-
-
---
--- Name: COLUMN purse_requests.h_contract_terms; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.purse_requests.h_contract_terms IS 'Hash of the 
contract the parties are to agree to';
-
-
---
--- Name: COLUMN purse_requests.flags; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.purse_requests.flags IS 'see the enum 
TALER_WalletAccountMergeFlags';
-
-
---
--- Name: COLUMN purse_requests.refunded; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON COLUMN public.purse_requests.refunded IS 'set to TRUE if the purse 
could not be merged and thus all deposited coins were refunded';
-
-
---
--- Name: COLUMN purse_requests.finished; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON COLUMN public.purse_requests.finished IS 'set to TRUE once the 
purse has been merged (into reserve or wad) or the coins were refunded 
(transfer aborted)';
-
-
---
--- Name: COLUMN purse_requests.in_reserve_quota; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.purse_requests.in_reserve_quota IS 'set to TRUE if 
this purse currently counts against the number of free purses in the respective 
reserve';
-
-
---
--- Name: COLUMN purse_requests.amount_with_fee_val; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.purse_requests.amount_with_fee_val IS 'Total amount 
expected to be in the purse';
-
-
---
--- Name: COLUMN purse_requests.purse_fee_val; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.purse_requests.purse_fee_val IS 'Purse fee the client 
agreed to pay from the reserve (accepted by the exchange at the time the purse 
was created). Zero if in_reserve_quota is TRUE.';
-
-
---
--- Name: COLUMN purse_requests.balance_val; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.purse_requests.balance_val IS 'Total amount actually 
in the purse';
-
-
---
--- Name: COLUMN purse_requests.purse_sig; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.purse_requests.purse_sig IS 'Signature of the purse 
affirming the purse parameters, of type TALER_SIGNATURE_PURSE_REQUEST';
-
-
---
--- Name: purse_requests_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.purse_requests_default (
-    purse_requests_serial_id bigint NOT NULL,
-    purse_pub bytea NOT NULL,
-    merge_pub bytea NOT NULL,
-    purse_creation bigint NOT NULL,
-    purse_expiration bigint NOT NULL,
-    h_contract_terms bytea NOT NULL,
-    age_limit integer NOT NULL,
-    flags integer NOT NULL,
-    refunded boolean DEFAULT false NOT NULL,
-    finished boolean DEFAULT false NOT NULL,
-    in_reserve_quota boolean DEFAULT false NOT NULL,
-    amount_with_fee_val bigint NOT NULL,
-    amount_with_fee_frac integer NOT NULL,
-    purse_fee_val bigint NOT NULL,
-    purse_fee_frac integer NOT NULL,
-    balance_val bigint DEFAULT 0 NOT NULL,
-    balance_frac integer DEFAULT 0 NOT NULL,
-    purse_sig bytea NOT NULL,
-    CONSTRAINT purse_requests_h_contract_terms_check CHECK 
((length(h_contract_terms) = 64)),
-    CONSTRAINT purse_requests_merge_pub_check CHECK ((length(merge_pub) = 32)),
-    CONSTRAINT purse_requests_purse_pub_check CHECK ((length(purse_pub) = 32)),
-    CONSTRAINT purse_requests_purse_sig_check CHECK ((length(purse_sig) = 64))
-);
-ALTER TABLE ONLY public.purse_requests ATTACH PARTITION 
public.purse_requests_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: purse_requests_purse_requests_serial_id_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.purse_requests ALTER COLUMN purse_requests_serial_id ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.purse_requests_purse_requests_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: recoup; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.recoup (
-    recoup_uuid bigint NOT NULL,
-    coin_pub bytea NOT NULL,
-    coin_sig bytea NOT NULL,
-    coin_blind bytea NOT NULL,
-    amount_val bigint NOT NULL,
-    amount_frac integer NOT NULL,
-    recoup_timestamp bigint NOT NULL,
-    reserve_out_serial_id bigint NOT NULL,
-    CONSTRAINT recoup_coin_blind_check CHECK ((length(coin_blind) = 32)),
-    CONSTRAINT recoup_coin_pub_check CHECK ((length(coin_pub) = 32)),
-    CONSTRAINT recoup_coin_sig_check CHECK ((length(coin_sig) = 64))
-)
-PARTITION BY HASH (coin_pub);
-
-
---
--- Name: TABLE recoup; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.recoup IS 'Information about recoups that were 
executed between a coin and a reserve. In this type of recoup, the amount is 
credited back to the reserve from which the coin originated.';
-
-
---
--- Name: COLUMN recoup.coin_pub; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.recoup.coin_pub IS 'Coin that is being debited in the 
recoup. Do not CASCADE ON DROP on the coin_pub, as we may keep the coin alive!';
-
-
---
--- Name: COLUMN recoup.coin_sig; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.recoup.coin_sig IS 'Signature by the coin affirming 
the recoup, of type TALER_SIGNATURE_WALLET_COIN_RECOUP';
-
-
---
--- Name: COLUMN recoup.coin_blind; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.recoup.coin_blind IS 'Denomination blinding key used 
when creating the blinded coin from the planchet. Secret revealed during the 
recoup to provide the linkage between the coin and the withdraw operation.';
-
-
---
--- Name: COLUMN recoup.reserve_out_serial_id; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.recoup.reserve_out_serial_id IS 'Identifies the 
h_blind_ev of the recouped coin and provides the link to the credited reserve.';
-
-
---
--- Name: recoup_by_reserve; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.recoup_by_reserve (
-    reserve_out_serial_id bigint NOT NULL,
-    coin_pub bytea,
-    CONSTRAINT recoup_by_reserve_coin_pub_check CHECK ((length(coin_pub) = 32))
-)
-PARTITION BY HASH (reserve_out_serial_id);
-
-
---
--- Name: TABLE recoup_by_reserve; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.recoup_by_reserve IS 'Information in this table is 
strictly redundant with that of recoup, but saved by a different primary key 
for fast lookups by reserve_out_serial_id.';
-
-
---
--- Name: recoup_by_reserve_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.recoup_by_reserve_default (
-    reserve_out_serial_id bigint NOT NULL,
-    coin_pub bytea,
-    CONSTRAINT recoup_by_reserve_coin_pub_check CHECK ((length(coin_pub) = 32))
-);
-ALTER TABLE ONLY public.recoup_by_reserve ATTACH PARTITION 
public.recoup_by_reserve_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: recoup_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.recoup_default (
-    recoup_uuid bigint NOT NULL,
-    coin_pub bytea NOT NULL,
-    coin_sig bytea NOT NULL,
-    coin_blind bytea NOT NULL,
-    amount_val bigint NOT NULL,
-    amount_frac integer NOT NULL,
-    recoup_timestamp bigint NOT NULL,
-    reserve_out_serial_id bigint NOT NULL,
-    CONSTRAINT recoup_coin_blind_check CHECK ((length(coin_blind) = 32)),
-    CONSTRAINT recoup_coin_pub_check CHECK ((length(coin_pub) = 32)),
-    CONSTRAINT recoup_coin_sig_check CHECK ((length(coin_sig) = 64))
-);
-ALTER TABLE ONLY public.recoup ATTACH PARTITION public.recoup_default FOR 
VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: recoup_recoup_uuid_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-ALTER TABLE public.recoup ALTER COLUMN recoup_uuid ADD GENERATED BY DEFAULT AS 
IDENTITY (
-    SEQUENCE NAME public.recoup_recoup_uuid_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: recoup_refresh; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.recoup_refresh (
-    recoup_refresh_uuid bigint NOT NULL,
-    coin_pub bytea NOT NULL,
-    known_coin_id bigint NOT NULL,
-    coin_sig bytea NOT NULL,
-    coin_blind bytea NOT NULL,
-    amount_val bigint NOT NULL,
-    amount_frac integer NOT NULL,
-    recoup_timestamp bigint NOT NULL,
-    rrc_serial bigint NOT NULL,
-    CONSTRAINT recoup_refresh_coin_blind_check CHECK ((length(coin_blind) = 
32)),
-    CONSTRAINT recoup_refresh_coin_pub_check CHECK ((length(coin_pub) = 32)),
-    CONSTRAINT recoup_refresh_coin_sig_check CHECK ((length(coin_sig) = 64))
-)
-PARTITION BY HASH (coin_pub);
-
-
---
--- Name: TABLE recoup_refresh; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.recoup_refresh IS 'Table of coins that originated from 
a refresh operation and that were recouped. Links the (fresh) coin to the 
melted operation (and thus the old coin). A recoup on a refreshed coin credits 
the old coin and debits the fresh coin.';
-
-
---
--- Name: COLUMN recoup_refresh.coin_pub; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON COLUMN public.recoup_refresh.coin_pub IS 'Refreshed coin of a 
revoked denomination where the residual value is credited to the old coin. Do 
not CASCADE ON DROP on the coin_pub, as we may keep the coin alive!';
-
-
---
--- Name: COLUMN recoup_refresh.known_coin_id; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.recoup_refresh.known_coin_id IS 'FIXME: (To be) used 
for garbage collection (in the future)';
-
-
---
--- Name: COLUMN recoup_refresh.coin_blind; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.recoup_refresh.coin_blind IS 'Denomination blinding 
key used when creating the blinded coin from the planchet. Secret revealed 
during the recoup to provide the linkage between the coin and the refresh 
operation.';
-
-
---
--- Name: COLUMN recoup_refresh.rrc_serial; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.recoup_refresh.rrc_serial IS 'Link to the refresh 
operation. Also identifies the h_blind_ev of the recouped coin (as h_coin_ev).';
-
-
---
--- Name: recoup_refresh_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.recoup_refresh_default (
-    recoup_refresh_uuid bigint NOT NULL,
-    coin_pub bytea NOT NULL,
-    known_coin_id bigint NOT NULL,
-    coin_sig bytea NOT NULL,
-    coin_blind bytea NOT NULL,
-    amount_val bigint NOT NULL,
-    amount_frac integer NOT NULL,
-    recoup_timestamp bigint NOT NULL,
-    rrc_serial bigint NOT NULL,
-    CONSTRAINT recoup_refresh_coin_blind_check CHECK ((length(coin_blind) = 
32)),
-    CONSTRAINT recoup_refresh_coin_pub_check CHECK ((length(coin_pub) = 32)),
-    CONSTRAINT recoup_refresh_coin_sig_check CHECK ((length(coin_sig) = 64))
-);
-ALTER TABLE ONLY public.recoup_refresh ATTACH PARTITION 
public.recoup_refresh_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: recoup_refresh_recoup_refresh_uuid_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.recoup_refresh ALTER COLUMN recoup_refresh_uuid ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.recoup_refresh_recoup_refresh_uuid_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: refresh_commitments; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.refresh_commitments (
-    melt_serial_id bigint NOT NULL,
-    rc bytea NOT NULL,
-    old_coin_pub bytea NOT NULL,
-    old_coin_sig bytea NOT NULL,
-    amount_with_fee_val bigint NOT NULL,
-    amount_with_fee_frac integer NOT NULL,
-    noreveal_index integer NOT NULL,
-    CONSTRAINT refresh_commitments_old_coin_sig_check CHECK 
((length(old_coin_sig) = 64)),
-    CONSTRAINT refresh_commitments_rc_check CHECK ((length(rc) = 64))
-)
-PARTITION BY HASH (rc);
-
-
---
--- Name: TABLE refresh_commitments; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.refresh_commitments IS 'Commitments made when melting 
coins and the gamma value chosen by the exchange.';
-
-
---
--- Name: COLUMN refresh_commitments.rc; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.refresh_commitments.rc IS 'Commitment made by the 
client, hash over the various client inputs in the cut-and-choose protocol';
-
-
---
--- Name: COLUMN refresh_commitments.old_coin_pub; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.refresh_commitments.old_coin_pub IS 'Coin being 
melted in the refresh process.';
-
-
---
--- Name: COLUMN refresh_commitments.noreveal_index; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.refresh_commitments.noreveal_index IS 'The gamma 
value chosen by the exchange in the cut-and-choose protocol';
-
-
---
--- Name: refresh_commitments_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.refresh_commitments_default (
-    melt_serial_id bigint NOT NULL,
-    rc bytea NOT NULL,
-    old_coin_pub bytea NOT NULL,
-    old_coin_sig bytea NOT NULL,
-    amount_with_fee_val bigint NOT NULL,
-    amount_with_fee_frac integer NOT NULL,
-    noreveal_index integer NOT NULL,
-    CONSTRAINT refresh_commitments_old_coin_sig_check CHECK 
((length(old_coin_sig) = 64)),
-    CONSTRAINT refresh_commitments_rc_check CHECK ((length(rc) = 64))
-);
-ALTER TABLE ONLY public.refresh_commitments ATTACH PARTITION 
public.refresh_commitments_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: refresh_commitments_melt_serial_id_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.refresh_commitments ALTER COLUMN melt_serial_id ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.refresh_commitments_melt_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: refresh_revealed_coins; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.refresh_revealed_coins (
-    rrc_serial bigint NOT NULL,
-    melt_serial_id bigint NOT NULL,
-    freshcoin_index integer NOT NULL,
-    link_sig bytea NOT NULL,
-    denominations_serial bigint NOT NULL,
-    coin_ev bytea NOT NULL,
-    h_coin_ev bytea NOT NULL,
-    ev_sig bytea NOT NULL,
-    ewv bytea NOT NULL,
-    CONSTRAINT refresh_revealed_coins_h_coin_ev_check CHECK 
((length(h_coin_ev) = 64)),
-    CONSTRAINT refresh_revealed_coins_link_sig_check CHECK ((length(link_sig) 
= 64))
-)
-PARTITION BY HASH (melt_serial_id);
-
-
---
--- Name: TABLE refresh_revealed_coins; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.refresh_revealed_coins IS 'Revelations about the new 
coins that are to be created during a melting session.';
-
-
---
--- Name: COLUMN refresh_revealed_coins.rrc_serial; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.refresh_revealed_coins.rrc_serial IS 'needed for 
exchange-auditor replication logic';
-
-
---
--- Name: COLUMN refresh_revealed_coins.melt_serial_id; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.refresh_revealed_coins.melt_serial_id IS 'Identifies 
the refresh commitment (rc) of the melt operation.';
-
-
---
--- Name: COLUMN refresh_revealed_coins.freshcoin_index; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.refresh_revealed_coins.freshcoin_index IS 'index of 
the fresh coin being created (one melt operation may result in multiple fresh 
coins)';
-
-
---
--- Name: COLUMN refresh_revealed_coins.coin_ev; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.refresh_revealed_coins.coin_ev IS 'envelope of the 
new coin to be signed';
-
-
---
--- Name: COLUMN refresh_revealed_coins.h_coin_ev; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.refresh_revealed_coins.h_coin_ev IS 'hash of the 
envelope of the new coin to be signed (for lookups)';
-
-
---
--- Name: COLUMN refresh_revealed_coins.ev_sig; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.refresh_revealed_coins.ev_sig IS 'exchange signature 
over the envelope';
-
-
---
--- Name: COLUMN refresh_revealed_coins.ewv; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.refresh_revealed_coins.ewv IS 'exchange contributed 
values in the creation of the fresh coin (see /csr)';
-
-
---
--- Name: refresh_revealed_coins_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.refresh_revealed_coins_default (
-    rrc_serial bigint NOT NULL,
-    melt_serial_id bigint NOT NULL,
-    freshcoin_index integer NOT NULL,
-    link_sig bytea NOT NULL,
-    denominations_serial bigint NOT NULL,
-    coin_ev bytea NOT NULL,
-    h_coin_ev bytea NOT NULL,
-    ev_sig bytea NOT NULL,
-    ewv bytea NOT NULL,
-    CONSTRAINT refresh_revealed_coins_h_coin_ev_check CHECK 
((length(h_coin_ev) = 64)),
-    CONSTRAINT refresh_revealed_coins_link_sig_check CHECK ((length(link_sig) 
= 64))
-);
-ALTER TABLE ONLY public.refresh_revealed_coins ATTACH PARTITION 
public.refresh_revealed_coins_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: refresh_revealed_coins_rrc_serial_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.refresh_revealed_coins ALTER COLUMN rrc_serial ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.refresh_revealed_coins_rrc_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: refresh_transfer_keys; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.refresh_transfer_keys (
-    rtc_serial bigint NOT NULL,
-    melt_serial_id bigint NOT NULL,
-    transfer_pub bytea NOT NULL,
-    transfer_privs bytea NOT NULL,
-    CONSTRAINT refresh_transfer_keys_transfer_pub_check CHECK 
((length(transfer_pub) = 32))
-)
-PARTITION BY HASH (melt_serial_id);
-
-
---
--- Name: TABLE refresh_transfer_keys; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.refresh_transfer_keys IS 'Transfer keys of a refresh 
operation (the data revealed to the exchange).';
-
-
---
--- Name: COLUMN refresh_transfer_keys.rtc_serial; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.refresh_transfer_keys.rtc_serial IS 'needed for 
exchange-auditor replication logic';
-
-
---
--- Name: COLUMN refresh_transfer_keys.melt_serial_id; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.refresh_transfer_keys.melt_serial_id IS 'Identifies 
the refresh commitment (rc) of the operation.';
-
-
---
--- Name: COLUMN refresh_transfer_keys.transfer_pub; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.refresh_transfer_keys.transfer_pub IS 'transfer 
public key for the gamma index';
-
-
---
--- Name: COLUMN refresh_transfer_keys.transfer_privs; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.refresh_transfer_keys.transfer_privs IS 'array of 
TALER_CNC_KAPPA - 1 transfer private keys that have been revealed, with the 
gamma entry being skipped';
-
-
---
--- Name: refresh_transfer_keys_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.refresh_transfer_keys_default (
-    rtc_serial bigint NOT NULL,
-    melt_serial_id bigint NOT NULL,
-    transfer_pub bytea NOT NULL,
-    transfer_privs bytea NOT NULL,
-    CONSTRAINT refresh_transfer_keys_transfer_pub_check CHECK 
((length(transfer_pub) = 32))
-);
-ALTER TABLE ONLY public.refresh_transfer_keys ATTACH PARTITION 
public.refresh_transfer_keys_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: refresh_transfer_keys_rtc_serial_seq; Type: SEQUENCE; Schema: public; 
Owner: -
---
-
-ALTER TABLE public.refresh_transfer_keys ALTER COLUMN rtc_serial ADD GENERATED 
BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.refresh_transfer_keys_rtc_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: refunds; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.refunds (
-    refund_serial_id bigint NOT NULL,
-    coin_pub bytea NOT NULL,
-    deposit_serial_id bigint NOT NULL,
-    merchant_sig bytea NOT NULL,
-    rtransaction_id bigint NOT NULL,
-    amount_with_fee_val bigint NOT NULL,
-    amount_with_fee_frac integer NOT NULL,
-    CONSTRAINT refunds_coin_pub_check CHECK ((length(coin_pub) = 32)),
-    CONSTRAINT refunds_merchant_sig_check CHECK ((length(merchant_sig) = 64))
-)
-PARTITION BY HASH (coin_pub);
-
-
---
--- Name: TABLE refunds; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.refunds IS 'Data on coins that were refunded. 
Technically, refunds always apply against specific deposit operations involving 
a coin. The combination of coin_pub, merchant_pub, h_contract_terms and 
rtransaction_id MUST be unique, and we usually select by coin_pub so that one 
goes first.';
-
-
---
--- Name: COLUMN refunds.deposit_serial_id; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.refunds.deposit_serial_id IS 'Identifies ONLY the 
merchant_pub, h_contract_terms and coin_pub. Multiple deposits may match a 
refund, this only identifies one of them.';
-
-
---
--- Name: COLUMN refunds.rtransaction_id; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON COLUMN public.refunds.rtransaction_id IS 'used by the merchant to 
make refunds unique in case the same coin for the same deposit gets a 
subsequent (higher) refund';
-
-
---
--- Name: refunds_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.refunds_default (
-    refund_serial_id bigint NOT NULL,
-    coin_pub bytea NOT NULL,
-    deposit_serial_id bigint NOT NULL,
-    merchant_sig bytea NOT NULL,
-    rtransaction_id bigint NOT NULL,
-    amount_with_fee_val bigint NOT NULL,
-    amount_with_fee_frac integer NOT NULL,
-    CONSTRAINT refunds_coin_pub_check CHECK ((length(coin_pub) = 32)),
-    CONSTRAINT refunds_merchant_sig_check CHECK ((length(merchant_sig) = 64))
-);
-ALTER TABLE ONLY public.refunds ATTACH PARTITION public.refunds_default FOR 
VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: refunds_refund_serial_id_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-ALTER TABLE public.refunds ALTER COLUMN refund_serial_id ADD GENERATED BY 
DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.refunds_refund_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: reserves; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.reserves (
-    reserve_uuid bigint NOT NULL,
-    reserve_pub bytea NOT NULL,
-    current_balance_val bigint DEFAULT 0 NOT NULL,
-    current_balance_frac integer DEFAULT 0 NOT NULL,
-    purses_active bigint DEFAULT 0 NOT NULL,
-    purses_allowed bigint DEFAULT 0 NOT NULL,
-    kyc_required boolean DEFAULT false NOT NULL,
-    kyc_passed boolean DEFAULT false NOT NULL,
-    max_age integer DEFAULT 120 NOT NULL,
-    expiration_date bigint NOT NULL,
-    gc_date bigint NOT NULL,
-    CONSTRAINT reserves_reserve_pub_check CHECK ((length(reserve_pub) = 32))
-)
-PARTITION BY HASH (reserve_pub);
-
-
---
--- Name: TABLE reserves; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.reserves IS 'Summarizes the balance of a reserve. 
Updated when new funds are added or withdrawn.';
-
-
---
--- Name: COLUMN reserves.reserve_pub; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.reserves.reserve_pub IS 'EdDSA public key of the 
reserve. Knowledge of the private key implies ownership over the balance.';
-
-
---
--- Name: COLUMN reserves.current_balance_val; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.reserves.current_balance_val IS 'Current balance 
remaining with the reserve.';
-
-
---
--- Name: COLUMN reserves.purses_active; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.reserves.purses_active IS 'Number of purses that were 
created by this reserve that are not expired and not fully paid.';
-
-
---
--- Name: COLUMN reserves.purses_allowed; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON COLUMN public.reserves.purses_allowed IS 'Number of purses that 
this reserve is allowed to have active at most.';
-
-
---
--- Name: COLUMN reserves.kyc_required; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.reserves.kyc_required IS 'True if a KYC check must 
have been passed before withdrawing from this reserve. Set to true once a 
reserve received a P2P payment.';
-
-
---
--- Name: COLUMN reserves.kyc_passed; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.reserves.kyc_passed IS 'True once KYC was passed for 
this reserve. The KYC details are then available via the wire_targets table 
under the key of wire_target_h_payto which is to be derived from the 
reserve_pub and the base URL of this exchange.';
-
-
---
--- Name: COLUMN reserves.expiration_date; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.reserves.expiration_date IS 'Used to trigger closing 
of reserves that have not been drained after some time';
-
-
---
--- Name: COLUMN reserves.gc_date; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.reserves.gc_date IS 'Used to forget all information 
about a reserve during garbage collection';
-
-
---
--- Name: reserves_close; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.reserves_close (
-    close_uuid bigint NOT NULL,
-    reserve_pub bytea NOT NULL,
-    execution_date bigint NOT NULL,
-    wtid bytea NOT NULL,
-    wire_target_h_payto bytea,
-    amount_val bigint NOT NULL,
-    amount_frac integer NOT NULL,
-    closing_fee_val bigint NOT NULL,
-    closing_fee_frac integer NOT NULL,
-    CONSTRAINT reserves_close_wire_target_h_payto_check CHECK 
((length(wire_target_h_payto) = 32)),
-    CONSTRAINT reserves_close_wtid_check CHECK ((length(wtid) = 32))
-)
-PARTITION BY HASH (reserve_pub);
-
-
---
--- Name: TABLE reserves_close; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.reserves_close IS 'wire transfers executed by the 
reserve to close reserves';
-
-
---
--- Name: COLUMN reserves_close.wire_target_h_payto; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.reserves_close.wire_target_h_payto IS 'Identifies the 
credited bank account (and KYC status). Note that closing does not depend on 
KYC.';
-
-
---
--- Name: reserves_close_close_uuid_seq; Type: SEQUENCE; Schema: public; Owner: 
-
---
-
-ALTER TABLE public.reserves_close ALTER COLUMN close_uuid ADD GENERATED BY 
DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.reserves_close_close_uuid_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: reserves_close_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.reserves_close_default (
-    close_uuid bigint NOT NULL,
-    reserve_pub bytea NOT NULL,
-    execution_date bigint NOT NULL,
-    wtid bytea NOT NULL,
-    wire_target_h_payto bytea,
-    amount_val bigint NOT NULL,
-    amount_frac integer NOT NULL,
-    closing_fee_val bigint NOT NULL,
-    closing_fee_frac integer NOT NULL,
-    CONSTRAINT reserves_close_wire_target_h_payto_check CHECK 
((length(wire_target_h_payto) = 32)),
-    CONSTRAINT reserves_close_wtid_check CHECK ((length(wtid) = 32))
-);
-ALTER TABLE ONLY public.reserves_close ATTACH PARTITION 
public.reserves_close_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: reserves_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.reserves_default (
-    reserve_uuid bigint NOT NULL,
-    reserve_pub bytea NOT NULL,
-    current_balance_val bigint DEFAULT 0 NOT NULL,
-    current_balance_frac integer DEFAULT 0 NOT NULL,
-    purses_active bigint DEFAULT 0 NOT NULL,
-    purses_allowed bigint DEFAULT 0 NOT NULL,
-    kyc_required boolean DEFAULT false NOT NULL,
-    kyc_passed boolean DEFAULT false NOT NULL,
-    max_age integer DEFAULT 120 NOT NULL,
-    expiration_date bigint NOT NULL,
-    gc_date bigint NOT NULL,
-    CONSTRAINT reserves_reserve_pub_check CHECK ((length(reserve_pub) = 32))
-);
-ALTER TABLE ONLY public.reserves ATTACH PARTITION public.reserves_default FOR 
VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: reserves_in; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.reserves_in (
-    reserve_in_serial_id bigint NOT NULL,
-    reserve_pub bytea NOT NULL,
-    wire_reference bigint NOT NULL,
-    credit_val bigint NOT NULL,
-    credit_frac integer NOT NULL,
-    wire_source_h_payto bytea,
-    exchange_account_section text NOT NULL,
-    execution_date bigint NOT NULL,
-    CONSTRAINT reserves_in_wire_source_h_payto_check CHECK 
((length(wire_source_h_payto) = 32))
-)
-PARTITION BY HASH (reserve_pub);
-
-
---
--- Name: TABLE reserves_in; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.reserves_in IS 'list of transfers of funds into the 
reserves, one per incoming wire transfer';
-
-
---
--- Name: COLUMN reserves_in.reserve_pub; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON COLUMN public.reserves_in.reserve_pub IS 'Public key of the 
reserve. Private key signifies ownership of the remaining balance.';
-
-
---
--- Name: COLUMN reserves_in.credit_val; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.reserves_in.credit_val IS 'Amount that was 
transferred into the reserve';
-
-
---
--- Name: COLUMN reserves_in.wire_source_h_payto; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.reserves_in.wire_source_h_payto IS 'Identifies the 
debited bank account and KYC status';
-
-
---
--- Name: reserves_in_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.reserves_in_default (
-    reserve_in_serial_id bigint NOT NULL,
-    reserve_pub bytea NOT NULL,
-    wire_reference bigint NOT NULL,
-    credit_val bigint NOT NULL,
-    credit_frac integer NOT NULL,
-    wire_source_h_payto bytea,
-    exchange_account_section text NOT NULL,
-    execution_date bigint NOT NULL,
-    CONSTRAINT reserves_in_wire_source_h_payto_check CHECK 
((length(wire_source_h_payto) = 32))
-);
-ALTER TABLE ONLY public.reserves_in ATTACH PARTITION 
public.reserves_in_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: reserves_in_reserve_in_serial_id_seq; Type: SEQUENCE; Schema: public; 
Owner: -
---
-
-ALTER TABLE public.reserves_in ALTER COLUMN reserve_in_serial_id ADD GENERATED 
BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.reserves_in_reserve_in_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: reserves_out; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.reserves_out (
-    reserve_out_serial_id bigint NOT NULL,
-    h_blind_ev bytea,
-    denominations_serial bigint NOT NULL,
-    denom_sig bytea NOT NULL,
-    reserve_uuid bigint NOT NULL,
-    reserve_sig bytea NOT NULL,
-    execution_date bigint NOT NULL,
-    amount_with_fee_val bigint NOT NULL,
-    amount_with_fee_frac integer NOT NULL,
-    CONSTRAINT reserves_out_h_blind_ev_check CHECK ((length(h_blind_ev) = 64)),
-    CONSTRAINT reserves_out_reserve_sig_check CHECK ((length(reserve_sig) = 
64))
-)
-PARTITION BY HASH (h_blind_ev);
-
-
---
--- Name: TABLE reserves_out; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.reserves_out IS 'Withdraw operations performed on 
reserves.';
-
-
---
--- Name: COLUMN reserves_out.h_blind_ev; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON COLUMN public.reserves_out.h_blind_ev IS 'Hash of the blinded coin, 
used as primary key here so that broken clients that use a non-random coin or 
blinding factor fail to withdraw (otherwise they would fail on deposit when the 
coin is not unique there).';
-
-
---
--- Name: COLUMN reserves_out.denominations_serial; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.reserves_out.denominations_serial IS 'We do not 
CASCADE ON DELETE here, we may keep the denomination data alive';
-
-
---
--- Name: reserves_out_by_reserve; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.reserves_out_by_reserve (
-    reserve_uuid bigint NOT NULL,
-    h_blind_ev bytea,
-    CONSTRAINT reserves_out_by_reserve_h_blind_ev_check CHECK 
((length(h_blind_ev) = 64))
-)
-PARTITION BY HASH (reserve_uuid);
-
-
---
--- Name: TABLE reserves_out_by_reserve; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.reserves_out_by_reserve IS 'Information in this table 
is strictly redundant with that of reserves_out, but saved by a different 
primary key for fast lookups by reserve public key/uuid.';
-
-
---
--- Name: reserves_out_by_reserve_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.reserves_out_by_reserve_default (
-    reserve_uuid bigint NOT NULL,
-    h_blind_ev bytea,
-    CONSTRAINT reserves_out_by_reserve_h_blind_ev_check CHECK 
((length(h_blind_ev) = 64))
-);
-ALTER TABLE ONLY public.reserves_out_by_reserve ATTACH PARTITION 
public.reserves_out_by_reserve_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: reserves_out_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.reserves_out_default (
-    reserve_out_serial_id bigint NOT NULL,
-    h_blind_ev bytea,
-    denominations_serial bigint NOT NULL,
-    denom_sig bytea NOT NULL,
-    reserve_uuid bigint NOT NULL,
-    reserve_sig bytea NOT NULL,
-    execution_date bigint NOT NULL,
-    amount_with_fee_val bigint NOT NULL,
-    amount_with_fee_frac integer NOT NULL,
-    CONSTRAINT reserves_out_h_blind_ev_check CHECK ((length(h_blind_ev) = 64)),
-    CONSTRAINT reserves_out_reserve_sig_check CHECK ((length(reserve_sig) = 
64))
-);
-ALTER TABLE ONLY public.reserves_out ATTACH PARTITION 
public.reserves_out_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: reserves_out_reserve_out_serial_id_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.reserves_out ALTER COLUMN reserve_out_serial_id ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.reserves_out_reserve_out_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: reserves_reserve_uuid_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-ALTER TABLE public.reserves ALTER COLUMN reserve_uuid ADD GENERATED BY DEFAULT 
AS IDENTITY (
-    SEQUENCE NAME public.reserves_reserve_uuid_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: revolving_work_shards; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE UNLOGGED TABLE public.revolving_work_shards (
-    shard_serial_id bigint NOT NULL,
-    last_attempt bigint NOT NULL,
-    start_row integer NOT NULL,
-    end_row integer NOT NULL,
-    active boolean DEFAULT false NOT NULL,
-    job_name character varying NOT NULL
-);
-
-
---
--- Name: TABLE revolving_work_shards; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.revolving_work_shards IS 'coordinates work between 
multiple processes working on the same job with partitions that need to be 
repeatedly processed; unlogged because on system crashes the locks represented 
by this table will have to be cleared anyway, typically using 
"taler-exchange-dbinit -s"';
-
-
---
--- Name: COLUMN revolving_work_shards.shard_serial_id; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.revolving_work_shards.shard_serial_id IS 'unique 
serial number identifying the shard';
-
-
---
--- Name: COLUMN revolving_work_shards.last_attempt; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.revolving_work_shards.last_attempt IS 'last time a 
worker attempted to work on the shard';
-
-
---
--- Name: COLUMN revolving_work_shards.start_row; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.revolving_work_shards.start_row IS 'row at which the 
shard scope starts, inclusive';
-
-
---
--- Name: COLUMN revolving_work_shards.end_row; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.revolving_work_shards.end_row IS 'row at which the 
shard scope ends, exclusive';
-
-
---
--- Name: COLUMN revolving_work_shards.active; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.revolving_work_shards.active IS 'set to TRUE when a 
worker is active on the shard';
-
-
---
--- Name: COLUMN revolving_work_shards.job_name; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.revolving_work_shards.job_name IS 'unique name of the 
job the workers on this shard are performing';
-
-
---
--- Name: revolving_work_shards_shard_serial_id_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.revolving_work_shards ALTER COLUMN shard_serial_id ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.revolving_work_shards_shard_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: signkey_revocations; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.signkey_revocations (
-    signkey_revocations_serial_id bigint NOT NULL,
-    esk_serial bigint NOT NULL,
-    master_sig bytea NOT NULL,
-    CONSTRAINT signkey_revocations_master_sig_check CHECK ((length(master_sig) 
= 64))
-);
-
-
---
--- Name: TABLE signkey_revocations; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.signkey_revocations IS 'Table storing which online 
signing keys have been revoked';
-
-
---
--- Name: signkey_revocations_signkey_revocations_serial_id_seq; Type: 
SEQUENCE; Schema: public; Owner: -
---
-
-ALTER TABLE public.signkey_revocations ALTER COLUMN 
signkey_revocations_serial_id ADD GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.signkey_revocations_signkey_revocations_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: wad_in_entries; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.wad_in_entries (
-    wad_in_entry_serial_id bigint NOT NULL,
-    wad_in_serial_id bigint,
-    reserve_pub bytea NOT NULL,
-    purse_pub bytea NOT NULL,
-    h_contract bytea NOT NULL,
-    purse_expiration bigint NOT NULL,
-    merge_timestamp bigint NOT NULL,
-    amount_with_fee_val bigint NOT NULL,
-    amount_with_fee_frac integer NOT NULL,
-    wad_fee_val bigint NOT NULL,
-    wad_fee_frac integer NOT NULL,
-    deposit_fees_val bigint NOT NULL,
-    deposit_fees_frac integer NOT NULL,
-    reserve_sig bytea NOT NULL,
-    purse_sig bytea NOT NULL,
-    CONSTRAINT wad_in_entries_h_contract_check CHECK ((length(h_contract) = 
64)),
-    CONSTRAINT wad_in_entries_purse_pub_check CHECK ((length(purse_pub) = 32)),
-    CONSTRAINT wad_in_entries_purse_sig_check CHECK ((length(purse_sig) = 64)),
-    CONSTRAINT wad_in_entries_reserve_pub_check CHECK ((length(reserve_pub) = 
32)),
-    CONSTRAINT wad_in_entries_reserve_sig_check CHECK ((length(reserve_sig) = 
64))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE wad_in_entries; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.wad_in_entries IS 'list of purses aggregated in a wad 
according to the sending exchange';
-
-
---
--- Name: COLUMN wad_in_entries.wad_in_serial_id; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.wad_in_entries.wad_in_serial_id IS 'wad for which the 
given purse was included in the aggregation';
-
-
---
--- Name: COLUMN wad_in_entries.reserve_pub; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wad_in_entries.reserve_pub IS 'target account of the 
purse (must be at the local exchange)';
-
-
---
--- Name: COLUMN wad_in_entries.purse_pub; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wad_in_entries.purse_pub IS 'public key of the purse 
that was merged';
-
-
---
--- Name: COLUMN wad_in_entries.h_contract; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wad_in_entries.h_contract IS 'hash of the contract 
terms of the purse';
-
-
---
--- Name: COLUMN wad_in_entries.purse_expiration; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.wad_in_entries.purse_expiration IS 'Time when the 
purse was set to expire';
-
-
---
--- Name: COLUMN wad_in_entries.merge_timestamp; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wad_in_entries.merge_timestamp IS 'Time when the 
merge was approved';
-
-
---
--- Name: COLUMN wad_in_entries.amount_with_fee_val; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.wad_in_entries.amount_with_fee_val IS 'Total amount 
in the purse';
-
-
---
--- Name: COLUMN wad_in_entries.wad_fee_val; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wad_in_entries.wad_fee_val IS 'Total wad fees paid by 
the purse';
-
-
---
--- Name: COLUMN wad_in_entries.deposit_fees_val; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.wad_in_entries.deposit_fees_val IS 'Total deposit 
fees paid when depositing coins into the purse';
-
-
---
--- Name: COLUMN wad_in_entries.reserve_sig; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wad_in_entries.reserve_sig IS 'Signature by the 
receiving reserve, of purpose TALER_SIGNATURE_ACCOUNT_MERGE';
-
-
---
--- Name: COLUMN wad_in_entries.purse_sig; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wad_in_entries.purse_sig IS 'Signature by the purse 
of purpose TALER_SIGNATURE_PURSE_MERGE';
-
-
---
--- Name: wad_in_entries_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.wad_in_entries_default (
-    wad_in_entry_serial_id bigint NOT NULL,
-    wad_in_serial_id bigint,
-    reserve_pub bytea NOT NULL,
-    purse_pub bytea NOT NULL,
-    h_contract bytea NOT NULL,
-    purse_expiration bigint NOT NULL,
-    merge_timestamp bigint NOT NULL,
-    amount_with_fee_val bigint NOT NULL,
-    amount_with_fee_frac integer NOT NULL,
-    wad_fee_val bigint NOT NULL,
-    wad_fee_frac integer NOT NULL,
-    deposit_fees_val bigint NOT NULL,
-    deposit_fees_frac integer NOT NULL,
-    reserve_sig bytea NOT NULL,
-    purse_sig bytea NOT NULL,
-    CONSTRAINT wad_in_entries_h_contract_check CHECK ((length(h_contract) = 
64)),
-    CONSTRAINT wad_in_entries_purse_pub_check CHECK ((length(purse_pub) = 32)),
-    CONSTRAINT wad_in_entries_purse_sig_check CHECK ((length(purse_sig) = 64)),
-    CONSTRAINT wad_in_entries_reserve_pub_check CHECK ((length(reserve_pub) = 
32)),
-    CONSTRAINT wad_in_entries_reserve_sig_check CHECK ((length(reserve_sig) = 
64))
-);
-ALTER TABLE ONLY public.wad_in_entries ATTACH PARTITION 
public.wad_in_entries_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: wad_in_entries_wad_in_entry_serial_id_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.wad_in_entries ALTER COLUMN wad_in_entry_serial_id ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.wad_in_entries_wad_in_entry_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: wad_out_entries; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.wad_out_entries (
-    wad_out_entry_serial_id bigint NOT NULL,
-    wad_out_serial_id bigint,
-    reserve_pub bytea NOT NULL,
-    purse_pub bytea NOT NULL,
-    h_contract bytea NOT NULL,
-    purse_expiration bigint NOT NULL,
-    merge_timestamp bigint NOT NULL,
-    amount_with_fee_val bigint NOT NULL,
-    amount_with_fee_frac integer NOT NULL,
-    wad_fee_val bigint NOT NULL,
-    wad_fee_frac integer NOT NULL,
-    deposit_fees_val bigint NOT NULL,
-    deposit_fees_frac integer NOT NULL,
-    reserve_sig bytea NOT NULL,
-    purse_sig bytea NOT NULL,
-    CONSTRAINT wad_out_entries_h_contract_check CHECK ((length(h_contract) = 
64)),
-    CONSTRAINT wad_out_entries_purse_pub_check CHECK ((length(purse_pub) = 
32)),
-    CONSTRAINT wad_out_entries_purse_sig_check CHECK ((length(purse_sig) = 
64)),
-    CONSTRAINT wad_out_entries_reserve_pub_check CHECK ((length(reserve_pub) = 
32)),
-    CONSTRAINT wad_out_entries_reserve_sig_check CHECK ((length(reserve_sig) = 
64))
-)
-PARTITION BY HASH (purse_pub);
-
-
---
--- Name: TABLE wad_out_entries; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.wad_out_entries IS 'Purses combined into a wad';
-
-
---
--- Name: COLUMN wad_out_entries.wad_out_serial_id; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.wad_out_entries.wad_out_serial_id IS 'Wad the purse 
was part of';
-
-
---
--- Name: COLUMN wad_out_entries.reserve_pub; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wad_out_entries.reserve_pub IS 'Target reserve for 
the purse';
-
-
---
--- Name: COLUMN wad_out_entries.purse_pub; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wad_out_entries.purse_pub IS 'Public key of the 
purse';
-
-
---
--- Name: COLUMN wad_out_entries.h_contract; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wad_out_entries.h_contract IS 'Hash of the contract 
associated with the purse';
-
-
---
--- Name: COLUMN wad_out_entries.purse_expiration; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.wad_out_entries.purse_expiration IS 'Time when the 
purse expires';
-
-
---
--- Name: COLUMN wad_out_entries.merge_timestamp; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.wad_out_entries.merge_timestamp IS 'Time when the 
merge was approved';
-
-
---
--- Name: COLUMN wad_out_entries.amount_with_fee_val; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.wad_out_entries.amount_with_fee_val IS 'Total amount 
in the purse';
-
-
---
--- Name: COLUMN wad_out_entries.wad_fee_val; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wad_out_entries.wad_fee_val IS 'Wat fee charged to 
the purse';
-
-
---
--- Name: COLUMN wad_out_entries.deposit_fees_val; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.wad_out_entries.deposit_fees_val IS 'Total deposit 
fees charged to the purse';
-
-
---
--- Name: COLUMN wad_out_entries.reserve_sig; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wad_out_entries.reserve_sig IS 'Signature by the 
receiving reserve, of purpose TALER_SIGNATURE_ACCOUNT_MERGE';
-
-
---
--- Name: COLUMN wad_out_entries.purse_sig; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wad_out_entries.purse_sig IS 'Signature by the purse 
of purpose TALER_SIGNATURE_PURSE_MERGE';
-
-
---
--- Name: wad_out_entries_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.wad_out_entries_default (
-    wad_out_entry_serial_id bigint NOT NULL,
-    wad_out_serial_id bigint,
-    reserve_pub bytea NOT NULL,
-    purse_pub bytea NOT NULL,
-    h_contract bytea NOT NULL,
-    purse_expiration bigint NOT NULL,
-    merge_timestamp bigint NOT NULL,
-    amount_with_fee_val bigint NOT NULL,
-    amount_with_fee_frac integer NOT NULL,
-    wad_fee_val bigint NOT NULL,
-    wad_fee_frac integer NOT NULL,
-    deposit_fees_val bigint NOT NULL,
-    deposit_fees_frac integer NOT NULL,
-    reserve_sig bytea NOT NULL,
-    purse_sig bytea NOT NULL,
-    CONSTRAINT wad_out_entries_h_contract_check CHECK ((length(h_contract) = 
64)),
-    CONSTRAINT wad_out_entries_purse_pub_check CHECK ((length(purse_pub) = 
32)),
-    CONSTRAINT wad_out_entries_purse_sig_check CHECK ((length(purse_sig) = 
64)),
-    CONSTRAINT wad_out_entries_reserve_pub_check CHECK ((length(reserve_pub) = 
32)),
-    CONSTRAINT wad_out_entries_reserve_sig_check CHECK ((length(reserve_sig) = 
64))
-);
-ALTER TABLE ONLY public.wad_out_entries ATTACH PARTITION 
public.wad_out_entries_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: wad_out_entries_wad_out_entry_serial_id_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.wad_out_entries ALTER COLUMN wad_out_entry_serial_id ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.wad_out_entries_wad_out_entry_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: wads_in; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.wads_in (
-    wad_in_serial_id bigint NOT NULL,
-    wad_id bytea NOT NULL,
-    origin_exchange_url text NOT NULL,
-    amount_val bigint NOT NULL,
-    amount_frac integer NOT NULL,
-    arrival_time bigint NOT NULL,
-    CONSTRAINT wads_in_wad_id_check CHECK ((length(wad_id) = 24))
-)
-PARTITION BY HASH (wad_id);
-
-
---
--- Name: TABLE wads_in; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.wads_in IS 'Incoming exchange-to-exchange wad wire 
transfers';
-
-
---
--- Name: COLUMN wads_in.wad_id; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.wads_in.wad_id IS 'Unique identifier of the wad, part 
of the wire transfer subject';
-
-
---
--- Name: COLUMN wads_in.origin_exchange_url; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wads_in.origin_exchange_url IS 'Base URL of the 
originating URL, also part of the wire transfer subject';
-
-
---
--- Name: COLUMN wads_in.amount_val; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.wads_in.amount_val IS 'Actual amount that was 
received by our exchange';
-
-
---
--- Name: COLUMN wads_in.arrival_time; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.wads_in.arrival_time IS 'Time when the wad was 
received';
-
-
---
--- Name: wads_in_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.wads_in_default (
-    wad_in_serial_id bigint NOT NULL,
-    wad_id bytea NOT NULL,
-    origin_exchange_url text NOT NULL,
-    amount_val bigint NOT NULL,
-    amount_frac integer NOT NULL,
-    arrival_time bigint NOT NULL,
-    CONSTRAINT wads_in_wad_id_check CHECK ((length(wad_id) = 24))
-);
-ALTER TABLE ONLY public.wads_in ATTACH PARTITION public.wads_in_default FOR 
VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: wads_in_wad_in_serial_id_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-ALTER TABLE public.wads_in ALTER COLUMN wad_in_serial_id ADD GENERATED BY 
DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.wads_in_wad_in_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: wads_out; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.wads_out (
-    wad_out_serial_id bigint NOT NULL,
-    wad_id bytea NOT NULL,
-    partner_serial_id bigint NOT NULL,
-    amount_val bigint NOT NULL,
-    amount_frac integer NOT NULL,
-    execution_time bigint NOT NULL,
-    CONSTRAINT wads_out_wad_id_check CHECK ((length(wad_id) = 24))
-)
-PARTITION BY HASH (wad_id);
-
-
---
--- Name: TABLE wads_out; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.wads_out IS 'Wire transfers made to another exchange 
to transfer purse funds';
-
-
---
--- Name: COLUMN wads_out.wad_id; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.wads_out.wad_id IS 'Unique identifier of the wad, 
part of the wire transfer subject';
-
-
---
--- Name: COLUMN wads_out.partner_serial_id; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wads_out.partner_serial_id IS 'target exchange of the 
wad';
-
-
---
--- Name: COLUMN wads_out.amount_val; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.wads_out.amount_val IS 'Amount that was wired';
-
-
---
--- Name: COLUMN wads_out.execution_time; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON COLUMN public.wads_out.execution_time IS 'Time when the wire 
transfer was scheduled';
-
-
---
--- Name: wads_out_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.wads_out_default (
-    wad_out_serial_id bigint NOT NULL,
-    wad_id bytea NOT NULL,
-    partner_serial_id bigint NOT NULL,
-    amount_val bigint NOT NULL,
-    amount_frac integer NOT NULL,
-    execution_time bigint NOT NULL,
-    CONSTRAINT wads_out_wad_id_check CHECK ((length(wad_id) = 24))
-);
-ALTER TABLE ONLY public.wads_out ATTACH PARTITION public.wads_out_default FOR 
VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: wads_out_wad_out_serial_id_seq; Type: SEQUENCE; Schema: public; 
Owner: -
---
-
-ALTER TABLE public.wads_out ALTER COLUMN wad_out_serial_id ADD GENERATED BY 
DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.wads_out_wad_out_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: wire_accounts; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.wire_accounts (
-    payto_uri character varying NOT NULL,
-    master_sig bytea,
-    is_active boolean NOT NULL,
-    last_change bigint NOT NULL,
-    CONSTRAINT wire_accounts_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE wire_accounts; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.wire_accounts IS 'Table with current and historic bank 
accounts of the exchange. Entries never expire as we need to remember the 
last_change column indefinitely.';
-
-
---
--- Name: COLUMN wire_accounts.payto_uri; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON COLUMN public.wire_accounts.payto_uri IS 'payto URI (RFC 8905) with 
the bank account of the exchange.';
-
-
---
--- Name: COLUMN wire_accounts.master_sig; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wire_accounts.master_sig IS 'Signature of purpose 
TALER_SIGNATURE_MASTER_WIRE_DETAILS';
-
-
---
--- Name: COLUMN wire_accounts.is_active; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON COLUMN public.wire_accounts.is_active IS 'true if we are currently 
supporting the use of this account.';
-
-
---
--- Name: COLUMN wire_accounts.last_change; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wire_accounts.last_change IS 'Latest time when active 
status changed. Used to detect replays of old messages.';
-
-
---
--- Name: wire_auditor_account_progress; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.wire_auditor_account_progress (
-    master_pub bytea NOT NULL,
-    account_name text NOT NULL,
-    last_wire_reserve_in_serial_id bigint DEFAULT 0 NOT NULL,
-    last_wire_wire_out_serial_id bigint DEFAULT 0 NOT NULL,
-    wire_in_off bigint NOT NULL,
-    wire_out_off bigint NOT NULL
-);
-
-
---
--- Name: TABLE wire_auditor_account_progress; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON TABLE public.wire_auditor_account_progress IS 'information as to 
which transactions the auditor has processed in the exchange database.  Used 
for SELECTing the
- statements to process.  The indices include the last serial ID from the 
respective tables that we have processed. Thus, we need to select those table 
entries that are strictly larger (and process in monotonically increasing 
order).';
-
-
---
--- Name: wire_auditor_progress; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.wire_auditor_progress (
-    master_pub bytea NOT NULL,
-    last_timestamp bigint NOT NULL,
-    last_reserve_close_uuid bigint NOT NULL
-);
-
-
---
--- Name: wire_fee; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.wire_fee (
-    wire_fee_serial bigint NOT NULL,
-    wire_method character varying NOT NULL,
-    start_date bigint NOT NULL,
-    end_date bigint NOT NULL,
-    wire_fee_val bigint NOT NULL,
-    wire_fee_frac integer NOT NULL,
-    closing_fee_val bigint NOT NULL,
-    closing_fee_frac integer NOT NULL,
-    wad_fee_val bigint NOT NULL,
-    wad_fee_frac integer NOT NULL,
-    master_sig bytea NOT NULL,
-    CONSTRAINT wire_fee_master_sig_check CHECK ((length(master_sig) = 64))
-);
-
-
---
--- Name: TABLE wire_fee; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.wire_fee IS 'list of the wire fees of this exchange, 
by date';
-
-
---
--- Name: COLUMN wire_fee.wire_fee_serial; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wire_fee.wire_fee_serial IS 'needed for 
exchange-auditor replication logic';
-
-
---
--- Name: wire_fee_wire_fee_serial_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-ALTER TABLE public.wire_fee ALTER COLUMN wire_fee_serial ADD GENERATED BY 
DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.wire_fee_wire_fee_serial_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: wire_out; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.wire_out (
-    wireout_uuid bigint NOT NULL,
-    execution_date bigint NOT NULL,
-    wtid_raw bytea NOT NULL,
-    wire_target_h_payto bytea,
-    exchange_account_section text NOT NULL,
-    amount_val bigint NOT NULL,
-    amount_frac integer NOT NULL,
-    CONSTRAINT wire_out_wire_target_h_payto_check CHECK 
((length(wire_target_h_payto) = 32)),
-    CONSTRAINT wire_out_wtid_raw_check CHECK ((length(wtid_raw) = 32))
-)
-PARTITION BY HASH (wtid_raw);
-
-
---
--- Name: TABLE wire_out; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.wire_out IS 'wire transfers the exchange has executed';
-
-
---
--- Name: COLUMN wire_out.wire_target_h_payto; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wire_out.wire_target_h_payto IS 'Identifies the 
credited bank account and KYC status';
-
-
---
--- Name: COLUMN wire_out.exchange_account_section; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.wire_out.exchange_account_section IS 'identifies the 
configuration section with the debit account of this payment';
-
-
---
--- Name: wire_out_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.wire_out_default (
-    wireout_uuid bigint NOT NULL,
-    execution_date bigint NOT NULL,
-    wtid_raw bytea NOT NULL,
-    wire_target_h_payto bytea,
-    exchange_account_section text NOT NULL,
-    amount_val bigint NOT NULL,
-    amount_frac integer NOT NULL,
-    CONSTRAINT wire_out_wire_target_h_payto_check CHECK 
((length(wire_target_h_payto) = 32)),
-    CONSTRAINT wire_out_wtid_raw_check CHECK ((length(wtid_raw) = 32))
-);
-ALTER TABLE ONLY public.wire_out ATTACH PARTITION public.wire_out_default FOR 
VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: wire_out_wireout_uuid_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-ALTER TABLE public.wire_out ALTER COLUMN wireout_uuid ADD GENERATED BY DEFAULT 
AS IDENTITY (
-    SEQUENCE NAME public.wire_out_wireout_uuid_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: wire_targets; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.wire_targets (
-    wire_target_serial_id bigint NOT NULL,
-    wire_target_h_payto bytea NOT NULL,
-    payto_uri character varying NOT NULL,
-    kyc_ok boolean DEFAULT false NOT NULL,
-    external_id character varying,
-    CONSTRAINT wire_targets_wire_target_h_payto_check CHECK 
((length(wire_target_h_payto) = 32))
-)
-PARTITION BY HASH (wire_target_h_payto);
-
-
---
--- Name: TABLE wire_targets; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.wire_targets IS 'All senders and recipients of money 
via the exchange';
-
-
---
--- Name: COLUMN wire_targets.wire_target_h_payto; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON COLUMN public.wire_targets.wire_target_h_payto IS 'Unsalted hash of 
payto_uri';
-
-
---
--- Name: COLUMN wire_targets.payto_uri; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.wire_targets.payto_uri IS 'Can be a regular bank 
account, or also be a URI identifying a reserve-account (for P2P payments)';
-
-
---
--- Name: COLUMN wire_targets.kyc_ok; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.wire_targets.kyc_ok IS 'true if the KYC check was 
passed successfully';
-
-
---
--- Name: COLUMN wire_targets.external_id; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.wire_targets.external_id IS 'Name of the user that 
was used for OAuth 2.0-based legitimization';
-
-
---
--- Name: wire_targets_default; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.wire_targets_default (
-    wire_target_serial_id bigint NOT NULL,
-    wire_target_h_payto bytea NOT NULL,
-    payto_uri character varying NOT NULL,
-    kyc_ok boolean DEFAULT false NOT NULL,
-    external_id character varying,
-    CONSTRAINT wire_targets_wire_target_h_payto_check CHECK 
((length(wire_target_h_payto) = 32))
-);
-ALTER TABLE ONLY public.wire_targets ATTACH PARTITION 
public.wire_targets_default FOR VALUES WITH (modulus 1, remainder 0);
-
-
---
--- Name: wire_targets_wire_target_serial_id_seq; Type: SEQUENCE; Schema: 
public; Owner: -
---
-
-ALTER TABLE public.wire_targets ALTER COLUMN wire_target_serial_id ADD 
GENERATED BY DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.wire_targets_wire_target_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: work_shards; Type: TABLE; Schema: public; Owner: -
---
-
-CREATE TABLE public.work_shards (
-    shard_serial_id bigint NOT NULL,
-    last_attempt bigint NOT NULL,
-    start_row bigint NOT NULL,
-    end_row bigint NOT NULL,
-    completed boolean DEFAULT false NOT NULL,
-    job_name character varying NOT NULL
-);
-
-
---
--- Name: TABLE work_shards; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON TABLE public.work_shards IS 'coordinates work between multiple 
processes working on the same job';
-
-
---
--- Name: COLUMN work_shards.shard_serial_id; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.work_shards.shard_serial_id IS 'unique serial number 
identifying the shard';
-
-
---
--- Name: COLUMN work_shards.last_attempt; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON COLUMN public.work_shards.last_attempt IS 'last time a worker 
attempted to work on the shard';
-
-
---
--- Name: COLUMN work_shards.start_row; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.work_shards.start_row IS 'row at which the shard 
scope starts, inclusive';
-
-
---
--- Name: COLUMN work_shards.end_row; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.work_shards.end_row IS 'row at which the shard scope 
ends, exclusive';
-
-
---
--- Name: COLUMN work_shards.completed; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.work_shards.completed IS 'set to TRUE once the shard 
is finished by a worker';
-
-
---
--- Name: COLUMN work_shards.job_name; Type: COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON COLUMN public.work_shards.job_name IS 'unique name of the job the 
workers on this shard are performing';
-
-
---
--- Name: work_shards_shard_serial_id_seq; Type: SEQUENCE; Schema: public; 
Owner: -
---
-
-ALTER TABLE public.work_shards ALTER COLUMN shard_serial_id ADD GENERATED BY 
DEFAULT AS IDENTITY (
-    SEQUENCE NAME public.work_shards_shard_serial_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1
-);
-
-
---
--- Name: app_bankaccount account_no; Type: DEFAULT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.app_bankaccount ALTER COLUMN account_no SET DEFAULT 
nextval('public.app_bankaccount_account_no_seq'::regclass);
-
-
---
--- Name: app_banktransaction id; Type: DEFAULT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.app_banktransaction ALTER COLUMN id SET DEFAULT 
nextval('public.app_banktransaction_id_seq'::regclass);
-
-
---
--- Name: auditor_reserves auditor_reserves_rowid; Type: DEFAULT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_reserves ALTER COLUMN auditor_reserves_rowid 
SET DEFAULT 
nextval('public.auditor_reserves_auditor_reserves_rowid_seq'::regclass);
-
-
---
--- Name: auth_group id; Type: DEFAULT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_group ALTER COLUMN id SET DEFAULT 
nextval('public.auth_group_id_seq'::regclass);
-
-
---
--- Name: auth_group_permissions id; Type: DEFAULT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_group_permissions ALTER COLUMN id SET DEFAULT 
nextval('public.auth_group_permissions_id_seq'::regclass);
-
-
---
--- Name: auth_permission id; Type: DEFAULT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_permission ALTER COLUMN id SET DEFAULT 
nextval('public.auth_permission_id_seq'::regclass);
-
-
---
--- Name: auth_user id; Type: DEFAULT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_user ALTER COLUMN id SET DEFAULT 
nextval('public.auth_user_id_seq'::regclass);
-
-
---
--- Name: auth_user_groups id; Type: DEFAULT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_user_groups ALTER COLUMN id SET DEFAULT 
nextval('public.auth_user_groups_id_seq'::regclass);
-
-
---
--- Name: auth_user_user_permissions id; Type: DEFAULT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_user_user_permissions ALTER COLUMN id SET DEFAULT 
nextval('public.auth_user_user_permissions_id_seq'::regclass);
-
-
---
--- Name: deposit_confirmations serial_id; Type: DEFAULT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.deposit_confirmations ALTER COLUMN serial_id SET 
DEFAULT nextval('public.deposit_confirmations_serial_id_seq'::regclass);
-
-
---
--- Name: django_content_type id; Type: DEFAULT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.django_content_type ALTER COLUMN id SET DEFAULT 
nextval('public.django_content_type_id_seq'::regclass);
-
-
---
--- Name: django_migrations id; Type: DEFAULT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.django_migrations ALTER COLUMN id SET DEFAULT 
nextval('public.django_migrations_id_seq'::regclass);
-
-
---
--- Data for Name: patches; Type: TABLE DATA; Schema: _v; Owner: -
---
-
-COPY _v.patches (patch_name, applied_tsz, applied_by, requires, conflicts) 
FROM stdin;
-exchange-0001  2022-06-19 14:09:15.999773+02   grothoff        {}      {}
-merchant-0001  2022-06-19 14:09:16.903953+02   grothoff        {}      {}
-merchant-0002  2022-06-19 14:09:17.293337+02   grothoff        {}      {}
-auditor-0001   2022-06-19 14:09:17.419085+02   grothoff        {}      {}
-\.
-
-
---
--- Data for Name: account_merges_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.account_merges_default (account_merge_request_serial_id, 
reserve_pub, reserve_sig, purse_pub) FROM stdin;
-\.
-
-
---
--- Data for Name: aggregation_tracking_default; Type: TABLE DATA; Schema: 
public; Owner: -
---
-
-COPY public.aggregation_tracking_default (aggregation_serial_id, 
deposit_serial_id, wtid_raw) FROM stdin;
-\.
-
-
---
--- Data for Name: aggregation_transient_default; Type: TABLE DATA; Schema: 
public; Owner: -
---
-
-COPY public.aggregation_transient_default (amount_val, amount_frac, 
wire_target_h_payto, exchange_account_section, wtid_raw) FROM stdin;
-\.
-
-
---
--- Data for Name: app_bankaccount; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.app_bankaccount (is_public, account_no, balance, user_id) FROM 
stdin;
-t      3       +TESTKUDOS:0    3
-t      4       +TESTKUDOS:0    4
-t      5       +TESTKUDOS:0    5
-t      6       +TESTKUDOS:0    6
-t      7       +TESTKUDOS:0    7
-t      8       +TESTKUDOS:0    8
-t      9       +TESTKUDOS:0    9
-f      10      +TESTKUDOS:0    10
-f      11      +TESTKUDOS:0    11
-t      1       -TESTKUDOS:100  1
-f      12      +TESTKUDOS:92   12
-t      2       +TESTKUDOS:8    2
-\.
-
-
---
--- Data for Name: app_banktransaction; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.app_banktransaction (id, amount, subject, date, cancelled, 
request_uid, credit_account_id, debit_account_id) FROM stdin;
-1      TESTKUDOS:100   Joining bonus   2022-06-19 14:09:27.273418+02   f       
7cba7a12-88ff-4a37-b5af-3cc84c9c17e2    12      1
-2      TESTKUDOS:8     BANA5SS040WY8ZBD4C873D1G91S31EZ49ZG3647TT4GF8EGZPDHG    
2022-06-19 14:09:30.797861+02   f       d6f3182c-5314-4eeb-99a2-ad3c1beaa30f    
2       12
-\.
-
-
---
--- Data for Name: app_talerwithdrawoperation; Type: TABLE DATA; Schema: 
public; Owner: -
---
-
-COPY public.app_talerwithdrawoperation (withdraw_id, amount, selection_done, 
confirmation_done, aborted, selected_reserve_pub, selected_exchange_account_id, 
withdraw_account_id) FROM stdin;
-3a864693-f24f-43f0-acfa-148a4f69d9c1   TESTKUDOS:8     t       t       f       
BANA5SS040WY8ZBD4C873D1G91S31EZ49ZG3647TT4GF8EGZPDHG    2       12
-\.
-
-
---
--- Data for Name: auditor_balance_summary; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.auditor_balance_summary (master_pub, denom_balance_val, 
denom_balance_frac, deposit_fee_balance_val, deposit_fee_balance_frac, 
melt_fee_balance_val, melt_fee_balance_frac, refund_fee_balance_val, 
refund_fee_balance_frac, risk_val, risk_frac, loss_val, loss_frac, 
irregular_recoup_val, irregular_recoup_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_denom_sigs; Type: TABLE DATA; Schema: public; Owner: 
-
---
-
-COPY public.auditor_denom_sigs (auditor_denom_serial, auditor_uuid, 
denominations_serial, auditor_sig) FROM stdin;
-1      1       10      
\\xe1d58cc74ab5af00c931a317004abe22764c42ae5c630cef8653d3d96c77a75d0852de21438b2cabe9680a716e5ab9caf362e2fe14136d13315d2438b769b40a
-2      1       215     
\\x97592d7f2376552627e494c2c4fa2e83b6b339d7b3fe6b3a7a2b41277f1df56f47311fb62c71f6e9cc484f74e08d0e1903e0bf93e1027dfe013c2b17fbbcb50d
-3      1       355     
\\x8b94eb6fa0c7e551bfeb95bf1a19b06f93cc77d66cbb40a4007bfcfb8010cb61d8ac6edcb96113decf3943b789ae066a0088c7bbaff7288b1a47c656f1b6240f
-4      1       395     
\\x51b236d3b2e4868af65f8e4fb5d747eed7b9b0a5cbb6f58d409d5226568ab668ddd3a4e693d3eee737474d9d8fc45c65b778cf0024de9e6a10bb37ceb483020e
-5      1       17      
\\xcc1c22a8f417573a7ca58657275adf17e58ad8aac5ea1622dc2b04bcc4da46645cc45d1f8caa1d0c4816c9765b994ac438c8b61622c5b74d6ce77f76ec350e0f
-6      1       166     
\\xb45282f048f61e1d088daa6695a7424b4d60d5338470f973e99596a57c681361e661543d12c008a01d69175cef8eb3cd2860d923156b576bcedda7902ae1db03
-7      1       131     
\\x0e7e5d724f3260b856ff650a4b20e1243e20ec9f8c5723c8396646e9c1f242a0ce8291da7675963ca50f25cd7e50f794bfec22f5f67a39d778141851844e750b
-8      1       180     
\\x67dc17c067255aa0146977e9b7608a25536d97d10f5e0cf8facbc6ccd4e6531902c3ebac303f89ac683beeb7c1cddc6b430244667e9c9af3b96053a6092a9806
-9      1       234     
\\xda58cf11fef79edaa5d66473a3c721a005258e29bd5476acd5de607d04f38a8a3df0e501c68f364f2fd451a383b11b93d1338cbadb1526fd75281be249eb0e0e
-10     1       272     
\\x7fbf049f568e3891a80912a226a78e3ab57edcf8e771cc3f3fc6075d700c097a99570799432ef81c95948103eff69485b575f3185baf271fcf4cc421beba9907
-11     1       19      
\\xa6db3c839e1c9c2d3affabb05bb3e8584be2402880783eb55baaa6f7c9506b3a162c8585c898250bb5951f40db5514bb665877ae34806241b3d3772ade60650e
-12     1       384     
\\xf9377b7677087786e133d7abd43abc3f8bcc6794a4378e8367410693160f67d907b051df26041acb3387f854d00235c8edfbeddf19c89bcebb34f8767650cd03
-13     1       278     
\\xf10deb8d0ba054d6445a7d27e07b81271d99d0eb1b8570e004040b6a56f4bbfa1b9c8705bca514c3c4d411e94f2ccd3d10467cded46edb0571dd535da1fec70e
-14     1       233     
\\x15aaa37efd6cb226009bca1cea602f7a070ea70ec66bc067331a078b1956298632fd1ee2ef05ee9e11243250c8bfbee607fb45f2a4d8d12c51eb28670619d504
-15     1       241     
\\x1453ad028f2a1029e7ab31f60ab31cc1ee85894245901f238b07daa833977f9a2721a4fcc67cfad63b0c60fa9354c95a3b00db6bc4c74d9ef68233a308c10d0e
-16     1       175     
\\x1950307bb3b0d8ccc5bde73c95cf4c4edce9bd12b4fba4639fb1e828ad2af400965cedefdae32f63cff9e2f71c9e4d27076ca91205b7039976676be605e50c04
-17     1       9       
\\xa3c12032743f0bb93c483274858869533e211cb5513073ba2e4bd86747ca7a8b714197dd472c06566bf46a7bd2a9e6939d7cda6e706e0e5ef961dcc058d85208
-18     1       247     
\\xbaea199d68ee37fed1e96bde4ff03f04d95b7c67c97780dffbb012280ded7d5c2d747586a8e99fc57432c1d3d1aa128d79e8ea2f8c07cd0dfb72d73efc9eef03
-19     1       137     
\\x35b5191a95fed5b9fabb63cd5cdad36690ddb13a510e158905956a7c0981198ac5abd90b967893a0aa71b6b6719953f9461e8a890be0f9dec47734046d9cd60a
-20     1       317     
\\x35ca08288646ca4521e79c24835b0b0995a33f8747e4339f97c8544b143d2292b2462ba86d2dad4dc26fee475488f148b014efc2db54d830e785dd610cc2d20b
-21     1       144     
\\x6054a18978ca63ea7b647b7704faa42ea493da7be3ef34af3c667c1989fbb39146f13a9c848ba5c73a9ce62424ebeba3116e91f99aa843184a04f0f3cac0d007
-22     1       225     
\\x9d375fa26838de6ee26224171837d30be15859e40d116fa50deed47e5290ed62d1ab6fdb7e466314b75fd868ab5668067334ef26d044f3074c57aec24458fa0b
-23     1       357     
\\x5843bd074c7b1df424a8114679d34fc68963a9c13ee3b54df0e50529a4cbb71a9ba9602a04da13a72e5d4ce2c1b51ba73714578b96e6abb4f5f66269d6da580a
-24     1       231     
\\x395a1ad256dd4cfb8a30dcc6af4b04b4083e64464a0beffab50085c7ce82c77d071660c3a0e013ab657b6b0c6e9b5951de200d5f2e2529fc7ce5c80acd5e5b06
-25     1       189     
\\xd9c525eb5c97b6389ae02e6651c963cd6d897a36a0d3a109e57f2ff6d3640526f98d20bc0f48b86645c2708345d0b505c7b0db26e74c0081c3f5728fec71e90f
-26     1       102     
\\x94d173ff1b775b5b94a5e0c4ded3b2b17274619b7eb41c04308253496bdad3ac0d2368e3415ccc2c45932a81f4830c31cec60fc199c57fc69da79c2de9cb440e
-27     1       21      
\\x6bd807418dc0465d184c681f243d1af62bd4109185543c399e2f1e2d51f600b47040d83751285813376814a8de2a4b9e31f65832d31bfd6aa36e48ad6fb9fe05
-28     1       289     
\\xaafd54f58cbf20c783243ce326e9c6960f5339f4addc876b2c04b8b7ac5e90856958436f31d965e68eb89c4ce8ae1ebf64fbd512ae794a66afae2889b8bfd302
-29     1       226     
\\x97f857ab984dc034ec5d9cf189f7b3af2fbc857175ca8182bf5c71d71c55974800c015f58311e5cebe7c9e447fd0df234f6faae399d48677b5c9fbc68b5fdd04
-30     1       89      
\\x311bfc0c19f7b4bbc3b65fc24a485b230af850acce6cf417576cfa379b7215557bdb644fceda32738e797eb557947206a86cd2230e19915ac292c5086fe87103
-31     1       1       
\\x28a964c8a0d92682ccefccee72c6b0bfc3c563b9953903e16bbf4db640ebbcd86daf02cc11c911be575634664eb99530f482b0ea988b4912f2f714d9e0a3e502
-32     1       2       
\\x92f8dd688f9a3947ab4d4898a0f87216a0460db8cb636d027aa759eece7daf1ee4028e38b1913e48949aa5ddbd511a73a59b33e6ea12c109c1dc551c9dea4f0d
-33     1       142     
\\xa8bed11d177a06f68899c96e8d1d810d935f7f7feb1433102f8667ab87210fcfe7287531c5b67b82bb95b69a26dd48afc30f89e13cc5b460e983cc7585def805
-34     1       163     
\\x900f059560670ed137a16449277b619cb66627185cd0ff19c2ec89df06b641878404f1a1eb2e7b1cb0815c101c2882f45ffaec19c9ac1610866377544191470b
-35     1       263     
\\x6f31f0f60e46681d2acc4e683a44369f53bff3420320434b6d995d935a4bdeb7df1cd14601a9c663fa5594e2b483cba19a92964a2457c43fa9e1c06744d73f09
-36     1       68      
\\xa3074e1c2b4d61cfc473317dd70f812736a4fca40a68e47c5022d8986f546a99f27d3cc6e9904792ef5fe932071f382734e1a757697caf383bbb374f10ffd107
-37     1       246     
\\xabf2e8c78185d21294bcbde3d06307a65bb70ac77c210ee7ed0a7a40b7ef1611538221da5202b61a558308984f8b55f426eafa7f68584ea4d091d90cd52bf305
-38     1       80      
\\x79a0bcb7a2aa33e212a4f6dcb5fe99d4f2d8901d18ff24029de13977237ac619c1fabc1d377a95b2bca4ea6c95ba0816957de622911b19da7d1d13272074c50b
-39     1       188     
\\x1d3d2aae703d8e399561d410312e5219ade426497a9023c5cfa4c77f52bbfb59c943851bd0995568ed67db52823669b06ac4eb30b5aaae1de20f1f69a7431b02
-40     1       237     
\\xc8cd7774632eb090b9a829f07c7c7535ee84292dbe0fbad8dea2701113903b2f1a673c4a7abd8bb94c897ac7c81e8ffb248cf5568a60c6c4e19b5461c44c6f0c
-41     1       385     
\\x394c839097331240ab965ea75b68850d754853a4fa02ba2ed1c2809a7a08d238ca9b687bada3d2ffd54f32777cd95a9defa27ce3f9e3fd6407ca2bfdcd287b0d
-42     1       63      
\\x7182d1a377c79463197f31d37caee3e7b85cf90bd77b468dc45666a6b1b4511b08cf40c1651451ba3090f355b8fa14db3ba26850c3077c77f25d65ffbe228d06
-43     1       126     
\\xd6609e33c6b41b7adee721398935828545f4628525100a98b973e20d524c6862d3b61e330cc2c3e0a5e314e02b67d9707646612af372148790a3d66b35066708
-44     1       160     
\\x523ae325e390ee43977460d9cc83086d67f135f4c01c0a73c493725bf8588a57f536af4465f38fd91f8140ab6cc06039624904d622242ee7c719c6c4967b790c
-45     1       342     
\\xb2a5e9d25d2cb29e92c92a6ea1ef8bc51b135bea49d49196e4d3e121db4f47aef39205f799330c8bf564f9f6ac0fd27e7db9d86974aecd78bd4273dedb480d0c
-46     1       413     
\\x7aca3f1e6e7479ad190025d53d591fe334621d2ea558e41ff5718e105789b0b27f3df435054e7dc307d14a62e500ed6dac0fe14db3195ddb6c843f7d48df9505
-47     1       424     
\\x67b82ba6356b136f3a1499a25b9d0681e6e446d623ae57cee6a414d4e965e2ded6520d73034b8a0de006010ce6d42ab3af2d20b563aeecb3deec3cfcf3c5b903
-48     1       242     
\\x4d7a35f7ecec5fa390c1274c34c3f0ed7b806947b5e341ba6d4081af9bdf8b0e12f120f1a10eabc36538a00a00ea9b6323dc4fa5913e39d5e6578104494e390b
-49     1       103     
\\x576e422e3b2c1eeeb069a7a566664d83cb43f157ead3c883816d88ab9078ed3de611899d7688353a8a32d52db731c962aea071504bd890031e6534715342830c
-50     1       117     
\\x0c7b4c90b861791616069f6921f63627e52a162786b80b36a99a7384e09df95f46f12a736d6ae32f0d1349b6861a15bcfcc506fd5c81bb708bdc75ac30d24e08
-51     1       359     
\\x323429a114271c4ac44beeea7cc16c36f9a3d721e34b8324602245e62a4f780c9c7aaaa714e2b15509acf1b1ca504b3852fbc13ab57fdc125aebf800e90f8400
-52     1       170     
\\xa6b38bead301a30cf0f24ef95e947fc80db6cd5cde7ff1fab524c585ec9406f56505c4921201b1f1c090bd7da883aab3e632ae68542790d7a62c74fbeee7f00a
-53     1       29      
\\x65ba4faae7354415140e8dd6d9f4c1511b9c53814b4ec0f3e86cc762d248fb06bc8e9271d1acc2eda4a094e4402edb721b9d198da13c9bcbaedff722a6d98504
-54     1       370     
\\xe7287e3aaa32d9b8addc5c386ed0474e16057be1f6c3e25c82b2ae8287288ae34a149df911f3294d058529f21bba88a03175f5b8de297cded13abbe29e5af00f
-55     1       348     
\\x5b6d9a23e3e4549bd291b66a6b4c932196398bebb1078dc41b5333bba812eaa72498ec830597ce574ca2737b637a0a3786c290e5aad1d4ccfeef36a546421501
-56     1       389     
\\xb1c67fa45b97e53c366be83a6b62f990bdf75483391b591d8e5bb36e2f603d1f212cab4daa42000002e136856f8531ee4aeccc5c742e0d81010b76d67498c702
-57     1       43      
\\xee56c93601df65e73435f2cd51355af8079817a95e3d2b6642e53c202d2f20fbf13d6f3712467d9e948033ffe5dc7679040b8e1b60b76c2fd4bd8de16a5a2d0b
-58     1       123     
\\xc634d13a8bb6f7d5b41ac2705fe3fe8ea40ad557634ce7dda5765485ffeb4a951dd1c9da4873c231cc28d66fbe473da85803234bfa7a95f9bceb8511b2baa00f
-59     1       400     
\\xc7ff961fa1d7cab4c17e803cdacba83c9d8c9add095bad5a223b97b72512ea9c2f61d0f71e0ec6cff0acb823135427319d5a66f07dda741af5e1252d8cbb9d04
-60     1       141     
\\x4a0695f6e6b51977ada90cee9599e8220307844c7124d7bc2a595cadcd1e8eb2f2f81b28214d22559672f9cbaaeb44321b4139e01f4cf7de9e5678a3c187ef08
-61     1       365     
\\x51651b768b4616ea030c01b376b94b8f29d3a6625a54072002d31d9cfd770d3d9a344e8bd3970ce034d626b6800a446ddc877f5634ffeedbdcee76f7420b1a07
-62     1       24      
\\xac0836e01e0fc817591b91a3472cafc5f297edc5d9134e28cf382d4842e414de89a5e8bdc48283efebaed7820b16cc45bbe42b50ad580a9bb997bf9b9458ad08
-63     1       220     
\\xeb349ff388015133490b0ace2730f66e517cb774c3641d6baf9434ad2e6d08cf214148fc3de43939f9eb34c5406507771b3afc0bf1c3d3504daf96de673dd804
-64     1       271     
\\x0a9766aeb831f0bfc335aa72a13bb5ea97865dca98db00ae4a071770f0f29669b0e477fefc2d2757fbced4f9cc422f0a4c5859a85fb1e7b1df9c8a74c271bf0a
-65     1       154     
\\xd212ce988d5116b3aecd77b4c3b75d33046bd7a00c24a26e332d60920bb0d58fbebfc967634a84c9fde00d37a75be5fd865dc40995909fa6cbd53e360fc12a02
-66     1       280     
\\xba63e4cbc8e7c0b4325cd93834edbef6e6a5d29174fa9735b79cab6e602196d5b7c2c58b00a6b350671668da9213e4c865cb888627bf319e8885e26701fcb10a
-67     1       109     
\\xa5ea3b72fe6c9d7637075e794c202e38ccd32f52e7ff1c356a7fe83d83f69521882f40a5dd4b996f9aec42e12582c1f9c159d62fe73e0ecea5c8f2825cd18809
-68     1       20      
\\xae272f2f8df59b2d83445001a94d684a9af5932d60737e7f31fb1f481e3f6790a0503d90ac943493f56d112f55c314aef2ea42bdcdb16cf99308da9145e75a0c
-69     1       196     
\\x102ae48354f79d4a0711a0670938c8ebdc81f01a237e0140eef3c1d7ece1f0a844f534962b29f596c45314d5025769c5bb6c6b54a0817aed922061b13ee2c601
-70     1       203     
\\xc53ae7678ea3d6155ed75885bd7f91eb02b885f8fcfbb57141e1afcaec48a9ff2eb0f220e4f7a0a10f23f08514f1bfb7715e3562ec7ba3fbc2597fd6c114c502
-71     1       221     
\\xfd7d8bc89f222d967399dfcbd8dc4a34c77ceb391c2681cc168d9c5496c8473e0a9f8b01f5351c6b3e4b97fe39796a0d66003feb787f14d20984d6caac620704
-72     1       262     
\\xcc7b8ad0e7f09a1a5dac18c42e3b092d94bd2dc99bb1381f44727d451aadeac3be8ceb44d61ccf8652744680e8478569bc6bf46a5f64db95bb02e6bcd2b4730e
-73     1       200     
\\x3c4ea854aa0706c0f1353a009c42d3939b7d2dbb107f3ec43e195b2611349b673c6bd1d4de984d78f87c0175853310f459fa6d4df741a0da018345ccadad7c0a
-74     1       270     
\\x8940bd24045c81b8cdece19a5b968a25821121f6374d02eef654fa1367d65d24576a719d2f41ce007f80589b3987a4c963e96b2d1d7499546126a6f6c1f4fd03
-75     1       95      
\\x204615b8edec1551967086c6081fff94691f54738ec7fd0b5fdcccbf2b6c8151a8765c339ab59012d7c68380ea52f9a861a4980c4fd3d8b006f24cc532e2f104
-76     1       298     
\\x3d1c8fb27200bf2b1baad7fc7fd406d0de8c5be4881231620a3587ae0ffb511d6d576ca30485115fea4ab9d56306fc520c3a6a69cf0a7e00714328d00611f909
-77     1       401     
\\xb13931d35fadd53cb5d3a5fd78ff9c88225f20b1022034fcab4547a3aed5b33fb61a98ab8f471e5ada0a442631452ae8016b491f4adb8c52aa7fb84506aac506
-78     1       417     
\\xcb4c3915b0d492834742c78b57a5ea3f8c3b94169548b80693367ed2f2be147b8c3aa4b39fbec8d95d5b0fde64f73a23e086f551c4f2a41b6847da7a1901d10e
-79     1       423     
\\xab3d8611a29162e2502f5e7315ba0b960a62a0ea06cc7cb6e4a7075bf8958e448384470a415ad88e29b1333df2d2b491cb02bd2ec780912eee0fa01bc230e009
-80     1       7       
\\x6bdf3955f6f8050d64eed2de847878440c667b478accfda9c2ce089e2748cd11a44895ddef41d8769b518f0644376f3538328c87f37a711431a1aefd8ee6b309
-81     1       381     
\\xc4f470904cf65c364d73812bbab114080de82aa0a1bcbf22e4a4f124a91ef5bb1a367cff8d5beb6c5cc92b98be1c3cd6b04ee09c13ff8c3cc3d032d9fae61c0b
-82     1       259     
\\xd781a4db470e5cd4591aed5beb3b9127fa4239c29bd7baa6610ee486aa51ad88a56f11c9c53502425ddd60265f5a62471a361fdf4cb2234bf1f20d06a28c390d
-83     1       18      
\\x367ce871719bcccb4b23eee679fc4d413d42330c6249a72428a2f8d204d45d60199ac726c212b92d726f859222efd2d2fd896b775bb65a7d19a9fd3951d97d07
-84     1       28      
\\x25e753c04a4261de0da2b780c64bb12198781c4235029ded162fbe4756dde12ef40e2bd63a1ab4d74266dba243f7a7e130dfa3be551c2840793b52a59eb5ab0a
-85     1       105     
\\x983dc501f9b1db845018c87285588733aa829df37815bf3b7b1200aa153ad99609b190175f2d165fc5a76819e8abd63ceffa598c09fc374fe4a254d1d2d9fa05
-86     1       311     
\\xefc12d89021c0c5a850355eb735abf8cba84aab9ef7158c08c60219644bc16505c257cb1168e0d30e92f24eab94a588b25c472f03b7a68ce8b39c1597bc3cc0a
-87     1       205     
\\xcb6c5b6d0d7d7199440c8bdcd930f277c8ea6ccad3d29333588c496f0ce6fa5f5854738307f970ec663be67f70c1ec3e1f53dc69f6a070e4f37524fe7f5d2e05
-88     1       275     
\\x73f21728aa4f49c0084f21709e8f61060e05d2159575e14f3e4c87741728c2d8c127b54b5591cdc9c6935069e765ea6a5dd000c30b69ef28e61ff017c7b08b0b
-89     1       13      
\\x8b0a99cacd7842beede1f57a9eea33789185c6ab25d206c842a89245f07d6ebf5b3b7c825a850aa149edbacb28f6f5e8860e2c340d131e422321fc2f53cd6f0b
-90     1       218     
\\x219d8c9faf9b3dc3cdace6265d2cd87d251d8f38ba0b8455da98ae740e301b47991f77706e3714d17ee8847d2586a764a2663b1bdc3a81524b6e0ed0487bc903
-91     1       239     
\\xdbdef0f092ce0612d274700fe3cb248b1a76c0b2f918438ccc765da51812e10e83205dd9a238c8e016a864a85923ef96c24e3ad9e5d44940eedf4944200b0a01
-92     1       378     
\\xb0ca7b5ca26dd8aa55d4af654f0ff55c5d0831810a8b8a79b7be5ca7275b959d97156bdd7176a6db64563c0e00ee3920457946e789db2b1684a8156186f20902
-93     1       399     
\\x6e6e2c76bd7ce46092296d62d317b1527d7d578e5a47053d37c67c3e1f32b441c0634362babc1fcbf1cacf1c49773bdcf71423e2b45d94937564d32e3a071805
-94     1       151     
\\xd0e9d6cb2e5cb070a9c020ec95d27b832e2156ff44149f1d9dfbdf0445136e7172a69e4a998cc14d147130b19b584038015489b4c3060c03ac34551176750407
-95     1       373     
\\x7410d1f64106aa2ddd1e3ab755705d287b62adf905b8d9d303c9147dc47a589c43387397767d71693dd46f133bc55cfec31f492c738e2585f0093d969fce0100
-96     1       230     
\\x9c1ba772f95f31042bc1261fe4031e7651bea02186a5d30588adaa88fca51c3db3d67311106e90567dc9ff79da7578527e35d069d1ea599cc30edffa2352ac02
-97     1       394     
\\xe9700af05ca116669c41a48eb80605db5320ee1b42edf521b937ca5ed406eca76793dad71a9deb324b5e99ca710b7fa9e4fd06697c965ce3584076f279edba0a
-98     1       382     
\\x57a78b2424f4b6c1283017eb20f5f94cc8416b446802241ed357a803cb8f96d6f8feb87ee68b8f340821d5574122a2d3748f7531d54d6ef911f9bf98c949880e
-99     1       343     
\\xca0dec791b4db5fa9eb7a629389f1af4f4dfd735e0ba108c8837f809b88c30ea2e31d5d4cb6254b5450f44ab384fbc4078615a6eef7dfb3f8b7f99b594ae100e
-100    1       363     
\\xa29bc4c27b3a16bf9d3d9654a15cfa29ab2f420ae3352462678fcbd587876487e0722ec5cf8e154cf8bc28665566c7be0a9886a8caccef6266e3f40b18ff7a00
-101    1       335     
\\x7a2aeffa6518db55f305988bc1cadfddb47e845be2ba17a06f59d16424d667ba5b8b724fed06c77c5ad4a5389e555f8d3bcaa520c5ce72bce9a186b168e18304
-102    1       152     
\\xfdf31417d21fb9e50206fceb69b53e868e1f06e3316d8170dd2b609d084558cfa7a6ac7cc636d9c31148424d36fa3304b64e4e078123c09065e7d04a23e61d0f
-103    1       15      
\\xc842da515f0610560aaadc2333e86ba3ef1d0d799383f531c00485b6590ed61e2899786efe2b2cf60ca4accd4682eb5bba262e18a554fcaffe3d098edac7b004
-104    1       323     
\\x7f4fbbd29cbb3c211fbbb84a8ca3ac6fe74f490569a2d8691d25e0021908bc66d5df20addd3c9cc00f15f304bf4ae9af3a55c4dd32d7622f11f3d230cb42d304
-105    1       58      
\\xa5baa5f71c700c90975b35b215a9d507044cdcb4631269e73d1acce867fb11c0dc2fda80ca209b302c6258166f65bba081a4ce3d4e6617387a99ae27803d8409
-106    1       26      
\\x9e0c83ed465ca8d7f7380e3fb0c0d36415dd09691f926bf7a603e0c007fe497bc7e9b282ce91a122555030756047920d454e228204d2f471f94d6b40ed8bf907
-107    1       133     
\\x6fa2cdb304a4b9a3c8e14495109c6bb9534e7c6fa7e0056a72251894436fe4a94fad6c9f4119ddd71f1c8acdb20e7090b8de955e86a763179c79e46c974a3102
-108    1       186     
\\x362dfb321fbcceb099eed4f16078f84908abb301dc5c290f144b7783b3d99630730c76f812ae29d01cbd431de5dce3b30d2fee4e7f5da8f09576160c52f09604
-109    1       347     
\\x4684138ab6caa57bfba838183a89f4060bb1e017430bd2597f527de11956b5804e626b754b05a5ab91af96bc96f83fb222d25d9dda0425f72e9d9378be4fa306
-110    1       193     
\\xfe53781ec51838b00bec0893f6bcb074b9b65f79ea20a8ae57c6dafc62f340273a1810f77e62fd5998f61165fe626a13f704e63e9be565d321582184a2c2df0e
-111    1       351     
\\x92ffedf542ef13d47d933fec344840b5b0d073b837a1228ea1ea9b998ebe93c6e9973fcf3dc61352d593fbd43ec2d8b2f1504246ed1a916b8e3804595119b106
-112    1       167     
\\x9d46b04921df9a3c59d522449b102a8e9869ab4279a2476f8e789bde1bcd4fd311b0e1e2c5ee21f45ac802e1677a9e9aa5772ee39e22dcbdf99eac94b1eb7b00
-113    1       55      
\\x9acb981fd75338bc53f36390084897539085b3b18e420bc280c7a752f2abb4d10197b0a2af85b0ec3dce8fe45678933f2d29f30d6e81c29420d39392dbdfe60b
-114    1       210     
\\xb46d67682ff725dbbfb61d412e88b87f799085845b16b9af7a5b4331c7d92b577bb74b3144e9e5ebaf7e3974b2efd8eff094aac19cd33ca022d80dfc900b0007
-115    1       11      
\\xba7d0535465b0ce5ddc2e3c046358e0ac6ee9ca83e21df08908aec10394aa0bdcabb848aea8432f6058d78cf0c70594609f0e3e2ac9303da9f11d81f17e6240f
-116    1       315     
\\xc35eccf31a2c2ba7dfbadba40d8e5d70b5e2873f6665b73a59247080bf7595c0212d286de16324907dd239b839cb1a897b13cb9d22355faca62d623fa3a96d03
-117    1       155     
\\x2bdfd8af0346aa3ec5ed25c4bd8d7e5026a80182419d0e98aaa2318a6b445c7c608004b85c040f1f8204a75476452facc8c46b71b296fd85b3a63fac09e1930d
-118    1       158     
\\xbc45bd545205c1c62af5e137168a46b6a0e46f5b8217489e7022ac95f719c11da24dfbdeae8049beaf313596a94c5f811c0f82b0f260da27bbcb9d3d6a91a20e
-119    1       116     
\\x275266fb3d94d8c4cf4ef84e5d5eef4b6a9c8b6885c9d7f8d4f92a214b416a09477dfb2e55d3dc6c19802f4a47a21546f670e2aaab341e628fa8e75267a76303
-120    1       285     
\\x3ae29942eacf6d8e1451cfbede290fa4c260732e4181a7be361f8f12d327b923e57604c36bedab6cbbc2eae0f6bc9ab941b7a6b1773d7f310a72ee22aedf8801
-121    1       118     
\\x94ef84f8a0f00370f25f7a49b6415644d6d4712c02f7b339b8ea639150d1771b5cbadc2be81a21d2c5480c94212b8048ec4c0d59a93c7969a59d639d6f5e5b0e
-122    1       396     
\\x482f181ede6b64766ba8b6214181c0e3df912f4efd06f778c283a200a4f92c45f43d0b5799978e3628453696cea62ed942e271ec64fa22afd202ce9ea997860d
-123    1       398     
\\x0d302191451e6714b960cef88c2e2384066fac81ca0339f5eb10172c98a05a05f79f79983d28d33b8049fe93d7a2ee4ab2c334d4a5dd2b643cf0ee89dcb7fb05
-124    1       253     
\\x8b2ae3143347f83c701ec3255ba42d104e76c02af0375d698769dc1f5c2664b6a0d0ed50711bd21e46776e7435bbc43127398ea2274b9f07f9a07d584456df0f
-125    1       132     
\\x351720735e8947ab1925a70e425fbd26ff14ce7fde87d49420c5d2aa5ea0ababe301982fc49f750a94d5639fd58992afec53c1f7b6f67eab236034acae70cb0f
-126    1       202     
\\x0598dee7dff69eeefc74da9d76843406651e240f0dfd6af645916a7926ac308a5ba22a2134f717182bb513e87827740a0fbdcc2955691d95aa8fb56f3b86500b
-127    1       216     
\\x390ff49a1e1cf8efa0074497ddfddbc0f0c8f036a791aad6351d2f8a93530077c587a159918aa8d569a6024634449f652ba594ae286977a6b8e9f44ef028de09
-128    1       22      
\\xba8de7afa082e359334689d478e6bdffc79242fed09248a81fa7c2c13280e52e76bda3066900500d13f762ab5a64229d27135677ba4529609ed241a4090e3e09
-129    1       316     
\\x88be5c19f302827a63085659c40ac1d61ca00987967d5c0bc4e97c880cfb690bb99b7fa90c3dbbe276fa71b3417ac8a753fdd3eedc6d19cfa9ed464c6566e20a
-130    1       107     
\\xb4bc3582f4956e3c6f4cb0d9785c8fa83f8e3ddfc0f475f03ed9f8a940a6962d62041061949f7da96451d49a898456d02a31dbed6827dce789422b2be9b0b404
-131    1       266     
\\x5ade64a1eead9ccf22bb728f39b36d1736d61de2f685ea4f36b1cc54cdccd44621954288fb35ad728c6d15e8da155e5e4d7c629d382f7d4bf9b905e32160c10f
-132    1       287     
\\x16c156918abc50ec2f906f28856287b49f326172c4e8d99ed45de35838bad60686846853da29a09ec84baeca696266fcfd0741ce936666554b85cc8ed994ce06
-133    1       45      
\\xa928f192bdfc47610d415fe461501efbfa6d7adf3110cccb40dd542f35c4ac042769e57d0b80a7eaad0023df2d0ce6bca4c61e3605f9c4c337ec160cf2ab1f02
-134    1       99      
\\xbab61e2868e0cb7b5d367a05725689b8d3e0cdadc7560b96f0b38905e7d0b5dec2afe84c8861e7516888180a4950af2b5bd80bf9561b0c9a7b8858ca90d2130f
-135    1       182     
\\xb2d964ae8feeb92be1152d67f0bb7911dcc3ca4b41e7e3f9ca459addcfdd2fcbb865ef7ad1252976e1df8af2361b95bc7f8207e0ffb31b6fa82e5d41f0d7c706
-136    1       422     
\\xbf71eee54fac8d1cac4ef5e8391b669a5d6a86b1bb3d38abfc50045bcc6ab46826d651b8570864b4c77c09280ef8905ac07ed3c688dea541af12742276682401
-137    1       224     
\\x7c1bff5b64ae2d79d5d0af80afe6001a5ea6f25d00839faa5314bb826e3c30b0909fbfd7c31c170479c1d0f373bb3d44f0cc1a37d46cf3b7eb3465b74ed24003
-138    1       409     
\\x67dcf271d0706722a02fad43f88dc964c60b35ac39d8c2af0e7d1510cfe349de72b8039cc743f9d53620b0e4353198b50ba47bb7185f2bd1922a9d7fe1532104
-139    1       48      
\\x0897ab58a32495747e34a8cab37498d37972f13184c2b66e7ac8c29df8f8dedc1223c9c479aad71319e71791913e57d1f9266a17da319ab15b49c7392ed3a10b
-140    1       334     
\\x118afc758a0c54af2653eca01692ac76cafa5cacc60ad444df3d4bb3cacfcd6b89603e079e01e25f614fe67b2defba39b362c64c2434d4334244dd57097a8b06
-141    1       267     
\\x603070d90a602b479c3e7952cdc33595987403da587d2acc35924f5e662a8fe3f180072c0974ab2b0264fd78fa98a91ca4c3c69f2daa0a70bcff4b970ec25f09
-142    1       108     
\\xb87a6586fb2e80c44d01ee84c3c1e6763863a64c4302b6cc637486d18ac08c15c0476e26db106d32f3e99b4a0385b226f07b166307d857734dcc9f10b75f1f07
-143    1       37      
\\x9272d3b6c6bf3d4177d9bbc87837ff9fe8f72db60dce97cb9835c7592b70441456491b309222209ff8bae867243d31b5311a495c4d80cdcf3323e4f2b5da6b0d
-144    1       288     
\\x421978691f5db0e7aa19f67d2bb0f37d061ad708dd08a3f91403da76ca4be3c412b07de164b3dde4511766a150db924c1242e426640e19d239f49631b8f0fc0c
-145    1       16      
\\x1dd97336ea5bc25c6e7ee924dfa5814ba347e70b94de11681ecf441dc8f6f8b3d296d7ad5efd473d9d8f3bfc067efe46c7f74643e5b26ed325b5ccce05203d06
-146    1       207     
\\x19dcb3c7ede94f69d650d733dc93a52f24bc7c4e4dc2b18b660e0495136e3844a898707cb02e0dc20d73a5526e2c003bd207ef9bbb34fc0f5011fe5c0500dd0d
-147    1       356     
\\xa3e27e946fa9c1bfa4b0cb963651fdbac4e32d736168946578038180eb6f15747b593d8b0b4fdfda81734b47353b4021ef4afdad867634e028011983ab36a70e
-148    1       299     
\\x99e45a124e0524d60c8d7f3a274edaffb9196b6232cc9611b2c2447d5aea2c651fd37606f6cecd4dd4915d9b31d8b4c7963fa0400b92d7e07d01a2d88fb49e0e
-149    1       178     
\\x6923f3f30299922897f722a4f8368b9f8faa23386886888e1f63909870028b40782af42469e603e71b8033f670a7d5251b633dffc4df07eafe3cace10f18ea04
-150    1       173     
\\xd88a4495e2b3387366c1a4ff3ee8e248c2855793f70ab34c2fee83522241230f585cd68eea5e37330dba9fd5343aa029ab30c4626bb06f9bb775279d008e9201
-151    1       380     
\\x67c050ee64db75bb282f975e679d99e82c53b6f5d4e17cd71e0e90d90d3e20cc2a52642da85f2b03e465dcdc3616ba64c510b58b1ebbe7fa2758145b08777004
-152    1       367     
\\x8eecc72e4d5805f5dcde98c54ff89a703c1fdfdd9c2e1225c4ba2bd36c5d768c462cfe08992cbbfee5b5b63f48dcfbfe178b8fd0e0ce8d9596a9b51469359806
-153    1       78      
\\xfee3c3bb1d748ab0ca0c66c43b5381cf137f39c714d56f4696e4a5a13f2fc9ccfd740088fb0739dce6ca7dacd3ada54e5a1d242445d136aeaef38cd7d060e102
-154    1       329     
\\x1116899a33784effec7e3566f245961e61d1acfbe6a3eea4bad82405c80941f23f45e474c328d69ad2bbcc3622fa544944dc05ea05f0e6ee05b7cb5f1a6bd70c
-155    1       404     
\\x9a7935c1e3b0433fdde3db3a9c4b26fed97f3537f1e2f20d23cff821d33847a2f0a8500b2986cb720b4dbe21dfef558ede79821369cc9abb3975eb5414e6c906
-156    1       127     
\\xab4067e8bd08ff6835ceffbafe1e476460a7269f87432a6e6b62161c1f8411a888a68d8b4776e66743484d6b5f6cca3f0eb7ea00993dbbe7c64710e4c9ce8f00
-157    1       14      
\\x3ba3e4a0bf6981b00462969073f73be39d8cb3193a2bb6f68da3bcf77da83d4d64f661215787b6a5f9fe3555a4fb5f868864bada1209cd28de50acdb2f655702
-158    1       309     
\\x67e2cf3d747e018a1e9e3e9fd50ee2b3457b90aed0455e334e325dfc1d47175a51afadf233e6859225a7ffd27bd89c6fd36ede100c523180f56cf6e3ce9ea80e
-159    1       52      
\\xf1f3d75d7376f45d8963abd71a1fe4674e0797b9c1385c625684a756a170d627d5bc7962e61a30d9d8863a1dfb80d2b96aa9fac5b946db901e42b7eed4b3490c
-160    1       54      
\\xdb503f2f8cce2d14bc4d013f054abbbb84bc646ba07f1fd33c9446fa23f868cd43539801544251d691706b9c6f730c73f6b84c113ee0b6abf057711ce0258e04
-161    1       238     
\\x60e121ad105ec5c48e714473fefea745d398df7f440a4a0b406dec49767896cb89e0804d781d2e2e32eddc29f0388f3a79e21d22c709bc9c16cad45ba2e0cd0b
-162    1       372     
\\x882b72b6cef3cfbfbcd8ed9e55cc3fa1dc8cf416d90905eb3fef582b6166058b41e968ec8f3ba3f35b417f4b959c631dde54be5135f50c871a5b69daf2db890c
-163    1       326     
\\x5d5f6e230ace292e01d645956531f84a0b8680cd84dd5f26a5fb678d9328f28428627f307356f632429dfa7ccdc0066c628cd39b861b7d71cae0ec9e10700c04
-164    1       284     
\\xa785c43dae9e1b4b5e7d0afd9d83f92257028cd2aab2cde65283e8b3f5a08b51d2ca7c5aee9408d4f75676b6cff2b35793e9f0936cd1bf6c1868834fd224c109
-165    1       61      
\\xa9a6de95144ce046f50ee11b879ac42763f4998da33793725f77efc50add45749086df735364d699ee64d6d80d6d1a0329a1d9b5778f8dae6eb8d56d5ab7d80c
-166    1       332     
\\x3d2414d269f98ed7c1c6224751cd588ebfd66719224c8ee385f83fa010fb370ff00cbdc035751170e72f2f792cd6fd9d9a9e07e4a1ac277ffdf17a894ec7020d
-167    1       49      
\\xff2659eccb306a322ded9010e1b237bfd87d005b00132f85af9f176f744c6779463e4d0039f2df0d1e9472ac5f0e1ae22cf90d5a0ff432f2ec44fff3736beb07
-168    1       257     
\\xeb46d5c8271c4a3b5a54965578ebf3a787da657e22dee88d00e0e144f23ec76c1e31edc5be61c7a662c970eb787729f1756a386c495888e59a9bceeb789c9a0f
-169    1       312     
\\x8b8c6044abfd8eca13c30e890b677fa2617f39abb85036b3192959fe3135db127364ed3ec35b8db52b1ddc655a8e3218800c805d4688c82192d8aab3c41c6f00
-170    1       92      
\\xaafb536e990e9708db72917e6aa84ab91838a48bbcb6ba3cf0a51be8f8969d82c1dc460096cfa5ab4d860037510faea742660724c7d8d2fc8d27ef36c01b8c0c
-171    1       339     
\\x0b65cdc713ef095926577c38c44c50cc93cd9b44ccc8a772522c8cac3a067ed8f0519442e8fd9de896b07e555ee25a6fca40aef6bc6d7c33db800efeaa576505
-172    1       360     
\\x9337159347c63897efcff57c6f56fdb719f2d9779e490fe606b6810c18bd0d94ebe2c46d59b60a1a14ab0cad4aba390e7f779a9b8dbd15d2353e90f336cc2f02
-173    1       172     
\\x05bb7de3bf079f8e63d4c0b9dcb9260fd79373ba8a3b1cd5dba343800b2aec29e08769154371dfed9d5ce7f42e061ecd7610100588ea97ece4e446448b622503
-174    1       148     
\\x47d11ea1a8f765f6d351da93e5e059b66e7fafca0ae4e6796694d314b31b9f3ff44340a6a3ed95179cf845136bab7def8daf1675e8a042dbe4b989390947ea09
-175    1       82      
\\xb3d23511f1a569be4d279911b8a0dc109a335570a792abeb3589a933644b496096071cb7c461036c62253897778e15ea6223c5b48eec18227e6120ebc7c44207
-176    1       169     
\\x0a6277b4a9a62dfe5207df455c929719e3386a0e54665fc1de90bf9459a6d47e7dd7a23e013dffb8263fad02f5b519d2c7cfe8c1e2e29b8a4058a8f23933cf0a
-177    1       76      
\\xc99e6b5620fd8485e36b792fd72b5a28085969e49ed436ef747dd5783eee599af1c81b579750d3777d34ef09f320658c2b8366ab59d21e15712c4ee2e17d0704
-178    1       223     
\\xad4cf9ad7f52fa2257de5aa75474e56c2f2e66ae4fd92d77a10cdcb2b20657ec443bb8094f7ee1b0d1cfb75788bb88bf1fa999ca86471e7d7c3fafa8d65a130f
-179    1       217     
\\x2bd40fbe3f23505d7482519d4683cbffc6dc6d473a44eed439b321180edbcfc1aaae709bed340bd6d6f09f7dd2f6ee33eb8e55238bfd531d3eb2de5dfaa99109
-180    1       174     
\\x9ff8872a1b4cbcdc6952fbc3edd0d8ea1be12595b4c17a8454f0a32ffea64a69a0df45e6ed7abd25833baddb4840d7bc8e0d5d9387379d1d45f6f39d69f76009
-181    1       4       
\\xf80ee1e0e5f509b73658b4df55a0d117e8392bbf7382073fc6df4f5eaddc11e56855f91ef928c0eeab3bd3616dac28b11d82453dd7fbda407580b1134041ba0f
-182    1       112     
\\xbdab5aa212f6429fc083c1cd662db5953720e6a0856a0d583fc1125c332c3e37ff520fb561eeff53a706abd7f3f5cef2ce23d975fb1cbc9eef7eb28d10d2e203
-183    1       318     
\\x0f930735a8d8fbb312cfe0717997b3363a6f9a4ffd882608017f34bd8f67cdaa28ab705ddc5a2321125405b76c95b359174445ee9469e11c5445b3932d640c01
-184    1       264     
\\xaec8af12e21973d56952b4b4fe573d6f56b0e4de75072d8ed1920dd07638874f35f352dc8646f9a1fee1727c7465f99796ede9063f821b27a5191d495bbf680e
-185    1       101     
\\x67bde5cfd8f9c9cfd611b73cfe7b919d0080d5cabadbcb94444b2e87d1ac441a936f15d7f3fdc57e432532a330e4536948ceae8714ee09a41069c06edeecc802
-186    1       96      
\\x8823c825e376aabf19e9029462a9bef4479d31d08c8b805def9b6e23bf9ed16ff306f63fd1dda3806e27b0a73562f345899e3f64c64d30fa4fa518564e014702
-187    1       212     
\\x992b8d53c8efac293eb92802066d7940725305cc2965e5ee3bebd3d3c582215e81da7714d2965500f60df1a083e2fe36ecfe5a2fe19ce6c898c2569ecd99010a
-188    1       211     
\\x1bf68d4df2ce71d180f871f7015318688cea809efb9f510165b0b2d426f4bfe4892e9bc0b6090f43b04ea01158c204c173487da1f3cba606409eb482ba372a07
-189    1       277     
\\x47fe18d663cd3ebc44fd6d3a44569fe2730874d925cb3a887f12daeae4daed37db1c8e6cca5d0c2bf0889ca068a0ce9d684e6e598f3177a5fce8965bacba7a0d
-190    1       353     
\\xbf0b991b60dc1a833a8a474cd337d58ff7bc7130239d0b5773c668f87e1e2910f9fd626a61f4cb7f499a0a365c11de639c0732944328c985ce1a9e9638809a07
-191    1       308     
\\xaa6bde9c62c1c939b957fd39ca6325146087d9a810b69f2adcd6a72cecba551da5f88da4189b7194199a1904cf7af35b5615e86385cd640782a4d681bdedd10f
-192    1       341     
\\x552f33d33d5bcee498921e311e66294bc3aaa394535e85268f06e39575cf3fd07fc3f54478d13f24037af2af2ee4932ba96b67c11af7c990f8e7aa760c0f9c0e
-193    1       187     
\\xa12bdd525a00e7a7d256683fe4c0ed1939b57789ac2faebbddefd5d9994611ed7cae84a7b8bc4f71a21c4f3edf58361aab1730f8e014c3a47bbe4c8a256bd40d
-194    1       75      
\\xe0963a51a44cb707661d6def06c839f33d1be129104e487e5b405174e5824413585cfb987aa4f6b9d8c5d8564551d451cade910f848344b1a2a6d5a58298b408
-195    1       410     
\\xcf7b73afbd804ee53a136e6e5ab506d4ab087fd8284695ddcfde4cf9ff4d04365e75f000b4aed3443a8d213a151e25e4bf005363b0be30da94c06392b12b6e0b
-196    1       150     
\\xf9e17e9ad22a373be0a0842be93d4af09b73f91fa15af6eb6b21982ed6e73a2adc6dc2966b5036830e2d958cecdaade861d976dab143b03ae4019184db341401
-197    1       136     
\\xf9bba003e528c9801e110ed15f32e8f0d971bc42d9d4953e210cfa37f0c85720296efe37b5a96f6c01263e8abe7a6d232612f228adb2457d3dc305153fdddc0b
-198    1       265     
\\x1c7e7b8d10b7d5439fca94147ed897ed89108d637001ddd74b339e2f965d1bc579c7cb8974f2c8282167e643948b6331fe6fc76e3324e1984ac23f78d3a57407
-199    1       336     
\\x952f353932a822ecadfa3558610f5c711868045b4ef651021995bbaac58a3e53aac4aa65ab709e394b69676ddb8caff39ec3f29871f6e49132194e32e3bcb003
-200    1       198     
\\xb5dcadab72c46a8bd5bae8b5a9c15b3d562947978d3d808ad210299159d634a26fd46ed8e3d5e15cee1e50d08d51fc701ddf42dadb68022504f181c0210b1e09
-201    1       361     
\\x662778d852f1f1a4a938a5c15b4751d4913f6bddf5fde4eefa137e05203e60748f86ad5bc10a5a891bba3e7b2128a33f5f45c8fe0e54d29ad0977c56610a510a
-202    1       313     
\\x52e2c7915576c2df0680647fb0b533cb03e081fc6ed3d5f27825ccc52026ededde569008ee9d82f74933229798fec32ddc09707683579b6627b693209810df00
-203    1       368     
\\x0d9137e2e34ef8fe68ef312ffa5172fab0ebf0bfee8f320f7a3e61fbf20a3dd6497531ffa1c7b5c014a9c9e2774883a835c314c2141b920aea8b8b3a1bca970f
-204    1       268     
\\x230c6062dcc04f8fa9867f78ce7c4ea24f87df227be020fe71866702643bc2d83b007b25fcdfb1eb9d1f0350e801cbb26baa8d2c2ead09cf4e8c116872d06604
-205    1       408     
\\x27513357b80588055edd9abfd6cc984866b04ff0f3ee958154d880f640ff844285d90143ad6bdd3d28917cd4fcb5463d2dc1af10fc8906ece5a374a897478606
-206    1       387     
\\x30ab722fe91b4cbbf7a24a95b8ee7d214ba6a34d1db79fd49081e3762fee267d893a01adc8ff88920c3e32a673830d3429cced5fcaa826621c6f16f85de60b06
-207    1       46      
\\x0c7506c7da071dfaa062d955fc9fc62b401f8a836a4617703851610c4f56aeea80c497a6ac38cda03883cd7e2742edf0550b30264c26b8b654a4496f27491009
-208    1       421     
\\xac42affa6b6853d799aad2a3c0a0d2f6456f5c2380cb5f949df44e6559003356cfa18e6d2b50c5be5759fc458582502cc4bfec6e3f615f91f74e78057e0f7508
-209    1       60      
\\x48c95b561c79c88d4a5ff49498936c6638fe8a00fd95a97c4c69365e258c7dff8c4dce79106958e46ccd006532fc0d1ea59921356bea6f822340a24bbeb0cb05
-210    1       254     
\\x793a563e66cc36af9c8195165b477b794abf012c7f5ba7112d4ad831bf1b473f3c27e853ce316f5f1574b952bae733e42253e67f87721599a332c4bb2d553707
-211    1       304     
\\x27eac405d63e5697c8e6475a25686f48741e5351aca81427158cfb8350bb276a2ff11b10f25d3c3ea254958b95da62f8a5f98cb2c12aa98ac84312b6fea9e207
-212    1       120     
\\x39570e266e043ccb8fb3f23fbde377c27a49e9322c78f8dc6c24d01fdbb48f5d6999ed9d1b393e9e6ad62364b68c88b3dfdf0dc46407f0369e38af9ac9181c05
-213    1       209     
\\x89bdc014ee5ac38112995f30058f470e2d394a7d0990c2226b6cbf30da8d8dd83d591fc9a613d5f7e5653563574977c46f554a5f98f95290a814bd3b37a9ff0e
-214    1       235     
\\xf785a391b496c9ea5eab22d424c437a9e7aa693f2f9e6aa86a3c0f4a2f8b4d8e80a1387e5cfc5c5b1250614d01b772a458135ee88e8288c941cfd1e15ccf2308
-215    1       383     
\\x051952fdd325b6bdd06f020b904f6ef9e3e9ff1777cbc183d2b54ba352bdc704ae322f2f93e21b8476ab48ae5344fbce3d350b0faffc3a2247d34d9f3a40da0c
-216    1       388     
\\x1699b47e5a6d636ab78a8b39c88953d5b2256bda2d547865a34d267f4b2f71cf5bce2cf28db55544003cab525a7acc059f06a4070513bf1326c89af7cd81df08
-217    1       295     
\\x0000835d424342118dd796f25b4f5801771a4331cd88e2bff7aa0e29e861b2b7db1c4c11a9064b2b7bbf4ccc549a8e26a3550627fd572de7baa8715881bf1a0d
-218    1       35      
\\x9026c8ebf7781ff809a4cb9bd52d63d52ba8c08a17bc237fdd287ccba137a0c0db10d9089dc2b3fca8ff663090d13db99ed3ddb4f8c8a979252d02c9f922370e
-219    1       415     
\\xf2254cf98d15e478de544aef983455501046d59ffca7c1dbb60e2eab2815d0b8eb8b682e9dad638eba328749c652752a9fa3cf415b894993f444d209b388b302
-220    1       33      
\\x5bc494c927aa233144ebeaa5f09f46749cd39d8f0cdef8be9abf146edfaa4b25d96a2411fa8aac568de1f66d8f4f4c9b44f6e20e697faf27f4800783a6c54409
-221    1       208     
\\xf09b8561725ad4458d600519810041915772b54cec3ac09ecdf84c3480e75b19bb25676c74200eeac4b895dd6ad8e01cd52ac0f6e48251dd96b208d44a518b04
-222    1       310     
\\x2bc6be92c66d6d4b82f492458d4e3a564dfaaf7c6c0e784ba281ba608856ceaf381dfb738ae23724f50b49e58bb8ab01fc36d606ab704909f8b28cd0fae9e70b
-223    1       327     
\\x6bfaac24459ccfb1fcb663b9f876c6780e949b835e177c18b1ab5abf7cfe8c91e55c5e35b655da4e0e4630116febc821f9ecf502817fc4b14703a19c112b680d
-224    1       3       
\\xcbbca9032da27abab469e97417b2edc278db06f9fb34bc058c20a29989091283ec74bddb515e48df8b1d9ef3b25dae96156bd8d1dc006234a2d45f8cfbadfc0d
-225    1       190     
\\x1efc9e60e341ad142b732730d70905049fdde5e2a8ea2a5281a58fc0dc598717649290df2d7d131a108ba25fb4524138fcb117f357bec00130b71262a38cca07
-226    1       168     
\\x08062b8eccf9466658f1d9f852a64a0dc2a93f648da361531f63447d3acad822b0af4cc29dc50310cc264832941bdba69b17b718a723b7db850d8bd829cc910b
-227    1       252     
\\x82d9b4b4f2452cee62d5a3221d6d3c1e3ac876414d8cd85328fe396fd4b6cb9ce63dbd243a66ecc5b427c9f08ae637c40df478e33a2acc01436f5c74c0819a09
-228    1       296     
\\x14360e8405026d8d3d1992866c891381856b878d546b81eea8928893121af262dd0c9d54f1f8bb94ea1cd1db2e3ab5743de39eb3fc725e624c1e69981399980e
-229    1       236     
\\x565a8cb74786e5c133099cc916fa9cb5cf4e06228d1d371a6a29bced18d7fc63be5b4497f87c02adc9dc0f1d8d6a82802c9755af1021f755d512c2a42633af00
-230    1       371     
\\xd24b0d6d79e2e2d86d0d9d9419aa35952c1b690790a023b0f19fb7a51e5ac99375a587b0e2c5776734be39e73b89c4a0d409d314255e2099a7c9edade6da500c
-231    1       36      
\\xf04fb757f29ef75cd7365a95123e28f1e121a76788cc2247ad29bb32ad1aa85773ab927ff9a5968f501b884f6efb5d9c578c8135870c84593090f21722a8550b
-232    1       192     
\\x275072cd1641a4dc273d1de11873b450713e570433a30b08ba709ac0b7c6a27fcdc921ac056bc3c1329ca1d358eb14de722ba9e4c434d6901bcdd33ca65af408
-233    1       219     
\\xec8d265426e62184a2dd77aa719bb25e66e2ed72ee012bc071a8887ba7a557c6bcaed8c19aaaec3c8622118b579193176c6182eb4db8228eb273f30bba5f1f03
-234    1       31      
\\x4550b8e230b20da0c626775f10aa9439ecdd7855085272ca8e531d6f0e26cc371232e71e89a6122d7a9fd12f8dd4cf105bd4f51023a9ddae1795beb784cda906
-235    1       69      
\\xe401f5aebe48211e3efd4dec70e51927955861a68147dfeb998e9ae3cf3152a4c1474e2601025d456b143b31c21b0e264c0436446eb9e0456727c2d099510003
-236    1       291     
\\xbb8c873411f33ef3e996c7224565483657c546a5ebf1835db34a8d9ceae13f7d1d40dcb6549a22511d01c8ea2c8aeefeaaaa6b5722bdb406349a386280a29107
-237    1       314     
\\x3feedf2ba6bd0bce64d5a3f03d3ff6144d3d40dba6546461b9053b3e9cf282687c6ade069283f588f37ad9f70ce23a64fad8ccd7d2d2dd3f55d9163c3e213803
-238    1       64      
\\x4e2dd2adef3ae8bd723207f6d415a98c7ab631977ac10ed0ebb5e713d7bfdbdf8928b98906103326bbe1eef5febc9a0fcc0d773e9af626e244af0623292efe07
-239    1       62      
\\xc32510a8d5597f9b0101686e2d19c2daf6173403adaa33f6c592953a69c3d121d43133f9a214e72c59e6890860a3a939d6349789b544f99dd52720d04d128309
-240    1       12      
\\xa11a0930a806c24bb815a13accb3db6804e539ea9255a771286f12a401097212ed5c14f0c01062e5186d8deb33407fd59d72c5c2e68a40deffc21c507c53610a
-241    1       5       
\\x6b94d4057c8d44796eb91a772984e47e95ab0b20ddea72afe3f45e490d3658f1780ae7c5674318cb68d8fdc20de40e0b01ce71e714b6e659658778e2937a9905
-242    1       251     
\\x72603a573a02b9d5912c4b6a13afdf7758f6f51139d35010bf95cd6ac17f8310e6158ad03e4def871a34a23d1872bcd236f1878052bff7d128e7ecb3d223b60d
-243    1       338     
\\x744500ed4987cd73fbc60eac310a71c82618a9b14f0fa9a703eb1f4c15c3b5eb4d9b6015644082386f078ffc3021fc8183f5e97ecdf4b24bc5510f81ae211502
-244    1       305     
\\xc0f86fc409fa55704f172dff5be712c9be4d41bea23007e94c074552bc3d4e3680e2cdaa5fbb2ca423c31c5e8336a970217ece8b598ed47f4c144788feaeeb00
-245    1       349     
\\x3a433bd2e4c00e2fa5e682bb2ff370055db10f50edbbb230d09a276b31dcd9009a1b90b8591dc534c831c5e6d9d6b716d97fdf4ea4c46095bfa6f8e091c64e01
-246    1       146     
\\x5e614c2587844128b47ff5b85c8ccabfc3ffbb2846fb133d93bd01af068a106152eae1cfbc46b2dd52a58fb70b700fd8bd87551b8d4d867aaed5f5cc3c3e7f02
-247    1       214     
\\x9fe1ffc501881eb028a04cc66ea49f7d3ab57243626075fa1fb3730c357fee8e2642a39cd03e0569c0fadb09a4ef4dc208db24bf6820a654bf2d14136f5e3c06
-248    1       153     
\\x27b55f4c3a2738bac4d391ffde53a89e9c6ea451fc2eca01d8a40c89a7a67733704801fc1a43c0436fd51d4ef492675d6dff0ccfb18e79da48851a0d8d7f0906
-249    1       83      
\\xe98edc4d9bf47c73710d97b74cb746a010c2bb8b2a8b47478f9c1f502c079331c51f7499e8f0b8c5fe25d78c522295cd1ac9aa6170601b39a795440380a44003
-250    1       306     
\\x70720ed857a106eb01479e4ad5212bd6cb3123b05ef5f74220c67cdc5359597fae4646b0f721f61c669a222ea13d149c8ffbfddf07d0e4c0ea4466de503ead07
-251    1       122     
\\x65c65e125b556db72e1fa994988062fa6f5eade46c74af894d95e339908ce4dbc1f2f537e7affef1d20173557097b36e63a8feb1abe8f36ff9709b05ad55cd02
-252    1       50      
\\x1ec1241e7d4d66520043010c1809c31fbeb19d30516f36a422cbfee664dcbe596c32ce27113b3849c4e9c31d42b96dea24314088d061f25d2676a1b8faaa7106
-253    1       222     
\\x19ef470f1eff0a74385e85412b3bf05048ec1717b67bf8fc81fbde83bb5e8173f12f21dd5c976e42f6b7d431a000cd938e55e567adfd60b42d706f6d314a6500
-254    1       104     
\\xb7133a363d43cadff8d5fbb3b679a644d7040ca10b6e63e2399737ece42a45ddc224977275636796eab8d5036215c3359c6b693fa3e95f1b439c39761d0ff906
-255    1       88      
\\xfad91c60df33c8c741e4b9d982d9f3442d261368a42283d229ff6babf9b3d683ee02026ea78de81f409f20f83a04ab3c1ebabd42450c4d91a2e3336daadccf08
-256    1       119     
\\x6fc75d7a2d03b0e55f78fc07fe60c527f731e4f437f5001564f38e0d6a8761bdb52e9d74a766eca296f819f5247b35606ae7dd2ef8ad5f7bb4755b180d74c207
-257    1       161     
\\x957e3bc90b45f652363bdba4c6f10b3ae154674eb9b006ff1ef70ffc423d2966ff3a047181875ec185df3e4ed04fa86c39aed9abe1874aa89acb17749c240b00
-258    1       328     
\\xf4b6f97b006d38e28b55f0b35763b2914fe18b001160e97bac8ffc88f073001665bec661a4a20add2ecb1e90a4a30d7821e8693a605db0e01ee7d3fd929d5203
-259    1       340     
\\x0af9e1a9bc1123e9565bb981b9a4451032bd1a03708f1c8a7b90276715be8881341feb9228e4e311610e2ba21d210f60f19dac57025e0b48410a045b17fe260d
-260    1       346     
\\x75d0c7ebf47cb763b149b4e8330bd2c198a8c0920a3a8df4e75601e22e84de245eca814eb0e821fdeb6d70ce2f1e0d456d02d72896af3507ad0fd4c3fb3be502
-261    1       292     
\\x8e62a4e488f8202e9580e2c38ea22590e5cd43b0b5640e73f25fcc80256d6830c4da9b77534d5796ceba6cfd1b53372e94d6891b6897a081671ade94f5f56b0c
-262    1       85      
\\xf19cd5e7db5e31ca051923eeb98bd5108bde7d4237d5ea32bc567845e7c67482233af317352d756cc4c8862fa1bc855acf7bacfc9530c8c0871f9801cafcff02
-263    1       324     
\\xada00adbf43a320ab8505c8f3deae353d2abf0a0ba198b63555a0603e3cf83a56fd575624e5dbb6cbb781d306f796a4f29fcaff921543d905926647343d65d02
-264    1       32      
\\x8f9957ff19d7434811ff83bdf413fc1afc056a18318b3dcb0bf275cd7cc8af9b466c5daff709bbbf48f17688028421e95a4756f72a8165819d02bedbce3c9903
-265    1       248     
\\x21c2e5b086b43ca6ff5a896808980944190fd6434ed7dd1a8627410779d9866814e59d68f7015150af3fa58c8a2b2f56412c00bc11fabe43d6f642b819138500
-266    1       414     
\\x3a4efdcbc7785b1e889a0c1111dde1b0b985341cc55541df4ae041d53ec558422cb1b8a8800ba87effad72fec183616feeefc6a190aa4292ac6b3f39a1f18803
-267    1       129     
\\x7878caeb9e6d422530c03dca716609ea91a8646f3fb90cd825272d846cfeb8a462ede1241962a6ea400ba47100d03b0e9e384fe66d03ee48847cb916dd3d1401
-268    1       81      
\\x10a158dd368f5857a13326c4c54edeb6d3279c49ca437d72e2db42abd0e2e4e0a253ecd18bc71b5be3f7aa5fd6f5edf2b34074ca7570e9fc9bc405c52dbd860c
-269    1       42      
\\x4171b3600abbc77bcf81c28a81c7b70ce47db02f78e1dd6e73be8b5672e622b719294bebf4b0d3df90c314ef2926871f2cca4dd49c440b3dae24823233baaa03
-270    1       177     
\\x1222d34d995c480f6e3ef15fd04d14b8cd84b52ac0405fe6be92036aeaa588309c41a89d235c5c8233aebf3071098476429a8c7269dc4ca6d499570a5efb9d0b
-271    1       93      
\\x137580eec8403820b920325727e54bc7b7c7ecaf473f9b8bc37184ce6abb1dbf2fb0dc1097a2da5219a6afb8a319e11dc51dd44050d9b8951a972ab258c05703
-272    1       70      
\\x689095cdd7b67164b481b2ab6b91c5617e36e35983541697b4f0d9f2b0a281f6b9a76950945f0e7f52815cec36030e7dd7eb7a0071c985811d0e6c4e981ee504
-273    1       276     
\\x750ed1e23ff5bd198a921ed7c13d1062779343b1c7cd94fa6cfb04ab0c71e1f46bb059b49a7ee5b3f930131d7ba60e22a511c984bc42c50618a33f4c97744903
-274    1       171     
\\x7b45ab732df7401f6abdb00ef14144d384bc70077314001e91e4c4cbbd294fcc550984aa157714d45fe2acad913fb848c33ceec64c4a1441045077ef87b57d0a
-275    1       403     
\\xb3503b340fd81e034f0589c40a50d9f6c2f14aad763124740254c234fa8036d13430e585f170de67ccde41f85222877891afc508eafb22e6ca8dbf79110de90c
-276    1       110     
\\x7bc70fdc276994025c0026fb7eb9e7bd2b21f115873c8d80583a898bb7e148488efe756eb921a906e320c347de978a995de721c5968cafc6de22d84945f98503
-277    1       369     
\\x27e6104a808d3770f0518914e05310e801598fdf070301309cbaf9f9f8e02665030091c1f9eeae0e69ca01be0d33d112f84252e873c79d19405243cd1823b10a
-278    1       86      
\\x544cb9d31599fcfe6964b2d8628e8786ef3cc9c2ff27d0cd273b8f92cc40d09f4929ec666491029e035fc3e23eed215a72da33270cd5bcde75aec1973e07cd02
-279    1       283     
\\xf0d596aa2496345f1448d41c776d958898979794b462ee5818db384b5ec82fe57ba7eb48f591ed6db1704c3244140a47c431bd3a9edeaba6b151b1b9b8fcfc03
-280    1       147     
\\xeadd2b446e38b057a78a02dd76ad273508e4723f3ed638d77901d2582d2245905e9b4c468c5b72bba81d02ed754e4fbf0c820a9b4c764ceeabfd60e2fcec5301
-281    1       344     
\\x6b8b71ccab687b17395c4dff9487e28d3298c80ccc0b9eaaa49ac301083fc117e3720a3277e824f4fced80f1da5ed7d0b8c448fc3bc9abdeae2d17575d6e970f
-282    1       165     
\\xf6728352facc4592244f546f3011c433239e2067a90ff2005ce223512dc3d31025aba237364dea635f554f6c1e28eaa9fb4dce26f470b2d37c55d804f648000f
-283    1       139     
\\xf24465217e16dbb524df0776c5053d978647ac91cecb02f5f4a8ba9d3517fdc613e258aacc0992452dae5ea39a7e49fdcc84f59c79d0dccdec4a92a127e1c10f
-284    1       156     
\\x76e1104ccd428c4d0ae98470ae5e3c2f829a9268b30c60b27ded8d40dc1e4ea000eaa529013b7a97f111696f10fbb4e55afd30892c3d4f00669ae5c9672aa103
-285    1       106     
\\x28b6d64cd0d795beb1aea2b1d4f16d05a059ce1a9c419ecf71d40ad8b51477becaf7e79ba7115ed8ab257020bb415fbdcc59701553cc0f10bbe9804036bf2208
-286    1       138     
\\xfe18a34b7b930797b8a48ab19a74c730e1f4603d65b7dafdfa81a110e14daa80ef24ad6edfa5a9a710933bfcb5819275b8f9ad9cae29c56c9dd1ff4eabb78809
-287    1       30      
\\x9b981ca93fb915497da6a9ddf6e1e803ebb10e6d5b1252c7391d6548ec26fcadb7575de66e560c24ff04556f84d43881a00c95737cc49600508406e83d49a005
-288    1       322     
\\x456f0d29e6130168daa14402ddd7c10777b4877ef7dda6f5657b419e716a0799027db4f00231ae9181112c7026ace4bf75b796dfa0b0785fd5ad7835bfab2d0d
-289    1       79      
\\xd7984915f5fc1854f23e3342ffe1adcb39dea891475cac0d133eb89492c1e4bc0d91ac39c3be64acceb32aa654f5d01f90257a92a942b6fdea3dd62b275a5f08
-290    1       358     
\\x51853ca5e9362996b48b60e192716f61267bd41cc9d750392fe516672c0e347e087f4e440e426358c3b71d1a00c551f974f85d1c3cbf956471676361390bba06
-291    1       53      
\\xe5b7a07fa456222ea0acfa85bfcf271d2bf428137c7142b86bc4a415d564452d3c68f1ea94835a0f3a115fbf7ed1c2137c8155a581dc34f284b707b8d0e2f806
-292    1       269     
\\x442124944b526afb6b76295ef52bfd2a2343a3fc428164695afd3b24cfc20482a643e53b0876044e4b4ea0cb5d6efc7ff0a960ffa2ec12a7715c3c6a3de4dc01
-293    1       352     
\\x63cf067e2df82988c725b8e12a2f4fb5bf8782b5df516dc7b0cbc8f9f4525f60f66915d1c7c247ad5a07e9d54e3e20daadafcf0ac997eff7f3920bc81a5bdf06
-294    1       100     
\\xffb71c392d486bdc68e118e3d852a1c367a491b37130eeb43cce72075d932fe3559aec4e19ba43b1dcbb2de26fd7f4f4a93f5c09f16ccc9a9896b989f74f5409
-295    1       377     
\\xd4101926aafe064d1f7d4c1e7f23033b990ab0b6d2c66f65b4d3ba4ce18eb8aac3cd5891bea3511867a724990f3004dcb1f28aa15d7cdb0fc168140bdc4e6a05
-296    1       281     
\\xea19e458c8b6d4aa5e4686832729f58208ab9905a63a274db292c1a7241b8aff76e6839ddae5b874e952ff992a68ca88e7cb0657607d6defe6b4bb96f3846a0b
-297    1       183     
\\xbf98141ede06fe7c52d131599af67ebb2b1997dcd1ef8aa9d33e69877c85cd6479db806e940e2cc5bbc23ce3b81984613b2c93f99a9de29c1ee21f7e9dd6420a
-298    1       84      
\\x07af707113ea842c272f0b86814aae5bf25b7fcf011d557f3f5fb75be29ba73994e964a0ea75cebee6adfe0eae7dfefd129399ef22dcb4504eee9fe31e3fe80f
-299    1       416     
\\x12c0bd0301ad8be33e12ab139cf5893f7991f82ae75e18c15b309bb0afd989a6bc0c0d413264e62011c6b4787031cb1eb7ace57d730285fa68e7d064e0c45109
-300    1       258     
\\xcc0ac0be321c2d1112d42509880508f0ee86d0b5e41f3a29417e4823b7b55fa3ed80491989bd547ad8e131d1830fd19dbe462baf3f50fd77bfe984b31b12b408
-301    1       227     
\\x5b2a4729245a508c6ee61cc5efde2f1540a71f6024713d8daf2d9605b31434f23f4018508046bee35c943d468b4f31157e611178297336d8fc6128e5cc7e800d
-302    1       392     
\\x88eff9de0b46f273f030ee6a2c3016a8ba32c80f4085c58229e78811b2d6d6535e45d88b3896a54648425dfab96a6f9530819343e3b2556e5c3d56ce7f5b0208
-303    1       321     
\\x5144d2c80a01f80b2091d0a2c27c60e01423072e2fbe3ec92e2cc69fb49921781e825ad51eff184e5c20707a8c69c89796bedda5568908ffcd93f15b11f8f50c
-304    1       386     
\\xd4ee25003d147afd10ac8ee7ebda4e94e10e139e7b806aca4d0f1bcae5a9cd36c8df649f7994c8cae4ea5770f6a348336ec0b3d54e335a25e0cfbf7513a83e06
-305    1       244     
\\xc12210f22756718c34d329a5123e8e8da83642ab95e035f9e0e61ade35a289dafb2c13dc1914be06e3b07792c718a0fa08cc8b1a9f49e3ed46078a7560750b00
-306    1       157     
\\x431b8005009e313e6a1823e60bf9342bae0251a465e9ba32b215b2e011594b04a68405ee09673c6abed572c158a78bf32f13e6c9ade394a5a9745ee9d8627d0f
-307    1       366     
\\x8e7a74aad26ccb12c777e144be555311c27d39822da80f508f3b7b7f323b7e0cf9516611c8219b9e4003efabae7a10dfbb3c68a00ec830c57aae96d46ac44a02
-308    1       307     
\\xad7959781e797e13218e34734ebc2a9819cb7843a57e218d814293e92f75314422cee6e1ef63d7380ea41d7a1e8925ab9407ec33987e6907f7ac25c330cc6d03
-309    1       345     
\\x80ce6282f1c2a5cf4d7bfd3935fa0a9b5999d9c269867770f7b02a585da3297da58f2d3a45efcfe6fac79112984a0d75a4aa644951c2939821f663e223f3c501
-310    1       41      
\\x214d62b874c8b269cffbbac072afae678dd634e1770abcf7d149c747c673a899d29916ef8d831142125c1d13ec900ec40246210ac68ad62aa0dbc700e6372306
-311    1       199     
\\xd1f8c3be2f07be7f5368bb683c07c204f53baa14ce190a0360db947721a0e790980db34d11c8e4a45695de31f1a66feb0125e9de1ab4392ae9f91d0fe2ed7905
-312    1       87      
\\x8b741d8db6da808edfb61215a914ebb8448cb99cbf6782383b73add5673049ac3366b56c0a1837deed00bcde1e2256f89e141326569b4233366bc8e939c01306
-313    1       181     
\\x2ba7ee89f9640c0420dce34aa219d8f479ee6332119a5e88edf82ffa1bffdcb3d515ee450a6ead918ec106e7c2fc7da874bdc34c41800bbb86d0087b21e4f60f
-314    1       130     
\\xccce02bd438fa6a1592c770ab3f33166f2697c1ea40c10853eb398eead6ff746aec03727fa065556ca723ad06492d8f88255df77cff82c2b83b56419e054f500
-315    1       379     
\\x58c8b9ec5698984cefe6ac678e3d4642821da11007ed65174ddf3024fcdef9ff0fdaebf2294e177f89504c02240f16752a6e4b46cf512b12344c1bfbc59a0305
-316    1       376     
\\xd07e79be9e4d263e7448b95123d50a6899f4eec24d8219430a2594822893a6da493705f4ebd019486b4e359c7742ffbe40802bf6cb186801493db71281b8de04
-317    1       256     
\\xe3064ed238c47543ff09ea86a1ab2f04d626e9c3d90cb4452786e30335ef666f81a9a9e5da77ed9977c6b989169c029b12a2c02f2b838579944f93f4dbe93201
-318    1       23      
\\x384ad1fcf281c717006b17aa0590a492987a825ef299218be105e2ac2ac9326a5a9882ff0a4967ba13348cc0ea935a16cf85caa2bc4f6585fd254340ad49700f
-319    1       66      
\\x49903072be2176b63a5719c1f24d831de2e3a4f96dbb424a2f14576cc5df5372c1f109a5bd3a423635f478f6c69cf0e868b36b79c6ef2b4656c65a8603f3f409
-320    1       302     
\\x5104c70a897b3a46148abf29ecf2b4ade07cba9d3ea68949b446a3f82f0a0c47ec28b5f6df45073e042a13d3bb56df7f77ee84c078c747919b8f8fd6d2804e0d
-321    1       134     
\\x4f21d447088160f68cc625a20bd210c9356bad157e9c6ecf87259370a354129ed9501ebdeafc7a6b5b330287767e81009bf766be4c6c938a7b32438399bc7e0f
-322    1       6       
\\xaa9d3601864fbc2480f25c77c4b33081461915d14562ef4bee64654fca0091c10877e8e18623ac6deec772b9db329c64b62d5d9caf916ea81b968fd28c4ead08
-323    1       185     
\\x5d05a74ab871a83ccf7aff02f43b5177fa40a440f925987be95a1a57c3c787f1a89745a647cdd4a1de53dbe4d13568ccfaaa6e449726607710af6c5fbbc8e102
-324    1       56      
\\x7b11e4a5f41d3f5f97404b56c38491016c3e9857e397338e550ed004c259506a424239650140049dc38e2844034c3ab7563fbb65115678472e2764e5a7419305
-325    1       47      
\\xc0740fabd73b453fafb34b9ac98230dba03b9092facba4642dedd891b9836702930dd98bafa737b8506318d9c7abd7fab19c9becb4a2e6d050c2fbed507b6809
-326    1       67      
\\xcbbe78c5cc5856f022237031288ef1e3e60ef8293d12671359c9714e18d440abf02190ffee5d3ab79c89e7f7ac10230a72f8b15657e009989f0244d0fc40fa09
-327    1       274     
\\x95353e6e6244f54ad459bd3e14ed90b96fdb3f95118fd9dbeb1234ed77cedf5a8bdb22aa52f0064600e4aae65d51f40d016123b096b9dff8b217f8d454fde303
-328    1       97      
\\x63a30a0c0f35357afd94ddfd51e894753a8991eb1a5c9f026ab4882537f6d4304959bff02bd99579fe4371746ff5a740777bf2309060380c914496b452fb6a03
-329    1       250     
\\x3050adc3b292376dbd056207bf8a17f0ae32915c0678de25c725b83e0799b9fd5cdc455e321e4248341cc6da8ce7b87721aac15cd92bc5684d48b52554a5de0a
-330    1       243     
\\x702dd149777a690ee7ad1c4eb963330b649c1c6f240e40329e0acf6d88d8e779ba6aaa85d855a96553579e34fcf979c22165137bf05770d4f791d96143ee190b
-331    1       406     
\\x3921cec0d38af6c1c8c1586f201b74f2853e1fcd1f6ed8ae67d8ed24ace1bb852995c7680d0fb772e3fc29d2dcb4c906988e6c77c0b551a42c14a7664943830b
-332    1       73      
\\x6fd37b2afbb25b06671aff5f88f07b30a79563170f588de5ce8b0feaf140298d0abe6987f0b9fb515fcfba341e1d5024ff5485cec50e29b44073c0c88aea7a0e
-333    1       74      
\\x50c9af51fcf6389dc47f4164980755da6cf3ee9639d1db68c2798d3f5526eaf6e4790631a362abddcfae8e9094bf5db5c9f2aa09905a0aaae2567a8d7310f50f
-334    1       159     
\\xb4464fbd59388f7366bd0f65555abb13f65b9dcb00b58e0e58ea7bb97f23f856027eae040b572742c6c9cb8b51bb229d436d2fab4ed13e6bd9ec502675eefb08
-335    1       143     
\\x7e04e5e462769d6b0153d18b9ecc4edef0ea7daa0cdf411c0e4c90133b5ed63e3f7b0d5d5c8b9201161427497520b8fdec3b55dfbe1d878487c3ce3b071bed04
-336    1       204     
\\xfab16f1080703211bb02e63948ab4d6c4312196ec0e0330d73b4f28d854b4850cb6c0d57b1727521f8c82ff10f560b7102cefb12879cf90e3b08aadc5d7eb407
-337    1       51      
\\xf515e6e7e682daf338ad4a4ff70637ec6c93bcfe11e67b27301ab7d8f296456e68ae1c09a03ba9aa7076309a6c953a298d1b0e6ece798048ebe1e84cc97b0109
-338    1       25      
\\x3e5c96483dd162658668832a36410874761a3f4011ded6bc198b9e09e9f7966492b00928174f6c3610ac26a24309cbee2e702db3b6d1eb382fc677c368146806
-339    1       303     
\\xbaa47e1b0a545ae8711e161d1effb46890b3c25793360e76e299453849b13aa2d80ca8500d50a10e1e289225db29c9b10cfd2503996319e3216726bcb53be501
-340    1       255     
\\x06e5163299ef0f813cf244ee53aeea00212cd348a86e665450ffd7bd93a209e82e91e913d891dec2f1355647cdf38af1d3c82d4112f0920be52b26b26da9bc0e
-341    1       261     
\\x0dd58876c635f502ac342df11a7cc0bb96a2e99c37735dc942358997dbc136dac9def39964d13f25f5b8f0275fadab7b716536d22fd5fb191e3b86320945ad06
-342    1       197     
\\x20161e991af095f17d4b4b337a65176d8ac18e40c6ff7a7920efb69cd6c42f4062c8f73059c1c4fb288b0bf47ce34d2712234e4b06817f56c3908f9e760d3303
-343    1       72      
\\xa8c29d53927b63e4d61b2c63b3d98ea84493aaaaa584e46fd79d6a74d707c22c791558480e08a1bd20c8082a289216ee64f0648cb18c26f5a775786db8b03e00
-344    1       94      
\\x2b5ae2469dffd94e2828611b2001d7c04b031fdfb509480b011d469b53444b5b64be622e45dc2a8e63f88da4dd16bc4a6e6a29c4e0464eccb87e15fffd08e800
-345    1       294     
\\x380650e39181c5f200328e0133521d71d889d5a32b0d4818023db616047086bf0b67611f0ea7c57b1547643ee935df964d99ae5a64851c8c0628544dcbd2b609
-346    1       114     
\\x36b98733f644b9059cddbc0bd7fa869325220a8095a693026e6ed950c89faf1da7f19f9f6d2a46aba75355e0244a256d687a2b7a7c573f027f696ae55a51cd0e
-347    1       319     
\\x316d36152803ee8173c369fae7dae3b07cfdfc68310104a94135c62e3611621dbcd9e6275b547de16849f0b8ba9098ef1204b703cbccbad6dee69037bb78b902
-348    1       354     
\\x914ea3e551ed9cdb4b527c1dbc9c105c50333900316fcb2852b257981999117b11b9eda025831eea474da55e33ac48a512ac719d294edaf66030fa80b979e60c
-349    1       362     
\\x88a017958552c2132aaddd30e2f1b0cc1bb04c8c5b9101505564eefa5b26da09ec528ad7fb40ea1c42bf29e06a3cda8b53db5b4e9f52fbd3830fc90cd5fc450a
-350    1       124     
\\xc0f5ef7935490a0f1eda9ff13f9e8a1b8b9f2e25028e43f26494249be206111e6d39ac2db04a15c3e25aac5a4ef116033cbcf52ec97f218ca3fa58a906ae2902
-351    1       135     
\\x519cb91149dcbfd07a1872624c8cab7c1cf3952bdd9a8236e651971d5c998b306d8567ac39b4a7ce38c4af02f3b1e95b1b6366a260c24ec4310d93b55b742d0e
-352    1       374     
\\x4c23e86fa586dd5be96991517ad5ebd7a7c61ae5ea3c7e6bd031bf3766de3a2485f0e852265142647782bcc532f94cd347699cd33dc8ff4aea4a2fe3fbb31a0c
-353    1       206     
\\x620501efb92cee67bc6f97f8e376c424275ebdc8484528993fc199d18bd45cdf1990eb1acd69917628110a452ce50a1ddfd577089c21196e2a832b30e482450b
-354    1       301     
\\xfcbbe990d25f48249f5a96b9c3612416fdce225b94de54767aacfb71882cddd3488fd9972f229ef2f6648b81e018353e0489dfeb781a604b575cac1bc009c80a
-355    1       290     
\\x81e7cf743f874a3cb7754597474aa6d34faef6e1ab20be269578d3efa2dbba32646865a8bc73057121b6c24ead5345145f2910ea4f5229302df3191b779a6e01
-356    1       350     
\\x56e38792aa8db3dac1e9363c071272f3930da193e407de52d9004e9db22f5c70a014799b85eb91b119f9390415ce43b8898ed4b456955a4cad69b8f03ac1f902
-357    1       44      
\\x990579a4139f5e20d219804648554251a78eb7591d0f3406280b39f420f95fcc55794ca988ede63f93a1587f43467d02c34ca3bdea39f6ab1f77182a73bc7f0e
-358    1       27      
\\x34965485838c6924325bf0935c47572fb0639c7c0964c6ae2c7dd92ae66f5087b20a3a964382f17f6b11b389fd7606013ad5a7afd618f91d18daa7a80a65f301
-359    1       98      
\\x35ec0d7f07267c7d3a3c7c55da9d49ca6e922e9eabadc17c7da710bd0d13232506ebef33ad675afe4aff7fa097cd7849c708a2af892d48ae39144229c95c5603
-360    1       330     
\\x1ef795bd43d1f9242b8caeb633558b158c48dd19fa0d08c00b4aa5ff47a3dfc234f2902aa91f509b12267c4e473546bc5abc1a1fc646b5b969bf729230931601
-361    1       149     
\\x27079af179d874e1789350cd767dfe3cf494789862f102629df84c7308bdb4937c553d3d930d0c878a6fa519ce6f6f89e6ccb750cdf17034faf6decd32c1ac07
-362    1       405     
\\x5a7670da92c3534b0a37be51dc1456aff393d18af3fcb62d44178346909ad04998641d97669a86e7af40229e8a446e9f7f0ea136e7cf52478a825585b4d36206
-363    1       111     
\\x7d42479c7ec8c3cd2ef8bee1e305a7628fa502876ac74e2a9e49febe5edaea4c706cdaf93d7b807ce58313aed953405d998a89c49e13b62b02142aa1bbcbcf0d
-364    1       90      
\\xf21f5baccf124d380ea09938d9b29a363d5599dd8cdd4c341ed295ab97b8cc3223e0e5d426f4e9db8238a9f8e0de5f0f66e74da8a95b934c494f9d72c3c13302
-365    1       176     
\\x124d6b77a7755d30ed5517745a4174c41b637ea1dbf2f16aa6ae920ec3077a9ac632fc82fb70cc779d7d9646d7f4d783a30aee11310100e4184da095eb82c90a
-366    1       412     
\\x7adc7ec3340f7ebc6ba682ee52c3f27671d636bfe4bc30859afdeeb95f77f2cff8e531564d917b5421018bf2d4d65cab14085dbac76ff76cb0ace23941e56505
-367    1       164     
\\x87fd4b11bccc608aa351ae1a5601404d819a102134b6a9aa9302d41437d793e5add54fc30a3a550868063f767a48176a86647d44cc1d08a8838d7a75a11cb302
-368    1       393     
\\x47543ee189caea6c3a67119c669eff080bedc835f2117e4a18bf7773e87d3855a1b1d430ba257b8f0b3778516c8671960590754ad345637ed95e43dec5bd8a07
-369    1       390     
\\xfe9b6771be73f129b8f6527d209d548c314c08ce2dee58531b205d91f014c3c496ff4ea110f169fa1f9b5351526766bc8053ed58377f0cc2d9eb75cb7315ec00
-370    1       407     
\\x8cdd73bd6a37d1309724c33434bbc5c020fd962ded33e955178155549004241c777c8ba11b490fa2bbd52752fe6b21a9cfb10f4a3b2d9134421dd0b1760bff0c
-371    1       59      
\\x85e1aa6cb3ef8f895ddf2a66d3b161395aac9ca788fdcf8a7d7a494d4e5820ae1b29261013a83e427e0bfc8224ce1d241be4f2cd3fd77e6bdea7e0b4cff6da09
-372    1       297     
\\x5817801f1695cadf45eaca931683cb436c8357fc7f4e74a3b3a9580d2e71145274d3d3c056d6d264c890f6a333560dd4ee078bb06886f74909369f0dce2da300
-373    1       420     
\\x9d9f64e41420e660a5be3c84732e3881b53d9448475f0854cf1c84d4ee05a9e297cc3f31c4833c2ea81498969ffc85d4e65e4c77ec154346fe0d0bd9d7057806
-374    1       125     
\\xe4eb5ed671059548d6ad7354fe872908579de714b08e702c063f1e7398fa70d042669f1dbeae0dbc417ab9997656e88218ae7efadb8739b227a05454450f3004
-375    1       34      
\\x4c2e51a767bc585782f9e584ba9af152752fb7fb6e71f2da2ce2228ea66fd94c9c2de4b54a65cf2e8c00d1e653dc6857c7bcc7bea689f679aedc3165f443ee0f
-376    1       191     
\\x224f8e7287e9c04cdb80847c7ecc6d3be9532b5929043f6d772cb3f1621aa01a61a187defc0fefd17b847a756f4a5df98097a3c9a342d2bdbde5a0158cf4cb09
-377    1       145     
\\xcf3c64a78709592962e6e88e8fef5d58b9e01745c008fc3266c04b0ac8242b93d1b21dd34d252160e07d81a352635ed99047dd40e705d2a0a6c09340ebf1a00e
-378    1       286     
\\x77f3c41856177c36d7a5374377de702b65e918d6e06cb2465358fd8a7a919c840cbbe55975586127a6217a7a27b8c4cbf692451a06ff1ba8764abbf116a13b09
-379    1       115     
\\x9794b221f19c71b8946ccd862636355769517e9feec93c393c7095b1ef470f77b716d46571507fed4437a4bc20e69df42e9d8d372ff6ae8a31bc73d897e4870e
-380    1       195     
\\xb62e23af716d3cbefc95cb93d455988590221015eda5bb913c2a96a65d10eedc0daec85e7eba524da31ca4b05158d8d255eb62ee7a20e16411557c7bb8b66e0f
-381    1       162     
\\x76ae74d7a44fe39bb2d5853430222bb2c0f62eb0b018202f777e4028b060e095a67536b0a677ea895cc7d9898eea22307f052ee1b602849207963448804bc70a
-382    1       364     
\\x045934e0100b2e2457b6f5d451314bb8958b8529312fc4835a0b1d6646c731e8b879c3cd4a7a306be1b76b53c8eb72badaffdf79108310360423436e0eb7450e
-383    1       320     
\\x61ee769a37161f445fca8073cc041ca51562e9601711e8b53683468a25f70d4242c499c5a142fc7631e45aec81e568e2d4e68dcca79e97f8c0559d8a0204e30d
-384    1       38      
\\x65ed6f7110393f91fe4ea072f290cb52fcf0dc8bae250b9a269ba1eaad5531d58ad56c8e72a3c0f1d2101cfec7b8af7e33f9713188862d3c9b81fb98a6e9420f
-385    1       140     
\\xa704770829cd36d0e29f949481d157db52482093f5ec243d9fc6edfb4f6990793addeb520bdb5e8057a3ada187b0d305600a4f9222ebcf9bab45e44f3d6d4e0b
-386    1       8       
\\xe551e1fcc2351496e124f851da67ced29a2725d5b2633bb0ad69205d91ccd63b512ae8e69ebbe29a74add75f127cff6b7cb5751a8790d8a5390b33384e70c102
-387    1       279     
\\xb7b7cd51ea453817e1b2cc27bc112b3aa09cd02080447d85f429a38f0f6e5e840f4e9d3145127218df226ad6b8e6264ef2d9690ca6178867c618429f993e700c
-388    1       282     
\\x4aaa78935f3e0f69b5af2741b4a800637226ea7b04b8013531fc65baa05b74cd716df87fd59b69b28a7dcc1d4a1041baff6e751bdd4e9221cd0186394cbc5303
-389    1       391     
\\x8d2cb1f92f14d6f8af2a933fe060f3e682f07059e42dbebbad4f02d3e97ff51e9c8eb09467f0ca25615078d47ca217d7b762981595d592fd17c14cf16839790d
-390    1       337     
\\xda286d217007bcd45c4399374bcc84d6bc69c47068a83a511a9d0bba1f20d2e1e3e3fc77138e90a8865bf1603890c085b0624d6c272389c4239d62e07fb0b203
-391    1       121     
\\x43e0d743d8c4f46830e10691d5b797e6f05fd572b62f0a2117f6bad8d496434a2f75d60711873fe7947d6a49e1408b232f8ceb7626193efe5faedb2400587b00
-392    1       39      
\\xb5c71376ea3f9a7212d5f5b07711dbf9a7dd3ad91dfec7d4e979450f0eee212e93dfac6fbf46f58b0a104c57327e1f07ea0143b9e2d7ca1f33911acb36b3510d
-393    1       273     
\\x161ea3625978dc6fdb69ba77a26860b6d97b0db5496aa8c789f1ca6c19cb19b0f18364a3e626a0b9c124ebddc181ff54d91b65c1065458541818aa3757ff9903
-394    1       411     
\\xf5b21d79b8e9242467f6e65f059c3cd0273c0a9e6310dfa6ec62bbee0f4388001c441c4c5096cb6c15a23eddd0e7a26a946181acdaf8066c3bf113b6b0d1510a
-395    1       245     
\\x1d42c457864108ef1d144ea838510d7483efe25a11473f633be13f0d776d5699cd9a22081ff50dfc7ba99f7a12479d87b04eaac3993eec9e9a480a10cfc3000a
-396    1       419     
\\x21b1652717aba0f13a1ff36527af92586660f98bfb3135232190ef54c85e724ffad1c77023f33d8953562fae4e9438dca8058dd9d56f1ce4f00fc3d695650d0f
-397    1       213     
\\x83d6bc7ab8e7f5362304690d77b8fa61d1a66edaeabd0b7bfbc909595b3adefa0469cc6af7a9b0c8ece67570dae501cfcb180d073122a44d784145e47ec57200
-398    1       397     
\\x97c65d3027fcf76484fd3114e0ac253a6023490de15da6a3f272332a85fe47e9566fb496048597846a823c557447025c8ff39bfe46a8fddb99cebcc5982ffc03
-399    1       300     
\\x864882fe9eed787f4e5ef1e760b145fb8b51025fa51e3be46690fd389e5b76b0c312f33694835e934449b2faa2203d2dfe33ee1d767d8ac8355d81eb589f7606
-400    1       418     
\\x2df9bb765180e50500eabfe75a64fcc3f4a6cda46c451182a091716a065ab188810a9a9effc92ca92529a2e717f39c8c64b995baa39520447832c6ae60cd880b
-401    1       325     
\\xb3f1858ed906f7e97f232a914852c7b47d7666e28e84bd97bdfdf621a7bf44aed51c743a1a278c31b6b5fe43f850e68516648de29918eb7696789156eb15d904
-402    1       201     
\\x2028d96d96b0eb949774caba753a50893a4d2e9d4a13e7d4af18c53a32df18c294e210ac79caa843c9fcc36d6a3ebb610e73ca133dd2eb4816d0c2b65e44c300
-403    1       232     
\\xe80d0b9f49ea50a69f874fedcb04fcb1b3c52c7d97c8fc2844609bc7ea718571c76d0f6aff95cd972c876b52864c4150907703e4158917b34b84043793c78f01
-404    1       65      
\\xe8f62d437f851ada609b2628661efcbd37a006f8a38594a20ebe0e508a1af7c7ce05892ff8a1e26c293ff5c32aa0a8d60756307cff47bb5635fa116d86500002
-405    1       40      
\\x5ee68bb4fd72033235a918fe57fc75e0fbd44be0df3d25d774b9a061f8523c6a6c4f0580e3063883ef9d45bd10fa3d17a23ceb3724eca99fa604ba64a7867c08
-406    1       402     
\\xdd98db5c69d46a533c1cbbd50b6c24fe1f14f556bb5bf3cb88b384cf513c1a7c15392a575f4bb199f970fd6bb1ac7e1bc3af809cb4e552a4da00b4be346c5200
-407    1       249     
\\xbd1aa9e5584a99c9975a4e3544a25989dc7db8c1d9b835dfea3f3eb79a38ff63c236263c1ed1778d9b2a0a1fe66729c51d3a547c7bda504ef2ec58b8dc3ff403
-408    1       228     
\\x9d13705fb044e66715ba28557e0980230e03406d0afffcc54ed3cfb5fd85ac90e4c2d6dbfca50eb017b15a11bbdfe40d7214cf3782629de06e789f558c85570a
-409    1       293     
\\x9fe0921c8b37e8a30a1c73f0ea16d846c57fd5646edd31bbeaf07fc9fc9ac987398d4a53381c8b4e956049c4574943d60c18a2f6dd73c55eff72279525f8f004
-410    1       375     
\\x5e6bf832d015008d23d2bda78e5deeae3ab70f662ec4ad0dd5edc83f953144f3749223f0dbbfb5d34039f93dd29156527e81d47a8c0f11f9be85e10a0b979905
-411    1       331     
\\xfc34a2c8f858df4017c18d5dd234f6b4b4783daef132c30a81d59159102c5c1dc479e864e11229061d9f8e14a90f4cac84013b49f72aba159dec6d4a674dd00c
-412    1       71      
\\x0ae0b44455f76639d3390e60fc33f0d9417f7f3b90e37d2a0de8666335ca4549cc9db95faa32e6d409f79a3d344139806ffbab696ce15f00dd5047863b0e700f
-413    1       184     
\\xd2017af86c542a7ffbd1f3d8f48edd9645940b2cdc995e5de325793e596f54fac5e400f3175908d8d097a564fbe19970b78dd8325698ed410375d086cc11ab0d
-414    1       179     
\\x217e036b0aff99d9cf98658414f4eea8de00236db4cf7c7946592bc0a8da673cda65a20902d47d6c28694509febdaf3c1f4b7eecd6ba393544b44e49a1cd770f
-415    1       91      
\\xa956221672641ac380b4423803e4276f19ce815faf1895a20507fdfc7cfb2c5e113e52372d5e7afe0b249288694dc179826ddfc8ca4d8a31f52568fbf65ca104
-416    1       240     
\\x741dc119d67742b3ce1874db544257affcbeb85747501eb222bd175f7fd375bdd93a8d0ca9252b5e3eb6a6c29595d87b55a322a598be923f902ac3995e69a803
-417    1       113     
\\x012ca9d7f6dea931d93607f30480e602f24361cc34578e5f9697a018510385b2e80f9a4c9c449d8bb436b1fc25f6c550b7cf202757cff8b48d39f25c22456d03
-418    1       128     
\\x0cf80cde478ec592983431ad82c57d0e5faf6cd550a6de8fc0b3cdfe35334d19e81036657a6568a089f45aa21eebfb3a1cccfdd9c839dfdb5fd09996f681a60e
-419    1       194     
\\x0c232085373245ec4b689e654811ea78391f20fb2dbd1b8d4547ec31534eb9aa8b1dccfd167d2ce9e9b6fa9effaa12b97a59ebacd415cd3162dd502d0052300f
-420    1       333     
\\x156b4f235a61d3ca601cb3d1c917ddcea7ebe7a1316dd7afe0a97ad354ca72d38bb78ced260702878c488a46c21f941cabb364f6c0a0eefab469a854e1905d0a
-421    1       57      
\\x3c0de2d85a9c826fad6af4a2c122d706cfae7f837a5c5b59c03e3bed9ed0fbe614983fefbe2d6d4362bd0c6b8c59021959727042f2878688bb0c109c0967a70d
-422    1       260     
\\xc13e9ecaf7807cb5c51af4cc8dd1a434e81a55a07ad5d72e908d34412d4de8462766bf31987fc20020b1d3146528486459367c0ff3c6ad1b3f3a1d4e291dcb0c
-423    1       229     
\\xdd98db0c77cbc2ee6fb7ffd9ea3287a25782b1833aaa08af31b635ad693b98c9dcd99df4a8c5acae9ea470d65b6bfab188463d4a67408c06ea181df672ed090d
-424    1       77      
\\x6fae8111bb410af325f2241d18bdad808a57a05fbc3885c583d04a36ae57e2286cce21ff2247d5195fba01f70fb8b8cf8b4df836d5eacfe20b5ba38830fd7d03
-\.
-
-
---
--- Data for Name: auditor_denomination_pending; Type: TABLE DATA; Schema: 
public; Owner: -
---
-
-COPY public.auditor_denomination_pending (denom_pub_hash, denom_balance_val, 
denom_balance_frac, denom_loss_val, denom_loss_frac, num_issued, 
denom_risk_val, denom_risk_frac, recoup_loss_val, recoup_loss_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_exchange_signkeys; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.auditor_exchange_signkeys (master_pub, ep_start, ep_expire, 
ep_end, exchange_pub, master_sig) FROM stdin;
-\\xa61cd803bede7a4c5bd951a55bfd23b09ad5c08578e86c2ffdc6489a025add48    
1655640557000000        1662898157000000        1665317357000000        
\\x85c532e0499b11517a10665c66301831599632bbd934c51a829365d590a774a7     
\\xafe3bd45c87ddaa6ea471d5a66a3a038269230ff0904d959a862bc7e0b45644d06e95ae4229fb5270d8b4c065ea45ba63a29d30630094ee1eeddf7ba10709b05
-\.
-
-
---
--- Data for Name: auditor_exchanges; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.auditor_exchanges (master_pub, exchange_url) FROM stdin;
-\\xa61cd803bede7a4c5bd951a55bfd23b09ad5c08578e86c2ffdc6489a025add48    
http://localhost:8081/
-\.
-
-
---
--- Data for Name: auditor_historic_denomination_revenue; Type: TABLE DATA; 
Schema: public; Owner: -
---
-
-COPY public.auditor_historic_denomination_revenue (master_pub, denom_pub_hash, 
revenue_timestamp, revenue_balance_val, revenue_balance_frac, loss_balance_val, 
loss_balance_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_historic_reserve_summary; Type: TABLE DATA; Schema: 
public; Owner: -
---
-
-COPY public.auditor_historic_reserve_summary (master_pub, start_date, 
end_date, reserve_profits_val, reserve_profits_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_predicted_result; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.auditor_predicted_result (master_pub, balance_val, balance_frac) 
FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_progress_aggregation; Type: TABLE DATA; Schema: 
public; Owner: -
---
-
-COPY public.auditor_progress_aggregation (master_pub, last_wire_out_serial_id) 
FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_progress_coin; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.auditor_progress_coin (master_pub, last_withdraw_serial_id, 
last_deposit_serial_id, last_melt_serial_id, last_refund_serial_id, 
last_recoup_serial_id, last_recoup_refresh_serial_id, 
last_purse_deposits_serial_id, last_purse_refunds_serial_id) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_progress_deposit_confirmation; Type: TABLE DATA; 
Schema: public; Owner: -
---
-
-COPY public.auditor_progress_deposit_confirmation (master_pub, 
last_deposit_confirmation_serial_id) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_progress_reserve; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.auditor_progress_reserve (master_pub, last_reserve_in_serial_id, 
last_reserve_out_serial_id, last_reserve_recoup_serial_id, 
last_reserve_close_serial_id, last_purse_merges_serial_id, 
last_purse_deposits_serial_id, last_account_merges_serial_id, 
last_history_requests_serial_id, last_close_requests_serial_id) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_reserve_balance; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.auditor_reserve_balance (master_pub, reserve_balance_val, 
reserve_balance_frac, withdraw_fee_balance_val, withdraw_fee_balance_frac, 
purse_fee_balance_val, purse_fee_balance_frac, history_fee_balance_val, 
history_fee_balance_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_reserves; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.auditor_reserves (reserve_pub, master_pub, reserve_balance_val, 
reserve_balance_frac, withdraw_fee_balance_val, withdraw_fee_balance_frac, 
expiration_date, auditor_reserves_rowid, origin_account) FROM stdin;
-\.
-
-
---
--- Data for Name: auditor_wire_fee_balance; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.auditor_wire_fee_balance (master_pub, wire_fee_balance_val, 
wire_fee_balance_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: auditors; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.auditors (auditor_uuid, auditor_pub, auditor_name, auditor_url, 
is_active, last_change) FROM stdin;
-1      \\xc3a02e84d73f0e68b9826d81596154680bfa87107d0128503aeac7549e703004     
TESTKUDOS Auditor       http://localhost:8083/  t       1655640564000000
-\.
-
-
---
--- Data for Name: auth_group; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.auth_group (id, name) FROM stdin;
-\.
-
-
---
--- Data for Name: auth_group_permissions; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.auth_group_permissions (id, group_id, permission_id) FROM stdin;
-\.
-
-
---
--- Data for Name: auth_permission; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.auth_permission (id, name, content_type_id, codename) FROM stdin;
-1      Can add permission      1       add_permission
-2      Can change permission   1       change_permission
-3      Can delete permission   1       delete_permission
-4      Can view permission     1       view_permission
-5      Can add group   2       add_group
-6      Can change group        2       change_group
-7      Can delete group        2       delete_group
-8      Can view group  2       view_group
-9      Can add user    3       add_user
-10     Can change user 3       change_user
-11     Can delete user 3       delete_user
-12     Can view user   3       view_user
-13     Can add content type    4       add_contenttype
-14     Can change content type 4       change_contenttype
-15     Can delete content type 4       delete_contenttype
-16     Can view content type   4       view_contenttype
-17     Can add session 5       add_session
-18     Can change session      5       change_session
-19     Can delete session      5       delete_session
-20     Can view session        5       view_session
-21     Can add bank account    6       add_bankaccount
-22     Can change bank account 6       change_bankaccount
-23     Can delete bank account 6       delete_bankaccount
-24     Can view bank account   6       view_bankaccount
-25     Can add taler withdraw operation        7       
add_talerwithdrawoperation
-26     Can change taler withdraw operation     7       
change_talerwithdrawoperation
-27     Can delete taler withdraw operation     7       
delete_talerwithdrawoperation
-28     Can view taler withdraw operation       7       
view_talerwithdrawoperation
-29     Can add bank transaction        8       add_banktransaction
-30     Can change bank transaction     8       change_banktransaction
-31     Can delete bank transaction     8       delete_banktransaction
-32     Can view bank transaction       8       view_banktransaction
-\.
-
-
---
--- Data for Name: auth_user; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.auth_user (id, password, last_login, is_superuser, username, 
first_name, last_name, email, is_staff, is_active, date_joined) FROM stdin;
-1      
pbkdf2_sha256$260000$0Nk9sFAkUuwKp13eoE2Fyq$Jw6jKZc62NKUM7VXPGXIFfn5GzWc0fkCNL8WHHaRdog=
        \N      f       Bank                            f       t       
2022-06-19 14:09:18.35267+02
-3      
pbkdf2_sha256$260000$imGMIBBxtgJ0D1rfWRcuPc$0IUycrmTq8m3gZktURaiH1vExUfFKNoOVB17z07Y0qM=
        \N      f       blog                            f       t       
2022-06-19 14:09:18.542836+02
-4      
pbkdf2_sha256$260000$2HwRHNH9Q2XC0iS5w3abaz$Z7Tgl2hTW/c8lBkwffGF8TmVFaP5pA0nzqUlHNEaWCU=
        \N      f       Tor                             f       t       
2022-06-19 14:09:18.637257+02
-5      
pbkdf2_sha256$260000$xqHYfHryA5aILKgODOvs2J$S3mcZa8zn92MOMcIceJDGwcHIO4thpDy26eaTjakZeA=
        \N      f       GNUnet                          f       t       
2022-06-19 14:09:18.733397+02
-6      
pbkdf2_sha256$260000$qtWebIwgyDomY1rJtfpvDy$+9givxgn7Uwz3jhxwd4CxdRWNUav6p28VVCnRz5O1zg=
        \N      f       Taler                           f       t       
2022-06-19 14:09:18.830494+02
-7      
pbkdf2_sha256$260000$w3Bisdw8RgvDWlSfxBMM8L$guyILdXtCA3GFuUswAlFLHFAmmjSJcPHx4Gf+1tUrlw=
        \N      f       FSF                             f       t       
2022-06-19 14:09:18.924503+02
-8      
pbkdf2_sha256$260000$37ZLZHSIfXcdl8z80fgcI4$uxfI93ftpcTqkoHTQQgOY9WM7Y/A3iM+bUdpQI0G9Y4=
        \N      f       Tutorial                                f       t       
2022-06-19 14:09:19.019958+02
-9      
pbkdf2_sha256$260000$7P1exzuUkoVqlj9SzWt4hM$fQU/z7JB7uXnsLUg9FmFTjh9jdEb1TZJspux4PQ6g0c=
        \N      f       Survey                          f       t       
2022-06-19 14:09:19.11515+02
-10     
pbkdf2_sha256$260000$meDHz25kyrjANxtbwyjC3L$kj0NdRXEqETSterPnlITygIuQ8vHgzV+LFqXDZgrJ0M=
        \N      f       42                              f       t       
2022-06-19 14:09:19.569582+02
-11     
pbkdf2_sha256$260000$eRt8twaL64JXiA9bdg2KcA$4HG4gbyhjsJ3xA95W3dKpJv6fCkHFIl3TjkJCpx3bjc=
        \N      f       43                              f       t       
2022-06-19 14:09:20.024089+02
-2      
pbkdf2_sha256$260000$6pkmIymnT7H1BeGVsr9FEe$T37eQLgxGTrOQKikMx6yACGIG/KpkqSDIk4hARnuMyk=
        \N      f       Exchange                                f       t       
2022-06-19 14:09:18.448095+02
-12     
pbkdf2_sha256$260000$0NikfnbYrVx0rLJXfkREmw$Ztk43rfDY8Jz/uW+FucrLrCNmJc81T1xpPShJnMk3pg=
        \N      f       testuser-ljgqtzra                               f       
t       2022-06-19 14:09:27.167398+02
-\.
-
-
---
--- Data for Name: auth_user_groups; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.auth_user_groups (id, user_id, group_id) FROM stdin;
-\.
-
-
---
--- Data for Name: auth_user_user_permissions; Type: TABLE DATA; Schema: 
public; Owner: -
---
-
-COPY public.auth_user_user_permissions (id, user_id, permission_id) FROM stdin;
-\.
-
-
---
--- Data for Name: close_requests_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.close_requests_default (close_request_serial_id, reserve_pub, 
close_timestamp, reserve_sig, close_val, close_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: contracts_default; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.contracts_default (contract_serial_id, purse_pub, pub_ckey, 
contract_sig, e_contract, purse_expiration) FROM stdin;
-\.
-
-
---
--- Data for Name: cs_nonce_locks_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.cs_nonce_locks_default (cs_nonce_lock_serial_id, nonce, op_hash, 
max_denomination_serial) FROM stdin;
-\.
-
-
---
--- Data for Name: denomination_revocations; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.denomination_revocations (denom_revocations_serial_id, 
denominations_serial, master_sig) FROM stdin;
-1      57      
\\x5bba4ba907b413a40589d32ddfba3ddb5a76c117b748824cc68823cc74c82fc3f049368d350b0208474d1a5eb5a043ddd2a42e697c797efe519a34cf5e693305
-2      293     
\\xede76eb00447c3dd33a646a071cf5688fc2ba6aeaa971d22a7ce32112d110d26c484bd9616f89364757a73814d8b93fe84e57a632f21b853e5129b4d9c977e03
-\.
-
-
---
--- Data for Name: denominations; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.denominations (denominations_serial, denom_pub_hash, denom_type, 
age_mask, denom_pub, master_sig, valid_from, expire_withdraw, expire_deposit, 
expire_legal, coin_val, coin_frac, fee_withdraw_val, fee_withdraw_frac, 
fee_deposit_val, fee_deposit_frac, fee_refresh_val, fee_refresh_frac, 
fee_refund_val, fee_refund_frac) FROM stdin;
-1      
\\x00683800c64d9cc02dfa7cc066e76414ee93ccbb1f4b9c723010e9a3bbe19655bfe1420d391a6bce0ef7c842104f53473a7098c531804d9460d255db8321134a
     1       0       
\\x000000010000000000800003c542eaaebf3d5e437abd0d212ca29a949a154eb7834037cf4c6d26385d80086f19f3262d9a0912f7eac7ef29524261ccf00a107c20e732e0cc5772325ba74e0dce34d9b059a5ff1906e597f0b0742ae0d9e718670e48bffa98df208c3fd756c9b0218e355ff259f6c248f691050804834aceae08ea7214176e10f3bdb8bf8571010001
       \\x6e0a557756f303b694cf123ecbe42811e310ec2444bdffa024dbc88f3dc51 [...]
-2      
\\x02b030c8ab8a7f87122167163804a203dda43d26608b6e578e85cf2f847329ebe2d6cd5dbc542b9e1cf18c7d63cbf998ba48788b2e45503ceb03de39927aef11
     1       0       
\\x000000010000000000800003be35babdf376f228e6f185fb4c2c9ffd454ffe44d847afae5b6a52f906a932901c57d9775e2e3027c0983d0a920a663252ae4a25d5283c1a68b800617472226dba56c1eeb88bd0f50d14770b0995e468fb7eebabce86b7dbcca31570ee736a2169ef1f6ed9e75cdfb7efdf47bd1783797970d1adc3b17c406ec229569c3d0961010001
       \\x75fb6255f65e4e4d498ed98fcebe2f4d4a63ef76d6b790c3b1a5d8d40324a [...]
-3      
\\x025807bdb4caf718de80dfd61231b0898c27044ad7eab075abf9a4c43f0d49247cd18566bbf9da208801045890643b41abd020efa03be1a166e64f4c6a1ee1c9
     1       0       
\\x000000010000000000800003eb664840d1c572a268af0bee7911e5e65889488cfdaa518720f064ca6cebad6279c098dae6825c214c4b0aff7ef10d25e543f163a757ddf814bc9120fffb4e5590fbf35f16193ffc72205136def7e52a020fc3f201e92a4d14ba87115337102602b8d7d78e9631bc7c5f2edfe1eb4cbed069c8762dd0a3afdb1cf4fab262da11010001
       \\xee2608b6db91966650da32c41b0b4f6d73759946a9695806e731da8a7aaa4 [...]
-4      
\\x0df0c4fb49f5b3f8803b54ce52f216968965adbfac25f874ccd443eeb7d4e5271bb3f3c56c98f3f3aa4a4cb49331d119fb95b341db626acec9afd357035e131e
     1       0       
\\x000000010000000000800003bf2c08b2ef2c0693aebc00835ca12be769fbe314826ecc052c0fbf4f3eebf3bf6fc58a1c1b20aeee77e5702a9904a62abca58991b8c92c754dd6b03a145f3fe475f61ae4572213163ce3499af262b69de8a217163542e0074a32e47cf9ff254576878d3f17e1ca75ad3d78a8a57c5d19f3d2cf97ed30c4ed6800914e5a03ac71010001
       \\x61e484cb315c873be7a16139c531907eb670224e2843e2f6a6d3d57bbff59 [...]
-5      
\\x0f6016178cdcf9c0ab423ddb2f79da4ef4ca33b84193d482d1156cf29ff6fc04b344d0a368fa4332ae480b04c04c284cfd67f5de46855fa4378ce20e6ff98fd6
     1       0       
\\x000000010000000000800003ae7cb164293576a2bb6779179f28b3f5b5ffcc2ccfe3afa475a7a18f27d3fa8aeaf8b17270b04d9c94dc37dbc89aed5630c7ca4ce88282341b1fb2a00e97dd017e949d5bb6695cd3a4746140418ebb7b43ea42c268fae750824e8e3920148d41e2ce1fbac431404b6790aa61f89f35f0b9e51435db073890ed957e2e8cb3c8fb010001
       \\xac0f0d5e7ed65edda9af2f5eb62ff5b04b93b5e74e5c4a2e821e36f852f14 [...]
-6      
\\x0f2484ffa37e91614d9d3af00bf570527c7cc948e82a7fb7a71d8ae19b246d48cfec5925aafd3da70414cfb5eabdcc1f462fe5d53ab95536e8c5d46fda7d3425
     1       0       
\\x000000010000000000800003cd9dc84b2060758a5d7b253068ae149abab7b046f5c96d8fb9a273e8fc74cfe37e0c466ec4351791dbadfaea0e7a7a31f02fe1b1f3755611730ef43fa9f2f68dc44b9a88b35720e2ded02478c2b4d521945ca936bf5d8629527db7e6f587b6c88a2ff0eccd864180444d56c0d0dbea536a237268491f4c379fc51a952664e059010001
       \\xe2837de4378f8fd8b3305d91df0bd817d37206adafcb524791d76f993770a [...]
-7      
\\x10781b1bee9d3fd5411243b5ea03bcdc9861e9f735b62049a1aa54088d5658e60e233b7a809a25bb8cd6acd4c022baa1d390160d4b4478b85c5aed2472d7c636
     1       0       
\\x000000010000000000800003bacb571fb6b6dd2d7c9f78796095a70f2e4788dafba78679fa75dab230ba8be71a0737fee389945dcf5464c52f4014eef734d13a62685ed9db20e6e6411dbdd0c46c3f51358fa51be00843b0f6ce4d1257c35ebbb2a36ad275f763601f6422821abb858838bb567131a70c09198684060ac1d469d45a68698c8fa397210ad8c9010001
       \\x072771665de823382fc68cff00a28be9c2856a4f50d0d1bdd6656b49f4dcd [...]
-8      
\\x13b41bad97620b4a00faff63061398451033df395a2fdf37a5df7d833fa04d4f8ffef858c6632138c993c40c083f4be57af4ed8b2f1407081e5ef643a44e5bdd
     1       0       
\\x000000010000000000800003c0f83259e4441ac28a695992021b4313a31221164fe11e3818a0a14d2ad88542e84b52853079e4519a676e209e41515adf27bf530598cebdff4b39b184aa16e4c6edb988d7e03363cf4fbe3887fbcc38879d7b2e300a16d8ae9807cb97c21ff9bdafcbcbd08b7cecab0cf3790a6cc14e9a42585f21b272ac53ff48febd0d9113010001
       \\x99f94cb27ce85a94da1522e79f658c186063b171bf7834a0ee41a65a5dc6b [...]
-9      
\\x1724fe01d3ccd0353a77a1cbfdd33a3b13f7b7651099d02521171412f369c7076579d8bc31548f6d56d800a4f2ec80d3b58a87856969768d35b8319acf0ada97
     1       0       
\\x000000010000000000800003ca1b71fd768d2c98d80ebc9064f67d4cb28e20b2c72b1615dcf482443737dd7a86ad504c971afe2298eab047368ab7e497d7e383aaad370a9a9c3a3bb91e400bf18e4550e318f8b4b3a93a76eef5c019288cf9ba40aabe3d74fd3c98514ce5afccb98b31ce9cf7a3cfb9bb7d5b8d1c5cb2fc60266b140974c90bbf2f6bebc585010001
       \\x4e7e5ed2a62b8be70df6e882b97a7b843b8306d47712c885178d38ff9dbc1 [...]
-10     
\\x1a088e43ac30b7761737bce9c393643d61ef72913d32d382cafeaad6942e2fe2b7f9c6c4b68da208ba1a3b0b397feaeda72963c1f236e53b06125c44a0681c63
     1       0       
\\x000000010000000000800003b2be19dbe77d457da569c99d120fec32017dda2af1d2c68ce5327b0c2dda51f369fd2822c20c87e733bd8caba61818ad38b9ab7eae2a44d6c358935bbd73a3c7b2f68d96274756f8a41b14cf4514a77bc8c1e19a45251b5a8ce5a31b725f7370c5cf9df9c2004789e80c0a98c80caeaa8e593ee40458783580e4177f62027ea1010001
       \\xf9991c8f50fa9db6c296f22c86135fa56b47fa3bfaa307d8820bf50b7658 [...]
-11     
\\x1dc0f4adc0de41075926abf65657a27fea7213ccbd1d676341f8dc60fc1705ed34fd3596a184bc418d7a555d83422d27e8f3b256273283336f63781a6c6ebd78
     1       0       
\\x000000010000000000800003b51ef13e04540bfcf78f78127cf43be45327f123e3023b257c1e305bcb47f797478b557440167e1c9494c4cbbad599c274e51ceb6f5c3ec048bacfdae870dbdebe3c560600086c3e79a3887dac97eb5cf0183a898065f8f98b419906722437432ae651b71c139824eac08951033b2d76a6a7cf9a712f9d6cffccc2700194a37f010001
       \\x3d2d151a89433ba68a9af882d7b68fc50bc2fd9de89a76ff0d8c1a1c7142 [...]
-12     
\\x1d605e35de0003b5a9b95ff9df58c40b021b6fe3d4e359f12653a3d1720dcec1586bcdb099c937837c499ab8f1c12b89ef82b3993ead7f1493002863362a16e8
     1       0       
\\x000000010000000000800003c15ed2ee8a170357d68fb0c82e782786806eefe0ce866f9e73b6c0323994e2eead4eaf7e021855cab3198034e7e989d308d130cb4eab0497d98fa4e4ec11c9fbe853f92c7101eac41ad3aa0d4373f1fbe52bdfe862964b8284af85e284d11dc9edbba2e9df35f378d79b68a4276880e7420901461b17a7203170985efb47134f010001
       \\x241d13d0ed143f659a816b4fd46fbbf64d550d53d0f019039cf326acb612 [...]
-13     
\\x1f749255cc2010a30bc45180e6b953bdb4d2811500b33854696abdd0697a863f8805d12ba7fa21c30587eb02e80ffb6f20747450536e548c5ec00920df92db6b
     1       0       
\\x000000010000000000800003f1d73063321fa3142c31aa6f3ec73e734134ecf191e80e5fc370ec419d1a7fd0e8a0bdc7c9a01558d081f41a1f0203790395ce9f7c78bd76282235f34588e8cbe198581de565a5d9bf78a189ace92769590646321c1b80146554bd6d3a72940e1d5fa2d6edd16a6b483a81eff0ec8d8c73191c75d202248a5b9b29953c9f7d7d010001
       \\xad09ac771eba04d666449892b3d93d272b6d9214b7745c8f10ef0d7be491 [...]
-14     
\\x1f98d3e8601cabf3218d2a1323a39867d3a20cf68796b08640395efb6b6b06062ca0f56d1d847cac65ccd9d5e9f55eb079580fafdaee75e56a0eb909e9f6f0d0
     1       0       
\\x000000010000000000800003d617123593dfe57ec49d3379231e3865b853070f0932cfbd49e963fd8566d41390671508d4ddc73dd4813a339e6fe7898035c22f38553fe405d5548e5a79e296fc92205a9089760ddaa7bc099468eb4755b3d9eb24f0642903cc907a4d9b43f83f132fbd892d355b58e6799607d21e67dc72f3a6cdbd7388636853c5b4ca1af7010001
       \\xf35548d88a62d6aafb0b4c9c2a8b997ffcb47b719db4ed1e2186317c6fc3 [...]
-15     
\\x1f48286896cba78bca374dbf7df7d27a202487b506b474679ac9786d130c065f83edfef3f72f1223082d870a2be76e63580950daefbf3cc500a181cc69915aa4
     1       0       
\\x000000010000000000800003ce1fa693d4f982d3b49dace6f83b196f0ed83264a42d890d1450740878e6ce26eb4e7e649af4adb82f0cb9f913bf0bb8d1e083b04db3c6ec197220460f44e5bc87e74bedbccedd8bdeefa8a5b9b2e648691e6b8b287c7d68281acd10acdcaf41c69983e303e5ab3cffc839433cc2aa9616f93abc105143ab8d9958fcef131603010001
       \\x65b19b5297fac83e7bd77c6d37458dd845c2f8680435c10f85346c5f555f [...]
-16     
\\x208080d369bd9633e2fbd0fe023f9c7b3ef1456da3d497fd3d3781eb262f45b343326ad41458f76c7f023c55600181b811f7f5f75aaeeb8794165bc6e1abb382
     1       0       
\\x000000010000000000800003cedab4a4afa502419ec999f42155a9e6da5358d1403cdb591956809774396d530ea70f89ead3fe46d87041ed126685d18b5ca8e4cbbe93174abfd60a2680c84e9a7f70e6f4c13d6256d93b8f99dc73a5dda80a84af5b8ce451510135460fd71ac50b482ed01a13a1597be376c1c20849b612ac2735daff69df48a38d95eac3b7010001
       \\x4707b0cf83b2775e373d77ade6072898d42f2b1210552456689d5a3d5132 [...]
-17     
\\x2a90dd58cea34e61991a61f9c1b7d020f9194dc337c2fcdd48914e60aa68fa49fc002091c6ca8e82e968c3e5f68082d2dc0345fbc1e06a51d6d8bd5e6069b21d
     1       0       
\\x000000010000000000800003a8e5ec8b6604724d7cc9c95762c54cde069f3ee2487c60b1ac045a159216e4e74024d4d5284668ae05e4555e542e888fb755045ad1831d3a2cc7b930ae752fc321faa2b9caeccbb07024e16acfbc6d3c8b8f52a3d9a52aab00bbef5300ef23d1b69f48c2b49e077457981a17e8ea82e83e40f9ed92588518439b624199c25391010001
       \\xa7ded64a7407bb6af6e626e7d9b771b2e27c1a56cdf126e272fe559227aa [...]
-18     
\\x2c2cec8c589197bdf22e2c8e65d88e33f06e016db689b6051213807b693180f39f35efd30b3e8a7832ff0e89498ec95f9320ef85d66d5a35278000e7aabda3b2
     1       0       
\\x000000010000000000800003d7658f11733b3dae615e068a942cfa912c12fb2be7bb52536baf8d0ae5b88cceb47e6833107e2fc35110169f24f8136fc550d030e8bd7e9e4f78de301181e04ce7a3665f3f587d208fba10c411947503abdf3b99f28e2ad3bdb824ba42d35e3e77ca9786c976976a2c3cc46c7f41678baf81f0d37d6d8251e092c62e61140c3d010001
       \\xa00e055c733eb328a0db42729fb1fdf0c01ccd83c9845326ec312d37becd [...]
-19     
\\x2de802d9f3818c9aa8eddbdb573906c104a05e69e146a9b025daf27c69aebe59deeab1fb645ea94dcf9438951358f3176c52122096ad5a255dc8f5bed78dfbc6
     1       0       
\\x000000010000000000800003bd4d31282a1c8f49d60004221f347fc53c21a5174c2704f05f9e8bf64ddd0454b4fff1599358afada905294f8daa3f4cf407fe08fe7fedfda9f2acd93807b2e2c35731971df85f093a03c985b934c562e89b7cf41cc65a8c3c898d5106fdae7adfbfa3194f7990e10f5e3176c89863cd761f755d10ea068c2aa044243c1fd6fd010001
       \\xe63db9daf283643d0535bffe8034c06e653a3d363c7f5f4a75d427697f00 [...]
-20     
\\x2fa8ca5403d0ce2260f51bb45e5cdb81dc992d667e640875a825f424b93a8245cb58392b68a8e642ca6bce8256052d17ea4ba641a863d48b35cd3f16bc6a4e76
     1       0       
\\x000000010000000000800003e708f2b2b211dd0e3be279fd75586a9272b3ec0814061b79aadf5ae99df168e1a1ff0805b1fe44f709eb029176ffd998e6d17e809b87065a8bded606f6b589ece181c56e1843a53b96f1ea43273917521c44bc76e4347c3dbf2d4964078829976da9eb814de344927b669f99a5c6b3c3c5b718a9e2403007502f5f4029322065010001
       \\x3189504b7d5a0fa4c7c4d55920e188f734f0be0fbc78a86279eae51e533f [...]
-21     
\\x31302bd097a6b7059990c7e8ff09d7d62b4bf8376c2ba7416190aa7765e84913228578945786c2020ae320c8e0977fa48679623ed9bbcbbd079b9306a9a98066
     1       0       
\\x000000010000000000800003bbcd7a451f5773745076d270c33a3851dde45b08c47b5e254788a495acc202b60a286098c89075644e90db912dbc4d26cc8aba846f3c0934e74f93a7b0a4a91a6ec157a1d8a95651f2730f380b0f65d6a5f0837e07de81d059637ac094c44317e42804a6a1cd3d4e93db3c082cf1cdf531e166a5a1daf43d55544d2553eb470f010001
       \\xcb291996066af646e83b93a2cd02dbed85ad0ea1f58f396a8f221e085f58 [...]
-22     
\\x3a749b0f49e87d581ed7821e01742b2faedc1713ca11fd84a4d53aec79857dcfb5f12ca9994383b97327c2c0f48270b8ba7c73721f9fb724eb7c05379573726e
     1       0       
\\x000000010000000000800003d089e2432e6c8a84a5d5ab2f9a2832670a39289ddf9778dfe3169bb0b47dd50250e45d100bc6dcc4d37b4308da9baba8687acb69fae523ba0604a9c4b0fe8e5695820315e9106759c38a98a1e7db47d7753d257566f877b773268d2e9c9521d86bf4df7e391dc4407aa70442f09d67ac1f01960a3a41e5d777a73b54b191f22f010001
       \\x75ea479655b174dbe4ecedb257777430d9ad5c5957be8e96f90940cbd786 [...]
-23     
\\x3b54a9d2816868cb2924149cf45469bf8a1d8920ca2e0910963a2c4676128ae84fef6ba7c0ebf72ce113d57bff386ae07c346d9f95a1c5f7cfd92fa7429c2822
     1       0       
\\x000000010000000000800003c9120895ca0783a87d80c169b2721f6c97cd29411b84f27210caa352edeaf66540963f18810b6472d7f7549df7437c4f66354feb1b2f26af319332b8fa241682ea8dc7916b8a33c9d8e330db05a69cb2476c139ec201ec5db55814a62e02c4cb31d94747f5a786263a7160d998d5cd1f30c0472c6c0b804a4cb083bbab789433010001
       \\x73a10e8cc71bc7f970911c12239c5c8c575130b893499149d845bc8b7aae [...]
-24     
\\x3ba00608f8fff079f9b4310586a4bbd7895b8ec99f8abb1963778c8b925a2b5ab6579e2f8286a4cd84ac54bce2824eddae0ec6d82b60a95a06e32301fbf944da
     1       0       
\\x000000010000000000800003b0b06d97581693e4f0e8c97167722bd9031a269f2cf85cd759d5ed1be0d86ddd91eecd5676f5310837bacc18c518e6c7c491d593c3bd86b6c63108e46169d0ae69628fa89be70467569a50da0a290779e48c758a45752f77e46f48643856116d1b6e2ca20092e265eae4b2f5edcab1751be6430f39d2bda40bcd3758d68d3dfd010001
       \\x86028bb0421e6bcce39d2109f8ab49027cdd3877bb1cacc5591142e7320b [...]
-25     
\\x41b0c503b3dac4c8c3c2096af640e471d11297506e7fe41308976bd577877b36e47dca54d285ebdce957ae818ff1c76559b93e1e68fec7376159b6858de8367d
     1       0       
\\x000000010000000000800003c76901c9abb1456cc55bcc46e44686e6145a0d0616b1564137be124915eaea1662944475a544201dbbf1775d67fed06c95ca7c19d45552251e5de987d55b7588748b4da6b41d03a1b5b2c966bac3e417c68e182f425d607b62f9c5d3aa7f845f5a5f2acab254f0857c0965d598c28d7292a8c79687d84f6981a8172217983b1d010001
       \\xdfdaab9a3b508616dc890f0764d7115e7fceeca5fc67e35a05a099dcc2be [...]
-26     
\\x42b00dd5dd2938f3a51daf2aa6e70675c42e20ce1885268eb7647c64ea1e317072023e5923bd12e879cf82a92d55608fe1dcc20a4a62e96ef5bdd250428dc34c
     1       0       
\\x0000000100000000008000039836bbb68104694d074d2dd8b7e19233d7df5453e099afa93b464da6f7c8c2c55f87c5c39fc5e56e1634fe492e146e10d1e31acbb0b34df7b37f8c43d46c6fd3812d57aeeabd03535e9ec92c1022425489884c79aa47c8196331f160c60f55a6106ef0fd88cb4f88f1466b3bbf9d509b8f10f5153de95f5312c483c1b53cb267010001
       \\x70950990316f990f9368c7316844e8b3c141015352aa4573f87b0e5d17e5 [...]
-27     
\\x47bcec50593acf791807f3045e0923b6d52e785878a87c183d62428f7753410d965846b89e9c7c851847ee4542ae7581edb5b6b99321a70319f846199aa46019
     1       0       
\\x000000010000000000800003c5ade7e2de4450d621d3bc5685d2de992e9955324a1a3e31c75d56ad93d60fa8b38f754a7c0408b506bf9fb116e0a8f91d245898673a171703a51e05f1dde49e92c449fce113de307bd1aaa7b4948e36bd5e44eb1f90c260c0fe00a1a8a50e67649acc9c1d8a4b2ff041a52e3595e9b1b3c6dc57f7545f1560f7bc7c39205a09010001
       \\x2cc79ca4579e426797e1f072322eeb4f2d1aaabc37678bbd0f6651c2dc89 [...]
-28     
\\x4928316e28d093a5b5012cdbd6eb2c82c5b902a62bbeec0de39b73d2cb46357149230907b98230c770f44a5d8628d08a92a91973e27506433cc69b81418cd932
     1       0       
\\x000000010000000000800003c740a1640c7ba742d414e1a17d72d64dc0c90a126f86e16061d8ed9b9321041b7f89c3359f13baebce0b8c8892dfc6784ce061e66363dacd6c4bbf7f4078979b3c8dabf99828ec5f77d6a2afcfea006f290711adf7b6949ca8503099c8df164a4a596dc85d7ea8eb3c62be5f2de47a798aecaccbc5cf17ad12e4e08618eb8107010001
       \\xe16bf36c8ea6ad5c7f9c8fbe18d60e898425e1440748c468a63680cb63f7 [...]
-29     
\\x5354b02a9fd7e9dddc602d4d363c7b4d9ce36306b75b98f7a84d337095806c266d9959ed3bd89a21fe927da3dadc7d2f097d08ef47260dd7a3665d3f95794243
     1       0       
\\x000000010000000000800003dda27447cc30c1d20dc8df9b3e90311cb766f9f77a8467edb6fe7e9f2888501acffce4c0a9576aa60ab5882e9c1c4d2d428e7e6cf94498d41c258c9e1abac311172ac3a5ff59586b205f0ae86e89b2efcc67367868b6e0b5ed871ca450b557ecbfec5315aae9decf96cd114e288f399f5aaa9d124b573719326012b5c61860f9010001
       \\xf50a4f7ffc52d17e0d62ea71e8e6196e26d258f852e05f7edd2d612cb420 [...]
-30     
\\x541c7a8a5f2f9c0ecf9db2b20a5130408ee22573c6a8ff084dc9cfe2451ca7d3ec3038166069f0dbe4694617d4a51e0c508dabbb19e2c5352923035339d7e842
     1       0       
\\x000000010000000000800003b30f2496b7d445b4dc7dfdb8a748d23392e68cf00878e41f3878cdae00d0dfdc4ad90e5820b61ebeec76a33049c358ad8c50598721d9364bdc0e90142776e640ed990a05402366304612e189347933cd218bc95aaeca0a2c04c766439bfa962898b334175ef65f4eaa1f97c5ba567fb2a3fb1ed64c61734f41ab8a09055f43e3010001
       \\x17be2bce4ce0df242081dc5498bc8820a08e73c94828e0ce2d526ebba661 [...]
-31     
\\x5524ae1678d05e584fc01df305757c78a8c919a71f6f4f092faa2e88036ac33c8d53d75974f328818d5340f7ad0947d0668dc30774635927783be174942e7c6d
     1       0       
\\x000000010000000000800003ee44449e9f48beef8d9c5561255da3ef3a239a5a066a82867baccca79bbf090357bf5af8d55b24fa5ecc00438b9dae0bfa6002b4b6e4171be3e58bc10c612790583e1eaedfbd9402a78beee6fa7ae33a5f7d5e201a780170bb3d3a8b7eba3d1df17053ddcaa11e0a2069f24fd6e545ef1d03a4c1649d65b93bb72dbb0ccc7811010001
       \\xa3ad28f1e3841f5304653908ca66d71750130ffef5a2e1b07c303c9753dc [...]
-32     
\\x56dc8c97f86b382b7233a942f12c5d1027deec57d90f7e5d87e3f2f29e339c1bedd77075d5ce6d6a4fa930f5f3d9337658e09b7079d51d5d80b7cfada9c078c7
     1       0       
\\x000000010000000000800003e52850c3c20c2429a54c8a0f8d35b3b69403771cf4abce7dee89236ccb713865d54ae8a7df93bf38bd3ddd03db9772dc3958f96f34b4e11379f50a8d9388684bb0683d67182cb0d674391a16846972156281f56a3b270884aea80d44b1b061a00830d5d28e8c458e2344784555d350e0dec4abe0972e1f092c5e09d107fe7285010001
       \\x274c4dc9482a96123a2213c7fa45416cb8f5d0aac78785664846e2f91a78 [...]
-33     
\\x583883948296c9fee0ac787e437c6963fd07fd59e3e9bd960b7634ec76384bb08383d1254a145773c7dedb5d750e1dd47f842a5c07789c7e23c5bc989283145d
     1       0       
\\x000000010000000000800003ac5a3a35bc1e782560efd94ffda32bd905561bf5bb6ff366dae530a7a991e17727ffc7420134562eeb79497fcc0a25c8e12ede234aaba6bce4ae16928f2d18d88339cb528f270f39f1d41a442c618aa727960fbf46d8a5bf6505ca125a3729bc0e1e7dc56418f5e25525ce60ddc5f30c3873f41ac3ca58279927a77c6a4afcf1010001
       \\xb31da122b5ce0cf8c078052d27deac28d3a56c10620e752e10e148c07653 [...]
-34     
\\x60ac2e47b67e79ac123d4e6176c6be1ef86d556b5b21243c7bcce9881fd6fb8547ad5e365b445f3cc2e3a803a5caa0811d12417056093291c48b6e0fe382c52b
     1       0       
\\x000000010000000000800003eb19a0f1b8c5b6ff5995530559a41d9e36fcfbbf42d89627856be91bd240bd3a46d429f41afc4830f92646cf18ad9faa70f467e8202318842bf602f8cafedc6efa6a785a3ccf1bb669851690161ae87a403b92b73d9bcf14abb9ef11e1619bcd962b83a9bc641e2cf8a55a78a891be4072b3cc1bc27e8b2c731c65a87bbf87a9010001
       \\x33e34102bc2291afb7e10bffbec68c078d194ac152ff61978eafe8932615 [...]
-35     
\\x66b8af8617abc1660403e3ba45868d0438a450378c8078740a794030dcd0ec03164d3ad73ed0ac60da9f97478df2209d8178942601ddd168b1e1266fe250733d
     1       0       
\\x000000010000000000800003ecb00ef3b4a8aefd598eb897be57431c505813c935171fea9154c3d81e6121f1a426dc1107a1ecfa8d16f22f0153752f1130f79fae503d6955d9104c794115b1e8b12049f36830e6db3354f21acd3c7f78a9b88a3cfd9c680116d10ebb20ac409de0bdb0f62676a7dd8865bb4d5ba1bc8351e3003a03b5a88c31ef4c6f6e50fd010001
       \\xc4f21599b8ecaaf9133ca930c4acaacadce74946ca4bd13450c0ff0f0997 [...]
-36     
\\x67b0448aef0d931df6e741e9c0db8809eb79ebacd7bf3fd976dd09281b51170cc9834ce16d087611a37037abe4ea3ef0319cfc7313894c49d82b31e9fdece4d2
     1       0       
\\x000000010000000000800003bbf8d4520d5889dadb2effaadaed3cb50a329a773e9e38d25cdf951faabe56da0cf571564d0d32f38dcd83aad9c2dc8c45b0cf3ed1d79e754452fec08895c286ee9059166c88b307297fca1d7457aef310e65a88f555dee4e7410710d6f7293079d265923f1412858925829950f2a77cac6c5e1a55e0e6bd5dc95356e3bb1313010001
       \\xa577b3d145753afa8f866ec306a812972a8efa2d23ba0bd9d30c0e502875 [...]
-37     
\\x68c805b4f5cd6fb6a04eacd94560b5d3cf9553ebf9ab0705426d01e6572cc969d34bb81dd9e29607945dccf4b5e759700e4841aadb4c61392dc4e2ed6213337d
     1       0       
\\x000000010000000000800003e8976139d2cee41fe3a5cdb1b4c34e5e33d14a4e7c85d36169f748e0cd596f1706a8720259850d0428856ee662674652df36f2d76285183f84256e79c4d58bbb7797debbd637537555c112929a545df225df86655b2f115a9c93189edd68fba0ab6100274736ee66c980554023d506c89c08f02b7cf87cd3e54621691ea6beb7010001
       \\x58123c92025e6f6e1e4e184d0905a062592688bfca26d5aefd0f8bc0d0a0 [...]
-38     
\\x6b9c6585ff9c9cc0d9541c6a0d2949c566c5b41c20e733397e274e10478145cd0d4a4ca6c25a2d3b56e4556d35ca62690164ebaa6939995b20c18ff62b2ffe82
     1       0       
\\x000000010000000000800003c098c669e9cd6b24c44b2e119ccb11bbce9633b173c97c0bbed9b7bba85260959550ea6bd2b1d621afb426bdeeb999f70862fcdb332886f7126c842f1488d29b69c1ed123e0fe33c2674452b6f7de5421a81fe4698bd7293a02b4871714e1c3f2c7421b0f54b26110dfd2847cbcdacdc99c7f579da6d7fa1dcbf4666876540cb010001
       \\x57599fa34537c8507f8d76819a49791f8777556b06310c2486da600b58ed [...]
-39     
\\x6bdc0d0b0ce4c03479129efa65b8191ce457f653ab19fb1652cea4ca0472179ea1ef8cf9dc48112a199c47eba1297a2bdd5645a24d391d4207b2a0817b70a43c
     1       0       
\\x000000010000000000800003f09ae9471933d1c3b70f175e00dd41146533b631d82facfcd2b9f9753e6bf585488f825c4f5df32fa7860dd448ca8197bfd6c20cf6b7e26d2fccf9e258f18a204b0590a637dd16e35a9a92cf9c3a8978b053b399d8d837fa1685262dd2feb0f366c861940246d99b5d3cdf7b1dd0e63826b6fecf4e9ea9ff729572c78b90249d010001
       \\x3b9c3b3b78c058861d56bd7a49df2049ab529e2cf7dbe51ea10f0d13b8da [...]
-40     
\\x6ca03bc4db3cfde86c1d50974e5098092d07de0cae55edc89ca31fdfa28302792daef074b288278f3337fd1a55a6affe6bb62de965164fa37f45e9c30e9a3ffd
     1       0       
\\x000000010000000000800003b96ad8e3e9a4f31315ced693098356f7ba78137287750d9ebc2a391c104352f0e9af7eb08062d186116fe877bcfddc75e735b2cad7b09fd85d2879c21d69cba0263969eceb914be3834deed11af6be416a48ebac55996f70c6566029da3a45d4e116c25692cb7ccfd4b5a6079b58a15555d0ed46c5b0fe7a160341ac8b0b6611010001
       \\x039464ae350ad04e8baf44167a2593b11b404c723038ca0c16dff4a39f4c [...]
-41     
\\x6fb45ca71d8e83cf35aa12a953d646f4e06df5e133f74f366e92a5c0bf9f4e77abcd4a9faa3c344230fc3efb1aee40cd21002337c804962d683909743a1fb591
     1       0       
\\x000000010000000000800003f1b662e961851136e1cb15eeb938d289c16c531d7567dfb36084bca8aa0357231e11dacef59755bb9da638c86faeb1aecf2afebdd34ba646aaf43b46a4e19c2b063f3e61e5cbb17c2921545cd1f36efc98e2ebcdbc20d24a48310d059e66a043e98086bf8bb26b292a69db09b4d2ae0ee35a6deee86d8b1745bf2745f095f62b010001
       \\xed825f41bc15d5f93f44f4d50def73a4bc9b0d6893846c1ab2dcbeda8880 [...]
-42     
\\x707c1b238d7f2a237447e4b62795e12d430de377edde6be8e4818e4b477fdb396784ec2c7ee1aca9469c92d2f96183894e0e6b6bb73943212dc4d5ea1a2c24a0
     1       0       
\\x000000010000000000800003aec741f3cd09d344b7f54354638510869baf64e4bc30bbb571606962ff047dad661dcbbbcb985b8c980d89c23f3f040ee37b9d84e4b6f9a8262d66fdaf47e8f35995952405c799960825adb096fd1e1e1a0a40680e5d5fd6d0f82582faaad02ffbe45849307f8ce3b11f246c3c2982771e1ba8e8834f171c16bb4c3092724d15010001
       \\x24a591096ce1e3fbe9f296e8f98ef76eaac4b0f5a1df59134af42b38ca44 [...]
-43     
\\x7364536776e716282a1d6f76edbab36ba9a93c3d03e7e2ae1e56529511c3960ab995b94513c0501f23a31a91e78c190b00397856cf423eb9d0a2e44857699ba4
     1       0       
\\x000000010000000000800003b318dded3b3ce737aa470bae6751660e7a1b2c6c88db361060ad25f0ab4c8c8a3c5c4a5346c53d2cf1cfa481da1da0966145e8fa53f41660ff95eb22738728e4ef63cf84a6487f65d6697a849b28e3d68ede04bcbf3a63700504afe027548de421e9e0147a4aba65ef197aca76e1a1aaaa2136762529570a425b5b626bb81063010001
       \\x2c9a6981b2daa4eef8c87398ac930973e4d905570886caa3fe499b8a2241 [...]
-44     
\\x74246b87d5cbe6d782c55732ffb6bae18f5a1910e1c4561fdc7d16417b389087832d249ba438ead37c332ec28d672ad795eb4631ac91bbbe762810c1675b2c48
     1       0       
\\x000000010000000000800003cedbd7e1cbfdbb2d31397a574fe125bcea7693722f01a5e5c8be37e6772b942ded916420dcd3642460e5af4eeeed21be8b843c0225772986cf19317975c1ea0a0e2d841e3bb3aa066ab908b744942b6fc1269a603491e13ddd4c3ff7bd261d73c0b62f6353de69c5960598de801df547bdc0adfdfaa47ac9b9af9cca918c8ddb010001
       \\xce485278628f8fd862c67b3c69722b009ac4e651dc6cd61c552f75338649 [...]
-45     
\\x7478073894cd8c545cf903b7ee90419a4b037561829446be67003916cb88aef05c154cb45e2de9ec9818cc6f619d7efe42ff7582a1e3d14db076e147101b4458
     1       0       
\\x000000010000000000800003d687c47d487ea17fe4b509816262cdcd7d166a8dff842dfa4b7f5bb7a84338022dad2fe2fcd987434e59c8fb06bead57f2fb0fb3be734ddadb71f50fc4af35a2b7d995724a68c6d1fa7b5dc08f6eb6cf661bdc975489523a279b22bf2947ebf1a18001043f64270ce8d3d3c32ac962863a62a97512b3880e6440a35b3f32ff31010001
       \\x50a13b9dd12513996c47c04432167d145f9c64c41b97ba14b85175c99e29 [...]
-46     
\\x776861fdbcb4c3fefc830fa0b2917ae14ff11cae2f3b85b4f20224725c6b459b748d829b20f7a39e048e1962523e5f804180a8b0f8588376f08e2f82aaf3bf1d
     1       0       
\\x000000010000000000800003bf17e4cefada72ed4ff0658f3bc2c67f4f426ea7bcb8bd10beca2f210db393e1641776569a167457aa1e58080a17d514d267e7bbef6df83477620caa52453e845b6b70ece2dd5dd8aa7f66d4282cab81207926348c5704cebe75414554d897c120cf2d34c1a532be794fe31ab2815ffb15d15c9f7a38064dd77930854a79d26b010001
       \\x883b16c157a03a52c6f0dbc4338a8ff3f2fd5f63c93f5797b3fb7ca5e57d [...]
-47     
\\x7d049c931915821a0dd302b465c91ea689fc1992c82ebf51dcb8d7ba4fda8c943ea43a373db602e2d9e826fadecffb54a95bb68285d5cec32d42d7ddfef1b98c
     1       0       
\\x000000010000000000800003aaf3e0de672ec38a26a30a99028a284e5ca07a8d80dfb59586f88aa16705cffd370dd6d505a1f5716448b46929a6f4267f45ae0aa16f34bde2394dd6ac7f9045e94108d75b924a03930e45b1ee61b1ad5536c28b5b8b6c251207879511548c6a0168b32ab5a645c98876827fc48d05bb5bbf602bb3229432189fcb4465fe248b010001
       \\x8e5b3ed86cb3b21850f5f57aaab2c82a98d50695aca8c419fec5fde491b8 [...]
-48     
\\x7d04a7eb69f35777e56bbac322a182ef9922eb264d1c8c0358ae75a5a4a2669ab02ae05597be75792fe1163d33e2b96bd55403c0bb17ca601ec5dac8711b0af5
     1       0       
\\x000000010000000000800003cd72a0cbe68327fc332492b79f4238ad4a681a663b7597ea992e57a88abdae4439ccbcd713c58a80fbda478731bf90769eaeb740fa32562c6c5c9810db6a2e7400feae7bf340b90d09a8d74e491d1107eab77d7a871272a23f51eae6b5237e19dffe061c394fe8fac2351a750ce10c42abd80968a3123e7feccbc27c6b1ae7cf010001
       \\x45e87b6c706b3ca29a8ef3a6ed5e2d4b683b4e960417348ac6b12e6bfa9e [...]
-49     
\\x7e0c627b84394fbda5f02558b02d1e58cf45b49181d49b44f5f76cc2d3cb626419e95b93561991bba716f8f140151d7c4935e192cd41e011589f9c2c61cfd55c
     1       0       
\\x000000010000000000800003b922bccdafc0a075f41454f88855fe9f83fee229e232fbd3c204690315f90ff6781bfa132718d548297355c20b7aa2d4affde7e77731c9b09327fac1b252d969c4fdaa1e5421093f784c9884998cc0c1a3e5b5d098ae2b5b75c2d4133810a0b37554979e0156969221678a12ca433b75a1c16f45779171750760da7b4abc93cf010001
       \\xd063ebaac6418da66badf44cfc7df52538deb0c166ca425f7cdaea72c63b [...]
-50     
\\x7f9445ac12d2f3233bb5b3cf75dda6352e203d3c21b83889af322b8f0b6c8cea9479ade66d9cfa5a1089207f50880cdb5a9afeb701f485be1d0130ea14eb9f53
     1       0       
\\x000000010000000000800003c500cadc1ceec6bc5a27ed05f3f091ed6796f0e7845e6cf417e4473a934f2336d0c5de959aa46b128256ca9eb6189f4bc5bcf51aeaff6de1b32fd4fd9bffc938edc686306fbc5416bb264ac1a5996b021ae8a58dd9f2a000fe174f63e96a4b5b62d6663a61abe43415e9318ae8de1f673bd0a7c09beb11057f84e4718ece4387010001
       \\xcbb2e113a8bcc4c299e17ff1b18e2726f3b696e63cd867d48bc5f3e164ea [...]
-51     
\\x8db027abc443d7d707c1c270fd9672394c6e83675d2697c7f3cefa6349fcfd56884580785b8c3984994ee061c50fe228c66bc38d9100139daca60579f1991c1a
     1       0       
\\x000000010000000000800003bcf3484c804c570167bdbfc38e274332158643b12cde503e60b713dd651be244a4275f4a936170234fb8c5980acdf6c36186cf047be600522d51a487d8c8f56334d8807c2a10d3f2376aa3ab4cb0a7d6342d620c7bfd26d1035a94bff043beeea4c4d965d7a4a197aba361d01ee6a84883274f75f43497780200b1eca2fed541010001
       \\x5bce8c31ff0ef94836255fba2a95ce9f3ea25002a44efd33ef79197bf625 [...]
-52     
\\x8d8487470d9576751ff22f22d8caa9ef6ffe92636cf09f5f0a33caa147e8e0c564b00d1da6c29246ea9fbd78ae2c62988ae5ac25cb9b0cead96ad21cd7f3d19a
     1       0       
\\x000000010000000000800003cb6d6bb07ffbca2ac864d6ed10b53167f84cefac9aed1a439b6b8c50243cae565bfbd1814ba92508d02a2b9024e2e43a5571a083d8f372877812d0624e70b072cb858cc32b3c4b19714f8c8804b0b75ac7d9f1069702649144dabf8bc616b7239b845e9689bf30b57cc3904dbe4f6d1573ef293797da1dedf11f29f07525f52b010001
       \\xb2ce44bf31044ff5096aa407f7792e41f08cee7dd07d5dc59a9c9776e9f0 [...]
-53     
\\x8e04ad6ca6d66af799ca74f2e17212c5b51404e1107a8776f8782663d4047264d7d9dca402555ec6f26394c50f52362283d8f4a3e03d241b7042e81328f457c5
     1       0       
\\x000000010000000000800003baeacad32740f974e23289f009f2bafceef14fb5fb70bf7fb9b9795a7b2c43da777f6978cbcabb2c98a8b69970912349d30032dafa29cad4e7e0c268475f16cccfaa0ea39aea60c9d59650adc7fb33ed27327b0da8da3e184f799c00e45c62007a56e59c3472f60493a076d2f6e66f350c2829bc44d81248f434de9e3412311f010001
       \\x3a5f4f4e1081c4c3d08a43c1aa3442af3bea6196a204f0b67d1ad3ce37af [...]
-54     
\\x90803f10bd24f9fe6f5f155e7aa9e1602742d4d9e44cadf02b5b43b8609ec671a2fa1d0415390d41d0ab08e7b16a217147cbe703c88ab2e92de52105ce28c0af
     1       0       
\\x000000010000000000800003a0acf0f0fdeea86ef8e4b1180826ac07d38bae89fdacd8ac509ac82a8d463e7ec73bd6f7d3003e57852706bdaecdca6b3ae5753687c66e68f7cd7e5bf133162f76db713f0fcb43c310b76ef60e7e8863e4c02b852a0733fb589fec2267cfb7200ad25e1045c7c26ebc4bf7d761557f8ee3d9f5a3544b57259d5f4090b5fe8af3010001
       \\x748b3e7adbfb3ba11bfadb50795c17d0347e9e6d77dbb6fac2a897cfc63c [...]
-55     
\\x916c9eaeab8157bf4d218cde52cc6bd38aee98c92c7f9936d6fe86bfb9300fcf073e94e3a6ec44e719aea66367a4c2f689cbc577b984d5f484948f24826cf84c
     1       0       
\\x000000010000000000800003e0b232f4bc8f6927bf128aad5e7bf7cc4f037161bbd7ff8f6d04a07eb55937c503ef5e47c98b4da36041523deb3cc4bad64e70f3895fb0658bde7d1c2fd0a1ccbe4cbdb759c7d22ceb3eb3dca6c38856819a8aa76822254f946a10d7d49ca1a3799cdae28d69e67b190e22a59018b5ca2e0937fc2c3716ae30c7b92780421f45010001
       \\xe3eecc3bfa23681b03a94e390b7b7671630bcb66661e1363b748fc452c30 [...]
-56     
\\x98e04edf8c716462957c977a0692dd93079af163a110a85526671950d8f097ca8f8cd9d84bb54571d93caa21a809a588e938118e1ee4470d19d010e657d9d832
     1       0       
\\x000000010000000000800003a0c6799afb148ccc064849f547801133db8e20644e65f0114679fd14776ac8662d32a2357c16a564f9ea0b85cfc71533892e0182b8b20ba469c9b4bd6315fa1453a1e22d62f9b28e75356d46d9373ba79fd2c17c6e9f0079c40359d2845130ba5fa42732b49b5f341049fee1f428fd532633b94e73e308df199c3646bb707727010001
       \\x9094821e50a9ecd1fcf515cd3b194fca46a441a290582e63a617b796827d [...]
-57     
\\x9a30f35fa4b0ebb5ee2d0c4541e9852d0e7048583935c23be57ef77cd70bd294aa061ba5f6d64de9cf9c3b6153ebf542ffccc560e4022daad3a3d0ae4a2e1aca
     1       0       
\\x000000010000000000800003bf9a3408e11ca64228e285cc13e0588b8a12133c984af575ec64dbfb97a61a40c0da403e1b7d244a3be8f9faae0dbe1a6a790f5526d2fa88d4d2b8a63d89f32f8620570508bb2ead9af47a47335da327f7a44aaa617c15d7b3207fc09bef8267c48d843e2f79858a5170dd4937dc209c0fe1493ecd9d2c829c85c0460af08db5010001
       \\x8c914e9b6aaea4df3abcf4b9cda1570e862fade8acb92bcbe5f150961683 [...]
-58     
\\x9bc8afbb9b647678dcd5116e9ae6f6233d2d9732e66caee2b32b2872e20c1f9b844e99942541552559aba9607167e30d8c93e9bb4f6909219602ffa8cbf0e381
     1       0       
\\x000000010000000000800003bcd5ef3566834f2189416ac9c52db17c596bfb1b48524dc7fa53c132d54bc22007adcb562486983db7a4d41d253d116863a6e6433d78d26871a1c37be1091350c1d4ce5a7b8c90768857a8f22fe8d750855415a6ed75321a2b05e955877fd263d30aa8584761ada04af269c6ed44a0af1fe92e30c1cb445097d2e36a7cbd9067010001
       \\xb1c30b3407f4bbc81eff4b2b8e5e241f728d7a76ad311b76ff37c11f7998 [...]
-59     
\\x9c0826b29d61f7b80eecb560a28d38a2202550a3c7ff3ab5d04a189d88a3aef4e890fd9fe2376f9964a8c4af0246c28b92707a28b2ade4dcaaabd24c2b661672
     1       0       
\\x000000010000000000800003e310f7747a314a9bd535de3c9047d453a5128854c581340429476455f6541c25be421b11cc06300c284b0115cfd514f9a9f2aab238436b7668d98aaaeaa6a44d8268d274d30e9df3c9b0e63adedf1aaa0f771f524719da4a1f0f5d6a2b01cf8e250f776f6af87babcdb8fe671256fec111a9f7e14d80909634fd70462e4feaf5010001
       \\xf79f663c9e7456b2a5a5220f593cbb37ba0d9f5ecae93547627c36db73ae [...]
-60     
\\x9c8c8690eb9ca7a05799b819acbf0bb21316713d4a1267610e35215f73441acbc52476831616262f0570ada2635d75318b8d9974b0a393d9f9ee762a879287f3
     1       0       
\\x000000010000000000800003bd32e8c442c8297c30526a9ab66a176c7149e0e2690ca49601957e6adc17684cb9f13ad3c311a78cce0dd08f887193af9f4400143408c738567ae32cecda4cb281ab8e54f9afd7456d8e61dd4272ba37af76ee27a7e59e6468ed2d6a058bab398bb33243b978dc35a5f12d012892d6445b76ff4408be0a4299a292ac5e4ffe0f010001
       \\x65568b803ad33802bbec7bd80a96d7d355bb6d303eae5e3ae7f586ff4e3e [...]
-61     
\\x9da45dab4ae4a6f2fc78cb0778e491a2f52b0a83488981e4c6647659dc0c3d21468dcc2e4fa7d21a2c6b8fa06d711828fad9bed9d12d8100f3138400b7f9e8b5
     1       0       
\\x000000010000000000800003a3cd51263182fc9636632ad020834dd099ac5cde9e5d46f992de39021ceb5af2ce7ba44f59cc6ff2a1d3941619a0a2c60416c7d972213ff9573af588a72718cd6790f6c631ebb3f644b38f6f2e49b309503e03257a9d5c8e9503e65817b436b31146f8f64c384db6b5b2465b35f10e125b27ab32639b8ed69e96945363106675010001
       \\x01c3590b2a080db2758b55d83e672f682b1737618f15415edecaadf82b25 [...]
-62     
\\x9d0419b01473a238e72c723a867ad08a1533c38640fee487b554f8428d0cdcd9f3a88aa40593ee1ae4d064929da41d90d1d645ce03a47e3564598bc4ee5978f4
     1       0       
\\x000000010000000000800003a32c12df2d89bafe825ae0e22d0fffab87182149cfe6583e4ca5ef35b78d8b0b2b53718b735cd9987a11158367dbd369615c99525230b12aeed36cd687528739addf8a8b676d493ec83baf7d70fba0b62241c0ff016b2a38c1b9b6144fce0a8d6cdeac613c0eb8bea409484ca48fcd4fbe4281019044e9b28aca88719f218835010001
       \\xfcf6d399e0fa53aac3d58aa3398df6dbae823aa17b5a6a49e467682843d6 [...]
-63     
\\x9deca5f019077e7c68035b16bec9e51f3f687a4c52d9488913edd25ae85aa864cbab3a4795d21eed9df1c377ee06936ded9cda124ff476334bd06a6328ea999d
     1       0       
\\x000000010000000000800003bb052a6f78687b604a9b507165bebd5b0688ad7f07958f72b14eb6360d0ca756d41ecb0968d3be08526b9a95d5eabb6c6421e7217cafb706840d4788c67b092090264f1aa8c0e885d9c0096555fc5450ec0612ad5f0a684126344cd1b3f778a69bb7728849255067871eb2e9e5dfafbbccbc68aa26f37dba8d3be610c435a729010001
       \\xa09bb67852df01cee375d1a1ff0b5595746624c566427c504f89720c5216 [...]
-64     
\\x9ed4cc8712edff70a379e5b3358260b08afb9c0c5db9a438f67a266525be1536ebf14c58d58ab41e6cd5ad461fa23a59cc590741526d89061d1af3d7a2f0fea1
     1       0       
\\x000000010000000000800003e0e9fd29a3b6bb7c1dd1178ac9e72c9eea12a01239be5fb5424fd2b5c980a114dc76ab8d0cad8b8da924b5fb6e484f6468d5b679e9672f3d2f2fc64f05225b11a467c00fbdc2f88472229e47cd4812bab93614f02ddb650d7be0a250d0febd34a3c094f6c69c4db3e36965d7eaa7ccfa431beddbd5820e7fb4de5c29a5774999010001
       \\x5fea40e6ad0781ea42aa6402f97c66da904ec3ba3e8de7f85876efbd2550 [...]
-65     
\\xaaccd61d0d7245a536bfec179677e42c8ffd0f1c72b93ba9c413c989cd8653ff4513c1d18f8c7a1dab9c893a59e1ac8b98382b96be13944e85ca246aabfcfefe
     1       0       
\\x000000010000000000800003bbf1ba79a16f3a85f4b7b4239d668d399db2264856c1daf8bc46da813fbfa4988b1d04b1bfbd4a7510cc21ec10e60fbb29a5332ddb786d901719175d1b3d8efd47c69d8bdfaa7b47ff378025d19add303b28948d9ad99d866c23a77a67bb08aef1e465417fa38dd61f8d86901157da8317fca1e3ba496913fd42751a05bb8113010001
       \\xc8d51d922ebc8a93230b8e2f3cf644c404819d8cd6ed07d6c67195ea4187 [...]
-66     
\\xae702901bcce8800cb2179cc843d153ca2af29b28886d2b9705d4d0e3bad29bc3618b4c16182fc2bba3f9d7003d473f87d6bf9391a31b5b26b18089de57df95a
     1       0       
\\x000000010000000000800003aee4fedbc8871851ab9b564a578f05b3bca15794e0085ca1f760ef6e3eccec9ddae4f5b6c8a70245df13c1ee67f87be6a2c182a0dec4ad10f28786976ee5f1cae771f3921a230946932644284634500a859f86cf53c4c257ee6b6699283502b37356e6738014c6649b95bfc5edd40e93a7a3d83199b9ea07938f9ac1ba9ca783010001
       \\xe814a82c5eb53eb1d92c9c7d65997941d4fe4e86b63ea8c0f45643a392c8 [...]
-67     
\\xb428ec92f7bb463544c38b9fa6b021bdccbf14989b5edfb45f3ce73f260e13c3d794f662e43d42f4e4065bda1c7443df13ba00cd3346a47d1eeaf8461350c463
     1       0       
\\x000000010000000000800003db4a61bbfd0b4a6bc36a0fa936d83025dcd5aab187802853dc2119a2abbd7f7d120beaa3bb4e15a92cbd480dbce0267d882eab2c2afb810cff23cb3df054b13b3e4fdcd505f3157ae5bef33bae3a7da8926a06a61b9552b3a72fcc8ab98537299ef0c14fdd3e9f867252255c6a3861f885143c4399ec198ad202342c7f58681d010001
       \\xba8a65963f28cc1ba7392e9fc78975cb9aa45bc14a639f46402e5cac8b23 [...]
-68     
\\xb62cda783c94a4b91ce89023c1629355172223068c41763cec1b802299852accab195308bce16fa4348f8557c359fec56874417f6edc42c08893018134390ea9
     1       0       
\\x000000010000000000800003d5ab662e0bf78da44d995a3e32f372efcbb31b88df645a1cea8dd7ef035b9210ef83bef19667c400c63daa371f08563e297e4c442d063ccbf9b00e419d26da54b0c73f2237523eff0e6b78d759ccd94049cea67faf8b4828a3c275cca93efcbc98b4950109a0848d1dcecc129451a235797692eddaad9564796ffb139dfbed49010001
       \\x3122dd79ff1b53835e7968cc9646a344c6dadc9678c300256c22163826c5 [...]
-69     
\\xbc380bf6a39ddeffd5ec5bb8d7348ce80cab6f75f5adf5be7a84f0f0ef2a8ab2b0c22425e3934d8d43d76aa0a72929cf3b68ebda04c8e1a928e319f8963eb057
     1       0       
\\x000000010000000000800003acc9d4203c8ba9c0b03669c749eb9cb2f161d400035095be8266c9bc25fc1ef3f71e53950c944a0d2593e44ab9ca692e7510fd410d2e2122e611909b491508b5c3064c695069b5acb33dcacd00b7e1e9e470882a5472fcca3ed0003e84166afcf39834648725abbc86e65245478f560809a1e8581017eff2ef3cd93028f7ad03010001
       \\x0bfe22eb352a769e4d9c7016843fae1e2c3c19971925cf17f72d0cf901ec [...]
-70     
\\xbcd8f8a1f0a02a09bf6f40fe494f80cbfe64ff67947f34a310da91ff263afc2f68d2db60e3fddd9095f7c3248897c37f5fa94b12f47eee54162eef482883b93e
     1       0       
\\x000000010000000000800003da1d380aad13013d335b3cce0f4feb6f7163e43225c84a71936ae8bff99d5b4f1c2efec1476bb72d048fb99e247dce4d4c5dd2fe166ee7d17c73e26d8b4cf8e18a2d8aebfad26443842534a833518fd6dfd1de4eeb0d2d3130ab2d49e1e89136c227540fcbd0ac954d32cf38c4e0cd9f7a2091515ba3c4752387c0a910d5f343010001
       \\x81dd8cfc85dec2e4ee4c23f3f73cdfc3d7e7da1fe4bb852cf4688a0f669b [...]
-71     
\\xbd5c72675d936ae753bfcb2faccf226c6d7aaab73478109f804aa054544ac06ec896df21871f88bd40dd2b7539f837853aa166bbf6d7dafdf4a0407ed9068a3b
     1       0       
\\x000000010000000000800003cd71d9def2752242ed449fe9dab331452ba8ad5cc95ca72b06b6fc3311d6b4ec9ab94593ed8a1931e55a35be011c3f0bfc139f7edaef0cc3ec82ddcb29094372148610d6d543d9d64a99da0c19de109446d01c7295cff1c7deeb71e1203a23a62bb1697060fe0dfbbb04af91fa4a7b0054f3d03bc38a05e968a3bd683ae4305b010001
       \\x47293777f5cec3160a1dcddfffaca77c1579d28e4e38907e9491fb17d59b [...]
-72     
\\xbff416a241d606cd4a50d6f72430fdb7cf4403bf246b266c6503ddc7963cfc087d36131c537675210e37920e9821143c87de601d5d0850f72b2e9d0bc25d68a5
     1       0       
\\x000000010000000000800003a1cf47a804707a5488c2aa6d54558a1f826ce15f9b704072634ccdd2d3a3c831a8ee3a3c1a2f51730543f578b38d8e8e512de2370ee7514b673e7a19fdc9e5356cf20ce0449fe3d9d0d7887d94ef9bde1fe5836d9c7cea68f3a7b0b0cec742bd05347bebe0bcc6b664cfc4cfca8cfc74bf8135092a5cfa0f5f6d501562172b57010001
       \\xa1c85d2bddf9c7bd47d5dd680be15cf09380eee2ffd8530a41b4944f213a [...]
-73     
\\xc1c86cedfcee36e6f9404ed70c167f6a515a2d913fdbf01cdb6c9af281f3f0c85e7e247e49912c27284991b27af91c28a1532a891c0e47c0b70aeb36e9a5be1c
     1       0       
\\x000000010000000000800003d3341a6775db9a90082c4db96d25502b311f96bf6bcb0d9d383f5ba127fd42ce6ca4f766461b8396ec52ee491813d3cc3e4f992903fc6776e40cc079910a6b6081c1ef874dc4db0da71e883ce98d7a8f10c150e9189f1ec4ad7e9c724c86db0c402db3bc9106e23b1bc62b8119112789b4c88a6a6dfb0d1ffc0cc8320dc0ea97010001
       \\x6fc28845726fbf24faf19a2cdb8d2d23adfa776ce3073466ee618e3f29c3 [...]
-74     
\\xc24cb6d746ec7dc6b9532bd8d5bc0c33e10465c64e39cb09f6c907ce1abf15795796c2adcf8f6e92fc138748f45e7f9491379df1c57f789858e8c4f9d2728ab8
     1       0       
\\x000000010000000000800003b41479a3ab43a8ebf55fd3baf5b994a233de61a8e4a128c35d4c91355aba6a589597c06c9463f5a1d1d1cb46b196849cfba334922000c52758a5fb8a7ec4433aefc3d490451afe0eabdc31b5900d86bf83912c60925088dc013cf177d2e73efd49ef6c53c3940bc8f2d064ece422ac165c15485428c7236b49767e2564c8c2fb010001
       \\x094fccb10d1f1c2fae5caf3f2abb41519dfb977c793effe804b46766c722 [...]
-75     
\\xc2fc389f8e627ea019b967b508fdf572550c775d8cc8622e45a80c68dedbfed7397293b30ca50059acdf785162a843f4d0f5ad3d69aaedbfba439cfab361f630
     1       0       
\\x000000010000000000800003e9275ead8cddeed936ae6e28259ada5f1a374c280c9ae8343c1d9fe378fa2fe438b0207811ea192be7b7fc8fdfec78ea56914f4273735c187d56346be2b9f378c5a9cd0d0cbd83c8f2e9f36e45f8e821bc76de5ec505adbd474eeab1b8f2a9724d3d67c8110c8a2071af49ffde657c2dcc7253345d2e639fc4457058181a287d010001
       \\x35a043382fd2c88f7caa7dcc586f27e6e1dc36a0d289c8f94bfd3de83b57 [...]
-76     
\\xc3441d74468c060560885a32dfff18f6f73a87754f3299b2309772c320ad196324b8444e31a0a28fc246a502c49bac80bc4a31786f3d539a2e8c0bccfc02cf02
     1       0       
\\x0000000100000000008000039fa5a3601afee7c26d5fa5f174fa34071167b38e6122de6131add5d0e936df2fdc7e6bfec7269ef02803ad8c90dc216d01118a634649b3cb35a671782f2ca56a97a8150504b3eab6ac127f0a9c6f52a8c7ea4bd49ab4d3d01703edf12901290ba768a8be0cfd56322918663c13daabae1c5eb82945475a8c296f058be8587a8d010001
       \\x80b95c27fa6bd6e54c43762b06d1e38cdf94ac19d96f95ac51adfb142b14 [...]
-77     
\\xc518539ee9c07e3df0059cbb7ffed64e266364f63da7bcde1f20f2920cfb07e9965c14c7c85278c504d8412715856be380e1a65a1f661af5f4f796d52f6b646d
     1       0       
\\x000000010000000000800003b394c6d79ce5faac3de2009b437946561333666cb33a70c681d5bdc420396e7ce0c1a9a8fc83408f9a8e45014c82ffdfd9720421ebd6c9a828331248f9d25232bf5eabf1482b6f4ab0353899ef4bac6bffddba0938b7c6309dbb4e0e60d2f7bbd85dc97cb31cb94a0ab20b790f4a0fe7117e37ecfd862323f47edb2e2521c0b1010001
       \\x45ede2664977e55402442a86fa719da32704db63426c8c0dd92e19187bba [...]
-78     
\\xc69ce60fe1c4eac3d566491c3eb71f0bbe8d871d1a165380c5bc700f4d2baaa5daea7956b6c74065f8524dda3911c8e053b05299cb8997ee097d6b10b8a9a7f5
     1       0       
\\x0000000100000000008000039e10d01945ce039e342fbca39ea4b2da26c526ca7381fd42ea44ed396ab4eadb2087a0d581ac6612d980d65380a22a8ecb4bda094b18538ed6699a2cb6a045e81400df7df1d5b0fef19e76ba2bde1e09c387fa40e606607659bfa3e89a5d545b68b1da9f7c18a672a02493b09d36709f20e3982b1be0e626285b6aa8b56b1f85010001
       \\xd2084e4e24479e8b1c49cb136cf240a7bbfa7c0896a712d8723645a8012e [...]
-79     
\\xca489e1bb9bd47bb071ddbdfd6b62b93c4a64494c2d322ba6dc8337638114934ead60348a4b5b6cc9e8c4a07308e7e2c1efe7d29ca311e56e9804715f1eec9a8
     1       0       
\\x000000010000000000800003a715453d57e369599ef3b91b59db0468df815960d413b1c3bf247890376aee4353485125fee1e69248044189156cf5c5414f82ba86b82a761db210f4a10f0b6e8d6fcb578609ab4bc419bfd4d5b827923aafa2242d8ccc73b567dca6bf2969b83f41b7f8cf01310f9805426e767a3093ebc0258099f87c9ebd5527945c8022f1010001
       \\xc5621b3c9a5f269f36684297e97665e79fb799c0dfc46f51a2110c040c31 [...]
-80     
\\xce383aa17965cbc570e17fe52a35949c8d21654fe238b05657d958f25024de7667dcc8b5e8f7b0ba33493129d866ec9a707a00503c0980d415eab18d70e217ba
     1       0       
\\x000000010000000000800003b99e6f3ac8f34275e29fd9aaf91b1185e38df572ed7da3140e5a25c048a2baae9b845d34f02504120cd0262e8aa4488aa4d3d63e823a01e78dfbece3278fba71425caf68429fb0b06c0ce57078f7fbf1fa325596a95e26ede56bddab6de40798493e56bce79894ddf38d8237eb450eca2193df618aaf5d2a4e4208467df02a7f010001
       \\x891aca9aec70c8699638a359f14ef4e87fa61f91df97866a0bfcd4afba86 [...]
-81     
\\xd1d8986363ede28c625afb66115528e7cf777a519c4b834b1cc95d5f9841386e30a0edfe554bdfabd98bb50a0f2203d6f3f81eb0d7ebd3e45eec276693d58ba9
     1       0       
\\x000000010000000000800003cb4875ab86cfd4cc8a49cdf24d973c15f88fb00ab5ad6fa6e98b0b2f5644661bbf81b1da3f60417fc538253414275c09dfd37a4ec05d27d186ef18070dbfb8c628919778ea1b6d5752c11f7caa9548408b2d0f3a28d6f94679204913967a4e461f22e7d11223b22ca3bffda341c1a1f09fe25179e84bd9c83181cb1fd9861769010001
       \\x226d2132bf470ecb72413989aafd9e64dbe6122c3abbd98c97587bd016b3 [...]
-82     
\\xd31cbfe227e4291ada52faa12f7c13939e95062bdec4a2965c63ce75ed7c1e4c37404033d9597712c8686243023e6d23d60d63db946784a618fa154cb4661aee
     1       0       
\\x000000010000000000800003a888cc910384fde72b02fbc64dedd42760157829fce074f6e738fb91d61d8a26973142b93d543ff7524e216afea5567eccc49e4a1fc562609ce70deb89518c584f720daf32fb540290fea7231df461c10ff82965e3f54389ae1fbbeeaf0d595ad0045cf011a2218b4c2ea8b7dbbc22336177e4a364b2e9fe2571a71cbe93f30b010001
       \\x32b04855e8f9e91250bc345316683fab1e44d7be6c99390b643bee44af91 [...]
-83     
\\xd388f3ab66d218ca1a68f5f7db01b4528653d29fae60cb107799820c2c73b1d08b7fa89fde4967221e8e2515c68aff992f4eb55d833c58947cbfcff2ddf45b15
     1       0       
\\x000000010000000000800003c4dfda3c5446e87c8d852094304b080139f03381fb1c55ed198caae8f8ddfe9239a96da023802098f303df79dc4d2163649a3f42e00a594084a06cf37038fb1be2cd9c71ddea17b6aafaebee25c84a4b43782956ed024b8b78e5b8160f4ebd546c59608fbcb4beaea21fd518990994268f298a7ba167b10e3a2992601615a1a9010001
       \\x46b8f16c076937c9156c72c5a3b356e95f4ff52205f7c01079ce388ca698 [...]
-84     
\\xd82849a91a2cb61fab20282e54c5774a75f5ab7829786d97d15b34f40cbdd409a6f2600b478fe31fc1daae61a24b6dea5a875db4d164a762b3bfd6bda6c7f6ae
     1       0       
\\x000000010000000000800003dacff6cbdeaf68e05487d625a206675bf9db6dac6f9ba31538d66d5d12a48d04659548f26b3590c664e58599a023cab95ecd8ee4fea7ffe3890aa4f49eba2ddce06b9f8d8ce9e2c9da8ea8220d275b699fdc765d28279f53a5f59ccf343d42e9ff7bd885abb5f232658307ecdb774cabd97bdf7f15a155b2f9f32b813da12a81010001
       \\x4e8c720fb181d23d11e59c012edf34e59adc1919f8120e1054e695742402 [...]
-85     
\\xd8144e3a9646a632583b1511a095209c51bdac72ffba01c01fd9a2cb2ebcc5d511fb8ede5bec7730e5ed1664abbe67ff3f970c27cc02f1b7ec8aa5dd61c5acab
     1       0       
\\x000000010000000000800003cc2df278a77ca29a200361756b021bb375f9fb233dcf1ec3e1c784b4e66a8d42e75359e1191955c40aa7f82233c5285fceb1c13a10969d53fd5d147ae1b9264dda6ad6474588e53f3225218851fd2c5a704a8b6aedffab6c1386bbaabd3dfc8e7d4b46b7726d0ce29cff267bf6c1e53605a0bc3654063815cdb8e55699f2252b010001
       \\xd69bf53a1c24c0679b503824b2f85619e169e0f01f4312d2883ed6df0060 [...]
-86     
\\xdec056237e51b3852440c403d2abac526ab10fb25adf8908f990faa945f1dd5c93f621a3aa6147d3ff2372d1baf4fb5d6e1d95db7f0c593347ab9ab8e55f7d19
     1       0       
\\x000000010000000000800003cfd416355111f58e56bd0fc57232fa6527668e43f757cbb7211004a4800e5caa3e2234ba41d864ae7e37f476325f12fa19398a2ec68bf1a8e1935e00286143fadb630742b86aa045ba9f96f19663540d97cb6d7b8ba4b29098df721e9bac6d33519f00ece9721ed6f6e1547a3be02a51f84bddfcf2154e7068554a787f972529010001
       \\xa7842a0c67b096d517a09c669069c401f3582bc407ea5669a091b0510133 [...]
-87     
\\xe288680cdf1c1a6973cbb985da0cbd43624eef50a37f6379a95434b7088a1c1f478a092be9bb343aa6c36fdc4a50480ce7f1503be2332d8601196ae9bdf62548
     1       0       
\\x000000010000000000800003b90e0164bed744259fa9fca68139b311315179848aada01fac7c4a2e0e68f6662403d000f3a6faa010100faa2551748d9b5d72ac3562d56748c395b22223c4b3c498c7c1d7fa169b57bed70a3190e802e8347ab8d2a9fa9249d83796e392f2e25aee0e84d084b3302cd53a0a271235e25222ad5adf9e7b3b47e45e7663082d4f010001
       \\x1610fefc8e507db2f3fc1131f84c09a5e0e4415fb2c73bbceca838c436b8 [...]
-88     
\\xe6842cbdc03fffaa4ed80a825cdbddd19c7392d7bf693b8a87ea88975a1d55d8e21be730f7ca788df3b3c4fbfbb81d0fb9beb3427c901ee08be4fd37a793e072
     1       0       
\\x000000010000000000800003c29a1fcbd8e8a760f867eb80091858326a6196afac10c6337bd4a15301dcfbc1c0d869641aeb2dd3e1eb1626ebddcaf13d648d2ebd0fbc4c913bf51b6798db71b359a87ab47075e119b38f52265a6b528116101d3c2e724bad908706bf8f53ce38268b766e00cae8697991af89ceeaccbef7ac88f11248c03b55556bd2d26f0b010001
       \\xbb965711a70dce0c2946330db61e700b265ae513470c16dee0673b180250 [...]
-89     
\\xe8d093fb7f5e77089d562093bd25e838ceeabe26d0cf5d3214c5a78a39f30a9a34fdb3ec90857630746c00ee63a1f497f317f50cb5776dd3bc0dd046fea566a1
     1       0       
\\x000000010000000000800003c1ee10c1492f35060d96aed02e3c4e4e25ccd2ed5e624cc6f95f524c78883b280bca58211586782295180bea1a2ea4af830356f4480ee6b9abc0d95ca6c62f3e5c3464dd95ba2bd48c415848ea5d44db5e6b7955ba46aeca55b5915f9a24867a96998b177e6dd62712b8c2b2afdfea2b600d8ddd867c3264703bd3b6c914116f010001
       \\xa5363eb3171612e7abb5b6e26a2501393077875ccf0e5942a5afbca73fab [...]
-90     
\\xf088c3b5f9495dcb24bdf321e1d41d94489dfe92cfc92f7a1b325d7f1b3f322981006e2d796724973f54513b044f48dcbe7cbd3ee032bc3bb1a95e50769b808b
     1       0       
\\x000000010000000000800003d173d3c3cd99a7b95c5b67f2dd074d8021d77dfe9d7c6ac2f1d420ebcab9beb8e37d1929b8e05e50cb96cce601cf61bcbb30d52299eb323b4be187cc53b920e397a925d35f0fa58ed4b06c1c82e0ca5d0becf71168fad625c35e8d8306dad15c67db261654b71235613af2de3b2003e90edf37ea80b61f73d73883dec748d0b5010001
       \\x60354d3c0654c3d6f928afa6bf0e80b0653f06c8dee7e42c322c47a1a3d2 [...]
-91     
\\xf3e016ef1e69020cbaf418a7cebdfae9728aad98964e3d04a3257514ba8a0cd128dfdce0a99d458608b9d5f68dc0b1e8c8c907e79c6f05db34fb8ecc720f7fa5
     1       0       
\\x000000010000000000800003a258ea37b6ecf1cfd443c79b288e570f3fcf061fa2ee1c4ce89931f84fb2bdf6a48365a907670edf29e586f18535766c0bc46bc41caa04aec06e1c4ff81847f4261c8646e1e7939b96a4dca75139bba697f729fda2c9c7942d2c4bf86dae03d8875afaf8c5523c692e9eb320c2d99ce759cd1f7ac61396a9aa32ad73a393f545010001
       \\x121d6d5464363c2a910194f2ed93ad3f56dceea9ff214447ec539e8573d3 [...]
-92     
\\xf5c0117092c0c23ce4b956d78977ec6ebb6bc8af4836c9679d3704b7fa0bd735803f107d954aacbfba33aba089b6800469a751a1d3af8e9d1ce92797330ad87d
     1       0       
\\x000000010000000000800003b78f77f34d4fa938366f3407406a6a3892e78a5ce548f6b3f8c0af0ed3968adb8eebd5a6f56f7ff43eaa44746e7d627fbac8c758d05865d3ba1cfd18f2bb5c2a21bc2a867a03c86b4ee73deb09dc13e6648b875624e530a00334fb34b25211865a4574ee3be062c4b1cfecd8deddacff23de3363b2346fc60c633ccbcfa7c3cd010001
       \\xe5baf4a650fb3528094a2f76b3555e1195c8d39ec5ca981da70d9a9cee90 [...]
-93     
\\xf58cc64a51ec0daa404f049b4423a6f8b8ad0387689597ce28077f412a8a4ac8a03166ec4a8072cca8c1b2fafa31193a5e869aa3c15d8f6d19d06a2b8fdedc67
     1       0       
\\x000000010000000000800003e57ccb68ce77336f4898541922d9e84cb629dbfc3faeb6932e29f628a55e206ea9ae4ecdf47002eea60eaec69a1d1eb729cc25f1edadb3ba687c5d11aaf0513f2e87beff0b22b24d6f67c15d2991d1485ec7279b8cd135c5b7efe4858db041c65affc8a899c3e3350c7e74c6c5668f565ddac38c7fc809664e021bdab08e6d07010001
       \\xcd387ace45ef9e685eccb8e85cc4c02f880b25ab89e7a76fbcb9a695285d [...]
-94     
\\xf9d03685962b549c21d1182887ae034671adcd0228939ce44352a70a10a3157e7e0715d5118597e70ef91c962e013b3bb4f114b14d8572103a13f613b1075867
     1       0       
\\x000000010000000000800003c4164a5faca8af76b21367185818061fbd114c6374d1232a0c0f8207508e2fd81ed448cda94bcb135dc737c8732cca5f8bf52392ee388b6a850c60fead530c1f325d1977c0b8f831fab8d64765439931bc07a05c350cef79238b38178548b7198672fd1acd85561e7f605b0068200650bdba327095f69581ae34ebd97596d6c3010001
       \\x835168e0d608a5b0cd932558cabc5e76848b6bdf82553a5dac0a6c5ff95d [...]
-95     
\\xfa207efa5d6f8d7ff79c7d374ec9c5021a7aa1f432a279175f9c96b361ccac4691052cf9a580489553ea3f3540006389e33207d71a350c028ffb0cfa25d97a95
     1       0       
\\x000000010000000000800003d05804ce28a0032fa519c3cc5b41e2f8c64f6f8ebc0d40c7816763b2903d1db28339ce868a410cd06a14f649700702cf200f94c29e5f84cc5497f32faddee253e53ebda937c75f13809d98c6c945bbcbbe20825d5b9ab72ebdd74e662518ce661fc2116560352850db0296be066e07d578a937790543b43d1fb936d22f2f6a9f010001
       \\x73394fb6b89bcee20762d641b566e2e1fda20766e506465cbe7d953bb119 [...]
-96     
\\xfa98046bcdc2280d27a45875d5375e22c1efdc4aad97f2ec9083e4f4e10c26e169094851281a84afa6f4619b8a0b11f264676f1a07db70a832a4705a37c84bf8
     1       0       
\\x000000010000000000800003b21d5d7aa85a14ea9514241ab67920e044f727210d7b3bdbef7404f2a096f91230e2460d529a4d49880377738327161914a69d588def7563f663b6487ff79411629608cc662420208d4e69f8bb677911e44ec76b287e7b5710fe63029aaecc56f96b23c4c60ca372c1499fb2abfcd4092cb82e24995e9b3f2b3ee46416222ee3010001
       \\x9a65b3bed421891ce80030bd05dea9efc0cae5258f43f3efd4dbad590a33 [...]
-97     
\\x002159e326095cc5deb156b6c2ccf05f9ba12753bbcea770ff9efe7db2621d83209fd97707559c38e77e16d77110454a22ed64777cda311249e7228eff8a84ae
     1       0       
\\x000000010000000000800003e64c573c2023515aa5c2134043fe2e366bc08cad44ff55dd4e53f9bb151dcc48180c9729a2d1aedffe7994ae3a6ef32c5247ed6b6d43374734e87fd2d1f8135fd13c8379c50e736e140a089918470deb1e08bff794cc161d3832bb5ea4043f2c9943d777f08e7239fc2d696715ee72504e95b6da1576c74af7dfc01f3b919e79010001
       \\x31a570e5427cc50900d322971cf1f7e4e778f249748a214ef514c93bbc13 [...]
-98     
\\x06fdca50a0053f75db67190b567b4c571c6a73017dbe38f03cf87f584158a786345f1c32b06ef6554398a3a74e66c6e1ddad96b759b1b07062b8da0a9961aa32
     1       0       
\\x000000010000000000800003b1bf4ee9fdcf13f5321f76e9f2a3ecc2d919988af88254b0f803325db7138c51f16ab9765b7be22371b3447e4a6150f64967592548108e963febf98096d1612a6dacbb3d376ac3aa84d34eb1497ef5d8ecf2796643d14bacc47a91ac9ee68f4e3c46599b75b8036a8ea5a2a1b875429c56a37034fcb4f4871920281ba89ebf2d010001
       \\x012308c64716fa93516b5f206bf151d97a6fcfaeee2baad700ae259a19ac [...]
-99     
\\x0795010ddd54d43dce255beae68f968fdbf11f502f57c7dee20e9dbfb24d379d15acabb664d26ffacdafd3a3b0518c4d1474b44ee238bf12df4e8b707a6a4504
     1       0       
\\x000000010000000000800003ab82881c8540926f4815fbc7eb455a03af048dff3152ab95ab12d45244251ca3f6aa4bbc8293004002a51a6ffd007e0052967892267be94005c5d4a75edbe56fabdbafe4c7a03fbe7fc28f94614402c4eaabc74454cb87d5dda7699ec19cbc7f65be0529677ddd308405a4196fb561f6e66fba90a803deb7f25754f93f9f7285010001
       \\x509458a7d239f12a6651f960d8f874e7fd32208f82a314659dd83b75c2ec [...]
-100    
\\x0825f787347075e059cc8852c33ee7c64676e58ad5a0f337d15c0fe6c7c93cb7a554c4701a39183d02474502eb19a1d4053f0a47a1e01eda489a26e0c4f34984
     1       0       
\\x000000010000000000800003b91263b925eea583b7052c10ef6e137c4f0a8153794f5939cc26c1db902685590e08e720fc4af2ed88bc482f404c3df9567e102750f0bcbb37e66c75c95307c066ef669690f080db9a03f46264c695d8c1ca7a59e172d332320f26f634d57352366e2f5b2d3c17f305e7cb00528872767380268c2a9835920e81e6fe811bfced010001
       \\x177ba315da6baec62a959ceaa664e4b04a047862755e853f5d0b2f16632 [...]
-101    
\\x091db9f52fbbd01968d810baf66b4b637f587de7ae5c8618af48b88791c9672445988663c969e4ca04a661bc137d58a498cf9109dbcd1f6740467bc7fab50e26
     1       0       
\\x000000010000000000800003d7615e1aae19db2c39250269260606def9a82be85b2adfaf6ceaf70c7af3250b68f7c8db0f64351bad52adae636eebc4b4fa75cb099139b3036f32964ad8682803fae41ee430c6e4728293ceb2d71106d85bd021f46ac367066a3eab5bf3832c8818135ba8fd40db2d1089ea23cead26d089c0d8715e5032e46a63ea80db4e3d010001
       \\xdfeaa481022addd86094882cabd607da4a418b54ca4681a37515cde139d [...]
-102    
\\x0aa5778426446013cc3f3126493198f9302f0ee43e35aedf33ba294cb23a73f022cfe47004a9e09a0364bdfa658b31283b3470d8a30f23c3db389c09f947f227
     1       0       
\\x000000010000000000800003b05c2529b7f3e864c814de71553b5e387081227a562debb5a790ffa5c17c2930e45fe2c049576fa77f4888fa702c65bfc9d7bd9057e5e07f5b10d058911b26ba07c03aaccd15950e3f4c35dd3baf51a5602d2c01103578c504d5be6dffc12c49c95f50ea1ccd8d482c240d9a20885036b7a8b6cd5029c87d94a00386f74b0e21010001
       \\xb43ff7521ab0c7e023aaa5fc3e12730072bb0799439d2225f6299d31d58 [...]
-103    
\\x1021db3964358247664e196dd7d59479a76577d958e86761f95a2e8bd2e92747500a83f7954204daa0db16105fe2462e3dec79062e41fd5129f31c242afab152
     1       0       
\\x000000010000000000800003c3b7bb08760547ac9c5ecb6b1e4efcef5a4c4e4a8224691079f3b38c424643eb9bc2b3d1e20308dac443884e79280f2a84ac790abca650d760a90291698d637476dfd751e27d4bccb26faaba0bd0cf01e0acd31acd61bf9d268335e28ba5edc940892fd92b6a5820956074f6a975eeea770c137c04fd6de39a0deff3862b09df010001
       \\x51825a0963d8fe7eb69b1edbefaf76979d7e36daf3aa2ba0ea45c611bda [...]
-104    
\\x1b295c4ec4a0f7bf13da708c4d3cd444b65c2855cc1a0ce993e6e3a9f599f7e9d07adc86d4f7e71654855a88619a9555203e635c7ac66d618d5790dabe19527a
     1       0       
\\x000000010000000000800003d9d8413881ca6f022376db5d894a17c745a1d184a40079c71d1978cb9f0b641e3ffbd860d78381d37f6d7dd892d35f9bfdde5c09d8cf380113e4e4af11f9ad92bbe39a8e2a5cf28b4cadd64cfadc5b5e4d94943d18a9a6fbc51211f3fa1edb7a08a8de4292ac6c65e591b293c091d2a7d2424809f947cf4a5fccbe20b57acb99010001
       \\x4e74f81347a647175b25b55f2c9747ba5d30a468a116819491e28f80bfd [...]
-105    
\\x1e21b19a7f47f92ca26dcd063e2d09f78a43813a9b67d1e2523f0ad324bb5aa90bb688e8514dd965c448504379517772d1988c2c838051e5c500a6abd2110708
     1       0       
\\x000000010000000000800003eb1e37db4822ea1b8831b4ae2041b3e71cfae6389da3dd1913b299cfd1c768d3a475cff94045981cc2f53ff5c03cdfcd59e564d4b734ef1a937839ff85bf825f42b5aac49582951d4eafbd16d06e6a39f2dae2a50c328e7db83754c6b42e1ff6953aed476a133585cd95caff674678636fa48f18dc91cf0c1d2804db81858591010001
       \\x0a145c5e5c28b062ad0194cb13c3067e43f551e4f644041784dcf537a7d [...]
-106    
\\x1fb9fbc731022caae79f8d813ff1d1605cbc4fbf70637fdec90ad51d882d6f3b2961c1efcdd2b27e7116da462bbc002fb259d4db60b53b4c1a9e481d220ecc3d
     1       0       
\\x000000010000000000800003c5475a0a1654c39e3a7f129eb4a97f9db3340662078638eac15c02062ed01e53fdd12b7dc54d2d6d90624ac80acf673d9e2c3d1752eb74c7d3aea9531d8ab5c4475f0bba9b3392ad1760b529555625e69eac3d053a22f1d8d622ec3878c4966035b28d453324cecaf00b2c0176d6cb4067d1195e32745f6eb006a5d57582aa2f010001
       \\xd1162f5404d900bff85835cd7df24250dc517281ab226d75cc291154c94 [...]
-107    
\\x2091412a4ebd585d49ee9f86be5c26ecc807e6eb36703c6602f897d2894f93a135eaa96e943dff72f685f40182efd075045a62336003cc8445c0fbd83d393747
     1       0       
\\x000000010000000000800003d874e6c407e98928ac9f3627822132438654945e9f45cb438234cb789bc975e014f737b045156611c10f04d343396ba8f2a8735341c1f8a8cc213c52d0abe1f2f66e85a5efe26c0a78b679ec78ccd1684ac3403e11828bcebdad5aa33989ca8799addf404e7421f7b99db321a3c51a75d4bd31bda2bf30ae4f1e505ad03dc0b3010001
       \\xf1843cdd834905fa746ae26ce0eae982b26d4c9857414f85ee80f1ee98c [...]
-108    
\\x21cd9351bb3b66398a79a5ad37a506a87c77bd15ffd68275f17e2eb0bff3bb7cd85a9435c545ea656887569ef22442c08799c647182c8305fc8a844f01cc2884
     1       0       
\\x000000010000000000800003f0099c35431bfed22d6d361cdc80610a6b2a86f5a7359bbba43dd63c6962a21f9049efe39712d41e36014a37635ce8fbab274c0395cf9739f7eecda15d8f2e7c437fdd58cd262aa3698787e1e48f6301f358fea3f58e9afa6a59904a612de6ebe7629086222ed7354b7a7074b5aee2b2fe6c51694250290427e3683ee8d15827010001
       \\x918f7fa46192c9d39aee43c649df5505c7d334a5b3f3d5fcc0a2c334d75 [...]
-109    
\\x26596db45b09e628bb954f25fc5ee21176930d66d4658b28528ef4a617a08f52798f970894e2b74691019b71246ddcc815db35e6045c2b6edd15aded2cb36555
     1       0       
\\x000000010000000000800003c9dabc5da2846367142dc6f97baed82d8efa236e225d80ea4054e370b4df8cf6c7ca5ae960ee954ec3e2f2dfc6b06e58dc4ace80c891504dd8f43bc0b6e74a51a09da44c47d5b72be00f609b8721a698677d73e0ed17e4d93ae9a76b312e44849b77cba63d825d130245b223cd3ec4d99c89d4f9c976e524cd7a6ba6fc560d49010001
       \\xf4d1b39d31137540f5c811a48511ddd0c7477d0d5f94ad5393e32b2e603 [...]
-110    
\\x2ca981b7f6ce975fe9d2cb9a96b6a2d2ae3a152b997da22b5856a3a43a3c742dd1ac1b2a192e3ac9e764f6982543896804031b679b0bf7b28fdee42b36b482ab
     1       0       
\\x000000010000000000800003dcfa3e94f463579d941c48e250516a1438343697edbd1a929daddaacc1d80c14800b1b66dd0eb2f49124df0d6a9226b896e2edf2009f4b5d2b3a9d269604e3c379ae103d6b9f1108050c155605cfeecd48083e68cebc8056c8840d02381d5cc97db244417d79e3d39fffc74a6dfeb22e75508cb2d5ddfba5280682e51f2ba9ad010001
       \\x51bcf0fd376c2cb86853730e83aa5737efff32a5556df7aa51b2abb4846 [...]
-111    
\\x2cd9de98d8578ea8bf5f20f691a8373d68b43d9b8e3aad2c0001f8498c79d1da87266583a394aa985f358de4291008f8aad50188df8ccc54829dc1c338abd551
     1       0       
\\x000000010000000000800003c648455715cab29edcb857b6a5230c4789a965352dadfbe00406ada1bc6854df744a7b666fa0609a4f43c1470a92a27ec0a7a79d7c4a2cbb6e001d8b756e63041398933f910e620b12de50b45dc5d363ba6eff40a2a372b548e225a2d697af78a21d21c9a194c31941e17c97f63873c01784118c470bb1e20c44f54e2cb50453010001
       \\x387c58eaa9c7d6265197649831be4df5860bb16b914fed7262b5752be73 [...]
-112    
\\x356d338a3bb66f9609ff81af2c4f9539b8dc5eecaae99833cbc3d5d9e7148ce7a872c90bbf39fee625e54e7de6e3cbfffcca106b60f6444da2d8e659d506e25e
     1       0       
\\x000000010000000000800003b37df85a536ee338f0d7845953ac436df797206dfe124dbe506b22190a46ead429030effe65b9e67458e335de1a66c42626d962c1007008ad95e09be566b6531c5575daae93ed5359a97fc85c20e582e3bd7ad9c7c1e79f465ca38b2d8a597a5f601378c5af6e7c39a8c0d8178313c7eb8b85d65ae7b4ae800bbce2d9260b997010001
       \\x9f1241c315a96bbad6fb3019f73cad100dabf83adb93c7246367089885d [...]
-113    
\\x3551f17f64de8123d0bab3043a3aa8388fc443e0691cac0cbb3e557603203ea56942b085527d139a42cc78d58f9d042ab2189f1e3295cb95c2281373b30884d2
     1       0       
\\x000000010000000000800003b2ecd49e4976d24d9aab7ab4adb4234770a32fb8f99b7bf835c1abd561857d40013860053196fb9687b1e0875872c03235bc0fe0c7d29f71400faf6fa05fbabe5828a4841ed4913f88cbb9ef2234eb6e5258d377116972d982fdeb90cc11fe22fe8f02b92dae8a2d616fd080c57c2b1cad73676ad3116afbc7429d3c41d48189010001
       \\x3826637ac96bcfae8967483cef994d90416c0e0f534f8605e463022df73 [...]
-114    
\\x37f9152779005cfff96a2967bf59f7420d721474edbb1b1d8138aaf52b5c351c3905e3a6848204050eca6f836a41d9798b3104f75208ba0605462689e427f7ed
     1       0       
\\x000000010000000000800003cf5847fec81eb30c1244adaeaa0c927b8f49dd3b4bbe24893462129ada226e8b8333b11f4b077490d1dc897c0ed6a7f38678d2146beb762d8c89267479133110f25e998b206ba99730e6b04598818132c49c513c902c60d495008fab5f31134abcb95ca1c01c47979672ca2f051e5efa55172b204db21de98900a0cd2b40fc97010001
       \\xfe057c87a9acbec99e751513c595ee54d0c2ba7b94c9106da5c5063a931 [...]
-115    
\\x39713e98b4e02d2442a68954f938245aa15ef7ba10b6b297f9cdfcdc63720566dd9cc921b603b7e1f21a9a9203d48bfe764f72e52242407070b0c09d5f540585
     1       0       
\\x000000010000000000800003a6720915b59aba91f8730a10662f5777bcd72595a94203633484d09d9ef52d48e04d1525b10b29aa013f8daba3ee896cf6778c14d49082a30a2c10ace8d9eb7629c73e6b2ab83cd00243c0a77857d8278b11fa70e8cb0ca8620aac4a92194d859b0318cb13c550ea9b1a4410c9219ae9a488f70ed3c22c5887ba34e86bc7582f010001
       \\xaf6cb9477480a3891d940b29c1c82d9b79ae1c986668f5ffd82d71e9470 [...]
-116    
\\x3a953e90c624d22de95b34b0efd3d84504cb27f0053fac2ec96b3d58b9e231ca2a301372e06c3859485491cc7140c53cc37f54eba604c8f3a53239e6672e4a8d
     1       0       
\\x0000000100000000008000039e959fe4970421b1f69f2efe9af0f297a43460b291f5044eea14cd9bcaea89c21bd7b8dc7039ece4c977d83bc299dd1e02a5703181b7cbcf54b2c38f15f0d2c4ee5f310b8d26e84b8087219e13715ca7030afb9b22e05e07e5a27431f4565ef1b7512f6065d94a4ede8cce254f612ecdc02cec21f10feea5f06a47e69445bb8b010001
       \\x1ed1221b04af50cb9720629ce3843a96877f205131728595fb3cd8c6033 [...]
-117    
\\x3b312989073291c6a421d730c446f2cc1cbbfb78ec133977bfaea69485238588ff1a4ce4ee5dbe927abbdf4f173bd35c116211d9d9992eb8b9fe9e48e3db4ee2
     1       0       
\\x000000010000000000800003afa932dc6de1a29310e96108d9128b5b2c908aa2e4ce9cbade9177e7b2e0acb7549a6c80b08d5844e7c6eedbda45e6766e1400506e97cb26367981f1936976bdade84751ddaad66a0c4108e5c1e0e0d212476c742535e354632e5afb9141af2999c566eed83f223bb06f59a8a7336088990ac11f494321da7b859ef94e002869010001
       \\x26a60fccd043d90e7df3500f6f11a3cdf9dca27a256e317462c6a6fbfd8 [...]
-118    
\\x3bcd3abd3aaadabcbbed39af6123904b2bd5e4c5ea05c7b1ffa552200265c740edadca9d6335104ebb82dffc1dd815b730ebb97eb34f5c041608fa3e32ecc217
     1       0       
\\x0000000100000000008000039937b865211332d57571a6038faac660c3a25a5cb3a1ed58f7a415ac7de90dd403f45f0c4f5edbbeb353f14f8e9ef96583ca6a81f689c07ed8a9590729ff5360dfc4ba8aae5b0fc5a5c5c1cd9fb555bbfad774df2ddeeec68103b9fd9b7a5966e3d187069570e3303c0cb4bbe9e4c20fb8c9f0b8e993429633f92bbb42c4796b010001
       \\xa16f4aa7c1d5ee6e99c7227d5f3ea60513a4bfa9627d0e179bac384c97a [...]
-119    
\\x4079602be44bee523e83be13d503e63543548a67a3fdf0fd186467c06b7ae2719e765f77d814614a57f06ffc8206163084c784ff9eab89599effabc0651cea7d
     1       0       
\\x000000010000000000800003b375c8dded8859a4555f2cfa5241d17a736b11cf472a57d117add1ed1df70c4d6f1678f714a04b80882a9ce88a7b8eed4354c67b9403fd1febb40aea58dd460ccc137db49e971a6493c9e595dd4b03adb5b1c0ac1f5c5c5d81d7f8bcd707603baa32eaa2414ef8085731d6f1aebc24e15305d70c407e399808ec8007e3d666c5010001
       \\xa9491e3a6e6c7ee9d370b22e66b8ad7e8fd98f81e8992b29e2d1cef9f6f [...]
-120    
\\x46ed834788230459b4a0ba27abd7f819257a6f6ae75b24dff882b5beea45484f4c16d9f19e72b283257ddd9711cc246c843da42e8dbb2c3a9ab407bb516a6195
     1       0       
\\x0000000100000000008000039c87768b37c61055b6ec214d56db4e8850e36fa45d25bc2183f8538e7b9fe72b41a65df2ce4eba1e989a315f246db1f6955051b35a06830112a216cf8cec50043abc9d038b690ae76b08d841b8ec9574be197578ad12a28b4760fcef235c75720c7a3320b5f94d83b73f3626b05d4023a15da8da7017e62582879907b7f8a473010001
       \\x883836a91cc56ba3d0fa236b27a595e479db93eba10849d2d460fc0106f [...]
-121    
\\x47d9eeea0206a2a537172e6dd06ad99aa49f8c5def9b2ec3cdd95b8eb8654a82a6d3bc7147b06b91ed2337181a17fc25bea94575a9b0aa1482481a8f1ba9904b
     1       0       
\\x000000010000000000800003a44ee4747761f2f0d817c59e1ecd38db45ae9e7197837da15293a1da95c444a52c6aa5e154bb2d1067ecc07df10d6210af32d97357cdd8498cd2609a82b768abc6137df3cc73cf5382c8a9e754ed7a57630a554e4c7d60ed087ece802ea9a313838d0f7985165a0ac27ecbfa1078089472963fd077d6c050c735caad4b184b4f010001
       \\xc06e1d4cd401fc5bc8d09d16560c53d617fed8da3db5a30b8b20a93de87 [...]
-122    
\\x4abd1efde328ebf25c577e560285d90284eea0bc5bb4329c0130fdf1b3e9893bbdd8122dd6ee8a22b5d3e7c04055cdb7975fa95a69809f69dfc02432c8eb3553
     1       0       
\\x000000010000000000800003d85a88f45373f3fecf6d1ee0b80c6590136ceb025cf4e90a42138e90b56172b5009fd404eb9e0bdab7bbda30fa37c0f9cda586a1995f3df8bb1992eeada65a182ee85cb6cae51c9c742878b10552c7c784c4bc42078d25b8372ad3946844f37822362d971fc1f92d1c36fe1e4e8040df99838fbde5adaf92362a616d781f081d010001
       \\x6842cca7f77dffb9e9ec728ed1404d7932618d2c7af08f966250b4ec1ef [...]
-123    
\\x4a81bd22c8b8f336e8d065dbfcfc179137de12c1e259a84c351ede689454444fa843873ee898df213b5acb94f6a1ac4f7fc7fe2d56df3d043e9763233b80d5c9
     1       0       
\\x000000010000000000800003f422878cd23d26b4a065d8aaee4909c88bebc422f5ae65116a72f91b8e22afb2650b82ca469ac88d1b5216c19cb3966ad5b5b2963d175edb09b737e7e8d887f7b5d21ea16b42a73259ddf72735b0b77602bb49d424049df71d6ef709a5d5407df8b73a15d801ce6e1d82410aec836ec5ceaafd1b8aef12b1b68e32cc1eca3bdd010001
       \\x9b1453988e72c5d0893908ee063c87fe102ee7ddd1b15eaf92947d97708 [...]
-124    
\\x4d35202732272c48ca0c465e6843768bd6278e93c43088fa39da8fc34d5f4aaed1770bc3f815f0161b105b289e5ab57670eea8b9931851ab7f37641106f336b5
     1       0       
\\x000000010000000000800003bc4e1d3dd2e8ea4f0deeed8b2080b5389d0d846c18c2bfa26a7ecdd274d84038a1ed461860ec67ff6e21a6d2e00bcb5076d2a1ce0d32f75dcde3ca37ad6054d078fc449b7cfeb6dc7d57d9122b01cd8facbdfa43166ab9edfd05755504c6b01bdd16f30c85703ce26a0b24124268243a4730d690faee97aa2dbbe1b38a98baa3010001
       \\x552d3fb384fa20db072647a37d4cddd33225f7b74c55bb1863ba6485c81 [...]
-125    
\\x4e29b47d4b6a4e3fa89032c736d99eec11f8844b2cff885c88a1139ab40acfbaf14f7396a34405f0f3a7cd77800a90f8de02fb4a46040266c21e098dbc0fa659
     1       0       
\\x000000010000000000800003de37021f1fc1ae55968d18d6799bbf677eaf26004abac5b48e83d2e0ac6f8faef07c996715eaa23113234af9c83b1d77a5e51544f65c93ba8ff40c31ceadda9c7ca74eceba1cf55d685ea88f58c6b721d0abb97aa955444d755462aaac9dce43fcf2f4f201d3109cc3e0c40ce916526fc09b5ddcd16190d4e7ceb8b3f8d8ef05010001
       \\xe676888d3633fddf4edb2aaa3c0e724cd30f2c8980b24fd517d90711c61 [...]
-126    
\\x4e11bc41a2ad385078df1c43e6c8fefa1e193bdcaba2f1abdfffd1cf13dd1b81ce5fac5ea708b6eca6bd4fbe59c0978f0eb6d29c50957ccca20b0b2901f945b1
     1       0       
\\x000000010000000000800003ba522b37915d4e6f8ff8a4508fb8c0d64ef8ac116facf34bfad7d28c30f176fba57a54a3414ff96d41c2d6943e90aba13da94809703cc02c330570a21041b46aa84045b5f35d7e9621f575a3944234ac6637f6526a59cd7e603b3c2f37a54d77aaf51456acf9ffd85ebf627a39960625e7fc277ed6c117ea9583eee2335c0a8d010001
       \\x06377370a8d006e82a1050bc5bfa2777c3f5c789a5d1e7c5400c0364015 [...]
-127    
\\x53216ae84bd8b98e75326ace371b7af714bfce0a1d4f677b545ed715e9e67bc5888e7479bf7516a1b8202b70286a62d0cf765e0ed7c538f6505e2160d53c78d4
     1       0       
\\x000000010000000000800003c212465a44040bbd728809daf4549e5344881d67a3f3dfefdb51e84d0c546142e872fb1c971d56f95542c1a80657dbfcef5215367587d55fd857737718a1caf7032bb2b75fedecd7ace13675c0c221a5c00953345f80d445d23558978b4507423ec2118be729efd4729be44329ffecdea3e196588550ca1805f7676ed0b69d7f010001
       \\x9e19b1dc3537a8d4f667f59a0efb6c4595b7232d18e5112af3fb5c86a6a [...]
-128    
\\x54e50b805e502b05dc89fdbe4a7ed2ae95d56b6c6d93310412fdeada00dfe2eee9c631336d9a13ca38b9374301b88441c76331f18cbddffaeb2294f8184412d3
     1       0       
\\x0000000100000000008000039a89d56f94f5d098e6729d38fd1de69bd4a118fadd1149aee1fe9c4850e3f1daa2645d35c03490449875182198b4edc938768e4cbea13261a264e9d5d96893b7cedf2dd4f3091be74612ec23901c85b3932ccc356a2498b659a4691187f4a41b2e31e3d442b913714dc9529e83e5dee648af7022df9f73ff7d124d1f6c9ec2f5010001
       \\xbfda14e94d7fb577fdbb51260c8e739a1a6841a5e9091c6fd221c2ca3c6 [...]
-129    
\\x562dcd14e56d1cb6bd37f946b7c5ffe64f3c5c42f968b3104483f76d0688ff10a30f4b127be74c3f49ddae0f62a08bf5aa8364df8e34ff92c55d2e4bb8a3fe89
     1       0       
\\x000000010000000000800003ae13cc144ec828147efe255ba341e8a736115256f851e6a48807cb5f645617a3b6e23a249de24400625ccaaf2d234717a8ce58977e6aa044b05b60bcbb9e966f84b1338f9776f9bc153939031412c1b7f1e9095c6d61acb3d254466c31b1ea77e3cd3603f28341767852d4c6da79d91f6ef09399fdd3659bcd91512de64e3b59010001
       \\x267fb9a17e5d402d82a27b88c524aa69ed1a326063946abd2ecd62a44c8 [...]
-130    
\\x56ada0cf3a841716bc1f6e59bcf274c494d455deaeda7ed5dd9818a9abe5081a924a1a3ea8d10d387be3ff1a6ad960f53fb84616288e17124eafeab39a7c97ed
     1       0       
\\x000000010000000000800003bd97aa2ba311d69bcc37b1f734dfdea5318128f8925a10b9899926b8dc026d608ef106178c62670f1b465e4f0099578de1c3ab73a7e3966384a2f7387d08f13cdb05eeb3b7f5c10fd05d8104d173b4e1659b73d7447a6362e5ea079c22eb24161895a5f931054e3daeb24189b0955732b43fcc2b16d41aa90e8594cb4366e597010001
       \\x84ce96ecc16cd2262caa418900672cf0eed923c4bdeeb2867eafb0e48b6 [...]
-131    
\\x5815a8794d9e95c7f07be2a42a3f3a1fbc1ca1f879182d4c8438618abe6070c56fe3bb841c4e5406b6c6ce5bad279ca109de482d38a342f9066cfc4b74fd4ce9
     1       0       
\\x000000010000000000800003c03f06e4335c3dfdfcb8d73c06dcc5d2b603e5895203dab070e36967a709a2660033763805742a17541529042ec156a18071dfedaeebd51ffbd41c78a02710ace862c7f61f89885187d6a6c19dd5b14d26600b116abf6ba54274e6283fa796418ef782dea78ee8cd651e0d2683274801caaec522d5ef3ea378a0abd91291de4f010001
       \\x9282fec18dd670f3ba82852edbe46fcaad85a9965ad3d9bab32024c2f80 [...]
-132    
\\x58f5e684fb2cf931f8b6c854451f7301d9a61fe49e33bd879354f085a85c70bf9d0798706870b91f475283f1859fd0127ec2d3b136c9a88d4b9c2be4ca0106c4
     1       0       
\\x000000010000000000800003c9a18a69a2c347549083c3cff1f489f602004fdf0db99091f7c108a7f8e913d7a4e8f56652b9e7d929b483d2ce34b2627aeae74c8c9f820f69efb0b757a0f902ed3aa45bbfd5c04b2b835d483092c8977524cc68960e754667d4fdc6baf9ffc18d425083a22b88804ac0fb878c29031d03d6438f1684973198401e70ad28f3a1010001
       \\x286343efb30fa73bb77cba6cf18e6b555f3a562a23c0afe9c6e4343df6e [...]
-133    
\\x5bbdafd7819668cdeed66a839c3056fc723cf502677160b71da44da759275c248ee16c526ab5f3452a77530e90befb81d0919c188dfbc51702ed583915c423ed
     1       0       
\\x000000010000000000800003c929b71edc09f7ebe8f6c1ad0150b7cecffe5ea93556e7b06fd67c0699a24d49be8007254006319352e1ad55e4f9e15ac643df6b965d71fd7bee8cefc94447abad728620f397eccc1214a88d213e433760d3f60209579fb1dba5e197966b42e6573e50639143d48953d15491af1b75b846b9ec4551b5c80b3fc567916220f955010001
       \\x3667565c12a2ef40bfd78ab08548e2aa0726bbea31f560d77555fe66a0a [...]
-134    
\\x5be5499b46342e7075dfe19cdf76821fb3f752099aed89eb4db11c3fcb8718b8a202d608d7a1b9f68bbedc26601ccf0d148a3a5faf24ca6a7aaa5df1bfa33ab6
     1       0       
\\x000000010000000000800003b194f25c55df0e3405e3c7fec75cebe80fe14e2e8730a45faf6390bbad34ba294dc54410d96303e83fd164f6a35ae8062b0a179025fb6c9ad11fa088fb2cd84e85001aeee2b44bf7891f65f8d4e8234ed6904ae4ae22600c49250ae71c57538b295482b717ef901c7b164866a5bc927695aef569491b5f31c1f986ef45ab4b1f010001
       \\x691cfaefc59cf215eae390c4fc9c749870fcf89d2b12d665bf9c5061245 [...]
-135    
\\x60994712e683df157edb73907aa4eba213323e83448f69fc3cde4181e855e75d15fa53586a539f05258cacfd9e7764569d65d01b836e63db731ecfff13a95892
     1       0       
\\x000000010000000000800003d1b64ab5cae393d3a47e27a00b072fda74d295546c22c3d89dc49b4a25feb6113a22d1cf856fa790064a7cd34143546b9e6d8a220cf6813fedc71929bf5902e21ec567bc2b9514bd4b89f8179e2d4dcf224e763b232e5a38706f8b8ce46b931e217ded67704c7880abe6ba82d6387dd4f405cd4447169fd337c11fd8784e7c5d010001
       \\x6b7bbef59c8a43a8eea16d62021a57f4c09d3a9a7891d1cd7cdea774e3b [...]
-136    
\\x6435fa26159555178e3b0a42c0674d56c1c1db199711e23c5c6adcd21859a42634e2857411bd408a11850f05dacb67bb8a5dc33bc9efe5611e9ff7d1ab63a9d5
     1       0       
\\x000000010000000000800003f51e9d777b8e30efa64ad27e3b439705b3ebc3e9816a1fe4ddd473243b16544dafa144f6b3c58c2ab898d88b65e3b8158e89ebfb439e31043519235857583a875eb86904f2697b12d1ab3dcf0dd1a68d03852d10e9f83b2c6249f730da4a9cb713b43bcdd9166f12ab06d973182f33e9c0c9c130a03bd70303ff68f89cc4eb85010001
       \\x3c5997763756aa529268180ea8eefb869d6933b4bb8c7f7a7894f1ba223 [...]
-137    
\\x656584268365cccebf4ac3725f2ed7c79a3bf352d3e2d57fd68eb0507558f57ab895abfa0f489f8b1642e6c483d834094ea2874afe5fdaf7f833548ce0afa70e
     1       0       
\\x000000010000000000800003d178f458ea4e8f240a854f0fa1273bdb0d165f6f6fefc6ef30f865f6f719f248631e0d4af0d1b50728b283a49f2f40324029c99d906dd99330f7f38a7ce7cfb89b7e1caba24dcf248cf9e83948cba562b6e083308c94adabb6e5468618097c20397c8c4ef4a38504997261c641c4de678f11fe7681b6a070ec3d0b84ff71d1f7010001
       \\xd290c104facec80837f9e80258b43c9b06ce9d5ebe4080a99a9e147454d [...]
-138    
\\x66c92336d79bf38804cc5258a326662c93c9077b79afd000abaa9ac9a80b6be2f6deb0baa2d31e6522cbca3aab039068ed7bb3cefc6c4a520219fe90fc46aca7
     1       0       
\\x000000010000000000800003ba0efa9dbffd8ea9981ed3d02bbd875b33e74de200533f8fb482e4ef7de406f1fb7310dd5f59c7101c8d47aca00f5de782943001f3ff99c443ac04f57124fbde556859ed4c1186333dfd2847e3c7bce5a837fc05ac5df13c8b7899fb94bd57bb87113a8565772b970e4cf40b53a1179734cae180912e3aa5d273810b4f01fc45010001
       \\xec1390187dce8cdcca0a8139ea2280732f7bc0eccee53765a054bdae62e [...]
-139    
\\x673521981556dbcbd24d758c5813d228a3208caf11d885876c6a8a392027b836e7d3edad4cf1091d97c8f2d3ae023d2696a04207cf458432378dd1f5fe02cf91
     1       0       
\\x000000010000000000800003e640bc2727dddc2324be7e149854447b2541fbc8668f1fb1e08486c6377c89e06cb4a1015148998bdda10844db274f3445f2d8e429941e0a1861c572fd99cd31c836cea5d9a537648eaab30c11fa4d0ab4574ab7f91dbe2f4922ae2f07ab89ac7f530569181879d0c6d0af8661de0fa44527be535b00c51e819dddbd2c878a6f010001
       \\x46971480bbbd9f9290d61e6aff1e9d352a44434e86bfdb4be17e7825882 [...]
-140    
\\x67353b12de56dd71d3e680440ee1bd5bc22a2cf71c6b65e5fe2dfc26ca2d336b5c6a895ebb69cde321c82ad2a7b3a3fdafaa86665ea79294cf50c4dedac2a6ae
     1       0       
\\x000000010000000000800003e4abfe8d355a227043bdb0f16858a839da7abeae45068cf6e1bcba54529ceffaac8fc6f2dc74a3597a270121b4d96b92646ed3f648663c895f6a809bed31442ffe94661539426e4722c8ee48b01c863cf452dbf1bbd1f55b8b63e1772e6902c82d45d508f07b57634b6e9948e5118e99a8585e0ebd8ef3bbe4192c75ceb4d927010001
       \\x21fff547b798021daa301d65ce386be5a89497dd02170c3ad9eae5ecedd [...]
-141    
\\x6b99fc505e77807592807c61b7bfe89995081f24500d04c6147cee5c85c9832c05e889e277782345020e5a59c4902e2817829bd5e08764e8f54404fdbe72b153
     1       0       
\\x000000010000000000800003e333aa5b3147c54e4d065269aa48420c3eb187f6b9b01605c78258f39df91b496d7b8663da5ed550b6f17e6f8800b584a39f8d93c3b4b74a204af4043cc958aca5e1a8cfdc82d31c6df99c9db5d01de1215de204b26c736c0b229e4d83cdf10983065121d375c6fc91ba7b8f752d6f9a76ce102a45bb773f473d6911df5e344f010001
       \\x70761137410a1aa6c17c0a7185cc72cb905b8cbcfd7a5625400c178bf28 [...]
-142    
\\x6de934f478a00e960f765c6628b46cd9939f9b48f70c2f5a797b1bc81dd3959253065e15b09db785433af8947a053a81e721f166fb6833703af8380d12cd9746
     1       0       
\\x000000010000000000800003cbd61b883221d0676807fc3478c4181a7c56117b37e8ebc074036eee4d5d2dc99da269b6b7c2d91f449f06da7d45776bb30bd1591f42b02102be035fe306e7f0daf2f175f5bba642baf55a7df05d54630f888729931c190d6ef45bd171e7423abb438f3a363d82a646542aba39fb3fc71d8b43046e87fc25158d52bbfbfcf21b010001
       \\x9e34d00966868a32a1041f9b2c9f08e0830123bbca63309fb5bc4bdba50 [...]
-143    
\\x6dd99641a73fd2120997dc063b2b3ddf9149ef283174bb8efc24c9b81cbfc0433b65edf47efdab1e1e9cd0a0e5a61b4a1f902d9bab82772fe567541952af29dc
     1       0       
\\x000000010000000000800003b338514ab900a0d8226f7506a1cc9d662938ca964e046897343892ad244e6ffeb0dfbb392f9d0c3b7367d1ac70a1bb23f931cebf031e7243cc94ab3baecad5222e87e7760423011602ac32c73e315cc1d6695bbd10f6563fd254de29d665141b921579dd3cb1fe9cfaad1ecc04a7d3b67362d6739af793d3e90468c5dbb755f9010001
       \\x3cde02595a73e6976f30bdb36c87704dc53ada712ac005211790d3df18a [...]
-144    
\\x73294f01fe40e562db112ffcb1d7b1d2825d0bd4da3f0f26922a82a1d5772e46f068d0fc1e616f975ee6baf136526bce1d7696e627cc9c5c3cd9f268b14e1f5f
     1       0       
\\x000000010000000000800003db1d36f4309faa000c59b35483afc98c5f08ffd18027c0cd9dfa01bb866e33a09637c52a8eb82ed3c56bcef43b65df2179b5562dfb3a50d184f78d6cda49f755cc1d8e88f5ed3f4b7a2ea8a2d0f8e1b999bd964db052f69956566b4d505bc5e9fd4bd0a7c27bec4f301fe7268f8a0a871b6334a174647928d25bf1281c38d589010001
       \\x5ce0cf31a563a38af9fd8ffaa28252a8296121b0b70b2c50fd3ebbfeaf6 [...]
-145    
\\x730deba39d3c3d92523033cca74c7231ac70a855c8a4451bad19780350a2920c9b39c0a2bafcfaeee01beac6fc0379917f9a5dcfeacf8049c30d28bf1139d9aa
     1       0       
\\x000000010000000000800003ad09f9adad1c2ff1d0ccb058fc5de74f7b0c98377c93ddd25d233a4cb6e680b1d5517c15bd09b4e98ebc4d7b0ada7a2288e26818c714d0f206a1ac83fe859a83cec864187fec101399ba1dd1a815478c84470a73df1a586e40c40cef39835f1fc81648e602ad6be3295ed280c80c2b0119c3ad2c595b5baaa16955e007009fbd010001
       \\x130a3207cfc2c747f1b9c26fad2faf00bf86a7f6d36282edd63235c7393 [...]
-146    
\\x74b19ac3170e8f35cc3d7f06a3b0d709ebb6806b2b752910712e2a692d2b97ae38d9e8966f4ee80c06d723ce3c2a8f29a19d84419ad0087cba9d9ad5d09ac753
     1       0       
\\x000000010000000000800003ae8b3ebe4e8dffaa3e5bc5bc795fb38eec74213e4f82343735dab666c5092fe35ac736fb768538cf44a97785dc2ffbf4608b63be04d70134e285572ef00b58ed890b2e9fa29253c5df8a1d43ccde2b895c80e2972d073c545f5336508400ba695f98e6a04c9e4a3ac734d8016eb8fa1c721376fea36d24878d9710ab8ef6e48d010001
       \\xcc3e0afb2a5ef41afdd30110e5bec2c6d31b604506e8f9b57040af01db6 [...]
-147    
\\x7a71e39344614a37a836fd77bb0dfa7e1b4b87ebd99c40fa0a10bbcacd8bcd6beffa1b3dcb03a1306b0eee503c64f5770644fdf28ee284b8dcf92b9b12b1ae65
     1       0       
\\x000000010000000000800003a3386bd203055a7c178cdb832a66b0a89fb42885616421fdf443095fcf011bad54ffb1d499ae82105378def18be32c5fe2f412cf9047358bf4a5272df19f4199fe1b05ad3bdcf807db581525fa0ae22683c811b53a8dc113cbf2f0f9dcbb7436472400d7b7ee95d8b02a7bbe5d33902c4432fc21dcc6bb08051ea1aa7f5292f1010001
       \\x331dbbae1b2899b4a31305564bb0db7bb7f12bc5af747eefc48c025135d [...]
-148    
\\x7a9588523a30aac178d6cc7f78ec4743fa02d21418381f5fa5df11a871a333dbf41d6e10eeacac83e9d1453690d5e59dbc1ebb88a7679b7111f03f4409746f50
     1       0       
\\x000000010000000000800003b52b18f2ee5c5efcc8506388858eba1214aba71262c0889e0c66fb32acc6262cc5c9926866a67a376fee6eb363ec6968cbe09befd2502bac746b624b9ef63ba6eab01a622a0dac8239cb6318c6e26536e3978f0e866b899c442113240cdce0af55d0eac1313bd8d503d88f20358f9a63afdaca63e0eef6c56a9a85825abebfe9010001
       \\x8d42887694e1615eaf1a4427c04d5747ac5b9d376e01012603dec4dd727 [...]
-149    
\\x7b0d2b7d0008f4f632e1218231778540356a543b76830a6a939c681b1b05c6180cfa84f2a779979e95aa137ad5d09cc5714a1f30ca607b1552d51923f9b21066
     1       0       
\\x000000010000000000800003bb8124c264006b98c523afb388b7cccdc572b1d3a19a27caaa5c1de4e5f23043496769385bae5654959b247e5f004a1cd04a073def10d64baf9498995fea9e3fc027c4c8c0ff8fc0518b4108f0510a776d4cf8f680590197c7a95976d564870634de9aaa9c57340394d168de6f1babc5a38cce64b34364434dea61f7043d90b9010001
       \\xe75e6940a4fb7d73b49cac7d8b6fc55f9edc2cb57396e90c6fd3f3a134e [...]
-150    
\\x7fc1104922f2f4fbd47cde843e83558ca71635e074b35dc42b0576514f59fbfc113951a2443e8e79d74ae09bc7cec946ffad228e985fffe2d9c31edd9d6d25a2
     1       0       
\\x000000010000000000800003cf9bf987f40341e3e764b9b088cc82f36085af7457f9678050f18433dcb994be89c52494b2c47cedba5ce51d50b66f5ec5a35d06074836ec10ea9db6b574da78d4838094ee88bb03f9a6afb6eef9dea44fdbb1992053c1ebe2e0d1198d501d77adeaf1cc01d4c875c9f11ade597b5eb1da684d9f5f446e73ca60eebcc20ec5b9010001
       \\x276be449b08a2b60670da182abcd8a632dceae4285a615703cb8b349572 [...]
-151    
\\x80d5a8390395f49d518f13fa13e93713239678ae8d3bca941d29426308ffd69865b45649bc0199620be6ab6166613f72bed454b16c745f83133c9c9a71218510
     1       0       
\\x000000010000000000800003b423da78664a195ec7dbe2a43da1f4cb9eee98c342c1da66f41a1a9ee6a23e47f427f93ccf06d6aa46ab39b72ae9333929233af67c7ff79b29648d9564bd5a7e4aed2741344cddb648784d9341faf3b588ac30b84a26fe1b4b05e49ff6502dde69f17368fd48fcc008445a941bcb5017e70ab96d40b3e97d045ada86fa2841cf010001
       \\x402948b63a73f51775d590c44bb64bbf23f38bce2d8bb6ca7aea934f9c2 [...]
-152    
\\x81950d7aa0c8ef4dc8692c1470ea62e09b85505528483350620d939aed6e83862fa96b7c93359242a8346c1f22276d025410d485a59af3a93376b24dd47e37c3
     1       0       
\\x000000010000000000800003b8ba4ef0c73e441fcb781ad2e5584db4d7d827e3619204b1fda2060c6cc5e967d258e788533f89481ce5038068dd30937f6c0cefac028d0d05aa2cb3f7c9c89e65998da9a5a1a716122b3a71c3089cf75045aec0f9a0428114c661a22cc1d5f855b2c1d1bca6cd39ab3256c2034ee131078e21eb6f0a7b8bef1dd3f546a25587010001
       \\xfdb28df13f5a0a8be4ba1859482e3b22fd5ede546987d5b3edb95e1ce65 [...]
-153    
\\x8169255361af7456b6d7159e250d332dce46cdcb3339e6cb1b7f334e3f807330aa6e353e58fb66f325d945cc2f074e3418ba4a00b49e197de21e243180cef64b
     1       0       
\\x000000010000000000800003a65e516016cad6a796b52600aae17c77601972563f63e3eefcbb7d7bc8fee9097241b300abc1aef13ce12c850722de5829b6086652983565b6a1bca8dff9a0bbff7481f01bf59f704545d15c2c258aba150297256346bd44e2b8a82e3efde6b6a263623f227eaaf9321e3550774b48dc320174785dd482d469514193611efbe9010001
       \\x0ff171d9fce3111b09493e6adb742299daf8ac2bd6087d0e7921028e651 [...]
-154    
\\x8229ea932fbf782e592b10f50db250bba6ea682b9bb160e4ef371ea5a58fe466760970b8804f781d6b5148b7e8bb9e3740526ac09ddbff8e2acb3990ba8acedb
     1       0       
\\x000000010000000000800003b9ec51cd696ac2f428205b1826deac86728551bd8a84f6b3f7a1de0ee437b04abedd4e5077161f10c507089d9b4320991a5e141a6a7d3cd55a973b091b1aca26fd7ff88e000a2ae2ff080f799182c5a469632236c634146c69d58f70f8f5759c7e840cbaeffa1920659944e953248bbe84f5b7e8b1ea7a0e8384f71b7d7aa11d010001
       \\x44a81409c43044ad25d25054e469b5aa4699503670eb5681a0c3016ed8a [...]
-155    
\\x875984c40528b5cda994e9e69d595d857853ebd952c09a3b119cd7ee7dd389ac691057ba9d5f18ebb5b31313eb1c6d1146e5bcb157cf818c25dfbe4a509c489a
     1       0       
\\x000000010000000000800003a140d4debf359769d99697c0c78c5161a3c46603bc20bf584745e60a590ddf60824b0fafd0559b677e9b130e45ac57b7a8ec903bdc120fab2172ce9f2ea820ebacf9bdfa0e2f98397ec33e13504e0c68047ee24cd8deb99e378dfeabdfa81da8e6de4ec900f8d187fbe90f89f5eb3cfa1079ecff45716b449a5d26f02fac6f15010001
       \\x15957da5c9e2228d30a16032714bdb9f4a42ffb5024cdd96d177d4d382c [...]
-156    
\\x88ed4a94b31ab177bb291b29eb8366bec5bb5246a8b407181cdeadfcd7def2b9cf3ca3aa418646f8803e0d08e2b352c69423d309bdad97ba42d98c35c5220260
     1       0       
\\x0000000100000000008000039b8e87542e4762f8baf37e071d8046dfc122b331115b72e4c31846970965974f90f59c3018cff50d9e74078cbc61832fff42382aaa839da97dbec0a5eb766313950eaab36fd4c0d9c15db9852727a1331481382f651ce3cd008e06481758ae43513618a6dd66bd528c2bc0160221c4508a1b416ee0ff74ede02e35070e2196b7010001
       \\xd56b93f24dd28a8cabc5c3c3d60d364fe4a2067c5e4d6334b47d5e1f4e5 [...]
-157    
\\x883982e657b5594d2659f74677ec02113fa77ec612187cebbd9e4dce5715e78453f47ef9876f71952674e3f6e167a86a5f909fab183860fd7d58cd090a97267a
     1       0       
\\x000000010000000000800003b455ff8ac18a69beb74526d91488c7894d4941807d5c61b07b41aaeb4eed3c8477047175623bdb3e97e27cc8fd3bcfaa5c78de4cc382d27ae9428a6d169ebb78859b998f3ed27db8c3e43b91d011af7f3ddc05fe12a232185c7970e811b64aec317f2261fc7521ea5ea41aa07a51210a423ef2989b0c935efb154df7e441ab63010001
       \\xa8ce44b0ae2054e6c89aed3324f157e7065d7f1601b8ad476d9e1b6feea [...]
-158    
\\x8cadafc07be917a29241b81f1b488aea67a3ef4604bc693efa18e233416322a8425182c5e341cb358011f0885ecfaa4723c78efd31f92d4788a04eb47d154169
     1       0       
\\x000000010000000000800003d2f25f01be6c345705705b828e720b5791e8203874706e9b8668a772bea2e7af994aeb1d9e4bf3612b857b94a16682fd4e60a41abec841635c6ec2a632c608c1d8ca004c283415a60ee28f9b1807b7b142fc34c407b9d56e84f22a3e9c016b349ab8bde97f6d9cf48556dfc8d34b17762f10d007b47f969db9e02c83568e1e9d010001
       \\x27532690683b9ed3353884c16a4bd9f2848acee282fbea41165df371757 [...]
-159    
\\x8d41044e8bf8aa06c559d0a389863394ab9874dff3be34c9c6e16296f25fe0d364b5e645fcfa9deb5c60c6bbbdc4b78771618cc7a34d4f895f6776332ffd9dbc
     1       0       
\\x000000010000000000800003ca3ef7506a657dd65464e79be184f02ed066d89d71ca6ccc0bbb3a5ac819dcf2a7a7a337264020389704d38e37914e9824bb833ffbac19987345f6d983d64b061dcbbb1607ca7bff37e17c7f6b8650ae098986a9562cc82498882adaea48c70e937cd0b1fed3fd9de63d6ad8400b621393ee82945cad77c55e79fcb1cf009653010001
       \\x035dcce90ebe6b03743218afe99dd4c69ceae85e0fae95945cb6f14c0ca [...]
-160    
\\x8efd5a0111d525a42b43ba5cd3e1428da5743d13cf5bfc7932b19d2c1ab8396061e162f5702d7ff14b30c27c73e83a09918c4b3e78965d38b61210e5c74fb6da
     1       0       
\\x000000010000000000800003a0ed66d6b6c90fa362c1cbfd00eba303bdc41e31dfb4d2069afabc6c527916ee9d4b1438eedbd818bcef0838ac6816f790056264416c77f2d9840fad41aa28986b59b55243dd03f8de7fc7d243480bfae197661d4e01628d5063a18c719b3cbc0e0f920e72e986b712eddfb03d3bd0d908860665906854a4fcdcb489efce1d4b010001
       \\xe0ea057c90b2c8e4688bad079ec12ceacee344ef9560c340e2aafb06a2a [...]
-161    
\\x927185493202f08201b928095313108bcf7cd774978301a0d248872ed360f385e9afaf7f6835e987d50d46273817322a7112b8fa0d2062dfb8da2fe11ff1b9a2
     1       0       
\\x000000010000000000800003c69733fe993d4b1628360c68853bab60dfe4f8c2fdf829ae257b9d513eb8333cd1c7689ca96e5d94131cb8f7fad3c4a81f80d62193ef84b3f882247fbfc28d1cbadc0f0dced8269e845126fec06fead80e7e7da5dae07670a28805b9d8477e034c91801a8189c565c09c56adc1786398be386888236e09aab829c4ec1ac8eb7b010001
       \\x0ea83ca0ef7b3c94028ff0d066a6274921805089b23b4eb551e34993320 [...]
-162    
\\x92f92e9de502c07be8decdb1293cfe6347ed63d07f16b391fc587406c33e3a1b6971bac33f5f43bb7bed98fb2031c821861a2d2741bb03605e29ebe944626ea4
     1       0       
\\x000000010000000000800003b7f15699eb7f01c92f5a05301251731461f69de7c721570ea0e977be78e25623a536043f5b9287d35fd08d29e6a8edbd4d8b02251370fc7ac3be0a6a7b7841ffc97c722d27652e4723620064fe7b2618e5922f1b2865bcdce71250ea544064b5bd70f37518004583385dde3b48221d54355a167d914d6543fc483c380b61e72f010001
       \\x9d15b2b76d110b26f3ec0a000c8467b229471e5a326a2327e623fdaab00 [...]
-163    
\\x943df7797f63f86601fdf464288cc2e3eb9f862126c487ee5e803c6ba45616ed29b964575600593a2f626a224c00793a49eb645d4bb8e2415cf02d523d564b0f
     1       0       
\\x000000010000000000800003b3cabb0712c5a0375f64fb071f48350d42ec6514945d8166bcdde26327fc47e1ed9e1552cd171ac9e96b75459710f49b724fa42f2a98a8ac991ac952e5b9dbe63a6cff0c6d7cbe252a0bdb8e59188ec82431474d68974c55d00a2e7aa488724987decb6efb15d23406b846ea53f42371c98ccd0634a0ef1808a9cc4801ecfe35010001
       \\x880e4c8106ed2058d917ecc640a123bf90b283adb2adf22f5afd46445d3 [...]
-164    
\\x99f15c6a41cb0908f8705d9417bf64337d747502db6e6cc74dc4594e4d0b41715a16fb9894d53976ebd67e63922f95fdd2cda5a131aaaa3f42122fe28fc9e165
     1       0       
\\x000000010000000000800003db87d2d125b5526c5604e631cb997a6397f993d68aff4c1ede15e2830e66c4478482cf9baa89dc930b10a7cfcbe9d49af3d7054fd2d087c98d2de9582287d9cef53efe20ba4b331d83c55ead1049092a2be60d4f6c91f09b9f03f5866f96de316546cc6c8b9d8bccbc3c44fbdae111e8726ada54d415b8ae619536f5700b2ec7010001
       \\x43962e270a7229da2ce3fbf8b4d7ce9b0ed64d15f8c25c759a78fcee57c [...]
-165    
\\x9cdd5e829fa66c9da8c14f7eaafb656560c08217df62e369d84eddc5aedb836716537a687aaedb6bd00984a8a50cecafd176e61c45e11791d2657c0eff7346da
     1       0       
\\x0000000100000000008000039e8ddf6df0aba3b2985cca7aab514c6ffbc663c4287ea0e8b4811c85977dfd263a5a2ece281ef52b0cc8ce91ef7ee8b41c654fe2d9174f87b005c24c67de1ce1ee2ae7b62d0dc444acca64cfd49ad045f5ecd2790d717ef1f18dc0fc643cb2b4b58ff4a67c0b92fe3dd216d56f442b2b7e91d03d7a018e5dfc54c84de667166d010001
       \\xa596a7d9d824edbdb30768682fbfcb9ce573ccad59089272864c41dff8c [...]
-166    
\\x9db900f537036e82f4b89f1fff39ca9cbcdac427c368e8631400e78891c2db8f4d87fa8621c7c0d9b9ee27dc2515822825b145b3b71cdc7eb194f4a54ea64290
     1       0       
\\x000000010000000000800003c245520ff54fb98f2155f9a7525ca38d3ab4a47199477e9468e15fc7df61e7f91ca59f6d817f5d06cc8755900ecdeb0448f070edd4a0cbed2bab73a1724a19aad0fe6251b7f6c3589566eb9560e5cecce4d65091cff27b32eb1728bb6a8ede9cfd66b405cfa859c4189dc45a94fcbe7346d26d6eae22f7ed911f33d6c3bcf369010001
       \\x39147a18981d14af6fd23b234f7e6099e204ddbd05aed3c69b80ae606ec [...]
-167    
\\xa15d251ea52572155e9109fda8e6b59a2506cf45861c5d3e4dc778db1b6006c56d6ce962a13cffe819e5b3674a6189442e3c9f3fac63f9631d83fff8ef8c8250
     1       0       
\\x000000010000000000800003b7667e39bc64b8584af24e5571775815b726972d128d8397c2c98b633d447b92d89eff008d35f2d2f65e500aa84f7ecbb5efcd1342cfc618ec4685853d635054e2b1556c62a4a81140a8c708dc0223f61e97520a8c106b857db821c3e705745d4761df00d3e70c5a96f8ed33c871787df2d9868d7feed42636ceec1b90c9237f010001
       \\x93ce4a85af5c131f537a21d3cfbc5f5bb43bd464b8e46ae4d0d7c1f1f93 [...]
-168    
\\xa45d7a76bd9527662bbd2bda0cd8b7e2911f3f0efab66744ddbe7f094a99fa9673f7a3fb58d05b7dfad9474a6423d8aa9f54cc2a2f27cf94081afdb3a7545274
     1       0       
\\x000000010000000000800003b475d2e37f81008ad27cf596bbf58d6642fb57a161f892ee570941823ebc7c0f5b03bf4e3d7584c069be620aa51dd8f81ea093282e757fa718e769eaaf138e31236f37c2c5fd31ecbefae2fd19931aa08f9d691c7ae890802634384174b234e8241f46891848056338655a43a2daa68b7ef51b3452d09f24d3098b9a28627723010001
       \\x9b269b93df22fa36b663fb2912655477c70b61647d128f3153eb5549dc9 [...]
-169    
\\xa581e2e7b6ddbefff80ec38600be094788126968c392f7da6856d2b837b3a80d60397f0fe732101c5f5c61a98754db9bb0cd0bebd0c08e9d0c5758c919a42f07
     1       0       
\\x000000010000000000800003c06e5d6cebb17572b76fad3df4dd86911f9757a4bdfd395a1027f0a1be18262256df08dd57c3ba8e2b66df141829bd92bb7fbd5b2871bb42bf35c63da9bfe5d9143295bbea4fc95b86e1351401d68dddf59b43244978af25f1ec083d654f21a683d3ee10a87e60f60c7b7567e048fab5a6cb182214db2a0817d3dfe07de37515010001
       \\x26764a8f60a11d201f527392eb739e9050c1a705623f0bff9d10a389c7c [...]
-170    
\\xa9596d701529f8b355d299bb3b76837860bfd479ddf84440c42a67756e263560046a012d05848c3ef16614e9a593cc17cc4d872a053e6d51c8c17c6a63062da5
     1       0       
\\x000000010000000000800003f3df78148a221a6c627b9bb3eafdd421b886075062228eddc8193475ec4ebae37e034ab83d7ccdf3f11cf8e289c5ce01039ae759bb60883b760233b0698e734e28417626207d4cf9856bb8dfc54da465d17405c42600e0c09a7f8877d15d6f2125337d2697eb13f6a1b94cf3d04d113115565b4d1717187415df8d8088f87a89010001
       \\x1db5f620689d33b0e7b66d53436f112d2d9fbeafb708f8cf632dd3dd8dc [...]
-171    
\\xaadd969d02b913bb66c2433d42105f999ce0bfac5892df71c411a05a0d075e594c32715fd8d7cdac3b19189977c7c1fd9e6e8f3c9e4a26505865d887bd581ab9
     1       0       
\\x000000010000000000800003d9f87b2849dfba4ce1d78a7e956954af10ba374091f9ef821b8b2443e517c5199884a643cc3ab32d86bc7b3f966661233536d0cad89aeca4ee0703a9a2e52e5c8755c721c5a40562a203b2f04d984bdb358dc01c1ffbc178ca7f9a965baff8e99855f49229daf3224860893cc1b14ffde526c0f7cae8c2abfcb6e262cd18fbc5010001
       \\x8d545da2ab0e7450bf4e4d3a2e357d775ae25178a7ccf9612dd11f242f6 [...]
-172    
\\xaced803672f834ff99ed92564a379d538175543aba0654c4950d1ffb76dd89ad635d962e28cb744f1850c32d6dc89af5c79a5932065e97d8f4941b5862bcdf60
     1       0       
\\x000000010000000000800003c2e26615e269db0080127b1c22c949abe9f76a3ea8d7cc963e92ad0d66901c52059edd22f99268449c82129a369ca038564a31d127a21ee6c2c4f8da95f4b95c0cad3cf2b5a71afae03888ab2859031811946ba4f65354af2ed42c7025b5a254f769506b9860210a42efde4f0c296d88805cf0d8aae21e600a1b0a2efed702cf010001
       \\xe57697962249364edf66a757a9b78d9724a1cd1e59bdb962101a104c361 [...]
-173    
\\xad094b7fbf15d97b38a2b30741ac7f66607d0d765755a3ccf7724bf3766d77f6b67e61beb5202a9f21b9619634991bb3392ed96cba30fcaf6a09d2f62080cca7
     1       0       
\\x000000010000000000800003cd736dabfb1cab762a504edc6cd118ca51160864a154beb567cc2642e6450b90df0d51198d244314f6b1cfa295c498113ae3422367f24de0e83cf1b6ae7947a28c7bfed864b4febdb8c48c1266ff074f0f82addc476e48cc5a3f329ad4230fc689cee2fc5598b5b1f1d5749622ffb36a2cb0b9554d8555cb33326945e2811213010001
       \\x09b26c50c180095678a443c6795c4265a7f35d4e0f60b1d72c951825806 [...]
-174    
\\xae11a8c08ef779e5e93039a01eecfc8db858228be4b7d8b74c469b3d1611d550df8034e7f88d642450edb5960698a740d55d79c62c9bf0135755a43b5dc2430c
     1       0       
\\x0000000100000000008000039d6618d53d193bf56afeba3f3f30dd53fc04379981b6c0fe9fb2ba44def7b0c7c123dc4bb2617c410dc5264bb80adaf3b9f20babb3c90fe53fb32c86a49815aa422a9037a9fb68a8c4656ae3302a4c95f2fc49b4aa0659a50ecfbbaf3a6d610462ba974bee0f10d7dcf0cf94186dbb9b84855ddbc26374d72408ff30af0a1b4d010001
       \\x3de2aebf14f7d62d6adfbe01811b8c2d288c7f1c0de4e4e88b3f567e183 [...]
-175    
\\xb1113abbd5104b1ff99a7e3cef66d8e4bb5f40a8d0c947c1830209f45c2c2efc68434ab5c5d58e67cd3c42e00e79a0b6b45edc198922c5f1dc3a157b60a57491
     1       0       
\\x000000010000000000800003c6e384f7003843ae3d8d8fc57a9b82571650f71094febce8716b510ba1760a41efea7ae535fca8c35cb0dfebf644a53066040a80568266df73a243c94dd6ba2b524f32e0cc3e47f3b50a519fdf0cc92bb14ea7e2fb05d07c00927706d83efd635b199a320905da2c51cfc7b8da0408d4a463ad256db2ec232d7a4bd922ad8d31010001
       \\x676d4f958a29ee4399ca1c64b83e0ca5a59a1215c7455b51daee29843a4 [...]
-176    
\\xb2e9a9b5f6428f322dbac921dcd7ec76ec76fa31a07fdf993d617d46d999a079eb82ba9a989eb4e854a3b11745af501ce1717316ca2fe131ffa7a64c548b7463
     1       0       
\\x000000010000000000800003aa5e66aafa1c7a7223438a141cf676744d18e4eceb432f2e1724a743fec8604ff6e0f7277f569015043f4f365f8609693b0f1c37d00edb03d9069af507047ad9b54e5c06fe27c85491babc14014f7c2571738d1660b8a2244fd4c1a909b736660da1b07ec435a0b964e8710b2cdb839aeacd9cda8df674ceb9f3d0ba2ca577ab010001
       \\x3730b8ece28915afa266a234a8dcea52a42266944f9026b15dd92f99817 [...]
-177    
\\xb2fdabf3f8f21472ff2253220ade047ae39d3ee1c9fa804e7214f538385f70f1e91a6b85a36e24182febe7b7988ebe52ac98b15e7303f0c69a00e04c1e8cae31
     1       0       
\\x000000010000000000800003d5dbe53df5b67eb33543085550c9f8eafb0f22cc37191cd4fd659d8f2041dd61d5d0934c5ffeb5c706a3da43dbe42f87c6e6357bdd82660795773bebe9c1fee732d93bea7741972364272b944694c3c1ef4572f27a2b31690c370c0fd866a3974aca96715cb5600f5a6d139a5920ae7897a7c22160d92829fe73376c06769dd3010001
       \\x8a334b558ed9da015c2627daf1b42cc17bbec2cf34ae13c7171abd7b1c7 [...]
-178    
\\xb3618b06474459c5297b71ca4be3aab845f78ba1d780ca259baf9e64803c91f6299111fcbca4be607f4e39b8bb16704e4d858187da6fe98ba177026ca65239dd
     1       0       
\\x000000010000000000800003fd9217a5137a5ab90d03fb46c3eaec55f8e283a0fd63aa6c12e2316e01e529bd5e55c29e8fd45abff46c03e008cb46a3c6061a17155c5d6aae830226f528a5cdbd79521d3a8242a3368542568d95e7401dac2386dfcac1c7387c61e2e5d08b74f9e167592ab6559941b2ff9000e426d2b45f2d93f0cfbbe0cdf127df171f4c11010001
       \\x4870be716f1f71beac633a27d41b092ef2fb4557e068aa9ffe95dd1dea7 [...]
-179    
\\xb651da48999f7b60f3791ef9a77472163105cf406555b3198d7ff1594c158f03eb2263dc37ce80cd5889282e2c13ba35f092f1f4805a685256110a0a910491fa
     1       0       
\\x000000010000000000800003dddd1bc32e0195766804fb15cc532acc08302d3b2dcb8766dbb42655b09d386c6521d548e6ed139fbba25afb6e007aa854eea94f7e68e018ec88ba0b31c1e2ef1f9fa054bb43ed7e22fa1ca000d23245c7f6b2801f835e61a516e97fa6ff1e920ca7a4dadaee0c793c3633e5f9050638e156f8f20cbcab32891b5279ce0fc7ef010001
       \\x31901eb2d336a5dc84b5ac05cfad110a78feb013d4a63f9e2925210f911 [...]
-180    
\\xb9b15dc2e6f9638788fd12c7a12e71a77b9b7223c2503b466ecb0c9c4dfc8fdb4bd37d4e33bc5738f02d072730b51ecd88416afc5608265194a4943087b88e18
     1       0       
\\x000000010000000000800003c26dfd65786013204c6d5e805a87b4a4a9b1a974ced48d0fe3af852f140e46e5027f78a51ee19e6f2bb9a0d5c518e8d59700eaec372fb403d1e84ff4d2750267654ea1bc39783a94907d041f881f69f7f7b3e3d043207347a8fe62b65e6e00a8403394a9806b96c13b4607f90681952773d719cb4a1423c2bab4eaa72eed7cb1010001
       \\x68b6dbce51cfa37fad1eb83e1197c3ffe03dae10cfec679947de5641b67 [...]
-181    
\\xbc8514280e48ce2263c9fea9596870ea2861195b2f9e03570be242230666f670fd3cf6ae1e0bf6251d5d27cff93f8454e4c548154ab685fbf7d1af41791471f6
     1       0       
\\x000000010000000000800003ba8e52bba9d297d4b62be6a79e7d6a10dd6ea6b24f0f0c4683b8bb2f77fe63722bc35ac3c47f899b13853790c393751d6a7a10b9b77eb2f62bd926c7ba93535c59101e8b86f4703b3160a8c28b7c835542a28e036b99deaa48714dc847847d2577895f7e0c8b71d8ade5970885f986551d70cc3246e2fa1a757629b0b0cf2571010001
       \\x70b02a7b0a6fd41408153912a283da55ad61676fb558612fbcef108c6f2 [...]
-182    
\\xbf4d22690d6009a80f7f0e85006550760c71727e969c66f9d1396141c2edd9aae9d61727bb6fd7835495929b0ce9720613bc6fb9f89781dcd202535f6791e222
     1       0       
\\x000000010000000000800003be489a328581f27b084ab82179f7a50cb807c62d5cecc520fbef8cde7571806a735525220e4b1003f62a347bbd1da8115032ab6bbf60bf890ea2bce021dacbc796032e14ee27cbf2a5735cc1bc80cbb06ab131c7f233213874985c5cad9be56fad34105d8a5b1081e8dae55eafb935318b6a61959e27116662fa7ed2e44bbfef010001
       \\xc85571079ca27250bdb1b5d9eaaf287c049150e19cf1e24da1611cd2ab6 [...]
-183    
\\xbf4da73839fd26585970918dd98b6e893cde41bcb33b3b7ab30d90b7fa99cc2e6e70c6fa6612a1f2814e509ff3f69e55f7677c2c35e6ac326299da9e84c7f6ff
     1       0       
\\x000000010000000000800003d75720de628ea8010e852472292404fd211424e5d9fb107873fc17c5994ffbd92df7afeddc75bd7d58333d82e15352689f8e0134346fcde7895891f94c632d26779a977c71c8577afaa5361c9078586621de11212f7d8ff90347fc70d082945b026cc0c6d8113fadf53eea9de927e92a541568e85b09d00e23051c6e3dfce58f010001
       \\xea52ebbbaaa3ea4cad3995f017e64fdc681ff0f8b945f33eae50408844b [...]
-184    
\\xc249be26028b291f39e2745c4eb929038934dc4492d4e4b93c1ef6e6fe94a91d8499d4e95441e145c0f5053435cde3d3e73627befbf2443f4ba3924d93109012
     1       0       
\\x000000010000000000800003d14b8a6f25b543b938e9686861be06e7015bb1ea4b15b9c93d8e1bb385464b6556f0a9a1240e67d58dd6cb696dfc5879765c996d0e3b7a8a1d8f9cffcb60e3fa7e9efe572d6a6e0b0154680b296e06c05abe480fdc0e8f4950350a3cb11503e4a2d27f298a61b127b8828574d90759e72c7974ea1698c0b067bd159571f00451010001
       \\x28b89ecefe6144f4fb25622aded545b03593d067ac8025c9cfa224a557e [...]
-185    
\\xc375ae29555d01e60f37a971dce744a897974d9d6afb830018591a7d4cf1182eca146c2cf0b4d4b17f9f03990722b32f691b5a1b725534d58a7c83dcc67dec35
     1       0       
\\x000000010000000000800003db6af775ab773c4d2696c9413fab6d2b660bef17800d33ace3865f3d210af896016098da79978e5be39be59df254a01905c48952bb53744bcb698fbe437dd8ef641a328bbca278965f968f410ead2595f1d95e2165a520c5477ac3be82cb144fbe5bda10cb0e66b69bcc05bd18c743fed854341ebddf688a621fccc0f610a899010001
       \\x345a5ae05581dedd9a127064f2c931558a5d5d17ce21eee1535738d1c91 [...]
-186    
\\xc7f98773ed54a4bb14b4f686696f7856ce095e418934779f33b15ed3b28ba5dc575005b846a0f4c598e9c400ea854693ea80ba114370d3c84beae563bef323f0
     1       0       
\\x000000010000000000800003c1abadf933c6e59d3b43c19824bf78b4b1169595dcba904c35dd40404b18c14567836367c501ab105b1c20ed6df57553fb2ce4ef408f420c4f458888d19984393be31932304e645610513110637b357ceb373211bf003ce2a2c248da0e768183c75a55bfaa2a1238c40118dfb98a5aad7713974b547e94283b5f8b373a411eb9010001
       \\x5eea7411b458dca68e5a8e2c467719546ea8d167740465045c3e3cf557b [...]
-187    
\\xd06d6f1dd80f26f151d7bf5677d751f9c3dcb641b9eadd2730860514e04ac4b5d1e99db158ae41aa193bc6959d6f1a65bf8fc4e3499c5528b5d95dd1b8e8bb8a
     1       0       
\\x000000010000000000800003ad4e995f152d4772bf998cd2f88b0ff87e37bbbbb2516a5a6d280fae973ef2776cfefa89f116a20409cf28896c216d088cb11f5cd665fb42b2d501b1899663be771335468e61acec14115854fdb31096487d5306f1465246a1b02c009597b9ffbbd8bab432aba47015139675a0accb5738d7a8358536702aabac66e426f39aef010001
       \\x07643ddc27d09ac3662c423625650564243329ff91e036baeae63e700b4 [...]
-188    
\\xd19922d9af544dacf25dcd40b37d12602bd322148f0575f7419190aa35672a5c8bea7fad85f0c190c3e40903cdd0d66b616ca96824a3b5faad8b2522f16eed28
     1       0       
\\x000000010000000000800003d593e13425e319372e0c19bf839334007d810c391d2e0517a5525141870491cda6626d96d76175f42e0e3a78d7fdddd6b09028cd7724541edd7abcf496e9a319efdfd984493dfc129706bc03726c8e1c4fd05cab3cbdd74695f19fb66b346772171820b038df6bb5e6005df97fa5cf0fc913c604d945743042b1217068f9af73010001
       \\xdf55a834da2fd26f0add62c07dab1804b10872242d64bc9decda0f84318 [...]
-189    
\\xd28dd7615b4f437e3867a9be8b3d04ce89558c94063b332249cf94302014486dbbdaa7f9dcb52b460b23d4dbfe7487470386cb4a482a200486469555f3194c82
     1       0       
\\x000000010000000000800003b5cb13a5934601ed700a61227afc9cfde9dbf0c1013da3c80f071600f14db20521234bbcd8770d9396ab37ccd6405d646789f8c8d938afda316988f207c0c5c6fda0879413cad7902d4a786894dc83455f344b20bf53169f2d09875e2697294b97057dae7b85aced3854f27ceb450fbd08bf7027d91b1d23d11662521f3fd7f1010001
       \\x3cbf72112086c2ab19f089dee5741e595173e9c3369066e0b2b4a8e0a9c [...]
-190    
\\xd2459b41ec3d44ce9be1371b49ee87815350d671b3ab7df1b6838725681d6680cbf1d40850e1e6f00276a66aea87fd65ccda0efecbbad7d64aaacc4fc3135f5a
     1       0       
\\x000000010000000000800003c524ac7ccea4220c80938062322ee4fb05040cfd87b6120602fc1090fea9d5648cdd8199cc5a42a9d386c7bab6fe1639619c4838c3d2e454876574e39b35f5a0f5cbe6ba4761a2d5d957d75f8efaf657205c7f5b0b54752bcc394f8070ac7c47d3a837bd0295a19df21efba123da375e526611a582947b7a8e670c80b623b305010001
       \\x04abe65996dff7898e8092b2fba0191f5a496820f8be16ecdbfb97752ec [...]
-191    
\\xda5d319f783abfed5d28264c0196598cd8daa6999efef6829a7a574698d8a081a8029229d8b22eb0dd584fcff5b2c13985d937f6e00f85e1339f37f23a1e8db6
     1       0       
\\x000000010000000000800003e4de2478a06627e3c248230706b90deeeb3da648dcad9d7c80abf1a0f11a374a615c1a4093415ecf95e56a934d993b79499b9af2087ee7e0aa9a62014dcf91419898721ccf945597c84c09ad4961678af3a3c9128588d0c32c7c2f26ac11820eee9df88d09a24bae7e1b1b91057d5b2e8e5d7df74905f70941c2ecc7d5d2c945010001
       \\xf4ad271876fd0d806d3c75d0f252e28cf6b35327e28d63d9a7216e6ec3f [...]
-192    
\\xe289eb6fb2ed760301d1754b7b62f4a4eb316721caf675f5d9bf72ef4451241194fd8c39ad686cc7d5669ed7acd677030ab6ad4ce622f9558eef75024dcada43
     1       0       
\\x000000010000000000800003a4fc7df4fdfdee5d4851bfac9499634726c97d04044519cf45e2843e7a86e5a7bff8a51f5c6804872d2116a9c079eae3e6ba1b33d29af72e28dbbf85ab5889a785a115788839de51c17c3f52c134fc4c8454e23158dd455ca63bb6f11d46a6ff6afd99d432a18cd44bd9eb0e4078459ce1792496681a7ec4210203538c6d5a35010001
       \\xe0799ca0a8b6d9f2f13d269a545c235f72b0e9862eb3d100fc9388d63ce [...]
-193    
\\xe2d9974cc3cfb084e2b2ca24da3d54f5069e7ff789c744a36c17de2bc44c7c2f95f95f506e1ad725a80fc6ef144334560e71d1dbec52645c7dc877ab895ea11f
     1       0       
\\x000000010000000000800003c87dea5b853c55468f83c976e6ba50a02352fda54e7b4c31707c83daa18cecbccfb56d921c99072dccfdb9b8f074c5b99fef9ad6c410e7528096958e77fe1cf2099314bf2efaa530864a46ccfe15074feb431f30d69fec29199b033a2cde76eada606527e91e081b597d13219e555f7d2fbe5025765801e6a1b625cddccbfd83010001
       \\xa061f29e8295f40588c812afb586a1a0b7790cf99f1fafb2285d334cded [...]
-194    
\\xe4f95993e183aa4f1ff65235f692cac80e6cb0d751990e159c2785f389dd1f32115b8888a302985f9781238b67e719f83f91450d20c22ab2f4b5d20b0d7bc33d
     1       0       
\\x000000010000000000800003bedeb7250869320c91cb21b2a1fb5917eb9909a21a442810703ee6ea6901db192e7dfd5c4f33dedd16987e438646417c618d15f0496f35d7027dd310ef7f0775c3f4e82a92b4514d112c76379a3ed665e710bb0f07fcc6514f83e9d958518cf3396e6485a7a7cfdf376c763b9794e65788fefde713ac37376384bde738765ef7010001
       \\x510ce8219c282037e2697828bb2b801d62f279b036c1db23d2276adba00 [...]
-195    
\\xe5c55cd0317c8712ce3cf569285aae5a5e5999c0169227364e05565d33d3470661cc9acd9a35cce5113da3558b6b38467a8001dd8d404635a0d89ebd08ae8194
     1       0       
\\x000000010000000000800003f28f63e1a46fdca10ed0e8b97b5c1fad947a3ab309bf0f4432715dd5fb4378a9f6d15e128cbdf86ed9786e4015fd6f09482038fbb75b318075b507f8172a654229bdd21073ab42391f3856b209e2fc4646a4e15714c97f189a35a65fdf838cb94f8243a9a41fbc1b83be2754b365ff456503b0f6cc14119d65f43bf46097115f010001
       \\x9c7440e2084e1d5495c13d3aca2f50c6be31eecdf6dbad9734bbee9465e [...]
-196    
\\xe80976c0f3b3c05e2e712a849a8b014cb79256bea36867039e58e92f4ebb927c76088d23322ac26f627dff9ea01c237b930e9291ce140d11e5a3d33a2f3be00f
     1       0       
\\x000000010000000000800003ea98de8d1fe15e1b36cf1b59165b381cc715d6a2899cd1c7487fab18da76a80dd896f8428f65f44ef89eded5aea2455e9a03156c5a347b9b0b65bfe9e65515acdefff7b8538a07722a2da94ec689cf60c3460f6a2bb226893ce6651045aec2c917594ca593dbcff5c2ecc4e641b579b49bf78d5311361c737d5912acdc98726d010001
       \\xb1af1a06cc42c436eeb5bea86babae46236e99a554ccfaabf867a6a0f8a [...]
-197    
\\xe8751feee57cf472af7e6ea8fac6394ab3df6c4e0e166efccd05bbd450988f75893e1c52368556181e3db1570725c00fcab57f9d1e9a975398b4878f27cb46e8
     1       0       
\\x000000010000000000800003c0b17b11facd0adc564e7238c1256c6833655c3c9c54743bf3c1c556ffa9f4dbcef789989c04225ff767720b5d81926466b043b69d85e44ca95373c9d0c8dd2a94320430c2ed5c5a0116c4b6efb5a9813da3d94e8b413e486d8af6f2e00ce9bbae41260fcac53bcb28af4d212b4db2acf8ef80cf7fe06095c137867a4502804f010001
       \\x49accffbe5c4a6f1cae6d29d5f4d066b76bd93eb3c3db9d3d20d7f39955 [...]
-198    
\\xeb859eca2b55a62d79ff69c7a83f3c11355eb27b7ae27b06a54530df98a6fb5c64d0b6a9a9813e0596c78c5998ed6ba613a515b6d4d61f6cede154d23c31d7f9
     1       0       
\\x000000010000000000800003b64340aacb23a3467728415fd505db7d95d603c1b006215a0984807bcd56f69bb11fd15a8bd72a8a7a00bce7af46a5c94bab91fbd7c51964746020a738491835df4c9c575e9f8485e64945e3bd70ec83315e47669a8dce414eca24b472ef338d1beb000ac1faa93829b973a5a5747d9422d78a55d58411fdba235a53ba7bee5b010001
       \\x66ee2e7f6bfc12dd343d3b830e411b3e82a0928422284f22b2dc62e9f2a [...]
-199    
\\xf6658e07cd03327399de43812b4ff26cc37fc10c45c40457741ce2f39d681349966de23827fd6be82fef8320488a353c84fe27f9cbf2d5142fdda2ed0d06b2fd
     1       0       
\\x0000000100000000008000039e230bdc8ca17c66933d90f94d882f544960b3966f8a0f1a969f56ffe4bb9b26670fde866797f1986fcc3879c6b0e140df9e4c9c5bc84659fa049c9cce8d13f7ef137caeb22dc17893e88df6206dd4ab2a2db82f3f6f8047b04fc224972cd476c84d9879676d108c7524e3ec31e5e7fdbeec9e10fe475cd2a904cc5e66de945f010001
       \\xd94144f2e75bc8252606b337dfeaf654d5f4a93fc4a0e4ef0d62c8bfaf0 [...]
-200    
\\xf9d95ea501e1805eb87605e773a0c13abc0d8c2212b336de172df7b3e4c27ee3d305a30cb4a6caa62b2f68a77e3d6d8e86ae7de1350b9e6106c849ccf21d1d13
     1       0       
\\x000000010000000000800003b75f400b63f4c015100731b31d0db8c07827543f29f6048cea9b7a2557eda0c356fbfbace9b7b0f8b72299b288f8b9ea6300420455056604edc3b7a73a587903b44d73b280cd346f3cc50d194e2af0290b2e7355984c6a5dfe488773bdec6414a977dc2a4f19dc9bcf91488fb8a53c29183e0d9ac4e8e9a33642c33a65e9e255010001
       \\x021d34390670ded59fafc97a3a6ed69a593047b03716f6c671f6b20b46e [...]
-201    
\\xfc21de90e2abd9653c7c3985f5db466cd3ad94abb90f50b6e23ca5b4c3020bd31596866b15ea8cf446bd814fab084b70fedf4b1eff683136ea9cc7baa9fab532
     1       0       
\\x000000010000000000800003c4487e8b5a2fa6cc0bd0f87acd22ff3b35c321cc95ee17c5a4032eaf0911556882918992414d9dea40869d928fdbafa5765ff5f55d312544cbc0c0503ee08917c9273ecbb7bd64104b1e8ac0602df223c4bc94b8978b68e8ec04f8246e674d11db4f772cfcb3955d83f91bdb33177294c09b4bb59b97e45b4fffd8b6411cece5010001
       \\xed4759540bb4cb7a6e940a8ee652b7bf6f021840ef136378a8d60366eb5 [...]
-202    
\\xfdf9f9b61b0eb8b1de17560ea51db496f843383fdcf718f6360285e0973f161173a0846c48842b91608ac5d607f0e1216bb32b93d1fe4f8028d723048e03aba7
     1       0       
\\x000000010000000000800003c61e22a8cb0dcf49342446db23ac8ab23204cda16b38f5e324d84071d2d4147f2f26454cbe9b5dd068ed6f0be1a34e7c79a92f9c4ed3121e3e7a31ecc84101730b43b0ac29aaf929036cda9379cc0bd090f71a131f6eb9c243205e727e480779c78527fe9f07d1991e2ab2d74b85d8acbeef116525031e8601aab200ffaaa78f010001
       \\x6c29a0b63536458c1d551e13c2a0df461e7f560335767bf7b14e3f18d0c [...]
-203    
\\x016257b2c0db7cdf2f0a854a18eea369cbb93a1beabcecdddc61e5a8e47c9be5d482db686fc8a86cdb09b0b7e119c985204e02b0bc63897b5f7ac64ffa3de2f9
     1       0       
\\x000000010000000000800003dc223da48af90a9647c76abe56e1cea3abb0068469dbb5da74f239e5ea5342587885011087660a14e43b710eea8c35352adf351512ebea68adc75a238b82f1e2328c4d56ca29387d81db8349339d3ea5c15603d9a41829e26d1e7f67d5a44fd428784e79b127b27b46db0413246139b6b614aaef3ffce2b7e51ccf237fd52bcf010001
       \\xb81c742276e51bcfd4fd6c860980e212e3f21a18289c87eab5a356f92c6 [...]
-204    
\\x0342ae5207aa85532fa21e5a79034e5ce6b65fa72fef28454d6d931c5387fe2d810a5c7d5afdcbb6d673856847b0088b6563566e153993aeb9bf1de02625c901
     1       0       
\\x000000010000000000800003e25a5742fc4e89aeaeea0f4de474d712609687075f8a715eb601f437e657c62d7d5ea89444cdf108e1809be65ae3957c7b27f6f61c0698bd813696558c45e44d047f24c0cc9ff9d813217511ecdd8e72e7b5a79e1b43d7713d9cfe89994dd86d888ed16e17fff676c96d2dd0d985f2105d29e3b117fc82df2a40ed36793df63d010001
       \\x61065fbd26cf00b450ea86fb82e13980d9f55734bda3326122ff487019d [...]
-205    
\\x047653ca588eb2f561d09d17b506b55c9bb9487e19fe966e786a441aaba81cac58e3b6ce135c4b1f439b72f0c1a22b5885c76132041bbd1130bef00b9703f530
     1       0       
\\x000000010000000000800003bbfb1c13008a521c88a023fa404fbbd88771132d11d847b789db4d77d669ae16eb74b7bacbee32c2ff580e9a838e55761574550ac23692bb7a47593614ba9436dbac5f7436de550103db1b8b7ecb0176af457ebab7120a03b5ee6e59e077ca9e2a217ad52482879104a7e1cb579daf5f95e45d90b54627fdb63a3667565f9403010001
       \\x429c3a5460da50155b3e463dad799626ddbcab470dcc3ad1f69401a362d [...]
-206    
\\x0852a1ffa0b74aacfa84d72cdbacba36d9a9fcc79057fd53e55bbcdee9c565c19f26f464cc1ce80c01aa19271873a95820fd8e6fc3c3f3fa18f0b4e7822e7121
     1       0       
\\x000000010000000000800003aaf5eb70bc28d5c985ec35a23a895bfb008773ffe44ca59af023b5dac4d5d0c4cdc505389cd85961896234102a4e7d25021b74ec1b97d1ecfe722d9a72c0efb56ede22f6d674a8d0b9f99cbd61cbe2b89c288e15b979ae2e9ec36bf22587500da843d5b91b864ca21cdc04b1641d38fbec52b3a47722fa4394909e31207e31cd010001
       \\xda04269293e6de2a36656916380416a63ba76d531110b85ca73ed3be462 [...]
-207    
\\x0c96ca54925debb8dea7beb7025ac709a072a093e42bcbc571bf4211f20cb58cab20f00237b571ae6758fb7447f3723daba153a63dda72e5762e365c0d4fdc70
     1       0       
\\x000000010000000000800003d4a25b78cdd7f84ec6c7eb9b35bf611372d565e04965b7b636a492811c738be269b035ae8bd9fffaeb236f38d8c9f72512c8b947ca3f653e717286444ef2c74731c24e6b909f5ca54bc7b9d5aa1a2281f846ef18909541f62c2db7f03815e85be70efce908e8b2068191b01563489e35450d013b0fb475d024ac66f4a7753261010001
       \\x5b2de38cc119c9b64c73c1b8dbbd94624b79ff3f8bda424208c126dcf98 [...]
-208    
\\x0ce60eeaa1a130c8b49e0b23bc3d91f554ab7abcef416ddf9ac78388b523d8ce6b793366cbb4c8ad8c8c65b7630351d41374b5df14e8e9dd2028a857d39686d0
     1       0       
\\x000000010000000000800003da8f047e474c9196013bb7655b9319590f86d003e91e2ef44f0f7864ae2e9d060d2726f6db5d79e24422072cda3e9027bbe8d597270390460957fb5751bb79c4400e706364f45103fed7f5d2ee3467a386cb0187e0652ef3b5677eb5a0550b61a3effaeb341bb3d3974b101186ff4831fd527e2ef1a87ee736b6fb51fe948dfb010001
       \\x849f509930166eacfb1ddcb90ef2dc968d653d30ee7ddb788a1ade4e8a5 [...]
-209    
\\x0e7a90f892de3b18229ea09f0f1b074c1373e2de530a761e7f61b107d1c45bcd81d805aea5df78277db1062c121a1a23011fde2b81869f168a2db30ebf0966cf
     1       0       
\\x0000000100000000008000039a511918ad22a5cf34d82009d4fd86ef8c41b5688792a49d02438604718f57e285ac0a3bf1aced42ec52442fcf26fdc328e12807b74297d8221295df9a3b33b49f13f43101b00e2de98fee77e790e4e493ee1304f448028bbf18dd5e570e6bf82e2486402b45366c6e8a8da49aefb01a651a3e125b3d93dc70c01d457a3edcb9010001
       \\x627afebca6ab1509175cc13d4c3d9f53a78140c3096f9f3269aef440a4c [...]
-210    
\\x12aed7b54f14be4a9e7a0274f891df4f9c6c9bc29984ee5157232ef9965a0dd283a81bf322ae66c9aacc9502f768c01fd78d3ea3b0c3e715d383f81309578c97
     1       0       
\\x000000010000000000800003b1de39efc74ecfdeebba9eb34334d40abfff47243a46a3388a05914c3df19479f9d9c2481b514d81062963b66a53b6d8f5348c1e4df3fbd8f1888b0e647c79d09113833f400cb831d773fccbb8accc811b887259ff767eca468eac3cd5c33bc94f8e07c00fcf523c529094a89193bc478aa0521f7848e223ffdab9ff4d1306db010001
       \\xc3324bcb8e492684a59ba254498a1d75012e44358c47305ac659d46acf9 [...]
-211    
\\x16569a7ebeb3505f0c700634ed3531cf6c09d584dce7e8eac4d809c956cd111082fe32070fd7040c66fffe84a935ad55f3e801d879e372f3a773ff157616b1fe
     1       0       
\\x000000010000000000800003d06e13e9a2982a0f4b30dc0129757e9f54abacc751b1ac928b61fd2ac91638c7a34159634e342add54ef75c3c916ed1877cf8d04bfb457986f5a1759b3a0e142bfba63908962b09ea9504bdfea01495bafc9f59d2793b5086d624b1557f786b535dfa52257090d55cef0367a5a3ed8e40d2f0432feb519fdeea0cee6524bd8b3010001
       \\xab5513f54b32defedb5c7ee3bf85f5f9184c2eb50428fa2fc032bab2898 [...]
-212    
\\x19e615bacb44b772b0ea177491fcb9d5721442a16b6b41fac2a3387f509b8cd1ed35b94b1db9eba4bf14d069f294e223251db84f650dd11554e780ae432b5a16
     1       0       
\\x000000010000000000800003b85482357ee4934f723ee8f9dd4ad34cf6556aae97023e22d03093ea0318937976481f6ac8e1def1db3b131d5b76fe7746bb5fcceb1298971b28901651e743318bdf1bd29c2608c8b0129ce9a55681ee59ae9115f8e2abe696c1c2c4431c65e9c729b277458eb375f34edb272c2fbc367858db8ad14d813913d8da1cf33b7041010001
       \\x8c50da67c86de84d0c3c447c980db1ddadc6e1c367404b3c763fa6ee0e7 [...]
-213    
\\x1caa62df99f02a2841cc43f52398f7d8e2361f700be27f2996863ab53c571bd5ceafd7275f1e734e441e6819801a41b5df2e391d49af805ab4fed90a98cef1aa
     1       0       
\\x000000010000000000800003ee787fbdabd58c1b05e1dfa9c929144f828d97b55c7381eae7337917371037fd41d4610fe18c96a36d8dd1c47d3c4bfd2393c1b6f6801a25a25187bc481e8305e749941cb4d1d977e1f07097c6a1913528f5c381dbc2eb9e00b7a583189a94ed29e4c7937cd5a46c21254948fc5b112d4876d93f7897c332101f8506a5f13a71010001
       \\x8858a7f4f60badcec6e8dbb792b913ff1f3ab2ec9e16f76343ba95dfd03 [...]
-214    
\\x1e967ba4ad86c9f440a9d8d6c5754e5846912d5a549a3a46c56e322b95a4ac700db1e3b366b808ba72ce598fd05f3da446fbb18e2295dbd161a2927451d9a8ab
     1       0       
\\x000000010000000000800003d3b484ee3c2c24611f90a568613e5a6c57c7369a894358fc8eb5c3e2ac6b2e31b1c1f0596edbdfa1fe08765c5c6ff6b147fc55e6de79fc3fe098a29aa4add09849532f8bfd5bf342bbae83ab476dba55f972d84a3883a1f1fdee6e7d3bf75c2be653d9617d0694a4607dc0ea0c54450b05fbf0b7f40539023f914828d01168e1010001
       \\xf37569b9f38421d118070fed7e5290755037f740ec58c5e9777673d70b1 [...]
-215    
\\x1fe2b0e6b8365d2f51b2d1fbb7f89146b54932eeee5b83985b4a7d03c443efd5b60944d37c9e686bac878514bf1072d8ec76515b0152f1d49b2285928568e367
     1       0       
\\x000000010000000000800003bdef71b27157e0b44fbeb5c5deb7e9ffef2d64004eb28b193bf7bd99fe1bf3b416fbdd6a4080c20cfe38fae6e2bece79edb20a751903e689387e51a867617dab65d4f27995f4da7d4a7797b218e404596fd9a91e424a926e539d83e3dc72ca1bb21cc077644e7d059bf89d28721e7598f0f85354362f679ed65da7c69bbb4513010001
       \\xc2c9cec3a038c465547000e81eb026fe8fc1252d47efb03fddf7de8acbd [...]
-216    
\\x2362545c17d26fa889afd495ba6e6e1e506997d89e18cb4d77bb8bb9ec4de9b6030ccca2bea4cbca636b5ea87bdb5bfcd9040b2d1583814a2a6c7bfb0e217542
     1       0       
\\x000000010000000000800003b58886dfe255eea7ac3f02b30ff3e7917caf6619f21617109dadcdac36cb88e4a32e386d3fc08d5493d75441b90a8943e4e9e418268267482d38bebd9f32423a93cc0f1759626c73f73a95bf9d1917259c4f5203f6254244c52119708562c0c2c7c50f4f557f463ca00378ba73b3601d07826f345dc122fa859f8dbca4ac46f9010001
       \\x3a5b7cc8922b0a319e10d36637cfc50131260f9de1750703da5c3f1df13 [...]
-217    
\\x247e0dc45d360eaaed60d47afd483f582a83af98be2f0203dfe5a3b688e94a277662edc517a3f4d42dd7ea5d295a4340e6ac4ad9948c06282413e13f04c53041
     1       0       
\\x000000010000000000800003b3f907bf6e5f20b8a0e21a1fbe240dca8f6b48f27da7079cc251ef5c5003936c5d6fdb2070d1e9d6db181343959e759482af4890a980ccead42fe932b5cae3568420c21d2727b335cf974fc9d7e17431595bc8b2f050cb3c5c8ebf2e3dc91d2ecc4697e18909c36103b770a7f8f7ddb8a69ef34343290a792de09dac4e341c5d010001
       \\xad17daa33ba519ff68105a722402941d47b1e3e15d379ceca3ffec566c1 [...]
-218    
\\x2686440c4afb009bcfe35edd52e30c50c31e7c1416e6fbe31723df0b7a2a67fc50a92fe31a9bbf695a499bc7505ce5b9e9d1a21683d9523938b6b36a81deddef
     1       0       
\\x000000010000000000800003ee83033716411ad454b1bae0036ce48ae32cae645f74f05bfd002c5f85c8da227f5041543856a6c4ca8dbab78b595cb7e06586e07ab4c3506cd41addd23ad0cc065ec684b7d6201ddbc5c2f32760c98d1dacafa8be796f8f31b2d7f7f9b6ca2b3a315ea4dd4b781b4cb90e5834406986436e6a2e3615e6e6527dc1435e5f8965010001
       \\x6dd93596cad5090333639d40459457511eb5084982d5d01273b8757f883 [...]
-219    
\\x2786f51ca2d4a2cf0c3330facc699aae735d81170328d8a0d19cc363c7af4fee3c000eaab75e2d3f797e8d869a570d4eae2080c0c0590e70b7b168727a2aa90a
     1       0       
\\x000000010000000000800003da47dc21f4ca12304be43c49b60980594414afed8a4c566402ab608c752dcf0c57da6dad0ffbd7b616b4a1c1297dd6150cee4470dbdeb7b1200bde3c0fc795535deaeb9b327b1fc13b962b25aa944c0c33cd505ffe7f651ab7ed2a4fbb234eced1a3330623db912676ef100c2f27ed5463275ea40c95a04f8297376652219ed9010001
       \\xd7ced3db4e2e851446822a214b4d8ea976fb7fb52c222db86b4c4dc3b45 [...]
-220    
\\x2acac47d28b0bb1d77670cb99880a0590fce099dfebb65fa431ac30ef115769f63e06c9a7df53b2d4526c2320068dc02c9faa49b1679b5b10d9038fe91a22a7f
     1       0       
\\x000000010000000000800003d93989c7f1103cfc9dacac06684dcb5b81bf9fb7f697031dcee7b11fef3ca04eb579063bb009d4421bf4d056e90011776fc72204059c96044d308603e35011390b035ee10868881b136950a849a2f44fbf187f4d3ab21462e54ce217c1fcf7d29f5a35edbf55a8b74216554d64d6b139107f693dbe07f8540a1f26fa53c89f71010001
       \\x13c71aaf327e21fb48c7e2335fa9b558251c71063912517809d646f31be [...]
-221    
\\x2bf2e99b36c2e52eec209ac16e9f21680b30d115e228d2e4151dca5ef9db014c4fd86c4b00bc2b998aad56a5ab23a49f9e5b5317b8d0cba55377b85056d4af1e
     1       0       
\\x0000000100000000008000039b917094c6801820afd7de4a6e2fb0f66a99b2117860982a3f625aa7a7fe5899beceba0e645015685cd3203dfbf2e991802a3799a47261b5d205e8085e31b0559acb8748bdee33821aadb0dab8c516207210f53bbe294c88fd737eca67c036748b22fa9ba889df1458e88d8c6d2f882f84113cadcaeb4975b1279a941f7c0e93010001
       \\xaa0772848d105972a2d9a164ad1a20e7d9963ded13e9b619db1a2d543e1 [...]
-222    
\\x2c9e36460a7c9891fa623390de15be8986bdff9643595e1cc9187b3395e4373a56fdf428167fee1c799ce2b4ad29d7e8d76e6b85c4a19c1eb26a55780d1d0c4d
     1       0       
\\x000000010000000000800003e95535b3548667c601530fdc2a6a5bfb9c2b85e457770e2daec657b3abe576b97912765b2ac2355ed337fb34c94a6862eea731fc2d0a3e5709148445fde1009f13e9cdf0693822826d62b38bab713d9d772c53fbb327935d8632fa1128c2aa1ff04971d1659a87635491a60928449fa05115c97c1930324129295625e8ff5607010001
       \\x493ef2a300315c2b164c729b1d912ac911b5b87b7004cf561bf9372d4bd [...]
-223    
\\x2db2d50c0e8d2091cae0454ac8d8a827e4865a6ba48a2a242ddd9f24f0848d60d2136934bc9d85123f2a2cf489b9a44fa42c988604793e4f2186c8598521cee9
     1       0       
\\x000000010000000000800003b0c0d2d216183936248dc3a038b536c74bf56c4c6c3b80fefb9315204a6089e175d6c8d408851630c18020f708c01985466a361100b00413e8e00f5716ecfa4adcde6886e7170af5820dde95f27588ffc3e6c3941ada25aeb52dd4e3ee6188be8dca322d0c3398f24cae89017833c62dbefb3d586a6e52bdacf11a57ebf622f1010001
       \\x0d8eb36e0f84b1e42913b2850e852fe75344cdd313019605ff99498e678 [...]
-224    
\\x36aa6405708d256fddc1a0158b563500edaf9909f9f0fe95cc383fd3f036040907bef11c1a5a4ee26fb6dd3bf3e9a8a2aa9520fc1dc3bc479ac12af456b26437
     1       0       
\\x000000010000000000800003b853a832562970128c436281e57dcd886d76212867c2b45ebd7ec70e580054678b860c06e8a57176e47fc5b8f8add70df27ac1c5b9368111ea9588a4f86b128e60316f979b5103f372446f780d0b192701125336b4a001c29ef8cda836f1c3a434f60837927d7a8d1fd8a610a665d6e7b1f0c6adc1813433661edcde72146f59010001
       \\x619ea1a01b1b372dc1fbd44ae9201d4c320cf21ffff198ae87b7adad87b [...]
-225    
\\x3906a78daa246fb435bb97dc5988861b5d49b240069d292f5039492ec10a51aad286b638eb756fb5a3f7554c9c9e55fa0654f4ca59a31dd07da7fc66a1311def
     1       0       
\\x0000000100000000008000039d7e0eebff6838dbee9dbec98070761808af46d7152ec8097fb33d87c8b4841b601f32301770f253c9746c1cf9b4d82829ac33248bdf5c5faeb32b10f3bd43b5d124b22571f22f522cb4f23b4441a7d0082f61c5880fb9707d13c91bf725fa2b523826087de79883bd4ea31f66ab2d1ce78787df633558b30c3320f35378f3e7010001
       \\x6e5e785c4e61a3399d73e0d50650f44e1be438f39dd12a3029071b5b12a [...]
-226    
\\x3a123aeec7b8450c46573271397351f4af3678e14620b662bf7d080abffb6d26b053fcd123129af502e06e3a65f003686a8f44fdd33772727961753404787a58
     1       0       
\\x000000010000000000800003b84b753ffbea7eb58fa2817a96ac2f40bc15a7503cf64c3b724a169aed7d4dd19d83a20c18e663eab0b8a052d76ef89ce14511ff3ce8a564d006b0eb968690635808485b32b849eae69dfed5c12432500052f25f798af6b17578d4e3465eed99116af13abcb80847ea25d771fb32addbff54ea8e061537a224cbe572ed666b2f010001
       \\x05e3605015afb085683ae7d524cb248dea796367e0d8acd5a6879175462 [...]
-227    
\\x3a428e11de8449a173929dc1bf774ac065dc69bf0de53311c99ad631027460e861d1b54556bd462366a53695864beeccca0b3fa3fe9fab383e885c948aa1442a
     1       0       
\\x000000010000000000800003c35a8f38bf06940506de6dd0138d2948904aaf690e9beff00fbd239b4f9cb4f1634595511d5e2bb1860c142b3853cfd92a4034dbeac322b37dfeecd445442e86a9db27b6ab5163339b8faa3006225ec7efa5389a47f6f5d324f96c77a5b283c7c8a8e68546e87da1c6f37538fc53ddf33f8308624f3ca48ad3500a06dd2e8afd010001
       \\x3796230558da295539f006ab2ccdd2da157b5cad95c2efb9868f68a8476 [...]
-228    
\\x3cc2a88d704f0459451696b7f35551aeca7ff8d684619663c451f4726ad4f554b57f8b690954021bfd903c488f26cf659059ade7b55a4307b93b0b4dc12bc57f
     1       0       
\\x000000010000000000800003960f20eda3ebbfd1c619319998355f6cd54d19e8cbf3b1394f217892054b37bc86aa2e2e80afb6eeb8887d01d4102c5f2b8dc91eb51981d7cc6dca6137415dcbb5e37987da07b969a1302f498a7a58a7a10b62ec03e14b17067ea05278489d56336e06db9a7adaf655d474ddefcdd158790a7940219279b1cdfc51195580f90f010001
       \\xfde2ec91673f1a4ee3417deccd12266e8a3c4ceefa0e39c1e89663abed8 [...]
-229    
\\x3d124ff3cacd5dc5cd2b9033484feb76d7445e2d54ba4a4e9ce8ad14081c2a781698a945201a6f4fc74f8d8420f5dd7831489b23771cb189509527bf8e002650
     1       0       
\\x000000010000000000800003d37df21db988a2c2fedd15c1699b5f1b22c7aa775e2ad0da69d303bff0b724aafa24ccb5b0db72866898a51019e5f0e5b4aea988cd408d27deb77a8c7bf71e87ba9b1c4826720ad20fc91597046930547cc586f3bb9fd94595c5e51b9bb74aade9802460392fd6cde99313d5d28c4e41e55c8cfc697feed6bce62d2540c62977010001
       \\x787ec95841105b5307c8c6b5c978aa9a566bf72761bc6d03b469e24460d [...]
-230    
\\x43fe772ee26bf2aeb458a1702399deae73622c263d74397b32157db5c2af4ed861b4cde12ecd39b914a08de5e96a1b88283b58be57c56481fec24dc1824d0ddd
     1       0       
\\x000000010000000000800003b05ea7a9221cb51992f049666f3bebb3b8403063286c9c895cb22febc3e6ee184289e887e5c09cd87dfb25785e9608f532b9752025eb58d6e817596642724d4f06bcdc510109b5a5802c14322bf72dec97634ef018a35992b1213cf7b2514453a7891acb09f115e0162c41466d8ae3a3c23d39995903900a11a3789d5b17ae81010001
       \\xf9959c75db19e701a0e2b5c5e67a475532d76a55aa63e11c9963c916b9d [...]
-231    
\\x4316945def3badf225bf1650c8aaee52947791c69e75337545e71d07673abafd12ddf629c809cc99619de43795d883637fd50a7793f6b1d7a436aaf05435808a
     1       0       
\\x000000010000000000800003a21be3fbafe357d449a6d474584ab8c62c05b7c026d57b1de554dc72619d712cbce100e19465626322c047467ef46aa9a80ddb021a45afc216626c14c9238177f2d8f58cab3e06e8502b9b85ae65e15742d485e187718e9bd855403a500e1b375abc22cb7725d4c57b7fc17d2dd9698d5b3537166db460d9d622ff602785be8b010001
       \\xc88687c6fa6898c86898ef45174101e86a36a078867b0a185b649bb5151 [...]
-232    
\\x45e6524bf0e3b202ff038ed18d04663a250bb1455dacfb9970821fc68d1cda574026a9318b8b0f38941d846871bb718f95325c9f8a94f24b4d9ec3407ecff072
     1       0       
\\x000000010000000000800003ed7afbf598e9f56d5237acbb8f526547a3fe96307f8c5b56867994e80b16b790167c7eb797b06852897b162f5397f803bd66e9884ef79ff756f42cd421ac55d4086803bab354101cf68f9eef0988c1a879532aa2ad72311bdf5a622c291e3968216ad5ffcabcbde2c10d69dcf8cab563e8c3abeb78a4ecdefa9d9d6d2123d04b010001
       \\xfc1871fa21a965717f7e42385336b84186393dbd2a45decd13570cd1f37 [...]
-233    
\\x48d2100c44c5f3a007a0036970220a733e98de60283430efb93a578257c68418e42b6327904e22f9a7d3a22c71f8a6849a247188eea2e0ea450451f37ebb4c23
     1       0       
\\x000000010000000000800003d46d4298ad66b9881e1a382fb41cdee9271608fdbea61c20d0b7c00c02c68e81db5de17c56c252c99a9b111d7a8c9d6c2862364b97fb11a6e380f771937fd274897774f18dcc25e600ed88d631fce11a69df0e975484ad171256843357db74296a5aa251d3e14ac95aa3c84672a044a181167903480eeb5a0ea88620b336fcf3010001
       \\x5727a3ec747edcb29306011ce94532d5f88687065285b6b6024b9599045 [...]
-234    
\\x4fa6be8f8bb8ac07194296188337212393bc42c999da2c70bf58b0d3c0df5cb738a5547162670f7820a20802e93a9c9448dfe0cbddf07ee1ef97d778f59d4415
     1       0       
\\x000000010000000000800003b98963efe976dd240c0b15c80795dbba426ede4be20a4844ad5085b6751c546f083a2185baf7b872208235c5ed591fcb516ffe44ae5af728321af8dbe3448da0dd45054cf3e774565dd8e75ed9b335f44c8d496bb361c8a713975adacb8e4c03f5e8ccd342e18957895e0a3d7758aeb61c8778093e2da9f0c8c526de6952939b010001
       \\xbe15ff05469aa45de2511eaeaa45b60315934831cf71559569c419ad50d [...]
-235    
\\x56fefd79a6f71ccb5a9a5b114a54071a6af713fa5439ceb501563ff3e7ed1e3a813f713e9c3517d9ad847e29653424e7cbe300f6f537cc2102f544c452898fd1
     1       0       
\\x000000010000000000800003b806c78b7c1ceb66735f262eee5ecc08ed7cd899a4ad5de1c053578043576894aeb67a1d16ea5b4f6b2abe9f8b43f2d9c3e9596fe0420d24b95812eba26e7d673378771a661b028ab0e6532db0b71da5ad53e7b3467bac20da9cccd2fb640572632e63a532026cd1596ce48e93af712f128e7e030ff1bbfe6a3c50851f9d1195010001
       \\x9e9fc931c317038f69788b463aff6dcb5c1873f9ac0b23e7b71388ba00d [...]
-236    
\\x562a24da988139a298dda942caaf605ffe9523fb3dc772ce3849e839ba677465a68660ca3699fee75afeaaf817179246680d1835a9884ce633d22aa43818ccfc
     1       0       
\\x000000010000000000800003e442cb2ce981babc4da3153932c1d8548f3d9cc6aec140fbe08a36848cfa7425f416d22be2efa72656e0870eb0cd74c9de1a3597f2daf03f5810e9d57ba8eb44800b9f7c619e2418a0961a09bd44cd8feed13e14eb11e51d5b06729d75a39ca6f74fd5064e8537d2fe1bf50d84fab7520ec4f945ead26d1b211235316279ccd7010001
       \\x93f4be54d1fc2835153351c30ffd50908768e3bb02639f8714f7200b21d [...]
-237    
\\x578233d7fe0c3c0754610c3bbb041c5c4c7af9f1a09b369ded445f17c2323acd5ddc29d28a8e191e87bbd5983de2705c6b6627fa1e4cb1a4b297429ef59d94ef
     1       0       
\\x0000000100000000008000039dd46d1bf1df6666bd79e8c2ea30a5a4a0426339637103ec2f256edc6afbce9eb6c74903bd9e0e22de1951e062fe9f4f2ee7425292054e77065b8a5f712603384f1b4ea0f77c595e23df99cd09690d0463969bce28268cfa87de990bedd43b0715424121e8627d96cc7a67d372f735efde374d5943a628c72ac3951223b1f793010001
       \\x77d0c1e36d520c4e91d2e31bb01f3a5252dc666ce7e74b1b0216c57fd4c [...]
-238    
\\x5912c455746114c96b6bda93d25c37ecffecfb0e5a82d2cf26ca754509063808a997f4fba4795066d8f725aacf820d436b5b09c5ffdb58343978c4b198a93470
     1       0       
\\x000000010000000000800003bfcf0d0ad6debc6e15e5ab39462dfa3d00b91625d964ac61a263c07cbca65752ae79a69d2e13d93d60f50c2f409397e4eb663a9d74df7821907105cac9b36daeaab7f799252f0f393e1e93237c40be3908cbbd508cdcae9f6df2e657a0ccc4e5e02ea7eb5d1ac83259daf8594ff00d5afc0a1150e3e2af6992c87a3f61b1d66f010001
       \\x0c28c88e0f16ebf450c22864f996767e969efdb7c39c0f4f15b7a6e8401 [...]
-239    
\\x5ef286a67d66eefc75c36a5fe10bc1dc56ad460396e1049959a752a98dbafefca948d9ee3ca13fe6b623cc221abf04513dad031e0693fada5c547164eec14542
     1       0       
\\x000000010000000000800003c41ca6a2075dc517fa85ba8d54f03ea482a8d7741616431468933100c2df60c8cbfadacc800fb657273652afa7875eda4843ce1e4b2bcf55410568981935bf48a511bdbde2efeea1f0327cd7f563afe1ea8740efcd049bdd5a32f2c07bcb66f009c508a05bec27d7d5868ce5023f21d8536d05e12ba5ba5f045473a664b4c5ff010001
       \\x5a9856704138e35dc593f5316b00336b2f2feca04975db3c1845e7248e7 [...]
-240    
\\x6046434266cba06f28e78e8f2fe9be2f114e2857a618d9d0510c3fdd50528e6f5e8c2d15046ff6f945898dbc2aee42a439e3df23d4f2ce311d3684a45ae2a635
     1       0       
\\x000000010000000000800003d41acd6de98e4159512bb543e0d1ea37996a7ef1f0dcebd526d877a6d12d0dae0854574a5079e3dee429b4b8748876d2ad1b36ad38fe803ac88f6962162fcb24fa826a0523624deafe334db1c36ad4379bb2246b8972416db59167f4521fb58aff1f2d0f9d20df8927831fc9ce00e41e20af2790a21ab98b1cee2c23c258b8c3010001
       \\x7104f06e2d23205eafec081d2c548e6ea76db9a60e647af81219f30f8d5 [...]
-241    
\\x64d288fae4bb0451013d78489b2f7f8771eb27864bf0c019b28097c46ddda7de89b701575d1b25c7896789f2af449c862c0511c8fe952cec9ee0385317b56688
     1       0       
\\x000000010000000000800003ec361141896e9851bb7d5133858eac2004467e3cdd75a139705d778dd4640ddfd151271c7d7305240b2afc2f55b502050dae66a38c1048e7584ff9560813283a48165fc46c6f8acbe04b788cf362174ff84b976a3497971f167c63256d4ede9d27893987e14d9ace14ea2d81c4f86394c2893c0e115235cf11172f5bc6089409010001
       \\x367dd93973cbdb49891cdf9291a01fb5c83b77ca9071351f8a82ece9394 [...]
-242    
\\x65e665f839c534f095cd5f88a629e57b9233506899f949b228a7594896a2124b5b0cc408a166cd6d63718b195dc63ae6834bed0dab7b9d147415aff55214b867
     1       0       
\\x000000010000000000800003d8cb56fcaabbbd256334a37e591c8341ce89683b5546e483092e542aecfc175a72d36b92fdc7d8d2057b2d807ef3aa9ce70d15fe52007fea05b6c4d8401669611801a5f596b032f1ca82a718d3077ca53a771870ffe523abdd97133850f25a78f001d294413e1850c771324cd43ae17da3bc898e5fe6e3bb21588f4ef49cd421010001
       \\xa06724389d9d597a23a909460fcb6871c681a7eda72acc2f0adff61060f [...]
-243    
\\x65a22c9c3739a78dcfa3c195bf8fa1871f29d48dd58957858676b7128c86cee2db72bb662699eb6abe76c8fc422e388aadd76290381fe45937ddae223b79ef60
     1       0       
\\x000000010000000000800003d1b2dab5abff99a478610f64553ea8959b5d3a84c893df251600ae4a4c19891c0cf413f4f9367d83b1d5fe08f1c002ba080521031a5a4a79ee87d96c680100738be46d6586e3024e4423986fb676bc834313fa330fc8ff390ba4146d13edcdee65daeb2420afd728943ee18624667c53cc0a7fde6190a3168bff9959d6fe3d03010001
       \\xe6ec634c10aa869f8158c284ac0ff3cc74f24fa5c98db278c8b1f9ec8b6 [...]
-244    
\\x6662b787e9379da736066644ea3b2f336e8e1685baa14dc8f25e63030bf45fb07a6679b799871659c1038b50ce7c92d2b86f0bbd9204d235021e11f0aa2a2d9a
     1       0       
\\x000000010000000000800003d78ad4a72534375b926ba68613bf86b06a75fc4242bf24c5628a39fb89c2605c0c8f113191ff0220cac9fbf53b23da1cb37a11996bb8a908247fc04b57c10b49eb4a6759bc69079acde9e6b5f606ed73b901b6d843aa5d86cc5dcc0905c438d9563ca97de0ab60f06b5420579520412c8f13948e5596f1a6894a961195740f61010001
       \\x482ec13b7174a7352b17bc652b4bd0b185ea7cf4f2d10b28b030a7b1b4f [...]
-245    
\\x6f524c272b991dd3f67fdf929939740f269466fdf835157ee0302782761cdb8c06dae3a9719b9313a38cba724efdce54921396c813a152f00aa618c056703e4f
     1       0       
\\x000000010000000000800003c276c836e4a0d6ed9dac28072bf443ac5b6c5c2b7fc4a31d075b508cc9532fc7da348115a7022930fa1c60afc831d038ea99e8ee1444fb3cfe562fe009e25dad610a115feab119df11eb4b538c27adaefe160a5115fa44961936023889a1537a8224dddbed73fd977c7845a7924e42b0f11fd9a691f653d91dc2f090b43fec4f010001
       \\xa617ff0b29836ef4e7e49801e02bed07dafb4c838fe3d28832d7c7287f3 [...]
-246    
\\x7182cf312082635da43f9a76fe2a76efe0f8c5ed0bb5fbd9ad28880a81bcc0983e70a46bfb52f9984ea8a5d5444d4409f69233dc094a83d9a176f763ff3b0b57
     1       0       
\\x000000010000000000800003e6f7dce272fedc8e503305db5d50cb8e2f304edb7e91f2620cc0d69de45532c06a76e413acd82679a00ed40a00cc4924aac6c9fef4551ce837dc7c69705fe7ba5d6519d4b8302debcff47fc77f1470af043a7213d3f0e9c28439079edac9cf43583a2e761939237210a4dcfd6d45cb6b8547d7fb68244c9ccebf1753918da861010001
       \\x53ccbeff495bf3ca3a1602ef38856ad9a8d5affa73b16f5ac9a0f500b84 [...]
-247    
\\x756635b874cb840f164d156e4540928406285256c445e491757df471f0636a326517716efa4c3143013a0ae41a8fa33da7b04c61730ab11b59cda8c037ecccbf
     1       0       
\\x000000010000000000800003d2b5872852debf3b0183145f496978a8066091b765cb1d64d71f6e6e44682b4ca892b372311928e290db929888eab3f8d4e4339bd69a28b03743cfa78ce4e675045309fb82c6291beadb48fe854e2d4b722a9c34e7718729c0d44ac1c7148d18676bb2dbdecc1c7824f40b40305a3af91d9cc3c36705e59ff88f9b7c917f5817010001
       \\x45662d4e109e82d12ee1ab789bfd1b2985fde1e310460658be35217e338 [...]
-248    
\\x79e699fb3c4891e8df6459606e960f0601fdd243fc3ddfac44fc8543c700457f348d4a96c3f0230188d9144653e36e61ae7fea22fbeb3b1ff8cc0f603a24f787
     1       0       
\\x000000010000000000800003b7ab1efa60c00adbdc3a004c1d05eb5a543a456da5fd3c3088e33db5a26a8fb946a9932693ada2aa669f7f98fc175362c30e6e7f1a6d9433b5c979fcf4d83f4257aeeeafa414f304daf63c82faa22ede3cea8f6c819ef540c30e78f514357214ff4663d6069bfc26c25974599a71a5beb950500f0e4ce8c91202b794a9ce8ad9010001
       \\x300152d7b82da4a279f23918bc4f298b6f2487bac06969c1224d7398774 [...]
-249    
\\x7c52175b475edbb5486c6178ec30773aa925fa90870b5de91a01ef8368d0cfd3775cc627f88bd35f5a1ced93e231b87d7c9f237092fb173c13ea66b5a173b04c
     1       0       
\\x000000010000000000800003c50a4648ba5a19c5daf8fd8f02d50dbd6e097b1d8aefaf002bb5487d07ab297bcc3dd92537ab20a592268ed50b8b770e98fe3d62c2973cf8e39ac9b9860332a96d4ba83a40b073f2e8393f39532b80ec5891decf6ca3c7e6bf3f2fe27204e6b1ada42ebdf7cb96807db41e2fa124bde608106e5b141838a85768c08204978801010001
       \\x00d9fcd95925e98df20259960cc3f7eb8e29c6ea5366c8d3318466df6a4 [...]
-250    
\\x80126eb0cdf4dc86bc53f6e0190c0952e8fc9e9f2f3f52a2cd9560134722187407bb560d6c7ba77e61cd7deb53edaba6f32b0f1c0acc1e04ba53d0b67ea2cffd
     1       0       
\\x000000010000000000800003a088350a0bb1501cab50089102b313cca4771176e6126236767b1df6b8d8ec00b979ca00ea8dd7410cebbc5b10dc980de2df6a7fd20bbc2d2edf719fc35a4142eca7388ae8fe29e96408d57dd7a81f8045ce0fcc28917be12b0906ee9d5c335121e2da9db9b4b0e70d887d851711abc90259d3449d15ea5b7fafb1c919eed9dd010001
       \\xe5239ae91f50a496ea0856ece3ab11ddb6d1a55187145d5be4a63049bc4 [...]
-251    
\\x809ad422d94e77867d416c1d65ad9d01e5c3439fb3d9f90a1d1814b137237960daa3fd4966b802eb65d73395ee80c604a63b6491d86c12051cec605b15bcad47
     1       0       
\\x000000010000000000800003eefd4699d9b505435a2eda45e9159763662fb193c025eb6eb22750afd0478b13a954be0028a594571ced1a469fbfe024e7dec39bf80a0287aad60b510c97e0fe7085d29ba06148b5ec955c53d9e5fd5b026c096523abaa45c2a8077ea96fa4dccd2d58f554df21826cb7d733dad954dd2c8b563b5373e7d598f9d7a122f8356b010001
       \\xca8591627f5e9a45a96e01b391c824298824b7be541da89c68f0aa20330 [...]
-252    
\\x81ee9e2f94e0e62d5be7d9adea04eabdfb9b744f9d1f8cbc3bf038ab0ea58e45a68de664eb06ddc78c7ebcfa647fb13dc88aeb0d54c5c9ef03a3264c569ce003
     1       0       
\\x000000010000000000800003bcf92ba7a7f5871a93bb2547bc8ad84ff37160ab3edff31940df88e75d5db2c8d7db6de0857e333484c7107d66063ec2c6093cf4fc6667f9f89799cc0705cff3f32eec571a8e78c50108e47984d98a0f8d46b024415000316d2c364d42beacb5bef69ee08133dcf4e6f386557fbe44095ee3a1931085cb9dc332345911e0e88b010001
       \\xe5943a3fd853ab60869f9458a69cedb2bb5e853ade9c5c8aad3f7048bc7 [...]
-253    
\\x850eed79dcb09e93463fd625b2ef20f1b801097f31c494173bc3592cbd7372f68c080cb8d2023549beb57b2318efda3d0c3256c6c24899361ef19acd4073fbe3
     1       0       
\\x000000010000000000800003d7105edd9932facdbe2e3ec453f84f90eeb8d4e066619fc7c35863d65251684d51b257a6a3f5d5bbbee477f4d27df7cb5c0a1c0a6db308f5cdec0a998c0edbf5cdb91dc394e30ee55dbe6179a295d72b01a9b72186db788bcfea7bdb06174735a06903bbad01ccaea61231b5f8c62d492b23de80a38bb77a9ad3ca5ec09d5bbd010001
       \\xf9cdc36569d2b0b00158c71a2df15db86c8ecf62d3fde2da9c0b77c1b0d [...]
-254    
\\x8522205bd925e238681703fbeddccfe8c01857f5c0d7863ef56678264eb8a28257e0dc8178f62a345eaec8177d71089bbba0a2664c47b1a1188b1babaee28acd
     1       0       
\\x000000010000000000800003d54a3ab4da9f46c20f578823b792ec0aff88af2fed4c3a9e31b1349fbaf850e201fe0ecd5695b4af5741532c152be3f5a4d78fb5a2188a6ffad1232adb61799dd2aa745fc8ab94d8f873eda44b2487a7568e3322dc2f22bba3f8f896d32cfb3ed3baa6f08a41d02644c878c943f989fcb2a4f49be7395dc865bcaf5174de21fb010001
       \\xe950751fd44403d50e20b7c2727e13c193d77379825c99b61997f5e0562 [...]
-255    
\\x853e9a92417763af925e40bcf5b86996580dd80112c1bb95c177304167a6db0cd9f0fdb146a29a1087e8ba695492c78cf7971a7664a76142515f9b5956dfb0ac
     1       0       
\\x000000010000000000800003e1927bf8f96759a317120a357ccba0d87425d69c27ec629962f05c2903e533d0ff8885bac15df1e793f6d8dd61186cdb3eb9c54bb7b0678d574341911956412203df86c4623c6b5d06e6017429df9d0f15b9704ad9c058edd03869c847aa7cfccbdfe40ab3199d84e6ab09fae0fb725182491ade054c72076437a505cb3dbe21010001
       \\xa53076502930e73ffc25bee5905878f21a5aed5812c29643630c1ee06a6 [...]
-256    
\\x86d2229587a5d5008ce44a09197a431260331a3b729644e98b6f6411eb991b51bcec44430e09ae3ed4ce8e74137faf3bcedd04a8a5b1d7ae260e07c045a32225
     1       0       
\\x000000010000000000800003b447512e9f9877255e85e92595979e93862d57bbcb706ecbd58daedd18ec3afc4a5f8b6587c9934b43172bd6f66479c57f523c47b26c0d805a54749e32ed00a458143e524043009e66eba6b350dfcfbb65f629f61a1a94b1c3da80125d6914ec43f138a07ee2d6151befb3dfa15a36cd7e4a9f09af050897de65770e4708e935010001
       \\xfcf554a8fb4dfabb1b0e9b6215f95cbb8a091a6a388fd9849345a7f0378 [...]
-257    
\\x86f6037ea728f3eba0e89367e8084f2a256487ed9ae126ffbdcad5411c174d3efbc4ac3a4f6ab3b7b7b36739cc6b4c6b8cee6f24d194277094a21ca86045b10e
     1       0       
\\x000000010000000000800003a5bc21722e03ff6d8e0910c6ced302e7224ecffcd1792974e3a5f239e11f9f037e008fcf3dd08402d81255c706e26cda6c41b395513f5b83c167580d786297ae1059fcbc60ac9d4886f703fe1f7b373c45d79fbda38de88cb03c7baa574fa35c1f12a8ddf40c876e9c0dc98466c58062524a96c7d9ed55738e8e6b1d4848fa63010001
       \\x8a9e9d53469bfa1aa1089996c206060bd06199f4ca6bb9cb7756d79fe22 [...]
-258    
\\x90320ad18e35dd0c7858b392afb37a2b8c35674789f66c75ce3ffb3bbeb43d4a860daa068f2104e06840080705567fe4d5aacd20d88aa7aa9168541c5ce505fb
     1       0       
\\x000000010000000000800003b0d2cbbe4c21916be0d4f8a68200d3702a183c4a8668a9ebe99ebdd6017e2c76aca22f77bf68fd15e59632266c0edcdf9fb634a50d3e5902a9cba9b67e262a8a0cb2734e3346e8fdf08a0612328f5fed93889b380da0bb8cf14e1101b1b5b1b6003eb1ee51310a2ea9c1820f1e72050534361a92f2e2dd8b7f10f560acf3abf7010001
       \\x3b8534b44d145195c7899097098bf2070d2692fb878d5228d1551e588ea [...]
-259    
\\x91667573ffe6e23a544219086442bcec8dba1eaa2a7f3347d3985c5df9916bfcd00bf940bd7574415c09d794c15307a7bc14d441715bb9329ab927b7f1a41300
     1       0       
\\x000000010000000000800003c5f14ebf1da7839915fd03e820fbb563b113c6cc34c596bd7a12ca328b11fb75efb5ec79522a7c3b511818a4cb06e9df1c603824fb24584c4fa204584e126076a4b346a39595c2a4bda497c86079c7e3e33d397148c798cf68ee0244f972cd3d5dc16eaf6476c7e5fd6f8f281b2361ecd31b6a38e2800fcbf07410f7cf41668b010001
       \\x30e4e37927830fd101f8f7eb387851d0a3a7eef5ce736c166966f5f789e [...]
-260    
\\x91024d31fccca7351de6197e07a156cd8b485afd1a451be0b0470dd11778eed817825b59eb9e9880033ee9f06b6275203a746d7581157781bd5a61e95e8a9e90
     1       0       
\\x000000010000000000800003c49d265019859b77f38e71887815182fc1dfc490c3f26baf686a043a2f4cad65d95486f07d123a771796073c92b5bebbca1861e82ffd0862d622c6c5efa9d342de5eb126de9f381b1dfaa608865da31a210253dc4965d15fa999f143115ae96491bdb2032eaa47b5f3fc85dd5915c954785a1262a02d8924c27c03a578f82c27010001
       \\xc20b1796b688252912e0128010c24849ff523fa94dc9fb667f13c41f22c [...]
-261    
\\x947e76d03faef44025898dc6884b913fefbf1a716db410f5da11ca7d8d1780b4ed267c0222f1ce574d6fb5ac604c1c55638c65e1e00b250c3d307196efff0e27
     1       0       
\\x000000010000000000800003b1884cbd960383f3a2f4ba449a4fefd0f1b9db56cf27de96362d22301a0d886950c3e402bc452430217913f4e52653b763d6f9c12c0e3972845be2465a8e43ae14177c632d6c49e6b79f5f8a985e9ceff7cd19114d13df55aa77ca046b85cb75f5cb50ec89af6350c76f286198d5eb085f6119e8722796e721979ffa8078c293010001
       \\x5aa62c739431d48bc4bdf653dcbe6b3312a1bb960b5f90c97af762517ba [...]
-262    
\\x944a547f847b510979f2f7fd7db5613960ab77cda6d29fc436f5f3971a360903f85d97d1565f39fb0f899269ff572f20873fcbbf198d8301c18bcc8c3ca25004
     1       0       
\\x000000010000000000800003b173e73be03eafb0d6e4fd7d912a7e1b1b04f645583c38a5ed8f30c882d3527ae4477f281d2c7f5dbf87c1534f90ab8068aa0f1da95703d5913c0535e9a2ac4fa5ac7896312b5bf4e0724056496fe9a0ff43265ae8d6389a0e2aa527f33378e8daadcbc9769745f9d4634e7033e4e85c8de8a0d817e391937ed7a3e35728a449010001
       \\x44f5975737721264bc93ff6ef545b234b2f19ecd5c74df2553f8c886d9a [...]
-263    
\\x98126d37ecdafb005316e4296a6ea34bdef275b5f6695e44598d0741a8c9a14b197410a9cc918cb9ed0ee0e0424a4bb752925bbc2b1feb7c80449616665fa672
     1       0       
\\x000000010000000000800003efdd2d26829838174567a75209da23ca129fe8b1e70b191ebe9ca2887c14b03b3b64344ca5d5e52c20bf0b24b1601cf05d1fb7ab05d5fcc08a73342da9a703d743db65538aef2d5c7022aa055b77ef9bd7e4e052e40686fe9dbe5351b82f82ecc063884546a6741b3024ce21544170eb82d4f9b655466e6d12758f59be84b347010001
       \\x3562af93862114df8d7514175a3db5eb38e62ef22fb0b70ac1b6907f345 [...]
-264    
\\x9c3e973e9198f2587ba6a8325ee6eec28619f262be74a0fd9ca140992fe1e2ac791b5d0dc6da3ffe99c56dc2a7793b9044b1ae5512902375dc0cdc4c0f485bdf
     1       0       
\\x000000010000000000800003ce9a2eadf29072cd99d883bb40b5f3bdb7d5891ad4828c3f386c02240d20fa87c579db55b2a0d8e7af0363baba5b5eba5d5e8d876b43ddf4b5edd485f41b75a17bff74d8c586cbb6aa2e308bff645dbc44ad1a70b005ef41ef97be5c57cca2c41c4a7e86a4d9578c78d248a01c87f68af49e156d52a6f77ecdb14b1bece2a84d010001
       \\xabbf6f56c307403923520d609021813b6bf99eb5e350edc7c4469bd1347 [...]
-265    
\\x9dd6925f31bd2b60a2be25288c6699b774080329f209d341053f172e0ba16bc830b431273fc1db4207ec0102a10464bd595f67df890c200a14ee567f53c21111
     1       0       
\\x000000010000000000800003d26ecec21b6b0fc491e965c6fa54accfc1ce901e24aba84f4273d833a302dd8d3d551aed399a7b523dc9769d9685099d6c3b25bb69357c33bfb79020bac06605b98e6f7717f6540196c57ad6d73ba1ec3a91be8995962ec40d773fccc25ca9eeeab594e2010b9dc47bfd1477be50aa18e1f9811b353c0525c2d06af1a6ad75e9010001
       \\x7378a72b49c5e745abb35efc3351958d272f71f05a03062ea2c58d447c1 [...]
-266    
\\xa0de0b15b29076849306325fa948c8a9faee51b286316a12b4f2003d2d0b203209d33634d5f6ba5d36fd04e981b2e639b3179675267a371bf8d9fa86b66354a4
     1       0       
\\x000000010000000000800003ac6d24d4fc079f90561c9b40799b2cb41bc1dadb1508b5d01523ced1f049a53d414827576507784fde6a29d22d85583d1b8d161ada08fd333fb645e359ea0cc26c0a303893e2e869167d1d8c7b4442ab4ad6bf81bcdbc8658935643233d8814e160d46d9741aafce5467f35c08343cb4d2f6407ccbaff2bf22e9e72c06bcdc93010001
       \\x8ac6b502a6d2cddfd3ef640481e769425d343471465ed244f9e758c5803 [...]
-267    
\\xa7caa5778da6e7255d375e037e0fa273f2ce613bcd1710859c5bf12320bfbc47c0f20aae5d3b20d3fddd8d3b3fca70a8276cdfea3d152fb84b973de4dfc3c153
     1       0       
\\x000000010000000000800003a99d4b5d59b8460e4ca6e0eb26832c0da07c7a5d6dd39d66681013e00191b6c4ee90bb541e39760cbd181492f3b48d003746ba06663e2e0497e83ab855053cc0c51b651c946cf154a40dee209c1353c839f9d7a3724a9dbf94ae8776d37ff66d93eb050df5c64190de5277231921ce6d47c1142f7d36f8341614ad3ab3ac86a1010001
       \\xc7dc09c843e257ad1d5413c9088ce775a8eca163c5d137a5ca00fd2d24a [...]
-268    
\\xa79a26f1c4acf351f6d67bca00cdb1665cf93b4125d70e50eb3a953585f3e79a31bf76ecc42c41e32a7b80ddffd185a5721bcce2d88e41a9c8103ddf606e4f76
     1       0       
\\x000000010000000000800003ac4a67549f3dc0018f9bfc7c52a687091fded577052aa2ccb64bb77a02f9c98e5fb5a482157022e38568d5525a595a390a11905933058eb1d9611b9bbd14442252e395c7012ceb2d32b33af7b05a7b22083073b09b515383b2f6fba304f23f864aa0cb721380013c845c782500cd4b6a7efd989409779c28fd1725e554646013010001
       \\xbb5b00c7bb13486b72e41ba6de48a2ba04c6bbbc27d1426f51d6c4a640e [...]
-269    
\\xa83eb641d4b593a4629cc7821532fcd322bde133e83a4d53dac89bc76ad3988955625461f77bdfb02a36ab6760a0e19b18cbb2d44377c3fd84aabae789153278
     1       0       
\\x000000010000000000800003b4f10e64cd59d30f543134897641b9c9dbafc3a38df5358330488438405d2ca57f0f569c4c354344f1ee3ca266bb75bb69dbf88e39148cc3f718f84c61ecf2ededc798e3d5388b5bfadb626f068768079be0d87f655e658606444179bcc6562ad7bb4833d83fffaed20c374a1035de062e39f6ba5fdb4292645759c873c903fd010001
       \\x919e57b810036da8e0c2f281049555b35d8255bac182854f8782d2a4ccf [...]
-270    
\\xaa1edef02a8c4dbd406da62d7b8e5da38ee3b88a0e04fa32d42eb4b4140ab5ff6e9065fba06092f82ac308ff9957c26e689ab792bd45bf2fdefa617c0eb00868
     1       0       
\\x000000010000000000800003c94595d2dda47d7a700989693ef6adf5f30b33d67eb891d24e8541949a64ff3a524a9d10ecf566e3c045a8a44836c7a5841305da0ea8fffd5eec35f4a48edc6010c1a6f6b16867e57af37f940d9f6584a2c9b9cacd1d988a0c8b7e5f49fcb75541dfd4260f1e3a0bd8b5a4ded95d580cb30204365429830f4cfae75764f6bad7010001
       \\x4dd31ac2571f9921f65fe356d77c8b082265e750f0169663e1f4ac2bdbd [...]
-271    
\\xab22d11b8bd5f209a182d09b0dbebaf7be2e2af5c47daa466d470cf8a8f7ad302713f45a2b49fb6575d9e94f488d91736891a5ad5dfe209bbee8fa2a8d934e47
     1       0       
\\x000000010000000000800003cbc2145afd1c24b111c8606c4332854531708cc15bd92a31dd83e4f718f352c4af7e8848013697490a1b038f774b24bdee61e0215622343a4e2dd75d32a0091a59831b57bfae4b23d07c63e6d8802014179ae85b34c0cf2cb1ef99d06e3f42246e352827c15a09c06a4050c1f08eb6d33e0edc4c5aa75cc0f87cdc3073a37e7d010001
       \\xc3c75a01a3f9e23432a5fe11b98d9b2fdec116cb62b7eafc90daa7babe9 [...]
-272    
\\xb5523815dcc4eccb4a09cb6d969ecfc068cd2d4d129983844de15e1531efe651b7b4abfe537a960bc209548fbe2ccf484b66a727010d36f425362fe30bf21908
     1       0       
\\x000000010000000000800003baf4aeaad8686a2dc8702921b6874f0c02f211a6e5c177e1d952fb8eb1f559ed6c5575db40d603bb9340c1e5770a9ee7d4d0f49315184d7df02ddd417715be73ec026ace84a19314ded946a5241638121dcb63ba61b1d81cbf6a7281eefdfa3206b15bf418dc1f8b204f874f8eb8279e2f9bebb73b0367e845b5dae4e7e0aaa9010001
       \\x131758d25f1cb912db98e0920110ed64c41aad5c2b4de1941499e11ffa0 [...]
-273    
\\xb87ab7c50fbd33e1045e1d10412dbb865f6dca3a3d30125273dfcf74cc1aae91e0f22eeafe089b72b30475c5e965a60e9e0ade5474c34ff9540c4f17a064f3c6
     1       0       
\\x000000010000000000800003b0265235adef17f35bea307cb5e18070b51b25960e05bc2162c986118b3eb78951150ac1731c80aa1eef83037736eaa14ecf9c4396e254a0ba47002b2a5a7460bed903adfb874dfef46c7adbdc8b56e567c3b5f5614ca83e0360757467a3f7be32d9fd93b02dc6289e4581e5a679db08f2fc695e8b50d2d1d57e3fb550f4430d010001
       \\x8dd61bf35dbb3312be7198478958dcb4063bcb07d9b4faca31e6b49c94c [...]
-274    
\\xbd9653e0497b9ade8036687feb8bf5e2ab50c36ae817f252986d12daa7d5d23b76b17b239c29c8eee8eb121f18a12591173ee3639b4877091137af70dd9a1941
     1       0       
\\x000000010000000000800003ec41f985ca399d677613e1d1ed07ef063e83fbefa5e478c2d9d079a045d467a6ba632306956f74d5e772cb6c31fad1ff0f4bbf86cf18b9195a58242379f49dc25bdf6825459f7fc0563672acd709a897128d2df3ef0bbf9d21489d2b9c4180a30ca845552d2941b4ad431de435162fd4157660b6689e837f841a39de2796f2bb010001
       \\xc1fbcbc2ffd79b8efdeaed8ea668248e492f43ed26498512a0252c5201a [...]
-275    
\\xbf0ab5e5ca3832733ed16ed410df4ec7344914d3a9215db061de662849bcf8ebafeaf47bb040a55f75d4cf25b5e4f6b450c0ab88791b230095cccb540586dd98
     1       0       
\\x000000010000000000800003dd6cbbb78719ae19e64729a7f7c5f784b3fbe36c50e16be3cb2f1c419ca44da4dca8519abf0d07c6d59b88319630f0bb80dbf838156282f2fb9a7287b13aae856331889a1388bd756c5ed966f24803d897e2876152722bedaf9aee13e7dccfdc70db30096d61f741fa65a09e680c7e12b05afcf80b496b928e9e54f3532a2ce1010001
       \\x88de7f1d294a44b9836024024be86edea29ee3f9318ef5c29bf8158994d [...]
-276    
\\xc1bec44dd12e52bf2ac370c653e8abfd5da6875ccea7dabc9e2715bb8836b131185e1fa0dd0ec2935aeecb4b39215c20e2e45e0a1114bcb161c7373b10200422
     1       0       
\\x000000010000000000800003cdff500bd5d15eb3f77bdbcbc545b6965178e4b47293ce77fcb69196c60fdaef17045be6825d7c350d4e6a9a879f1cbd689e0a8a5ce37229843cdd0398be70e7e9a04d7142daee7bcdad47a288bf0f6c96f61f1a74393f596c896d9049f6caed12580845a07d222cbc63c9cbbb31c1ee8d51197bc2dc9c4565d97d20e37e65b1010001
       \\x25bcbbd6c30817bf3d6359a11d1f32d063edb554169da40bd0c39a34aff [...]
-277    
\\xc2d2ee2d1f287c95f633ceaef045dcaf8468c5b83c1a94a7d55de6aa67289c0021707a7428dd0323534f312e7f47289791e130b4ee036cffcbbf734ae2f0d274
     1       0       
\\x000000010000000000800003d68decf611750a10c25fd395e409eb38ea7b2ef139a2ca04fb2db481e87536280ef1ab5153233079f85e0b4ca072081ecc6d04a433fcd461589a4c9f7f1e063072edc973378f5ce531582d41a313db2011d3319bb1872edbccb614d4431a8fb7a630044c2552a0a53d5be6fc21068628d30283dd8b71d5128ecc5c86cd1dab4f010001
       \\xc2d1bec5f96b04b457bdb35e3e24f64967d9f0cc8640028cdf38d900226 [...]
-278    
\\xc356bc274e0ee9b57ee00df070b55439d36b55406eb9be59defd71226c081d029f841d03bc728a3d3d45b260e9c242f734d470bf6bf70bae1bfc75bc8f51a0b8
     1       0       
\\x000000010000000000800003cd4525dd2254b5d849def64027919089bb2bb2a8481c259217aa9674368bf904611e6f89fbc46103bb3cfb8e3cfa2df28be95037d0d7cf9d4657d1e0b2aff499f4096fca3ec5527f07139dbaa421a8bb0654bd2da4ce2a2d36f8fb91dea52190f816c7627ee6701f61d5ea348a25e9304ed139adfe8bc48655146a649fa3983b010001
       \\x3810d6be93249141d46dcc7246d4b8b7a9083fa0cca6b6e868d19e15e1e [...]
-279    
\\xc5ea14e1cfcdac4ce44596cf239e1de829e6ca9db496cb9fd2ffb33af13ff9dd4f89c75bde95d9c7e27093008a26328246aed6d581627d559c9911cf7dd3df76
     1       0       
\\x000000010000000000800003a9c66ca8e9eb34ff4a0ef382c6c1fd0611a501e15f84db113c25d2150513cd937d492f23f501b9bac1485206a65706473486bb2087ae1425cb3a5d96572926d53980e5e421238e7eca7338530cb8a094ffb3668b05a0b67a0f56da46a16a48377b5304dd655a70eb10e7c1951424697751da965ec1043ddbd5195f14bdce6295010001
       \\x42b497e397c5960825bbf9aa08c45e9ca424dcf38b597986aa6daa3d11f [...]
-280    
\\xc63284608f095861071811b1969596e30beb8209a46dd37122d88506976a47a6e55c66dfedf5248f062a4c6d7b8bccea9d4c39983d96c22b91ac2314120638ed
     1       0       
\\x000000010000000000800003d4e49177d2dc4d0e9b24177416ac2759eb5bba5746ae733704cb24b6fda666b7fb3bc23fb2bf1548eca95cb7b952cf9329aefb7b64a759e4290098d5f1cca367a9ee036c82fe2f08be1ccc588d7c34972af769a8e54f8b86ea1f147f0fced0521bb19e7180a9d65bcab84e24a0caef8c67a6093fc96d73682cbeeba8dccf6065010001
       \\xc59daa7eb80fb66baf6935683eee577d6c7d4f824e1c56e48ab0f327d5b [...]
-281    
\\xc86e007fd21715a191918d0d401355806167ee10d3ad55c4cc72ea0a201fefaa516820f104420f362351fabf6689ad9dea3f5ec69d93c6db5ad54d9db1979a4b
     1       0       
\\x000000010000000000800003d0ed0f666fbf5eaab745e82333bcb7c19c0dca1410508112fdede5583d50346ab9b6234e1b7cc57b8e08e1d0e7d81addd24bcba61d5cdd260942d3be08ccb7f64c040c10b8156487e6e3ba29c95cc64c4001a0b54307b7f7b32813b1dd92cb1e8bc702ee01216a7486b9013055dc526cc4ff2b92fe667d7b96e0f175222f8a13010001
       \\xbaeb9d9a5d1333568186640f51c8faf1f02277d57543acdce8fc69e23ad [...]
-282    
\\xc96e0ced4650397ab5943a2440c5c384be26df919e2c5f0c20d4158aa8956e0fc0e6680911c75047996b405bf6a7f60eabb7dd94aa8083979095352546aff4c5
     1       0       
\\x000000010000000000800003b192a3c821f7fa30729d62708bf08a76e11ac64d417c424fef373a9bdd7d5d94377869db33a223877b908e01576dbc9496235f043f7174a56fa087cd6e6d38e232b2cc9b68a1302b088aab19120537e403a6523e0ec4d119881428f4d3e5adcb15112b65b27dca24a5cd1bb8aaa5b61c17cbe6e88525ebc97f7927fd98a3f8bf010001
       \\x4d85008910200988e74ce6ae5302f0e98aaa8aa5f95af4845ff2d83df70 [...]
-283    
\\xca169d4ad1ed445e7ef2f62abdfe3e725fecf58a644beea3b17797e18d3fdbe4f4639d7a9e3087ba584386ea68cb769b5424231c1235b98098df2822c1eb6d2e
     1       0       
\\x000000010000000000800003d76f918104292ab84fd524df7ad38e2c3856226ca50a34a0c685dd6719b9e89274cb4b4ea2c9d55c07cb4d4124da65e32c9061402ea6d3f0191c2c070adb9308701e10af09d8c4daff3ae93f0e8e4943a7176928e52da27efba6ec01f0c71dfd5e52d88845406737d76031ca2af64b0d6b849333c966d33c271978c5f3a60823010001
       \\x4577847bd92984d7827f3f68b496f644cb28ea421589f0025bb144fa48d [...]
-284    
\\xd22eaf579659cd369716938fa8ff16ccf8b9466916eb0d0200fafba7d185f3acf1461c18a6c6999be4e1b1d58060ab0331e7cbc501d5f605d55fc2773e5671e3
     1       0       
\\x000000010000000000800003ae138ff77de606d58b36e8b5e3b435cdb65b8ddf6e51e981cd37465bc0768f7c5ab3e43b70e60454b64ca35a9bd847fd7f00bfa57fa135f650b73d606533c54daa3de7b4c4d157f20315cdcdb7c0f42e15bf3fe9d956dc65d057ea20c991e0951ef13d94559139af35fc781a7fa8092765ca18132cf7f3ddc75820a220c8af0f010001
       \\x63fca97e9c42222776acbbc48b482688e53e1b4b4860c7b80b7cf23113b [...]
-285    
\\xd3d6d31df266c8a88c29fed7e7642fb2cd383bbdae410a6e485d6856e14a5c38500ed47206c953168cf051015cc8500a846b9a38ed03a767534b313545dfac0b
     1       0       
\\x000000010000000000800003b6dce483ceb2a063acee978c3a1ba86bc571690a9a5a8f29e27037f81ee797a6f43b7f2c7068bdb5ca6d788d0ecf8d94608498ad87f707d019503027737b0febfeb557627ef5dfa08afe6157f17373c1f32df0f517eaa89c8cf8606422dab8d0ecc2da7c493a072cc5fd0c473d0369db85d733d7464a92142f2f82304b806d95010001
       \\x281d749f5e6bd7fec1b6c3b5d02e3e4bd50161695482111692d3117f5a7 [...]
-286    
\\xd872be98960761ab5fef39a9dde2042c56fd516d202118d66a7c90e2a1da15c1209833a15b26f938b389ba1b298a23c9c83ee19c66f1c396bc4fea29f4c0ce7d
     1       0       
\\x000000010000000000800003aecfbf32a87bfb8b33656d3dddbb997742e539edd63853a6480d3e9058c8ad56a628ee8a10821af58dc0d77c2b2fb2b9e25c0520aebbf2980bae8fe7791f95acd9db5e7df35305707cb516b259b9999de276cd620e1c64d528ea38f9a910e061376e6d30730fe4798d3a76997dda29659aa39817efae97520cb6d67d1f7ac55f010001
       \\x7992716bda2a87f0fe6b2eeea46c3b36f66cfd2bd8225eecdc559483ac8 [...]
-287    
\\xd94a30df40485450386ec127b60635c8db7a6dbabb3ffc50d069972d5cf5c24bcef9d2bb8c4e4a4ab1d98e8700dd53f32c07ff4b5750154d2dbdbd9267455ab9
     1       0       
\\x000000010000000000800003a9a8411878770a4deecf9f5511b692423bc37512fcc24901dcee35707a73831168b4f7199cc47c3f8b1c3e22625124572d9b06040cd13cff0f406a3274108a951af2e4b14f3cb7d103b68fe905028b4a509efce77405247b7d58925f2af214d3f4e4de6ea1c06dcb2891266f3515d7f83c202bb86ad45371dd4df95d4e3c13ef010001
       \\x4ecbb8624749621b136823fb9093cd5028cced9b013a5514f39d243b53e [...]
-288    
\\xdabaf6c22078f31fe5d9f5a40db7249fdd9e2d5759c58babf18c8fad29c165108a4852502bdf468343167a9e8c040534ee8e748f0e8a02b2d57d31f51e83b0d9
     1       0       
\\x000000010000000000800003da5519683bd5240ed5b92214b97747f7c939cbd00aa1bd67bbfd6bad4484353ec9b5d1a61a31b85ebde951b219a04149f304bf55c2e3551a56632bb026d6ef87bd142d9b4777577b23a343fb1d0f4b04650688b37c8c1e88c2a78c23b87ce20f530bffe089b0300721b96f1b25e348bfd09c32c8542d3a2f7d827f18861333e1010001
       \\xd716bfea8149a9d8f3ba3c1ec49cfc411f7d10bc1cb836c667de949d0c4 [...]
-289    
\\xdc96162e0585bd188a460ba12aede192609cdedce341a75ade07a9dba57fab223b634e9db1d0cb4d8b41fa437d3d7d2ecbc507aadd434fd933a43d5f82e3352b
     1       0       
\\x000000010000000000800003c68dce3149c49e1734f8976ede6f1541605130b5e0dceb4d10ef5ddfd523f793619d37807468749362d860ff042241efe9860dab29f667b7bd48b571fcee0a2a289500e237f36a7cb806da550d6a96e4faf0ce7623d3d7fc67fac2ecc7dc7bfcbe31e245f5b5d8764c85b964648b660458f16fbd5e83d8051699eabcad71b73f010001
       \\x4878c2f6ff043624424b6d56f5cd7e95e3fea0290c16960b3c1210d08a8 [...]
-290    
\\xdc6a96c4ce08f314e8f1a43bb161d748ed8e49e87f208aa0515ec349a998d959ad2ec56dd987facb91de404b26a77a08af12920292b6c5459a6f2613cb7712d2
     1       0       
\\x000000010000000000800003a4d6fba444b364357ed85737a21062ca65e8d3376a2c0c64485b5e8262baf6e37a23f01b1aa6ff6d1981f7c4a15e9e241596406c0dce4c41103c500a93c18f4012b9b43f6e010824b9a6bdbef4460a3e22b622f06701ec562a683994d922dae639b865a1bcdd0e039ab91dd292b7336ae3c10324f211291eadeb59e069229a67010001
       \\x9e09d4be7e36a39ffed2a3b26ad8c93c5c928168c4db427f04e64884c41 [...]
-291    
\\xdda6af0f691e8d8f3aa9a3c611d4d9d8ddc902e6bab987e616e841a0abaf0068f89af21b0836c7d2fb2aa06ebb85843f7b11df439263b5843138f029a8a0e5d8
     1       0       
\\x000000010000000000800003de67d7e5a1321c5166aeebfda749e1370019e41062b2174c7fadca4649bb16da7f5d987b9566f43a19d0861a77eef80e23843cacece0fc627b2320eb4f43fda2957047a526652914e2945b15428e0e118dd149e6bda935057d27c783a99cac4bf2579041d13e73f944ceb769e693e1e9b00331d7f722072b7e2f13f5582fb52d010001
       \\x0b157f024ccfe21c940fc770e04bc014ca08981082ce0c213a5b7378891 [...]
-292    
\\xdef6738f05715bc11b8b88923dbccd73fc98e8dc396aa0730a8ee342612df42808e7e2449569c3d20c541831a3a23146051a4d2cea3bfa45d45cafc2ef96d5eb
     1       0       
\\x000000010000000000800003d5f81e9872eee366a2a64baf7162937e7d9fa0c52191f729a9aeae83c0396d088430a2d33f8c09f44775d6f2851e8a4c960739e37d5e7996a0e05bda083ce2e4637a9a71c76b5c148d5c79c162f67686dbbeaa72d3b5b346798bccec505be7abf16dac035f04ce99aaebacb758fdfb3767849913acca2f24beef479c84625a27010001
       \\xe293638e50fa9fc66ffc7e44ccadf9f10b8bf47277eb1d43cd60efb679e [...]
-293    
\\xe0421bbc753ce731e257f01cbf5e51d7b4ec0420999b0b28ae7e79a76fbebe3013b464a4bb14852e2c477fb0d851da10edec6206b07b388b8f1f86bfdc2b8b77
     1       0       
\\x000000010000000000800003c9d11c837805b62ff98a618dee02df52e74693c28154e5e401a4fa814805f84b285603e9fa2fa1504222ce135583facd0cd695f18cbda335c96406d2fc37864df6cad5266547a79ec1d5225009f1199f0433b9e78d495cbf8d13ba1b6ef9979d0a49fea89828af6c48e2e760bdc9ec3c970ed34d9bb966ac1263a241ff2346ad010001
       \\x4af219d52b37728186c04225f83df3566ffa04bbe4ce04b961370d4b2ce [...]
-294    
\\xe276fb3f624ba9f72860fa4f959eb019994395af1dfa1333cac008df299db9ea97da29fda59b88706172cdaae84c5dfe84eb238d8cbf9e58e9e16994f1b6577f
     1       0       
\\x000000010000000000800003aaae566222940d6397c0d90dc26a88e6f9867eecc020e65590b7b4889479116b7a3aa12abae9ba14a71a417d29ad7deaa2308e1b5d88a20de284b721aa4ace0e82179238be9c62a2470add7535e2a96657f549eb2decb0932220ebe11e6b13c4613005acea49bba69f95249b01ca9bbc982d8d923121322630325e788b6dbb99010001
       \\xcba50474fbfb43aa15e1389a77239239df427a4480e0dc4368bbb572dee [...]
-295    
\\xe30a3fd504a5273e11fb5b2420318c36782b8f75890fda2e650507f16c8e7ec12833865fcad6ce42812b1646f24f2f571872a4e989a193a3e792b9d0b6c7334e
     1       0       
\\x000000010000000000800003b3b16c6e8fb240173a5a639cc1fdfc9212e418854b52880d0962619ae012c2b9f4be7258a30cc2b792595cfc1c0abc92f2dfbdfffae8492cf31a74486e674211a815fe121b77305f3166c1736d1ef4cc399dae2c75ad8f2e9513106ae0f1eb6ad8622a1d86fa3f3dd51e6795b09bdee6548985e10c2e9d7091f964e7cfaf0f71010001
       \\x91a7c4b3cf84a37fabfdeca48f89fd55b2ca612743d201b844e461cad95 [...]
-296    
\\xe382097774910f60ea9a35f7881296fd244e0d10f600bf485b6641bf0ad3e4e15345de953ea34f7ba618926856e4c936c5bb62201fd0365f074ee08ac4a8a44b
     1       0       
\\x000000010000000000800003e11d448e5c7d9d1eaebf718c4165bb8c761bab925a4dcb044b8d4de70401e085e077cea784c37b24516d3501f542beff555f475988955ff26139d105ea8970395f8547350b25c9a86e8475987234031cc9512a51229185878c17b59e28d08e48f2b18a64d12b2093cc7b70ef27e415394ce8d06c73879f8ddcef6cc38cb1cbb5010001
       \\xb7cc57a752655b7827180c9dc09dae28eb53cb66dd909a8de53d1fa7603 [...]
-297    
\\xe3ae42b4b81bc4f1a73ed668a08c9bd02c7395f99607bd36404e47a4540bf09acd10faf582133004c91ccbd31816577a4c98da08b60197aeb6ac303a2fadc430
     1       0       
\\x000000010000000000800003ad958ddcdb7b9eca778dbb0506c164f1cabe3af298eb8ede5fcc85485771c6a698d55913a1bb213e97958a34b930b15b7576893a8aea4e5b917968a49c0ff3a70183aa3f1eab9afb886df82f60b322e99cb795af64c2d8115b5e2d9a758a29fa2d2baea86c05c0768e189a61b6d3a0c09e0bade8e4bb895c80b7481671055bf3010001
       \\x936e1f02e724a2982dd96dfa968bd4dd99d85988752104679783ca1b709 [...]
-298    
\\xe7be3c438c3b85b85984cfa9d7fdda04bb5cfaeedaabcf0e67fde514f2b50df91d0ebd005ecc748dbce07786602a74d2451d2516c145b37834c177779d493b43
     1       0       
\\x000000010000000000800003fb55a4310fbc4ebcad66ae8000b649710c3d1cf0b22602e7843d6e945b634c6b4d97d6f53f3dfdae18a15e93308d46e715294cc2c512c486ade8cc191aa2c1445a59c271993939e5aad6cb102eab2118a2be638b1b3d5e84369430bb0e4dd81868d83fbf3a76020ca2edec6cdd2a3963db6b694066baf3ce991cdd41d497bf9b010001
       \\xde8e086bd4288be371b06ce08a37003f5cdf19d17d0a941cefee8a684df [...]
-299    
\\xeb1eb2126e951169d47d1b2d882668ce66c3f18ee2269b23850b76d7241fe9b283faab26280c4b45d6f65626334627133a8e319f5e97225d1109327735642c69
     1       0       
\\x000000010000000000800003c96cb5e0c0354a504189e65e065bf1eb1dec7f902bf35de45ebd7ac1cf395fc13f0746752507510549d27e8ab36fe0baae92b229aa8d7d77cca5ac940c6cf14370937a302c93c540a8fff7bef56ddb9e7462efbda8fa89922dd79fd7bd972fccbfcd96a41b84ece81299f686b284e1467583eb974f535a6957f46c46f022c075010001
       \\x37929fbcb0e0557ad26ac1191ce0a15edfbba59fc7ab31330e389fba987 [...]
-300    
\\xecea617c599df6b8a3a5dd7625c3d202f6bb9493c8c9142df5ee68f648c7449c0b3eb3b759b2cdbe24b9df9ea4ecf4d7f449db5cd391d465111079f5fa6d0f9f
     1       0       
\\x000000010000000000800003b4fe8cc4dddcee1a8d497c105d80e3ef7ff487852f3ece35540949ae982456c7490aa861b9cb1537032c1417f1b28b043b789d066d071e9f06e72dd7ac4e0bc08b153fce9910a26bc6ff1af37a9fce1591a95c4fa609b166224136fb0a29ec1716db100199b24eef10e54c5661ead0d571da3e5b29871b3f03c01edc52bc8d85010001
       \\xee5d72ad2e269d4d723d02cec78c272a4944123686c48a57587f9d9011f [...]
-301    
\\xeeae2930f1bb562aabf9f1a267249f9067109495432462e622619919e372e99ac737b2322ec61cd54208f8ac7c343f85fa0d487429bf4d6d963bbc7480a73cbf
     1       0       
\\x000000010000000000800003c2a4ca562559e90e1a635f7c6d8eeee9aeba17a71c3b419fc055815a293f0fc015a32833cdecead670618e6b8749bf252e02d0853986db482bd8656b4cbffd6618f98b3cc8f6cbe9ad5e794b6c683583402340a74b0a5769c1892283ee85d26cdc6045a1f9899d7803880a838488f8ea9d55705bcfb802a67dd0c9a8c6483947010001
       \\xc9ee7c3948a234777e3e6e69e23d8e90e08e282581b03557d5aed6642db [...]
-302    
\\xef3ecb954fe52537789544340a95a4791615a28d35f110d5843702787793cd90f219ee185082ef7ccaedbc5a6018ea34b0eecf06729febe871436b097f600f6e
     1       0       
\\x000000010000000000800003af2fa410a6bb34ccbe8bc6df3a0b20b498310abb1e39c7a549ab1b5568c0906f9dff75a648808419b7d64030559749bd1a97d04fe239c20535461116fe1142458905a4daa1ce90228cf6f978d1e96b251208706ee39c8bd0ed748b5ff4050ea170d79b52722f3f4b0da9a82074c89d27a5e00d56a40dbd2a2a460fa5b6259f71010001
       \\x4edc5465012cb642dc2efe0bcb9c343e71ec6369a10c6df4e2a6e4fe76b [...]
-303    
\\xf5a66e8e150ad97e8f142f40ea25ec6575c1f52702a13d162de277591b2d770943a819d134dc357f8dcca388b90f399a1809dc22fb48ef6570e2c64357f9faf9
     1       0       
\\x000000010000000000800003acb65d2014a0ca54ba18821084b3d387c58b489ba498be886a2f320a5a9270a9921d08fab14943413e5bb3ed77048fdb92546d2849b77e159f512f418dc32248a415d293c664741f93db3f24ee4b46cfb0666fb1b4953c1b85af8712d41a6def04489321bd7f8c7f4a33573e45dd6bb2129da1865c2f18ba13f759ca92d4add5010001
       \\xfa979cb1db55f3e66033cb14d683d2051464457afc49cb44fd04f560026 [...]
-304    
\\xf69e0d2f3cf88fa4952ea75ab8431cd1418dfc33ebdeec3f170a526953298fe8281cfd015c990868056d6e6a245437a548ee61a7a888f7b3fb5da0529a6d2d36
     1       0       
\\x000000010000000000800003a4bc210882ffb4e8f8239cf71966b4fc906fab80200d50b8daa5aae1fafd20e65ad1d420f5ef6bb4f41919485c47339892bc0e47cf60afdcb19bd3f61e58968dcd5d0e25f84fded242f0edc05a726f7a844f84b8304b5f82abb3a534a13c2283a7ce0653ea74bb90264e670f597329d7173a1176ea9c5a93b3357c786b8cb82d010001
       \\xf55df2adc0976393284454004f7315c1a0f9257e6fbe224653a74af3c3a [...]
-305    
\\xf6a68d982960b98033206d3523f94641b51409a102567d2ec6a83e9c858010689bbbfd4e572049da52ce6c0ff970893ec750f032a2275de704c49b50b7fe7017
     1       0       
\\x000000010000000000800003d76c688170ec40e23b768d28f1e462f296610be3df425a51edaefbb12b7be8e3a18f5527a3a202ce1c2064f987e25f4aee0205f37ba47fb75bb49295c71f7c67a32c1a3d9fb47c5e8248771f401f14b6d03a1d0cc6d7603a98ab9c892b38a7447fc86fde463b1807fa6eb66c0d7758b364bff44345520d8c8dcce65b94d07ff1010001
       \\x4814c7c63ae2f55813afa9ba7ffdb8a8fc32102f9d48b7f228e0a39e469 [...]
-306    
\\xf70eb4f416d0900d4eafedc0027c4830275017c1f826bcf706515a29acdc46bea7df9af78dc47cb0ef5ced4bbd44312ff02b0eeaac386f31c34401b4ef2c4a38
     1       0       
\\x000000010000000000800003c2c3afb1e8f6321ac13fa13734e8117515e54b17202dee6a6d87558a1eba1d909eacb37e0fcb275ba3eef6d99f9546350bafe2418faf433462b7ddf2d7d2f964ebe7442b26d338dcccf758ef553dfb4531ce3c33d6ded3f412f01b36a4de201206fc40c4dc27c97cea542b198782a83d9b7caf852c1f3ecc9e07eba3b6b42f9d010001
       \\x21237820f3915bd4d63206485548448c2ba0682207e6dc4279fb303031a [...]
-307    
\\xf7ceea56c21d1d53a3bb4d5e67ecce070aee7975556e3c281bae50240df0e6711383ce9c0aab4bee0a87114984f43d7ddc572c422b921fb1cbc9fa4348a189ea
     1       0       
\\x000000010000000000800003a4b0fe6b6fb877990a3e386e213816b5cd17e7d1b067035ba869060a0ba0ccd3850785c2eb29ba472b9c13e7128083695f875aa55dca72a0f716bca10ed295710f5298e4c433d9dea9f7384c309800cfb8f199c531fa88b35ac28386d67130c692b85fcc3a387a33bd207986e9c7f11ed49e9d2c100b39bf95bd0fa5ea0717b1010001
       \\xb9e6ad55bd8076d5d6e2f66f15c5121ff95d6809b154e524a4bfef99385 [...]
-308    
\\xf88aed25b48726361ccd0a32c6d645690215dd1ddc36c800a3d6569c713fb70ada934ae724310507967c03c73b143fe7de4ff3d8fff251d2bd33da63665f3b2c
     1       0       
\\x000000010000000000800003c2d5b0e52b2a92b15fa91879c6803e7de7410aca83b4a2ffddea843388262783b750763d87da43f0ba2f2d88f75b70c52f21a3227e28ef40a3ab2e7488c5ee3e34bb8c878d31ea744abe40f0d829a4c657844bd9ea6cb673472990097c896fbb308fb1bdb65d964bea16f9c2c18a2ca9d29291efe2f9d5bcaeb406f5bbbfa47d010001
       \\x25c29e75520f67df96fee6fcc05b39bd1d20704e800fd3df532aa63ebd5 [...]
-309    
\\xf8866b3894106d1c30a62e19fdc752341b59f2372134a1595ae55154b84419b07116f58ef58da7d07bd20134811f7478bf677e03029096304eeaa29dcd59459a
     1       0       
\\x000000010000000000800003b394da6ea17ea54d82580a488fcfb4000db1a41e4d3c32b5386d762701d461b08bcc15dc408b3cace62dfa3cfc3382f46f41339c0a18884159d982f4381924da04cb06a86cbb6de50b30d7001b2fafed46ad435a5bfec4a98a7f840d3b94a78fc8d48ea107e223322b3df7cb84f9029b14928ca7273b9a5a4b48399d16624179010001
       \\x428357a63b0f4667a5c0248aae140c387875fa64694ab8628589b3d383c [...]
-310    
\\xf9ea3a651f320239a4c35ea5beb63e1ef01bd6349eda679a4f77c8063072628bdd1ce1cd874f2c2825b4a4d6c3c3ea1535fb6de307cf3c9cc16a31bc4e2fb449
     1       0       
\\x000000010000000000800003c9be260a51bc61dd1d7dd24d279401f76bc1542da8f6f2649f7a8ad333fddb03a067a197d921491389251f5eb66eddd8a4c6fb596b5bbc2ec746c2d1e7e6e84cd8f2af6d66fcae7063ff98f4c0a3b7070c2236221ce308a05dc5cc3b41204da32287524087531d4cde7b9979ca65154c42d0061eb8fb951c61d37c5db989124d010001
       \\x25647287394cdca32a27b1bb774462c6219485c205716f9e3b786722905 [...]
-311    
\\xf9c6626c3e09364af7d85c2bca3b930f0940606b20a528e4352930188919ef7b1a18ea1b696125e1a3909f657eed785559cb740e4d70fd782166477094194195
     1       0       
\\x000000010000000000800003d210a0939052fd9b7a441621c495b7b998ad996dee86c9d8d6385599564f4668c459a2cf3827f9320908bc9468ad1f7782bd84cf752d3348d43926a3d1e328fee7f0cc4de533064cd75585bae92ae37200ac97d112f57e22df8b9e863a804b2e156a41fad3d3b01a43910910ced53a4a538992fcd9fbbf2b2572cfd9d210f647010001
       \\xa6a0dfb7cf4ba7d501c1a28f8b7c798df2a11810f3e1c813c3e210b917d [...]
-312    
\\xfdae7092ca00504df40cc8a182539f7d89ed40c6599ec2266edd941af6dec4d0eb15e74f585ea5da69a2efedde4b4777d758a8ed9fa448b7abd598015d9d6a27
     1       0       
\\x000000010000000000800003d12fd17116ddcf6b236056c5a03f8c5e84a22f125c6ddb7c7a1587e576d4080b186581af36778f48e3ecb5e2fe170681065687cfbdffdd265b9e431859f782e73a7c3f5d54a265f2a50a15f8a9f77eec91a7a045dfb255cc1e7c6cb6bb2806d0db1b9d5a5a2956aaae47b3e88b222df7ac47a3911a96bcc127840e1a8195a22d010001
       \\x3f5a39dc31ad4f9d585c307b6b18abfbde1b9039952ede3799b938a3cb2 [...]
-313    
\\xfda646d02b37fa33d98eb6128295504c0afa5289f1a1e79534d916ddb26c17d8c93b5299a666f391f5561994ee4663d520b5a35150d500e81be6442fdd059544
     1       0       
\\x000000010000000000800003da8a43289bc3dffe1647b86565a9bdc53fb826d7d47507abce8faabc8e4f69c0f9b973c401558b1f0b0e5e379008c40347bb33ef01664ff92c15104b1800428744b9375c2695f6116c918334e084709048b937afaec6e4f2c152233112bbc50720a01acc20054584591baea35ea771b5a41856a38b263f78a7b8d9bc9987cfe9010001
       \\x3177e384949004c6d402bacfd8f038168d429207d310f6bc6eca88eb9fb [...]
-314    
\\xfd86436b5183f78e3dce83266e678b5fa46bda06b3a4a84686780d66f91a87bbd72489d2c428af3d5bb236c1db11a5bf77881d82462e6e5718a35a56fc0cf2ce
     1       0       
\\x000000010000000000800003b22e1e8629a50dc10d6f28f8c3e1223cd3f1827799d06e95103a3849950d3d620a342f4a295caf16b1b39a1f036e6b4c37204f068df6cf0cd63e8b6e7f4979f86286f7359f93611b340a3987feeb5ebee4ff455b468614efb8f1aa630a6279554bc3bceb128f28e28a392a8cf00bd95b814d12a80a4412f7bcb424c13b4619ff010001
       \\xf1d4a7b5510c09bc172127f082bbcb5824a26c9e9f17889a0bd832491cf [...]
-315    
\\xfeb2f5ceedc0e173849302155556552958ed8f190b62cafe8713578083ddd1b27373b7a1f47be742af5c02f924ded61e09bd217cdf10b4c9ce7b12f7143a9026
     1       0       
\\x000000010000000000800003c53e2857c5234eb2ecfdd46cac3c645956ad018ca90e2b9bcca25009133f07ade3ba935ee2eba64e95ed0922bd0eb36e9fe2d5a3a4e5a7d75ab761ebea9712ea1e913aa10fb797dc403e0d97ac97ae32855e20cb74962b8141132c75161c7aad960fb03d2838a497d3acc3f1444b4bbd9e8e3ebf1347391fa626f4168f6c7a65010001
       \\x2c4092ec9470f9161b9eae6ffda316335b7e1537a0d529fe279db1f768a [...]
-316    
\\x000b76229e6a25007817649d1bf1b220d2f7ea6a9430ea959aa1c1c51973f8f388614b6d20287184f57e5947f67d780f8d6bb7f24ffc143311061b3d7174b23a
     1       0       
\\x000000010000000000800003d762acbfc670aa892ada7b1511ae5cbb5972276eede75c1798d03501d50db01d64659f5589b438666f89c81609622e5d623cf1e61f0c93084ca360aa48ef1a4460ae785e6c6ee29c2e63ef81a3d69b8e75f4d1400dee2e632d8de391a9c7dc9479d244f6ae3cac78dd82bc39fb4615fb470ab724cb9c34237a648bb34decd183010001
       \\x1ef75c9202a21dc9a7c6bece413eac18d162f5de9939be442659329e18e [...]
-317    
\\x00e7f96fddcfed206ccef994e38f5dc24ef59de60ff0ceee712e758b1786bebc7c60da73ea3096884d66a3a84cd90188026e46b4e9f1339832d4264ed4259cd8
     1       0       
\\x000000010000000000800003da4e1c16ee721b88cb9f471a22527642987e7f8b97332e1d356c654fa6d2fa3316155a26d40fed3721d60765f8a9cb0511e230c0ada8a304f7a0b4e8bc258ade2e5e2131d13a793a7067a1a30f5770ba5012f31182dc60f8367cb911855e68d1d1a867756ba261e4317eed05b66a0c429dbb84d8b653ecab8f235559d008f577010001
       \\x3623d48328f295d8920b1b1c9398489e1b851353a2dfc3371e9f8f877ab [...]
-318    
\\x01bbcff8ca374cf069cc26d034daf989ab715cab2bc05ae8dd75260866a2581a957c163406c9f66739f8fc72b5c93315dac622d01a5239b6b0bf9d8d06cb432c
     1       0       
\\x000000010000000000800003beebd794c049a1c583546ecd25dd392fd73864b83b30fb9443faef34f58f11d97bdb9129c7d1366a0a453c5223a4f1ce0145814cf567d0779e53697a12ba3437cd9b1a5660af9d36c32c32466c8d64af23277dac0ffa4ed1a8c79fc4322e07da6b861b8603dd6296db61758f6a899d374ad906fe8e9aa40a56c8f1b6fa1e8345010001
       \\xeb21d43141d8c470c1c8c6265817081125e9c8d4f461f4b026a5de65b3a [...]
-319    
\\x086ff9d1a872ec79a822aa77c50be6d143ad5315cbd79bb9a7dd4ee3b14b435b4667a1a8a0a5f62d9ea95edd33ffc8b933a4e08b8aba8cb693ea1aa7e057f527
     1       0       
\\x000000010000000000800003f9c7510d1964555be15d2b2700b3875ebc271ab1210bb709c16d7cdd046610de584b472ab54e36276066896fa30a2e691bcff77fd62deaeddd375753679c6c2cca5c17bf17ee7669fdae58bac4f503d174067bca486d9696cc146c2e8cf81c317dcf2daec91571ddf637b56e821039d7ad88a5097e7704892760af3af606ec7b010001
       \\x11d6537829b79c4ff76c5df3bc115bb05efb5527ae00ca4c2813d3fdcbd [...]
-320    
\\x0b07b1e397a338ed4e0a3ceabb2e57fbcda86f0230e0ed0d00aff11178985627fa16e7bfb4e0dade41a1d57834617f25f8a9547b9a401010c5b62ecec5059491
     1       0       
\\x000000010000000000800003bf58918a2ab153f4af7835e7ba9473e198dd34b12c1dab48073727c8f4a416c74a12d6d0ade6e8f7b628688c7e867022d0f07f85d3e719ec0234e506c66b96a4d3e95753dbf17f622ec1f36f03bfc247ac1cfd0b963f10fb9645036e233d611b81270c05499a7a4f7a8e3330eddf40701d167e1e91d4ce276d6dd79f72af43d9010001
       \\x7fe9d4ab59f4699d40e988a536d4b1df29068f39986900d68848d0e1266 [...]
-321    
\\x0ba3159a6da0febddc9eb6b9dd3dcc727ebbe55193766edaba55e50b0e56dcbaf00ad26776ec32076fe98e7b2da6b38201f30272c2e3d2209a25ffe41f2a6826
     1       0       
\\x000000010000000000800003b3e2674c569942cb46c0c6e28cd4791712c82162ac56a71259040c71b93e6630cc91e2b147d8990e2c7f5d8dae484f69c9f220540f74836e76f4b75ea4c6d17f696882dd55d89ed7977c96f1e520e7bc9f246bc9fcc51f262e98791aed7f61ad2161664862ac44259a5f0d4313dc21232a046c44f7d8acef68099cbe960b0f9d010001
       \\x1f91f76edf5f9dd27d7a365ab020989cafb8143baf13676ba51a29290f6 [...]
-322    
\\x0e0b917746af8f495db10e0b6bd9dab87a2f5d0942f1aebd2bf034f3fcfd887b02bc733e480460c45596b48f3806e6fa9ff2a81a529eee9824864f9724c39814
     1       0       
\\x0000000100000000008000039c8a3a3ea98ec06cb6ad0c3e281a6a4ce6f718bdeef62321cde6642c16b4185a26748abddf217bfb10165dc9d2c81a992752ca70485f0ca953ba927a63fd4d9f37e4fc75d5c79469df0c49e1b8a1150dce91bfb3c44ab308a23dcecc1eabc8e0dfcdc425c914e791643a7c09dccc4b08afae64b3551cea775647b5b589daf62d010001
       \\x41f95c1ad915f6e3fc45e5b1ac3784f5a2181a310aa042cfd87862d36c4 [...]
-323    
\\x101b458a6a464d6c2dc0b272ebd7b16e5fd5efc02aeb2bbab19ead3ed26b86d4e16c1158c49e2a7cc57be5d335ce34ad4f91d92fb3be0d181fb45039605e28a4
     1       0       
\\x000000010000000000800003a7e579221f62cea478cd7d39c04edfe900a2f4527d784db010ff9c6a9ad78dfedf956d5fce8c9dc2d5b3ce15e5a819b06f0e9dab1db00840135aa3a18ea9fc55f9356ef64f6c26cbb1ca641f2464d1e87ef7c3e221abb201ed8d9edc1cccb2bcf6525255177f9537794a97f4acc5a977c56a98269dab46017f95dcab783b17a3010001
       \\x8436048146b80226b0a0e2d6a7132ebe1aff8d76623be63f085e84095a6 [...]
-324    
\\x12fbbd49a65c85739264570a5f401fb3ed5f67b6b547e7e62688c0ae626108f76865a404004eb39f1729a225f0cb026b96466992304abc197e80889811185878
     1       0       
\\x000000010000000000800003d12adf5029b37a6d81715ed49e9581b63bfedbda86679d0abcf9b600c28cb930bfa41e6f6601ae991f4b03c29a2d36fd72f61779154408923edca48f62a345d3311596a57c927232296d832175a90ed1cca17212696bc0434a1e133c5ad197c80e5060ff32efc507cbeb65d47cfb5b64335167fa9eb1fd0396707ca1de55e9a9010001
       \\x97c46c6be4b5f8db215585a6b0444ef0ee8c8d95869da6731264ae6bd49 [...]
-325    
\\x12fbdf0a54dcaeabca541345c3cc15165c85d50057a0ae0abaeb627dfaf2df945e70ee169c6f40dfcd76773f677570abcbfc327d6c8e3960da44b128225cd258
     1       0       
\\x000000010000000000800003c4ed1c7c8654609e3d00d046ca1e957537029adeb92e9f73edd2e5d2af79846d29caa9e3c359b2b7c3b1e31989b9d74fe448f03ac8a5fd7d21244b7c06dd16c2481336f5d155c98dd60989ff6c1c3707a09d161750dc3a4253f2479ac06c8697799acc46a3fd9777edeadb0e7e9ca65d203fa8f78c3d17fcb943b4bb2e95c99f010001
       \\x7df4b69db67ecd58dd7d6e6b5f4b12f27daec479a4a55d3650edd285f03 [...]
-326    
\\x14d3bcdd6f03ebc5ba60f4e3e194a80b184cfa84518e716a32c044214fa63de17a8534b507b638705df02b80d815de8ab08e63e0686856e2cf2186257f4cfb4b
     1       0       
\\x000000010000000000800003af5dbe16f0818785ceb7d4e3d210aa1692b6c1df274468335602758fc4be5abff983249ea62449d6770c39908bfd031e0c85e42bb9d260511fba23b056be5a3da6d58825628e153d1b4e83223b864be844247566a84a5bae661c361e409cbc9336b2b8efe9804ad142a926be86b7e7a20bdeec992cfbfd6eba1ed894fbd10be7010001
       \\xdea742f95cc16d5325bec8a9bb13cd4c8f6acc9ba222b2feaf70f6534e6 [...]
-327    
\\x15e7ba664824a81f2fa32de89896e694551ea8cdb43ec7aa7b8ef685485ce7ea9687d519df06c2e77e8777dafca2c2bb268ccca8bff6206e479aedc0f160a4d5
     1       0       
\\x000000010000000000800003a65bc77a3a3b3354166d519d56b748ef7fc44fcccf9f4be3c3fb07b6689834ec199fa390712832be8ac0c5bf9c7bf9a86ff1f7126ed4572b8d1d8b842206d3b1e17b9d2323448b0424c926193159009a84b37589bbf128d4127ac96306b886216c9015883ec637deb85c34155256306224cfbf33fd4ed7c6cd3847183ef1f2c7010001
       \\x65214e3603e5b615174093f570ce67f1a12129c51fc70406c64971c4ed5 [...]
-328    
\\x16b75fcbc23ee0f48d27b4cfe63e9bf40d8ee45c0389a0e4772bdad5a7b2ed70ab4993fc35a4d25adc242cefe99520d34877ebcb83e798d8ce4d76f2a1208179
     1       0       
\\x000000010000000000800003dacbc636fca43ba08b7f81bc2a03d674513c000e79a390667373f181325d871d2a560d4974be1d2d4112f47229e481a0d66148703d0d2c94de1a6d2e3601d4c965ca05eb9dd03756b6be963a35a9e94ea4875f87d7fed93509de93bd0284d08e32bfcb64aa1792adef36e1d1b096a2d594e43c30aea08865f344c816407978c9010001
       \\xf8327655f2cf16f66a4979b1bc2915bdd1af8bae58a1e12173b7bfa67be [...]
-329    
\\x197323d1827d40dbf83cbdce3a526316e0eca9a6bea43a13e8c0471a2de3c6da82b7db8467fc80d3525586caa61952c61d739638bb0dd5644b4b9abf0e207f6a
     1       0       
\\x000000010000000000800003c09d9dc3929a65bb03fe04851c26d84bd36ad683b4d851dfadbf0e43ba67a3e2ad4b9c4df5c7cf3715643d0f23fcc2659607d2cdf15fc0ef81ec62a8cff06ded1abd90e1ed982a5a3a284a25b80351c918d9f5d608b4197352377313f8d327df91117700b1e304c279722e253501514890afa98698897e7c674e9cdf8447f679010001
       \\x326346cae605f660e96658175ef0c3feba9164e644b08227209a9e2a09e [...]
-330    
\\x1ab3095e48fb9c0133a84cc326fcb9cf25c72c3cf334eca66a070728e36f0ed30975e43954843270375ff4c480393e55dfcc98173c5365d04a9dca3d7d9b59e6
     1       0       
\\x000000010000000000800003b9798d4a52e1ab1162d827a486706e22906882d76bb2aa7f19dde3ba1d18873985b76865b9f8be91d03533493456dc62bcdecf67465a995a4e91eb25006a8e7eb4febc7577121eba0d977193d034332d3a94be36d9d9ef4ac3a11ddf6ac0b277abac777a263cd8489a376156d3a8ff5be980d9cfec5248717f9756bf5deafb53010001
       \\x9e754a24ae42a767021b4b38c60e8057943e11ac01c6cd0bf3b7f26d24c [...]
-331    
\\x1cc78f178d0daebd4405dd52193b8bae8db64bfaeb95d2c7b66fd0809c05bd0ae5a2613adc9c5758a36e234812343952fc18373b4e5b2a5127ab3dd2bb98347e
     1       0       
\\x000000010000000000800003d17150dc00464ce218814add51962f8fd7b74a971a1b25e60d4935c74ec9a3bee451a97eee850fc1d603568d2b5ca2e955ca221b0d535d4111fb6fabd5a44f41f1a52fc3ea34e5da699686c2efdfe00e2b77eb4e8705f3fed6ce37975381f46479317ce063e033b6365e078fdd8c208e6f71799eea3df023fcabcffaa7ee2e7f010001
       \\xcb751f139fb909332563f6cc92bbd07259b4686e938f5531d735cf367ad [...]
-332    
\\x1e83551cb94a08673ae144021e818d0d8e77b4d6e00c0f33b7f7a63209283f3f1912b78a1503eb5cd445f683f4d8a5bad810a546a174803fff8127ade1f927c2
     1       0       
\\x000000010000000000800003c7e78669855509f305a4758ef94a8952a959221e52e8e46a17eb04763fa22babe297b1f177184df7b2ecd4964c712ed71330af1492e4c490d3770dff4f4735915bd664d4ae5794352e97965982e5d8fe6b937a2f20e6c37e56531d9fa96a01037e847b09c75a3845eae2c780202e0b89ace4d580f7209a5db387e8de900b9f63010001
       \\x669441709ad5fedb6e60647fc0bbb2b74f52deddef3d0e1a7d95aec1121 [...]
-333    
\\x1e3baf8bdebe87e63d3c90d34aa8ade173f7d49681d4e9639b2a11dded6bf3775867b6d3a8562e9e78ea0a9ae63f6d795e7d51709e2e307755c1b74ce4f95a97
     1       0       
\\x000000010000000000800003f5659dfec4e23389a680068830951b129a7ed6d45341443bcb3e46fab4b9f7ea1bb3dfdeef44d4ec2640abec6879befcc18e797e2290dae63ccb2338e858318ccd1836999158c09735800710882d24dd72f4142069f19036407988eb06b56bb32541f220a3c8474111091c677735b4926f59d77c6aa4c73f3e2dacfd0e808b3d010001
       \\x91aed150b1fa53de80ccc16cadb42623de5372974291806060234954be6 [...]
-334    
\\x2293b4c3d57822179949bf2d9d480dcbb1599293bf4daba7def9e9f1477e4b0d32a5182e19d0d2936e81704d549b5998e3a823d1f2e020b494725084df82aefe
     1       0       
\\x000000010000000000800003b2d4d48a5283dd44bf8e6443215f7718222b2ba39ea6ccc57a6a3bd983c71e13c31a2043b18aa88cbf1106db816ddec958c41d0fbceaae5829a70de99a27e81a58560f29c2a92b3e66f4ea065edae3c10e013cc980ae5627214d2eef4a113d4b573bc0996b3dfac844a72f1d14152d68b785aa62b1bda6e209e4177ab8c489e3010001
       \\x16a2d5c3b526f4a63adf08ea53796f1ab9c6aa9c5a99ceb82cae7c2f3cd [...]
-335    
\\x24ebc3bcc1404165bc8ca40aabf98c144c5ec257968b8ef4d55aed9d01ae1eef5b4784adcbef7cb7bc98e48c9010a5280096f54f55f30c3778351b9044566586
     1       0       
\\x000000010000000000800003e62f072d3ce8fcbb4b4a45d1a602ad218a4f281ce9535ed058f2d580724dd173d6a704166512da18a997aeff93189e56ac6e1875032626c93a9ca7992cdb4a46860f03b83576ad9bf354833dc5c2a9f584b9cc6f1e1cf295fb99d4f55d4ce82461dc828beb9899f015c8eb122b452d3a7da16fe796db998dba97c985ba8a3745010001
       \\xaa5f4fe22c6a637352aa2a231eec21bcb176bbe7d8bd0c7ba1129dff777 [...]
-336    
\\x26a32305ae0e81223325e5a683d67b79ff4d08ed5dc6ea9c473cedf8a05077a8e55a08aa9bce7c5f75520338cb671ac1d630d28b51e0b341ed8a3d944aeddbdb
     1       0       
\\x000000010000000000800003d86690852c8e1cf1d7e0ff4e68acef0db4b3f13bd3f65020743121764f1efb463a24308c9f7d7d9633c6d756a35565f0fcfc56820335c382ef6d14fb214d3ff8a05897566aedf9e374525e0f21132d94d53ff6c2234a20bc1865f9d5ea7f0c60668b3ed65e9a980496ce08cf620ba39a9a0b555224e290e05d6b58cad983a52b010001
       \\x75ad8293d4a2e0ffed9f3ddae27fc65c028ea9daf21491fe87ea01b5123 [...]
-337    
\\x270fbf9ad8ec3c175dc91fb8133f69f54616bda639d69f4acaff779d8f1c7c178839288d0b49301d0fbfb001fa2985a91ae0ad3fbe6ace69943b7613981763ef
     1       0       
\\x000000010000000000800003c3b83445c707408fe6ba21ef2b71bf58ebeaa284b9fb623ea1fe3f2333338c6d59d99da32e50541a1a10f8f491144b9c10341ffd2e68296321c0b0625cf38939f8c0a17ed5d4e917938c0a227fb66ccbdcfc073ebb0be8df9902f28ed90f671848c1dd1aacafd3a885363bd9dba27c85cef1fe9772d1fd0c7f7274c43acba987010001
       \\x0438d6b68149319390baa6e333f6e6e93e9df707a0a76f341438d830ad6 [...]
-338    
\\x2cf330f61cb416427762a3cc55f5304e8fb3add3addfee6dea3f324990927b1a05cae6b8a476d498f897f199156632ae756657f7b992109c448d7f4211efed4c
     1       0       
\\x000000010000000000800003b48c5f76789b04f1b6f16fd108ad1db84608294a61bbbc6b73fbb8a6443a8cd4a1f66c0f5915f3e3fa0316a1d986120df1ef758af0342056bc7d3206350f6781d0a129ecfae99f54701e4b9091ced9465224e2a41c38cb2db613d5be5014ad90db571337f2f43dff50a73c763d20677e1c692876d08559a6f8c71348141d09dd010001
       \\xe7bf65ea9eec37731a1be8135378be878842a44c774608b8165c39979d1 [...]
-339    
\\x3aaf1cc484b935889f185f5fb8446d7e244797f34f80877c5cd410aa0f5a9ce816003456910f358fef5ea7f239d12e8b85a103081c2f1321d097ddfdce31a4e3
     1       0       
\\x000000010000000000800003dcbbdabb6f24d47d6357ec4fc9ce9c3a03921d79b604ea8f0a99c57ff85ba536000847866ad40c3e62dccaeff723afb9306937da735a7567f03589411ab2121a061e5989e2a990931a63c526428dad267df8adce322122a91a8f2b24fc08078b550663477850eb5e61fa91dc234586b1b262d17aba28830b07d626a3c29c912d010001
       \\x6a3d87652a91fef65792760f772c71ffa8905ee603e6e303049d6b21ad2 [...]
-340    
\\x3a3bd244873376d583952e4bc735ef5f33bda30e13dc5759429fcea6128ee7729275f9e523d7810dfec732a81a9a709a6f53e882105b80241aceb4dd54fa72cb
     1       0       
\\x000000010000000000800003f93affc9d576fd6c4ecca43fdcb27065e268ef1ca63df9ee389993f0062df70fb25ee7becda1e10f2374a87cf62da77f1d9a38ac523dfe8ec74c49115f6c22597481d77f55a6f5ed7011889b20586a388087db87076d5140dcf440448dd72fb39724471e0a78a3a2bf2cfddec7c82b368855a43a1ba31a75ff2f7f91dfd8ea2b010001
       \\x155e182a50bbe1023eb5530f0cf51a1bfe0e77cc598052fb993d41f472d [...]
-341    
\\x3d3b020c77798aefd18d2c827836a6aea461aa11e8ec7933263819909aaee331a61977f6ad05e9cf08ae09b4a63085300a3d0ab8f3afdd558b482006e3582d15
     1       0       
\\x000000010000000000800003da5ae67c5765df63352628e870c53ad487e3d0c3ea4dbf9d5f09456784d4c1922bb3cd3a03bde262eba7ba0b5404f2efe49362da742dee3baeb20a51f667582ce127577945f78ccb8da326caabe8e27851cc5e1d1f14523316a440899f633fd872971c54158d17e1946db15f4a9bff39a3516cfe486d513fcf9bd3e571860e2b010001
       \\xd70b83b605cc0dd171855c031cdfea54526e2a10d4a8bb4d77e923532d2 [...]
-342    
\\x3ee31a9dbb9da77dcf16df1d962f041724d0c881721539309977bcb5d59d04604c5a8030a228500af050fb9cd44b9d37d65f040e0c2d95ff95f697fe7878b947
     1       0       
\\x000000010000000000800003b4b26f07a0085b6e1cd738e6725d1ac09c9272c9d9cf75eb884897565ce51a1c38b306a4e38626933e5d297072141942567bbdee14aa2b06bf6e9da92191cf4b2bbb53a8262f05cdc1dd756804621ddc684aff92709dbb7c067dc427e571c809ca2d4a179b8bdeab29ab4ea6ee0ea0657a49f02b0c447f2989b07d65208838fd010001
       \\xb11e6648a839958f4d0c9ce3d04efa4b36e246802abbb0f76bea0db401c [...]
-343    
\\x45ff648c5c50b151d7b88d8faff6a2abf353581e52c0bfcd6a4744b0a4b7098db0b956d6fd9a32e48db5033fec7695cb5a627e93399a07fcf50298e675aa78f3
     1       0       
\\x0000000100000000008000039cb999762631a986c251fd7514f3f2789a6ae74b6106fdaf944b7c4a739002469c3afa3cebcf997d3bc68483da05c1bafeebc1365a728ad3c2cfba5535762e8c4125eb1442dafb273eeff3ba4e494b77234a71b2ff92724b7502846217af1725edb4a1c7ff68507a52df692cc93171f28d458634078ff712787ce77d09a42d89010001
       \\xdb4b6ba00933ef95f3e10e806985a4fe9f6df3bceb5edc369fea3095613 [...]
-344    
\\x4573a090b824877ac8784baa2938e7250d54e2db461468947ce6be47200072687aafdeac2c250da26ae8fc06c868bb49ad3d4f835b1ae5efccab5b88c4ba98cc
     1       0       
\\x000000010000000000800003cdd9abe095cf7f5a3cce51685b0e0273895606c936990b0cdb07e43164f3dedd493873854a77301b9dfe6a6c711faf0bdad9077720dea2eb0614ee76a538707b284e48f39abd63c1d19a079d5d9fafb1d0a529bc17b23bb17555f204e83f5271b41721b33453f904d12f3abcfe8aea366ab23d11ce74cac302580224b1a0ac79010001
       \\xb8cb059714d0be2f7755cee167be4129e5bc65d77f4e4c5101056b10b18 [...]
-345    
\\x49bb586530b74600443157f7a6d565cb9101a1bf3186543bfefd77df7737fce1aba2b3066f7dc390a50675a81a00d697281f756c90a6630e8f9c67559a5ccb6e
     1       0       
\\x000000010000000000800003af2b9e15db63a8dd9d469fdbc7b931c30a952169df97dd94bb3836bf4087ed2d076a3939d3e0e880c3388c324ea641849048056f7442a16c1b4204a1b8db745e242f58332ca436e4f5fea1d0bfbcf8d03aed6436431b7c749b9ecfd60c2101020e684b473262d3d21ee7c1f1ceb1787d06bf5bd03d441a6d01f0524b14038067010001
       \\x23ab6f5a472b731125358c1c8e925c088a0d2ef7a445b108b007abcb670 [...]
-346    
\\x505762bac350086a210b515e439db36ec856e1ecd3d7f027f27a018315c4baa44faa7c0da40816c3de1e0b900f2f54bba2f63ec746f2307b96a063a363563cac
     1       0       
\\x000000010000000000800003b7d15e480158101deec3074488cf590074aaa0d32ae62e2edbd19683ea0af6a73854937eb2c4beb86a553812cf227367bfaa77330ba404b348ab6185c7f5bb02be9086af766142d3214da4437ebb50699b79435f4134d2b56afccd5df28cdc0a4c104551ad915cf327ff9a97cbcf6435d4384001c86b048cff2fa08340b7a3f3010001
       \\x17a50478b470485b529d78c3fcfd088e93c075643ea562207cc55f70e27 [...]
-347    
\\x52ffff1227775f193282f1004074939755e5285b060800b8c1abcd42292caa746be22cb35556068840b66f867a3046c0ba3ae754a2d244f71bb78455197ea045
     1       0       
\\x000000010000000000800003d46defa79074da8ff2daf99af9571c981ad2d8e0a7feafef350c939592ccdc403b280f2a88a503c64804cbf3428200d0bf6bc174c600adc9f3db14be7bc01a79e744d66b727a9b297a831c8cd27b83c470d26195090bb8bcb8e5fc44158d1a840c19c87b75655ab70d32302c737dd04e5dd805c3fab46a4d2f15cb8d36ba4d13010001
       \\xd4c566e624a8d6721b1ba263bec57f32c8294d55f69078e2dce87f3b3e4 [...]
-348    
\\x527bd876dce3a145846fef8c6b8245f9cea64c3753c58d84c6e61d0490acbcb5a92869192abaf3e4b18a2e5012831396f9c5d5fdd28c6fecf512233497280e06
     1       0       
\\x000000010000000000800003b77b325569b21a3de57e9b55e9f7278943cf97e643d1ad5889594cb3736f9b3bdf5279252276b1a872170453f5ec8e453147011668066279c9dfda7170eae436126c5703fa7c5547cfbed6d121f0b5f6ed499fa87456191260cac3223133382d0b12847b2befc6f42ca2c37c334f3f46b030b445cb289ef19a0e50bcb95bb5f3010001
       \\x046bb55acd58a87f896b198b36e9d9f675b92340b41f8e7966641b1f742 [...]
-349    
\\x56333e2f39c20877180a40338f500deb1363e94e551868da6c69a75f1e3c3184b96ca62777812f47b2d511528aad128ddf94bec4a430d8cc65c148e5f6636ce5
     1       0       
\\x000000010000000000800003a93648b0e1019d42e1d2f7cbdef3db6ea5b409148a7b6c9dab8ea55ef8b5cefd1a2e3ba398207a65fef935e3d7b6a920072b9c6a49773602cd72af314f11e033d0e08f9daaab65495ae65235ef3ade140f7eae124d0fa1d890cc9bb2e4e47765b09a19b1b2b7488a8ba312dfc891c6b295751a336bdf50803117157bc77c9e13010001
       \\x57a364eefcb9bba3b2922be8b82f18b67a0b90e4a1462c27e46d2b39f43 [...]
-350    
\\x57bf774685b0229e6904c295aa7ee1a22952bad686cc484a1a04d6c016a7a93a96b0f09f6324b0b52dc2c4743ef430c6f5012472815d4eed7e85612dc6f8d821
     1       0       
\\x000000010000000000800003f2202bd1ab3076633af19cdd9a8857b1061815581609cb87de1545277071219778eda6e2392a2c1b83b752febef3768247683184dfc089219bf0c60d4cb5cae83fe25929135eaec75bd0a40fa5e1afcc3e5711a4d99bc85ba00b57997503fb05da0cb90236f385260a04b32aa9478cc1aadef68b9a3cd04171adaf51cadcd20b010001
       \\x9679635610201652b955e1d5e04710678b2496a1f81439ca186d827d631 [...]
-351    
\\x583b423abb69b990f3814c820d4fb6664598e62f7c6cebe94f86fe6582ca874f70571c55d13242608c0fd6f4739999da3aa267e2d2f5c4094453b0cbffd6acbf
     1       0       
\\x000000010000000000800003b355b58893cd47a96a52b8a9c41000f7ea833ab58afa5c689c402d97e2052281dfa1aba902f7abdf193426a6075322df5510ae42f67c3b8670a6b62b3e7d15804ad319558d7ad4543cc0c374220e95d357d24ba6ecd47606942942a7362da241a536adecdb5fb132d082be638147f34874303039ce024041b22c82e53df16997010001
       \\x9221718c94816247bf161494576c7b82c8640f049fe15c74d22f1360e7a [...]
-352    
\\x5a076ae028ec514606c44fa6a89c85b6a82fda5f4f0cfd9183c1a0b7cd53c4c93d1cff3df40f34cb24ca537db2df3ced17e9865c402d02c23c160e0533c40d51
     1       0       
\\x000000010000000000800003c24b6a25a92bda54e08657a9dfb83221229e7d38f38fbdcdb16c33c4bd4744b19bbb3648fa29876f127f0b1e6ae4ca339c2553467fa3845012c52bfb0c13a2f44729d9c4c688fcac32d6bec8cb467a142761d5b87f586be40546d8384e9cd86b7443f61c130e2161c09401593a93d679b228996e7d446e70c2313c5c46fa461d010001
       \\xe4b1b12d106c89ae8a28b6e90bbc534250e151fe936de468a42ae238e3d [...]
-353    
\\x5bc74f025520311f7189f9018d8e3236f1a486fcfe43c22d68d6503deb65d6c916ec65d2d361fb7e0453190ca8e0fb8105343ac83d4369f70c603ef0010704b1
     1       0       
\\x000000010000000000800003b68a117cd74a17fbb5ecd131b14e48c8a7ea279ff93e5c67ca381dd423e6bf33b878f0b37ecaceaabcd4073b24184817c2d97d86d04a28a76c18bafcc10e8bdc5c676627d96eba485105d58b8ec0f23a2295ad16c1ebcd369e28b266caf91d31e5424d9198ba182895eadeca15e9879fac67a5bf4c867a2d2f61201661cec5ef010001
       \\x8106bbfcc6322e4df1312b69d7977319ac7a19472518dc08511385b2c98 [...]
-354    
\\x5c3b4cfcc91a200e8a1a651b2f07e55a9aa9b122673b03a4449cce6d5dff7d0bed0ccd8fdbedc76f0f535d1a45a125476833414a53d3d90c808ca8d2d0ab2276
     1       0       
\\x000000010000000000800003ccc4013425065ed822eb0537d48099c4334e478786f1e4b8f6f92fe9279e615db7a63d77e7c2e778cc42ecbd9e34b631ca5633f9a2f2deb8207af348d283d2b3fa67b458d0251411bcd023fb47bfbcc41d43c166928a818f01f52fc651c504aa77203821a2f57a1b588a05b5737a120765baa7edae386ea57d4961fb5c1e7d51010001
       \\xd85ae64cc1cbedb9fc8ff8dff886b3bd6d4c6a37d16aece4873ca82499e [...]
-355    
\\x63e3bf64cc15d81f976a00edbf7e43184c0e33ced5ae5f69adf4bd84dfbc741090000cef93a71e7857a8c32c572470b07c3108e11b11e23dcce59de447fa7550
     1       0       
\\x000000010000000000800003c63a27dccc12dc2bb06ef8c6888921ba520e81a382ad167c986b5142c92b5d97f031043dca5196f6248fcce905afdaa1692cff6ee895fa5be88bde9a44306cda200a843b97c21c06238f6765c47409fe0f4b8f32383e5b81fa3fc7caf8c3185b862f98d6166668760bb246715db3231ae6f5dfc77e57377f348efde1de723389010001
       \\x20976f9a3ccd28949b86edf667a42c943264bf9438cc8c1fb233d456c7d [...]
-356    
\\x649b420c34a250dfd820537a9d1c8ad5987e53983eb5b6942b56f94a4a6d3f6aefd7b173561170a6c76d578ae49726e531ad578bb7332daccd34c0002523f1cc
     1       0       
\\x000000010000000000800003c1628763c37468b05263778e283ed2cb6ff707a5a36b8c9f3cbbb8e1bd7974f7a48fb3e2fc6b183e97f205aa9bba755432fa572d33cc496cf7415142fc4a526f37b1690bf65095ec712c728dacf8fd896678bcc74ed7a73af90ddfa7af13a14bdd5c9b4a5ebc43d817839b8a8908a0b263a845763c98fb6efbe7846c088abe43010001
       \\x1bc08742780ffce0022fb3ebb5db56cc0a107d6ccb717277719c253814d [...]
-357    
\\x6677f359b77264c7b892f120f323565281175ee45a5561696eaeae3748cf79bbd272c943ea47635300647c9f39ec420627b496ec4ba5179d2e435996b52b2f09
     1       0       
\\x000000010000000000800003d0152901b8104b2d8f4b0a486a3acdbbff59d85af88a5f0e47a8ac14151df812de203d36c43d279ec9f2469181e7c2157043545e12ce8586c23b0af6d505f3f4d5fe641dc2088e4f14ca2a2340602afa04b19127b2638de55a9735176633f5997bb16332c5eec8243f52d48cdbb230237760cc984612e2f899a91b22f88af9e5010001
       \\x5aa3d19a7076e1e70bb6d7eff2ee47bd033a02998c3792cdca921ee72fd [...]
-358    
\\x6613d5613357dd96ef8a7c5cae455198a6e1481572cabde6e5b22f090492450634a95d974db057cbe55f2c1685537cac58bc999b98691c7303c5f83a8451827a
     1       0       
\\x000000010000000000800003c791e093420d47c495f342d3e4d0bd981658cb7f86c70b711f93d9b4e808ebc39d010f967eb3263efeb8ee896bccf8e2b3f70b41f44cd26ba7ccccd429fc8e459fbc719a3d9b6d7b4ed71d167876adf4d2acf7232deb1e2ed20c028c54dbc598ac6347ce31bbcaf5c7e9a6bcc0424619c4573b8f86cc7451369c5fb6e324b41b010001
       \\x15a7a6be20bbbda0bbcdd6fb716e763e3766f16a6176747c902787ec7a1 [...]
-359    
\\x6e9b07e49b776feb63c51e0846d22f282c2d7884d8f35b267cfa774d41d2212653479f9747a0597b5968db922b5f6bb0eec486f37bd344b3f1d17de138208ff2
     1       0       
\\x000000010000000000800003b925eac41556bc26d3fdee063784b18db3183ce80b20fd458b5a5e15bbab9c5beb014fa4a88f3d38d6de7e338e59832449b1de1121c8bde1025e85e9537989505208fc393de4f2f92e9f35c83f2988062a750cb5b7ad1ce00b7da2c224c293b7f17b8e688e86365672c634596564a94543ab501aed5fffda9a11449c01cf12ef010001
       \\xc41f4dc6b568b3bd4148ed2670df75bd1c56d1365914e405babac06e7d6 [...]
-360    
\\x72c7d9a97a38232869cad31b6fdc5a6eda2c616f035da40120897fa0f9ff7a913efda54728c96509a4730133e2c9506c201f8495f655dcf0886036b02987dccf
     1       0       
\\x000000010000000000800003d7bde7f122f571d88cf7f8814f2ae73a023cb4c9c0102c5625863ea0ea2d60484ce3d0cf50be3bb276ecd10d3d09f4b9b370c1f2de9d671b10c5bd2974ccb8876cf07b42968cfdcbeb562837c5066f6df1aebb1cc6b0ddeed609bd663654ce5f9ae366596818038e39935d7d2d8e1c2539174106f3f4ba22c1499f205fd1f145010001
       \\xc1f709a378674c8856eff5436b6e1b0c5263b766417041cb97754392c71 [...]
-361    
\\x729f4689b311de76baae4ad5a77096233aa70325186dc721666a608e99fafc9e232bb822fdf6988c69c6b3a5d8f24ede422fb69f1cee233b571be1aa5acda1b3
     1       0       
\\x000000010000000000800003cd83cea27c308b0cdfb3c4cf06d6d7c59a3427304d0d48c64be27650d17e407aa3fceab2c055442c49f81bd259237b1d5172133a6180575061a5b0fbed2a31c83914cd026aae9e9d711b332bf1e0436083881b2f5c7c21e4ee3b926bf09b214d20491e70b0216533a9b253d7ac9ffd33afad15350cdd79a32007ac117b6f556f010001
       \\x2bef4ec2d8f3ffe5164ca86f4c91d9cc297c11552866c81f844d2716513 [...]
-362    
\\x727b6ee2934bccfbd97db2cff20e66743344da8c8455d78a403b4ece0ec4ccc8c1c6509e670098cf3965df9a95f9d6b456093abe0f1bbfad6fdf1771b7c023b1
     1       0       
\\x000000010000000000800003cb8a60ef35c43bdb98c73a0aca0c8e0a60e161b552ae2bbda2e2916117b4dbc768ee4f677dd39a0fc0791fb86a862440c9fc928f0c87a840ea87459e53f7a987d2e7fcc96aa68ad6bc41fda6d72f9ef6266307765da875ba8cebfb8380d516920145f1f21ebdd08e1b93d86fbd30a35dfd9cb463d34187a484d5bd850c88140b010001
       \\xfe27080c133b6954ca32e6326221b8d8c346073711c2f8c517fe2fec7b6 [...]
-363    
\\x75e7e124ba102fe129892cb23988b5d54410bc5b2d2cf84c43d92f97f84a6124642cdcc4eabaac78852d294df7abecdba1945a53a67593a4c85d2ba2239bb82a
     1       0       
\\x000000010000000000800003c493c17995ad7aa8af54f91d7d2e742ced057cd8df72263ace32219e30547a3b962fdd76551c72425f496daf42dafc379444728241a34de94352b1cd34ff81d93fc869fdc0d3afa035db779f32be1dac8a634a492cd1fe944b98520fc0a59e49123b9ad42e1b4a65ecc2727b7b73b2a62cda818083d881e8ba49b9c8bf0e0b2d010001
       \\x104a5f55378de4d2741c99bf4957014cc3fce9cb75f1dbbaf2a809a237c [...]
-364    
\\x7543ee57e4f7905af6e14172a717967620973c7abdbca1132108145fe28fe4248d3552991bf36550f2f124c2c1cd3ed9972e9ddeeb815684da363d3540329706
     1       0       
\\x000000010000000000800003ca325e8845de89aef557f234f0a3e8122f635cde76b4617127a08d4b70813e5b917914c5b648d3852e35287f426f1dda301ba9f78210aa7d685156c525f80debab7817dee4ce172ee9417762a9f5c9d193e48b0f41b178749af75748bb5137939a1231423d55f118c8c6d303da2fe7979cd6501a93911fa7875d908848bbd555010001
       \\x7a9a1d49d55cfa9d6b7d25a810c4095540b9d3dc91e09756acabc18c19b [...]
-365    
\\x7cfbb94a3c796b770fd7efd5d6e6732b450b837e188fd43e92d240b6396a243b46d6f17902ff920453e485faab4315ead4f8a8925549cbf748a9b2ca27fa63e4
     1       0       
\\x000000010000000000800003c81611258f561521d6d146db0579193f942074fc85916cd566f1e90b84412379bc6fd30ddcd7d048b44318033785105f141b1a363acf5cbeb22d51699a7fb59cf5180e9369d50f7cbcbbbe7e0c6f0283626718185dfeb69783ba16d73ff29fdb0d2e46b2e8e0fe5ee88198e511d5ace8634e3acc5c4da184ed7ef815c6fcc1b9010001
       \\x0fd8584b120693dc9a4f13f3b87fe97ff2869e846c86fe5652b76f01f9e [...]
-366    
\\x7c7be7f63cee33d7df37951770e75d95db9a5d3f5f6452ecd679837ef24e955de0d8aa42a6e6ed7c3e2453600987971351820177862888e6cf5e162dc5f20bb7
     1       0       
\\x000000010000000000800003d8d54d3bd3c678456e0fb894dea4acb5a0e5c7656cf0f97ca65cb55436eef39d2690e81a1f8db4765b081656d5ffef8c4555c87483996581f15f342cd3a9fb48b49307a0fc075487a5c4d7731010ef40bd767c0dbaa17883c2b3b2757929ce7807fa8368d9e1f1ab4339c91ba298b704d0d44a9d990c9b605837ebc9231afb65010001
       \\xc0661d1b7cc0ac5818363f6777cba0d20932525c6ff41f6b5faecd24c47 [...]
-367    
\\x7fbf5425d9eb5c417c6fa05d526be68743f2f0d3ba0501e0e788541bab4791480f68f825c598483c051aec4b54aed237256dfed7b379687bbb3faf04ca1e1d9a
     1       0       
\\x000000010000000000800003d59db68c0aef4b1fc7fa22a1932a1588dc8ba25f193345dbf8d8f761fc45eec0c3a792cc216ec6fd3f75b97b1697db2f5b5b0caa8fb445aacb0e0310a3bb1ee5a6a0dfb665af1ae88169b67a1c08642ed2e72e8411c42239450014862e3176896c1b5b78e77f09348b96cc4a3b04ce7c61918da0d4185ab8ccb6b178f3aad9f5010001
       \\x4c08cace32f27da2600d7e3c2e91a7f533f368842c50cfa6062505e2a37 [...]
-368    
\\x83eb9fca59dc55769dd1cf8404934393dbe5c99a20da71c5368cba283a92cb37a3464362bdf092a59c2c733494129ae27b2fcf54b6b3be506f32dccd4e7db056
     1       0       
\\x000000010000000000800003c43f09541edeaec9ca4a5f79a8dda1affffe32dbfe8509c6ea825d6ee51724e8f21932f58a09b0ca424251dc006f1b2816ff45c5eccd2943c4d3483b0fca44d59cd499edba514ca7aef2f73733b40cee95e081506bbc756e43e5c3d838859f467efd96d05c2a31f087c10efe8f873d1f826eac63a68be5afa852e7cb7651ea4d010001
       \\x094020b04d68cb04cd4da89b39957c2b9da3b5e42e9a1ad659cdd4c97eb [...]
-369    
\\x8797e545afb34d7931311ef2271021f94dd51aa7d5e17654a64a83fe94b2150a0af6c2f500c6e132d101ab1970f3ef8f19685d91e41ae511585d472579f2a43d
     1       0       
\\x000000010000000000800003b79bcdcf073effdc1f4715d00f1979b95c2a131fa05eac6be5a99ad3405e59976476a95a8c6baa2f1cd5cac226d494b57637a961773545239563a66faa21296b5555d167212fa0323f7a179730bd7b6882675dd003c208dbcf1b59d45611b27a8c6076325530e4d9b5790f56bac38450234d73b5a4fe4f3a09c9f0c52bc5c71f010001
       \\xca7702418121a8597ba10881c44bdc627b9ab1c004d359d353897cd5f16 [...]
-370    
\\x897f6106bf8e428ca31672c1d783049e3a47c9b1106ed635734f4923a75c55dfdd3a5f5edc80f3834b5617a69c1e6aa58eac5500ebc39bac9d33b6ddedca661c
     1       0       
\\x000000010000000000800003dbae76ab7082ef282462258e6efaea0ddf728222401af35a22f86cdef237abe1e7f876272e0ed3f650178b1396237d3de841a5d123904b3cb0432fa4797b4d56ad0841f8c07c6332d3e31d8e3fdb38eb3f812cc18e4090879378a41a8f69e50b28660cc60e340e43636de07151082d9a9a782e7713084c6fc982eaec0dc05629010001
       \\x81ea9319fb1617081cf224859bc4530a59360b7517e9b233a807f7d6b62 [...]
-371    
\\x8c53a1850d9f556f808c5dd4f3d0619a23c6541bceea4e1a8dccdfaead552f8d3b8fe97ccf1ff1df2f381690d0b4dc64db8334b3dc558b07fad3b91c18ac9662
     1       0       
\\x000000010000000000800003c366ac63ac161150dfda7064395d07da1f048461d26ea04d90eebc2ffc4089e60b9d1ba7466f9b85d864d1e9536f5bac98db5ff57c904f285071fd5429ad61660901ac6fd4f74e65d42716cfdfbe4b8713387ee524bb417ec6408897b9c94d8fb27cc7ed075487795ec2ed6d2b90fa9d571a66077c78a9f916a554f9f81fba93010001
       \\x60d04ab4b2a7b9dcb2fff0438cf425f7684e55a44123c451ff5edda0f86 [...]
-372    
\\x8f9749c097263f7ade8fa20e010365153cc7b6a1f6ef4f4161422e73ca4ee7a440b6d36c5adfa059e98c612b7b9e4d9c98c8769c0a8ec1960a3bcc808fbb231d
     1       0       
\\x000000010000000000800003e6ee5988de371101809b950bf7b69eea42dcab672d48b35d8c9d2aed309dac268a9e2bbdac29f65527e8ca7f76341d7b063a36ee02acbe4e1d91603ca96b90e04222f5017eef6f33db9ab37e50d6690183b92c108e2b45c1cf9538d00ebc37d3506de751ee6321824b42ec34de5abd321ff72119d688cfc65be52bc82d4ca411010001
       \\xb92af7a1a56744346d1ee580e35a49819ee4a6bec8b5073b21e8c58cf5a [...]
-373    
\\x97272a7f0b6a7514eb6d95d4e44f9c8f00e71082e7d7837a20e3158e5d872580c57435bc6493b869ed2910ae8478f924d87ca54b0509193155598010263bfa00
     1       0       
\\x000000010000000000800003e0a99516fcb5f69de428d25eaed35d2c79711a6f853f93b11555677bccdde696e91081edbdf003458e9c38a797aeb9d0dc3a87ce187d7bd97c7fd7f8f7b69e8ea3d2f0f8695ebd543d2aa4838cc11c1db355db0d8142267aea7c3c599df7d4a3e9cd1ac485dc77c9fe2b126e22ce9e3997ea69bf08b0efd8cef0e302abb6d9ff010001
       \\x91a1abca337c33362d6456e3d6a0d79f82cac672224407d77287108a5f9 [...]
-374    
\\x98a7587080680e9fa498fb8ef612f8c2de1894de638ad678ecfec7d910c07f51f169a4c5de0e236b180b8116bfb4248c3ea37ea21add1367d7c352c8fa7f1a17
     1       0       
\\x000000010000000000800003b1f8dae8fa75f8f335e3e39107789bccfb83a0f1523fed906b15810d6bd005379a0a1b6353cd5106da29badb7bb46d88ccd4bd5d9f7a40b8d6e9fde4e659b8dbce0f17f18398cc60a688ebc07b5c6fb91ca9097db4ad129739dff5d02365c54d6c01019457aaf3206ca66bf362909c5a8c51317748745621b2854a885ce09f9f010001
       \\xdc156afe2debb18b073b69e6f3d77fcdf22ebe5282e04dc434c6b1f5ef5 [...]
-375    
\\x98c75608231f9d805bac7cd5a089c213f22e583609a6dc09bee7b67ea3fee3ee1748d81938d4eb80301d09276ca5143bb92ef2117a75a0b5f0eda86ec3f4d9c6
     1       0       
\\x000000010000000000800003d3dc2db2499725e25f278cb7c8115e28aacd48487009ba036f0c3e2f0340622623b9733375f9b8578aa7daaf6ccb0d182d07eea1288602c41e43480c061e15c98e6402d0f5922c43684dd74775d983e967f50307fecf8170ec7ee77b6a874e9fe3b87f7e0d8c72e0a91482476cfd700c6fa822e927a0673532eb7f06a70dc951010001
       \\xc321a3267fc23be7203dcbcfb764e7250f31d601a2c5250445c93c8c58a [...]
-376    
\\x9aeff5b7f0eaa78d4e10ddb7d4497519ef766a13f756047c4456c11c8519ae19731c2622eaf9124245596c4c34335b0f4119b4862b46c051fcd3d86acfd8dfdb
     1       0       
\\x0000000100000000008000039f04e9b21ab10b4fc12487fdb732c0be12beaf2ef0bfd1d061fc06588031f627b514d256f750d4cf12ce4f4957988cda71154b58b620c24a01ce9b61716751d124fbad20cd58e4ca48abb6c0686c3ef64a99e58874ee4ea658959e4166c3d7cd1013b86148d6312069421098df4f0f1b0f09ccc687ae63c432c931b873636a1b010001
       \\x472bf275c6ab25fe0e34b810b8eeea331d4b41a3c8c1b195f1f25a5344e [...]
-377    
\\x9c0f4b9dc32f0a5f2510e2e6e2b58a93d8e3148742bdca08beb3ab40b1fbb82fe068e3d2338934cd98348f37802bf348034e25f8f9e3a16a7c9a71d9d3029381
     1       0       
\\x000000010000000000800003c0aab4557d9ebf22ab78b90cc6b0a5260f902f8cd9523eaacb6f68b782b8c0a8acd08ce5ce815ae2795209cea4242b41d9eec5dacaf54967b59630988f44a1d9c64e54ca1114ac68dafd575e2f4acba94e90751271c16f1e49b30e98848eaf29d1eef6afb58b56b5d72badb7b2000bdee9f8fa6a3c51a40cd91b6d6e27f00ad5010001
       \\xd8c6826515ca9b5aff8ec6e17b24ce297ef91eaf1ed17c583a637694ffd [...]
-378    
\\x9f0f31f6eaf08c97330bcf5ccb0cb48ecec52c81ec477cc97d0b3f554fb74ba61876b4c0388cc0856720320e5edcc6b70363d86a1f387a2ad1b3844f47ec97a9
     1       0       
\\x000000010000000000800003c70b95c0b477f1f27ed1d321ba961aa55ea32223fe84dca0fff2160447fee963da57f13e1a2198dce3c9f8cfec45810133a8f40899a2b97528041785f3a271a5d422f98752d83b215585a4de5b5f248aaa3f818caa50d026b2afe19c7a4698e89456bb4c763d37609e9809e80a204362df982f915a17ad6dca213062f2337e13010001
       \\x4285a8f8efb104273592d88db2bef0e71455d78ec810e289e4c8be8d9d8 [...]
-379    
\\xa8831e10b9a1635d46977e0e98c08b1c4ff4ab38f124aceb704f5cdef69d9178d5b7f10a2beb1502966dc5c3c1c5650d22c84632bf842d117793333382a79df4
     1       0       
\\x000000010000000000800003d587244cf2546dbc3161377ebb31e14b3118e35fbaa65b08918b3fd5e259a3bfa4b554b8f7c2eb5f600f23a31dca190a1530b06e2ea4475c6727245712f82abdd8de4c905f0d3ad13df5c7808c7ed5955477da06ceeacc8f0e0b3c63bbf197fd49106b91fd12f63effc91687a19699a1230ddd279218e6e6ea91e97aca945445010001
       \\x5f18cad75f532b2ff8bfe28c19f70bbff68c70fb5ac767e7e8544e114ed [...]
-380    
\\xac335698036ca743c7c01e74ca7bb3afa3f1f1855a90d5b0ff6df34f92fb81473e87169c28652599ee5e9e24a69e865cef203c0f7068ac1d1a1dc7359b660dab
     1       0       
\\x000000010000000000800003ec9e8154d090bd2124f08c3121d4db65685e46bf27a812e82ff17de72b156b6e6d920197654c5b405a4b18007f3ddfeb1ad93a647efdb65402bd7a537764b07519dbcc9b0d73a725c94fa972ca68790da78f4ab6f683ed75cb0548a2e680adf3b822bad57d4f5697a3da16f25719fe31881da85783bba6a4413994b1d6b33103010001
       \\x125cb8b2e37ed378b0d3a8709d883e90b037f8479c73e87aebe7df6b8ea [...]
-381    
\\xad532c262394e8bd447b612405e094835f2e541d0173f0ed34b836ce390662006675b88a4266b59c48cbd2377db7ce72f0288bc5f8732f16c09c0f3b9ea66735
     1       0       
\\x000000010000000000800003c82acb80f84a47b2a2653319767936577f1fc88ba6b368e67383bf4cd917352bd04d91d0c3fb75ac239ea846458c409cd711d78752705d235a61aa65c450f9ebf8adf1a72c8ec8b7cdf5196719c373cf855f35f9583fe873543f385e23cdbb94a8660269dd36a178e0e1a04a7723dd90623b3c419597ede3203a4dc5708c60c7010001
       \\xa04f60dd7c97a0126e906abd8ea39d279afffd620f920be553ac54ebe1c [...]
-382    
\\xad53fc7bf8a92608ade67365fa61164e22e057eb8fa33cd790a0a072d199c7166128029c20757eed0b3758b98dfe84ba1084c4db76299d46cb71256e2baaeecb
     1       0       
\\x000000010000000000800003bd99121cbe07059b0b632d54200d412f742d4aa3d62ce5d05772207a2eee10cb9c3d14f59c21bacab68169992f40318c024cabced90738f404e788c59fe84e2ba1664243b31fea8d1a27603289f2abecea3881c60545a33d2797a27b9393cd59b217cb17a4e8643fff4819a00d7ecd72ac2463c5c4d0db0bef835b3934edb967010001
       \\x5c39e6d6fd33f38fecba082afc6f4fcaba0b068e29d4cd1e1b3e37984ff [...]
-383    
\\xb21f58c2c8ed7faa719a922662336eaa2ab0e8ea16e5de9b778e19fc22305302e56bb2125be184443c4e8bca9edc6618668f27c7a1cb2999ec570dd2c095a44f
     1       0       
\\x000000010000000000800003c60e4996ed9db3c63e520a8e4b7b17d3b38bcaaad48a8e6cba6db656b211964c9242bf9ca1cf442179cbe4cf95d130e5c47e7d351ccb0b442f150fcce07081e371d85e5a27d11bb0cc70862b4ad4b28f9202ef641f29a187e4dfc32182cf7de86794f0f7934855b3b2ab1707002c513a97b77d17ab20619442cf7e969696c2a7010001
       \\x415254fde92ac7c13086b117b9409e32a0e438cf9583ec24d8e93941a36 [...]
-384    
\\xb3af86df55ba5156c00a4ad350afac998e994d7d53f294917984952b312ed299927c54b4b4a5b6de4c27e9822971467abdcb93bb1074fde8e90d459c6c3c477e
     1       0       
\\x000000010000000000800003aab50c0977de9b4c101a1c9d6a4cea44c2007d22236e55b4be4f5c94d0d6317381a7fd02fa8f7d85171cf3375b9f6a94f581a2a8ff1ad828fc4e35417fef680456555a2bfd4493a6c0c4a3499030e9552a1fc220c66e0b27524db246c8c21ad59d4b5ade9d1ee620d8b688597e9af3abcdb35988b0e878bb2d9807148caa8a7d010001
       \\xff1bcf971bc4c087239fa55f12861dc18607031e694b72d535757f139b2 [...]
-385    
\\xb3ef859797c8a66fdd3436e175b9ce0b8e1c05ca5450949c2039a6ee6406e491d80d95252f3054e6ebf5b0ed1b43ed4946dae49fad05d499c8ca2ecb3068a3b6
     1       0       
\\x000000010000000000800003d371d11b53f2ad463fb84855faeb6a84a4a075a6ffe4f1848602edd2dfbaa95b21abdd7bf6e94830c3ba8241f11eef88e642c20b4c9e42e2def78852bf30527456a5fe51834a4aeca6aa3592f54a236589f2fbf467e064111ee1bc0d486014d3e8ea462ab5dcea51fb1c0edb25d467ed4d0b483a64cd373d3e4a10e4bf9dba0b010001
       \\xae21cf4d45eee405da4a7bf888fc059a2a77f7181676643298bc92c2777 [...]
-386    
\\xb4e30c9156ef13dec41ba9cad3daa4e6671f254a12846e4a84b5df47ce9d1f12d0c95f14a79965c1c9c01f2321b90e1ce7523ea0334724b5e9df955712c917a9
     1       0       
\\x000000010000000000800003aa5834b2610d0b4c576c41db88cf8831f4509d49d253bd66d1055768a4dfedcc9b63327618a0a5ef63fff93a36901dd704c3ac130420b2e7785782a6abfe4f01342ac6cbd2c2c75d2dec5170b837a6bc9954cdeebaca428b156b2251e0a7d6b5d4ec3f2a6e4563d3925cacf2084cde3682c7e69ca258a96362a30b02ba2597e3010001
       \\xf949fb870490a8418248d2748f8bfd736b404947da672918269b2761fdd [...]
-387    
\\xb7ab71fdb9222d62af8a35d4a151d88d77165adb546ef0234d625742ce1ac818a3b4091b9e9fce467af28e27d0e5c0e2fd0bdfeed3d218c96747773055016d75
     1       0       
\\x000000010000000000800003a8bb5ec8e1794c3cadbe5944d13c95b4cc61e4553d79cf9a441db4a343cd5ead2ff901676fa743be546e9e8b6944721564d299ed74525ff64d0ba2e2ef86693d5179aad4046ff851078668024be0434dc35876ae97fb9e64c0d4a1b2f0496f8d347ed3cf956e79068c9d690d9f621d05b3b350a089b7e3c2b379e8632fbd6fff010001
       \\x32c535cc227cafb16354aa38812ff0c6030e1e086bdf92aec6f0739b916 [...]
-388    
\\xba7f5828ac10adf2a1ef207693aeeb43f7ff3e2133986a1e1b96c781f669a8095a1e088e6a6acb46a00fde3e6369dabc0aad7c50d11b16c77d3d1c8c79b163c4
     1       0       
\\x000000010000000000800003adf44612b16961e2f2bfccbe8c54ddd8a2d5644d426fe435e80872bf8500b08a2128315385530c8717fbd0e88a528a8723a48b94cd34924437514ee36e7593ac06f6aea4f1203a7aecbdb9e9c012b29d9b3ab2164aafc9b699b345707263f66262911173cf0d1ef2a956a51a6883687bcc6b1173f194aa07290d4570ec86e45f010001
       \\x765fd159d9940940b536d13ffa627ca40d0d8fba3ee0fd9293dabffabba [...]
-389    
\\xbdbffa2bbb8e7476723109f2c1253b224c0ab6215485b8466e515521746bdfdf63a2d3093aee3d7930424eddcd95a6f1cce531764b349227ab78ae780dd276ef
     1       0       
\\x000000010000000000800003bf8b1f26732c54ed37ee5d7d339ec2e9c493f1941753d110a8f8e8f03c294f1dd7dec1d1025aa90db4f331e06cda37bffcd3e0425aea13ed6675423c551a37d94bb8ac1bc86c3da0b0f05ff8463d1f61e898d4f1533bfb851653b4cddf2968b958bfdd4c6bb95fb5c0ec08abdbfb51737cf282c17c1f6f3b00320bcec03f4edd010001
       \\xe0ca4551f9595ffe6b4b6284cbc7f3fabe8e25089c6d0d821370010df7b [...]
-390    
\\xc157316d9919a2ce878f689fbc9e36edc28b15e7d273cf235c1d9425fe193fcdb4a242a938762321cdf6e832572e36bfab9cda27f991b20daba3ec852bed42a2
     1       0       
\\x000000010000000000800003c8a0cbf59a4a03c89ac20e286881e8292c053c6c31076e14bd3ba59b42126774d265a2fa274d5d0d6dd0d393725710ef56ba84973dc92b306f149b66cf55ae097dc8270ed3c0167161e8c4f17b178753e32a570d17bb7b9841fbba40df467e692b47c0cb3d06761b905f1a9ba8dba247c345ed17ecf6bf5b94a825d900c9331d010001
       \\xf22f785bf5c8385441fd9844f8a30099e66a731b312b18dccb6a1b532e2 [...]
-391    
\\xc113f8b17a734b79558ca7f10a72bae98889c6139fda806342cb8a5484fd3fa9167e4cc3627d44f54211847aaca0bf414027ff28d843a4b3e87e06cc8952a169
     1       0       
\\x000000010000000000800003ae944366efc56f0077989338da616b11d0d75d8b1cbed8929f4a3f8868d76ae03593197030414b51cd332bf029395853fb3095633493902a47914af19c86f497cdc8f691de1add817582bfbc80a9b1cf4cf47a8c7ceea963498fa70c96f84dfde694f80975d1d1f5a1670bdb47c7dd06ea42b5ad2fe995e164b274060a1df13b010001
       \\xa18e6715b6bae777ae1cbe4ec8f097087a41d9cfd48ef626bd6fbeb17de [...]
-392    
\\xc2eb1cb80f44390c898cf80ada3e3523b5e4d28c2f21fbc9d525f45ed5bddf80caac6abc6a4bd2dc2d75c2dec012b23e8dfd354fd35775c70dcf58ded5a7e3f7
     1       0       
\\x000000010000000000800003df524974ffb20937e0673db6415acca015d9726e86d5f7b7add5e12b5f8330afec78449d14b28ce6e46e6307b1d875ed458896a4724fdc9b0fde1732deba0d7b7abdf4ba704b52d7896eba536bac3f14e73b2b7c108eb5a673bafd251e2a9aac55969c5443dfd819b91922c9c6f17228e64e7f2aa82ca39b8b34a0032f2d0445010001
       \\xea0f751d1c5ae4145b4b190a44b6c1682ac3b5f6d069ea5967dc4ba5537 [...]
-393    
\\xc56bdd81cfe56043a3d6e32c6c012acbd4ee2318f8df55f2e783efa1d679e074821f6215807982e25f6a28c827b9ab5f1dca4e207810854ab3663f9412342404
     1       0       
\\x000000010000000000800003cc6460e01cbe5d7abd7ac9be42c3cf946d96f1c6add77ec05e0b086bf900e1e1b15aa288d82871e2c17b046a593680e9b03525f589b0e46410657703bcca7a5173d4d7b8a44b1b81edb14b97b6c11e2e73f491530270fae766cf2ff47e1ee1f1933ffe0888b02c880d8a1b2fd2201ca055a0563eff75d681c3aa327313cdda6b010001
       \\xc103456c2b09ae6ae5c1e4b7b87587a6173d4db0ce4977bafea15982271 [...]
-394    
\\xc6c3f337dbd34255cdfb0190bbb74cbc91781a0724a4291a741fd0fd31192832394ffacfeda32c065b19ee0de0a4375f2a9174dc0d2794faeb9c389a5823a0a7
     1       0       
\\x000000010000000000800003cfd094dc2b6fb7fd929ef6335962ff05646282a3d53f972d9f7494a07db789dcdb7668fe90a5a2ab57c5daff6a15dcf6df35c29abf72de92e6d941af1f640188444d96cfbe22b3b8a6cbc105d0df242af5a1c7e5e45bbb15605ad5ef3b2dca5e426c0bb3853fb27410493a17b2fddbb603ca1b2f45e7e3bafd85c275aa51a429010001
       \\xdce95a50cc853d8249b7ea2767f4612d59e3d84739f7aa95f19838d5c7f [...]
-395    
\\xc9db6814520c028bb27df5f129e06aae22f71928d7991bb7809c27ad8a6349a06e25ec1381841af7cb5b000d6a15fa8b5eee4a9981fb1ac55ce9c8c648b375af
     1       0       
\\x000000010000000000800003c9aad0fef22b826ddd7ada4335d4bc9bc7745a4e27ff651a6b913400bf360a35c33db23dd3f8809132d01a6e8f843ca6f2d48d420214290e9dd338f4bac99dee92c9ea4e44f60ac28afbe2615709a1fbe2cf1042dc071a5f467031e6bd2eb94c1b4b33d882a3f4baf8d21dbb9571ea7fae9ef4a86b33306417dc9e4ed2103033010001
       \\xf297c28a425a29ba8a87bd79c0ffd7a5d1618633552a3001bdd787aa08a [...]
-396    
\\xca4fd6174c63e4e64dde563a10969ead6e5005a26bf83dae1d352d4287eff225fb847ed0a38c4fb7e992bbdec86c8720087a37ba3142962babef98ff5b633650
     1       0       
\\x000000010000000000800003a35810e8be692fd341dd5d47d4bad036e1ff7b6e335be8f6377cb70e2d76ecde2b75bd6c9478cf8bb0ab73f469b3e9f44ed68a1c9693e9189e44e7985884a1de6b8d4b53f44fffc43db70e5edcbc521e60325debd87d64c0c8548e85372261510578b91fdba9f36a5e1f8f22328648091a9ca9e73dc5b7ff53569403e15d68bd010001
       \\xcc21d88e2f15963b44da2501182a814020b2e4c690c9dfaa4f3cec0ea70 [...]
-397    
\\xcabf2ad262e81793b5b56ef65b7a61cbe211e322f8033984661e04bfdc7cf2c52db9c2bba312b4ed1353ec9415323e7f010962a0b230b9117bcd544ddd9e8199
     1       0       
\\x000000010000000000800003b118481e158f4e1d37f9c1798c7dda842ad185bcc7a06d18ab2ed152a9f5b2cfb70049798216e0d1d7a3fe955de76b6903aa5d5df5b7837b69bb49520d83b5291ec4ff7b3fb88804739019421aa577e5a318bf541bf4707817a25d2037a6953c86c80dce5a72464d3c7c3a2ced6d533ef210f67677921ef073d6f682f8de0929010001
       \\x75ef0d9511df4d2087df0fcc6a9d3092ea206f8299990a089390b2e5c06 [...]
-398    
\\xcb1f04be0d06577541e4434295907e3088bca5e696a3deb89f11620bc38cba30741b942a988f1451a93c052fdcde1dfbfa46a4ccb790b2e9f4af1ffe4a60160e
     1       0       
\\x000000010000000000800003e8a9439bd5cb6ef9904cda73b3400979e4789c70c4f62fdb51b0d8b2c77093dd6785123616dd72c47c0ca854df4be9f4861d529547383143f38e7938d08e94135f9b7c8159c2d5ae72236cb3d17e43bd79510f577384eac54b3f3a4a2498a7bbf582892484e80614f90359c8d81e9a79d57434d8152f55ba0792e74442b92709010001
       \\x27a5305dda49cafff6fd159b2d06ffad83bb584ea21f5697bbece9626da [...]
-399    
\\xd65f4073edaa5b43666a95e05a5eca90411f83a7ebd4834a1f5c866774e776ec45fd9607d51201c9b336f1c7c19992640601ffd1379a86a57b15963f7cf05bf0
     1       0       
\\x000000010000000000800003b3e6060a30e267c90ca5dd82c25091bc2feba0b6a6501fa0e69dfeaa2a7a441d65bf9947ceb5d4f0a6ef824d7e26405b2e04d3de63dc043080cacdc6d3631a2a46095a19a278bfb8dd2fbad5f4cccd7aa61c923342f3cff2b6982d18e1d63b8871dc5a15358fad0cbcaa9f2481532ac984cc60ea10ad8078e70296e0a6f4d471010001
       \\xcb79b9e517e902d75569a130d053bb3c3d8cbbff4b0b5eaa1468925afd9 [...]
-400    
\\xd71b96cfdb7f2c0d00069603794218cdc0b11a064edddf62a9ddbd15f3db01aa0b55cc51c3b7d533ae25963cee4fb3c52bdabddd51aae016d5eaf5bdbe9eba5c
     1       0       
\\x000000010000000000800003d0612e8fb827d38d54c42cb5812aba1c77ea9e9db7bc7e18c6d392299ffd70302f04c591a50c84064a748789d8f8c9521622e2e21cea99982b21eaad38e4008f626832c798bf3fdb98604ccd2ff11ed799be8544f98d713f253eddf2414f66427d612a40b07a8ef8a139495cc00e1d76fe7705b5d639ee6fe43c86892623b7a7010001
       \\x189aa6bc547bc7b307cbeccd6a30eb53da89cefb14e99135af4aff24083 [...]
-401    
\\xda1be67a6e5c52325b72000e7fc5d159b3839f0a18988704c1ce1be9dd49fb23981152d2ac8d0922fefa31794102dd9d2c8fafbd09f78226177ab1851803ad6f
     1       0       
\\x000000010000000000800003ab89ed05676b9eb95e2a83e7d64cf12bc9adad2522028802f09a9c78029c1ab11e45d4de38cfc6080d63caf55d6878dd23ee95dd84d0ca2004faa2940906804b09ef31bac87e2d2ad61a1b8ad5ae242811c9a6ba340994d8c782727444a96eca08baff9afd4f33477b0f02c3825306641738ec207091d5c562f748344262265b010001
       \\xc467f977f5dd42d497bdbb00fa7f599a9bda948a4cb374d5006be4e9385 [...]
-402    
\\xdca310778dcff475e224a960615608c37f9a2b8f54756b717905be8a9fd7c378e9fa34b69cb843267ea1d7b3db836a94bee42a77e1043a60a96e4e7255c59aba
     1       0       
\\x000000010000000000800003f796ca07fe7ba6c34b29fb19c0c6f77bc5f4b00378e7b1fd32b0722a6ba64255635fe0e90ad63aa38ae66c062f95d8d1ba62507cdd818dd4cfc938dd2ae2b4d04607deee4a3bbb3bf25e525b91d2ef64a98749bcca9f89308f4517ac4522b62d6295a48d225eaaa70aef8389cdf58cf0af309faf11a136a7f329714fa0e04a01010001
       \\xf5a0d3ef6ab8f3995d0d297c677efddfa181f45dd3a6b1d40cd57d58cd5 [...]
-403    
\\xdd43632c267744ac81e8b9ef029c6e47b4ee695ffd1572686a9569551aa642f8e6d8422937a910ae6b38271f067b76c124c5075691b41189d473520be9e0bbf9
     1       0       
\\x000000010000000000800003a78b395fd30d2428e257f8e20f5d96ee3ad5b089c307c6fd99f1727e4fd1ba07780a325da353e6787201cf09656babb10ac9584b3750c7313e55454df18560ac8abc2abc2b810b5bc84f51330a6b71f3acb5a947c5e589cbe293e22174a0e4d392e58c085cdd40cc14f112919c33736708d93cbe9c05994c5f4d1eb3cdcc1143010001
       \\x24c5c2e53728a138bda3bb7beae5896a2eae1cc8146772f823b41bf8389 [...]
-404    
\\xe3071f24547d35855ede8440fde7d05bc0ab4eb83734a750b2b159f58ac9f9c0c5a0c35b25c46c42d8643e4b014b51f35402c5d556e9465810bda95fc57cc5a6
     1       0       
\\x000000010000000000800003c2a364d54832a76940885856b4d5365f1e0e194e7565c0efb8a557ec1db78428ee60986d5301c29cf77c3db68555ba56560078c6ce7cba291c93d31b3277577669afa28057f653b685187a0364d3b727cca425d5cfdb24e8622bfeed9ac1a5a251955bb5bcda79ab1ba659b7da11a9c7fa653b3ea2e924713928d0eb171d4ed7010001
       \\x1bb86b4d9c06d68b721a6fc30b8af9770f554637b6efceff50f81845811 [...]
-405    
\\xe317f35717d9bfc49787eb40c7cabd409c4431e8f66021f28a1247bfea6b0951e7ab5bf34253926cb079028a9e71c8d8db04f385a7adf6636050b3a56c2dc531
     1       0       
\\x000000010000000000800003cdb0e05a6b30b5d70b920af5c434e3e60122e6ebd3e627c282bbd8f912891e51c30aa0ddca2e6f549ff31607a14004f193f010265e46415eafac638c799ea25eb9bf09c60d25c8f568bd674d162e1e2b2b9cb91b5f03a0d7e5c0b9d6bbe03c039c7dc2801680f3e20359cb54302f5b80b5dfcdd403f9aeb73e81de2ca128d435010001
       \\x18cad548f93e0c6815462037106973650acf86c7d96726f238a2d556246 [...]
-406    
\\xe47b7cb7ddafa82f545a25bde64232ef2751ac084c0828548fe5a3e5856caca5e90d7818964041f1276781c262cabf4e7ec58dff47c8ac36ac6882122022a334
     1       0       
\\x000000010000000000800003e3b98daa01b52bc5d342b340caecee404f7b2c04e9106336e2dd1ce07d243b1bc979ae2fd7734058630fcce58982e9bc96fc6b3ee4da9ee2cd3cbcd74c8f7196073695f0e1646638eafa783cdee939f836e0a13e1076fc029ce47104751e5ede39d1b95a318f25001caff50cc788647a2c56058ccac99de52a67f1a5642e57fd010001
       \\xbdf18b9c77ac5b9ea0682c64189e41ba919efd6ecdc08d35aa0c1b37e22 [...]
-407    
\\xe41b7ead4c186b50fa78602a9462194514b5947c83841582ea0aaf22a3532381d544059fee9128b93242076e5b42c7d05162a8638db298ea133b21aa632ee274
     1       0       
\\x000000010000000000800003dea1e88d56f203fcfa1a2a88425e0da1688f52317536478e1980a8aeea74f435c663b2a98084a55feb2369f062a59804c7a55bf4d07bc105136894abbf9856f3027d9809d61f6d85c67db775f4289bacb0e7322098f8fecfbb773c90d82cdfdcc84d91a9818fddcbb7105ce75f401cbf6ebd58d976b369774665728d07f5f995010001
       \\x3cea61abedc877e27d9b2a1e9143c050d5f18515f2f554005419327d658 [...]
-408    
\\xe8e713ad8edad8046df31d675387ce76d59bf35f8f2922cb900907d09263b6a9ea41d2afe2ff9847b02f25177994661840710323ccca18eccfc48e24c468cd85
     1       0       
\\x000000010000000000800003b7b4ac14dc22ab6ae06ac748ab3fcd8fa2a95689a20f21b735d984a7ccf9de06001414a62e356d706ad15f88aff5a5a7ed37c47f18ead307f7f00559627192da102a16d5cba9fe59984abda43eadbd0ea48661ae7ef92b5a38e67fc5665b8457c20038b47eb792e7e2efdf8494c540ad3a11fa409cac56d5f62d9951241a09df010001
       \\x605eeb0d8a9b1b1c904702a5f434bc8c747055c029c9eb909ac3d370fec [...]
-409    
\\xe907b50285f1ffbbf42cc3d48646f660f25091f5db842a48d3d92deb332fe1a047d66fe18c0540ef8d06c9637d992e1b8f3b5afd9f7b093ca9ffc84c72972b32
     1       0       
\\x000000010000000000800003c19da293549a07895d638efac147269907990d397599675352fefc56f21857d4788aa55b4d5702a1dec2aca774eeec79a9100536139f841738eff7bfbed6dcf98f05df7ec6f98738a8d09a9556eb911f323d7696731c8a9e7dc8a7acf4302d16b78404cb66f38d1b3245db8942fdb60cb0666144516d607f9e5db709de2e8edb010001
       \\x89faa312fd18952fc7011e4d61fbb161bb3cd6e19f34936d2dffa4c8a9c [...]
-410    
\\xeaf764731f1cf22cc027571ad91b244ce24577bb20f435966d80d70494bbcf261db4568cdcd3af6a71562f8ed5742d466d78fd5ac60e1a8743c04a04f50d1aa3
     1       0       
\\x000000010000000000800003d4f3f0960caba5d0cd8c3c35f0c2c13a5599bf12df27975f658661f29ba6185e85e22c51f305fc8de0c16ad00611f5f515910c90d60e2a3f9e2f26956e46eea6c44b35ca86bb0bdd53c3d66475e70f97eb7bfd2ef5bff3db78f7ca7b52ad67177242f4ff17f864f8013ca842af856246c3a947274994fd44ecb9c4aca4fb8455010001
       \\x7185ce8e019b12889a39335459dbc7e23b5e84427560007cac9049b5a2a [...]
-411    
\\xec8b2abd06630c9333bb5684ac954c0a884b18126c7ae0fb258721189076e33bf9451d1565172321c43ae0881c1c4fae5d9f9d38cd0c01aa43ca91997316b8bc
     1       0       
\\x000000010000000000800003d498a3d5efa41b3b2ca4552eeb96ea09511f4cb8394342c20abda7db9b78dc68fdbe163ff5ab65b6543c72d3e447600fbb09edb6d68396b343d5da067ceffcd2e55f4733b5f0e441ac993346d884cf8f53235de47a1902c4701738ab4b4a018abd8d37069281d76d6ed70317bdf1f2b52ad1a015bf290a787af8467b6996eaa9010001
       \\xcd964dd656920da8ae5f432b892ea587adacbe6b8e4930bc51477edf340 [...]
-412    
\\xed0f74b4a76d2f48f20333d267120e1ce378189d5153be4373621bd61d6677c2fb9dba2fbf40935f74d81f9fbd494d28a9f19c2f8f32367e62e9272f8cc9e3c9
     1       0       
\\x000000010000000000800003b709f284e354233d487df7a9615cfef4ea491f52c35e4a9a2dcc49b96942f27eb1894dd62796cf61481bf0586ac6d91e7a8b0c50278a7f16cca633650288398ea088a62282ca20ba12cc0276983162b3d2c876896f3f74e6ef690b96c2fe4f926e5c241e2e7d5443bd7f8a6bc2d12e705ae9cd62cc08e2fc5e0d26e2f1c8edd9010001
       \\x031dee484bf4f8d58ebde6c1d9349e181d7eefe3499c57b83c6413718f1 [...]
-413    
\\xeefb940cc5515afcb8a76bcb0238888c7179321641170952d7babc3ea96fd762de6ed1a4b62e444531bb8604199a56a1e36b97f3eb557face8f96790abdea0b1
     1       0       
\\x000000010000000000800003abae4e94d3cef8b821c30855dc754811d02c83211cc08ccb0574325dff435e369709d2ea83392e6abf82be07118dad9a882ffef401ffb86902738b4a3d37d448cb6c3765011e68f7f7a48f4c446d7205b415b91c611378d600c7cc12629b7636f9c3f115af58d5ba7df9ae02932305a15674975a63195b5f016df11dd3e2677d010001
       \\x2efbcb2d1a6b6f8b93d3a11f979bbd824e24347e82bc1db1711f1bcccf4 [...]
-414    
\\xef8fa3e48332c7bf4aa9f13ddf8e4c11b712ec6858535ac2817eced70be31b76d6b9aeb8c5ca09db3f699e19cfd67b57cbcdcb727ec8052b4b0b8e0add4b7ac5
     1       0       
\\x000000010000000000800003afe2d87e60f8a7cc4a8d3d0d3ac3da1cff71fc7f0cdd62f5312b31a74a6c1422fdbf0d337e479238cb70ede72627eb5b98adcbed0fb61aeaf1dd468f8cc655a679e572ccb2855b2f808c7d8f7a5d8597d44f95f0427b907aebb72e5beb676d89ae367af192c5ddf8e9db94617c70a4866a5d171587bb7cecf9e404f902945695010001
       \\xb9fa7bc7be2ce2c4c7c8f93842adf0a3a7202928ae8a51da3b27b1a3619 [...]
-415    
\\xf1130d5405aef6e118196148aed8b97f04a6ddf5a575378e2252e55d47c2a09d188eb188cfc736cf75058d1cc4b0d1a2a3e67a5d76081dccb1e5ddac6de84f88
     1       0       
\\x000000010000000000800003ce8a5bc1f4f2d31a9dab65383233e3e56d4c5c13efa057b99d70f079647ae114d2c34c61000542f508992fb5adb68acf1c0a3d296530c6f1f245401fa3077bbb1895413b0cd2c18036922777c26a427e7989cd34b3274e710dd64ecac1ff5913420745a93b26928bc642739be77aa8ba5fda88fd120f3fd00d30aad35e78bb99010001
       \\x0c49eb0caf527477e9baf026716d57912ac8bb6e9509a33d88260e21b35 [...]
-416    
\\xf197bd0f9dd3e4d9623abcd9c9c1cc9fc122556bedc41ae08da74d751c5db0a4c09029ce14ffa7cd9d08168e7190fcda9a8a7d330ec1c908bd8d127629785816
     1       0       
\\x000000010000000000800003d6cea21e5bee50e886c14a3a89bf180d1cb2ea450803cd7053aae361288ba690a450dbb5347a4a569c50ed272dab8924c08614a7cfbae81564c5bb1aafe30e8a44c8effd84691bb4a288a417706a5fd788a210b64bbc10458d6cf069d2b5d2399569dc584755fcfd99ad62180b57a22e6e70831b15cda376c44396f77fda23d7010001
       \\xa6d6b794003c17bc316b97c43340e35f8e052d693d69879c96cbe0d6340 [...]
-417    
\\xf103a3acc67ee08d1bb0445c21926ebb8c06ee774d8a6522772ea80b27ab8d917109e16da134b74734128f18f0f37f042ae9522529917b6f12811d81dfc09656
     1       0       
\\x000000010000000000800003b50f2bb02fbb9166350ad2cfa3bd3bfc130375ca5192155f05cb97055a7a096faf13707d5c6bbd4969ce33819cbb59a67f9ad1dee8f7b51732578227784d02d28af66514d9de77b9e7aa711df8241a5e7ecd6df5d749475eeeea75cc15277800788fb99dd8300cf4896904cd9dc5b8ddd1d3960022d9ca9cbaa6f25f37f73eb3010001
       \\x7e1d4be83935c9a2e12c7dd913e75043ddb7f99cf2120ab8e96da97581f [...]
-418    
\\xf34f0dbcb2d80cd2b639a0fca62e937c43355cb3fc6204a901e3863a90fa88e7a91b40dbf158f48c5e860cd7f1ab8bf4105afdbf498b6e2e12d8aa01e1503caa
     1       0       
\\x000000010000000000800003d3114e393add238d6cfd8e28af1db3908b4149cf549f12f6cd6fc22e901514febd1a9b81c964723069940a33e68e34deb2c1104ce6530ea91a0b1fced44918bc89cff64946615cc4c56fd9dd004130f666123e47c404f2b2bc78026b437dab753fb90ab78d923197a2d607f19e0683ad886ba02e73daf33e6f58039e633c2c41010001
       \\x89bb29becd1f3747b6f8531de09577931c0c3d4e37a9180e8049bfaffbc [...]
-419    
\\xf3c3ca97fef3db06864b81dbe97a7f3fd64e6becf137d911d4f8f0beeb2e82bbfca8c4c900490ea593f63875b7f84b75cdc69dc17e551ff2b652bdb85dd61d45
     1       0       
\\x000000010000000000800003dd07a7b42c688985bca39bdfa171e9d9c0a0f47e66d09e067f837972d6292664122bb67c3961bd70bf4ebd87c6adc06573fef9edf57ce013df4d092f9e8bb3b47c8af670005fd97bcb77da79ad5c3f0c3d135923d101aec187a6abcf1e152bd156550ebdf6c17908918f0decd9975a6ea8a8043a60aefe1ab7ecb4165774d10d010001
       \\x77ce9212747c4a2a621675ba7abf44f56d893246d35805693e4c79d2615 [...]
-420    
\\xf62301a0f8bb6e58833ec455509e117fd7f1a853b976d34f6c0068b0864f17df10e66eb01f519cd125e75da3d82bc687a3cb9fa37f7e3b266f20dd02dc50d741
     1       0       
\\x000000010000000000800003ca27dbc66b4b36b62c8ef0a8a0321970459f65eac494ad858f52bd0483a48b58560876e29a13c35518af530108d3c42896966e723b6783ac19ec35e21a389cc3590db8c9fe8073acf3f4012126dd2216ef6c9163605320c2fb5f816035dc1d842d87c5d5a5f496fa40fd4348288e9817c76b7e6bb001f32fec6ace5069922247010001
       \\xc0f551c6a3cbb8aec82799ced4703a6834493264b639a6139b1cc3e5a0a [...]
-421    
\\xfa9b2642d5bb288268d0292eb4bac842bde971d62978a3bc9cb3df05b3c0ece1654cc3c285cdeedb1baac563740f6ba5fe795dce460c0b904f81e62341587c7e
     1       0       
\\x000000010000000000800003c006693d9d9d91f97889821373aecc49b16c3b68af86d952b105cf9b1a8f8cddec86638f7ab5edd0f8d6ec2480f3d6ca19814638168c177b380c14862ecc6f4bf7ad7c9f2c1b977c0fb8016078989adbeabaab96023bc3a359a72a9d6445736cb6950c36c108cd45ea21aad53c91eb593a343efc007de44892ed01d2d0abdfb9010001
       \\x66ebb34e6d30415bc602db03e6a860eb04514bf6ac59b548ff69f12a8af [...]
-422    
\\xfa8f808cea3de2ed08475e719447db17e0bdffbef6c57476f8255a93f273b40cdb86c79377056b0461411317b04a941f6cc3a57a4b4993c8d3772296c2e648fa
     1       0       
\\x000000010000000000800003d583e5ca4104f1d47c1c61907567203f252106c403bef6c830b2a5b6e36bfbf4d240b7a346b8f84d594795bd57e56fadbdafb793695bc01b6042e05bebde45f6cf371656af2fcbf372db694f37380dcadbd0e95af873b7be8ebedc0d971453b262cc0dcebf872d095019e906bd7c74ceaff8a8063f4b373bb09116324d1f75b7010001
       \\x02d27f45d003fa8658258eb30f85272a3029ce76135dd882c4894089af7 [...]
-423    
\\xfb7fe989bc764c57dea1010bfbbc6088d5143f60761a63b772e46ba7d3afebfbd2c3896d2fa86bdf22e8e4b78dcab36fd161db456e6217676a9af22ee41fdb21
     1       0       
\\x000000010000000000800003e244500770a499f598ea8c41066becd35afadc8f597fe5fd49a92b629c47331d3ed2cdfffc988eb0771fc9a42871fe24f584168e68b57eda6db2631c0f2d2f990a6cced4dc76d40a17c4b9248ce463704ffec709c062f67acb6688261520aca6a7592b9d0c6bf1e67c3277d30ad493efe03eeb974137dbeba1e42f494150cfc7010001
       \\x45c3cb30049aee67b67d3c2952471c963df68f7ceca770340583ed89c20 [...]
-424    
\\xff6383b8ecf9d487195b195e9b0e28f61c9b183c3d905f2d653deb6899c79b2270689b2def088586097e2b59d6a52c5db7f0f1bd68fbdeec1db495bcd62a96f6
     1       0       
\\x000000010000000000800003db43ac3574e40c51ce543808216ede011031f3fe820ce81c65de7895fc1c2deb225f90a5f8c66eaf33fe42ff32df00f5c6761c69d32fc47abea8deb435304a01ec7fa51354f574786e854f74e6a7592c4952e19977b4fb0820ae2526c90d5bf1b4c320339f6620de8022bfe89e92c421c7a818fa15c10bf36d309dff921d2a9d010001
       \\xee48f223dfba7579c0b547bad3608559bd3bd9d0de7fe4bb6af623e30c8 [...]
-\.
-
-
---
--- Data for Name: deposit_confirmations; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.deposit_confirmations (master_pub, serial_id, h_contract_terms, 
h_extensions, h_wire, exchange_timestamp, refund_deadline, wire_deadline, 
amount_without_fee_val, amount_without_fee_frac, coin_pub, merchant_pub, 
exchange_sig, exchange_pub, master_sig) FROM stdin;
-\\xa61cd803bede7a4c5bd951a55bfd23b09ad5c08578e86c2ffdc6489a025add48    1       
\\x446d924ac3616f31c181ecfec6a3d6967a813dd128d58345c2081213684988fa3df4a7f2a607ec38a63c074eb880b1c2c48870a70d4baa39a25cf3a0dd277402
     
\\x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
     
\\x3e551a82672c154fd6890b5e98616a2357edf78351e51d163ac5974648e335ed5e772c7fa9019835bd667fd6e7e77602e9c048db589e7cf5919e8dd9c6f864de
     1655640588000000        165564148 [...]
-\\xa61cd803bede7a4c5bd951a55bfd23b09ad5c08578e86c2ffdc6489a025add48    2       
\\x8777bfd11f12e9e6cc970e4ce3639e53a8e28c95dd71b1252d64f1136e7cf22ae2fe2ef65d9ba1c72a65ddb789a70181592ff5232a92d33378d25837140ad11c
     
\\x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
     
\\x3e551a82672c154fd6890b5e98616a2357edf78351e51d163ac5974648e335ed5e772c7fa9019835bd667fd6e7e77602e9c048db589e7cf5919e8dd9c6f864de
     1656245422000000        165564151 [...]
-\\xa61cd803bede7a4c5bd951a55bfd23b09ad5c08578e86c2ffdc6489a025add48    3       
\\x8777bfd11f12e9e6cc970e4ce3639e53a8e28c95dd71b1252d64f1136e7cf22ae2fe2ef65d9ba1c72a65ddb789a70181592ff5232a92d33378d25837140ad11c
     
\\x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
     
\\x3e551a82672c154fd6890b5e98616a2357edf78351e51d163ac5974648e335ed5e772c7fa9019835bd667fd6e7e77602e9c048db589e7cf5919e8dd9c6f864de
     1656245422000000        165564151 [...]
-\.
-
-
---
--- Data for Name: deposits_by_ready_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.deposits_by_ready_default (wire_deadline, shard, coin_pub, 
deposit_serial_id) FROM stdin;
-1655641486000000       1290768505      
\\xdad90d6dc263d39fcb288d066e4391d92e8f307f934585fc104b4699147e9673     1
-1655641518000000       1290768505      
\\x0a938661f11ca2b6284a512cae4b1a01e5c89e9a5f9cbda49608110ae166639f     2
-1655641518000000       1290768505      
\\x13137681cde0c2f734d8c2865b9666bede70c5630949a936b5da1b8c41baa84b     3
-\.
-
-
---
--- Data for Name: deposits_default; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.deposits_default (deposit_serial_id, shard, coin_pub, 
known_coin_id, amount_with_fee_val, amount_with_fee_frac, wallet_timestamp, 
exchange_timestamp, refund_deadline, wire_deadline, merchant_pub, 
h_contract_terms, coin_sig, wire_salt, wire_target_h_payto, done, 
extension_blocked, extension_details_serial_id) FROM stdin;
-1      1290768505      
\\xdad90d6dc263d39fcb288d066e4391d92e8f307f934585fc104b4699147e9673     2       
1       0       1655640586000000        1655640588000000        
1655641486000000        1655641486000000        
\\xf337883e3a61ec21f25253d1917e3eca4bb0da8ba9a8b190ad0a0c1eac8931e9     
\\x446d924ac3616f31c181ecfec6a3d6967a813dd128d58345c2081213684988fa3df4a7f2a607ec38a63c074eb880b1c2c48870a70d4baa39a25cf3a0dd277402
     
\\x0c56a9369d7efed59f505251f0e4d0618ca9fc5eb84578028d03d9283b3023343a2fc6061180cdac96859edd8986e2f24ef38b2b4a1644b4360777a0b5c5030a
     \\x1d [...]
-2      1290768505      
\\x0a938661f11ca2b6284a512cae4b1a01e5c89e9a5f9cbda49608110ae166639f     13      
0       1000000 1655640618000000        1656245422000000        
1655641518000000        1655641518000000        
\\xf337883e3a61ec21f25253d1917e3eca4bb0da8ba9a8b190ad0a0c1eac8931e9     
\\x8777bfd11f12e9e6cc970e4ce3639e53a8e28c95dd71b1252d64f1136e7cf22ae2fe2ef65d9ba1c72a65ddb789a70181592ff5232a92d33378d25837140ad11c
     
\\xc45a777d798979b639fc7b302d3c7e702b68126235989bc44bc24330e7cfbe1c13058ea2b82147334a54b3638a62d33c94c0003ba4d60f8c266f9c920fb86b0
 [...]
-3      1290768505      
\\x13137681cde0c2f734d8c2865b9666bede70c5630949a936b5da1b8c41baa84b     14      
0       1000000 1655640618000000        1656245422000000        
1655641518000000        1655641518000000        
\\xf337883e3a61ec21f25253d1917e3eca4bb0da8ba9a8b190ad0a0c1eac8931e9     
\\x8777bfd11f12e9e6cc970e4ce3639e53a8e28c95dd71b1252d64f1136e7cf22ae2fe2ef65d9ba1c72a65ddb789a70181592ff5232a92d33378d25837140ad11c
     
\\xdcd355615d2bd94bf23b0685c05be006001520ac84f7c184fead78b23f67c87eed6218e8ff2aa9608df9792a811e82f8123593ea0dd6391124bc99a68bc8a70
 [...]
-\.
-
-
---
--- Data for Name: deposits_for_matching_default; Type: TABLE DATA; Schema: 
public; Owner: -
---
-
-COPY public.deposits_for_matching_default (refund_deadline, merchant_pub, 
coin_pub, deposit_serial_id) FROM stdin;
-1655641486000000       
\\xf337883e3a61ec21f25253d1917e3eca4bb0da8ba9a8b190ad0a0c1eac8931e9     
\\xdad90d6dc263d39fcb288d066e4391d92e8f307f934585fc104b4699147e9673     1
-1655641518000000       
\\xf337883e3a61ec21f25253d1917e3eca4bb0da8ba9a8b190ad0a0c1eac8931e9     
\\x0a938661f11ca2b6284a512cae4b1a01e5c89e9a5f9cbda49608110ae166639f     2
-1655641518000000       
\\xf337883e3a61ec21f25253d1917e3eca4bb0da8ba9a8b190ad0a0c1eac8931e9     
\\x13137681cde0c2f734d8c2865b9666bede70c5630949a936b5da1b8c41baa84b     3
-\.
-
-
---
--- Data for Name: django_content_type; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.django_content_type (id, app_label, model) FROM stdin;
-1      auth    permission
-2      auth    group
-3      auth    user
-4      contenttypes    contenttype
-5      sessions        session
-6      app     bankaccount
-7      app     talerwithdrawoperation
-8      app     banktransaction
-\.
-
-
---
--- Data for Name: django_migrations; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.django_migrations (id, app, name, applied) FROM stdin;
-1      contenttypes    0001_initial    2022-06-19 14:09:17.867501+02
-2      auth    0001_initial    2022-06-19 14:09:17.99087+02
-3      app     0001_initial    2022-06-19 14:09:18.084734+02
-4      contenttypes    0002_remove_content_type_name   2022-06-19 
14:09:18.103148+02
-5      auth    0002_alter_permission_name_max_length   2022-06-19 
14:09:18.115787+02
-6      auth    0003_alter_user_email_max_length        2022-06-19 
14:09:18.128539+02
-7      auth    0004_alter_user_username_opts   2022-06-19 14:09:18.138399+02
-8      auth    0005_alter_user_last_login_null 2022-06-19 14:09:18.149173+02
-9      auth    0006_require_contenttypes_0002  2022-06-19 14:09:18.152537+02
-10     auth    0007_alter_validators_add_error_messages        2022-06-19 
14:09:18.162986+02
-11     auth    0008_alter_user_username_max_length     2022-06-19 
14:09:18.1794+02
-12     auth    0009_alter_user_last_name_max_length    2022-06-19 
14:09:18.189932+02
-13     auth    0010_alter_group_name_max_length        2022-06-19 
14:09:18.20326+02
-14     auth    0011_update_proxy_permissions   2022-06-19 14:09:18.216478+02
-15     auth    0012_alter_user_first_name_max_length   2022-06-19 
14:09:18.226724+02
-16     sessions        0001_initial    2022-06-19 14:09:18.249227+02
-\.
-
-
---
--- Data for Name: django_session; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.django_session (session_key, session_data, expire_date) FROM stdin;
-\.
-
-
---
--- Data for Name: exchange_sign_keys; Type: TABLE DATA; Schema: public; Owner: 
-
---
-
-COPY public.exchange_sign_keys (esk_serial, exchange_pub, master_sig, 
valid_from, expire_sign, expire_legal) FROM stdin;
-1      \\x2323cacce95f64054a17a6b27f0c46c75a67511e2586b8be6bcc0f16d5b74a2b     
\\x1f77e6009d721c0307ed72dec032c0f14e13e78e404c8ac061e4446bfd934d728786ee20de096fd34943b55c4bab98d3dd059077a957c5c7a688b1d9632df705
     1684669757000000        1691927357000000        1694346557000000
-2      \\x44628fe1b23ee69049e56354b0a9415248520c51fb6a8da3cde42f930315977e     
\\x1d27d7c1ed4300027e2de3b89dfb64e666ed7a5cfb23bebcdaa1b36c214afcd0885d47cf4dd6b9f71d269f4b4348d321ab5dcc0854c98725a7a3ebb78a979d0b
     1662897857000000        1670155457000000        1672574657000000
-3      \\x85c532e0499b11517a10665c66301831599632bbd934c51a829365d590a774a7     
\\xafe3bd45c87ddaa6ea471d5a66a3a038269230ff0904d959a862bc7e0b45644d06e95ae4229fb5270d8b4c065ea45ba63a29d30630094ee1eeddf7ba10709b05
     1655640557000000        1662898157000000        1665317357000000
-4      \\x0fd09e664b38194f365b1b94f10d7b325b7161596b0085faf57dc00a105f422d     
\\xcb54ed7c75669fa6aceb9ed05dda9a555fdf236c5bd032bf097b692591904372645a859f43271c6a61378ce4de478757f0e3670d4cc9ac77fedbe0cfaebe060d
     1670155157000000        1677412757000000        1679831957000000
-5      \\xfb4430a08d5fbfdcb0e978a79515fb750c6671f7db584b80ef6e3e8873ff5979     
\\xce3da1c96fa341c0a683d4e179ff7801e98215f7b9a30700e612b411cc94bea96c7975772b58879fab0d61706f31a3dac09f966f023871057123afe0230b040b
     1677412457000000        1684670057000000        1687089257000000
-\.
-
-
---
--- Data for Name: extension_details_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.extension_details_default (extension_details_serial_id, 
extension_options) FROM stdin;
-\.
-
-
---
--- Data for Name: extensions; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.extensions (extension_id, name, config) FROM stdin;
-\.
-
-
---
--- Data for Name: global_fee; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.global_fee (global_fee_serial, start_date, end_date, 
history_fee_val, history_fee_frac, kyc_fee_val, kyc_fee_frac, account_fee_val, 
account_fee_frac, purse_fee_val, purse_fee_frac, purse_timeout, kyc_timeout, 
history_expiration, purse_account_limit, master_sig) FROM stdin;
-1      1640995200000000        1672531200000000        0       1000000 0       
1000000 0       1000000 0       1000000 3600000000      3600000000      
31536000000000  5       
\\xaaa6cbb8eab49ce0e7403fc736614adeff5f331b251ae9d3a0f0a4ca59fe8d648a4fc3c2cfd7caa14ae1f098a903f0f5c0df5673ca69ac90cab144d2ef484501
-\.
-
-
---
--- Data for Name: history_requests_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.history_requests_default (history_request_serial_id, reserve_pub, 
request_timestamp, reserve_sig, history_fee_val, history_fee_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: known_coins_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.known_coins_default (known_coin_id, denominations_serial, 
coin_pub, age_commitment_hash, denom_sig, remaining_val, remaining_frac) FROM 
stdin;
-1      57      
\\xeb4a542d360b0d828e00756683f933203da76ac6ceca96d65c71a7cb99cd47a8     
\\x0000000000000000000000000000000000000000000000000000000000000000     
\\x00000001000000003680373aa69cddf2c313a189c8745ee5b3384df4bb4f629c6a794feecc1696a41225343da6d42bf072adb766e707dc5bcccb4fef45b43989adc0a2fc84743b5e32ffb59b58dd20b0a595426a07eaf4fbb6f05d143033d4a5b69bebad3ed25e9823d5cf2c62e3c17cde0dd803e562c2e4152aa6b35ef79374d7a8dbd5cc4d4ae3
     0       0
-2      113     
\\xdad90d6dc263d39fcb288d066e4391d92e8f307f934585fc104b4699147e9673     
\\x0000000000000000000000000000000000000000000000000000000000000000     
\\x00000001000000008dff217bac8235f49321bdb37c46dc3126b77ecfad5e51dc19f0af0671999baa71846e1574a27a260fec3f75a8413cd099f5a0d1fb368b409ed4385fc1d15f9be32d229ae0e888f85d7f283ba2b3dd270f66f8781e08af124d34240d3ac4e48d16828ab6dea0d7424913680be92010664caa4f32e2f20cf538dc1aa093db62cd
     0       0
-11     293     
\\xdfbdb7f4eeb2063c34d4eb4c120ce4f22e62586c7a4ee2d037462021ee7fff0e     
\\x0000000000000000000000000000000000000000000000000000000000000000     
\\x00000001000000009e548151758f039cc14439dbcde6b0fed605c7bd21bf4a66bfca15903e96d03d79f70a3f01c9a626de91a71e0164f26cb3b99253b84a0d34b9bb0287df699dcd1cde7b55dedb6974b8afd412a06bb8f5d78fbe1a37abc5443b5215ced5e0d33eba47e589a3ff0f64b339febb13067abbd5d82e0a3ecb412781f64b2ad55c2838
     0       0
-4      293     
\\x216e1ceff6791b0853c76f6574feb33457e465d94fad2e3fa5dafecd357f159e     
\\x0000000000000000000000000000000000000000000000000000000000000000     
\\x00000001000000002e83c90060ed93c83040770efe26331d73fd532cba874188181f5bf0ea167aaea33953ed83f3e848633b13f1d9ddcb78a2620e41b02c365a3fc9ebc34841c8472fd96e4bb0403807e30c8b07b6e3f36c530234435422f1a7f94d9e80caebf3fe7b81290df8f9c5baba3ef3fff2ba543090c2df1ebce607e2a24fca52b9667f4b
     0       0
-5      293     
\\x8e85a27e630bb9f33a419d5422b03c7f500b36e11887bb3d0fd1080e8ead7366     
\\x0000000000000000000000000000000000000000000000000000000000000000     
\\x00000001000000003173aa8ab44d38d4f508de4f8a06b46224f78aff14153371c9e3cd4a2f6b2f8139721031d0001ea54cf88d4bfbde940cd50bf08b5fae279506d020a6466866ad472e695acff63b09ab27cec01db5ee1c68d22d213b6188765eb3f9d71ac475f9f81445a8f1dae0ac89928d39e3fa3f7420e23bdfaeab358892f64167c3326362
     0       0
-3      333     
\\x42f9ca46570da62fa188ad50b68e620766b311011d21e3f267d043bf93ea5f2e     
\\x0000000000000000000000000000000000000000000000000000000000000000     
\\x00000001000000009d1a3a38654457722967e58280ef17a912c1f71b1461da3ae4b6ed692f67a303195b7006111d5b10625555748966fa3185975a1ac6a46b979d0a62348e2661af422aae901e00b9511cbb115aaca0b23846ddd374a3fe2ef9d76605a5e1957f4551ec1369bba2bbc42492da1bcd2d470480454b822e1eb1dbfbd95eef9de67576
     0       1000000
-6      293     
\\x8066b8abc93de0c8bcc9b6d5fa45657a6bd0cb51277df2a47e7cd73985177304     
\\x0000000000000000000000000000000000000000000000000000000000000000     
\\x0000000100000000bb9fd8cff28210891133e72a53be54fdd6e365fd00d34e285b2707cdf644e1d2082e21f3dc71205263930b1e26054bed566ee20cf42a2ecf1702c1e6ec6ee6e09babe79bb8d3cdcb3ff8a13a91daa19a6d1024096e81c488b062120937cde0f8b68efdc92f08d9bd7b4057e58a1a872915204678fb1039dd0a6525233752adc4
     0       0
-7      293     
\\x56986e5ebcc14aad7895e3ac7ca5e8946305b938770685c00b1098ddb64dec12     
\\x0000000000000000000000000000000000000000000000000000000000000000     
\\x00000001000000000dc7cee7d915780f7638c4432e92d3d69e215c4afebc5952982927f5df8aeecb55443f01613e3a55714b759dbee7faca5229acd453b6d3dc0c5b83afbf654da756a08bff2ac883b0c919ea58f660642862b7e2554bbf955b8a16cd36e21e4551a6c912a87e9efe61830f54160fc2a37177624dd50c4432a879ee09d05ad1f69a
     0       0
-13     240     
\\x0a938661f11ca2b6284a512cae4b1a01e5c89e9a5f9cbda49608110ae166639f     
\\x0000000000000000000000000000000000000000000000000000000000000000     
\\x00000001000000006b5ee4344f29438ce1a2ba5f42f8341fbec25943d8541a666728fd5b2c297498514c5f6621f5422394d477f1024d2cc887653212dd83b5943b223bd8d9e2ec88d2894af4b36882be94bae11adc0991c0e8b21870a11bf80cb9ec24d7cfbf3d998be36d568213a86a2535d1025a0f34250f667b70269d9a1383f6f181bb35118d
     0       0
-8      293     
\\xde1b7e0ec87550a7bd3780784a5c258ab86e5c7763a481055ba556cc4fd58a41     
\\x0000000000000000000000000000000000000000000000000000000000000000     
\\x000000010000000027cc6732164f250dba06d13e1f38ac4ba65c3bf0461480e1a03d957e9dfa3518275e9f403f5a0daa1cf5b47152c095875c3f3e29e689cdfe346ea276c2219bb7665b79e96378e45408df69d56ed01ad129a746e3bb8d17f9c8b640fcb3081d824a40b635f4310e1145224719cfca8cafc47192d467c40027ff366ad7075fdf50
     0       0
-9      293     
\\x4cac6c8dc22cb26fb6097366c1cc5c4b56fa1680b282e911c7f668b7f70996f6     
\\x0000000000000000000000000000000000000000000000000000000000000000     
\\x0000000100000000c9164e5a372455a3a67ebcb51c8fd3f77bf54c9f22f75da608f44e29e2a14f6055c45abf1158fe4ddbe8cba461171afb40585595d09100319ffd2cac74fc84f5114808f06f5b73abfeb5dc464059cc0310c0c1b37d5a0562b967f6df2073215b1262373f193f8686fc48d3b46843fe7b8aac26dcde175938f9e036a92854410f
     0       0
-14     240     
\\x13137681cde0c2f734d8c2865b9666bede70c5630949a936b5da1b8c41baa84b     
\\x0000000000000000000000000000000000000000000000000000000000000000     
\\x00000001000000005ceee14188040c64f3b3819e519470088ec7df999a0b765d4c131f0f4cd18d7aa3029ac00650010b2cd74d11bf2c511e2ecaf17ab0b3f7144a05576105d14e720ba0a707ace4dd0ac3838b0da024cf277d21607b200da8c4f86966ef8f46f1a6ff71267ac557dc80c0afafaca103e2eb86f1455b014b68d77a82e73315724d24
     0       0
-10     293     
\\xb6fe1e53f197e8dc3a67059e04f28009f8e490ad46b82c4f09c36b38a74bbcc1     
\\x0000000000000000000000000000000000000000000000000000000000000000     
\\x00000001000000006557265383718d29d688c9cc3fe5fec6551699a6ad4380008dadbfff9147bb275403610fd67a328157627ab6b2c94bd589a1ef31ebb95fada5194d7c701ce029ec03a147705e57c5aef74cfd5c8ee86e7e546d2857948a9529f5fe827573e2f6f421b3013cb11e718b999aa98189658386405e626d2426d8e4870a2060291ab0
     0       0
-\.
-
-
---
--- Data for Name: merchant_accounts; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.merchant_accounts (account_serial, merchant_serial, h_wire, salt, 
payto_uri, active) FROM stdin;
-1      1       
\\x3e551a82672c154fd6890b5e98616a2357edf78351e51d163ac5974648e335ed5e772c7fa9019835bd667fd6e7e77602e9c048db589e7cf5919e8dd9c6f864de
     \\x1d58b2abc9ad337262b6c683dc44e809     payto://x-taler-bank/localhost/43  
     t
-\.
-
-
---
--- Data for Name: merchant_contract_terms; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.merchant_contract_terms (order_serial, merchant_serial, order_id, 
contract_terms, h_contract_terms, creation_time, pay_deadline, refund_deadline, 
paid, wired, fulfillment_url, session_id, claim_token) FROM stdin;
-1      1       2022.170-00R0ZXV0JY3QP  
\\x7b22616d6f756e74223a22544553544b55444f533a31222c2273756d6d617279223a22666f6f222c2266756c66696c6c6d656e745f75726c223a2274616c65723a2f2f66756c66696c6c6d656e742d737563636573732f7468616e6b2b796f75222c22726566756e645f646561646c696e65223a7b22745f73223a313635353634313438367d2c22776972655f7472616e736665725f646561646c696e65223a7b22745f73223a313635353634313438367d2c2270726f6475637473223a5b5d2c22685f77697265223a22375341484e304b373547414d5a4e4d39314446394752424134444259
 [...]
-2      1       2022.170-03WD45ZSFFMRP  
\\x7b22616d6f756e74223a22544553544b55444f533a302e3032222c2273756d6d617279223a22626172222c2266756c66696c6c6d656e745f75726c223a2274616c65723a2f2f66756c66696c6c6d656e742d737563636573732f7468616e6b2b796f75222c22726566756e645f646561646c696e65223a7b22745f73223a313635353634313531387d2c22776972655f7472616e736665725f646561646c696e65223a7b22745f73223a313635353634313531387d2c2270726f6475637473223a5b5d2c22685f77697265223a22375341484e304b373547414d5a4e4d39314446394752424134
 [...]
-\.
-
-
---
--- Data for Name: merchant_deposit_to_transfer; Type: TABLE DATA; Schema: 
public; Owner: -
---
-
-COPY public.merchant_deposit_to_transfer (deposit_serial, 
coin_contribution_value_val, coin_contribution_value_frac, credit_serial, 
execution_time, signkey_serial, exchange_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_deposits; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.merchant_deposits (deposit_serial, order_serial, 
deposit_timestamp, coin_pub, exchange_url, amount_with_fee_val, 
amount_with_fee_frac, deposit_fee_val, deposit_fee_frac, refund_fee_val, 
refund_fee_frac, wire_fee_val, wire_fee_frac, signkey_serial, exchange_sig, 
account_serial) FROM stdin;
-1      1       1655640588000000        
\\xdad90d6dc263d39fcb288d066e4391d92e8f307f934585fc104b4699147e9673     
http://localhost:8081/  1       0       0       2000000 0       1000000 0       
1000000 3       
\\xf7a324cd130124c6426a996c3e7aec64f5e03cadffdd2ac03ce329b97d097d1eaff6cefefecc7ca28070d07dc630d9b926a3c7cccbc705e52365bab63b29bd06
     1
-2      2       1656245422000000        
\\x0a938661f11ca2b6284a512cae4b1a01e5c89e9a5f9cbda49608110ae166639f     
http://localhost:8081/  0       1000000 0       1000000 0       1000000 0       
1000000 3       
\\x336f89de26b436c0cbb26d657d7fc2eee0562e74378e85c1eb16bbc61afebabb3694fa64415bbaa00f7f4805ccc7bbd151b01cf0731ac59853f9d9c6de93cf00
     1
-3      2       1656245422000000        
\\x13137681cde0c2f734d8c2865b9666bede70c5630949a936b5da1b8c41baa84b     
http://localhost:8081/  0       1000000 0       1000000 0       1000000 0       
1000000 3       
\\x5a3e7839f76886498ed6a79645603a9d84d29827aa64f761c22f599ed26d65b2feb7186cee916026da6b52f67163f19b3b6e55b36f3eea6686b2e13226e8c409
     1
-\.
-
-
---
--- Data for Name: merchant_exchange_signing_keys; Type: TABLE DATA; Schema: 
public; Owner: -
---
-
-COPY public.merchant_exchange_signing_keys (signkey_serial, master_pub, 
exchange_pub, start_date, expire_date, end_date, master_sig) FROM stdin;
-1      \\xa61cd803bede7a4c5bd951a55bfd23b09ad5c08578e86c2ffdc6489a025add48     
\\x2323cacce95f64054a17a6b27f0c46c75a67511e2586b8be6bcc0f16d5b74a2b     
1684669757000000        1691927357000000        1694346557000000        
\\x1f77e6009d721c0307ed72dec032c0f14e13e78e404c8ac061e4446bfd934d728786ee20de096fd34943b55c4bab98d3dd059077a957c5c7a688b1d9632df705
-2      \\xa61cd803bede7a4c5bd951a55bfd23b09ad5c08578e86c2ffdc6489a025add48     
\\x44628fe1b23ee69049e56354b0a9415248520c51fb6a8da3cde42f930315977e     
1662897857000000        1670155457000000        1672574657000000        
\\x1d27d7c1ed4300027e2de3b89dfb64e666ed7a5cfb23bebcdaa1b36c214afcd0885d47cf4dd6b9f71d269f4b4348d321ab5dcc0854c98725a7a3ebb78a979d0b
-3      \\xa61cd803bede7a4c5bd951a55bfd23b09ad5c08578e86c2ffdc6489a025add48     
\\x85c532e0499b11517a10665c66301831599632bbd934c51a829365d590a774a7     
1655640557000000        1662898157000000        1665317357000000        
\\xafe3bd45c87ddaa6ea471d5a66a3a038269230ff0904d959a862bc7e0b45644d06e95ae4229fb5270d8b4c065ea45ba63a29d30630094ee1eeddf7ba10709b05
-4      \\xa61cd803bede7a4c5bd951a55bfd23b09ad5c08578e86c2ffdc6489a025add48     
\\x0fd09e664b38194f365b1b94f10d7b325b7161596b0085faf57dc00a105f422d     
1670155157000000        1677412757000000        1679831957000000        
\\xcb54ed7c75669fa6aceb9ed05dda9a555fdf236c5bd032bf097b692591904372645a859f43271c6a61378ce4de478757f0e3670d4cc9ac77fedbe0cfaebe060d
-5      \\xa61cd803bede7a4c5bd951a55bfd23b09ad5c08578e86c2ffdc6489a025add48     
\\xfb4430a08d5fbfdcb0e978a79515fb750c6671f7db584b80ef6e3e8873ff5979     
1677412457000000        1684670057000000        1687089257000000        
\\xce3da1c96fa341c0a683d4e179ff7801e98215f7b9a30700e612b411cc94bea96c7975772b58879fab0d61706f31a3dac09f966f023871057123afe0230b040b
-\.
-
-
---
--- Data for Name: merchant_exchange_wire_fees; Type: TABLE DATA; Schema: 
public; Owner: -
---
-
-COPY public.merchant_exchange_wire_fees (wirefee_serial, master_pub, 
h_wire_method, start_date, end_date, wire_fee_val, wire_fee_frac, 
closing_fee_val, closing_fee_frac, wad_fee_val, wad_fee_frac, master_sig) FROM 
stdin;
-1      \\xa61cd803bede7a4c5bd951a55bfd23b09ad5c08578e86c2ffdc6489a025add48     
\\xf9099467bd884e86871559a62a7f23b6e876bf084a30371891b5129ce4440d3cbe27afe387d39b2ce8d9625abd388517c81bfc8da9f2e0f8c9471bff65a802b2
     1640995200000000        1672531200000000        0       1000000 0       
1000000 0       1000000 
\\x2cc20db7f38de122d90c286fe3954a28cd9d942dd6d849a80838d71c1be3f5ce1325a61fd7b576f139a4ca72b2407922e0dc87cda6e48b58be95c3a77e95be0b
-\.
-
-
---
--- Data for Name: merchant_instances; Type: TABLE DATA; Schema: public; Owner: 
-
---
-
-COPY public.merchant_instances (merchant_serial, merchant_pub, auth_hash, 
auth_salt, merchant_id, merchant_name, address, jurisdiction, 
default_max_deposit_fee_val, default_max_deposit_fee_frac, 
default_max_wire_fee_val, default_max_wire_fee_frac, 
default_wire_fee_amortization, default_wire_transfer_delay, default_pay_delay, 
website, email, logo) FROM stdin;
-1      \\xf337883e3a61ec21f25253d1917e3eca4bb0da8ba9a8b190ad0a0c1eac8931e9     
\\x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
     \\x0000000000000000000000000000000000000000000000000000000000000000     
default default \\x7b7d \\x7b7d 1       0       1       0       1       
3600000000      3600000000      \N      \N      \N
-\.
-
-
---
--- Data for Name: merchant_inventory; Type: TABLE DATA; Schema: public; Owner: 
-
---
-
-COPY public.merchant_inventory (product_serial, merchant_serial, product_id, 
description, description_i18n, unit, image, taxes, price_val, price_frac, 
total_stock, total_sold, total_lost, address, next_restock, minimum_age) FROM 
stdin;
-\.
-
-
---
--- Data for Name: merchant_inventory_locks; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.merchant_inventory_locks (product_serial, lock_uuid, total_locked, 
expiration) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_keys; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.merchant_keys (merchant_priv, merchant_serial) FROM stdin;
-\\xa922384f62eb331b9b0f2567e4144a77be94542afcb80f374a2297a543d63e99    1
-\.
-
-
---
--- Data for Name: merchant_kyc; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.merchant_kyc (kyc_serial_id, kyc_timestamp, kyc_ok, exchange_sig, 
exchange_pub, exchange_kyc_serial, account_serial, exchange_url) FROM stdin;
-1      1655640588000000        f       \N      \N      2       1       
http://localhost:8081/
-\.
-
-
---
--- Data for Name: merchant_order_locks; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.merchant_order_locks (product_serial, total_locked, order_serial) 
FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_orders; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.merchant_orders (order_serial, merchant_serial, order_id, 
claim_token, h_post_data, pay_deadline, creation_time, contract_terms) FROM 
stdin;
-\.
-
-
---
--- Data for Name: merchant_refund_proofs; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.merchant_refund_proofs (refund_serial, exchange_sig, 
signkey_serial) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_refunds; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.merchant_refunds (refund_serial, order_serial, rtransaction_id, 
refund_timestamp, coin_pub, reason, refund_amount_val, refund_amount_frac) FROM 
stdin;
-\.
-
-
---
--- Data for Name: merchant_tip_pickup_signatures; Type: TABLE DATA; Schema: 
public; Owner: -
---
-
-COPY public.merchant_tip_pickup_signatures (pickup_serial, coin_offset, 
blind_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_tip_pickups; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.merchant_tip_pickups (pickup_serial, tip_serial, pickup_id, 
amount_val, amount_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_tip_reserve_keys; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.merchant_tip_reserve_keys (reserve_serial, reserve_priv, 
exchange_url, payto_uri) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_tip_reserves; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.merchant_tip_reserves (reserve_serial, reserve_pub, 
merchant_serial, creation_time, expiration, merchant_initial_balance_val, 
merchant_initial_balance_frac, exchange_initial_balance_val, 
exchange_initial_balance_frac, tips_committed_val, tips_committed_frac, 
tips_picked_up_val, tips_picked_up_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_tips; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.merchant_tips (tip_serial, reserve_serial, tip_id, justification, 
next_url, expiration, amount_val, amount_frac, picked_up_val, picked_up_frac, 
was_picked_up) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_transfer_signatures; Type: TABLE DATA; Schema: 
public; Owner: -
---
-
-COPY public.merchant_transfer_signatures (credit_serial, signkey_serial, 
wire_fee_val, wire_fee_frac, credit_amount_val, credit_amount_frac, 
execution_time, exchange_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_transfer_to_coin; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.merchant_transfer_to_coin (deposit_serial, credit_serial, 
offset_in_exchange_list, exchange_deposit_value_val, 
exchange_deposit_value_frac, exchange_deposit_fee_val, 
exchange_deposit_fee_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: merchant_transfers; Type: TABLE DATA; Schema: public; Owner: 
-
---
-
-COPY public.merchant_transfers (credit_serial, exchange_url, wtid, 
credit_amount_val, credit_amount_frac, account_serial, verified, confirmed) 
FROM stdin;
-\.
-
-
---
--- Data for Name: partner_accounts; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.partner_accounts (payto_uri, partner_serial_id, 
partner_master_sig, last_seen) FROM stdin;
-\.
-
-
---
--- Data for Name: partners; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.partners (partner_serial_id, partner_master_pub, start_date, 
end_date, next_wad, wad_frequency, wad_fee_val, wad_fee_frac, master_sig, 
partner_base_url) FROM stdin;
-\.
-
-
---
--- Data for Name: prewire_default; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.prewire_default (prewire_uuid, wire_method, finished, failed, buf) 
FROM stdin;
-\.
-
-
---
--- Data for Name: purse_actions; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.purse_actions (purse_pub, action_date, partner_serial_id) FROM 
stdin;
-\.
-
-
---
--- Data for Name: purse_deposits_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.purse_deposits_default (purse_deposit_serial_id, 
partner_serial_id, purse_pub, coin_pub, amount_with_fee_val, 
amount_with_fee_frac, coin_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: purse_merges_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.purse_merges_default (purse_merge_request_serial_id, 
partner_serial_id, reserve_pub, purse_pub, merge_sig, merge_timestamp) FROM 
stdin;
-\.
-
-
---
--- Data for Name: purse_refunds_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.purse_refunds_default (purse_refunds_serial_id, purse_pub) FROM 
stdin;
-\.
-
-
---
--- Data for Name: purse_requests_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.purse_requests_default (purse_requests_serial_id, purse_pub, 
merge_pub, purse_creation, purse_expiration, h_contract_terms, age_limit, 
flags, refunded, finished, in_reserve_quota, amount_with_fee_val, 
amount_with_fee_frac, purse_fee_val, purse_fee_frac, balance_val, balance_frac, 
purse_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: recoup_by_reserve_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.recoup_by_reserve_default (reserve_out_serial_id, coin_pub) FROM 
stdin;
-2      \\xeb4a542d360b0d828e00756683f933203da76ac6ceca96d65c71a7cb99cd47a8
-\.
-
-
---
--- Data for Name: recoup_default; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.recoup_default (recoup_uuid, coin_pub, coin_sig, coin_blind, 
amount_val, amount_frac, recoup_timestamp, reserve_out_serial_id) FROM stdin;
-1      \\xeb4a542d360b0d828e00756683f933203da76ac6ceca96d65c71a7cb99cd47a8     
\\x2521b2624377d34720dc6b7cf246eee9fea257dc3c5566018f3497c0787fd1abadfc41c2d5e345c9e43f2821f0957f9f495887f5b27f46560bc571e22584a309
     \\x65aecb66245101c2f805c3f9b5d9d1ad09e0070cb87c25b248a28f43f50a02f3     2  
     0       1655640584000000        2
-\.
-
-
---
--- Data for Name: recoup_refresh_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.recoup_refresh_default (recoup_refresh_uuid, coin_pub, 
known_coin_id, coin_sig, coin_blind, amount_val, amount_frac, recoup_timestamp, 
rrc_serial) FROM stdin;
-1      \\x216e1ceff6791b0853c76f6574feb33457e465d94fad2e3fa5dafecd357f159e     
4       
\\xf517e00abbd57c646f62eeb630c204269d6908791180a0d4123e52272de58140055e305abf912bad557369ca785a48fec2342de74e2d898b41ceb5e05726de03
     \\x1a555715db8f096f2279a4dcb8e32b8a470975c8eab7d6d9dbf650cdaaa8cc57     0  
     10000000        1656245408000000        2
-2      \\x8e85a27e630bb9f33a419d5422b03c7f500b36e11887bb3d0fd1080e8ead7366     
5       
\\x9a86a85fbdd0c0696d4545425f1515494b44acee9f592313f61109c608c55ca4488da012f9039ec2913b69735df95c81f99d43bf73de97fa54e3d88c37c4050f
     \\x175189bff5a66b6c427dd35c7b5972a08e1801222558354b8afb1ac2c429988d     0  
     10000000        1656245408000000        6
-3      \\x8066b8abc93de0c8bcc9b6d5fa45657a6bd0cb51277df2a47e7cd73985177304     
6       
\\x90f8f00273023b1001f2be74b99afc1a1868a515d210ff3a6b418a4251261c24d5888d166c00fa74d04a22d712c039fb5c04df465a663d20f0831dc96e97ba0f
     \\x7444d17531cc85ac7519faca8a9c509867860be6a909da0157a4e0a77e35fd93     0  
     10000000        1656245408000000        9
-4      \\x56986e5ebcc14aad7895e3ac7ca5e8946305b938770685c00b1098ddb64dec12     
7       
\\x71580af5b7b43f1f93e07ce7c3ef71f529507edb0466d7e06205d81a84da54eefee40ea7746328ffa78128a326c1574f95fa6dcf6e446d1bb137f9652e17270d
     \\x9f45ee93397e518ffecc6d193d71127662516ca246097f217707a9d563f456d0     0  
     10000000        1656245408000000        8
-5      \\xde1b7e0ec87550a7bd3780784a5c258ab86e5c7763a481055ba556cc4fd58a41     
8       
\\x8e9b8c1c3709d1ebec240056e63711fd449e9b1c94d8dd051afbbf54801220c2233afe95b39329d0ac2cfa9a61e77073466a9cd280ba1d74f503c5fe92e81208
     \\x48b5c8e5d4ec038a64ea3c7efd4cd8ec266275a220f8b1c615d0c1d5d1919ada     0  
     10000000        1656245408000000        5
-6      \\x4cac6c8dc22cb26fb6097366c1cc5c4b56fa1680b282e911c7f668b7f70996f6     
9       
\\x385b50f47ddf8737eb099a9e811bd21e64f6c9a465e4af59a66732c3cbd6d26f0b00e28fbd645bdd069d21f70857f1191e42def4d587883872c9d9ce82507e0d
     \\x1f4deb49bb037a23681b5346fc1097d2bfd9c605cf5e48f4703e8a342fda57fa     0  
     10000000        1656245408000000        7
-7      \\xb6fe1e53f197e8dc3a67059e04f28009f8e490ad46b82c4f09c36b38a74bbcc1     
10      
\\x7e3fc256c073712033744677476e5cfee9d0fea9255edce2dc162fc9841b8307a0ba0f163e9e1fe172b6b2fa011ce30ce110586a4d3d1a0bd292fed553c31d01
     \\x1f71992140e6281c003c6edc99ce9cf5f9b37050f6769ded3adde3adadd92d5a     0  
     10000000        1656245408000000        4
-8      \\xdfbdb7f4eeb2063c34d4eb4c120ce4f22e62586c7a4ee2d037462021ee7fff0e     
11      
\\x7bc3498da3e1ff05830bdf12d2540404713941c61a9bc25de62a7a0f7e30ce76d0f2ab07419c49d8273242e21fbe9490ed7fa27f3335129666f6bbdad25f7102
     \\xa66876c3986f9bf4a46bd248594af960d8b9e80c1154a0b9536c1ee8bb2332aa     0  
     10000000        1656245408000000        3
-\.
-
-
---
--- Data for Name: refresh_commitments_default; Type: TABLE DATA; Schema: 
public; Owner: -
---
-
-COPY public.refresh_commitments_default (melt_serial_id, rc, old_coin_pub, 
old_coin_sig, amount_with_fee_val, amount_with_fee_frac, noreveal_index) FROM 
stdin;
-1      
\\xa68fc56f73ead457a1dd1debd09bd04e45271d4eba3af281c1c911efbf971efd289b07934b46d6e0d5945345692c2b44870ecbfa896b548d17b65e1722b4ff89
     \\x42f9ca46570da62fa188ad50b68e620766b311011d21e3f267d043bf93ea5f2e     
\\x7e9ab139da5f3f97f19700a9e755f5ba2d82c56937bcf738cd62c34b09ca95ee39289131edd495822d051027eb06f311284aba08e7ab27b0c27abd64d62ea309
     5       0       1
-2      
\\xee546e2d4877e7c9b83fc1c79a92cf5e9734cf2a6b9af0903c10b6fc9bb5036742583662c4dc7654eec77b6582ee75002bba4ac5177ebc329ccf6946f72a20ce
     \\x42f9ca46570da62fa188ad50b68e620766b311011d21e3f267d043bf93ea5f2e     
\\xc1d35e6f45f2ac62b79dfcbabe0e1f2f6ebf1a24855a67ba422097ff93e120bd31119cdb334df56832d72cf8b82abb1afc6e6ef8cbb9fbd8079c039f4f3fac07
     0       79000000        2
-\.
-
-
---
--- Data for Name: refresh_revealed_coins_default; Type: TABLE DATA; Schema: 
public; Owner: -
---
-
-COPY public.refresh_revealed_coins_default (rrc_serial, melt_serial_id, 
freshcoin_index, link_sig, denominations_serial, coin_ev, h_coin_ev, ev_sig, 
ewv) FROM stdin;
-1      1       0       
\\x8d000a1e71479ab24ee4860d24a42ab49976c413881cbe64e9a33c94254c168ded5f8ae61206bd93e91216ab121edaed8480c5bc835c44e87f5eabb0a8c74c05
     331     
\\x0000000100000100c99a00e9495fbb74f8eca72cffffd6797811cc655360f8b58a03e91f49b65c3f98df7190683c9352442ce64a0000293e853fef42257420ea70f5f6f7872e5f9118c35c2f49b5f6ae2bbdb1fc23541b2be1e6d1e0ebbe2d390cad510ef203cb2a2532ebbe8ca69aa0782fcd26607678104e67391d8e9e50dc3fcd5bf4d3684fb5
     \\x8e156c466618ba4c82ad3c22e2abfba299858933109bf2272932b770600ca71eebe6d33 
[...]
-2      1       1       
\\x9d040d892bfa3bbb0031531ce35c8257d2d7e199e5d351dd84eb9858d197b04afc4c9349394cd9e27aa72c9bb30589737aec1e979f11a2c20025091cab53e008
     293     
\\x0000000100000100a7eca7d57442aedeb3d5916074e8bf7f0d33ca4337ddedf36a5bf35e5a596141ddc7884ea2b53f80831348abe821c37c64650b4d722d4b2a87bdefbc266ecf832769c7f58356018849b8ed524b149a0656365b546ae2d47584deb7f59b13c36ea8ad49cb21270ec7086d215e4b48e0715fc760c7a5e750e97124a706ae4d7079
     \\x2d5fd330f683648b11aad89eb4cf84ef228fd62bdef9b9f0ab608e40f3f1e24abd40a82 
[...]
-3      1       2       
\\x6fbf0031c9d9107eebe4688fcd16092ef1dbbda2b5b8c94da50e5f3d170e8992c0510d8e48a55492ea9d61d5bc06f84b62355f54cba40fc2b2d9dadfc884390b
     293     
\\x00000001000001000b3afba4146abfc2ed9c3b42b3cd3970434a44dc055e5feb71d06beedd2307382f500f07b9244775c8b15e4610ac73039b7f490b015ed31b9162401a85c4a2a0f8c4b052bf62070c2000a9f726c32b367b1bb567038aa31598ec1cb2cbf5198b2f35c03866c73b2b40a2a3dc71942ef6c8b61ddf7cd14b78a07649123e2a0f5d
     \\x66a4e5aeb4ce29b77f8ad3070d715d2a3145d5d45cff5aa33ba354445b89d9dd91df9b0 
[...]
-4      1       3       
\\x39977b5188e8c53d0c072b12e9fcf99c6213d679af3adcf515a71ced437b0da755429aaca7c67f39948f0ced12f8a0cf9bb4cfd0488f9f1611a85187cb6dc708
     293     
\\x0000000100000100b52f534e7d04034afa7f04536517cad00d62046c3148b368777603e08ad532b14eabe498f09ccaa7293202cfc5819bd7b8b2d40871b424ca33cf63a05de4d06ed6235a9907221c711e75471d43ac2dcd1cb709b7091cccbb6a3e30358d10e374bf797d250d32717e7eb6cd8ac389268be7923cca4dabe497065b57c9f83c3225
     \\x459f849bd9713cf137ffb08f1fbdac20d23a727f198709ce3a657d997a2009a3038289b 
[...]
-5      1       4       
\\x66ae107464dc9a5c1a3a876222252936699a84543e46be953f159247412151b85f5dd998b497eae318a71e27f335989ea5ab4d7203008095371c0f95fa43f30b
     293     
\\x00000001000001006f63c1b5a04a9db813b772eb5678d03015a23c987b75ce6b2aab96ce850e55bbed5c0886da73a578bf51db031a04e80440a4d6955fa38cba5fa1ba4391fb6d3ae6e396a3cb0906bb75d79b6e3ebd9b29ea87605c534303bf6ed4a2e89fc3f17df551e061ba8dc3867838821a7f5ae48eb1fdcd9b7c6d3b90f2c06d0a324da38b
     \\xea05a4cf4120e8839e16facc5b2ba4df324de04c4a0715810fd4b1e5cd30f4a66922b14 
[...]
-6      1       5       
\\xf27353945ca6512ea37158b178475d7635af5017c34e2c85cb7f8969bc8db254dbd549a6dfae09c7d672ca202991ed750c06a9cac153601f3391dc0659dea108
     293     
\\x0000000100000100496e165e69525a7357850b6644ed404b8caad436eb5b6c7645ca66649af2f6388e1eaa9cedb0dfe790e1dbbc1305f051be0a315a342cf934299f375c9c962bb0610d0262e9cc4a201ed4f8598e8be9b4edd9a090b2d9f03929bd4626c5c4af651e4ef81226a02533425eda352b421846db20d24715136231cf0cdd2f5e398320
     \\xb2a483fdc559cefe18ee031ae5ccae9b31f5a4813b12160056e24a42825a21702be4769 
[...]
-7      1       6       
\\xe8ae1ea31b9fcb5e7fad242456b436709e370fb8362e7f882561c346ff223b8aa47a2d50ebfc483878ce61e3843d89fa96d2ba78ac067401075485e40e87880f
     293     
\\x00000001000001002208c3807b4974bb08e0d72ab0798383265a92fbd8ba98e1f9e3fcd6b042d663c58e9ec23de0d9b7e449c1093aace937a83a7458772db04f0b1a271fd8d74e15550f18a64f679071f19fbd6265913e1cabc56835da3d1268e039eb414b0eb0292455cd195b9db04c958f972e137c7385bbe1404edea6a45db6c1ae92810177c0
     \\x95fe170ddd36e5af11882811c913b1af0d13439b591c29b3cb7cdae7590477c317f1817 
[...]
-8      1       7       
\\x2140b5db65dda22e9065c2544d1ae5d44745a6d2ddb64b25ffa0072a9e85ebb3bc5a809cce4492f836071dfea4cdae784354810e2f4b57c2fa72e3b8a8945709
     293     
\\x00000001000001007dd245af8af2bfd675b9c3f72435313d59965eec4a188fe04c6c3cfb153949a6ba5ec40ff0370e249922e324532791bb4bb8ffdc52290eeedb99c4e0a985e5be96198ababcc950adfee9d1197ffe2d5bc1db3455d42826fc70d52f03654eee037a54a78bcfd2146b84dab55ad6e56cea00da129be226fea1e2bea4957812a9fb
     \\x88137a60ee794093cfec2c724de1cff5acc7d20d6d81786b5d81defa553abbd0cbf21e7 
[...]
-9      1       8       
\\x94fb44cb63dde84e5836a5f5f164d1c6617dd4a62e0eca717b4b4b72144144c3e3112b275a437965cbc1c603eeb65abac71061d367f104d3104d7d3c0f711b04
     293     
\\x00000001000001007b49d462af6e467c7788d07aa9a79b64ba3553f6342cd122a2f0f5190f83f54f4c0ad301c4812704c422c0d3d6ec64b8e3f20d7870ae54dbd7a3934fc04bd99e72928120f71d3d26eaf831c77e5749aab170e984c0933d9bcc18f4cfbde0475c419f4e2a5951a0e5dd49d41a0f39aba93f2c81adb0d0ac024c815bbbd05e6a5b
     \\xec11952e0735f655db2fe096b038452f5dc129ae86c75efe5ec69e301d2215b2f9f2bee 
[...]
-10     1       9       
\\x830d6902d35fc0c6d7686f8c9db654c9518feefb433146e63b759afac78ff475599c59136e086d8f8b11c292f376dff4b1c4793325d0f3b3ff1f585276c5f90f
     240     
\\x00000001000001000977de9bf0e11eea965657c352a384697b06dc510f45a394bbfcf4cf6d430739587618f49ed7f0122fcb21f0bb43f865d5b82ac89464f40a93264d26a78c046f32675591aa85f2fb1e4f3531e7c3b4e6bcc0a77bab82000d4ac4e20ce69d9734be023f27af7208fd066050bab33dca5bf4d1737370510e8ca0524d73ceec6e44
     \\xc725e375ade1edd8533d9bfb31a83e9a83d6f9f2f60ca2a197a66ea7fc320fa5a9140f 
[...]
-11     1       10      
\\xae3e9f4180da00b1acfd974b4d374cc332becbfd8f46cafa2c0725309f26f6bdb69c3eae736e47d3ea24b22504ecb0bdab191a960e81ac69974c5b8f9563390b
     240     
\\x00000001000001001ae50faaf317fcbd3d2efb9a204e93ba549b4a25ca01d73027cb012d5df690c09a022e9cbcda2646d495d714ad711c8e9fcdc9e949ea5b3146ad9729824eddbc4036fda9780ea0c177a585ae08239e91d8e27f7a4b02bc0164ffaa8282b99d553bbe8ec323f3f5f46ea7851c84b75453ea2eb9409314be5f877018e82888114c
     \\x1c3ab312cbdc241714c089a0572e4669f683ad7dc2b53039cf934c4bc66f5863ee358 
[...]
-12     1       11      
\\x3055b3893d869a9c9f68229b308323f41b65c9466797a57b3a5060e8bf6c21c5144215f65a209968cdab3fd8e09676595aa7a6c63a381aec8a0a5d59c332a507
     240     
\\x0000000100000100accd4c6aaf5c15096abb4758304a3a65955968a61229c146ad64cd84799d9c75069750c6d45158aca44e43247fa2bd51087ca0b059d7a28de72c229f968b76610401e4f57c97abec2760c697a192ecefc984b664a56ddc55c6f7d0a55bb180e8cc1040135013e93ea955d7be8540f7f1f70ed5a0d15d325ab8d079102cc53163
     \\x5c3f9a08ed3ccc80422b252abcb6b1de1c6b4daadf243e31258e94f0634eb0e4f30a7 
[...]
-13     2       0       
\\xb8d874e91e4f67546556d853cdbd331d3e9cdf03f5b442f6c16a9fb1f215c36fe07cff2c8373a41df3ceb0a9b3f76016319355772e5af6119340736a855ab90c
     240     
\\x000000010000010079999f55c460e2c6125f327f5c0a66736eab5ea247c11df4a1d70d7207ec2dcc392b5144ce8a939d8b0c0df1fa1624cf773341be62d56374ffcdd84c8133a8dff847bd2d9f3256c64aec1150653b9b6186577e36c33ce1ade38215904ad4b16aecf14d772aa85f34bfcd41131c11d5610a12675e0db1cd7a75ac6a1f907a7263
     \\x389c13c678b8c36af10907ed7d3501b267a8243654ffaa36926e3a50db8f06274157d9 
[...]
-14     2       1       
\\x9647e8abbc21dc09a54f088a0e4bd0423a62ad419d6f91d8fae5a469b7bbdf494169ac5e7b2be012fd35da48b2540e5712a60d69939abb0205aabaeb624c9407
     240     
\\x000000010000010034bb038039517434715d6c8e59bbcadbc2fa1e6311857edf0e98beb13e95d9a7b1bdb8dfef42d43247b2d9c12906d1c94f14526b210dac7d2b4380e445d8b9805946bfe95bef95d2ce816b8db44799e98b8bdf0902eca3c6de7cdaa3533c220df81f38ac31ea37eb9ed22fb232a8f28d7a0581779adaad33dbf75a9eec6c7600
     \\x3c7dbbe835036f1274316da639a64cc5d580f5346d8cd5bac2ba212ed1b842543194a7 
[...]
-15     2       2       
\\xde24132f01fdc91a7f575ce4317796f65327f277bbcf76e8da37060685fc0a6f644109c1ea6978e2df6902e638e46f7066e8d08d523b9c9ff0d823eae7b13e07
     240     
\\x00000001000001004d02823b5c55cf64962baa608f1e6009162a952207492c37f0b4541f62489f9e03fec6fbf1b2e5a94e7d33a9057a9590e715b02aa419d6bfda896e8e444a7ff69155798390d652a8aaece61ee71a640e1ea8e4975b9bfcc28aff1cf5f2b4f720ede9814788ff91c0d296d804f32dc3711c29371dc163811af432cd567b4a58d8
     \\x5b59d96d051d9bc892c354c3e00a5f54360accf78c61d048a6251e669137db69fa1e36 
[...]
-16     2       3       
\\x063cfd01a7db812ac76b8879419a6cf86f4b1c1a05445741cfda0787d75736d9584ed3023f5b8c16827b25a2b8077c75795a5ae909b85e373c4087dc31eb400f
     240     
\\x0000000100000100184c1b6e2c0192a409fc4b31acbe56cc1e7e99588097f2ad074291666280c8bba10e0b1a9d3ca38e91843de171c62ea86054d017c02c45ffb460dbf81ca114c166cc138f6d220afeea5adb782a0855c268ebf0e8617dbc27d94d29aa6f9c3f0c9f44e90ac2e9238fe1910fc93797e3a06e57d782f1bd16049dfc3fdda421ea47
     \\xcac83a06debd6e9dab1c3b01a86de91e68c9270e6ab4dbb419d2994346ce43d8b92762 
[...]
-17     2       4       
\\xa61269f01cac69ab24eea8b9dfc15da93949a845b7cde6d0d0f5100632af3b64e87fae7983e8ee42d68897f43bb2ef21e32b8173b81374bb055a1e41e2d56202
     240     
\\x000000010000010096ac673322d45d9488b6a13be402b715bb5de09c203a3cca3b18dfa9bc154c5120f8c267aba3adde232d3b20b3b284611a5427db9b6b14954c18dba7fa5a18b372371aa4131240ef26b267ab4853ae50736dff4d927319b23b50bc8493335b5f6704b9b2f8ab4776cb6ca79ccb194281c545b33d7793b0dbcb9aac1a4e3569f7
     \\x624912ac14636d47af2b20376ea080edccd890db07f17b403735acaaa05b014d7ecf26 
[...]
-18     2       5       
\\x353d9386481c8e230283c2b3ca91160034d0c97236958c86d7773cd38706d7419b66665bd79e08cb47afd6f4fe5c99d3d71729d62c2359dc7aa92630377d7e05
     240     
\\x00000001000001002dacd9dc3c9b5f902a9aba4b8c1e11e4bfee4a77c87c605d55ba0921b727e56ea64056a9275773585d05f63d8c44a4476bf561d3f7a65ddedd9e2e8876b941c73c6293978eab84bd165ce804e59132654df2c123cce7e0e88f95527f9c5c32ffe3442305827724e0565a336fb44a988f84444f81ec390ce5293fab7ae5a92c9e
     \\x8a84454c54f6bce03b35608ae2e67f26d56399e299547a924357be470ba2788ead1639 
[...]
-19     2       6       
\\xac7003d5b76c0676c416e7d8b43bf36b6be8882d00d0231346ed72d22a8a40fa95244d9bb6d1d3fd94ee1c4fb4c904b559ae25497bb0545220c03de8c43e5904
     240     
\\x0000000100000100202cf06e6cf63e0c2dea402082c06a9b24364bf72915d5bd0443540e1a8da5526b65a10c89944d160eec261f8d6bf1766e2d321176f6cda071b6de3f8b9518e9bffec1ab79ca2a859f95f81fcf2a698b80a75dca1b68caae31a9fa4b06a939dd6f4e0e88c914908dacde76d0de4d69df36427a6ce9a0ad303fb3940913b9c209
     \\xd5ea8c5f1984cc7ec2019769355bf6a24016e443fa982d4bf938f3eea3c4b23e7dbd72 
[...]
-20     2       7       
\\x1a1b505bf0c7fcf649198debd888d1dd33b0ab93526c65d5f7528d96d1c7d0342e00ec1c4bca71a2857f81492ba0a01b4b395fa07f37a04032bc6cdd57fe5c0a
     240     
\\x0000000100000100991645cfbf79e76a04ccd9020619cf9673bedf96d57f93eca8c6b03b70039694975096d08d9d11cb9a2fa3dc4ec84c06288c436ac37eb5fc3dc6dee7d0d7a76967cbbdca8753406553b9230fcf4229dcc1d20366a9fa0b6dc25da6722f5a36ea5632573dbd2a7331219d2f7016f65c3bea2ea0ab8036f3b58ec74962ea7e3d80
     \\x71a188f14ea9b2534aa5df1acebcde004d10addcf347bcda755b2d5dbe034be83e0404 
[...]
-21     2       8       
\\xd00539124c8bc9dccfbd5206b67d2403e42f91a9bc53e6fa63e729c9621d6bd172a6bb947f88e935a869f0de934a38c49bc1800adad768cd64c9b2b355b8aa0e
     240     
\\x000000010000010054ff190bdfc0689538567561bda3c096588402c61ee7e428c0678d675bfab54c107908069c730f731ef19a2c1dc7f3b5bfd9ec9cf88f5625312a3d961ff5b1534f1f6c2254297d3bdbdc8d25f0de137954c87cbd1535eb782504c1444f6d0cf563705f38ba04d3a822c31b16fb5d65247411fd5d4577e449421ea7d8f87bc182
     \\x7d2dbd9af656d3f34450fc2a7e4d17e1986d10d4da47bc72ba912eb56b04004f9fc2d4 
[...]
-22     2       9       
\\xc1f6a10be4dc6f4644859b3e336b281f65d2bbbc1ab7e578b8726e121005fd5fb1957789b72f8094cbeea888030259e551f548b4267c2965a4eb446cd1d6310d
     240     
\\x00000001000001005826ebcc5a73ef73fbbaaade2891943a5a7297a7ccef111e84feeb0aafd09788fb99bf6f68fbe92afe9024a3ee6eaab3e19628f9bc94b323a536de75a39ee66daf46f1f71e13551d225390166d4b407959e284c795a9574fc7cc72406dcb1820dcd8f07e40d0794f276e1ca2ef9c74cc534b27e75201b321c2ef76e86bb7d903
     \\xecaff04ff6bc06248ddc748ce0de4e1da799c5dcc13c5a19039820189b7bb450ad3007 
[...]
-23     2       10      
\\x98c5ffbba75ed404169ad411d81f7f246fb757e471f5a94f4d8070e10525ea65f06222830c4fe7c4142e500334adc45afb583dc71a305ddc66e7079d88f39400
     240     
\\x0000000100000100d0751fb83925413df61e30cb0ebe178805ed32bc488a10ada9f7b92164748281599a0fcbdca43ddf79a40967b2ea59dfc4d59c2223b26ad3fa2790403884e4e61c9b5612cba4f5514fffe2875946b0b1b7989051884fef3052eb780ba92325e962f9b5c573d72cf9550eaa97dc3b11cc28fc7644aa00457e1a8cfd6faae3398d
     \\xb69313ae8933d101c0066dfafb342a546849d70b248c7dff5f67a945fc896ac3096ce 
[...]
-24     2       11      
\\x6deb57dcbc4e02234b76a23acae07ba0b058404d3aec9b5c9105c2753fccee9294d3e1694d88f6dd5fdbbda687e42af9fb82ad4b4e603144b5aefccc9041f90e
     240     
\\x000000010000010022388c09c817ce8f5752f3ab0df8cda328f216f104ff23a5a07efd9924c7ac15a3922c4734461199c64994311a5fef3ae7b5defd022c2be17dda680c5ef5796f7d79bc4f402211b4850c1318043a86810f7fbffae6c5a41ac0ce53354253c9cd2e2ebed6fd252bdaa4ee609e90966212bafa24b12fb50e201b9376dfde8cea6f
     \\x35aa4216fa2fcb7f79900111d64e81436ddd039e469ec852df59075b8e8679b1e32fe 
[...]
-25     2       12      
\\xf6bff200656c4eacd83027db2dbf02e39c288e30cc8838e494731f12f18860672d5951cf188374b40954e476cf4854a0289da6339f2dbf7ed152f38b9719ab07
     240     
\\x00000001000001007d15ea68fc7591c55b15e2c77dc2a7a0be516a3a9fd85667693f82631a5a266304c793b4112c797d9f41eab64f37b4fe138da1b03807ced0f8d8173d9efbc5e8a52196f1b88c8e5dbe7b3047927f7553f9b055313642e3971cc6ef61b388f188bb711b22c5c1101e59892693548912fff86e2514b01c466444b7b174a6e8cbd5
     \\x335b2505bf166cde02128c1361fda0e2f7deaa4174fb51c22d73ec7242d96b638bd14 
[...]
-26     2       13      
\\x895f84f9fb92a82604d6e59cc294bc977a952a3d99b29a5a636e02e26e778c32468cf7488dc4215218b5f76ad987354be95cce9c8c0a3e3213190a6cd0d6230a
     240     
\\x000000010000010074f90a2f78d5211fcbb0afa8c842a7c7eabb8099ac30d9123d8595762abb99e267f1d311455363a041e49902d1104118d05b588e03d9105b2acba08a73885209e9fd0ca88a0fd708e0f50ac0e1e460f24adc62bbe297f5690b75e30cba6698cb2314de04e5409b616eed759801edd24eda1cc2b91689af161d55e772a35448
       
\\xca2eff057047fd04fd51304fa7c7e322eefe0a07ea9919ec3a3d2d6074f292d0c7a9b87 [...]
-27     2       14      
\\x7059cb0faa53b5fae7a134147c99a96f94cb7f5d47a4d81a6af22f7d63e672b7c4ef0c1bfdc22d4c706d0f9a8c693a368c7192565239b358e33660092c53fe07
     240     
\\x0000000100000100a47aae6db0e7df27243ae446bbdd1fc5bf9043183ee7a460f3b379048f22b8e76d939b478117f4b5c00617c704fe9248de0ac26308b80599d3047a826b8b3c514e385dbceecb7bbb2c5188755e1210d82eb6ffbfc80b887bbabc2481c08006096229721ce20e6ecfa876b6cadc95d424990e9c25dfbb690804974d32bb7b8c13
     \\x6e4720f6867a7921d86f91471487ad07291a96141a145bd7552885fd602242f8da26e 
[...]
-28     2       15      
\\x46da0db73d44fb34d7fb1c31a509629a409ade43c182fa4ecbe436eb8cfa81e6962c9bfe65d0e33727107be78b0500536e4f48c7725be24ef5bcf388799e7202
     240     
\\x00000001000001005e21226472a0c5f8a8b9231f443313c3bc37a35e3b7d6b088e0edd3437deee43e54df1b7ae51ffccb8f1035b20481918b320b040deef41b8c86560f187910a0be5efd2b126dbb6d01edf0a98073b25935256119a9eee443aa32760bc721105133f1af3a5d93607564c58fe8e74d3e70d05aad05b7ca3c69d962fe832e5af7d6f
     \\xccd0fda3b41154eb9a7a509048ecdce625d09d6192e93af477a76747c20b52da949f2 
[...]
-29     2       16      
\\x442b686e68c8fd6a503bf5e1cf2e4ee2ef017e8a7e5efafecb01b46b116a77a600be6e17333668c16573679fe9d2860ba08479907c34d44fdaed5322716a3205
     240     
\\x000000010000010086b81c643dc48e2428fbd4680b451bf2edb481df96673927f7d1614ecd4d40bb94a799a72ec6b2d00c588f8b67b59e78f1c639c0b82d749c3696d935630714e09f6312881b8638d175d9daf6452fc40bdcb5cf44e724e3e855458db0fc3177d6e9e2607f6f1e2881e4293d70399bffe9c92d67c9951f05ad64f9a917290d062d
     \\x43924f8019f8e384a617b7941e81a23b76dcfc60d2af960ebfd2a60a05a7a9b6615b6 
[...]
-30     2       17      
\\xe707ae6f38cec3b08ae470ebe6d70e105ed080c8e6b1e56e6b0d7e475a82a8d6ceda12141e71dc3c162d30c63f5011388ecad80b103d49489754c46472b1b208
     240     
\\x000000010000010013c9294ef2bfa12884a155c730c082cf00d249ecc2eaed41dbcc50d1d9ded59cc09b4669e74ef725daff850416054bf04f44b41b77aca818878784e2bc43ab61cd81ccf928c9180223759ae893324f1c291c6f3feb4dd17369cf4323c95a65b9dc5c93dc1eaa9f770bbd5786def0c7642b5e80cf1a0db9deb94010e28eb964c7
     \\x711c9f9519ec419ffd1e6b411c26ac69eff151fa1dcf61ebd0041efdfd55fdfb7fba6 
[...]
-31     2       18      
\\x4b4ae75bacf7e398fb523a162060fa5a5e0203919c8b4a280a6ce2432aa74d88f05ebb0ab38e63da2216d8abe9709b0ad9385180c04b5b360e415e475bef1b00
     240     
\\x00000001000001000509532c9eee882b5641be9714cf0381694bb7fbb6d50a29f452f90a046d925ce19a0bee445d55c30f38c8ce21b105416aa2df1387ef0a3706bd8866b4cab646bbe769c86cdf72b09f79f590b6ba6b35d952ec3b1cce3d750e8c4aa8c6d8720ea400de717be389b68c965cb32e60f72e32644870e188d2161f72e2e5138d1433
     \\xa0b67c058203ee8efc5d95eee49ad70650aba05cd6dca629139fcd6dc085785976c15 
[...]
-32     2       19      
\\x1df11660e21aef86396677d18fe9a61c5737b4a1da49ae03df44b8440bcb3254aa7a42f361f9af22b07cc8a70f020fb708f1624d683b97e062bc2c884ec6cc0b
     240     
\\x000000010000010032a1d5712b8f462574dc71f4cf109481381b5d3da57d1d51f4e3534a9d3cb9656a7b3fc141c529d469e3d6ef704fe5fae1ea70105700ea2ebc33841ef6ed7e627aceba5962a9484b69beee627eb1c0fef50b53a6bca2ff03be1dfb4534e1b8927f518323261e5f772ce10f0be733b37e50757621efb826e55f696933fd750e9f
     \\x18fb59fe6511a38f216ce5c66f64794b762244a1511f69caabba2a19bdc723c83789d 
[...]
-33     2       20      
\\x03337f95b20abdaad4aa82fd333c723eaeccbdd9b3d6bb5eeaff513953ac60fbdd585d0f3d74e06823d40e5ab2f43c9d8c18a87257a7551d066484803903d304
     240     
\\x0000000100000100403bb4ee6f9ca5b887391fc51b9c5179563744b0a55e8ec43a2d0babe14de37928988984c2984548560ce95b853c7226cf181fdf30a8557308347bd4806c0ec4894976950d964b6b085b58567874e5491b7948f5deee178f44124e81c1d88d58ac9c2c74b0c25a4960ab6f9e1de6dd8428c17dd6dbe768cb85315f817ac22d26
     \\x20398d7c2bcaca869a788277fb9e877735d2f33046abb2f5d74430b2c1714fcf271ac 
[...]
-34     2       21      
\\xa1060be12e5c96fc651795b8183427703b268b5787bcba8f4d93a8b36cdea09dfff4ea6f5cf0ed691fe5c342325e78aa787137913900c14a07d8f8bf0fab8704
     240     
\\x0000000100000100316d57b97d0c840ed8452a14435a12eb7d597ddfc6fe36413eff08c904ecd52570785dfbec4b56aab92bb2d8f5e997fc28e10cd7d03e566ad8a972267a798431e07dd770c458afc11c1dfc26350cbb1c1769f1bb4ceeceb99738a24ebb9ad70b5d5f02a623367441059c8941c4f287025e52e35bfaaebdb217fe4aeb385a7b94
     \\x79f6b0ffff859edb2f84a6f29ea1a50b68de656e8bcac75cb36aa5c06b6fb0ef31c8f 
[...]
-35     2       22      
\\x6f3c42609544974a50d09f41b92f536228c7f92fa14ffcead2d88efeb011b27de0f8db897601d6ae47852cba2d0386a3f83d513d1f674ca1f27bb106d94ea608
     240     
\\x00000001000001003fa606d1256b2acba34f830de5154c55f6b32103d0e6d67d57c0ff7929220bd7b5fda27cd99fd52089682d4e45c4c9a12607f2ede002ca7ba4b44ef7d071701d9992c04f3fad65dcb5c46ac8712f97f3a033c57eaff842dcfbccc26893bb3a7c1a05c876404e45ab1026ec72123151144e12fdef617eb84fcda4fcb9d99454bd
     \\xca0e8928564123197d99c9cdc497635def689cd2e89543848d89fd699fdb055d9bd5d 
[...]
-36     2       23      
\\xf71c4981e29eb342a779967493cb41c92712738f1a9cc7d9ddb123943b0dbe202aecc9d05a5d56b3327fe9e0f89e3dae3ba36893b4adc89ce5499bc14ca23b0e
     240     
\\x000000010000010013b0f074759a5fc7f2fd5d0b66fc7e3d50d76ae62bed1bc4fa69e90f77c0f59edc377faf2192a1b0b8a52c51d351ea8fcfde4cb2a0875ec4ea6de17d7f1fccbeea49faaa622e4b4830a91e7d632d15a5d9cd871edd9f7463a14c24d0c5938bfa0d1f47ce58b0f3ed5bd62f3ecc318967c34fa1b77cab375326a4e9167a852438
     \\x910c52f7980fe1e37dbacbe6fd79368a267966bc6ee93c7ceb282c742a327e8ec4208 
[...]
-37     2       24      
\\x0222f5f615a3b108d25ccee2b1f42eb162dabb82c2a7ea745bfb2678fd153505aa236ffad2d15aca3424b1299991f412c69dfefaadd9d54b00ffa00e7065dd0d
     240     
\\x0000000100000100b0aba0895c166fb60bc5c5e6af3fb4676bd0515f8afe38fa1150fbad72bcde5db153c51d6dc2fd2ac3d325c33c61558c76147ede0637eaff327975620609db38c850aee87f6310390a2a695a18dd2d2f8e4f0620ace13645f7936b964f0e8d57199700d7e29fc962d053953262fefe698fe76e62319feed87fb33772d4deb397
     \\x6ea77cc84f5352c696fd1d3bd0bbb228067ec54994965bc5b5c5c5680849082457f1c 
[...]
-38     2       25      
\\xe397990e3ae1a5f22c4e0d209218fdb6bcd0d741d23b82459c5a0e8887340bcb08255a9e5351391e5f85590f3381c728b5b9860d70b169fbf0611f76e6e73c00
     240     
\\x00000001000001005c72c27cdfeaee65ee2bca47f7a85d25c4ba4adabc3e9f154576e7d951fced42ac93cc15227795956a3b1a45b21e1228e42691190c26dc616b373216f4f6714a6abc51b3c8f2d9c061a095ebe1117de01d2bf312a8ace38d828bd9a8cc2b89d7c7c94e76ee1e5c47ed6a797381402f0280c5d51e2302e0b644275efd6b3161bd
     \\x6f4773a971a41b18e7ea2207bb1793063be2a9496aa6af4b9e120bde5fb1b81008d41 
[...]
-39     2       26      
\\xc1ba80ca80f38576b342d3c4c05189b449cfa0102a07aff3a5ad2e19194df862c948872a97750e59e5a71449976cf360352f8ffff03b56119ab1fd26d066a00c
     240     
\\x0000000100000100c666a195b0f88f0b1684891be03dd3ec0eb0edb284cc99e70b5eeb619effb10fc7c5888a73b10ab17b4472153edf81e00a796dd9141f3248a14147cdda7d92db2e820f0c8655894439d9659c3cfb9cb9645f20fa1a71c5f9a8ccd770e18efc526bb3267d11affd426bd7df61b27bac9da652b8df0f27f9e3e48d91d95cdcf534
     \\x782f12315d98754adfb4bdd0ebe1ad96fc9858ce0aa8bf896d38ae73d753934fe926a 
[...]
-40     2       27      
\\x945943b7e1d3d37a2ace7c3790d824b9f7ba50ba9c2d091795c923bd7701330d2806f9abe2ab8c0b23fc285b9a1f03dad36cbdf15aa5dcad34194ebd6e944405
     240     
\\x000000010000010058b1f85bfe2316044ce24bcff8f89eda5fa427fcca6b7076dcf60718c47141356042fcd5df97fc8e8fadbf29d407b7b986fb81606f6e84aec825ae95b82bb4b90abc78217e85651d0c03c4bb3fc4d1f2ecaac78eb09d6605f879c3661a1f7b5ca5b5f5a045f45229785490123808dcc2e89c08c8abd0ea42cc2fdc1e3ec9b7a4
     \\x6a145e202d1a6a1028d306bb8ec0e8ebb019bcdb8f14226dc25a593b1f9dfb2b5bc09 
[...]
-41     2       28      
\\xe00c47915b2552eea894e85f344672fee5f3effd0584fe904ed8bc8d94994b748e6c983f345a045a08ed084d493c68f8dea369842816c68ac6050b4615d5cb05
     240     
\\x00000001000001000a170634778462a8165275e362d67ef460e02e4ae14de163802a75cc353211aff1785edae1a8a235526f0d7b0672be520c1143ab5a6e4ac19683566044fd6d6f46fc93707ba4f845bc60193da734a8fc519cd9849836b72110f95c2efcca5e2e4d4c74791da214bc720fe24e4f3b9ccd60aeeec8a35008e5f504133a7509adc3
     \\x296fc4c5f4f8ada17b8d26cfd93b8a1b7a5ca7f74ba9335925d6aeadc26487242b97c 
[...]
-42     2       29      
\\xd940862d94e01aa97c7d53439bd2b7e0c924556de2b055b289ab35b9f40c032e105bf522552757189f7b3844ee6ca6d8f117d6370e471dfc9052371a07c5740a
     240     
\\x00000001000001005bae312f1ca02a030ebfd3f68ac45e50911ad1666561a3d0a58bacb132ca1e88c6fe122447391e8e04b688e1d90226aa5a786858f9b62de3c32a7cf66df2ba29123773d10167b2f404c547288592fe65c14211253c9f77ad1efbcf4d7aa85b0b37b1cf5b33fcc220b02e962c4da1fdae1e5985f3af542cd04d5821197f9712f0
     \\x206cf01ea8876c306784bd6d4cf9d753be5c8c75aa2bac9b4246019366439df55166b 
[...]
-43     2       30      
\\xd433c8036e5421a401faa51807e7f810af598f5891a0642a379951e579fd66097dee343cbae948a7d5ac6ea27d0ad4671ce0e5b753856bfa93b530d5ef0ccd0f
     240     
\\x00000001000001007d92ee7e6ab87fcb82d57090f1d3c1c390e5aa1cc32333432eaf11240f81cb70759ce998a0c1ddf5b23f61c8c8046277ed40f2802442623a0c56a55a6fc23d02ccd40d9864e3d9dce991a8e572ce4d3e23f3c00764702d343edd244da998e508df3bb78c9995e45b73fe523ba869e5c9ecfae3794c8120dd25c52023fdbdb8a8
     \\x75546ecd0b9c79e9dee61122c9457f7a951aa11b8bb492f7f1e9a720ea64f8705db33 
[...]
-44     2       31      
\\x03ae5d7ff956739d41ccb500b6e24dd2c0004a16b5811c51bb914c6e457f9e3b6fef8bc10fcc5ed4f232f245ba683b233e600c73bc509dc6bdc45c6332bb8308
     240     
\\x000000010000010042fe5c1b4082cf1bcbb77d830aa0b28e5cee23cfc676b03fbdf08be98892127214f2d1ee249c65f37e4149da01af9c18c1afcabc3e38081583e0a944b094b9f159071ff2eb05beefbd1d93b15a9c486fdff6085152b913ea095eabe18d01f56aa61adfc50470eb574f8a8487b10ceed749f6838ae4843808dcac03468b1d0297
     \\xc13b87abae4cbe1a0e53f30352efe6a4f497106ddb55a9216cf8019274f2696873829 
[...]
-45     2       32      
\\x88fc4d15c021ea56ab506a29124983273ebf5a5dcecef2d2d392e310ca7bc28674e2f1f97d77fa0d61087aaa2d39584b47dd9c83fc0a49f982720bfc85c2980c
     240     
\\x00000001000001003acebd409db25a974dd55b354826cf4ed0b860f3bd94ce784dbbc03a72734880621cc17815da8cc6f23a32eb385328ff546214e4a2d685167613f629847d7ab3452f7ef1008481204c89d87b45e5554d8bf577f1a0538d2bc3d18e576992143a5be2d91726b200704a5e88c4112ebd6a6f7912ec08cc4ab3bca158969c15ecd9
     \\xafb8a48224205961bf13f927a548a32599dfd1cf4837f673b37195adef9d949833ec9 
[...]
-46     2       33      
\\xd6edab2668b6eaa34baf1e06efd7ae583ae924d6c5b600b8934d54c2d83c3850d9e310b02649e47ae4950ac46bcfd57174fe8c302d66e31562c3b10913dc300a
     240     
\\x00000001000001007a2090bd0bbac7f6aca6dfc135422951a5e5b6aa2c63340735fc977dfd5d500694fad6395aa62343d63d08f0474d5432b114e25597259fe1d64479e5bb4d856527d9ab30e2066a2087524e3c0cff07d2ebaaad8b8df810ec6ee378a2628c55eef9e7a1bc2bded673c940e27f77e87437c2d054312047a6bfb1153dff1cf27d10
     \\x34f5fb65e88e4a5a6d7090af7f6d351fef10e1ea0a02693b056cdddf6e46323686c26 
[...]
-47     2       34      
\\xfffff94f32fdceac63483c5020607444c813c10f83e7dd9b11d2eeb5d46e5346f621ff984fac50d69df8fd8bf1f5facb80d8c011801e818434431ebc5096a203
     240     
\\x00000001000001005de332fe66a07e10bff206dcf736cb3bbe6e8aab3ea7e126e7a2c354132936b8666f316dfc963749bc1950db312f95748665e486e635f74647b2fba374e50475281b1a4f182278070b5e0e65cf3b746c0241b1b20f289cf11acd10f014a9e6216bc77208c0252efcd18d006d70df6e8e4d918e2796830f3048813cc715e61409
     \\x0af39040e84d3acdee68f8926c156fd056f5484f2c40b15c39a14661340a6579b9a30 
[...]
-48     2       35      
\\xf6947d991b82957c4edc283e9b615e109ecfc0dd3aff4cdbe4a64d7cd99f8ae4f65fa1066462d731aaf66623508533f953a4fa4e02ad54337ea9294d69778801
     240     
\\x00000001000001002032d9be7d2b58660aadb12c82524a77a737eb891ad921e2961a1d2ae813fa2c2e6cdbad166ef0255a91877c074f5fee80a8c8978fa2dea69d82a9e6f3eb8a917b35080f83dc018a563bcd4b689feb0d17134f6fbcb315ceef6dd385acc64547eb8fcb1a55c7a21dbc8dc286428caa5c317191561b95d0820fd7af9711742587
     \\x25048ced31ca2ca2ba8b9325a3d2c5532d33931c3b96135d22c92e5f592d59b5f5269 
[...]
-49     2       36      
\\x3a1272ad23c295fdff6d075cd803e7d52a0960a4688541207a77e9614df77d8587cf30d0d254fb31ec9ec2f9c1921f8eb59d952d151e1b3c9dd3658c81a3d107
     240     
\\x0000000100000100ae2ac965d1fba4c93c169c7549db748e3fd0ec4b7807a1bcd366483333c0a91086047ddefce6e32a2944f0978996c07028c0b898ab02fb3240709b454c0b20fae8afea2dee9faf0bf425ad9198477a89da67b1a4140f766b8f751a20d81303baf0bf9d1a94eddc02378adc216068573204aed6888874c4e61f18e268f42cb0f3
     \\x47037c99e07f661282c2acc8314c8b3aac9d7dcfc61cd7d677a2769705b1f38397942 
[...]
-50     2       37      
\\x389221ff53d6d07dcb91e242553aef6e7fe510d1b444ada7b63bbfec8d9c28f735f8f89d03b87adf2df622d67a8176638893199335cef37588364022ba58ff01
     240     
\\x000000010000010019553984c4ef07b1c93d540da328096d8e791a15dda8f8879282c6032b44f6876875b483744be82c8b16459ba993e6ccef307ccb6214b06a139400dccd379fda7ac91410f101f84dd276a1e66b6e9781efe0344b7eb2926345ea0575865488cc1c2c0ea3ea362d3d1e2cd3f5241f92cbc8930cb6c9155aa7d3f05f489783798a
     \\x1794c2d24fcbddfea527cd95320d3e900855052e590b54e20d538f42286fb19d6ab50 
[...]
-\.
-
-
---
--- Data for Name: refresh_transfer_keys_default; Type: TABLE DATA; Schema: 
public; Owner: -
---
-
-COPY public.refresh_transfer_keys_default (rtc_serial, melt_serial_id, 
transfer_pub, transfer_privs) FROM stdin;
-1      1       
\\x0129756951c56d84ecd5a5af7d655b06a89e52746410b56b14e5d8e227624f26     
\\xd689024c991c9b3a6139e3c0875f1ded910f22f9199a8cf3d9f87168738a68bd0f0406fcdd90285ed7dc2d7260b48b1a2c713a4aefebe3654c915c4d15efae23
-2      2       
\\x361e5de57998416e718d7c651475274d64d6c384d6baddcf5966fd145ec7196b     
\\x624ff293586f9e33ab6ff72280a2d652581be70dc37d61b2852b972204a0abf927e7954ff193c9c417ada334469301cffac41ea96c293aa1f86f551cde0bfc65
-\.
-
-
---
--- Data for Name: refunds_default; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.refunds_default (refund_serial_id, coin_pub, deposit_serial_id, 
merchant_sig, rtransaction_id, amount_with_fee_val, amount_with_fee_frac) FROM 
stdin;
-\.
-
-
---
--- Data for Name: reserves_close_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.reserves_close_default (close_uuid, reserve_pub, execution_date, 
wtid, wire_target_h_payto, amount_val, amount_frac, closing_fee_val, 
closing_fee_frac) FROM stdin;
-\.
-
-
---
--- Data for Name: reserves_default; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.reserves_default (reserve_uuid, reserve_pub, current_balance_val, 
current_balance_frac, purses_active, purses_allowed, kyc_required, kyc_passed, 
max_age, expiration_date, gc_date) FROM stdin;
-1      \\x5aaaa2e7202039e47d6d231071b430487230bbe44fe03310fad120f43a1fb363     
0       0       0       0       f       f       120     1658059784000000        
1876392585000000
-\.
-
-
---
--- Data for Name: reserves_in_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.reserves_in_default (reserve_in_serial_id, reserve_pub, 
wire_reference, credit_val, credit_frac, wire_source_h_payto, 
exchange_account_section, execution_date) FROM stdin;
-1      \\x5aaaa2e7202039e47d6d231071b430487230bbe44fe03310fad120f43a1fb363     
2       8       0       
\\x1db2fa56550bcb94b6d488e373484844ff4e47013b00ce57df739290a0bad591     
exchange-account-1      1655640570000000
-\.
-
-
---
--- Data for Name: reserves_out_by_reserve_default; Type: TABLE DATA; Schema: 
public; Owner: -
---
-
-COPY public.reserves_out_by_reserve_default (reserve_uuid, h_blind_ev) FROM 
stdin;
-1      
\\x11d1b66bcf52042de4cacf76b9dc02060607a58557f0f847f2d1d97102aa0b381ccd05f2f4a5929e780c5e1dae0f5073b08bfe1518ee99e15dcf296d2504621a
-1      
\\x852467a9b2b862c2ccefce1f99b0c28aada9804a6d5bfc3a01e8795dcff9fbcd1b21cded3ec9d20ee0df272b5738357d685c1323597b00ddb24d0586e5c560d8
-1      
\\x3e44fabace5fb0f459db6045de962689a6883771211a99b104e9f5dc1f6286e634fb8f3ec55e88bf6126f8100bfbfae0f0ea2145585ba17862af301947bd72df
-1      
\\x4fca019753789ba83083eb07b2653952d6dfb47c11aab24471b4621898fdd5a73080d4c28a4626b293336252a35e499087b25c0da964857c24a05e942babf83c
-1      
\\xc118a43be3715a9d1469b8a6c211fcfae0a447456d1ca95129a99afb820b40222678f819bc358930c98b77fe6dcbfd166752781eeec564fe18f3b377aa7ca4bf
-1      
\\x8bd14e0caf2ae43d4877b46893c36d0fbb57006103a18c36dd279418d443c8d4794ee4b0faa1258df7aa5db7c20cb6f5791e322bc510d443f13aa2cba0948046
-1      
\\x1413046d323a5bbc884d5d43a3d055314aecf35440d4753d8cd162895e15c72ca76d9e2ecf1cd4044b46bef63c9c7791c179b88d376a018920d09767f23697a8
-1      
\\x22885831d3d19204025b4f2497ea0c1af8ae59e3b40f9fbb6a6dcebb31c0fc000fd2790805188113f0148f0a1483ad993d2e2fed9080187fd122cd914a49d26e
-1      
\\xf38095bc89c74ad761802b0deaf0b7b94dd3e6ee232353e5053dec1d5eec8546c3e969a0e86d4e7ee0d2c50f80638fc739aee9827619d3ef529e40a4ff5c8626
-1      
\\x61154adcdd414269ae78b7aeff01182402af547c82cc15d84dbb3c5c5831587ffd1eebf04a4da78f3d609e77d18884c69ab5e03425f3df76912ac7bc7413b754
-1      
\\xe623ac096b83f861e2f707ba71944f25a4dd232f80e74da2cf795a7c1c0fc4d064ee9e8a930b729f91ccfcbe2ee2edd20e45ba12b53e60d3c65e95055bf1e977
-1      
\\xd334ba98b8fbe0fb6a8df73c2727f830571e0e5880facc23927ce7c04b08db25f61f39273c2e0d1c0561b9c055bd8836215ff278b3d838218b591474f327b23d
-1      
\\x3b49d802dd9c3e8b8ccd79b58f92e1b81b8ebd0cb8ac41a3cc66c0cb00ae7488236d752636757960157e64d10343d54f8fe2a6783e3908b4ab90b3aee2922865
-1      
\\x62255d8aa461a9b663d45c4d7e20fcc9720b68e56b171fb90f946fd662a606154751278763d500e0f872d35e31fe39902b7a1824fddae47344feb41c42566cdf
-1      
\\xbdf0d832960008b6ef619deda9b8692853b5bd5c048ef2cdf2f3d278c30dc0e4de378e7d6d0d441888a0e43c66de58a19f3229360c05a3b3be62ab93266a829c
-1      
\\x6b8b894e2c7d18c957f39b916654cef04cc710b54ea850933e81076316afffc84475490366fe7ecda949e00d8bbc88a96c51475292a3c8713014aeb24b09afe0
-1      
\\xee8618b0e296c9cc7e340ef86cb34e55bf0660476a16da6093e5fc27a4a7e2167ce797fba31cb01ecddd194fc6775e66b68938bbd10bb01cda27fdbd4ed32e99
-1      
\\xf768888a9fb0fb709c75dbc50731c1367d31cb451f5bdb1d8943d401e2fda94e69d96b172f5faa660ac5c332ef8a983d66791e3261da554281a326fdf88323ea
-1      
\\x8d9e557ab5391b42598705ac5aad57777b32bfb58dd3bf14e58c46b6abd80f85aa92f87ba8c37f7632dd0a6dc0f3901ca13239260bcc6462f0b822ff57e192fb
-1      
\\x977ea0d13e9eaa39d08be569b33a25b975aaf53d7a5611646cd9401702e8b835802b53295e733a6af93c4c0d0c4528c7b5ab0180795802e95c007fcea5999214
-1      
\\x4ecf6dbf58e0285bb95a953602938788c904b5e1d499c6c17ece226622808893ec8d6201bacd9fb94a32159a05879e5f93dcd03f0fe69a824b20c9640685cf2d
-1      
\\xf7e6f4d36dd9c3bf79b2d045b25063b7c02175d52749bff822cd221d307f4574986eef4dc4bfeb5f8df6fa95cfc1a039f1a992b57bcfe25054b910b9f0b5867d
-1      
\\x4f40e4a013d6a6e39a29a046d694035cff0a039eb6fb69cdbbd614c1bdc93d1edbc7e66e96e09857f544fba053810f71ee18fa34e845d54838cf4c8d02dfb496
-1      
\\x033dec4b2ebffbaab4123fa00bba226f6e615c5b1372d0c44a9e106f6904d55a2f7c52e7f06207e6d15a4314f5e15422475a1d55d98a4efb662128c0f058e02d
-1      
\\xb55545c1457a869bfd62efb837eef2a97293aeb9a05f6b3a9df96730aef30b14b9e2699fbf549c1782976396c3f231d625e8e9eecb67c0e7d458f69a3c813944
-1      
\\x210dfb838a5c6b62bdc636c8ca6958aa8d581c2fd5f6dce9713d4aca873f1ba9fad926738249b75e3c8da0b6eccac3ef49d859bd43dabe511a4ec7adcacea23e
-1      
\\xe4d7c150ff14772a9417ffe332bf3b9016c99a533b2dfb5a79b7b48c46c0866f1138caa151c70b723d6f3dfbbbcde636d26b834616ce54507ad72c3d1cebca2f
-1      
\\x125e1ae7aaf3a596c6d2567646981f1e8f87944efa3eb3abedbe77051fc30602428a880852395b0d38e2262482dc4fe1c3df58c220224e990a9139dd64ef7733
-\.
-
-
---
--- Data for Name: reserves_out_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.reserves_out_default (reserve_out_serial_id, h_blind_ev, 
denominations_serial, denom_sig, reserve_uuid, reserve_sig, execution_date, 
amount_with_fee_val, amount_with_fee_frac) FROM stdin;
-1      
\\x11d1b66bcf52042de4cacf76b9dc02060607a58557f0f847f2d1d97102aa0b381ccd05f2f4a5929e780c5e1dae0f5073b08bfe1518ee99e15dcf296d2504621a
     333     
\\x0000000100000001306a51fb331c4d538e5ce008d1a582addb306548de0d0d43cde43ea050fc8866f5ab696a31890bb92dc394d670b5d3d4ef5942985887b0c825072f50b069d2c0058df02826a9aad4d82f75413e9fad7c05353b955e7e17a9baadba839592ce4117ab07b3cf9cfb230ea20399c50cfba31665be2a75202491f3271f6dbdf0ad52
     1       
\\xfde553731a1e7d44e99faae20ea0788a6f24e78ee67b9788391128f3e3b96f5c979ce502e 
[...]
-2      
\\x852467a9b2b862c2ccefce1f99b0c28aada9804a6d5bfc3a01e8795dcff9fbcd1b21cded3ec9d20ee0df272b5738357d685c1323597b00ddb24d0586e5c560d8
     57      
\\x00000001000000018b401365d0aa4fe014f2ba42af9bfd99683c124bbd330625d8ce5fb37e149624bc3d83d164ecec242ed9075430d600cacaedc88bc5e3d1acca25b2a36b9f4504fd02c7d4fad7c0ab33a6776cb0dcf5c2a59233b5aac1020aef85aaa85a1cffd98de30397b1efc72ae336c266553fc59a3d9956598e59ee8832c6f148dbb1f393
     1       
\\x11ccc307707ed59cd6b74c924d038e72aa0b9bfd80d370927f434bb2f6d2d0c90804836b94 
[...]
-3      
\\x3e44fabace5fb0f459db6045de962689a6883771211a99b104e9f5dc1f6286e634fb8f3ec55e88bf6126f8100bfbfae0f0ea2145585ba17862af301947bd72df
     194     
\\x0000000100000001559209240d4dac70c87ad82f3b4be7b1c5a689cab11a78506c0f4c856663177fdda0196d61d50e44df76d3d982955cb5694b7e9f10d547892e53c1f6ebb51bf4ffcf0d5a13604845fe4e0aa58e58685bd3c8602037b46476e499fb4219058c36ef834c2aef480e8ab250942a5d6bdcfd841a2a7bdf23de57c33f4d876725b799
     1       
\\x260a04eeb917d739c5d5cba3b0594ddb129cfadf67a4699634584bc6ab3941900698abbdb 
[...]
-4      
\\x4fca019753789ba83083eb07b2653952d6dfb47c11aab24471b4621898fdd5a73080d4c28a4626b293336252a35e499087b25c0da964857c24a05e942babf83c
     194     
\\x00000001000000012bfad807bd147bc6918cfb627af53e3d9acc9ff7f122c259a70a414c22275d1bd7aef8c83160abfd957b9183a99e3695a44f42599b2dcfde0a027963984b99d69f742919c68dca435fcfb05c4bf583565f66fce9fbf143c42672e7d7f2aaccd3febe530045d2b13aa15fbf2ae12e83e9d69721b666bddd60b0639efddaafbe3d
     1       
\\x7f31081b8a4ddf89570e08e7a67d94a893ddfe7c99c9e0491ad70775eb9840626e66d091f 
[...]
-5      
\\xc118a43be3715a9d1469b8a6c211fcfae0a447456d1ca95129a99afb820b40222678f819bc358930c98b77fe6dcbfd166752781eeec564fe18f3b377aa7ca4bf
     194     
\\x00000001000000015a4fe9fb8b4697d2234c3303087c8fdf9e7d555274ed139ce0d811284aa2af6cbf69090979ba55da0577796af9d9a2b7399e68335f7d0b123f581d32b78af160f3efda5c08bc1d75df9a45ec49985ca1790beedb9bb82fb08dd30361461971b3863aaf6d65597e7b8fd6bf6fdc4902de13c5ab6fe96d49dae07d9d55f97af2a7
     1       
\\xc5ad5a541c3b90b5c56b6b41d0fecbea64a8d2477f9bd6fcf361ca8c8b9178d0c04f24e73 
[...]
-6      
\\x8bd14e0caf2ae43d4877b46893c36d0fbb57006103a18c36dd279418d443c8d4794ee4b0faa1258df7aa5db7c20cb6f5791e322bc510d443f13aa2cba0948046
     194     
\\x000000010000000144927ed6b7f39937d38555da136b3a3cb36ca0579cf9964bfca1588aa8ca2f77b2834e23b174e32e20632402a7009945b083e2161390ef9a77e544eb994504b729e0c8803b2024d7f19444c2dbe33ecfda774ff1a5b3b0ba2955a2a3ddc082fb05485f63a322f9a5627b72883cf118fc9083422e89fa982de3b6eb98988655e2
     1       
\\x39a1a4b0c88aa47f3fe42227ea453dbeb0fdde9c16805a00a69e5a7f1d7cabd611dbad02b 
[...]
-7      
\\x1413046d323a5bbc884d5d43a3d055314aecf35440d4753d8cd162895e15c72ca76d9e2ecf1cd4044b46bef63c9c7791c179b88d376a018920d09767f23697a8
     194     
\\x0000000100000001830cd74f4e84de64e4c8569005defa2cc15bf35c423872aa69d07a9712bf9e594a276ac1950e61455254088fe745c413e0d6cebbe6e3fb09e9b6afd992577fb10a3e916db4451c1fa784e816d62bcdb2318ad31035b20a8b5f4b62f7d9a5a7567672f1d9ccb59fc15639c939fa51e107a0ab2c07ff3afd712a36dc3b2742329b
     1       
\\x3e0037b45bd2a943a23aa0f9af3f2b4283dd73c029bcb54cd4cf2bfaa513cdf3a46067a2d 
[...]
-8      
\\x22885831d3d19204025b4f2497ea0c1af8ae59e3b40f9fbb6a6dcebb31c0fc000fd2790805188113f0148f0a1483ad993d2e2fed9080187fd122cd914a49d26e
     194     
\\x00000001000000018e0c5d7b8c253e9aa185be7347ef761faadd7221607fb715800a05b91ba614c21128628a45dcf200183d5737b3f498121713fcd0fa2ee0ec8d7b29da9f96606cd2299bb6cfc07b49f27351c405be21b6105b51fbd354ff951653bf94a5774ea8dcb95579a6ac52764196af501bae42386cca84c2ce7765a8886579c7050671d0
     1       
\\xad910ccc19e9032f5feab90165deef132eed1b60902d69f095f1e2d3d688c14898c448b23 
[...]
-9      
\\xf38095bc89c74ad761802b0deaf0b7b94dd3e6ee232353e5053dec1d5eec8546c3e969a0e86d4e7ee0d2c50f80638fc739aee9827619d3ef529e40a4ff5c8626
     194     
\\x00000001000000018d362fd37e041e7a8fd5beac2091e539ae2ed672d0b88f5d35655f98589d50abdca4b2a82ac74617c4589d2bbab5c098831e7023ae58b586132aec314411f0e4711de6eb28f7b748c946d14871719e7aeb468187aee7d6ccb1ffd477754b3a30387bad7fbfa9f2fcd0c1ab9279e1e23c9880be8d439cb3b8789015b4a7e4adca
     1       
\\x2ea412257567726b13a20583bd86d6c595c2a0588cf16acaca2121266c7cbb58e0969f3e3 
[...]
-10     
\\x61154adcdd414269ae78b7aeff01182402af547c82cc15d84dbb3c5c5831587ffd1eebf04a4da78f3d609e77d18884c69ab5e03425f3df76912ac7bc7413b754
     194     
\\x000000010000000178482b1f2038030dc5b9af5456440f11f520a1fb6e9f3a643e27a5d131a521775aba226c8fe9830a4d8e4fe51ce01aa438de978ecb16121f8a50988518525b1ff7a1bc04adf1c7ad0efbccb4a13fb91f4e850a6c191c79cc1cebd7106ff0cacfb5e51b2298c3abc290d9d811e62c0a88292d748255bf7ec3341c6ecc64a6037c
     1       
\\xad38b5db8f768a28ccb6988dd86e5b01e9c068f7254da80c47b41ca1c5d77c23dc174be3 
[...]
-11     
\\xe623ac096b83f861e2f707ba71944f25a4dd232f80e74da2cf795a7c1c0fc4d064ee9e8a930b729f91ccfcbe2ee2edd20e45ba12b53e60d3c65e95055bf1e977
     128     
\\x000000010000000176c6f7a4960c5964599f800af2a8fa7fa6861e92016f18555284c75608a85a9c20ab8f4070e1d6fb5b053a71a67ee588c80c040a7d9bf6c4bfedd2f326ff0191921de9eb14f52fabbd0fa1e87f644bfba7a1e82e7c14047138913c200a4e98bad78d0ff806fb774c1ee9a914d864b781bf111581e39d8bfba6bcb2dac7fd884e
     1       
\\x77264f8fa37ff6a348e3654f6e4742d33bc903f930fbc7ece35321a84b612208acdce6c5 
[...]
-12     
\\xd334ba98b8fbe0fb6a8df73c2727f830571e0e5880facc23927ce7c04b08db25f61f39273c2e0d1c0561b9c055bd8836215ff278b3d838218b591474f327b23d
     128     
\\x0000000100000001788ce69d5b342a234f9d938e2d8d420474becfe5f85d5535f45220798cc22a35d86a6e69c079cdd54d56e62378c461c397133780b2e3b014a4d9f0557174a08643da9c7089147206caa9763ff28a13391109060a96f5e6a323ee327486ad19d12118c16f766ac39e47c386a02967b56ee97ac82015221c887883a674a0743f8f
     1       
\\xb5d0f74d09d1ff53fc261e083a1d340a4ce3360228d1afce0baab11f16e2d45c5ecc175c 
[...]
-13     
\\x3b49d802dd9c3e8b8ccd79b58f92e1b81b8ebd0cb8ac41a3cc66c0cb00ae7488236d752636757960157e64d10343d54f8fe2a6783e3908b4ab90b3aee2922865
     128     
\\x000000010000000125aca229b90a00a30facab9b1ad037970efa19ae5c31d71ad2f82bfb6350e54af7ad5f491fa71dfaae140469aafd80772ee9c1cd51fc3bc69ee7aded85962ff8a78ffe67a59101db6c03380ddf016b6da817ea6501a00e8e7a14619ec994ace51fb26f670db501431911729f99cebc2a69a819a54c8c978610814c00f6d397ee
     1       
\\x9193a90b43db22607a8547fd562ded8e6d2a2a74f0fcfe61130aecf95abcc5109e29fc0f 
[...]
-14     
\\x62255d8aa461a9b663d45c4d7e20fcc9720b68e56b171fb90f946fd662a606154751278763d500e0f872d35e31fe39902b7a1824fddae47344feb41c42566cdf
     128     
\\x00000001000000016f0f0b272593e180ff399b4669e9642379529757a4df6c9fc15ba083a486b6278bb7430313477bcf086341c7fb0b9f745d741ba1d9cb62d53ccf1b83c524d9304e13822d23084c30dd9a75392107345ebe8acc16bbc894d43bcc088be6931383a9d911748f2831d9fe212c950aa17d788e5b55fda20ef06c72cccf6f7a9ee412
     1       
\\x1a2ff059dcd042007f6b91eb31abfb89cc47c579acfbe2061d0f6c78e54780c3ba9c5336 
[...]
-15     
\\xbdf0d832960008b6ef619deda9b8692853b5bd5c048ef2cdf2f3d278c30dc0e4de378e7d6d0d441888a0e43c66de58a19f3229360c05a3b3be62ab93266a829c
     113     
\\x000000010000000158e1f2a1b52f6340c43f743e8e68bf1143c77f291896a628ed763baba7d4a8913e42911e0a7a4ce287a105bd6ddd6f6ff3e8e9d0ed50a13a687b1c0e9019db11a716e647859f84e79138dba05267346f01a961249acd45ce0f1848eb3545f64a6463f251b83c25c5deb2b070e294c3abd9356524bd3d60caf2a30c5cde33d810
     1       
\\x32b298176d59e4a7be51244482e98a679c4ef57dfa48d11cee794166a0698213e97cfa76 
[...]
-16     
\\x6b8b894e2c7d18c957f39b916654cef04cc710b54ea850933e81076316afffc84475490366fe7ecda949e00d8bbc88a96c51475292a3c8713014aeb24b09afe0
     194     
\\x0000000100000001415a583f8fd7ae8b7a153aba6a5eb096ada7e944823d286e965e64c37cf249fa3b8146d185c1b93b052280353c6011c32ff40b994413539313f345b8b0d13cc86486a46add6fd080335d722a8b27ca7daee1190b75b39907513ca97d0ec3188646fcba2178656482f5f3fa8fe13dbf4d1459d9671c4dc3e16b7878c5fb8b8724
     1       
\\xde1d7af7fe490adc4d947ad48849420df0649012bdbfb726e717a0bab2d120dc4bfa7c7a 
[...]
-17     
\\xee8618b0e296c9cc7e340ef86cb34e55bf0660476a16da6093e5fc27a4a7e2167ce797fba31cb01ecddd194fc6775e66b68938bbd10bb01cda27fdbd4ed32e99
     194     
\\x00000001000000018be8266df6a71ae0a3d7d27d38f7d21057fa6486747f0b8d4e308c5b6516083bc50124367e6639a56e7eeba55b4813be2b54bb0e10658457faba9a86014de09cf6c1ea56ce11f5dd82a89832932815effd12bf9e5a65bde35643921a78f8ed9ccce8670882c88e4bbb78a4e94405d65b2c7ddc3968b21f8f7587756220cdd8e7
     1       
\\xfd97c879da147122a21d13f42224d68140997ca9449caa73be521681b5134fc7fba3a3e5 
[...]
-18     
\\xf768888a9fb0fb709c75dbc50731c1367d31cb451f5bdb1d8943d401e2fda94e69d96b172f5faa660ac5c332ef8a983d66791e3261da554281a326fdf88323ea
     194     
\\x0000000100000001926c5e4a601bcc508f899eabec266aca2880df8b801259878dee6fae526fb2b3526fbfdfd1b37669ce8a2142b3aebc0e154b105c69b5b3df4b2511133918ca8a234a750ed0711eb5531483a52747da9b8d8148d2ef87b36e2167c2ab183fe2538b08cbee99ab3bdc10e420e69efaf93dfaf80d33893d37f7509cd4b274e4d59d
     1       
\\x8428a3bbb444726331bd573ddabe6240657c51ce07b8b65d087e549fbc84f277a3c6c71f 
[...]
-19     
\\x8d9e557ab5391b42598705ac5aad57777b32bfb58dd3bf14e58c46b6abd80f85aa92f87ba8c37f7632dd0a6dc0f3901ca13239260bcc6462f0b822ff57e192fb
     194     
\\x0000000100000001027521e9418f5366f04e08524822cabff5a19c663d4c5c5de7704bf8c31d09f2cb4ca777b8d6d774fafcb3d82420645f2b6cfe43143d490599cdc723980e8327b2dc1c9d050c1983ed3274d1113f3d84c556bee2c3816cd997f3005e294f86360cbd949919880b661f1972476a842a4d244a993192f86a54c8c33b48534f4ff8
     1       
\\xcfc7f34462b486b1fcef63a7671286d3f0a1eff543e1f714250325e202acddf3ac7f3148 
[...]
-20     
\\x977ea0d13e9eaa39d08be569b33a25b975aaf53d7a5611646cd9401702e8b835802b53295e733a6af93c4c0d0c4528c7b5ab0180795802e95c007fcea5999214
     194     
\\x0000000100000001797897bf2f12dafb8fd8729df286a4858dba622d23275312e938a26735c63231846b7a9f3c0b78f9f11256325ea1340f3af784467a0bf66e52101f098209c28219372752ffa353ca4b15867a053ed9ecd0a567aaef29fe67829e58b96708bf18b2b08df5fb3dbde4e58bfcda9a74aab4820387fa399986ac4fd3ea0ee49257d7
     1       
\\x2dece29d6feb83e96eba617b9bd11eb4a0b7a0eebf5cb9e1d2cdcaf9c6a47d966149ac1d 
[...]
-21     
\\x4ecf6dbf58e0285bb95a953602938788c904b5e1d499c6c17ece226622808893ec8d6201bacd9fb94a32159a05879e5f93dcd03f0fe69a824b20c9640685cf2d
     194     
\\x000000010000000140807edc9c108c9130f6deba97c154c442a48f8d19907d7eb4d51432e2346b2e24ecefa76c1126aec76bb71109609d4381b46e5ba98c2713ed044208544a36a6913130f47f7595b2981d996328fab0e82f0b6f2033f51633dfa2a296df61c8c51edc6360886a75c8a37e6f0d517443f622e3295eb2407ef60cd912478aa7b244
     1       
\\x9fe3ecaf85367effd71d72790fc34ab7ef00ce8ca1d0a775ccadd78b8668145f11aca82a 
[...]
-22     
\\xf7e6f4d36dd9c3bf79b2d045b25063b7c02175d52749bff822cd221d307f4574986eef4dc4bfeb5f8df6fa95cfc1a039f1a992b57bcfe25054b910b9f0b5867d
     194     
\\x000000010000000109b1b4b5413ed4d233f27003d10df6fdebd5ab435ebcc005f9dd5421e6e1ebb0ccc3087766c70fc01190f3fde03f64e996c118b16c4b088982bb96025da45abaad399a537697919211fa3efb95ab19b0f15f35e483339dbd11cdf7e8ee802f2d064b6cfbeffc618598ff49eb3fad0121eae94a198498fd2c26d356b3043910ab
     1       
\\xc1633f8d979fddce49a818c2c866e0b75df026e66bb205378278bf0f09c9c03f88105544 
[...]
-23     
\\x4f40e4a013d6a6e39a29a046d694035cff0a039eb6fb69cdbbd614c1bdc93d1edbc7e66e96e09857f544fba053810f71ee18fa34e845d54838cf4c8d02dfb496
     194     
\\x000000010000000157db256c1e96b2a389a0a493b666acdcdb78cd14a6c6a85f43d587ed721ddb9153e43462bb29ebf4db96d5ff6bda175eb22c8b9d39ab4a32df16cf1394074dbce9d601dc759c462cc6db325d18aaf55aa973c7e1148a37565710b774c55aafcfe20f7a0a201ac13dec7618c51dab37834d7c4c45c29f135b4909426c1f957bbe
     1       
\\x04a1203c8917663a4ccc3be9c23bb33e07cc200bfe1da774aca035c675b04e8df3b10b76 
[...]
-24     
\\x033dec4b2ebffbaab4123fa00bba226f6e615c5b1372d0c44a9e106f6904d55a2f7c52e7f06207e6d15a4314f5e15422475a1d55d98a4efb662128c0f058e02d
     128     
\\x00000001000000017702b16ce55e70614ae3ea42fa476ad7ddc1253ec312743a2cb10ecbf569dcdd5a571773fe2b728e08f5073536afb4c8ff60921d6f3b1f71518324aab4d4b6d4c8456bbf42065a7e700b09b00fa0ef62800c46c5543e94cd24678bfb5de0f110df1eaea8771c500298677db6ae1a3bc51971ab035e7591f5f224895264de8e89
     1       
\\x4c37dd0d461c3b3a19bc084ca053fe95c1ad7a0e5da635d71074b4afd8b2ecb4f6775b2e 
[...]
-25     
\\xb55545c1457a869bfd62efb837eef2a97293aeb9a05f6b3a9df96730aef30b14b9e2699fbf549c1782976396c3f231d625e8e9eecb67c0e7d458f69a3c813944
     128     
\\x000000010000000133b57573ac8fb9f6c0aeb5e7f31b3df9b18b445802c80cb7947acb177dff17c333b7b67bf1d40b5252bb76bbb8a95b4aa32fc42d80b6189f93a948e5a5b02c1c733c033848bbaba305ebbb6abc750e3391c245db2f05dfc65cf1a5685ed533f41cb52b259c15d681c3f22c7ebc6fc18af4009b011d5540b50255e57d0d76e9fb
     1       
\\xee1dcf5ffe1313521e5e0358c46bcdcdf0f29968e88f209d13785a2fea1eb3a2e8d7300c 
[...]
-26     
\\x210dfb838a5c6b62bdc636c8ca6958aa8d581c2fd5f6dce9713d4aca873f1ba9fad926738249b75e3c8da0b6eccac3ef49d859bd43dabe511a4ec7adcacea23e
     128     
\\x00000001000000014b63d2f9201cb4c318f31f6af26dfac65850142eed0dcfc888174180a16c4315cee4561bb115b170d8897576ccbc583ad35398af50afe644e845f14975155a5270d0ff6e421a3ae2c38df4a6e9f9f0f4e672e2a43c70440bc03ff30e954c4265441467f822b325f27f95fc2281696b111a3250293193500441218b47686dea58
     1       
\\xbaba9b9258c74f7801967e2f1ed96870c588f5b4c88ada496db8f265619d2a3d7b0e689b 
[...]
-27     
\\xe4d7c150ff14772a9417ffe332bf3b9016c99a533b2dfb5a79b7b48c46c0866f1138caa151c70b723d6f3dfbbbcde636d26b834616ce54507ad72c3d1cebca2f
     128     
\\x00000001000000018f1cb81b555f352b98dda79393ffdfc278ea07b9e54b39d237835ae5f4ebd42891ee27c36a3ea7eb4f6b02259ed2cc8d4bd43d6837ede22a8d1dc4cb17cd04bbb543a538546d83fdb7ed66dbdd8ac67bbd6e63b75b08226a23743d13028599060792f86b41522040522af008dc5cb636d4abda58952e45065da5ff00812c4fb5
     1       
\\x1d51b2fac0cfcae46b2d659cc2c87235bb351c20f5c217660a170890544dfc8356cebde3 
[...]
-28     
\\x125e1ae7aaf3a596c6d2567646981f1e8f87944efa3eb3abedbe77051fc30602428a880852395b0d38e2262482dc4fe1c3df58c220224e990a9139dd64ef7733
     128     
\\x00000001000000017f1d005a2a9203470fe393f2ffd3d8c9b02691e7b00131aec1638dbad4f0cc4fcfa722ef4cb312a5c36ecc17e5af8b1597b27231986209b87f877b53bd0ddbc75c9ceb0bdd6d7e1a72d58be91f4cbf63ca60b7cdbdcb337c924791a99dc8d34aa1b186db02b461e16571c1dc1fe5128ed2614008fd8f8d5324ad80b9ff035c0e
     1       
\\xe201f6d1967f1c79cddc624c4762723754efbb797646119cd663ca0ee20f4a37c8705a72 
[...]
-\.
-
-
---
--- Data for Name: revolving_work_shards; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.revolving_work_shards (shard_serial_id, last_attempt, start_row, 
end_row, active, job_name) FROM stdin;
-\.
-
-
---
--- Data for Name: signkey_revocations; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.signkey_revocations (signkey_revocations_serial_id, esk_serial, 
master_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: wad_in_entries_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.wad_in_entries_default (wad_in_entry_serial_id, wad_in_serial_id, 
reserve_pub, purse_pub, h_contract, purse_expiration, merge_timestamp, 
amount_with_fee_val, amount_with_fee_frac, wad_fee_val, wad_fee_frac, 
deposit_fees_val, deposit_fees_frac, reserve_sig, purse_sig) FROM stdin;
-\.
-
-
---
--- Data for Name: wad_out_entries_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.wad_out_entries_default (wad_out_entry_serial_id, 
wad_out_serial_id, reserve_pub, purse_pub, h_contract, purse_expiration, 
merge_timestamp, amount_with_fee_val, amount_with_fee_frac, wad_fee_val, 
wad_fee_frac, deposit_fees_val, deposit_fees_frac, reserve_sig, purse_sig) FROM 
stdin;
-\.
-
-
---
--- Data for Name: wads_in_default; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.wads_in_default (wad_in_serial_id, wad_id, origin_exchange_url, 
amount_val, amount_frac, arrival_time) FROM stdin;
-\.
-
-
---
--- Data for Name: wads_out_default; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.wads_out_default (wad_out_serial_id, wad_id, partner_serial_id, 
amount_val, amount_frac, execution_time) FROM stdin;
-\.
-
-
---
--- Data for Name: wire_accounts; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.wire_accounts (payto_uri, master_sig, is_active, last_change) FROM 
stdin;
-payto://x-taler-bank/localhost/Exchange        
\\x119dc0cafa9281232f37301cf780a12f9b0cf252e87ea4d336c276377ffe77a3ca9acf5e5ba432ac03c1fb443deef4c634038f10fd747e710828172f1b4e4307
     t       1655640564000000
-\.
-
-
---
--- Data for Name: wire_auditor_account_progress; Type: TABLE DATA; Schema: 
public; Owner: -
---
-
-COPY public.wire_auditor_account_progress (master_pub, account_name, 
last_wire_reserve_in_serial_id, last_wire_wire_out_serial_id, wire_in_off, 
wire_out_off) FROM stdin;
-\.
-
-
---
--- Data for Name: wire_auditor_progress; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.wire_auditor_progress (master_pub, last_timestamp, 
last_reserve_close_uuid) FROM stdin;
-\.
-
-
---
--- Data for Name: wire_fee; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.wire_fee (wire_fee_serial, wire_method, start_date, end_date, 
wire_fee_val, wire_fee_frac, closing_fee_val, closing_fee_frac, wad_fee_val, 
wad_fee_frac, master_sig) FROM stdin;
-1      x-taler-bank    1640995200000000        1672531200000000        0       
1000000 0       1000000 0       1000000 
\\x2cc20db7f38de122d90c286fe3954a28cd9d942dd6d849a80838d71c1be3f5ce1325a61fd7b576f139a4ca72b2407922e0dc87cda6e48b58be95c3a77e95be0b
-\.
-
-
---
--- Data for Name: wire_out_default; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.wire_out_default (wireout_uuid, execution_date, wtid_raw, 
wire_target_h_payto, exchange_account_section, amount_val, amount_frac) FROM 
stdin;
-\.
-
-
---
--- Data for Name: wire_targets_default; Type: TABLE DATA; Schema: public; 
Owner: -
---
-
-COPY public.wire_targets_default (wire_target_serial_id, wire_target_h_payto, 
payto_uri, kyc_ok, external_id) FROM stdin;
-1      \\x1db2fa56550bcb94b6d488e373484844ff4e47013b00ce57df739290a0bad591     
payto://x-taler-bank/localhost/testuser-ljgqtzra        f       \N
-2      \\x1e8f31936b3cee8f8afd3aac9e38b5db42d45b721ffc4eb1e5b9ddaf1565660c     
payto://x-taler-bank/localhost/43       f       \N
-\.
-
-
---
--- Data for Name: work_shards; Type: TABLE DATA; Schema: public; Owner: -
---
-
-COPY public.work_shards (shard_serial_id, last_attempt, start_row, end_row, 
completed, job_name) FROM stdin;
-1      0       0       1024    f       wirewatch-exchange-account-1
-\.
-
-
---
--- Name: account_merges_account_merge_request_serial_id_seq; Type: SEQUENCE 
SET; Schema: public; Owner: -
---
-
-SELECT 
pg_catalog.setval('public.account_merges_account_merge_request_serial_id_seq', 
1, false);
-
-
---
--- Name: aggregation_tracking_aggregation_serial_id_seq; Type: SEQUENCE SET; 
Schema: public; Owner: -
---
-
-SELECT 
pg_catalog.setval('public.aggregation_tracking_aggregation_serial_id_seq', 1, 
false);
-
-
---
--- Name: app_bankaccount_account_no_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.app_bankaccount_account_no_seq', 12, true);
-
-
---
--- Name: app_banktransaction_id_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.app_banktransaction_id_seq', 2, true);
-
-
---
--- Name: auditor_denom_sigs_auditor_denom_serial_seq; Type: SEQUENCE SET; 
Schema: public; Owner: -
---
-
-SELECT pg_catalog.setval('public.auditor_denom_sigs_auditor_denom_serial_seq', 
1269, true);
-
-
---
--- Name: auditor_reserves_auditor_reserves_rowid_seq; Type: SEQUENCE SET; 
Schema: public; Owner: -
---
-
-SELECT pg_catalog.setval('public.auditor_reserves_auditor_reserves_rowid_seq', 
1, false);
-
-
---
--- Name: auditors_auditor_uuid_seq; Type: SEQUENCE SET; Schema: public; Owner: 
-
---
-
-SELECT pg_catalog.setval('public.auditors_auditor_uuid_seq', 1, true);
-
-
---
--- Name: auth_group_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
---
-
-SELECT pg_catalog.setval('public.auth_group_id_seq', 1, false);
-
-
---
--- Name: auth_group_permissions_id_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.auth_group_permissions_id_seq', 1, false);
-
-
---
--- Name: auth_permission_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
---
-
-SELECT pg_catalog.setval('public.auth_permission_id_seq', 32, true);
-
-
---
--- Name: auth_user_groups_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
---
-
-SELECT pg_catalog.setval('public.auth_user_groups_id_seq', 1, false);
-
-
---
--- Name: auth_user_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
---
-
-SELECT pg_catalog.setval('public.auth_user_id_seq', 12, true);
-
-
---
--- Name: auth_user_user_permissions_id_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.auth_user_user_permissions_id_seq', 1, false);
-
-
---
--- Name: close_requests_close_request_serial_id_seq; Type: SEQUENCE SET; 
Schema: public; Owner: -
---
-
-SELECT pg_catalog.setval('public.close_requests_close_request_serial_id_seq', 
1, false);
-
-
---
--- Name: contracts_contract_serial_id_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.contracts_contract_serial_id_seq', 1, false);
-
-
---
--- Name: cs_nonce_locks_cs_nonce_lock_serial_id_seq; Type: SEQUENCE SET; 
Schema: public; Owner: -
---
-
-SELECT pg_catalog.setval('public.cs_nonce_locks_cs_nonce_lock_serial_id_seq', 
1, false);
-
-
---
--- Name: denomination_revocations_denom_revocations_serial_id_seq; Type: 
SEQUENCE SET; Schema: public; Owner: -
---
-
-SELECT 
pg_catalog.setval('public.denomination_revocations_denom_revocations_serial_id_seq',
 2, true);
-
-
---
--- Name: denominations_denominations_serial_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.denominations_denominations_serial_seq', 424, 
true);
-
-
---
--- Name: deposit_confirmations_serial_id_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.deposit_confirmations_serial_id_seq', 3, 
true);
-
-
---
--- Name: deposits_deposit_serial_id_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.deposits_deposit_serial_id_seq', 3, true);
-
-
---
--- Name: django_content_type_id_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.django_content_type_id_seq', 8, true);
-
-
---
--- Name: django_migrations_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
---
-
-SELECT pg_catalog.setval('public.django_migrations_id_seq', 16, true);
-
-
---
--- Name: exchange_sign_keys_esk_serial_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.exchange_sign_keys_esk_serial_seq', 5, true);
-
-
---
--- Name: extension_details_extension_details_serial_id_seq; Type: SEQUENCE 
SET; Schema: public; Owner: -
---
-
-SELECT 
pg_catalog.setval('public.extension_details_extension_details_serial_id_seq', 
1, false);
-
-
---
--- Name: extensions_extension_id_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.extensions_extension_id_seq', 1, false);
-
-
---
--- Name: global_fee_global_fee_serial_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.global_fee_global_fee_serial_seq', 1, true);
-
-
---
--- Name: history_requests_history_request_serial_id_seq; Type: SEQUENCE SET; 
Schema: public; Owner: -
---
-
-SELECT 
pg_catalog.setval('public.history_requests_history_request_serial_id_seq', 1, 
false);
-
-
---
--- Name: known_coins_known_coin_id_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.known_coins_known_coin_id_seq', 14, true);
-
-
---
--- Name: merchant_accounts_account_serial_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.merchant_accounts_account_serial_seq', 1, 
true);
-
-
---
--- Name: merchant_deposits_deposit_serial_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.merchant_deposits_deposit_serial_seq', 3, 
true);
-
-
---
--- Name: merchant_exchange_signing_keys_signkey_serial_seq; Type: SEQUENCE 
SET; Schema: public; Owner: -
---
-
-SELECT 
pg_catalog.setval('public.merchant_exchange_signing_keys_signkey_serial_seq', 
10, true);
-
-
---
--- Name: merchant_exchange_wire_fees_wirefee_serial_seq; Type: SEQUENCE SET; 
Schema: public; Owner: -
---
-
-SELECT 
pg_catalog.setval('public.merchant_exchange_wire_fees_wirefee_serial_seq', 2, 
true);
-
-
---
--- Name: merchant_instances_merchant_serial_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.merchant_instances_merchant_serial_seq', 1, 
true);
-
-
---
--- Name: merchant_inventory_product_serial_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.merchant_inventory_product_serial_seq', 1, 
false);
-
-
---
--- Name: merchant_kyc_kyc_serial_id_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.merchant_kyc_kyc_serial_id_seq', 1, true);
-
-
---
--- Name: merchant_orders_order_serial_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.merchant_orders_order_serial_seq', 2, true);
-
-
---
--- Name: merchant_refunds_refund_serial_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.merchant_refunds_refund_serial_seq', 1, 
false);
-
-
---
--- Name: merchant_tip_pickups_pickup_serial_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.merchant_tip_pickups_pickup_serial_seq', 1, 
false);
-
-
---
--- Name: merchant_tip_reserves_reserve_serial_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.merchant_tip_reserves_reserve_serial_seq', 1, 
false);
-
-
---
--- Name: merchant_tips_tip_serial_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.merchant_tips_tip_serial_seq', 1, false);
-
-
---
--- Name: merchant_transfers_credit_serial_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.merchant_transfers_credit_serial_seq', 1, 
false);
-
-
---
--- Name: partners_partner_serial_id_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.partners_partner_serial_id_seq', 1, false);
-
-
---
--- Name: prewire_prewire_uuid_seq; Type: SEQUENCE SET; Schema: public; Owner: -
---
-
-SELECT pg_catalog.setval('public.prewire_prewire_uuid_seq', 1, false);
-
-
---
--- Name: purse_deposits_purse_deposit_serial_id_seq; Type: SEQUENCE SET; 
Schema: public; Owner: -
---
-
-SELECT pg_catalog.setval('public.purse_deposits_purse_deposit_serial_id_seq', 
1, false);
-
-
---
--- Name: purse_merges_purse_merge_request_serial_id_seq; Type: SEQUENCE SET; 
Schema: public; Owner: -
---
-
-SELECT 
pg_catalog.setval('public.purse_merges_purse_merge_request_serial_id_seq', 1, 
false);
-
-
---
--- Name: purse_refunds_purse_refunds_serial_id_seq; Type: SEQUENCE SET; 
Schema: public; Owner: -
---
-
-SELECT pg_catalog.setval('public.purse_refunds_purse_refunds_serial_id_seq', 
1, false);
-
-
---
--- Name: purse_requests_purse_requests_serial_id_seq; Type: SEQUENCE SET; 
Schema: public; Owner: -
---
-
-SELECT pg_catalog.setval('public.purse_requests_purse_requests_serial_id_seq', 
1, false);
-
-
---
--- Name: recoup_recoup_uuid_seq; Type: SEQUENCE SET; Schema: public; Owner: -
---
-
-SELECT pg_catalog.setval('public.recoup_recoup_uuid_seq', 1, true);
-
-
---
--- Name: recoup_refresh_recoup_refresh_uuid_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.recoup_refresh_recoup_refresh_uuid_seq', 8, 
true);
-
-
---
--- Name: refresh_commitments_melt_serial_id_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.refresh_commitments_melt_serial_id_seq', 2, 
true);
-
-
---
--- Name: refresh_revealed_coins_rrc_serial_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.refresh_revealed_coins_rrc_serial_seq', 50, 
true);
-
-
---
--- Name: refresh_transfer_keys_rtc_serial_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.refresh_transfer_keys_rtc_serial_seq', 2, 
true);
-
-
---
--- Name: refunds_refund_serial_id_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.refunds_refund_serial_id_seq', 1, false);
-
-
---
--- Name: reserves_close_close_uuid_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.reserves_close_close_uuid_seq', 1, false);
-
-
---
--- Name: reserves_in_reserve_in_serial_id_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.reserves_in_reserve_in_serial_id_seq', 22, 
true);
-
-
---
--- Name: reserves_out_reserve_out_serial_id_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.reserves_out_reserve_out_serial_id_seq', 28, 
true);
-
-
---
--- Name: reserves_reserve_uuid_seq; Type: SEQUENCE SET; Schema: public; Owner: 
-
---
-
-SELECT pg_catalog.setval('public.reserves_reserve_uuid_seq', 22, true);
-
-
---
--- Name: revolving_work_shards_shard_serial_id_seq; Type: SEQUENCE SET; 
Schema: public; Owner: -
---
-
-SELECT pg_catalog.setval('public.revolving_work_shards_shard_serial_id_seq', 
1, false);
-
-
---
--- Name: signkey_revocations_signkey_revocations_serial_id_seq; Type: SEQUENCE 
SET; Schema: public; Owner: -
---
-
-SELECT 
pg_catalog.setval('public.signkey_revocations_signkey_revocations_serial_id_seq',
 1, false);
-
-
---
--- Name: wad_in_entries_wad_in_entry_serial_id_seq; Type: SEQUENCE SET; 
Schema: public; Owner: -
---
-
-SELECT pg_catalog.setval('public.wad_in_entries_wad_in_entry_serial_id_seq', 
1, false);
-
-
---
--- Name: wad_out_entries_wad_out_entry_serial_id_seq; Type: SEQUENCE SET; 
Schema: public; Owner: -
---
-
-SELECT pg_catalog.setval('public.wad_out_entries_wad_out_entry_serial_id_seq', 
1, false);
-
-
---
--- Name: wads_in_wad_in_serial_id_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.wads_in_wad_in_serial_id_seq', 1, false);
-
-
---
--- Name: wads_out_wad_out_serial_id_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.wads_out_wad_out_serial_id_seq', 1, false);
-
-
---
--- Name: wire_fee_wire_fee_serial_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.wire_fee_wire_fee_serial_seq', 1, true);
-
-
---
--- Name: wire_out_wireout_uuid_seq; Type: SEQUENCE SET; Schema: public; Owner: 
-
---
-
-SELECT pg_catalog.setval('public.wire_out_wireout_uuid_seq', 1, false);
-
-
---
--- Name: wire_targets_wire_target_serial_id_seq; Type: SEQUENCE SET; Schema: 
public; Owner: -
---
-
-SELECT pg_catalog.setval('public.wire_targets_wire_target_serial_id_seq', 4, 
true);
-
-
---
--- Name: work_shards_shard_serial_id_seq; Type: SEQUENCE SET; Schema: public; 
Owner: -
---
-
-SELECT pg_catalog.setval('public.work_shards_shard_serial_id_seq', 1, true);
-
-
---
--- Name: patches patches_pkey; Type: CONSTRAINT; Schema: _v; Owner: -
---
-
-ALTER TABLE ONLY _v.patches
-    ADD CONSTRAINT patches_pkey PRIMARY KEY (patch_name);
-
-
---
--- Name: account_merges_default 
account_merges_default_account_merge_request_serial_id_key; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.account_merges_default
-    ADD CONSTRAINT account_merges_default_account_merge_request_serial_id_key 
UNIQUE (account_merge_request_serial_id);
-
-
---
--- Name: account_merges account_merges_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.account_merges
-    ADD CONSTRAINT account_merges_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: account_merges_default account_merges_default_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.account_merges_default
-    ADD CONSTRAINT account_merges_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: aggregation_tracking_default 
aggregation_tracking_default_aggregation_serial_id_key; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.aggregation_tracking_default
-    ADD CONSTRAINT aggregation_tracking_default_aggregation_serial_id_key 
UNIQUE (aggregation_serial_id);
-
-
---
--- Name: aggregation_tracking aggregation_tracking_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.aggregation_tracking
-    ADD CONSTRAINT aggregation_tracking_pkey PRIMARY KEY (deposit_serial_id);
-
-
---
--- Name: aggregation_tracking_default aggregation_tracking_default_pkey; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.aggregation_tracking_default
-    ADD CONSTRAINT aggregation_tracking_default_pkey PRIMARY KEY 
(deposit_serial_id);
-
-
---
--- Name: app_bankaccount app_bankaccount_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.app_bankaccount
-    ADD CONSTRAINT app_bankaccount_pkey PRIMARY KEY (account_no);
-
-
---
--- Name: app_bankaccount app_bankaccount_user_id_key; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.app_bankaccount
-    ADD CONSTRAINT app_bankaccount_user_id_key UNIQUE (user_id);
-
-
---
--- Name: app_banktransaction app_banktransaction_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.app_banktransaction
-    ADD CONSTRAINT app_banktransaction_pkey PRIMARY KEY (id);
-
-
---
--- Name: app_banktransaction app_banktransaction_request_uid_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.app_banktransaction
-    ADD CONSTRAINT app_banktransaction_request_uid_key UNIQUE (request_uid);
-
-
---
--- Name: app_talerwithdrawoperation app_talerwithdrawoperation_pkey; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.app_talerwithdrawoperation
-    ADD CONSTRAINT app_talerwithdrawoperation_pkey PRIMARY KEY (withdraw_id);
-
-
---
--- Name: auditor_denom_sigs auditor_denom_sigs_auditor_denom_serial_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_denom_sigs
-    ADD CONSTRAINT auditor_denom_sigs_auditor_denom_serial_key UNIQUE 
(auditor_denom_serial);
-
-
---
--- Name: auditor_denom_sigs auditor_denom_sigs_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_denom_sigs
-    ADD CONSTRAINT auditor_denom_sigs_pkey PRIMARY KEY (denominations_serial, 
auditor_uuid);
-
-
---
--- Name: auditor_denomination_pending auditor_denomination_pending_pkey; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_denomination_pending
-    ADD CONSTRAINT auditor_denomination_pending_pkey PRIMARY KEY 
(denom_pub_hash);
-
-
---
--- Name: auditor_exchanges auditor_exchanges_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_exchanges
-    ADD CONSTRAINT auditor_exchanges_pkey PRIMARY KEY (master_pub);
-
-
---
--- Name: auditor_historic_denomination_revenue 
auditor_historic_denomination_revenue_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.auditor_historic_denomination_revenue
-    ADD CONSTRAINT auditor_historic_denomination_revenue_pkey PRIMARY KEY 
(denom_pub_hash);
-
-
---
--- Name: auditor_progress_aggregation auditor_progress_aggregation_pkey; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_progress_aggregation
-    ADD CONSTRAINT auditor_progress_aggregation_pkey PRIMARY KEY (master_pub);
-
-
---
--- Name: auditor_progress_coin auditor_progress_coin_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_progress_coin
-    ADD CONSTRAINT auditor_progress_coin_pkey PRIMARY KEY (master_pub);
-
-
---
--- Name: auditor_progress_deposit_confirmation 
auditor_progress_deposit_confirmation_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.auditor_progress_deposit_confirmation
-    ADD CONSTRAINT auditor_progress_deposit_confirmation_pkey PRIMARY KEY 
(master_pub);
-
-
---
--- Name: auditor_progress_reserve auditor_progress_reserve_pkey; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_progress_reserve
-    ADD CONSTRAINT auditor_progress_reserve_pkey PRIMARY KEY (master_pub);
-
-
---
--- Name: auditor_reserves auditor_reserves_auditor_reserves_rowid_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_reserves
-    ADD CONSTRAINT auditor_reserves_auditor_reserves_rowid_key UNIQUE 
(auditor_reserves_rowid);
-
-
---
--- Name: auditors auditors_auditor_uuid_key; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.auditors
-    ADD CONSTRAINT auditors_auditor_uuid_key UNIQUE (auditor_uuid);
-
-
---
--- Name: auditors auditors_pkey; Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auditors
-    ADD CONSTRAINT auditors_pkey PRIMARY KEY (auditor_pub);
-
-
---
--- Name: auth_group auth_group_name_key; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.auth_group
-    ADD CONSTRAINT auth_group_name_key UNIQUE (name);
-
-
---
--- Name: auth_group_permissions 
auth_group_permissions_group_id_permission_id_0cd325b0_uniq; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_group_permissions
-    ADD CONSTRAINT auth_group_permissions_group_id_permission_id_0cd325b0_uniq 
UNIQUE (group_id, permission_id);
-
-
---
--- Name: auth_group_permissions auth_group_permissions_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_group_permissions
-    ADD CONSTRAINT auth_group_permissions_pkey PRIMARY KEY (id);
-
-
---
--- Name: auth_group auth_group_pkey; Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_group
-    ADD CONSTRAINT auth_group_pkey PRIMARY KEY (id);
-
-
---
--- Name: auth_permission 
auth_permission_content_type_id_codename_01ab375a_uniq; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_permission
-    ADD CONSTRAINT auth_permission_content_type_id_codename_01ab375a_uniq 
UNIQUE (content_type_id, codename);
-
-
---
--- Name: auth_permission auth_permission_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_permission
-    ADD CONSTRAINT auth_permission_pkey PRIMARY KEY (id);
-
-
---
--- Name: auth_user_groups auth_user_groups_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_user_groups
-    ADD CONSTRAINT auth_user_groups_pkey PRIMARY KEY (id);
-
-
---
--- Name: auth_user_groups auth_user_groups_user_id_group_id_94350c0c_uniq; 
Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_user_groups
-    ADD CONSTRAINT auth_user_groups_user_id_group_id_94350c0c_uniq UNIQUE 
(user_id, group_id);
-
-
---
--- Name: auth_user auth_user_pkey; Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_user
-    ADD CONSTRAINT auth_user_pkey PRIMARY KEY (id);
-
-
---
--- Name: auth_user_user_permissions auth_user_user_permissions_pkey; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_user_user_permissions
-    ADD CONSTRAINT auth_user_user_permissions_pkey PRIMARY KEY (id);
-
-
---
--- Name: auth_user_user_permissions 
auth_user_user_permissions_user_id_permission_id_14a6b632_uniq; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_user_user_permissions
-    ADD CONSTRAINT 
auth_user_user_permissions_user_id_permission_id_14a6b632_uniq UNIQUE (user_id, 
permission_id);
-
-
---
--- Name: auth_user auth_user_username_key; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.auth_user
-    ADD CONSTRAINT auth_user_username_key UNIQUE (username);
-
-
---
--- Name: close_requests close_requests_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.close_requests
-    ADD CONSTRAINT close_requests_pkey PRIMARY KEY (reserve_pub, 
close_timestamp);
-
-
---
--- Name: close_requests_default close_requests_default_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.close_requests_default
-    ADD CONSTRAINT close_requests_default_pkey PRIMARY KEY (reserve_pub, 
close_timestamp);
-
-
---
--- Name: contracts_default contracts_default_contract_serial_id_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.contracts_default
-    ADD CONSTRAINT contracts_default_contract_serial_id_key UNIQUE 
(contract_serial_id);
-
-
---
--- Name: contracts contracts_pkey; Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.contracts
-    ADD CONSTRAINT contracts_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: contracts_default contracts_default_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.contracts_default
-    ADD CONSTRAINT contracts_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: cs_nonce_locks_default 
cs_nonce_locks_default_cs_nonce_lock_serial_id_key; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.cs_nonce_locks_default
-    ADD CONSTRAINT cs_nonce_locks_default_cs_nonce_lock_serial_id_key UNIQUE 
(cs_nonce_lock_serial_id);
-
-
---
--- Name: cs_nonce_locks cs_nonce_locks_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.cs_nonce_locks
-    ADD CONSTRAINT cs_nonce_locks_pkey PRIMARY KEY (nonce);
-
-
---
--- Name: cs_nonce_locks_default cs_nonce_locks_default_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.cs_nonce_locks_default
-    ADD CONSTRAINT cs_nonce_locks_default_pkey PRIMARY KEY (nonce);
-
-
---
--- Name: denomination_revocations 
denomination_revocations_denom_revocations_serial_id_key; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.denomination_revocations
-    ADD CONSTRAINT denomination_revocations_denom_revocations_serial_id_key 
UNIQUE (denom_revocations_serial_id);
-
-
---
--- Name: denomination_revocations denomination_revocations_pkey; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.denomination_revocations
-    ADD CONSTRAINT denomination_revocations_pkey PRIMARY KEY 
(denominations_serial);
-
-
---
--- Name: denominations denominations_denominations_serial_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.denominations
-    ADD CONSTRAINT denominations_denominations_serial_key UNIQUE 
(denominations_serial);
-
-
---
--- Name: denominations denominations_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.denominations
-    ADD CONSTRAINT denominations_pkey PRIMARY KEY (denom_pub_hash);
-
-
---
--- Name: deposit_confirmations deposit_confirmations_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.deposit_confirmations
-    ADD CONSTRAINT deposit_confirmations_pkey PRIMARY KEY (h_contract_terms, 
h_wire, coin_pub, merchant_pub, exchange_sig, exchange_pub, master_sig);
-
-
---
--- Name: deposit_confirmations deposit_confirmations_serial_id_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.deposit_confirmations
-    ADD CONSTRAINT deposit_confirmations_serial_id_key UNIQUE (serial_id);
-
-
---
--- Name: deposits_default 
deposits_default_coin_pub_merchant_pub_h_contract_terms_key; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.deposits_default
-    ADD CONSTRAINT deposits_default_coin_pub_merchant_pub_h_contract_terms_key 
UNIQUE (coin_pub, merchant_pub, h_contract_terms);
-
-
---
--- Name: deposits_default deposits_default_deposit_serial_id_pkey; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.deposits_default
-    ADD CONSTRAINT deposits_default_deposit_serial_id_pkey PRIMARY KEY 
(deposit_serial_id);
-
-
---
--- Name: django_content_type 
django_content_type_app_label_model_76bd3d3b_uniq; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.django_content_type
-    ADD CONSTRAINT django_content_type_app_label_model_76bd3d3b_uniq UNIQUE 
(app_label, model);
-
-
---
--- Name: django_content_type django_content_type_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.django_content_type
-    ADD CONSTRAINT django_content_type_pkey PRIMARY KEY (id);
-
-
---
--- Name: django_migrations django_migrations_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.django_migrations
-    ADD CONSTRAINT django_migrations_pkey PRIMARY KEY (id);
-
-
---
--- Name: django_session django_session_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.django_session
-    ADD CONSTRAINT django_session_pkey PRIMARY KEY (session_key);
-
-
---
--- Name: exchange_sign_keys exchange_sign_keys_esk_serial_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.exchange_sign_keys
-    ADD CONSTRAINT exchange_sign_keys_esk_serial_key UNIQUE (esk_serial);
-
-
---
--- Name: exchange_sign_keys exchange_sign_keys_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.exchange_sign_keys
-    ADD CONSTRAINT exchange_sign_keys_pkey PRIMARY KEY (exchange_pub);
-
-
---
--- Name: extension_details extension_details_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.extension_details
-    ADD CONSTRAINT extension_details_pkey PRIMARY KEY 
(extension_details_serial_id);
-
-
---
--- Name: extension_details_default extension_details_default_pkey; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.extension_details_default
-    ADD CONSTRAINT extension_details_default_pkey PRIMARY KEY 
(extension_details_serial_id);
-
-
---
--- Name: extensions extensions_extension_id_key; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.extensions
-    ADD CONSTRAINT extensions_extension_id_key UNIQUE (extension_id);
-
-
---
--- Name: extensions extensions_name_key; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.extensions
-    ADD CONSTRAINT extensions_name_key UNIQUE (name);
-
-
---
--- Name: global_fee global_fee_global_fee_serial_key; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.global_fee
-    ADD CONSTRAINT global_fee_global_fee_serial_key UNIQUE (global_fee_serial);
-
-
---
--- Name: global_fee global_fee_pkey; Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.global_fee
-    ADD CONSTRAINT global_fee_pkey PRIMARY KEY (start_date);
-
-
---
--- Name: history_requests history_requests_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.history_requests
-    ADD CONSTRAINT history_requests_pkey PRIMARY KEY (reserve_pub, 
request_timestamp);
-
-
---
--- Name: history_requests_default history_requests_default_pkey; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.history_requests_default
-    ADD CONSTRAINT history_requests_default_pkey PRIMARY KEY (reserve_pub, 
request_timestamp);
-
-
---
--- Name: known_coins_default known_coins_default_known_coin_id_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.known_coins_default
-    ADD CONSTRAINT known_coins_default_known_coin_id_key UNIQUE 
(known_coin_id);
-
-
---
--- Name: known_coins known_coins_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.known_coins
-    ADD CONSTRAINT known_coins_pkey PRIMARY KEY (coin_pub);
-
-
---
--- Name: known_coins_default known_coins_default_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.known_coins_default
-    ADD CONSTRAINT known_coins_default_pkey PRIMARY KEY (coin_pub);
-
-
---
--- Name: merchant_accounts merchant_accounts_h_wire_key; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_accounts
-    ADD CONSTRAINT merchant_accounts_h_wire_key UNIQUE (h_wire);
-
-
---
--- Name: merchant_accounts merchant_accounts_merchant_serial_payto_uri_key; 
Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_accounts
-    ADD CONSTRAINT merchant_accounts_merchant_serial_payto_uri_key UNIQUE 
(merchant_serial, payto_uri);
-
-
---
--- Name: merchant_accounts merchant_accounts_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_accounts
-    ADD CONSTRAINT merchant_accounts_pkey PRIMARY KEY (account_serial);
-
-
---
--- Name: merchant_contract_terms 
merchant_contract_terms_merchant_serial_h_contract_terms_key; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_contract_terms
-    ADD CONSTRAINT 
merchant_contract_terms_merchant_serial_h_contract_terms_key UNIQUE 
(merchant_serial, h_contract_terms);
-
-
---
--- Name: merchant_contract_terms 
merchant_contract_terms_merchant_serial_order_id_key; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_contract_terms
-    ADD CONSTRAINT merchant_contract_terms_merchant_serial_order_id_key UNIQUE 
(merchant_serial, order_id);
-
-
---
--- Name: merchant_contract_terms merchant_contract_terms_pkey; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_contract_terms
-    ADD CONSTRAINT merchant_contract_terms_pkey PRIMARY KEY (order_serial);
-
-
---
--- Name: merchant_deposit_to_transfer 
merchant_deposit_to_transfer_deposit_serial_credit_serial_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_deposit_to_transfer
-    ADD CONSTRAINT 
merchant_deposit_to_transfer_deposit_serial_credit_serial_key UNIQUE 
(deposit_serial, credit_serial);
-
-
---
--- Name: merchant_deposits merchant_deposits_order_serial_coin_pub_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_deposits
-    ADD CONSTRAINT merchant_deposits_order_serial_coin_pub_key UNIQUE 
(order_serial, coin_pub);
-
-
---
--- Name: merchant_deposits merchant_deposits_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_deposits
-    ADD CONSTRAINT merchant_deposits_pkey PRIMARY KEY (deposit_serial);
-
-
---
--- Name: merchant_exchange_signing_keys 
merchant_exchange_signing_key_exchange_pub_start_date_maste_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_exchange_signing_keys
-    ADD CONSTRAINT 
merchant_exchange_signing_key_exchange_pub_start_date_maste_key UNIQUE 
(exchange_pub, start_date, master_pub);
-
-
---
--- Name: merchant_exchange_signing_keys merchant_exchange_signing_keys_pkey; 
Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_exchange_signing_keys
-    ADD CONSTRAINT merchant_exchange_signing_keys_pkey PRIMARY KEY 
(signkey_serial);
-
-
---
--- Name: merchant_exchange_wire_fees 
merchant_exchange_wire_fees_master_pub_h_wire_method_start__key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_exchange_wire_fees
-    ADD CONSTRAINT 
merchant_exchange_wire_fees_master_pub_h_wire_method_start__key UNIQUE 
(master_pub, h_wire_method, start_date);
-
-
---
--- Name: merchant_exchange_wire_fees merchant_exchange_wire_fees_pkey; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_exchange_wire_fees
-    ADD CONSTRAINT merchant_exchange_wire_fees_pkey PRIMARY KEY 
(wirefee_serial);
-
-
---
--- Name: merchant_instances merchant_instances_merchant_id_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_instances
-    ADD CONSTRAINT merchant_instances_merchant_id_key UNIQUE (merchant_id);
-
-
---
--- Name: merchant_instances merchant_instances_merchant_pub_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_instances
-    ADD CONSTRAINT merchant_instances_merchant_pub_key UNIQUE (merchant_pub);
-
-
---
--- Name: merchant_instances merchant_instances_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_instances
-    ADD CONSTRAINT merchant_instances_pkey PRIMARY KEY (merchant_serial);
-
-
---
--- Name: merchant_inventory merchant_inventory_merchant_serial_product_id_key; 
Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_inventory
-    ADD CONSTRAINT merchant_inventory_merchant_serial_product_id_key UNIQUE 
(merchant_serial, product_id);
-
-
---
--- Name: merchant_inventory merchant_inventory_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_inventory
-    ADD CONSTRAINT merchant_inventory_pkey PRIMARY KEY (product_serial);
-
-
---
--- Name: merchant_keys merchant_keys_merchant_priv_key; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_keys
-    ADD CONSTRAINT merchant_keys_merchant_priv_key UNIQUE (merchant_priv);
-
-
---
--- Name: merchant_keys merchant_keys_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.merchant_keys
-    ADD CONSTRAINT merchant_keys_pkey PRIMARY KEY (merchant_serial);
-
-
---
--- Name: merchant_kyc merchant_kyc_kyc_serial_id_key; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_kyc
-    ADD CONSTRAINT merchant_kyc_kyc_serial_id_key UNIQUE (kyc_serial_id);
-
-
---
--- Name: merchant_kyc merchant_kyc_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.merchant_kyc
-    ADD CONSTRAINT merchant_kyc_pkey PRIMARY KEY (account_serial, 
exchange_url);
-
-
---
--- Name: merchant_orders merchant_orders_merchant_serial_order_id_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_orders
-    ADD CONSTRAINT merchant_orders_merchant_serial_order_id_key UNIQUE 
(merchant_serial, order_id);
-
-
---
--- Name: merchant_orders merchant_orders_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_orders
-    ADD CONSTRAINT merchant_orders_pkey PRIMARY KEY (order_serial);
-
-
---
--- Name: merchant_refund_proofs merchant_refund_proofs_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_refund_proofs
-    ADD CONSTRAINT merchant_refund_proofs_pkey PRIMARY KEY (refund_serial);
-
-
---
--- Name: merchant_refunds 
merchant_refunds_order_serial_coin_pub_rtransaction_id_key; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_refunds
-    ADD CONSTRAINT merchant_refunds_order_serial_coin_pub_rtransaction_id_key 
UNIQUE (order_serial, coin_pub, rtransaction_id);
-
-
---
--- Name: merchant_refunds merchant_refunds_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_refunds
-    ADD CONSTRAINT merchant_refunds_pkey PRIMARY KEY (refund_serial);
-
-
---
--- Name: merchant_tip_pickup_signatures merchant_tip_pickup_signatures_pkey; 
Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_tip_pickup_signatures
-    ADD CONSTRAINT merchant_tip_pickup_signatures_pkey PRIMARY KEY 
(pickup_serial, coin_offset);
-
-
---
--- Name: merchant_tip_pickups merchant_tip_pickups_pickup_id_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_tip_pickups
-    ADD CONSTRAINT merchant_tip_pickups_pickup_id_key UNIQUE (pickup_id);
-
-
---
--- Name: merchant_tip_pickups merchant_tip_pickups_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_tip_pickups
-    ADD CONSTRAINT merchant_tip_pickups_pkey PRIMARY KEY (pickup_serial);
-
-
---
--- Name: merchant_tip_reserve_keys merchant_tip_reserve_keys_reserve_priv_key; 
Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_tip_reserve_keys
-    ADD CONSTRAINT merchant_tip_reserve_keys_reserve_priv_key UNIQUE 
(reserve_priv);
-
-
---
--- Name: merchant_tip_reserve_keys 
merchant_tip_reserve_keys_reserve_serial_key; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.merchant_tip_reserve_keys
-    ADD CONSTRAINT merchant_tip_reserve_keys_reserve_serial_key UNIQUE 
(reserve_serial);
-
-
---
--- Name: merchant_tip_reserves merchant_tip_reserves_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_tip_reserves
-    ADD CONSTRAINT merchant_tip_reserves_pkey PRIMARY KEY (reserve_serial);
-
-
---
--- Name: merchant_tip_reserves merchant_tip_reserves_reserve_pub_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_tip_reserves
-    ADD CONSTRAINT merchant_tip_reserves_reserve_pub_key UNIQUE (reserve_pub);
-
-
---
--- Name: merchant_tips merchant_tips_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.merchant_tips
-    ADD CONSTRAINT merchant_tips_pkey PRIMARY KEY (tip_serial);
-
-
---
--- Name: merchant_tips merchant_tips_tip_id_key; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_tips
-    ADD CONSTRAINT merchant_tips_tip_id_key UNIQUE (tip_id);
-
-
---
--- Name: merchant_transfer_signatures merchant_transfer_signatures_pkey; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_transfer_signatures
-    ADD CONSTRAINT merchant_transfer_signatures_pkey PRIMARY KEY 
(credit_serial);
-
-
---
--- Name: merchant_transfer_to_coin 
merchant_transfer_to_coin_deposit_serial_key; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.merchant_transfer_to_coin
-    ADD CONSTRAINT merchant_transfer_to_coin_deposit_serial_key UNIQUE 
(deposit_serial);
-
-
---
--- Name: merchant_transfers merchant_transfers_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_transfers
-    ADD CONSTRAINT merchant_transfers_pkey PRIMARY KEY (credit_serial);
-
-
---
--- Name: merchant_transfers 
merchant_transfers_wtid_exchange_url_account_serial_key; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_transfers
-    ADD CONSTRAINT merchant_transfers_wtid_exchange_url_account_serial_key 
UNIQUE (wtid, exchange_url, account_serial);
-
-
---
--- Name: partner_accounts partner_accounts_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.partner_accounts
-    ADD CONSTRAINT partner_accounts_pkey PRIMARY KEY (payto_uri);
-
-
---
--- Name: partners partners_partner_serial_id_key; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.partners
-    ADD CONSTRAINT partners_partner_serial_id_key UNIQUE (partner_serial_id);
-
-
---
--- Name: prewire prewire_pkey; Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.prewire
-    ADD CONSTRAINT prewire_pkey PRIMARY KEY (prewire_uuid);
-
-
---
--- Name: prewire_default prewire_default_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.prewire_default
-    ADD CONSTRAINT prewire_default_pkey PRIMARY KEY (prewire_uuid);
-
-
---
--- Name: purse_actions purse_actions_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.purse_actions
-    ADD CONSTRAINT purse_actions_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_deposits purse_deposits_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.purse_deposits
-    ADD CONSTRAINT purse_deposits_pkey PRIMARY KEY (purse_pub, coin_pub);
-
-
---
--- Name: purse_deposits_default purse_deposits_default_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.purse_deposits_default
-    ADD CONSTRAINT purse_deposits_default_pkey PRIMARY KEY (purse_pub, 
coin_pub);
-
-
---
--- Name: purse_deposits_default 
purse_deposits_default_purse_deposit_serial_id_key; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.purse_deposits_default
-    ADD CONSTRAINT purse_deposits_default_purse_deposit_serial_id_key UNIQUE 
(purse_deposit_serial_id);
-
-
---
--- Name: purse_merges purse_merges_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.purse_merges
-    ADD CONSTRAINT purse_merges_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_merges_default purse_merges_default_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.purse_merges_default
-    ADD CONSTRAINT purse_merges_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_merges_default 
purse_merges_default_purse_merge_request_serial_id_key; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.purse_merges_default
-    ADD CONSTRAINT purse_merges_default_purse_merge_request_serial_id_key 
UNIQUE (purse_merge_request_serial_id);
-
-
---
--- Name: purse_refunds purse_refunds_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.purse_refunds
-    ADD CONSTRAINT purse_refunds_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_refunds_default purse_refunds_default_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.purse_refunds_default
-    ADD CONSTRAINT purse_refunds_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_refunds_default 
purse_refunds_default_purse_refunds_serial_id_key; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.purse_refunds_default
-    ADD CONSTRAINT purse_refunds_default_purse_refunds_serial_id_key UNIQUE 
(purse_refunds_serial_id);
-
-
---
--- Name: purse_requests purse_requests_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.purse_requests
-    ADD CONSTRAINT purse_requests_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_requests_default purse_requests_default_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.purse_requests_default
-    ADD CONSTRAINT purse_requests_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: purse_requests_default 
purse_requests_default_purse_requests_serial_id_key; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.purse_requests_default
-    ADD CONSTRAINT purse_requests_default_purse_requests_serial_id_key UNIQUE 
(purse_requests_serial_id);
-
-
---
--- Name: recoup_default recoup_default_recoup_uuid_key; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.recoup_default
-    ADD CONSTRAINT recoup_default_recoup_uuid_key UNIQUE (recoup_uuid);
-
-
---
--- Name: recoup_refresh_default 
recoup_refresh_default_recoup_refresh_uuid_key; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.recoup_refresh_default
-    ADD CONSTRAINT recoup_refresh_default_recoup_refresh_uuid_key UNIQUE 
(recoup_refresh_uuid);
-
-
---
--- Name: refresh_commitments_default 
refresh_commitments_default_melt_serial_id_key; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.refresh_commitments_default
-    ADD CONSTRAINT refresh_commitments_default_melt_serial_id_key UNIQUE 
(melt_serial_id);
-
-
---
--- Name: refresh_commitments refresh_commitments_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.refresh_commitments
-    ADD CONSTRAINT refresh_commitments_pkey PRIMARY KEY (rc);
-
-
---
--- Name: refresh_commitments_default refresh_commitments_default_pkey; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.refresh_commitments_default
-    ADD CONSTRAINT refresh_commitments_default_pkey PRIMARY KEY (rc);
-
-
---
--- Name: refresh_revealed_coins_default 
refresh_revealed_coins_default_coin_ev_key; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.refresh_revealed_coins_default
-    ADD CONSTRAINT refresh_revealed_coins_default_coin_ev_key UNIQUE (coin_ev);
-
-
---
--- Name: refresh_revealed_coins_default 
refresh_revealed_coins_default_h_coin_ev_key; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.refresh_revealed_coins_default
-    ADD CONSTRAINT refresh_revealed_coins_default_h_coin_ev_key UNIQUE 
(h_coin_ev);
-
-
---
--- Name: refresh_revealed_coins_default refresh_revealed_coins_default_pkey; 
Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.refresh_revealed_coins_default
-    ADD CONSTRAINT refresh_revealed_coins_default_pkey PRIMARY KEY 
(melt_serial_id, freshcoin_index);
-
-
---
--- Name: refresh_revealed_coins_default 
refresh_revealed_coins_default_rrc_serial_key; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.refresh_revealed_coins_default
-    ADD CONSTRAINT refresh_revealed_coins_default_rrc_serial_key UNIQUE 
(rrc_serial);
-
-
---
--- Name: refresh_transfer_keys refresh_transfer_keys_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.refresh_transfer_keys
-    ADD CONSTRAINT refresh_transfer_keys_pkey PRIMARY KEY (melt_serial_id);
-
-
---
--- Name: refresh_transfer_keys_default refresh_transfer_keys_default_pkey; 
Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.refresh_transfer_keys_default
-    ADD CONSTRAINT refresh_transfer_keys_default_pkey PRIMARY KEY 
(melt_serial_id);
-
-
---
--- Name: refresh_transfer_keys_default 
refresh_transfer_keys_default_rtc_serial_key; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.refresh_transfer_keys_default
-    ADD CONSTRAINT refresh_transfer_keys_default_rtc_serial_key UNIQUE 
(rtc_serial);
-
-
---
--- Name: refunds_default refunds_default_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.refunds_default
-    ADD CONSTRAINT refunds_default_pkey PRIMARY KEY (deposit_serial_id, 
rtransaction_id);
-
-
---
--- Name: refunds_default refunds_default_refund_serial_id_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.refunds_default
-    ADD CONSTRAINT refunds_default_refund_serial_id_key UNIQUE 
(refund_serial_id);
-
-
---
--- Name: reserves_close_default reserves_close_default_close_uuid_pkey; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.reserves_close_default
-    ADD CONSTRAINT reserves_close_default_close_uuid_pkey PRIMARY KEY 
(close_uuid);
-
-
---
--- Name: reserves reserves_pkey; Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.reserves
-    ADD CONSTRAINT reserves_pkey PRIMARY KEY (reserve_pub);
-
-
---
--- Name: reserves_default reserves_default_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.reserves_default
-    ADD CONSTRAINT reserves_default_pkey PRIMARY KEY (reserve_pub);
-
-
---
--- Name: reserves_in reserves_in_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.reserves_in
-    ADD CONSTRAINT reserves_in_pkey PRIMARY KEY (reserve_pub);
-
-
---
--- Name: reserves_in_default reserves_in_default_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.reserves_in_default
-    ADD CONSTRAINT reserves_in_default_pkey PRIMARY KEY (reserve_pub);
-
-
---
--- Name: reserves_in_default reserves_in_default_reserve_in_serial_id_key; 
Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.reserves_in_default
-    ADD CONSTRAINT reserves_in_default_reserve_in_serial_id_key UNIQUE 
(reserve_in_serial_id);
-
-
---
--- Name: reserves_out reserves_out_h_blind_ev_key; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.reserves_out
-    ADD CONSTRAINT reserves_out_h_blind_ev_key UNIQUE (h_blind_ev);
-
-
---
--- Name: reserves_out_default reserves_out_default_h_blind_ev_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.reserves_out_default
-    ADD CONSTRAINT reserves_out_default_h_blind_ev_key UNIQUE (h_blind_ev);
-
-
---
--- Name: reserves_out_default reserves_out_default_reserve_out_serial_id_key; 
Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.reserves_out_default
-    ADD CONSTRAINT reserves_out_default_reserve_out_serial_id_key UNIQUE 
(reserve_out_serial_id);
-
-
---
--- Name: revolving_work_shards revolving_work_shards_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.revolving_work_shards
-    ADD CONSTRAINT revolving_work_shards_pkey PRIMARY KEY (job_name, 
start_row);
-
-
---
--- Name: revolving_work_shards revolving_work_shards_shard_serial_id_key; 
Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.revolving_work_shards
-    ADD CONSTRAINT revolving_work_shards_shard_serial_id_key UNIQUE 
(shard_serial_id);
-
-
---
--- Name: signkey_revocations signkey_revocations_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.signkey_revocations
-    ADD CONSTRAINT signkey_revocations_pkey PRIMARY KEY (esk_serial);
-
-
---
--- Name: signkey_revocations 
signkey_revocations_signkey_revocations_serial_id_key; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.signkey_revocations
-    ADD CONSTRAINT signkey_revocations_signkey_revocations_serial_id_key 
UNIQUE (signkey_revocations_serial_id);
-
-
---
--- Name: wad_in_entries wad_in_entries_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.wad_in_entries
-    ADD CONSTRAINT wad_in_entries_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: wad_in_entries_default wad_in_entries_default_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.wad_in_entries_default
-    ADD CONSTRAINT wad_in_entries_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: wad_in_entries_default 
wad_in_entries_default_wad_in_entry_serial_id_key; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.wad_in_entries_default
-    ADD CONSTRAINT wad_in_entries_default_wad_in_entry_serial_id_key UNIQUE 
(wad_in_entry_serial_id);
-
-
---
--- Name: wad_out_entries wad_out_entries_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.wad_out_entries
-    ADD CONSTRAINT wad_out_entries_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: wad_out_entries_default wad_out_entries_default_pkey; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.wad_out_entries_default
-    ADD CONSTRAINT wad_out_entries_default_pkey PRIMARY KEY (purse_pub);
-
-
---
--- Name: wad_out_entries_default 
wad_out_entries_default_wad_out_entry_serial_id_key; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.wad_out_entries_default
-    ADD CONSTRAINT wad_out_entries_default_wad_out_entry_serial_id_key UNIQUE 
(wad_out_entry_serial_id);
-
-
---
--- Name: wads_in wads_in_pkey; Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.wads_in
-    ADD CONSTRAINT wads_in_pkey PRIMARY KEY (wad_id);
-
-
---
--- Name: wads_in_default wads_in_default_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.wads_in_default
-    ADD CONSTRAINT wads_in_default_pkey PRIMARY KEY (wad_id);
-
-
---
--- Name: wads_in wads_in_wad_id_origin_exchange_url_key; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.wads_in
-    ADD CONSTRAINT wads_in_wad_id_origin_exchange_url_key UNIQUE (wad_id, 
origin_exchange_url);
-
-
---
--- Name: wads_in_default wads_in_default_wad_id_origin_exchange_url_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.wads_in_default
-    ADD CONSTRAINT wads_in_default_wad_id_origin_exchange_url_key UNIQUE 
(wad_id, origin_exchange_url);
-
-
---
--- Name: wads_in_default wads_in_default_wad_in_serial_id_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.wads_in_default
-    ADD CONSTRAINT wads_in_default_wad_in_serial_id_key UNIQUE 
(wad_in_serial_id);
-
-
---
--- Name: wads_in_default wads_in_default_wad_is_origin_exchange_url_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.wads_in_default
-    ADD CONSTRAINT wads_in_default_wad_is_origin_exchange_url_key UNIQUE 
(wad_id, origin_exchange_url);
-
-
---
--- Name: wads_out wads_out_pkey; Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.wads_out
-    ADD CONSTRAINT wads_out_pkey PRIMARY KEY (wad_id);
-
-
---
--- Name: wads_out_default wads_out_default_pkey; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.wads_out_default
-    ADD CONSTRAINT wads_out_default_pkey PRIMARY KEY (wad_id);
-
-
---
--- Name: wads_out_default wads_out_default_wad_out_serial_id_key; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.wads_out_default
-    ADD CONSTRAINT wads_out_default_wad_out_serial_id_key UNIQUE 
(wad_out_serial_id);
-
-
---
--- Name: wire_accounts wire_accounts_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.wire_accounts
-    ADD CONSTRAINT wire_accounts_pkey PRIMARY KEY (payto_uri);
-
-
---
--- Name: wire_auditor_account_progress wire_auditor_account_progress_pkey; 
Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.wire_auditor_account_progress
-    ADD CONSTRAINT wire_auditor_account_progress_pkey PRIMARY KEY (master_pub, 
account_name);
-
-
---
--- Name: wire_auditor_progress wire_auditor_progress_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.wire_auditor_progress
-    ADD CONSTRAINT wire_auditor_progress_pkey PRIMARY KEY (master_pub);
-
-
---
--- Name: wire_fee wire_fee_pkey; Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.wire_fee
-    ADD CONSTRAINT wire_fee_pkey PRIMARY KEY (wire_method, start_date);
-
-
---
--- Name: wire_fee wire_fee_wire_fee_serial_key; Type: CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.wire_fee
-    ADD CONSTRAINT wire_fee_wire_fee_serial_key UNIQUE (wire_fee_serial);
-
-
---
--- Name: wire_out_default wire_out_default_wireout_uuid_pkey; Type: 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.wire_out_default
-    ADD CONSTRAINT wire_out_default_wireout_uuid_pkey PRIMARY KEY 
(wireout_uuid);
-
-
---
--- Name: wire_out wire_out_wtid_raw_key; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.wire_out
-    ADD CONSTRAINT wire_out_wtid_raw_key UNIQUE (wtid_raw);
-
-
---
--- Name: wire_out_default wire_out_default_wtid_raw_key; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.wire_out_default
-    ADD CONSTRAINT wire_out_default_wtid_raw_key UNIQUE (wtid_raw);
-
-
---
--- Name: wire_targets wire_targets_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.wire_targets
-    ADD CONSTRAINT wire_targets_pkey PRIMARY KEY (wire_target_h_payto);
-
-
---
--- Name: wire_targets_default wire_targets_default_pkey; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.wire_targets_default
-    ADD CONSTRAINT wire_targets_default_pkey PRIMARY KEY (wire_target_h_payto);
-
-
---
--- Name: wire_targets_default wire_targets_default_wire_target_serial_id_key; 
Type: CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.wire_targets_default
-    ADD CONSTRAINT wire_targets_default_wire_target_serial_id_key UNIQUE 
(wire_target_serial_id);
-
-
---
--- Name: work_shards work_shards_pkey; Type: CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.work_shards
-    ADD CONSTRAINT work_shards_pkey PRIMARY KEY (job_name, start_row);
-
-
---
--- Name: work_shards work_shards_shard_serial_id_key; Type: CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.work_shards
-    ADD CONSTRAINT work_shards_shard_serial_id_key UNIQUE (shard_serial_id);
-
-
---
--- Name: account_merges_by_reserve_pub; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX account_merges_by_reserve_pub ON ONLY public.account_merges USING 
btree (reserve_pub);
-
-
---
--- Name: account_merges_default_reserve_pub_idx; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX account_merges_default_reserve_pub_idx ON 
public.account_merges_default USING btree (reserve_pub);
-
-
---
--- Name: aggregation_tracking_by_wtid_raw_index; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX aggregation_tracking_by_wtid_raw_index ON ONLY 
public.aggregation_tracking USING btree (wtid_raw);
-
-
---
--- Name: INDEX aggregation_tracking_by_wtid_raw_index; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON INDEX public.aggregation_tracking_by_wtid_raw_index IS 'for 
lookup_transactions';
-
-
---
--- Name: aggregation_tracking_default_wtid_raw_idx; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX aggregation_tracking_default_wtid_raw_idx ON 
public.aggregation_tracking_default USING btree (wtid_raw);
-
-
---
--- Name: app_banktransaction_credit_account_id_a8ba05ac; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX app_banktransaction_credit_account_id_a8ba05ac ON 
public.app_banktransaction USING btree (credit_account_id);
-
-
---
--- Name: app_banktransaction_date_f72bcad6; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX app_banktransaction_date_f72bcad6 ON public.app_banktransaction 
USING btree (date);
-
-
---
--- Name: app_banktransaction_debit_account_id_5b1f7528; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX app_banktransaction_debit_account_id_5b1f7528 ON 
public.app_banktransaction USING btree (debit_account_id);
-
-
---
--- Name: app_banktransaction_request_uid_b7d06af5_like; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX app_banktransaction_request_uid_b7d06af5_like ON 
public.app_banktransaction USING btree (request_uid varchar_pattern_ops);
-
-
---
--- Name: app_talerwithdrawoperation_selected_exchange_account__6c8b96cf; Type: 
INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX app_talerwithdrawoperation_selected_exchange_account__6c8b96cf ON 
public.app_talerwithdrawoperation USING btree (selected_exchange_account_id);
-
-
---
--- Name: app_talerwithdrawoperation_withdraw_account_id_992dc5b3; Type: INDEX; 
Schema: public; Owner: -
---
-
-CREATE INDEX app_talerwithdrawoperation_withdraw_account_id_992dc5b3 ON 
public.app_talerwithdrawoperation USING btree (withdraw_account_id);
-
-
---
--- Name: auditor_historic_reserve_summary_by_master_pub_start_date; Type: 
INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX auditor_historic_reserve_summary_by_master_pub_start_date ON 
public.auditor_historic_reserve_summary USING btree (master_pub, start_date);
-
-
---
--- Name: auditor_reserves_by_reserve_pub; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX auditor_reserves_by_reserve_pub ON public.auditor_reserves USING 
btree (reserve_pub);
-
-
---
--- Name: auth_group_name_a6ea08ec_like; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX auth_group_name_a6ea08ec_like ON public.auth_group USING btree 
(name varchar_pattern_ops);
-
-
---
--- Name: auth_group_permissions_group_id_b120cbf9; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX auth_group_permissions_group_id_b120cbf9 ON 
public.auth_group_permissions USING btree (group_id);
-
-
---
--- Name: auth_group_permissions_permission_id_84c5c92e; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX auth_group_permissions_permission_id_84c5c92e ON 
public.auth_group_permissions USING btree (permission_id);
-
-
---
--- Name: auth_permission_content_type_id_2f476e4b; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX auth_permission_content_type_id_2f476e4b ON 
public.auth_permission USING btree (content_type_id);
-
-
---
--- Name: auth_user_groups_group_id_97559544; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX auth_user_groups_group_id_97559544 ON public.auth_user_groups 
USING btree (group_id);
-
-
---
--- Name: auth_user_groups_user_id_6a12ed8b; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX auth_user_groups_user_id_6a12ed8b ON public.auth_user_groups 
USING btree (user_id);
-
-
---
--- Name: auth_user_user_permissions_permission_id_1fbb5f2c; Type: INDEX; 
Schema: public; Owner: -
---
-
-CREATE INDEX auth_user_user_permissions_permission_id_1fbb5f2c ON 
public.auth_user_user_permissions USING btree (permission_id);
-
-
---
--- Name: auth_user_user_permissions_user_id_a95ead1b; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX auth_user_user_permissions_user_id_a95ead1b ON 
public.auth_user_user_permissions USING btree (user_id);
-
-
---
--- Name: auth_user_username_6821ab7c_like; Type: INDEX; Schema: public; Owner: 
-
---
-
-CREATE INDEX auth_user_username_6821ab7c_like ON public.auth_user USING btree 
(username varchar_pattern_ops);
-
-
---
--- Name: denominations_by_expire_legal_index; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX denominations_by_expire_legal_index ON public.denominations USING 
btree (expire_legal);
-
-
---
--- Name: deposits_by_coin_pub_index; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX deposits_by_coin_pub_index ON ONLY public.deposits USING btree 
(coin_pub);
-
-
---
--- Name: deposits_by_ready_main_index; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX deposits_by_ready_main_index ON ONLY public.deposits_by_ready 
USING btree (wire_deadline, shard, coin_pub);
-
-
---
--- Name: deposits_by_ready_default_wire_deadline_shard_coin_pub_idx; Type: 
INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX deposits_by_ready_default_wire_deadline_shard_coin_pub_idx ON 
public.deposits_by_ready_default USING btree (wire_deadline, shard, coin_pub);
-
-
---
--- Name: deposits_default_coin_pub_idx; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX deposits_default_coin_pub_idx ON public.deposits_default USING 
btree (coin_pub);
-
-
---
--- Name: deposits_for_matching_main_index; Type: INDEX; Schema: public; Owner: 
-
---
-
-CREATE INDEX deposits_for_matching_main_index ON ONLY 
public.deposits_for_matching USING btree (refund_deadline, merchant_pub, 
coin_pub);
-
-
---
--- Name: deposits_for_matching_default_refund_deadline_merchant_pub__idx; 
Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX deposits_for_matching_default_refund_deadline_merchant_pub__idx 
ON public.deposits_for_matching_default USING btree (refund_deadline, 
merchant_pub, coin_pub);
-
-
---
--- Name: django_session_expire_date_a5c62663; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX django_session_expire_date_a5c62663 ON public.django_session 
USING btree (expire_date);
-
-
---
--- Name: django_session_session_key_c0390e0f_like; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX django_session_session_key_c0390e0f_like ON public.django_session 
USING btree (session_key varchar_pattern_ops);
-
-
---
--- Name: global_fee_by_end_date_index; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX global_fee_by_end_date_index ON public.global_fee USING btree 
(end_date);
-
-
---
--- Name: merchant_contract_terms_by_expiration; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX merchant_contract_terms_by_expiration ON 
public.merchant_contract_terms USING btree (paid, pay_deadline);
-
-
---
--- Name: INDEX merchant_contract_terms_by_expiration; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON INDEX public.merchant_contract_terms_by_expiration IS 'for 
unlock_contracts';
-
-
---
--- Name: merchant_contract_terms_by_merchant_and_expiration; Type: INDEX; 
Schema: public; Owner: -
---
-
-CREATE INDEX merchant_contract_terms_by_merchant_and_expiration ON 
public.merchant_contract_terms USING btree (merchant_serial, pay_deadline);
-
-
---
--- Name: INDEX merchant_contract_terms_by_merchant_and_expiration; Type: 
COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON INDEX public.merchant_contract_terms_by_merchant_and_expiration IS 
'for delete_contract_terms';
-
-
---
--- Name: merchant_contract_terms_by_merchant_and_payment; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX merchant_contract_terms_by_merchant_and_payment ON 
public.merchant_contract_terms USING btree (merchant_serial, paid);
-
-
---
--- Name: merchant_contract_terms_by_merchant_session_and_fulfillment; Type: 
INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX merchant_contract_terms_by_merchant_session_and_fulfillment ON 
public.merchant_contract_terms USING btree (merchant_serial, fulfillment_url, 
session_id);
-
-
---
--- Name: merchant_inventory_locks_by_expiration; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX merchant_inventory_locks_by_expiration ON 
public.merchant_inventory_locks USING btree (expiration);
-
-
---
--- Name: merchant_inventory_locks_by_uuid; Type: INDEX; Schema: public; Owner: 
-
---
-
-CREATE INDEX merchant_inventory_locks_by_uuid ON 
public.merchant_inventory_locks USING btree (lock_uuid);
-
-
---
--- Name: merchant_orders_by_creation_time; Type: INDEX; Schema: public; Owner: 
-
---
-
-CREATE INDEX merchant_orders_by_creation_time ON public.merchant_orders USING 
btree (creation_time);
-
-
---
--- Name: merchant_orders_by_expiration; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX merchant_orders_by_expiration ON public.merchant_orders USING 
btree (pay_deadline);
-
-
---
--- Name: merchant_orders_locks_by_order_and_product; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX merchant_orders_locks_by_order_and_product ON 
public.merchant_order_locks USING btree (order_serial, product_serial);
-
-
---
--- Name: merchant_refunds_by_coin_and_order; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX merchant_refunds_by_coin_and_order ON public.merchant_refunds 
USING btree (coin_pub, order_serial);
-
-
---
--- Name: merchant_tip_reserves_by_exchange_balance; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX merchant_tip_reserves_by_exchange_balance ON 
public.merchant_tip_reserves USING btree (exchange_initial_balance_val, 
exchange_initial_balance_frac);
-
-
---
--- Name: merchant_tip_reserves_by_merchant_serial_and_creation_time; Type: 
INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX merchant_tip_reserves_by_merchant_serial_and_creation_time ON 
public.merchant_tip_reserves USING btree (merchant_serial, creation_time);
-
-
---
--- Name: merchant_tip_reserves_by_reserve_pub_and_merchant_serial; Type: 
INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX merchant_tip_reserves_by_reserve_pub_and_merchant_serial ON 
public.merchant_tip_reserves USING btree (reserve_pub, merchant_serial, 
creation_time);
-
-
---
--- Name: merchant_tips_by_pickup_and_expiration; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX merchant_tips_by_pickup_and_expiration ON public.merchant_tips 
USING btree (was_picked_up, expiration);
-
-
---
--- Name: merchant_transfers_by_credit; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX merchant_transfers_by_credit ON public.merchant_transfer_to_coin 
USING btree (credit_serial);
-
-
---
--- Name: partner_accounts_index_by_partner_and_time; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX partner_accounts_index_by_partner_and_time ON 
public.partner_accounts USING btree (partner_serial_id, last_seen);
-
-
---
--- Name: partner_by_wad_time; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX partner_by_wad_time ON public.partners USING btree (next_wad);
-
-
---
--- Name: prewire_by_failed_finished_index; Type: INDEX; Schema: public; Owner: 
-
---
-
-CREATE INDEX prewire_by_failed_finished_index ON ONLY public.prewire USING 
btree (failed, finished);
-
-
---
--- Name: INDEX prewire_by_failed_finished_index; Type: COMMENT; Schema: 
public; Owner: -
---
-
-COMMENT ON INDEX public.prewire_by_failed_finished_index IS 'for 
wire_prepare_data_get';
-
-
---
--- Name: prewire_by_finished_index; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX prewire_by_finished_index ON ONLY public.prewire USING btree 
(finished);
-
-
---
--- Name: INDEX prewire_by_finished_index; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON INDEX public.prewire_by_finished_index IS 'for gc_prewire';
-
-
---
--- Name: prewire_default_failed_finished_idx; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX prewire_default_failed_finished_idx ON public.prewire_default 
USING btree (failed, finished);
-
-
---
--- Name: prewire_default_finished_idx; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX prewire_default_finished_idx ON public.prewire_default USING 
btree (finished);
-
-
---
--- Name: purse_action_by_target; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX purse_action_by_target ON public.purse_actions USING btree 
(partner_serial_id, action_date);
-
-
---
--- Name: purse_deposits_by_coin_pub; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX purse_deposits_by_coin_pub ON ONLY public.purse_deposits USING 
btree (coin_pub);
-
-
---
--- Name: purse_deposits_default_coin_pub_idx; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX purse_deposits_default_coin_pub_idx ON 
public.purse_deposits_default USING btree (coin_pub);
-
-
---
--- Name: purse_merges_reserve_pub; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX purse_merges_reserve_pub ON ONLY public.purse_merges USING btree 
(reserve_pub);
-
-
---
--- Name: INDEX purse_merges_reserve_pub; Type: COMMENT; Schema: public; Owner: 
-
---
-
-COMMENT ON INDEX public.purse_merges_reserve_pub IS 'needed in reserve history 
computation';
-
-
---
--- Name: purse_merges_default_reserve_pub_idx; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX purse_merges_default_reserve_pub_idx ON 
public.purse_merges_default USING btree (reserve_pub);
-
-
---
--- Name: purse_requests_merge_pub; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX purse_requests_merge_pub ON ONLY public.purse_requests USING 
btree (merge_pub);
-
-
---
--- Name: purse_requests_default_merge_pub_idx; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX purse_requests_default_merge_pub_idx ON 
public.purse_requests_default USING btree (merge_pub);
-
-
---
--- Name: purse_requests_purse_expiration; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX purse_requests_purse_expiration ON ONLY public.purse_requests 
USING btree (purse_expiration);
-
-
---
--- Name: purse_requests_default_purse_expiration_idx; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX purse_requests_default_purse_expiration_idx ON 
public.purse_requests_default USING btree (purse_expiration);
-
-
---
--- Name: recoup_by_coin_pub_index; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX recoup_by_coin_pub_index ON ONLY public.recoup USING btree 
(coin_pub);
-
-
---
--- Name: recoup_by_reserve_main_index; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX recoup_by_reserve_main_index ON ONLY public.recoup_by_reserve 
USING btree (reserve_out_serial_id);
-
-
---
--- Name: recoup_by_reserve_default_reserve_out_serial_id_idx; Type: INDEX; 
Schema: public; Owner: -
---
-
-CREATE INDEX recoup_by_reserve_default_reserve_out_serial_id_idx ON 
public.recoup_by_reserve_default USING btree (reserve_out_serial_id);
-
-
---
--- Name: recoup_default_coin_pub_idx; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX recoup_default_coin_pub_idx ON public.recoup_default USING btree 
(coin_pub);
-
-
---
--- Name: recoup_refresh_by_coin_pub_index; Type: INDEX; Schema: public; Owner: 
-
---
-
-CREATE INDEX recoup_refresh_by_coin_pub_index ON ONLY public.recoup_refresh 
USING btree (coin_pub);
-
-
---
--- Name: recoup_refresh_by_rrc_serial_index; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX recoup_refresh_by_rrc_serial_index ON ONLY public.recoup_refresh 
USING btree (rrc_serial);
-
-
---
--- Name: recoup_refresh_default_coin_pub_idx; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX recoup_refresh_default_coin_pub_idx ON 
public.recoup_refresh_default USING btree (coin_pub);
-
-
---
--- Name: recoup_refresh_default_rrc_serial_idx; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX recoup_refresh_default_rrc_serial_idx ON 
public.recoup_refresh_default USING btree (rrc_serial);
-
-
---
--- Name: refresh_commitments_by_old_coin_pub_index; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX refresh_commitments_by_old_coin_pub_index ON ONLY 
public.refresh_commitments USING btree (old_coin_pub);
-
-
---
--- Name: refresh_commitments_default_old_coin_pub_idx; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX refresh_commitments_default_old_coin_pub_idx ON 
public.refresh_commitments_default USING btree (old_coin_pub);
-
-
---
--- Name: refresh_revealed_coins_coins_by_melt_serial_id_index; Type: INDEX; 
Schema: public; Owner: -
---
-
-CREATE INDEX refresh_revealed_coins_coins_by_melt_serial_id_index ON ONLY 
public.refresh_revealed_coins USING btree (melt_serial_id);
-
-
---
--- Name: refresh_revealed_coins_default_melt_serial_id_idx; Type: INDEX; 
Schema: public; Owner: -
---
-
-CREATE INDEX refresh_revealed_coins_default_melt_serial_id_idx ON 
public.refresh_revealed_coins_default USING btree (melt_serial_id);
-
-
---
--- Name: refunds_by_coin_pub_index; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX refunds_by_coin_pub_index ON ONLY public.refunds USING btree 
(coin_pub);
-
-
---
--- Name: refunds_default_coin_pub_idx; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX refunds_default_coin_pub_idx ON public.refunds_default USING 
btree (coin_pub);
-
-
---
--- Name: reserves_by_expiration_index; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX reserves_by_expiration_index ON ONLY public.reserves USING btree 
(expiration_date, current_balance_val, current_balance_frac);
-
-
---
--- Name: INDEX reserves_by_expiration_index; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON INDEX public.reserves_by_expiration_index IS 'used in 
get_expired_reserves';
-
-
---
--- Name: reserves_by_gc_date_index; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX reserves_by_gc_date_index ON ONLY public.reserves USING btree 
(gc_date);
-
-
---
--- Name: INDEX reserves_by_gc_date_index; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON INDEX public.reserves_by_gc_date_index IS 'for reserve garbage 
collection';
-
-
---
--- Name: reserves_by_reserve_uuid_index; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX reserves_by_reserve_uuid_index ON ONLY public.reserves USING 
btree (reserve_uuid);
-
-
---
--- Name: reserves_close_by_close_uuid_index; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX reserves_close_by_close_uuid_index ON ONLY public.reserves_close 
USING btree (close_uuid);
-
-
---
--- Name: reserves_close_by_reserve_pub_index; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX reserves_close_by_reserve_pub_index ON ONLY public.reserves_close 
USING btree (reserve_pub);
-
-
---
--- Name: reserves_close_default_close_uuid_idx; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX reserves_close_default_close_uuid_idx ON 
public.reserves_close_default USING btree (close_uuid);
-
-
---
--- Name: reserves_close_default_reserve_pub_idx; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX reserves_close_default_reserve_pub_idx ON 
public.reserves_close_default USING btree (reserve_pub);
-
-
---
--- Name: reserves_default_expiration_date_current_balance_val_curren_idx; 
Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX reserves_default_expiration_date_current_balance_val_curren_idx 
ON public.reserves_default USING btree (expiration_date, current_balance_val, 
current_balance_frac);
-
-
---
--- Name: reserves_default_gc_date_idx; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX reserves_default_gc_date_idx ON public.reserves_default USING 
btree (gc_date);
-
-
---
--- Name: reserves_default_reserve_uuid_idx; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX reserves_default_reserve_uuid_idx ON public.reserves_default 
USING btree (reserve_uuid);
-
-
---
--- Name: reserves_in_by_exch_accnt_reserve_in_serial_id_idx; Type: INDEX; 
Schema: public; Owner: -
---
-
-CREATE INDEX reserves_in_by_exch_accnt_reserve_in_serial_id_idx ON ONLY 
public.reserves_in USING btree (exchange_account_section, reserve_in_serial_id 
DESC);
-
-
---
--- Name: reserves_in_by_exch_accnt_section_execution_date_idx; Type: INDEX; 
Schema: public; Owner: -
---
-
-CREATE INDEX reserves_in_by_exch_accnt_section_execution_date_idx ON ONLY 
public.reserves_in USING btree (exchange_account_section, execution_date);
-
-
---
--- Name: reserves_in_by_reserve_in_serial_id_index; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX reserves_in_by_reserve_in_serial_id_index ON ONLY 
public.reserves_in USING btree (reserve_in_serial_id);
-
-
---
--- Name: reserves_in_default_exchange_account_section_execution_date_idx; 
Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX reserves_in_default_exchange_account_section_execution_date_idx 
ON public.reserves_in_default USING btree (exchange_account_section, 
execution_date);
-
-
---
--- Name: reserves_in_default_exchange_account_section_reserve_in_ser_idx; 
Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX reserves_in_default_exchange_account_section_reserve_in_ser_idx 
ON public.reserves_in_default USING btree (exchange_account_section, 
reserve_in_serial_id DESC);
-
-
---
--- Name: reserves_in_default_reserve_in_serial_id_idx; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX reserves_in_default_reserve_in_serial_id_idx ON 
public.reserves_in_default USING btree (reserve_in_serial_id);
-
-
---
--- Name: reserves_out_by_reserve_main_index; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX reserves_out_by_reserve_main_index ON ONLY 
public.reserves_out_by_reserve USING btree (reserve_uuid);
-
-
---
--- Name: reserves_out_by_reserve_default_reserve_uuid_idx; Type: INDEX; 
Schema: public; Owner: -
---
-
-CREATE INDEX reserves_out_by_reserve_default_reserve_uuid_idx ON 
public.reserves_out_by_reserve_default USING btree (reserve_uuid);
-
-
---
--- Name: reserves_out_by_reserve_out_serial_id_index; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX reserves_out_by_reserve_out_serial_id_index ON ONLY 
public.reserves_out USING btree (reserve_out_serial_id);
-
-
---
--- Name: reserves_out_by_reserve_uuid_and_execution_date_index; Type: INDEX; 
Schema: public; Owner: -
---
-
-CREATE INDEX reserves_out_by_reserve_uuid_and_execution_date_index ON ONLY 
public.reserves_out USING btree (reserve_uuid, execution_date);
-
-
---
--- Name: INDEX reserves_out_by_reserve_uuid_and_execution_date_index; Type: 
COMMENT; Schema: public; Owner: -
---
-
-COMMENT ON INDEX public.reserves_out_by_reserve_uuid_and_execution_date_index 
IS 'for get_reserves_out and exchange_do_withdraw_limit_check';
-
-
---
--- Name: reserves_out_default_reserve_out_serial_id_idx; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX reserves_out_default_reserve_out_serial_id_idx ON 
public.reserves_out_default USING btree (reserve_out_serial_id);
-
-
---
--- Name: reserves_out_default_reserve_uuid_execution_date_idx; Type: INDEX; 
Schema: public; Owner: -
---
-
-CREATE INDEX reserves_out_default_reserve_uuid_execution_date_idx ON 
public.reserves_out_default USING btree (reserve_uuid, execution_date);
-
-
---
--- Name: revolving_work_shards_by_job_name_active_last_attempt_index; Type: 
INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX revolving_work_shards_by_job_name_active_last_attempt_index ON 
public.revolving_work_shards USING btree (job_name, active, last_attempt);
-
-
---
--- Name: wad_in_entries_reserve_pub; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX wad_in_entries_reserve_pub ON ONLY public.wad_in_entries USING 
btree (reserve_pub);
-
-
---
--- Name: INDEX wad_in_entries_reserve_pub; Type: COMMENT; Schema: public; 
Owner: -
---
-
-COMMENT ON INDEX public.wad_in_entries_reserve_pub IS 'needed in reserve 
history computation';
-
-
---
--- Name: wad_in_entries_default_reserve_pub_idx; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX wad_in_entries_default_reserve_pub_idx ON 
public.wad_in_entries_default USING btree (reserve_pub);
-
-
---
--- Name: wad_out_entries_by_reserve_pub; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX wad_out_entries_by_reserve_pub ON ONLY public.wad_out_entries 
USING btree (reserve_pub);
-
-
---
--- Name: wad_out_entries_default_reserve_pub_idx; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX wad_out_entries_default_reserve_pub_idx ON 
public.wad_out_entries_default USING btree (reserve_pub);
-
-
---
--- Name: wire_fee_by_end_date_index; Type: INDEX; Schema: public; Owner: -
---
-
-CREATE INDEX wire_fee_by_end_date_index ON public.wire_fee USING btree 
(end_date);
-
-
---
--- Name: wire_out_by_wire_target_h_payto_index; Type: INDEX; Schema: public; 
Owner: -
---
-
-CREATE INDEX wire_out_by_wire_target_h_payto_index ON ONLY public.wire_out 
USING btree (wire_target_h_payto);
-
-
---
--- Name: wire_out_default_wire_target_h_payto_idx; Type: INDEX; Schema: 
public; Owner: -
---
-
-CREATE INDEX wire_out_default_wire_target_h_payto_idx ON 
public.wire_out_default USING btree (wire_target_h_payto);
-
-
---
--- Name: work_shards_by_job_name_completed_last_attempt_index; Type: INDEX; 
Schema: public; Owner: -
---
-
-CREATE INDEX work_shards_by_job_name_completed_last_attempt_index ON 
public.work_shards USING btree (job_name, completed, last_attempt);
-
-
---
--- Name: account_merges_default_pkey; Type: INDEX ATTACH; Schema: public; 
Owner: -
---
-
-ALTER INDEX public.account_merges_pkey ATTACH PARTITION 
public.account_merges_default_pkey;
-
-
---
--- Name: account_merges_default_reserve_pub_idx; Type: INDEX ATTACH; Schema: 
public; Owner: -
---
-
-ALTER INDEX public.account_merges_by_reserve_pub ATTACH PARTITION 
public.account_merges_default_reserve_pub_idx;
-
-
---
--- Name: aggregation_tracking_default_pkey; Type: INDEX ATTACH; Schema: 
public; Owner: -
---
-
-ALTER INDEX public.aggregation_tracking_pkey ATTACH PARTITION 
public.aggregation_tracking_default_pkey;
-
-
---
--- Name: aggregation_tracking_default_wtid_raw_idx; Type: INDEX ATTACH; 
Schema: public; Owner: -
---
-
-ALTER INDEX public.aggregation_tracking_by_wtid_raw_index ATTACH PARTITION 
public.aggregation_tracking_default_wtid_raw_idx;
-
-
---
--- Name: close_requests_default_pkey; Type: INDEX ATTACH; Schema: public; 
Owner: -
---
-
-ALTER INDEX public.close_requests_pkey ATTACH PARTITION 
public.close_requests_default_pkey;
-
-
---
--- Name: contracts_default_pkey; Type: INDEX ATTACH; Schema: public; Owner: -
---
-
-ALTER INDEX public.contracts_pkey ATTACH PARTITION 
public.contracts_default_pkey;
-
-
---
--- Name: cs_nonce_locks_default_pkey; Type: INDEX ATTACH; Schema: public; 
Owner: -
---
-
-ALTER INDEX public.cs_nonce_locks_pkey ATTACH PARTITION 
public.cs_nonce_locks_default_pkey;
-
-
---
--- Name: deposits_by_ready_default_wire_deadline_shard_coin_pub_idx; Type: 
INDEX ATTACH; Schema: public; Owner: -
---
-
-ALTER INDEX public.deposits_by_ready_main_index ATTACH PARTITION 
public.deposits_by_ready_default_wire_deadline_shard_coin_pub_idx;
-
-
---
--- Name: deposits_default_coin_pub_idx; Type: INDEX ATTACH; Schema: public; 
Owner: -
---
-
-ALTER INDEX public.deposits_by_coin_pub_index ATTACH PARTITION 
public.deposits_default_coin_pub_idx;
-
-
---
--- Name: deposits_for_matching_default_refund_deadline_merchant_pub__idx; 
Type: INDEX ATTACH; Schema: public; Owner: -
---
-
-ALTER INDEX public.deposits_for_matching_main_index ATTACH PARTITION 
public.deposits_for_matching_default_refund_deadline_merchant_pub__idx;
-
-
---
--- Name: extension_details_default_pkey; Type: INDEX ATTACH; Schema: public; 
Owner: -
---
-
-ALTER INDEX public.extension_details_pkey ATTACH PARTITION 
public.extension_details_default_pkey;
-
-
---
--- Name: history_requests_default_pkey; Type: INDEX ATTACH; Schema: public; 
Owner: -
---
-
-ALTER INDEX public.history_requests_pkey ATTACH PARTITION 
public.history_requests_default_pkey;
-
-
---
--- Name: known_coins_default_pkey; Type: INDEX ATTACH; Schema: public; Owner: -
---
-
-ALTER INDEX public.known_coins_pkey ATTACH PARTITION 
public.known_coins_default_pkey;
-
-
---
--- Name: prewire_default_failed_finished_idx; Type: INDEX ATTACH; Schema: 
public; Owner: -
---
-
-ALTER INDEX public.prewire_by_failed_finished_index ATTACH PARTITION 
public.prewire_default_failed_finished_idx;
-
-
---
--- Name: prewire_default_finished_idx; Type: INDEX ATTACH; Schema: public; 
Owner: -
---
-
-ALTER INDEX public.prewire_by_finished_index ATTACH PARTITION 
public.prewire_default_finished_idx;
-
-
---
--- Name: prewire_default_pkey; Type: INDEX ATTACH; Schema: public; Owner: -
---
-
-ALTER INDEX public.prewire_pkey ATTACH PARTITION public.prewire_default_pkey;
-
-
---
--- Name: purse_deposits_default_coin_pub_idx; Type: INDEX ATTACH; Schema: 
public; Owner: -
---
-
-ALTER INDEX public.purse_deposits_by_coin_pub ATTACH PARTITION 
public.purse_deposits_default_coin_pub_idx;
-
-
---
--- Name: purse_deposits_default_pkey; Type: INDEX ATTACH; Schema: public; 
Owner: -
---
-
-ALTER INDEX public.purse_deposits_pkey ATTACH PARTITION 
public.purse_deposits_default_pkey;
-
-
---
--- Name: purse_merges_default_pkey; Type: INDEX ATTACH; Schema: public; Owner: 
-
---
-
-ALTER INDEX public.purse_merges_pkey ATTACH PARTITION 
public.purse_merges_default_pkey;
-
-
---
--- Name: purse_merges_default_reserve_pub_idx; Type: INDEX ATTACH; Schema: 
public; Owner: -
---
-
-ALTER INDEX public.purse_merges_reserve_pub ATTACH PARTITION 
public.purse_merges_default_reserve_pub_idx;
-
-
---
--- Name: purse_refunds_default_pkey; Type: INDEX ATTACH; Schema: public; 
Owner: -
---
-
-ALTER INDEX public.purse_refunds_pkey ATTACH PARTITION 
public.purse_refunds_default_pkey;
-
-
---
--- Name: purse_requests_default_merge_pub_idx; Type: INDEX ATTACH; Schema: 
public; Owner: -
---
-
-ALTER INDEX public.purse_requests_merge_pub ATTACH PARTITION 
public.purse_requests_default_merge_pub_idx;
-
-
---
--- Name: purse_requests_default_pkey; Type: INDEX ATTACH; Schema: public; 
Owner: -
---
-
-ALTER INDEX public.purse_requests_pkey ATTACH PARTITION 
public.purse_requests_default_pkey;
-
-
---
--- Name: purse_requests_default_purse_expiration_idx; Type: INDEX ATTACH; 
Schema: public; Owner: -
---
-
-ALTER INDEX public.purse_requests_purse_expiration ATTACH PARTITION 
public.purse_requests_default_purse_expiration_idx;
-
-
---
--- Name: recoup_by_reserve_default_reserve_out_serial_id_idx; Type: INDEX 
ATTACH; Schema: public; Owner: -
---
-
-ALTER INDEX public.recoup_by_reserve_main_index ATTACH PARTITION 
public.recoup_by_reserve_default_reserve_out_serial_id_idx;
-
-
---
--- Name: recoup_default_coin_pub_idx; Type: INDEX ATTACH; Schema: public; 
Owner: -
---
-
-ALTER INDEX public.recoup_by_coin_pub_index ATTACH PARTITION 
public.recoup_default_coin_pub_idx;
-
-
---
--- Name: recoup_refresh_default_coin_pub_idx; Type: INDEX ATTACH; Schema: 
public; Owner: -
---
-
-ALTER INDEX public.recoup_refresh_by_coin_pub_index ATTACH PARTITION 
public.recoup_refresh_default_coin_pub_idx;
-
-
---
--- Name: recoup_refresh_default_rrc_serial_idx; Type: INDEX ATTACH; Schema: 
public; Owner: -
---
-
-ALTER INDEX public.recoup_refresh_by_rrc_serial_index ATTACH PARTITION 
public.recoup_refresh_default_rrc_serial_idx;
-
-
---
--- Name: refresh_commitments_default_old_coin_pub_idx; Type: INDEX ATTACH; 
Schema: public; Owner: -
---
-
-ALTER INDEX public.refresh_commitments_by_old_coin_pub_index ATTACH PARTITION 
public.refresh_commitments_default_old_coin_pub_idx;
-
-
---
--- Name: refresh_commitments_default_pkey; Type: INDEX ATTACH; Schema: public; 
Owner: -
---
-
-ALTER INDEX public.refresh_commitments_pkey ATTACH PARTITION 
public.refresh_commitments_default_pkey;
-
-
---
--- Name: refresh_revealed_coins_default_melt_serial_id_idx; Type: INDEX 
ATTACH; Schema: public; Owner: -
---
-
-ALTER INDEX public.refresh_revealed_coins_coins_by_melt_serial_id_index ATTACH 
PARTITION public.refresh_revealed_coins_default_melt_serial_id_idx;
-
-
---
--- Name: refresh_transfer_keys_default_pkey; Type: INDEX ATTACH; Schema: 
public; Owner: -
---
-
-ALTER INDEX public.refresh_transfer_keys_pkey ATTACH PARTITION 
public.refresh_transfer_keys_default_pkey;
-
-
---
--- Name: refunds_default_coin_pub_idx; Type: INDEX ATTACH; Schema: public; 
Owner: -
---
-
-ALTER INDEX public.refunds_by_coin_pub_index ATTACH PARTITION 
public.refunds_default_coin_pub_idx;
-
-
---
--- Name: reserves_close_default_close_uuid_idx; Type: INDEX ATTACH; Schema: 
public; Owner: -
---
-
-ALTER INDEX public.reserves_close_by_close_uuid_index ATTACH PARTITION 
public.reserves_close_default_close_uuid_idx;
-
-
---
--- Name: reserves_close_default_reserve_pub_idx; Type: INDEX ATTACH; Schema: 
public; Owner: -
---
-
-ALTER INDEX public.reserves_close_by_reserve_pub_index ATTACH PARTITION 
public.reserves_close_default_reserve_pub_idx;
-
-
---
--- Name: reserves_default_expiration_date_current_balance_val_curren_idx; 
Type: INDEX ATTACH; Schema: public; Owner: -
---
-
-ALTER INDEX public.reserves_by_expiration_index ATTACH PARTITION 
public.reserves_default_expiration_date_current_balance_val_curren_idx;
-
-
---
--- Name: reserves_default_gc_date_idx; Type: INDEX ATTACH; Schema: public; 
Owner: -
---
-
-ALTER INDEX public.reserves_by_gc_date_index ATTACH PARTITION 
public.reserves_default_gc_date_idx;
-
-
---
--- Name: reserves_default_pkey; Type: INDEX ATTACH; Schema: public; Owner: -
---
-
-ALTER INDEX public.reserves_pkey ATTACH PARTITION public.reserves_default_pkey;
-
-
---
--- Name: reserves_default_reserve_uuid_idx; Type: INDEX ATTACH; Schema: 
public; Owner: -
---
-
-ALTER INDEX public.reserves_by_reserve_uuid_index ATTACH PARTITION 
public.reserves_default_reserve_uuid_idx;
-
-
---
--- Name: reserves_in_default_exchange_account_section_execution_date_idx; 
Type: INDEX ATTACH; Schema: public; Owner: -
---
-
-ALTER INDEX public.reserves_in_by_exch_accnt_section_execution_date_idx ATTACH 
PARTITION 
public.reserves_in_default_exchange_account_section_execution_date_idx;
-
-
---
--- Name: reserves_in_default_exchange_account_section_reserve_in_ser_idx; 
Type: INDEX ATTACH; Schema: public; Owner: -
---
-
-ALTER INDEX public.reserves_in_by_exch_accnt_reserve_in_serial_id_idx ATTACH 
PARTITION 
public.reserves_in_default_exchange_account_section_reserve_in_ser_idx;
-
-
---
--- Name: reserves_in_default_pkey; Type: INDEX ATTACH; Schema: public; Owner: -
---
-
-ALTER INDEX public.reserves_in_pkey ATTACH PARTITION 
public.reserves_in_default_pkey;
-
-
---
--- Name: reserves_in_default_reserve_in_serial_id_idx; Type: INDEX ATTACH; 
Schema: public; Owner: -
---
-
-ALTER INDEX public.reserves_in_by_reserve_in_serial_id_index ATTACH PARTITION 
public.reserves_in_default_reserve_in_serial_id_idx;
-
-
---
--- Name: reserves_out_by_reserve_default_reserve_uuid_idx; Type: INDEX ATTACH; 
Schema: public; Owner: -
---
-
-ALTER INDEX public.reserves_out_by_reserve_main_index ATTACH PARTITION 
public.reserves_out_by_reserve_default_reserve_uuid_idx;
-
-
---
--- Name: reserves_out_default_h_blind_ev_key; Type: INDEX ATTACH; Schema: 
public; Owner: -
---
-
-ALTER INDEX public.reserves_out_h_blind_ev_key ATTACH PARTITION 
public.reserves_out_default_h_blind_ev_key;
-
-
---
--- Name: reserves_out_default_reserve_out_serial_id_idx; Type: INDEX ATTACH; 
Schema: public; Owner: -
---
-
-ALTER INDEX public.reserves_out_by_reserve_out_serial_id_index ATTACH 
PARTITION public.reserves_out_default_reserve_out_serial_id_idx;
-
-
---
--- Name: reserves_out_default_reserve_uuid_execution_date_idx; Type: INDEX 
ATTACH; Schema: public; Owner: -
---
-
-ALTER INDEX public.reserves_out_by_reserve_uuid_and_execution_date_index 
ATTACH PARTITION public.reserves_out_default_reserve_uuid_execution_date_idx;
-
-
---
--- Name: wad_in_entries_default_pkey; Type: INDEX ATTACH; Schema: public; 
Owner: -
---
-
-ALTER INDEX public.wad_in_entries_pkey ATTACH PARTITION 
public.wad_in_entries_default_pkey;
-
-
---
--- Name: wad_in_entries_default_reserve_pub_idx; Type: INDEX ATTACH; Schema: 
public; Owner: -
---
-
-ALTER INDEX public.wad_in_entries_reserve_pub ATTACH PARTITION 
public.wad_in_entries_default_reserve_pub_idx;
-
-
---
--- Name: wad_out_entries_default_pkey; Type: INDEX ATTACH; Schema: public; 
Owner: -
---
-
-ALTER INDEX public.wad_out_entries_pkey ATTACH PARTITION 
public.wad_out_entries_default_pkey;
-
-
---
--- Name: wad_out_entries_default_reserve_pub_idx; Type: INDEX ATTACH; Schema: 
public; Owner: -
---
-
-ALTER INDEX public.wad_out_entries_by_reserve_pub ATTACH PARTITION 
public.wad_out_entries_default_reserve_pub_idx;
-
-
---
--- Name: wads_in_default_pkey; Type: INDEX ATTACH; Schema: public; Owner: -
---
-
-ALTER INDEX public.wads_in_pkey ATTACH PARTITION public.wads_in_default_pkey;
-
-
---
--- Name: wads_in_default_wad_id_origin_exchange_url_key; Type: INDEX ATTACH; 
Schema: public; Owner: -
---
-
-ALTER INDEX public.wads_in_wad_id_origin_exchange_url_key ATTACH PARTITION 
public.wads_in_default_wad_id_origin_exchange_url_key;
-
-
---
--- Name: wads_out_default_pkey; Type: INDEX ATTACH; Schema: public; Owner: -
---
-
-ALTER INDEX public.wads_out_pkey ATTACH PARTITION public.wads_out_default_pkey;
-
-
---
--- Name: wire_out_default_wire_target_h_payto_idx; Type: INDEX ATTACH; Schema: 
public; Owner: -
---
-
-ALTER INDEX public.wire_out_by_wire_target_h_payto_index ATTACH PARTITION 
public.wire_out_default_wire_target_h_payto_idx;
-
-
---
--- Name: wire_out_default_wtid_raw_key; Type: INDEX ATTACH; Schema: public; 
Owner: -
---
-
-ALTER INDEX public.wire_out_wtid_raw_key ATTACH PARTITION 
public.wire_out_default_wtid_raw_key;
-
-
---
--- Name: wire_targets_default_pkey; Type: INDEX ATTACH; Schema: public; Owner: 
-
---
-
-ALTER INDEX public.wire_targets_pkey ATTACH PARTITION 
public.wire_targets_default_pkey;
-
-
---
--- Name: deposits deposits_on_delete; Type: TRIGGER; Schema: public; Owner: -
---
-
-CREATE TRIGGER deposits_on_delete AFTER DELETE ON public.deposits FOR EACH ROW 
EXECUTE FUNCTION public.deposits_delete_trigger();
-
-
---
--- Name: deposits deposits_on_insert; Type: TRIGGER; Schema: public; Owner: -
---
-
-CREATE TRIGGER deposits_on_insert AFTER INSERT ON public.deposits FOR EACH ROW 
EXECUTE FUNCTION public.deposits_insert_trigger();
-
-
---
--- Name: deposits deposits_on_update; Type: TRIGGER; Schema: public; Owner: -
---
-
-CREATE TRIGGER deposits_on_update AFTER UPDATE ON public.deposits FOR EACH ROW 
EXECUTE FUNCTION public.deposits_update_trigger();
-
-
---
--- Name: purse_requests purse_requests_on_insert; Type: TRIGGER; Schema: 
public; Owner: -
---
-
-CREATE TRIGGER purse_requests_on_insert AFTER INSERT ON public.purse_requests 
FOR EACH ROW EXECUTE FUNCTION public.purse_requests_insert_trigger();
-
-
---
--- Name: TRIGGER purse_requests_on_insert ON purse_requests; Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON TRIGGER purse_requests_on_insert ON public.purse_requests IS 'Here 
we install an entry for the purse expiration.';
-
-
---
--- Name: purse_requests purse_requests_on_update; Type: TRIGGER; Schema: 
public; Owner: -
---
-
-CREATE TRIGGER purse_requests_on_update BEFORE UPDATE ON public.purse_requests 
FOR EACH ROW EXECUTE FUNCTION public.purse_requests_on_update_trigger();
-
-
---
--- Name: TRIGGER purse_requests_on_update ON purse_requests; Type: COMMENT; 
Schema: public; Owner: -
---
-
-COMMENT ON TRIGGER purse_requests_on_update ON public.purse_requests IS 'This 
covers the case where a deposit is made into a purse, which inherently then 
changes the purse balance via an UPDATE. If the merge is already present and 
the balance matches the total, we trigger the router. Once the router sets the 
purse to finished, the trigger will remove the purse from the watchlist of the 
router.';
-
-
---
--- Name: recoup recoup_on_delete; Type: TRIGGER; Schema: public; Owner: -
---
-
-CREATE TRIGGER recoup_on_delete AFTER DELETE ON public.recoup FOR EACH ROW 
EXECUTE FUNCTION public.recoup_delete_trigger();
-
-
---
--- Name: recoup recoup_on_insert; Type: TRIGGER; Schema: public; Owner: -
---
-
-CREATE TRIGGER recoup_on_insert AFTER INSERT ON public.recoup FOR EACH ROW 
EXECUTE FUNCTION public.recoup_insert_trigger();
-
-
---
--- Name: reserves_out reserves_out_on_delete; Type: TRIGGER; Schema: public; 
Owner: -
---
-
-CREATE TRIGGER reserves_out_on_delete AFTER DELETE ON public.reserves_out FOR 
EACH ROW EXECUTE FUNCTION public.reserves_out_by_reserve_delete_trigger();
-
-
---
--- Name: reserves_out reserves_out_on_insert; Type: TRIGGER; Schema: public; 
Owner: -
---
-
-CREATE TRIGGER reserves_out_on_insert AFTER INSERT ON public.reserves_out FOR 
EACH ROW EXECUTE FUNCTION public.reserves_out_by_reserve_insert_trigger();
-
-
---
--- Name: wire_out wire_out_on_delete; Type: TRIGGER; Schema: public; Owner: -
---
-
-CREATE TRIGGER wire_out_on_delete AFTER DELETE ON public.wire_out FOR EACH ROW 
EXECUTE FUNCTION public.wire_out_delete_trigger();
-
-
---
--- Name: app_bankaccount app_bankaccount_user_id_2722a34f_fk_auth_user_id; 
Type: FK CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.app_bankaccount
-    ADD CONSTRAINT app_bankaccount_user_id_2722a34f_fk_auth_user_id FOREIGN 
KEY (user_id) REFERENCES public.auth_user(id) DEFERRABLE INITIALLY DEFERRED;
-
-
---
--- Name: app_banktransaction 
app_banktransaction_credit_account_id_a8ba05ac_fk_app_banka; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.app_banktransaction
-    ADD CONSTRAINT app_banktransaction_credit_account_id_a8ba05ac_fk_app_banka 
FOREIGN KEY (credit_account_id) REFERENCES public.app_bankaccount(account_no) 
DEFERRABLE INITIALLY DEFERRED;
-
-
---
--- Name: app_banktransaction 
app_banktransaction_debit_account_id_5b1f7528_fk_app_banka; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.app_banktransaction
-    ADD CONSTRAINT app_banktransaction_debit_account_id_5b1f7528_fk_app_banka 
FOREIGN KEY (debit_account_id) REFERENCES public.app_bankaccount(account_no) 
DEFERRABLE INITIALLY DEFERRED;
-
-
---
--- Name: app_talerwithdrawoperation 
app_talerwithdrawope_selected_exchange_ac_6c8b96cf_fk_app_banka; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.app_talerwithdrawoperation
-    ADD CONSTRAINT 
app_talerwithdrawope_selected_exchange_ac_6c8b96cf_fk_app_banka FOREIGN KEY 
(selected_exchange_account_id) REFERENCES public.app_bankaccount(account_no) 
DEFERRABLE INITIALLY DEFERRED;
-
-
---
--- Name: app_talerwithdrawoperation 
app_talerwithdrawope_withdraw_account_id_992dc5b3_fk_app_banka; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.app_talerwithdrawoperation
-    ADD CONSTRAINT 
app_talerwithdrawope_withdraw_account_id_992dc5b3_fk_app_banka FOREIGN KEY 
(withdraw_account_id) REFERENCES public.app_bankaccount(account_no) DEFERRABLE 
INITIALLY DEFERRED;
-
-
---
--- Name: auditor_denom_sigs auditor_denom_sigs_auditor_uuid_fkey; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_denom_sigs
-    ADD CONSTRAINT auditor_denom_sigs_auditor_uuid_fkey FOREIGN KEY 
(auditor_uuid) REFERENCES public.auditors(auditor_uuid) ON DELETE CASCADE;
-
-
---
--- Name: auditor_denom_sigs auditor_denom_sigs_denominations_serial_fkey; 
Type: FK CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_denom_sigs
-    ADD CONSTRAINT auditor_denom_sigs_denominations_serial_fkey FOREIGN KEY 
(denominations_serial) REFERENCES public.denominations(denominations_serial) ON 
DELETE CASCADE;
-
-
---
--- Name: auth_group_permissions 
auth_group_permissio_permission_id_84c5c92e_fk_auth_perm; Type: FK CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_group_permissions
-    ADD CONSTRAINT auth_group_permissio_permission_id_84c5c92e_fk_auth_perm 
FOREIGN KEY (permission_id) REFERENCES public.auth_permission(id) DEFERRABLE 
INITIALLY DEFERRED;
-
-
---
--- Name: auth_group_permissions 
auth_group_permissions_group_id_b120cbf9_fk_auth_group_id; Type: FK CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_group_permissions
-    ADD CONSTRAINT auth_group_permissions_group_id_b120cbf9_fk_auth_group_id 
FOREIGN KEY (group_id) REFERENCES public.auth_group(id) DEFERRABLE INITIALLY 
DEFERRED;
-
-
---
--- Name: auth_permission 
auth_permission_content_type_id_2f476e4b_fk_django_co; Type: FK CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_permission
-    ADD CONSTRAINT auth_permission_content_type_id_2f476e4b_fk_django_co 
FOREIGN KEY (content_type_id) REFERENCES public.django_content_type(id) 
DEFERRABLE INITIALLY DEFERRED;
-
-
---
--- Name: auth_user_groups auth_user_groups_group_id_97559544_fk_auth_group_id; 
Type: FK CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_user_groups
-    ADD CONSTRAINT auth_user_groups_group_id_97559544_fk_auth_group_id FOREIGN 
KEY (group_id) REFERENCES public.auth_group(id) DEFERRABLE INITIALLY DEFERRED;
-
-
---
--- Name: auth_user_groups auth_user_groups_user_id_6a12ed8b_fk_auth_user_id; 
Type: FK CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_user_groups
-    ADD CONSTRAINT auth_user_groups_user_id_6a12ed8b_fk_auth_user_id FOREIGN 
KEY (user_id) REFERENCES public.auth_user(id) DEFERRABLE INITIALLY DEFERRED;
-
-
---
--- Name: auth_user_user_permissions 
auth_user_user_permi_permission_id_1fbb5f2c_fk_auth_perm; Type: FK CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_user_user_permissions
-    ADD CONSTRAINT auth_user_user_permi_permission_id_1fbb5f2c_fk_auth_perm 
FOREIGN KEY (permission_id) REFERENCES public.auth_permission(id) DEFERRABLE 
INITIALLY DEFERRED;
-
-
---
--- Name: auth_user_user_permissions 
auth_user_user_permissions_user_id_a95ead1b_fk_auth_user_id; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auth_user_user_permissions
-    ADD CONSTRAINT auth_user_user_permissions_user_id_a95ead1b_fk_auth_user_id 
FOREIGN KEY (user_id) REFERENCES public.auth_user(id) DEFERRABLE INITIALLY 
DEFERRED;
-
-
---
--- Name: denomination_revocations 
denomination_revocations_denominations_serial_fkey; Type: FK CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.denomination_revocations
-    ADD CONSTRAINT denomination_revocations_denominations_serial_fkey FOREIGN 
KEY (denominations_serial) REFERENCES 
public.denominations(denominations_serial) ON DELETE CASCADE;
-
-
---
--- Name: auditor_exchange_signkeys master_pub_ref; Type: FK CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_exchange_signkeys
-    ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES 
public.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_progress_reserve master_pub_ref; Type: FK CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_progress_reserve
-    ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES 
public.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_progress_aggregation master_pub_ref; Type: FK CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_progress_aggregation
-    ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES 
public.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_progress_deposit_confirmation master_pub_ref; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_progress_deposit_confirmation
-    ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES 
public.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_progress_coin master_pub_ref; Type: FK CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_progress_coin
-    ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES 
public.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: wire_auditor_account_progress master_pub_ref; Type: FK CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.wire_auditor_account_progress
-    ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES 
public.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: wire_auditor_progress master_pub_ref; Type: FK CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.wire_auditor_progress
-    ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES 
public.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_reserves master_pub_ref; Type: FK CONSTRAINT; Schema: public; 
Owner: -
---
-
-ALTER TABLE ONLY public.auditor_reserves
-    ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES 
public.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_reserve_balance master_pub_ref; Type: FK CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_reserve_balance
-    ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES 
public.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_wire_fee_balance master_pub_ref; Type: FK CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_wire_fee_balance
-    ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES 
public.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_balance_summary master_pub_ref; Type: FK CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_balance_summary
-    ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES 
public.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_historic_denomination_revenue master_pub_ref; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_historic_denomination_revenue
-    ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES 
public.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_historic_reserve_summary master_pub_ref; Type: FK CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_historic_reserve_summary
-    ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES 
public.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: deposit_confirmations master_pub_ref; Type: FK CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.deposit_confirmations
-    ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES 
public.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: auditor_predicted_result master_pub_ref; Type: FK CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.auditor_predicted_result
-    ADD CONSTRAINT master_pub_ref FOREIGN KEY (master_pub) REFERENCES 
public.auditor_exchanges(master_pub) ON DELETE CASCADE;
-
-
---
--- Name: merchant_accounts merchant_accounts_merchant_serial_fkey; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_accounts
-    ADD CONSTRAINT merchant_accounts_merchant_serial_fkey FOREIGN KEY 
(merchant_serial) REFERENCES public.merchant_instances(merchant_serial) ON 
DELETE CASCADE;
-
-
---
--- Name: merchant_contract_terms merchant_contract_terms_merchant_serial_fkey; 
Type: FK CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_contract_terms
-    ADD CONSTRAINT merchant_contract_terms_merchant_serial_fkey FOREIGN KEY 
(merchant_serial) REFERENCES public.merchant_instances(merchant_serial) ON 
DELETE CASCADE;
-
-
---
--- Name: merchant_deposit_to_transfer 
merchant_deposit_to_transfer_credit_serial_fkey; Type: FK CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_deposit_to_transfer
-    ADD CONSTRAINT merchant_deposit_to_transfer_credit_serial_fkey FOREIGN KEY 
(credit_serial) REFERENCES public.merchant_transfers(credit_serial);
-
-
---
--- Name: merchant_deposit_to_transfer 
merchant_deposit_to_transfer_deposit_serial_fkey; Type: FK CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_deposit_to_transfer
-    ADD CONSTRAINT merchant_deposit_to_transfer_deposit_serial_fkey FOREIGN 
KEY (deposit_serial) REFERENCES public.merchant_deposits(deposit_serial) ON 
DELETE CASCADE;
-
-
---
--- Name: merchant_deposit_to_transfer 
merchant_deposit_to_transfer_signkey_serial_fkey; Type: FK CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_deposit_to_transfer
-    ADD CONSTRAINT merchant_deposit_to_transfer_signkey_serial_fkey FOREIGN 
KEY (signkey_serial) REFERENCES 
public.merchant_exchange_signing_keys(signkey_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_deposits merchant_deposits_account_serial_fkey; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_deposits
-    ADD CONSTRAINT merchant_deposits_account_serial_fkey FOREIGN KEY 
(account_serial) REFERENCES public.merchant_accounts(account_serial) ON DELETE 
CASCADE;
-
-
---
--- Name: merchant_deposits merchant_deposits_order_serial_fkey; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_deposits
-    ADD CONSTRAINT merchant_deposits_order_serial_fkey FOREIGN KEY 
(order_serial) REFERENCES public.merchant_contract_terms(order_serial) ON 
DELETE CASCADE;
-
-
---
--- Name: merchant_deposits merchant_deposits_signkey_serial_fkey; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_deposits
-    ADD CONSTRAINT merchant_deposits_signkey_serial_fkey FOREIGN KEY 
(signkey_serial) REFERENCES 
public.merchant_exchange_signing_keys(signkey_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_inventory_locks 
merchant_inventory_locks_product_serial_fkey; Type: FK CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_inventory_locks
-    ADD CONSTRAINT merchant_inventory_locks_product_serial_fkey FOREIGN KEY 
(product_serial) REFERENCES public.merchant_inventory(product_serial);
-
-
---
--- Name: merchant_inventory merchant_inventory_merchant_serial_fkey; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_inventory
-    ADD CONSTRAINT merchant_inventory_merchant_serial_fkey FOREIGN KEY 
(merchant_serial) REFERENCES public.merchant_instances(merchant_serial) ON 
DELETE CASCADE;
-
-
---
--- Name: merchant_keys merchant_keys_merchant_serial_fkey; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_keys
-    ADD CONSTRAINT merchant_keys_merchant_serial_fkey FOREIGN KEY 
(merchant_serial) REFERENCES public.merchant_instances(merchant_serial) ON 
DELETE CASCADE;
-
-
---
--- Name: merchant_kyc merchant_kyc_account_serial_fkey; Type: FK CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_kyc
-    ADD CONSTRAINT merchant_kyc_account_serial_fkey FOREIGN KEY 
(account_serial) REFERENCES public.merchant_accounts(account_serial) ON DELETE 
CASCADE;
-
-
---
--- Name: merchant_order_locks merchant_order_locks_order_serial_fkey; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_order_locks
-    ADD CONSTRAINT merchant_order_locks_order_serial_fkey FOREIGN KEY 
(order_serial) REFERENCES public.merchant_orders(order_serial) ON DELETE 
CASCADE;
-
-
---
--- Name: merchant_order_locks merchant_order_locks_product_serial_fkey; Type: 
FK CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_order_locks
-    ADD CONSTRAINT merchant_order_locks_product_serial_fkey FOREIGN KEY 
(product_serial) REFERENCES public.merchant_inventory(product_serial);
-
-
---
--- Name: merchant_orders merchant_orders_merchant_serial_fkey; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_orders
-    ADD CONSTRAINT merchant_orders_merchant_serial_fkey FOREIGN KEY 
(merchant_serial) REFERENCES public.merchant_instances(merchant_serial) ON 
DELETE CASCADE;
-
-
---
--- Name: merchant_refund_proofs merchant_refund_proofs_refund_serial_fkey; 
Type: FK CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_refund_proofs
-    ADD CONSTRAINT merchant_refund_proofs_refund_serial_fkey FOREIGN KEY 
(refund_serial) REFERENCES public.merchant_refunds(refund_serial) ON DELETE 
CASCADE;
-
-
---
--- Name: merchant_refund_proofs merchant_refund_proofs_signkey_serial_fkey; 
Type: FK CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_refund_proofs
-    ADD CONSTRAINT merchant_refund_proofs_signkey_serial_fkey FOREIGN KEY 
(signkey_serial) REFERENCES 
public.merchant_exchange_signing_keys(signkey_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_refunds merchant_refunds_order_serial_fkey; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_refunds
-    ADD CONSTRAINT merchant_refunds_order_serial_fkey FOREIGN KEY 
(order_serial) REFERENCES public.merchant_contract_terms(order_serial) ON 
DELETE CASCADE;
-
-
---
--- Name: merchant_tip_pickup_signatures 
merchant_tip_pickup_signatures_pickup_serial_fkey; Type: FK CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_tip_pickup_signatures
-    ADD CONSTRAINT merchant_tip_pickup_signatures_pickup_serial_fkey FOREIGN 
KEY (pickup_serial) REFERENCES public.merchant_tip_pickups(pickup_serial) ON 
DELETE CASCADE;
-
-
---
--- Name: merchant_tip_pickups merchant_tip_pickups_tip_serial_fkey; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_tip_pickups
-    ADD CONSTRAINT merchant_tip_pickups_tip_serial_fkey FOREIGN KEY 
(tip_serial) REFERENCES public.merchant_tips(tip_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_tip_reserve_keys 
merchant_tip_reserve_keys_reserve_serial_fkey; Type: FK CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_tip_reserve_keys
-    ADD CONSTRAINT merchant_tip_reserve_keys_reserve_serial_fkey FOREIGN KEY 
(reserve_serial) REFERENCES public.merchant_tip_reserves(reserve_serial) ON 
DELETE CASCADE;
-
-
---
--- Name: merchant_tip_reserves merchant_tip_reserves_merchant_serial_fkey; 
Type: FK CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_tip_reserves
-    ADD CONSTRAINT merchant_tip_reserves_merchant_serial_fkey FOREIGN KEY 
(merchant_serial) REFERENCES public.merchant_instances(merchant_serial) ON 
DELETE CASCADE;
-
-
---
--- Name: merchant_tips merchant_tips_reserve_serial_fkey; Type: FK CONSTRAINT; 
Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_tips
-    ADD CONSTRAINT merchant_tips_reserve_serial_fkey FOREIGN KEY 
(reserve_serial) REFERENCES public.merchant_tip_reserves(reserve_serial) ON 
DELETE CASCADE;
-
-
---
--- Name: merchant_transfer_signatures 
merchant_transfer_signatures_credit_serial_fkey; Type: FK CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_transfer_signatures
-    ADD CONSTRAINT merchant_transfer_signatures_credit_serial_fkey FOREIGN KEY 
(credit_serial) REFERENCES public.merchant_transfers(credit_serial) ON DELETE 
CASCADE;
-
-
---
--- Name: merchant_transfer_signatures 
merchant_transfer_signatures_signkey_serial_fkey; Type: FK CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_transfer_signatures
-    ADD CONSTRAINT merchant_transfer_signatures_signkey_serial_fkey FOREIGN 
KEY (signkey_serial) REFERENCES 
public.merchant_exchange_signing_keys(signkey_serial) ON DELETE CASCADE;
-
-
---
--- Name: merchant_transfer_to_coin 
merchant_transfer_to_coin_credit_serial_fkey; Type: FK CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_transfer_to_coin
-    ADD CONSTRAINT merchant_transfer_to_coin_credit_serial_fkey FOREIGN KEY 
(credit_serial) REFERENCES public.merchant_transfers(credit_serial) ON DELETE 
CASCADE;
-
-
---
--- Name: merchant_transfer_to_coin 
merchant_transfer_to_coin_deposit_serial_fkey; Type: FK CONSTRAINT; Schema: 
public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_transfer_to_coin
-    ADD CONSTRAINT merchant_transfer_to_coin_deposit_serial_fkey FOREIGN KEY 
(deposit_serial) REFERENCES public.merchant_deposits(deposit_serial) ON DELETE 
CASCADE;
-
-
---
--- Name: merchant_transfers merchant_transfers_account_serial_fkey; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.merchant_transfers
-    ADD CONSTRAINT merchant_transfers_account_serial_fkey FOREIGN KEY 
(account_serial) REFERENCES public.merchant_accounts(account_serial) ON DELETE 
CASCADE;
-
-
---
--- Name: partner_accounts partner_accounts_partner_serial_id_fkey; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.partner_accounts
-    ADD CONSTRAINT partner_accounts_partner_serial_id_fkey FOREIGN KEY 
(partner_serial_id) REFERENCES public.partners(partner_serial_id) ON DELETE 
CASCADE;
-
-
---
--- Name: signkey_revocations signkey_revocations_esk_serial_fkey; Type: FK 
CONSTRAINT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY public.signkey_revocations
-    ADD CONSTRAINT signkey_revocations_esk_serial_fkey FOREIGN KEY 
(esk_serial) REFERENCES public.exchange_sign_keys(esk_serial) ON DELETE CASCADE;
-
-
---
--- PostgreSQL database dump complete
---
diff --git a/src/auditor/taler-helper-auditor-wire.c 
b/src/auditor/taler-helper-auditor-wire.c
index e05ec720..2de52e26 100644
--- a/src/auditor/taler-helper-auditor-wire.c
+++ b/src/auditor/taler-helper-auditor-wire.c
@@ -1576,10 +1576,12 @@ process_debits (void *cls)
               "Checking bank DEBIT records of account `%s'\n",
               wa->ai->section_name);
   GNUNET_assert (NULL == wa->dhh);
+  // FIXME: handle the case where more than INT32_MAX transactions exist.
+  // (CG: used to be INT64_MAX, changed by MS to INT32_MAX, why? To be 
discussed with him!)
   wa->dhh = TALER_BANK_debit_history (ctx,
                                       wa->ai->auth,
                                       wa->out_wire_off,
-                                      INT64_MAX,
+                                      INT32_MAX,
                                       GNUNET_TIME_UNIT_ZERO,
                                       &history_debit_cb,
                                       wa);
@@ -2012,10 +2014,12 @@ process_credits (void *cls)
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
               "Starting bank CREDIT history of account `%s'\n",
               wa->ai->section_name);
+  // NOTE: handle the case where more than INT32_MAX transactions exist.
+  // (CG: used to be INT64_MAX, changed by MS to INT32_MAX, why? To be 
discussed with him!)
   wa->chh = TALER_BANK_credit_history (ctx,
                                        wa->ai->auth,
                                        wa->in_wire_off,
-                                       INT64_MAX,
+                                       INT32_MAX,
                                        GNUNET_TIME_UNIT_ZERO,
                                        &history_credit_cb,
                                        wa);
diff --git a/src/auditor/test-auditor.sh b/src/auditor/test-auditor.sh
index 0a0ca7e2..bd7390cf 100755
--- a/src/auditor/test-auditor.sh
+++ b/src/auditor/test-auditor.sh
@@ -28,6 +28,11 @@ TESTS=${1:-$ALL_TESTS}
 # VALGRIND=valgrind
 VALGRIND=""
 
+# Number of seconds to let libeuifn background
+# tasks apply a cycle of payment submission and
+# history request.
+LIBEUFIN_SETTLE_TIME=1
+
 # Exit, with status code "skip" (no 'real' failure)
 function exit_skip() {
     echo $1
@@ -48,17 +53,72 @@ function cleanup()
         kill $n 2> /dev/null || true
     done
     wait
+    # kill euFin
+    echo Killing euFin..
+    kill `cat libeufin-sandbox.pid 2> /dev/null` &> /dev/null || true
+    kill `cat libeufin-nexus.pid 2> /dev/null` &> /dev/null || true
 }
 
 # Install cleanup handler (except for kill -9)
 trap cleanup EXIT
 
+function launch_libeufin () {
+    export LIBEUFIN_NEXUS_DB_CONNECTION="jdbc:sqlite:$DB.sqlite3"
+    libeufin-nexus serve --port 8082 \
+      2> libeufin-nexus-stderr.log \
+      > libeufin-nexus-stdout.log &
+    echo $! > libeufin-nexus.pid
+    export LIBEUFIN_SANDBOX_DB_CONNECTION="jdbc:sqlite:$DB.sqlite3"
+    export LIBEUFIN_SANDBOX_ADMIN_PASSWORD=secret
+    libeufin-sandbox serve --port 18082 \
+      > libeufin-sandbox-stdout.log \
+      2> libeufin-sandbox-stderr.log &
+    echo $! > libeufin-sandbox.pid
+}
+
+# Downloads new transactions from the bank.
+function nexus_fetch_transactions () {
+  export LIBEUFIN_NEXUS_USERNAME=exchange
+  export LIBEUFIN_NEXUS_PASSWORD=x
+  export LIBEUFIN_NEXUS_URL=http://localhost:8082/
+  libeufin-cli accounts fetch-transactions \
+    --range-type since-last --level report exchange-nexus > /dev/null
+  unset LIBEUFIN_NEXUS_USERNAME
+  unset LIBEUFIN_NEXUS_PASSWORD
+  unset LIBEUFIN_NEXUS_URL
+}
+
 
+# Instruct Nexus to all the prepared payments (= those
+# POSTed to /transfer by the exchange).
+function nexus_submit_to_sandbox () {
+  export LIBEUFIN_NEXUS_USERNAME=exchange
+  export LIBEUFIN_NEXUS_PASSWORD=x
+  export LIBEUFIN_NEXUS_URL=http://localhost:8082/
+  libeufin-cli accounts submit-payments exchange-nexus
+  unset LIBEUFIN_NEXUS_USERNAME
+  unset LIBEUFIN_NEXUS_PASSWORD
+  unset LIBEUFIN_NEXUS_URL
+}
 # Operations to run before the actual audit
 function pre_audit () {
     # Launch bank
-    echo -n "Launching bank "
-    taler-bank-manage-testing $CONF postgres:///$DB serve 2>bank.err >bank.log 
&
+    echo -n "Launching bank"
+    EXCHANGE_URL=`taler-config -c $CONF -s EXCHANGE -o BASE_URL`
+    launch_libeufin
+    for n in `seq 1 80`
+    do
+        echo -n "."
+        sleep 0.1
+        OK=1
+        wget http://localhost:18082/ -o /dev/null -O /dev/null >/dev/null && 
break
+        OK=0
+    done
+    if [ 1 != $OK ]
+    then
+        exit_skip "Failed to launch Sandbox"
+    fi
+    sleep $LIBEUFIN_SETTLE_TIME
     for n in `seq 1 80`
     do
         echo -n "."
@@ -69,7 +129,7 @@ function pre_audit () {
     done
     if [ 1 != $OK ]
     then
-        exit_skip "Failed to launch bank"
+        exit_skip "Failed to launch Nexus"
     fi
     echo " DONE"
     if test ${1:-no} = "aggregator"
@@ -83,6 +143,13 @@ function pre_audit () {
         echo -n "Running exchange transfer ..."
         taler-exchange-transfer -L INFO -t -c $CONF 2> transfer.log || 
exit_fail "FAIL"
         echo " DONE"
+       echo -n "Running Nexus payment submitter ..."
+       nexus_submit_to_sandbox
+       echo " DONE"
+       # Make outgoing transactions appear in the TWG:
+       echo -n "Download bank transactions ..."
+       nexus_fetch_transactions
+       echo " DONE"
     fi
 }
 
@@ -111,7 +178,7 @@ function audit_only () {
     echo -n "."
     $VALGRIND taler-helper-auditor-wire -i -L DEBUG -c $CONF -m $MASTER_PUB > 
test-audit-wire.json 2> test-wire-audit.log || exit_fail "wire audit failed"
     echo -n "."
-    $VALGRIND taler-helper-auditor-wire -i -L DEBUG -c $CONF -m $MASTER_PUB > 
test-audit-wire-inc.json 2> test-wire-audit-inc.log || exit_fail "wire audit 
failed"
+    $VALGRIND taler-helper-auditor-wire -i -L DEBUG -c $CONF -m $MASTER_PUB > 
test-audit-wire-inc.json 2> test-wire-audit-inc.log || exit_fail "wire audit 
inc failed"
     echo -n "."
 
     echo " DONE"
@@ -166,11 +233,14 @@ function run_audit () {
 # Do a full reload of the (original) database
 full_reload()
 {
-    echo -n "Doing full reload of the database... "
+    echo "Doing full reload of the database... "
     dropdb $DB 2> /dev/null || true
+    rm $DB.sqlite3 2> /dev/null || true # libeufin
     createdb -T template0 $DB || exit_skip "could not create database"
     # Import pre-generated database, -q(ietly) using single (-1) transaction
     psql -Aqt $DB -q -1 -f ${BASEDB}.sql > /dev/null || exit_skip "Failed to 
load database"
+    echo "Loading libeufin basedb: ${BASEDB}-libeufin.sql"
+    sqlite3 $DB.sqlite3 < ${BASEDB}-libeufin.sql || exit_skip "Failed to load 
libEufin database"
     echo "DONE"
 }
 
@@ -179,7 +249,6 @@ function test_0() {
 
 echo "===========0: normal run with aggregator==========="
 run_audit aggregator
-
 echo "Checking output"
 # if an emergency was detected, that is a bug and we should fail
 echo -n "Test for emergencies... "
@@ -379,7 +448,7 @@ echo "OK"
 # Change amount of wire transfer reported by exchange
 function test_2() {
 
-echo "===========2: reserves_in inconsistency==========="
+echo "===========2: reserves_in inconsistency ==========="
 echo "UPDATE reserves_in SET credit_val=5 WHERE reserve_in_serial_id=1" | psql 
-At $DB
 
 run_audit
@@ -671,10 +740,10 @@ echo "UPDATE reserves_out SET reserve_sig='$OLD_SIG' 
WHERE h_blind_ev='$HBE'" |
 function test_8() {
 
 echo "===========8: wire-transfer-subject disagreement==========="
-OLD_ID=`echo "SELECT id FROM app_banktransaction WHERE amount='TESTKUDOS:10' 
ORDER BY id LIMIT 1;" | psql $DB -Aqt`
-OLD_WTID=`echo "SELECT subject FROM app_banktransaction WHERE id='$OLD_ID';" | 
psql $DB -Aqt`
+OLD_ID=`echo "SELECT id FROM NexusBankTransactions WHERE amount='10' AND 
currency='TESTKUDOS' ORDER BY id LIMIT 1;" | sqlite3 $DB.sqlite3`
+OLD_WTID=`echo "SELECT reservePublicKey FROM TalerIncomingPayments WHERE 
payment='$OLD_ID';" | sqlite3 $DB.sqlite3`
 NEW_WTID="CK9QBFY972KR32FVA1MW958JWACEB6XCMHHKVFMCH1A780Q12SVG"
-echo "UPDATE app_banktransaction SET subject='$NEW_WTID' WHERE id='$OLD_ID';" 
| psql -Aqt $DB
+echo "UPDATE TalerIncomingPayments SET reservePublicKey='$NEW_WTID' WHERE 
payment='$OLD_ID';" | sqlite3 $DB.sqlite3
 
 run_audit
 
@@ -731,19 +800,18 @@ fi
 echo PASS
 
 # Undo database modification
-echo "UPDATE app_banktransaction SET subject='$OLD_WTID' WHERE id='$OLD_ID';" 
| psql -Aqt $DB
+echo "UPDATE TalerIncomingPayments SET reservePublicKey='$OLD_WTID' WHERE 
payment='$OLD_ID';" | sqlite3 $DB.sqlite3
 
 }
 
 
-
 # Test wire origin disagreement!
 function test_9() {
 
 echo "===========9: wire-origin disagreement==========="
-OLD_ID=`echo "SELECT id FROM app_banktransaction WHERE amount='TESTKUDOS:10' 
ORDER BY id LIMIT 1;" | psql $DB -Aqt`
-OLD_ACC=`echo "SELECT debit_account_id FROM app_banktransaction WHERE 
id='$OLD_ID';" | psql $DB -Aqt`
-echo "UPDATE app_banktransaction SET debit_account_id=1 WHERE id='$OLD_ID';" | 
psql -Aqt $DB
+OLD_ID=`echo "SELECT id FROM NexusBankTransactions WHERE amount='10' AND 
currency='TESTKUDOS' ORDER BY id LIMIT 1;" | sqlite3 $DB.sqlite3`
+OLD_ACC=`echo "SELECT incomingPaytoUri FROM TalerIncomingPayments WHERE 
payment='$OLD_ID';" | sqlite3 $DB.sqlite3`
+echo "UPDATE TalerIncomingPayments SET 
incomingPaytoUri='payto://iban/SANDBOXX/DE144373?receiver-name=New+Exchange+Company'
 WHERE payment='$OLD_ID';" | sqlite3 $DB.sqlite3
 
 run_audit
 
@@ -761,18 +829,18 @@ fi
 echo PASS
 
 # Undo database modification
-echo "UPDATE app_banktransaction SET debit_account_id=$OLD_ACC WHERE 
id='$OLD_ID';" | psql -Aqt $DB
+echo "UPDATE TalerIncomingPayments SET incomingPaytoUri='$OLD_ACC' WHERE 
payment='$OLD_ID';" | sqlite3 $DB.sqlite3
 
 }
 
 
 # Test wire_in timestamp disagreement!
 function test_10() {
-
+NOW_MS=`date +%s`000
 echo "===========10: wire-timestamp disagreement==========="
-OLD_ID=`echo "SELECT id FROM app_banktransaction WHERE amount='TESTKUDOS:10' 
ORDER BY id LIMIT 1;" | psql $DB -Aqt`
-OLD_DATE=`echo "SELECT date FROM app_banktransaction WHERE id='$OLD_ID';" | 
psql $DB -Aqt`
-echo "UPDATE app_banktransaction SET date=NOW() WHERE id=$OLD_ID;" | psql -Aqt 
$DB
+OLD_ID=`echo "SELECT id FROM NexusBankTransactions WHERE amount='10' AND 
currency='TESTKUDOS' ORDER BY id LIMIT 1;" | sqlite3 $DB.sqlite3`
+OLD_DATE=`echo "SELECT timestampMs FROM TalerIncomingPayments WHERE 
payment='$OLD_ID';" | sqlite3 $DB.sqlite3`
+echo "UPDATE TalerIncomingPayments SET timestampMs=$NOW_MS WHERE 
payment=$OLD_ID;" | sqlite3 $DB.sqlite3
 
 run_audit
 
@@ -790,24 +858,35 @@ fi
 echo PASS
 
 # Undo database modification
-echo "UPDATE app_banktransaction SET date='$OLD_DATE' WHERE id=$OLD_ID;" | 
psql -Aqt $DB
+echo "UPDATE TalerIncomingPayments SET timestampMs='$OLD_DATE' WHERE 
payment=$OLD_ID;" | sqlite3 $DB.sqlite3
 
 }
 
 
 # Test for extra outgoing wire transfer.
+# In case of changing the subject in the Nexus
+# ingested table: 
'.batches[0].batchTransactions[0].details.unstructuredRemittanceInformation'
 function test_11() {
-
 echo "===========11: spurious outgoing transfer ==========="
-OLD_ID=`echo "SELECT id FROM app_banktransaction WHERE amount='TESTKUDOS:10' 
ORDER BY id LIMIT 1;" | psql $DB -Aqt`
-OLD_ACC=`echo "SELECT debit_account_id FROM app_banktransaction WHERE 
id=$OLD_ID;" | psql $DB -Aqt`
-OLD_SUBJECT=`echo "SELECT subject FROM app_banktransaction WHERE id=$OLD_ID;" 
| psql $DB -Aqt`
+OLD_ID=`echo "SELECT id FROM NexusBankTransactions WHERE amount='10' AND 
currency='TESTKUDOS' ORDER BY id LIMIT 1;" | sqlite3 $DB.sqlite3`
+OLD_TX=`echo "SELECT transactionJson FROM NexusBankTransactions WHERE 
id='$OLD_ID';" | sqlite3 $DB.sqlite3`
 # Change wire transfer to be FROM the exchange (#2) to elsewhere!
 # (Note: this change also causes a missing incoming wire transfer, but
 #  this test is only concerned about the outgoing wire transfer
 #  being detected as such, and we simply ignore the other
 #  errors being reported.)
-echo -e "UPDATE app_banktransaction SET 
debit_account_id=2,credit_account_id=1,subject='CK9QBFY972KR32FVA1MW958JWACEB6XCMHHKVFMCH1A780Q12SVG
 http://exchange.example.com/' WHERE id=$OLD_ID;" | psql -Aqt $DB
+OTHER_IBAN=`echo -e "SELECT iban FROM BankAccounts WHERE label='fortytwo'" | 
sqlite3 $DB.sqlite3`
+NEW_TX=$(echo "$OLD_TX" | jq 
.batches[0].batchTransactions[0].details.creditDebitIndicator='"DBIT"' | jq 
'del(.batches[0].batchTransactions[0].details.debtor)' | jq 
'del(.batches[0].batchTransactions[0].details.debtorAccount)' | jq 
'del(.batches[0].batchTransactions[0].details.debtorAgent)' | jq 
'.batches[0].batchTransactions[0].details.creditor'='{"name": "Forty Two"}' | 
jq .batches[0].batchTransactions[0].details.creditorAccount='{"iban": 
"'$OTHER_IBAN'"}' | jq .batches[0].batchTransac [...]
+echo -e "UPDATE NexusBankTransactions SET transactionJson='"$NEW_TX"' WHERE 
id=$OLD_ID" | sqlite3 $DB.sqlite3
+# Now fake that the exchange prepared this payment (= it POSTed to /transfer)
+# This step is necessary, because the TWG table that accounts for outgoing
+# payments needs it.  Worth noting here is the column 'rawConfirmation' that
+# points to the transaction from the main Nexus ledger; without that column 
set,
+# a prepared payment won't appear as actually outgoing.
+echo -e "INSERT INTO PaymentInitiations 
(bankAccount,preparationDate,submissionDate,sum,currency,endToEndId,paymentInformationId,instructionId,subject,creditorIban,creditorBic,creditorName,submitted,messageId,rawConfirmation)
 VALUES 
(1,1,1,10,'TESTKUDOS','NOTGIVEN','unused','unused','CK9QBFY972KR32FVA1MW958JWACEB6XCMHHKVFMCH1A780Q12SVG
 http://exchange.example.com/','"$OTHER_IBAN"','SANDBOXX','Forty 
Two','unused',1,$OLD_ID)" | sqlite3 $DB.sqlite3
+# Now populate the TWG table that accounts for outgoing payments, in
+# order to let /history/outgoing return one result.
+echo -e "INSERT INTO TalerRequestedPayments 
(facade,payment,requestUid,amount,exchangeBaseUrl,wtid,creditAccount) VALUES 
(1,1,'unused','TESTKUDOS:10','http://exchange.example.com/','CK9QBFY972KR32FVA1MW958JWACEB6XCMHHKVFMCH1A780Q12SVG','payto://iban/SANDBOXX/"$OTHER_IBAN"?receiver-name=Forty+Two')"
 | sqlite3 $DB.sqlite3
 
 run_audit
 
@@ -839,13 +918,14 @@ then
 fi
 echo PASS
 
-# Undo database modification (exchange always has account #2)
-echo "UPDATE app_banktransaction SET 
debit_account_id=$OLD_ACC,credit_account_id=2,subject='$OLD_SUBJECT' WHERE 
id=$OLD_ID;" | psql -Aqt $DB
-
+# Undo database modification
+echo -e "UPDATE NexusBankTransactions SET transactionJson='"$OLD_TX"' WHERE 
id=$OLD_ID;" | sqlite3 $DB.sqlite3
+# No other prepared payment should exist at this point,
+# so OK to remove the number 1.
+echo -e "DELETE FROM PaymentInitiations WHERE id=1" | sqlite3 $DB.sqlite3
+echo -e "DELETE FROM TalerRequestedPayments WHERE id=1" | sqlite3 $DB.sqlite3
 }
 
-
-
 # Test for hanging/pending refresh.
 function test_12() {
 
@@ -999,13 +1079,11 @@ then
     pre_audit aggregator
 
     # Modify wire amount, such that it is inconsistent with 'aggregation'
-    # (exchange account is #2, so the logic below should select the outgoing
+    # (Only one payment out exist, so the logic below should select the 
outgoing
     # wire transfer):
-    OLD_ID=`echo "SELECT id FROM app_banktransaction WHERE debit_account_id=2 
ORDER BY id LIMIT 1;" | psql $DB -Aqt`
-    OLD_AMOUNT=`echo "SELECT amount FROM app_banktransaction WHERE 
id='${OLD_ID}';" | psql $DB -Aqt`
+    OLD_AMOUNT=`echo "SELECT amount FROM TalerRequestedPayments WHERE id='1';" 
| sqlite3 $DB.sqlite3`
     NEW_AMOUNT="TESTKUDOS:50"
-    echo "UPDATE app_banktransaction SET amount='${NEW_AMOUNT}' WHERE 
id='${OLD_ID}';" | psql -Aqt $DB
-
+    echo "UPDATE TalerRequestedPayments SET amount='${NEW_AMOUNT}' WHERE 
id='1';" | sqlite3 $DB.sqlite3
     audit_only
 
     echo -n "Testing inconsistency detection... "
@@ -1034,8 +1112,7 @@ then
 
     echo "Second modification: wire nothing"
     NEW_AMOUNT="TESTKUDOS:0"
-    echo "UPDATE app_banktransaction SET amount='${NEW_AMOUNT}' WHERE 
id='${OLD_ID}';" | psql -Aqt $DB
-
+    echo "UPDATE TalerRequestedPayments SET amount='${NEW_AMOUNT}' WHERE 
id='1';" | sqlite3 $DB.sqlite3
     audit_only
 
     echo -n "Testing inconsistency detection... "
@@ -1078,7 +1155,6 @@ fi
 # Test where wire-out timestamp is wrong
 function test_17() {
 echo "===========17: incorrect wire_out timestamp================="
-
 # Check wire transfer lag reported (no aggregator!)
 # NOTE: This test is EXPECTED to fail for ~1h after
 # re-generating the test database as we do not
@@ -1092,14 +1168,15 @@ then
     pre_audit aggregator
 
     # Modify wire amount, such that it is inconsistent with 'aggregation'
-    # (exchange account is #2, so the logic below should select the outgoing
+    # (exchange payed only once, so the logic below should select the outgoing
     # wire transfer):
-    OLD_ID=`echo "SELECT id FROM app_banktransaction WHERE debit_account_id=2 
ORDER BY id LIMIT 1;" | psql $DB -Aqt`
-    OLD_DATE=`echo "SELECT date FROM app_banktransaction WHERE 
id='${OLD_ID}';" | psql $DB -Aqt`
+    OLD_ID=1
+    OLD_PREP=`echo "SELECT payment FROM TalerRequestedPayments WHERE 
id='${OLD_ID}';" | sqlite3 $DB.sqlite3`
+    OLD_DATE=`echo "SELECT preparationDate FROM PaymentInitiations WHERE 
id='${OLD_ID}';" | sqlite3 $DB.sqlite3`
     # Note: need - interval '1h' as "NOW()" may otherwise be exactly what is 
already in the DB
     # (due to rounding, if this machine is fast...)
-    echo "UPDATE app_banktransaction SET date=NOW()- interval '1 hour' WHERE 
id='${OLD_ID}';" | psql -Aqt $DB
-
+    NOW_1HR=$(expr $(date +%s) - 3600)
+    echo "UPDATE PaymentInitiations SET preparationDate='$NOW_1HR' WHERE 
id='${OLD_PREP}';" | sqlite3 $DB.sqlite3
     audit_only
     post_audit
 
@@ -1272,8 +1349,8 @@ then
     pre_audit aggregator
 
     # remove transaction from bank DB
-    echo "DELETE FROM app_banktransaction WHERE debit_account_id=2 AND 
amount='TESTKUDOS:${VAL_DELTA}';" | psql -Aqt $DB
-
+    # Currently emulating this (to be deleted):
+    echo "DELETE FROM TalerRequestedPayments WHERE 
amount='TESTKUDOS:${VAL_DELTA}'" | sqlite3 $DB.sqlite3
     audit_only
     post_audit
 
@@ -1559,12 +1636,13 @@ then
     pre_audit aggregator
 
     # Obtain data to duplicate.
-    ID=`echo "SELECT id FROM app_banktransaction WHERE debit_account_id=2 
LIMIT 1" | psql $DB -Aqt`
-    WTID=`echo "SELECT subject FROM app_banktransaction WHERE 
debit_account_id=2 LIMIT 1" | psql $DB -Aqt`
+    WTID=`echo SELECT wtid FROM TalerRequestedPayments WHERE id=1 | sqlite3 
$DB.sqlite3`
     echo WTID=$WTID
-    UUID="992e8936-a64d-4845-87d7-021440330f8a"
-    echo "INSERT INTO app_banktransaction 
(amount,subject,date,credit_account_id,debit_account_id,cancelled,request_uid) 
VALUES ('TESTKUDOS:1','$WTID',NOW(),12,2,'f','$UUID')" | psql -Aqt $DB
-
+    OTHER_IBAN=`echo -e "SELECT iban FROM BankAccounts WHERE label='fortytwo'" 
| sqlite3 $DB.sqlite3`
+    # 'rawConfirmation' is set to 2 here, that doesn't
+    # point to any record.  That's only needed to set a non null value.
+    echo -e "INSERT INTO PaymentInitiations 
(bankAccount,preparationDate,submissionDate,sum,currency,endToEndId,paymentInformationId,instructionId,subject,creditorIban,creditorBic,creditorName,submitted,messageId,rawConfirmation)
 VALUES (1,$(date +%s),$(expr $(date +%s) + 
2),10,'TESTKUDOS','NOTGIVEN','unused','unused','$WTID 
http://exchange.example.com/','$OTHER_IBAN','SANDBOXX','Forty 
Two','unused',1,2)" | sqlite3 $DB.sqlite3
+    echo -e "INSERT INTO TalerRequestedPayments 
(facade,payment,requestUid,amount,exchangeBaseUrl,wtid,creditAccount) VALUES 
(1,2,'unused','TESTKUDOS:1','http://exchange.example.com/','$WTID','payto://iban/SANDBOXX/$OTHER_IBAN?receiver-name=Forty+Two')"
 | sqlite3 $DB.sqlite3
     audit_only
     post_audit
 
@@ -2003,8 +2081,9 @@ CONF=${DB}.conf
 # test required commands exist
 echo "Testing for jq"
 jq -h > /dev/null || exit_skip "jq required"
-echo "Testing for taler-bank-manage"
-taler-bank-manage --help >/dev/null </dev/null || exit_skip "taler-bank-manage 
required"
+# NOTE: really check for all three libeufin commands?
+echo "Testing for libeufin"
+libeufin-cli --help >/dev/null </dev/null || exit_skip "libeufin required"
 echo "Testing for pdflatex"
 which pdflatex > /dev/null </dev/null || exit_skip "pdflatex required"
 
diff --git a/src/auditor/test-revocation.sh b/src/auditor/test-revocation.sh
index 9453c445..ed0c3f33 100755
--- a/src/auditor/test-revocation.sh
+++ b/src/auditor/test-revocation.sh
@@ -47,17 +47,89 @@ function cleanup()
         kill $n 2> /dev/null || true
     done
     wait
+    # kill euFin
+    echo Killing euFin..
+    kill `cat libeufin-sandbox.pid 2> /dev/null` &> /dev/null || true
+    kill `cat libeufin-nexus.pid 2> /dev/null` &> /dev/null || true
+    # So far only Sandbox gave exit issues / delays ..
+    count=0
+    while ps xo pid | grep `cat libeufin-sandbox.pid`; do
+      if test $count = 5; then
+        echo "Sandbox unkillable, failing now .."
+       exit 1
+      fi
+      echo "Sandbox didn't exit yet.."
+      sleep 1;
+      count=`expr $count + 1`
+    done
 }
 
 # Install cleanup handler (except for kill -9)
 trap cleanup EXIT
 
+# Downloads new transactions from the bank.
+function nexus_fetch_transactions () {
+  export LIBEUFIN_NEXUS_USERNAME=exchange
+  export LIBEUFIN_NEXUS_PASSWORD=x
+  export LIBEUFIN_NEXUS_URL=http://localhost:8082/
+  libeufin-cli accounts fetch-transactions \
+    --range-type since-last --level report exchange-nexus > /dev/null
+  unset LIBEUFIN_NEXUS_USERNAME
+  unset LIBEUFIN_NEXUS_PASSWORD
+  unset LIBEUFIN_NEXUS_URL
+}
+
+# Instruct Nexus to all the prepared payments (= those
+# POSTed to /transfer by the exchange).
+function nexus_submit_to_sandbox () {
+  export LIBEUFIN_NEXUS_USERNAME=exchange
+  export LIBEUFIN_NEXUS_PASSWORD=x
+  export LIBEUFIN_NEXUS_URL=http://localhost:8082/
+  libeufin-cli accounts submit-payments exchange-nexus
+  unset LIBEUFIN_NEXUS_USERNAME
+  unset LIBEUFIN_NEXUS_PASSWORD
+  unset LIBEUFIN_NEXUS_URL
+}
+
+function get_payto_uri() {
+    export LIBEUFIN_SANDBOX_USERNAME=$1
+    export LIBEUFIN_SANDBOX_PASSWORD=$2
+    export LIBEUFIN_SANDBOX_URL=http://localhost:18082/demobanks/default
+    libeufin-cli sandbox demobank info --bank-account $1 | jq --raw-output 
'.paytoUri'
+}
+
+function launch_libeufin () {
+    export LIBEUFIN_NEXUS_DB_CONNECTION="jdbc:sqlite:$DB.sqlite3"
+    libeufin-nexus serve --port 8082 \
+      2> libeufin-nexus-stderr.log \
+      > libeufin-nexus-stdout.log &
+    echo $! > libeufin-nexus.pid
+    export LIBEUFIN_SANDBOX_DB_CONNECTION="jdbc:sqlite:$DB.sqlite3"
+    export LIBEUFIN_SANDBOX_ADMIN_PASSWORD=secret
+    libeufin-sandbox serve --port 18082 \
+      > libeufin-sandbox-stdout.log \
+      2> libeufin-sandbox-stderr.log &
+    echo $! > libeufin-sandbox.pid
+}
 
 # Operations to run before the actual audit
 function pre_audit () {
     # Launch bank
     echo -n "Launching bank "
-    taler-bank-manage-testing $CONF postgres:///$DB serve 2>bank.err >bank.log 
&
+    EXCHANGE_URL=`taler-config -c $CONF -s EXCHANGE -o BASE_URL`
+    launch_libeufin
+    for n in `seq 1 80`
+    do
+        echo -n "."
+        sleep 0.1
+        OK=1
+        wget http://localhost:18082/ -o /dev/null -O /dev/null >/dev/null && 
break
+        OK=0
+    done
+    if [ 1 != $OK ]
+    then
+        exit_skip "Failed to launch Sandbox"
+    fi
     for n in `seq 1 80`
     do
         echo -n "."
@@ -68,14 +140,13 @@ function pre_audit () {
     done
     if [ 1 != $OK ]
     then
-        exit_skip "Failed to launch bank"
+        exit_skip "Failed to launch Nexus"
     fi
     echo " DONE"
-
     if test ${1:-no} = "aggregator"
     then
         export CONF
-        echo -n "Running exchange aggregator ..."
+       echo -n "Running exchange aggregator ... (config: $CONF)"
         taler-exchange-aggregator -L INFO -t -c $CONF -y 2> aggregator.log || 
exit_fail "FAIL"
         echo " DONE"
         echo -n "Running exchange closer ..."
@@ -84,13 +155,20 @@ function pre_audit () {
         echo -n "Running exchange transfer ..."
         taler-exchange-transfer -L INFO -t -c $CONF 2> transfer.log || 
exit_fail "FAIL"
         echo " DONE"
+       echo -n "Running Nexus payment submitter ..."
+       nexus_submit_to_sandbox
+       echo " DONE"
+       # Make outgoing transactions appear in the TWG:
+       echo -n "Download bank transactions ..."
+       nexus_fetch_transactions
+       echo " DONE"
     fi
 }
 
 # actual audit run
 function audit_only () {
     # Run the auditor!
-    echo -n "Running audit(s) ..."
+    echo -n "Running audit(s) ... (conf is $CONF)"
 
     # Restart so that first run is always fresh, and second one is incremental
     taler-auditor-dbinit -r -c $CONF
@@ -152,10 +230,22 @@ full_reload()
 {
     echo -n "Doing full reload of the database... "
     dropdb $DB 2> /dev/null || true
+    rm -f $DB.sqlite3 || true # libeufin
     createdb -T template0 $DB || exit_skip "could not create database"
     # Import pre-generated database, -q(ietly) using single (-1) transaction
     psql -Aqt $DB -q -1 -f ${BASEDB}.sql > /dev/null || exit_skip "Failed to 
load database"
+    sqlite3 $DB.sqlite3 < ${BASEDB}-libeufin.sql || exit_skip "Failed to load 
libEufin database"
     echo "DONE"
+    # Exchange payto URI contains the (dynamically generated)
+    # IBAN, that can only be written in CONF after libeufin is
+    # setup.
+    taler-config -c $CONF -s exchange-account-1 -o PAYTO_URI &> /dev/null || (
+    echo -n "Specifying exchange payto URI in the configuration ($CONF) (grab 
IBAN from $DB.sqlite3)...";
+      EXCHANGE_IBAN=`echo "SELECT iban FROM BankAccounts WHERE 
label='exchange'" | sqlite3 $DB.sqlite3`;
+      taler-config -c $CONF -s exchange-account-1 -o PAYTO_URI \
+        -V 
"payto://iban/SANDBOXX/$EXCHANGE_IBAN?receiver-name=Exchange+Company"
+      echo " DONE"
+    )
 }
 
 
@@ -462,7 +552,6 @@ check_with_database()
 
     # Load database
     full_reload
-
     # Run test suite
     fail=0
     for i in $TESTS
@@ -492,8 +581,8 @@ CONF=revoke-basedb.conf
 # test required commands exist
 echo "Testing for jq"
 jq -h > /dev/null || exit_skip "jq required"
-echo "Testing for taler-bank-manage"
-taler-bank-manage --help >/dev/null </dev/null || exit_skip "taler-bank-manage 
required"
+echo "Testing for libeufin(-cli)"
+libeufin-cli --help >/dev/null </dev/null || exit_skip "libeufin required"
 echo "Testing for pdflatex"
 which pdflatex > /dev/null </dev/null || exit_skip "pdflatex required"
 
diff --git a/src/testing/test_bank_api.c b/src/testing/test_bank_api.c
index d81fbe36..cb4609dd 100644
--- a/src/testing/test_bank_api.c
+++ b/src/testing/test_bank_api.c
@@ -37,6 +37,13 @@
 #define CONFIG_FILE_PYBANK "test_bank_api_pybank.conf"
 #define CONFIG_FILE_NEXUS "test_bank_api_nexus.conf"
 
+
+/**
+ * Configuration file.  It changes based on
+ * whether Nexus or Fakebank are used.
+ */
+const char *cfgfile;
+
 /**
  * Bank configuration data.
  */
@@ -88,14 +95,24 @@ run (void *cls,
                                             "KUDOS:5.01",
                                             &bc.exchange_auth,
                                             bc.user42_payto),
+      /**
+       * This CMD doesn't care about the HTTP response code; that's
+       * because Fakebank and euFin behaves differently when a reserve
+       * pub is duplicate.  Fakebank responds with 409, whereas euFin
+       * with 200 but it bounces the payment back to the customer.
+       */
       TALER_TESTING_cmd_admin_add_incoming_with_ref ("credit-1-fail",
                                                      "KUDOS:2.01",
                                                      &bc.exchange_auth,
                                                      bc.user42_payto,
                                                      "credit-1",
-                                                     MHD_HTTP_CONFLICT),
+                                                     -1),
       TALER_TESTING_cmd_sleep ("Waiting 4s for 'credit-1' to settle",
                                4),
+      /**
+       * Check that the incoming payment with a duplicate
+       * reserve public key didn't make it to the exchange.
+       */
       TALER_TESTING_cmd_bank_credits ("history-1c",
                                       &bc.exchange_auth,
                                       NULL,
@@ -164,7 +181,6 @@ main (int argc,
       char *const *argv)
 {
   int rv;
-  const char *cfgfile;
 
   (void) argc;
   (void) argv;
diff --git a/src/testing/test_bank_api_nexus.conf 
b/src/testing/test_bank_api_nexus.conf
index c514170e..016399d5 100644
--- a/src/testing/test_bank_api_nexus.conf
+++ b/src/testing/test_bank_api_nexus.conf
@@ -1,22 +1,20 @@
 # This file is in the public domain.
 
 [taler]
-currency = KUDOS
+currency = TESTKUDOS
 
 [exchange-account-2]
 PAYTO_URI = payto://iban/BIC/ES9121000418450200051332?receiver-name=Exchange
 
 [exchange-accountcredentials-2]
-WIRE_GATEWAY_URL = http://localhost:5001/facades/my-facade/taler/
+WIRE_GATEWAY_URL = http://localhost:5001/facades/my-facade/taler-wire-gateway/
 WIRE_GATEWAY_AUTH_METHOD = basic
-# the exchange authenticates as the 'admin' user,
-# since that makes the test preparation just easier.
-USERNAME = Exchange
+USERNAME = exchange
 PASSWORD = x
 
 [bank]
 # not (!) used by the nexus, only by the helper
-# check to make sure the port is free for the nexus.
+# check to make sure the port is free for Nexus.
 HTTP_PORT = 5001
 
 [auditor]
diff --git a/src/testing/testing_api_cmd_bank_admin_add_incoming.c 
b/src/testing/testing_api_cmd_bank_admin_add_incoming.c
index 28d251a4..9db874fa 100644
--- a/src/testing/testing_api_cmd_bank_admin_add_incoming.c
+++ b/src/testing/testing_api_cmd_bank_admin_add_incoming.c
@@ -217,6 +217,26 @@ confirmation_cb (void *cls,
   fts->reserve_history.details.in_details.timestamp = timestamp;
   fts->reserve_history.details.in_details.wire_reference = serial_id;
   fts->aih = NULL;
+  /**
+   * Test case not caring about the HTTP status code.
+   * That helps when Fakebank and Libeufin diverge in
+   * the response status code.  An example is the
+   * /admin/add-incoming: libeufin return ALWAYS '200 OK'
+   * (see note below) whereas the Fakebank responds with
+   * '409 Conflict' upon a duplicate reserve public key.
+   *
+   * Note: this decision aims at avoiding to put Taler
+   * logic into the Sandbox; that's because banks DO allow
+   * their customers to wire the same subject multiple
+   * times.  Hence, instead of triggering any error, libeufin
+   * bounces the payment back in the same way it does for
+   * malformed reserve public keys.
+   */
+  if (-1 == fts->expected_http_status)
+  {
+    TALER_TESTING_interpreter_next (is);
+    return;
+  }
   if (http_status != fts->expected_http_status)
   {
     GNUNET_break (0);
diff --git a/src/testing/testing_api_cmd_bank_history_credit.c 
b/src/testing/testing_api_cmd_bank_history_credit.c
index 62bc47e1..c65c84c1 100644
--- a/src/testing/testing_api_cmd_bank_history_credit.c
+++ b/src/testing/testing_api_cmd_bank_history_credit.c
@@ -168,9 +168,6 @@ build_history (struct TALER_TESTING_Interpreter *is,
   unsigned int start;
   unsigned int end;
 
-  /* @var turns GNUNET_YES whenever either no 'start' value was
-   *      given for the history query, or the given value is found
-   *      in the list of all the CMDs. *///
   int ok;
   const uint64_t *row_id_start = NULL;
 
@@ -208,7 +205,11 @@ build_history (struct TALER_TESTING_Interpreter *is,
     start = is->ip - 1;
     end = 0;
   }
-
+  /**
+   * ok equals GNUNET_YES whenever a starting row_id
+   * was provided AND was found among the CMDs, OR no
+   * starting row was given in the first place.
+   */
   ok = GNUNET_NO;
   if (NULL == row_id_start)
     ok = GNUNET_YES;
@@ -228,9 +229,11 @@ build_history (struct TALER_TESTING_Interpreter *is,
     const struct TALER_ReservePublicKeyP *reserve_pub;
     const char **exchange_credit_url;
 
-    /* The following command allows us to skip over those CMDs
+    /**
+     * The following command allows us to skip over those CMDs
      * that do not offer a "row_id" trait.  Such skipped CMDs are
-     * not interesting for building a history. *///
+     * not interesting for building a history.
+     */
     if ( (GNUNET_OK !=
           TALER_TESTING_get_trait_bank_row (cmd,
                                             &row_id)) ||
@@ -250,22 +253,29 @@ build_history (struct TALER_TESTING_Interpreter *is,
           TALER_TESTING_get_trait_exchange_bank_account_url (
             cmd,
             &exchange_credit_url)) )
-      continue; /* not an interesting event */
-    /* Seek "/history/incoming" starting row.  */
+      continue; // Not an interesting event
+    /**
+     * Is the interesting event a match with regard to
+     * the row_id value?  If yes, store this condition
+     * to the state and analyze the next CMDs.
+     */
     if ( (NULL != row_id_start) &&
          (*row_id_start == *row_id) &&
          (GNUNET_NO == ok) )
     {
-      /* Until here, nothing counted. */
       ok = GNUNET_YES;
       continue;
     }
-    /* when 'start' was _not_ given, then ok == GNUNET_YES */
+    /**
+     * The interesting event didn't match the wanted
+     * row_id value, analyze the next CMDs.  Note: this
+     * branch is relevant only when row_id WAS given.
+     */
     if (GNUNET_NO == ok)
-      continue; /* skip until we find the marker */
+      continue;
     if (0 != strcasecmp (hs->account_url,
                          *exchange_credit_url))
-      continue; /* account mismatch */
+      continue; // Account mismatch
     if (total >= GNUNET_MAX (hs->num_results,
                              -hs->num_results) )
     {
diff --git a/src/testing/testing_api_helpers_bank.c 
b/src/testing/testing_api_helpers_bank.c
index 1ec2050a..eccd4572 100644
--- a/src/testing/testing_api_helpers_bank.c
+++ b/src/testing/testing_api_helpers_bank.c
@@ -92,6 +92,12 @@ TALER_TESTING_run_libeufin (const struct 
TALER_TESTING_BankConfiguration *bc)
   struct TALER_TESTING_LibeufinServices ret = { 0 };
   unsigned int iter;
   char *curl_check_cmd;
+  const char *db_conn = "jdbc:sqlite:/tmp/libeufin-exchange-test.sqlite3";
+
+  setenv (
+    "LIBEUFIN_NEXUS_DB_CONNECTION",
+    db_conn,
+    1); // not overwriting any potentially existing DB.
 
   nexus_proc = GNUNET_OS_start_process (
     GNUNET_OS_INHERIT_STD_ERR,
@@ -99,7 +105,6 @@ TALER_TESTING_run_libeufin (const struct 
TALER_TESTING_BankConfiguration *bc)
     "libeufin-nexus",
     "libeufin-nexus",
     "serve",
-    "--db-name", "/tmp/nexus-exchange-test.sqlite3",
     NULL);
   if (NULL == nexus_proc)
   {
@@ -139,14 +144,26 @@ TALER_TESTING_run_libeufin (const struct 
TALER_TESTING_BankConfiguration *bc)
   // start sandbox.
   GNUNET_free (curl_check_cmd);
   fprintf (stderr, "\n");
-
+  setenv (
+    "LIBEUFIN_SANDBOX_DB_CONNECTION",
+    db_conn,
+    1); // not overwriting existing any potentially existing DB.
+  setenv (
+    "LIBEUFIN_SANDBOX_ADMIN_PASSWORD",
+    "secret",
+    1);
+  if (0 != system ("libeufin-sandbox config --currency=KUDOS default"))
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                "Could not create the default demobank.\n");
+    return ret;
+  }
   sandbox_proc = GNUNET_OS_start_process (
     GNUNET_OS_INHERIT_STD_ERR,
     NULL, NULL, NULL,
     "libeufin-sandbox",
     "libeufin-sandbox",
     "serve",
-    "--db-name", "/tmp/sandbox-exchange-test.sqlite3",
     NULL);
   if (NULL == sandbox_proc)
   {
@@ -350,8 +367,7 @@ TALER_TESTING_prepare_nexus (const char *config_filename,
   /* DB preparation */
   if (GNUNET_YES == reset_db)
   {
-    if (0 != system (
-          "rm -f /tmp/nexus-exchange-test.sqlite3 && rm -f 
/tmp/sandbox-exchange-test.sqlite3"))
+    if (0 != system ("rm -f /tmp/libeufin-exchange-test.sqlite3"))
     {
       GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
                   "Failed to invoke db-removal command.\n");
@@ -384,9 +400,9 @@ TALER_TESTING_prepare_nexus (const char *config_filename,
   GNUNET_CONFIGURATION_destroy (cfg);
   bc->exchange_payto = exchange_payto_uri;
   bc->user42_payto =
-    "payto://iban/BIC/FR7630006000011234567890189?receiver-name=User42";
+    "payto://iban/SANDBOXX/FR7630006000011234567890189?receiver-name=User42";
   bc->user43_payto =
-    "payto://iban/BIC/GB33BUKB20201555555555?receiver-name=User43";
+    "payto://iban/SANDBOXX/GB33BUKB20201555555555?receiver-name=User43";
   GNUNET_log (GNUNET_ERROR_TYPE_INFO,
               "Relying on nexus %s on port %u\n",
               bc->exchange_auth.wire_gateway_url,

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]