diff --git a/app/src/common/parser_common.h b/app/src/common/parser_common.h index 78b1822..e7913f5 100644 --- a/app/src/common/parser_common.h +++ b/app/src/common/parser_common.h @@ -60,6 +60,7 @@ typedef enum { parser_json_too_many_tokens, // "NOMEM: JSON string contains too many tokens" parser_json_incomplete_json, // "JSON string is not complete"; parser_json_not_a_transfer, + parser_invalid_meta_field, parser_json_unexpected_error, } parser_error_t; diff --git a/app/src/items.c b/app/src/items.c index 85fdd37..22711ec 100644 --- a/app/src/items.c +++ b/app/src/items.c @@ -19,34 +19,38 @@ #include "parser_impl.h" #include -static parser_error_t items_stdToDisplayString(uint16_t token_index, char *outVal, uint16_t *outValLen); -static parser_error_t items_nothingToDisplayString(__Z_UNUSED uint16_t token_index, char *outVal, uint16_t *outValLen); -static parser_error_t items_warningToDisplayString(__Z_UNUSED uint16_t token_index, char *outVal, uint16_t *outValLen); -static parser_error_t items_signingToDisplayString(uint16_t token_index, char *outVal, uint16_t *outValLen); -static parser_error_t items_requiringToDisplayString(uint16_t token_index, char *outVal, uint16_t *outValLen); -static parser_error_t items_transferToDisplayString(uint16_t token_index, char *outVal, uint16_t *outValLen); -static parser_error_t items_rotateToDisplayString(uint16_t token_index_json, char *outVal, uint16_t *outValLen); -static parser_error_t items_gasToDisplayString(uint16_t token_index, char *outVal, uint16_t *outValLen); -static parser_error_t items_hashToDisplayString(uint16_t token_index, char *outVal, uint16_t *outValLen); -static parser_error_t items_unknownCapabilityToDisplayString(uint16_t token_index, char *outVal, uint16_t *outValLen); -static void items_storeGasItem(uint16_t json_token_index, uint8_t items_idx, uint8_t *unknown_capabitilies); -static void items_storeTransferItem(parsed_json_t *json_all, uint16_t transfer_token_index, uint8_t items_idx, uint8_t *num_of_transfers, uint8_t *unknown_capabitilies); -static void items_storeRotateItem(parsed_json_t *json_all, uint16_t transfer_token_index, uint8_t items_idx, uint8_t *unknown_capabitilies); +static parser_error_t items_stdToDisplayString(item_t item, char *outVal, uint16_t *outValLen); +static parser_error_t items_nothingToDisplayString(__Z_UNUSED item_t item, char *outVal, uint16_t *outValLen); +static parser_error_t items_warningToDisplayString(__Z_UNUSED item_t item, char *outVal, uint16_t *outValLen); +static parser_error_t items_cautionToDisplayString(__Z_UNUSED item_t item, char *outVal, uint16_t *outValLen); +static parser_error_t items_txTooLargeToDisplayString(__Z_UNUSED item_t item, char *outVal, uint16_t *outValLen); +static parser_error_t items_signingToDisplayString(item_t item, char *outVal, uint16_t *outValLen); +static parser_error_t items_requiringToDisplayString(item_t item, char *outVal, uint16_t *outValLen); +static parser_error_t items_transferToDisplayString(item_t item, char *outVal, uint16_t *outValLen); +static parser_error_t items_crossTransferToDisplayString(item_t item, char *outVal, uint16_t *outValLen); +static parser_error_t items_rotateToDisplayString(item_t item, char *outVal, uint16_t *outValLen); +static parser_error_t items_gasToDisplayString(item_t item, char *outVal, uint16_t *outValLen); +static parser_error_t items_hashToDisplayString(item_t item, char *outVal, uint16_t *outValLen); +static parser_error_t items_unknownCapabilityToDisplayString(item_t item, char *outVal, uint16_t *outValLen); +static items_error_t items_storeGasItem(uint16_t json_token_index, uint8_t items_idx, uint8_t *unknown_capabitilies); +static items_error_t items_storeTransferItem(parsed_json_t *json_all, uint16_t transfer_token_index, uint8_t items_idx, uint8_t *num_of_transfers, uint8_t *unknown_capabitilies); +static items_error_t items_storeCrossTransferItem(parsed_json_t *json_all, uint16_t transfer_token_index, uint8_t items_idx, uint8_t *num_of_transfers, uint8_t *unknown_capabitilies); +static items_error_t items_storeRotateItem(parsed_json_t *json_all, uint16_t transfer_token_index, uint8_t items_idx, uint8_t *unknown_capabitilies); +static items_error_t items_storeUnknownItem(parsed_json_t *json_all, uint16_t transfer_token_index, uint8_t items_idx, uint8_t *unknown_capabitilies); #define CURR_ITEM_TOKEN item_array.items[items_idx].json_token_index item_array_t item_array; -parsed_json_t signing_json; -parsed_json_t requiring_json; - uint8_t hash[BLAKE2B_HASH_SIZE] = {0}; char base64_hash[44]; void items_initItems() { MEMZERO(&item_array, sizeof(item_array_t)); - MEMZERO(&signing_json, sizeof(parsed_json_t)); - MEMZERO(&requiring_json, sizeof(parsed_json_t)); + + for (uint8_t i = 0; i < sizeof(item_array.items) / sizeof(item_array.items[0]); i++) { + item_array.items[i].can_display = true; + } } item_array_t *items_getItemArray() { @@ -62,24 +66,25 @@ void items_storeItems() { bool unscoped_signer = false; strcpy(item_array.items[items_idx].key, "Signing"); - item_array.items[items_idx].toString = items_signingToDisplayString; + item_array.toString[items_idx] = items_signingToDisplayString; items_idx++; // Skip item if network id is not available if (parser_getJsonValue(&CURR_ITEM_TOKEN, JSON_NETWORK_ID) == parser_ok) { strcpy(item_array.items[items_idx].key, "On Network"); - item_array.items[items_idx].toString = items_stdToDisplayString; + item_array.toString[items_idx] = items_stdToDisplayString; items_idx++; } strcpy(item_array.items[items_idx].key, "Requiring"); - item_array.items[items_idx].toString = items_requiringToDisplayString; + item_array.toString[items_idx] = items_requiringToDisplayString; items_idx++; - if (parser_getJsonValue(&CURR_ITEM_TOKEN, JSON_META) == parser_ok) { - if (parser_getJsonValue(&CURR_ITEM_TOKEN, JSON_SENDER) == parser_ok) { + if (parser_getJsonValue(&CURR_ITEM_TOKEN, JSON_SIGNERS) == parser_ok) { + array_get_nth_element(&json_all, CURR_ITEM_TOKEN, 0, &CURR_ITEM_TOKEN); + if (parser_getJsonValue(&CURR_ITEM_TOKEN, JSON_PUBKEY) == parser_ok) { strcpy(item_array.items[items_idx].key, "Of Key"); - item_array.items[items_idx].toString = items_stdToDisplayString; + item_array.toString[items_idx] = items_stdToDisplayString; items_idx++; } } @@ -112,7 +117,7 @@ void items_storeItems() { if (unscoped_signer) { strcpy(item_array.items[items_idx].key, "Unscoped Signer"); CURR_ITEM_TOKEN = item_array.items[items_idx - 1].json_token_index; - item_array.items[items_idx].toString = items_stdToDisplayString; + item_array.toString[items_idx] = items_stdToDisplayString; items_idx++; } @@ -135,16 +140,28 @@ void items_storeItems() { if (array_get_nth_element(&json_all, clist_token_index, i, &token_index) == parser_ok) { uint16_t name_token_index = 0; if (object_get_value(&json_all, token_index, JSON_NAME, &name_token_index) == parser_ok) { - if (MEMCMP("coin.TRANSFER", json_all.buffer + json_all.tokens[name_token_index].start, - json_all.tokens[name_token_index].end - json_all.tokens[name_token_index].start) == 0) { + if (MEMCMP("coin.TRANSFER_XCHAIN", json_all.buffer + json_all.tokens[name_token_index].start, + sizeof("coin.TRANSFER_XCHAIN") - 1) == 0) { + CURR_ITEM_TOKEN = token_index; + items_storeCrossTransferItem(&json_all, token_index, items_idx, &num_of_transfers, &unknown_capabitilies); + items_idx++; + } else if (MEMCMP("coin.TRANSFER", json_all.buffer + json_all.tokens[name_token_index].start, + sizeof("coin.TRANSFER") - 1) == 0) { CURR_ITEM_TOKEN = token_index; items_storeTransferItem(&json_all, token_index, items_idx, &num_of_transfers, &unknown_capabitilies); items_idx++; } else if (MEMCMP("coin.ROTATE", json_all.buffer + json_all.tokens[name_token_index].start, - json_all.tokens[name_token_index].end - json_all.tokens[name_token_index].start) == 0) { + sizeof("coin.ROTATE") - 1) == 0) { CURR_ITEM_TOKEN = token_index; items_storeRotateItem(&json_all, token_index, items_idx, &unknown_capabitilies); items_idx++; + } else if (MEMCMP("coin.GAS", json_all.buffer + json_all.tokens[name_token_index].start, + sizeof("coin.GAS") - 1) != 0) { + // Any other case that's not coin.GAS + CURR_ITEM_TOKEN = token_index; + items_storeUnknownItem(&json_all, token_index, items_idx, &unknown_capabitilies); + items_idx++; + item_array.toString[items_idx] = items_unknownCapabilityToDisplayString; } } } @@ -152,25 +169,40 @@ void items_storeItems() { } else { // No Clist given, Raise warning strcpy(item_array.items[items_idx].key, "WARNING"); - item_array.items[items_idx].toString = items_warningToDisplayString; + item_array.toString[items_idx] = items_warningToDisplayString; items_idx++; } } - CURR_ITEM_TOKEN = 0; - if (parser_getJsonValue(&CURR_ITEM_TOKEN, JSON_META) == parser_ok) { - if (parser_getJsonValue(&CURR_ITEM_TOKEN, JSON_CHAIN_ID) == parser_ok) { - strcpy(item_array.items[items_idx].key, "On Chain"); - item_array.items[items_idx].toString = items_stdToDisplayString; + if (parser_validateMetaField() != parser_ok) { + strcpy(item_array.items[items_idx].key, "CAUTION"); + item_array.toString[items_idx] = items_cautionToDisplayString; + items_idx++; + } else { + CURR_ITEM_TOKEN = 0; + if (parser_getJsonValue(&CURR_ITEM_TOKEN, JSON_META) == parser_ok) { + if (parser_getJsonValue(&CURR_ITEM_TOKEN, JSON_CHAIN_ID) == parser_ok) { + strcpy(item_array.items[items_idx].key, "On Chain"); + item_array.toString[items_idx] = items_stdToDisplayString; + items_idx++; + } + } + + CURR_ITEM_TOKEN = 0; + if (parser_getJsonValue(&CURR_ITEM_TOKEN, JSON_META) == parser_ok) { + strcpy(item_array.items[items_idx].key, "Using Gas"); + item_array.toString[items_idx] = items_gasToDisplayString; items_idx++; } } - CURR_ITEM_TOKEN = 0; - if (parser_getJsonValue(&CURR_ITEM_TOKEN, JSON_META) == parser_ok) { - strcpy(item_array.items[items_idx].key, "Using Gas"); - item_array.items[items_idx].toString = items_gasToDisplayString; - items_idx++; + for (uint8_t i = 0; i < items_idx; i++) { + if (!item_array.items[i].can_display) { + strcpy(item_array.items[items_idx].key, "WARNING"); + item_array.toString[items_idx] = items_txTooLargeToDisplayString; + items_idx++; + break; + } } strcpy(item_array.items[items_idx].key, "Transaction hash"); @@ -189,7 +221,7 @@ void items_storeItems() { } } - item_array.items[items_idx].toString = items_hashToDisplayString; + item_array.toString[items_idx] = items_hashToDisplayString; items_idx++; strcpy(item_array.items[items_idx].key, "Sign for Address"); @@ -200,7 +232,7 @@ void items_storeItems() { CHECK_ERROR(crypto_fillAddress(address, sizeof(address), &address_size)); snprintf(outVal, address_size + 1, "%s", address); */ - item_array.items[items_idx].toString = items_hashToDisplayString; + item_array.toString[items_idx] = items_hashToDisplayString; items_idx++; item_array.numOfItems = items_idx; @@ -210,7 +242,7 @@ uint16_t items_getTotalItems() { return item_array.numOfItems; } -static void items_storeGasItem(uint16_t json_token_index, uint8_t items_idx, uint8_t *unknown_capabitilies) { +static items_error_t items_storeGasItem(uint16_t json_token_index, uint8_t items_idx, uint8_t *unknown_capabitilies) { uint16_t token_index = 0; uint16_t args_count = 0; parsed_json_t json_all = parser_getParserTxObj()->tx_json.json; @@ -221,14 +253,16 @@ static void items_storeGasItem(uint16_t json_token_index, uint8_t items_idx, uin if (args_count > 0) { snprintf(item_array.items[items_idx].key, sizeof(item_array.items[items_idx].key), "Unknown Capability %d", *unknown_capabitilies); (*unknown_capabitilies)++; - item_array.items[items_idx].toString = items_unknownCapabilityToDisplayString; + item_array.toString[items_idx] = items_unknownCapabilityToDisplayString; } else { strcpy(item_array.items[items_idx].key, "Paying Gas"); - item_array.items[items_idx].toString = items_nothingToDisplayString; + item_array.toString[items_idx] = items_nothingToDisplayString; } + + return items_ok; } -static void items_storeTransferItem(parsed_json_t *json_all, uint16_t transfer_token_index, uint8_t items_idx, uint8_t *num_of_transfers, uint8_t *unknown_capabitilies) { +static items_error_t items_storeTransferItem(parsed_json_t *json_all, uint16_t transfer_token_index, uint8_t items_idx, uint8_t *num_of_transfers, uint8_t *unknown_capabitilies) { uint16_t token_index = 0; uint16_t num_of_args = 0; @@ -239,15 +273,46 @@ static void items_storeTransferItem(parsed_json_t *json_all, uint16_t transfer_t if (num_of_args == 3) { snprintf(item_array.items[items_idx].key, sizeof(item_array.items[items_idx].key), "Transfer %d", *num_of_transfers); (*num_of_transfers)++; - item_array.items[items_idx].toString = items_transferToDisplayString; + item_array.toString[items_idx] = items_transferToDisplayString; } else { snprintf(item_array.items[items_idx].key, sizeof(item_array.items[items_idx].key), "Unknown Capability %d", *unknown_capabitilies); (*unknown_capabitilies)++; - item_array.items[items_idx].toString = items_unknownCapabilityToDisplayString; + item_array.toString[items_idx] = items_unknownCapabilityToDisplayString; + + if (num_of_args > 5) { + item_array.items[items_idx].can_display = false; + } } + + return items_ok; } -static void items_storeRotateItem(parsed_json_t *json_all, uint16_t transfer_token_index, uint8_t items_idx, uint8_t *unknown_capabitilies) { +static items_error_t items_storeCrossTransferItem(parsed_json_t *json_all, uint16_t transfer_token_index, uint8_t items_idx, uint8_t *num_of_transfers, uint8_t *unknown_capabitilies) { + uint16_t token_index = 0; + uint16_t num_of_args = 0; + + object_get_value(json_all, transfer_token_index, "args", &token_index); + + array_get_element_count(json_all, token_index, &num_of_args); + + if (num_of_args == 4) { + snprintf(item_array.items[items_idx].key, sizeof(item_array.items[items_idx].key), "Transfer %d", *num_of_transfers); + (*num_of_transfers)++; + item_array.toString[items_idx] = items_crossTransferToDisplayString; + } else { + snprintf(item_array.items[items_idx].key, sizeof(item_array.items[items_idx].key), "Unknown Capability %d", *unknown_capabitilies); + (*unknown_capabitilies)++; + item_array.toString[items_idx] = items_unknownCapabilityToDisplayString; + + if (num_of_args > 5) { + item_array.items[items_idx].can_display = false; + } + } + + return items_ok; +} + +static items_error_t items_storeRotateItem(parsed_json_t *json_all, uint16_t transfer_token_index, uint8_t items_idx, uint8_t *unknown_capabitilies) { uint16_t token_index = 0; uint16_t num_of_args = 0; @@ -257,48 +322,86 @@ static void items_storeRotateItem(parsed_json_t *json_all, uint16_t transfer_tok if (num_of_args == 1) { snprintf(item_array.items[items_idx].key, sizeof(item_array.items[items_idx].key), "Rotate for account"); - item_array.items[items_idx].toString = items_rotateToDisplayString; + item_array.toString[items_idx] = items_rotateToDisplayString; } else { snprintf(item_array.items[items_idx].key, sizeof(item_array.items[items_idx].key), "Unknown Capability %d", *unknown_capabitilies); (*unknown_capabitilies)++; - item_array.items[items_idx].toString = items_unknownCapabilityToDisplayString; + item_array.toString[items_idx] = items_unknownCapabilityToDisplayString; + + if (num_of_args > 5) { + item_array.items[items_idx].can_display = false; + } } + + return items_ok; } -static parser_error_t items_stdToDisplayString(uint16_t token_index, char *outVal, uint16_t *outValLen) { +static items_error_t items_storeUnknownItem(parsed_json_t *json_all, uint16_t transfer_token_index, uint8_t items_idx, uint8_t *unknown_capabitilies) { + uint16_t token_index = 0; + uint16_t num_of_args = 0; + + object_get_value(json_all, transfer_token_index, "args", &token_index); + + array_get_element_count(json_all, token_index, &num_of_args); + + snprintf(item_array.items[items_idx].key, sizeof(item_array.items[items_idx].key), "Unknown Capability %d", *unknown_capabitilies); + (*unknown_capabitilies)++; + item_array.toString[items_idx] = items_unknownCapabilityToDisplayString; + + if (num_of_args > 5) { + item_array.items[items_idx].can_display = false; + } + + return items_ok; +} + +static parser_error_t items_stdToDisplayString(item_t item, char *outVal, uint16_t *outValLen) { parsed_json_t json_all = parser_getParserTxObj()->tx_json.json; + uint16_t item_token_index = item.json_token_index; - *outValLen = json_all.tokens[token_index].end - json_all.tokens[token_index].start + 1; - snprintf(outVal, *outValLen, "%s", json_all.buffer + json_all.tokens[token_index].start); + *outValLen = json_all.tokens[item_token_index].end - json_all.tokens[item_token_index].start + 1; + snprintf(outVal, *outValLen, "%s", json_all.buffer + json_all.tokens[item_token_index].start); return parser_ok; } -static parser_error_t items_nothingToDisplayString(__Z_UNUSED uint16_t token_index, char *outVal, uint16_t *outValLen) { +static parser_error_t items_nothingToDisplayString(__Z_UNUSED item_t item, char *outVal, uint16_t *outValLen) { *outValLen = 1; snprintf(outVal, *outValLen, " "); return parser_ok; } -static parser_error_t items_warningToDisplayString(__Z_UNUSED uint16_t token_index, char *outVal, uint16_t *outValLen) { +static parser_error_t items_warningToDisplayString(__Z_UNUSED item_t item, char *outVal, uint16_t *outValLen) { *outValLen = sizeof("UNSAFE TRANSACTION. This transaction's code was not recognized and does not limit capabilities for all signers. Signing this transaction may make arbitrary actions on the chain including loss of all funds."); snprintf(outVal, *outValLen, "UNSAFE TRANSACTION. This transaction's code was not recognized and does not limit capabilities for all signers. Signing this transaction may make arbitrary actions on the chain including loss of all funds."); return parser_ok; } -static parser_error_t items_signingToDisplayString(__Z_UNUSED uint16_t token_index, char *outVal, uint16_t *outValLen) { +static parser_error_t items_cautionToDisplayString(__Z_UNUSED item_t item, char *outVal, uint16_t *outValLen) { + *outValLen = sizeof("'meta' field of transaction not recognized"); + snprintf(outVal, *outValLen, "'meta' field of transaction not recognized"); + return parser_ok; +} + +static parser_error_t items_txTooLargeToDisplayString(__Z_UNUSED item_t item, char *outVal, uint16_t *outValLen) { + *outValLen = sizeof("Transaction too large for Ledger to display. PROCEED WITH GREAT CAUTION. Do you want to continue?"); + snprintf(outVal, *outValLen, "Transaction too large for Ledger to display. PROCEED WITH GREAT CAUTION. Do you want to continue?"); + return parser_ok; +} + +static parser_error_t items_signingToDisplayString(__Z_UNUSED item_t item, char *outVal, uint16_t *outValLen) { *outValLen = sizeof("Transaction"); snprintf(outVal, *outValLen, "Transaction"); return parser_ok; } -static parser_error_t items_requiringToDisplayString(__Z_UNUSED uint16_t token_index, char *outVal, uint16_t *outValLen) { +static parser_error_t items_requiringToDisplayString(__Z_UNUSED item_t item, char *outVal, uint16_t *outValLen) { *outValLen = sizeof("Capabilities"); snprintf(outVal, *outValLen, "Capabilities"); return parser_ok; } -static parser_error_t items_transferToDisplayString(uint16_t token_index_json, char *outVal, uint16_t *outValLen) { +static parser_error_t items_transferToDisplayString(item_t item, char *outVal, uint16_t *outValLen) { char amount[50]; uint8_t amount_len = 0; char to[65]; @@ -307,8 +410,9 @@ static parser_error_t items_transferToDisplayString(uint16_t token_index_json, c uint8_t from_len = 0; uint16_t token_index = 0; parsed_json_t json_all = parser_getParserTxObj()->tx_json.json; + uint16_t item_token_index = item.json_token_index; - object_get_value(&json_all, token_index_json, "args", &token_index); + object_get_value(&json_all, item_token_index, "args", &token_index); array_get_nth_element(&json_all, token_index, 0, &token_index); strncpy(from, json_all.buffer + json_all.tokens[token_index].start, json_all.tokens[token_index].end - json_all.tokens[token_index].start); @@ -331,11 +435,53 @@ static parser_error_t items_transferToDisplayString(uint16_t token_index_json, c return parser_ok; } -static parser_error_t items_rotateToDisplayString(uint16_t token_index_json, char *outVal, uint16_t *outValLen) { +static parser_error_t items_crossTransferToDisplayString(item_t item, char *outVal, uint16_t *outValLen) { + char amount[50]; + uint8_t amount_len = 0; + char to[65]; + uint8_t to_len = 0; + char from[65]; + uint8_t from_len = 0; + char chain[3]; + uint8_t chain_len = 0; + uint16_t token_index = 0; + parsed_json_t json_all = parser_getParserTxObj()->tx_json.json; + uint16_t item_token_index = item.json_token_index; + + object_get_value(&json_all, item_token_index, "args", &token_index); + + array_get_nth_element(&json_all, token_index, 0, &token_index); + strncpy(from, json_all.buffer + json_all.tokens[token_index].start, json_all.tokens[token_index].end - json_all.tokens[token_index].start); + from_len = json_all.tokens[token_index].end - json_all.tokens[token_index].start; + from[from_len] = '\0'; + + array_get_nth_element(&json_all, token_index, 1, &token_index); + strncpy(to, json_all.buffer + json_all.tokens[token_index].start, json_all.tokens[token_index].end - json_all.tokens[token_index].start); + to_len = json_all.tokens[token_index].end - json_all.tokens[token_index].start; + to[to_len] = '\0'; + + array_get_nth_element(&json_all, token_index, 2, &token_index); + strncpy(amount, json_all.buffer + json_all.tokens[token_index].start, json_all.tokens[token_index].end - json_all.tokens[token_index].start); + amount_len = json_all.tokens[token_index].end - json_all.tokens[token_index].start; + amount[amount_len] = '\0'; + + array_get_nth_element(&json_all, token_index, 3, &token_index); + strncpy(chain, json_all.buffer + json_all.tokens[token_index].start, json_all.tokens[token_index].end - json_all.tokens[token_index].start); + chain_len = json_all.tokens[token_index].end - json_all.tokens[token_index].start; + chain[chain_len] = '\0'; + + *outValLen = amount_len + from_len + to_len + chain_len + sizeof("Cross-chain ") + sizeof(" from ") + sizeof(" to ") + 6 * sizeof("\"") + sizeof(" to chain "); + snprintf(outVal, *outValLen, "Cross-chain %s from \"%s\" to \"%s\" to chain \"%s\"", amount, from, to, chain); + + return parser_ok; +} + +static parser_error_t items_rotateToDisplayString(item_t item, char *outVal, uint16_t *outValLen) { uint16_t token_index = 0; + uint16_t item_token_index = item.json_token_index; parsed_json_t json_all = parser_getParserTxObj()->tx_json.json; - object_get_value(&json_all, token_index_json, "args", &token_index); + object_get_value(&json_all, item_token_index, "args", &token_index); array_get_nth_element(&json_all, token_index, 0, &token_index); *outValLen = json_all.tokens[token_index].end - json_all.tokens[token_index].start + sizeof("\"\""); @@ -344,22 +490,23 @@ static parser_error_t items_rotateToDisplayString(uint16_t token_index_json, cha return parser_ok; } -static parser_error_t items_gasToDisplayString(uint16_t token_index, char *outVal, uint16_t *outValLen) { +static parser_error_t items_gasToDisplayString(__Z_UNUSED item_t item, char *outVal, uint16_t *outValLen) { char gasLimit[10]; uint8_t gasLimit_len = 0; char gasPrice[64]; uint8_t gasPrice_len = 0; parsed_json_t json_all = parser_getParserTxObj()->tx_json.json; - uint16_t meta_token_index = token_index; + uint16_t item_token_index = item.json_token_index; + uint16_t meta_token_index = item_token_index; - parser_getJsonValue(&token_index, JSON_GAS_LIMIT); - gasLimit_len = json_all.tokens[token_index].end - json_all.tokens[token_index].start + 1; - snprintf(gasLimit, gasLimit_len, "%s", json_all.buffer + json_all.tokens[token_index].start); + parser_getJsonValue(&item_token_index, JSON_GAS_LIMIT); + gasLimit_len = json_all.tokens[item_token_index].end - json_all.tokens[item_token_index].start + 1; + snprintf(gasLimit, gasLimit_len, "%s", json_all.buffer + json_all.tokens[item_token_index].start); - token_index = meta_token_index; - parser_getJsonValue(&token_index, JSON_GAS_PRICE); - gasPrice_len = json_all.tokens[token_index].end - json_all.tokens[token_index].start + 1; - snprintf(gasPrice, gasPrice_len, "%s", json_all.buffer + json_all.tokens[token_index].start); + item_token_index = meta_token_index; + parser_getJsonValue(&item_token_index, JSON_GAS_PRICE); + gasPrice_len = json_all.tokens[item_token_index].end - json_all.tokens[item_token_index].start + 1; + snprintf(gasPrice, gasPrice_len, "%s", json_all.buffer + json_all.tokens[item_token_index].start); *outValLen = gasLimit_len + gasPrice_len + sizeof("at most ") + sizeof(" at price "); snprintf(outVal, *outValLen, "at most %s at price %s", gasLimit, gasPrice); @@ -367,20 +514,21 @@ static parser_error_t items_gasToDisplayString(uint16_t token_index, char *outVa return parser_ok; } -static parser_error_t items_hashToDisplayString(uint16_t token_index_json, char *outVal, uint16_t *outValLen) { +static parser_error_t items_hashToDisplayString(item_t item, char *outVal, uint16_t *outValLen) { *outValLen = sizeof(base64_hash); snprintf(outVal, *outValLen, "%s", base64_hash); return parser_ok; } -static parser_error_t items_unknownCapabilityToDisplayString(uint16_t token_index_json, char *outVal, uint16_t *outValLen) { +static parser_error_t items_unknownCapabilityToDisplayString(item_t item, char *outVal, uint16_t *outValLen) { uint16_t token_index = 0; uint16_t args_count = 0; uint8_t len = 0; uint8_t outVal_idx= 0; parsed_json_t json_all = parser_getParserTxObj()->tx_json.json; + uint16_t item_token_index = item.json_token_index; - object_get_value(&json_all, token_index_json, "name", &token_index); + object_get_value(&json_all, item_token_index, "name", &token_index); len = json_all.tokens[token_index].end - json_all.tokens[token_index].start + sizeof("name: "); snprintf(outVal, len, "name: %s", json_all.buffer + json_all.tokens[token_index].start); outVal_idx += len; @@ -392,38 +540,51 @@ static parser_error_t items_unknownCapabilityToDisplayString(uint16_t token_inde outVal[outVal_idx] = ' '; outVal_idx++; - object_get_value(&json_all, token_index_json, "args", &token_index); + if (!item.can_display) { + len = sizeof("args cannot be displayed on Ledger"); + snprintf(outVal + outVal_idx, len, "args cannot be displayed on Ledger"); + outVal_idx += len; + return parser_ok; + } + + object_get_value(&json_all, item_token_index, "args", &token_index); array_get_element_count(&json_all, token_index, &args_count); - uint16_t args_token_index = 0; - for (uint8_t i = 0; i < args_count - 1; i++) { - array_get_nth_element(&json_all, token_index, i, &args_token_index); + + if (args_count) { + uint16_t args_token_index = 0; + for (uint8_t i = 0; i < args_count - 1; i++) { + array_get_nth_element(&json_all, token_index, i, &args_token_index); + if (json_all.tokens[args_token_index].type == JSMN_STRING) { + // Strings go in between double quotes + len = json_all.tokens[args_token_index].end - json_all.tokens[args_token_index].start + sizeof("arg X: \"\","); + snprintf(outVal + outVal_idx, len, "arg %d: \"%s\",", i + 1, json_all.buffer + json_all.tokens[args_token_index].start); + } else { + len = json_all.tokens[args_token_index].end - json_all.tokens[args_token_index].start + sizeof("arg X: ,"); + snprintf(outVal + outVal_idx, len, "arg %d: %s,", i + 1, json_all.buffer + json_all.tokens[args_token_index].start); + } + outVal_idx += len; + + // Remove null terminator + outVal[outVal_idx - 1] = ' '; + } + + // Last arg (without comma) + array_get_nth_element(&json_all, token_index, args_count - 1, &args_token_index); if (json_all.tokens[args_token_index].type == JSMN_STRING) { - // Strings go in between double quotes - len = json_all.tokens[args_token_index].end - json_all.tokens[args_token_index].start + sizeof("arg X: \"\","); - snprintf(outVal + outVal_idx, len, "arg %d: \"%s\",", i + 1, json_all.buffer + json_all.tokens[args_token_index].start); + len = json_all.tokens[args_token_index].end - json_all.tokens[args_token_index].start + sizeof("arg X: \"\""); + snprintf(outVal + outVal_idx, len, "arg %d: \"%s\"", args_count, json_all.buffer + json_all.tokens[args_token_index].start); } else { - len = json_all.tokens[args_token_index].end - json_all.tokens[args_token_index].start + sizeof("arg X: ,"); - snprintf(outVal + outVal_idx, len, "arg %d: %s,", i + 1, json_all.buffer + json_all.tokens[args_token_index].start); + len = json_all.tokens[args_token_index].end - json_all.tokens[args_token_index].start + sizeof("arg X: "); + snprintf(outVal + outVal_idx, len, "arg %d: %s", args_count, json_all.buffer + json_all.tokens[args_token_index].start); } outVal_idx += len; - - // Remove null terminator - outVal[outVal_idx - 1] = ' '; - } - - // Last arg (without comma) - array_get_nth_element(&json_all, token_index, args_count - 1, &args_token_index); - if (json_all.tokens[args_token_index].type == JSMN_STRING) { - len = json_all.tokens[args_token_index].end - json_all.tokens[args_token_index].start + sizeof("arg X: \"\""); - snprintf(outVal + outVal_idx, len, "arg %d: \"%s\"", args_count, json_all.buffer + json_all.tokens[args_token_index].start); } else { - len = json_all.tokens[args_token_index].end - json_all.tokens[args_token_index].start + sizeof("arg X: "); - snprintf(outVal + outVal_idx, len, "arg %d: %s", args_count, json_all.buffer + json_all.tokens[args_token_index].start); + len = sizeof("no args"); + snprintf(outVal + outVal_idx, len, "no args"); + outVal_idx += len; } - outVal_idx += len; - *outValLen = outVal_idx; return parser_ok; diff --git a/app/src/items.h b/app/src/items.h index b43c5b5..96aa2eb 100644 --- a/app/src/items.h +++ b/app/src/items.h @@ -23,14 +23,20 @@ typedef struct { char key[25]; uint16_t json_token_index; - parser_error_t (*toString)(uint16_t token_index, char *outVal, uint16_t *outValLen); + bool can_display; } item_t; typedef struct { item_t items[20]; uint8_t numOfItems; + parser_error_t (*toString[20])(item_t item, char *outVal, uint16_t *outValLen); } item_array_t; +typedef enum { + items_ok, + items_error, +} items_error_t; + void items_initItems(); void items_storeItems(); uint16_t items_getTotalItems(); diff --git a/app/src/parser.c b/app/src/parser.c index 98de973..2415c9b 100644 --- a/app/src/parser.c +++ b/app/src/parser.c @@ -107,7 +107,7 @@ parser_error_t parser_getItem(const parser_context_t *ctx, uint8_t displayIdx, c cleanOutput(outKey, outKeyLen, outVal, outValLen); snprintf(outKey, outKeyLen, "%s", item_array->items[displayIdx].key); - item_array->items[displayIdx].toString(item_array->items[displayIdx].json_token_index, outVal, &outValLen); + item_array->toString[displayIdx](item_array->items[displayIdx], outVal, &outValLen); return parser_ok; } diff --git a/app/src/parser_impl.c b/app/src/parser_impl.c index 334ac1b..e79eb87 100644 --- a/app/src/parser_impl.c +++ b/app/src/parser_impl.c @@ -68,8 +68,13 @@ parser_error_t parser_findKeyInClist(uint16_t key_token_index) { CHECK_ERROR(array_get_element_count(json_all, args_token_index, &number_of_args)); for (uint16_t j = 0; j < number_of_args; j++) { array_get_nth_element(json_all, args_token_index, j, &token_index); + uint8_t offset = 0; + // Take into account the "k:" notation for the key + if (MEMCMP("k:", json_all->buffer + json_all->tokens[token_index].start, 2) == 0) { + offset = 2; + } if (MEMCMP(json_all->buffer + json_all->tokens[key_token_index].start, - json_all->buffer + json_all->tokens[token_index].start, + json_all->buffer + json_all->tokens[token_index].start + offset, json_all->tokens[key_token_index].end - json_all->tokens[key_token_index].start) == 0) { return parser_ok; } @@ -79,14 +84,13 @@ parser_error_t parser_findKeyInClist(uint16_t key_token_index) { return parser_no_data; } - parser_error_t parser_getJsonValue(uint16_t *json_token_index, const char *key) { parsed_json_t json_obj; uint16_t token_index = 0; CHECK_ERROR(object_get_value(&parser_tx_obj.tx_json.json, *json_token_index, key, &token_index)); - json_parse(&json_obj, parser_tx_obj.tx_json.json.buffer + parser_tx_obj.tx_json.json.tokens[token_index].start, parser_tx_obj.tx_json.json.tokens[token_index].end - parser_tx_obj.tx_json.json.tokens[token_index].start); + CHECK_ERROR(json_parse(&json_obj, parser_tx_obj.tx_json.json.buffer + parser_tx_obj.tx_json.json.tokens[token_index].start, parser_tx_obj.tx_json.json.tokens[token_index].end - parser_tx_obj.tx_json.json.tokens[token_index].start)); if (MEMCMP("null", json_obj.buffer, json_obj.bufferLen) == 0) { return parser_no_data; @@ -116,10 +120,36 @@ parser_error_t parser_getGasObject(uint16_t *json_token_index) { return parser_no_data; } -parser_error_t parser_getChainId(parsed_json_t *json_obj) { - uint16_t token_index = 0; - object_get_value(&parser_tx_obj.tx_json.json, 0, "chainId", &token_index); - json_parse(json_obj, parser_tx_obj.tx_json.json.buffer + parser_tx_obj.tx_json.json.tokens[token_index].start, parser_tx_obj.tx_json.json.tokens[token_index].end - parser_tx_obj.tx_json.json.tokens[token_index].start); +parser_error_t parser_validateMetaField() { + char *keywords[20] = { + JSON_CREATION_TIME, + JSON_TTL, + JSON_GAS_LIMIT, + JSON_CHAIN_ID, + JSON_GAS_PRICE, + JSON_SENDER + }; + char meta_curr_key[20]; + uint16_t meta_token_index = 0; + uint16_t meta_num_elements = 0; + uint16_t key_token_idx = 0; + + if (parser_getJsonValue(&meta_token_index, JSON_META) == parser_ok) { + object_get_element_count(&parser_tx_obj.tx_json.json, meta_token_index, &meta_num_elements); + for (uint16_t i = 0; i < meta_num_elements; i++) { + object_get_nth_key(&parser_tx_obj.tx_json.json, meta_token_index, i, &key_token_idx); + + MEMCPY(meta_curr_key, parser_tx_obj.tx_json.json.buffer + parser_tx_obj.tx_json.json.tokens[key_token_idx].start, + parser_tx_obj.tx_json.json.tokens[key_token_idx].end - parser_tx_obj.tx_json.json.tokens[key_token_idx].start); + meta_curr_key[parser_tx_obj.tx_json.json.tokens[key_token_idx].end - parser_tx_obj.tx_json.json.tokens[key_token_idx].start] = '\0'; + + if (strcmp(keywords[i], meta_curr_key) != 0) { + return parser_invalid_meta_field; + } + + MEMZERO(meta_curr_key, sizeof(meta_curr_key)); + } + } return parser_ok; } diff --git a/app/src/parser_impl.h b/app/src/parser_impl.h index 30f74b0..bb7a5d4 100644 --- a/app/src/parser_impl.h +++ b/app/src/parser_impl.h @@ -27,14 +27,17 @@ extern "C" { #define JSON_NETWORK_ID "networkId" #define JSON_META "meta" -#define JSON_SENDER "sender" -#define JSON_CHAIN_ID "chainId" -#define JSON_GAS_LIMIT "gasLimit" -#define JSON_GAS_PRICE "gasPrice" #define JSON_SIGNERS "signers" +#define JSON_PUBKEY "pubKey" #define JSON_CLIST "clist" #define JSON_ARGS "args" #define JSON_NAME "name" +#define JSON_CREATION_TIME "creationTime" +#define JSON_TTL "ttl" +#define JSON_CHAIN_ID "chainId" +#define JSON_GAS_LIMIT "gasLimit" +#define JSON_GAS_PRICE "gasPrice" +#define JSON_SENDER "sender" typedef struct { const uint8_t *buffer; uint16_t bufferLen; @@ -53,7 +56,7 @@ parser_error_t parser_findKeyInClist(uint16_t key_token_index); uint16_t parser_getNumberOfTransfers(); parser_error_t parser_getJsonValue(uint16_t *json_token_index, const char *key); parser_error_t parser_getGasObject(uint16_t *json_token_index); -parser_error_t parser_getChainId(parsed_json_t *json_obj); +parser_error_t parser_validateMetaField(); #ifdef __cplusplus } diff --git a/tests/testcases.json b/tests/testcases.json index e76d7c5..9ed090b 100644 --- a/tests/testcases.json +++ b/tests/testcases.json @@ -115,6 +115,64 @@ }, { "index": 4, + "name": "Simple_transfer_create", + "blob": "7B226E6574776F726B4964223A226D61696E6E65743031222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B22726563702D6B73223A7B2270726564223A226B6579732D616C6C222C226B657973223A5B2238373565343439336531396338373231353833626662343666303736386631303236366562636361333363346130653034626330393961373034346139306637225D7D7D2C22636F6465223A2228636F696E2E7472616E736665722D637265617465205C22653461316232393830633038366334353531616237643231343863663536653937373463363465623836663739356435666438336533396363666432656336365C22205C22383735653434393365313963383732313538336266623436663037363866313032363665626363613333633461306530346263303939613730343461393066375C222028726561642D6B6579736574205C22726563702D6B735C222920342E393833343034383829227D7D2C227369676E657273223A5B7B227075624B6579223A2265346131623239383063303836633435353161623764323134386366353665393737346336346562383666373935643566643833653339636366643265633636222C22636C697374223A5B7B2261726773223A5B5D2C226E616D65223A22636F696E2E474153227D2C7B2261726773223A5B2265346131623239383063303836633435353161623764323134386366353665393737346336346562383666373935643566643833653339636366643265633636222C2238373565343439336531396338373231353833626662343666303736386631303236366562636361333363346130653034626330393961373034346139306637222C342E39383334303438385D2C226E616D65223A22636F696E2E5452414E53464552227D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313633343030393134322C2274746C223A32383830302C226761734C696D6974223A36303030302C22636861696E4964223A2230222C226761735072696365223A312E30652D362C2273656E646572223A2265346131623239383063303836633435353161623764323134386366353665393737346336346562383666373935643566643833653339636366643265633636227D2C226E6F6E6365223A225C22313633343030393135363934335C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : e4a1b2980c086c4551ab7d2148cf56e9774c64eb86f795d5fd83e39ccfd2ec66", + "4 | Paying Gas : ", + "5 | Transfer 1 : 4.98340488 from \"e4a1b2980c086c4551ab7d2148cf56e9774c64eb86f795d5fd83e39ccfd2ec66\" to \"875e4493e19c8721583bfb46f0768f10266ebcca33c4a0e04bc099a7044a90f7\"", + "6 | On Chain : 0", + "7 | Using Gas : at most 60000 at price 1.0e-6", + "8 | Transaction hash : SrjHkjfzLHLiOS-5_lcZvLOhiU42NynfAfezMzbeXsw", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : e4a1b2980c086c4551ab7d2148cf56e9774c64eb86f795d5fd83e39ccfd2ec66", + "4 | Paying Gas : ", + "5 | Transfer 1 : 4.98340488 from \"e4a1b2980c086c4551ab7d2148cf56e9774c64eb86f795d5fd83e39ccfd2ec66\" to \"875e4493e19c8721583bfb46f0768f10266ebcca33c4a0e04bc099a7044a90f7\"", + "6 | On Chain : 0", + "7 | Using Gas : at most 60000 at price 1.0e-6", + "8 | Transaction hash : SrjHkjfzLHLiOS-5_lcZvLOhiU42NynfAfezMzbeXsw", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 5, + "name": "Second_transfer_create", + "blob": "7B226E6574776F726B4964223A226D61696E6E65743031222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B22726563702D6B73223A7B2270726564223A226B6579732D616C6C222C226B657973223A5B2238373565343439336531396338373231353833626662343666303736386631303236366562636361333363346130653034626330393961373034346139306637225D7D7D2C22636F6465223A2228636F696E2E7472616E736665722D637265617465205C22373335383066666233653563613938353934343233393564346331636230626633616134653732343635363463653934336237616535303862336565376330335C22205C22383735653434393365313963383732313538336266623436663037363866313032363665626363613333633461306530346263303939613730343461393066375C222028726561642D6B6579736574205C22726563702D6B735C222920342E383930393334353529227D7D2C227369676E657273223A5B7B227075624B6579223A2237333538306666623365356361393835393434323339356434633163623062663361613465373234363536346365393433623761653530386233656537633033222C22636C697374223A5B7B2261726773223A5B5D2C226E616D65223A22636F696E2E474153227D2C7B2261726773223A5B2237333538306666623365356361393835393434323339356434633163623062663361613465373234363536346365393433623761653530386233656537633033222C2238373565343439336531396338373231353833626662343666303736386631303236366562636361333363346130653034626330393961373034346139306637222C342E38393039333435355D2C226E616D65223A22636F696E2E5452414E53464552227D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313633343030393039382C2274746C223A32383830302C226761734C696D6974223A36303030302C22636861696E4964223A2230222C226761735072696365223A312E30652D362C2273656E646572223A2237333538306666623365356361393835393434323339356434633163623062663361613465373234363536346365393433623761653530386233656537633033227D2C226E6F6E6365223A225C22313633343030393131333037335C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 73580ffb3e5ca9859442395d4c1cb0bf3aa4e7246564ce943b7ae508b3ee7c03", + "4 | Paying Gas : ", + "5 | Transfer 1 : 4.89093455 from \"73580ffb3e5ca9859442395d4c1cb0bf3aa4e7246564ce943b7ae508b3ee7c03\" to \"875e4493e19c8721583bfb46f0768f10266ebcca33c4a0e04bc099a7044a90f7\"", + "6 | On Chain : 0", + "7 | Using Gas : at most 60000 at price 1.0e-6", + "8 | Transaction hash : pJsk0-vgbqfzOBFc4zHtFMSMa0aCZpXBZ_QQFxox1-k", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 73580ffb3e5ca9859442395d4c1cb0bf3aa4e7246564ce943b7ae508b3ee7c03", + "4 | Paying Gas : ", + "5 | Transfer 1 : 4.89093455 from \"73580ffb3e5ca9859442395d4c1cb0bf3aa4e7246564ce943b7ae508b3ee7c03\" to \"875e4493e19c8721583bfb46f0768f10266ebcca33c4a0e04bc099a7044a90f7\"", + "6 | On Chain : 0", + "7 | Using Gas : at most 60000 at price 1.0e-6", + "8 | Transaction hash : pJsk0-vgbqfzOBFc4zHtFMSMa0aCZpXBZ_QQFxox1-k", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 6, "name": "Transfer_with_2_args", "blob": "7B226E6574776F726B4964223A226D61696E6E65743031222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B7D2C22636F6465223A2228636F696E2E7472616E73666572205C22383339333463306639623030356633373862613335323066396465613935326662306139306535616133366631623566663833376439623330633437313739305C22205C22393739306431313935383961323631313465316134326439323539386233663633323535316335363638313965633438653065386335346461653665626234325C222031312E3029227D7D2C227369676E657273223A5B7B227075624B6579223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C22636C697374223A5B7B2261726773223A5B5D2C226E616D65223A22636F696E2E474153227D2C7B2261726773223A5B2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C2239373930643131393538396132363131346531613432643932353938623366363332353531633536363831396563343865306538633534646165366562623432225D2C226E616D65223A22636F696E2E5452414E53464552227D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313633343030393231342C2274746C223A32383830302C226761734C696D6974223A3630302C22636861696E4964223A2230222C226761735072696365223A312E30652D352C2273656E646572223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930227D2C226E6F6E6365223A225C22323032312D31302D31325430333A32373A35332E3730305A5C22227D", "output": [ @@ -143,7 +201,239 @@ ] }, { - "index": 5, + "index": 7, + "name": "Rotate_transaction", + "blob": "7B226E6574776F726B4964223A226D61696E6E65743031222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B226B73223A7B2270726564223A226B6579732D616C6C222C226B657973223A5B2264333330306432383466346263666263393135353531383465663032366133353665353766663066613937623565366339383330373530383932636433303933225D7D7D2C22636F6465223A2228636F696E2E726F74617465205C22643333303064323834663462636662633931353535313834656630323661333536653537666630666139376235653663393833303735303839326364333039335C222028726561642D6B6579736574205C226B735C222929227D7D2C227369676E657273223A5B7B227075624B6579223A2238316234353131623235376662393735646163653133653832336332353763313761633661363935646136356639316236303336643665313432393236386663222C22636C697374223A5B7B2261726773223A5B5D2C226E616D65223A22636F696E2E474153227D2C7B2261726773223A5B2264333330306432383466346263666263393135353531383465663032366133353665353766663066613937623565366339383330373530383932636433303933225D2C226E616D65223A22636F696E2E524F54415445227D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313633333436363736342C2274746C223A32383830302C226761734C696D6974223A313530302C22636861696E4964223A2230222C226761735072696365223A312E30652D352C2273656E646572223A2238316234353131623235376662393735646163653133653832336332353763313761633661363935646136356639316236303336643665313432393236386663227D2C226E6F6E6365223A225C22313633333436363736345C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 81b4511b257fb975dace13e823c257c17ac6a695da65f91b6036d6e1429268fc", + "4 | Paying Gas : ", + "5 | Rotate for account : \"d3300d284f4bcfbc91555184ef026a356e57ff0fa97b5e6c9830750892cd3093\"", + "6 | On Chain : 0", + "7 | Using Gas : at most 1500 at price 1.0e-5", + "8 | Transaction hash : WQImvdxCaI7U5Qy2U_3Mxoa3i-Lp-PyNu9aZNtXclHo", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 81b4511b257fb975dace13e823c257c17ac6a695da65f91b6036d6e1429268fc", + "4 | Paying Gas : ", + "5 | Rotate for account : \"d3300d284f4bcfbc91555184ef026a356e57ff0fa97b5e6c9830750892cd3093\"", + "6 | On Chain : 0", + "7 | Using Gas : at most 1500 at price 1.0e-5", + "8 | Transaction hash : WQImvdxCaI7U5Qy2U_3Mxoa3i-Lp-PyNu9aZNtXclHo", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 8, + "name": "Rotate_with_args", + "blob": "7B226E6574776F726B4964223A226D61696E6E65743031222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B226B73223A7B2270726564223A226B6579732D616C6C222C226B657973223A5B2264333330306432383466346263666263393135353531383465663032366133353665353766663066613937623565366339383330373530383932636433303933225D7D7D2C22636F6465223A2228636F696E2E726F74617465205C22643333303064323834663462636662633931353535313834656630323661333536653537666630666139376235653663393833303735303839326364333039335C222028726561642D6B6579736574205C226B735C222929227D7D2C227369676E657273223A5B7B227075624B6579223A2238316234353131623235376662393735646163653133653832336332353763313761633661363935646136356639316236303336643665313432393236386663222C22636C697374223A5B7B2261726773223A5B5D2C226E616D65223A22636F696E2E474153227D2C7B2261726773223A5B2264333330306432383466346263666263393135353531383465663032366133353665353766663066613937623565366339383330373530383932636433303933222C6E756C6C5D2C226E616D65223A22636F696E2E524F54415445227D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313633333436363736342C2274746C223A32383830302C226761734C696D6974223A313530302C22636861696E4964223A2230222C226761735072696365223A312E30652D352C2273656E646572223A2238316234353131623235376662393735646163653133653832336332353763313761633661363935646136356639316236303336643665313432393236386663227D2C226E6F6E6365223A225C22313633333436363736345C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 81b4511b257fb975dace13e823c257c17ac6a695da65f91b6036d6e1429268fc", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: coin.ROTATE, arg 1: \"d3300d284f4bcfbc91555184ef026a356e57ff0fa97b5e6c9830750892cd3093\", arg 2: null", + "6 | On Chain : 0", + "7 | Using Gas : at most 1500 at price 1.0e-5", + "8 | Transaction hash : Rr78KvlVRiX59dDOqZFaK9vgW6GzgMss13p67yGOkN4", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 81b4511b257fb975dace13e823c257c17ac6a695da65f91b6036d6e1429268fc", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: coin.ROTATE, arg 1: \"d3300d284f4bcfbc91555184ef026a356e57ff0fa97b5e6c9830750892cd3093\", arg 2: null", + "6 | On Chain : 0", + "7 | Using Gas : at most 1500 at price 1.0e-5", + "8 | Transaction hash : Rr78KvlVRiX59dDOqZFaK9vgW6GzgMss13p67yGOkN4", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 9, + "name": "Transaction_with_no_capabilities", + "blob": "7B226E6574776F726B4964223A22746573746E65743034222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B226B73223A7B226B657973223A5B2266666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163225D2C2270726564223A226B6579732D616C6C227D7D2C22636F6465223A22286E6F742D636F696E2E7472616E736665722D63726F7373636861696E205C22666664386364373964656239353666613363376439626530663833366632306163383462313430313638613038376138343262653437363065343065326231635C22205C22666664386364373964656239353666613363376439626530663833366632306163383462313430313638613038376138343262653437363065343065326231635C222028726561642D6B6579736574205C226B735C2229205C22305C2220312E3029227D7D2C227369676E657273223A5B7B227075624B6579223A2266666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163227D5D2C226D657461223A7B226372656174696F6E54696D65223A313634303239303236372C2274746C223A32383830302C226761734C696D6974223A3630302C22636861696E4964223A2231222C226761735072696365223A302E30303030312C2273656E646572223A2266666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163227D2C226E6F6E6365223A225C225C5C5C22323032312D31322D32335432303A31323A30362E3636345A5C5C5C225C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : testnet04", + "2 | Requiring : Capabilities", + "3 | Of Key : ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c", + "4 | Unscoped Signer : ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c", + "5 | WARNING : UNSAFE TRANSACTION. This transaction's code was not recognized and does not limit capabilities for all signers. Signing this transaction may make arbitrary actions on the chain including loss of all funds.", + "6 | On Chain : 1", + "7 | Using Gas : at most 600 at price 0.00001", + "8 | Transaction hash : EsF-vcYfXYn8-NpYIvBcOMYCfUxiV6wxECU5FWNFz5g", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : testnet04", + "2 | Requiring : Capabilities", + "3 | Of Key : ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c", + "4 | Unscoped Signer : ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c", + "5 | WARNING : UNSAFE TRANSACTION. This transaction's code was not recognized and does not limit capabilities for all signers. Signing this transaction may make arbitrary actions on the chain including loss of all funds.", + "6 | On Chain : 1", + "7 | Using Gas : at most 600 at price 0.00001", + "8 | Transaction hash : EsF-vcYfXYn8-NpYIvBcOMYCfUxiV6wxECU5FWNFz5g", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 10, + "name": "Transaction_with_clist_null", + "blob": "7B226E6574776F726B4964223A22746573746E65743034222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B226B73223A7B226B657973223A5B2266666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163225D2C2270726564223A226B6579732D616C6C227D7D2C22636F6465223A22286E6F742D636F696E2E7472616E736665722D63726F7373636861696E205C22666664386364373964656239353666613363376439626530663833366632306163383462313430313638613038376138343262653437363065343065326231635C22205C22666664386364373964656239353666613363376439626530663833366632306163383462313430313638613038376138343262653437363065343065326231635C222028726561642D6B6579736574205C226B735C2229205C22305C2220312E3029227D7D2C227369676E657273223A5B7B227075624B6579223A2266666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163222C22636C697374223A6E756C6C7D5D2C226D657461223A7B226372656174696F6E54696D65223A313634303239303236372C2274746C223A32383830302C226761734C696D6974223A3630302C22636861696E4964223A2231222C226761735072696365223A302E30303030312C2273656E646572223A2266666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163227D2C226E6F6E6365223A225C225C5C5C22323032312D31322D32335432303A31323A30362E3636345A5C5C5C225C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : testnet04", + "2 | Requiring : Capabilities", + "3 | Of Key : ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c", + "4 | Unscoped Signer : ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c", + "5 | WARNING : UNSAFE TRANSACTION. This transaction's code was not recognized and does not limit capabilities for all signers. Signing this transaction may make arbitrary actions on the chain including loss of all funds.", + "6 | On Chain : 1", + "7 | Using Gas : at most 600 at price 0.00001", + "8 | Transaction hash : 0j8JyVmew5_ibulW2WO-OXb9j5woNPX1T9Y1BQQvmFM", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : testnet04", + "2 | Requiring : Capabilities", + "3 | Of Key : ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c", + "4 | Unscoped Signer : ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c", + "5 | WARNING : UNSAFE TRANSACTION. This transaction's code was not recognized and does not limit capabilities for all signers. Signing this transaction may make arbitrary actions on the chain including loss of all funds.", + "6 | On Chain : 1", + "7 | Using Gas : at most 600 at price 0.00001", + "8 | Transaction hash : 0j8JyVmew5_ibulW2WO-OXb9j5woNPX1T9Y1BQQvmFM", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 11, + "name": "k_account_names", + "blob": "7B226E6574776F726B4964223A22746573746E65743034222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B226B73223A7B226B657973223A5B2264666462333839363931393534343439303633376330666432663334663862663434363364343136666264393135393930633861313336623161393730636135225D2C2270726564223A226B6579732D616C6C227D7D2C22636F6465223A2228636F696E2E7472616E736665722D637265617465205C226B3A623961633363613535353963633666333934656130653331633131626531366566643663366666363830346239386365376365653439366263636139363136345C22205C226B3A646664623338393639313935343434393036333763306664326633346638626634343633643431366662643931353939306338613133366231613937306361355C222028726561642D6B6579736574205C226B735C222920322E3029227D7D2C227369676E657273223A5B7B22636C697374223A5B7B226E616D65223A22636F696E2E474153222C2261726773223A5B5D7D2C7B226E616D65223A22636F696E2E5452414E53464552222C2261726773223A5B226B3A62396163336361353535396363366633393465613065333163313162653136656664366336666636383034623938636537636565343936626363613936313634222C226B3A64666462333839363931393534343439303633376330666432663334663862663434363364343136666264393135393930633861313336623161393730636135222C325D7D5D2C227075624B6579223A2262396163336361353535396363366633393465613065333163313162653136656664366336666636383034623938636537636565343936626363613936313634227D5D2C226D657461223A7B226372656174696F6E54696D65223A313634313333313232302C2274746C223A32383830302C226761734C696D6974223A3630302C22636861696E4964223A2231222C226761735072696365223A302E30303030312C2273656E646572223A226B3A62396163336361353535396363366633393465613065333163313162653136656664366336666636383034623938636537636565343936626363613936313634227D2C226E6F6E6365223A225C225C5C5C22323032322D30312D30345432313A32313A32302E3434305A5C5C5C225C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : testnet04", + "2 | Requiring : Capabilities", + "3 | Of Key : b9ac3ca5559cc6f394ea0e31c11be16efd6c6ff6804b98ce7cee496bcca96164", + "4 | Paying Gas : ", + "5 | Transfer 1 : 2 from \"k:b9ac3ca5559cc6f394ea0e31c11be16efd6c6ff6804b98ce7cee496bcca96164\" to \"k:dfdb3896919544490637c0fd2f34f8bf4463d416fbd915990c8a136b1a970ca5\"", + "6 | On Chain : 1", + "7 | Using Gas : at most 600 at price 0.00001", + "8 | Transaction hash : 9VlNQ6wmY5UpfOcazQNGpBZDt9Cd_sl_DO0POpiBDvU", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : testnet04", + "2 | Requiring : Capabilities", + "3 | Of Key : b9ac3ca5559cc6f394ea0e31c11be16efd6c6ff6804b98ce7cee496bcca96164", + "4 | Paying Gas : ", + "5 | Transfer 1 : 2 from \"k:b9ac3ca5559cc6f394ea0e31c11be16efd6c6ff6804b98ce7cee496bcca96164\" to \"k:dfdb3896919544490637c0fd2f34f8bf4463d416fbd915990c8a136b1a970ca5\"", + "6 | On Chain : 1", + "7 | Using Gas : at most 600 at price 0.00001", + "8 | Transaction hash : 9VlNQ6wmY5UpfOcazQNGpBZDt9Cd_sl_DO0POpiBDvU", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 12, + "name": "basic_cross_chain", + "blob": "7B226E6574776F726B4964223A22746573746E65743034222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B226B73223A7B226B657973223A5B2266666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163225D2C2270726564223A226B6579732D616C6C227D7D2C22636F6465223A2228636F696E2E7472616E736665722D63726F7373636861696E205C22666664386364373964656239353666613363376439626530663833366632306163383462313430313638613038376138343262653437363065343065326231635C22205C22666664386364373964656239353666613363376439626530663833366632306163383462313430313638613038376138343262653437363065343065326231635C222028726561642D6B6579736574205C226B735C2229205C22305C2220312E3029227D7D2C227369676E657273223A5B7B227075624B6579223A2266666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163222C22636C697374223A5B7B226E616D65223A22636F696E2E474153222C2261726773223A5B5D7D2C7B226E616D65223A22636F696E2E5452414E534645525F58434841494E222C2261726773223A5B226B3A66666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163222C226B3A66666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163222C312E302C2230225D7D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313634303239303236372C2274746C223A32383830302C226761734C696D6974223A3630302C22636861696E4964223A2231222C226761735072696365223A302E30303030312C2273656E646572223A2266666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163227D2C226E6F6E6365223A225C225C5C5C22323032312D31322D32335432303A31323A30362E3636345A5C5C5C225C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : testnet04", + "2 | Requiring : Capabilities", + "3 | Of Key : ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c", + "4 | Paying Gas : ", + "5 | Transfer 1 : Cross-chain 1.0 from \"k:ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c\" to \"k:ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c\" to chain \"0\"", + "6 | On Chain : 1", + "7 | Using Gas : at most 600 at price 0.00001", + "8 | Transaction hash : nw3YtHZ5EgogG2oQ9JbOOEqyhy7IN4cevGjdEKuWgQM", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : testnet04", + "2 | Requiring : Capabilities", + "3 | Of Key : ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c", + "4 | Paying Gas : ", + "5 | Transfer 1 : Cross-chain 1.0 from \"k:ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c\" to \"k:ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c\" to chain \"0\"", + "6 | On Chain : 1", + "7 | Using Gas : at most 600 at price 0.00001", + "8 | Transaction hash : nw3YtHZ5EgogG2oQ9JbOOEqyhy7IN4cevGjdEKuWgQM", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 13, + "name": "decimal_cross_chain", + "blob": "7B226E6574776F726B4964223A22746573746E65743034222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B226B73223A7B226B657973223A5B2266666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163225D2C2270726564223A226B6579732D616C6C227D7D2C22636F6465223A2228636F696E2E7472616E736665722D63726F7373636861696E205C22666664386364373964656239353666613363376439626530663833366632306163383462313430313638613038376138343262653437363065343065326231635C22205C22666664386364373964656239353666613363376439626530663833366632306163383462313430313638613038376138343262653437363065343065326231635C222028726561642D6B6579736574205C226B735C2229205C22305C2220312E3029227D7D2C227369676E657273223A5B7B227075624B6579223A2266666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163222C22636C697374223A5B7B226E616D65223A22636F696E2E474153222C2261726773223A5B5D7D2C7B226E616D65223A22636F696E2E5452414E534645525F58434841494E222C2261726773223A5B226B3A66666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163222C226B3A66666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163222C7B22646563696D616C223A223132333435363738392E30313233343536373839227D2C2230225D7D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313634303239303236372C2274746C223A32383830302C226761734C696D6974223A3630302C22636861696E4964223A2231222C226761735072696365223A302E30303030312C2273656E646572223A2266666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163227D2C226E6F6E6365223A225C225C5C5C22323032312D31322D32335432303A31323A30362E3636345A5C5C5C225C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : testnet04", + "2 | Requiring : Capabilities", + "3 | Of Key : ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c", + "4 | Paying Gas : ", + "5 | Transfer 1 : Cross-chain {\"decimal\":\"123456789.0123456789\"} from \"k:ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c\" to \"k:ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c\" to chain \"0\"", + "6 | On Chain : 1", + "7 | Using Gas : at most 600 at price 0.00001", + "8 | Transaction hash : gaYu1-LR6N9V0bUt1u_N9p4cbm_dwy7IeHC52rD92gs", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : testnet04", + "2 | Requiring : Capabilities", + "3 | Of Key : ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c", + "4 | Paying Gas : ", + "5 | Transfer 1 : Cross-chain {\"decimal\":\"123456789.0123456789\"} from \"k:ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c\" to \"k:ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c\" to chain \"0\"", + "6 | On Chain : 1", + "7 | Using Gas : at most 600 at price 0.00001", + "8 | Transaction hash : gaYu1-LR6N9V0bUt1u_N9p4cbm_dwy7IeHC52rD92gs", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 14, + "name": "cross_chain_not_4_args", + "blob": "7B226E6574776F726B4964223A22746573746E65743034222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B226B73223A7B226B657973223A5B2266666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163225D2C2270726564223A226B6579732D616C6C227D7D2C22636F6465223A2228636F696E2E7472616E736665722D63726F7373636861696E205C22666664386364373964656239353666613363376439626530663833366632306163383462313430313638613038376138343262653437363065343065326231635C22205C22666664386364373964656239353666613363376439626530663833366632306163383462313430313638613038376138343262653437363065343065326231635C222028726561642D6B6579736574205C226B735C2229205C22305C2220312E3029227D7D2C227369676E657273223A5B7B227075624B6579223A2266666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163222C22636C697374223A5B7B226E616D65223A22636F696E2E474153222C2261726773223A5B5D7D2C7B226E616D65223A22636F696E2E5452414E534645525F58434841494E222C2261726773223A5B226B3A66666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163222C226B3A66666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163222C7B22646563696D616C223A223132333435363738392E30313233343536373839227D2C2230222C747275655D7D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313634303239303236372C2274746C223A32383830302C226761734C696D6974223A3630302C22636861696E4964223A2231222C226761735072696365223A302E30303030312C2273656E646572223A2266666438636437396465623935366661336337643962653066383336663230616338346231343031363861303837613834326265343736306534306532623163227D2C226E6F6E6365223A225C225C5C5C22323032312D31322D32335432303A31323A30362E3636345A5C5C5C225C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : testnet04", + "2 | Requiring : Capabilities", + "3 | Of Key : ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: coin.TRANSFER_XCHAIN, arg 1: \"k:ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c\", arg 2: \"k:ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c\", arg 3: {\"decimal\":\"123456789.0123456789\"}, arg 4: \"0\", arg 5: true", + "6 | On Chain : 1", + "7 | Using Gas : at most 600 at price 0.00001", + "8 | Transaction hash : LY8HM_kQ2nRO7Wl0PD9flhbibi0K1CXxv27KmlDBQmo", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : testnet04", + "2 | Requiring : Capabilities", + "3 | Of Key : ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: coin.TRANSFER_XCHAIN, arg 1: \"k:ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c\", arg 2: \"k:ffd8cd79deb956fa3c7d9be0f836f20ac84b140168a087a842be4760e40e2b1c\", arg 3: {\"decimal\":\"123456789.0123456789\"}, arg 4: \"0\", arg 5: true", + "6 | On Chain : 1", + "7 | Using Gas : at most 600 at price 0.00001", + "8 | Transaction hash : LY8HM_kQ2nRO7Wl0PD9flhbibi0K1CXxv27KmlDBQmo", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 15, "name": "Multiple_transfers", "blob": "7B226E6574776F726B4964223A226D61696E6E65743031222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B7D2C22636F6465223A2228636F696E2E7472616E73666572205C22616162376433653435376633663738343830383332643661633461636537333837663436303632306136336135623638633863373939643662666631353636615C22205C22346333313064663632323464363734643830343633613239636465303063623065636662373165306366646365343934323433613631623865613537326466645C2220322E3029227D7D2C227369676E657273223A5B7B227075624B6579223A2261616237643365343537663366373834383038333264366163346163653733383766343630363230613633613562363863386337393964366266663135363661222C22636C697374223A5B7B2261726773223A5B2261616237643365343537663366373834383038333264366163346163653733383766343630363230613633613562363863386337393964366266663135363661222C2234633331306466363232346436373464383034363361323963646530306362306563666237316530636664636534393432343361363162386561353732646661222C315D2C226E616D65223A22636F696E2E5452414E53464552227D2C7B2261726773223A5B2261616237643365343537663366373834383038333264366163346163653733383766343630363230613633613562363863386337393964366266663135363661222C2234633331306466363232346436373464383034363361323963646530306362306563666237316530636664636534393432343361363162386561353732646662222C325D2C226E616D65223A22636F696E2E5452414E53464552227D2C7B2261726773223A5B2261616237643365343537663366373834383038333264366163346163653733383766343630363230613633613562363863386337393964366266663135363661222C2234633331306466363232346436373464383034363361323963646530306362306563666237316530636664636534393432343361363162386561353732646663222C335D2C226E616D65223A22636F696E2E5452414E53464552227D2C7B2261726773223A5B2261616237643365343537663366373834383038333264366163346163653733383766343630363230613633613562363863386337393964366266663135363661222C2234633331306466363232346436373464383034363361323963646530306362306563666237316530636664636534393432343361363162386561353732646664222C345D2C226E616D65223A22636F696E2E5452414E53464552227D2C7B2261726773223A5B5D2C226E616D65223A22636F696E2E474153227D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313633343030393139352C2274746C223A3930302C226761734C696D6974223A3630302C22636861696E4964223A2230222C226761735072696365223A312E30652D362C2273656E646572223A2261616237643365343537663366373834383038333264366163346163653733383766343630363230613633613562363863386337393964366266663135363661227D2C226E6F6E6365223A225C22323032312D31302D31325430333A32373A33352E3233315A5C22227D", "output": [ @@ -176,6 +466,348 @@ "11 | Transaction hash : cYmajadc0EPG3ifvKR1Yd_-wlG79UZirK47JOREfZhk", "12 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" ] + }, + { + "index": 16, + "name": "Multiple_cross_chain_transfers", + "blob": "7B226E6574776F726B4964223A226D61696E6E65743031222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B7D2C22636F6465223A2228636F696E2E7472616E73666572205C22616162376433653435376633663738343830383332643661633461636537333837663436303632306136336135623638633863373939643662666631353636615C22205C22346333313064663632323464363734643830343633613239636465303063623065636662373165306366646365343934323433613631623865613537326466645C2220322E3029227D7D2C227369676E657273223A5B7B227075624B6579223A2261616237643365343537663366373834383038333264366163346163653733383766343630363230613633613562363863386337393964366266663135363661222C22636C697374223A5B7B2261726773223A5B2261616237643365343537663366373834383038333264366163346163653733383766343630363230613633613562363863386337393964366266663135363661222C2234633331306466363232346436373464383034363361323963646530306362306563666237316530636664636534393432343361363162386561353732646661222C315D2C226E616D65223A22636F696E2E5452414E53464552227D2C7B2261726773223A5B2261616237643365343537663366373834383038333264366163346163653733383766343630363230613633613562363863386337393964366266663135363661222C2234633331306466363232346436373464383034363361323963646530306362306563666237316530636664636534393432343361363162386561353732646662222C322C2233225D2C226E616D65223A22636F696E2E5452414E534645525F58434841494E227D2C7B2261726773223A5B2261616237643365343537663366373834383038333264366163346163653733383766343630363230613633613562363863386337393964366266663135363661222C2234633331306466363232346436373464383034363361323963646530306362306563666237316530636664636534393432343361363162386561353732646663222C332C2232225D2C226E616D65223A22636F696E2E5452414E534645525F58434841494E227D2C7B2261726773223A5B2261616237643365343537663366373834383038333264366163346163653733383766343630363230613633613562363863386337393964366266663135363661222C2234633331306466363232346436373464383034363361323963646530306362306563666237316530636664636534393432343361363162386561353732646664222C345D2C226E616D65223A22636F696E2E5452414E53464552227D2C7B2261726773223A5B5D2C226E616D65223A22636F696E2E474153227D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313633343030393139352C2274746C223A3930302C226761734C696D6974223A3630302C22636861696E4964223A2230222C226761735072696365223A312E30652D362C2273656E646572223A2261616237643365343537663366373834383038333264366163346163653733383766343630363230613633613562363863386337393964366266663135363661227D2C226E6F6E6365223A225C22323032312D31302D31325430333A32373A33352E3233315A5C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : aab7d3e457f3f78480832d6ac4ace7387f460620a63a5b68c8c799d6bff1566a", + "4 | Paying Gas : ", + "5 | Transfer 1 : 1 from \"aab7d3e457f3f78480832d6ac4ace7387f460620a63a5b68c8c799d6bff1566a\" to \"4c310df6224d674d80463a29cde00cb0ecfb71e0cfdce494243a61b8ea572dfa\"", + "6 | Transfer 2 : Cross-chain 2 from \"aab7d3e457f3f78480832d6ac4ace7387f460620a63a5b68c8c799d6bff1566a\" to \"4c310df6224d674d80463a29cde00cb0ecfb71e0cfdce494243a61b8ea572dfb\" to chain \"3\"", + "7 | Transfer 3 : Cross-chain 3 from \"aab7d3e457f3f78480832d6ac4ace7387f460620a63a5b68c8c799d6bff1566a\" to \"4c310df6224d674d80463a29cde00cb0ecfb71e0cfdce494243a61b8ea572dfc\" to chain \"2\"", + "8 | Transfer 4 : 4 from \"aab7d3e457f3f78480832d6ac4ace7387f460620a63a5b68c8c799d6bff1566a\" to \"4c310df6224d674d80463a29cde00cb0ecfb71e0cfdce494243a61b8ea572dfd\"", + "9 | On Chain : 0", + "10 | Using Gas : at most 600 at price 1.0e-6", + "11 | Transaction hash : AoXqSSMScM_u4glsmLV3C8Eawexbm2YEFgFMHYFzm4o", + "12 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : aab7d3e457f3f78480832d6ac4ace7387f460620a63a5b68c8c799d6bff1566a", + "4 | Paying Gas : ", + "5 | Transfer 1 : 1 from \"aab7d3e457f3f78480832d6ac4ace7387f460620a63a5b68c8c799d6bff1566a\" to \"4c310df6224d674d80463a29cde00cb0ecfb71e0cfdce494243a61b8ea572dfa\"", + "6 | Transfer 2 : Cross-chain 2 from \"aab7d3e457f3f78480832d6ac4ace7387f460620a63a5b68c8c799d6bff1566a\" to \"4c310df6224d674d80463a29cde00cb0ecfb71e0cfdce494243a61b8ea572dfb\" to chain \"3\"", + "7 | Transfer 3 : Cross-chain 3 from \"aab7d3e457f3f78480832d6ac4ace7387f460620a63a5b68c8c799d6bff1566a\" to \"4c310df6224d674d80463a29cde00cb0ecfb71e0cfdce494243a61b8ea572dfc\" to chain \"2\"", + "8 | Transfer 4 : 4 from \"aab7d3e457f3f78480832d6ac4ace7387f460620a63a5b68c8c799d6bff1566a\" to \"4c310df6224d674d80463a29cde00cb0ecfb71e0cfdce494243a61b8ea572dfd\"", + "9 | On Chain : 0", + "10 | Using Gas : at most 600 at price 1.0e-6", + "11 | Transaction hash : AoXqSSMScM_u4glsmLV3C8Eawexbm2YEFgFMHYFzm4o", + "12 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 17, + "name": "meta_field_missing", + "blob": "7B226E6574776F726B4964223A226D61696E6E65743031222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B7D2C22636F6465223A2228636F696E2E7472616E73666572205C22383339333463306639623030356633373862613335323066396465613935326662306139306535616133366631623566663833376439623330633437313739305C22205C22393739306431313935383961323631313465316134326439323539386233663633323535316335363638313965633438653065386335346461653665626234325C222031312E3029227D7D2C227369676E657273223A5B7B227075624B6579223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C22636C697374223A5B7B2261726773223A5B5D2C226E616D65223A22636F696E2E474153227D2C7B2261726773223A5B2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C2239373930643131393538396132363131346531613432643932353938623366363332353531633536363831396563343865306538633534646165366562623432222C31315D2C226E616D65223A22636F696E2E5452414E53464552227D5D7D5D2C226D657461223A7B22756E6B6E6F776E2D6669656C64223A747275652C226372656174696F6E54696D65223A313633343030393231342C2274746C223A32383830302C226761734C696D6974223A3630302C22636861696E4964223A2230222C226761735072696365223A312E30652D352C2273656E646572223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930227D2C226E6F6E6365223A225C22323032312D31302D31325430333A32373A35332E3730305A5C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Transfer 1 : 11 from \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\" to \"9790d119589a26114e1a42d92598b3f632551c566819ec48e0e8c54dae6ebb42\"", + "6 | CAUTION : 'meta' field of transaction not recognized", + "7 | Transaction hash : fysHQicr1iPz-sbSntIM3Rx_Iw_agBhRxt-XL9X7ENk", + "8 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Transfer 1 : 11 from \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\" to \"9790d119589a26114e1a42d92598b3f632551c566819ec48e0e8c54dae6ebb42\"", + "6 | CAUTION : 'meta' field of transaction not recognized", + "7 | Transaction hash : fysHQicr1iPz-sbSntIM3Rx_Iw_agBhRxt-XL9X7ENk", + "8 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 18, + "name": "arbitrary_cap_with_no_args", + "blob": "7B226E6574776F726B4964223A226D61696E6E65743031222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B7D2C22636F6465223A2228636F696E2E7472616E73666572205C22383339333463306639623030356633373862613335323066396465613935326662306139306535616133366631623566663833376439623330633437313739305C22205C22393739306431313935383961323631313465316134326439323539386233663633323535316335363638313965633438653065386335346461653665626234325C222031312E3029227D7D2C227369676E657273223A5B7B227075624B6579223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C22636C697374223A5B7B2261726773223A5B5D2C226E616D65223A22636F696E2E474153227D2C7B2261726773223A5B5D2C226E616D65223A226D79636F696E2E4D595F5452414E53464552227D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313633343030393231342C2274746C223A32383830302C226761734C696D6974223A3630302C22636861696E4964223A2230222C226761735072696365223A312E30652D352C2273656E646572223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930227D2C226E6F6E6365223A225C22323032312D31302D31325430333A32373A35332E3730305A5C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: mycoin.MY_TRANSFER, no args", + "6 | On Chain : 0", + "7 | Using Gas : at most 600 at price 1.0e-5", + "8 | Transaction hash : hnaoFEVgtSMrwKbm2Ui4wnARtUwMo6rtB3fnvZGb8oE", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: mycoin.MY_TRANSFER, no args", + "6 | On Chain : 0", + "7 | Using Gas : at most 600 at price 1.0e-5", + "8 | Transaction hash : hnaoFEVgtSMrwKbm2Ui4wnARtUwMo6rtB3fnvZGb8oE", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 19, + "name": "arbitrary_cap_with_one_arg", + "blob": "7B226E6574776F726B4964223A226D61696E6E65743031222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B7D2C22636F6465223A2228636F696E2E7472616E73666572205C22383339333463306639623030356633373862613335323066396465613935326662306139306535616133366631623566663833376439623330633437313739305C22205C22393739306431313935383961323631313465316134326439323539386233663633323535316335363638313965633438653065386335346461653665626234325C222031312E3029227D7D2C227369676E657273223A5B7B227075624B6579223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C22636C697374223A5B7B2261726773223A5B5D2C226E616D65223A22636F696E2E474153227D2C7B2261726773223A5B2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930225D2C226E616D65223A226D79636F696E2E4D595F5452414E53464552227D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313633343030393231342C2274746C223A32383830302C226761734C696D6974223A3630302C22636861696E4964223A2230222C226761735072696365223A312E30652D352C2273656E646572223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930227D2C226E6F6E6365223A225C22323032312D31302D31325430333A32373A35332E3730305A5C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: mycoin.MY_TRANSFER, arg 1: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\"", + "6 | On Chain : 0", + "7 | Using Gas : at most 600 at price 1.0e-5", + "8 | Transaction hash : kQqVYwYzDNSKqcRwJ3Yd4xgG2UW9j2sdcupQx-T6XEY", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: mycoin.MY_TRANSFER, arg 1: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\"", + "6 | On Chain : 0", + "7 | Using Gas : at most 600 at price 1.0e-5", + "8 | Transaction hash : kQqVYwYzDNSKqcRwJ3Yd4xgG2UW9j2sdcupQx-T6XEY", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 20, + "name": "arbitrary_cap_with_two_args", + "blob": "7B226E6574776F726B4964223A226D61696E6E65743031222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B7D2C22636F6465223A2228636F696E2E7472616E73666572205C22383339333463306639623030356633373862613335323066396465613935326662306139306535616133366631623566663833376439623330633437313739305C22205C22393739306431313935383961323631313465316134326439323539386233663633323535316335363638313965633438653065386335346461653665626234325C222031312E3029227D7D2C227369676E657273223A5B7B227075624B6579223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C22636C697374223A5B7B2261726773223A5B5D2C226E616D65223A22636F696E2E474153227D2C7B2261726773223A5B2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C227365636F6E6420617267225D2C226E616D65223A226D79636F696E2E4D595F5452414E53464552227D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313633343030393231342C2274746C223A32383830302C226761734C696D6974223A3630302C22636861696E4964223A2230222C226761735072696365223A312E30652D352C2273656E646572223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930227D2C226E6F6E6365223A225C22323032312D31302D31325430333A32373A35332E3730305A5C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: mycoin.MY_TRANSFER, arg 1: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\", arg 2: \"second arg\"", + "6 | On Chain : 0", + "7 | Using Gas : at most 600 at price 1.0e-5", + "8 | Transaction hash : ONXn9kz2V9InGB-RddO3kUCy-GHQOEs8jRYqO2vzxuY", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: mycoin.MY_TRANSFER, arg 1: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\", arg 2: \"second arg\"", + "6 | On Chain : 0", + "7 | Using Gas : at most 600 at price 1.0e-5", + "8 | Transaction hash : ONXn9kz2V9InGB-RddO3kUCy-GHQOEs8jRYqO2vzxuY", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 21, + "name": "arbitrary_cap_with_two_args_one_num", + "blob": "7B226E6574776F726B4964223A226D61696E6E65743031222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B7D2C22636F6465223A2228636F696E2E7472616E73666572205C22383339333463306639623030356633373862613335323066396465613935326662306139306535616133366631623566663833376439623330633437313739305C22205C22393739306431313935383961323631313465316134326439323539386233663633323535316335363638313965633438653065386335346461653665626234325C222031312E3029227D7D2C227369676E657273223A5B7B227075624B6579223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C22636C697374223A5B7B2261726773223A5B5D2C226E616D65223A22636F696E2E474153227D2C7B2261726773223A5B2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C227365636F6E6420617267222C32322E325D2C226E616D65223A226D79636F696E2E4D595F5452414E53464552227D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313633343030393231342C2274746C223A32383830302C226761734C696D6974223A3630302C22636861696E4964223A2230222C226761735072696365223A312E30652D352C2273656E646572223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930227D2C226E6F6E6365223A225C22323032312D31302D31325430333A32373A35332E3730305A5C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: mycoin.MY_TRANSFER, arg 1: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\", arg 2: \"second arg\", arg 3: 22.2", + "6 | On Chain : 0", + "7 | Using Gas : at most 600 at price 1.0e-5", + "8 | Transaction hash : OEV1W2Adz7vvU3qYzV9V48pDhxRdFDi2KG4JXx73WTA", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: mycoin.MY_TRANSFER, arg 1: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\", arg 2: \"second arg\", arg 3: 22.2", + "6 | On Chain : 0", + "7 | Using Gas : at most 600 at price 1.0e-5", + "8 | Transaction hash : OEV1W2Adz7vvU3qYzV9V48pDhxRdFDi2KG4JXx73WTA", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 22, + "name": "arbitrary_cap_with_various_json_types", + "blob": "7B226E6574776F726B4964223A226D61696E6E65743031222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B7D2C22636F6465223A2228636F696E2E7472616E73666572205C22383339333463306639623030356633373862613335323066396465613935326662306139306535616133366631623566663833376439623330633437313739305C22205C22393739306431313935383961323631313465316134326439323539386233663633323535316335363638313965633438653065386335346461653665626234325C222031312E3029227D7D2C227369676E657273223A5B7B227075624B6579223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C22636C697374223A5B7B2261726773223A5B5D2C226E616D65223A22636F696E2E474153227D2C7B2261726773223A5B7B226B657931223A7B226B657932223A2276616C32227D2C226B657933223A2D322E34362C226B657934223A7B226B657935223A747275652C226B657936223A7B226B657937223A302E30317D2C226B657938223A5B2261222C66616C73652C6E756C6C2C392C31302E32332C2D35382E32345D7D7D2C7B7D2C5B5D2C66616C73652C6E756C6C5D2C226E616D65223A226D79636F696E2E4D595F5452414E53464552227D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313633343030393231342C2274746C223A32383830302C226761734C696D6974223A3630302C22636861696E4964223A2230222C226761735072696365223A312E30652D352C2273656E646572223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930227D2C226E6F6E6365223A225C22323032312D31302D31325430333A32373A35332E3730305A5C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: mycoin.MY_TRANSFER, arg 1: {\"key1\":{\"key2\":\"val2\"},\"key3\":-2.46,\"key4\":{\"key5\":true,\"key6\":{\"key7\":0.01},\"key8\":[\"a\",false,null,9,10.23,-58.24]}}, arg 2: {}, arg 3: [], arg 4: false, arg 5: null", + "6 | On Chain : 0", + "7 | Using Gas : at most 600 at price 1.0e-5", + "8 | Transaction hash : 5RygRqoczKtecEebMtaPLrulHa5aprNcjkRhMAAogNc", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: mycoin.MY_TRANSFER, arg 1: {\"key1\":{\"key2\":\"val2\"},\"key3\":-2.46,\"key4\":{\"key5\":true,\"key6\":{\"key7\":0.01},\"key8\":[\"a\",false,null,9,10.23,-58.24]}}, arg 2: {}, arg 3: [], arg 4: false, arg 5: null", + "6 | On Chain : 0", + "7 | Using Gas : at most 600 at price 1.0e-5", + "8 | Transaction hash : 5RygRqoczKtecEebMtaPLrulHa5aprNcjkRhMAAogNc", + "9 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 23, + "name": "multiple_arbitrary_caps", + "blob": "7B226E6574776F726B4964223A226D61696E6E65743031222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B7D2C22636F6465223A2228636F696E2E7472616E73666572205C22383339333463306639623030356633373862613335323066396465613935326662306139306535616133366631623566663833376439623330633437313739305C22205C22393739306431313935383961323631313465316134326439323539386233663633323535316335363638313965633438653065386335346461653665626234325C222031312E3029227D7D2C227369676E657273223A5B7B227075624B6579223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C22636C697374223A5B7B2261726773223A5B5D2C226E616D65223A22636F696E2E474153227D2C7B2261726773223A5B5D2C226E616D65223A226D79636F696E2E4D595F5452414E5346455230227D2C7B2261726773223A5B2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930225D2C226E616D65223A226D79636F696E2E4D595F5452414E5346455231227D2C7B2261726773223A5B2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C227365636F6E6420617267225D2C226E616D65223A226D79636F696E2E4D595F5452414E5346455232227D2C7B2261726773223A5B2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C227365636F6E6420617267222C32322E325D2C226E616D65223A226D79636F696E2E4D595F5452414E5346455233227D2C7B2261726773223A5B2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C227365636F6E6420617267222C353030302C32322E325D2C226E616D65223A226D79636F696E2E4D595F5452414E5346455234227D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313633343030393231342C2274746C223A32383830302C226761734C696D6974223A3630302C22636861696E4964223A2230222C226761735072696365223A312E30652D352C2273656E646572223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930227D2C226E6F6E6365223A225C22323032312D31302D31325430333A32373A35332E3730305A5C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: mycoin.MY_TRANSFER0, no args", + "6 | Unknown Capability 2 : name: mycoin.MY_TRANSFER1, arg 1: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\"", + "7 | Unknown Capability 3 : name: mycoin.MY_TRANSFER2, arg 1: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\", arg 2: \"second arg\"", + "8 | Unknown Capability 4 : name: mycoin.MY_TRANSFER3, arg 1: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\", arg 2: \"second arg\", arg 3: 22.2", + "9 | Unknown Capability 5 : name: mycoin.MY_TRANSFER4, arg 1: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\", arg 2: \"second arg\", arg 3: 5000, arg 4: 22.2", + "10 | On Chain : 0", + "11 | Using Gas : at most 600 at price 1.0e-5", + "12 | Transaction hash : QJDO0ks635Xpnq2GC85cqoQUxLgESujMgun7NUgrf5E", + "13 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: mycoin.MY_TRANSFER0, no args", + "6 | Unknown Capability 2 : name: mycoin.MY_TRANSFER1, arg 1: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\"", + "7 | Unknown Capability 3 : name: mycoin.MY_TRANSFER2, arg 1: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\", arg 2: \"second arg\"", + "8 | Unknown Capability 4 : name: mycoin.MY_TRANSFER3, arg 1: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\", arg 2: \"second arg\", arg 3: 22.2", + "9 | Unknown Capability 5 : name: mycoin.MY_TRANSFER4, arg 1: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\", arg 2: \"second arg\", arg 3: 5000, arg 4: 22.2", + "10 | On Chain : 0", + "11 | Using Gas : at most 600 at price 1.0e-5", + "12 | Transaction hash : QJDO0ks635Xpnq2GC85cqoQUxLgESujMgun7NUgrf5E", + "13 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 24, + "name": "multiple_arbitrary_caps_multiple_transfers", + "blob": "7B226E6574776F726B4964223A226D61696E6E65743031222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B7D2C22636F6465223A2228636F696E2E7472616E73666572205C22383339333463306639623030356633373862613335323066396465613935326662306139306535616133366631623566663833376439623330633437313739305C22205C22393739306431313935383961323631313465316134326439323539386233663633323535316335363638313965633438653065386335346461653665626234325C222031312E3029227D7D2C227369676E657273223A5B7B227075624B6579223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C22636C697374223A5B7B2261726773223A5B5D2C226E616D65223A22636F696E2E474153227D2C7B2261726773223A5B5D2C226E616D65223A226D79636F696E2E4D595F5452414E5346455230227D2C7B2261726773223A5B2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930225D2C226E616D65223A226D79636F696E2E4D595F5452414E5346455231227D2C7B2261726773223A5B2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373931222C345D2C226E616D65223A22636F696E2E5452414E53464552227D2C7B2261726773223A5B2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373931222C32322E322C2234225D2C226E616D65223A22636F696E2E5452414E534645525F58434841494E227D2C7B2261726773223A5B2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373932222C353030302C2230225D2C226E616D65223A226D79636F696E2E4D595F5452414E5346455234227D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313633343030393231342C2274746C223A32383830302C226761734C696D6974223A3630302C22636861696E4964223A2230222C226761735072696365223A312E30652D352C2273656E646572223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930227D2C226E6F6E6365223A225C22323032312D31302D31325430333A32373A35332E3730305A5C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: mycoin.MY_TRANSFER0, no args", + "6 | Unknown Capability 2 : name: mycoin.MY_TRANSFER1, arg 1: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\"", + "7 | Transfer 1 : 4 from \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\" to \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471791\"", + "8 | Transfer 2 : Cross-chain 22.2 from \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\" to \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471791\" to chain \"4\"", + "9 | Unknown Capability 3 : name: mycoin.MY_TRANSFER4, arg 1: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\", arg 2: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471792\", arg 3: 5000, arg 4: \"0\"", + "10 | On Chain : 0", + "11 | Using Gas : at most 600 at price 1.0e-5", + "12 | Transaction hash : yMXcVG1vcnLrbtdiKHI1MAYgrBgoDqr15YSRID70DyU", + "13 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: mycoin.MY_TRANSFER0, no args", + "6 | Unknown Capability 2 : name: mycoin.MY_TRANSFER1, arg 1: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\"", + "7 | Transfer 1 : 4 from \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\" to \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471791\"", + "8 | Transfer 2 : Cross-chain 22.2 from \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\" to \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471791\" to chain \"4\"", + "9 | Unknown Capability 3 : name: mycoin.MY_TRANSFER4, arg 1: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790\", arg 2: \"83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471792\", arg 3: 5000, arg 4: \"0\"", + "10 | On Chain : 0", + "11 | Using Gas : at most 600 at price 1.0e-5", + "12 | Transaction hash : yMXcVG1vcnLrbtdiKHI1MAYgrBgoDqr15YSRID70DyU", + "13 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 25, + "name": "arbitrary_caps_large_args", + "blob": "7B226E6574776F726B4964223A226D61696E6E65743031222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B7D2C22636F6465223A2228636F696E2E7472616E73666572205C22383339333463306639623030356633373862613335323066396465613935326662306139306535616133366631623566663833376439623330633437313739305C22205C22393739306431313935383961323631313465316134326439323539386233663633323535316335363638313965633438653065386335346461653665626234325C222031312E3029227D7D2C227369676E657273223A5B7B227075624B6579223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C22636C697374223A5B7B2261726773223A5B5D2C226E616D65223A22636F696E2E474153227D2C7B2261726773223A5B2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C226164666173222C342C352C362C372C385D2C226E616D65223A226D79636F696E2E4D595F5452414E53464552227D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313633343030393231342C2274746C223A32383830302C226761734C696D6974223A3630302C22636861696E4964223A2230222C226761735072696365223A312E30652D352C2273656E646572223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930227D2C226E6F6E6365223A225C22323032312D31302D31325430333A32373A35332E3730305A5C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: mycoin.MY_TRANSFER, args cannot be displayed on Ledger", + "6 | On Chain : 0", + "7 | Using Gas : at most 600 at price 1.0e-5", + "8 | WARNING : Transaction too large for Ledger to display. PROCEED WITH GREAT CAUTION. Do you want to continue?", + "9 | Transaction hash : Y2q38WX4sd5fWzw2knr7mfAltsaYxhWnDGtFaZ7NV40", + "10 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: mycoin.MY_TRANSFER, args cannot be displayed on Ledger", + "6 | On Chain : 0", + "7 | Using Gas : at most 600 at price 1.0e-5", + "8 | WARNING : Transaction too large for Ledger to display. PROCEED WITH GREAT CAUTION. Do you want to continue?", + "9 | Transaction hash : Y2q38WX4sd5fWzw2knr7mfAltsaYxhWnDGtFaZ7NV40", + "10 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] + }, + { + "index": 26, + "name": "large_json", + "blob": "7B226E6574776F726B4964223A226D61696E6E65743031222C227061796C6F6164223A7B2265786563223A7B2264617461223A7B7D2C22636F6465223A2228636F696E2E7472616E73666572205C22383339333463306639623030356633373862613335323066396465613935326662306139306535616133366631623566663833376439623330633437313739305C22205C22393739306431313935383961323631313465316134326439323539386233663633323535316335363638313965633438653065386335346461653665626234325C222031312E3029227D7D2C227369676E657273223A5B7B227075624B6579223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930222C22636C697374223A5B7B2261726773223A5B5D2C226E616D65223A22636F696E2E474153227D2C7B2261726773223A5B7B2268617368223A224453395F587857495239416D38584333584541374A39396B546431354F614259486C6834506A5849707A38222C2264617461223A5B7B22646174756D223A7B22746F6B656E5F74797065223A224365727469666963617465206F662041757468656E746963697479222C226E616D65223A22544E20434F41222C226372656174696F6E5F64617465223A22323032322D30312D3031222C226465736372697074696F6E223A224420434F41222C2270726F70657274696573223A7B22417574686F725F746F5F43657274696669636174655F6F665F41757468656E746963697479223A226174636F61227D2C2261737365745F75726C223A2268747470733A2F2F646E612D746F6B656E732D746573742E73332E75732D656173742D322E616D617A6F6E6177732E636F6D2F7075626C69632F336538633865363833633339626463396632643337353535383365303562333366626436623234646465393564613061393564323065653239643338376632612F36613132303038662D353738362D343961372D616337312D3833633863336335363939322F6D61696E5F61737365742E6A706567227D2C2268617368223A22556E6847325848462D336947624B7944333062484B44506F5F4A6D547A5865484C645F50774432747A4E59222C22757269223A7B22736368656D65223A22636F6E74726163742E736368656D61222C2264617461223A22706163743A736368656D61227D2C22757269223A7B22736368656D65223A22696D6167652F6A7065673B626173653634222C2264617461223A222F396A2F34414151536B5A4A5267414241514141415141424141442F3467496F53554E445831425354305A4A544555414151454141414959414141414141517741414274626E5279556B64434946685A576941414141414141414141414141414141426859334E77414141414141414141414141414141414141414141414141414141414141414141414141415141413974594141514141414144544C5141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141416C6B5A584E6A41414141384141414148527957466C61414141425A4141414142526E57466C6141414142654141414142526957466C61414141426A4141414142527956464A44414141426F4141414143686E56464A44414141426F4141414143686956464A44414141426F414141414368336448423041414142794141414142526A63484A304141414233414141414478746248566A4141414141414141414145414141414D5A57355655774141414667414141416341484D41556742484145494141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414146685A5769414141414141414142766F6741414F50554141414F5157466C61494141414141414141474B5A4141433368514141474E705957566F6741414141414141414A4B414141412B45414143327A334268636D45414141414141415141414141435A6D594141504B6E4141414E57514141453941414141706241414141414141414141425957566F6741414141414141413974594141514141414144544C57317364574D414141414141414141415141414141786C626C565441414141494141414142774152774276414738415A774273414755414941424A4147344159774175414341414D674177414445414E762F6241454D4141514542415145424151454241514542415145424151454241514542415145424151454241514542415145424151454241514542415145424151454241514542415145424151454241514542415145424151454241662F6241454D4241514542415145424151454241514542415145424151454241514542415145424151454241514542415145424151454241514542415145424151454241514542415145424151454241514542415145424151454241662F4141424549414A344179414D4245514143455145444551482F78414165414141434177454241514542415141414141414141414147427755494351514441676F4241502F4541436F51414149444151454141674D4141674943417745424141514641674D4741516354464167534652455741434D4A4A4263684969556D2F3851414851454141674D424151454241514141414141414141414142515944424163434341454A41502F4541446B5241414D4241414943415151424241454342514D4342774543417751464552495442674155495349784278556A4D6B456B555167574D304A684A554E53596F4654564846796B6248772F396F4144414D4241414952417845415077443877617866626B613948324A335645627878712B304D7147346B5856386D7748506A4E5968366939554C43564854627850754678582F574750756C583934566358483038666A4F484D4D327A6B36586D3962352F744C38686842592B55577247625378364C78684852476250314E3656554C354C4B364A57735542392B7651436B6C57614B74467373744B795A4F774234714B6D486C33346B66674F52312B66456B41364766682F6A42505339315476476A4F746D362F6E303354712F74417A617141377A7877394330456A557452525869716737755857684E4654662B716B4B4E564266585A794530464A7A6C5938644C6A4D6F6C684E413179324C7877336A783164475448753379483771677977794C6C70734E4E73386459766C55496D344837625342625271693946466971644657633064616548585A57564730336531572F432B6B654963466943417652327051656655797A756556454F317469656B34624B5A3451616770584F316B4C6D37446557716A4D6763506D776253424C3765384F34706E6D4C702F73514B72702F59557133387750366F663841695A356A345038414D666B66413856774762417A5830303565396559315A366368616B5938324E526165534C514F534C536A3662366B306161543034476A7850486A506258715878332B6E37383578546367327679584F6C6254696B51567A746E765447464170755479566E4B7252356A7A6433567657656A3955472F4D663864764B4E48354C734F72466D507A7030515038413546714950796F437A55616E512F57586659596A3649654668414F6761434B727864455451497945315139775549683373496A4E464874332B6B6536667A7A6A3839647A55307455583053706D4E41636D64355A392B46394456664A66544E754E726855353936593957567256766F7A6F6D6B6E466E3939476A69392F5A4A5A51476B4F325A5659546F59754A7A64696F424339723266314250586C304F38506D334E614A634E4A6872776D537345664F4C6B444A615475556F5151614B7561505041475246515A425A49384D476F51615443326C6B524B2B76356675322F594B6C627358462F4865514D744F6A6B4D57434F485079523436476E4C4C782B39536D38596B4D3749725A725A37316F48563332337A316F33724E41484D6C766E524E764C375A726C6D5132716E6C4E4855703253796B6C6C634B69427569422B76354838666A5A5478447A5250702F4A30326630564F55395946626F422B754559724A726F6131594A792B444B757464714A4D3632556A6F7343375158737236547245514177744B673561534F6B734477622B73337A543550384C3450487950776E2B6E664E664C7276384149353844795043344768786C6F354C7457543837396E506A64644B38626D655764633530553466446F4C3664756E564C484871584878666A754735766E75546838692B56532B4D7A6878577266782F4A636E35585458727A306A464D4156745766484A4C516131586C6C4E74395A79595A634F725456433142667972387731506A6E70726B524F7153414B5848474A55782B3062636568656E4A747546574D61564B336C63653350684A384F5A5668694D7567367752735749654C5266554B44726678336B6E33596C70776152305A4D546D572F536468317A527A6F75306F764C696A65365661496B4A70335654374A5675454676754B69634E66646E6D646B644757722B44712B69555A6B71305A5565623330754775633958706E56716C624E4B4B7136794938456D76786E614C644D646C3834337A757174655230744D3161664A6B7636484A514862444765694F5472576D6359703656314E4E43706B564E7A71316C4B2B39516339376142477467446F744B336136772B4738687A656933783768744846523261487A66493957376973313661593538304E6272593177335437675A56724D58626B4E73306E6C77563472653265756D6E584D48354431647657466D6A5037684A38645A315658636959384E3874456C5A7148792B3155315038412B5665316B753157637953764A5A79656643726843796B326C2F5A6145445364336B37714B47417179347472493868736166415773436C613159736F6C565742567A737170725773592B42666B50384155787A38703476463868484C372B653576527A47763435386A307358343369317763436D57327A35586D79614F4D4878374850567630657966454C784245386464323348505A4D32354A69783852717678664A374D6A516C6C343663786F77314C666461546F6F7935353578424C2B35724251664A3362774C65514C775A4E464B6D2B3365595A5973737348454C77424E5A767A5837524A6831764F53465949732F645A4D6A586C5646703637365857516A774E792F376B4732324A54715979573851374F6752746C306672663464387530592F6A7462664B7562572B2B4F585267546D655234666A3461396C37584A6878504A61754C6C7866783766316F704362386E796E48384454546A5452574563334943764C6653774F5073614C504A4F727A6B5775325A4C5830474A6D7432397561415339764C2F4630544B62685356382B2B674772367338653950556B4D5164646C6D71674A4369306B787953374164644A50704641796936696878633033574E49467A4241354A3832494C4D497734583535782F644F4C496E71692F7750395475492B585877355069584B634E6F47756132504166494872385A30614E47744B737263546F35586A2B6235506C4D324A595258313168384D354B33336E48362F37766D3037754D2B2F6A32594C345A5530626C33544A30685A36345A3375726F44347369434C53795438663841536C30725759667365725249436A54436E6371514D2F6C4B646977646D6B317431757A6477754330574C4E304F636A71484E612F45695243325272586A39717049574D4C4A71466E704B7063762F6E3277394D42316D7071795931586277764A77356A6B736E49706F792B2F44727A5A2B576D634C63636C324E5768796375503558693771795A4B5A426C5364644D314F736D2B6E42697877727072657A617339566D6D617371305367634A625657704351626F5130307754534B32594E5630635A5A55514670676F6F4B744D616E3061706A357049434B564467627242726173737477316E6F363070797952545062443846566143787471744569323868444C43744A76562B754253696F7138375167584F5169714C325868666966473857495679386A54355475303657333530732B4A306C753163666C74397A74315963795A4F4376687A6136564845634E6C305A66647235476B392F4B2F646270374B2B726C4E463954534758524C464B58707453527565347237566E4E5A583065796A4B375A2F583750585230704F7A684161424B397448377477742B67637758366551553351544A6E6B7445787064756975543555464C2F58545674347346676F2F42314548656A32724B74307862417553327158515A6E55556D76334834506B4779766A586A35386C683433466A305A65576244484D747447657255306A4F642B572B58573058675963667733485A70344A35644D4E334A4C69305A495261764F554942625456386461316F72356156632B764B2F5A495757634E526E4E5041765853556B56526B6C576A6C5239434E586A54317A693352376C615A592B4A724A4C5455507445305A4D5858467663384853483045582B4F4E593848715A336C485A716E515979584C5A676D484A6E533739476E42653648466362786C654B586B783939796F676457684E484A38764C4C654B30767374716645726263343155666A5A367348483474467033336553743750556C724B37772B746171674F65552F4479564441416A39474B2B35622F6C66797A64722B78552B4A516C575764472F477076656B6D45324C62523343486C425A6967415453416851514D30356B3677527A4C4D595A6D52725A63476C59664A6F39736A584D676D6C6E6F7871687A5A7238777838373862707A4D4D642F6A65733239644B6164546362385830513471385A6B2B4F7A50723030356573744774384F6157737470475775735574736E5A4A517354473757456F36326D63374B33714E4B366D6478312F414B3245507A2B51415A6C51503967514F696534484C71494A6E464B4955756E516A6B4E413352323349594D54382F7741416643566E704B637962554F434977574C7539714D4B694D304A49306777776B4C6C77524256713578336E646F764854445057756A5642707275553257306374526F462F736C6850526E565550635A47584B61703433573276513031395765677757667A555870366F546F72797A54554756616B677A585255756F56584D3355683056724E34536774543754494574387A6F43796264694F2F2F6D4E4E415456596B2F74504344435745795639495649794C505756755A643458644C7451756963747968614B727872436B6F4E3959394453505A6A315A59424D64305461456254626B5871786E6B62323534786D3176747130705366334450363569654F5A36584C6E393373496C6C712B347150624B6A7A6E51675A306D776E2B6F56757977627859487936494B4E2B4F77535177415A424530474551347441666578724849574456506D746F6B35754E4F5A77496175796B632B4A51685A534D77383962544336446F61746945577043725932424833564D4F545A707A79386275305672504E6F7A4E4E4C696A576136415736304272367374744D355A526A462F612F7742766F6D374E782B656C4A5572545756713231363541493946704F61746279476453524E696F385653616A324B56524A71534638664D394B524C7646514256347A742F705A4C56397A5A446E51716756633257625539704C75756F7576456F376656765846444155674A666977314A3941355455686D34534738343344512F643269667257397061566534654D567A74374B67565A54424B55646C664B61774476596F7A425A476B2B676A7A3958396C576B7738596D48656562566F3268326D7458566B48636945703332574A6E2B5237542B4641385366707A69302B694C4534323479705252655346667949465576476B6D6A5A757147414B3044433869734A376E51696161786D526E38775A2F6F5632566F6F6847344742644E59684C634A6F6C506B745839765345347A3872322B356D49766F6156367047326650525A31553031657571695372792B7A4D38355661655671346C74463930594D396E4C5566776E4D5A32657338797365777232486B7A79507355744C777047746C526A4B73365430546830346F50327661735749624448764E425152304F59316D36395050684D79446C6B41526130623541634B79355532496E52776E2B654B69775A61704B474C6D304C7A57313063505A664C5A2B43346F486B4C5A634F7049776158472F634A6E6E4F65724D7A5A38556365336C67526D5856536B38724932664F32625A62506B78356B536F6839526164744669596E64544F77713164644A446F326E594B7851724A7336306373504A4F323156756F616C576E5257523249442B4D33734F50524D46563744464358394C67367969372F414F52582B57774F6B44624D71656B724C384472736B7537646C724658436273357A535836756E35716178547A62362F2B2B6854332F314E2B4A444C4B6357356D752F53697670624677764B36493462357948734C3379726C30466F736C4A375879794E5256435A5A3678506D656368473359544B4E467A53444961364D7169724D66785070613164314C45666E705556663841384142304F483062386366517377456873556D4D6D5936397143547965623852784F473071696C6D5661754D706D2F56614C557078514B4C7A725A4C6A42324E356A527143324668414563594D32737238562B6666472F6C6E47625532387A697A664973314B36386E7837647531636F764963646B363155315A467A786C7A764A3763306C6E576E45357542315869615A70713462334A6D76616374386575544A6A76584C64525056704771616A4D3764717156674F357A53732F44787070706B517651416558613065522F43507A4E6C6A667958382B61485A6E59455079644C73304C6E52734E4F4D7852504973636873706D4679377947647559436A6B67304D4B756B42374653334A2F58525159564D716337515A6D332F6943706C35502B6D75375A6B355450644D7649635A5A505A6D72476A39624B52434C445845746B736832786B495A6254304C3974795571706C797930513036462F5461314A664B4D735769555775665A457A445470362B6F7432704D4E46554A553550456E7756475A2B314C4141766A67323872655A7072303850526565444B574964786451663977652F7744726766537259667A78314335577331424A5264504153616F38414358664C5241776977634B2B6A73396E5A4C34615A726D5354386C6C4B6D42613859716474364D3936506F354E385748526D4969706B7336624B54364C694B2B78425A58585450514B524D3959756A743557536435757172312B6F3770725669522F7430553641485A62384262306669555A6F2F4C64504C7139666352557A42454562326B4C596F732B4C56317A565663614539434A666168384776424E4D663670566E7330325A5859784670544F4A775138385A70465250354877694C783738687333635279455634336B317A34654A32357552354444783973656A46796C4E7644592B427A7A7A706C6D63692F65323251774C64307A4C794170726A4C534774346162546C4D75617133744E4E45554C72584D65387A6578697634414C72565041456B6A2B65752F7255764F666B46677738786C474D333747496D717461684C654F55786F57376331676D32695774544D63717661756E525176424373312F73435755515137777156777854494B51427666482F7A722F77702F452F6C587947752F526C3477547952524E433562364D6D5363377A61613274756F2F42744E546D70455A55744452796D754F595553664534615631497859506D334F63564375504B6451576C486D5436552F436A7067382F77412B48355A7954306569573869584944696C58354F2F6C45704A386962676735424F61667164546F38754A5851794B46615A6F7A47716C414A4C49367368434259644777646D4664534B762F78634D4F305875754D5672416B5A636D39472F7742492F77436D6E2F6C746B4F5262374D4F444E677754354C4678577A4667354446624971797A684F4866614D34783434724661636C713431363673576E6A38632F586D6E79664B6874567162486D4E547A5164745256616E334454642F324D7A4F776D30694366796B3173696E7365776A396A6B35366770376A385038413749394461666559444139584432456155537A72476372724B7067574E77466B6961523442324D6546425271586374344E574D6556542F2B502B4F503957766C76473854384A356B34646373334A386A7A5338666C79386679756262494136583546655931797863767532357445345A4B31684C6C4868757A3634786E704769684C564C2F48636A37755A654C534C5A63325639467265734943705431724A656A34455670525A4E2B3358697A663841752F48313735585A366B484D69644233445A4851794257324E526864646D6871467046677863436F44776C4E33314B77694F364F2F7741644D4347495857466B4553684138595572707A6A666A3254357638627866494E4F32383755346A4261375453322B4B33654564466B70504877736A6B6D4B554D61526656704D4B4B3033494B66714D30526E6B32326A396F725047314A74316E31555069724870566F75716379416E366A755869414348527A356552737163725666446B78724C31726236643876737458514F554C66635159426B57314F625749794857674A534262326375633777746149366F5047746D58595A58773271714E6C4F456A77325262446A2B5371645256547434336A376334734B4B366961777873534A71377547724A594A5838483157446E396174484E5439784B6E48353838484B654C56504756586F416D5833556F305675682F774462574D4A6A767678374C4D575A2B4F694C64346E6351304A4757625457726F4E5075556B4B55695A714C54454B75686372767A424F75546B3567797132415A6D5734366C315455376D6F4E67476374725752726A7277504862654A315A5262377A6D48717564724C68666A382F48795736766279687949547A7A38686E6575486B636D476157334A58546966546D6B77716B75766B3574346675697A2F4141543432315642506946383130537A4F6A644251664E32414858624144386D34726E38764665664A496F39447A627644443170583971596C50663132626F4E494F65746F457157636E6D32712F714B4130794769786B373078524E4A4D72686E6B6E66624673684D7935622B672F4C62453348447134725877796F6A374D462B4A2B51374F536B6153555A6475656D6534655239307854547177533265764D755747564B5178504858336D3177306B56554B39774158314C5A524D656661364A76566577656C502F546D714B2F6B614676782B666F4C7833355A656538334F44636B4E6E4F61525A514C52417032543870684634516A3338533732613356464C4B6D514A4177424447565A77626879594A32336C624D4E54417859422F6B6C386F2F70507A322F2B6D2F4F386278755965345A744C53715A51347565486644504C413135614E484B55305A7A797244556D4A4C78532F47365679617556464A7149302B514E4D764A523176346147383358546D674A3266524A2F6234647942587631415239674241594E52657972416D7A32362F4B6678484E426C4C7A745736664D563634594B51794170514E3973753853786D76766F61324A486C4C6D687A323664715A6D70434B7A2F4146567967317552582F6342437438692F77424D6636456631482B502F4B7637357A657471526A793276646B356A6536636A74694E57483278782B76424C6A65587A38577576633265462B65355746755434726A38723449543470754D303533626E6566346E6B384351793553486E6E793572704936383074617874493272662B3578324E376174426D716B4D7553596F687A6F73725330374E4F626D62625A712B7658754C494535374C686A30467136307A696F466B6531354379367A6A676F4E766B78336875667261687748556B672F7A364C6144547831414A31374131702B692B6E4A6C3065726B4B2B6D6D6D454459303435593774734B5238564D556A6B6577684971714E667A4632684B4C464C353541794F5771747945684B53366A356456577147307768506854313166776F41366B6B426B38565967422F486F2F5378594B426E6F69397064706E6479675A4B32564949374C587168306775584A504C4D4E5A5A374B4A694F6C62566163795767574D62316F5639314A36792B6D7069796B6874364253342F67732B6941313850485679306444636862667A6D712B78636D445A6F4A396C5A352B5354684F4A3262375647596239584A61545430354D385346726A69624747303152764371434C685A536E444A6C393755385254317A6579392B72504A6E71796F6F364C6161466A2B464C44494174726D616C6176656A31566E6D726C514C596D6B5561324D62544C59784E6B3268424547745839764D5A5171417368587973526178592F455A525945344E74486C2B4E33507233616236755A7068665A374953692B794D35347055756A307738626832345A644C3630504A4743745058597A483373586C4235586A6143394A6C6E4531583245716E525066384173664F683756694F77663142503558766F6A363373384B38342F30727A5448494734674E7A6379534A654A4363653272776732636847476F674C5A2B7930347375466A535A4270634C4A73727638674B6932734A674A4C7266422F2F41496A666D48796A457A364F41656E336B4D47376C3234714F333063323779342B6D6A69703854585276647261353077595533634A696F6332764F6330396B4D584537743153552B503473577654474F6F5461643948716A656946344A4A2B3130316F6577717A485143316F516B763270526B565366706D3666425A6E5144584B43314B79655A73704572716F48737354306A6C44584363714A57513658487135364155774A6D6B4B4244725944394443734B726C7A355664506D542B6D763957666B6D766C636E48387662646C686E332B7235487235484C737258546D352B617254354E727A7A32506B78384C4C527A7646773439743934572B55536C4E4E766A6D546C5075487A6E766A6D4B434E54497A5772574E446D45434B4C50506D4F6D333279546354633661665A364B55556F45556C476B37653251624D7232594842433775323748737574556A2F542F414D5762566C4871797068524E2B6E494D4C7471697157437869396345617063757653446D4B52424D7970477A4E7558433674574B2F30382F706E7A472F3548384F6933794757626A2F6B4F4854796558354278484472794E786A336364546B4F4D467074724F6A5A664E4E754C347938374A37485A3971636E706657326F386C794754386F424334564574554E3458794738676A6A75526378372F414E56704D6969654C4D437275796B39487636724244525A656E305A686F387451744B487A4B38666F5862716762417A6D427742795A51717558584541554570726D647A49316E6564332B663855726F3056387A36344354467174363377364468385767567A6E704353786544765844494B574655706C564458446E6678464B2B5457362F56767153464E434A49615359567432397641412B434E306150332F414B71417A6678333564466567423139634F5774312F732B687843506C46594D596E69614579426C42386C6377614F7743716448313030642F5353494370784E554150774332777936336C52394A7A465056476D3839764A553471346B305074564E625171464F6956643374527462554D314F6965305A36305773794D7A58795A68434A726F545765624E6C775133466E386C6F77694B4C2B54526B5A4B4F7171656D3868354B50775035505A373650316162594B6A572B6264436F4668413670645A6E564B366B4F73455A7555446F6C4E4C6869476D4743716A4E4D796171486563342F614D3646415342622F52486F727370517743714938727838645571365948546F30344D7956615A6F326242475769516361615034654664364A4E733265516233547A7A74564930735168455971444D6B6C71516A4F657735506B794762764B49494834394B544C64412F735730544A582B5374302F78552F4775686B745631376878496255714155636B4143515170316B6B412B776C2F7445677A5A6C6D66796F776976594C4F4C78626151534C72416A447236584C536B75516E6D37354E2F556E6B50696E4A5A4E75506A736C655031354E2B57563274687A4233747031596B544A484E49366A46354A706650374C39374A62495A2F66435A324C63705446486B4D395A7A2F4150555778506B6F4A634B68565865374146566D4379466E4A4858536F417A6D614E714C68636C5666515567525A4B58414570304A476D2F454F796B786330517349735064335747444D394D376B4A5647774A534A5A6E314B364A4646466C464D714B6157486B722B70333959576850544A6551355358496246306574736D6C4F45305A635370555A72515A6375367642636664483166597A56644849366D6A71466C6F32684E4A62666A6E7861396172563832616D4F5A487666564536553644713173346B4B7969394659544F7330616D65467836534864653163516E6D43343452704B6E6C414443674D6F46655973564B466C43473076675A526F705242436B593565563273635932644669327A6B544B617162724C4C78756831594D333953755658586D706C72796434546E6D4779764C61642F49366A355156612F625A71636854546E616B325A6158595A6D63435863774A465765352F4575505850584F347A4A656839795334355A5A596866456543335753565370444438303952512F7A365344307162622B4D676A467063724D5655574A574B3134706A334F32374B746A497731494262585775457642366B465655584130466D416A6B41467774674F33575772467352774E512B4B664E655230527A633177764A32305537642B52342F496D4C6A2F7439383776523161575365722B35616442667648493538476D5A305473334972717070584D4735486849427447545A45516F714C574F7A3257325A6849716F37517A704F3076556578616371316C354A516A436E35525539347A34497378767353746C4B72536F5178644A6F656F367253375775564C657345423439746150546A4468743649324B6C357050554F714735566F78714A7645626836695071457233502B70487A486B75642F70787836386462343974347A6B632B585A386767352F74507954696E7A624D41785774386435584A36393736744E714A506E4F463072386A785279633377334A35636E41356E7835655036657979792B5543656B4F4E6B4A324F5371306A624E63506B704E6658726B732F5762357446644538645A71746B44566C617A536F422B665038767644715553454A384F54627131626C7A615176304457326B72524C795A325772726B5474355A576259554D47514454476F6973355748466C45774F394F4A654547342F3536362B4C3868797679663772376A695A7932594936704469556C695448792F48594B6C6C624E696C6F7A30342F5569576B397036387A504C78677963346D666B6B74544E736E4A496571686E5636325931556570446E64756C56573845375A47536174352F6C326F62466C2F686D51766C754B6368416E6A7671376C7A6370634161706F4B6F4C6F4950424D3459766B73664B726852654E6761686531734B37434F6B644971504841695849717A3767326F2F474533636F61577A71357A594B4F5A6966326D666B49624F4F4C35304A58496375336B5867367668664C74554E782F49767250756A7950465A2F5A4879476D45626959506B614145734435414D7A4141796F667A34676B467135775648526D7A677631394E4D73455050586C535854614A4A7848496753596E307053366D4D794C4C6844437865774E5733776F4B574646687352722B3247786F6E5A5130684B51355862587A4E7864484B566A7458666A6F395579356466474671343839564F686F614E47666A4F51686B545264625672355A557A57315370727A52573276546A634F312F6376666D766B4372426E436F354A36444D71304B2F6E2B50466B2F58782F68674F67517652484C7A3268377875385A766D527058776B616257466C61457373384D586E367A697A74444D706E5A32644931564A6E48744850716A5668786C4F6D2B7273415578666A79634B4E2F6236586A5743386277752F6B4D633535622B79766A396C783050546C6B62315A7A6E74777331612F3630576A46766F6D504E47486B4261617376386D5374526D36424939726F4B42542B517973773650594A42422B71352B7A334C474B525463427A3445634E574547514A3864635271544F6B79695456562F4D754F5845575844326B45546F58736D742F614466334C4F6D564C6C68586E542F414D51394E69635838597A63672F6C79454E484955302B7864454E506E4C694D3634565A64744A364B6F633757394E6E7935423553595A733063787A7158623464347071354D3036565450444A584A5667462B36397267504D73414435795677442B5654706766465239573538682F446C317373516F5A486A614244595A6E73345253785A4A487A684B5763554F75734E746F4A756B4B70576956634B67354A2B446870636171596957424253675151537163702F586234682F5448682F6976457478477A6D4778386268687A69347559347555654E302F3247644448624866733236484E75546157484376433864446A70787246655A3177306C354C46626964584B62646C35317A7846644F6973425658386A4E72315653676B305A736F436E7637697257382B6C684A356C443963587148342B36767878424A30335A597A71386B345A654A3243656D78766545534554664234485A566B4F2F354758474279574E3759522F614E6A5A5059744C6531574E703576572F36572F31302B4A2F50696E413563484B486679574854736C6770796575764559633251306854427647626E4D6D546A36766F39697967687A373757687679307878767864546B466368784737454670536A30514F6B47385961306F77645379465673486372305756624A4F73765A2F69543255563566536F797059347271646F697564497474786368544668594F6659326B6B417773684C6875714665577844354551716D32536636384236344553674F445564544B7A5A394848356B6775574D724E6D61733246447944387077753977792B314554513735415674374A654230764B4646724E3531302B4E3834472B6859654E6130436D53654C686D6D4C5338575A2F462F745537566770567731455777386747494868394D41675566527A506C736C745A626D6D6B6D73617355412F5A484543304557454572656C6D74494F46315951743978554F4B72726A37795A397548344C79565A38612B6E6E487A346A6C33327938626C7A2B327A7443764163655663756B3761684358444756372B7368376D6671692B654C554D4A4E507972556E376258576E472B7A51395848534C536B30596B4574354D6A7165695432786451436568332B5439664A344F3730747464614E44414149536B69674666726E2B6579676B4A442F42483536463173346352387576675155766F64636F357753754B2B68686156544F457763506D6C6342773854787473327957694770355135567475765A707973774D724C587748716D564A386270566F612F636E3279714A56376C45733356394654526151704F6476736B566C6A5A2F4D5751305257705A683472374A6F725569517674524336643845634436465265484C5535425A78575A336E66375376514A646C62586464495767546C4E5766726733717071747335476D76373836413665336D3345784745742F7A58354C3535584A6B4F47756550456256593261504757476939565439372B7A4E783347623756643136375A4B574A50384473665575515A645069324853375338764165344E697A4C3245542F66566F7A78413855566679515046564852436A366B63583537704654576378733165784D5858534D34783045684671494E6C52796F73456C63462F74496A4237634A3264647768676E396F61726B72343264444D6952585175312F71723864767843636E702B5155796B33755979354464506A41396372556C5543504F7938616662487A566732425450537330654D79744A71546269747676624B324F326C436B2F50374450713544744B4B744A6C623456305A7A4E68346B736D6C5146494966384159426F72315250736E35785654756576346B6A384A38704668624E39352B43624F32775A3637626B73697A4E414F5A5439336C6C354B2F4F4D4B436134544837647867444B776D37772F7958682B547278395130666C51327377342B57766C634739626172542F36444468344E4E75546A425679724E4257356173316C6D335562504E566973356F5954466D6C364A594B7949536F6E6E305A64424B416833387445687157666B76344952704F536853722F676B4A5852477736685A656537514F61475443747742415979684D4E4C34715A30784B485336714352583049736763674979386A686C2F7741426B687252372B78732F5A694E4279657654786E496D36356C696730384938707A7944585241692B5563334A6A49744D72452B7071504B3261797A53316978523531475A714E35795270306B572F77416A4C52366C515744394F5A557541362B514C534553454C452F674836314838512F4A367A53446D785930755157334B34774C31527174716852467252466F3079774C2F6B627677325A714B3233686C56515A713148624E67465575624A68334C4B6872676E7A5834496E4C5245487955354C6773744E71624F44354837446E4E493544592B6E4F64676854674D57724C484E69315643386F75377962377A54474E686D463232663036694C654572543939444D4938464A62775878366955397A314C457236562F547075673147434652426C50505A527354556A646D503833564A6A624B3350675134704175656C74576A413230363131337448333759576E386239746F304646375A2F4E684E697546735947336B5A2F77583948313551386A364D484A5A4E327A6B6F383361322F6D744A6A7332344555724D516979356D746C333347614931636667354C4C6C766B68585654586D6E46374F6E6D674756714F624B4D394564597A5374704476716857526D7A2B687044313230514E496B44706E38514F71442F6C6637472B395764465A42577A49465A7131705776515A7A345572774F384B3965712F704B68356B324161463352424349482F55596F556B426271787A74415143765A437571526466345834566D2F7039486678484537595A506B48494345742B522B4F7A3563476C7355306E794847614F46302B7666786E4556476A4E63364F4F385534693272637A6537464F394D644F4F366E492B725673672F39754C6D45765A6434756E636C6C4B6B6D69687A4C64417330584E526E7138414A65455661625058584A44624251764F71634466454D497641646E754A6C7279564E38446770506C677A61466A70614377485563624752424D722F77665263416F414671486F54574B6C6A7250686561456333487A512F6663546B35434F62545356704F73392B5335664B2B57636E61726342763361636D585662504A61527A354E4A5445637934566C747477412B586E357776584F706D7A466E2F77614D314E425568564158544748545A5A66342F46336733364F6C344F72787434783475664C374C347178753562486F37536F726635786C664844425375594D5253534F4446586B4668727068356D6D346A6945794C526B34684D4568717A69593063586E354F634C52724C4C495A2B4B79766A6B30615444506C3437626D7A37454C666270654C557A364C3539716B727131596F346365337974706777766173614E6E634B584C626444466530363832513156714B366C417273304A304962747567434843723370353475666D434C526938306A37306F696E6A46356B3252453877566F4174303370755A5A5A6334737149764E70636A4F57536D4177347076314D2F3070777643754D466749636A66314131617545786E5237364B615577354A6265504131557930303147534632796C6B6F66744B776C70342B61784C7276586A576F763259327959504A6230317A677A722B71733559442B5679684A6F68626F64436C7972575139686B5257506B77432F5770486C43785A464D5655414A304A434D74754C5963543845583132434E4C544F524D4E6C4F4D677A4B69732B70496645557365745A414E4C466C6F4B336759593950507A742F7131386C35445674304F6557726831307054496C6C3967785A71634E544F75365351704A5175654731734848346674587856783864743362456D776C3672614A386578355A796B4C514E2F4372423139684E6D42376D484C4D4F3631435572632B316748764F43305A704B366C34663475774B6D70594E59594F6166473477756F4F7273513166626875567868476E2F4D37595376756A4555416367695A70545074374B5566737265782F7743654566366E664F654C2B4D6A52386853513238787962546E78574F3154433349557935387A507965775A2B714F364F683238695A556B782B36484835486B434E4758646669587837547A4B5478566335736D414B756C35723569585A5970677A4E5257444A4B624F4D725542514F473033685571326534797479545461724C4C436A544F35796D3079674A43717444735A74757065324C536F696D6B32577145514142416B6C6632534B755845486A483141564B523167316A544F2B443454354C387A7A53332F4E506C76794963613147315A666A7646624B594F47584E6A7A6D6157474752474A6A63536D4A584765657651576252713150735A744265655133636477464B5A2B4634726A6E326A384E7430536D32696232426F366A556B6C3131636475444E334F6554396955546D4D63756371633559664A6D414A6B44707077454775336761356C6442374131725A5A58594E413078774C66564E704359465953632B5447432B7070634743594464574D67595565716636632F5952305A38584C614F59746877356C785A4E4F6E6B3937614F49764454467675346164464C6139666952742B377932707334783855416D6E50555A32787A79506E7A70306A56584B32576533525A4E46516D624A4C336563475363486C4F4F664B6944754B2B63704A6439526D357331474A2B6B6B7658764D7836646D64477A376F6A6B2B67667178376C563935626C4F424B6B316D6F4461446A4D32444C533567685959554375595167774E7A5A6430464A797453733638637A522B6E4F63336356752B4237735746382F6A7865584F387463466E69306D7035476566626732506D6839687A3064465830622B50315557484B7779496A57354371356C7762466234676C34664D735458554A54544737307A4643565161493171727A643239733771326435624642614F6C315452307063536A69662B5143326B52646F76503444746973746F6942376E46516733474647652B6345512B7A525A79456135576D556B6B56495744414F41316C6F6C4331794F724B67327442703736382B4F637A713476354C6A6A7131486A4E2B2B7470635A5837745A594E664A5A396D612F4734723869456A2F625A38356732626348446F2B6175724E79756E6A6D545478755869535A3548486A744E6B336138792B5538464958654A6F42656B4B31306F3268592F2B71304D7A5139656877684557645050704F32464C415535515577306431736F744D7742516C646A7737786A594D556C7448725943337A4B2B6D524965587755667147303732785A796B503434555663576E422B684D37533134587552654930366E72686F4C726F397A504339704E53534A66485446794F5263373231354D3963327854544E4A3544694F502B33724D7853336446386F4E2B796A312B6F796E324154332F4150615A4B45456B663741487339483838597755576E394F376D65496853766A654E53514E3974644A59314B702F53714E356B31354649592F6630724970483071744D445067316C3844414B766B726C65316370747A4E6A6254757A342B547A6436787172397272394E6254664E39335868395736504A6E6B566C65655A745848385A7A686F316853754C5273625073705A704879556D4B73366B66705364416B4755646674562B6C384A6678354B74386C41785252622F41476C586A30366852386341456A4270564F79786247342F4D774372646B323169534835426E5450746C682F3177706475704B417472467171732F6130777A6C6E65633534375279525A6D454E4F36545A612B6E4C795232373046467231374A63686262733078307533356E6E7052737441567236636230535A34446B785075584E4E704D336D686E724D664539716856576D47566A332F414F354638667754312B657137653072615437734B69746A66542B2B6A4168554E497367695630376D4B385930343063362B2B366C6877506C5A6B364159336A56386D544F464562624B4343504F333962654F354C5A38672B465235436930626C746C654F616338383833704A3034637335744D4E584E356761624A57745549435A703648444D6567362F4562537A38647A4E5A6D79744A4A5549667A615A644630364F35712F355A46436F475838427644312F78342F58364E2F4D52734374576E71566F794E685A656B4756673356694F697A5176352F39792F6931396C5A63466E5576744C733634625A316653425343362B2B69736F5846444667312F6C482F5776354C2F557250763576675069334D6649754835536679546A63554D30766C6D79664F313059632F4F62394F7A507957677732765631354434787263354F623561755044782F48366F766E7A6378586762374838506A774F6B35646E4B797937386C636C6D304B3058664B7765734A5043736D30766E4764477A62575764636F7A7456375439564E46546455312B5831496A4849613753575646476946724C69394F4E593351646D3459335476554B64462F77437A2F6C7A624E4473746943535262556461574B785932325868473157464B6A7651662F676E347A356A702B646350623567334B5735336865482B515572792F4B386D2F4A34776E4B56345A384B464938687277386A386735766962386C786D726B72307863684F4847636878393965343231507861542F55362F4743646F38544F4D734436754F5978674A5150746E6A61656E7A796D6336356F79454D766357587A7446793868475A387457554F6578314C693533484E6758642B74477A5457576C556C6B38355547445A414D2F516A49383447706231514675376578764B6442536F4773754E6C38634C6C66625031683237632B58796A6F3058546B6A6C7A48586F42317834384B59786D41772B3769326B724B4D7A4D316C7A4D5957612B5A4E50694F382B4E6F354872616844414930556D574B763449376E73616142327A5A706C6D7133614762715838456479564C6878766B724B71377035512F584E336171766D546E566931336C4C7552352B684C6D6852514945474E3334724F314372616856643967466C62462B316C412B6F464432556876726A727532367132784E3935484E4147634D6C37797043656C4576376334524939745058796B396430643374787646384C656A314D3339796E6E6B38634D35776C6F55712B6854524B57554D5379426778306850496B6C5252315034583358525A6C625A2B652B634D587A674E566E4D6651337045717134773146515937693669456F45644B6F7A69376770797743484A797570487642506B46644C6C30546D786C766136346F2F49664A2B4B2B4D787452395846634E68566C475A64584A446A7378742B5048714765713031586D56514D793474496F336A307965503751665A374F5A7250324E73317561487631544E364476727A5476522F695131364837762B4155505866524831594668344235556F37387532333565524C76723754656F45376D7373303547634C72426F744B6C64545437415A512F2F594C5A48693471507964456A5A6632377450635A356A2B75485038707638413766783332584D5943505364326D6D75654B674A557A544B2B7A5A69755A722B783961592F477850673551447636656358777A454D38646D6D584A544D794B7A486E4A714B7737386D64705A4E4D434841554878434838416C6D364831474A764A2F7877644C3249465A646A38417571394D585941334A73637373387872355177524D46696D654A4D70576B32577A366343764162707A316A426A583951786C793271707A79664C6F326D47397678664A757A72477A68716A476B4E456B58306A316A6C2B52684C5A4953524D3463783049717A395555524F6B704A782B6E49314B522F75387331364D717171544B5564324A65676F6D586A74524250624E31643545487A39626B4C524272334C774879697A46484D6B37484E36504F6B4F56414B6C4D703065674C7078634B627279644C3957462B6F69486E5762566832794C526D743569543254426451755076456A2F646D774F66482B61316A6C5257625479374E4D74466E66556D5A363674463076484E6F746C626833504E353833336575584879337935584B303733317A49766E5657683173384D354F6174626962654C546D624250476E6256387866527179785A6D56545856565932616E6A5037706156384B4A5144385A5049647431756A732F7136454D61584866415764676D573256416647496C4E746B32564A68714C52307736324770593663392B4F2F65457A7575754D4B4A6E576655667A62656534505650666B2B53636C6C533670464A5532506F34352F3762426C544A6A6E4E3436654C78704A4E58574F6566486E79694E5935796A726E673946755262564D6555704F30674850362F6261445076784272436E334D616857364B4F37563968554B367942383057686E3469453538356B77387230626D7933496879494D566C3535454C535573565731736E7148554C7131616F7047355333394530595A6D6C362F48766E5173304374343362444541726D4350795162396F34726C394E792B37546E6B786E70327457644D2B7330466744704B704451367169365A355A306E646873526D312F39536B5654524D314B746C68634B674C7436653631526941515065396F7036304A4E65364C4A466D356D4A5456565372697A5857656673337557595A476E4742682F7A2B6D497A78675231622B5638347058765246484C426B5A35626B45694B712B6B79746444376F553654674F79733070436E37656A52793763754A70354F4F533659744E49357772587A586B5938646A2B7848636B7A33443279726E6A474E3533725A3875377A777A7A5934355A6F616E6E5974397A57694D353866654B7156515034566F34476D62716F415755797358554130426D56597662475949375A36734170565364714F714E446E563167527566577742534F4D33565A2B326D43444B482B79777A6A64635772715A386B785933574236456432495575306633666C6F443544777646636479334B367553354D776E6D705062787A576A68356A6A4E45444F56394F626B50736C7931342F5A43756662786C67457A356D4B5A4D73737959353764504A6C726B595A356A4C4339414443302F4B7374634C4D616854454D5565734B397A4D4B67395462736A7770313950363338593879573352584836646A31566C346F6D51576657554F53686335656F3557704B74436C45544E7459584B344B62594739733450656D6D484C6F44577868625936454335503633714D66737734585238795339656E655A306774597733593552555A6D3063584F7543704978594B4856685736666376796B7A5238305A42772B6D4C50466A416664417053636E6F326831554C5667304C555754414D2F6D6F566646442B713946666F45632F6A33487A335867736869644176444E30566E4C476951673754493951744F6B2B59576F7A3162774344582F41474257503276716753777076706A4B6A3268674A554B533751527457346635745035784C4E794B374E45744848796B3170326870714E4B36493463614B575456746763675561386D655258486C6E64727A7A5A3872576139684731375A68614E424B6F646741394645715A544D6C78656A52414C7052316B7441652B3155666E3848366365497937485A47357667366F39356F38446B6E4D71594B4B72474D594E41456E386842764F7943746C414C6E523632675630624F4545324C5739304C62362B71614C626B7635334C54676976494732544E6B7A377331343539636E4B5335757679586848787765737730614E6A56504C52476F5958686C746E7A6B51714A2F55755769466E50734476533833426D43504C4F58647241446F476A4635534C70332F6F34592F3764665737666E344661584E542F414A42465569446379774D5767484B626F44512F6855564133334E4C7946304C3156384F7337714F634A4C45746A797A764B367272344679752F4B6A2B72643950397A347950694E474C37326F354651596B7076484B784E4D354B6B4C5244786579466A454D7764356F6569306C4B362F77444634526250617A6F466F526D7450784E474E4D3134753632434F5333726F5A4D69743467467745372F414755486B39474B614161522F4B377637485444584571767279743545684A794E6B362B42664A5832766C3162455745595532536A395969306A7046454B696F6B33666E462F57366536487A4B4F6A6139577A4C78395268314936305657476B4858437975336D6C49353753764A326D7661317936354D796F43767033344E624E54686973464332545536366C4B2B4C4276436254666F6764683163736A48736B6551483442374D736D6375306551445641575556456F4C4B2B64452F5330417A736147426871776D56463059546D4C5A53543949726C6B7538375A38737271724F46443278307A2B6D76797244796E7879334732746D6C7966485A6F3861386741762F41452B4F6569575851674446546B317957446E544E557979722F67713661454D6C57666C48466173664B6A52344D2B53315271533338675052696154446A73417A5675696A4654312B76582F41476A76564E496C47574E64424736716246434B65316F706F4F47444E2F76726B787467693232646E62755573654844446D683173424C7136623468457A6F756A396B65375575452B61352F6A366161373631582B366B4747615556536D6A54535168796E477053384B32707233354E6C7656544A43723635556E6C6C354E324B4B72385333496134516773316F715765326B7A745357584F434C3539756961556C4D51686F6C4E585A714A346D666D4F7941434335375047412B674A574A4A716969426A6B30323550597935773249526E33514579565546565A2F693842666355712F79736A52645172696B723554395436456165656D39717972385335616D6474506E505238577A4E614E5A323437516D4C67635044367A563079776E50585938506A354D643339724E794A695A503231614A48785A3248797269612B4371746676564F65716B61594C71666B392B5974374873364361376B68306145764A4663644956515A5237584C6836304E70394B73342F707831725657504B46512F77415951485A6B44327A745751714C753055573134354B67786D556D6D4F57776F492F704576312B587A3166743766784E74324F382B5765656657553452577678744E4B6E467A574C6A6A726C79664551716C5A3549343832617955484768712F59584531726A7754684E4D767937703439304E504868394535486B554762596B376663386457786E6648766F6C46725958745266536C4A364A7A734249696C4B796539612F642F4D48572F716B357976793237634E545A4A32787A63317A4F6E6164426D41477231396D5A586F6F4657777469464E646F316F706C6D677A7042566F5143346D4D6C66454C2F384141766C547A7862666A32336B493852386E77306E435656795A576A644A78454631525851622F3271764B59357A34726B6B726E544C463761382F494E68625278653263477A42504B36616F4A5452772B74455A505A52326250554548546A72634B52536B542B36436A49396C4A5A4C45717A44507A6574396635315A4A6436506E6E4975325542572F715369416D786B74695443715A775A77376368684278685038304379434C6B32506943634C78584A4D43454C43517A506B2B545635504678657932486458506E6C6250765042774F6A4E6A354A596F3064656242656D724C2F617232446A52524F573433516D6449356E2B5059786C78386A762B486A497057733832716564584A7368766F654B32586F2B416D5657444A74513968336A436371705539326F784D30367469794830566F54724B324174344D716F794372447A2B565A69536F467435536142303264707A2F414F312B316C455371536D466A652B42526636775657387671453047463879546C6A344855546974347471586A745047364D7A72374F3437456D2F47636E792B335A417359484F4C504E4A494A492B6A77565641786B716D7962533853617347445633794C4D345A67675A477A53524F6741515A736E5859382F782B556A365553644B7A43504C56316566676931306861684A634C446843756A6F42465A524652612B694E6476787242367638694E4367784B6F7A476A306564304A6377762B7544327A38723851354B7370537838507A4D3174593030734E692F6678327470716C634F4B71326250783136624D366D695A57304A6A434C4758742B6E54346B4A50506B4D2F73466A707A4B4A73765141427A506D645A394D33734D7161344F545245387A3539653155632F5768534633374B4A6D52497247776775656369703230444E3646644D35797A6F586C4342674B394B35424773694F525254474E4F5657793551304F7168457574786376587958752F4D2F4466365638775938792F7737682F6E4E38366A4935313438334D35754E717A6D6C78586A4B633571474F6548383044796A6C6E6870536D69797A4F7A5575685279624F5979307641636C7634672B527236466F754E6248384772437338394F6D656E54503272765954676F566B686E564472586554652F774471484D382B30704B656C4D74587271714C6E584C306165746148584C746F365A42526569736274613158364A7A47656D4C5551476A77475672703647726945482F4148456266696E78443778666A66784C692B4430364A5A637A3868783676546B613430304E5938667532592B582B357078434B7A764C6A4956354C42697130644C3861737655715356746F32395633636C61346C37444B626F566B7856663261667578794343674C45306E6B69533750525A657A746E592B49386841554C58675341654C61465A4A6633724C484C713065524E504B437157544E6C63796B694553567A6D59324F6B314A5A6E616674415757794E565756524D5655512F5038417979504853562B5A3548565462632B5754445A386B6559306172396F4A5350637255714751524231556B326453712B65616753384B6B385639317130575557797A4B71616B4E534D355342495854546F4A706C4B61696E71365949784C306B505A323530566E716B4E4577373538643151574C6857333242346F46516C30786179324C5969303073707762546652496D35475459483070536F6E475949536C6A46637A725374504B38676E47766F35444664326A5237767850483672526C72616C48656558527947694C6A79706E65424B65726253644A31436264437353743265614461784A64416972703632326134445138422F77447A4563674D47704B662B6B6B72655567683638572F6B4F587A5849614C4E524A7663364353564C7A2F414262537658613634415A675432456F2F58504A586A7544625630712B31566A696752526C5655772F534E667A3937565A6C5079567458796A487877773857493239355A44666A4B2B634D72443277686E35625679464E76492B74337170744469654B45572F456F3052773461754F664C7831744C485139314B2B4B4F2B73555636426748595A6F516E47434253544F644E58494F5639684E56395A4C566E39453944764239524E696E7368666C59463263712F3139626D787731485261714F3348755865317663764778444D7235436241434554763841534E334B4278612B56444577316E3458384C34392F6A6D584C796646346238776F44366447365768394D7155486B6957654849635A5A4B4D76526B6D59386252683134534C666B72484B66496552665A62526E3562566B784E306B7338724A49614A2F6B67796B7547324A523253504B77756842364148386C5A442B715A3238687464626B7359767A3541455531566E504D7373444853534B45357A73614E426D632B6D34537A4659464573612B4D61714D31433062363978682F4B682B327A637238447937587A6354766A386C304C6C44307050627A504F6E68636B44704E7A666A6546356A6D65617248797A792B785776336A4E6C7653622B69453630307A7338567A5849343536644F62586864362B44646B63653349394D565678656D546A3859744A4F78576B786C5479724F66576A706643682F6939776A6349533362465178356C736E504D78644B6334784A3839324F4C374D736C4D654B4842385A2F42577347433875356F6F4D324378657659663639464A6D4866567A2F3841714D4A7358444E69327A34444856786F31436E54636B744F545851632B6531736B2B58346E5678774F31446E6A464B614D4E746766557648626A6B4D4950677631625375684730327A4B6D64614A52426C36514D78465574624C716E71314B6C7A526834686C6E655157672F78646C545065702B6241706173356F6D5A6A37622B66324341574B584465564E6670586D7267674D6D33697436566771314E476B745A4D3155535264534D4C477877616A2F6C75694735616C645777592F6A652B757166497A305A44772F497073716D6B687870345035426C307656447958454862647371324F62434B484865715069644E564D6A6B614879786F3871444B6D54375461756E4E584F6F386E6D396235714E35443136335755744A5A712B74556F79326834462F593475794F4444772F3134474931656678523144417A52564B4B316F656D30566C474F3032675355327250394B30613230596C346965614E4A3052566864466E37375030664C56716468416C646E784457342F6E754F75744A6377364D557A353366504B47466978393464495231614A6966397777356473566E396E79574E744D3875725137364572542B333535654F5942725A583973326F775779766F6171544B487361502B556A524A6B466E7A473356492B2F504A6E656173682F796338777A4F6D7874756A544C437964506B3962616B3034773152796737684E4E50467774676C413574797759516A4A69357732685A686C5646686D744B577163364B6D554D70496C78626A746D66587A5753394461454F5479353377336C64367643734A6F5961616C6A5739625A2B51686F6E543776372F41454E54426134616D2F6A453576584A4133797A644153505739537A73473830594977575A5A574952612F67457A6F303571336E35646C704A362F2B502B675942695171666C3356465747464B6D65646C61635046657343495A7954335A364D4A685245513172586A466D56316150617A6865794D6173624F477A4476717A542B75325A754E2B4B7735445469706E34334E7A6478767A5A39584958694D6A5631666338524E4A7074464F467669454D643948323333554A57777834324F66566B674549634E6F6C6F35634B6756413675325A776B6C2F79746C67387145644967744773365441556F6171454E412F3673646F736F6D3839594374474F6A6F54482F644456734C6D2F47743635364143316C717A584D32697361765367785967306C704F4669776168306B31324D313930334443504F7550487564766B2F48383938632B4F38447864642F4663695A386C79476D4A357250544C7962362B526E72354B32576C383975503170464F4F7A4C6B313673734F4C6E6C31636377356A50486A6F783065492B4F617358493739326E50506B592B557336565742706F7A686C7031356E3246697250535331784F505031717945672B5270563664683563795A434938692F50536530304F4C366C734677594B52726E6D6B4B4B2B6A4E597A7466786177764D5769386F704F5839442F303149794273364E5446634C36392F6F357A7235393249766C577257484E5151364A556A6D2B3132706C31307A2F41472F545A786C7A484A614F4E623571577A66333572354579507356375A4E3870797A6E6F6F2B61733238446D4E5A4D56647571436A786F772F4A6F6C46636F51504A41594E35674D72665651636271343563314270576A6C6F7473745A49346961767448564C455266635347385255617671666B70716C48574154515056423369317164557131723961563967676F7342707676796250506C506A6E4D63522F5A61386E614E496D334735743142706B4D6649492B585A416C6F732B30614E484735632F6F5335316263305464426D33585231374D686C5A486E547070653167474C504E327173354D716C757976677564515370414A3662386B6B6E553379503369366F786E6A39746F346F4E5550734D6E774731714E394C4B6D55537934704A717A70767A7356582B74625731526F616A35644B5938516C46454D4B2B466D584A44672F7A2B2F71722F41456C6A7347586B6C34322F4F2F46322B4D3765513357346D6E70307A7078307475444C386D6C697A312F754539754D3179636672342F4C52323543756A4B38354E57573632563434623544397356514579354437694F664D3162734A306E3746745069727458774B7258524F565A394F694B69556E50524975715676753947576268564A58475676476179345555636775756B637050647858776E3454756C53467374574D6F5531697974434A7470734B73724546726D484171363338362F366E2F434D584F5A4E504237695A5662564563667A3634473333794A50544A76474F65577A4B3971636A6957674D6136327A614D39636D333137715A494B665166772F354A664657657042376C724D7271342B31714B586239764F61575A4F6B7044516A52374D314B556E54505154496F71563757354C634A4845514C514E434466566432344667474462455373574674383667676D612B35634C7A6C6361363547556B6E31522B4F7A6764637170333168562B59372F30372B623854794666737344617178386F76795844386F6B6A5955386E54596A652F4C73775939644F744353725045636870396D6D564168493170506B664261594C536D365353636A7A7A36354B72696E38736C49654C7A6571742B4761516F7273503064683139534E7556315474366E6A6F717A36465368384B2B364B385A554D57424A41304B7A6754575161716651314765727646425A326E316E4A696E52416F717A35566F747852764E652F70442F52333572752B58384A38702B567061655067655254646A7958356D6D31655335434C4C5357666A332B363178655A354231767A4F69433131726A6C737979342F57394D6D2F696C72355838362B505A2B41356269754C306F2B2F6D4D46754F314E6E7848476E4863586F6B38646C394A57475859394B77616B63614B426E573170616A756E534968546D6E7432314732387A7162715753377266584A464766415A7A7A58505148513062496846367077506E49445246564A67475452664E4E5259496842556D4D7458795A4C516851676A2B6B50495A70362F6948796D4F505A7732795845436374584F6344673544423856575935474E44785878747551385A587A55305A6F53466F7072325A6C342B5847364E4C3774484A3666727A31385A372F38363850734539635272656C35354E64703232656463373051367847746651717A64774134696C664C4B3261617957694C6D46724B724C64467532713056714D53446F68544649634B7937565A5377317959534D433346477437314C77684D4377704C664A46356A5941706338587141443744714C6F6530666A572F5765443448694E31553070663478786B74484959395761567238724C4F717931346255617461386A5658586478453943355A38764F6564534938714D6E49624D7635573870387679682B30744C476552354330667549456F687256707667704B4B7956524E6E65646D64585567614D3157413930326B384C56356E76306C6A684B785A5A4C317943385A7653693430415268556C4C37556E43323265366E726148614166514A6A4B416856693270716C5A324673594F566D75554C7846424B353831344463764935666B57577366563474672F7665504256393353536F4D423174435561796D71625074573335687234367363352F75334561592B304D6434546C76474E6548744E4E55374533624266624B4B4B6A4B4B614A5A732B69582B5A71756B3666615562505A304E6134394F5379706F57525935484B58316A7A397779764E413169397349434C796975757975794E313950456238705335556D7071656D48315172704A427076644F36574D4F485A6F75322B734D666E42794B2F485262667A5076783764453633306E684F577039726F3166593273647648366E3163646C57314C47616F334763707934307042716E6867565A524A615437484F666A4E7031777A6F7951504B516A6136545567306873453846376F7736556F39655067712B4255623639673272507350782B3863412B522F5378376C52576A6F475633454F706D393565537771442F554F74427273433150355662597A6F58384756354D4D49596D726C74414B7A345A585265766A3339514F536A6C314C544672546B6D6566322B446B2B49356650363130614A7A736D7252486A756479624B7854506176336A61344A7374746B776E6D4D6D5A462F5A6B397272632F612F6245487965652F506F4238453843457A53484761344D5637464A46724C4D487058627276365148354F2B4A3442463454365977525A4B68554A615A6B433170544F4438466F456464723839776D38533754597A4E4F7930784937413050384159444F4A456C765931444C6F486C43686434702F315270397A38596E79566A75747554646E493036744F682F6362434F6F5A56794C4C426777317A2B466D387375496B4C53382F754B54646457733938563032626E355A30655359546759464A79574A43537A75467052707662525A78517A37476E525643675572305652565050774D39507A587033696C3874506F33756231506D686363766F4E47436B58466D73304E306D31794D7461386E6E537A45647A5068466F624D554854457576734B44477443746F4E6F70576F5248776A354A796E4938622F414F57755731635470786359377934334E7332395A345959694B593966495A4B612F4338556D39383456654F61475663324B2F4A376351324239633379444A6A7A365635624E437376765A4931586A4955716D73786A357047614B55486B3351376F35627962786E6C704D682F7137635168546A7A677A704E52636D774D4C76364E714856686D71724161313246707834312F4F567A504661513371363451566A42637749455773697672694C72553154707535503544626A32796A486E6B6A47686A53715A613856424D2B615854577A5A365876727030374977536E3276716D4C30704848474755636F75537870523676727256715756486C464B726F64717379684674706D6934595470496D692B7162734B7A696B66765631314F4174314461756C6E646B736770684B674E656D6E6652384E7A4D665055644F587A535372446A4B31554C61475877613479774A6365582F41485A4C6848576B724874554142684F4C344C4C6334766C76503634385A4F466263686B706C6E6268366251592B44306C5330547A664A5361636E6A4F334A364D625477646A4A786E436937783157646D32716663354D6943716C466C5131593157452B785645396131664A44794C534A6B68717261555547746E6B716F6F6431733833674D6731394239596F4D656D4961416A65355549596D6F79646478335354576D6F6547336C7752456A3141473363416C64586642714F7244616E387270304C476B724C6278487959307838536B59773436766B3974387673384F632B646B4F703575496A624F727135767555463371564E74344E4A68784B48546C5A58713465756B46595A3172344E556A6F455674516E775666344764565A332F42575A413747577570393039372F4B723071724B6873574F567950794D705834354C2F6853727857666A2F5942514576777877694F4D3945317272714D555A68795577464B54565674354B336731585763376E48526C6F354138626A61766B59377A6F7468744376492B6B70562B4B4176654E4F506E7432686C334E674D6F5A2B4F77785632324852317055335177783554743353533031376E4A39452F546D706F643161735A4C54584A6C7A347771794678533939416367314C73596F3938562B4E5A4762715531584F7230397A573645322B74765A736E704B546B67784C4A36416168336677703541616E2B616E4768396134326F366B727138326376724D2B4D6E4A38384F4D346D36385A7875586C644D374F4579576264796C4E653564434737636A79475053363543385A6164427A6E627233586E3474707A5A74456E784F456972624E4B74714C7967562F596D6373734A536272785152625050533141543278454D4B414564544237365A446E7A3363344C5173616E4A4F4F326D50716846637773716E57426F37574D595044373273356157724C577A65614E66534943737A445A4D716E6F5372536A63567153474B3852616650772F4C7079324C5074775635506A3347624E794C715959705A63757A5444496551686B62476C346C4F5035453763416D65526F63636F79313877596A62474D4A4E48485A3576347961564B5330746C5678545346632B6D4E784F79556F613561704F325A34374A645A394B33644A68705461726B7262436E75553454447A303166546E68626861566C576A47736172582B5959564D6179384C737558556E77625A52304D775864686F47743661456151365743424865382B376D636C6535534759764F75343168624B314E6D7A374F50704F536B476F7263747847634D5777366C66376B316C457A674B787A445358726F5A71564F4E313353396B4354656C3258484E724F716C6E663841317A3653696F724C4A3654524756534744646B6841656D4A3566734B4D306C7638754D5236625258455A66454D6349376F4D63446C352F7A5635754F4236574244534278457932766E527545744A54614173512B583337733248534F705A4C4870476A57646D586B5A627561354F476966694957726164485437665A7947534E45795355412B32747561727A556F6368346C4A537A666662485331544E334D773077654758325345314C6D536F6E6663314C7972726D35702B735A4B416C494D793044576F36715968516F41395235316832674870347046345756302F6D30334C716C7A56595170455042514E4B58666E5446572B46422B34426F675777436E4935664F774A53636D477471442F726A6D326B3850765132323076773266664B6568655945394152436A776A76305A674F575430477974374D504A3863334C764C33656B55324C6E4550384166312F46424B5530592F4D66626979466D3746696F706E584F5743716F64644F6653325A6E4B6B6F36796F72396D6C51435139686B666B33576532735235626856736B79326E5656314B7979376A6864486E756F49746634363231665A5763492F6B36574E5A776D4A4B4B6D6E3937724C64414C5955543462446D7A63697533694E313438572B486C495A593634504F7556755278702F627A4F4D3655382B71546A67746C55744F6F317974524B50437872487639743872786F706251446B763751574A764F4C69577033596B4666494B7852453655426771714F75674D5A6F752F4A3658687034332B48616F6E504D34424C4B494D61777848675368784556584D69774D69435579736D4E374D4F367A766233627765756D563872562F627A2F50384141592F6B5042624F4435656D545A44566654782B7964352F633866654A66544454576D657A7361515944616C585878444A736D55634B6D5635684B31706935444C624D7A4C4F457864576E557959327A32724E66423250676A716F6B333767685669314B4B5538324E70632F2B534756517349475444675178716E6470466C34725262506A43413970444F6A4F444C684E4D6E30557168622B7A56717452546E3154637761366D376A4B566E5A4D6138776E2F517A4C4453756E6A4E367375373752742B4E7A73704C4A57474B474F6D36657975546C50505073544C4B333243636349707070625777303774477262727670386C304D794B77456B4263793772367737476A4F554B7A654D2F464333556E69386B5359544F7172434D3042412F332B6D3361476435306B61774E7375715055645A4B6F5A6D2B3634593073796F6A4D6A6D54596E466863457471586E584E5867514B2B78516451725A4E3653685669566B3450346678664762754F354B4F566A6E7961746374464832386A794E434E4338664F4B3643334638424C52707672347457555074746535394D4734766A6E557479564452737657645259317135505571516A6C38555175796D51456E3171466D74726C51424D463673344C75504A4B762B736B6B48334A4F5A3056482F5358306D577652522B6630794C4A56752B52574833734A314C676E71513230512B75356C57494333586B534E4E46746D577542744231626874636134747364632F5270736F66447339556336367674355458592F4855796368716839796B326D372F484C6368794849337247635865414A3548366F53664F6A4B7765356B6E59395643577372563764545646535646422F59715569696A3976493941644E31513859764D30746671345A316958546371796D6F624F6148764F353871414B2B394B4C706C4377537A366C77305A32452F7742705855794C6F597137375A6930436D3764557477332B3159386D336C4D47665879334763376E666B65533454694A47654F504E35644F576C4C76774C366B68566156774D5633664862436A445254325A5636687757376153304832796A37555238376B46362B4D363056782B55463041594F367341557569735549414E4659396657744F5A395577326372575168706D783461784F735664737A77526D6F4A5469476B42723657674C4F6D5A704D595847546F76686E4E72534D31707544496167436D5856396F3033686235422F54586B4F5A35376B4D7138646B3454567A744E4365664E6364546A6C306A496D756F79387277334A386877736557344B6436577A385A386B2B4C363852345848582B337072343330374E3347616E6D35386362677A55444A746869486B5A54762B686C344C4E546D31353433746B35487753546238664977316F5844625677326450445932485074324E786156336F343762344641413462626831593645716D345973536F65534F5650394243614B387059536D642F414B44574F674B346B685345675A41654D732F542B6848493565647963586F34546D3476707A624244692F6A4B333570466648716557693348612B6458504C54786D70566E63616E3031673349563076424B4973474A71507A6A37376A6E305A4F513432565936516F767A45526C4832394A6A77525934744136304376366442336D5230664A7833394C48532B304C4741466A432F5459387857774B4649755954634E4E434C774F4673476463564F477A6F7951353630736C4B7351516E51746667586C2F6F302F6F772B4F345337622F41496C2F51766B4D324F6E3233786A354E70304C716E4343374953342F64506A536D5A72614E6E50307738746C6E706747354C4F4F4E346E6763314C3865384C5735504E57546367795679667A443262507439576A43505A4176534B4D39637A6167656F55455A553931706D59537766534C4A48596B4173725457735871356D745939662B76346251576D456864646158503336523073536C4D4E526F7962332B51577138384C66644C4D6B5A44434B36364354377074536243536C6C784B2B494A4A686853416A54766E2F41415042634A2F536254782B624C6866627873476C434A305975503476682B4E797967703272782B545873626B7558334258342B4D4A486C50732F5872752B6A6A4A6954336D2F702F656D7A35707839473161554265746D6A4A744F3274644E6B5A5746395678415356564331766F664E6E536A555353506F6F4738524C644B6C4E2B6E3369756570475276564C6F695139484731676875686F624B6C42556C7649454E67775154704B61364C2B456746447868786C32484970352F4B43744C634E7478637838442B47636B654831374D7263586D7857354355364A506A3966484D5A62386472797A315A636D653779354F54506A3356367A32624B6E4971326E666E702F4A4F4C70506E766B475A3958322B6A48794F6E6B4D344C466E6F6D3331744A6E552B55436D6D556F532F5671656D4563384757496D696C4261487938523864586F3833633638323943466D3169696370687A673865356455314653634561685744637330796D464E313477466869676857645659646355774F6D6F475631453662774F766C6356363855646375593471714E5638334A4A6C35476E494E5A616A4257573643506A5A36556D7A32305732342B51323645433573576A543449697253307979437332783667776D7854395538764A52565A2B3158664A5253662F4145615A7159574C41336E4D45614A2B432F592F6B554D7353513276684C7065582B317462774E5273734A70305231555966582F415057304B6832314E542F3575684D67696A2B515752614C624731644F45727769717A4E644843586759624E6E794468764273343079347A6A4F56303030656C306158703544646B7A5A644B526F73774A66334A355A756B564D346D4864624C4A364E43744B32486B455A624E4A6E42616B5333354966486E67424175656977554B6E6B5148563238574270365A31476977326430576C5758497944397235626E756A4867562F544942646568357A4D4D627674753136335457676A44734B37324C4A33576A677968634554585857475755737253766B6E79663544686E6A30386674313234314E306378586B586E786E4C5A785A6C5071494E4A35644D5347694D37597879506761314636395A6D636C2B4B346646513238796B6244485A354A504F3973646E36597A4B4F4A5366505651504B7958435163416A4D7A3944764F542F79556568376363424E3533426A394C4D764553703431565270494D746146726A3369396363592F466F3753584D596B4D41696F455373524F435641436862534E5443596355502B7074682F65636D4E5531536D33485972467A71612B625262526F307963794A715A76616177704B377A6D7A693861702B695438566150694834346132315A794E4F7551526D43496A42597778306D766C2F74365870523649766637647230656830552F77442B4B43303033652B3059615861435652695A4A7053346D47544358566679584E34673062435131627177596D6339504C6F31336149316335565A4169304179305764664839506152687A65725138344D384D745054647742624D312F474C506D734E6556386E7652516C396969766C4E6655363053615346663543745734664436334D3550715A6E41496F704D34496E6249456F7A48785571416F3750343638543079374D6D714B386D416272647071306E6E75537A464434374D686A45356B63516F7148474B77566861417748593064435832783637302B6F31484B7A434F414A413456584E62574A494F6C7868397531586B59614E6B2F5862576D6C672F45386443544E594E703161664636545353506563705477534339746C79366E7A7753436D7654734333736B4B493635684E694E756D72667176716D356F784C555A56653274715738694B577172737A6C5465522B7034725562515455433967474D48314B395532376C7630495A7A6A775333375030503067312F7741482F566D703467427936594D5A66386C65614B3144422B6638674B76727650725839577063752F486A42533875587936632F70706E6B7456737572566E77614F4A7A6664314754693462742B51386A626A4B32304E68786D3345537A58546B4E756656794833685935764A644248323170324C5561686F37556162307A7049775764644F664D743646397A70415865636242336E4F554675382F77416C35346E542B537645766E61456364573256555A6462647775486E7930386E2F44445A704F3274565A2F482F387147427A307768483151342B483152646F4F616B3672764D5A2F486A662F6837342F354A702B523470382F6652514C446D394F386F726139477669644737626C725559732B6A526A3172486B2F746A794758504B2F4938584A4E4C66614E6F664B4F6163506D2B6E687056545669782F6153446363786D77396C6375672B6C58307455356F7A6E336E6F31596B39757358536C30516B65564A667863794764777A484C4B6E4D4F514B394539437271304A615253456F4847433044774C493574676B71643364704A44475031534934752F53694D475177575A4B54454B36466E422B696572742F474F4F493553416F2B476C513070706C6B3266754B65336C6457613173374C4D726642672F742B72526D71747055327843616B6D4F4F434A474F793775527A3661794635524A4B51304837706D6674356F7269766E536F6E6330706D617864712B454C7157387A3575695456416159754872412B32345A3255314E33793768717153322B33634E6354566C6B4D4C5432656C624C73707A4D36515341534A59714A62566B723252546C545957736667415834366558315A49705775506A72386A782F473564457377617263566B743458615454706E6C666C334C55316264763378724846526135625432316E4B634D62643264314875684C62707533627536363778745575656D5A3268467973305256536637765A684E436670714C495A7A302F4B4439444579687A75697252597130642F4335554C764D716B7832555865665A79304F6C51534F76344A4C4E3647384B797531686F46724A64696D466C62663562706956495A642F787A6C7450474C4C666B342F48545653743031575A6C4B617879476E64787A55556E374B314F5A3238626F5866796C4450506C6562484E4C536570792B546B5A51334769486B44514C6F5552616257672B66507875544C734B73755A6D7954342B4277746D386756322B4C555A7741793479375A436F4A65514F46544E57554269505232596C38784633326B326C31653255734D3879434A4B2B39515170305441716F6B6C64426756525569615449495731307278695878646C392B722B33517A6144645750464A716C4337517133476A5072524E4C75696C45354753496969714350397233514D42376E313163493261556F35396C537664524C59364F33675A6175373536695866586B303057624C304366502F4A2F42486663516F6B78655A6A626F54792B5975397036326272687270322F653047416177334F30546A57774A4E43503671634D387671474336564B756B474A6979706E5751762F59654255477642644835446976504D74494834746A34362F7366702B524F726766696E76553947553944767A50486D32657A65323045617946765337665669546F5A5330674E556158326D714D68424D564F6A63554858514B75736D6A48722B486B7967735559437A4343704B35307A5A6536527236303269695A6E4E51653848374E4F31547073506354684866444B56356C433046517742456574486E324645526231513434786835456141696B616C73326D63746565742B503279343348746872723578686830636C7A4D64584F304E47366C4C58666A6D726D554D464953644C6B654159676771566D68562F586559314F6C45386D38394762486A305179496E7250736566754B5842514E352B714464394C33395A6A666D4346596C73324B50443464596F7631666D6D54665447716E3369784C51736175646D766B53786A43396465564A466A424135337A4B37397134477177437635463970467A706F30616E34546C337A303076726C7975704D4F683053576D7632633857724E707A4A454D4551737272494B4738424556505A3736736362365832597A566B53445A35436E524B7A5261684B56527A516768306F57556875757569434F782B426254713264325979495A33537062466868564B375A4368453345703657773667554C6A475374654C46686656792B722B7251754464416C786F2B714E4D4D5771497130787758532F476F324736592F666C7A70576C4570624F5671616D626C643846335547514A6D2B34544C48416135305357327531632F345A574E452B3464773647633964436A65495A5648697443456D4133666E35586D58494D7A4C33525064576B486B52454F784E584A4F7670616862786774486B4254537A624272474D2B5458445646324E327734564C4F32307136766C31696274644E426B61763168472B6775675935782F4F424A556250717963696C614D4B35686F484A38703972496B57534C634E6E6532796A55492F4967646171514851654C65492F524A567173783549746C397155706C6153735859674F5931615069683643715150576576494E3332507071776C7A4B586B4836497032365050684141474B66526D6E4D71724237685265466E4A48396435675570516847624A7451776D474856304F795973425A4C59454165533332747130567A593972596F4B3846764F753948566B574E6149557A537A6234482F41434A4B3971634351706D5A6A57316D3235637350706730347874614D6853706159726C796D666944346D626A3236507943766E3132684B755077774834417133576B6A706E6371442B50382B4472574F646744724130374131517758586942765935396D464B616C786E43566C363035796C65504D36334D584E6C4239794B6F696C657A49726356727948453253326662444C704E47307761357572365434744E4E73574E4C4C526E644C5A655136634A4C79384E756C72445070496145575946413044566655676154474B4E4D6A7837456D5554434D464874704E416F48545544414B705A466333694F67707167417557484B36754C58366B67755A695A6F706C706C362F2F414457664F35657A7141586B6C796A53526F366A794D324D494D32624E6D675939356842305A634E73732B50355849334D50346E565051737343636C69324C6E3072646347432B7175656D7A546C4C484E6C346D5454313657795A37337473333773384259307257706C6C7559544C4266516567514749483631444E496F3153434544462B2B6966345966526C6C4A784A75564576786F69764E47517473474F704A5A474B6E4135634C6F57464C4E59736A61744E68385A496C384E51535341485A793455316B717644737547573952347A4B755748493561624A63654D366F2B584C676A704848756C63355A4E504657564F5166465363733368673476506238514557305A486B78705571745573385156396E7662717257704B642B67657657383257614D336E527661795648666E2B766E616A4D65553776516A524A356C3732796C6153425659476A306F4E4A7067375953692B3868624134644952555359354F6A534D736A32786570595374456A506E5149584D4445546C6358413533305835666A5535765750597730344977344452544B6965306B6E6671726D394F554170642B5730615074616A30306371726F4C4F65727A737558486547474C4258714B445A707A3271507965337A524E697762793739665858386C522F483070774E502B517567304F693773306532774A654741744A46542B745A756C6D334D7663584B5A6C6A55695A48523276515A2F41507933746E38557572677767567247796A70744A4250336A7878742F4C2B306362584A6E597372713950686D704236333671756E4C774F50565855513673396135437A6B6B364E44546B4C49705338336A4D7254526D3152397173526E504F786E4F724546624C546C4D38344934592B506A6F723633385373454E6D6C322F664637454C623258474F576D4A6370476E64643957396C70466F616E566A6B6E4E676B716C366C7543343347767A54715A5244776368687055326C6B4D76756A586B7A7A7844676B6D566631627A6370722F7031386930343234724C78763972764F6A5937353068706C6D554A767A744B5570684E57656450597674797A53536D4E57334A357A6A52772F70304D57543566775833743932796C6552476A4F6F386B674C392B45614B744F685A6C654C7A70524A2B5A425A45634A313333656A2B3065656F766279383277746770594A426B43566732594A35447773586644596252583351477043563952454244446D4243375377704A3648637A7458566D314E6F437445542B6B7678586B2B562F70356B66466E35552F63727135564E6D48616E32415469395169324C6C754D316435774D31457631707836632B69324F7A4F4A5A394367686D2B63374A512B576369584F66787A504F547931796D7459746F684C517A59644F634B3633704B303372464B56614C4D434B556A64455230512F306C355455454E6F6C626856455A597957724861323972534356476D386672436C685452623643677442462B5165567132346B49454B662B4A364A476E76696F6E70476566495A715934583439526F433672372F375479384265324F554B3170717A38584F31307936794B7433564F4D6C4C566F734D6D70655A314F694F6E54726C3168694E314B5A5434444F2B7146487A5430503545792B34374E48386770416931515A644D524C4E324A562F6F57593437506F4F4F343944494872764773475346337342377630374B337042616D74506641476B7A3435533646534D707435794639646739764C724B494549636A44496D6642753544466A68574B506C35506D7466435A4E7632396F70524D39642B586D72507630543743455562546C487150746F686842507142754F64364F384A627161464C2B2F4C786E33564A754A73464C434E4D7A714A7354356D696B745073544C41304A4E4E2F7A33496F732F4854307174524D6275685574736730484457726E4E7851354344573564794F45564F516E31456A435958494F4F66636E525A324E556F6A38746C43332F4B3138316B7A38466B746E3573624658536954536E4938467174576E5455526B666A70306E794B5A4B6F6B4A53796239545A566F6E74795A2B6953642B4F654B38703476674B46346143664844575473494937504C2F4937576C35795667744C7A536568797151656864564F4E48356C2B6972505358475530796F4959617737793555623952645A797365706F78474C635344736F6F734C3450494A6B7776717272766C79325167396335776E4B347175724E2F6C664B6E6E393348627976524846634C6C5A336B6B337474784E7147344B383051614658566F72414F43784A6B57373664656E4C686F78346E507377417A5A4B36756673776D65314752784A4D64434357616130684F6569666D6677722B41374D585030642F6842364A337A6C7236553043736F43326D674674594979624578726F71795A4A6F56685443715336714A51664F47526A304D386B69756F616E687652624B61626A422B7458394C4935582B5837446F6E71394D754966774D644663614E6250544E55696A536361644D6A4F395762375565302B6C357944556D564B72386B2B3462674D3834574533586C4B4B344C4C50796D305562786D3771792B53452F783473313648307938617A636B7A2F4972614E46336D5A4E2F7133704B485A6D3672624964642F4866494A57353176784A6459557034424D4B644C76625A32357A4F7741544D736D42795232554259384C6F5539414B6342374A7A3975416E6766567A433573356B4A337772574A454532696F706E6E5468634173756A655561656D4D4C336E5431746B30637A714873584971377730647633526E6A6C5246744B304C4F75727A304349364E6174625133634976305A7458504C75544A565A72375A735477666A6C3668706B77724A68644C6A6E63495544703572632B694746756D334152524179772F4E4F5376477658553878385836304562447132464332625A6774436667716D3075527236347A666835506A767365522B357479776C7132756D575A4C307641704B2B7575644E454D7A61693152683856716976656D6F484D6176706A5035796E48756D74577A675A384657534D4C6153784D5A306D396B58477759564B306D746D5852543232704362316D7738505A395746562B69376A31325379486F4C4A6773466536536857526B2F3371614A696F6B4E527672494D2B505A473961786138355655344D6676724475757148465936725336334B6F576F4C6F356C346B6366673061636E4638526B53767353394531534C70347959556C58516935454D49545776726E78686E6D645762314D4D564A365842626461476F4B48526F6545475956535A6E63556D4371314C7378663255494154324F336E4C78486F6946436E5148796A454A5749766558716954383957446D394F6A5A7969636D5968746B7A643057334C724F684967786831617244724B6F4B2B65774E392F4B557442624F7869514F4F732F4A433864374C6E616872586B4F597A735570374A6E4C726269644D306E42417354585639716A6C34784D4C4A527A49317A6B71724E786A5439546C48445357454237676F6D476F677341783876797171784A4A4A483741646B4653506F6366344F64567A4B754656304145314E366D366F4972704234354C445A4C7455617A2B4C3572362F3858763047685758555476487167577750494A2B456178695A79546B4F61544A746A6F584F5A564D4D6E4B7A524744726554496D486B417245454773646C4B54444C324C53303532516456566E6F354D6C485775646D38356D43356978386C55654D6C4345483844776F67425872734D543270385431395665714930506E322F7859326D4E6E69782F53553157626457314B6279524D76366F41307264564D622F764258726E39377836434A4264585256527768502F535470722B31323131576E4E624C794F584A7932574232365961705452336F633761347A7A7567784E5A57394D6C315974754D5A4E4E4F3062646C6E5738586B6C5A55675250424E65657A424641536A4A2B56506F5676554B494F2F4E686A304A6F647072322F713254557361556851543537516F693172744661425136646932317674676B626F787131356E3831693761327167444930734B726C72466E6F39732F77416578626C79714A2F324852494776516449766F5876354D4C5134614D7377767577783254624C6C3335554F7264695A495A4D4F62714453726D7639726E3476467832764E7042624A7269544B615275363436786F4E3941627A6E6637656C6231513048322B6D56584E692F61744A76334E566F71535052526C59555944746E666E4E495855594E72687839486C724F466746704D7A424767507245615531766C74614E5A72737947516E6E6B59323670384977627433663332512B70505A4D414664696D41786F71364C3731787671346254524E6130666B447579507376796367326864472F4A79644D64303558476E6473796F79594F4C72687869576E77314D756138476F71766150766E4235656B5247656F6D384861612B6E4E6272784345683038764A6D49766466496C683446337075303041744432704E2F72344F6F794F584B315467346C6D714F6643307331416F64536B4E4D73596C444135794B6C324E5772363462464A545973637A6C594E59457437324B756A6B6A486B6F2B57723769382B543859314D6D795234335A486A744D2B574D4A362B2F3764575466323950423838327068455479476C654D724A38734A48517A6F437A4A4E6372433457696430536C30384A442F41434272776D5A306D46533176592F746E464A735A5573316473396B647150644E74366D32643648306A51517049513541414F765368785A4D4145796E4D6E61517A4A5761466153697971644C6B69636B5866784D697A4C5177396D45487132736D4A7878376C7564342F4C4236635258686F5963776E585274303867325A4E4C5171303534736C4979303178343174497679554A79466135534D4D34307953715956796C374837577961626143306F2F61355A4536416C57414863676661475A573755736E5835423649362B6D532F3850686E504F6B5870667350704A2B595261676461517350633049636E352F70445769613838436C6473465262477059794F58424667444C654E666C663372673179367532776763574F6662766C48502F4A723536635070743865736951462B552B4D38382B6F616F74616D654F535042436B384638783231595530533058506B59564F736F4A42474442782B546A545765336970626C396C55586A75533475796138724C366E4C4E766776334973733571383544307A4171586A4B74714D6738342F696577696E56747346763859346F32366168316C42633254646567334F6173416F506D626C747A414B49326B5954414C374C2B57636B6F594D3139386D77594C43734F4163422F412F49755A5466713063763873352F663574504A7635665A706C746E6A5458536E32712F49666A577A537A766D30744E35597551346A6E754A704D53365563696B744573642F6B632B4338353556344C446C5A7A3759526B645761316A4F4D3174666A655539553674664E49534F6E5070347A5A5A6C5A656B6E5071374C75486B597947796464775768795A496C512F3841657A784245516D567256585838597A4A4D70466E793930704C5664597467356F5258567645564264736D6C67436D56434C5363664A6E6B444B472B76486255394C364D664D5A6D304C4B3666636662556A2F634B4A6C35506A71594E434A6A336364746C4C6268303738506C6D30354E5744567552397348776E786B312B33627A6E4451717A304B71717264556B7250476A64576C534E706D304C5A2F4B6B32556D6B34386D586F7A774E377272497736346D772B69515A617673704D4F695654735872374F43797344705956385869696B69427433593549367571514156386132786E2F444353355155656565646D7164634937754D75487A762F41484335304B707A5764524357336661597A78555363366D384E464B54487352684669456E45464146366F73714A344F72722B6F595545313738706B644C3056364C487366545A616F4E6132756E7846506A6B5871394E326E58714F6B4253346150456367496D456D41314E6F756E44463450786D50544B544C684973622F75686E2F757A70766363375A564A75314A794173706E7A654F6B587A354370453461364D36747134347161536E5759706D30776573746D64305067772B316371556D424E7131566B4C527A494E49723251657A366D55534942374D33633162726F44733969444E475371394461743266704E796E5666542B5656646F4E7969794A5A56663679754E766C57675A6A4E4957543756524F3563326830306F57795A6C4E3573622B7444547544596C6D4B594A32694E6B777A56342B462B5177374654784E5269766644544959786E35686E625A4F61497038354966394A5A7A3249455A49552B32446B544C3553724B4435424256626E71627376663646764D644D7635364A48736D7A7251566263335330684D674C546271704D79645070424D3062302B306D6D7869494B73796A676651326C754F57576C4656746F3048316B666F584A59585751614D4F3138746D7873666235385A6D6B367066303465506B3263495373334E6458794F47496D36714C5A345678674F582F78394B77517947566A34797244546576724C704D526B722B4A413742564A6F356D4F68354F744F6750356638414A2B766E442F68643644364F786B517239413259795A73367176755435387A67516C7249596E74524953393970473274665679674C6266324B64514F7049763554437A73354D4B427278384F2B632F314F2B4566454C6F312B52354856795636316E6A344C4A69736261646D74486F67335330797955506C524B6146574F765078344571326264536B5839726E777646637A79306642654D78527A67496733624B696A4A36764D4259526C656B79565546504A6B75664D654B2B46763258543378583850734A35573970666B4E4C575735462F6D55424F4769555A77594430634B36345263734B3034627532636768574E424446706E78674634684D434F766D4E4469677175486D442B6F587A333544383278386C7354494D48443051783063634E2B7777615A7A4357576E497678744D6548625A4366766350483774664C577A57464B355A30774158306242384A2B50344F4D354843644769326A624B6E766C65634D3465565379646D6633423136456B797A585052344A6B526C50717150494B526C4E375867312F7033356B476F6C347A362F74756B536648516C754248444C655665636E58685775574671596D68537548466E726A484844496146694B7642664839542F416147564C66763655636C486866364D634C76315166456D4A4F53706C313358315A4C6F2F4F3872484F7153587A304C6F306236353847455A6E7A516C625A6D6E7169754F546163715A3838784A702B59387373767465726659725655413975613663586848763841594F7642476B6A655A58736B5254386A726F7533307A7A35742B4F636C666F4F41315950536E503950504B584B65376B784C546B4631717A544C58565A44636C34435856565572497554553850567359687353694B6C792F5053554D326234763834722F4146474848773544466E685048794C31614E625178377430776A47535A64475663325A644C304833466331384F6656434E38744D2F4C326F74504655354468372F487176717A61645144776733756974586E507A432B394E5330616C54436E6B6A544C73384C524C46704276457057727A3732543248545633646168523476504674447457797A6B7765557357356E3755545233434F79697546456D54486C4F476468662F7744646F45595755386E796B6C37354C4C782F7837687136755A356A6C754868665054436D376B75546A586179787A2B776D646555707A655A394D636B4E427A7A78343837565754734B71464A594D4B323361516D62506B30756A4A622F6F6F336E48775A676A31386373386154696F71574A57723573382B3647564A79557244666D423533374C643468736A484E4D4C415634647462684B737679307634716B4554686A6B6B32784C51554B7658667277747465464E6950614D346D7549356666635649437A43666B6639592F696679726A4734503437772F4C59754E4B666A6B75633475324C572F4F3575573163627634374D6550342F526A61576A3752742B666D7331646B71796C757A36736E4850687264334C342F77756E6A65536A713255796D6C5331456E6E315357644D6A4C346D6F4E72364E71724E36546A367A4C504E6E5A485271705A517545444F3168544F43353347564261397763684B416954792B6B4F2F6F53716F38575078484530524736644D692F37454F2F4A666447646E536632746C506D5955305761542F35475A494E4F7565583443546D2B70394868344B39414741413831396A4555382F49686830756D7A785262564164742F3161337A75534F75314F4D796E2B50344A416F70374834506944304166715A3833326832626B3359686C5539374E63586D61563534515267544F322B41444B6D6F30636D69647050463361537271434F31533579516B5A665A7276457037786F344C6D7458445630374D5734354C746E736B36546631477676746C6A50505A75774738306E666F642B50672F6A347366314B31486A6F376D7A3539634A31536A653353423542314B595758767944426B3763422B304B393967456A382F5767594C6377763267544E3256395642683261682B4E534361396C726F7447536F4E6374427A2B304B734F66646531694641446749385771612F787732504B70784374633978347670336A79314E55454F644963596D4264766E6A6E5142612B755536624D786E554F4C5A6B315A6F4A546A4B58497833706D707A57714D384F64637761797A77706F576C37626659754F66334659757857656B306F7A4930686B7A797236766663615645746C5538705A71334E32724E582B434F44324F4972725A42352F4C5A5771305A466D51356C54734A4D717161586E7862564132423236593562786B305674596B2F6479392F594858734A6B417364546C3965596268496172537337484A6834384C616363394B355746377A65614A7571767151556A424E453079354E43764B41637549784C4C79644E6554624E50523141614E4F385646394F696176476B533847427A6B394D79574D306F746D386E6272794A4C797A484E62667A76786E314F3530783943427A4774505672446A755231564D6261617A62624B374870765A47486C42464D75744A447A6D342F6E436A67746B39334B7A574C4E4E53686F466E354C35487747624458693947334E6D634C614B7456367375514C36304863386D564F50683641714945576E46355551357A4D2B794D586B4A4848374E6378664C6A7338325433564F5A514365795234666C682B716E2F58794250586635483866566E385A4630725374704B4A746B357974717364597579384A737942616C3573304D5267674B6943574B493271316F43356C6D4945714C623743324E2F30435973547171717246336B744D392B67587A306A7474664631646D6161366D5A73723571363430724975765A6F74616C4A556B6F315A5A70536D566462524E636264566B4A3238704232703679664C78536A4D57534E46372F4A6F57496D7748593848374A37374858706154326B44572B59636D7A796A5946723557365745586930624C4A635238736135457045786D784B3752617441744551325731737A653373555756714F4B346431797455682B53716E65436C56614F7A6A6448757961715A36665A3179365A7779377375687765317A61556E4E4E5569537259373776583431456E516E482F52326B3461624F50644661686E444B784D79704148516D4434722B6569423065782B506F4A332B543832394638384E574F48413141656251414B3737524C4C526A3865307A37623431627A4E4342677857356F77426A4B4962325661635A504E66426C513568796F435562316E6976376E68335270474B6270636F434A4C6C704A38386A4C326D5271386C41743470397869736C7155764F43354D48726844466E5557394E6F7245325A686E766E486A353152584E5A754F7154594145487A5A77782F482B79396A2B5071724F2B78486F2B6C545A2F6D42394C41627356616B376B7872733953767A70353156352F774234426F6E477159486A796251594C4243563962375865624E5236394F4C2F43567749724E64366939745663797436764A644E456B734B4947736A6B424A31396D6136302B366B76556D62486F7A386A4B4C49725264315A35416339755079574D365464596E3231416D6C533831637458786B3453716D4C7533734B4F45547A5975744A2B6669654D39582B51307632313237567938354D4B58337973665A62514F4B55656A564F3778423736562B6B714A5A73364B6847513472656A42636542517156324D5734325A346E345031545834726C734F78644F493079633362433155624A73343433706B3054444B7A31726F785A4A79693358676556313065766C36382B69743656464353736F677136733962786E6441355A576B6B7768554D43567A62614D335834422F77415A5066344948344B6B797A7A4C4E466D4A745076755033476D6951445970634F57714E7070326357504C59304D42726837786D6E45613964614C4F4D67544C5372374E4A56515155354F746B474F4C33386E7A6D5A74555069654C6863767057384E4F716646342F7475506E466B39734D32797342616D696C7337456E796C4F787A5A414A356C656C46695765634E4A647439695373345477697762537932374B33696C566F73704575417A757264416D6E52485944736D3979344F5A625A354C414E6B345170436D584C324F68624E31694D3452634B4163744E4E4D736B694B434E46344C583946677573626E6E396F306E6445727A694D6A515A35617A66424E57684D58492F494F4E727478614B765A4633323052796E7551445777385375764D6E49726C632F63747633316D61534179396A6B58615831626A79365A4A334847766E3433322B51572B525A616553734737416E6266644C654461423061546A4A5A426A313631436766532F77424777394C33634441543945486F4C786E437832666E7246584E5A56794171737845716C5A54736E443646734553733678634779424773616871784131355449364633617A6E624C783346592B5279316A6E35506A6232786E466D30797648693832724D74446F534D4D30593463634E693155567A704C52545A667855796372436C70413235547A7A61455154306F6C7A6F644E443330616C6F524E487037375057776A2B692B5466764B5A38794A483871595051737655736D3862736C3041786F6D334C72645534564C416C7A346658454773476F726C77585753417A6C7175306362527A4D5731774B43413166367155532F5A334262753772693277373465584E4C7362557375536D6D446B712F654C626A705862477252746F464674474F6E37552B78345A74346666484E705A3830337A6B6E72576B4D344D5243386C4D4B4C717A6F302F476C4A683241447537535A305A56465A316F705652544A63426E643765614D6C79395172744E5A59464A71454F7251614C51306B6656594C3249686C6A47324672336E79454835786731746A594F4354464B676F37744D365139446175426C6436345277326849614E695A646233777774666B565252637253764774794848335450496E79576D6A4666614E4C72514C6E797079736F536E6E3156616639797063776B702F5731476B71677437423657436D645451644B72524C7779785571614F615339544979757A567862426F6A644656705538526776364D484562686671566E733164595A6F7849734B7A4A45576C4C65646B5772455632315844774B4C456F36395532394C71445347644674384B4E776D68333062654B314C78577467717A4C78544E79723553735146507030444A707A744F7A304A6865366F564C6767436F6C6564536F6E4A5737304C462F4967546F5A6E6F46667A2B72745566676A734243667072596B4A3774754C30412B664C4E32424D61684A6955642F365479775A746A535836395838423763616346396249706A4B2B454B3452485646486A337834537A684C7335766A65424674504D3755793538654A625536786C7449746161326E6B5773664E382B68664F617779303074735A62656159696B36556C58546A745736685449686474476E316F6E3754447A44424F324D326D7851447959676E78627238646E3675766850786A717934686664646362714752425967526743386B2B70524D386E6C745674464B3565774370746859574E614F574753774A444F68584969674B69757535545041726631394F376B514F4F776E6A7549754B4A6B76573165523136724F364C357A6B57726F3558666D6E304C62654E776358782F46726232386C76343778494C314C2B6E2B624E6E4C58723933634873796B6969617168436C4254312B534A35455457746E73355971675739336D6C4C57342F423471674332676A495A3961724870724D4B4B6D71414E674D615958323562514F71432B4E625979744C68324B354C6277746A4530636D5A374163424E523257502F4D2F6E46506B75754B354F637679627831744E744F656C5A5A56306D51646330364C42395779306C41476D6B524C484E3159527A776B7651642B443475504777304B754B57645856537964496C3648722F583041416663482F387271395562767467335A2B6A666D49467342364D716F73564155316458485244726C542F4143566763415951514B62687279716854327342672F37466E6254427337557A734771565548514658496B4C4774453552373738384E4E4E43467A706B32687350734C6A30564131734C6174486D4E44566141793472656D64446C714B31706373307076496C61644366544E4E6E507448366867724D414178423638674F7741436F2F492F41716C59566B4F4145344C4C37426E33684F47586A30734C78694C686967725131423134664F3278726C50345238387259744B6C7178574666384147433861784D4E714E2F4D34616366446D3269546556636C546A47686B58534D4F7374492F617A716B6B6A41566A3436583475565471324668733165316A4E4376784B2B625879303554736E634E4D6D6F5A67306D6C6C384739566C4861726631754752375546524D46556738774B6657456E75423575412F4C666365694A787A4A456B7441786638774E4F704C4C6D516F515368524577534C5152594C4A5173346A6D41557269784D716D3149584E5A52584B6F72765458394D7541484E2F3052346A6A745849777269734E327565485678757A42624B2B506E743371746B35486979592B474B744B61636D36385938676A3662593351594E57755049356A382B33766B2B5A38685A4D76366F636B585957793655737938666973726E4C756B374F6C4730464B51675748726B706F353969425072542B35366A31725173304770597034545A3537744B6C48316C4332356E69795A49716931656B716169684E644D4651787A3150533344416A526E4232782F6B6A4D63346D4F6B752F356F6E416643654C34466763396375717531636537564A71636A706E755845424C4A5A387A535467354D6B5457454A543159355A354C37312B2B31587274316F5849386871322B317844776E41694361426D7A5131796E3057456A6F43326F6632415A6E3641375839466D77566C612F34357979672F706965746C2B3357735242787136654758714F6C717132717369343839465A47326C7956306346696C72584C3168556F574E4B334953673439634757426D582F41496C323545384E776D7057724C6A654535516138537A343952444A766868706834756B75536F7332795376505A7279636E795A3335526C347252747A594F5370797572484D6B5068765176735345344E7132356B6A526E766476754A74593032687066634E665452437562534549305061735638383179536875722B5444447A777A78545A6D755A7A6F514565573734626331634D4C2B684D63394C6149774E5551563274784B53536C6A6435517472564A414B773174774E6445474C727437493777313858452B522B5463667A452B633354367A636473484763613164792F77427353705664757952354E4D35795A58304D6D7478786E465A74486E77324C5671573261673558614E78796A4A782B5844697970744631784E7130796D7458304E4E374973334D5352577555497A4A477754786E533842717830672B5838554F7642594957646F663078716D69566A7049364549652F37583064477458433930565065544A6E5A5A455851444F497872712B4D436D77547443327931645350644C304B6F5073324E5A6E71394C68466F36716A4D41354B4D796F41716C354D722B4956504838722B4433316238335776474874536B576567587A38326164536B31554F565872774D777659422F4236483548356851564D3445474C344546786746705071567265516A4B6773686773324E6133744E56664F3251743675456A41576757337343793770634B6C2F6D557235307943654F576F552B4C527A585A6753424E445A39464738774750556B4C4D54347235424F7955425058574B535435585550776656703077556B45686E387177387567542F414F6F6E725472382B50683332516568743335495A756E32674132684369684D6B653435424F334B34564D6C6132335372454248766365696278347634514F774B454B7075745149724D666C6B364A53657463566D614777765353395A38424858544C78322F6C4F53726D56384F65597A482F704D6D50724C56442B62716A33333170564A5A627167386D57586E6E3053385A7267584A766B6D2B6E6A38574A62306874733530364B4774485A727348574F614E614C4F4B4D434B2B317645714F7144772F55616A2F6A6A35706D76535662467A705559526C326E35556A5645304E476F6A484F3335746D5A4C547067433661704D79744373544C59784E6158552F7A7968626D32635533356654467570565A2F38322B61637067354C546D347A546F662B322B2F55314A334B7A6F644953634D7567476E6C396B5132765338517A75394D3249337471795A5534756866677546796149752B6C56574A6E6E566C5A716D31616F624D504874714E49674978396B2F49464A696179374259336B4138617A6243796C34374F566A5741354A686773326E6564304F354148544B316C695A65666F466D6930426F523271436A4F71352B354B4D642F30346A304357334A514C2B7744784750384155476A426E6D73416C314433704A632B5972645176713035326E6D71794343434E38654D32666A387A36644A72697164426F644831634C6A654C566F3172737266625A54524C3649704F5354374E44574E3479656A4874396A517473594251756C6633696B5338386855367371567855375858784179767066342F6A4331707A73466C64483677705952596F4E6147734F706B7A514A394648635670696252674F306168586376542F77444858342F3832685242786550654B37725A36626C6E59566A6A716A3661754C79303179523872336C6E654F7A566C6C42365179557568396D62543541393341697444656D583149744A79566B2F5A31716B5A4D5334436774352B7732565141344C6D6168334B42386C665258445879787A73556B534C4B3371566C705667366F626B4451753049334C764E44326D42646273596E413156696635412F51387438477173456230646675535450742B71754A6E6D356E6A65503550445365364663575433584A6B477361344D7572526D55315178307A6E3979324F39557A5451617339357974306E6E395A6C6F576D4C5458506F5978386274494470673078354655505A2F43396B6558374D6F2F344250386946387839337A2F414B6E64425A745A324B3945762F5955495A697676367A422B4F7331674B317A446F345344706F49415337457044514E304647757A3143382B2F554C564970644B79356635626A52783770713476506E7A5A5175704C63577A7A7050554C2B6C466437573146737A5A4D36616365544E336E454A57487030666135306556396F43675765686E6F6F594E4B38777865533965494E38366E74664A75794C64327A3042566C5A325A6850304E394D774765316338343832363975716F59697231476F795634354C34714E747074416E4775687A326430574D6C4F64726D6B4A5633677958726F796B43446C4F31474462424B4F6552776D324765676366664B6A4A485250467A727A355868395A65633347646270624C794D707A594D6F7A446B6E7952387573725031533171734D396864704C53624C374B725673376661335761762B74554B797443374F76355A317A4853702F46444975794D4561723339554B736E6B556555772B782F716E5A6D303978326C53714B6D4B7659587A4548764F7A4B644D545332414C466F4B3553424D31695378625167684F47436C614D7434772F4464664A643874794C612B4A53557444527834636E4444446E396B356F744D54614F523358793556575469693868746E6A30706F7547536D305963784A4862564175545064504F6C41713174546C467351474245326D6B38514A62706B5A6F44783857597370587348727A7A716A576E324957546A502B656974687635612F695A56706C2B6D31733242514462744256374556314A63554D503336464C62553075307A352B533149797967344A6D4A70446A4F69475469493561347A75353538636F586D4E6C4F4F354869384C394C536D4C6A49386338385370714570576532505530384534343875794A6F384A3347333834745A39453470503248797A6575304435715641725633647462655837655557367A394B523353766947343861747A526D723047554B68616969444F323346725837346777786F3548732F5550523664665A5131484F367A615672717141376253564B796A394277565139434C4E7362696D6E6C4B3379347132454A7A61326337724F3034796164364A445333494E432B64727978794C476B4E4E3579704A577763646E7245543432564D4636364156527149454C2B415149443041306F79395A426A4E774172644669516579536678395850315773546F52446B3869566C4142516A6E5244576B675874704C4B4E537A307948454F766D4956686B77377167427A395270587A59566A6F325478356E6D446A5861634E745935635A35386634657475577A382F7562536C65536A786878783037364D4E4179385A70747574546A6338767464476A486F30664730346E4F2B434F486838536234384A4C42504B56697A63727369754B6553516B7563476A4E576561526144577457656559703047686D303570386731464A6F57312F5A73574A6D682B6C3367526F536256456E6939367161726C4B382B756D3870395278675670456A2B674A5663776959436E47716D754C34533462573231536F45594F4B78625A324C5674444638687852767435545657534A5254616E486562506B747654506E6E4C6B646B756C693978766558454C4A476C524D383832615264353676484B497863684159736D59457146634C5A682B38353571566D3348354B4D43703873386B326457362F795276616953387333717357756D2B633051336F4C6A6C596F4B41764E3035736B51755379417259416465794B71767335624B4249456170706B326C36555948564E646E354D6C6C6B596E4D353846546668354E4E764C63626F704C5463362B51703931434779426C6D6669386E46386C504C4A6B564E6B5635372B37517A363458706D332B4E4E4766566F6B567251357A69505448786D3546724955785A5A4C6C4A386E532F333276626B4E616B714256735032742F56362F77424545694862326A77715435456D662B6F62526B6978617939684E70625853505A634F524F685A4E695350466D487065536D544373482B47726751664C73356C523661534F6F6C596465726F4A30583570386B34503475334E2F4C2B574D355A3556674A7851463957376B6D78766D7938646A54763136623637394F3037497334353846746A587A6A4F4855466E773332506734334F6E2F5531566770386679385638433953652B7A414167682F2B41573642503173743431354F6877326330376A496C4D5632694D443053716E526C58555075436C424D37523332756F674A4F32624D5978714D4D436E456E62623273444755797A3533314C416F4D76496679623564796679586B736D546E71716D584E5A366E692B4D726E7835633174516175654873743451686F7949394B6378794B68615071665454307373495A672B6364784D2B4B78323359774B364B7A4B4A723179766F5578526C6E70764B4F5A57635A744A5257343645304C7046637A6E515462545174456A63634757476A42314770716C672F774276556B685878724D4769774B3757757867636554494A4D4C592F414F63387044497372345A574E5563775972626D5A3943386543342F58754776546B783752624E316B777A3678533338586E464B5135486C3045557258684B3647755A3862734A6A624E6D305435584E707A55307855686D354734794C6E57707947596E5064705644555A4E7447614C59735445326E54564A4A48333256744541356446657045394C467933665A6650303152594347635A46546D4149505552456C777A6442734A58796773736E5952594B796D4B4E61766375507567696F317638415234455970354A696643665838613255562B54784A6D396563497245706E6A6C347A47364B776C476D6A764B72445354544E6D342B506F664F4A36366A552F6B36544C796D444B6F7946622B62642B74616D68747049413868543952517151504A334E5A6B393965785351434E452B676D753674526E4D597558706B71756D794E30574C4D344553365853577637323641345379336D6254693257416B6E354F4441625A3679553254375345566B4D326A4D79324F4B34376730342F5879723672374F5162512F2B424A614C756E51644A38646A317963366162434C6633506B72354B63582F6B4F624C6733565236436D4E32376D48307978724347584B714A5A6257655339754738726237356C59593068507A664C6D61733675766C58612B645A5761675635763657746150356F4D42734D766F51355531785A565A37525A6A566E5548724B36657562574F66796870684763672F4B417364515555475850444C586256706F48796876786A546176664E2B4E7778343754793234327072614E302B30726B3254785276614D436A597A79386462375248376159666D61733763686F4F6A6949384E6968786B755233736677366D352B5578344645316C4E387A5A69746376616F4E496252326E484769725730324961482B544C444B325737367447682B6F594B2F6E5474474358313575695A566D6D4C476A672F72706B4B6F4A6761735744384A7471676F747A5A4F57307134794D6C794764505765757A735877567046777A55793062516F4E4636612F7058796D5358394D506947546A386F4B32794A4C6B6C6C626C4C47374E73302F63306F32586B4F54544F5A36512F67625534374C6B4B4E6E6A706961353164412B57594C36506D4879577471736D69653752396F6C457A793973307A5A66747A4344796F6C6C4548704672724374625031585137753366307532663841617A53304E686D39493073735779474F4D6C713846714E5053776B4F6F5A77702B70564D776839637844465A57334561497838324A4263394344745A4D516D4C6B5733544E6649757335726F5039747965544A78504931354B4F32566C38534A7679654B7649594F527936575A6B4D7033765A4F307442727256453969646E7879733654624E3977336A3561594B7632394955527755453338573748512F62317845774F33506756432F54516E367179427478784A332B7533365275494330724F422F704B68316A546E507668465A62764C30354C4D2B7A676868686932762B6A4D436F6C6642695445796B4971523175463437354A78756E48796B3235434F6A4458467034356C6D6D486C63327A472B656B7654795337356D445465767347586C3170624F4A5A54476B66665130425052783750584A3749614A6C76525A5746327A2B464141363355514C734642516D7371775A57506B724D5649576E35582F6B56727150474749326E306A2F743772514B6151726B7477717458545965794A754B5764584267306D7352354B517A4639394262454D5871736932325942424A396C74486E332B6F2F384154663841703338492B49787238543457326266542B3366476F5735506279584A387269342F6A736162446B5466736F71766D544E7843653832686256666363393662574D476E665466677649624F54353349327571706E7A70723350434D3879353637744C6E41756969797A795946746C78523344685638665077494858316958704C624343375038456376725A41774949764F764F716C4A6F2B43445A507A49544F6A6264477A374E35532B3879372F6F737445744A70376654564F306247384A4B78395242445A79633437505A704F506335585038414852305343574B2F6B4B6165506B33585A304C5154626B5A5856516B7461523243617156395A755670575A485A36614E326554392F77447652763155666753426C38576F674C73443734346C3237596C776F6950794E644E2B614571304B776E6E775778466A7961396F326F4A3552776D41396F6A433667657171756D697A764E6E4D4A776B4844436370356D6F5145414956563968375967667150507838762F7742506C2B652F714B64774B36394367542F366D6D787579534A68726D34556B44732B485942594B4F2B752F4564394462484565685A584F35484570335A69306C69787A675170496677375852724667594659683044374D62676B6B53544271425270386D58657A46464673706F4D705A5831466356332B712B4D35366450696E426154376B65664338564F4764633065714E4869355A64586C72444F2B5A54644B5A6D74565978624F4E63766241586538634F355469336E7A752B4B6570595079476F45317375654A4461584E543556414E6936734B6D4577614D4B69616C6A3054744E2B4575317950706D6267344F7939447461356238394D76304172775171424D376258796F486A4F57596A626C43576B4E4F3930624E734A6B6A6A4F6F3764556F57676A3045394A617A38372F31427A7A797732614C56724C4E715472524A637462364C5A31706B4F627171695930432B75664770577149512B584A462B6C4D5856744C2B4D64497952704B656B2B784B303045685A69786A73656738443279734C62576467706F69304B5456714A35326E6233595461695A42756E5473676C3751634679654857526661496E5642304D5354625454506D6163343958674B354474445478724B4F46424C394D514F66594A57307076387266504F472B6331347A4F76776E37375479754862782B2F30634C742B313335467A5578746D71454F445A70746C30706D726C705847737135644F695355703464733268634674346361394B387056446B6B64666173474D457461317150494E304861662B5A6656644A46612B4C487851672F5570386A532F4F64674B4D4D726353595A2F7276715167396F6C5157644F4A5836656F6168624A47635057697173726A535950585931766F47583064464A4E7673536D61467773337A4450586B632F4E5A4A7655367447645A616B354755447A5645766A6F6D475738476F342B5550766C71757A42524A6134624E2B3670727055546F632B797834385A7A4F5271364A656155683977623059735A7351574A5636364234756E694838435736382F72467A387167575872526D535962736478503259776B38566865684C3169644B4549692F77426135694A4B63365567586B687356516E3958486B6E31733337712B655563477730367478392F4967657976674B3234584A3657304C4C4F3262323368713359374833695A7A367056354F6B7347665177744F4C73632F45635730626248513864342B797934787A57713137753678745A6D416E4266732B51523634776573546A4955306D502B4D4E496F396834527A52587A6277506452302F6E33744743767432696630505A6442626146764C6435346631487A676249364E6D74734158724C58532F5439307A337A34717364614971547679733431313546673464364D663562694C7A5876626E34343872355354647637795330787961636B736E48794F715A535266616C4C7A644A734B3330612B46706D6E4F4D7656737A36395661616E676A756359796D6D4D73336852346451576E337739624B42555271734B78586F6C417474614D2F6B7252427A2B61686E2B677476515056585373335265552B644C31495341634A6A6672644672642B6B74624C6A6C744657794D307144574A5051395461357A77315A6336337931716B4D44754B72346A724C4D576A6757766A656547484634386873684F7474576D2B766C4F4A4846364D445553705450786D446A577953684C544F43713939576E576C624E5261616156457446506F547632675845785053516638617A74505A6A306C4837497237467271786C3243447379554B6632396142442B464257702F77424C58724458615262626F6A5157494C304673464C4A4B626858716E62707578645A314B486E726C314934356565516B4B662F7744546D61484F6E466C734E486D66354274746A4876354F6D7144444A713330493941484961367A316A4457416F472B322B2B504A5A387A537136477448456E6D6B50424D7236464161724F39476F2F707173565141474D2F614B454B43534B756970616E6C2B5134576965616C6C494B6B71596C6C6B6243665245326D5571376F72696852562B567238314D2B7271426C457131435179644B744C3151656741544B7A2F73744643336D5254324B367542614C5956634464584F55666B4C5A345A5774794678526D61636875354A366F4B58397761615A746E4A326F655474656364464C764D37717A4269322F4959367963393347314E633252685478566D4A57553073794F5379465768315A637972527655473173693141466C6F6F704E7670715A47492B7459357A523441466F69724B4B4E587034435A6B73622B6839383239514451496D693558446C5245454C4747576A744E764335324F4766306B6F49467865706F72624E3244506D5033644A50787534565536655872706E697A3439444B42613973382B5530787A7648786A4B384D4F546531644C2F5A7778695A334A786A5632752B56574B336C525366746947735751676F76364C574B55516464465872494E30534748612F5672365038416663686D67526763616F32426B3151524F6D7771334F334732457A6D41754D762F77426F563574515774556C4C316C3145614F425874712B415344723559384246474D5057654B355867743944486D506C3248506D7A624A374D2F4F7275674875627557316135753273623761396D32656A5A726F4D4E4B355A3076746E6D666D3665344D4550764A6634686C726F465257547870685A524A476F37744C302B7435506D6E4B67456B656B5674516570714A6D51784B754E394864506553545A7A787878383974584151535368465759573571344B487874435779694747764C70715A314F7052576830363153387645715A4C71793471524446793473326268487A614735503568476A37632B666B73392B4C356E6D393047676C76386554507A57376B636576526171685A3078484458426E746F737768586B4478356C32745668575A79347030624B3955654665503478555A714A4E762B75343643484254772F4C4373394D745254314433544B4D614546766D667058706F4E7144496F6D7557475A30736C7A4E7A645157536D7A734372427137762B316B765368324D53612B6A2F4147475A4C34324D4279364C68316A41315657442F774144354F622B5066446E31376551337776595A6B6E784D754D3172626476314C56584E52484A4B677A5A6354506B764856727278737236386D6849354566507574722F725731387261633535532B614A3974614D377151537273314C3173496364355545784E48466E304755306E625261634D795375332B4E3334382B63666A34676C516859776D3163534A4F4E31556D2F44436E6D672B43664769697579636D5973673246644D494E5779364268356C2B634D59684370684768567A4842506C3379626E506C664C4B764A357375584878327254614751515566614C794E4D7A563036484837573272635A637543466154706E6B737031673133652B6C6B7844426B52745361616E56534D504F733238665A4755716F633261434655534C7451313154486D4B4F3549437436326E5A3750766C56615A647A693067547247495269355A42574F69594752583158396F44585A636F3530496D41546A5356563173697966694C4A4C36336F736A617753394C55396E476761547061706555794973332B586B35776651664837596144306D2F5A6254507949615454316573656B2B6A4A7131386865504B4B324F4D71493833735456596C5A3537364A5264534739457779386645526231657554433265476969334572363553773161305875717078416572484B656E5A376870496D59633855456D68584F624C696B7A5430344A62457268623877687A645046594E636366384C42335733305767627031646B42544E667766475A516D5533314539454B793138356D316234527676317769326A6A666A75703346576C6A342B4872354C6C633265464F53307A67754C4643345A39386C72527672326B6363566D466E524D71435A645546764747726571545646726F7154364D7964796D736D72556C3148714E4C74682B515850474D2F75504E7766592F4E2F47765A3877714F676F76394E30574F62385358707259737163786F6757726933546476726F587562584567635932314769306D6A347A555A4C724770626A42372F795376446372672B2F6C794762586D70476C587778303731722F41484459724A3552342B49794A4A4E512B797470724F76686C79386650695A4A53564C616154635278334A7732724F76476165783659307461575A41305A7230306E6F5A31536B313866595A656F43747958425253452B767A3165762F6C522B512F744951654F322F72626739426252416165647A74362F5059577466535A4E797261712F4E3865727A7565426673567858414762717567725636494146656964334168554267574A79347732375456624E37744C58576D787739744C515233454A5631567058565351564A674A53314A5458706B67624B482B744D53555A35356F734A724B62726157645A786A43644B3965645A786A4B4D6C63436A4D78564237434353504A3266365A2F34415A736E4D666C4E3436384E653167307264376E7742536E7573497A71385A3438755A43435853637279596E42577761716247643959417434705171776B51317453505262572F6D2B516354466669335030523030306867724E764270554C584D46306A4D794E4B3858704F59616D6D725174544B4443534D5A614A55573367724A2B5634365641366557756456632B795A6D69304D6A526154724635737A6668554651537242764D676C5474582B525834312B36656C2B77656737493330584A2B635A314857516469306D5670394262613330534B535367596350536F4C39524E4B6E52304B6D6C517A37584C4554592B5447437862444B6D3539744D32437A2F546A2B70314F50782F47666A33782F674E2B7165566D7A63787975336C754C34766A5272734E4F38795331734649357A645671364A796A35426C4D355130372F62767A5041443877346474484C63786F73732B53617A46355A63632F764E4B35352B4D3143525270626C5A5A6E7576322F5955776F4862324E6C577A6B382F786D4C766B6B786C477733457636425A4E56315461666E52494268726A76424B4A74484B484F633169714E45496D52524E4C78526D6B5A384371746E57424F336939352B5463742F556269382B33355879362F4775546A4D30477A69754F79507032506B4F334F6C4B596A766C702F76456F516F32726B636B75657834373435374A5A7452354E735748556953792F4836316A43457457625171713837366C6F59464742366E3579306A77633143716E746B7858385033354C35697133752F77434B752F794F6E3232367A6835547066637A6F594F3072746E6E584271755A704930376A3277453157636A6F5143575631336175795875563832647679564F6C37514D6D4A6D346630732B57384838672B4D384E6E76364D6F35444558342B2F48346D7863666E30775232726C7A574A33746C3547576676384136546473676B702F322B76475A6454477232584F615238326A51586B306E673643304456723165586B47612F3673767369373949624A4F7A57703261364764574C55462F4E4F383548354E6D2B6C684343576D767847463977386C4C6D465A69324D6F6731587444436D44374D6B393653564535482F564D6B4A38612F6762466F6E50466845482F4146706F626366784F6437652B75626D4C3537336233537064563436345675676A5A64324F30746B3279636A6D74524E44543054715A3673396F6F7866302B517072354F71744E314F424B716B48536867573235474D6E38542F6A4B764679554A48356238674D5736792B504B57736B585A786F486C2F4C6E51344A354972347A326B47794A595963706A6464635852554F457A6F5957696B3344386C564D387635656E51355479767A4B6A5879587A7356636973587A55423638552B3375632B577037502B3567797A66762B5430523233352B746939656251622B74774B5130797649396B6C6C31522B3632512F486B50466441726166583448593736425031786F7577726952582F6D76717064462F46635257565664584B6A6E4375684D596A3258433269777348504547684A68794D2B796C627930614E7739596343624D476D41542F735A6B6E384566374C2B54326576343742372F774343667065307A6565696A5466394C3056566E2B515347364858512F42486B66482F415077422F7744476E766E766F6F6D6877766D5764696966617038354C6835374169356D39564A6C5A394930745A532F486D506E6A30355277713863766C7861622F61644F68514632576479576D67616C7A522B786645506B4E644844634477314D79785674504F3435636A7070534F5257783658332B4D4E4535316C6D444A756C4F2B757967342B354F45494D7979567A764578472F6C75554E57557768775661536A6D4769396D313865792B6248324A52316C584255706E4C786A5774437A5752763254552F384F5058424D7A36506F504B3761454755304B444A65516C485149546D5047724430566139584F6A73376E31707857456A4C57432B66365367645963562F4E5A754A36596F6B5043475171727845682F505974504C52316368444A432F466345336871305270735A57303646734C6D5A68472F334B386657324B744F6F30397265504A3147524D6A30683168306E6A434A33726F6254794332766D7A32624D72536A4A51754D6A7A624C534C36504F365369756563345A2F47536D355433313362776A6E2B6F386F6F7A6B3154432F6965356B376133495051732B4D425946624541734F707A445036516F433564624B7A36554A697169516A4B4335584358464577716E6D792F485A305756374E49766538476752504A716D3252764B6B34317951316E5A4B583459556D4E5530566B55796B735754506E596A75536C7A4F4C4A526F5136302B67305459475878376B4745585173704A43656F75766A333573724836725A7550794C41796D6561334C656344624D6D4241364A62637945305773622F2B745534584D3830717879704F314575746E55754C4A743043544E612B5953694A4C63425A594176674579532B47567457767532524B34316E7130622B51315134334C67525A566D6A5633636E7130616E7A65545042304376542F4651526C6F6748536F36337945536D6E6A4A524F31486A6E56495061742F57307649685650614571565879634C3335644567412F564364726966596437576352445031594B7444644374663074797376626D55734347425531716C6A6C375737374A356F427352706A30747A30367846395A797A7148692B482B7A6343642B4B6631632B4131474F65486D506B6E794F4C7136367561783847324C34374C644E79732B506A4C355279584858316279473970452B4973514B70625138445A4A6C64356267755771787132446938366B67527932336557347936495A33574D32385A79424A5A7661656C5036715353506F51586554767466356E4C4B4F6651712F72717A717447516B71474C32326D755932686A5348725A4D6C3959644F534441574D4C4F4D4D3639536E73416D5A745A5A59677A4B4D686832412F774254634A35576D7A427842746F72374F4F6A742B526378693475574E6B76725056654F6A6E39316B3958704C35386D366B56446F754C457931716C616834473534393172554E504D53576878574C6B646B33486655323973726662686E54794764715A4D35645A58625675596A504A534666345035356E574B76364F6B654D77537759316F704C6F2B657233567866514F7436794361366E456E7770684E79794664476570525847325475717464365A536E416E45744D352F2B75584F3862786B793258342F576262544C6B6E30703868346A47565857566C6644732B563838654B33344A695A6F366364545A314F49764C506C6F73586E4C78767866693947326B366E66462F43696A7463322F3250482F41485775664450512B6176345072392B695A7A394E4F353875766F5276384674322B77594A644B5A536E7A3942684853346D77435A3766557156593530686C374D6D6E735638563041716167704231735556544A54665A433970785457396A6336582B66593763485056786647366562354D534A6D73644E4A38546C383065394C3850506B677474734A305246536B457A354950534C57575753697A4179664131546B476C58516D4B4A4A634D5973316A48386C5730444A62787974535161693072654B6C556F564C4D42476C7977664E63583575454B4E39744B6F7A55683136645470484D74476548635562594774537143746B3170305957666B7A656C6F36565464396136675753774756303275644A563870654C302B55664C2F6C4F7A7968445651786C546B6C3437467950434B496D57674E6F3157346E6963427A36646363305339444858794D6336795A2B544F41766A4E476A2B33385A6E52674C4F736D48714F367156525A7A6441706B75725653696D6469774C474C514C6F356B44587A43754B366242354255566C32766E4165653074656D6B475455315332616F315351746E436F5A665945536F695A6E6A6B3057503674587845476D637375435758694946725053426770536D4F32376B4F516930506B6D726D3946446D5A504464796B6F79523359354E3836776D4D4E64414B42357A78364D75354D31564C4F6F7A46574E542B33355973736549456B6C32584A7A5A71546B55682F6B696B716B4E56334E42323769544B366B654966766F7537492B71527A314936685A525751563963646858425170704B76306265505A6B7378413630544A3877484A5638377975386D644E64413952772F2F7744564F585852497145562B4D2B315A6C556C677830304E6A58372F6239676D42305A66745672472B506A36743759657261466A485457336B3456764A476A6E4A5A2B554F56664343567659555565574C4D2B68626F43504A6853496341762B306C62523975345A503841496B3568614E397376544E49794A6F4B6E686C6B42346D4756694661306F544B4A362B664A645778342B624542487445356A4B6B63526C574D6C4A50596B4C6F314D4C4C65675832445176772B49634F714C4F584D32303671424259384944796579392B6E4D3535346155626A6D7931516C4270304C4E69733345364D696F6F7256356A6B367561577770434D792F5461534D794B6843696156724A35586E583265786A4B4E2F4571364D564862456741667239797869394E4B382B67622F5A6E4E4F4E6F497036736D736F58496A79775955746C44666175586A525A576339756C587565765665633136793853615653705654735A7569422B4C4E575764493764453534686254544757707172525359642B72626C684C4E703255385664385045635731634B535A7432696F4F5970522F75365170646A78386C70654D3162574C65526E3679564E4C6D7A4E5357614A714161364C563967592B6F76347639634E507346677A61705774797241747944415344346F533447737131505656586459436D506E6246626B6338575A4A554D5762556C72494B5878734C4A315652364A52635861312F4270506A477658386A7A63636C746935654F2B3469393672537265696963644D7159376555544F394530326F583038617049305A525072566D463575627558705050787436744542745A68576466466D38684936726F7A53346A497844704F437331714F536B4575774956473666315A4E7A6D79642B36657365622B505A646F726C61566934656C3539526F58564173684C5A34396F31493034463939594D4A64714E78666D696653506D684E724B46652B434131624B4A424C5A78324C674C385068347267666C4F2F566D684E63764933346E5A5459743730676C392B4B4B777A69584C6172364E4174795776626F66375270662F537A756E6B54364B6358486B2B51585659694B5630734876616D6F5A5A545743763638633371713162466D426455557953746A52316F6B2F4E6E2B7157666B542F3542664E57586C4F78383938722F77423366366878357758673866714D646D4934587A7A504E544D364F756643584E665154736C36456C53354E457759515738572B66532B3962615061553456736D4A6A5147434845383779677734635044726B6A796D69316465766B747065326153367272646461516A5359766261457479504D4F4A476D676B5A35307A5A6334716634336A50733934336368716E515A6C55546C6B6771524632516573544375366E4E4F4A565972354D50416B7630345879784B4F513559414A6E7031756155784654416F5539416C4630706C53634669455732775973424277374C794B726747347A4A76584B69566449466B612B68396A515774614E615970385474302F77426A77347A6E7734754C77536C6D567278635A5A4E576C71504E644C324F6B747163466B5A3658732B67766D546A4168364E4B476B4974656C487158765A794F6771456B42552F7743784A503442556444386B396E7236444B6C673941496E46346B72434346304A4F62514B44724C6F576C33556D647175712B4470464A465959734347466C7852596C66627262425A397074473553453433466C383447744D364A56414C2B577250433072546251725A38384C3154773036684271476A4E3472532F462F676558357555743439737A4D66456749664676796F4958386B416A3841454876386667662F414150706A2B517267515053764E544F73454B715A446E50756E4E576761427052513430736A68776541574675467435613956584F37745A4244616B516D30792F706C714B69424A74464C646E52634849665A79796A2F3652532B763238686C7A527A76656D6A4E50504B3271305533766D6C4A494E444E377278314A576E724F6937776C4B74664F6B79377544397A4A4A67535964684C49702F656972456554723541745544783642506E3076312B716633496A7A444F624C51724747515373487A65482B77744A386B7348624652744E63795773613454624B355359436C727A6D41467446397A5367304C6879305336564D4B345A662F53766A756635486A593874712B53386D654A783734597A78564E647034475352454D7977626B73726352766435306E33686E723065694C585367672B6E4F7336587A3352782B4C6B394F622B79547662526D6178325A6C537949585879713269576571615136436E6C37374247304E53744D344D536F2B6C2F3578752B5A5135524D376D7245797876794441725442575138795030435A57464D6A55743976474A535179792B516C2B70667A6D47704C36445A4452697A7069426675504F3854486E59636E4C486E346539384E4157337A6A784762546C6168422B334E754B6A6B6A486173513978476B30325767706E4346766369746D4F537877306C70712B75506B726C3836364E534A52554943766642704E62764D42764956594C4B616E79706161456E367474646F67744653542F6B657467554238775631544F30546A657545716554694F6455556458585A53635064636456514E635651304645747643343176487246376B55766A756E34356F5848787236557A74756A5336344A37615966754A586442614F624C424E6645386E6E30412B355A5277616C6F536C707853387554632F536B646B58766455445468334F5650434636426D5666504D394B7444556A546D6A476371763250576C55396B61353078432F38414A7069387570386C6D3355446B736F30365243367065464C7072675667735258536669312B4D624C2F466C78456A493167555739494A68516D71352F522F7A453630317A2B576333386735486A4F437838316E3059487832713468665A5058353172426143307842544753744C7572746D5A5A2B2B74707A576D595A326A592B485A75507A374E3759396B6443614D71716F4554463548337377566835755341514153664A76496A736E387363446C4C4155515956686657544F757357364572524371712F77423430667968567459393158446165327237626F58532B5436306F5832534775767574354D554E41315362544E464643766249532F386E2F485A4B4E30502B664D7A48354A4835364A2F49483036386658375A326F794633593141527951504B736A4253783737445244502F486669657770364C665536726B614F416742694661535666492F595833636E5154426D6A45744A67534B5866595658326F57692F4530435341726D4D51535445326A746661344257585275302F5657592F436D7632762F4373724D694D7851642F68784A69387976345767485A58727353536D744F6E634E314B587644742B5742542F496744666B396967423742412F3537372B72622B556135517362594A43547A3537737A75576864756A6D56456D5A56336F4743445172524F44574D3177396430373836773678504773494F4B6F2F536B6F57676B617357626638413031354935666B48426148413965625A734379436F55464E6344436F6D724478437454727A3641376D464A566A30763076664A7368624879794B5742752B47536B4E315143454875673866344A6C373643513749514F517669476236737A2B437537483946317574784647774A797233534F395636706C5136574766525163474E4C67514E4F67715975703157326B4135622F57436C594B776467594371556E4E52783661315A68565A72343338367467354C666A3134635732756A5165526E6F31513162446656574C77704A703532524A52644459477A4C41465337614E447A387054692B546648314F446A6475656A52686B69654E756E757A5A6A6D544F6F38614C657146364F394C4A495152724D39746B6B6E47597254523962495A44796C5365777075653658614E7A33526C6874684A4F6E48756E30766E4A68483358785369434D51534A46553378724B504E44594678694E2F4D50344F5879795A486D4F6635465670624E6D346649776B346B59385472394450346C6F53797679764958624B45636B57766757694B4736534A37436C53684B56556C436832763237482F4A6161755A41394F58544C422F617A6B677A4E4C54506943436F48342B6D656E35356635765334613143305A316F52333637485A7337553754534F534357667773354D484A35537A2B4D525155445A43364137634D5739687A3774716564746245535757362F692F795035512B5963317957723565356374626A64657A526D3475663234633534352B425A386E4231456F65617A6D4D443776436672476D745033715A6A795844635931416B44785A5645535630534F6A565633387677396B38372B62654B6E2F4A726154452F34306A302F6D46452B3759616C7964414C53544B50536C7743434B30676A42425851534852564F7350506845437162324447345868737769626672583331326C3377496D484D38533567786630722B51526E4A2B5077327A5A2B5254794F376A715632564A6D5863547272356736615A3156714F797244476B517A4F30493553354268763870342B692B3275696C2F5151717932434143686A2B544B65475167542F33363046523132303348362F5363622F6B677579682B675A4263786768683539374B3352613330796C675059515243556A4F682B666254627246466C416179584A556C517A4844365378425433456E53307A746C4C746E2B414B4D7561504F626555317246497A544E6C34666138354E45742B75766B595974465A306F30344E5437625A6E642F4B34676B2B707542632B616170753346346F436E624E53314E545564672F6B67367A52746A784F6F54794A5730535A3941646B6A72365945325236644772305779307A5538582F4141784A4C7A4F6553707A33477062733131465761476D546C6877636F6B727251386258437364584775706E626344776D6D306D69372B6D736A346F6E4F38786F7938507765506A6441756A4C386B3170586A717A342F4F6D6A2F6F36364E306263317472626B49454E7875425776676A50785848476D79756B536A6B345A5972625875617A504549325A524B7667774C4C374D3059457779754A4D5662526F70545457705A6D4F6444365667435064716C79664B7855347055754261504C517A4B4E4E36446E304F4B7A685263794C526C6F6C6D61564B48506F76705450694667654C355A67305064493930744465324654496763526D4978582F414B61344D71583136644231626C342F3768316E78746B355338525232306533547330325468755053637464616374796C596A3035337873587470684B667A4A7A726261704A5947555A4D713531746F7A306D682F43696A4A44775575563659684A31713150384151476E6933315472326A3066446E61524836523664364E6D314B79477166335A487A74684463626161704D4A6330523872626759764A5A645972326A6F6A4B534D4D786B72474732307467344B7A65612B764A4168686A742F774153342B33476358504E782F463773304C63634530636D6D6A682B4F333835723070616B5A354D314D334A386D63696F32334E6D303563474B6A4A505776465267542F635A2F6479614E487345676D6D6E74552B69666E4F5766784446716D744E4538787458734D3039476839416B37443071774556535448383874536C3478413838776D6832505A396569587664584258352F6D4B4B4B52616C516C57657959794568756E7A646973472B766B65432B616C554B3654703246326B4654594348443861666C6430343563754C6A32754E4A41354C52666B4E6A36734E4E737555576E46787253756A6D5471596F636E794B46746D33556A614D575374485450384158796648427776332F49304C7030776A78774B73785052433033576A316E457A2B6F475750386439324C644D6562532F6D542B584765536B61586D71796138476B69713752304C467A514446554132575756647071304F736262646E364552396969745946566D724E4576726F715853574F6A6158516E626C376B766A6B5A746B6C4330744F6A517A4E43394E4B354F524D38367578324C396839786E342F462B7449666131614D70566C57657145726B5363706D79386552526651586B737972494B33744B6A4E32436A7066576942776F486C5A2F613639687649674B69536E6D582F414A50505873384D313774736A352F726D62514F497550304B516E565A7251357942646470306D41615851436872586936736569642F595A3066476D4751486C577932566F316767316731506A304B317A6633586B72372B4B5457757666786D4C6D5A4D6436725368714B33706D5264476B75664E6E32706F6D66576B7644775A6E5056654D7A6F6130775A2F7437744E707A305538484543797166386452537A77482B775068343964396764456E3659724C386957465752703131487471696843365A576C78477A2B5279714D67356D454343577A567449616C65396C4969424E4D6A617864414B786845677134704C45364D615267322F545034725754366F63595A32664A36434F5335666C7462546971736B382B594A664650476C706F69616F38636D424742744A68463070457271385261656D636E7742765856624F364B355374657A315374566B567345505A522F4A796E626442652B2F716B6D702F496A3237584D746C514D2F39505A594F4647614F32426A4A3530315851334E63724138786F6445436E36737A2F5352537A5278557932336C724D75356E77646665444E6E4330315734586D654D6635496674734846346F4450707A5A6159734847354E744D38665853695372787556746D33476768455A386D6230353944576D4C366177536B57636E34305A384D2F625236584C43744564724C6E6C52757731364C51796947362F7744557032585964416558353672457872394448754A636A5A445941727951597156644E6175792B304C4F566851736852514A437370304E617945762B63306A6F4371686E56566679552B417A687751786E3450355673356E647A2F452F477553676E766555786A787931624961496D6561582F77424F7A365532773152306146394570795370336149706E577A6632374C6D734C75346555557A5075794631566754536F696A446F396A32574530667339414947596C657A3134676E36737A35332B506D72326864626A624D576D597A4930754B71522F6B4B37725837425A594A773469754C41436F704145575A654F44594D32444831424672414B6C745A6E6A577165524C647758785866654D74584C445844696D6C6B7944454E41546C4E66485178757A374E2B68644B316E7876497872726644782B564E472F646C5456706D3257497A616774386A386B686D543034505657785975316C55746E6B394F3245356A763131644141724F474D6955375248486779336B7A336A666A6D4E437A344E2F6C2B584E6B7674675143784B7A332B7A36533933665A4538576565646E2F41484E693962552F2B755365337475444144766C514B755457644B58312F384144642F692F77415770683361383345355A744D6C32626E4B485A48484E334B546E70586B5532776C743547376933463848784F65396F777175336B2B5332744B686F76486D4F5873302F4C66705174314E765135672F366B646C3267737977444D4432475058352F4250307844636B456645394F4C6C314C654A505A467478612F77445837563872413779526C774E54486F7461494E654153624676316461542F716F55366D6B61316D68637565686B5133347A682B4E78597261633344526130633838764835666A574F46636D50565046794849367235734D6F5856396F666A63733950736E73743937784F3735447334766A394F484E737372733250536B6D30614C424377745274466A3565414B646F5862736843766B2F6E306631666F4D514152684435366D7432336E2B636D444F375350645771537242637A6D5233494E70464A42776C4265587931674B697067644B32665156756D323572686F35623133413574414C515774674D49357A586C786646766C476E48677A5A2B4E686772473233524935385355614A6C71666B4F5334374661756D50466536626367754A75482B4D386671764C68637162747A3463536D654D396C396D463656717A7265546A774C5057675277774B646B42504D4B41726C67667947626F393957572F4C6664624A48724E4A2B734669644A47663841337863694643526456514B6B65767634304A7275435A6A394942754B5770753974624233633533397152536C55514D4B2F6F4A672B50542B50344F544F336B4C616748384C777452633343574F6436624A787A4B42444847754C624757376B514976624F556865376553532B692F384155692F4955356E526B624E504E4B564753666C6E644B374D7838497A6F396E5661323765465234574A4D774F2F4652546F714C786A3148533766572F78644A4C524F6D79326B75796E4F5075614176346A565646584C43543950654E6F474766724742725A523436424C573958516A327567674F6B6932752F592F6B6646344F4D346E48796D4F66455A4D46744762462F63734E632B635868734A456F53475733484C7961616E524A506A315A394B6156426E64617A54782B732F7A50707271703566656137786B39444F303661306D6965506D7864316F4A546D6E372B324C697353675A463658723664516D704F6F65584C73684C5253746A55583164354B3969764C3143683357523232316E3573654136696A394A78373031657850617046623478745833373755324E4578656A56426365646152392F4F4C6C303853586547766E4D6F6F6E47637869684C566F706B354E386549362B5035626A7A567674613234326362536D4F4F574D632B6C59503841644B714666504161467179654C34305370706A72516F33596A657557486F734638724B6C47566E43457A7032614B672F79757A737468346E3661736868566D44645A764A6B6B30444D68674D4E7162534B614F7462772F706D4E42342F52615A716731504E556B464F71373168777172516337506B2F38416C4435664A755834495577664A4F61355756327676696D65334B6649654B746C79314D617A306272716144557568614161644D73395943645950464F69506F74386430307863746E6E7479386245744F634433364D6D6B653039796F4949786C3467655063785267542B657A55646658357259304663434D4C6C5A4B2B7054542F5346444B767435326D71786D4E4334634B763972707971744D4E485A337745756F723541637134667074665A3353774A72427142542F7437614C34714F6C56514764662F6A7465677635362F492F2F4147477067463773772F416D434C487944487A444555716856696F386D376F7842374138752F7A3339476D4F364648507346644E634C475A4E796D6A6A5136736357665634636A3734782B396264506B415362336647523156646474336544675858567A496F68796967586D323153503243725377364A495542524E76312F397246355541422F4C45676A2B52394657696673362B4A3637694A4B4376526F52576C54346E2F33426F5569535233332F414B6E387166707265646B6F31507053632F546E46383742796D704A4149557361624251354B395454657A5A776370376736317562644D56596D6A48753766644A594B3235574E66306569795A7A3431664E782F4B63512B6B71735A376444325A53503066335A7A4B6843676C6C416E6469657639572F2F4146396B4C7A475732766A2B54704A663868706D764E4358446B547A7443714A312B71476A657441542B434343663158364470723942353571693138536A6B6D6D3870626D4975584173375672494934447443533479695956394E73424461776C4C79445162767756417172794B7A78717A786975554F55796D5849506B432B77433743565742615A6557683947566B6272734354544D6C7168426C50517855674872364B5A39614E4137656E6D7449777252517968326C6F6B734E434F6A65537577422B346164415661304A65665A436E3631772F48332F77416765735959346849387755745A36326769455079724D536679576134432F74494D4E4C464D6F4563444C3231724F736170794D4746576F72494D426D6D546871326B7842485434664C487A4172446B7564664D4D676D4A35646B7354372B527057706C6E77773156354C42576D695A3879693548585665414E58736F6B51556A354A786E326C6C766978526B75777652394F6374504C497A547A7070544F453959466831324C706F53565179537A6B4F534C4357652B4D76575677444E7958526B434C6749312F362B747457672F537336525A62594D62384E6C3434676B2F67675359546375584D5070436D696457466933396B5474764866484966483838644979644B6169726139387161444A70586D302F38417133766D534E4D2B685A556C56305235314572446B315A466F4D3233563061744453596C7A2B456B75554C44324B5147375245636D724F434169414770495A55566944315848542F414A4C35664A5756413451432F66743754694B726639536E61765844664A4B49684B3472305A30766D797550433755534466334A3561716C5A476D4A5A646C56643145762B58625A4F5A354841334C4C78445779397349376562456357656F5479466D793866364E33334D664A576151623261626B65714B3548456F6D316C34427659734B3735345656676643455274336C43414232397732645750582B526D506E3253307645396441366A3832664F7933746F666F486D32713876342B5972367442733852717958576C5A324A45787743796E55765A713869364E3541597959645931476972484A45676C4C767052444C59542F77434350544C4D324C525846674E784A6355744871783638575A4E4F6D4647764C4E7134367557434235395430724274524A49665752537A4D77446774556372777A38672B334C4E686F6650564B79745478444B712B32327251784B69705068334F44417356696E36714C544D4E566763437575644D4E566E43382F4E69744D54776237566A796732626D735851716D447878364F6670475439537462584F793651637738304373696F365A67466479327776514C79583357335A4E5A6146584966526154374D754B5441786E566D4B5170776448783450515A6C712B547256472F4E6F6C504C436937626A373748594A6E3032506D6F453552686E6C354B773969335964416852354B585873742F782B472F4B47632B33486274736148354D685257426D6B6C417739486D6B302F6E2B4F4445647154614E4749426D416E526571335839436765356979647633344B362B3162614B337A70365A6B3354647534754466385A5470704F596E3933664C567375336B4B6159615163744D7A6368436B654F32576F356C6B664E6A572B697A70506973393979746E4A574F444A6A587A30546D6A7A70354A6D7A554B6C4738682B62325565646B41506C362F2F4149364851412B6C507073656E70314B35773155496E4C43774651655953305956534F6B4F2B5235765A536B4B4944333659425A6B4E45564474467A6F59497371343273554669305A30676A6C506A6E334363587953665A35704775376D49623962544332305A685A72327A61644849775674575A4930656D396F5A4C5A4D4B4A6C4F6A646D6532344E62354E676173425169564A5A37546770487041414B753337644D437A723541456439394C3334394436675237636B6B623238667A4C44307835354842337734704A4E4645796A4B49444D56746343546A477A4D6F582F414C4635676C677A51776D4B6A6C4E4A56584744416A76626F325A726566473853734E4C7A584E5A6457464E4775506B4E426B2F493868794F6A4E4C56736F66755A54545041517A2B716B634F2F6C4F623476466C7A52524457414A702B7145667554347A48582F4148516B41394541487273482F77446F666F4932484B4A4D577767334B777168476A414472336C315A33574453776F617667793278557A735845537274447369454D416378594D4C704545416B6155305551634B74714F662B79592B6135546B4B543037636E6E6D464932692B6F5671745A316C6B57523576546132696E76795A78624278324C5A76754D5843635562724E796D656A7452306C4661674E3354784C6A77525562746768366B714539457550334854666E70462B6C39682F44394C75697A7A3744576F755836585145652F49706354712B3149754677536C58554F53316C63315A45316472556733474D78703157784F2B754A634C6465744638563855747A4F69572F6E62636A68343535353945593074576E4D616F4536476B305674586B2F374E787A4D6C4A55354B6B4C77706167797979624E2F32633173362B5A5847706C6E43563067416B414177516E6F443244727876304F75302F6B66386E723673706E76444D64634C61753474526A79444A70596C327342726D52684E4A63792B316E5475756E614C554C4575732B685839586B56787039627634626D4B716F4E624C5164487837347771347345506A2F4835386B3163497A79524E4F7A64467A6F33533033493037394774714F2B7252433235393873744D48443863637A70795049626C54547A48497A5A3650536C4B30486A306A45536D74575656434B4430697232542F4851556B39644B5439476937797A796E49754637556D435542716158326C4950584A57745A4D7952312F6279654B7170526E6361357555544C4A75477059644B73673072595731515347646F5978354E5043384A7955654D6D2F4338566257776D4871305A76587476553146475A6A6F2B336A74536B59353873357855596E6A786D75652B4B3867304C366556335A48736675625454396E363968436C5079782F502F4D2F77582F446549594838416A364F6D4E614851584133554C434C43666D76726A534C6432634C7831394D434C4B7A5478494345587251795676435A7A474F69717269716132415353667A6D4F734630444C793339687A37367835464A592F55324E45592B7431725452712F4F5747566B347648653368544A6C656563646D6A63666C666C74474F777A443454314547587271585A512F73554E3134737066397776665867696C3338756750486F6675565575544845723251687A4555572B70576A674E5A6363465479776453425545776E66322B75345770646E6C455A476B6143735379505252553857376C327342557462633035564535506B787648486D76766661576D324453586361726174554658335656304E64764A6170773433587976767A4F322F705A36654A6A77324C6C707974692F43457561467679575874674F682F71417049594F54356551596768523054332B62443539586D7A4E4B63553263576732304C4A5545546858624931414B4E5174675372426F37664968726F52334C6B525362655262515250623653536F697871395747632F77434C576E6A3330595A79784C42495872614931666350474461364E6535306D6345773078596366463461386C6C6D493862364F472F744A615076356655597A4A2F6A5A56596B4B6A4934554B565A52324738533351486C5667716F533355795353516F4A2B675273357A3346625A345366516855687750754D7069665345434D5251524C706C6C6A692B6F55495768653345706736656E774E744A5A7132314B63762B526E525753503779474A75433430352B52694E61352F2B6D4F693265574F6D544678466178633663642B717A313534636A6F6C4E4A54584277757A6C367849626D76376A57733673326D7663466F6650756A70502B6536663556546F666C66466D5058342F59495377486B41774E6C392B6E70317557644A6D7774693456674551477A5546317A725A3258335546337948506754437472386B684C44625350737A6B584D6930636D75745831705463752F4B6458413833384931386764504532314E39364D544E416246666B4D79363630315A654E6B4E6C492B35646A35754F5837666A73484838527849624C6F76797A65503062344F57374C793845725051414B785A2B68363338624D7173725662395A7A43654A43452F6C3646783266716A5835576262302B6A3869505A6D71543062634B4B6D327431414C4A444B4F5979395457774D6E69325938564B45674D64762F414477466761395977597850653856687971625059794E4C477338392F417551584A38523451614467354638574F656448627735626A5A52325A3864476D7A61754749313167444E4332626B755254427644707156373474504858634F647A59395049636C3763364962373944305A52367454504C525666597971566F705768666F6C523751523135717145474F622F414467314C56696A48313856417A384661542F3379725A554B7A77346473444E364D4B6161616A7270674A79565A49592F774245474E44457A355530374B6577463333344654343331796F33386E6834692F714F795048486A636E4635786B4C5674683257356A447757376D4E725A4F67797A2B372F754450474C6361645374706A4241356E342F6469326A4D64744A73516C4B6A514E565035364D337861595044702F48776678695A2B6F6C47374C416652357266796678565764446D783830385576565757396B4B79306139705A4E6B6438553548716C63557A2F4C713530313876726E594F6953775943307A456D5965585A543838693730347954563543767A3759756C764E654E774456786E49354B7969353875533138576E45636E7A4772584E6574555A32325A6D7545394F5A355A2F7744537048672F66347A48456E336F4174745068536273784137563269634D6B6E4D6771503257593641452B6743696A612F6D3363353833753864583575744A6C6F35585A6F4637564A547273344E4F68324134595361587148476A7371653030464653756F57475A756E733139386868617152615069467A44355638722B45374D584C446A4D4F362F4C636D76573752756878633876754D676B336869752F4E636A78714B463656633165504F783266626F5A373171475A754F2B4C366C32594E4E4E435458465362724F4662733367484666437268717A7151522F4A76554941516A646464356C4E5142575367616F55556E743537426A66514E626256545A47424F74507472706E6662384E50624B5243415633503249736854574A567A6B3678526C39506343524769585A6D4254786944356673346F6D65596344387566454550346A2F4146384F67414F2B672B5571747247714D784E6663394F324C42312B34663173436579515A2B494B7365782B65312F42364754336B2F354531673964484B303976313452347444695A614E6156786C4F5A4E74644D7045784E59515072352F514C497669465A5252542F364D524B71654A546975383141486C706A4D6739486F764A2F59656B4A3866776E725A6C38656E374959452B512B7241725638534B616B6A4E715A3158784138557167556F5743676C565A5452537A454155434B51714B712F5453326D7864776D56724569622B4D71374945665973476B574552513169772B334F633446314D37697A684C75676A694531527049374B346D457241714A2F584D50324F6D61537956516F38576D6E586F446E2B4F776939416E73756679783762382F5830476A725964465A755041396E7A576755426C58384D534F3250344A4142503450592F4830524D4E4A4C596754734C4C426732347043684B362B754E527A737363306B4F3430386F6466434E35305644473447794D37592F597A516C793033682F51672B7A2F727652744B65363171686D64664A696E63773035496F556A723943794B502B574238322F5879596D494E3634694D3549692B76395638522B61436A74542B4F2F77412B4A41365034363643672F67446F5856746C4241583859382B4C436F4B762F4D36625346563476327149784B442F72644D427248357A6C6B78474970646E3657574569674264766A664B582F4958552B7A376D44556E645649566F6C30596C4758396B3843416C5151504336654E55425A556F466467654A58654577746D3975636C614C4D6E736F442B516635495A44312B5A30386C492F42516A3866547A6C36303976427472317A4D7071354C4B596A467072687173336E364969456857667365446E454E594A68564D6F6345354C51726D556F586947317873575639726D54766678622B70735A63644B334C384879585066497550534B5835545239766F34656661306C6930517A5A4C79457270412B4E313544694E67656F6530747972536D624D6E37666A75504C6F70586A4B5A385048364B6C3164435733686D5A6D7448376E56587A6C4E326F4F35776449743130796C556D414E722F527935663841375A4C733363723554534176705663702B74545656324E34334B714773704A5165672F56352F303245683232533544366456643042417247757638415650527A634E634F5A3432572F4471517A76586935446B6D775A54564C32577A2B593075794F4574544D6E46696165417056553866616B533841736E4435394E73376A392F47762B4E5742412F4B42514649372F41423043564A2F31556E2B573769664F5558726C4E6164574B4D6E594A544F6958352B305779446F382B6349564A3064726F645546435533527846696D6B4E6C414E367861784743577A5A6E4F6C77523065333542776B3837364D6B37616B7A6D41342F6B633270632F474E6E6F6F4D394168483036726176576449577647637733457A4B4849396F6145737231744436385449474C55442B565337576F41714479424B2B586C4C7A4C465345646577766E30423131394D567A355141686543564C764C77787A77416C6C465343465779335A4F684C736744306871776965394E70713437505454585775504E62386951746A56654576736D563034726E782F6D574C456C644B35755635506D617070676C4B5A6D31616352793546793645764B6A7078304D5154513348547A6370666D4E45636174353536614D314C36716B4E314E59716C61516C4F444258705235524E4451446F7A5171476F414350466969396875336345646654417972676D304F504430705172496C3252615549493531435974566244364A6245567730656630496D52747469496531414E506261525A46516A4C62543777537377426F346E355439376977636D7A385669766852734F7A446C32484C782B43326A465374632B4357724C386634582B36636C773865526E7134374476352B334C59773872634F384A56343978396F786D396F2B64684B692B794E66536C54516971546373734C58746E6B724E2B744C536D6C534F6B5A67535156363237567A304F515734377A317A726D6C2B43794F6E41735231746D3179784E566831617369365646617877554F76726A33697538716B774771587A324A2B6D544E6B4A574B48344C354E6F6C7159515842504F656432386B6334427A5A64642B5162512B5556744458783752766E5354337A365A334F6A6A723576754D57724E34626E7554315A4D666772334A527842596C3270525176705A4232796E6F44746E554951774239696E736F44394A505365652B6F4D7962645A576C7379465656564976394267436349517156486C42386C584D38332B4C32304D726B36702F535855444C4A462F486456777337735A335844544C796776666B656234364D6F77577464457652656B736A4C335332366A79346A6A4D6933794154653748566D755A4A585A44573832593059614D452F44504B577A58576A454B4B795953656750384143307A423159442B4F67374D66345A664C736655694A6852634A5742756E715451624E2B7A724747564874386654477453446E675677536B316657646E314F57504D4B67454E597A4A5259386654364B69306A6C2B34347A36794E5977384E6D2B4234487A58563932724A6E52686C35625279562B51774C4F6D613061586A73344C44752B4C2F4831694C7674704C647A553536624A626258466E4B2B346B623674742B6F6C34357074313535346F6957597165784A576F737446582F774343736C736E5444734D5764424B61417A526A35536B697574384247635759697A4D7443576A65314767696C46704E346B4859466374545A34345159544F33324F44644272663153316F4E433573536B745175792F4950366D386C7334684D2F41787073343874486B74764C707847584C787649366154304C37345A5A3765524E6E572B673058654D387541396D376A7553344663776A68304C516E6E78727149706F68376B6F42544D576F786C34723556397450465A74514930326650354E5A454B763441456658584465334D7A722B6154724B49546C642B6D6A477A37492F4F755468524C6C576179646F6869346F35416E5A414C63776F4B493038737977314A51316D684159614A6E56724461524D703550352F66696F5279586558757930746B504B6274567030733034725857625876654F6D6A3639545231364D6A36596E50544C786D7A2F41413732334856617A3537555637444F6A7569545950444F697134614B4944343051497930734E4530647765764E714966425664544246364271566E6E4D71746C35466F39535766574B756D613742622F774372362B79426B336469746A526E4F7A4A326753357564707847626C38342F71686A77785953545A496D707761345945666D65446B526B4E78696E6558486E4F706166322B7A633761724A492B4E36497034334A78734D4756654C724F6D624B734D34673861552F4A4A2B4F75534E4F505252416C474B4A374C545A465A55387631644A426B714553336E2B7770354E4C6F2F62717A3946486F7974726A5A4A4D756D61496B7479733871746B73376F484C644149506F63336F553574326A3035543432743037637037454C45777164415175445A5835304241316C614D4A49772F79576C34592B4B7A6262386E57576A516B4955677253726D796F524C4E6F787A6179576871646A6B716D35646566466D7256627935506B615A75517A44753952307471584973584244556F73776C58703047496C536279624F3731536272584F30326D796771792F6B6876654E374F377A6A302B7A4365666C724D396B324D743358417A55745339457672566E564A36564B7A4D51595536613570656732475867367A596A59363966415934624E5070616242334E31476C4532355442723076757938302F4D6648754F333034376B4E6D6266435737487874444B576A566C343354726E7678643437303259384B34713578704B5173314A30314331323874326E4F37567A67617171706B7A6F77576F6D53577657692B585A7348587433666F7541657958386D5978756D394B7A76724E57684F7A75724A4162715437486144633150426B6C70426A7468302F5267436C56523465724B4E646158517145366361684770596D475A2F4B64585A4F2B6C57434D72386A3566514D2B4834627174583542586A42716246566552586A754B3548546F4B376D67317159412F47303063586835524C4F2F44364D766F3475656E636E4A635A48624B444774374F64584E5A577977526E514C35534833455548556F4E4D714637482B705A65685653797531464C4B516656355370325A6E624E6A6F7A614772706D4E71614F4F62324145434F7142654B783352574B3050565764594358637644637930506E4B6E4B6F76304543764A6771614A525167465A65522B57303448624C66386E356E6C613866706B2F4A342B5149744C54766843535577634C7477486A65467A5A6E754E4134666A617776734A354559645079572B5A327347436370495431444C4661416574706F5459656249336257636D6A50514B6A326279507464464C46697164455741387378326A3945533036516C7A765546756E793362687A4268503958306747664F6A4B746F5848785830633952754271796C6C56544E703647723946745849596F41646C323146664D65436A7962326F4F517863585869382B5837476E455078584661646646353837354B36566C562B522B5541304C4B2B6D2B4E4D6D486C3551723456527336377165656735786A2B6E5A6B6F7A2F6D645A6E32656F5650697267394F477937423130504C756B4B6541412F313851567A572F4A48533242657965785161433677677870365875614B66374B704345464C747A6F7556746B4C567357432F684E674D6153694C56345534476D7A2B553455722B69614D586F4878485648692B4334334373796772782B4D614530386C79546675614A61395A5A65523261625A37315068444F316B707865664931355A38342F784746486B312B353337617051466675395A38677041557273305438652F4565425A5A6F472F312F3144742B54354D6F4C53593941566C4E567178524E63645842565774435A51592F2F4148625752434930394142596A6D34493754436E744C624C75495343706E654D52483949527131657566666977323034614A784F546C65517A4E30733174576558542F6D324A6C3547764534754F692F686E5A2B53476A64786374736B46546A726968733042666137765A686E566D50595568375345772F2F424D6B38322F4866387261702F5052682F4C4A316935355177744E7575566A51434B447444576D73486C6C6D675745784747355962334F43732B474D782B585558584A6872326930543962657971587770732B765A4654676A7A484A3642776D7A486B2B4F38646E7A486C57745443312B537A49626F39396E434E70356A664F717042716A2B31366C7A546A4E7465616D6A4F6A344E557233726C6E36395456745A36414C5245736D547A596B4A4E4C684A4B614C3252324A326F414746494269314A684F6E6D5749314D7055464D6F30583972513339736A454F3230616730556D75644E49382B56454C6A4C357037516270316939726843766B71364B52724A323566386935534F336B43734A536E6C34334F4D75503152797235354974306C4C5568673430364C7569675070726A686F703545504F6635514D6547646B79674D416C74444656587A6F78566D50724C453070512F68695346396A4C2B5035362B6F72513272714B307152584D723575782B7157535A476F6353787365542F5158583157644F4A6F4958797341556C58535075684B70685964526247304767646E46636B614E4E725736386E6633497036386B6D574A43654936527643482B496B2B5249376469582F5031616F737056457066736B5A4A6E6469474330496D714F2F342F6A7A71577150456A38394C2F71664836434C77536C49597848425A326B7936514E6F6C4C6856506B41695654436B5375323863327930636D5846747741314E52413967346B6A69366554695247457066794356337568666F65534E6D594565637A524559394D6842483841644D522B4F2F782B53444D4845446A496D7036554379743565757858523679437048524B787241676A2F6B672F37426D487549685037594575345350444F7574634F647850597A70454570745868335578347849594E71367871414B6464585257355A5863685455344C724C504676424D4C71724C704B6D725757704B7864426F6B70366F5638694136392B412F61662F3439666A2F35374A4775554E3275536965624D782B337166486F68795543762F37682B56364262382F6A73482F6A2F514943764959795857516F347172474F6752336E373030336E3331314E5A6738414C497175747230444C7341653332777041527A2B45697574674B4C794E7678444A4E7A5479442B4B4D6678325235465737362F436B41396672313130434150716866767576696E675A55625168362F436748706C416273737057666637646A6F392F7A39646E62716161573836426837506E5A416A446B4E4C4C724C496A4164566D79736A794E664261364C536152706674325A746E41325061727A32564E6442743330564B4A4D6745734A55566976344A667764302F4938657639536678304366352F422B6F48694765732B77714375627837372F41466931706F2F2F41484A42446744736B6A792F424248594F4D7577466C6657564947346D7A3431356C67775443514536616766764C5738366D567A53454B696D49793558457369664731464E31747856494D4B516F517163506865685532386C6E724B57695A7979323038687730326D4D746E6F4A70626C4F50334D74474672654563735765355652514F4A534145386C455777354756564366635752554D615861332B4E5232716F514636714347382F782B51423076386C574656412B6836384F316C636F346B456A786D2B504C76586630586C6B4A6A6B566F732B32654534776E513232565469725035454D6B565976726763513861733731314E725439747948796E6B4D782B4E344E664438466D30685A636E70624933495A6A522F4E3031637677664563527331667936755A63514E4F667A5661386436364B51477158344C46706573324F30794D7357517974706A463256567062586B7A68327A736A6B6D553561576D7A427646423132625A3666417173384167314F415A68343135793945485A666658442B71576376444974464D41476A705035364D7063575658506E3851425742645556486F777631346953704F53346A6875462B5135462F763349546F4E315237636C4F49614C31764B575671306C7A6E4C2F4141696E496141756647574F6D756B7A2B326A355061736B2B686B4C63356544507965505066493869386E6E683572485769783852356A4E6244724156774862376E3767715842525A4546696B5070665A7661316F6F4F647533725A615657747A71366F502F55745262575370446D334A43454B737134596F764935653276724D744C6169727A346A4453594D325542772F71304E474C6D5257714A504B4D387A4657354239474745373978717137476147376E3876755276646E7469625170573742335A76546D4C79352B4F3475365574584E2F6B764E6736753961474E5A304254785270524B6C51694B766A46657832706E4575314A2B377A536C5A33743631526A592F5932574972554A74614B394955427679566A706F6D474A707171574249524551476A7A79506D3842725631772F744445644750794333714E636F4A37766B63754B546B2B56345170505069346A546C695579317A38725659376451706347564F597936636670704265564F4A6344504C43424C4E676E72394E7154634944664A6E7670754A44616C362F3435547A547052474B70564A326870656A5250696F6F4E57566E38452F4E414B6838342F335879725761595739726C6F595172432B664359374D39624D7A64595356666B676B6457654C30574C78687143417562624A485253506A4164735144596D6336326431317456484969723378376B4E4849386763746F47317057326F734A69756C644E6C69744B564863596B764F55394F76517A5472476B5A7174505332524A2F524C6D4F4D6F754E627059674D375570343953555175364D735742495A57426D69486F3939304449665551667064593731454430424E6F436A6A736373646142796E415572694B54367073654631466B32674D79575730304F6E437A49476671724B70724A6F63316D667545714A616A39434B61474E756E56666B49506E5361795A6D2B336B673853756A545368524A5477724E6B564C46676954684A45717651514564644B562B4647653036702F31526E4132445A59525656372F5948334B70587A502B762B48313338767948382F774276723263753949696D4D4B6B5235634D354649496835715967525042594172714D2F582F575835366B444631515174336F356876663156454C3469736F5A32364863744B4E5266576E6A70434F515877343944356159563161575869744D65504C7743616552785A4B36737870666A454931544B364D4D7443554B6E6B426D53725A37504572785465746C7252644634304C52476D2B65704C56716E3239624C6D75387955724B626871676C4A45744D686D4E467331743968434C4A7342394B5361714A7970566363356F6B636B616838465A4D53326945454A35473959364E696E7572764B7663567269545273324D312B3956624169517172726E7A66336B3538666E3338316772664B3974385277764836674861363674577558492F4B465738306E314F676E7965697574436372796147644F7A63762F41432B396C4C59732B625A4A58535555313173684A582B576E48696657344C2F414C69547155464F36716F70526D502B797635506D34476E75666535484873327449386F4C6E786E2B7450376751624744716A564857486B304E513943796776546A7163307463727A425639374F393371694E5430656F4E352F636C58666F6F4A386C4746525758513158746D31716C5338386233746F3061747562524449694B6B5978583754506D5356445337362F59506B2B41783645476A4674764C7655396A456D755A7972435379676C504B576F6F6D68644E3675796F2F2B694C354A2B6F4F73442B546C2B713259424452736E52723259376E503243506959656F593049356A6342596A4E79716652713947656E6B6E762F6731364A5842717A495A55396B4A6C776376654B7258687A5934384E50436E465A63517838616B3631335234314978626C694C55302F666374772B656D666A6432752B5756573436584C51355069666A38734D526777374F513331577333495A2B546B5873723171424E425271536A4D545A4234677452733573614B6F4874614E355670306F3047766A50316D473939704D39333270593662505445417A3952696C653670785447483262616C776F624A6E484872586A744B6E616858456C56564E30646773314D33785A69654B746C577366446E6669732B4D34482B3637754D7A59655232664B3763516D7A68746D556236342B4B616C48347A4458552B624C77334C366E665862354F764847634D4F666D6548346E6B2B53626B636E46656C4F646A616B773557314D46516C5357704F6E2F7039395574594B68395069766C31522F43616F535334596A366E457A484757314C5158674C45744B74506A573561506B326458614D417463594B5A3337684A766D7265355542556975695934464C2F77423170566A514B61315A626A706D76732F355170657639343533654D392B45357A6C4A767535486C654A326372697A4E4C584C5479323457747635766C7176467052706F3163396E66695944374A754F79385A48566439786F7472323542464456715A465A6C686B74466277414B4977315658784E613968696D53636D67555262567453346158727348366C6539785439442F6F7A7A53705567517630576B39796D3873583471414A53697538365852734C6C38484D71305377577758736A387936717576734B4E6D73766F4934734F475A666A50426574732B5834377858334C5073747131374D584531356D793143544D4936766B48462F4964454F4F575561564554785574394E6579646C356A492B536D6A5A657A38707267686177536F415549695572424B4A2F7778654C796B39575545305068362B2B2F57414F6A39427276314631374E71644A6B526D6C6E6C586B6F6773385372794F45466A5472572B6749447A363073396C5348574833304B7A534E7A724B737354617A3879574E63697775307A757A4E7430526754315A347634783859347147354834676372727A4F697A2F4150563053342F4F45797044466B7934396B424F2B3148304E6F466F36764C4A5273634E47546B634E4F6532326465346D6D557A71364F456A667A583849467455716E622F6A796D682F46656954305042757936713675526C362F4365754973666749446D596E646E4B3357583237394235627639746D42632F577166476B626A5342634C486977554D5669374A4C50762B6F69524863446D75432B6F7A6D5370486D37664C795866677979335A644C78346C4F646C4B3074584C3549624F4B32347A4F50476A4A6C354F71656E4863455A783972612B714E735047637A586B4267773670464D5774693148535559616B746E444F3743666C56646442536B4F2B69676561796F574B71416A466C2F4C4836727836746C384E73665474303062586E744A50473756694A79553432386C47313861786A5678717457476C69636F6F6C5A4B3563782B716645437969325973534B3769676B7A4C386C625262446D31374E66444C6E79525452666E754E58586D624376725363366368776E49727133614A526B516D544277357950724D354A757852765231765677624261394D55633774576A30526F615555467A6133646B533169376535516A6B576B4B416A7A61614369396771584865554E6D6655755A5A4571697A4B69457A416C493274616A3130446738594E723334624E3441596168574B314A72707150514D4C776D4B363051626B7A4C784B613344696376796E33776C782F793165513466354279334A63646269427A5638553866474E5A35344C7A2B4B3134542F7741795A38713649357559666B4E337944626B626A796D4D596F6367396D79304B2B32586B646D5830336B71643247563651396A68692F2F577A6973545544384C50306A7862382B5A3638544F4C6C643338394365494770716C61494C535375356C5869315748525658527A6C5152624C514E786172694F79684767363555464732496B7073444B42626F2F732F635638583544674E334B78796172387458644C6C346F754C5438626E794456486E62567258443859354747375046345A664357376B626174324932507331636A5A326F3947326D476834397A715A7870487861314C31627855396E78652B6561534C4D464C536C514A3243466E307661566C4A73456F2B726664322B6B4F624648393256644849664865546D704D474D364C5933325679742F76467442363563377975567759665951726A2B7456486E31765931544F67434D7A6156646532506930644C5445777A394D517141392B514250586C3050775070357046596757582F41466C4F437150352F774456674C65522F482F466A30435078305176382F514B2F7742427A6A6B79364E5131417A735A5664415A586458494261654971704136554F4E32322F6E2B526D2F47522F59586434446358664B7975646E776A4556395452476C344F44374A4F51542B535168597541422F77426D552B4A413637553966382F5661727358536967424C51536C466239554C4D676D2F774353663970314259447679566C412F4C64676E374E777761343349584E7972376F3235566B737A5646703130786C436C31714E417150524331537472715430587365614E33634554623831397A6D62557156685473677769704B61537073434B76626145632F6A784942684A6B37486636674D7848352F774356363748522B7056576C5634384D7A6D4545307547492F46432B6749732B2B67504A446E446B6638414D3244666A79422B6C34507043776A4B706956416930574D7A687033476A414756516739543735584F364D5741784E5670315765627A6C515643717977453452635976375553497475716E394B47685278352B47596C756D6272744E453744384B5144323336734F6A326A46442F50314E513977752F37416F3877726A734D684B55506B43414F6D38677652492F482F414748313668663446484630526C554F446C5245574158306C7A4A762F7741704A684E79676256707045656D424C41594A4265522F6133734370416474706855535038417238436852584E4E535374536577435157736F5A55586F2F7943472F412F5069442F42552F5862305A6B687070312F6D7A6B6B64425171794C426D62732F68534F67574A36386D37372F492B764669505542446866616F6C67477772624C567770504F6D5258586C4D6A34774C72345061534D514B44514776374730576979495A59422F65667975636B54325748377A59684248334C356B6A38304D7A4F4C416467737174526A54723864442B52313061775564535964757A53794B56582B586C4733756F6F49372F7741726841462F4866663436505948313955584E417379617647685243733863442B74417169692B6372714776423631344D4B7553767048496D624F4D4C425978486F596672584F6464677763522B4D36557661315A4D3642685755695031396A716A4E4A675748362F6B48775966736532384758383932585757555A3430524861415853515850554574596531514177386D37374237363843716767456B66546A5A374E7651757A4264345A6D654543446F583550535A6A6165695547716C584B4F68745761764C707338456D615456566B54574F4B425437524B3342566C524862787A37435974343238346E475974484762575852484A41355A5135516D7565364970635677446671686C57635A317053557973774657435A755044706E55644446776C655265664A34564F46744E573342386B3239304A73315539645A51576A6C6976716B5254715A736266734A73702B39446F455A5A6B614D74716A32393763313559365A6137514F37425751782B6147457071366E57744170544D43355862524D6E71635468313575634A71732F676376717575773558354963484A446B4F53314732673170624A545671624D452B32676455365A654D6F7457654769666361545753363554577038335439374F2F4677555868446A4D6F3963764A55755949366D637255766C544B313262776D636C6B576D657664427372656669536A424C76654D492F57634A6D6E336E727279644774316D2B3956582B42673666536E6F4E6A566746376E43662F41435771737A374B662B7A504C466F6D4A63337642724B474D5553317865746B514A545A557748715375433533682F6B6E424A7A66783679614F4F355464736B6D6D4F5A38353930642F4935745A6E4B7152354A4E656251546C7139556C657A7237336568636A366F363839632B31426F656E7378356339684270536A372F7A4952622F41427A5255563249642F454247515034414C30514F65644644376E4A356B4E70687237504A5052505468567949337A746136635765632B6B65634B637266746F794B555879304A4B58302F79556C746130765742786A50565A6C7134615A37366A6C735661343846713048586E3439633757777939322F75564555776B73426A713571436B5A52334C7045644171776E6F545177506E636F34473872414362366864527339627455556D6658555663744A575870697A5266396F46523542454242483562365458765A7248522B722B305438367A4B504D4A4D2F6A4D38614B4652514F46517738393835565430352F3879744C476D74464E2B3438384930733637416248776B53567566767355337A3049726B346B2B527A55354C6B4A306565334248487947615332507461584B795A59453334353072344B4B7A665132512B39764E706F445A31552F492F616E4A696E646D744F34704F7250325253306747556B58362F5A656A4A4650583456516750362F554F426F4D6C35396F3833364B6C4F46754D754C653545774C57657870646C315A61385145724A6E52696B774766314B78556E5059704764656E564C372B694D566E7742534474764661306E766B51763861356962612B51347A6C4E5673643354547866507479756369793677414C61702F77427A777374557A65784E7039683879617A634D50716A48496E4B344B352F54534D78706A352F2F542F51436B645756364D71566F7961434D7A334B6F464B3064507947437343483065334E57357A674E493573754F763676557236754C46396A687145366D4132305A67307A4C4C68617A4C67727A6C745662455551616D5438695256394A414E633677334F2F4A365A68797A344E30385747756E37724C6E7A683659732B544D4B56545137305A3651744F41435543555852514170537A732F313148687072444F394D696663497173394C2F73453276355252504253336C6E524B5054715156576153497168713973304632462F492F574F54637874624E3358504B786C4636477230576362707A56757479334752497A593451576757564C544C754242794C6A6A767232684E5361566E33766D4A75377A77767954682F6C2B54507965506D63664A356458747A77727838615968794C3564527A614A615962636D666265754C624F6D44553173677037496D53693555462B65577761506A6C394B4A6B575767736C57386F476A786B367156367644327743736746554374327173412F69776236496B32616661764C74306A6654666A31687873753539417863637436743764714D51354F43704B496F6F76354C2F64434D79356D72464A5478543371327871677559454A4D75483132466879453854675A4E764C364E4879446D4F524F39345A31776275523156793855654E314E465478456B784A5A564B49384E6B6446626530536D725A73725362794B58315465654A6F59475238386339507638414845562B35466C61716E54545471564F777242304D2B764A612B546679684B323331447A7957334E48472B7965562B78756A7847414367504536425236425A6B413877475A4E594D655967737347452F324532394F4D75756C6265555A57537A6C47344D72377473585A6554666A4E63745665516C714179375935302B31746F6F6F7A5936306A4F544931475133746D6C676437677A456132595569382F636772374F58496F3262374F6E467839733633444B3256644972654D366C3238553832456978556B6B4A333242305433794C2F616E794A7053444E6D51684A35614A316978755545306D433374394B57724E5A4543724B496E694768356F6F74704B4646425037743350534F44575246723650533138396A534B317A5A384F6D3138366A58473037504463427130445A6B323030497957666576466347396B6145754E71646C55504730624D4E456F6A38657452497A4230566E436A66627A656A39794534353635696C57636D6145767070525A36463172544F6D53644A3073434C6C5962307462736B75645176582B674742643870734D694959547244633049756C31745654357A6B3437584834624A67454D655348637347785544324646576C30647A66724959444F6D326552793376367375486262376A5878747447375254306E4A6650792B686E4776546A572F33504E7A48367A7A36484F582F41414E70785A42664C6E32317A67317A2F59306F4E4578336A75695A6B395379585052566278583768593030614E56307331394C3165307076525A656B4E49466B546F2F79434E7A2F6F4C484A4A4E317452504D4D7779705655326C7063733333444B68492F6E576F47664833696139656E63684A53694674376250444F31704F735841317769305757386371776E494851587147314D39615730583548564666453664466D5A672F57523246664F354C74582F414B707657575A5A32594B68615278305769614A475275794270793057646C4264652F46714A4F50696F37506450524A522B54363048362F55614A374A356F4761785A38792F70323476627A34344E632F426E6B6D746A6174354F764A72356658636D496F716C57626B56324464626D732B784F4B4A4E4E4C6C4A5877414953584852654A76573332493566544F39495A564F347968534F613176527372396E41736446774A33624F763353354736696D72546E523957697475342F5A706C4263577A4478375267594F4C5A58314B4A5565544F6B58545143664F305A3976534936492F78672F687935736C2B5647566A626E6B594F4F3239796F747346546345413038717A30537333777142787731726A755350704E5A58573258444B6D684977704F654B476B514C57642B71304D555A7A575A7553346E6B686C53584336755379745A6330467A36386D4B32564B6F7174577A7735476933787A54374D52706A6E6B30737A744E6E5A646D69586938464D2B7A506666766A71564E456A574D70556E423038774842616B6442516E736C75792F51444142562F43702F664C633046726452585A45573565707550454D6B6D76793543446E4257454B6A437936382F2F41455938357975327372354A7A5856783764584C72496556316637414D49686C34666A7A72334E6B6F46694A3965745830614B5A6B31474574463534365A4B74464C4E545856396C614A36336E6B764F4F686C59744468646C2F464B4F6A564C65627148416D507754315057364E344D36454B6F566D587A38652B7530426A663963725935304F685233514B4C576745303477383731326350472B384361776763594948774D5A53554E435379356C5466772B753032756B5965386A6B356359372B7268754B586C3975546D7345394864356164504374626D686C5259726F7A3465557476346A6A2B5A307466627836354D554D7054634E55784B72627A48425963574E3657553169346956466B6C56705A6D4C642B446662586E53385351435174616E79364A552B4950303231686E6D4557395344555974586C437A78776C39446E4D6141663055474A4C4D534E367A7479444F726F624B766A4B46632B43434A364E435449364D4B684A5757536A4D6C5379664B34622B476C6F7A63705A5772486673315974756A46692B326E7875694F546B37636A535732756268767471616C533065656E776A56616E516C646C7359664B59364C54792F51545A70686677784157674E5A6C66384147675A537139705164686B486B766B7042465139764661765A3757437332645156424D6961553546466C5455616D6A6847687653396A566344614A4A66456B565352535155755A5645426C555669446B5732557855527059306E71564B47626832387168353972656A736A2B4E5653696D6A493455754F32434E3050315030795350747973664A5737554B542F493838783962442F774354344479492F6E76382F6A2F68545644324344562F4E45573675796B323166456369746A305557746A643256645661356753534B505A476F327546787659524D57333346316634704F41756D5337496F53762B4E6D51437336667157566B444A525333694F77437242767970556464646E736A71316D387656634646596B357241674B48556E75585A42424473472F55667435734F6A2B65684F586C514A4F6F36386B594D4F596378754F493446594A4761387548392B566F64645A56734C376A3174705159773377724271375A436D574D724F6E457771364D6E374C64493742566678436C532F51432F6C69656A306E37646E7364674564413966566D564A434D2F79416954506B784C6553763548384B4F78312B333436495038414A2F3548304F5658796A62543230577733363072666C2B314D6E734B546A415378524C4234786C4F756B745A322B5271367674684E5248524F7A756F4B42494E58632F6D38314C4762654648575A55394267735A7637483976382F2B6F51554A42554F6F495839683339665566764B5871434A686D62782F3574526B4B4A5072722F73515648354B7333355058512B693068554A7A4E44323068454E524967336C546E5354624778655879777977716767616B59797136696B5A5A2F734C697971306136537345552B5A583658473871717A506433506B454273372B5A374964564B4B744351663558317346363636566A2F7752395664656D67614D474A4C326C6E554C3241732F2F6436356F65323848393078354879444D56554D434F69506744736D69773569505352454A5878536F71364F4B51545A46675947784C472F77543063696A70526E553749794B7564764F6E4553746F44456B4645336F4D6471546E534971536B337353314F767779686C5874696677415764564866386C67503559416C7373624E375169697470774156414F314661412B705146364C414657616E6965776973515141534A65796B57654D5674374C4B7039507073587278685A6A6650523337447156556F3231773579316D51634841697142635033422F61692B4D51366D59425A52754D71546D31484869703266705967456541692F344B7230563857667862763841355058585A50613664597076544D6A4E354C6D6F4B7A594832456D766D72465435446F6C50313858702B4F2B7A2B515479596C734D7563565876414A64474675414861475556316E5871672B696C44584D5667306568646A4F497A6379794934724D57366F774F71646C384C42625335335A624B794262497947315652524B316E6E6E724A4844576D7A6C6242446566636E5A6B70374A75384F6C536C4748797153744F6D6531717A685279525A56396A79722F414F3153504F66344A362F786B6F5741622F4B684138697135536C306F6B56676A49314A316B78745A7A4B70375A5A564D68585750626178505847736F6A536942646F7179775A5A6D2B367541725932343455686D4A6643646D2F4D5331724761534B2B755958545375623261323541786C6D5A576C4E796C4E4A7A786D3774585A47447172755858327157346E6B35546A6C543273746A3439515A485A354E4556765362545877556F76546C4337752F67735A7A5038416B44466D325263396572355A357474645670426132696B7A2B575A715778513537704D754278693173735776622F37706A52616D67416D686F6862782B70454D437032444C31433677557637484C786644547944446E58426D3052304A68793473635844614675314E326D6A30736D626A696133397776484962563167655756323745717336637676726330526E6672796C656E706566724E47524946342B4E485759556D61465150575A6C72416C53372B77486A483545654D744D3430776572796A6650342F5A73644B717A55646D3065346B3351334232686D334E4D2B34545A464545305A354D713156653554364770374A555144466A4969564970464557666E4F48343352374C4A624F32795737464B466652577534327574757336583135664C7237655478444D61534446765865697045327135744E35475656616764314873624F38615339534870566159735642506658736453796B66743065696B3944364672326832675A365A746B665058544A5874387579596379493137512F4E624D676F49354F31662F414B514550754167577957554544553836414254773847636832616F7A742F627A664B563969764270347463596C6D394D343347624B6F6553423345573963765A4B6A544D306561704955364B73446354426D7A70456C35706162426F7930585168364D6E52384A6663456B6E31734350466A327239424F6A34716B2F4A597953305564456553345A456E526238306446726669354A6C5153656B4D313456384C71713644794336783564447449614F614638574E3035703736774B6E587A6A2F7744367A523359657459312B33537253724B6870517555526A617A466E7065644A70344C2F6B38584577537036352F7A5A314430704D67717845702F7176544B56375A695742365873674172312F7A2B41666F6376783370695978697A7053475748544C59576A397A565657695743473342474330583274414C53684664514A6B4B684B673278596A424845686A52436F526D4B64664C7254584B6B2F476A34547139774A7836587A586731656B6D3036513036504C524B70547945765657566B634955743575703462646B6A61634B36466B394A426835452B353171532B637A5478496670614C2F6B436853354938514F6839644E614C3054584D6F57445050356B2F67426D4B63526F394162326F67336C413050736C55565047436D464C5934594336322B774A6477323371346B7274397734395676487035586661324C69382B486A593558577272786F30635A6867426F543766545478314C447A6A544F7152494D3164336F2B6E33305A57487A51754F4352313744585775704C6661746F6C4453396C6D47627869576757654B716C2F77414B53564D36394D416A654E6A2F414256486F30703430394D5A684E6930715774364B6B326A2F647A31555A707A732B307130704C4B68704D456F3233696538554B2F6B4343432B4573793131313837314C626C724F4E4F4732336C2B537A774A6B68785476796C363576764E72624E373056705470665866586E304856316B78547139632B6531394F6A486E7A61644D67504D6369503762484C4664474250655856466C6C55776C4357574E463833444C41576C4F586D396B7559563959394239775836592B2F38415279733778774258352F35326B5675387A66352F4D31614B41766D424E766D424635527A427A715646366130756F69796A516B6C31615A497745764B4B447573436D585A31674C356E346C6D54347A772F48636946354858506C3848796A4E79584B386C53484F594E412B517479687666426832556B73754B79366A78574A4B4B7449634E6E41305373636E6C6558684E7958317064767563666E67304975567070614F6C4D786C6E377A765373374F62504439336A6D304175534236694170643576347635536A79776E30476A4465714E306C32564E30395A536E6E34357345584C34495374465736426F532B754C4B7963334C6738793659415A36786845437552775336633675516B4C5852384670386750416648666C4E4E6E796A4F712F65635A666C4D43363844697561565676782F47614D6D32456732764E4D2F63676857303567573837524C483035446E477A705458687A35736A56455958474C6B70537337646C4A432B6F3267316A31304167567951656C3642483157356C346E76624E716D794D50517351413532417A35367579516D745235326C485766426A46776F6246714D435A6D46315A3143672B4B6849385A70756C52457273444275764A3543624A486A4F56303638517A636C45766E696B736E726A6F6659635A4C50484D624C62513153714F3562334937655A6F3566793748304D47705746726567556E375661366A4E325765514D31724E6A756345497653422F74704B7946535651394B5A725365655A377A4A6E6A38372F72336A7A4D34344E54652F3136746B3032366C5247646E3838386E524E77722F554271724C4744456F34414C465A6C76714B676777347242365930773549396E35663476674C77336350613146594B64584638394F6C4C55396C4A4D50734478627A522F664B694B747239653148694C423138685476707652316565725A4F746E385A5A57795A58382B6C444C344D75795A434B6E544D66442F5474764141644577326B6649384A7861512B772B513271756B6844464C2F385970445050627970766A757962444E6C572B544D6A2F51577751744E56597766635A6A37506B72765851764836565A774F6E6C3250794E34564F445A7875473931384479416A6C72544B74575A4C4F32334F735A30764F4E4D73315A444F657162457657586954646B4B566C5877764E725458736C624C7055564148696C546D6158715074413752627378583953796E794136664C504F50505079433948794E586D65497775626B4E736C416B4153505431597274776C574E35475755485947436C784D306C696C584557795270655130727747736D364C6B4F345A2B77444F387238543474754D33316E794F2F692B517A4A536263666F2B57635666526A3851665A5452786D623464695847656C616950586C2F51303246425A3246704A504C5A6F79364977704D5564335874343858705A5871514345462F3776537A6A6F2F67547A6C7568312B7944794E567654556C6444357242696D4A424C47623343486739477537656C6E4F6F43323036516C3479325571367568334479713746634A4F327334746A32676571797165544A79656A4644457643636F6A50757A766F5373647865503347485A7A6D5559387570646D34444C5A742F48637270724E755665573573686872536D474E596B4E4B426231396B374C344F716C57516F564E5556696632503766383964442F6A722F414A4852586D356866754B393477734742544E7A624170754B374C4C464B7255755342795371774C3735534C375354442F594C2B412F4647746A32346736776D7567716E2F69707A6474326538654D6565376E4E756E6A4C4A794363576D6D727679716648754B314E4456727835706165506E79322F6B3976782F5634434E7450477A303865362F6663744F6D69744C785035436F6738756B4256664D6F7A6856616A442F6277485954792F34596A3664656A54724E566D4D327A454A543233716238576136484D5756316A30695065476F53545A4245646E4E74516B4746736749505A644E4D5833684B2B6175612F6E52475346775079486C7547333870777335386B324779664B7134786C357A6D4B365037707771366558347A4930384E6D79635870357A376D326662727963586A35584E675A39754C6B4259616448314D386A534B57556F43724953517669335647587A36364A374937416E324434722B41423330617437764A784862386967744A754B5A6E667766367A6961454152674F79716B47425865507949314338716D4D6835516F747563766C4E3834794F496751505353426F68342B7561534E73546A6171734E64524468466C5661506754766B4534756B36333138686852304F544E75744659302B784E6D6F30354B7A637733566B31446D2F486A3474344542765A346B6B41416E6F4F3358376679472F68767833394967685A59726D77447642462B59697465554758515A33734F667452432B5549586A6634417376747176684A674D52514D66417969496C526768596853786A6156533035687663477A7334417573786270476563362F3436566E544B7A41484F363162327A61624878566942302B74664B6C5A654B4A52432B6A4F72457A4A43655643794E324134364A2F514149362B512F6766556C6571436C6D30624332303236316D5A5841696B7569644E595634707074664A4C3750767A724F67516849452B573634634F2B4A4E4D783455573056566D6B64437230576C682B50576149656A30475A49436A6E6F486F4271466C38522B4F7568306638416A2B5A6B686434414149595A4C4B542B7863614C316D46495034486A4F616B45646B6B6E79372B6851612F2F414742674A41573051497371556A4F3332475642696A394D734870706A79795664513076686E2F68654E524F36454B6F2F77417A344B6F786F35794571703631636E7963307053592F77434F676C58514B50782B416648792F77446773542F4858313376734377485956454B79542F73415564724D772F354C4B4655487674662F61652F7275594D4F5669456930512F78466A4D466C486B652F487969696B492F7744594B766B7052374C2F41424E6A665554524F75717555313958363258776C564B326936504E6D6D775872792F42422F496D522B5650663437424C642F3866555535707162447155396D4372485170506241794D575371642F67672B70464A50665442682F3237675158643052795A422F574D4A6C45793646426446462F4F634E444F556C3130446B7776684D345663646151734D47713463764F7170614C72686D4B2B427773326E775375536A4B47676F564B416A3864683432422F6A2B65346748763841674D652B76342B69755832556E746B6A4D4E485972465662787051535379306E4D3967686A4B7A4F762F486B6F483137576B4556724C614B72706C4B6A65676B3352483557504C7038722F316E3961712F6B4F576B446B38364C615458436D3838657179325A2F314C6834783538625455547A5761614479716B4859746E412F4242414A4A5479412F6278627469462F2F4836674E383139486C74684E712B4254376D612B4772316E727A4C4D423151722B50487941385357362F325052554A2F566D7236327176476278504C3552584F767464724330646A4F77746B545A38354E7A41486B796C2F4272355268795061626D6349455633386C5A5A336D3171786E4B6B326C5A533069724564725252332F4950384545662F7743752F77447455316363306A66556A70584E34705531587677496F78576245663841424C41673964666A386E2B506F33784B43316D58784171303639626355764A63722B4E71323179363734466C5043346457717A775236476345354C7655716D5239773453744C51774B752B4967676A3630733834313761522B344F645444376C775853615772507A44423370574B414F765149386A2B4648366B6A735746307650686C643570663136486A357561646F4F6C64544E6C6C5A3043554C425355483675774A4866695756516F4F52484A58344770796F745334456765386D334A756572796F5757443232784F686E76514E455458794C47644E3476516971515468464832496852576370424B765478536C56627279484841476B715367757248724F554A4E556E4A704A43717A6D523358304B376C744E645633656C7275374254766254376F5579776433444D354F7231686D39726F3765544C507075783331344B33354A4B676A782B75582F414744654D47457147586F6D624E7662467953544773777348676367435749626F6C63614D66352F6F67597079476B513242413174354E4E354D5A4D62366A722B5857317345643630712B61764A63524E74434262613334534A317A55666B684C4C6B476A504E514366484E6149552F757A4F6E6B6A66667457486F4D706876536F3955473567305253333867357875496638416B396557623966392B6C38665950347457354844343573496B2F68764E4B7A7030576176304756457A59684B753958726A6236486778374552557872577438626C4A52446A66785563654E703445437746704934504A634D3076795843624E46466242786D712B747A6F6C563538686E7863527279536C587A7250395365597673556F386E576E48533868523449724E57665A396C6932794D352B7A5A444E6C597A5648706C3874536133614E4F6A344F37346336457233334A717A4A367451462B7367635036675732626A496D4354796C6F4B45387257662F6C616249476C59767275766C643032345668715034307855792B5A356B79486D6D303558663247364D326D7556766975546B2F6A3345797761655262546F342F4A70545876676A344279417A5531557579724A36736936644636347370562F435667693061556B6E5577636A644C615661655A545A68436373305645314F6E53526E787A426274564C313730336F3359584E4451782F594C3942745868506C68696B37554772644D58416B6832564A52586F6D3145536A71476664467071785269626D6268624653754D5235626C726A52506A376D4C797A52486B2F4B4C4C3744704C6B4E45637A5330577066796F3148677431317941444E59726D526733707A555373567A684750556D72566D616B724F31576C4A614E476165664C6E6161793073327751746E386F496A5A5936505A4B382B7162725331625972342B32436E504574314C3851655538472F324E69586E7650374877326D564A4B4F3530686172633967363056686436725A78614F6A343349465943612F4F6C352B5656725346444B3045394B595059534E5230546A4458666C704464446B6153325730516A61656744516A51554D704D6F793837776355614E414A354C52303055546F7049486861766F79576B6374384F643565707174544C464A3157396646707976517161625A4E41766D4461337464592B436D7A2B4B6447493252395658336E6A4643655A65634F693079514B38347656752B6C58357159625233616143695131796978536C4C364F364B7A706A59772F736C39773546356C563441636441305535546E5866623631394732314471537965636263686973706861656E654E5768593854584A79754C695578615A38527876435A2B596E544C704847636D37704B63586A6B5A546F4E466A4668536139356F416B314E574C6D63555A3259424A2B5949724A554871704D306679474D643642594A6A526368494630385A66745351637A4A723477705967616F51335170482F42656C695778445972725639794B45676F7A3751557143454C48752B6E4F6B743857354162396E4534316C665465657A467462374E396566663939676E546A31354C52574F325A307978344C5A6379346F636A4B476964644D5634612B6A567276656C794843546C757679413070496151495254775477424867306F53526B614D6E5363714E4F7335537437475A785257592F556A6B6654643671615A337A77543042706C734873562B6879546A4F5A54505A6F6F44754E6544756C4C62764B486934774C684D5878487748533671574555307A465930775346425274374A7A7566683972573376686878466C3361657776464A7869613838317A356A584A704E4830566A6E76417731306771536E735A4A4D6B4E65612B6552484B6A724E6A3158577942586D317248546F6E6444357A6B786D454941514E516558732F4B67656658616D65422F4837444A3331476E74393331536C386E3543437130314773563948354F6E6F644D4259556D5A364167354642784551526870534674462B5355715A55455146733650466D7A7A5963744C537338787A4C4E4B32304E484B384B5141564C466C6C5030554D765A4179644379724D6F6A4D70674F2B6A6F596A696D39596F664E6A324F6E442B5861457343727177374148384479422F6E366B2F5739457A4C532B64507274486C396F355755573542665141307835532B536C4C33676F523031475A6A56517551305376374B7879556D5758484C79357A43756B41316E4B33496F2F4675412B456838664379305A65507479572F6C394357466E77523137647874702B31313633755A7773374D6B755079744C506B566B6D6B30587A38795674642B5275327A6B6142524C4E43515A434571597A364D6F563961714F7045443849716A762F4A51505A76615548647357496A38645A764A617659724362354B55644E6D707A654453317252682B435757467264436932764C4639414A63594C322B69765533536C327363773576557249704C47353265577A52666A58686D686154704A44526C354A586A52696F7079546367743572436C4B6478686B544B707457535739676F7462366947764D6F52795044387130344D4851642F367156364238782B74435157594F354A4448384E414452796250636D702B674D566E4D30306F6E6B4D6B39596148594541697634517264756B694B682F6C504945797978765A53573166364B2B4C4D787730465570467274496F70526863374E393866486174634E646D70782B54524B6D3277395344523672574F5831353435784A6C42577561614C73386B6678695971794C4B584E6E68526B7A744766685635426F704266476E6B792F765356765948505A382B6D414162382F723050717839582F6A753931327248566157375A2B6347434978337A413052767176514372574E5366355838684F2F647937614D493973553363726E4779767430377566633566565A32464B6166366C63556138654D504738686B6F79536C66616C4D69625A75636473387277744A4550746C2F6B5A476C396D387056766E7A76466456334C52663431755931616D724F35536C6648796651336B574A632B7A7956752F2B77492F50386B67392F6931655A2F3841485437673058304D6C642F674F6449315762566967696A4750696F46506861376D687A7877786F3873556B4330465257475864546A697442696144345A396E61654D4E7878596A74756E6A47584678577A3542446838504E3872767A3557356E624765642B5434322B565A354D4F4F38703548793539676E485848594E456E7A53305A767433643048612F467456704E56744756413030526B535A2F4C4A324135645A7A4A37424938534350342F4A2F34723770507845332B625A3664795070736E584A457A315149393879586A4569324B6263356E795A7958326931534643717954467143315730534B49744A4168654F637870767068307658726331583439384C33664936386278664A5A676E434F2B4E63326669334C6A4C38702B575A764535636C633651433850797645624D55495A386D6A4A71796E4E4C4242577778576458445653375A317369766D6479376475566F526F7A5A536F42414B41696F7035646B677155385344356778786E34462B7A2B6756633163746A35367345555A375061307A344732702B353966734F73506F44436636723059766C6C4E5A4B3739546A49387048766C5A473232552B56306F4B2F503437634A48453851617A61584A61694F59314B4B2F32336C4254506B7A6938632B717161494630315770466F7637554D6F335548332F52576678545771466D315A77716C434376744C4E2B523043436967412B5037667366352F4150315372333338614E586A6F5836306C766D6942576531634C6D3949397A4755704D6851696E7A416F63416C523855344656514B49375A4E6C5238683134343042517877596C4547666A6679413868773244505A6167347359796869456F7A5368542B3351426F706761656C4D794A494F6738454E6E6F317257566F55746E45577831465761424E6A592B4D3264564937396E546B7A486D475767566C3636494444766F392F56532F50786A652B6A6849744A554C6F786C374E756C4856476C45667A4973575656693857324A4651744A6C53305A3662426E594E43767637382B325247754A786C396B7A326A6C497A77765246716F655A71716855506A354B4736374E423266795365756832534F756953596E342B2B68515130565A586E4C7679636636585A5156416E2B716A73425637627856514F7A2F7835616E793173675A7636526D5964412B644F716F58445533485368436A51424C39557559527437585462537A5779757A415078393652543055592B6E6C396B52517046566C2B533541716E77314F53697454796C494173436B7567426F494949364A37412F774333582F5030562F734F6E5373614F2B587339457035554B6C5046356C536655435351784A5051372F6A72366D376650482B6C305368654E626E4144737A6B79474447796973735155376D4F4149734F4B2F36526262533242314B366F336E32496A6A46735A6369584371757670466C5333797243736A52733273697477696A2F436641757A4F4F75332F7742522F485150386B6E3866556D443472746A57796A546D43466579674E6950487950536A75592F77425343663841352F672F6E3867434338705A6B4475697247777455317134307969592F4C59337A4C34434B627A76625A55642B474978423146316336345336524769326A74516E7A51767036743873784651446E3039414944334F4A4A3736482F38662B4F7A2F482F2F4142754C38563545744B6B37343038714E346E325838314B6E70572F47666F666A7673442B4F2F3549412B6A66572B566A70333759484D4E3775786F5949684A6E73615A686B46486373634E2B4E715252796D55466B34713039593877356C742B334778723555634544436D6B6172503566675363532B6659774D793441575036673964494F372F414A483866742B502F774333386E75793377336B6275376A5268446F77593974634B664D6E7942555149505A5665696639656A2B44333050344E3535702B466B71494E6C5931714C76614169612B6C5864734A6F7662334231546A30556546495938414C65386C32425038416E3961785A4354474A6E77576B6E7A4469546F612F774272764C6D665149584F7055725077373747672B5866382F6E7272382F7A2F4974562B4A3874546A4A3542707769494C462F4B6D67732F644177375032352F436B6E6F646E2B502F32446F542B4E743056394871583965744D465A366F367843696E4D7457495767584F4D756A5476474E34724D56656F347058324461425A4657576C6D48614F52536254576F42487245736C62346E357A785358625465504A6F30786E56526E6E6D4A3841614D6632625650706979686A2B702F503146742B43386848476D4364654D724D47684C615075535063584A4C6961792F494862414B61644548766F482B4743673634314E4A73584F7A394D6543573976466D4F6636546F49516B556C726158777676714F7130464A4E49793971634750542B6C457979434C696A727671586C4C43576D6E7A764236536732664A2F39454B744A736B43336658586D667537762F7A2B794C54774A3650514948532B7639502B5A69664A6A3864634F6567795476467569437737384D666D7836424238724E33332B336B663248474D7136463376526547334C617834336A674E7A38712B7172734A4E4D7646716E546F504E5734566C4537712F6B4F2F794A79306767635973695A743337526A45666E664669697830636A38774B4E3471424E734C414665714B66323249784159412F372F414A362F50342F58363748774C6C6171576E2F597735516B6B3035464741492F49444C4A782B562F422F786A384872722F6E36416464356A5152746D577048535A704278706E6D4C4570536F746C6171586C6C667A5262624541567149622B50307563374C437068584432777174764147737256465872705236506E504556762F68586D4C4C59546B673253792B774E482F497A745365352B677A676A78436B654851502F494A4166422B566E6A5150586A4A744E6C667A6C6F3230386C596742536C4D794C3269742B704A50354149386576707457666A6D74597676414D6B4670644A7A6E7147573273644D794A656D52763470774F53564F6B61345375796C6A336759366668536D433232365156634A435631664430586863712B7235506B75686F2F47347675415843557078484836505A6D542F314A33597645753555425A73513369503969782F50314D764362352B614E7946337A7936377A7074764766735251555A56456E5542612F35435048742F79704B392B58314A6E2B4E366A4A2B6937584C51314C485177544973436453497930397767374D335236624E3575396F364D7479547759357149485142614152666E6268616A313638356B45366D485A536277337A4C45337062546B4E584B6D616C654F347842474B7368684F49413656592B505244412B31543473796741437533783358534C4E50544B58536F435139667A3630632B50697331376E354F536B2F496543425A426A34682F6F7055656B31697377566D6538567A6F61656B46656E70436E374C705235434B5831524D79676B7433504C7A356F2B7355797269396756583038697668544B4E4572626E6A38396D3538527A454B5168716A546C5A555346337A4D7238524F6556304851704C4F6E456B75386B705A73744E4F6E52624A704B6163316F756844697166483951485874794838394F4375672B5A436867652F50736679507830522F492F6A386D532F494279532B38784B4F7677364A4862443436376D412B3730727473564C5562444133754B69374B4D2F6B6743422F6F70554143326D4949345377664E6F4942727162567442556539484F353876476164443665517159354D2B55545846782B64577A4E396E4B4F565778317A4757624D637275732B7174583772556A3044624E74744D4F62677446724C342F5A4953584959477849655346764C706B494A6238674146664838487476705565752F37676A72533967556D346A773269332F6E6D65674C56456476484755317374666B365437654B2B7179446B61444B686F7871713131495373344E6133577836574E4336716A782F7741366E6C7439336C585A6E72526B6C594C2B5A58574649616373724A6E3259744C34303378585670785432786A756E336B312B32444D476D6634705779566D37355848684B70444768487361644135482B4C3865586D762F482F414C4F7575695047766D6C4D4D3554566E694372754A74694D682F6C32695142704E4672597471744762786A57514158443943587378575A554678513745737065737374656369766856656335503535683279334C486A3957615772516D6E524D316A553030495642306F3457586F7261636B467077536555737147554A546E4B61525A50696C344F6A2F63796377526B684D417A6B4A737636436757524E476B504A4A73535047624665767A39466D36385A312B42584C394E623648716A535354562F4C49513254614E3352656830463138724F70556746314730527647364F5264595A525264567958314C4F30317A736A6E38747452377050547A45637378517245636A5A304E566431566A4930565548676A2F3655437035654B7A49364B386E685641452F484B6167647344456548537153784473485A6D38756742366C37424A4C44727850653838633265535763307A6A596465493556443069515A73474C3532445353387451386A5A466B474F705952417634536344564F6B5165466B75536A56544F2B7A34685935562B5934752F4A4D3136426131525A617165776F385A73355A61667632727343504572324230537A483866583356786135644359335344454C352B79532B48514B6C694150483866782F4838456B2F774144726F6B43383066585258744233565336444972522F5370425A3651652B4B31492B425830326C4869734254494F694B6A5267373241743379314251732B6E634E5A5146476D4C6970313061494B7151616372474C536F316F7066384177524C69787A4D6C66555264763853565573792B544F42526C555072557853596A2F6A4C736A6533794C504C39704143616549422F6477784A646678324F757A33395846782F6979743858356D2B654A38316F51462B31793452466C30326D6263326D753362496171714D387A3951592B734E6A6D792B4C58656A6B2B5A6F616A724779775754497136696C5A2B5363726B34343835785049543137615A755030413657615676626F474C6A34787236626A37574D455775497444506C6C5930342B5644745A4B587A3150634A7874577478746F585552315657336F716F5A566D744E515A437756714D376E4B77386C704F5957674C52646C4A502F32513D3D227D7D5D7D5D2C226E616D65223A226D61726D616C6164652E6C65646765722E7472616E73666572227D5D7D5D2C226D657461223A7B226372656174696F6E54696D65223A313633343030393231342C2274746C223A32383830302C226761734C696D6974223A3630302C22636861696E4964223A2230222C226761735072696365223A312E30652D352C2273656E646572223A2238333933346330663962303035663337386261333532306639646561393532666230613930653561613336663162356666383337643962333063343731373930227D2C226E6F6E6365223A225C22323032312D31302D31325430333A32373A35332E3730305A5C22227D", + "output": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: marmalade.ledger.transfer, args cannot be displayed on Ledger", + "6 | On Chain : 0", + "7 | Using Gas : at most 600 at price 1.0e-5", + "8 | WARNING : Transaction too large for Ledger to display. PROCEED WITH GREAT CAUTION. Do you want to continue?", + "9 | Transaction hash : TX4rKze978k7T-MAzSJfTTHy1WCwAK8yi4RhZfAQzQE", + "10 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ], + "output_expert": [ + "0 | Signing : Transaction", + "1 | On Network : mainnet01", + "2 | Requiring : Capabilities", + "3 | Of Key : 83934c0f9b005f378ba3520f9dea952fb0a90e5aa36f1b5ff837d9b30c471790", + "4 | Paying Gas : ", + "5 | Unknown Capability 1 : name: marmalade.ledger.transfer, args cannot be displayed on Ledger", + "6 | On Chain : 0", + "7 | Using Gas : at most 600 at price 1.0e-5", + "8 | WARNING : Transaction too large for Ledger to display. PROCEED WITH GREAT CAUTION. Do you want to continue?", + "9 | Transaction hash : TX4rKze978k7T-MAzSJfTTHy1WCwAK8yi4RhZfAQzQE", + "10 | Sign for Address : 8d5d63bb1071a8dfc5c09ac96cfa50341a74eb91b6ea9ee5724cde09ef758bf2" + ] } -] - +] \ No newline at end of file