diff --git a/Makefile b/Makefile index 0938515..8020734 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,8 @@ DISTRO = $(shell uname) CURRENT_TAG =$(shell git describe --abbrev=0 --tags) GO = GO111MODULE=on go +GREEN=\033[0;32m +NC=\033[0m ifndef (${TAG}) TAG = latest @@ -26,6 +28,7 @@ fabric1.4: @packr2 mkdir -p build $(GO) build -o build/fabric-client-1.4 ./*.go + @printf "${GREEN}Build fabric-client-1.4 successfully!${NC}\n" ## make build-docker: docker build the project build-docker: @@ -41,4 +44,15 @@ release-binary: ## make linter: Run golanci-lint linter: - golangci-lint run \ No newline at end of file + golangci-lint run + + +contract-zip: + @rm -rf tmp && mkdir tmp && cd tmp && unzip -q ../example/contracts.zip + @cd example/contracts/src/broker && cp -r ../../../../tmp/contracts/src/broker/vendor ./ + @cd example/contracts/src/data_swapper && cp -r ../../../../tmp/contracts/src/data_swapper/vendor ./ + @cd example/contracts/src/transfer && cp -r ../../../../tmp/contracts/src/transfer/vendor ./ + @cd example/contracts/src/transaction && cp -r ../../../../tmp/contracts/src/transaction/vendor ./ + @rm -rf tmp example/contracts.zip + @cd example && zip -r -q contracts.zip contracts + @printf "${GREEN}Build contracts.zip successfully!${NC}\n" diff --git a/client.go b/client.go index dab96f3..b28c297 100755 --- a/client.go +++ b/client.go @@ -1,10 +1,9 @@ package main import ( - "encoding/binary" + "bytes" "encoding/json" "fmt" - "github.com/meshplus/bitxhub-core/agency" "os" "strconv" "strings" @@ -21,6 +20,7 @@ import ( "github.com/hyperledger/fabric-sdk-go/pkg/client/ledger" "github.com/hyperledger/fabric-sdk-go/pkg/common/providers/fab" "github.com/hyperledger/fabric/common/util" + "github.com/meshplus/bitxhub-core/agency" "github.com/meshplus/bitxhub-model/pb" ) @@ -47,6 +47,7 @@ const ( InvokeInterchainMethod = "invokeInterchain" InvokeInterchainsMethod = "invokeInterchains" InvokeReceiptMethod = "invokeReceipt" + InvokeReceiptsMethod = "invokeReceipts" InvokeIndexUpdateMethod = "invokeIndexUpdate" InvokeGetDirectTransactionMetaMethod = "getDirectTransactionMeta" InvokerGetAppchainInfoMethod = "getAppchainInfo" @@ -339,8 +340,39 @@ func (c *Client) GetIBTPCh() chan *pb.IBTP { return c.eventC } -func (c *Client) SubmitReceiptBatch(to []string, index []uint64, serviceID []string, ibtpType []pb.IBTP_Type, result []*pb.Result, proof []*pb.BxhProof) (*pb.SubmitIBTPResponse, error) { - panic("implement me") +func (c *Client) SubmitReceiptBatch(to []string, index []uint64, serviceID []string, ibtpTypes []pb.IBTP_Type, batchResult []*pb.Result, proofs []*pb.BxhProof) (*pb.SubmitIBTPResponse, error) { + ret := &pb.SubmitIBTPResponse{Status: true} + batchResults := make([][][][]byte, 0) + batchMultiStatus := make([][]bool, 0) + for _, result := range batchResult { + var results [][][]byte + for _, s := range result.Data { + results = append(results, s.Data) + } + batchMultiStatus = append(batchMultiStatus, result.MultiStatus) + batchResults = append(batchResults, results) + } + ibtpTyps := make([]uint64, 0) + for _, ibtpType := range ibtpTypes { + ibtpTyps = append(ibtpTyps, uint64(ibtpType)) + } + + batchTxStatus := make([]uint64, 0) + multiSigns := make([][][]byte, 0) + for _, proof := range proofs { + batchTxStatus = append(batchTxStatus, uint64(proof.TxStatus)) + multiSigns = append(multiSigns, proof.MultiSign) + } + + _, resp, err := c.InvokeReceipts(serviceID, to, index, ibtpTyps, batchResults, batchMultiStatus, batchTxStatus, multiSigns) + if err != nil { + ret.Status = false + ret.Message = fmt.Sprintf("invoke receipt for ibtp to call: %s", err) + return ret, nil + } + ret.Status = resp.OK + ret.Message = resp.Message + return ret, nil } func (c *Client) SubmitIBTPBatch(from []string, index []uint64, serviceID []string, ibtpType []pb.IBTP_Type, content []*pb.Content, proof []*pb.BxhProof, isEncrypted []bool) (*pb.SubmitIBTPResponse, error) { @@ -354,13 +386,13 @@ func (c *Client) SubmitIBTPBatch(from []string, index []uint64, serviceID []stri ) for idx, ct := range content { callFunc = append(callFunc, ct.Func) - args = append(args, ct.Args[1:]) + args = append(args, ct.Args) typ = append(typ, uint64(ibtpType[idx])) txStatus = append(txStatus, uint64(proof[idx].TxStatus)) sign = append(sign, proof[idx].MultiSign) } - _, resp, err := c.InvokeInterchains(from, index, serviceID, typ, callFunc, args, txStatus, sign, isEncrypted) + _, resp, err := c.InvokeInterchains(from, serviceID, index, typ, callFunc, args, txStatus, sign, isEncrypted) if err != nil { ret.Status = false ret.Message = fmt.Sprintf("invoke interchains failed: %s", err.Error()) @@ -375,12 +407,7 @@ func (c *Client) SubmitIBTPBatch(from []string, index []uint64, serviceID []stri func (c *Client) SubmitIBTP(from string, index uint64, serviceID string, ibtpType pb.IBTP_Type, content *pb.Content, proof *pb.BxhProof, isEncrypted bool) (*pb.SubmitIBTPResponse, error) { ret := &pb.SubmitIBTPResponse{Status: true} - typ := int64(binary.BigEndian.Uint64(content.Args[0])) - if typ == int64(pb.IBTP_Multi) { - return ret, fmt.Errorf("multi IBTP is not supported yet") - } - - _, resp, err := c.InvokeInterchain(from, index, serviceID, uint64(ibtpType), content.Func, content.Args[1:], uint64(proof.TxStatus), proof.MultiSign, isEncrypted) + _, resp, err := c.InvokeInterchain(from, index, serviceID, uint64(ibtpType), content.Func, content.Args, uint64(proof.TxStatus), proof.MultiSign, isEncrypted) if err != nil { ret.Status = false ret.Message = fmt.Sprintf("invoke interchain foribtp to call %s: %s", content.Func, err) @@ -408,22 +435,15 @@ func (c *Client) SubmitIBTP(from string, index uint64, serviceID string, ibtpTyp func (c *Client) SubmitReceipt(to string, index uint64, serviceID string, ibtpType pb.IBTP_Type, result *pb.Result, proof *pb.BxhProof) (*pb.SubmitIBTPResponse, error) { ret := &pb.SubmitIBTPResponse{Status: true} - var results [][][]byte + results := make([][][]byte, 0) for _, s := range result.Data { results = append(results, s.Data) } - if len(result.MultiStatus) > 1 || (len(result.MultiStatus) == 0 && proof.TxStatus != pb.TransactionStatus_BEGIN) { - return ret, fmt.Errorf("multi IBTP is not supported yet") - } - var err error var resp *Response - if len(results) != 0 { - _, resp, err = c.InvokeReceipt(serviceID, to, index, uint64(ibtpType), results[0], uint64(proof.TxStatus), proof.MultiSign) - } else { - _, resp, err = c.InvokeReceipt(serviceID, to, index, uint64(ibtpType), make([][]byte, 0), uint64(proof.TxStatus), proof.MultiSign) - } + _, resp, err = c.InvokeReceipt(serviceID, to, index, uint64(ibtpType), results, result.MultiStatus, uint64(proof.TxStatus), proof.MultiSign) + if err != nil { ret.Status = false ret.Message = fmt.Sprintf("invoke receipt for ibtp to call: %s", err) @@ -457,7 +477,7 @@ func (c *Client) GetDirectTransactionMeta(IBTPid string) (uint64, uint64, uint64 } -func (c *Client) InvokeInterchains(srcFullID []string, index []uint64, destAddr []string, reqType []uint64, callFunc []string, callArgs [][][]byte, txStatus []uint64, multiSign [][][]byte, encrypt []bool) (*channel.Response, *Response, error) { +func (c *Client) InvokeInterchains(srcFullID []string, destAddr []string, index []uint64, reqType []uint64, callFunc []string, callArgs [][][]byte, txStatus []uint64, multiSign [][][]byte, encrypt []bool) (*channel.Response, *Response, error) { srcFullIDBytes, err := json.Marshal(srcFullID) if err != nil { return nil, nil, err @@ -495,7 +515,8 @@ func (c *Client) InvokeInterchains(srcFullID []string, index []uint64, destAddr return nil, nil, err } - args := util.ToChaincodeArgs(string(srcFullIDBytes), string(indexBytes), string(destAddrBytes), string(reqTypeBytes), string(callFuncBytes), + // 0: srcFullID, 1: targetCID, 2: index, 3: typ, 4: callFunc, 5: callArgs, 6: txStatus, 7: signature, 8: isEncrypted + args := util.ToChaincodeArgs(string(srcFullIDBytes), string(destAddrBytes), string(indexBytes), string(reqTypeBytes), string(callFuncBytes), string(callArgsBytes), string(txStatusBytes), string(multiSignBytes), string(encryptBytes)) request := channel.Request{ @@ -585,8 +606,8 @@ func (c *Client) InvokeInterchain(srcFullID string, index uint64, destAddr strin return &res, response, nil } -func (c *Client) InvokeReceipt(srcAddr string, dstFullID string, index uint64, reqType uint64, result [][]byte, txStatus uint64, multiSign [][]byte) (*channel.Response, *Response, error) { - resultBytes, err := json.Marshal(result) +func (c *Client) InvokeReceipt(srcAddr string, dstFullID string, index uint64, reqType uint64, results [][][]byte, multiStatus []bool, txStatus uint64, multiSign [][]byte) (*channel.Response, *Response, error) { + resultsBytes, err := json.Marshal(results) if err != nil { return nil, nil, err } @@ -594,8 +615,18 @@ func (c *Client) InvokeReceipt(srcAddr string, dstFullID string, index uint64, r if err != nil { return nil, nil, err } + multiStatusBytes, err := json.Marshal(multiStatus) + if err != nil { + return nil, nil, err + } + result := make([][]byte, len(results)) + for i := 0; i < len(results); i++ { + result[i] = bytes.Join(results[i], []byte(",")) + } - args := util.ToChaincodeArgs(srcAddr, dstFullID, strconv.FormatUint(index, 10), strconv.FormatUint(reqType, 10), string(resultBytes), strconv.FormatUint(txStatus, 10), string(multiSignBytes)) + logger.Info("invoke receipt", "srcAddr", srcAddr, "dstFullID", dstFullID, "index", index, "reqType", reqType, "result", string(bytes.Join(result, []byte(","))), "multiStatus", multiStatus, "txStatus", txStatus, "multiSign", string(multiSignBytes)) + + args := util.ToChaincodeArgs(srcAddr, dstFullID, strconv.FormatUint(index, 10), strconv.FormatUint(reqType, 10), string(resultsBytes), string(multiStatusBytes), strconv.FormatUint(txStatus, 10), string(multiSignBytes)) request := channel.Request{ ChaincodeID: c.meta.CCID, @@ -634,6 +665,83 @@ func (c *Client) InvokeReceipt(srcAddr string, dstFullID string, index uint64, r return &res, response, nil } +// InvokeReceipts call invokeReceipt multiple times +func (c *Client) InvokeReceipts(srcAddrs []string, destFullIDs []string, indexs []uint64, reqTypes []uint64, + batchResults [][][][]byte, batchMultiStatus [][]bool, batchTxStatus []uint64, multiSigns [][][]byte) (*channel.Response, *Response, error) { + srcAddrsBytes, err := json.Marshal(srcAddrs) + if err != nil { + return nil, nil, err + } + destFullIDsBytes, err := json.Marshal(destFullIDs) + if err != nil { + return nil, nil, err + } + + indexsBytes, err := json.Marshal(indexs) + if err != nil { + return nil, nil, err + } + reqTypesBytes, err := json.Marshal(reqTypes) + if err != nil { + return nil, nil, err + } + + batchResultsBytes, err := json.Marshal(batchResults) + if err != nil { + return nil, nil, err + } + batchMultiStatusBytes, err := json.Marshal(batchMultiStatus) + if err != nil { + return nil, nil, err + } + batchTxStatusBytes, err := json.Marshal(batchTxStatus) + if err != nil { + return nil, nil, err + } + multiSignsBytes, err := json.Marshal(multiSigns) + if err != nil { + return nil, nil, err + } + // args:srcFullIDs, dstFullIDs, indexs, typs, results, multiStatuss, multiTxStatus, multiSignatures + args := util.ToChaincodeArgs(string(srcAddrsBytes), string(destFullIDsBytes), string(indexsBytes), string(reqTypesBytes), string(batchResultsBytes), string(batchMultiStatusBytes), string(batchTxStatusBytes), string(multiSignsBytes)) + + request := channel.Request{ + ChaincodeID: c.meta.CCID, + Fcn: InvokeReceiptsMethod, + Args: args, + } + + // retry executing + var res channel.Response + if err := retry.Retry(func(attempt uint) error { + res, err = c.consumer.ChannelClient.Execute(request) + if err != nil { + if strings.Contains(err.Error(), "Chaincode status Code: (500)") { + res.ChaincodeStatus = shim.ERROR + logger.Error("execute request failed", "err", err.Error()) + return nil + } + return fmt.Errorf("execute request: %w", err) + } + + return nil + }, strategy.Wait(2*time.Second)); err != nil { + logger.Error("Can't send rollback ibtp back to bitxhub", "error", err.Error()) + } + + if err != nil { + return nil, nil, err + } + + logger.Info("response", "cc status", strconv.Itoa(int(res.ChaincodeStatus)), "payload", string(res.Payload)) + response := &Response{} + if err := json.Unmarshal(res.Payload, response); err != nil { + return nil, nil, err + } + + return &res, response, nil +} + func (c *Client) GetOutMessage(servicePair string, idx uint64) (*pb.IBTP, error) { args := util.ToChaincodeArgs(servicePair, strconv.FormatUint(idx, 10)) request := channel.Request{ @@ -655,7 +763,7 @@ func (c *Client) GetOutMessage(servicePair string, idx uint64) (*pb.IBTP, error) return c.unpackIBTP(&response, pb.IBTP_INTERCHAIN, proof) } -func (c *Client) GetInMessage(servicePair string, index uint64) ([][]byte, []byte, bool, uint64, error) { +func (c *Client) GetInMessage(servicePair string, index uint64) ([][][]byte, []bool, []byte, bool, uint64, error) { request := channel.Request{ ChaincodeID: c.meta.CCID, Fcn: GetInMessageMethod, @@ -665,26 +773,26 @@ func (c *Client) GetInMessage(servicePair string, index uint64) ([][]byte, []byt var response channel.Response response, err := c.consumer.ChannelClient.Execute(request) if err != nil { - return nil, nil, false, 0, fmt.Errorf("execute req: %w", err) + return nil, nil, nil, false, 0, fmt.Errorf("execute req: %w", err) } resp := &Receipt{} if err := json.Unmarshal(response.Payload, resp); err != nil { - return nil, nil, false, 0, err + return nil, nil, nil, false, 0, err } - results := []string{"true"} - if resp.Result.Status == shim.ERROR { - results = []string{"false"} + contractRes := &ContractResult{} + err = json.Unmarshal(resp.Result.Payload, contractRes) + if err != nil { + return nil, nil, nil, false, 0, fmt.Errorf("unmarshal contract result: %w", err) } - results = append(results, strings.Split(string(resp.Result.Payload), ",")...) proof, err := c.getProof(response) if err != nil { - return nil, nil, false, 0, err + return nil, nil, nil, false, 0, err } - return util.ToChaincodeArgs(results...), proof, resp.Encrypt, resp.Typ, nil + return contractRes.Results, contractRes.MultiStatus, proof, resp.Encrypt, resp.Typ, nil } func (c *Client) GetInMeta() (map[string]uint64, error) { @@ -717,7 +825,7 @@ func (c *Client) GetOutMeta() (map[string]uint64, error) { return c.unpackMap(response) } -func (c Client) GetCallbackMeta() (map[string]uint64, error) { +func (c *Client) GetCallbackMeta() (map[string]uint64, error) { request := channel.Request{ ChaincodeID: c.meta.CCID, Fcn: GetCallbackMetaMethod, @@ -739,12 +847,7 @@ func (c *Client) CommitCallback(ibtp *pb.IBTP) error { func (c *Client) GetReceiptMessage(servicePair string, idx uint64) (*pb.IBTP, error) { var encrypt bool - result, proof, encrypt, typ, err := c.GetInMessage(servicePair, idx) - if err != nil { - return nil, err - } - - status, err := strconv.ParseBool(string(result[0])) + results, multiStatus, proof, encrypt, typ, err := c.GetInMessage(servicePair, idx) if err != nil { return nil, err } @@ -753,7 +856,7 @@ func (c *Client) GetReceiptMessage(servicePair string, idx uint64) (*pb.IBTP, er if err != nil { return nil, err } - return c.generateReceipt(srcServiceID, dstServiceID, idx, result[1:], proof, status, encrypt, typ) + return c.generateReceipt(srcServiceID, dstServiceID, idx, results, proof, multiStatus, encrypt, typ) } func (c *Client) InvokeIndexUpdate(from string, index uint64, serviceId string, category pb.IBTP_Category) (*channel.Response, *Response, error) { diff --git a/example/contracts.zip b/example/contracts.zip index 33fb070..19cec57 100644 Binary files a/example/contracts.zip and b/example/contracts.zip differ diff --git a/example/contracts/src/broker/broker.go b/example/contracts/src/broker/broker.go index f08f85e..2e4a326 100644 --- a/example/contracts/src/broker/broker.go +++ b/example/contracts/src/broker/broker.go @@ -4,10 +4,11 @@ import ( "encoding/binary" "encoding/json" "fmt" - "github.com/hyperledger/fabric/common/util" "strconv" "strings" + "github.com/hyperledger/fabric/common/util" + "github.com/golang/protobuf/proto" "github.com/hyperledger/fabric/core/chaincode/lib/cid" "github.com/hyperledger/fabric/core/chaincode/shim" @@ -188,6 +189,8 @@ func (broker *Broker) Invoke(stub shim.ChaincodeStubInterface) pb.Response { return broker.invokeInterchains(stub, args) case "invokeReceipt": return broker.invokeReceipt(stub, args) + case "invokeReceipts": + return broker.invokeReceipts(stub, args) case "invokeIndexUpdate": return broker.invokeIndexUpdate(stub, args) case "EmitInterchainEvent": @@ -210,6 +213,10 @@ func (broker *Broker) Invoke(stub shim.ChaincodeStubInterface) pb.Response { } func (broker *Broker) initialize(stub shim.ChaincodeStubInterface, args []string) pb.Response { + if len(args) != 3 { + return shim.Error("incorrect number of arguments, expecting 3") + } + if onlyAdmin := broker.onlyAdmin(stub); !onlyAdmin { return shim.Error(fmt.Sprintf("caller is not admin")) } @@ -219,10 +226,6 @@ func (broker *Broker) initialize(stub shim.ChaincodeStubInterface, args []string return shim.Error(err.Error()) } - if len(args) != 3 { - return shim.Error("incorrect number of arguments, expecting 3") - } - if err := stub.PutState(bxhID, []byte(args[0])); err != nil { return shim.Error(err.Error()) } @@ -475,6 +478,9 @@ func (broker *Broker) EmitInterchainEvent(stub shim.ChaincodeStubInterface, args // 业务合约通过该接口进行注册: 0表示正在审核,1表示审核通过,2表示审核失败 func (broker *Broker) register(stub shim.ChaincodeStubInterface, args []string) pb.Response { + if len(args) != 1 { + return shim.Error("incorrect number of arguments, expecting 1") + } ordered, err := strconv.ParseBool(args[0]) if err != nil { return errorResponse(fmt.Sprintf("cannot parse %s to bool", args[0])) @@ -516,6 +522,9 @@ func (broker *Broker) register(stub shim.ChaincodeStubInterface, args []string) // 通过chaincode自带的CID库可以验证调用者的相关信息 func (broker *Broker) audit(stub shim.ChaincodeStubInterface, args []string) pb.Response { + if len(args) != 3 { + return shim.Error("incorrect number of arguments, expecting 3") + } channel := args[0] chaincodeName := args[1] status := args[2] @@ -765,7 +774,6 @@ func (broker *Broker) invokeInterchains(stub shim.ChaincodeStubInterface, args [ signature [][][]byte isEncrypted []bool ) - if err := json.Unmarshal([]byte(args[0]), &srcFullID); err != nil { return errorResponse(fmt.Sprintf("unmarshal args failed for %s", args[0])) } @@ -793,8 +801,12 @@ func (broker *Broker) invokeInterchains(stub shim.ChaincodeStubInterface, args [ if err := json.Unmarshal([]byte(args[8]), &isEncrypted); err != nil { return errorResponse(fmt.Sprintf("unmarshal args failed for %s", args[8])) } + batchLen := len(srcFullID) + if batchLen != len(targetCID) || batchLen != len(index) || batchLen != len(typ) || batchLen != len(callFunc) || batchLen != len(callArgs) || batchLen != len(txStatus) || batchLen != len(signature) || batchLen != len(isEncrypted) { + return errorResponse("incorrect number of arguments") + } - for idx := 0; idx < 9; idx++ { + for idx := 0; idx < batchLen; idx++ { serviceOrdered, err := broker.getServiceOrderedList(stub) if err != nil { return errorResponse(fmt.Sprintf("get service orered list failed: %s", err.Error())) @@ -837,6 +849,7 @@ func (broker *Broker) invokeInterchains(stub shim.ChaincodeStubInterface, args [ } func (broker *Broker) invokeInterchain(stub shim.ChaincodeStubInterface, args []string) pb.Response { + // 0: srcFullID, 1: targetCID, 2: index, 3: typ, 4: callFunc, 5: callArgs, 6: txStatus, 7: signature, 8: isEncrypted if len(args) != 9 { return errorResponse("incorrect number of arguments, expecting 9") } @@ -952,8 +965,9 @@ func (broker *Broker) invokeInterchain(stub shim.ChaincodeStubInterface, args [] } func (broker *Broker) invokeReceipt(stub shim.ChaincodeStubInterface, args []string) pb.Response { - if len(args) != 7 { - return errorResponse("incorrect number of arguments, expecting 7") + // srcFullID, dstFullID, index, typ, result, multiStatus, txStatus, signatures + if len(args) != 8 { + return errorResponse("incorrect number of arguments, expecting 8") } srcAddr := args[0] dstFullID := args[1] @@ -962,16 +976,17 @@ func (broker *Broker) invokeReceipt(stub shim.ChaincodeStubInterface, args []str return errorResponse(fmt.Sprintf("invoke receipt parse index error: %v", err.Error())) } - var result [][]byte - if err := json.Unmarshal([]byte(args[4]), &result); err != nil { - return errorResponse(err.Error()) - } - txStatus, err := strconv.ParseUint(args[5], 10, 64) + results := args[4] + + // for example: true,true,false…… + multiStatus := args[5] + + txStatus, err := strconv.ParseUint(args[6], 10, 64) if err != nil { return errorResponse(fmt.Sprintf("invoke receipt parse txStatus error: %v", err.Error())) } var signatures [][]byte - if err := json.Unmarshal([]byte(args[6]), &signatures); err != nil { + if err := json.Unmarshal([]byte(args[7]), &signatures); err != nil { return errorResponse(fmt.Sprintf("unmarshal signatures failed for %s", args[6])) } @@ -1068,11 +1083,13 @@ func (broker *Broker) invokeReceipt(stub shim.ChaincodeStubInterface, args []str invokeFunc := messages[outServicePair][index].RollBack funcArgs = append(funcArgs, []byte(invokeFunc.Func)) funcArgs = append(funcArgs, invokeFunc.Args...) + funcArgs = append(funcArgs, []byte(multiStatus)) } else { invokeFunc := messages[outServicePair][index].CallBack funcArgs = append(funcArgs, []byte(invokeFunc.Func)) funcArgs = append(funcArgs, invokeFunc.Args...) - funcArgs = append(funcArgs, result...) + funcArgs = append(funcArgs, []byte(results)) + funcArgs = append(funcArgs, []byte(multiStatus)) } cid := strings.Split(messages[outServicePair][index].SrcFullID, ":") @@ -1080,9 +1097,88 @@ func (broker *Broker) invokeReceipt(stub shim.ChaincodeStubInterface, args []str if len(splitedCID) != 2 { return errorResponse(fmt.Sprintf("Target chaincode id %s is not valid", splitedCID[1])) } - response := stub.InvokeChaincode(splitedCID[1], funcArgs, splitedCID[0]) + fmt.Printf("funcArgs:%v, args:%s", funcArgs, string(funcArgs[1])) + res := stub.InvokeChaincode(splitedCID[1], funcArgs, splitedCID[0]) + return successResponse(res.Payload) +} - return successResponse(response.Payload) +// invokeReceipts is used to muti time invokeReceipt +func (broker *Broker) invokeReceipts(stub shim.ChaincodeStubInterface, args []string) pb.Response { + // args:srcFullIDs, dstFullIDs, indexs, typs, results, multiStatuss, multiTxStatus, multiSignatures + if len(args) != 8 { + return errorResponse("incorrect number of arguments, expecting 8") + } + var ( + srcFullIDs []string + dstFullIDs []string + indexs []uint64 + typs []uint64 + results [][][][]byte + multiStatus [][]bool + multiTxStatus []uint64 + multiSignatures [][][]byte + ) + + fmt.Printf("receipts args:%v", args) + if err := json.Unmarshal([]byte(args[0]), &srcFullIDs); err != nil { + return errorResponse(fmt.Sprintf("unmarshal args failed for %s", args[0])) + } + if err := json.Unmarshal([]byte(args[1]), &dstFullIDs); err != nil { + return errorResponse(fmt.Sprintf("unmarshal args failed for %s", args[1])) + } + if err := json.Unmarshal([]byte(args[2]), &indexs); err != nil { + return errorResponse(fmt.Sprintf("unmarshal args failed for %s", args[2])) + } + if err := json.Unmarshal([]byte(args[3]), &typs); err != nil { + return errorResponse(fmt.Sprintf("unmarshal args failed for %s", args[3])) + } + if err := json.Unmarshal([]byte(args[4]), &results); err != nil { + return errorResponse(fmt.Sprintf("unmarshal args failed for %s", args[4])) + } + if err := json.Unmarshal([]byte(args[5]), &multiStatus); err != nil { + return errorResponse(fmt.Sprintf("unmarshal args failed for %s", args[5])) + } + if err := json.Unmarshal([]byte(args[6]), &multiTxStatus); err != nil { + return errorResponse(fmt.Sprintf("unmarshal args failed for %s", args[6])) + } + if err := json.Unmarshal([]byte(args[7]), &multiSignatures); err != nil { + return errorResponse(fmt.Sprintf("unmarshal args failed for %s", args[7])) + } + batchLen := len(srcFullIDs) + if batchLen != len(dstFullIDs) || batchLen != len(indexs) || batchLen != len(typs) || batchLen != len(results) || batchLen != len(multiStatus) || batchLen != len(multiTxStatus) || batchLen != len(multiSignatures) { + return errorResponse("args length not match") + } + for i := 0; i < batchLen; i++ { + resBytes, err := json.Marshal(results[i]) + if err != nil { + return errorResponse("marshall results failed") + } + multiStatusBytes, err := json.Marshal(multiStatus[i]) + if err != nil { + return errorResponse("marshall multiStatus failed") + } + multiSignatureBytes, err := json.Marshal(multiSignatures[i]) + if err != nil { + return errorResponse("marshall multiSignatures failed") + } + + var invokeArgs []string + invokeArgs = append(invokeArgs, srcFullIDs[i]) + invokeArgs = append(invokeArgs, dstFullIDs[i]) + invokeArgs = append(invokeArgs, strconv.FormatUint(indexs[i], 10)) + invokeArgs = append(invokeArgs, strconv.FormatUint(typs[i], 10)) + invokeArgs = append(invokeArgs, string(resBytes)) + invokeArgs = append(invokeArgs, string(multiStatusBytes)) + invokeArgs = append(invokeArgs, strconv.FormatUint(multiTxStatus[i], 10)) + invokeArgs = append(invokeArgs, string(multiSignatureBytes)) + + resp := broker.invokeReceipt(stub, invokeArgs) + if resp.Status != shim.OK { + return errorResponse(resp.Message) + } + } + + return shim.Success(nil) } func (broker *Broker) registerAppchain(stub shim.ChaincodeStubInterface, args []string) pb.Response { diff --git a/example/contracts/src/broker/go.mod b/example/contracts/src/broker/go.mod index 41e8e31..b0f06eb 100644 --- a/example/contracts/src/broker/go.mod +++ b/example/contracts/src/broker/go.mod @@ -1,16 +1,19 @@ module github.com/meshplus/broker -go 1.18 +go 1.13 + +require ( + github.com/golang/protobuf v1.5.2 + github.com/hyperledger/fabric v1.4.3 +) require ( github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible // indirect github.com/Shopify/sarama v1.29.1 // indirect github.com/fsouza/go-dockerclient v1.7.3 // indirect - github.com/golang/protobuf v1.5.2 github.com/golang/snappy v0.0.4 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect github.com/hashicorp/go-version v1.3.0 // indirect - github.com/hyperledger/fabric v1.4.3 github.com/hyperledger/fabric-amcl v0.0.0-20210603140002-2670f91851c8 // indirect github.com/miekg/pkcs11 v1.0.3 // indirect github.com/onsi/gomega v1.14.0 // indirect diff --git a/example/contracts/src/broker/helper.go b/example/contracts/src/broker/helper.go index 3e42f87..3bb42b2 100644 --- a/example/contracts/src/broker/helper.go +++ b/example/contracts/src/broker/helper.go @@ -24,12 +24,12 @@ func successResponse(data []byte) pb.Response { Data: data, } - data, err := json.Marshal(res) + resBytes, err := json.Marshal(res) if err != nil { panic(err) } - return shim.Success(data) + return shim.Success(resBytes) } func errorResponse(msg string) pb.Response { @@ -338,19 +338,19 @@ func (broker *Broker) putLocalServiceList(stub shim.ChaincodeStubInterface, loca return stub.PutState(localServiceList, localServiceBytes) } -func (broker *Broker) getReceiptMessages(stub shim.ChaincodeStubInterface) (map[string](map[uint64]Receipt), error) { +func (broker *Broker) getReceiptMessages(stub shim.ChaincodeStubInterface) (map[string]map[uint64]Receipt, error) { messagesBytes, err := stub.GetState(receiptMessages) if err != nil { return nil, err } - messages := make(map[string](map[uint64]Receipt)) + messages := make(map[string]map[uint64]Receipt) if err := json.Unmarshal(messagesBytes, &messages); err != nil { return nil, err } return messages, nil } -func (broker *Broker) setReceiptMessages(stub shim.ChaincodeStubInterface, messages map[string](map[uint64]Receipt)) error { +func (broker *Broker) setReceiptMessages(stub shim.ChaincodeStubInterface, messages map[string]map[uint64]Receipt) error { messagesBytes, err := json.Marshal(messages) if err != nil { return err diff --git a/example/contracts/src/data_swapper/data_swapper.go b/example/contracts/src/data_swapper/data_swapper.go index 1650bc8..64bb133 100644 --- a/example/contracts/src/data_swapper/data_swapper.go +++ b/example/contracts/src/data_swapper/data_swapper.go @@ -1,7 +1,6 @@ package main import ( - "encoding/binary" "encoding/json" "fmt" "strconv" @@ -17,8 +16,11 @@ const ( brokerContractName = "broker" delimiter = "&" emitInterchainEventFunc = "EmitInterchainEvent" + singleSetLen = 2 + singleGetLen = 1 ) +// DataSwapper is a chaincode which can be used to swap data between different appchains type DataSwapper struct{} func (s *DataSwapper) Init(stub shim.ChaincodeStubInterface) pb.Response { @@ -69,14 +71,20 @@ func (s *DataSwapper) get(stub shim.ChaincodeStubInterface, args []string) pb.Re return shim.Success(value) case 2: - // args[0]: destination service id - // args[1]: key + // args[0]: destination service id: [bxhID]:[appchain_ID]:[service_ID] + // args[1]: key1^key2^key3…… + + // check service id format + if len(strings.Split(args[0], ":")) != 3 { + return shim.Error(fmt.Sprintf("service id %s format error", args[0])) + } + var callArgs, argsCb [][]byte - typ := make([]byte, 8) - binary.BigEndian.PutUint64(typ, 0) - callArgs = append(callArgs, typ) - callArgs = append(callArgs, []byte(args[1])) - argsCb = append(argsCb, []byte(args[1])) + in := strings.Split(args[1], "^") + for _, key := range in { + callArgs = append(callArgs, []byte(key)) + argsCb = append(argsCb, []byte(key)) + } callArgsBytes, err := json.Marshal(callArgs) if err != nil { @@ -118,8 +126,64 @@ func (s *DataSwapper) interchainSet(stub shim.ChaincodeStubInterface, args []str if onlyBroker := onlyBroker(stub); !onlyBroker { return shim.Error(fmt.Sprintf("caller is not broker")) } + if len(args) < 3 { + return shim.Error("incorrect number of arguments") + } + // args[0]:Key1 + // args[1]:Key2 + // args[2]:Key3 + // ………… + // args[len(args)-2]:Results([][][]byte) + // args[len(args)-1]:multiStatusStr(true false……) + fmt.Println("==============================================") + fmt.Println("interchainSet args:", args) + keysArgs := args[:len(args)-2] + resultsData := args[len(args)-2] + multiStatusData := args[len(args)-1] + + var results [][][]byte + if resultsData != "null" { + err := json.Unmarshal([]byte(resultsData), &results) + if err != nil { + return shim.Error(fmt.Sprintf("unmarshal results error: %s", err)) + } + } else { + for i := 0; i < len(keysArgs); i++ { + results = append(results, [][]byte{}) + } + } + + var multiStatus []bool + if multiStatusData != "null" { + err := json.Unmarshal([]byte(multiStatusData), &multiStatus) + if err != nil { + return shim.Error(fmt.Sprintf("unmarshal multiStatus error: %s", err)) + } + } else { + for i := 0; i < len(keysArgs); i++ { + multiStatus = append(multiStatus, false) + } + } - return s.set(stub, args) + // check input length + if len(multiStatus) != len(keysArgs) || len(multiStatus) != len(results) { + return shim.Error(fmt.Sprintf("incorrect input length, "+ + "actrual key len is %d, results len is %d, multiStatus len is %d", len(keysArgs), len(results), len(multiStatus))) + } + + for i := 0; i < len(multiStatus); i++ { + // if multiStatus[index] is false, skip this key + if !multiStatus[i] { + continue + } + err := stub.PutState(keysArgs[i], results[i][0]) + if err != nil { + return shim.Error(err.Error()) + } + fmt.Println("put state success, key:", keysArgs[i], "value:", string(results[i][0])) + } + fmt.Println("==================end!!============================") + return shim.Success(nil) } // interchainGet gets data by interchain @@ -128,11 +192,42 @@ func (s *DataSwapper) interchainGet(stub shim.ChaincodeStubInterface, args []str return shim.Error(fmt.Sprintf("caller is not broker")) } - value, err := stub.GetState(args[0]) - if err != nil { - return shim.Error(err.Error()) + finalRes := pb.Response{} + // args[len(args)-1]: isRollback flag + argLen := len(args) - 1 + results := make([][][]byte, argLen/singleGetLen) + multiStatus := make([]bool, argLen/singleGetLen) + + if (len(args)-1)%singleGetLen != 0 { + finalRes = shim.Error(fmt.Sprintf("incorrect number of arguments, actrual args length is %d", len(args))) + } else { + // record all keys' values and status + for i := 0; i < argLen; i += singleGetLen { + var values [][]byte + value, err := stub.GetState(args[i]) + if err != nil { + multiStatus[i] = false + } else { + values = append(values, value) + multiStatus[i] = true + } + results[i] = values + } + } + res := &ContractResult{ + Results: results, + MultiStatus: multiStatus, } - return shim.Success(value) + data, _ := json.Marshal(res) + finalRes.Payload = data + + // if one of the operation fail, receipt is fail, but we need to record multiStatus to rollback + if finalRes.Status == shim.ERROR { + finalRes.Payload = data + return finalRes + } + + return shim.Success(data) } func main() { diff --git a/example/contracts/src/data_swapper/go.mod b/example/contracts/src/data_swapper/go.mod index a0a480c..a8e8e5f 100644 --- a/example/contracts/src/data_swapper/go.mod +++ b/example/contracts/src/data_swapper/go.mod @@ -1,6 +1,11 @@ module github.com/meshplus/data_swapper -go 1.18 +go 1.13 + +require ( + github.com/golang/protobuf v1.5.2 + github.com/hyperledger/fabric v1.4.3 +) require ( github.com/Knetic/govaluate v3.0.0+incompatible // indirect @@ -8,7 +13,6 @@ require ( github.com/fsouza/go-dockerclient v1.7.3 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect github.com/hashicorp/go-version v1.3.0 // indirect - github.com/hyperledger/fabric v1.4.3 github.com/hyperledger/fabric-amcl v0.0.0-20210603140002-2670f91851c8 // indirect github.com/miekg/pkcs11 v1.0.3 // indirect github.com/onsi/gomega v1.14.0 // indirect diff --git a/example/contracts/src/data_swapper/helper.go b/example/contracts/src/data_swapper/helper.go index f0dd805..051a791 100644 --- a/example/contracts/src/data_swapper/helper.go +++ b/example/contracts/src/data_swapper/helper.go @@ -2,11 +2,17 @@ package main import ( "fmt" + "github.com/golang/protobuf/proto" "github.com/hyperledger/fabric/core/chaincode/shim" pb "github.com/hyperledger/fabric/protos/peer" ) +type ContractResult struct { + Results [][][]byte `json:"results"` // results of contract execution + MultiStatus []bool `json:"multi_status"` // status of contract execution +} + func getChaincodeID(stub shim.ChaincodeStubInterface) (string, error) { sp, err := stub.GetSignedProposal() if err != nil { diff --git a/example/contracts/src/transaction/go.mod b/example/contracts/src/transaction/go.mod index 41e8e31..b0f06eb 100644 --- a/example/contracts/src/transaction/go.mod +++ b/example/contracts/src/transaction/go.mod @@ -1,16 +1,19 @@ module github.com/meshplus/broker -go 1.18 +go 1.13 + +require ( + github.com/golang/protobuf v1.5.2 + github.com/hyperledger/fabric v1.4.3 +) require ( github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible // indirect github.com/Shopify/sarama v1.29.1 // indirect github.com/fsouza/go-dockerclient v1.7.3 // indirect - github.com/golang/protobuf v1.5.2 github.com/golang/snappy v0.0.4 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect github.com/hashicorp/go-version v1.3.0 // indirect - github.com/hyperledger/fabric v1.4.3 github.com/hyperledger/fabric-amcl v0.0.0-20210603140002-2670f91851c8 // indirect github.com/miekg/pkcs11 v1.0.3 // indirect github.com/onsi/gomega v1.14.0 // indirect diff --git a/example/contracts/src/transfer/go.mod b/example/contracts/src/transfer/go.mod index 68a454c..3d372bd 100644 --- a/example/contracts/src/transfer/go.mod +++ b/example/contracts/src/transfer/go.mod @@ -1,6 +1,11 @@ module github.com/meshplus/transfer -go 1.18 +go 1.13 + +require ( + github.com/golang/protobuf v1.5.2 + github.com/hyperledger/fabric v1.4.3 +) require ( github.com/Knetic/govaluate v3.0.0+incompatible // indirect @@ -8,7 +13,6 @@ require ( github.com/fsouza/go-dockerclient v1.7.3 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect github.com/hashicorp/go-version v1.3.0 // indirect - github.com/hyperledger/fabric v1.4.3 github.com/hyperledger/fabric-amcl v0.0.0-20210603140002-2670f91851c8 // indirect github.com/miekg/pkcs11 v1.0.3 // indirect github.com/onsi/gomega v1.14.0 // indirect diff --git a/example/contracts/src/transfer/go.sum b/example/contracts/src/transfer/go.sum index 39baa18..bc57876 100644 --- a/example/contracts/src/transfer/go.sum +++ b/example/contracts/src/transfer/go.sum @@ -42,18 +42,22 @@ github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7O github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/Knetic/govaluate v3.0.0+incompatible h1:7o6+MAPhYTCF0+fdvoz1xDedhRb4f6s9Tn1Tt7/WTEg= github.com/Knetic/govaluate v3.0.0+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= github.com/Microsoft/go-winio v0.5.0 h1:Elr9Wn+sGKPlkaBvwu4mTrxtmOp3F3yV9qhaHbXGjwU= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/hcsshim v0.8.14 h1:lbPVK25c1cu5xTLITwpUcxoA9vKrKErASPYygvouJns= github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= +github.com/Shopify/sarama v1.29.1 h1:wBAacXbYVLmWieEA/0X/JagDdCZ8NVFOfS6l6+2u5S0= github.com/Shopify/sarama v1.29.1/go.mod h1:mdtqvCSg8JOxk8PmpTNGyo6wzd4BMm4QXSfDnTXmgkE= +github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= @@ -74,6 +78,7 @@ github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMX github.com/containerd/containerd v1.4.3 h1:ijQT13JedHSHrQGWFcGEwzcNKrAGIiZ+jSD5QQG07SY= github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e h1:6JKvHHt396/qabvMhnhUZvWaHZzfVfldxE60TK8YLhg= github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= @@ -85,8 +90,10 @@ github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/docker/docker v20.10.7+incompatible h1:Z6O9Nhsjv+ayUEeI1IojKbYcsGdgYSNqxe1s2MYzUhQ= github.com/docker/docker v20.10.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= @@ -95,8 +102,11 @@ github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5Xh github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/eapache/go-resiliency v1.2.0 h1:v7g92e/KSN71Rq7vSThKaWIq68fL4YHvWyiUKorFR1Q= github.com/eapache/go-resiliency v1.2.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -107,7 +117,9 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.m github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= +github.com/frankban/quicktest v1.11.3 h1:8sXhOn0uLys67V8EsXLc6eszDs8VXWxL3iRvebPhedY= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= @@ -158,6 +170,7 @@ github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaS github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -172,6 +185,7 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= @@ -192,9 +206,12 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm4 github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= +github.com/gorilla/sessions v1.2.1 h1:DHd3rPN5lE3Ts3D8rKkQ8x/0kqfeNmBAaiSi+o7FsgI= github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= @@ -211,7 +228,9 @@ github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerX github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-version v1.3.0 h1:McDWVJIU/y+u1BRV06dPaLfLCaT7fUTJLp5r04x7iNw= github.com/hashicorp/go-version v1.3.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -230,28 +249,38 @@ github.com/hyperledger/fabric-amcl v0.0.0-20210603140002-2670f91851c8/go.mod h1: github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/jcmturner/aescts/v2 v2.0.0 h1:9YKLH6ey7H4eDBXW8khjYslgyqG2xZikXP0EQFKrle8= github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs= +github.com/jcmturner/dnsutils/v2 v2.0.0 h1:lltnkeZGL0wILNvrNiVCR6Ro5PGU/SeBvVO/8c/iPbo= github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM= +github.com/jcmturner/gofork v1.0.0 h1:J7uCkflzTEhUZ64xqKnkDxq3kzc96ajM1Gli5ktUem8= github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o= +github.com/jcmturner/goidentity/v6 v6.0.1 h1:VKnZd2oEIMorCTsFBnJWbExfNN7yZr3EhJAxwOkZg6o= github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxyjn/mY9zx4tFonSg= +github.com/jcmturner/gokrb5/v8 v8.4.2 h1:6ZIM6b/JJN0X8UM43ZOM6Z4SJzla+a/u7scXFJzodkA= github.com/jcmturner/gokrb5/v8 v8.4.2/go.mod h1:sb+Xq/fTY5yktf/VxLsE3wlfPqQjp0aWNYyvBVK62bc= +github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY= github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.12.2 h1:2KCfW3I9M7nSc5wOqXAlW2v2U6v+w6cbjvbfp+OykW8= github.com/klauspost/compress v1.12.2/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= @@ -281,12 +310,15 @@ github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3Rllmb github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.14.0 h1:ep6kpPVwmr/nTbklSx2nrLNSIO62DoYAhnPNIMhK8gI= github.com/onsi/gomega v1.14.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 h1:lDH9UUVJtmYCjyT0CI4q8xvlXPxeZ0gYCVvWbmPlp88= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= @@ -303,15 +335,18 @@ github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFSt github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.9.3 h1:zeC5b1GviRUyKYd6OJPvBU/mcVDVoL1OhT17FCt5dSQ= github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pierrec/lz4 v2.6.0+incompatible h1:Ix9yFKn1nSPBLFl/yZknTp8TU5G4Ps0JDmguYK6iH1A= github.com/pierrec/lz4 v2.6.0+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -323,7 +358,9 @@ github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMB github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= @@ -339,12 +376,14 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An github.com/spf13/viper v1.8.1 h1:Kq1fyeebqsBfbjZj4EL7gj2IO0mMaiyjYUWcUsl2O44= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= @@ -374,6 +413,7 @@ go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/goleak v1.1.10 h1:z+mqJhf6ss6BSfSM671tgKyZBFPTTJM+HLxnhPC3wu0= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= @@ -419,6 +459,7 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= @@ -430,6 +471,7 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -556,6 +598,7 @@ golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 h1:SrN+KX8Art/Sf4HNj6Zcz06G7VEz+7w9tdXTPOZ7+l4= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201113234701-d7a72108b828/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -625,10 +668,12 @@ golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.2 h1:kRBLX7v7Af8W7Gdbbc908OJcdgtK8bOz9Uaj8/F1ACA= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= @@ -740,11 +785,13 @@ google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/l google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/ini.v1 v1.62.0 h1:duBzk771uxoUuOlyRLkHsygud9+5lrlGjdFBb4mSKDU= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -754,9 +801,12 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= +gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/example/contracts/src/transfer/helper.go b/example/contracts/src/transfer/helper.go index f669301..a226121 100644 --- a/example/contracts/src/transfer/helper.go +++ b/example/contracts/src/transfer/helper.go @@ -2,19 +2,29 @@ package main import ( "fmt" - pb "github.com/hyperledger/fabric/protos/peer" "strconv" + "strings" + + pb "github.com/hyperledger/fabric/protos/peer" "github.com/golang/protobuf/proto" "github.com/hyperledger/fabric/core/chaincode/shim" ) +type ContractResult struct { + Results [][][]byte `json:"results"` // results of contract execution + MultiStatus []bool `json:"multi_status"` // status of contract execution +} + func getUint64(stub shim.ChaincodeStubInterface, key string) (uint64, error) { value, err := stub.GetState(key) if err != nil { return 0, fmt.Errorf("amount must be an interger %w", err) } - + // init value if not exist + if value == nil { + return 0, nil + } ret, err := strconv.ParseUint(string(value), 10, 64) if err != nil { return 0, err @@ -23,18 +33,27 @@ func getUint64(stub shim.ChaincodeStubInterface, key string) (uint64, error) { return ret, nil } -func getAmountArg(arg string) (uint64, error) { - amount, err := strconv.ParseUint(arg, 10, 64) - if err != nil { - shim.Error(fmt.Errorf("amount must be an interger %w", err).Error()) - return 0, err +func getAmountArg(args string) ([]uint64, error) { + argsSlice := strings.Split(args, "^") + amounts := make([]uint64, len(argsSlice)) + for i, arg := range argsSlice { + amount, err := strconv.ParseUint(arg, 10, 64) + if err != nil { + return nil, fmt.Errorf("amount must be an interger %w", err) + } + + if amount < 0 { + return nil, fmt.Errorf("amount must be a positive integer, got %s", arg) + } + amounts[i] = amount } - if amount < 0 { - return 0, fmt.Errorf("amount must be a positive integer, got %s", arg) - } + return amounts, nil +} - return amount, nil +func getArg(args string) []string { + argsSlice := strings.Split(args, "^") + return argsSlice } func getChaincodeID(stub shim.ChaincodeStubInterface) (string, error) { diff --git a/example/contracts/src/transfer/transfer.go b/example/contracts/src/transfer/transfer.go index 21c52d0..815a430 100644 --- a/example/contracts/src/transfer/transfer.go +++ b/example/contracts/src/transfer/transfer.go @@ -18,6 +18,8 @@ const ( brokerContractName = "broker" delimiter = "&" emitInterchainEventFunc = "EmitInterchainEvent" + singleInvokeLen = 3 + singleRollbackLen = 2 ) type Transfer struct{} @@ -35,6 +37,8 @@ func (t *Transfer) Invoke(stub shim.ChaincodeStubInterface) pb.Response { return t.register(stub, args) case "transfer": return t.transfer(stub, args) + case "multiTransfer": + return t.multiTransfer(stub, args) case "getBalance": return t.getBalance(stub, args) case "setBalance": @@ -60,13 +64,14 @@ func (t *Transfer) register(stub shim.ChaincodeStubInterface, args []string) pb. return response } +// transfer function is used to transfer money from one account to another account func (t *Transfer) transfer(stub shim.ChaincodeStubInterface, args []string) pb.Response { switch len(args) { case 3: sender := args[0] receiver := args[1] amountArg := args[2] - amount, err := getAmountArg(amountArg) + amounts, err := getAmountArg(amountArg) if err != nil { return shim.Error(fmt.Errorf("get amount from arg: %w", err).Error()) } @@ -76,11 +81,11 @@ func (t *Transfer) transfer(stub shim.ChaincodeStubInterface, args []string) pb. return shim.Error(fmt.Errorf("got account value from %s %w", sender, err).Error()) } - if balance < amount { + if balance < amounts[0] { return shim.Error("not sufficient funds") } - balance -= amount + balance -= amounts[0] err = stub.PutState(sender, []byte(strconv.FormatUint(balance, 10))) if err != nil { @@ -92,7 +97,7 @@ func (t *Transfer) transfer(stub shim.ChaincodeStubInterface, args []string) pb. return shim.Error(fmt.Errorf("got account value from %s %w", receiver, err).Error()) } - err = stub.PutState(receiver, []byte(strconv.FormatUint(receiverBalance+amount, 10))) + err = stub.PutState(receiver, []byte(strconv.FormatUint(receiverBalance+amounts[0], 10))) if err != nil { return shim.Error(err.Error()) } @@ -104,7 +109,7 @@ func (t *Transfer) transfer(stub shim.ChaincodeStubInterface, args []string) pb. receiver := args[2] amountArg := args[3] - amount, err := getAmountArg(amountArg) + amounts, err := getAmountArg(amountArg) if err != nil { return shim.Error(fmt.Errorf("get amount from arg: %w", err).Error()) } @@ -114,11 +119,11 @@ func (t *Transfer) transfer(stub shim.ChaincodeStubInterface, args []string) pb. return shim.Error(fmt.Errorf("got account value from %s %w", sender, err).Error()) } - if balance < amount { + if balance < amounts[0] { return shim.Error("not sufficient funds") } - balance -= amount + balance -= amounts[0] err = stub.PutState(sender, []byte(strconv.FormatUint(balance, 10))) if err != nil { @@ -126,13 +131,10 @@ func (t *Transfer) transfer(stub shim.ChaincodeStubInterface, args []string) pb. } var callArgs, argsRb [][]byte - typ := make([]byte, 8) - binary.BigEndian.PutUint64(typ, 0) - callArgs = append(callArgs, typ) callArgs = append(callArgs, []byte(sender)) callArgs = append(callArgs, []byte(receiver)) transferAmount := make([]byte, 8) - binary.BigEndian.PutUint64(transferAmount, amount) + binary.BigEndian.PutUint64(transferAmount, amounts[0]) callArgs = append(callArgs, transferAmount[:]) argsRb = append(argsRb, []byte(sender)) @@ -142,6 +144,8 @@ func (t *Transfer) transfer(stub shim.ChaincodeStubInterface, args []string) pb. if err != nil { return shim.Error(err.Error()) } + + fmt.Println("argsRb", argsRb) argsRbBytes, err := json.Marshal(argsRb) if err != nil { return shim.Error(err.Error()) @@ -159,6 +163,93 @@ func (t *Transfer) transfer(stub shim.ChaincodeStubInterface, args []string) pb. } } +// multiTransfer function is used to transfer money from multi account to another multi account +func (t *Transfer) multiTransfer(stub shim.ChaincodeStubInterface, args []string) pb.Response { + // args[0] - dstServiceID + // args[1] - senders (^ separated) + // args[2] - receivers (^ separated) + // args[3] - amounts (^ separated) + if len(args) != 4 { + return shim.Error("incorrect number of arguments, expecting 4") + } + + dstServiceID := args[0] + senders := getArg(args[1]) + receivers := getArg(args[2]) + amountArg := args[3] + + amounts, err := getAmountArg(amountArg) + if err != nil { + return shim.Error(fmt.Errorf("get amount from arg: %w", err).Error()) + } + + if len(senders) != len(receivers) || len(senders) != len(amounts) { + return shim.Error("incorrect number of arguments") + } + + updateSenders := make(map[string]uint64) + for i, sender := range senders { + var ( + balance uint64 + ok bool + ) + + // check if sender already in updateMap + if balance, ok = updateSenders[sender]; !ok { + balance, err = getUint64(stub, sender) + if err != nil { + return shim.Error(fmt.Errorf("got account value from %s %w", sender, err).Error()) + } + } + + if balance < amounts[i] { + return shim.Error("not sufficient funds") + } + + balance -= amounts[i] + updateSenders[sender] = balance + } + // update sender balances in one batch + for sender, balance := range updateSenders { + err = stub.PutState(sender, []byte(strconv.FormatUint(balance, 10))) + if err != nil { + return shim.Error(err.Error()) + } + } + + var callArgs, argsRb [][]byte + + // callArgs[0]: sender1, callArgs[1]: receiver1, callArgs[2]: amount1, + // callArgs[3]: sender2, callArgs[4]: receiver2, callArgs[5]: amount2, ... + for i := 0; i < len(senders); i++ { + callArgs = append(callArgs, []byte(senders[i])) + callArgs = append(callArgs, []byte(receivers[i])) + transferAmount := make([]byte, 8) + binary.BigEndian.PutUint64(transferAmount, amounts[i]) + callArgs = append(callArgs, transferAmount[:]) + + argsRb = append(argsRb, []byte(senders[i])) + argsRb = append(argsRb, transferAmount[:]) + } + + callArgsBytes, err := json.Marshal(callArgs) + if err != nil { + return shim.Error(err.Error()) + } + argsRbBytes, err := json.Marshal(argsRb) + if err != nil { + return shim.Error(err.Error()) + } + + b := util.ToChaincodeArgs(emitInterchainEventFunc, dstServiceID, "interchainCharge", string(callArgsBytes), "", "", "interchainRollback", string(argsRbBytes), strconv.FormatBool(false)) + response := stub.InvokeChaincode(brokerContractName, b, channelID) + if response.Status != shim.OK { + return shim.Error(fmt.Errorf("invoke broker chaincode: %d - %s", response.Status, response.Message).Error()) + } + + return shim.Success(nil) +} + // getBalance gets account balance func (t *Transfer) getBalance(stub shim.ChaincodeStubInterface, args []string) pb.Response { if len(args) != 1 { @@ -191,72 +282,165 @@ func (t *Transfer) setBalance(stub shim.ChaincodeStubInterface, args []string) p return shim.Success(nil) } -// charge user,amount +// interchainCharge function is used to handle interchain from src chain, increase receiver's balance and emit receipt event func (t *Transfer) interchainCharge(stub shim.ChaincodeStubInterface, args []string) pb.Response { if onlyBroker := onlyBroker(stub); !onlyBroker { return shim.Error(fmt.Sprintf("caller is not broker")) } - - if len(args) != 4 { - return shim.Error("incorrect number of arguments, expect 4") + fmt.Println("==============================================") + fmt.Println("interchainCharge args: ", args) + // args length: + + if (len(args)-1)%singleInvokeLen != 0 { + return shim.Error(fmt.Sprintf("incorrect number of arguments, actrual args length is %d", len(args))) } + argLen := len(args) - 1 + + finalRes := pb.Response{} + + // because every PutState doesn't effect the ledger + // until the transaction is validated and successfully committed + // so we need record all receiver's balance temporary + receivers := make(map[string]uint64) + multiStatus := make([]bool, argLen/singleInvokeLen) + isRollback := args[len(args)-1] + + // record all keys' values and status + for i := 0; i < argLen; i += singleInvokeLen { + sender := args[i] + // check for sender info + if sender == "" { + return shim.Error("incorrect sender info") + } + receiver := args[i+1] + var amountArg uint64 + buf := bytes.NewBuffer([]byte(args[i+2])) + err := binary.Read(buf, binary.BigEndian, &amountArg) + if err != nil { + finalRes = shim.Error(fmt.Sprintf("incorrect amount info:%v", args[i+2])) + multiStatus[i/singleInvokeLen] = false + continue + } + var ( + balance uint64 + ok bool + ) + if balance, ok = receivers[receiver]; !ok { + balance, err = getUint64(stub, receiver) + if err != nil { + finalRes = shim.Error(fmt.Errorf("get balancee from %s %w", receiver, err).Error()) + multiStatus[i/singleInvokeLen] = false + continue + } + } - sender := args[0] - receiver := args[1] - var amountArg uint64 - buf := bytes.NewBuffer([]byte(args[2])) - binary.Read(buf, binary.BigEndian, &amountArg) - isRollback := args[3] - - // check for sender info - if sender == "" { - return shim.Error("incorrect sender info") + // TODO: deal with rollback failure (balance not enough) + if isRollback == "true" { + balance -= amountArg + } else { + balance += amountArg + } + receivers[receiver] = balance } - balance, err := getUint64(stub, receiver) - if err != nil { - return shim.Error(fmt.Errorf("get balancee from %s %w", receiver, err).Error()) + // put all receivers balance state + for receiver, balance := range receivers { + err := stub.PutState(receiver, []byte(strconv.FormatUint(balance, 10))) + if err != nil { + return shim.Error(err.Error()) + } } - // TODO: deal with rollback failure (balance not enough) - if isRollback == "true" { - balance -= amountArg - } else { - balance += amountArg + res := ContractResult{ + Results: make([][][]byte, 0), + MultiStatus: multiStatus, } - err = stub.PutState(receiver, []byte(strconv.FormatUint(balance, 10))) + pd, err := json.Marshal(res) if err != nil { - return shim.Error(err.Error()) + return shim.Error(fmt.Sprintf("marshal result error: %s", err)) } - return shim.Success(nil) + // if one of the operation fail, receipt is fail, but we need to record multiStatus to rollback + if finalRes.Status == shim.ERROR { + finalRes.Payload = pd + return finalRes + } + fmt.Println("====================end==========================") + return shim.Success(pd) } +// todo: rollback status is success but amount is not increased, need to deal with it func (t *Transfer) interchainRollback(stub shim.ChaincodeStubInterface, args []string) pb.Response { if onlyBroker := onlyBroker(stub); !onlyBroker { return shim.Error(fmt.Sprintf("caller is not broker")) } - if len(args) != 2 { - return shim.Error("incorrect number of arguments, expecting 2") + fmt.Println("==============================================") + fmt.Printf("args: %v\n", args) + + // args length: sender1 + amount1 + sender2 + amount2 + ...+ multiStatusStr(false,false,true……) + if (len(args)-1)%singleRollbackLen != 0 { + return shim.Error(fmt.Sprintf("incorrect number of arguments, actrual args length is %d", len(args))) } - name := args[0] - var amountArg uint64 - buf := bytes.NewBuffer([]byte(args[1])) - binary.Read(buf, binary.BigEndian, &amountArg) + var multiStatus []bool + multiStatusData := args[len(args)-1] + if multiStatusData != "null" { + err := json.Unmarshal([]byte(multiStatusData), &multiStatus) + if err != nil { + return shim.Error(fmt.Sprintf("unmarshal multiStatus error: %s", err)) + } + } else { + for i := 0; i < (len(args)-1)/singleRollbackLen; i++ { + multiStatus = append(multiStatus, false) + } + } + fmt.Printf("multiStatus: %v\n", multiStatus) + if len(multiStatus) != (len(args)-1)/singleRollbackLen { + return shim.Error(fmt.Sprintf("incorrect multiStatus length, expect length is %d, actrual length is %d", + (len(args)-1)/singleRollbackLen, len(multiStatus))) + } + // rollback all senders balance + updateSenders := make(map[string]uint64) + index := 0 + for i := 0; i < len(args)-1; i += singleRollbackLen { + // if one of the receipt status is success, we need not to rollback + if multiStatus[index] { + index++ + continue + } + name := args[i] + var amountArg uint64 + buf := bytes.NewBuffer([]byte(args[i+1])) + err := binary.Read(buf, binary.BigEndian, &amountArg) + if err != nil { + return shim.Error(fmt.Sprintf("incorrect amount info:%v", args[i+1])) + } - balance, err := getUint64(stub, name) - if err != nil { - return shim.Error(fmt.Errorf("get balancee from %s %w", name, err).Error()) + var ( + balance uint64 + ok bool + ) + if balance, ok = updateSenders[name]; !ok { + balance, err = getUint64(stub, name) + if err != nil { + return shim.Error(fmt.Errorf("get balance from %s %w", name, err).Error()) + } + } + balance += amountArg + updateSenders[name] = balance + index++ } - balance += amountArg - err = stub.PutState(name, []byte(strconv.FormatUint(balance, 10))) - if err != nil { - return shim.Error(err.Error()) + fmt.Printf("!!!!!!!!!!!!!!!!!updateSenders: %v", updateSenders) + // update all senders balance state in batch + for name, balance := range updateSenders { + err := stub.PutState(name, []byte(strconv.FormatUint(balance, 10))) + if err != nil { + return shim.Error(err.Error()) + } } + fmt.Println("==================end============================") return shim.Success(nil) } diff --git a/main-packr.go b/main-packr.go index 2db2e58..10febe3 100644 --- a/main-packr.go +++ b/main-packr.go @@ -1,4 +1,6 @@ +//go:build !skippackr // +build !skippackr + // Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT. // You can use the "packr clean" command to clean up this, diff --git a/packrd/packed-packr.go b/packrd/packed-packr.go index 62e5675..169a143 100644 --- a/packrd/packed-packr.go +++ b/packrd/packed-packr.go @@ -1,4 +1,6 @@ +//go:build !skippackr // +build !skippackr + // Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT. // You can use the "packr2 clean" command to clean up this, @@ -11,147 +13,147 @@ import ( ) var _ = func() error { - const gk = "31ba334ab5189cf775dcaf34aff80ca1" + const gk = "b13ec4e48c96ccfef46d3f314a42c2d3" g := packr.New(gk, "") hgr, err := resolver.NewHexGzip(map[string]string{ - "00df918ba569d55a776c7323292f2085": "1f8b08000000000000ff64cfc15283301485e13d4fd11770040d22cb9b784d339834a4d8b1ec00355015db8a04f2f48e8c3bcfeaccbffb2e7e47910bb5d246eca0c05586fba50652f03558044925a7f3896f2549c12267ecef3b5c531ebaca090a796e773adeb2ba7cfbeeea7d53c59f81873c7abf8eda6a3aa56126e61122cf7a7f8691b5061403300349e4548457d3b1cfb950b6295b8f6eee437c3a3481ba79adeb820dcf69d6be948fd9a6999d19f16348c8c176714208d958ed2fbfbae3ed0339334da67ba3310d1600aabbffa89f000000ffff37231178f1000000", - "0141069186605bc0efaf6df92a8a5da2": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", - "065df540e4ea07c285ec5aab92855351": "1f8b08000000000000ff6c93cf92b23814c5f73cc5ecbba61ab5b13f16b3c8cd1f881a3088d0b013c4208a62ab0478fa29e9a959cc7c59a5cefde5569273cf9faf05d4e1de1f980621671ca3908eaa2138c75b82313a140a690e487189274d8aaacd61776ccde559c129cad93b414b50ea569e2a7f2d2541150c42deb581654222291daa17d176a0a100eaa0c99662104b3965f75d9cb6796d354948630172ac4127bced943d394d7b2389ad6af7e555d9405301f9cfe152c86cb6b888a3752e1cf6c89deebcaabd360b692ee03a32a8136132a54fe3f7202a98367b41502fc856fb84f782c08e6973f8d1f8bf9a215cd1e1012d407911a02444e7281481d0f4e7699cea862471d7a4b5dd67f5b91441a2191a6b2ed593d048e20f155c1665567b4d3ef55a119c34d323b0a41db4799df7ab3afa48e289ce9ced3399da0f1168eda8912106edbc2ad958bf07d949539db8cb6bca87cac44826fc9f3d41322752216accd6c1a75db5ddeaf0553c6ed79509e18c0c625f3bb26eaff362b50a97bf0af3064d4f6e753f6d657c798392b99f1f61c4f785512c3efcd6d9ccd9e7533a31b9d83a826ee73d8473d7e475cdc05c23e9be03920429a71660be5cd82fa41c6d3530be3b486e19688141a96f509481cc090ad1faf5b16e20001d7e510811793512f83436204a1e0113666cde2ff1f1690d70b35b4d3133cdaa4bddaffd84571369b1ef9417d9d59a36c17f2751792e22400d74046517598dfbb83ae8f906d1f9b278e38f667e7d0bdb9afb7abff96e9277623f7da5b982c4cccbfd79161dcada3f0eb131e8b75970acecde43d75dd0d2895faead27fdf627ea2f638c0bf5c8ff23f477000000ffffed6d643e5f030000", - "071b0084b56f9e4420324ef130bc92d1": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", - "085dba7e2c9f213147f352f1de862e99": "1f8b08000000000000ff6c93cf77ba3814c5f7fc15b3ef9953a4a5adcb975f081a3418a07127688320164b25c05f3f473a6716f36d5639f77df24e92fbeedff785a8e7877f611a499ff918249d548bfb3e8e25c6f071d4607c04da1751b9c65a25d16919ae60c977af7af17292b0445a5f8baa5c6f842050a2918bd65858289208e1511324f1482547d483594c31e24be1b0769feebabc761b2569ca91986aa8e761ecb09b4f7783a552b7dcbf876536d21d47f9cfe1828bec29b8f0ad7b3e7aec3bf7faf3aa0ebb4cd29ca3cf89819e4be5d09bf53b084766ec8113183889cd9af8032768cf8c3dfe68fe7f9ac517bcc723044887090225e19c481e71437f9ee653d31095f6cdae9e0f597d2e78a40c83a9b6a066262d953eebe81214591d36b913763caa0c3313b0a43deaf23aef5775f2acd299c9bcf8a69cf9378f8cf1f4c4108bf661a9b6eeef20ab0c356ab1fcdcf963696310caff774f40e44468a016a8eaedf5b321dd139b5d08dbf863670ef2588630b4eead6de7d7f609cf51528fdbee80578dd9767de0329d202ee241bad6312df490af6787a04a57439ec3fc58a7cbf09b7bad21f76b46f606c4e2118120a0bd9a23fbeec2211062b2d5c2b8f540c40c198e91d65f485386444e40c2e6feb18b8823f878a34802b937e2b89a1a102d4e08636239d1aabf7c1c5a87091b43b47928ddb76b5ddcca43637f258fc11efae7f54b248af27f93a8431f0862169c287c6d36ce2278f86802f711bd540d3cd963ab5ab6efaf57ec0ede7656e461bc355ea5b10fdd9a75af387e975f07fb7ab1d8373f9ef039cb59c69cb6f2dedf6bf3f0b82a3ab99d5b535c6848fe8cd03f010000ffff17359eef5f030000", - "08f8c16cb1184ecc2a086b2887cf60d3": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", - "0b1035fa92a2096684a96cba2b148d4c": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1f6fcdf6081dba345d7200d5fe1b04b61c14154a4f5f9c2e3d4146a15ffaf82f2d639ab721109d946f0503b93d1088c622509fe67386badc05d6434423ac8f891d03254e30df7e13c766cb5fc493eb5a1053ab3f7d1357d4fd6ab285555eecd294cbace25f7f29ed5620ba02760cb9021688fe73153d46e44e859ecab0a36ab60f16de010000ffff93db101ce8010000", - "0b80819b3df6c34ba6e8e36725b879c2": "1f8b08000000000000ff64cf414f833018c6f13b9f627762c4801b1cdbfae6a534251436156f5d15a6c008b3ac639fdeb878f3393df9df7e77bfa3803c5f15257f265b5809a86fd5931c53d2029154225d26ac6494901690b1bfef20a51838ed38254ab5eef2198bafe38ea0afc7b632def7bc6c50d8f82c55b68e157ce8665e60284e233b9424678428316593b5d6a8201864b33ff77e07afbbcd059707483cec6998f8fb8a0a53f3971033d5b1fa5afad1fbbcedf4e3f0766f8f4da823b38e529e1daea63875a3ab7bef0680fce93fea270000ffffbb2f2895f1000000", - "0cae28d103a9a7af6e5ce107effe46a3": "1f8b08000000000000ff6c93cd72ab381085f73cc5ec5353c1c4beb11777d11202cb581811fec4cee0048321fe8d1bf4f453c1b76673a395eaf4398bafbbcebfdf8f3097fbff501646dce1142236aa86e09ce69a52a8ac0a9013a8b8cc26afa7d964ab635a2fc220b95cebc2d51a3c5255e7fda1d90452dad0104bc82b1a542a3b91d265b84a62cd2241980b939851223c6939d76d9adfcb6e7652114b0591e38cf4c28f2de78bb37c30543a6bb699df149ae582948ff05ec8e265f529ea59fbee3ab7d2eddb75e7df8b887d08628e1ee845ba737b6d288b7dfd6c867707cd41d830083bc68dcd076193ad83a67e687cd48c6f5138d79e6a5891ca4f08a808da2412a140f6c0e30c4fb64afb53de2d86a26bf72254e8c0385b1a0c27914aa755f8b9da179d7f2a2dff2ec2392e1f619bf539e66932083abb975d39acbb64aad209166efca5acc5cd10ce0119aaa577ccb96e4c0a52f13f7f1b6469cb0ad8249b8b9b2ebbe4054e2f938858edaecc996849512c8d8ffaa0bced939fddb2a7099a41dda6a94dad6cf92c274d65bdab784d3cb917896b8685e3ac12b308bbe3f371ea6d48ab29315a1b36dfec4b3927f031670404255b782084664bc8c8cb3d5484c87809c85c4aaf2ec8d82128a82100bfcfb263c8c8334a2a00d0c331dc102a911fa14ada40249f1a7853a5ebc3d3be382fa7ddb90692872b43fdcaced9a776b77d1d1c67157a30864342192ea73c2ddda42d1bf8f9d48a3bc61f03d2eaffe531406ebf016028f91e847f457777a8d78b2f731664e85d0202d34b70d685f37622c62fe7cd8ff0b5c98e870bd4243924f176faba18dc7d726d877978d1bd0e7741afe176dfc042c7365158c4caac7eff36c63a31dffebb62ff050000ffff417f75ba7f030000", - "0e0743037d2b60aa902c9d64d33b7a8f": "1f8b08000000000000ff64cf414fc23018c6f1fb3e057763d6653ae0f8b67b79bbcd0ed602d98e8ad06917042236dda737126f3ca727ffdbeff16f1ca9a8272b5d6c618d930abb5b8d5441122c82e28a783893514f73b04842fc7f8f9213f3afbee0d03436abc6fd8ca5992d531f1c96111b56edce1cb53ce38b10c17d9fe206d11e7a667a0db500307cf4dd6e69da131fbdc8874e5d4a7867c976ba6ee45b444e1c17cbfec7507a71830c49dca6ee9ae4c327cca7cc7fb0e7c5c60685b3872bd75f6ecc2abd89c5fe10dd0058e7f7a8df000000ffff80f0f724f1000000", - "0e71edbfc97a442c85ba83370287a206": "1f8b08000000000000ff64934d93a2301086effc8abd6f6d097e8c7ad843e7938c0687883878437440047506a4915fbfa54ecd65734a3dfd56f59374f2e7be0897cafb45b90994501402fea096568a2a462924710aa808a4ca80dabd945f130e7bf4c5e9385d94833732b691a6919a9d37aacb6d0ea8300ef8dcd27094e0ac38c9340d43ddf20e0c49bd90401ad0a3976d65516e07afd778cd5b91c3ea594b02167ad9f640a49594e21af58b2eea4f5ac160f90c9c03da0f87d1dac1ad5c5da3feb4d62641e1472cf47dc6719447cb51b197a2b612d916f3d26bb601ec05da37cde0a6d90a174cdd3423b140bb7b32f5c3b4ac5adac1ebbd9945200aa008036d34f26707c5f1c2a2757bd994d3dbb62c326d2214f0a8b91c9d205a0f53737acdb6a577b192bed76803c8d24760ce71d724a5299232bc6963a3c46fedd6fc708f3ef5eff6d6539f6c34d192dc3ee5520fa7907249e9f71eb90bb602e26195c94168de5caa6e9fcbe5353c50b944ab3e1d2f359fe7fbf8d83bcdc6d8e5ae0f2fbbcfa670cff1a09c5688a28d173cf5fda6b3d7ef693a11fda4b639191d4cb5ccad2020730dc3fb28770c39e9a17f9fb19b32d0f74b728d26f031e19003685a3d720afda3a633508b4a5bf97e9c379be4dd1e9d4c76e21367ec1d7ed33dc522f34e621306ed50f68a76a2e1fc732c029a829d82e62b6a299f2dba2f6c2f6d944d3b33ab7b1f4a3967d9554933ad67a9f00e3b5d0f623918e23baa345eacf4d8e93b57d1f80767ed5abdbde3c8af99aa923113626efb4dd82e7670a9c2e4aff578eddc63ffff807f010000ffff0f58b6131e030000", - "10c19ad42cecb1a6935e778c276936fb": "1f8b08000000000000ff64cf416f823018c6f13b9fc2bb599893a91cdfc29b5ab59dc0622c37235aab4ca06316fae99791dd7c4e4ffeb7dfcbdf08522646db94ede013476b9443f538a34b50089c704afa86663c0841218da2ff6f7149e8ab3d58462049d498fdd4ec8c9debde54ba0eb437d93c6eefa204ddf8dfd363bc0d72ed7410d20df9b8a4202280b420526673e11ff52451f32833bca8dbbd991adbdbc65becadf173bcdb2a39f36e55cc58df96bbc3455a77bd9ef29285b7f1ea51c6d55d8899095db568953cd55fde0040113fa37e030000ffffd4b34516f1000000", - "11b25447579de2d8cd07ed9397c3783b": "1f8b08000000000000ff6c93c992e2381884ef7e8ab9574cb46d96a60e7df8b52253bf5d022f23dfc0500283dbb85864fcf41345f56d4627c5979907a522fffe3a844b15ff45f93255425148f9937aa8144d6a4a61272d3845c02a9dc831c4e21ca4e3e39c053b8bb35a57292c88b5ddfe5827ef5a33a84988fae23caa0dcbb596dc457936f014099710649c125ce8505cd64579af9ac9d9a4bc40a29f1ae931ce427153bc7c78a698d4eb7fe27a33f01249f51ddea3de8ca2df78989c76525c2bd99fde9af8be49f90712ffe9811e8badec07cf84fcf6ff66d809e73f90c10359e612a61ec8c85a387ff866eac9bc2f88e2d2d3012262e39c8049e194a7b844c7bf9fa7b83b3353f4e7b2797d6c9ad31e97c609786a738fbb2035c5d82e7f47fb4d139fab30bee372e6e6df61c648494a199c374772af9aeaf1d6e46353046e23b39b095faf1e8aa3e3cecc176da986daa7a08dfa7367a02ba62d70b5df4551fc0348ddcb9f68a3d0eff3f2a0e7196557af999ab0aea44bae9fc7d14b176dc2b4fbf4dd703fe16d9eaff211578cd84e1551fd73f9a8b6a44d5cc02669bc882f285be7316b58bef4df41cf7f10d00c6c61ff34bd8db47e7e1da517093a13c42121d67e12cb05d115831ad0fb2a6ebe44021f330e35007e99836cab9c3e225d8012653a8872e6a81a8bc3e4bd2da6fb97a86b2d14d9aa484edef43499f5cdc5d4d3c420b492d24eae70fc4a0029f81520d754c97532e2528c0c6baa647dbfcdceab08382e56d78337d8373f757dd9b71d9f95230d0732eaaeb06d0edde398bf066245a27beddcbd9d9ecec5cb6ec8135304e4f343b51f25fcfae53d17c163f6df95fc1b0000ffff161e4ba542030000", - "148e9bea854a1e67513e6329a3a6763f": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", - "157a03d5cc512a59a5e031f007911242": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", - "191e7011dc62eb84a93de49b32f5ea78": "1f8b08000000000000ff6453cb92aa4810ddf315b33726446c6feb6216590fca520b1a28d07227b417047c74b798c0d74f8813338ba955c5c98c3c8f88f3e7f3112ea4f707e5a196aea4a0f9805a4a4afa51520ac728079404721982d7e7b7fb6d39fb5ea71abef4859951f889487323d7d7bdec4b9b034a3c68beb114540226312785a249a25ade4348722f21906b5a79452aea733a5d35872d6fdd12e2d72cd32cf18af44484959dddc638756f9c79eb32885e0b574d9de4cd6c27988ab831cee2aec20cddc0b0240818c75969a2597d14eeddca445b6fcede23d57074d1ee14834eb1187d263bc5c8c145bb7f61f25f4c89aaa53dac9e641601a3a14eb40a15f21783e4786366dbdef6e745979eeb4285065d18664b8e136db66f79785915e9d9bb5999e33d541820cf878535c7fb20ed3f657ca7483ce404adf28dc39bfdae28d21df9d947b3d24a1d1bb71a34c9b3afa22afd8f401292e7fffc1521e8518088f468323fdadd488f94d5467dafe0d39e24ef960e96a9a8e8c5f58b4724a6df55bdec26e3ddb46a26ac2e61f16ee3c99eb971de293e1f3524bc56fdaf75188fe9f1f7d5b1d13af4e03fc358067302bfe79c80a27030b87ce611da3521837fb9464348102f01a5a0f4474010bb0415b114cc9ffe3e397232c6c055a09e8770fd3ae0132ab9f47f54797c2f1ffb6c67cf2e6171e1f3c9bb771ad123b5b02ebc8bbb4f74fb26c6753b577015947e8948bd2d0635760e8ac75406cc46db54a391d7463f17f3dda4ac6f3fc082c9adec3af44e2c5944a739779b9933429907d347537c6cfceb21e1756ad3a31699ba399bcd61e5df117e71c48d338d036b5c99bfaca116dc63ffafcadf010000ffff779d601347030000", - "1a70bfe62a3dfb8acfe032c4192a2143": "1f8b08000000000000ffbccf31cec2300c05e03da7f005fefe7b375431b050961ec0240f64297122d74888d3a394850b94d1d6b33fbd734d9897750c4447e56bc6486e0f04a2290bd4e7e594a02e3781f510d104eb6364c7489123ccd7ffc8039e5c5ac6106bf9ebcba1a16c07b3dd59e5c52e55392f2afef592e2c604a20b60bb6b0db04074484574778cbb127a2ac17e50ae7e9cf00e0000ffff1e34df7fd4010000", - "1bb604b61a24d1d39bb7ef39a08abf82": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", - "1cfa8caf594ef8afece24c016070cb29": "1f8b08000000000000ffecbb5d8c1cd7951f7e3faaababa7ba35455996690d6dde2a51d2702d9255d5f5d1d5a6f9e7a54dca04cde5c2abf5feb12fcdeaea6aced4cc74cff4f40cc995cc19d911360692400f4aa0073d6c82c5ae810488816c003d2c8209e0048b6c36418005e2873c08881ff629d8204890a73038e75675f70c3fc42c1c20083220a7aa6edd7bcfb9e7f377eead21e9ee162584d0efb7eeb2830372971f1c1cd003b8a7077709b94be10a8de4ae76a0ded103fae82ead1ac8ddda81baf247f85ac7c7037ac0af7c8b6b84b29a5eaf1b86a1698c304a0c42584d378c0621049a6ab44628e1468dd408a3754d5b8266b3a953ad46b7e9a953354ec929fdabfc80cac3c323621e10f9d94f16aef5efe9fa56be359e3c6464a9d71ba4d3b4978f069c9abdde5a9e6ef7fae96ece99916e6e8eb3749a13ba34c8670facb93b4d27d3de7e3e591f3e24bcf12a25929ad62b5f3af592d530cc335f5baa5feafc9ab7f47bbff3ad1ab1ce13b34de901bbcaae0a220fbed72270d322922e9b82486a690ebddea2822e9b1621aa6995982f43377abd4504115452ab669a6b941ebc4ea4d870f83922b83c5d0862bd0c13b3ab82afb233d09b4bab10d47a191a5e8179b9340ac15443f37a8b092e45710ec9cb0349acb7c913d7654a0f80acf5aacd045b364d644230eb2bcbe697ca7782096e9db635a12d9b2d72ed9ffded7ff89f7ffc37fffe1f7e7c004fbff793cffed5dffd971ffcbb3f3c301931cfe0f2055965b8540277b345bdf9c44b6914ab8c38041e288aa3669aaf5552fbe9e11191df907f797844ac0b20aee7bdfa33461988ccda70d83945d7264a60205d79486fb688609244ac098fd6cd16552f0eb53bf04650f9ffedc8433ae99297f049df9f35b4b0a1b92f9777e4e7d0d094dca64d6e1e1bb68c4f2fefcbbfc22e272779a99a6436abd46cda64a69289e17014cd3b28186a2d63a3cd4d25435e08da25a01d6896b48898d164c719685524cfeec823c526b3a989fa5d2e473a5ce05881d44821986c82155d7ecd144c5a602ec4fc1b94b2835274a82e568edd10148405733854f09b2d2698a45398141a6fad385492efb6188e642da57acd664d5a2e83492aa8a5dbc039982c1134629a2082458c98cb260e582526f852367302d028b240a033934681a62fade23c233127aac9802663d62428de198249adc0e880dd2cd7a682a163086a5e421b4723146c5148ec9890c0232ebf2689f96dca957fd30b043d1bd726a9cdf9559041616b824b5a38cce642c33ea6a996a7a9c51253fd5b29bd4b9255f68b0faf3a2019b6728a1042cc3709bb2afff2c32362091438de8387586f2d9bea8158b66992eafe4d731b8dbd1ac4eeb49e78567dc197df524ce333b76c54468b4a329b5b70ebdc32d816aa1ad6756bc5ba6cb31939c1cc3adcbc46cc09e707f4116acadd7028f89ed5b65a3613c4f2ada6cd51298259a1a0e7b9616b8259915d4391c6113b23a8a845ecb4a0428bb905f288d83920193121a81485fcef8748d447855b2bc4fc078cd64a7a1a8437bb8611cfd6e162d875b868b6011762f32a0880a07ff693ab92de681149ae7d70787868c5fc673fb90ab220f0f68fe16de1d422b81335c96eb5a82934b0352e0c5117ba15080d74b92a34f9c9e111b2aa491a3101e3ffc3875741eb3822626f0b8e39401265113c820e8a8f5f82c2afb790eae76a14088908bacaac5384c024e7b9117321e09528045b65cd5384ccc89838ed4181938a9aa4b75bd4c4a422a8f57562febc94d11141f7018b0547e6e8935a016a01e9682a240ac1aed1989f16e0cfa70b581693abe865daa297ada297698b5ea6e1ddaa60f2dccccb560bcb7dad724a4703e64504de2fd8797e3ae646c54e0d237f99067478a8091dd380e0d0d78821f4214d747e52ea14e304b81495cd42ad036671704d3541af9198810f35a50649b745f06e95986066e0d868749a323388b77feb8323327751c1e41129ce11f33f51aa2d48b1145dc97d8bfc9f2743aa64489f2743f3d87af9e27adf5021d7aa422e856cc904019161f03cfb1a21a646f09734cc7f7b9a1907f4d12ccbfe57c8b292d89087fefcf17b775a7063160e950f766c95df1ced3ac41abb86038c7d64599e051f968f1f3faedf4264a30b7acfa11bf2eccebea43bb09ee986bc52d835b4fb0d9b55d909dc745ac88fd86cf992402090447e15dc621fe6103579f6c6cad4ae4b621bfc6a2939f960c769401223a221f886d3c030291ac0bd6d8846b512db68a2c1bd82241a42170d41455d7e6d5f6a3ba05fa4fcce0abc58b1755197746ad7056d1148ed68d53a267a61b498092c48061ced4c215b0aba3111da0eb0ce553e10746367edc4aab8c9e74ceb82df117ac9f2cd1dbbae1664393a5a02f269eb60eb86a8afc05204831b067c08bd454c615c6f55c0e323ae5239ea5bf08d3b2d0651c4b01c95c5a505ef0cc1259f80c9188243f267924e940bb102b337f63d64375b15847cbd891331c9f71d26f9140c598563957175c8782806b683781682b7820a42176c82ee0ec989831d1a9539a2cfc2850104a2a68037c0d28c3f0427282c64d11486348a65730e688863480b2d533e00e3326fae385cb17976c7d1f761ae1dc439289fdb2d2e28809512b93e4b4fbad20fdaa7d0ed3a5a9a0e8aa16003a501d1eb2dcdac74094ad40583f5de74745011853cb302f663eb4d051ea83cd8052f600570392d9c7a6574205105b628c016b03da370ea37809ca88398ea422fc54484211f097e7f074300540b7cea544aa54aa973a135b9593a1815fa5432a1cfac75c7a916afd43a67e7057960150fc0beae58997351078b993a0c44c3178d8c2b232b4db6aa97f8be6354c68518f1136ed3b9a21b920a038dcc4023636064252f0d61a09131db30957519603d33eb828b113103fad623f60957e1f2232ef4656c3bee22f5d93aeab00e3e7311bee022cfe15eff62eef5a770af03f7fa09eef5e3dcf3927b06dcc3f0fa719fa93fe933f5059f997bce471c14734755761f63e4b8d5e21827b9fcc7875ae1e8d2dabf0aa67970a3a503649b3ac6f596ae90f5ef73a1cbc3c3f7779c5ae1d0089eb1fd0fb80376a0430911b13f40bffb94032280b2f0a7bc70349baa08489cbaca7b8d4218375a5c593e6d9166cd348f49102d4897cbb7b0a2224a0470fd08402d9bd91c2b1ca6201153eb9f0521ec4a4ab3c4f17580277393d43146493ec18c077360d28d98cac8cb6625b73f29754e8501400d1c21627f02c59d7c7c3662475cb5fc1444094bfe635e48a2a0c93fe2058015c2d11951c085d0d1c750fdf29542d42b8a0e9587ec9d1629297cca3143feff28ec8f01c4d2927d8892721521803c3c3ca411fb8c639a5b65cd16240efd760b43d1ad1614000d512b145e509aa172b9c054241f1425192af40d6515a2563875842d0652d5e5fb8530903074ab3f49181305241f87e188191990bc8e04f4858c338b172863d51b240cab12c6cd1510ad3044adb0eb4253d6501a8fa8df68d1b9c930b35c3151ce021730ae72b5c7939e0df2303620bcf3b9477cca05c63ab43c9c9e5d15752c9a25df91f41d558909a6c45525c8bae534a9a9ba369d065c0ca77603d15b039cb7014a2f5d1d6201c44dc9f7cbd0a9033f688e855d0777068af2d14e259f99a46661932fe4666ebd0eba46d3fddf989b95564bf35096c1b10efa98cf995473d232406188297b7dc49fb6942a9b2bc556600ea2827e0b8330e8af508f0cb56bd8b44ca4ffcb1e01194cde054b970f30400af0be9b2b4e43ae404f00eef692682890af103d83d0bc1433e3e96e5c39ba20f267bc100d6914d0da90670a15e2243a731de389436f812f37847e03516a63ae6540a1fa865371dfc0c245ed68957ad605b55e2fc50b7aae577aa68b3808902ce8b98e7a4671d5cb542deaca63c1c230a5182a953755ba69aafc6e98f35c70bb32b0bf9e2333f39f42d90a5c9c9e417cf04f870b702400b708dc5e291c28041d6d0581470d2b0a0c23e8da3565867ce6421cf70e84b6626bfcaad06c9d5d153587c33c9a9a406da7da1a58ba65d74c5103c1eba83d7053a8d62b40b4cace54b0cfa9e106e73be8b7584a71dcd522a828ec0a1eab2de3ee9a7c05528c25e88d95a2ec7dbd45cb9471ba42f158d021ef969af4f4bcfa50ef20e4a32d95afcd7fc1a876508619631faa7c496c702d7916cbd3aab0625217fc9ea3cd0a2bad2aac009242d56ca90af98c2042ab1639df43a9f6036b920a0dcd46afc203018d20a465efb4a8e0b6a6fcbf26f4120451155f8163dc3ac5124dab4a344d956890e6c03766c5154a188a46260814564468368752b6a205aead81d689324a4d4524dc483aad560311096ad865136ae3391b60d665dc8231e6e7356a1c48dc33124cfeebc7efdd6a11690956160a0c0a05dc6a78bf644b87bab6be089200f14bae7c09628621ea85dd1075a1dd5115c4a75c346eb44aa40ab71cbddad125db69e902667496441d229876a7a535755368e8d23598446a93f26e437e7068dc69d59a80d584b6e1200ae5a22634c0283b13a9a2b4213485457919271a339087db7bcc7aa3c94b172ec9de7ed6344c51e2f3e1a59333f06cd437c66f35cdcd721fb8e40e71186eefec88fa7cda3a4ccb663c0194445fa6e6b3975205ec3a6e8cc02b4d590486c667005eaddc35104bb308d9a8927043c5980698514385da3282344e26617d9684e7c81f18057b78b6d84b5eb527658febac3f39fc845c4c4195508860960dfe008ba682e14887438ad22402969d950d87c3ec6ad3167704df146cd914dcfc2f1ad50e10bbce300c82694d52287835345daa32aa06bd9872f94f20176b1b0e463a7474be23f93b18eb50c682abe60a822cd43e112300844b33c60451c91d637bad2c5e55c55803b9d7162ac652eedaa2dcb9e2b9c426e249b2b35d093c5f9921353e476a25f3c781079402b3fae0c44ccb4fa219d5fde3e3dd717a9cbcac35cada03200b3877ad142ba4a09944782511ae24c2f114e24695089a2ad23f4b224f63f718274a47e6b2f9e426cdf26c8f86cfcae8393ed024246908f47c5e3e13c5862678593e9359f94c4e94cf1075cdbf53c7a40ee19061f0ac2cd6a185adcde2265736c84b1b64d84b50c42ba5d2b0a48398af3c696e831425bd1805f02c4cc984095a60d8c7f5cf8130ab84ce94d0d90b98215f3043b069dc542f0d5113fcd9b491d2cc10b5b9216a330d2d1822457c0a16f9b4555411776688b482b3b3ee58ff9606404e9a22c6e9cf3848f78e4a459f627d5a3afbc7dca9c9f32823a8bd6d86289ba998008854e076b456c0033395dc1824e2f2e8fb675ced07b5a0ba55874d0466012b2da0542eeb2f00018fcfe2af5b2b362bd77504d987dfc6847f00281c2297f21c5a81d7b9e768951235a5448402285ead52a2f66c253e4dbec704a72c0b462b608daa0260ad663be2f20083c011c7f3ce85b5b3596dbf6c2ecf40b8f61410ce67684a9b83f0d2c9b8d04a10aedc5c391953fbf20bdbf3cbcf1431591432b063fe15806c0573e49f3f7e0fb031fcbfb5e2d00dc14a0c7f12f7385a219b8565e3b91554b355bd48410235c1d0776d0a6c3300483a5665301e229eda31542100250daeac68a24f6fe08140bd824ea2566e46951911025b0dc8d4e61914f74d8fa7cdc52dacc50cab4e8d164e7df07c979855fa63255d2cd2399ed7dc4636003c2ff28020884326d416f72ccbe457d16542b3de28f73739a4dd86ca7a5f26e62922ffc90747449e923fff407dbcc088b949abf353fcdc439d16978099cb338564eaeeed42b6f0ee1a8b019dc84f7e748467331cdacf410e96a200d8cb215dac628356444ca80320625d24e678466c76c6a3292382f557c4d88c1853c498fcecc747e541101263788a0ec4181eb1033d06ac0b756af5a73f3e427adde3dfb25cc3635e7e8dc6d51acf00e02f99c68333a5b88bc4f49e7b1cf517e5191693ca6badaf12136c37049310d44acc9f1bd4a88eefd48734e78a4aaa412158595469e52e5e977450c858a44128015f55f23e841f2de686e25554874cc8365c2c95a85d75595d2807303ad655ee24b68191d36940ae128d5b2bced2f51695d406b331a0963456c1a85659f314252d4d18b259d84c525bc7208ce526eab2263560fe1423d7f13b04ac1474b17407bfc978bfb04b8214b5613351834b0d49e91023f0b45c945fe8c0fd3945f47ab9957a9c5da60e5ac1032bb6c933d9e625dba20e35754d710f92910f0a3c83c4da5c5ac5054250e8a2a65041c40c496c28e6e7b0a0a68e365fd208659c98a2561ef9aa45e32956d9e4e0c97fe0687754fd0b4faea8ab330af0cf97de6931515f656471bcfcd30f8f08d407d63788590d5b5573bdad10581d376956f1653511393e91a90ce315080e11b34e9484355c804689ae996a7a44d16fbfd3a2cd9a59e9523522ff54f14e90775292d4505978e4dcc48d66a2f8125507bed0a15a18510bab68d89a29a98d7b0e9a723d8a5b0f28c5ed02c3e90d85f1571dad948126d4070a115bc57a454e95df2876c99d56296a74185b2bb37175eafc84a1d64a43a5cf32d4732f6ca89a89e59bd06f97e6885d0da8d2a6e5e60c648c85512d8e4a06f9fcf447ea2bb21fa9402c3f03796982a0bcb83a1217da89afdceaea13a1f2da34bf8e220693c6aad338f1b14f1323bfda177c62ecf168f5178cb303fa88cf53817c4bf98120d73efa37e477a0bb5d0334f516ee6371d928041eb9bc5f001c814e874e0d2e8f7ef8474e5d3e7ecc77e42fc9c831249dca5ffcf888149708f9262142978f0a511786fc25d9dc50fd4ef4d040359a20d71efff37f7fe907b62e6a36c1b36374b83f7274f91fc9f710ae0313f251e16805b60b7d4e577fe6fc66b955b2f4dd9373e8277a62fe561d0eca0e6ed1252576832420ab190af996d036ac2e7e84e52aed7d5ea3b5f2932db0bf6fc8c3c39f93d926f78e43f1ac55d40a75ae56038b33d4f783babc60d72b46b51df53d8002b30d2824b0f8b49704c38ddb067e13268fe88e3ca4370abb01c8b2b0a95802be97709fca10bc108d0ddb4027ac10a0a15c8ea85339eb9b6aa3e834005841e499027d1a6c17eb175206bb86306ebdf0285c82b1833b1bc686dd80285b7e164505b9405c67492c497e63e5258d114a98291a18861b209386a4fb36854b01770db35c192fc11fbdae8a88d31888e0d7995566298737f1eb538a875ab44b20a4b9ca3de66cff0a5952073d2553f4b94c61bbbda4789b090ebb619c50b3db0d6c531faf9cb60966e10610c0ef43aab58925dc3856d3e3b1d2e2ecb3b592a752227f6d4aa629a8f96ef5cd3145dbbe5125e655dcfe9c99020c69a97257cda77a30cc230be602b94c3323f5b12e827d825f3772b4ef2e519fb3e1777d68de0c2b20f59da369fe598311f529f62f6a8c10a295ff7979ad114274a27e2821a44e08c9d2cdcd7c20eeded99eae8f47ddeedee8fe24dd5e3d7f578c472215777f7d3ccaef8afd74732fdf9d649736d7fbd978925f1a63f78b93dddf2416f93221e47729c1ab4108b14a7a0d42c81221c4248434cb36b89613e1a7de9726e9fdde7e9e5d9cec66e9769aad4f1f8af17e3e196e8eef7f4a2cf21598872bde971778071aeba341fe408cf7a6623c14fdf1de68b0db15d3b55c6ce623b1be2b447f6f8acfaae3faae20e497c4220278a11679f957b17e7a7cfd8b9d7637d7b3fcd2d6787071b2ab58a8989da4a37bb9188e2702fb40d3663eba375d131f510b75f4f7a8451c42c8036a91d38490b5252503d7753dd777db6ee0866ee4c66ec74d3cd7f33cdf6b7b81177a91177b1d2ff15ddff37dbfed077ee8477eec77fca4edb6bdb6df6eb78376d88eda71bbd34e0237f0023f68074110065110079d2009ddd00bfdb01d06611846611c76c22472232ff2a376144461144571d48992d88dbdd88fdb7110877114c771274e3a6ec7ebf89d7627e8849da813773a9d2471132ff19376122461122571d2499245390db7a6a59408f97d6691570921ef6a84ac92f9f35d8d10fc4057fee2c323627ecec9fffbf9bffbe77fbcaa8dd2ad9cfeb757bf45be8bb1a2db2d8345b7fbfdf4fe0ff2ecf2bb6fcb2bdd6ef53723bdf551b7fbde7bd9e678776f92fff087ddee9a1b058334e874d2be9b26c33ca1b3bf36610b7f6cc28ffdad89d6ecf5267bbbd31ebeaebd543e95ddf5ea79a29eebdee57745ba2bc092bbdd74f4b0db95a38757badde9c3edbcb73e002612cf8b22b79f06612748e3d8f8e221fd611676fcc86fe783b4ef0fa286ab3a6f4f27dd2e50ee0d26e3eddefaa8b7bd996679b7bbe6e75e16bb03df1d80f377fa4b5f38a2edc7fd2cf4f2761cba691c78e6178e08865ee80e3b993f4cfb8330499abe1a312e83a70aa297dfbd52c551587c90ba7e98441daf13255e96b65e604c90266e1ce4c3b4dd8fd370d07fe99b97dfdcda9b8adf9e4b6db835ed767f7bb23ecdaf74bbf7e1dacbd6d249b7bb96f7bd2408bd30f1bc78d04ed2e58ba5f1a0e1a0d55c81f5ede6937d58549c059d240d632fe884be1fb5adee8b10c3a6b5a13f70c320ed0cf3c80b93243bf542637741c06b7edf0bdcdcf7d28e17b883287dd9df9d0ebadde170bddbcd549f6fff26fc1e4ec65b3d54ca5a967792b0937a5e120d82fe20fed20f2ee3a0dd87bbbd6cbcb505029dae4df274d003cbdeec766fe50fe7bc8cb777bb5d506ab7fb9dc978fb4af5b0960749126743af1379fdcc8de257629cb614dc201fa67b9ba53ff4f2c9643ce9ad8dc71b20803cf4fc6c10f4b34e92c7fdc1970df48df178eb55b3d79b0c36d5a0afb4d443e943a7cbc7d285be7a0a07f5f37beba3dedee8fefa68f05a880c6ca7a3f56c637d74afdbcdc6a3e9fa682fef615b29ff304f82a1e786c130f7e324cb56e293c3706635e4fefa74ade2db1ba4d1304dc370180fb3dcf7cfac5d7e1182bf01b7bf913edc1ca783b958b143b77b6dfce076fe5b20d5fef8416f2befed81689376ec79edb4ef2551e2859de1d7fabf4a4af772104316bbc3ce30e984d9c0cfe2a0fff5a5f9b2cfbe5cc62b15e2b04dc8c1e656a5dcd9dd776677eada4b37d7ef8db6f2119048ddbcdd19f803378afb6e980cecf845a680289384e9301dc6c16018f87edb75befdfc817ba3cdf5d1466f339ddc0397de1b81ba3a83c1201c04713f1a04791206af7fc124eba3dd7c323d31493f4fd33c8c8771e6457ee646e73acf9fa4b44e587c278afb7996f9ed4ed076fbc337ae3c7fe4607d777bbcbbc07e3ff6d3b43d6cb7fbc33049fd37c3e78f1f4e72884c79671807913768fb61160e63ffade40b649e6fa1cac0313a11acd38bbc4e27f593e16abbec335bd268b0992f7a3444a441d677fd6196b4bdac9db487e7839369b782e8bd0aa243081864ae3768bbfda81364c324f8b52f4c23fd30cf079d30ed0fe238cabcf81bd182752b97509ea0307d2f5bcb331063de0efb49e2b6fb719679c3387d3b50e3104397971e02edde663eea0dd3f54d4c8c61927506ed20eab4bd4e9a5d38ff746a1015622f8a82be3f6ca71d50f6c50bcf604c459f280f7d40c2fdc40bd2ccf32ffdfa42c81fed6d75bbeb5bdbddeee5f5adedcdc56cf09df5ddedcdf421e2ffbdb67fa56c5ecb53d71da6611006c3a4edfa6df7f58541983ac096827e906549bf9326be1f0fdade0be08fdcede7fd2488079dd8f532d7f78f45130c353747c33158d0ee6e7a0fc864411e85699406837ed88eb24ebbfdac3108a13095aff9717bd80f9270188238dc30b8726cd0f7663dd747d37c324a377bd978b43b9dec655334c04194c5d160e87706491207a91b5e7cc6f8e1fa2630390813a8583a6914b86db7d3899ed57f737d04fdd32419b6f334ccc3ac3f1cf4c3d87d46ff6cbcb9b7052b4af3b01f6541e2fbbe1ffb91df0916542227f7f6203cfec0eb7677d7c6f77b7bbbebbf0b74bcc41f7a419c055e3cc806a1975c7aaa610cb7a6bdbd28008f0822cf8df2d873c330f306fd6eb830e0c678b2954ea7f904181df44076f72690dbd73ac3a01325033f0bfc7610b687dffcf68b0c5320647b920fd71f00fe6977fa01c4b741e00edbe9f0b2be956f65db0fc96f35b627e3c15e964f7699b1998eeeeda5f772aa7d7f6f774a9adb937196efeee6830bfd87b40609267bc3bb18b817dd0ba3f57b6bd3cd8762354d833c8cb3b4237cd74b2e78ee85b677fe7f060000fffff787a040d93e0000", - "216fab6231115b24c6feeda8a1eb805f": "1f8b08000000000000ff64cf4d4f834010c6f13b9fa277634aa3021e67a6c3b0f222bbb8d87aa3e5a5b4dad8444be1d31b1b6f3ea727ffdbeff677c8a2b2596e54092f3c8b797dad4eaa24828e21c554703c4991de3f42c742f4f7078e50dca11a1482d6dd53dd54d8567d815f8db74bb64ee27daa2353b1dfe2a10ffce62164d32c01ca85b73390118079b57691f9daa5b65d9bcb77e24defe179deee65c2443b6aecee36cf16bce832f9714879ad89dec6835e5909e0a6fc88e7607adb1f732a37a720d214b872ae57ce15c0d9f23fea270000ffff5e627844f1000000", - "24424a4c2a6565a09b5115235ca0a284": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1f6fcdf6081dba345d7200d5fe1b04b61c14154a4f5f9c2e3d4146a15ffaf82f2d639ab721109d946f0503b93d1088c622509fe67386badc05d6434423ac8f891d03254e30df7e13c766cb5fc493eb5a1053ab3f7d1357d4fd6ab285555eecd294cbace25f7f29ed5620ba02760cb9021688fe73153d46e44e859ecab0a36ab60f16de010000ffff93db101ce8010000", - "2473198f46be236809b2bc408138ff1c": "1f8b08000000000000ff6453cb92aa4810ddf315b33726446c6feb6216590fca520b1a28d07227b417047c74b798c0d74f8813338ba955c5c98c3c8f88f3e7f3112ea4f707e5a196aea4a0f9805a4a4afa51520ac728079404721982d7e7b7fb6d39fb5ea71abef4859951f889487323d7d7bdec4b9b034a3c68beb114540226312785a249a25ade4348722f21906b5a79452aea733a5d35872d6fdd12e2d72cd32cf18af44484959dddc638756f9c79eb32885e0b574d9de4cd6c27988ab831cee2aec20cddc0b0240818c75969a2597d14eeddca445b6fcede23d57074d1ee14834eb1187d263bc5c8c145bb7f61f25f4c89aaa53dac9e641601a3a14eb40a15f21783e4786366dbdef6e745979eeb4285065d18664b8e136db66f79785915e9d9bb5999e33d541820cf878535c7fb20ed3f657ca7483ce404adf28dc39bfdae28d21df9d947b3d24a1d1bb71a34c9b3afa22afd8f401292e7fffc1521e8518088f468323fdadd488f94d5467dafe0d39e24ef960e96a9a8e8c5f58b4724a6df55bdec26e3ddb46a26ac2e61f16ee3c99eb971de293e1f3524bc56fdaf75188fe9f1f7d5b1d13af4e03fc358067302bfe79c80a27030b87ce611da3521837fb9464348102f01a5a0f4474010bb0415b114cc9ffe3e397232c6c055a09e8770fd3ae0132ab9f47f54797c2f1ffb6c67cf2e6171e1f3c9bb771ad123b5b02ebc8bbb4f74fb26c6753b577015947e8948bd2d0635760e8ac75406cc46db54a391d7463f17f3dda4ac6f3fc082c9adec3af44e2c5944a739779b9933429907d347537c6cfceb21e1756ad3a31699ba399bcd61e5df117e71c48d338d036b5c99bfaca116dc63ffafcadf010000ffff779d601347030000", - "2577c465c77ee6631778681231b52afd": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", - "25b4152de41b0df57d18db81b636bc5e": "1f8b08000000000000ff6c93cb72ab381086f73cc5eca7a64230ce4996ddba211c81215cbd33d88001df0f16e6e9a76ccf6e8e565d5f7faa92d4faff792c64427a7f111646924b02117b52434949969410d82e6ad012a196217c071fcb46635171b159a42ab40ffe755d6a52e772715cc9a9351968a9372dfb36147402de63868d2249a246364188b59720d411e9bca610fdbe98b9c33a65236f217ef5ca88265e53ec5018e59e0fb9d54fb9f5398a08b297708c98f8baaf2639acb2a62932bcae7ee66d6199a333c1e6e5a8881fc2ab515a5ef3bdffa3ac9da6f4540b5ab5f0ae687d7fd4e9834d4f767f30e3095b2c5470d524c86912048269378927162964cfeb11548bc0e2d775baba95fbf9298f58aa3078f60c1c95175b7c906c75cfd379bbcebcb69858a5d07c0aa0759a645e5fb61c8a997b50bb79bf15fc7729c6fe7befdd8c22c2954225f07e163fcafe829a0942feab3573c09480f8fb6636d7ee7e8c5c187c9887c74c0ce1e20391186eb26533cfda6c6c1fb59fe86ebe1737e7701a5c3ecf6ff1f2ee67c3f5641dce67db71b57bfc85bae4dad1fec66f0b8a674381fd38ea866a866f3a78cc971fe9eba59d9f98bd46575fb0661c83924290cb85ce1183d879fc0583424e93d08c2070de10a4060a97d766c55c0abb9a601a7f8e69a560e7633e441f7c3856bbf55902ef59df1aa7ed695ba9d545c8bfdb3d8505d6f5b9e95a7f1904146a4f02450e3b06f6c8de6fd7599f309badb77a5d1dfaf173fad519d930abbacf9b3daa43159fc3af8b6912e9c4915ad277d8664d48cdb78313b8cceb26db6fc95b6d55408fa6b8d78eeccea5f14c04f3e8ff53f26f000000ffff33c50ead42030000", - "2749db5b7c7daefa7a47056ac079e48e": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1f6fcdf6081dba345d7200d5fe1b04b61c14154a4f5f9c2e3d4146a15ffaf82f2d639ab721109d946f0503b93d1088c622509fe67386badc05d6434423ac8f891d03254e30df7e13c766cb5fc493eb5a1053ab3f7d1357d4fd6ab285555eecd294cbace25f7f29ed5620ba02760cb9021688fe73153d46e44e859ecab0a36ab60f16de010000ffff93db101ce8010000", - "29316eb7aad39120c720b4154a4e0b0c": "1f8b08000000000000ff64cfcd52833014c5f13d4fd117705a47b4b24ce825bdd044482bd025b62512b01f232490a777ecb8f3accefc77bf87df51602866a9c49cec6096c0fe5e3d8e6c4d14104e39a3d38d6db91f10052c0cffbe8535650b5b59a424cbd47888baca2d5be312fd7d74ca9b9bc69c9ff547f8da04d1007ec26f34d6d1d205ec53121112228bf7a97fab1e47a34569d21233babdee77355efa8345efb4e0d08b2fc1ceb1ac1bee63539dae51976fe46adad8211ea01e639d1fdba77242a46d77498b79f1a2bc3b00c4ea3fea270000ffff52ee3e52f1000000", - "2bb998056a14b0ba66102d9e2da77921": "1f8b08000000000000ff64cf416f823018c6f13b9fc2bb59a0581639be2fd452b0d5a2d3e10d071431cb329c43fae99791ddf69c9efc6fbfa7df21e342cdb6b938c09ecd32564cd5918227601848941cc74fbe933404c37814fdfd8125c8bda11c0482d66671ede22af8c275e8d686d417e7a49bb67bac1a92d9a5d8f8630fc6ae37e771975cda1c540490d379757bff28c36e1f7edfd28342b7e8cf2fd6a5c1835a276b9a2371ab7115972d06db67300551e67424a54f9567638cfad77a9950cdfdd45bccfdabbebfdd5319381380a9f83fea270000ffff3288240bf1000000", - "2facf2a57f0900858307be73ce414e86": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", - "31cb19a9c3e6f837ed81935061b0838b": "1f8b08000000000000ff64cf416fc22018c6f17b3f8577b3d8a8c3f4f84291228188a8536e9532aadd3466a62dfdf4cbcc6e3ea727ffdbefed6f9832ae46eb0ddfc3968e043d3e6b22392b20509058321cefccc87906813242fe7f470bccd2aeec3806ad830d04f567465481afa5f09764d57ae1dc349b9dc6433410ef06b530cba2b5a6de802200c64bbd5855629a0fe3cb6461c92345cda1ed51d91c3f3e93deab7cb7bd0171577573676ed5101ecb74eebcd613f11e5bb28fb43a7cb9f5e97b572f0d6aea0afd38933c0154e5afa8df000000ffffddb40f5df1000000", - "324f9215967e3c2f96d54f32b8ffe1f3": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", - "348d32f57f1586048bf3382c2d2a1fe9": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", - "35d4650a5b943111b94b92a7b0cf9d3e": "1f8b08000000000000ff64cfbd6e833014c5f19da7c88e2a1a20248cd7f4625bc5988f10011b0561d45610b70990b7af8abaf54c47ffedf7f43b8294c7bb24e31738e3ee15abad1a8253060a411041c943d35cb83e28a441f0f71764843e2fcdc209a4a992fcd376ac6361eead3c1aefa57165c92a5577aaba2cbc4c9e5992ce743ea650b78f2183380038b73e9b6d69e1cdef3c5bab390d933611ab5dd541631aef57f7fb26bed6633ed1914bfd16353e697a9762d1cf435c0cfb833b2aef544753793f405dc9de21050b8d0d80f1cb7fd44f000000ffffffa00deff1000000", - "35eebcf4cde7e931370f01aa7f6703dd": "1f8b08000000000000ffbccf31cec2300c05e03da7f005fefe7b375431b050961ec0240f64297122d74888d3a394850b94d1d6b33fbd734d9897750c4447e56bc6486e0f04a2290bd4e7e594a02e3781f510d104eb6364c7489123ccd7ffc8039e5c5ac6106bf9ebcba1a16c07b3dd59e5c52e55392f2afef592e2c604a20b60bb6b0db04074484574778cbb127a2ac17e50ae7e9cf00e0000ffff1e34df7fd4010000", - "39946a8e8dbdd9b56cbfa37045f66371": "1f8b08000000000000ff6c93cb92ba381487f73cc5ecbba6c06bb78b599c84100226dd412ec24e508308da5e30c0d34fa9b39b7f56a7bef3a52ac9c9efefe7428432f1172641c81c8621242f6a70c6f0f78031ec7c059a21502c801fe90d9de8f6316d0f5f6119b09d69e142639532ff9cb1a1b20868a6b715591a1c8e1446114125c771cc3b324080948811a8101f4599d3bac9275ebb4948e75410bd7b4568c7a2cc0f881a45e3b4e9b81ed2f157474358bf857348e8a2cf06d266ebb2ccd7e896ad66553eb63a7780eddbe1a1730a6e463116e5b2f9a3acddb210bc02cd2b18715bf5cf3a79b2e1c5fa27335eb0423997378d656ac75252a2bd381a48c811795d0f23eecbb173db24d9a36866bf6948128ee4ab67a08e8b68ecb48c647d9accaacd5a54f940f61c592f01b44e6412dc37c90cf28977e2ab59bda3cebda05dbd6cc4c3c8439471c429ea2f74c5a70b508462fc5fad890b160324f2c83ccff96f00d98f999c47c9e09bbc597ea6b7d6e847033efcbab2a6e5544bf3b19b7f3aede998e0fde9a3f859abf51c9b29650f709db9db39d5ae1d98e8f1be9e34556ea38bc161fa3cead6d604995a3ee7eb9cedf74bbbab88bc47a7ae481107c9c20699325fa708c9c87dfe05c386d48e032b04e99a0898061baeefcd9c78361c1446b30f6b3492dd55dc5dd11d6713b72eac8ff9d6d3518a16c65085787542f52a085a1c828f94ba94c7eafb474a1b9470c146040ea8f89c7f4cbdc36d3399e517596edbdafb2a1ec7436cc07cd17ffbfe7d6f22f37ebf520e4c897c7b8e77d628fd6d57bbdc5b2e8b6dc9a6f8325950aee411df274dba1fb5e73d8dfe315e8920c2fe7f4afe0d0000ffffa963854942030000", - "3ac9156724c363041ae471794ac21590": "1f8b08000000000000ff6c93cd92b2381486f75cc5eca7a654147f16dfe2e4078c98d8a141c41dd00e6883282807b8faa94fa77a339355ea799fa4ea4de5fcf57b11ee08f507e59e2f6c41c1e72f6a4821a8cb2885749e010a0299d0cab7ac45dc08d59773b338cd47307dd63eb824cbeef9f765f7a135830b19a46ed0a03a627bad1d8e9b7d30705f12eec024e09448579b761387c7362dad5be4f35012fdca48275560da4fc18fbd1185d6253ea84b32f0a324e9fb702e7532dd5ce5d92a4e8efd489daed896aa4d7c9e4a52bd1ce8a41f99fc69fcbf08271bc7bd64d04b16e08e895e3212db381ede4cfc30433a554707d8904ced09443e147b5f7a12f9bb9ae0786351d8dd8ee5aa4fca22975e8436bcb235c7896f44e12cf3ae9b3c29d52d35552bf51829be842d470f8fe1be97de12d7ef0b19ef8e6f46ad362dd3ded896fb59144e3071826764ae1ed2fe468ed1daad8e62b88c29e848fcbb67a053a633e0c9bcbbb64e33ee63d7330a3ed461bf7ddc83bcaa0eabc176b79b6439bbcf43e73b3283623719161760e2e063c3ce9feda44d6adcc5263d3cd775b15006ddc8f3f486e6e8ae94e40db22c627b6ffc017a3d22a01964279080bf5ffe8b232723d45402a08b2fef6210aa51549075416b4daafa9962dc264b02f99712cbd09b4cbf3ec52ad879b1f9b92ee7bbaf7ba091663fb5b80128d827007a5ae4a070d95ccbeb82c4d69ff1ad7d0443f578e8bfb176a78586d9345e04b3e9be68e090c31982d9a15f181f10826d8d1767ac8f93b0abe78a5bbaefe538b7bafbeae22e71a418fefa65bc7e3e57ecbfd3f04f000000ffff979595cf2a030000", - "40477c442328866ae2a5996bbf14682b": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", - "42aafaaf22a37ea1d401ad4bd740803f": "1f8b08000000000000ff64cf414f833018c6f13b9f62f7c558740c38b6e5ddbb3a0a14c60cbb41520b56652432029fde48bcf99c9efc6fbf87df3140916cb25c5ce8193627a8d6ea4881476a804a2691cd031672175203c8f9df9fe0c8904cf5241855ca5c250f675692973abf7e9d9576da288897a7e5356b0ed69c6e95e7b95d136cf54c749bd384539a2f6fbdba63a44bd77ea451e1f5d692fde5d1ecf478f79dd12fe6216b387fef7a30836e6a5e83e8ec902eed2d2e3f478242555ee21ff6a972b7cf26a8e2f03b0c9c150049f41ff5130000ffff4d8e3f1ff1000000", - "43559e1a234e5aebf47050ad21b389f4": "1f8b08000000000000ff6453cb92aa4810ddf315b33726446c6feb6216590fca520b1a28d07227b417047c74b798c0d74f8813338ba955c5c98c3c8f88f3e7f3112ea4f707e5a196aea4a0f9805a4a4afa51520ac728079404721982d7e7b7fb6d39fb5ea71abef4859951f889487323d7d7bdec4b9b034a3c68beb114540226312785a249a25ade4348722f21906b5a79452aea733a5d35872d6fdd12e2d72cd32cf18af44484959dddc638756f9c79eb32885e0b574d9de4cd6c27988ab831cee2aec20cddc0b0240818c75969a2597d14eeddca445b6fcede23d57074d1ee14834eb1187d263bc5c8c145bb7f61f25f4c89aaa53dac9e641601a3a14eb40a15f21783e4786366dbdef6e745979eeb4285065d18664b8e136db66f79785915e9d9bb5999e33d541820cf878535c7fb20ed3f657ca7483ce404adf28dc39bfdae28d21df9d947b3d24a1d1bb71a34c9b3afa22afd8f401292e7fffc1521e8518088f468323fdadd488f94d5467dafe0d39e24ef960e96a9a8e8c5f58b4724a6df55bdec26e3ddb46a26ac2e61f16ee3c99eb971de293e1f3524bc56fdaf75188fe9f1f7d5b1d13af4e03fc358067302bfe79c80a27030b87ce611da3521837fb9464348102f01a5a0f4474010bb0415b114cc9ffe3e397232c6c055a09e8770fd3ae0132ab9f47f54797c2f1ffb6c67cf2e6171e1f3c9bb771ad123b5b02ebc8bbb4f74fb26c6753b577015947e8948bd2d0635760e8ac75406cc46db54a391d7463f17f3dda4ac6f3fc082c9adec3af44e2c5944a739779b9933429907d347537c6cfceb21e1756ad3a31699ba399bcd61e5df117e71c48d338d036b5c99bfaca116dc63ffafcadf010000ffff779d601347030000", - "4756ddb5e4159174bcab6d6a513464ae": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1fbc31db2374e8d274c90154fb6f10d8725054283d7d71baf40419857ee9e3bfb48c69de86407452be150ce4f640201a8b407d9acf19ea7217580f118db03e26760c9438c17cfb4d1c9b2d7f114fae6b414cadfef44d5c51f7abc9165679b14b532eb38a7ffda5b45b81e80ad831e40a5820facf55f418913b157a2ac38eaad93e5878070000ffff703512f3e8010000", - "48f16a8cd7db11da7b6227ab07d93149": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", - "4d2ae5312bd6eb19177acf35a2c669d4": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", - "4f5ce8404764dea55a584cffb76e56ed": "1f8b08000000000000ff6c534b93aa3818ddf32b666f4d09b4b4bafcf20082060da0083b83368f06b5550cf0eba7d4a9995b756f96e751c93975f2f7f320ea30ff2f4c8388d90c43445fa8c619c38b0a6338e01c144390339184cb696334d960f30ea461f4299ecc082c509eff14dfd56a2d04810a0d5cdc94864542b642385479dbcd40238ea803c68662c417c2b46ffb387d648d7549221a73245e1ceab8bf31ed96d1b4d792d8aaf63bbf92034d39cadee6820bf9e19d7869d547c7be674e572f1bff21239a71747e69a0e35162d256fbb3108eb6d27b4ea0e764a35684f59ca0bdadf4e18db1ff308d3baac3037828f7b7089208ea6dc403aee83b1aa3ea4292b8bba4cdbc974d5df0205136bc38972a23d29278920727af908d7fc94cffc1c54c91b77949555a49a7aee54974ee0087f7259cdbf5764877ac13cebcd7d281b5e9ae28e40eddd2d0aaa4a9ab388208e5d9bf8d33f47ffb1c21e56380107be9bcd81e4e534d91d24d6ee3604dcdcd6789d6de94dc77f1f871e94ce6d1c068ca8f849f96fe4e36ad55b2afd5fccebc7bd17db6a3c9d1ef3ded6b8d8b334bbccd281ccebaaec20156cfa7ba6286e06b4611708c26a0c83377a04720dc3102a680c0f5a9d3dc90538f4099636287e3535cb6d6807ee60f45b1adeb5597babb83c12a4358f635654779b6cc4bf0cba8b4d7aa729f0141369414ca45d50d0d736f8b31960112c97deaad630b4fda6be7ca3eed3e17a5d74a276f6698b9df95e6d64ab7a632d7c9d2bb2d26d9848703db17c79157cb11b9d2d95df6f8ae6cedb57cea93df7fc33f010000ffff07730dc42a030000", - "53e26f1c6755797b0decf0a14643c4a1": "1f8b08000000000000ff6453cb92aa4810ddf315b33726446c6feb6216590fca520b1a28d07227b417047c74b798c0d74f8813338ba955c5c98c3c8f88f3e7f3112ea4f707e5a196aea4a0f9805a4a4afa51520ac728079404721982d7e7b7fb6d39fb5ea71abef4859951f889487323d7d7bdec4b9b034a3c68beb114540226312785a249a25ade4348722f21906b5a79452aea733a5d35872d6fdd12e2d72cd32cf18af44484959dddc638756f9c79eb32885e0b574d9de4cd6c27988ab831cee2aec20cddc0b0240818c75969a2597d14eeddca445b6fcede23d57074d1ee14834eb1187d263bc5c8c145bb7f61f25f4c89aaa53dac9e641601a3a14eb40a15f21783e4786366dbdef6e745979eeb4285065d18664b8e136db66f79785915e9d9bb5999e33d541820cf878535c7fb20ed3f657ca7483ce404adf28dc39bfdae28d21df9d947b3d24a1d1bb71a34c9b3afa22afd8f401292e7fffc1521e8518088f468323fdadd488f94d5467dafe0d39e24ef960e96a9a8e8c5f58b4724a6df55bdec26e3ddb46a26ac2e61f16ee3c99eb971de293e1f3524bc56fdaf75188fe9f1f7d5b1d13af4e03fc358067302bfe79c80a27030b87ce611da3521837fb9464348102f01a5a0f4474010bb0415b114cc9ffe3e397232c6c055a09e8770fd3ae0132ab9f47f54797c2f1ffb6c67cf2e6171e1f3c9bb771ad123b5b02ebc8bbb4f74fb26c6753b577015947e8948bd2d0635760e8ac75406cc46db54a391d7463f17f3dda4ac6f3fc082c9adec3af44e2c5944a739779b9933429907d347537c6cfceb21e1756ad3a31699ba399bcd61e5df117e71c48d338d036b5c99bfaca116dc63ffafcadf010000ffff779d601347030000", - "55a379be0206a813681e1fc6587b32f8": "1f8b08000000000000ff74934b73ab381085f7fc8ad9df9a8a4d6c5f7bd9124256b0c0c23c2c7680631c1e31f1ab815f3f159c9acdccd54a75fa9cc5d75de7efef471817ee5f94f981b00585808daa2185a04949291466012808144271bb68fcdbcc7217c5c535bdbdeb2dcedb001c52145fa7aaf4b64a59501253aa2b1a54692b528a337c8bc2810592300ed39051221d65dad7344e1e79336f75c06249d438239d7443d3be0b96f4868ee765ba77cb6c608924f9337c922a7b7dfb94bb79fdceed5bcebb7ad3b88f2c60474926a3073a191f783718da64f7ff37c3bb8d935e5ad04b2b44cf12bdb4486ae364786a62d48c6f51dad78e0ef0460a3722a003a8a340fa12d9134f306c2d1d776dd2acfaaca94fd2d768c3385b1b0ca7818e6785fff976ca1ab7cd4df721fd25ae9f618b75092671d4cbddfc913779b769a2998ea798f1f0aecdd5cd9076850cf5da39276228271494163f7f0b546ea902d8a4bf6de65eca3b273dee8fa5b737ebfa017a21a6f1c59868df5d9068fa914ef81445b3be71ebc1d8d182fae5debd5e226f7739ff0eefbfbf9caa2d0fdd6adbbf2c79d49c1c8fd40325466d81f7cdbe564b02c72523202949e189e04f6a42465ee1a02644856b40c629bd7250a14d505243027e9fe5c0909117545402a08363b82454a13843f17ebcb98750a643e60f79e21dbaf9deddde3f77b9cdc138e6b309562d2661156645850e8c619f5086eb9988731ed579f987536b611b3f06a4c5bfcb6380c2f211d00751a47d95392a766ebfe42e94434bb79b9766b6b9f3c5109c647b35d2b612dec7a5f2f74b2ad6b32f9faf5eafbb8247c1461fe2744597bf9c7db1d5efc339931fbb5af59b5530eca6c65825e65affadd73f010000ffff9fb6aaec7b030000", - "56236238c43d93a76fdfb79e14f73cfe": "1f8b08000000000000ff64cfc15283301485e13d4fd17dc6a9b5698bcb9bcb25019a1452405c629d2262b50147b04fefd871e7599df977dfcdef04c9c8cc521b9590d32ca1c76bf574241534045a6829be9ddc6b7e0f0d49c4bf3f9212f276acc74840963568e3aa5b1f26b6bd70ed82839738db7d72e30c3ed405b3d3735cf7859fc774777ab16010200babd7f376ad731c0c17cba0f3fbe551b5ed867187ad970a77bc2c2a952d16e369ff74b6735684e98a951bb11bb43f5f85547eb9a18fdfc0e2f4fec13a9b28dce5de154026f88ffa090000fffff036f832f1000000", - "5805459bcbf755934035c505de00f04b": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", - "58a0bb6b59f040b7d1650b5addbcc67f": "1f8b08000000000000ff6453cb72ea3814dcfb2b667f6b0a839ddc78318ba32732c860f981ed1d3644c68f0408209baf9f22d4cc546ab453eb5475ab4ff79f8f832817c11f98aa58308121a6dfa82585c019c118f44a831108b45010b8bf8f719af9ed61b62ba35dc95c672aa9c13a178bcf42dc1b9b8211a62474694968394c138a6a89d3540ef40e0ae92045a063dc0675c9bbbe74fceb764307d640f27cab629206757940dcaa7a76cd67dd3d9fbd0d8c40f41cf88cf12c75f3cdd4943cb9e633ef22d5a7e19093340c091d985dce83268f5e3a6bcfd9a5e243b7ec835b19c39e197b9404464912b3226294046d99b1ef4f4cfc8b49d60ef80ebef564cc63e8d2582a6968f8cd22a839927c331c8bde1bcbbeaba5ca0d7b2a9853338df38dabd5875f5b651f1cab597093ca36dcfc2351ddaa5e75559f8e41f4d2fd54890a892447e38947d2f52cd09463fcbc80a173b00520df1dc857679ff3f5fa753db9b40b273ea9fd647e3ca9ba9830d70ed44a833f56b3da1a45dd3a2b6c67713dbc20f276fe58bcf99950d37d6abc6b11d174798a98731a8645a30b6d749118a273922a7b0de17c62210809e88d96c87eac73e787e146a29063fcc5214c18321221adcf485386c28a4003f2e1db5c4904ef6fd48206403e86a7c94e98b09578010237def5d2f51138fcbc7072e21c7ea16c19649fd9c73b3f8495de6df7f5bd93fee9dd92f83b483b1a8607893166dc1b0b9e8e4526a6cbfe6716b4aeff33378605d2fa64d56db35a878f6f04732088c201764dc87a266e0cec5732d96b5389dbb04d0ab77bdd9b1647d3f3d7af6527d3ada785b692fe6042af0d8eeab7460e0e9a4c2e5eaa48dffdf9368b62e6d59b77732133ffe6fe657dd78706e4ff95fa3b0000ffff8ef2aa9e6f030000", - "58d942e2ac61d6f0af9e958eadfc4eb4": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", - "5cb60b0be2ef7cbf1a2bd352f6b8518c": "1f8b08000000000000ff6c93cf77ba3814c5f7fc15b3ef9953a4a5adcb975f081a3418a07127688320164b25c05f3f473a6716f36d5639f77df24e92fbeedff785a8e7877f611a499ff918249d548bfb3e8e25c6f071d4607c04da1751b9c65a25d16919ae60c977af7af17292b0445a5f8baa5c6f842050a2918bd65858289208e1511324f1482547d483594c31e24be1b0769feebabc761b2569ca91986aa8e761ecb09b4f7783a552b7dcbf876536d21d47f9cfe1828bec29b8f0ad7b3e7aec3bf7faf3aa0ebb4cd29ca3cf89819e4be5d09bf53b084766ec8113183889cd9af8032768cf8c3dfe68fe7f9ac517bcc723044887090225e19c481e71437f9ee653d31095f6cdae9e0f597d2e78a40c83a9b6a066262d953eebe81214591d36b913763caa0c3313b0a43deaf23aef5775f2acd299c9bcf8a69cf9378f8cf1f4c4108bf661a9b6eeef20ab0c356ab1fcdcf963696310caff774f40e44468a016a8eaedf5b321dd139b5d08dbf863670ef2588630b4eead6de7d7f609cf51528fdbee80578dd9767de0329d202ee241bad6312df490af6787a04a57439ec3fc58a7cbf09b7bad21f76b46f606c4e2118120a0bd9a23fbeec2211062b2d5c2b8f540c40c198e91d65f485386444e40c2e6feb18b8823f878a34802b937e2b89a1a102d4e08636239d1aabf7c1c5a87091b43b47928ddb76b5ddcca43637f258fc11efae7f54b248af27f93a8431f0862169c287c6d36ce2278f86802f711bd540d3cd963ab5ab6efaf57ec0ede7656e461bc355ea5b10fdd9a75af387e975f07fb7ab1d8373f9ef039cb59c69cb6f2dedf6bf3f0b82a3ab99d5b535c6848fe8cd03f010000ffff17359eef5f030000", - "5d24263f77728712a6c29557bb987ef4": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", - "5d5cb12d5fb236344d67c6f9d7a2c6fc": "1f8b08000000000000ff6c93cf77ba3814c5f7fc15b3ef9953a4a5adcb975f081a3418a07127688320164b25c05f3f473a6716f36d5639f77df24e92fbeedff785a8e7877f611a499ff918249d548bfb3e8e25c6f071d4607c04da1751b9c65a25d16919ae60c977af7af17292b0445a5f8baa5c6f842050a2918bd65858289208e1511324f1482547d483594c31e24be1b0769feebabc761b2569ca91986aa8e761ecb09b4f7783a552b7dcbf876536d21d47f9cfe1828bec29b8f0ad7b3e7aec3bf7faf3aa0ebb4cd29ca3cf89819e4be5d09bf53b084766ec8113183889cd9af8032768cf8c3dfe68fe7f9ac517bcc723044887090225e19c481e71437f9ee653d31095f6cdae9e0f597d2e78a40c83a9b6a066262d953eebe81214591d36b913763caa0c3313b0a43deaf23aef5775f2acd299c9bcf8a69cf9378f8cf1f4c4108bf661a9b6eeef20ab0c356ab1fcdcf963696310caff774f40e44468a016a8eaedf5b321dd139b5d08dbf863670ef2588630b4eead6de7d7f609cf51528fdbee80578dd9767de0329d202ee241bad6312df490af6787a04a57439ec3fc58a7cbf09b7bad21f76b46f606c4e2118120a0bd9a23fbeec2211062b2d5c2b8f540c40c198e91d65f485386444e40c2e6feb18b8823f878a34802b937e2b89a1a102d4e08636239d1aabf7c1c5a87091b43b47928ddb76b5ddcca43637f258fc11efae7f54b248af27f93a8431f0862169c287c6d36ce2278f86802f711bd540d3cd963ab5ab6efaf57ec0ede7656e461bc355ea5b10fdd9a75af387e975f07fb7ab1d8373f9ef039cb59c69cb6f2dedf6bf3f0b82a3ab99d5b535c6848fe8cd03f010000ffff17359eef5f030000", - "65c550a333766580098aa336b78b041e": "1f8b08000000000000ff64934b93aa3814c7f77c8ad9774d89af915ecce2e401c44ba089016fdc09da41203eda47c04f3fa576f52c6e56a9dff9579d5f7292bf1f0bd180c57f612a24f31906499fd4e18c6146308672adc132049a0988b984fbb0f98a653c993695f9aa48b057166bc57e1d56ec5ebb142cb36b4923874313c030a3a8e238cf7947ef20908e73045ae226ae8aa035c5787e5d2f69e7d790bd6aa524795c153b1438a5f1af6ad4ded5c8eb7c028b57e020f1289fa8e5d016417655a3f70b17a5f55345f23425d44e6bb598b6dbc0bf3865d0b591896f8584ad6fdd9e13e839c96c4258cf095afbd6bdbf18fb613c3877f80ef34733078192d0e6920b6ee9ab03a3f648d4b23baecc7b5f98b6e242591f9eb590daa154cb8916fb795598f8e894a3f8c60558a29f8188dacdad34a22d4dde73e1dac07e6b77e27fdebff41ff6ce4b1fad38e201ea4fc1824fde41d300e3efbda521b80c50329bcff9857b66e40a4dafe13da933d644cecc1065b36537ad7b8f6e1b4de68b743cdb20635b793b2dff314975c261efa61487a6f216b7f1f1eaaafde53490214e82da9112451c268f516e88a56860d3c78c434d803f2e29141cc1a747a106e0f8fccc319b361cff02969cb9536f67f56d55fe76a77b51eda9379cc5bb37bcc5b6ade2bdbfca653709066de77138fc1c0b01c7e06ae034c30e4bf147b8b894a4e5453e6724fe4c4ce85edf2cfe1a1c44b24bcbd1f9f745a849a4669966ba203b89e5069ba5fa5c41e639ebab1e5ec8c78c1e23fde635c7cd3841d22c3e70c4ff759eaf9dc6e4cf1ff05f000000ffff7c25d36a1e030000", - "68e2c43a6bd704be87766dad25e26996": "1f8b08000000000000ffbccf31cec2300c05e03da7f005fefe7b375431b050961ec0240f64297122d74888d3a394850b94d1d6b33fbd734d9897750c4447e56bc6486e0f04a2290bd4e7e594a02e3781f510d104eb6364c7489123ccd7ffc8039e5c5ac6106bf9ebcba1a16c07b3dd59e5c52e55392f2afef592e2c604a20b60bb6b0db04074484574778cbb127a2ac17e50ae7e9cf00e0000ffff1e34df7fd4010000", - "6bb2ab1d2c3162ee0d9f730c944a58c0": "1f8b08000000000000ff64cfc152c2301485e17d9f823de34cb102edf226dcdea634b185a0d65d1d693228162410dba77764dc715667fedd77f7378624d4a85c8927d0385a627dad8114948141904c12eb8fb4960f091824ceffbfc78c51e81b2f1854956916a8caf0bd6efd71bf4de265d03b3e8089da97e7947454b8c990d9af7d5126f06857a038803ef76b5de832770e6b56d878e8263ce7e3a9b997691a9cb6757c61d94140bff950e3a87a3de59bf9ecf37cd8758db1b1430676dab5f89dccde1ce5f3e612fef89d0dae00548b5bd46f000000ffff1c9d9553f1000000", - "6e11fe6062a36ecb9964c2c2c76489ee": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", - "6ef21145fdaefb158274a63bae6a8757": "1f8b08000000000000ff64534d73b24818bcf32bf6fed6960630d1c37b78e6031c75489061f8b801c64110881f64905fbfa56e65b776e7d85d5dd34f77f59ff787a8cbbc3f30dd0ae6300c823e50833386238231ec7f29d00c81627e3a7666575c87bcb0fba809f3137a5f0d15ac9152a7b2aede3f7c9f40852edcbf6803fb0991beef52bd92e1480547d485979062c4d7bee95cb228fd2e9ad9572268c491ffe0d0c0bdd0747a46d39b9144b32a8bbd2a1f69c8117b8a4bbe49e3b2cc6374498359959bd3c1ad2041ca9308b8a0f1f652985eb969a46d24d18bceddb04fccc595233b2682694e98f604d8bc629a3b5d4c047f60bcfac17444e88643ed1a0f4b25c752f2818eb07dfea204aebd32778f4d6eadfa2ca2835341f8e40a41a457e607e4168dd31b89791c13733e2c09643f16cdc52d75e52d8d59ff9f537424402055fc1d2643c63fc97284b48701c44649ba3567eddede8f97a4da07c1ab6cafceacc9deae732656594db6e661739c4861b5867538d9743a21c34bffd6469ff56b9eacf3a90ca6ad375aa2fe187869cde7c5acb3dd88335770b0ef41ef88a668a27d6a80664e476077b7bf0c42fabc559d91a20ef20b027ec2d63a41c80f97a099269010b99d0af09713044c1b40e0fc1473ba22705018ba497e4ed35a79c3e9763561617f2b791be5ab33b386ae5eb265d476c54ce0ac1da1351ee22da58cc0a72abdefa2d91e8b46deee1dffbb62a5763f1c87cec5f8e406dc5e1808388669019cfa98d178dd946fbb738287b23f7e90726155af57bcfe45e1bc794916e721db673a5fed26733880da888fd038a3afe9b2514354bd8f20bf82729063d114d482b9a7021c1064bd53f5fbb7f1980ef5c8ffe7f457000000ffff13e78bde6b030000", - "6fc35031122d492a920b38caadee00b4": "1f8b08000000000000ff6c93cd92aa381886f75cc5ecbba6b4a139632f66f1258418e1a34523083bc01608a0c7636380ab9f527b663327abb79ebca9ca939f3fef83302e823f28db48e10a0a923da88142504f520ac54b095a1028c50604f9b05eb334dba667966c4713567db52a342d13e19d5331a939032d743131df406838bcee18a99046110e6c820d2983884029691354396fbbdc5af559cc0657c1ee395748270aaabc26dc283ab74fcc764accc5c025ec9f85b364fc7d4c27d1a7fbaacaf7e49a6e6d959bf361e940f6eca0646650197ef7dba25e5645800a342a7845a71cef39beb3e9c1c67f99112b72c1f0aa699838511872a657d16e6212097ba851825e68bad72c4e6f4567ff4c248b91844fed01036367babd60e998c4b6caf681ca2716205c9f8b0764058fda42b12392f983c180f137eb736b7532b0b6db4fee7e157c68fd2eb8e592a4489093f1c2b7f8f60e25e3947e67cd96301740b8a5ae93bb9639ef8c0324a549866e89d2f18ee1e633d0d6cff7af2ff45eadf9c5b5dbf06c4f3ee18b6d66ddea0fea9f6e4a953f60b67e19bd93be19f555cc148bd8429a4a4ae223bcddb77a703423331ddeef7b593a80f7935f6e90c071c14001207d681e0ca1c306a9070223ffe590797f9d90ff3267108abddcaedde670b076f53a729af8aba9ec5e9db296219cffd3320820857909c87654840e261f619d7c621da67268378d9a5933a5929bd6075aec6d887bb7fb95d5cba62f45e936fb99f1a3afe5d699b7d362fda275eb1fcdb74200b998593ad68bcb5ba9e6c951c3dfc6e3e5b3c0f9ff6ff8270000ffff2377342c2a030000", - "71d88182ba0750f4f5ac594e37e18fef": "1f8b08000000000000ff6c93cf77ba3814c5f7fc15b3ef9953a4a5adcb975f081a3418a07127688320164b25c05f3f473a6716f36d5639f77df24e92fbeedff785a8e7877f611a499ff918249d548bfb3e8e25c6f071d4607c04da1751b9c65a25d16919ae60c977af7af17292b0445a5f8baa5c6f842050a2918bd65858289208e1511324f1482547d483594c31e24be1b0769feebabc761b2569ca91986aa8e761ecb09b4f7783a552b7dcbf876536d21d47f9cfe1828bec29b8f0ad7b3e7aec3bf7faf3aa0ebb4cd29ca3cf89819e4be5d09bf53b084766ec8113183889cd9af8032768cf8c3dfe68fe7f9ac517bcc723044887090225e19c481e71437f9ee653d31095f6cdae9e0f597d2e78a40c83a9b6a066262d953eebe81214591d36b913763caa0c3313b0a43deaf23aef5775f2acd299c9bcf8a69cf9378f8cf1f4c4108bf661a9b6eeef20ab0c356ab1fcdcf963696310caff774f40e44468a016a8eaedf5b321dd139b5d08dbf863670ef2588630b4eead6de7d7f609cf51528fdbee80578dd9767de0329d202ee241bad6312df490af6787a04a57439ec3fc58a7cbf09b7bad21f76b46f606c4e2118120a0bd9a23fbeec2211062b2d5c2b8f540c40c198e91d65f485386444e40c2e6feb18b8823f878a34802b937e2b89a1a102d4e08636239d1aabf7c1c5a87091b43b47928ddb76b5ddcca43637f258fc11efae7f54b248af27f93a8431f0862169c287c6d36ce2278f86802f711bd540d3cd963ab5ab6efaf57ec0ede7656e461bc355ea5b10fdd9a75af387e975f07fb7ab1d8373f9ef039cb59c69cb6f2dedf6bf3f0b82a3ab99d5b535c6848fe8cd03f010000ffff17359eef5f030000", - "737d2af311f701af0291f45249f72596": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", - "743993710a49c934d771a72ee260764d": "1f8b08000000000000ff6c934d93aa3a1086f7fc8abb9fba25a238ba388b4e08216a70c2f0bd131c831174183f82fcfa5be2a9bb3927abaea79f2cdeeeea7f9f0f11cafc7f300942e6320c2119a8c119c3798f31c89904cd104816c0a66ddcb91ea3d167e2d993207aa0281a4f3596195b9d73d62b9380667aa7c8dae070a4308e08aa388e63de911e0224fd18810cf1d1af0a5a37c56479db26a4731544af5e193ab15f1507448db2716f9955f79935ef6808e94b3887842e1e79cf6e795a55458a2ef9a7ad0acbecbc1e762f8787ee29b818a5e557ebe6afb2f6aad2e70a345730e68e7c3cebe4c9fa813d9ecc18a0420517178d45e6c44250a29771d493902332c4c388af84e55eb6497e2f1bfb3b0b49c291187a06eab81f59ee8d91fc9125b6daa6be2a7ab2e7c81c04e87852d2b82e15b91593e5891fecfa8bbad79276f5baf1ef4611a29c234ed1a3a59f7cba004928c6bf6b4d3c3019204fd9d6635bfd58fe87f5a6ebc8f41687eb35fc18a993e129febd5814e962c222bf25de7174c6484516aa8bf8a790939073b2baeedef5be82223b85fbf76d80edc7f4d8374ae6a536642eb42333270ecc0f10de0881704026f27784dd5288212fc6170a227291e60849f983247191281d0314f0e75abc8023d8cf092800fe94c7d18e6971e47805cccdc3decde71ab3a97bb03fcec9ac7a5bb6670949647c269b7a56dbf3aeb9646ab6c93896c3672244c5d11b764fa8ce53d6fd7dd5163650fa12389cff1f1e028ec12c81138119c4077a981da9ed5d02a14c113a78e38daf6df46eae97566bc4a7b9856c53564ebb850304f770da7ce17494aeefdff37adf16b0fa1eb791b9baac50ff75bf6ea63ee55f372de5af5fc6704ec477fe3cb1ff020000ffff6600dd847f030000", - "74e3b10abc0b5abb7fe40574f967b73a": "1f8b08000000000000ff64cfc17282301485e13d4fe1bed3915ab46579132f213217412992ee2c8ca18ea4529590b7efd4e9ae6775e6df7d8fbf6328643ac936b284022709aa7bf5488a1834023112ccf5624b41081a05e77fdf62cc846ff75632c8734dae5b374dcd0eb381e8eba6bd31a9e61f875e4d1fde7c7799e180c76a7fea86e7e6d66e20e50045b4327d3916e96a14ecc2330e06cf42b5e09e4ef3d64b6cf5caa3211aad4195c49cf2ddd414ae3e83ffada69a5db765b8337cbd90c745167c766150d3cbf2fdeadd01982effa37e020000ffffb472366df1000000", - "778d34766dba30f8889fbf6165e2d2ba": "1f8b08000000000000ff6c93cf92b23814c5f73cc5ecbba61ab5b13f16b3c8cd1f881a3088d0b013c4208a62ab0478fa29e9a959cc7c59a5cefde5569273cf9faf05d4e1de1f980621671ca3908eaa2138c75b82313a140a690e487189274d8aaacd61776ccde559c129cad93b414b50ea569e2a7f2d2541150c42deb581654222291daa17d176a0a100eaa0c99662104b3965f75d9cb6796d354948630172ac4127bced943d394d7b2389ad6af7e555d9405301f9cfe152c86cb6b888a3752e1cf6c89deebcaabd360b692ee03a32a8136132a54fe3f7202a98367b41502fc856fb84f782c08e6973f8d1f8bf9a215cd1e1012d407911a02444e7281481d0f4e7699cea862471d7a4b5dd67f5b91441a2191a6b2ed593d048e20f155c1665567b4d3ef55a119c34d323b0a41db4799df7ab3afa48e289ce9ced3399da0f1168eda8912106edbc2ad958bf07d949539db8cb6bca87cac44826fc9f3d41322752216accd6c1a75db5ddeaf0553c6ed79509e18c0c625f3bb26eaff362b50a97bf0af3064d4f6e753f6d657c798392b99f1f61c4f785512c3efcd6d9ccd9e7533a31b9d83a826ee73d8473d7e475cdc05c23e9be03920429a71660be5cd82fa41c6d3530be3b486e19688141a96f509481cc090ad1faf5b16e20001d7e510811793512f83436204a1e0113666cde2ff1f1690d70b35b4d3133cdaa4bddaffd84571369b1ef9417d9d59a36c17f2751792e22400d74046517598dfbb83ae8f906d1f9b278e38f667e7d0bdb9afb7abff96e9277623f7da5b982c4cccbfd79161dcada3f0eb131e8b75970acecde43d75dd0d2895faead27fdf627ea2f638c0bf5c8ff23f477000000ffffed6d643e5f030000", - "77b747ac15db981b00f5917697bffdcb": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", - "786ac599afee4a6211e43033f30c3c2b": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", - "78909379d9b7903a7cb74ee327869a34": "1f8b08000000000000ff8c92516f2a291886af0fbf82706e7b14066686d9c40bad9aa6ed36adad59ad996c18f8505a9ca13863b4bf7ea375d39b4df6dcf1c1fb3c8437b4aef58007983c3a8804a15568625ba24ddb063cc042a442a0106263bfa6344568e59b75893cecc19f400355b726c8b8789a7cb3de11649d875a6dcfe2e020f67cb32628c249feb756dec3296c95df0142ab6d63a044ed319cf311bc3a12fc139f17b889d8b808bafdcaf5cebb2552c69cefdb34bbb6671afd0eb1e7ea1662adfc1f19a58c11f4d135b1dbe2014ed05e796754dbc41d1ee015c21863420f9452cb54aea8d45a0b09a9e1d44a2a53aa2dd336915c29ae2a43aefe25a0e0559158661495b648d2ca00080105833ccf24975481e49ce6df44c5a496699e024fa480bca88a84514a935471c67369a1928c52937d1332cd26c9a818a6d3a14ca66336a29c8dd9749ac98ccb4c8c47c3ebbc28d231b942e5a594af864a14002e2ffcf193f45d10fdffeaa7dfead0179426fd9084fed3d60a5b67bb177ebcdff0eee3b6be15293f0e379f41ebeafa294f17b61ecd672f63fed0ccc815faf1ff667e313fe772397f5854873775e7f6cfc7f571fc7e787b5d80591ec5cb34dbdbe1edecf1cfd9d2bccadf338b8bf935c0b51e3d8d5417ad7c9e4ff687b7d992d5f7cbe1cdcdfcf3e3affbc9c288ae71dda4b823a84468a542d01be5ea1205dfad5d7dfa3d5655d1e95fda3ba8db5fac2708d24d6dddfafb90a07f020000ffffbb739e0123030000", - "7a2d9285dc3a8c5955789bb0ed479fd3": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", - "7a90f592a53c71d5b9ae1db98f80985f": "1f8b08000000000000ff64cfc14e83401485e13d4fd1bd314cab52bbbc17aec330ce149016e98e12a54021c1d84e99a73712779ed5c9bffbee7f87c4855ec4a9d843460b49c55c1d257808358142c5711af99b7adc404ddcf7ffbea1103933a511084952731792ee73cc3e567752f57474f4a13f0ffadac2f43dd585bf0ee381be9af6e15495a714b40f906093d94bd36dddea3dafd4eeb9ddbab8d49e6281b4bde34d7635daea95bde4472d374c5c06942e0d5d8e3bba6116c5e7a792079159ef599f16d7e86682a577289c19403af88ffa090000ffff239266d9f1000000", - "7b84f2b6e859f02997a77f605359f9a9": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", - "7c611eddf5db0f2c0dbc0e7dcbfedf66": "1f8b08000000000000ff6c93cf77ba3814c5f7fc15b3ef9953a4a5adcb975f081a3418a07127688320164b25c05f3f473a6716f36d5639f77df24e92fbeedff785a8e7877f611a499ff918249d548bfb3e8e25c6f071d4607c04da1751b9c65a25d16919ae60c977af7af17292b0445a5f8baa5c6f842050a2918bd65858289208e1511324f1482547d483594c31e24be1b0769feebabc761b2569ca91986aa8e761ecb09b4f7783a552b7dcbf876536d21d47f9cfe1828bec29b8f0ad7b3e7aec3bf7faf3aa0ebb4cd29ca3cf89819e4be5d09bf53b084766ec8113183889cd9af8032768cf8c3dfe68fe7f9ac517bcc723044887090225e19c481e71437f9ee653d31095f6cdae9e0f597d2e78a40c83a9b6a066262d953eebe81214591d36b913763caa0c3313b0a43deaf23aef5775f2acd299c9bcf8a69cf9378f8cf1f4c4108bf661a9b6eeef20ab0c356ab1fcdcf963696310caff774f40e44468a016a8eaedf5b321dd139b5d08dbf863670ef2588630b4eead6de7d7f609cf51528fdbee80578dd9767de0329d202ee241bad6312df490af6787a04a57439ec3fc58a7cbf09b7bad21f76b46f606c4e2118120a0bd9a23fbeec2211062b2d5c2b8f540c40c198e91d65f485386444e40c2e6feb18b8823f878a34802b937e2b89a1a102d4e08636239d1aabf7c1c5a87091b43b47928ddb76b5ddcca43637f258fc11efae7f54b248af27f93a8431f0862169c287c6d36ce2278f86802f711bd540d3cd963ab5ab6efaf57ec0ede7656e461bc355ea5b10fdd9a75af387e975f07fb7ab1d8373f9ef039cb59c69cb6f2dedf6bf3f0b82a3ab99d5b535c6848fe8cd03f010000ffff17359eef5f030000", - "7c9b2209b819fc912d6461878ff19c31": "1f8b08000000000000ff6453cd72f2480cbcfb29f69eda8a63cc1738ec41f36333183919f0cf989b6dc23883c101e30cf1d36f856c6dedd6a79bba4ba5564bfaf33b080f45fc07e5eb44048242c2efa88342d015a3147691062b086821e9d4ead92fcc48aebf8ebb4bb770f787370311d1fadc1ccccbab940c0ce951f6d6a1b260999421b7cb2c1d79828487f094724a30925ed097f9f6b33e4e3f8a84e748e49d23378c532f1804df7e39453e35a58a4d35f21489f8296e70b5554d5329d26f37535379ee2d3450101d670430e16addd75edcac8e99ef14f993adc27428bcf91589af58222c3261e3047c34c262d02996e01d43f32f6633c3570887d0b94b6a906619def808eb9f2e3aa187b8a9c2f6584d964399f35b6020fde1ea84657153bd93b03e06835378ed5878b3ff4a449e06872a6f071966feff140607cb6db188baad188d4b4116c2f92761206b2635f092456c96b246a800aa8f93b58ff376a796ebe76e7ee0508db1197f4d4bb6bff0abc916d4779462a7fad85df38fc72ead376a9f7d7e7eaccb6bf7e2bebd3f34273b3b4de01cf7187696e982656bf715e4e2918064a073ed2071bf9ddf2da5bcaf89d23e049906c422215a5f88e60191350303f83de2628d04f6330e0600697f377127ac3c208d4050331faeed710393f0124d0a36797f206a15ab4e9df6e1bbacf5ae7c6bc61697e73d4217527a0e9d0dfa730248c1d5803ca542527f5d511ec81b3b9fbba01475d53c2dbbc67f248a9e59bd5cb669db12bd79fe925668276e87e4abb7aee715251b36beaa6e0a536d23af6ba2f4250b1efae3b30e2f7670ff72eed7cf63f6fb47fc1d0000ffff816c511f2e030000", - "7e0dfe55b01ad1e1dc83c91e01497980": "1f8b08000000000000ff6c93cf96a23818c5f73cc5ecebcc6904abb516b3f8f2070cfaa1a142a8b02bd08a4d81a2b64479fa3965f56e26ab9cdfbd77919b73fffe3a84c722fd8bf24c89485050fc413d1482ae474a61175b70828015d2a8e56693e89eb2e83394fc69ee1fc59b8225b1f6b4ff6cd61b291934244079711e9586692963ee129d8f5c21e1314c724e092e65105dde8b72a8bbe7de285e20910f8ddc30cd83e82a7879f74cf1dcbcbfa54d35f21249fd1ddea3acc2e480afcfed2e8e7ed7f1ad5d75e95029fe81c47f78e086c536be8d9e09f8f5ffcdb08b9c7f47067764b95b33714746de23e78fdf4c3c98f70531badce80809b1a9266014b45a61868e7f3f4f70d73353dcfab27bb9575dbbc7ccb8081edac2e36ea24c31b5d921d9575ddad7413a6036778bef3063a4d475a0ef9893a1eeeadbaad353534c5c15e75713bcfcf630fa74dc99c5f2588ab1f1294823fedc19c89a490b5cb751aa767e0a8730e075f5ebe9f29c553fc2e9ede25e3d9fe2310dc616d6fb79fd74dfcb26ccc17675cfa3091960d396bf06c74d2bfad1b5c5cf81f830a4e41cea9fe905e3a3f398354c67fe06e4e20701c9c016f64fd3db44cac7d7517a8941e611714888b56762794464cda001f4be8a5b6448e063cea101c02ff324df0a273f912e412c0e33f5a6597c09fc3a8cd5a1dee951cd7aff4032bb08d75e8ac9b28e7512c5d304e118537a8a5f71fa420029f81690e7544896671b95cf457bf6fd323bac64dacd12fce82685379b25339bead9f6adbfb6a20a574e583554665d012bc469a179f3b139bd9793e42ccffbeb32d8adc84ba4dcf6b4afd655fe8ff758044fd97f57f26f000000ffff2c930a8242030000", - "7f28845decfaced317aa922d664d061f": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", - "8389377f2fbd70e36e7be2c7f5ca5281": "1f8b08000000000000ff6493c193aa3810c6effc157b9fda1a64d0d2c33b74878001c3180d60b8013a61a23e1d195f90bf7e4bddddda579b5bbeaeaefe255f7f7fde0fd288a57f10ba922c6404247da80e678c140321a0130d96216826247717c53acf8d54349a6449fcd966bf0c24a8f557bb37ef4b210230d871d159870815e44244d4c6793650c9914630ca28419e082fecaaa2fcd51cc7672569c1513c6ad8f334f3c22ba3e5cd51c5d8549bd4d403cd38b26773cb17e5a66deb0d76e57a6c6acfed23030a759a23704937abaef1d27671cc7d4715235b47d95579b36f8efe2690ccf280d95482cf0db33c3c6d02c91f1a37ff6ab69074c1611f390fa496933ce73d1d60f59ca225d9a76d1d1d8ef55b7cad0ada8706b267ad91419eb6f52746cd31bc3aca3b0cca9bf67309f53f886134bb95517e2b37ccbd63fe4619ee2db56a9e9c4a361897382014fbfb12806802a18162ee4fd62f86da4bb083ad1d2f93d95bef9faeafd7449f8cad7e4e6779efa6db26de1f9d49f6f17a40f9f271d859790996cb97d52aac2797e4560a2aba72b23cd3756bcd7ef28ec780e041c2fb9d742ea6081f53ea20708215d8f9ddce957b40543604c512ab104536074b2342ba084416a2e58483bd3bb5a596e2ab15c4e10036b18f6683445876029d2cbd8957942c68aaeeb2d5cbddc20f9b6eb46b77db6915e30d47e7c9fc3db3c7f3d43ac973f20a09b38cb1ac7e8bf7e5263e34465c7fdf058f90ff7c2e875344c857e4acb93fbb3f03dc063815842159a8a958a8eff865f125737fba5579359e1b5737fa6d67fc60f73a9ab92693de4ff80474d45587ab6da287c10cf13a0e7ad5314fe0598f62d68c2e972a6a66df8d1b12fde387f3880f4d83ff47eaaf000000ffff1c30db8a6f030000", - "8638edf15d5033bec9077fa35ad9b9a5": "1f8b08000000000000ff64cfcd72823014c5f13d4fe1bed34123a22c6f3eb80998d4a0607167a9426b45195b836fdfa9d39d6775e6bffb3dff8d0a5466b0c854012b31484579af9e5628a116a0a9467aeb70a983086a818cfd7f2724c5a1db3a45c1daba1b069aeff134cbdeca58e2b7876b125fe4f15826d1d472168f5342954ffad6fc34191806b0ac42fe6ab3779954ae19edc2bc681d9fcdaf8df6c73be73dadfd73be0983c3f5f32056f6642232f97ac9a148bbb96b17c976f2d14cd56d5311b6affbfcecf7234b2ea5f2ee0061f823ea370000fffff7547835f1000000", - "87a5d8157d70ac81ba171ee129e2c863": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", - "87df747867d473bd7662b2dad195d4c2": "1f8b08000000000000ff6c93cf92b23814c5f73cc5ecbba61ab5b13f16b3c8cd1f881a3088d0b013c4208a62ab0478fa29e9a959cc7c59a5cefde5569273cf9faf05d4e1de1f980621671ca3908eaa2138c75b82313a140a690e487189274d8aaacd61776ccde559c129cad93b414b50ea569e2a7f2d2541150c42deb581654222291daa17d176a0a100eaa0c99662104b3965f75d9cb6796d354948630172ac4127bced943d394d7b2389ad6af7e555d9405301f9cfe152c86cb6b888a3752e1cf6c89deebcaabd360b692ee03a32a8136132a54fe3f7202a98367b41502fc856fb84f782c08e6973f8d1f8bf9a215cd1e1012d407911a02444e7281481d0f4e7699cea862471d7a4b5dd67f5b91441a2191a6b2ed593d048e20f155c1665567b4d3ef55a119c34d323b0a41db4799df7ab3afa48e289ce9ced3399da0f1168eda8912106edbc2ad958bf07d949539db8cb6bca87cac44826fc9f3d41322752216accd6c1a75db5ddeaf0553c6ed79509e18c0c625f3bb26eaff362b50a97bf0af3064d4f6e753f6d657c798392b99f1f61c4f785512c3efcd6d9ccd9e7533a31b9d83a826ee73d8473d7e475cdc05c23e9be03920429a71660be5cd82fa41c6d3530be3b486e19688141a96f509481cc090ad1faf5b16e20001d7e510811793512f83436204a1e0113666cde2ff1f1690d70b35b4d3133cdaa4bddaffd84571369b1ef9417d9d59a36c17f2751792e22400d74046517598dfbb83ae8f906d1f9b278e38f667e7d0bdb9afb7abff96e9277623f7da5b982c4cccbfd79161dcada3f0eb131e8b75970acecde43d75dd0d2895faead27fdf627ea2f638c0bf5c8ff23f477000000ffffed6d643e5f030000", - "8ab19a2c0a28f2901f1b75e1458066e4": "1f8b08000000000000ff64934fb3aa3810c5f77c8ad9bf9a1211afb898452784103160b8e1ef0ed00b0fa4fc8318f1d34fe99d999a572fbb9caeaefe25a7cf9faf830865fe1f988492390c83246f55e38ce1d4c6186aaf06c510d44c0433b7bff90bb7fee4abeab86d6f276fd6d9e0a1babe345d1bec84b0a145031783d2b0c8ec58084ad4268e9e44724428cc238211f784e10c4592dfab7e79ce24493812ef1a7a703f329c91917cd2b264d916a9df964f1271c4be9b1bbecdd3a6295334e49fcbb634f4076d2143b51f23e092a4e150197eb3ed6353cb92b92a693466c6fac69199da92296e33e54b3079cb14774ea92df95be3ed7f9a4a24d972e8a8f6466a388e63fe204f08bfa7d412777e53d2635f2e3663919087d342f45daba41dfb4df913d1aa77462d338ecfccb01eae84f25f4487aea79cc6539eb2e985f90ba5d329a232d73be5ecd9ea580391b17f2e3688ca163590b1e0e4c7cca334b4a774a61b4eb09a8af17e301fa90ee50227fe794eee972effe17e68f77d28abfbd8ac17d1edc66f66ec5ef58fafe94b95f3704597fb6b1a0ae33af3a64b807a1ba3a384e045ea0a0bc1974534041ca30294fbb233d48f0865ca818c792a4348442e2842311e2888c8418a630eeae5d49e2882664a608d03284fbd9b5b84856227a8bd9df1612439b3ab62b8eeebdd616b3ad5303f3487bd556cd084e6e70f3788547fb694e67d4f0e11668a3116958b4d97a79b63d5b2f1d75d3030fedfe77238518c2f54fbe4e6faf50cd06be024c24ce0af64b54c60b75cbba6df87d8ecdce5609dfdab99e6509e3b8f78614e76eebcb9d6acd6dcaec578bc1fa41c00aff4cbd12a27e504e5ccaa48438261acdadbcfcdd51063f697f68e0ff1eddf23f577000000ffffa4c29e126f030000", - "8f78be627d563771ed2e20df4c64d152": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", - "9159111881ac7d5d179c63ce2f65687b": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", - "91c7247b736259991b05597da9c7d131": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", - "93798234d07d65cbf68e551cf94d95fd": "1f8b08000000000000ff64cfcb52833014c6f13d4fd17dc7a122966199cb9970a249532208dd79a1804ea9b540689fde9171e7b7fae6bffbddfc8e8240bd3029e6e409160f50ced553281252035154097a3909abc298d42018fbfb0e122a56eec52125db6d1d8d45d5910c4e571b7c7f4ccedb85605703f49f83ccfdca1edf628eba36e3996f9a9468468865721737f97b1739de26e5d94f0d04d9baa54646bcf78a677ffc9a029490de1edabb52758fba783d0cf72dee37718fb26fa6f5b00c2b7d917bc39a2396325bdaab370340f3ffa89f000000ffff4436763af1000000", - "93ca48fb36e6789338fa8384e49d9527": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", - "9541dc1384883f1ef2a272237589c045": "1f8b08000000000000ffbccf31cec2300c05e03da7f005fefe7b375431b050961ec0240f64297122d74888d3a394850b94d1d6b33fbd734d9897750c4447e56bc6486e0f04a2290bd4e7e594a02e3781f510d104eb6364c7489123ccd7ffc8039e5c5ac6106bf9ebcba1a16c07b3dd59e5c52e55392f2afef592e2c604a20b60bb6b0db04074484574778cbb127a2ac17e50ae7e9cf00e0000ffff1e34df7fd4010000", - "95495d34a907a5e2e03665addb86dfdb": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", - "97b032d96068a4906f4423874bcda7fd": "1f8b08000000000000ff64cfcb72823014c6f13d4fe1dee94c65a8c2f2241e0396a084786307438de30568088dfaf49d32ddf9adbef9ef7e6f7f23c8a264b416d116248e3ef1305487472c0485c00967e4f1cd32ee05a09051faff2d8684bddbc24604d254995bd977f97ef6d54eda4efe10c7f63a10e7b20e3771b5d816baf9489fe1f3011cb293808402c89d49dd758974d3f6459b296be7aeb81b7dcd5d365e3814a64baf8ce34b5e7bcbaaa9cca5eb8e93d32a48fc33f8fbdd754c6ea8575339d3dc6f82fb51d81a953c38030093f92bea370000ffff3ab9f8d3f1000000", - "97b94c71adcf85997c8476db6519876c": "1f8b08000000000000ff7c8ebdaac3300c46773d85d170e74b3367e8738410144789456b39c84e4bdfbe98a6f467e8780e1ce9eb661a4d7c0f5b66538aec5a87c7298a22782f53c5d1d2890dc10752e5f3f0b0f1b63342b2a59a64cb01a148e4b49521b02ca1b8d635ffb514ddbb0601ba2eb35dc473ee7bf83af7578c34cff5e173cfcbfc2e272a34e42badeb7bfd61ef010000ffff61833a0af0000000", - "9aea375be26e78aaae4fff9705ea4456": "1f8b08000000000000ff6c93cf92b23814c5f73cc5ecbba61ab5b13f16b3c8cd1f881a3088d0b013c4208a62ab0478fa29e9a959cc7c59a5cefde5569273cf9faf05d4e1de1f980621671ca3908eaa2138c75b82313a140a690e487189274d8aaacd61776ccde559c129cad93b414b50ea569e2a7f2d2541150c42deb581654222291daa17d176a0a100eaa0c99662104b3965f75d9cb6796d354948630172ac4127bced943d394d7b2389ad6af7e555d9405301f9cfe152c86cb6b888a3752e1cf6c89deebcaabd360b692ee03a32a8136132a54fe3f7202a98367b41502fc856fb84f782c08e6973f8d1f8bf9a215cd1e1012d407911a02444e7281481d0f4e7699cea862471d7a4b5dd67f5b91441a2191a6b2ed593d048e20f155c1665567b4d3ef55a119c34d323b0a41db4799df7ab3afa48e289ce9ced3399da0f1168eda8912106edbc2ad958bf07d949539db8cb6bca87cac44826fc9f3d41322752216accd6c1a75db5ddeaf0553c6ed79509e18c0c625f3bb26eaff362b50a97bf0af3064d4f6e753f6d657c798392b99f1f61c4f785512c3efcd6d9ccd9e7533a31b9d83a826ee73d8473d7e475cdc05c23e9be03920429a71660be5cd82fa41c6d3530be3b486e19688141a96f509481cc090ad1faf5b16e20001d7e510811793512f83436204a1e0113666cde2ff1f1690d70b35b4d3133cdaa4bddaffd84571369b1ef9417d9d59a36c17f2751792e22400d74046517598dfbb83ae8f906d1f9b278e38f667e7d0bdb9afb7abff96e9277623f7da5b982c4cccbfd79161dcada3f0eb131e8b75970acecde43d75dd0d2895faead27fdf627ea2f638c0bf5c8ff23f477000000ffffed6d643e5f030000", - "9bc52dee72564b7d25797f988be56fdd": "1f8b08000000000000ffbccf31cec2300c05e03da7f005fefe7b375431b050961ec0240f64297122d74888d3a394850b94d1d6b33fbd734d9897750c4447e56bc6486e0f04a2290bd4e7e594a02e3781f510d104eb6364c7489123ccd7ffc8039e5c5ac6106bf9ebcba1a16c07b3dd59e5c52e55392f2afef592e2c604a20b60bb6b0db04074484574778cbb127a2ac17e50ae7e9cf00e0000ffff1e34df7fd4010000", - "9cd901e9e9d0854cff4c6acf95fd2b75": "1f8b08000000000000ff64cf414f833018c6f13b9f627762265567766ccb4b29aea5edc636bd91125a1d4a70611d7e7a23f1b6e7f4e47ffbddfd8d00e372a10cdfe31d2c5ee075ae91e02cc70eb020829169605bf1b8c60e18a5ff3f404ed87da80327586be7281c4ee18927f5991e7fb226e2619cc665f990556ae045c18fc5a53aed92b7d697de60493136bde8d55597e06d45c6cf364d97689fd82e1f3f90d611b908a4d477d7cbf8bc45b2b21bdfd8b299eaf7a4fe8abdb916cdfa10c75d3620f76c569b156bd3a9b5349a0120d35bd46f000000fffffeae92aef1000000", - "9d5035faca939ccede91b17749822e2e": "1f8b08000000000000ff64934f93aa3814c5f77c8ad9bf9a6a41edd6c55bdc1b428c183474f81376823688d8a83413e5d34f69cf4ccdab975dcead5bf7979c7bfe7c1ca48c077f101a2aee71028a3e554b704e92811028fd120c4728b9c4e4f031fe7119719118ef1295ea946f3e07f0b12c2fd5b15e6fa474a1c64ec8ce58446a37969251b38ca3812a8194811d5182c2978ed76d93ecafe2343d6b451381f259c39b0822c7eb39cdee964ea6f5360dea7ca09140fedd5c89559656559e6297bd4febdc19dd580d1acb2046108aa661573841b53ac5134b27b6c959d46b67fe257092ba8a1be172132898889a1be1b5a9abc45313f57f9a49145d093832eb89540912c7e2460708bfa7948a1c832a67cd291f2ffb6d426f5e0dd177ad506e1c54f9015971f27a4b3bcda09dd96da120ff17d163f37bc6e27b96f2e181f90ba57734d4e885df667ca847c402a9f93f171764e1ca1268d4d82fed4aa327cb4b7218efe4a7ad6578de65de7ae78ebd7ef4998ea687652183a56b9def97e9f5f5b5f76c1842274fa609b9065f2f5d76e9376d5598664a766fef5ba52e6b3cb9041b05eb07e942ce103e66d4421004b760160f3bc35183a88d079afb4623ca68018632423a0632f2d00822c03c9cda5143f1c548620900e39b67738d441ade42e96f9c5727c9b85b6cbbebaedcec5713afe8ec7db5dfcdb64bbca37d7e5dac23733acf8ce57f4f0e9170c3398ff2f1f298a5cba6a845ffeb2e3884fcef7305b48c900bb3dec564fe78068c0a1054124e422e9a1fac6d1bc76157e76db3dfe963f25567f3f1f258b4f70f3b42f1960e87d5040ef866ad27fe4453360f7b799dd1fdd66663a34eecb35d07373b2ef2f2accbf3198f7ef9f3a7f58c0f0ddcdf23f577000000ffff52ecd0c06f030000", - "9e9679553d3f5533efafa0482fca2803": "1f8b08000000000000ff6c93cd92aa381886f75cc5ecbba6b4a139632f66f1258418e1a34523083bc01608a0c7636380ab9f527b663327abb79ebca9ca939f3fef83302e823f28db48e10a0a923da88142504f520ac54b095a1028c50604f9b05eb334dba667966c4713567db52a342d13e19d5331a939032d743131df406838bcee18a99046110e6c820d2983884029691354396fbbdc5af559cc0657c1ee395748270aaabc26dc283ab74fcc764accc5c025ec9f85b364fc7d4c27d1a7fbaacaf7e49a6e6d959bf361e940f6eca0646650197ef7dba25e5645800a342a7845a71cef39beb3e9c1c67f99112b72c1f0aa699838511872a657d16e6212097ba851825e68bad72c4e6f4567ff4c248b91844fed01036367babd60e998c4b6caf681ca2716205c9f8b0764058fda42b12392f983c180f137eb736b7532b0b6db4fee7e157c68fd2eb8e592a4489093f1c2b7f8f60e25e3947e67cd96301740b8a5ae93bb9639ef8c0324a549866e89d2f18ee1e633d0d6cff7af2ff45eadf9c5b5dbf06c4f3ee18b6d66ddea0fea9f6e4a953f60b67e19bd93be19f555cc148bd8429a4a4ae223bcddb77a703423331ddeef7b593a80f7935f6e90c071c14001207d681e0ca1c306a9070223ffe590797f9d90ff3267108abddcaedde670b076f53a729af8aba9ec5e9db296219cffd3320820857909c87654840e261f619d7c621da67268378d9a5933a5929bd6075aec6d887bb7fb95d5cba62f45e936fb99f1a3afe5d699b7d362fda275eb1fcdb74200b998593ad68bcb5ba9e6c951c3dfc6e3e5b3c0f9ff6ff8270000ffff2377342c2a030000", - "9ea6533fbb45a7419927d6d7005cbd3a": "1f8b08000000000000ff64cf416f823018c6f13b9fc23b590648458e6fb17b5b58ab052681db92b18a5122ba0de8a75f6676f3393df9df7e4f7fa30c855aec72b187922d3256dfab230572300c249548e7010b19c6601826c9ff1f19a7e88defa3a0a0b5a996fbb658a5e463e2f6eb2df69cc836975b274ddafbea73dbfd6c49129fafc5ae82ee90834a00741378ea158eeb742a5b7d76eb67550fab17a34a20e5d2a96c5e6d7aedadfdcc9fa6469c4ec16574ddf6802189829959779807157282fa9845fe8de3d542fddd3b7700539b47d46f000000ffff6f07ae2df1000000", - "9ebfcab8c9863ceae18a50fe41a1d6ad": "1f8b08000000000000ff6c93cf77ba3814c5f7fc15b3ef9953a4a5adcb975f081a3418a07127688320164b25c05f3f473a6716f36d5639f77df24e92fbeedff785a8e7877f611a499ff918249d548bfb3e8e25c6f071d4607c04da1751b9c65a25d16919ae60c977af7af17292b0445a5f8baa5c6f842050a2918bd65858289208e1511324f1482547d483594c31e24be1b0769feebabc761b2569ca91986aa8e761ecb09b4f7783a552b7dcbf876536d21d47f9cfe1828bec29b8f0ad7b3e7aec3bf7faf3aa0ebb4cd29ca3cf89819e4be5d09bf53b084766ec8113183889cd9af8032768cf8c3dfe68fe7f9ac517bcc723044887090225e19c481e71437f9ee653d31095f6cdae9e0f597d2e78a40c83a9b6a066262d953eebe81214591d36b913763caa0c3313b0a43deaf23aef5775f2acd299c9bcf8a69cf9378f8cf1f4c4108bf661a9b6eeef20ab0c356ab1fcdcf963696310caff774f40e44468a016a8eaedf5b321dd139b5d08dbf863670ef2588630b4eead6de7d7f609cf51528fdbee80578dd9767de0329d202ee241bad6312df490af6787a04a57439ec3fc58a7cbf09b7bad21f76b46f606c4e2118120a0bd9a23fbeec2211062b2d5c2b8f540c40c198e91d65f485386444e40c2e6feb18b8823f878a34802b937e2b89a1a102d4e08636239d1aabf7c1c5a87091b43b47928ddb76b5ddcca43637f258fc11efae7f54b248af27f93a8431f0862169c287c6d36ce2278f86802f711bd540d3cd963ab5ab6efaf57ec0ede7656e461bc355ea5b10fdd9a75af387e975f07fb7ab1d8373f9ef039cb59c69cb6f2dedf6bf3f0b82a3ab99d5b535c6848fe8cd03f010000ffff17359eef5f030000", - "a0da285509578cb8bb6cee5eaf169493": "1f8b08000000000000ff6453cb92aa4810ddf315b33726446c6feb6216590fca520b1a28d07227b417047c74b798c0d74f8813338ba955c5c98c3c8f88f3e7f3112ea4f707e5a196aea4a0f9805a4a4afa51520ac728079404721982d7e7b7fb6d39fb5ea71abef4859951f889487323d7d7bdec4b9b034a3c68beb114540226312785a249a25ade4348722f21906b5a79452aea733a5d35872d6fdd12e2d72cd32cf18af44484959dddc638756f9c79eb32885e0b574d9de4cd6c27988ab831cee2aec20cddc0b0240818c75969a2597d14eeddca445b6fcede23d57074d1ee14834eb1187d263bc5c8c145bb7f61f25f4c89aaa53dac9e641601a3a14eb40a15f21783e4786366dbdef6e745979eeb4285065d18664b8e136db66f79785915e9d9bb5999e33d541820cf878535c7fb20ed3f657ca7483ce404adf28dc39bfdae28d21df9d947b3d24a1d1bb71a34c9b3afa22afd8f401292e7fffc1521e8518088f468323fdadd488f94d5467dafe0d39e24ef960e96a9a8e8c5f58b4724a6df55bdec26e3ddb46a26ac2e61f16ee3c99eb971de293e1f3524bc56fdaf75188fe9f1f7d5b1d13af4e03fc358067302bfe79c80a27030b87ce611da3521837fb9464348102f01a5a0f4474010bb0415b114cc9ffe3e397232c6c055a09e8770fd3ae0132ab9f47f54797c2f1ffb6c67cf2e6171e1f3c9bb771ad123b5b02ebc8bbb4f74fb26c6753b577015947e8948bd2d0635760e8ac75406cc46db54a391d7463f17f3dda4ac6f3fc082c9adec3af44e2c5944a739779b9933429907d347537c6cfceb21e1756ad3a31699ba399bcd61e5df117e71c48d338d036b5c99bfaca116dc63ffafcadf010000ffff779d601347030000", - "a32120157fd05843b3436aaf6d42df6b": "1f8b08000000000000ff6c93cb92b2381886f75cc5ecad2911b57f5cfc8b2f2184a8498986e34e50a02334ad3606b8fa297566363359bdf5e44d559e1cfe7c0e4428137f60b297cc6518247951833386370ec6904f4ad00c41c9f6b05eec67ebcefc323fc7c58d85f378b38cb781c665c2366dca466512d04ce723d91a1c2e1466014115c761c87b32c21e952244504a7c115546eb269bafbb63447a5741f09ecba5138a2afb44d4c81bb74bac7a4c2cbba712e277a19584ae8674245d1a575516a37b7a58aacc327bcf81e3bbc325b144656c9bff2d6aafca0557a0b9821977cae199a3271b5f6cf88719914257eedf35f61327f47d4af43a0c462239222f358cf8c6b7dcfb314a1f79b3fc4e248938f2dfda3d174660b91d23e990444b758c85ca462238dcdf8b7b4e721ad6b9220547e68b41cfa337832e9bafbf0c7e58d667eafee4b4afb78d786412a51c718a862b3df0c50a4a4231fe3b6be281c9006d26eab4b4f4c197cc28d68f7b625fc5cafe983693dbae0adb8686935b7b0f909a20564d8654fab1c77793475bd0f208673a9aed4a4fddfb940673e3a67516cd8a4b4acf4a4ab4e5b0786ef5e46882a6da7fdeb7573ac09f27efed3982c226a000387e699e0ca6fd0bc71b606c9792073dadac31091d9f2132fdd87d0dd723fd10d6d7e127b6ebd6f1ca5fdf2ea61cda7fb50c041c839903273e668ec7ebd375aa75a16aacedf2384f7ea68dbb5dc5c4393926f26fddd99eed65a74ef0094921acd8e88ad9e05c58fe73ce45612fd648d1d2ff2526418284a9779ef467a382dfbf8dd7cb27c2f9ef6ff82b0000ffff849769a12a030000", - "a6f7577515d7f3182b6f004ed911b1a1": "1f8b08000000000000ff64cfcd6e824014c5f13d4fe1de343554dbbabc83d3cb8017910f0576102868a9207498384fdfd474e7599dfc77bfa7bf318ec29bf9813840c4672e4fefd5208136d41c8811b2db15435aaea1e66859ff5f719be142e54a30d8efeb5616ed41843c73bec7ec42a6516afb75655ecb6377360bb70135ef93517fe4ded66d02f02c80601ab07acf75e4743dc6d1eea710d2ec433c359f2f141bddd84efa34f4691e9cb3307e4b7c49404de95b6ae7b8cfc7b59c6035a44eb5ac64322ec4d76d5b5d36c5dcb803b8b77944fd060000ffff22ba4dc1f1000000", - "a7c10c393a51b1844037b10845b3c522": "1f8b08000000000000ffec5adb721b37d2be9fa7e812ff2adbff92a38393dd847bb12bcb71acb2136b4d39b948522970a6c941880126008632b3b5efbed50d60383c48966c679d4ae9c63207a746a3fbebaf815ea275d2e8311ce747f95196154aa2f6e32c0318c0f7952c2a30762eb4fc4d78693494061df84a3a104da36411be4aedbcd005c21495d173f0e61f7059212c856a11ead6799822f80a418b1ac1cc40689a97572971263596d0ea122d1cf4977307196cac3fa65f27249d32f3b9d4f3710600a070896a0c52cf4c16447f6d8ca77568cd6f2617504a8b853756a2832be92b58e0ca81d0251468bdcb3380c2ae1a6f0aa367324edb085f8de1fffe7df6eadb67e75fff7c717af9fc3f87a1db28f40b8b4d4c8d3079fac2816b9bc6580f8d6ae7733155082fbe03e78d453764591a6b1ab49ec488fb2d2c96a8bd146a42fd0e7846611164dd28ac51fba063d7602167b260493786046107f0c3ab867a0af5530e6f1c96305d41ebd0060172f8d678d088259620672094ea4de47849aca75872bb86b0c1d6f2ea7105d2176a6b9422b9c29806edccd81a4b40e5ae2ab498f7947770e8ebe6d079e171e4c2fef6483b897b036f584b67ace3492bfd8e1adab8b1af5f91c673989899bf12164753412d9bbd5d5ccbe2afadb452cf41d0c127855cbc389b0c8e8f61efd060eadaf8b09d70ec3d7df3c16fc9cd47aa56b4d00b5c7d47d6cf23c057c2c354140bc7fdc2643d51e28c4167acb2da3549534fcece2617f13c60666c98821d757dd0511f1984ee414687456ba55f258951934d9663f0b6c5f8adc49968954f5d804c74294bb46338987c7f103f57c255a76a6eacf4554d2dcf4f4f529b3333ff1d5a395b6d4c1c9df2e4f3bfd246bc7267e469d158b76c15dcca79acd91949a1c22334c628b8aa904d5163e125230b3488d60dc1d8122d5a070f49251ae7c64bc17d2e5f4e1ec1d3b82d9809e58248610d92e2c2181565dd15e78c35cb8793f081b57ef9720295d0a5abc4020388b028dc2b49136c258268d0c302573de5be13520e69d2577d103c24cccbf1ad2003cd0b531f9257bbc3d3b296fa9f3b8d5eb943877689365fe02aae4cbbf8545214d667d920db74f927ad87da384f71c4c195695509955862082e8e8e9b40cf04d7292aa1352a30d35fb0f00e0aa129a214463b6fdbc263990da21b1b1dfcc3684fc74811e92a87730e39a269403a82bd602971da80cd1aa4072517a85670259522df67bc6491b241122acf06591a1802e50faf195f02aefe1c1d8a87c7d8f677483bdfe8115b7fca19f3536864e9c3fc1940bd8aff1f273850d27168eb1ca04427e75af8000434bc1f9bbd21cc0cb8618576a208f0c67a920921e322395c92fa7989a86301161d494b51bb28d039d6ad350a1e1e3c7b727ec01d8d56abd47c10253b3d78446e1a57a0b827a2124a2ca46329bc015751185146940e66d6d47de91d889a094585dd7e7358730bc7e422ae3045382025ba83a09eb9bb915b1c36d0321e9210b47c8258c269d4e5983fb29944e8256f3f888b95d858249c2ac77cd2160b53d7a84b2c8734a159a2b5b244107a9544df8ca9203dd66e081480fd0a6ae18b8a8ed355ec0c53e45897c7f5003a058cd79f0046e9735e482f7f43edc8fd12aced35cc805aef36cfd0af6fa47df30bad7c608db05e16b2094e458a0f0c003b61c38fe37c1b26d69084ba34d6493dbf400a3dbd3802649c5217a6c47fb568575b8d0acb39da7d2db844ed27a6b5056eb40c5898a36b8519dc28cee0668106378834d82b142163a7d46d4daecd95381963a3467f65ec221b641bede340958fc32e6ad7c8720cafecfcf89bc945820e766e63e70f1c9362e61ef0504c9d512d455ce189ee834525bc5cb263449ed127c78f7a84e8822309ec8d16c737458bcdc68eedf46c66b43ea68dcebdc6e3ddc63decf2ac472a4e5b5f118921022e9d6bb14f391ca3a4644a3c4bf8d9b4b6310e59ff029e89698833719d7818395cae1a5908a5569b13329922a8a3f394442a3586991c36c232cfb18661d3b4de1160841090986babbdac71bdced9294d23423a20d40663127173ab10342391a3deafbf9a5cc2e9c539ef3021d84a8b5a161b33d4428b399360781888fe102c2ecd02e9ef287c7a943300cf8c52e68af695a2351917c581f51a67a71048804bf0d15bad77166b481b4121f2d954eec0d920e54f33a93004688a4342d2114d952c38fdb37538353135addf7220e32b24f22c0243e093f03165a54814c2f065850e39b3d148e722ec6a63666fa02602d80ba6a0e40c8b55a128b934763104a90bd572ec203f3b7fca24314bd013535091047ff3fa250742d4e5c6b4942c1a27948b0aef364ed8dd6ddecaa5f0c893f7e5b4c89a2fd9a66bcaecac4bf4a2af9721b8b6a8403810e49b1bbc371ed490272f8809cca5f356d89805c2f953eeebb0b0e88780bec8b3804327db3874f2c970e80eacf51d387472130e6d3632acbfdca66afb4e99951df92d33533c6c9b92bc91d256749e6d139ec5c48fe080c82e7284207723434e0c83e303a5f84c79eb987bea60ec5d301fc255b8dad10873f45d524db833a03c92fa5e73ff90c399d14c08511415757e40b056b4ebae8ca2de71b6a458ccb50a728e5b6b2293d8cb4e1c6ead1ac3dc36851b1f1e56c6f9bc34c5026d2eb547ab851affede8f3a36451bef35ae7852e852dfb572d8906467a3c7f7d71064a4eadb0abf5f8c8faa7647fce854b10e146924f8d87041b5c671d11e648c8106e3ab6e39c1a7961e7e847c44847890d8ef7edb76307017a282cd4e837a9a0431f2e658c2da50e6a6610a1fd2c101ba1c8511aa364b14a395080de6137bfa02056989ae805f15e879e784648a722cba7459471f1d452e64d594f9ae57b4a95ca446223a23c2019462cc4882cf4017016e7497747e4cb8a425c121682b4519fbd0dd30196d2f12d45973e6f4c3c8623b7bfc5b47e0c27fb5a1bb4b5dcb80a009809a94633e1b63e0f4050541b49cd7727d8d984170bca10354191d114a8138b9f81284b4bdbab04d16a323c8228b5f6363963aa17b24c3217d2082a87c1c0e3da9b2b27b9b8d12b7776dabb3fe1d8da8bdbca1429eef53034bb75b61fad72133ab7d2f942847ffba63ba2289137b8857721c825b05b0a2b4debfa70d68f90816a33d20ce15722cd59bc6924aaccd41835da2ef8a41cbc83e8fd3471dc79b6741c61a50b3897c4eaadcbcbf1d29d90b7c7a0e3ac4b36dedca6ffe3bb83c60d44f81e37ee71e3d3e1c62df2be3e726c37f6e003ae49e8fe376efcc51dddf88bf776e33d29ebbd1bdfbbf19fcb8dafbb5bfbbdddf8cb3bbaf1971f168d77d3c17b37be77e33f981bef3ccbf5ddf8e4ddd1f813b8f1f1d11dfd98067c483cbe77e47b47feb33af2208b17f11bcf060ba94b32967d6f23abf472c01766cf570ddaf0a2c5af1fe1e69095e3b2ad1bfdfefb8137744efcdeb194bd17881c4e7bafd3b558415119e3303d548bee062fdb56eb5a40a99d471176703a242f096215c26d551084ca026db8022dde618657d5c1b6f45bef11fcd0b74b76525304b2cafb8670695fcf98ec87de9b36135f6f6983a6aec568125f83cade53a0af5caf67ac0daa4c8d87ae12e6178987c15c7e5e1eff5e7c6e43d06bea62269397db7531642767a7bdd1eb8a98f4a5ab8b597ff8e87b0c57fd6f1cdae3dd2747afdc617c540865326b4152b1cc1f4034ae9d499284f7b45062e8baf73b2ef15b57e5ed781b1c5863fc01f71b82c81779ef216708d2f5e68fe581dea4071e3a69a9976681a0f18ae7707937a09ba6afad30f2bc1c8707a59d96093f16c5d6e6aab7fafad196dfbb4c2a4ae857c69c9dae972fc4b78242d01e138e65a05f716dc537a9b422d4bf816ba7ce4bdfa688191f5781b8051790042b765e78596c166d0465a5b2a4de1343ac96a945d36099c36b9ce3dbf491195228dc932e3d28f3446fac9af484f9ea6d93c660ddf85544b51a850ed1da89f55b70276e1714dbf02e7dd3b473b9441da6112e4acb3c88d06cd86d6caba1bf919b16e002aeb95142cfc936f0edbaaa45c905c2714e9151750775327ecc7a698427269785fa9205c6146bfb19787c7cf2f8b384f4462f094cafe99a0a058ff2674fcee3aa3b5385b374ea92d9e1abc80bf7ec2d3c75870a8c78084a6a7420823decf60f6f753389aa74306f6c22a5f9756c94085f43316b896a950de05c73e51007b4701acf8df30f5c2a46ea9f399f5b3c32320a3a8b18f1d88c98f1e0a62b10b5e3e31c6c368cb3eddf2117a0bfa374506378f8e3d5ff3fbae6e29ddb12d5df52cd5dafd3ef3c3ca401b738d41b6fd5d71abfb65b768d42f65c617e8042762e26ef3cfc8e0ab9e67e725b21fb2b6fae3590938fa58f9d1b9e3b0f7f1f03d9cd0ff71ac8c96df4b127a9fe007deca6ca771fff3e16f26e8decab89e0c01ddf1a3bcab0a9a4bf3cea86f0af357dd8a79b7db58fa12ea01b76ab7dedada1eca6e86fedba9eefdacdc96db6c3718acee97df6d00dfeb8823fbe85e07793f4e3caf759906ffcf0c7f25dea3dee138f3b6ab737f67de4df9366aeaef7806d3673a723e80bb5af962ecab41be67b8eb90d5c7baa563e2cca1fdd1e73aeab98d9a7fc7e9fff060000ffff187c9dd1db360000", - "aac60746a0f1604009acbd63f189cc9a": "1f8b08000000000000ff64cf416f823018c6f13b9fc23b595888c1f4f8beec4d6d6a2b52022bb7a1d01974ae73dae0a75f4676db737af2bffd9e7e87c4855e14a5a8a1a285243bd74809be0647a050719c3c376ac9c011cff3bf1f688dfc39bc0581b0dbb970b2365831984c895beaa768e3757bdfef8f32d8ca60ddbfc63d9cdd35b496bf97a07300337c7a56f67675beb2e45175ab6dd68847dc8cdc237d44c044c742d216593d4202b2a9bf587cbae1b495f7cb018fcb34bde86672df872e1fb5dc903158901ba21940fae53fea270000ffffa608e084f1000000", - "b25727d202d27507aa1ec8d432fa245c": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1fbc31db2374e8d274c90154fb6f10d8725054283d7d71baf40419857ee9e3bfb48c69de86407452be150ce4f640201a8b407d9acf19ea7217580f118db03e26760c9438c17cfb4d1c9b2d7f114fae6b414cadfef44d5c51f7abc9165679b14b532eb38a7ffda5b45b81e80ad831e40a5820facf55f418913b157a2ac38eaad93e5878070000ffff703512f3e8010000", - "b4cf17a6993658eebeb54a5001d78e7f": "1f8b08000000000000ff6492c972a33a1486f73cc5ddbb6e19d390e0a5264001c9088b7167e88e30433cd06e619efe56ec9b6c5a2bd5778eea7c3af5fffb7920f129ff079144528f2220c9831a8c521474088126574053081415f9c7747676a6d41f6e52aed3defdd0e36b0742a8d4a5edbb5d2c04061d3c3331690389126742f844bf65e9422483c4079b9420c8426179d321affe34a3732e25c919148f1a9c194f2def46497537cadce90e05efea85a40cd2e7e3964555d1b67501a76aef74b565cede0232a87806019378e46d346676996fb451fbe9adb4b6bf19b40b2ca966986a2e81cd3aaa99772ab0640fc6ba6fa60f0b8918e81fc30cd83294656c260b489e1394443d6f6b7f18eb1f6fb7434e66af03e9b3d6489cf1b63e42bf19bd5b690d8b515aee4c30d83d1b2609adedbdf2b37b55d03990a0fed2f6fc6fbef9d2ffb4371efa5eaf892e83f054d1a533111025fdff8e8168b050807cbc1cfea4c5b873aef1bb6b5aabe5361cd97a381bf0a292371deffd75135b72355420d668180eebf773ad9aee787d094479e3bf2f389b4e5191eb33de1f67d22b39d3e085738391496355e22c3163208235040203f50b30a03f97f4936802d75a2006800ef5a3af8348687a02ea45dfb9f17adb6d87f95d8e3f7dbf914b315991fd6647282756930d591ca87a55045a23f5fd2d0234c589063a015419911fd20db557abd75f44593f4c61ee2fbb7476a38969376e20a37bb2b54351c61a51e487d7f21a1ef29ebb7db301cefd6c84179e6873130aa91c683b9c1fdde366eb39c623e984e3bfd3ff5f000000ffff9099f8d71a030000", - "b604b6d273ca3102d16c5e01d33b547f": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", - "b6aa8a205096e7169733ca3f25e8cf8e": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1fbc31db2374e8d274c90154fb6f10d8725054283d7d71baf40419857ee9e3bfb48c69de86407452be150ce4f640201a8b407d9acf19ea7217580f118db03e26760c9438c17cfb4d1c9b2d7f114fae6b414cadfef44d5c51f7abc9165679b14b532eb38a7ffda5b45b81e80ad831e40a5820facf55f418913b157a2ac38eaad93e5878070000ffff703512f3e8010000", - "b82026ca74ebd5f523f5c818bb86dc9b": "1f8b08000000000000ff6493cf92a2301087ef3cc5dead2dc1911938eca113428c1218f9a778035410038ec34880a7df52a7660f9b53eaeb5f557f4927bfef0b11cadc5f98f821b31986903ca8c219c3ccc218f2b400c91014cc07c7358de3256864eeed9d49a7abc7e1b3901217095b5d766cac540292c934248ec2e14c418b082a398e63de93117c54b8318222c467b7cca8a8b397e52ddd90deae207ad6f2d08add323b21aae4b57d4b66624c66466f5b103c039710cfe279b2d16446a35b3233bfb89f4b7b9d58f17a6d11a95749a08b03b5bf949cf6c2a9dd2e0be1604b75e0160cdc8aa467b1815b28b5a53a3e19fb619cb63d1e61796fa62048421071c87d2ec9b30323f2c34a36fdc7ae3687ac1625f71369c3a3b620520b93cdbcf09b6599d5ee8792cfdc8efb20ade2117088dc7779ed8bbc8e07eeab92ca6feddeffc74f4ffdbbbdf2d4473b8e3845c395067c6e424128c6df7b4916a032401c8b89ad579360b978778e1a9e68ae1877b6a2b633b3ddb79e3a16d1c5d15fb5a1eafbb4b1a9695ead5c15a47fbdf18b1b90e134ef5b7be37787abb1bc06e638565eb3aa9430440e87f97d947b4b123495ebfb8c178505fc7e490b9f23381a042a008edb478ec9f599e31530afe54a7578abba5dbe55f5c62f1b62686fee69820f588ad26dec5d1cf6733a15bdc1e1f2732c041c835a00271156d81aeb3c35f69d4e171e14adf91244932a10086f8f1e4dbded327d75c72d36daa3f12959b191e179faeea859bd34c55b142a024f23c394c073753631ca62d568f397ae0599247f94c76b27aef5ff0ff81b0000ffff3ef2fddc1e030000", - "b91577afee99582ac76023ddec1c3de9": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1f6fcdf6081dba345d7200d5fe1b04b61c14154a4f5f9c2e3d4146a15ffaf82f2d639ab721109d946f0503b93d1088c622509fe67386badc05d6434423ac8f891d03254e30df7e13c766cb5fc493eb5a1053ab3f7d1357d4fd6ab285555eecd294cbace25f7f29ed5620ba02760cb9021688fe73153d46e44e859ecab0a36ab60f16de010000ffff93db101ce8010000", - "b9c8f6b8a8f5479ba10f39f6f2d04c75": "1f8b08000000000000ffbccf31cec2300c05e03da7f005fefe7b375431b050961ec0240f64297122d74888d3a394850b94d1d6b33fbd734d9897750c4447e56bc6486e0f04a2290bd4e7e594a02e3781f510d104eb6364c7489123ccd7ffc8039e5c5ac6106bf9ebcba1a16c07b3dd59e5c52e55392f2afef592e2c604a20b60bb6b0db04074484574778cbb127a2ac17e50ae7e9cf00e0000ffff1e34df7fd4010000", - "bc0feb967285bdc87ad50170d154de57": "1f8b08000000000000ff64cfcb4e834014c6f13d4fd17d63303289edf2cca5034ecf58a6482d3b8672134da9c101faf4c6c65dbfd597ffeef7f0372a64a4173b13a590888512c75bf5309221d40290a2a4f345ee91aca11692b1ff3f8a90cac7311f230a715cbf5a5f2d49a6b79f9cbc77137a9ce7fb54f5136f6c5b49ff79dc1c76d96c4f65fbd518d00c2081be6acaa3dfb5e63a07ebd80d49563c99d3563b1b5a8f0f48368a2dcba138af8a433f1957e575a05f0c96df1f8abf3578fe414bd3ce0617c7f2ce152b72ed67ef06109adfa37e030000ffffd6be6a2cf1000000", - "bd09959288ad01a00225c2a79c742814": "1f8b08000000000000ff6492cd92ba4614c5f73c45f6ff4a0d228cb8bcfd01b46337833660b3034b1b41071de4439e3e154d32a9a497bf7bbbceb9a7ceef7f3e447d267ec3742399c73048faa406670c0715c6b0df6a181802cda260e58be2101c50da066aceb3a5c8ce92c007d2fa56d655f81945042a74e5513b1838522489229f0eab249ea8e488fa308b2946fc23b2bc364fb37e7f71ae4ad294a3e839432317b1e5758c660f43a54e95ef44554c34e688bd3e977c9dedcab2d8a136db3a556199a3374182b4481070492ea25c5f125ba5b3c128fcb853d6f2ce91bd23920d9cb04148b079c506ee353b22f993f1ea1f36e4155d73a89f62062a394e123ed209362f052d712dcac23f5f8af9aacb533a7a15c4afd95e924494c509f9fb8bd729eb3c19ca72474a207c2db41259cb47e6278f6cc7c68040feb76dfac3bb7f9f67149639a41224d2fbbf1266e8276d8ed02030c0663a3651ef93433cabcf21d93a4d5d9befc99bb68d43d72fbac5f671fb2c30ae4e0dd5b74391e39cb2537d0ba7f2ba8e2f9de9b3483962e1bd87d1ecd75cbb6abdbc2fddc63407633bbdec07918be0e852041c231b06028a241b534214bc21600310f87eee6d395d1138694cbe099b7786bdb076de32cc4c958d9fe230a95e7fe976a56436a649ec1e50efec8fff2d91160c08f2e044c158785e57b0fadcd9a7d5ed97e784b7e42dbb7f61775904d6d96cd5754feeb9fddef41433bfbd374db3c987fedc2f58f9384263a0c221e3d56de79746e075a5263b2c321d37c6b3e95490ffb7ff8f000000ffff663ce7aa1a030000", - "c01f089a7aa72b89451acef20057ea0c": "1f8b08000000000000ff64cfc14e83401485e13d4fd1bd31a1014c59de81cb65ec0c851131b0036aa09d4a648a023ebdb171d7b33af977dfe3df18124f36a9e205e4b8d96379ab96e4144387209924b68ef4225d1f3aa420f8ff33c68cecb99e39832ceba2fa5418ca9fd5395e9d2176acc21e85dec6eb5255e1cff4109aac8dfc6b7b3003f50a9200206f0557d3f6355fe6931cb53697b2ebf55554debe5181e53a1f9fa9b77eeda4bbd870186ae3a9279abcef464ad6be9d7b8e28767e747179ca8e833832782f7583d60d8049788ffa0d0000ffffc84829c9f1000000", - "c39273ade175ce73bd1bfa779e713cbd": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1f6fcdf6081dba345d7200d5fe1b04b61c14154a4f5f9c2e3d4146a15ffaf82f2d639ab721109d946f0503b93d1088c622509fe67386badc05d6434423ac8f891d03254e30df7e13c766cb5fc493eb5a1053ab3f7d1357d4fd6ab285555eecd294cbace25f7f29ed5620ba02760cb9021688fe73153d46e44e859ecab0a36ab60f16de010000ffff93db101ce8010000", - "c71e7dd6f5874e0a79af0dacece2b19c": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", - "c9b1378e2f1f223ac11f5655e832d308": "1f8b08000000000000ff64cf414f833018c6f13b9f62776240ca601cdf426961a11bb43429b729c262945167daf0ed8d8b379fd393ffedf7f43b4c68c577e7ae5220c9ee48f4a37a4d4519cc041adc50bc192a9a388399d03cfffb8e304c4377711586b69da7e4846264c63b08157e0adf9bc9a007d79f649a2896ec0b84dcba70b586b05d3be03980d8df9c4c0f373d90733d0552f7a9ad4d92a5efe5d462cfbed63a5a7ae19b6e8927933d977cf313864611851bbaf66f56ae411d60abd8fde523fa1ecbe2620f5f47ef0120bcf88ffa090000ffff1f534af0f1000000", - "caef80555adf321928ce83a094f88b58": "1f8b08000000000000ff6c93cf92b23814c5f73cc5ecbba61ab5b13f16b3c8cd1f881a3088d0b013c4208a62ab0478fa29e9a959cc7c59a5cefde5569273cf9faf05d4e1de1f980621671ca3908eaa2138c75b82313a140a690e487189274d8aaacd61776ccde559c129cad93b414b50ea569e2a7f2d2541150c42deb581654222291daa17d176a0a100eaa0c99662104b3965f75d9cb6796d354948630172ac4127bced943d394d7b2389ad6af7e555d9405301f9cfe152c86cb6b888a3752e1cf6c89deebcaabd360b692ee03a32a8136132a54fe3f7202a98367b41502fc856fb84f782c08e6973f8d1f8bf9a215cd1e1012d407911a02444e7281481d0f4e7699cea862471d7a4b5dd67f5b91441a2191a6b2ed593d048e20f155c1665567b4d3ef55a119c34d323b0a41db4799df7ab3afa48e289ce9ced3399da0f1168eda8912106edbc2ad958bf07d949539db8cb6bca87cac44826fc9f3d41322752216accd6c1a75db5ddeaf0553c6ed79509e18c0c625f3bb26eaff362b50a97bf0af3064d4f6e753f6d657c798392b99f1f61c4f785512c3efcd6d9ccd9e7533a31b9d83a826ee73d8473d7e475cdc05c23e9be03920429a71660be5cd82fa41c6d3530be3b486e19688141a96f509481cc090ad1faf5b16e20001d7e510811793512f83436204a1e0113666cde2ff1f1690d70b35b4d3133cdaa4bddaffd84571369b1ef9417d9d59a36c17f2751792e22400d74046517598dfbb83ae8f906d1f9b278e38f667e7d0bdb9afb7abff96e9277623f7da5b982c4cccbfd79161dcada3f0eb131e8b75970acecde43d75dd0d2895faead27fdf627ea2f638c0bf5c8ff23f477000000ffffed6d643e5f030000", - "cbaf2edfce5abdc6baaafa9e5c308eda": "1f8b08000000000000ff64cf414f833018c6f13b9f627763d220617a7c5b5e5e8a29b45b476437185a74305c74ebf0d31b176f7b4e4ffeb7dffddf38922c167a252bb0b878c6fa5a0325290387a0b8223e1f69ada227704842fc7f8f1927e61b2f3918e3748661bc45a818e9ba3e1d02a3979789e5bb61dd4b117590da49a9d1b29fe6b55f412100cc7b1aedf70f8f401adbaf190ead4dab3187cec8326c83cf8fa6f02dc4e1c9bec5d370de96c7b34dcabbcd1c7555feb2334e9198fa7ad4df597e61e496c9460f8a05570016c92dea370000ffff15b28291f1000000", - "d0069d67da585e5519fa6fc82125d545": "1f8b08000000000000ffbccf31cec2300c05e03da7f005fefe7b375431b050961ec0240f64297122d74888d3a394850b94d1d6b33fbd734d9897750c4447e56bc6486e0f04a2290bd4e7e594a02e3781f510d104eb6364c7489123ccd7ffc8039e5c5ac6106bf9ebcba1a16c07b3dd59e5c52e55392f2afef592e2c604a20b60bb6b0db04074484574778cbb127a2ac17e50ae7e9cf00e0000ffff1e34df7fd4010000", - "d20cd817653eb72b0d26c22444e1139a": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1fbc31db2374e8d274c90154fb6f10d8725054283d7d71baf40419857ee9e3bfb48c69de86407452be150ce4f640201a8b407d9acf19ea7217580f118db03e26760c9438c17cfb4d1c9b2d7f114fae6b414cadfef44d5c51f7abc9165679b14b532eb38a7ffda5b45b81e80ad831e40a5820facf55f418913b157a2ac38eaad93e5878070000ffff703512f3e8010000", - "d3dd55aaf483d751978bf1a0b70a8dc5": "1f8b08000000000000ff64cf4d4f833000c6f13b9f627762781975dbb1a52feb682b7458336f134987314cd6b10e3fbd9178f3393df9df7e0fbf438471b5283537b0268b821ce61a48ceb6d012289164681ad85e661b6809cbf3bfefc916b1d81f3d47b0aa6c64561483a4bb1e45f7fa49e320dd374e5f841e7428c2c2284c37a3e7a6cdd6eca4a1ca21ac5f92f2f1e9a378ae581d2583326eba7defba3015c25d9bc09f071deff4b995a45c2dc7f1fef605a8ed41d4e324a3a1bda5a8131edddbd35a1f961737e1c6f6e01d04338028fc1ff5130000ffff75f2f2bff1000000", - "d40ea6ce4137492253ffdfdbc89f40e1": "1f8b08000000000000ff64524d93ab3610bcf32b727f95f217dee7779c418295d7922d2cc4c70d580c86c5761683587e7dead9a9a46a33c7ee9eea99aefef3f720f598f8c3a1be622e7340d1076a71c61c6f721cc8bd120c4328992c8a309a9d5633bb3dfb7db921c96ee60635bc6159fe5535f5fe2025811a6f5c76c672644cb4941e355b1d4c5471a41e2c02ea207f934bb74bc364c8dbf52d5634e4281f1c8e5c044bb76734f9b2e2705da791a8b389061cd973b9e2bb24aaaa2cc22e39aeeb6c391fdd093496422370455a51ed5a6dc7e1c2589917f4f1f2d79da31d11c50c27cc080536af99e1ee35228a3f305eff8b9964a23b0ecdc3ccc28a3b5af3914ee03f1d4ae534a2cabc8f365b6dfb34a4a35b43f0e47245b4a8b2337a79ebf6f1f263b2e2e566241388a7a053d88a2e0d75ff4e68cab17cb88031be0cfd7b1aaee1db6bc60a15282cf37fd265f85fd21cd10807c00f83affb3e5d8c432da2e1103189c75bac4eec7acf0db38a39a777d10aefb2f54f676eb3735adcdc0fbdf3c9d7cef4db9e9ec66daddf9b55f4c518361fd743380b5fcaeb7c6e8e13ecaddfa7bfca0dc2694311b88336180231d1fe5c817c9d213003043e1fba23a75b02e7d2219f84ad7afbe732b2dc5ffb641e27e34114533c9497b2dbc62a19431d6c0a1cd6f9897c2b5029181074e14c61dd7c2eac377dc66cf17a8957dda1bbbdd46e53c576764cfae1f2ae65744f1b3b1f0adb616ebd07033fec899d887f9d25b77ab1bbfee82d2ffd29fba24a2fe3015fa4a9f4860fd6a3e55490ff37ffef000000ffff4e18e95916030000", - "d45cbc426a6786484a5240c19df38172": "1f8b08000000000000ff6c93cf92b23814c5f73cc5ecbba61ab5b13f16b3c8cd1f881a3088d0b013c4208a62ab0478fa29e9a959cc7c59a5cefde5569273cf9faf05d4e1de1f980621671ca3908eaa2138c75b82313a140a690e487189274d8aaacd61776ccde559c129cad93b414b50ea569e2a7f2d2541150c42deb581654222291daa17d176a0a100eaa0c99662104b3965f75d9cb6796d354948630172ac4127bced943d394d7b2389ad6af7e555d9405301f9cfe152c86cb6b888a3752e1cf6c89deebcaabd360b692ee03a32a8136132a54fe3f7202a98367b41502fc856fb84f782c08e6973f8d1f8bf9a215cd1e1012d407911a02444e7281481d0f4e7699cea862471d7a4b5dd67f5b91441a2191a6b2ed593d048e20f155c1665567b4d3ef55a119c34d323b0a41db4799df7ab3afa48e289ce9ced3399da0f1168eda8912106edbc2ad958bf07d949539db8cb6bca87cac44826fc9f3d41322752216accd6c1a75db5ddeaf0553c6ed79509e18c0c625f3bb26eaff362b50a97bf0af3064d4f6e753f6d657c798392b99f1f61c4f785512c3efcd6d9ccd9e7533a31b9d83a826ee73d8473d7e475cdc05c23e9be03920429a71660be5cd82fa41c6d3530be3b486e19688141a96f509481cc090ad1faf5b16e20001d7e510811793512f83436204a1e0113666cde2ff1f1690d70b35b4d3133cdaa4bddaffd84571369b1ef9417d9d59a36c17f2751792e22400d74046517598dfbb83ae8f906d1f9b278e38f667e7d0bdb9afb7abff96e9277623f7da5b982c4cccbfd79161dcada3f0eb131e8b75970acecde43d75dd0d2895faead27fdf627ea2f638c0bf5c8ff23f477000000ffffed6d643e5f030000", - "d5857b856dbbbe02c6e44e0448d11029": "1f8b08000000000000ff64cf414f833018c6f13b9f627762ec708bebf16dad2f95b542990e8e9841191b2ea351563ebd9178f3393df9df7e77bf6302a55ea446bec34e2c1251ce35501263b0021453c8fc1573b5a2600572fef74711332463354a0659667944e37a7af8a0e7f4186efc32e0ad3950a54b5ebaa37f9d887faef19bec2316f5ad01cd01f26bd63cae5c4d6c7f6e0e4dbe57e9cba620a6259a421f7caa24be4d4be8b148fc69fbc60639d4ee5419d5adbbfb4b5939e1305f6fbfdc25bc752274ada1bb62b0c10c10fae93fea270000ffff6cee10fef1000000", - "d60243651092f9b1c9f7e06c4ab643c9": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", - "dbdb49499f1ead0a180879e3934aebd9": "1f8b08000000000000ff6c934d8f823a1486f7fc8abb37372aa38e2e4f4b81aa458bc8d74e70a416fc18500bfdf537eaccea4e57274f9f26ef9bf4fcfb3c8838d4fb07133fa036c51090173518a5782131863d2e40510405f5613985591d54553c8ab6ccb1b5ced65947152e12bab8a454cb01014555aec9d260503a30dc1224180e43d6120d3e2abc104111e0d21399539db28ff97d1791d696b07ddfe581157a223b22c7c84ff63d312b9d98d3d609207e0b978038b32ed5e49ec64264316ad2cd5866e6a0752dd8bd1d1610d313c6f2f4a7a85c917b4c82621286cc2abae71c3d997eb1ee9719914435e38dc23cb142ce1da2e6e156938021f2aa86115b70d36e7651fac84fe36b12908821feaedd32cfd89af69d92b44ba2b1dcc59ecc34593150efc72db393c8bfeda251eb6ad8ff44677669975954ddb933eb8cbfe2470104a8c8bf4529576b4e112a8a9f9921a43c0ce0ef51926c3ebd7e6e1c87bcf8c49b9aedafb7b8fea855a7bea7b1aafb2939ab0b3fb076be9fd0ee56853b91282de5575ad159d99b3f2aeb72f63c6352cff4657a2b92afebe93218a88d86d533aacba7080e53828061340265416285fe2000eef611500516d44fcf70378ccc2d3816185ba6bf6ccf877d63da7c80c15ff7e478fa7d1277b9bf0eeab03fdf413b5a4d7c2e242c7e6b196bce2d283c0a16b2e1486094ae85b4b857d575dcc6713f2d97a27ad0dadcc2b23dbb75fa280ee692d68d5f62ea5e1c8384935bb8ea0e8d5be5e2d12c6028a0a74ff6bd49bb70634d58d6b3cd28ee8cd7cf279ef5ff6df82f0000ffff8142178a2a030000", - "e02a3432c9ae22a1bedd91ee03ea27a8": "1f8b08000000000000ff64cf4172823018c5f13da7f0021d530109cb04be8654039aa4b12c511b40da38542ad4d377ea74d7b77af3dffd1e7e4781f17cb691dc100db31594f7ea09ce325203115430fadd33258298d4c092e4ef8f905186c66ae4946cb73512249be2341ed449daa2b11ee2d3eee58cd5eb99e3cf6bd41ef5e5ca515f1c8e4523499e10a2d7b501b9089d0deced529eac524be386a7f0a38a06ec71fd5c75a95cb4ebf7b9d1bef3db3e00344fa7c7afc8eddebae5be5ced9151c8e5375f779b49343ec687d0bb03204fffa37e020000ffffb868e0b9f1000000", - "e27ac34014546c822718464a5252429a": "1f8b08000000000000ff64cf416f823018c6f13b9fc2fbb22081293bbec5f2b6c3762d904abd6948ab128d9829ebb75f6676db737af2bffd5e7f47287239533537d0d25945edb3468223034f411081248cd888ec1d3cc5a2f8fb136504e7d36ee204b4f69b361f8fc987ee93d35a3b7b8db4f9929bd5795030fa39979896fb74c8d6e188e150832c00da4b933bb617df4a11618b6db50bae4d192bdd744b6e11f6f64d959d89ab976d7fe8e66e21b3ea6cef79fde8f443c4f19083ff6c626a4cb724a77059de17572459f40450b9fa8ffa090000fffff2db108ef1000000", - "e307e2ebd699c0a2667bc1803f495daa": "1f8b08000000000000ff6453cb92aa4810ddf315b33726446c6feb6216590fca520b1a28d07227b417047c74b798c0d74f8813338ba955c5c98c3c8f88f3e7f3112ea4f707e5a196aea4a0f9805a4a4afa51520ac728079404721982d7e7b7fb6d39fb5ea71abef4859951f889487323d7d7bdec4b9b034a3c68beb114540226312785a249a25ade4348722f21906b5a79452aea733a5d35872d6fdd12e2d72cd32cf18af44484959dddc638756f9c79eb32885e0b574d9de4cd6c27988ab831cee2aec20cddc0b0240818c75969a2597d14eeddca445b6fcede23d57074d1ee14834eb1187d263bc5c8c145bb7f61f25f4c89aaa53dac9e641601a3a14eb40a15f21783e4786366dbdef6e745979eeb4285065d18664b8e136db66f79785915e9d9bb5999e33d541820cf878535c7fb20ed3f657ca7483ce404adf28dc39bfdae28d21df9d947b3d24a1d1bb71a34c9b3afa22afd8f401292e7fffc1521e8518088f468323fdadd488f94d5467dafe0d39e24ef960e96a9a8e8c5f58b4724a6df55bdec26e3ddb46a26ac2e61f16ee3c99eb971de293e1f3524bc56fdaf75188fe9f1f7d5b1d13af4e03fc358067302bfe79c80a27030b87ce611da3521837fb9464348102f01a5a0f4474010bb0415b114cc9ffe3e397232c6c055a09e8770fd3ae0132ab9f47f54797c2f1ffb6c67cf2e6171e1f3c9bb771ad123b5b02ebc8bbb4f74fb26c6753b577015947e8948bd2d0635760e8ac75406cc46db54a391d7463f17f3dda4ac6f3fc082c9adec3af44e2c5944a739779b9933429907d347537c6cfceb21e1756ad3a31699ba399bcd61e5df117e71c48d338d036b5c99bfaca116dc63ffafcadf010000ffff779d601347030000", - "e4f0018d725423d11cc6b823e581242d": "1f8b08000000000000ff6453cb92aa4810ddf315b33726446c6feb6216590fca520b1a28d07227b417047c74b798c0d74f8813338ba955c5c98c3c8f88f3e7f3112ea4f707e5a196aea4a0f9805a4a4afa51520ac728079404721982d7e7b7fb6d39fb5ea71abef4859951f889487323d7d7bdec4b9b034a3c68beb114540226312785a249a25ade4348722f21906b5a79452aea733a5d35872d6fdd12e2d72cd32cf18af44484959dddc638756f9c79eb32885e0b574d9de4cd6c27988ab831cee2aec20cddc0b0240818c75969a2597d14eeddca445b6fcede23d57074d1ee14834eb1187d263bc5c8c145bb7f61f25f4c89aaa53dac9e641601a3a14eb40a15f21783e4786366dbdef6e745979eeb4285065d18664b8e136db66f79785915e9d9bb5999e33d541820cf878535c7fb20ed3f657ca7483ce404adf28dc39bfdae28d21df9d947b3d24a1d1bb71a34c9b3afa22afd8f401292e7fffc1521e8518088f468323fdadd488f94d5467dafe0d39e24ef960e96a9a8e8c5f58b4724a6df55bdec26e3ddb46a26ac2e61f16ee3c99eb971de293e1f3524bc56fdaf75188fe9f1f7d5b1d13af4e03fc358067302bfe79c80a27030b87ce611da3521837fb9464348102f01a5a0f4474010bb0415b114cc9ffe3e397232c6c055a09e8770fd3ae0132ab9f47f54797c2f1ffb6c67cf2e6171e1f3c9bb771ad123b5b02ebc8bbb4f74fb26c6753b577015947e8948bd2d0635760e8ac75406cc46db54a391d7463f17f3dda4ac6f3fc082c9adec3af44e2c5944a739779b9933429907d347537c6cfceb21e1756ad3a31699ba399bcd61e5df117e71c48d338d036b5c99bfaca116dc63ffafcadf010000ffff779d601347030000", - "e4f43a695e7ec5f26e04e3849437f7ab": "1f8b08000000000000ff6c534bb3a23818ddf32b666f4d5d2e235e5d7e810403060d445e3b4004117c7135c0af9f52bbbabbaa3bcbf3a8e49c3af9f77910b6a8fb8f813d41093540e017aa304a0da7360cd81925488aa0a4dce9a6dfb2d99f82a020ce989ecf5f85d6d7e0a0b2bc56c77abde1dc841a8d8c775231786c069c5b58dac176c482216cc1e7161b88395c235d1a268fbcd52fb1c02143fcc5a19eb95b8ddc294e06250ef53a8ddc3a1b71c250fe36578c67ffd927e6eb4d6191efdcea9b55eb3e32817386ce2f0df44cc41abe2b7f174241a43a301306666ee5daa40333514aa43abe31fa135398257b63041b956e802016d00482794ce277348ae5c58cc3fe92b48b216b9b8a79b124f0e296587e0a250ea7a577b2abac752fb9e63e189f4bf36d5e6199d499d534d989f7cb1176ef4b18234d302611edb9b5189464c4f724aaaa2c425de2eb75a6a93214205099ff689ca25fed3384a46b00f857beff9a76855a2a6db3dfedfd906dec79a47a95ea2ea03d3167d98f9fd05a91331c575b74a3b7a23ba61eabf5fae31ca71dee2c5f5fddbbf344e96b3ce92a6f21a25b795655e98fb07e3e75c9e708f6738c8019680ad27ce6f654017cf981804a30e1f6d4294b9f61db84436918a6e6adfad37ed76984ab06789b49adcfaf6d75af7717f5167cd829f4d3f5cce3d56fa3525eab2a5d0a262270c0a037e43153cf517b493710647ec9bf0fb3593ce5681e3c6e69511c67b5d8880375728312df55ee41beb95d347b3153aba24d7aba08a656e84df2c29cef079bc4c4ef7687eb56792d1fbbe69fbfe1ff000000ffff06a3d8d62a030000", - "ed2ef847f4e4ae637e5cb833cc1e8fcd": "1f8b08000000000000ff64cfcb72823018c5f13d4fe1dee9988ea2b84ce8671221b10994db0eaae5d25a908964faf69d32dd795667febbdfd3df08502e17af9a2738864500f95c1dc129c335604104253f371a89cd1ed7407dffff5b6084225b5a4eb052353a4df22bfc7e479c8da69bac630ee7ed106b233747752d64e88d6d5d35c573b26d1b8da58f711c0768fa74fb0a86617f5e0af7a34c538f747d979493761a58f7872c3d8eaaca709b5f507ef294f6849f2d77ec62dedce0de996877ef6fd155ae195a852b5ba425383300e4cb23ea370000ffff12ab3c93f1000000", - "ee4a1e5bb3ca7a1b519670be19e835ef": "1f8b08000000000000ff6c93cf72a3381087ef3cc5de535b063c7692c31e5a420861378930ffcccde0584436b6d78c23e0e9b74ca6f632a353d7d79f0ebfeeeabf1f8f302ea2bf288b13e10b0a099ba88542d09d4729a8a5022308281143e4c74bae87b0c8bdeeb488db7c7d6f16c250b515ab4b29466d3330c2ec355b5b08470e4eca488334cbb06723c44445190195d063d454fcd456f3f0becb59ef6b48bf7b75e26551537d126ed5ad7fdfbaa771ebbef43c81e25bb8248cbf0ee5c8ee65d1345541ba72b3d0956bf7c108fb6f0713ff1c7756ed46cdbafda36c82a68e5083410d0e7a6a78d4f9838d131b1ecc9aa02615cace50b9f53229393361968e2c41c2a67894e04aba7eb7cbcbafba5d5cb709cb91c8a967911ea3d4f5ef8295c3365fe85d11e96a640724f624408f79cdb353ade15ecdc3336e16a70feeffac797f5ab7d1975525a444829c0cfff20dfe7805c538a5bf6ac302b005104cdb8f6be1a37d665b6ec48ba0f5e6587e326f9d5b45cb6ee46044fe5204b48ed5a5163da99ef6efe170f4363ff51370272c9c5d2d9e2f9fef97d9e7aa9a3766eca2d6d5aaac8da54a693cb5f5b2d87e0719cc08480f54ae7e45d887524e7929ed38c8d427060951ea4614f389ac3d0b34e0632d418c040e2f0c34003e6427dd0b238f48572082f37352641eef5cbb9ef3e45c7f6463f27cb5cf24b654307f8b305cd53c0b7dfe2344aaa6cf4cca06c913f5cfe45416c2fc79d52eb548f12d205cfe1f1e01a4602b409652213d3df74c7e7b0ad3b75b533e93b439b2e13ebbccb569c3d8eadec9e67599c8d957f076544289ebe8cc5c3e5c291fb82396fdf5786b661b573ab0f30ece6259746f2ddc0f22c27face99c58e4fd7e62ff050000ffffa426d89c7f030000", - "ef2a4270d032df898d1836ea3aec179d": "1f8b08000000000000ff64cf416f823018c6f13b9fc23b590651b3792ce5a534ac1ded6887bd319412354cac19964fbfccece6737af2bffd9efe9600a17c514aaa51058b02b6f71a304a726401b18491c48fe483ad36c802c1f8ff4f9027249a9a89264808ebcca91d2e74e6ad8b7b757441e471942d87a8cae67de99e77c3ebfa671ee1bb84b1978863842add4d7ec9bda95b3c749ae58d8e6f47e1557675bb3028a43d5f56f13eee5eea548485365bf666da6e937ebea766dd0b07670c37f52533a7d4a99657d21cc2830dee00e0e923ea370000ffffc1aa56aaf1000000", - "eff0d9dc52abb51a7ec5a11238ce4231": "1f8b08000000000000ff64cfcb52c23014c6f17d9f8217700ad38bb03c69c3490c09a12d1d588236a980620dd3dbd33b76dcf9adbef9ef7e4fbf2314b99ae98c9750d099a0c7a97a9223034b41128964683097e10a2cc524f9fb1d6504e7dda9e304763b2b2fd70d2b2bf2708b342822eeed4d25c3d815e3f60b047b5faa26974112f9075fd419a804206fef41f5e6e8950e6c383fa3161763b66dd43663589ebc97fa669a78b386a36f736edcc77ebeeec7d4ff8e597f47cb6ab712fa55f767dddf54bc94b8781c22cc3ebd094055fa1ff5130000ffff6d8c3507f1000000", - "f179ee367d1aca32235e1643a3e7bffa": "1f8b08000000000000ff64cf4f6f82301cc6f13bafc237b0c4259bcab1fffc51a02d0541e68d5652708e0d1256f1d52f33bbed393df9de3e4fbfc30cb85c6539afd081ad12f6f6a881e01021c790c002f03242215e42e41810f2f73d8b30ac7de339465abb241bcc7dcc00e812d37eae029fb665f17daa3fb4dc0b1eab70fbb9561551e5b1ed72240942da98909b588c6cd1e9c5a9b2d9dfa6f762765af7551d74f27e1eea963a4baf3656a76ebabd6e4c9fb7c7f499ee2ed7ed949cbf36e38c174b1ae56d842dded1e1103c004cd2ffa89f000000ffffcfb7ad4af1000000", - "f1ab4b8c5578950f33f858e42882f34f": "1f8b08000000000000ff64cfcd72823014c5f13d4fe13ed3112ab6757913d31081f04d833bad7a750005cb34d4a7efd4e9ceb33af3dffd9efe46b9906a12a7b2849c4f7c5eddab154ae10172086928e84f2fb2d05d0072c1d8ff37dca3c2361b23292409423e0ddef275406427e5bc88acd13927c57e7b8a2f2f68b099f61752b105eef5ad3da6a018409a694d70405e32d66d829dc30ee5918ac6a98bb91d5b9f1fafd9ee90b7b219c1aea3b37f6dbfafbdab8ba5f2d6c3b6a9fcafe71919dbde25a7f71bd3f56a36ac3a1559770057cb47d46f000000ffff0fd048c2f1000000", - "f476e643201fbf02f314ab3bfdbd701e": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", - "f5442f8d371bec39595e39de0f00865a": "1f8b08000000000000ff6c934b93b2381486f7fc8ad9774d69d36d372e6671120e31eae16b305c77821a44116f08f2eba7d46f663393d55b4fde54e5c9e5cfc76028a4fb07475f49477250f8a40649c9678a73c8df34b49281963e50f426e36c74fc1caf3dafcaae75107f61db729dc8599dcabe1c22b4b2cd7b9c1b043b01ef01b282781852873df84cbb2103adf8ce2d32b1afb28f69b38cb0734a085e73b9b243b7c8b64c1879e53489b9ef13d3ea8482f855a8158af13dedb149e3a2c862764917a3323387ddc486e5ab430a4db730e6d5ff16db4991bb54424b25bc93adef8f1c3d58ff64f77f981195ec44dea5e55e62879e27b09d86418f8a183ed538a399673a976594def26a744c1446c4bc977647ae11984e2331bd27d1a85cc66e99f5e8125c5e8b3bc25c84fbbcc40db1e1934147d16fd6641fd383418bd17e2d9c6b2ebafdbc726f9962293112ec7e120bfa1c8346c1f9efdce2048612d8afd5bcb356971e2dcbc04e4f77c7f374fc93e77938e0b7e892be973b2b5cc5d679b4379d8d3fa83ff429dd7e7762bce2563f78532d87d1dcf2c3707331c4cf6cd37c9f76c9645b2ac5e6049f8fadaeec16d9a0f51ef73dd136d0e3e4273e31d858082500f1a7e6ca90adb7233e03297f52bc89d5d8ec93d0f624c3c1d7cfe17e5a8a2fd73c2caeb1b5afed89fe3e3a5c10d4ff6a190c88c3500361c0a56737b73e4e039ffa7071d60b556ca2ed3d8886cbbe399ac976e29abe38d73a88c6552bb553fdfa365609ae396d43bffe38f03ea8409dc09e1eced575301eaedfd775744587f45fc6f3e5a36bfff737fc1d0000ffff0d4d09c82a030000", - "f851b30cd7d8d2fa213ef5333e93587f": "1f8b08000000000000ff6c934d93aa381486f7fc8ad95b530d345cedc52c4e4202694dec68e46b27b48208e247d3017efd947aefea7656a79e3ca97adfaa9c7fef07119f897f305929461906451ed4e08ce1b9c2183e71019a2128d80a96bb061fd4eeb85dccf7cb463ab419965f44e32261f33665636512d04ce72359181c8e3e581b824a8ec390f76484152a4488a050f828caccaf9becf5bddb46a4a7156c9e77b9f242516607e41b7943bbc4aec7c49ef5be82f829b48af86f433ab22e8dcb328bd12d5dbb55669b7de0c1f6e970456c511a8be6475107652e78059a576071af18ee737467e3830d7f981155e8cae54d639978a1943ed1efe166248a23f2a886119f4b9bdeb651fa9d37ee395124e2483e6bf75c181b9b768ca44312b9d536165536922507fd7cdc739a44abaf6de4f4c1089fbfa3737aa4c72caa3be9bf0dc64ff123050a15f9a53c56cb0fc9102a8adf3347480b0c2053db140ba866ef46af76b299242f22b9fca28550e0aad7685c45de499a336b6ef57dcaeada3eebc96457fa8e3bb507324e2ec3453881ebcbca984fad5be05f4748ba536b9a7a3dc2f21e35903304fb1941c03172407b9078e1ca54208317044c8307d7bb67046b4ede3d3814d8a3eb975374e8dc115ddebe35c1d434ab3e0de24f8b559674e93565bbac75edf3ca83f99f5ac687941e1422000f1138a028776b14e7b5a3f69351b517ee9bb1d5b757bd76a6e6d7f4d5b9bcfddab4f5d9db4b5690607f30e8c762314dcbf4bc756971ca649df51dcdd3d377638a65f87a6a7731c909f9cf78fc7c22bcbfb7e1ff000000ffff28913a7a2a030000", - "fac969692ac257e37c75e9ef5d18d8d2": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", - "fd03ae41ac3b3e5abc9f9cab9d491f54": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1fbc31db2374e8d274c90154fb6f10d8725054283d7d71baf40419857ee9e3bfb48c69de86407452be150ce4f640201a8b407d9acf19ea7217580f118db03e26760c9438c17cfb4d1c9b2d7f114fae6b414cadfef44d5c51f7abc9165679b14b532eb38a7ffda5b45b81e80ad831e40a5820facf55f418913b157a2ac38eaad93e5878070000ffff703512f3e8010000", - "fff3f20b73d6c3375509d3724ce1f497": "1f8b08000000000000ff6453cb92aa4810ddf315b33726446c6feb6216590fca520b1a28d07227b417047c74b798c0d74f8813338ba955c5c98c3c8f88f3e7f3112ea4f707e5a196aea4a0f9805a4a4afa51520ac728079404721982d7e7b7fb6d39fb5ea71abef4859951f889487323d7d7bdec4b9b034a3c68beb114540226312785a249a25ade4348722f21906b5a79452aea733a5d35872d6fdd12e2d72cd32cf18af44484959dddc638756f9c79eb32885e0b574d9de4cd6c27988ab831cee2aec20cddc0b0240818c75969a2597d14eeddca445b6fcede23d57074d1ee14834eb1187d263bc5c8c145bb7f61f25f4c89aaa53dac9e641601a3a14eb40a15f21783e4786366dbdef6e745979eeb4285065d18664b8e136db66f79785915e9d9bb5999e33d541820cf878535c7fb20ed3f657ca7483ce404adf28dc39bfdae28d21df9d947b3d24a1d1bb71a34c9b3afa22afd8f401292e7fffc1521e8518088f468323fdadd488f94d5467dafe0d39e24ef960e96a9a8e8c5f58b4724a6df55bdec26e3ddb46a26ac2e61f16ee3c99eb971de293e1f3524bc56fdaf75188fe9f1f7d5b1d13af4e03fc358067302bfe79c80a27030b87ce611da3521837fb9464348102f01a5a0f4474010bb0415b114cc9ffe3e397232c6c055a09e8770fd3ae0132ab9f47f54797c2f1ffb6c67cf2e6171e1f3c9bb771ad123b5b02ebc8bbb4f74fb26c6753b577015947e8948bd2d0635760e8ac75406cc46db54a391d7463f17f3dda4ac6f3fc082c9adec3af44e2c5944a739779b9933429907d347537c6cfceb21e1756ad3a31699ba399bcd61e5df117e71c48d338d036b5c99bfaca116dc63ffafcadf010000ffff779d601347030000", + "0590742ec97eeec7ee0fc2837a3b92e5": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1fbc31db2374e8d274c90154fb6f10d8725054283d7d71baf40419857ee9e3bfb48c69de86407452be150ce4f640201a8b407d9acf19ea7217580f118db03e26760c9438c17cfb4d1c9b2d7f114fae6b414cadfef44d5c51f7abc9165679b14b532eb38a7ffda5b45b81e80ad831e40a5820facf55f418913b157a2ac38eaad93e5878070000ffff703512f3e8010000", + "07f2b3cc800b0348275e6164e47ecb5d": "1f8b08000000000000ff64cf414f833018c6f13b9f627763d220617a7c5b5e5e8a29b45b476437185a74305c74ebf0d31b176f7b4e4ffeb7dffddf38922c167a252bb0b878c6fa5a0325290387a0b8223e1f69ada227704842fc7f8f1927e61b2f3918e3748661bc45a818e9ba3e1d02a3979789e5bb61dd4b117590da49a9d1b29fe6b55f412100cc7b1aedf70f8f401adbaf190ead4dab3187cec8326c83cf8fa6f02dc4e1c9bec5d370de96c7b34dcabbcd1c7555feb2334e9198fa7ad4df597e61e496c9460f8a05570016c92dea370000ffff15b28291f1000000", + "0bc57de3ad0040104730f4d30edef25f": "1f8b08000000000000ff8c92516f2a291886af0fbf82706e7b14066686d9c40bad9aa6ed36adad59ad996c18f8505a9ca13863b4bf7ea375d39b4df6dcf1c1fb3c8437b4aef58007983c3a8804a15568625ba24ddb063cc042a442a0106263bfa6344568e59b75893cecc19f400355b726c8b8789a7cb3de11649d875a6dcfe2e020f67cb32628c249feb756dec3296c95df0142ab6d63a044ed319cf311bc3a12fc139f17b889d8b808bafdcaf5cebb2552c69cefdb34bbb6671afd0eb1e7ea1662adfc1f19a58c11f4d135b1dbe2014ed05e796754dbc41d1ee015c21863420f9452cb54aea8d45a0b09a9e1d44a2a53aa2dd336915c29ae2a43aefe25a0e0559158661495b648d2ca00080105833ccf24975481e49ce6df44c5a496699e024fa480bca88a84514a935471c67369a1928c52937d1332cd26c9a818a6d3a14ca66336a29c8dd9749ac98ccb4c8c47c3ebbc28d231b942e5a594af864a14002e2ffcf193f45d10fdffeaa7dfead0179426fd9084fed3d60a5b67bb177ebcdff0eee3b6be15293f0e379f41ebeafa294f17b61ecd672f63fed0ccc815faf1ff667e313fe772397f5854873775e7f6cfc7f571fc7e787b5d80591ec5cb34dbdbe1edecf1cfd9d2bccadf338b8bf935c0b51e3d8d5417ad7c9e4ff687b7d992d5f7cbe1cdcdfcf3e3affbc9c288ae71dda4b823a84468a542d01be5ea1205dfad5d7dfa3d5655d1e95fda3ba8db5fac2708d24d6dddfafb90a07f020000ffffbb739e0123030000", + "0c1e83b6639904712f1e2c8db7a9836f": "1f8b08000000000000ff6c534b93aa3818ddf32b666f4d09b4b4bafcf20082060da0083b83368f06b5550cf0eba7d4a9995b756f96e751c93975f2f7f320ea30ff2f4c8388d90c43445fa8c619c38b0a6338e01c144390339184cb696334d960f30ea461f4299ecc082c509eff14dfd56a2d04810a0d5cdc94864542b642385479dbcd40238ea803c68662c417c2b46ffb387d648d7549221a73245e1ceab8bf31ed96d1b4d792d8aaf63bbf92034d39cadee6820bf9e19d7869d547c7be674e572f1bff21239a71747e69a0e35162d256fbb3108eb6d27b4ea0e764a35684f59ca0bdadf4e18db1ff308d3baac3037828f7b7089208ea6dc403aee83b1aa3ea4292b8bba4cdbc974d5df0205136bc38972a23d29278920727af908d7fc94cffc1c54c91b77949555a49a7aee54974ee0087f7259cdbf5764877ac13cebcd7d281b5e9ae28e40eddd2d0aaa4a9ab388208e5d9bf8d33f47ffb1c21e56380107be9bcd81e4e534d91d24d6ee3604dcdcd6789d6de94dc77f1f871e94ce6d1c068ca8f849f96fe4e36ad55b2afd5fccebc7bd17db6a3c9d1ef3ded6b8d8b334bbccd281ccebaaec20156cfa7ba6286e06b4611708c26a0c83377a04720dc3102a680c0f5a9d3dc90538f4099636287e3535cb6d6807ee60f45b1adeb5597babb83c12a4358f635654779b6cc4bf0cba8b4d7aa729f0141369414ca45d50d0d736f8b31960112c97deaad630b4fda6be7ca3eed3e17a5d74a276f6698b9df95e6d64ab7a632d7c9d2bb2d26d9848703db17c79157cb11b9d2d95df6f8ae6cedb57cea93df7fc33f010000ffff07730dc42a030000", + "0f2c4d6d3222cd5f703bc202a4c070b8": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", + "10deda50b762bfb0ec0bef96715677a8": "1f8b08000000000000ff6c93cb92b2381886f75cc5ecad2911b57f5cfc8b2f2184a8498986e34e50a02334ad3606b8fa297566363359bdf5e44d559e1cfe7c0e4428137f60b297cc6518247951833386370ec6904f4ad00c41c9f6b05eec67ebcefc323fc7c58d85f378b38cb781c665c2366dca466512d04ce723d91a1c2e1466014115c761c87b32c21e952244504a7c115546eb269bafbb63447a5741f09ecba5138a2afb44d4c81bb74bac7a4c2cbba712e277a19584ae8674245d1a575516a37b7a58aacc327bcf81e3bbc325b144656c9bff2d6aafca0557a0b9821977cae199a3271b5f6cf88719914257eedf35f61327f47d4af43a0c462239222f358cf8c6b7dcfb314a1f79b3fc4e248938f2dfda3d174660b91d23e990444b758c85ca462238dcdf8b7b4e721ad6b9220547e68b41cfa337832e9bafbf0c7e58d667eafee4b4afb78d786412a51c718a862b3df0c50a4a4231fe3b6be281c9006d26eab4b4f4c197cc28d68f7b625fc5cafe983693dbae0adb8686935b7b0f909a20564d8654fab1c77793475bd0f208673a9aed4a4fddfb940673e3a67516cd8a4b4acf4a4ab4e5b0786ef5e46882a6da7fdeb7573ac09f27efed3982c226a000387e699e0ca6fd0bc71b606c9792073dadac31091d9f2132fdd87d0dd723fd10d6d7e127b6ebd6f1ca5fdf2ea61cda7fb50c041c839903273e668ec7ebd375aa75a16aacedf2384f7ea68dbb5dc5c4393926f26fddd99eed65a74ef0094921acd8e88ad9e05c58fe73ce45612fd648d1d2ff2526418284a9779ef467a382dfbf8dd7cb27c2f9ef6ff82b0000ffff849769a12a030000", + "1217e877d574246acd5297b375bb7cd9": "1f8b08000000000000ffbccf31cec2300c05e03da7f005fefe7b375431b050961ec0240f64297122d74888d3a394850b94d1d6b33fbd734d9897750c4447e56bc6486e0f04a2290bd4e7e594a02e3781f510d104eb6364c7489123ccd7ffc8039e5c5ac6106bf9ebcba1a16c07b3dd59e5c52e55392f2afef592e2c604a20b60bb6b0db04074484574778cbb127a2ac17e50ae7e9cf00e0000ffff1e34df7fd4010000", + "156da2c627e0a89eb898abe0dfa42d93": "1f8b08000000000000ff64cf414f833018c6f13b9f62f7c558740c38b6e5ddbb3a0a14c60cbb41520b56652432029fde48bcf99c9efc6fbf87df3140916cb25c5ce8193627a8d6ea4881476a804a2691cd031672175203c8f9df9fe0c8904cf5241855ca5c250f675692973abf7e9d9576da288897a7e5356b0ed69c6e95e7b95d136cf54c749bd384539a2f6fbdba63a44bd77ea451e1f5d692fde5d1ecf478f79dd12fe6216b387fef7a30836e6a5e83e8ec902eed2d2e3f478242555ee21ff6a972b7cf26a8e2f03b0c9c150049f41ff5130000ffff4d8e3f1ff1000000", + "1882a1e0ebc4f89be7f38f445afb400c": "1f8b08000000000000ffecbb5d8c1cd7951f7e3faaababa7ba35455996690d6dde2a51d2702d9255d5f5d1d5a6f9e7a54dca04cde5c2abf5feb12fcdeaea6aced4cc74cff4f40cc995cc19d911360692400f4aa0073d6c82c5ae810488816c003d2c8209e0048b6c36418005e2873c08881ff629d8204890a73038e75675f70c3fc42c1c20083220a7aa6edd7bcfb9e7f377eead21e9ee162584d0efb7eeb2830372971f1c1cd003b8a7077709b94be10a8de4ae76a0ded103fae82ead1ac8ddda81baf247f85ac7c7037ac0af7c8b6b84b29a5eaf1b86a1698c304a0c42584d378c0621049a6ab44628e1468dd408a3754d5b8266b3a953ad46b7e9a953354ec929fdabfc80cac3c323621e10f9d94f16aef5efe9fa56be359e3c6464a9d71ba4d3b4978f069c9abdde5a9e6ef7fae96ece99916e6e8eb3749a13ba34c8670facb93b4d27d3de7e3e591f3e24bcf12a25929ad62b5f3af592d530cc335f5baa5feafc9ab7f47bbff3ad1ab1ce13b34de901bbcaae0a220fbed72270d322922e9b82486a690ebddea2822e9b1621aa6995982f43377abd4504115452ab669a6b941ebc4ea4d870f83922b83c5d0862bd0c13b3ab82afb233d09b4bab10d47a191a5e8179b9340ac15443f37a8b092e45710ec9cb0349acb7c913d7654a0f80acf5aacd045b364d644230eb2bcbe697ca7782096e9db635a12d9b2d72ed9ffded7ff89f7ffc37fffe1f7e7c004fbff793cffed5dffd971ffcbb3f3c301931cfe0f2055965b8540277b345bdf9c44b6914ab8c38041e288aa3669aaf5552fbe9e11191df907f797844ac0b20aee7bdfa33461988ccda70d83945d7264a60205d79486fb688609244ac098fd6cd16552f0eb53bf04650f9ffedc8433ae99297f049df9f35b4b0a1b92f9777e4e7d0d094dca64d6e1e1bb68c4f2fefcbbfc22e272779a99a6436abd46cda64a69289e17014cd3b28186a2d63a3cd4d25435e08da25a01d6896b48898d164c719685524cfeec823c526b3a989fa5d2e473a5ce05881d44821986c82155d7ecd144c5a602ec4fc1b94b2835274a82e568edd10148405733854f09b2d2698a45398141a6fad385492efb6188e642da57acd664d5a2e83492aa8a5dbc039982c1134629a2082458c98cb260e582526f852367302d028b240a033934681a62fade23c233127aac9802663d62428de198249adc0e880dd2cd7a682a163086a5e421b4723146c5148ec9890c0232ebf2689f96dca957fd30b043d1bd726a9cdf9559041616b824b5a38cce642c33ea6a996a7a9c51253fd5b29bd4b9255f68b0faf3a2019b6728a1042cc3709bb2afff2c32362091438de8387586f2d9bea8158b66992eafe4d731b8dbd1ac4eeb49e78567dc197df524ce333b76c54468b4a329b5b70ebdc32d816aa1ad6756bc5ba6cb31939c1cc3adcbc46cc09e707f4116acadd7028f89ed5b65a3613c4f2ada6cd51298259a1a0e7b9616b8259915d4391c6113b23a8a845ecb4a0428bb905f288d83920193121a81485fcef8748d447855b2bc4fc078cd64a7a1a8437bb8611cfd6e162d875b868b6011762f32a0880a07ff693ab92de681149ae7d70787868c5fc673fb90ab220f0f68fe16de1d422b81335c96eb5a82934b0352e0c5117ba15080d74b92a34f9c9e111b2aa491a3101e3ffc3875741eb3822626f0b8e39401265113c820e8a8f5f82c2afb790eae76a14088908bacaac5384c024e7b9117321e09528045b65cd5384ccc89838ed4181938a9aa4b75bd4c4a422a8f57562febc94d11141f7018b0547e6e8935a016a01e9682a240ac1aed1989f16e0cfa70b581693abe865daa297ada297698b5ea6e1ddaa60f2dccccb560bcb7dad724a4703e64504de2fd8797e3ae646c54e0d237f99067478a8091dd380e0d0d78821f4214d747e52ea14e304b81495cd42ad036671704d3541af9198810f35a50649b745f06e95986066e0d868749a323388b77feb8323327751c1e41129ce11f33f51aa2d48b1145dc97d8bfc9f2743aa64489f2743f3d87af9e27adf5021d7aa422e856cc904019161f03cfb1a21a646f09734cc7f7b9a1907f4d12ccbfe57c8b292d89087fefcf17b775a7063160e950f766c95df1ced3ac41abb86038c7d64599e051f968f1f3faedf4264a30b7acfa11bf2eccebea43bb09ee986bc52d835b4fb0d9b55d909dc745ac88fd86cf992402090447e15dc621fe6103579f6c6cad4ae4b621bfc6a2939f960c769401223a221f886d3c030291ac0bd6d8846b512db68a2c1bd82241a42170d41455d7e6d5f6a3ba05fa4fcce0abc58b1755197746ad7056d1148ed68d53a267a61b498092c48061ced4c215b0aba3111da0eb0ce553e10746367edc4aab8c9e74ceb82df117ac9f2cd1dbbae1664393a5a02f269eb60eb86a8afc05204831b067c08bd454c615c6f55c0e323ae5239ea5bf08d3b2d0651c4b01c95c5a505ef0cc1259f80c9188243f267924e940bb102b337f63d64375b15847cbd891331c9f71d26f9140c598563957175c8782806b683781682b7820a42176c82ee0ec989831d1a9539a2cfc2850104a2a68037c0d28c3f0427282c64d11486348a65730e688863480b2d533e00e3326fae385cb17976c7d1f761ae1dc439289fdb2d2e28809512b93e4b4fbad20fdaa7d0ed3a5a9a0e8aa16003a501d1eb2dcdac74094ad40583f5de74745011853cb302f663eb4d051ea83cd8052f600570392d9c7a6574205105b628c016b03da370ea37809ca88398ea422fc54484211f097e7f074300540b7cea544aa54aa973a135b9593a1815fa5432a1cfac75c7a916afd43a67e7057960150fc0beae58997351078b993a0c44c3178d8c2b232b4db6aa97f8be6354c68518f1136ed3b9a21b920a038dcc4023636064252f0d61a09131db30957519603d33eb828b113103fad623f60957e1f2232ef4656c3bee22f5d93aeab00e3e7311bee022cfe15eff62eef5a770af03f7fa09eef5e3dcf3927b06dcc3f0fa719fa93fe933f5059f997bce471c14734755761f63e4b8d5e21827b9fcc7875ae1e8d2dabf0aa67970a3a503649b3ac6f596ae90f5ef73a1cbc3c3f7779c5ae1d0089eb1fd0fb80376a0430911b13f40bffb94032280b2f0a7bc70349baa08489cbaca7b8d4218375a5c593e6d9166cd348f49102d4897cbb7b0a2224a0470fd08402d9bd91c2b1ca6201153eb9f0521ec4a4ab3c4f17580277393d43146493ec18c077360d28d98cac8cb6625b73f29754e8501400d1c21627f02c59d7c7c3662475cb5fc1444094bfe635e48a2a0c93fe2058015c2d11951c085d0d1c750fdf29542d42b8a0e9587ec9d1629297cca3143feff28ec8f01c4d2927d8892721521803c3c3ca411fb8c639a5b65cd16240efd760b43d1ad1614000d512b145e509aa172b9c054241f1425192af40d6515a2563875842d0652d5e5fb8530903074ab3f49181305241f87e188191990bc8e04f4858c338b172863d51b240cab12c6cd1510ad3044adb0eb4253d6501a8fa8df68d1b9c930b35c3151ce021730ae72b5c7939e0df2303620bcf3b9477cca05c63ab43c9c9e5d15752c9a25df91f41d558909a6c45525c8bae534a9a9ba369d065c0ca77603d15b039cb7014a2f5d1d6201c44dc9f7cbd0a9033f688e855d0777068af2d14e259f99a46661932fe4666ebd0eba46d3fddf989b95564bf35096c1b10efa98cf995473d232406188297b7dc49fb6942a9b2bc556600ea2827e0b8330e8af508f0cb56bd8b44ca4ffcb1e01194cde054b970f30400af0be9b2b4e43ae404f00eef692682890af103d83d0bc1433e3e96e5c39ba20f267bc100d6914d0da90670a15e2243a731de389436f812f37847e03516a63ae6540a1fa865371dfc0c245ed68957ad605b55e2fc50b7aae577aa68b3808902ce8b98e7a4671d5cb542deaca63c1c230a5182a953755ba69aafc6e98f35c70bb32b0bf9e2333f39f42d90a5c9c9e417cf04f870b702400b708dc5e291c28041d6d0581470d2b0a0c23e8da3565867ce6421cf70e84b6626bfcaad06c9d5d153587c33c9a9a406da7da1a58ba65d74c5103c1eba83d7053a8d62b40b4cace54b0cfa9e106e73be8b7584a71dcd522a828ec0a1eab2de3ee9a7c05528c25e88d95a2ec7dbd45cb9471ba42f158d021ef969af4f4bcfa50ef20e4a32d95afcd7fc1a876508619631faa7c496c702d7916cbd3aab0625217fc9ea3cd0a2bad2aac009242d56ca90af98c2042ab1639df43a9f6036b920a0dcd46afc203018d20a465efb4a8e0b6a6fcbf26f4120451155f8163dc3ac5124dab4a344d956890e6c03766c5154a188a46260814564468368752b6a205aead81d689324a4d4524dc483aad560311096ad865136ae3391b60d665dc8231e6e7356a1c48dc33124cfeebc7efdd6a11690956160a0c0a05dc6a78bf644b87bab6be089200f14bae7c09628621ea85dd1075a1dd5115c4a75c346eb44aa40ab71cbddad125db69e902667496441d229876a7a535755368e8d23598446a93f26e437e7068dc69d59a80d584b6e1200ae5a22634c0283b13a9a2b4213485457919271a339087db7bcc7aa3c94b172ec9de7ed6344c51e2f3e1a59333f06cd437c66f35cdcd721fb8e40e71186eefec88fa7cda3a4ccb663c0194445fa6e6b3975205ec3a6e8cc02b4d590486c667005eaddc35104bb308d9a8927043c5980698514385da3282344e26617d9684e7c81f18057b78b6d84b5eb527658febac3f39fc845c4c4195508860960dfe008ba682e14887438ad22402969d950d87c3ec6ad3167704df146cd914dcfc2f1ad50e10bbce300c82694d52287835345daa32aa06bd9872f94f20176b1b0e463a7474be23f93b18eb50c682abe60a822cd43e112300844b33c60451c91d637bad2c5e55c55803b9d7162ac652eedaa2dcb9e2b9c426e249b2b35d093c5f9921353e476a25f3c781079402b3fae0c44ccb4fa219d5fde3e3dd717a9cbcac35cada03200b3877ad142ba4a09944782511ae24c2f114e24695089a2ad23f4b224f63f718274a47e6b2f9e426cdf26c8f86cfcae8393ed024246908f47c5e3e13c5862678593e9359f94c4e94cf1075cdbf53c7a40ee19061f0ac2cd6a185adcde2265736c84b1b64d84b50c42ba5d2b0a48398af3c696e831425bd1805f02c4cc984095a60d8c7f5cf8130ab84ce94d0d90b98215f3043b069dc542f0d5113fcd9b491d2cc10b5b9216a330d2d1822457c0a16f9b4555411776688b482b3b3ee58ff9606404e9a22c6e9cf3848f78e4a459f627d5a3afbc7dca9c9f32823a8bd6d86289ba998008854e076b456c0033395dc1824e2f2e8fb675ced07b5a0ba55874d0466012b2da0542eeb2f00018fcfe2af5b2b362bd77504d987dfc6847f00281c2297f21c5a81d7b9e768951235a5448402285ead52a2f66c253e4dbec704a72c0b462b608daa0260ad663be2f20083c011c7f3ce85b5b3596dbf6c2ecf40b8f61410ce67684a9b83f0d2c9b8d04a10aedc5c391953fbf20bdbf3cbcf1431591432b063fe15806c0573e49f3f7e0fb031fcbfb5e2d00dc14a0c7f12f7385a219b8565e3b91554b355bd48410235c1d0776d0a6c3300483a5665301e229eda31542100250daeac68a24f6fe08140bd824ea2566e46951911025b0dc8d4e61914f74d8fa7cdc52dacc50cab4e8d164e7df07c979855fa63255d2cd2399ed7dc4636003c2ff28020884326d416f72ccbe457d16542b3de28f73739a4dd86ca7a5f26e62922ffc90747449e923fff407dbcc088b949abf353fcdc439d16978099cb338564eaeeed42b6f0ee1a8b019dc84f7e748467331cdacf410e96a200d8cb215dac628356444ca80320625d24e678466c76c6a3292382f557c4d88c1853c498fcecc747e541101263788a0ec4181eb1033d06ac0b756af5a73f3e427adde3dfb25cc3635e7e8dc6d51acf00e02f99c68333a5b88bc4f49e7b1cf517e5191693ca6badaf12136c37049310d44acc9f1bd4a88eefd48734e78a4aaa412158595469e52e5e977450c858a44128015f55f23e841f2de686e25554874cc8365c2c95a85d75595d2807303ad655ee24b68191d36940ae128d5b2bced2f51695d406b331a0963456c1a85659f314252d4d18b259d84c525bc7208ce526eab2263560fe1423d7f13b04ac1474b17407bfc978bfb04b8214b5613351834b0d49e91023f0b45c945fe8c0fd3945f47ab9957a9c5da60e5ac1032bb6c933d9e625dba20e35754d710f92910f0a3c83c4da5c5ac5054250e8a2a65041c40c496c28e6e7b0a0a68e365fd208659c98a2561ef9aa45e32956d9e4e0c97fe0687754fd0b4faea8ab330af0cf97de6931515f656471bcfcd30f8f08d407d63788590d5b5573bdad10581d376956f1653511393e91a90ce315080e11b34e9484355c804689ae996a7a44d16fbfd3a2cd9a59e9523522ff54f14e90775292d4505978e4dcc48d66a2f8125507bed0a15a18510bab68d89a29a98d7b0e9a723d8a5b0f28c5ed02c3e90d85f1571dad948126d4070a115bc57a454e95df2876c99d56296a74185b2bb37175eafc84a1d64a43a5cf32d4732f6ca89a89e59bd06f97e6885d0da8d2a6e5e60c648c85512d8e4a06f9fcf447ea2bb21fa9402c3f03796982a0bcb83a1217da89afdceaea13a1f2da34bf8e220693c6aad338f1b14f1323bfda177c62ecf168f5178cb303fa88cf53817c4bf98120d73efa37e477a0bb5d0334f516ee6371d928041eb9bc5f001c814e874e0d2e8f7ef8474e5d3e7ecc77e42fc9c831249dca5ffcf888149708f9262142978f0a511786fc25d9dc50fd4ef4d040359a20d71efff37f7fe907b62e6a36c1b36374b83f7274f91fc9f710ae0313f251e16805b60b7d4e577fe6fc66b955b2f4dd9373e8277a62fe561d0eca0e6ed1252576832420ab190af996d036ac2e7e84e52aed7d5ea3b5f2932db0bf6fc8c3c39f93d926f78e43f1ac55d40a75ae56038b33d4f783babc60d72b46b51df53d8002b30d2824b0f8b49704c38ddb067e13268fe88e3ca4370abb01c8b2b0a95802be97709fca10bc108d0ddb4027ac10a0a15c8ea85339eb9b6aa3e834005841e499027d1a6c17eb175206bb86306ebdf0285c82b1833b1bc686dd80285b7e164505b9405c67492c497e63e5258d114a98291a18861b209386a4fb36854b01770db35c192fc11fbdae8a88d31888e0d7995566298737f1eb538a875ab44b20a4b9ca3de66cff0a5952073d2553f4b94c61bbbda4789b090ebb619c50b3db0d6c531faf9cb60966e10610c0ef43aab58925dc3856d3e3b1d2e2ecb3b592a752227f6d4aa629a8f96ef5cd3145dbbe5125e655dcfe9c99020c69a97257cda77a30cc230be602b94c3323f5b12e827d825f3772b4ef2e519fb3e1777d68de0c2b20f59da369fe598311f529f62f6a8c10a295ff7979ad114274a27e2821a44e08c9d2cdcd7c20eeded99eae8f47ddeedee8fe24dd5e3d7f578c472215777f7d3ccaef8afd74732fdf9d649736d7fbd978925f1a63f78b93dddf2416f93221e47729c1ab4108b14a7a0d42c81221c4248434cb36b89613e1a7de9726e9fdde7e9e5d9cec66e9769aad4f1f8af17e3e196e8eef7f4a2cf21598872bde971778071aeba341fe408cf7a6623c14fdf1de68b0db15d3b55c6ce623b1be2b447f6f8acfaae3faae20e497c4220278a11679f957b17e7a7cfd8b9d7637d7b3fcd2d6787071b2ab58a8989da4a37bb9188e2702fb40d3663eba375d131f510b75f4f7a8451c42c8036a91d38490b5252503d7753dd777db6ee0866ee4c66ec74d3cd7f33cdf6b7b81177a91177b1d2ff15ddff37dbfed077ee8477eec77fca4edb6bdb6df6eb78376d88eda71bbd34e0237f0023f68074110065110079d2009ddd00bfdb01d06611846611c76c22472232ff2a376144461144571d48992d88dbdd88fdb7110877114c771274e3a6ec7ebf89d7627e8849da813773a9d2471132ff19376122461122571d2499245390db7a6a59408f97d6691570921ef6a84ac92f9f35d8d10fc4057fee2c323627ecec9fffbf9bffbe77fbcaa8dd2ad9cfeb757bf45be8bb1a2db2d8345b7fbfdf4fe0ff2ecf2bb6fcb2bdd6ef53723bdf551b7fbde7bd9e678776f92fff087ddee9a1b058334e874d2be9b26c33ca1b3bf36610b7f6cc28ffdad89d6ecf5267bbbd31ebeaebd543e95ddf5ea79a29eebdee57745ba2bc092bbdd74f4b0db95a38757badde9c3edbcb73e002612cf8b22b79f06612748e3d8f8e221fd611676fcc86fe783b4ef0fa286ab3a6f4f27dd2e50ee0d26e3eddefaa8b7bd996679b7bbe6e75e16bb03df1d80f377fa4b5f38a2edc7fd2cf4f2761cba691c78e6178e08865ee80e3b993f4cfb8330499abe1a312e83a70aa297dfbd52c551587c90ba7e98441daf13255e96b65e604c90266e1ce4c3b4dd8fd370d07fe99b97dfdcda9b8adf9e4b6db835ed767f7bb23ecdaf74bbf7e1dacbd6d249b7bb96f7bd2408bd30f1bc78d04ed2e58ba5f1a0e1a0d55c81f5ede6937d58549c059d240d632fe884be1fb5adee8b10c3a6b5a13f70c320ed0cf3c80b93243bf542637741c06b7edf0bdcdcf7d28e17b883287dd9df9d0ebadde170bddbcd549f6fff26fc1e4ec65b3d54ca5a967792b0937a5e120d82fe20fed20f2ee3a0dd87bbbd6cbcb505029dae4df274d003cbdeec766fe50fe7bc8cb777bb5d506ab7fb9dc978fb4af5b0960749126743af1379fdcc8de257629cb614dc201fa67b9ba53ff4f2c9643ce9ad8dc71b20803cf4fc6c10f4b34e92c7fdc1970df48df178eb55b3d79b0c36d5a0afb4d443e943a7cbc7d285be7a0a07f5f37beba3dedee8fefa68f05a880c6ca7a3f56c637d74afdbcdc6a3e9fa682fef615b29ff304f82a1e786c130f7e324cb56e293c3706635e4fefa74ade2db1ba4d1304dc370180fb3dcf7cfac5d7e1182bf01b7bf913edc1ca783b958b143b77b6dfce076fe5b20d5fef8416f2befed81689376ec79edb4ef2551e2859de1d7fabf4a4af772104316bbc3ce30e984d9c0cfe2a0fff5a5f9b2cfbe5cc62b15e2b04dc8c1e656a5dcd9dd776677eada4b37d7ef8db6f2119048ddbcdd19f803378afb6e980cecf845a680289384e9301dc6c16018f87edb75befdfc817ba3cdf5d1466f339ddc0397de1b81ba3a83c1201c04713f1a04791206af7fc124eba3dd7c323d31493f4fd33c8c8771e6457ee646e73acf9fa4b44e587c278afb7996f9ed4ed076fbc337ae3c7fe4607d777bbcbbc07e3ff6d3b43d6cb7fbc33049fd37c3e78f1f4e72884c79671807913768fb61160e63ffade40b649e6fa1cac0313a11acd38bbc4e27f593e16abbec335bd268b0992f7a3444a441d677fd6196b4bdac9db487e7839369b782e8bd0aa243081864ae3768bbfda81364c324f8b52f4c23fd30cf079d30ed0fe238cabcf81bd182752b97509ea0307d2f5bcb331063de0efb49e2b6fb719679c3387d3b50e3104397971e02edde663eea0dd3f54d4c8c61927506ed20eab4bd4e9a5d38ff746a1015622f8a82be3f6ca71d50f6c50bcf604c459f280f7d40c2fdc40bd2ccf32ffdfa42c81fed6d75bbeb5bdbddeee5f5adedcdc56cf09df5ddedcdf421e2ffbdb67fa56c5ecb53d71da6611006c3a4edfa6df7f58541983ac096827e906549bf9326be1f0fdade0be08fdcede7fd2488079dd8f532d7f78f45130c353747c33158d0ee6e7a0fc864411e85699406837ed88eb24ebbfdac3108a13095aff9717bd80f9270188238dc30b8726cd0f7663dd747d37c324a377bd978b43b9dec655334c04194c5d160e87706491207a91b5e7cc6f8e1fa2630390813a8583a6914b86db7d3899ed57f737d04fdd32419b6f334ccc3ac3f1cf4c3d87d46ff6cbcb9b7052b4af3b01f6541e2fbbe1ffb91df0916542227f7f6203cfec0eb7677d7c6f77b7bbbebbf0b74bcc41f7a419c055e3cc806a1975c7aaa610cb7a6bdbd28008f0822cf8df2d873c330f306fd6eb830e0c678b2954ea7f904181df44076f72690dbd73ac3a01325033f0bfc7610b687dffcf68b0c5320647b920fd71f00fe6977fa01c4b741e00edbe9f0b2be956f65db0fc96f35b627e3c15e964f7699b1998eeeeda5f772aa7d7f6f774a9adb937196efeee6830bfd87b40609267bc3bb18b817dd0ba3f57b6bd3cd8762354d833c8cb3b4237cd74b2e78ee85b677fe7f060000fffff787a040d93e0000", + "18bb4437508258b30c50581629a928c9": "1f8b08000000000000ff64cf414f833018c6f13b9f627762265567766ccb4b29aea5edc636bd91125a1d4a70611d7e7a23f1b6e7f4e47ffbddfd8d00e372a10cdfe31d2c5ee075ae91e02cc70eb020829169605bf1b8c60e18a5ff3f404ed87da80327586be7281c4ee18927f5991e7fb226e2619cc665f990556ae045c18fc5a53aed92b7d697de60493136bde8d55597e06d45c6cf364d97689fd82e1f3f90d611b908a4d477d7cbf8bc45b2b21bdfd8b299eaf7a4fe8abdb916cdfa10c75d3620f76c569b156bd3a9b5349a0120d35bd46f000000fffffeae92aef1000000", + "1af561d1e7acc342a800be1ef9b9da1a": "1f8b08000000000000ff6492c972a33a1486f73cc5ddbb6e19d390e0a5264001c9088b7167e88e30433cd06e619efe56ec9b6c5a2bd5778eea7c3af5fffb7920f129ff079144528f2220c9831a8c521474088126574053081415f9c7747676a6d41f6e52aed3defdd0e36b0742a8d4a5edbb5d2c04061d3c3331690389126742f844bf65e9422483c4079b9420c8426179d321affe34a3732e25c919148f1a9c194f2def46497537cadce90e05efea85a40cd2e7e3964555d1b67501a76aef74b565cede0232a87806019378e46d346676996fb451fbe9adb4b6bf19b40b2ca966986a2e81cd3aaa99772ab0640fc6ba6fa60f0b8918e81fc30cd83294656c260b489e1394443d6f6b7f18eb1f6fb7434e66af03e9b3d6489cf1b63e42bf19bd5b690d8b515aee4c30d83d1b2609adedbdf2b37b55d03990a0fed2f6fc6fbef9d2ffb4371efa5eaf892e83f054d1a533111025fdff8e8168b050807cbc1cfea4c5b873aef1bb6b5aabe5361cd97a381bf0a292371deffd75135b72355420d668180eebf773ad9aee787d094479e3bf2f389b4e5191eb33de1f67d22b39d3e085738391496355e22c3163208235040203f50b30a03f97f4936802d75a2006800ef5a3af8348687a02ea45dfb9f17adb6d87f95d8e3f7dbf914b315991fd6647282756930d591ca87a55045a23f5fd2d0234c589063a015419911fd20db557abd75f44593f4c61ee2fbb7476a38969376e20a37bb2b54351c61a51e487d7f21a1ef29ebb7db301cefd6c84179e6873130aa91c683b9c1fdde366eb39c623e984e3bfd3ff5f000000ffff9099f8d71a030000", + "1ce96a8e8c09c1c6d48749e3bd64e1e9": "1f8b08000000000000ff64cfcb52c23014c6f17d9f8217700ad38bb03c69c3490c09a12d1d588236a980620dd3dbd33b76dcf9adbef9ef7e4fbf2314b99ae98c9750d099a0c7a97a9223034b41128964683097e10a2cc524f9fb1d6504e7dda9e304763b2b2fd70d2b2bf2708b342822eeed4d25c3d815e3f60b047b5faa26974112f9075fd419a804206fef41f5e6e8950e6c383fa3161763b66dd43663589ebc97fa669a78b386a36f736edcc77ebeeec7d4ff8e597f47cb6ab712fa55f767dddf54bc94b8781c22cc3ebd094055fa1ff5130000ffff6d8c3507f1000000", + "1ee46e1ba896636a409f4760f5f6bc42": "1f8b08000000000000ffbccf31cec2300c05e03da7f005fefe7b375431b050961ec0240f64297122d74888d3a394850b94d1d6b33fbd734d9897750c4447e56bc6486e0f04a2290bd4e7e594a02e3781f510d104eb6364c7489123ccd7ffc8039e5c5ac6106bf9ebcba1a16c07b3dd59e5c52e55392f2afef592e2c604a20b60bb6b0db04074484574778cbb127a2ac17e50ae7e9cf00e0000ffff1e34df7fd4010000", + "212afd5860583e02210e8f64ff185049": "1f8b08000000000000ff6c93cb72ab381086f73cc5eca7a64230ce4996ddba211c81215cbd33d88001df0f16e6e9a76ccf6e8e565d5f7faa92d4faff792c64427a7f111646924b02117b52434949969410d82e6ad012a196217c071fcb46635171b159a42ab40ffe755d6a52e772715cc9a9351968a9372dfb36147402de63868d2249a246364188b59720d411e9bca610fdbe98b9c33a65236f217ef5ca88265e53ec5018e59e0fb9d54fb9f5398a08b297708c98f8baaf2639acb2a62932bcae7ee66d6199a333c1e6e5a8881fc2ab515a5ef3bdffa3ac9da6f4540b5ab5f0ae687d7fd4e9834d4f767f30e3095b2c5470d524c86912048269378927162964cfeb11548bc0e2d775baba95fbf9298f58aa3078f60c1c95175b7c906c75cfd379bbcebcb69858a5d07c0aa0759a645e5fb61c8a997b50bb79bf15fc7729c6fe7befdd8c22c2954225f07e163fcafe829a0942feab3573c09480f8fb6636d7ee7e8c5c187c9887c74c0ce1e20391186eb26533cfda6c6c1fb59fe86ebe1737e7701a5c3ecf6ff1f2ee67c3f5641dce67db71b57bfc85bae4dad1fec66f0b8a674381fd38ea866a866f3a78cc971fe9eba59d9f98bd46575fb0661c83924290cb85ce1183d879fc0583424e93d08c2070de10a4060a97d766c55c0abb9a601a7f8e69a560e7633e441f7c3856bbf55902ef59df1aa7ed695ba9d545c8bfdb3d8505d6f5b9e95a7f1904146a4f02450e3b06f6c8de6fd7599f309badb77a5d1dfaf173fad519d930abbacf9b3daa43159fc3af8b6912e9c4915ad277d8664d48cdb78313b8cceb26db6fc95b6d55408fa6b8d78eeccea5f14c04f3e8ff53f26f000000ffff33c50ead42030000", + "24bec85d6b174710c372155a1ce1b3a5": "1f8b08000000000000ff6c93cf92b23814c5f73cc5ecbba61ab5b13f16b3c8cd1f881a3088d0b013c4208a62ab0478fa29e9a959cc7c59a5cefde5569273cf9faf05d4e1de1f980621671ca3908eaa2138c75b82313a140a690e487189274d8aaacd61776ccde559c129cad93b414b50ea569e2a7f2d2541150c42deb581654222291daa17d176a0a100eaa0c99662104b3965f75d9cb6796d354948630172ac4127bced943d394d7b2389ad6af7e555d9405301f9cfe152c86cb6b888a3752e1cf6c89deebcaabd360b692ee03a32a8136132a54fe3f7202a98367b41502fc856fb84f782c08e6973f8d1f8bf9a215cd1e1012d407911a02444e7281481d0f4e7699cea862471d7a4b5dd67f5b91441a2191a6b2ed593d048e20f155c1665567b4d3ef55a119c34d323b0a41db4799df7ab3afa48e289ce9ced3399da0f1168eda8912106edbc2ad958bf07d949539db8cb6bca87cac44826fc9f3d41322752216accd6c1a75db5ddeaf0553c6ed79509e18c0c625f3bb26eaff362b50a97bf0af3064d4f6e753f6d657c798392b99f1f61c4f785512c3efcd6d9ccd9e7533a31b9d83a826ee73d8473d7e475cdc05c23e9be03920429a71660be5cd82fa41c6d3530be3b486e19688141a96f509481cc090ad1faf5b16e20001d7e510811793512f83436204a1e0113666cde2ff1f1690d70b35b4d3133cdaa4bddaffd84571369b1ef9417d9d59a36c17f2751792e22400d74046517598dfbb83ae8f906d1f9b278e38f667e7d0bdb9afb7abff96e9277623f7da5b982c4cccbfd79161dcada3f0eb131e8b75970acecde43d75dd0d2895faead27fdf627ea2f638c0bf5c8ff23f477000000ffffed6d643e5f030000", + "2a415153bad481ef1a4e4f1653f21abf": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", + "2aa887ee2b07a5c298c8a882b6627b30": "1f8b08000000000000ffbccf31cec2300c05e03da7f005fefe7b375431b050961ec0240f64297122d74888d3a394850b94d1d6b33fbd734d9897750c4447e56bc6486e0f04a2290bd4e7e594a02e3781f510d104eb6364c7489123ccd7ffc8039e5c5ac6106bf9ebcba1a16c07b3dd59e5c52e55392f2afef592e2c604a20b60bb6b0db04074484574778cbb127a2ac17e50ae7e9cf00e0000ffff1e34df7fd4010000", + "2af8da83a12d07d8b787073c6d4104d7": "1f8b08000000000000ff64cf414fc23018c6f1fb3e057763d6653ae0f8b67b79bbcd0ed602d98e8ad06917042236dda737126f3ca727ffdbeff16f1ca9a8272b5d6c618d930abb5b8d5441122c82e28a783893514f73b04842fc7f8f9213f3afbee0d03436abc6fd8ca5992d531f1c96111b56edce1cb53ce38b10c17d9fe206d11e7a667a0db500307cf4dd6e69da131fbdc8874e5d4a7867c976ba6ee45b444e1c17cbfec7507a71830c49dca6ee9ae4c327cca7cc7fb0e7c5c60685b3872bd75f6ecc2abd89c5fe10dd0058e7f7a8df000000ffff80f0f724f1000000", + "2e55fd8a88648b13002f2fe1181385c2": "1f8b08000000000000ff6c93cf77ba3814c5f7fc15b3ef9953a4a5adcb975f081a3418a07127688320164b25c05f3f473a6716f36d5639f77df24e92fbeedff785a8e7877f611a499ff918249d548bfb3e8e25c6f071d4607c04da1751b9c65a25d16919ae60c977af7af17292b0445a5f8baa5c6f842050a2918bd65858289208e1511324f1482547d483594c31e24be1b0769feebabc761b2569ca91986aa8e761ecb09b4f7783a552b7dcbf876536d21d47f9cfe1828bec29b8f0ad7b3e7aec3bf7faf3aa0ebb4cd29ca3cf89819e4be5d09bf53b084766ec8113183889cd9af8032768cf8c3dfe68fe7f9ac517bcc723044887090225e19c481e71437f9ee653d31095f6cdae9e0f597d2e78a40c83a9b6a066262d953eebe81214591d36b913763caa0c3313b0a43deaf23aef5775f2acd299c9bcf8a69cf9378f8cf1f4c4108bf661a9b6eeef20ab0c356ab1fcdcf963696310caff774f40e44468a016a8eaedf5b321dd139b5d08dbf863670ef2588630b4eead6de7d7f609cf51528fdbee80578dd9767de0329d202ee241bad6312df490af6787a04a57439ec3fc58a7cbf09b7bad21f76b46f606c4e2118120a0bd9a23fbeec2211062b2d5c2b8f540c40c198e91d65f485386444e40c2e6feb18b8823f878a34802b937e2b89a1a102d4e08636239d1aabf7c1c5a87091b43b47928ddb76b5ddcca43637f258fc11efae7f54b248af27f93a8431f0862169c287c6d36ce2278f86802f711bd540d3cd963ab5ab6efaf57ec0ede7656e461bc355ea5b10fdd9a75af387e975f07fb7ab1d8373f9ef039cb59c69cb6f2dedf6bf3f0b82a3ab99d5b535c6848fe8cd03f010000ffff17359eef5f030000", + "2fee6927e19c038b3d4805af00fb6fbf": "1f8b08000000000000ffbccf31cec2300c05e03da7f005fefe7b375431b050961ec0240f64297122d74888d3a394850b94d1d6b33fbd734d9897750c4447e56bc6486e0f04a2290bd4e7e594a02e3781f510d104eb6364c7489123ccd7ffc8039e5c5ac6106bf9ebcba1a16c07b3dd59e5c52e55392f2afef592e2c604a20b60bb6b0db04074484574778cbb127a2ac17e50ae7e9cf00e0000ffff1e34df7fd4010000", + "324d560acc6db79c150b9cd7e61f7224": "1f8b08000000000000ff64cfcb72823018c5f13d4fe1dee9988ea2b84ce8671221b10994db0eaae5d25a908964faf69d32dd795667febbdfd3df08502e17af9a2738864500f95c1dc129c335604104253f371a89cd1ed7407dffff5b6084225b5a4eb052353a4df22bfc7e479c8da69bac630ee7ed106b233747752d64e88d6d5d35c573b26d1b8da58f711c0768fa74fb0a86617f5e0af7a34c538f747d979493761a58f7872c3d8eaaca709b5f507ef294f6849f2d77ec62dedce0de996877ef6fd155ae195a852b5ba425383300e4cb23ea370000ffff12ab3c93f1000000", + "33f2e3d01c90199a85532692f85aa4ee": "1f8b08000000000000ff64cf414f833018c6f13b9f627762c4801b1cdbfae6a534251436156f5d15a6c008b3ac639fdeb878f3393df9df7e77bfa3803c5f15257f265b5809a86fd5931c53d2029154225d26ac6494901690b1bfef20a51838ed38254ab5eef2198bafe38ea0afc7b632def7bc6c50d8f82c55b68e157ce8665e60284e233b9424678428316593b5d6a8201864b33ff77e07afbbcd059707483cec6998f8fb8a0a53f3971033d5b1fa5afad1fbbcedf4e3f0766f8f4da823b38e529e1daea63875a3ab7bef0680fce93fea270000ffffbb2f2895f1000000", + "348bdd36192bf700f02d575a0dec2afc": "1f8b08000000000000ff6493cf92a2301087ef3cc5dead2dc1911938eca113428c1218f9a778035410038ec34880a7df52a7660f9b53eaeb5f557f4927bfef0b11cadc5f98f821b31986903ca8c219c3ccc218f2b400c91014cc07c7358de3256864eeed9d49a7abc7e1b3901217095b5d766cac540292c934248ec2e14c418b082a398e63de93117c54b8318222c467b7cca8a8b397e52ddd90deae207ad6f2d08add323b21aae4b57d4b66624c66466f5b103c039710cfe279b2d16446a35b3233bfb89f4b7b9d58f17a6d11a95749a08b03b5bf949cf6c2a9dd2e0be1604b75e0160cdc8aa467b1815b28b5a53a3e19fb619cb63d1e61796fa62048421071c87d2ec9b30323f2c34a36fdc7ae3687ac1625f71369c3a3b620520b93cdbcf09b6599d5ee8792cfdc8efb20ade2117088dc7779ed8bbc8e07eeab92ca6feddeffc74f4ffdbbbdf2d4473b8e3845c395067c6e424128c6df7b4916a032401c8b89ad579360b978778e1a9e68ae1877b6a2b633b3ddb79e3a16d1c5d15fb5a1eafbb4b1a9695ead5c15a47fbdf18b1b90e134ef5b7be37787abb1bc06e638565eb3aa9430440e87f97d947b4b123495ebfb8c178505fc7e490b9f23381a042a008edb478ec9f599e31530afe54a7578abba5dbe55f5c62f1b62686fee69820f588ad26dec5d1cf6733a15bdc1e1f2732c041c835a00271156d81aeb3c35f69d4e171e14adf91244932a10086f8f1e4dbded327d75c72d36daa3f12959b191e179faeea859bd34c55b142a024f23c394c073753631ca62d568f397ae0599247f94c76b27aef5ff0ff81b0000ffff3ef2fddc1e030000", + "34f4924496eb87311c45abc0aea81eb5": "1f8b08000000000000ff6c93cd92aa381886f75cc5ecbba6b4a139632f66f1258418e1a34523083bc01608a0c7636380ab9f527b663327abb79ebca9ca939f3fef83302e823f28db48e10a0a923da88142504f520ac54b095a1028c50604f9b05eb334dba667966c4713567db52a342d13e19d5331a939032d743131df406838bcee18a99046110e6c820d2983884029691354396fbbdc5af559cc0657c1ee395748270aaabc26dc283ab74fcc764accc5c025ec9f85b364fc7d4c27d1a7fbaacaf7e49a6e6d959bf361e940f6eca0646650197ef7dba25e5645800a342a7845a71cef39beb3e9c1c67f99112b72c1f0aa699838511872a657d16e6212097ba851825e68bad72c4e6f4567ff4c248b91844fed01036367babd60e998c4b6caf681ca2716205c9f8b0764058fda42b12392f983c180f137eb736b7532b0b6db4fee7e157c68fd2eb8e592a4489093f1c2b7f8f60e25e3947e67cd96301740b8a5ae93bb9639ef8c0324a549866e89d2f18ee1e633d0d6cff7af2ff45eadf9c5b5dbf06c4f3ee18b6d66ddea0fea9f6e4a953f60b67e19bd93be19f555cc148bd8429a4a4ae223bcddb77a703423331ddeef7b593a80f7935f6e90c071c14001207d681e0ca1c306a9070223ffe590797f9d90ff3267108abddcaedde670b076f53a729af8aba9ec5e9db296219cffd3320820857909c87654840e261f619d7c621da67268378d9a5933a5929bd6075aec6d887bb7fb95d5cba62f45e936fb99f1a3afe5d699b7d362fda275eb1fcdb74200b998593ad68bcb5ba9e6c951c3dfc6e3e5b3c0f9ff6ff8270000ffff2377342c2a030000", + "377f502f1749647d9fc370f128679fca": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", + "38c70b5a562c1b920efece724d31e446": "1f8b08000000000000ff6c93cf96a23818c5f73cc5ecebcc6904abb516b3f8f2070cfaa1a142a8b02bd08a4d81a2b64479fa3965f56e26ab9cdfbd77919b73fffe3a84c722fd8bf24c89485050fc413d1482ae474a61175b70828015d2a8e56693e89eb2e83394fc69ee1fc59b8225b1f6b4ff6cd61b291934244079711e9586692963ee129d8f5c21e1314c724e092e65105dde8b72a8bbe7de285e20910f8ddc30cd83e82a7879f74cf1dcbcbfa54d35f21249fd1ddea3acc2e480afcfed2e8e7ed7f1ad5d75e95029fe81c47f78e086c536be8d9e09f8f5ffcdb08b9c7f47067764b95b33714746de23e78fdf4c3c98f70531badce80809b1a9266014b45a61868e7f3f4f70d73353dcfab27bb9575dbbc7ccb8081edac2e36ea24c31b5d921d9575ddad7413a6036778bef3063a4d475a0ef9893a1eeeadbaad353534c5c15e75713bcfcf630fa74dc99c5f2588ab1f1294823fedc19c89a490b5cb751aa767e0a8730e075f5ebe9f29c553fc2e9ede25e3d9fe2310dc616d6fb79fd74dfcb26ccc17675cfa3091960d396bf06c74d2bfad1b5c5cf81f830a4e41cea9fe905e3a3f398354c67fe06e4e20701c9c016f64fd3db44cac7d7517a8941e611714888b56762794464cda001f4be8a5b6448e063cea101c02ff324df0a273f912e412c0e33f5a6597c09fc3a8cd5a1dee951cd7aff4032bb08d75e8ac9b28e7512c5d304e118537a8a5f71fa420029f81690e7544896671b95cf457bf6fd323bac64dacd12fce82685379b25339bead9f6adbfb6a20a574e583554665d012bc469a179f3b139bd9793e42ccffbeb32d8adc84ba4dcf6b4afd655fe8ff758044fd97f57f26f000000ffff2c930a8242030000", + "3c530cbb5899b0e79871f34bbedfe68e": "1f8b08000000000000ff64534d73b24818bcf32bf6fed6960630d1c37b78e6031c75489061f8b801c64110881f64905fbfa56e65b776e7d85d5dd34f77f59ff787a8cbbc3f30dd0ae6300c823e50833386238231ec7f29d00c81627e3a7666575c87bcb0fba809f3137a5f0d15ac9152a7b2aede3f7c9f40852edcbf6803fb0991beef52bd92e1480547d485979062c4d7bee95cb228fd2e9ad9572268c491ffe0d0c0bdd0747a46d39b9144b32a8bbd2a1f69c8117b8a4bbe49e3b2cc6374498359959bd3c1ad2041ca9308b8a0f1f652985eb969a46d24d18bceddb04fccc595233b2682694e98f604d8bc629a3b5d4c047f60bcfac17444e88643ed1a0f4b25c752f2818eb07dfea204aebd32778f4d6eadfa2ca2835341f8e40a41a457e607e4168dd31b89791c13733e2c09643f16cdc52d75e52d8d59ff9f537424402055fc1d2643c63fc97284b48701c44649ba3567eddede8f97a4da07c1ab6cafceacc9deae732656594db6e661739c4861b5867538d9743a21c34bffd6469ff56b9eacf3a90ca6ad375aa2fe187869cde7c5acb3dd88335770b0ef41ef88a668a27d6a80664e476077b7bf0c42fabc559d91a20ef20b027ec2d63a41c80f97a099269010b99d0af09713044c1b40e0fc1473ba22705018ba497e4ed35a79c3e9763561617f2b791be5ab33b386ae5eb265d476c54ce0ac1da1351ee22da58cc0a72abdefa2d91e8b46deee1dffbb62a5763f1c87cec5f8e406dc5e1808388669019cfa98d178dd946fbb738287b23f7e90726155af57bcfe45e1bc794916e721db673a5fed26733880da888fd038a3afe9b2514354bd8f20bf82729063d114d482b9a7021c1064bd53f5fbb7f1980ef5c8ffe7f457000000ffff13e78bde6b030000", + "3c6ea90ac4e3e164e8b5ba6f80c3a56d": "1f8b08000000000000ffec5adb721b37d2be9fa7e812ff2adbff92a38393dd847bb12bcb71acb2136b4d39b948522970a6c941880126008632b3b5efbed50d60383c48966c679d4ae9c63207a746a3fbebaf815ea275d2e8311ce747f95196154aa2f6e32c0318c0f7952c2a30762eb4fc4d78693494061df84a3a104da36411be4aedbcd005c21495d173f0e61f7059212c856a11ead6799822f80a418b1ac1cc40689a97572971263596d0ea122d1cf4977307196cac3fa65f27249d32f3b9d4f3710600a070896a0c52cf4c16447f6d8ca77568cd6f2617504a8b853756a2832be92b58e0ca81d0251468bdcb3380c2ae1a6f0aa367324edb085f8de1fffe7df6eadb67e75fff7c717af9fc3f87a1db28f40b8b4d4c8d3079fac2816b9bc6580f8d6ae7733155082fbe03e78d453764591a6b1ab49ec488fb2d2c96a8bd146a42fd0e7846611164dd28ac51fba063d7602167b260493786046107f0c3ab867a0af5530e6f1c96305d41ebd0060172f8d678d088259620672094ea4de47849aca75872bb86b0c1d6f2ea7105d2176a6b9422b9c29806edccd81a4b40e5ae2ab498f7947770e8ebe6d079e171e4c2fef6483b897b036f584b67ace3492bfd8e1adab8b1af5f91c673989899bf12164753412d9bbd5d5ccbe2afadb452cf41d0c127855cbc389b0c8e8f61efd060eadaf8b09d70ec3d7df3c16fc9cd47aa56b4d00b5c7d47d6cf23c057c2c354140bc7fdc2643d51e28c4167acb2da3549534fcece2617f13c60666c98821d757dd0511f1984ee414687456ba55f258951934d9663f0b6c5f8adc49968954f5d804c74294bb46338987c7f103f57c255a76a6eacf4554d2dcf4f4f529b3333ff1d5a395b6d4c1c9df2e4f3bfd246bc7267e469d158b76c15dcca79acd91949a1c22334c628b8aa904d5163e125230b3488d60dc1d8122d5a070f49251ae7c64bc17d2e5f4e1ec1d3b82d9809e58248610d92e2c2181565dd15e78c35cb8793f081b57ef9720295d0a5abc4020388b028dc2b49136c258268d0c302573de5be13520e69d2577d103c24cccbf1ad2003cd0b531f9257bbc3d3b296fa9f3b8d5eb943877689365fe02aae4cbbf8545214d667d920db74f927ad87da384f71c4c195695509955862082e8e8e9b40cf04d7292aa1352a30d35fb0f00e0aa129a214463b6fdbc263990da21b1b1dfcc3684fc74811e92a87730e39a269403a82bd602971da80cd1aa4072517a85670259522df67bc6491b241122acf06591a1802e50faf195f02aefe1c1d8a87c7d8f677483bdfe8115b7fca19f3536864e9c3fc1940bd8aff1f273850d27168eb1ca04427e75af8000434bc1f9bbd21cc0cb8618576a208f0c67a920921e322395c92fa7989a86301161d494b51bb28d039d6ad350a1e1e3c7b727ec01d8d56abd47c10253b3d78446e1a57a0b827a2124a2ca46329bc015751185146940e66d6d47de91d889a094585dd7e7358730bc7e422ae3045382025ba83a09eb9bb915b1c36d0321e9210b47c8258c269d4e5983fb29944e8256f3f888b95d858249c2ac77cd2160b53d7a84b2c8734a159a2b5b244107a9544df8ca9203dd66e081480fd0a6ae18b8a8ed355ec0c53e45897c7f5003a058cd79f0046e9735e482f7f43edc8fd12aced35cc805aef36cfd0af6fa47df30bad7c608db05e16b2094e458a0f0c003b61c38fe37c1b26d69084ba34d6493dbf400a3dbd3802649c5217a6c47fb568575b8d0acb39da7d2db844ed27a6b5056eb40c5898a36b8519dc28cee0668106378834d82b142163a7d46d4daecd95381963a3467f65ec221b641bede340958fc32e6ad7c8720cafecfcf89bc945820e766e63e70f1c9362e61ef0504c9d512d455ce189ee834525bc5cb263449ed127c78f7a84e8822309ec8d16c737458bcdc68eedf46c66b43ea68dcebdc6e3ddc63decf2ac472a4e5b5f118921022e9d6bb14f391ca3a4644a3c4bf8d9b4b6310e59ff029e89698833719d7818395cae1a5908a5569b13329922a8a3f394442a3586991c36c232cfb18661d3b4de1160841090986babbdac71bdced9294d23423a20d40663127173ab10342391a3deafbf9a5cc2e9c539ef3021d84a8b5a161b33d4428b399360781888fe102c2ecd02e9ef287c7a943300cf8c52e68af695a2351917c581f51a67a71048804bf0d15bad77166b481b4121f2d954eec0d920e54f33a93004688a4342d2114d952c38fdb37538353135addf7220e32b24f22c0243e093f03165a54814c2f065850e39b3d148e722ec6a63666fa02602d80ba6a0e40c8b55a128b934763104a90bd572ec203f3b7fca24314bd013535091047ff3fa250742d4e5c6b4942c1a27948b0aef364ed8dd6ddecaa5f0c893f7e5b4c89a2fd9a66bcaecac4bf4a2af9721b8b6a8403810e49b1bbc371ed490272f8809cca5f356d89805c2f953eeebb0b0e88780bec8b3804327db3874f2c970e80eacf51d387472130e6d3632acbfdca66afb4e99951df92d33533c6c9b92bc91d256749e6d139ec5c48fe080c82e7284207723434e0c83e303a5f84c79eb987bea60ec5d301fc255b8dad10873f45d524db833a03c92fa5e73ff90c399d14c08511415757e40b056b4ebae8ca2de71b6a458ccb50a728e5b6b2293d8cb4e1c6ead1ac3dc36851b1f1e56c6f9bc34c5026d2eb547ab851affede8f3a36451bef35ae7852e852dfb572d8906467a3c7f7d71064a4eadb0abf5f8c8faa7647fce854b10e146924f8d87041b5c671d11e648c8106e3ab6e39c1a7961e7e847c44847890d8ef7edb76307017a282cd4e837a9a0431f2e658c2da50e6a6610a1fd2c101ba1c8511aa364b14a395080de6137bfa02056989ae805f15e879e784648a722cba7459471f1d452e64d594f9ae57b4a95ca446223a23c2019462cc4882cf4017016e7497747e4cb8a425c121682b4519fbd0dd30196d2f12d45973e6f4c3c8623b7bfc5b47e0c27fb5a1bb4b5dcb80a009809a94633e1b63e0f4050541b49cd7727d8d984170bca10354191d114a8138b9f81284b4bdbab04d16a323c8228b5f6363963aa17b24c3217d2082a87c1c0e3da9b2b27b9b8d12b7776dabb3fe1d8da8bdbca1429eef53034bb75b61fad72133ab7d2f942847ffba63ba2289137b8857721c825b05b0a2b4debfa70d68f90816a33d20ce15722cd59bc6924aaccd41835da2ef8a41cbc83e8fd3471dc79b6741c61a50b3897c4eaadcbcbf1d29d90b7c7a0e3ac4b36dedca6ffe3bb83c60d44f81e37ee71e3d3e1c62df2be3e726c37f6e003ae49e8fe376efcc51dddf88bf776e33d29ebbd1bdfbbf19fcb8dafbb5bfbbdddf8cb3bbaf1971f168d77d3c17b37be77e33f981bef3ccbf5ddf8e4ddd1f813b8f1f1d11dfd98067c483cbe77e47b47feb33af2208b17f11bcf060ba94b32967d6f23abf472c01766cf570ddaf0a2c5af1fe1e69095e3b2ad1bfdfefb8137744efcdeb194bd17881c4e7bafd3b558415119e3303d548bee062fdb56eb5a40a99d471176703a242f096215c26d551084ca026db8022dde618657d5c1b6f45bef11fcd0b74b76525304b2cafb8670695fcf98ec87de9b36135f6f6983a6aec568125f83cade53a0af5caf67ac0daa4c8d87ae12e6178987c15c7e5e1eff5e7c6e43d06bea62269397db7531642767a7bdd1eb8a98f4a5ab8b597ff8e87b0c57fd6f1cdae3dd2747afdc617c540865326b4152b1cc1f4034ae9d499284f7b45062e8baf73b2ef15b57e5ed781b1c5863fc01f71b82c81779ef216708d2f5e68fe581dea4071e3a69a9976681a0f18ae7707937a09ba6afad30f2bc1c8707a59d96093f16c5d6e6aab7fafad196dfbb4c2a4ae857c69c9dae972fc4b78242d01e138e65a05f716dc537a9b422d4bf816ba7ce4bdfa688191f5781b8051790042b765e78596c166d0465a5b2a4de1343ac96a945d36099c36b9ce3dbf491195228dc932e3d28f3446fac9af484f9ea6d93c660ddf85544b51a850ed1da89f55b70276e1714dbf02e7dd3b473b9441da6112e4acb3c88d06cd86d6caba1bf919b16e002aeb95142cfc936f0edbaaa45c905c2714e9151750775327ecc7a698427269785fa9205c6146bfb19787c7cf2f8b384f4462f094cafe99a0a058ff2674fcee3aa3b5385b374ea92d9e1abc80bf7ec2d3c75870a8c78084a6a7420823decf60f6f753389aa74306f6c22a5f9756c94085f43316b896a950de05c73e51007b4701acf8df30f5c2a46ea9f399f5b3c32320a3a8b18f1d88c98f1e0a62b10b5e3e31c6c368cb3eddf2117a0bfa374506378f8e3d5ff3fbae6e29ddb12d5df52cd5dafd3ef3c3ca401b738d41b6fd5d71abfb65b768d42f65c617e8042762e26ef3cfc8e0ab9e67e725b21fb2b6fae3590938fa58f9d1b9e3b0f7f1f03d9cd0ff71ac8c96df4b127a9fe007deca6ca771fff3e16f26e8decab89e0c01ddf1a3bcab0a9a4bf3cea86f0af357dd8a79b7db58fa12ea01b76ab7dedada1eca6e86fedba9eefdacdc96db6c3718acee97df6d00dfeb8823fbe85e07793f4e3caf759906ffcf0c7f25dea3dee138f3b6ab737f67de4df9366aeaef7806d3673a723e80bb5af962ecab41be67b8eb90d5c7baa563e2cca1fdd1e73aeab98d9a7fc7e9fff060000ffff187c9dd1db360000", + "3cd3568381db01643b5a4dc514bcd749": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", + "3eb0eb2851649264e7c1a3ceea1ec082": "1f8b08000000000000ffbccf31cec2300c05e03da7f005fefe7b375431b050961ec0240f64297122d74888d3a394850b94d1d6b33fbd734d9897750c4447e56bc6486e0f04a2290bd4e7e594a02e3781f510d104eb6364c7489123ccd7ffc8039e5c5ac6106bf9ebcba1a16c07b3dd59e5c52e55392f2afef592e2c604a20b60bb6b0db04074484574778cbb127a2ac17e50ae7e9cf00e0000ffff1e34df7fd4010000", + "3fd1db2197b0ed918335b74c854c895d": "1f8b08000000000000ff64cf416fc22018c6f17b3f8577b3d8a8c3f4f84291228188a8536e9532aadd3466a62dfdf4cbcc6e3ea727ffdbefed6f9832ae46eb0ddfc3968e043d3e6b22392b20509058321cefccc87906813242fe7f470bccd2aeec3806ad830d04f567465481afa5f09764d57ae1dc349b9dc6433410ef06b530cba2b5a6de802200c64bbd5855629a0fe3cb6461c92345cda1ed51d91c3f3e93deab7cb7bd0171577573676ed5101ecb74eebcd613f11e5bb28fb43a7cb9f5e97b572f0d6aea0afd38933c0154e5afa8df000000ffffddb40f5df1000000", + "3fdd5ffc54e0822c4d07c94ce6112273": "1f8b08000000000000ff64cfcd52833014c5f13d4fd117705a47b4b24ce825bdd044482bd025b62512b01f232490a777ecb8f3accefc77bf87df51602866a9c49cec6096c0fe5e3d8e6c4d14104e39a3d38d6db91f10052c0cffbe8535650b5b59a424cbd47888baca2d5be312fd7d74ca9b9bc69c9ff547f8da04d1007ec26f34d6d1d205ec53121112228bf7a97fab1e47a34569d21233babdee77355efa8345efb4e0d08b2fc1ceb1ac1bee63539dae51976fe46adad8211ea01e639d1fdba77242a46d77498b79f1a2bc3b00c4ea3fea270000ffff52ee3e52f1000000", + "4061bc167bb007bb71d485e00f28bf76": "1f8b08000000000000ff6c93cf72a3381087ef3cc5de535b063c7692c31e5a420861378930ffcccde0584436b6d78c23e0e9b74ca6f632a353d7d79f0ebfeeeabf1f8f302ea2bf288b13e10b0a099ba88542d09d4729a8a5022308281143e4c74bae87b0c8bdeeb488db7c7d6f16c250b515ab4b29466d3330c2ec355b5b08470e4eca488334cbb06723c44445190195d063d454fcd456f3f0becb59ef6b48bf7b75e26551537d126ed5ad7fdfbaa771ebbef43c81e25bb8248cbf0ee5c8ee65d1345541ba72b3d0956bf7c108fb6f0713ff1c7756ed46cdbafda36c82a68e5083410d0e7a6a78d4f9838d131b1ecc9aa02615cace50b9f53229393361968e2c41c2a67894e04aba7eb7cbcbafba5d5cb709cb91c8a967911ea3d4f5ef8295c3365fe85d11e96a640724f624408f79cdb353ade15ecdc3336e16a70feeffac797f5ab7d1975525a444829c0cfff20dfe7805c538a5bf6ac302b005104cdb8f6be1a37d665b6ec48ba0f5e6587e326f9d5b45cb6ee46044fe5204b48ed5a5163da99ef6efe170f4363ff51370272c9c5d2d9e2f9fef97d9e7aa9a3766eca2d6d5aaac8da54a693cb5f5b2d87e0719cc08480f54ae7e45d887524e7929ed38c8d427060951ea4614f389ac3d0b34e0632d418c040e2f0c34003e6427dd0b238f48572082f37352641eef5cbb9ef3e45c7f6463f27cb5cf24b654307f8b305cd53c0b7dfe2344aaa6cf4cca06c913f5cfe45416c2fc79d52eb548f12d205cfe1f1e01a4602b409652213d3df74c7e7b0ad3b75b533e93b439b2e13ebbccb569c3d8eadec9e67599c8d957f076544289ebe8cc5c3e5c291fb82396fdf5786b661b573ab0f30ece6259746f2ddc0f22c27face99c58e4fd7e62ff050000ffffa426d89c7f030000", + "4322cc8315391e63a82c2ed18587c225": "1f8b08000000000000ff6453cb92aa4810ddf315b33726446c6feb6216590fca520b1a28d07227b417047c74b798c0d74f8813338ba955c5c98c3c8f88f3e7f3112ea4f707e5a196aea4a0f9805a4a4afa51520ac728079404721982d7e7b7fb6d39fb5ea71abef4859951f889487323d7d7bdec4b9b034a3c68beb114540226312785a249a25ade4348722f21906b5a79452aea733a5d35872d6fdd12e2d72cd32cf18af44484959dddc638756f9c79eb32885e0b574d9de4cd6c27988ab831cee2aec20cddc0b0240818c75969a2597d14eeddca445b6fcede23d57074d1ee14834eb1187d263bc5c8c145bb7f61f25f4c89aaa53dac9e641601a3a14eb40a15f21783e4786366dbdef6e745979eeb4285065d18664b8e136db66f79785915e9d9bb5999e33d541820cf878535c7fb20ed3f657ca7483ce404adf28dc39bfdae28d21df9d947b3d24a1d1bb71a34c9b3afa22afd8f401292e7fffc1521e8518088f468323fdadd488f94d5467dafe0d39e24ef960e96a9a8e8c5f58b4724a6df55bdec26e3ddb46a26ac2e61f16ee3c99eb971de293e1f3524bc56fdaf75188fe9f1f7d5b1d13af4e03fc358067302bfe79c80a27030b87ce611da3521837fb9464348102f01a5a0f4474010bb0415b114cc9ffe3e397232c6c055a09e8770fd3ae0132ab9f47f54797c2f1ffb6c67cf2e6171e1f3c9bb771ad123b5b02ebc8bbb4f74fb26c6753b577015947e8948bd2d0635760e8ac75406cc46db54a391d7463f17f3dda4ac6f3fc082c9adec3af44e2c5944a739779b9933429907d347537c6cfceb21e1756ad3a31699ba399bcd61e5df117e71c48d338d036b5c99bfaca116dc63ffafcadf010000ffff779d601347030000", + "44562aab13fbce7b9670774e516944f2": "1f8b08000000000000ff64934fb3aa3810c5f77c8ad9bf9a1211afb898452784103160b8e1ef0ed00b0fa4fc8318f1d34fe99d999a572fbb9caeaefe25a7cf9faf830865fe1f988492390c83246f55e38ce1d4c6186aaf06c510d44c0433b7bff90bb7fee4abeab86d6f276fd6d9e0a1babe345d1bec84b0a145031783d2b0c8ec58084ad4268e9e44724428cc238211f784e10c4592dfab7e79ce24493812ef1a7a703f329c91917cd2b264d916a9df964f1271c4be9b1bbecdd3a6295334e49fcbb634f4076d2143b51f23e092a4e150197eb3ed6353cb92b92a693466c6fac69199da92296e33e54b3079cb14774ea92df95be3ed7f9a4a24d972e8a8f6466a388e63fe204f08bfa7d412777e53d2635f2e3663919087d342f45daba41dfb4df913d1aa77462d338ecfccb01eae84f25f4487aea79cc6539eb2e985f90ba5d329a232d73be5ecd9ea580391b17f2e3688ca163590b1e0e4c7cca334b4a774a61b4eb09a8af17e301fa90ee50227fe794eee972effe17e68f77d28abfbd8ac17d1edc66f66ec5ef58fafe94b95f3704597fb6b1a0ae33af3a64b807a1ba3a384e045ea0a0bc1974534041ca30294fbb233d48f0865ca818c792a4348442e2842311e2888c8418a630eeae5d49e2882664a608d03284fbd9b5b84856227a8bd9df1612439b3ab62b8eeebdd616b3ad5303f3487bd556cd084e6e70f3788547fb694e67d4f0e11668a3116958b4d97a79b63d5b2f1d75d3030fedfe77238518c2f54fbe4e6faf50cd06be024c24ce0af64b54c60b75cbba6df87d8ecdce5609dfdab99e6509e3b8f78614e76eebcb9d6acd6dcaec578bc1fa41c00aff4cbd12a27e504e5ccaa48438261acdadbcfcdd51063f697f68e0ff1eddf23f577000000ffffa4c29e126f030000", + "448c5f9b08ffd054719757d1f330b121": "1f8b08000000000000ff64cfc15283301485e13d4fd17dc6a9b5698bcb9bcb25019a1452405c629d2262b50147b04fefd871e7599df977dfcdef04c9c8cc521b9590d32ca1c76bf574241534045a6829be9ddc6b7e0f0d49c4bf3f9212f276acc74840963568e3aa5b1f26b6bd70ed82839738db7d72e30c3ed405b3d3735cf7859fc774777ab16010200babd7f376ad731c0c17cba0f3fbe551b5ed867187ad970a77bc2c2a952d16e369ff74b6735684e98a951bb11bb43f5f85547eb9a18fdfc0e2f4fec13a9b28dce5de154026f88ffa090000fffff036f832f1000000", + "46164e0a9dc9d8fda8a8667a7119cdc6": "1f8b08000000000000ff6c934d93aa3a1086f7fc8abb9fba25a238ba388b4e08216a70c2f0bd131c831174183f82fcfa5be2a9bb3927abaea79f2cdeeeea7f9f0f11cafc7f300942e6320c2119a8c119c3798f31c89904cd104816c0a66ddcb91ea3d167e2d993207aa0281a4f3596195b9d73d62b9380667aa7c8dae070a4308e08aa388e63de911e0224fd18810cf1d1af0a5a37c56479db26a4731544af5e193ab15f1507448db2716f9955f79935ef6808e94b3887842e1e79cf6e795a55458a2ef9a7ad0acbecbc1e762f8787ee29b818a5e557ebe6afb2f6aad2e70a345730e68e7c3cebe4c9fa813d9ecc18a0420517178d45e6c44250a29771d493902332c4c388af84e55eb6497e2f1bfb3b0b49c291187a06eab81f59ee8d91fc9125b6daa6be2a7ab2e7c81c04e87852d2b82e15b91593e5891fecfa8bbad79276f5baf1ef4611a29c234ed1a3a59f7cba004928c6bf6b4d3c3019204fd9d6635bfd58fe87f5a6ebc8f41687eb35fc18a993e129febd5814e962c222bf25de7174c6484516aa8bf8a790939073b2baeedef5be82223b85fbf76d80edc7f4d8374ae6a536642eb42333270ecc0f10de0881704026f27784dd5288212fc6170a227291e60849f983247191281d0314f0e75abc8023d8cf092800fe94c7d18e6971e47805cccdc3decde71ab3a97bb03fcec9ac7a5bb6670949647c269b7a56dbf3aeb9646ab6c93896c3672244c5d11b764fa8ce53d6fd7dd5163650fa12389cff1f1e028ec12c81138119c4077a981da9ed5d02a14c113a78e38daf6df46eae97566bc4a7b9856c53564ebb850304f770da7ce17494aeefdff37adf16b0fa1eb791b9baac50ff75bf6ea63ee55f372de5af5fc6704ec477fe3cb1ff020000ffff6600dd847f030000", + "463865e2f5b7f306a64ad1115ac9c79d": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", + "4798a25f295885dcf352f94d7b64ca72": "1f8b08000000000000ff6c93cb92ba381487f73cc5ecbba6c06bb78b599c84100226dd412ec24e508308da5e30c0d34fa9b39b7f56a7bef3a52ac9c9efefe7428432f1172641c81c8621242f6a70c6f0f78031ec7c059a21502c801fe90d9de8f6316d0f5f6119b09d69e142639532ff9cb1a1b20868a6b715591a1c8e1446114125c771cc3b324080948811a8101f4599d3bac9275ebb4948e75410bd7b4568c7a2cc0f881a45e3b4e9b81ed2f157474358bf857348e8a2cf06d266ebb2ccd7e896ad66553eb63a7780eddbe1a1730a6e463116e5b2f9a3acddb210bc02cd2b18715bf5cf3a79b2e1c5fa27335eb0423997378d656ac75252a2bd381a48c811795d0f23eecbb173db24d9a36866bf6948128ee4ab67a08e8b68ecb48c647d9accaacd5a54f940f61c592f01b44e6412dc37c90cf28977e2ab59bda3cebda05dbd6cc4c3c8439471c429ea2f74c5a70b508462fc5fad890b160324f2c83ccff96f00d98f999c47c9e09bbc597ea6b7d6e847033efcbab2a6e5544bf3b19b7f3aede998e0fde9a3f859abf51c9b29650f709db9db39d5ae1d98e8f1be9e34556ea38bc161fa3cead6d604995a3ee7eb9cedf74bbbab88bc47a7ae481107c9c20699325fa708c9c87dfe05c386d48e032b04e99a0898061baeefcd9c78361c1446b30f6b3492dd55dc5dd11d6713b72eac8ff9d6d3518a16c65085787542f52a085a1c828f94ba94c7eafb474a1b9470c146040ea8f89c7f4cbdc36d3399e517596edbdafb2a1ec7436cc07cd17ffbfe7d6f22f37ebf520e4c897c7b8e77d628fd6d57bbdc5b2e8b6dc9a6f8325950aee411df274dba1fb5e73d8dfe315e8920c2fe7f4afe0d0000ffffa963854942030000", + "49dfa9237b395c91b15b2f19049a2460": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", + "4c252fa1bee6b9643b6bc5a51d323947": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", + "4e0fa9cceec18be060c5f10685d6c17d": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", + "4e78d03807972f492aa951b4f4bd40a8": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", + "4f4f3b559fea028e61273150471b6abc": "1f8b08000000000000ff6453cb92aa4810ddf315b33726446c6feb6216590fca520b1a28d07227b417047c74b798c0d74f8813338ba955c5c98c3c8f88f3e7f3112ea4f707e5a196aea4a0f9805a4a4afa51520ac728079404721982d7e7b7fb6d39fb5ea71abef4859951f889487323d7d7bdec4b9b034a3c68beb114540226312785a249a25ade4348722f21906b5a79452aea733a5d35872d6fdd12e2d72cd32cf18af44484959dddc638756f9c79eb32885e0b574d9de4cd6c27988ab831cee2aec20cddc0b0240818c75969a2597d14eeddca445b6fcede23d57074d1ee14834eb1187d263bc5c8c145bb7f61f25f4c89aaa53dac9e641601a3a14eb40a15f21783e4786366dbdef6e745979eeb4285065d18664b8e136db66f79785915e9d9bb5999e33d541820cf878535c7fb20ed3f657ca7483ce404adf28dc39bfdae28d21df9d947b3d24a1d1bb71a34c9b3afa22afd8f401292e7fffc1521e8518088f468323fdadd488f94d5467dafe0d39e24ef960e96a9a8e8c5f58b4724a6df55bdec26e3ddb46a26ac2e61f16ee3c99eb971de293e1f3524bc56fdaf75188fe9f1f7d5b1d13af4e03fc358067302bfe79c80a27030b87ce611da3521837fb9464348102f01a5a0f4474010bb0415b114cc9ffe3e397232c6c055a09e8770fd3ae0132ab9f47f54797c2f1ffb6c67cf2e6171e1f3c9bb771ad123b5b02ebc8bbb4f74fb26c6753b577015947e8948bd2d0635760e8ac75406cc46db54a391d7463f17f3dda4ac6f3fc082c9adec3af44e2c5944a739779b9933429907d347537c6cfceb21e1756ad3a31699ba399bcd61e5df117e71c48d338d036b5c99bfaca116dc63ffafcadf010000ffff779d601347030000", + "506a2676bdd70dc6fbff6c46e06c1740": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", + "52092336bc520dc319da8b7b9824db79": "1f8b08000000000000ff64cf416f823018c6f13b9fc2fbb22081293bbec5f2b6c3762d904abd6948ab128d9829ebb75f6676db737af2bffd5e7f47287239533537d0d25945edb3468223034f411081248cd888ec1d3cc5a2f8fb136504e7d36ee204b4f69b361f8fc987ee93d35a3b7b8db4f9929bd5795030fa39979896fb74c8d6e188e150832c00da4b933bb617df4a11618b6db50bae4d192bdd744b6e11f6f64d959d89ab976d7fe8e66e21b3ea6cef79fde8f443c4f19083ff6c626a4cb724a77059de17572459f40450b9fa8ffa090000fffff2db108ef1000000", + "54242399746775a4d661b1bcdee83f53": "1f8b08000000000000ffbccf31cec2300c05e03da7f005fefe7b375431b050961ec0240f64297122d74888d3a394850b94d1d6b33fbd734d9897750c4447e56bc6486e0f04a2290bd4e7e594a02e3781f510d104eb6364c7489123ccd7ffc8039e5c5ac6106bf9ebcba1a16c07b3dd59e5c52e55392f2afef592e2c604a20b60bb6b0db04074484574778cbb127a2ac17e50ae7e9cf00e0000ffff1e34df7fd4010000", + "58a3641b38d817dcdae96d75a8e26d77": "1f8b08000000000000ff6492cd92ba4614c5f73c45f6ff4a0d228cb8bcfd01b46337833660b3034b1b41071de4439e3e154d32a9a497bf7bbbceb9a7ceef7f3e447d267ec3742399c73048faa406670c0715c6b0df6a181802cda260e58be2101c50da066aceb3a5c8ce92c007d2fa56d655f81945042a74e5513b1838522489229f0eab249ea8e488fa308b2946fc23b2bc364fb37e7f71ae4ad294a3e839432317b1e5758c660f43a54e95ef44554c34e688bd3e977c9dedcab2d8a136db3a556199a3374182b4481070492ea25c5f125ba5b3c128fcb853d6f2ce91bd23920d9cb04148b079c506ee353b22f993f1ea1f36e4155d73a89f62062a394e123ed209362f052d712dcac23f5f8af9aacb533a7a15c4afd95e924494c509f9fb8bd729eb3c19ca72474a207c2db41259cb47e6278f6cc7c68040feb76dfac3bb7f9f67149639a41224d2fbbf1266e8276d8ed02030c0663a3651ef93433cabcf21d93a4d5d9befc99bb68d43d72fbac5f671fb2c30ae4e0dd5b74391e39cb2537d0ba7f2ba8e2f9de9b3483962e1bd87d1ecd75cbb6abdbc2fddc63407633bbdec07918be0e852041c231b06028a241b534214bc21600310f87eee6d395d1138694cbe099b7786bdb076de32cc4c958d9fe230a95e7fe976a56436a649ec1e50efec8fff2d91160c08f2e044c158785e57b0fadcd9a7d5ed97e784b7e42dbb7f61775904d6d96cd5754feeb9fddef41433bfbd374db3c987fedc2f58f9384263a0c221e3d56de79746e075a5263b2c321d37c6b3e95490ffb7ff8f000000ffff663ce7aa1a030000", + "5b90d337b466593302f2523a9dc5c2b2": "1f8b08000000000000ff6c93cd92b2381486f75cc5eca7a654147f16dfe2e4078c98d8a141c41dd00e6883282807b8faa94fa77a339355ea799fa4ea4de5fcf57b11ee08f507e59e2f6c41c1e72f6a4821a8cb2885749e010a0299d0cab7ac45dc08d59773b338cd47307dd63eb824cbeef9f765f7a135830b19a46ed0a03a627bad1d8e9b7d30705f12eec024e09448579b761387c7362dad5be4f35012fdca48275560da4fc18fbd1185d6253ea84b32f0a324e9fb702e7532dd5ce5d92a4e8efd489daed896aa4d7c9e4a52bd1ce8a41f99fc69fcbf08271bc7bd64d04b16e08e895e3212db381ede4cfc30433a554707d8904ced09443e147b5f7a12f9bb9ae0786351d8dd8ee5aa4fca22975e8436bcb235c7896f44e12cf3ae9b3c29d52d35552bf51829be842d470f8fe1be97de12d7ef0b19ef8e6f46ad362dd3ded896fb59144e3071826764ae1ed2fe468ed1daad8e62b88c29e848fcbb67a053a633e0c9bcbbb64e33ee63d7330a3ed461bf7ddc83bcaa0eabc176b79b6439bbcf43e73b3283623719161760e2e063c3ce9feda44d6adcc5263d3cd775b15006ddc8f3f486e6e8ae94e40db22c627b6ffc017a3d22a01964279080bf5ffe8b232723d45402a08b2fef6210aa51549075416b4daafa9962dc264b02f99712cbd09b4cbf3ec52ad879b1f9b92ee7bbaf7ba091663fb5b80128d827007a5ae4a070d95ccbeb82c4d69ff1ad7d0443f578e8bfb176a78586d9345e04b3e9be68e090c31982d9a15f181f10826d8d1767ac8f93b0abe78a5bbaefe538b7bafbeae22e71a418fefa65bc7e3e57ecbfd3f04f000000ffff979595cf2a030000", + "5bc0eafc4460dfca38386d7cda41d83b": "1f8b08000000000000ff6c934d8f823a1486f7fc8abb37372aa38e2e4f4b81aa458bc8d74e70a416fc18500bfdf537eaccea4e57274f9f26ef9bf4fcfb3c8838d4fb07133fa036c51090173518a5782131863d2e40510405f5613985591d54553c8ab6ccb1b5ced65947152e12bab8a454cb01014555aec9d260503a30dc1224180e43d6120d3e2abc104111e0d21399539db28ff97d1791d696b07ddfe581157a223b22c7c84ff63d312b9d98d3d609207e0b978038b32ed5e49ec64264316ad2cd5866e6a0752dd8bd1d1610d313c6f2f4a7a85c917b4c82621286cc2abae71c3d997eb1ee9719914435e38dc23cb142ce1da2e6e156938021f2aa86115b70d36e7651fac84fe36b12908821feaedd32cfd89af69d92b44ba2b1dcc59ecc34593150efc72db393c8bfeda251eb6ad8ff44677669975954ddb933eb8cbfe2470104a8c8bf4529576b4e112a8a9f9921a43c0ce0ef51926c3ebd7e6e1c87bcf8c49b9aedafb7b8fea855a7bea7b1aafb2939ab0b3fb076be9fd0ee56853b91282de5575ad159d99b3f2aeb72f63c6352cff4657a2b92afebe93218a88d86d533aacba7080e53828061340265416285fe2000eef611500516d44fcf70378ccc2d3816185ba6bf6ccf877d63da7c80c15ff7e478fa7d1277b9bf0eeab03fdf413b5a4d7c2e242c7e6b196bce2d283c0a16b2e1486094ae85b4b857d575dcc6713f2d97a27ad0dadcc2b23dbb75fa280ee692d68d5f62ea5e1c8384935bb8ea0e8d5be5e2d12c6028a0a74ff6bd49bb70634d58d6b3cd28ee8cd7cf279ef5ff6df82f0000ffff8142178a2a030000", + "5bc98edec9aa86dedf031a7515536117": "1f8b08000000000000ff6c93cf92b23814c5f73cc5ecbba61ab5b13f16b3c8cd1f881a3088d0b013c4208a62ab0478fa29e9a959cc7c59a5cefde5569273cf9faf05d4e1de1f980621671ca3908eaa2138c75b82313a140a690e487189274d8aaacd61776ccde559c129cad93b414b50ea569e2a7f2d2541150c42deb581654222291daa17d176a0a100eaa0c99662104b3965f75d9cb6796d354948630172ac4127bced943d394d7b2389ad6af7e555d9405301f9cfe152c86cb6b888a3752e1cf6c89deebcaabd360b692ee03a32a8136132a54fe3f7202a98367b41502fc856fb84f782c08e6973f8d1f8bf9a215cd1e1012d407911a02444e7281481d0f4e7699cea862471d7a4b5dd67f5b91441a2191a6b2ed593d048e20f155c1665567b4d3ef55a119c34d323b0a41db4799df7ab3afa48e289ce9ced3399da0f1168eda8912106edbc2ad958bf07d949539db8cb6bca87cac44826fc9f3d41322752216accd6c1a75db5ddeaf0553c6ed79509e18c0c625f3bb26eaff362b50a97bf0af3064d4f6e753f6d657c798392b99f1f61c4f785512c3efcd6d9ccd9e7533a31b9d83a826ee73d8473d7e475cdc05c23e9be03920429a71660be5cd82fa41c6d3530be3b486e19688141a96f509481cc090ad1faf5b16e20001d7e510811793512f83436204a1e0113666cde2ff1f1690d70b35b4d3133cdaa4bddaffd84571369b1ef9417d9d59a36c17f2751792e22400d74046517598dfbb83ae8f906d1f9b278e38f667e7d0bdb9afb7abff96e9277623f7da5b982c4cccbfd79161dcada3f0eb131e8b75970acecde43d75dd0d2895faead27fdf627ea2f638c0bf5c8ff23f477000000ffffed6d643e5f030000", + "5c593d259bf7ef6fa3cc6688ab1b59d7": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1f6fcdf6081dba345d7200d5fe1b04b61c14154a4f5f9c2e3d4146a15ffaf82f2d639ab721109d946f0503b93d1088c622509fe67386badc05d6434423ac8f891d03254e30df7e13c766cb5fc493eb5a1053ab3f7d1357d4fd6ab285555eecd294cbace25f7f29ed5620ba02760cb9021688fe73153d46e44e859ecab0a36ab60f16de010000ffff93db101ce8010000", + "5d8248ac4e3947e0b86c36b000c387c0": "1f8b08000000000000ff6c934d93aa381486f7fc8ad95b530d345cedc52c4e4202694dec68e46b27b48208e247d3017efd947aefea7656a79e3ca97adfaa9c7fef07119f897f305929461906451ed4e08ce1b9c2183e71019a2128d80a96bb061fd4eeb85dccf7cb463ab419965f44e32261f33665636512d04ce72359181c8e3e581b824a8ec390f76484152a4488a050f828caccaf9becf5bddb46a4a7156c9e77b9f242516607e41b7943bbc4aec7c49ef5be82f829b48af86f433ab22e8dcb328bd12d5dbb55669b7de0c1f6e970456c511a8be6475107652e78059a576071af18ee737467e3830d7f981155e8cae54d639978a1943ed1efe166248a23f2a886119f4b9bdeb651fa9d37ee395124e2483e6bf75c181b9b768ca44312b9d536165536922507fd7cdc739a44abaf6de4f4c1089fbfa3737aa4c72caa3be9bf0dc64ff123050a15f9a53c56cb0fc9102a8adf3347480b0c2053db140ba866ef46af76b299242f22b9fca28550e0aad7685c45de499a336b6ef57dcaeada3eebc96457fa8e3bb507324e2ec3453881ebcbca984fad5be05f4748ba536b9a7a3dc2f21e35903304fb1941c03172407b9078e1ca54208317044c8307d7bb67046b4ede3d3814d8a3eb975374e8dc115ddebe35c1d434ab3e0de24f8b559674e93565bbac75edf3ca83f99f5ac687941e1422000f1138a028776b14e7b5a3f69351b517ee9bb1d5b757bd76a6e6d7f4d5b9bcfddab4f5d9db4b5690607f30e8c762314dcbf4bc756971ca649df51dcdd3d377638a65f87a6a7731c909f9cf78fc7c22bcbfb7e1ff000000ffff28913a7a2a030000", + "5ec81afa132796e1dbebec6c127c4416": "1f8b08000000000000ff64cfcd72823014c5f13d4fe13ed3112ab6757913d31081f04d833bad7a750005cb34d4a7efd4e9ceb33af3dffd9efe46b9906a12a7b2849c4f7c5eddab154ae10172086928e84f2fb2d05d0072c1d8ff37dca3c2361b23292409423e0ddef275406427e5bc88acd13927c57e7b8a2f2f68b099f61752b105eef5ad3da6a018409a694d70405e32d66d829dc30ee5918ac6a98bb91d5b9f1fafd9ee90b7b219c1aea3b37f6dbfafbdab8ba5f2d6c3b6a9fcafe71919dbde25a7f71bd3f56a36ac3a1559770057cb47d46f000000ffff0fd048c2f1000000", + "6270306a9369c4ec4b5ae9f1c1061a14": "1f8b08000000000000ff6c93cf92b23814c5f73cc5ecbba61ab5b13f16b3c8cd1f881a3088d0b013c4208a62ab0478fa29e9a959cc7c59a5cefde5569273cf9faf05d4e1de1f980621671ca3908eaa2138c75b82313a140a690e487189274d8aaacd61776ccde559c129cad93b414b50ea569e2a7f2d2541150c42deb581654222291daa17d176a0a100eaa0c99662104b3965f75d9cb6796d354948630172ac4127bced943d394d7b2389ad6af7e555d9405301f9cfe152c86cb6b888a3752e1cf6c89deebcaabd360b692ee03a32a8136132a54fe3f7202a98367b41502fc856fb84f782c08e6973f8d1f8bf9a215cd1e1012d407911a02444e7281481d0f4e7699cea862471d7a4b5dd67f5b91441a2191a6b2ed593d048e20f155c1665567b4d3ef55a119c34d323b0a41db4799df7ab3afa48e289ce9ced3399da0f1168eda8912106edbc2ad958bf07d949539db8cb6bca87cac44826fc9f3d41322752216accd6c1a75db5ddeaf0553c6ed79509e18c0c625f3bb26eaff362b50a97bf0af3064d4f6e753f6d657c798392b99f1f61c4f785512c3efcd6d9ccd9e7533a31b9d83a826ee73d8473d7e475cdc05c23e9be03920429a71660be5cd82fa41c6d3530be3b486e19688141a96f509481cc090ad1faf5b16e20001d7e510811793512f83436204a1e0113666cde2ff1f1690d70b35b4d3133cdaa4bddaffd84571369b1ef9417d9d59a36c17f2751792e22400d74046517598dfbb83ae8f906d1f9b278e38f667e7d0bdb9afb7abff96e9277623f7da5b982c4cccbfd79161dcada3f0eb131e8b75970acecde43d75dd0d2895faead27fdf627ea2f638c0bf5c8ff23f477000000ffffed6d643e5f030000", + "62be2e3faf40405aebd500272eaa7675": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1f6fcdf6081dba345d7200d5fe1b04b61c14154a4f5f9c2e3d4146a15ffaf82f2d639ab721109d946f0503b93d1088c622509fe67386badc05d6434423ac8f891d03254e30df7e13c766cb5fc493eb5a1053ab3f7d1357d4fd6ab285555eecd294cbace25f7f29ed5620ba02760cb9021688fe73153d46e44e859ecab0a36ab60f16de010000ffff93db101ce8010000", + "64431d78d051057b54ed734af69976f4": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", + "67902e777660f1fbce245ce67bdbb1df": "1f8b08000000000000ff6c93c992e2381884ef7e8ab9574cb46d96a60e7df8b52253bf5d022f23dfc0500283dbb85864fcf41345f56d4627c5979907a522fffe3a844b15ff45f93255425148f9937aa8144d6a4a61272d3845c02a9dc831c4e21ca4e3e39c053b8bb35a57292c88b5ddfe5827ef5a33a84988fae23caa0dcbb596dc457936f014099710649c125ce8505cd64579af9ac9d9a4bc40a29f1ae931ce427153bc7c78a698d4eb7fe27a33f01249f51ddea3de8ca2df78989c76525c2bd99fde9af8be49f90712ffe9811e8badec07cf84fcf6ff66d809e73f90c10359e612a61ec8c85a387ff866eac9bc2f88e2d2d3012262e39c8049e194a7b844c7bf9fa7b83b3353f4e7b2797d6c9ad31e97c609786a738fbb2035c5d82e7f47fb4d139fab30bee372e6e6df61c648494a199c374772af9aeaf1d6e46353046e23b39b095faf1e8aa3e3cecc176da986daa7a08dfa7367a02ba62d70b5df4551fc0348ddcb9f68a3d0eff3f2a0e7196557af999ab0aea44bae9fc7d14b176dc2b4fbf4dd703fe16d9eaff211578cd84e1551fd73f9a8b6a44d5cc02669bc882f285be7316b58bef4df41cf7f10d00c6c61ff34bd8db47e7e1da517093a13c42121d67e12cb05d115831ad0fb2a6ebe44021f330e35007e99836cab9c3e225d8012653a8872e6a81a8bc3e4bd2da6fb97a86b2d14d9aa484edef43499f5cdc5d4d3c420b492d24eae70fc4a0029f81520d754c97532e2528c0c6baa647dbfcdceab08382e56d78337d8373f757dd9b71d9f95230d0732eaaeb06d0edde398bf066245a27beddcbd9d9ecec5cb6ec8135304e4f343b51f25fcfae53d17c163f6df95fc1b0000ffff161e4ba542030000", + "695a23b7bb21d405f7b264290263e343": "1f8b08000000000000ff6c93cf77ba3814c5f7fc15b3ef9953a4a5adcb975f081a3418a07127688320164b25c05f3f473a6716f36d5639f77df24e92fbeedff785a8e7877f611a499ff918249d548bfb3e8e25c6f071d4607c04da1751b9c65a25d16919ae60c977af7af17292b0445a5f8baa5c6f842050a2918bd65858289208e1511324f1482547d483594c31e24be1b0769feebabc761b2569ca91986aa8e761ecb09b4f7783a552b7dcbf876536d21d47f9cfe1828bec29b8f0ad7b3e7aec3bf7faf3aa0ebb4cd29ca3cf89819e4be5d09bf53b084766ec8113183889cd9af8032768cf8c3dfe68fe7f9ac517bcc723044887090225e19c481e71437f9ee653d31095f6cdae9e0f597d2e78a40c83a9b6a066262d953eebe81214591d36b913763caa0c3313b0a43deaf23aef5775f2acd299c9bcf8a69cf9378f8cf1f4c4108bf661a9b6eeef20ab0c356ab1fcdcf963696310caff774f40e44468a016a8eaedf5b321dd139b5d08dbf863670ef2588630b4eead6de7d7f609cf51528fdbee80578dd9767de0329d202ee241bad6312df490af6787a04a57439ec3fc58a7cbf09b7bad21f76b46f606c4e2118120a0bd9a23fbeec2211062b2d5c2b8f540c40c198e91d65f485386444e40c2e6feb18b8823f878a34802b937e2b89a1a102d4e08636239d1aabf7c1c5a87091b43b47928ddb76b5ddcca43637f258fc11efae7f54b248af27f93a8431f0862169c287c6d36ce2278f86802f711bd540d3cd963ab5ab6efaf57ec0ede7656e461bc355ea5b10fdd9a75af387e975f07fb7ab1d8373f9ef039cb59c69cb6f2dedf6bf3f0b82a3ab99d5b535c6848fe8cd03f010000ffff17359eef5f030000", + "71194915cd595e0e92d724dc1e0d0f31": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", + "74bfbbd031363707a33a2c34183eaa21": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", + "78b5c5962f7e33760e31220e001b6428": "1f8b08000000000000ff64cf414f833018c6f13b9f62776240ca601cdf426961a11bb43429b729c262945167daf0ed8d8b379fd393ffedf7f43b4c68c577e7ae5220c9ee48f4a37a4d4519cc041adc50bc192a9a388399d03cfffb8e304c4377711586b69da7e4846264c63b08157e0adf9bc9a007d79f649a2896ec0b84dcba70b586b05d3be03980d8df9c4c0f373d90733d0552f7a9ad4d92a5efe5d462cfbed63a5a7ae19b6e8927933d977cf313864611851bbaf66f56ae411d60abd8fde523fa1ecbe2620f5f47ef0120bcf88ffa090000ffff1f534af0f1000000", + "79dcc6b5698250c4a4451fdbe5575e54": "1f8b08000000000000ff64cfc152c2301485e17d9f823de34cb102edf226dcdea634b185a0d65d1d693228162410dba77764dc715667fedd77f7378624d4a85c8927d0385a627dad8114948141904c12eb8fb4960f091824ceffbfc78c51e81b2f1854956916a8caf0bd6efd71bf4de265d03b3e8089da97e7947454b8c990d9af7d5126f06857a038803ef76b5de832770e6b56d878e8263ce7e3a9b997691a9cb6757c61d94140bff950e3a87a3de59bf9ecf37cd8758db1b1430676dab5f89dccde1ce5f3e612fef89d0dae00548b5bd46f000000ffff1c9d9553f1000000", + "7a08fc2cb7063b01055991002ffaa4e2": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", + "7a14b909c9e4365867003cd5d4a30cde": "1f8b08000000000000ff64934b93aa3814c7f77c8ad9774d89af915ecce2e401c44ba089016fdc09da41203eda47c04f3fa576f52c6e56a9dff9579d5f7292bf1f0bd180c57f612a24f31906499fd4e18c6146308672adc132049a0988b984fbb0f98a653c993695f9aa48b057166bc57e1d56ec5ebb142cb36b4923874313c030a3a8e238cf7947ef20908e73045ae226ae8aa035c5787e5d2f69e7d790bd6aa524795c153b1438a5f1af6ad4ded5c8eb7c028b57e020f1289fa8e5d016417655a3f70b17a5f55345f23425d44e6bb598b6dbc0bf3865d0b591896f8584ad6fdd9e13e839c96c4258cf095afbd6bdbf18fb613c3877f80ef34733078192d0e6920b6ee9ab03a3f648d4b23baecc7b5f98b6e242591f9eb590daa154cb8916fb795598f8e894a3f8c60558a29f8188dacdad34a22d4dde73e1dac07e6b77e27fdebff41ff6ce4b1fad38e201ea4fc1824fde41d300e3efbda521b80c50329bcff9857b66e40a4dafe13da933d644cecc1065b36537ad7b8f6e1b4de68b743cdb20635b793b2dff314975c261efa61487a6f216b7f1f1eaaafde53490214e82da9112451c268f516e88a56860d3c78c434d803f2e29141cc1a747a106e0f8fccc319b361cff02969cb9536f67f56d55fe76a77b51eda9379cc5bb37bcc5b6ade2bdbfca653709066de77138fc1c0b01c7e06ae034c30e4bf147b8b894a4e5453e6724fe4c4ce85edf2cfe1a1c44b24bcbd1f9f745a849a4669966ba203b89e5069ba5fa5c41e639ebab1e5ec8c78c1e23fde635c7cd3841d22c3e70c4ff759eaf9dc6e4cf1ff05f000000ffff7c25d36a1e030000", + "7a8586921173dd8ef1a2149af53d036f": "1f8b08000000000000ff64cf414f833018c6f13b9f627762ec708bebf16dad2f95b542990e8e9841191b2ea351563ebd9178f3393df9df7e77bf6302a55ea446bec34e2c1251ce35501263b0021453c8fc1573b5a2600572fef74711332463354a0659667944e37a7af8a0e7f4186efc32e0ad3950a54b5ebaa37f9d887faef19bec2316f5ad01cd01f26bd63cae5c4d6c7f6e0e4dbe57e9cba620a6259a421f7caa24be4d4be8b148fc69fbc60639d4ee5419d5adbbfb4b5939e1305f6fbfdc25bc752274ada1bb62b0c10c10fae93fea270000ffff6cee10fef1000000", + "7d9109cadcf1a905d2247f205ccbf366": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", + "7f33c70d78bb061bdf44e5fef3e96ae8": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1f6fcdf6081dba345d7200d5fe1b04b61c14154a4f5f9c2e3d4146a15ffaf82f2d639ab721109d946f0503b93d1088c622509fe67386badc05d6434423ac8f891d03254e30df7e13c766cb5fc493eb5a1053ab3f7d1357d4fd6ab285555eecd294cbace25f7f29ed5620ba02760cb9021688fe73153d46e44e859ecab0a36ab60f16de010000ffff93db101ce8010000", + "80693cc82a966fcf8e426fa1eee54635": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", + "8173ed3a3c1d0d0a0f838aa52a035b9b": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", + "8194136520cad5d6c68a46adab3a9129": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", + "8458059915f84171bf89a3cfc3b5b463": "1f8b08000000000000ff64cfcb72823014c6f13d4fe1dee94c65a8c2f2241e0396a084786307438de30568088dfaf49d32ddf9adbef9ef7e6f7f23c8a264b416d116248e3ef1305487472c0485c00967e4f1cd32ee05a09051faff2d8684bddbc24604d254995bd977f97ef6d54eda4efe10c7f63a10e7b20e3771b5d816baf9489fe1f3011cb293808402c89d49dd758974d3f6459b296be7aeb81b7dcd5d365e3814a64baf8ce34b5e7bcbaaa9cca5eb8e93d32a48fc33f8fbdd754c6ea8575339d3dc6f82fb51d81a953c38030093f92bea370000ffff3ab9f8d3f1000000", + "85a074cf60eba8dc9003ebcb5026d881": "1f8b08000000000000ff64cfcd6e824014c5f13d4fe1de343554dbbabc83d3cb8017910f0576102868a9207498384fdfd474e7599dfc77bfa7bf318ec29bf9813840c4672e4fefd5208136d41c8811b2db15435aaea1e66859ff5f719be142e54a30d8efeb5616ed41843c73bec7ec42a6516afb75655ecb6377360bb70135ef93517fe4ded66d02f02c80601ab07acf75e4743dc6d1eea710d2ec433c359f2f141bddd84efa34f4691e9cb3307e4b7c49404de95b6ae7b8cfc7b59c6035a44eb5ac64322ec4d76d5b5d36c5dcb803b8b77944fd060000ffff22ba4dc1f1000000", + "860116a817887289a2d053d82a237379": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", + "8609fafd60003aedb3ba01545b3d4fcb": "1f8b08000000000000ff6c93cf77ba3814c5f7fc15b3ef9953a4a5adcb975f081a3418a07127688320164b25c05f3f473a6716f36d5639f77df24e92fbeedff785a8e7877f611a499ff918249d548bfb3e8e25c6f071d4607c04da1751b9c65a25d16919ae60c977af7af17292b0445a5f8baa5c6f842050a2918bd65858289208e1511324f1482547d483594c31e24be1b0769feebabc761b2569ca91986aa8e761ecb09b4f7783a552b7dcbf876536d21d47f9cfe1828bec29b8f0ad7b3e7aec3bf7faf3aa0ebb4cd29ca3cf89819e4be5d09bf53b084766ec8113183889cd9af8032768cf8c3dfe68fe7f9ac517bcc723044887090225e19c481e71437f9ee653d31095f6cdae9e0f597d2e78a40c83a9b6a066262d953eebe81214591d36b913763caa0c3313b0a43deaf23aef5775f2acd299c9bcf8a69cf9378f8cf1f4c4108bf661a9b6eeef20ab0c356ab1fcdcf963696310caff774f40e44468a016a8eaedf5b321dd139b5d08dbf863670ef2588630b4eead6de7d7f609cf51528fdbee80578dd9767de0329d202ee241bad6312df490af6787a04a57439ec3fc58a7cbf09b7bad21f76b46f606c4e2118120a0bd9a23fbeec2211062b2d5c2b8f540c40c198e91d65f485386444e40c2e6feb18b8823f878a34802b937e2b89a1a102d4e08636239d1aabf7c1c5a87091b43b47928ddb76b5ddcca43637f258fc11efae7f54b248af27f93a8431f0862169c287c6d36ce2278f86802f711bd540d3cd963ab5ab6efaf57ec0ede7656e461bc355ea5b10fdd9a75af387e975f07fb7ab1d8373f9ef039cb59c69cb6f2dedf6bf3f0b82a3ab99d5b535c6848fe8cd03f010000ffff17359eef5f030000", + "860e1df4bc1200c1b3103c9f9a252382": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", + "8dbb50bab2768bdc565654ee61bfce06": "1f8b08000000000000ff64cfc17282301485e13d4fe1bed3915ab46579132f213217412992ee2c8ca18ea4529590b7efd4e9ae6775e6df7d8fbf6328643ac936b284022709aa7bf5488a1834023112ccf5624b41081a05e77fdf62cc846ff75632c8734dae5b374dcd0eb381e8eba6bd31a9e61f875e4d1fde7c7799e180c76a7fea86e7e6d66e20e50045b4327d3916e96a14ecc2330e06cf42b5e09e4ef3d64b6cf5caa3211aad4195c49cf2ddd414ae3e83ffada69a5db765b8337cbd90c745167c766150d3cbf2fdeadd01982effa37e020000ffffb472366df1000000", + "8f77824749cc1ffb6fa0346024d3cac2": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", + "906cf26981eb1b4882e918aacdfcdacb": "1f8b08000000000000ff64cfcd72823014c5f13d4fe1bed34123a22c6f3eb80998d4a0607167a9426b45195b836fdfa9d39d6775e6bffb3dff8d0a5466b0c854012b31484579af9e5628a116a0a9467aeb70a983086a818cfd7f2724c5a1db3a45c1daba1b069aeff134cbdeca58e2b7876b125fe4f15826d1d472168f5342954ffad6fc34191806b0ac42fe6ab3779954ae19edc2bc681d9fcdaf8df6c73be73dadfd73be0983c3f5f32056f6642232f97ac9a148bbb96b17c976f2d14cd56d5311b6affbfcecf7234b2ea5f2ee0061f823ea370000fffff7547835f1000000", + "92d8faf09693cf01c956f614145f0cad": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", + "94b600ea295e3f5aba6a06df1c5d2618": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1fbc31db2374e8d274c90154fb6f10d8725054283d7d71baf40419857ee9e3bfb48c69de86407452be150ce4f640201a8b407d9acf19ea7217580f118db03e26760c9438c17cfb4d1c9b2d7f114fae6b414cadfef44d5c51f7abc9165679b14b532eb38a7ffda5b45b81e80ad831e40a5820facf55f418913b157a2ac38eaad93e5878070000ffff703512f3e8010000", + "9626e859afb6f4b8f071befbe3472fd6": "1f8b08000000000000ff64cf416f823018c6f13b9fc2bb59a0581639be2fd452b0d5a2d3e10d071431cb329c43fae99791ddf69c9efc6fbfa7df21e342cdb6b938c09ecd32564cd5918227601848941cc74fbe933404c37814fdfd8125c8bda11c0482d66671ede22af8c275e8d686d417e7a49bb67bac1a92d9a5d8f8630fc6ae37e771975cda1c540490d379757bff28c36e1f7edfd28342b7e8cf2fd6a5c1835a276b9a2371ab7115972d06db67300551e67424a54f9567638cfad77a9950cdfdd45bccfdabbebfdd5319381380a9f83fea270000ffff3288240bf1000000", + "97aa5e72c480b86b50a5f84735e481f1": "1f8b08000000000000ff64cfcb52833014c6f13d4fd17dc7a122966199cb9970a249532208dd79a1804ea9b540689fde9171e7b7fae6bffbddfc8e8240bd3029e6e409160f50ced553281252035154097a3909abc298d42018fbfb0e122a56eec52125db6d1d8d45d5910c4e571b7c7f4ccedb85605703f49f83ccfdca1edf628eba36e3996f9a9468468865721737f97b1739de26e5d94f0d04d9baa54646bcf78a677ffc9a029490de1edabb52758fba783d0cf72dee37718fb26fa6f5b00c2b7d917bc39a2396325bdaab370340f3ffa89f000000ffff4436763af1000000", + "9b17d21aa2baa39d218b4fafeb80dafa": "1f8b08000000000000ff64934f93aa3814c5f77c8ad9bf9a6a41edd6c55bdc1b428c183474f81376823688d8a83413e5d34f69cf4ccdab975dcead5bf7979c7bfe7c1ca48c077f101a2aee71028a3e554b704e92811028fd120c4728b9c4e4f031fe7119719118ef1295ea946f3e07f0b12c2fd5b15e6fa474a1c64ec8ce58446a37969251b38ca3812a8194811d5182c2978ed76d93ecafe2343d6b451381f259c39b0822c7eb39cdee964ea6f5360dea7ca09140fedd5c89559656559e6297bd4febdc19dd580d1acb2046108aa661573841b53ac5134b27b6c959d46b67fe257092ba8a1be172132898889a1be1b5a9abc45313f57f9a49145d093832eb89540912c7e2460708bfa7948a1c832a67cd291f2ffb6d426f5e0dd177ad506e1c54f9015971f27a4b3bcda09dd96da120ff17d163f37bc6e27b96f2e181f90ba57734d4e885df667ca847c402a9f93f171764e1ca1268d4d82fed4aa327cb4b7218efe4a7ad6578de65de7ae78ebd7ef4998ea687652183a56b9def97e9f5f5b5f76c1842274fa609b9065f2f5d76e9376d5598664a766fef5ba52e6b3cb9041b05eb07e942ce103e66d4421004b760160f3bc35183a88d079afb4623ca68018632423a0632f2d00822c03c9cda5143f1c548620900e39b67738d441ade42e96f9c5727c9b85b6cbbebaedcec5713afe8ec7db5dfcdb64bbca37d7e5dac23733acf8ce57f4f0e9170c3398ff2f1f298a5cba6a845ffeb2e3884fcef7305b48c900bb3dec564fe78068c0a1054124e422e9a1fac6d1bc76157e76db3dfe963f25567f3f1f258b4f70f3b42f1960e87d5040ef866ad27fe4453360f7b799dd1fdd66663a34eecb35d07373b2ef2f2accbf3198f7ef9f3a7f58c0f0ddcdf23f577000000ffff52ecd0c06f030000", + "9b539a90ff91363a4fbc282d14091459": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", + "9c7b096458104b372329cf3377c0453a": "1f8b08000000000000ff6c93cf92b23814c5f73cc5ecbba61ab5b13f16b3c8cd1f881a3088d0b013c4208a62ab0478fa29e9a959cc7c59a5cefde5569273cf9faf05d4e1de1f980621671ca3908eaa2138c75b82313a140a690e487189274d8aaacd61776ccde559c129cad93b414b50ea569e2a7f2d2541150c42deb581654222291daa17d176a0a100eaa0c99662104b3965f75d9cb6796d354948630172ac4127bced943d394d7b2389ad6af7e555d9405301f9cfe152c86cb6b888a3752e1cf6c89deebcaabd360b692ee03a32a8136132a54fe3f7202a98367b41502fc856fb84f782c08e6973f8d1f8bf9a215cd1e1012d407911a02444e7281481d0f4e7699cea862471d7a4b5dd67f5b91441a2191a6b2ed593d048e20f155c1665567b4d3ef55a119c34d323b0a41db4799df7ab3afa48e289ce9ced3399da0f1168eda8912106edbc2ad958bf07d949539db8cb6bca87cac44826fc9f3d41322752216accd6c1a75db5ddeaf0553c6ed79509e18c0c625f3bb26eaff362b50a97bf0af3064d4f6e753f6d657c798392b99f1f61c4f785512c3efcd6d9ccd9e7533a31b9d83a826ee73d8473d7e475cdc05c23e9be03920429a71660be5cd82fa41c6d3530be3b486e19688141a96f509481cc090ad1faf5b16e20001d7e510811793512f83436204a1e0113666cde2ff1f1690d70b35b4d3133cdaa4bddaffd84571369b1ef9417d9d59a36c17f2751792e22400d74046517598dfbb83ae8f906d1f9b278e38f667e7d0bdb9afb7abff96e9277623f7da5b982c4cccbfd79161dcada3f0eb131e8b75970acecde43d75dd0d2895faead27fdf627ea2f638c0bf5c8ff23f477000000ffffed6d643e5f030000", + "9dfebe16294c62fb0649bfde16850a75": "1f8b08000000000000ff6c93cf92b23814c5f73cc5ecbba61ab5b13f16b3c8cd1f881a3088d0b013c4208a62ab0478fa29e9a959cc7c59a5cefde5569273cf9faf05d4e1de1f980621671ca3908eaa2138c75b82313a140a690e487189274d8aaacd61776ccde559c129cad93b414b50ea569e2a7f2d2541150c42deb581654222291daa17d176a0a100eaa0c99662104b3965f75d9cb6796d354948630172ac4127bced943d394d7b2389ad6af7e555d9405301f9cfe152c86cb6b888a3752e1cf6c89deebcaabd360b692ee03a32a8136132a54fe3f7202a98367b41502fc856fb84f782c08e6973f8d1f8bf9a215cd1e1012d407911a02444e7281481d0f4e7699cea862471d7a4b5dd67f5b91441a2191a6b2ed593d048e20f155c1665567b4d3ef55a119c34d323b0a41db4799df7ab3afa48e289ce9ced3399da0f1168eda8912106edbc2ad958bf07d949539db8cb6bca87cac44826fc9f3d41322752216accd6c1a75db5ddeaf0553c6ed79509e18c0c625f3bb26eaff362b50a97bf0af3064d4f6e753f6d657c798392b99f1f61c4f785512c3efcd6d9ccd9e7533a31b9d83a826ee73d8473d7e475cdc05c23e9be03920429a71660be5cd82fa41c6d3530be3b486e19688141a96f509481cc090ad1faf5b16e20001d7e510811793512f83436204a1e0113666cde2ff1f1690d70b35b4d3133cdaa4bddaffd84571369b1ef9417d9d59a36c17f2751792e22400d74046517598dfbb83ae8f906d1f9b278e38f667e7d0bdb9afb7abff96e9277623f7da5b982c4cccbfd79161dcada3f0eb131e8b75970acecde43d75dd0d2895faead27fdf627ea2f638c0bf5c8ff23f477000000ffffed6d643e5f030000", + "a001db8f1beabf090a93fea738d8cd64": "1f8b08000000000000ff6493c193aa3810c6effc157b9fda1a64d0d2c33b74878001c3180d60b8013a61a23e1d195f90bf7e4bddddda579b5bbeaeaefe255f7f7fde0fd288a57f10ba922c6404247da80e678c140321a0130d96216826247717c53acf8d54349a6449fcd966bf0c24a8f557bb37ef4b210230d871d159870815e44244d4c6793650c9914630ca28419e082fecaaa2fcd51cc7672569c1513c6ad8f334f3c22ba3e5cd51c5d8549bd4d403cd38b26773cb17e5a66deb0d76e57a6c6acfed23030a759a23704937abaef1d27671cc7d4715235b47d95579b36f8efe2690ccf280d95482cf0db33c3c6d02c91f1a37ff6ab69074c1611f390fa496933ce73d1d60f59ca225d9a76d1d1d8ef55b7cad0ada8706b267ad91419eb6f52746cd31bc3aca3b0cca9bf67309f53f886134bb95517e2b37ccbd63fe4619ee2db56a9e9c4a361897382014fbfb12806802a18162ee4fd62f86da4bb083ad1d2f93d95bef9faeafd7449f8cad7e4e6779efa6db26de1f9d49f6f17a40f9f271d859790996cb97d52aac2797e4560a2aba72b23cd3756bcd7ef28ec780e041c2fb9d742ea6081f53ea20708215d8f9ddce957b40543604c512ab104536074b2342ba084416a2e58483bd3bb5a596e2ab15c4e10036b18f6683445876029d2cbd8957942c68aaeeb2d5cbddc20f9b6eb46b77db6915e30d47e7c9fc3db3c7f3d43ac973f20a09b38cb1ac7e8bf7e5263e34465c7fdf058f90ff7c2e875344c857e4acb93fbb3f03dc063815842159a8a958a8eff865f125737fba5579359e1b5737fa6d67fc60f73a9ab92693de4ff80474d45587ab6da287c10cf13a0e7ad5314fe0598f62d68c2e972a6a66df8d1b12fde387f3880f4d83ff47eaaf000000ffff1c30db8a6f030000", + "a12d11af9e673d90976edff3433750fe": "1f8b08000000000000ff6453cb92aa4810ddf315b33726446c6feb6216590fca520b1a28d07227b417047c74b798c0d74f8813338ba955c5c98c3c8f88f3e7f3112ea4f707e5a196aea4a0f9805a4a4afa51520ac728079404721982d7e7b7fb6d39fb5ea71abef4859951f889487323d7d7bdec4b9b034a3c68beb114540226312785a249a25ade4348722f21906b5a79452aea733a5d35872d6fdd12e2d72cd32cf18af44484959dddc638756f9c79eb32885e0b574d9de4cd6c27988ab831cee2aec20cddc0b0240818c75969a2597d14eeddca445b6fcede23d57074d1ee14834eb1187d263bc5c8c145bb7f61f25f4c89aaa53dac9e641601a3a14eb40a15f21783e4786366dbdef6e745979eeb4285065d18664b8e136db66f79785915e9d9bb5999e33d541820cf878535c7fb20ed3f657ca7483ce404adf28dc39bfdae28d21df9d947b3d24a1d1bb71a34c9b3afa22afd8f401292e7fffc1521e8518088f468323fdadd488f94d5467dafe0d39e24ef960e96a9a8e8c5f58b4724a6df55bdec26e3ddb46a26ac2e61f16ee3c99eb971de293e1f3524bc56fdaf75188fe9f1f7d5b1d13af4e03fc358067302bfe79c80a27030b87ce611da3521837fb9464348102f01a5a0f4474010bb0415b114cc9ffe3e397232c6c055a09e8770fd3ae0132ab9f47f54797c2f1ffb6c67cf2e6171e1f3c9bb771ad123b5b02ebc8bbb4f74fb26c6753b577015947e8948bd2d0635760e8ac75406cc46db54a391d7463f17f3dda4ac6f3fc082c9adec3af44e2c5944a739779b9933429907d347537c6cfceb21e1756ad3a31699ba399bcd61e5df117e71c48d338d036b5c99bfaca116dc63ffafcadf010000ffff779d601347030000", + "a1909412e4a002f250efa99409897f95": "1f8b08000000000000ff64cfc14e83401485e13d4fd1bd31a1014c59de81cb65ec0c851131b0036aa09d4a648a023ebdb171d7b33af977dfe3df18124f36a9e205e4b8d96379ab96e4144387209924b68ef4225d1f3aa420f8ff33c68cecb99e39832ceba2fa5418ca9fd5395e9d2176acc21e85dec6eb5255e1cff4109aac8dfc6b7b3003f50a9200206f0557d3f6355fe6931cb53697b2ebf55554debe5181e53a1f9fa9b77eeda4bbd870186ae3a9279abcef464ad6be9d7b8e28767e747179ca8e833832782f7583d60d8049788ffa0d0000ffffc84829c9f1000000", + "a4e8028db4d14a2ef1f7950b090a981c": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", + "aa8a27280c3d50a7683762ecf7591f16": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1fbc31db2374e8d274c90154fb6f10d8725054283d7d71baf40419857ee9e3bfb48c69de86407452be150ce4f640201a8b407d9acf19ea7217580f118db03e26760c9438c17cfb4d1c9b2d7f114fae6b414cadfef44d5c51f7abc9165679b14b532eb38a7ffda5b45b81e80ad831e40a5820facf55f418913b157a2ac38eaad93e5878070000ffff703512f3e8010000", + "afa3f045cc71a9835aea2c0e78f71796": "1f8b08000000000000ff6453cb92aa4810ddf315b33726446c6feb6216590fca520b1a28d07227b417047c74b798c0d74f8813338ba955c5c98c3c8f88f3e7f3112ea4f707e5a196aea4a0f9805a4a4afa51520ac728079404721982d7e7b7fb6d39fb5ea71abef4859951f889487323d7d7bdec4b9b034a3c68beb114540226312785a249a25ade4348722f21906b5a79452aea733a5d35872d6fdd12e2d72cd32cf18af44484959dddc638756f9c79eb32885e0b574d9de4cd6c27988ab831cee2aec20cddc0b0240818c75969a2597d14eeddca445b6fcede23d57074d1ee14834eb1187d263bc5c8c145bb7f61f25f4c89aaa53dac9e641601a3a14eb40a15f21783e4786366dbdef6e745979eeb4285065d18664b8e136db66f79785915e9d9bb5999e33d541820cf878535c7fb20ed3f657ca7483ce404adf28dc39bfdae28d21df9d947b3d24a1d1bb71a34c9b3afa22afd8f401292e7fffc1521e8518088f468323fdadd488f94d5467dafe0d39e24ef960e96a9a8e8c5f58b4724a6df55bdec26e3ddb46a26ac2e61f16ee3c99eb971de293e1f3524bc56fdaf75188fe9f1f7d5b1d13af4e03fc358067302bfe79c80a27030b87ce611da3521837fb9464348102f01a5a0f4474010bb0415b114cc9ffe3e397232c6c055a09e8770fd3ae0132ab9f47f54797c2f1ffb6c67cf2e6171e1f3c9bb771ad123b5b02ebc8bbb4f74fb26c6753b577015947e8948bd2d0635760e8ac75406cc46db54a391d7463f17f3dda4ac6f3fc082c9adec3af44e2c5944a739779b9933429907d347537c6cfceb21e1756ad3a31699ba399bcd61e5df117e71c48d338d036b5c99bfaca116dc63ffafcadf010000ffff779d601347030000", + "b12854d5fc10aefe21c8d0a6d34de7a5": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", + "b4115b7f67ceaa6760509f34c63a6865": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", + "b58e4f949ec9338efe696289bd604369": "1f8b08000000000000ff74934b73ab381085f7fc8ad9df9a8a4d6c5f7bd9124256b0c0c23c2c7680631c1e31f1ab815f3f159c9acdccd54a75fa9cc5d75de7efef471817ee5f94f981b00585808daa2185a04949291466012808144271bb68fcdbcc7217c5c535bdbdeb2dcedb001c52145fa7aaf4b64a59501253aa2b1a54692b528a337c8bc2810592300ed39051221d65dad7344e1e79336f75c06249d438239d7443d3be0b96f4868ee765ba77cb6c608924f9337c922a7b7dfb94bb79fdceed5bcebb7ad3b88f2c60474926a3073a191f783718da64f7ff37c3bb8d935e5ad04b2b44cf12bdb4486ae364786a62d48c6f51dad78e0ef0460a3722a003a8a340fa12d9134f306c2d1d776dd2acfaaca94fd2d768c3385b1b0ca7818e6785fff976ca1ab7cd4df721fd25ae9f618b75092671d4cbddfc913779b769a2998ea798f1f0aecdd5cd9076850cf5da39276228271494163f7f0b546ea902d8a4bf6de65eca3b273dee8fa5b737ebfa017a21a6f1c59868df5d9068fa914ef81445b3be71ebc1d8d182fae5debd5e226f7739ff0eefbfbf9caa2d0fdd6adbbf2c79d49c1c8fd40325466d81f7cdbe564b02c72523202949e189e04f6a42465ee1a02644856b40c629bd7250a14d505243027e9fe5c0909117545402a08363b82454a13843f17ebcb98750a643e60f79e21dbaf9deddde3f77b9cdc138e6b309562d2661156645850e8c619f5086eb9988731ed579f987536b611b3f06a4c5bfcb6380c2f211d00751a47d95392a766ebfe42e94434bb79b9766b6b9f3c5109c647b35d2b612dec7a5f2f74b2ad6b32f9faf5eafbb8247c1461fe2744597bf9c7db1d5efc339931fbb5af59b5530eca6c65825e65affadd73f010000ffff9fb6aaec7b030000", + "b5f68533ca9c0a73b66a2acef205832b": "1f8b08000000000000ff64cf4172823018c5f13da7f0021d530109cb04be8654039aa4b12c511b40da38542ad4d377ea74d7b77af3dffd1e7e4781f17cb691dc100db31594f7ea09ce325203115430fadd33258298d4c092e4ef8f905186c66ae4946cb73512249be2341ed449daa2b11ee2d3eee58cd5eb99e3cf6bd41ef5e5ca515f1c8e4523499e10a2d7b501b9089d0deced529eac524be386a7f0a38a06ec71fd5c75a95cb4ebf7b9d1bef3db3e00344fa7c7afc8eddebae5be5ced9151c8e5375f779b49343ec687d0bb03204fffa37e020000ffffb868e0b9f1000000", + "b690a37fd835172389b9658d2fbd4ea2": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", + "c035535f0401b123c7f3860763940e68": "1f8b08000000000000ff6453cb92aa4810ddf315b33726446c6feb6216590fca520b1a28d07227b417047c74b798c0d74f8813338ba955c5c98c3c8f88f3e7f3112ea4f707e5a196aea4a0f9805a4a4afa51520ac728079404721982d7e7b7fb6d39fb5ea71abef4859951f889487323d7d7bdec4b9b034a3c68beb114540226312785a249a25ade4348722f21906b5a79452aea733a5d35872d6fdd12e2d72cd32cf18af44484959dddc638756f9c79eb32885e0b574d9de4cd6c27988ab831cee2aec20cddc0b0240818c75969a2597d14eeddca445b6fcede23d57074d1ee14834eb1187d263bc5c8c145bb7f61f25f4c89aaa53dac9e641601a3a14eb40a15f21783e4786366dbdef6e745979eeb4285065d18664b8e136db66f79785915e9d9bb5999e33d541820cf878535c7fb20ed3f657ca7483ce404adf28dc39bfdae28d21df9d947b3d24a1d1bb71a34c9b3afa22afd8f401292e7fffc1521e8518088f468323fdadd488f94d5467dafe0d39e24ef960e96a9a8e8c5f58b4724a6df55bdec26e3ddb46a26ac2e61f16ee3c99eb971de293e1f3524bc56fdaf75188fe9f1f7d5b1d13af4e03fc358067302bfe79c80a27030b87ce611da3521837fb9464348102f01a5a0f4474010bb0415b114cc9ffe3e397232c6c055a09e8770fd3ae0132ab9f47f54797c2f1ffb6c67cf2e6171e1f3c9bb771ad123b5b02ebc8bbb4f74fb26c6753b577015947e8948bd2d0635760e8ac75406cc46db54a391d7463f17f3dda4ac6f3fc082c9adec3af44e2c5944a739779b9933429907d347537c6cfceb21e1756ad3a31699ba399bcd61e5df117e71c48d338d036b5c99bfaca116dc63ffafcadf010000ffff779d601347030000", + "c076f28569d9da762ac20ff3e586f712": "1f8b08000000000000ff64cf4d4f834010c6f13b9fa277634aa3021e67a6c3b0f222bbb8d87aa3e5a5b4dad8444be1d31b1b6f3ea727ffdbeff677c8a2b2596e54092f3c8b797dad4eaa24828e21c554703c4991de3f42c742f4f7078e50dca11a1482d6dd53dd54d8567d815f8db74bb64ee27daa2353b1dfe2a10ffce62164d32c01ca85b73390118079b57691f9daa5b65d9bcb77e24defe179deee65c2443b6aecee36cf16bce832f9714879ad89dec6835e5909e0a6fc88e7607adb1f732a37a720d214b872ae57ce15c0d9f23fea270000ffff5e627844f1000000", + "c20b63a2008282b322a7971560668f14": "1f8b08000000000000ff64cfcb4e834014c6f13d4fd17d63303289edf2cca5034ecf58a6482d3b8672134da9c101faf4c6c65dbfd597ffeef7f0372a64a4173b13a590888512c75bf5309221d40290a2a4f345ee91aca11692b1ff3f8a90cac7311f230a715cbf5a5f2d49a6b79f9cbc77137a9ce7fb54f5136f6c5b49ff79dc1c76d96c4f65fbd518d00c2081be6acaa3dfb5e63a07ebd80d49563c99d3563b1b5a8f0f48368a2dcba138af8a433f1957e575a05f0c96df1f8abf3578fe414bd3ce0617c7f2ce152b72ed67ef06109adfa37e030000ffffd6be6a2cf1000000", + "c370efb7d176d795c8e64b6093157ae6": "1f8b08000000000000ff64cfc15283301485e13d4fd11770040d22cb9b784d339834a4d8b1ec00355015db8a04f2f48e8c3bcfeaccbffb2e7e47910bb5d246eca0c05586fba50652f03558044925a7f3896f2549c12267ecef3b5c531ebaca090a796e773adeb2ba7cfbeeea7d53c59f81873c7abf8eda6a3aa56126e61122cf7a7f8691b5061403300349e4548457d3b1cfb950b6295b8f6eee437c3a3481ba79adeb820dcf69d6be948fd9a6999d19f16348c8c176714208d958ed2fbfbae3ed0339334da67ba3310d1600aabbffa89f000000ffff37231178f1000000", + "c39af7e8cbae9106b1a45ba3da0686a8": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", + "c61ee687da191b769bd5963cf13a65bf": "1f8b08000000000000ff6c93c972ab381486f73c45ef535dc1e3b5974713c88e88850558ec626c2b66723c60014fdf1572375df76aa5facea753251dfdff7e2f443d1efc8369a838e318141da82338c7718f319cc6062c4760b83c4dbcf909bf5d5139bf9ce6a23eba85b9e5b046c65c3f8bfc7d2325811c8d85bc5b074b4d62293d6a5771d4532510f56014518cc45a8ed9fd23499f5935fbd28a2602c9a1865a114463d6709a768e4e66f9c72ec8f73d4d05ca7e0e7f0ab99fac6ab19d95478f3d32af2ddfaae0b957f424903b38d08ae4e0b5bda3c7b4f9bb0c4766dd4e10e80489ec3be19d20e88359b7ff617c60ce3714be6e710f2b648218815650c64a84c2d29feb716abf884edaafb45a76fbaafc14a1b60c869aef503b523a999ab05e7deeabe02b1b074f111696d94158d3163db32a6bdfaa78aa9391dd7b51a3c7cb870817d6979a38b19484b6a9bbf7835c6f677f975961a9d5fefa92f23e773148cd7fef89033223d200addfcdc8a5bbb0db097ed835254b17f08a7f4dd56639b96fcae73cf68ecdea6d3a43d45d93d3a14955096c7b75ce8b55df258dbe1c3b51ed02534f45bc3e2d0e5170f3f03a7808ef6e89d1240edd0d48ff15812460bceaf7340ece4aca61be18df3d901143566064cc0d19ca90cc0828d87c3fae1f0a04a705450ac87723818b9f06c4c833c268f6e28e46b2bd050f3f688bd9c42f33f7657e58d948a3659f2bbcad51b90dc306abffff48074cc0812006670aee797769e5586a8b660bfafa5efaf35f74776edbeea55b88a49ed4fe55b619dbe70bccc9b939235d3b73b4a1d3b83e4fd4832b1a5dd6b7515a2c19851bbb1ea6799a159d7686d8d080fc19a5ff020000ffff881eb19267030000", + "cb5194005cd08f8b9b25123f4d6b2a4e": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1fbc31db2374e8d274c90154fb6f10d8725054283d7d71baf40419857ee9e3bfb48c69de86407452be150ce4f640201a8b407d9acf19ea7217580f118db03e26760c9438c17cfb4d1c9b2d7f114fae6b414cadfef44d5c51f7abc9165679b14b532eb38a7ffda5b45b81e80ad831e40a5820facf55f418913b157a2ac38eaad93e5878070000ffff703512f3e8010000", + "cd6019248015060881c7a50638edfc88": "1f8b08000000000000ff6453cb92aa4810ddf315b33726446c6feb6216590fca520b1a28d07227b417047c74b798c0d74f8813338ba955c5c98c3c8f88f3e7f3112ea4f707e5a196aea4a0f9805a4a4afa51520ac728079404721982d7e7b7fb6d39fb5ea71abef4859951f889487323d7d7bdec4b9b034a3c68beb114540226312785a249a25ade4348722f21906b5a79452aea733a5d35872d6fdd12e2d72cd32cf18af44484959dddc638756f9c79eb32885e0b574d9de4cd6c27988ab831cee2aec20cddc0b0240818c75969a2597d14eeddca445b6fcede23d57074d1ee14834eb1187d263bc5c8c145bb7f61f25f4c89aaa53dac9e641601a3a14eb40a15f21783e4786366dbdef6e745979eeb4285065d18664b8e136db66f79785915e9d9bb5999e33d541820cf878535c7fb20ed3f657ca7483ce404adf28dc39bfdae28d21df9d947b3d24a1d1bb71a34c9b3afa22afd8f401292e7fffc1521e8518088f468323fdadd488f94d5467dafe0d39e24ef960e96a9a8e8c5f58b4724a6df55bdec26e3ddb46a26ac2e61f16ee3c99eb971de293e1f3524bc56fdaf75188fe9f1f7d5b1d13af4e03fc358067302bfe79c80a27030b87ce611da3521837fb9464348102f01a5a0f4474010bb0415b114cc9ffe3e397232c6c055a09e8770fd3ae0132ab9f47f54797c2f1ffb6c67cf2e6171e1f3c9bb771ad123b5b02ebc8bbb4f74fb26c6753b577015947e8948bd2d0635760e8ac75406cc46db54a391d7463f17f3dda4ac6f3fc082c9adec3af44e2c5944a739779b9933429907d347537c6cfceb21e1756ad3a31699ba399bcd61e5df117e71c48d338d036b5c99bfaca116dc63ffafcadf010000ffff779d601347030000", + "cd883f3e1351d48eb787ee3f18099c30": "1f8b08000000000000ff64cf416f823018c6f13b9fc2bb599893a91cdfc29b5ab59dc0622c37235aab4ca06316fae99791dd7c4e4ffeb7dfcbdf08522646db94ede013476b9443f538a34b50089c704afa86663c0841218da2ff6f7149e8ab3d58462049d498fdd4ec8c9debde54ba0eb437d93c6eefa204ddf8dfd363bc0d72ed7410d20df9b8a4202280b420526673e11ff52451f32833bca8dbbd991adbdbc65becadf173bcdb2a39f36e55cc58df96bbc3455a77bd9ef29285b7f1ea51c6d55d8899095db568953cd55fde0040113fa37e030000ffffd4b34516f1000000", + "ce38c7e05a981dbee4e48e3b583c34ac": "1f8b08000000000000ff6c93cd72ab381085f73cc5ec5353c1c4beb11777d11202cb581811fec4cee0048321fe8d1bf4f453c1b76673a395eaf4398bafbbcebfdf8f3097fbff501646dce1142236aa86e09ce69a52a8ac0a9013a8b8cc26afa7d964ab635a2fc220b95cebc2d51a3c5255e7fda1d90452dad0104bc82b1a542a3b91d265b84a62cd2241980b939851223c6939d76d9adfcb6e7652114b0591e38cf4c28f2de78bb37c30543a6bb699df149ae582948ff05ec8e265f529ea59fbee3ab7d2eddb75e7df8b887d08628e1ee845ba737b6d288b7dfd6c867707cd41d830083bc68dcd076193ad83a67e687cd48c6f5138d79e6a5891ca4f08a808da2412a140f6c0e30c4fb64afb53de2d86a26bf72254e8c0385b1a0c27914aa755f8b9da179d7f2a2dff2ec2392e1f619bf539e66932083abb975d39acbb64aad209166efca5acc5cd10ce0119aaa577ccb96e4c0a52f13f7f1b6469cb0ad8249b8b9b2ebbe4054e2f938858edaecc996849512c8d8ffaa0bced939fddb2a7099a41dda6a94dad6cf92c274d65bdab784d3cb917896b8685e3ac12b308bbe3f371ea6d48ab29315a1b36dfec4b3927f031670404255b782084664bc8c8cb3d5484c87809c85c4aaf2ec8d82128a82100bfcfb263c8c8334a2a00d0c331dc102a911fa14ada40249f1a7853a5ebc3d3be382fa7ddb90692872b43fdcaced9a776b77d1d1c67157a30864342192ea73c2ddda42d1bf8f9d48a3bc61f03d2eaffe531406ebf016028f91e847f457777a8d78b2f731664e85d0202d34b70d685f37622c62fe7cd8ff0b5c98e870bd4243924f176faba18dc7d726d877978d1bd0e7741afe176dfc042c7365158c4caac7eff36c63a31dffebb62ff050000ffff417f75ba7f030000", + "cf91e2e512b40a2160e243e2d0003312": "1f8b08000000000000ff64cf416f823018c6f13b9fc23b590651b3792ce5a534ac1ded6887bd319412354cac19964fbfccece6737af2bffd9efe9600a17c514aaa51058b02b6f71a304a726401b18491c48fe483ad36c802c1f8ff4f9027249a9a89264808ebcca91d2e74e6ad8b7b757441e471942d87a8cae67de99e77c3ebfa671ee1bb84b1978863842add4d7ec9bda95b3c749ae58d8e6f47e1557675bb3028a43d5f56f13eee5eea548485365bf666da6e937ebea766dd0b07670c37f52533a7d4a99657d21cc2830dee00e0e923ea370000ffffc1aa56aaf1000000", + "cfad750985a12886011df652feba1944": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", + "d34f6c49fb52f12e399191a380deadbc": "1f8b08000000000000ff64cf4f6f82301cc6f13bafc237b0c4259bcab1fffc51a02d0541e68d5652708e0d1256f1d52f33bbed393df9de3e4fbfc30cb85c6539afd081ad12f6f6a881e01021c790c002f03242215e42e41810f2f73d8b30ac7de339465abb241bcc7dcc00e812d37eae029fb665f17daa3fb4dc0b1eab70fbb9561551e5b1ed72240942da98909b588c6cd1e9c5a9b2d9dfa6f762765af7551d74f27e1eea963a4baf3656a76ebabd6e4c9fb7c7f499ee2ed7ed949cbf36e38c174b1ae56d842dded1e1103c004cd2ffa89f000000ffffcfb7ad4af1000000", + "d4ceff45ae3c006edd7d4c53e7e25119": "1f8b08000000000000ff64cf416f823018c6f13b9fc23b595888c1f4f8beec4d6d6a2b52022bb7a1d01974ae73dae0a75f4676db737af2bffd9e7e87c4855e14a5a8a1a285243bd74809be0647a050719c3c376ac9c011cff3bf1f688dfc39bc0581b0dbb970b2365831984c895beaa768e3757bdfef8f32d8ca60ddbfc63d9cdd35b496bf97a07300337c7a56f67675beb2e45175ab6dd68847dc8cdc237d44c044c742d216593d4202b2a9bf587cbae1b495f7cb018fcb34bde86672df872e1fb5dc903158901ba21940fae53fea270000ffffa608e084f1000000", + "d5ba537985f87bf972c73d7cbaeba21f": "1f8b08000000000000ff64cf4d4f833000c6f13b9f627762781975dbb1a52feb682b7458336f134987314cd6b10e3fbd9178f3393df9df7e0fbf438471b5283537b0268b821ce61a48ceb6d012289164681ad85e661b6809cbf3bfefc916b1d81f3d47b0aa6c64561483a4bb1e45f7fa49e320dd374e5f841e7428c2c2284c37a3e7a6cdd6eca4a1ca21ac5f92f2f1e9a378ae581d2583326eba7defba3015c25d9bc09f071deff4b995a45c2dc7f1fef605a8ed41d4e324a3a1bda5a8131edddbd35a1f961737e1c6f6e01d04338028fc1ff5130000ffff75f2f2bff1000000", + "d8bdbd4780fdd38c25c883aa9db2b50b": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", + "df174568e341d3ab86859e54e886da0b": "1f8b08000000000000ff6453cb72ea3814dcfb2b667f6b0a839ddc78318ba32732c860f981ed1d3644c68f0408209baf9f22d4cc546ab453eb5475ab4ff79f8f832817c11f98aa58308121a6dfa82585c019c118f44a831108b45010b8bf8f719af9ed61b62ba35dc95c672aa9c13a178bcf42dc1b9b8211a62474694968394c138a6a89d3540ef40e0ae92045a063dc0675c9bbbe74fceb764307d640f27cab629206757940dcaa7a76cd67dd3d9fbd0d8c40f41cf88cf12c75f3cdd4943cb9e633ef22d5a7e19093340c091d985dce83268f5e3a6bcfd9a5e243b7ec835b19c39e197b9404464912b3226294046d99b1ef4f4cfc8b49d60ef80ebef564cc63e8d2582a6968f8cd22a839927c331c8bde1bcbbeaba5ca0d7b2a9853338df38dabd5875f5b651f1cab597093ca36dcfc2351ddaa5e75559f8e41f4d2fd54890a892447e38947d2f52cd09463fcbc80a173b00520df1dc857679ff3f5fa753db9b40b273ea9fd647e3ca9ba9830d70ed44a833f56b3da1a45dd3a2b6c67713dbc20f276fe58bcf99950d37d6abc6b11d174798a98731a8645a30b6d749118a273922a7b0de17c62210809e88d96c87eac73e787e146a29063fcc5214c18321221adcf485386c28a4003f2e1db5c4904ef6fd48206403e86a7c94e98b09578010237def5d2f51138fcbc7072e21c7ea16c19649fd9c73b3f8495de6df7f5bd93fee9dd92f83b483b1a8607893166dc1b0b9e8e4526a6cbfe6716b4aeff33378605d2fa64d56db35a878f6f04732088c201764dc87a266e0cec5732d96b5389dbb04d0ab77bdd9b1647d3f3d7af6527d3ada785b692fe6042af0d8eeab7460e0e9a4c2e5eaa48dffdf9368b62e6d59b77732133ffe6fe657dd78706e4ff95fa3b0000ffff8ef2aa9e6f030000", + "e00b54be677e7aa59dcea134b329cb9f": "1f8b08000000000000ff6c93cf77ba3814c5f7fc15b3ef9953a4a5adcb975f081a3418a07127688320164b25c05f3f473a6716f36d5639f77df24e92fbeedff785a8e7877f611a499ff918249d548bfb3e8e25c6f071d4607c04da1751b9c65a25d16919ae60c977af7af17292b0445a5f8baa5c6f842050a2918bd65858289208e1511324f1482547d483594c31e24be1b0769feebabc761b2569ca91986aa8e761ecb09b4f7783a552b7dcbf876536d21d47f9cfe1828bec29b8f0ad7b3e7aec3bf7faf3aa0ebb4cd29ca3cf89819e4be5d09bf53b084766ec8113183889cd9af8032768cf8c3dfe68fe7f9ac517bcc723044887090225e19c481e71437f9ee653d31095f6cdae9e0f597d2e78a40c83a9b6a066262d953eebe81214591d36b913763caa0c3313b0a43deaf23aef5775f2acd299c9bcf8a69cf9378f8cf1f4c4108bf661a9b6eeef20ab0c356ab1fcdcf963696310caff774f40e44468a016a8eaedf5b321dd139b5d08dbf863670ef2588630b4eead6de7d7f609cf51528fdbee80578dd9767de0329d202ee241bad6312df490af6787a04a57439ec3fc58a7cbf09b7bad21f76b46f606c4e2118120a0bd9a23fbeec2211062b2d5c2b8f540c40c198e91d65f485386444e40c2e6feb18b8823f878a34802b937e2b89a1a102d4e08636239d1aabf7c1c5a87091b43b47928ddb76b5ddcca43637f258fc11efae7f54b248af27f93a8431f0862169c287c6d36ce2278f86802f711bd540d3cd963ab5ab6efaf57ec0ede7656e461bc355ea5b10fdd9a75af387e975f07fb7ab1d8373f9ef039cb59c69cb6f2dedf6bf3f0b82a3ab99d5b535c6848fe8cd03f010000ffff17359eef5f030000", + "e1866f3b08f024d9e193424a8b4d474a": "1f8b08000000000000ff6c934d73b3380c80effc8abd67769ad292b647198c718a7903980f730bd09810c8574b4cfceb7708a79db73e691e3dd68c46d2bfd34398d0e01f1b479cbad4068e1fd46094daa9b66dd8ad24288a40d208fc2f6a1e5feab7fd7b206079b006110f75a56c29e8e7a9a0ba5d625054d52df60d060702cf09460db3d3948d58438464902290dc3e044d49babe7c590fdb0c8f6e0bc99cabb893064db947c4a87a771066a785f93e120ef92c9c38261ff742d3a1c89ba6ccd177115b6d692e474f433d3b8cbbc7e8dba8cca0f1fb5f65e53555c05a50ac8567e6c8fb146713d30f769f98f1802d3259f8adec5038691812acd669a23167083fdab311fb0c4df77b9b15b7aab7ce82e38ca1f09133d0c882c474078a8bbbc8ac769b076da971c150357f6e5858beac8f6c6f755fc4fda9c8d8f97d702b39de31b424c624c1c8b29a8c5a9878f85d4605438ca0fb85c4ecf5032426b63dc70628ecc1920282cba9bf98e6f3e8f0588c1fc3225f8551cd6fb8f413bedc26deeec5faa1f83ccaa6ac446787eb36f0de1ac3b4fe44d7be382eccfaa9be36fa2a2bd97b815a0c718bf6595b727465f03ab5533b0aa327154e3b80ceed3c0dc38b133ccf575e91c42e0a2b07a6855102a130f14061e528e1a4d19243e83d2148144c85349ce702e12ba6329469b761e951036d65e61f164d79f15efbcb1e5011adc52abfe4474db6e37e73b2e4ff36d200459d48818a804a727b769a7848de3741753a7b92d1ac14ab988d9b3fe9f96db434f157c7b7c8fbb4de6d8a7e365f673f3130da2d76225ded9fd6f9767beaf8adf66f5dfc7338f168150d03d1e9ca789c0d0e9cbf4fe9bf000000ffff25e62de567030000", + "e2167bb0e7572a43f1a73ba8fee95637": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1f6fcdf6081dba345d7200d5fe1b04b61c14154a4f5f9c2e3d4146a15ffaf82f2d639ab721109d946f0503b93d1088c622509fe67386badc05d6434423ac8f891d03254e30df7e13c766cb5fc493eb5a1053ab3f7d1357d4fd6ab285555eecd294cbace25f7f29ed5620ba02760cb9021688fe73153d46e44e859ecab0a36ab60f16de010000ffff93db101ce8010000", + "e5e2c6bdda7149ee22a2a1dd23fecb02": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1fbc31db2374e8d274c90154fb6f10d8725054283d7d71baf40419857ee9e3bfb48c69de86407452be150ce4f640201a8b407d9acf19ea7217580f118db03e26760c9438c17cfb4d1c9b2d7f114fae6b414cadfef44d5c51f7abc9165679b14b532eb38a7ffda5b45b81e80ad831e40a5820facf55f418913b157a2ac38eaad93e5878070000ffff703512f3e8010000", + "e656b8d8ab4f0452a46c43c32d7a0760": "1f8b08000000000000ff6c534bb3a23818ddf32b666f4d5d2e235e5d7e810403060d445e3b4004117c7135c0af9f52bbbabbaa3bcbf3a8e49c3af9f77910b6a8fb8f813d41093540e017aa304a0da7360cd81925488aa0a4dce9a6dfb2d99f82a020ce989ecf5f85d6d7e0a0b2bc56c77abde1dc841a8d8c775231786c069c5b58dac176c482216cc1e7161b88395c235d1a268fbcd52fb1c02143fcc5a19eb95b8ddc294e06250ef53a8ddc3a1b71c250fe36578c67ffd927e6eb4d6191efdcea9b55eb3e32817386ce2f0df44cc41abe2b7f174241a43a301306666ee5daa40333514aa43abe31fa135398257b63041b956e802016d00482794ce277348ae5c58cc3fe92b48b216b9b8a79b124f0e296587e0a250ea7a577b2abac752fb9e63e189f4bf36d5e6199d499d534d989f7cb1176ef4b18234d302611edb9b5189464c4f724aaaa2c425de2eb75a6a93214205099ff689ca25fed3384a46b00f857beff9a76855a2a6db3dfedfd906dec79a47a95ea2ea03d3167d98f9fd05a91331c575b74a3b7a23ba61eabf5fae31ca71dee2c5f5fddbbf344e96b3ce92a6f21a25b795655e98fb07e3e75c9e708f6738c8019680ad27ce6f654017cf981804a30e1f6d4294b9f61db84436918a6e6adfad37ed76984ab06789b49adcfaf6d75af7717f5167cd829f4d3f5cce3d56fa3525eab2a5d0a262270c0a037e43153cf517b493710647ec9bf0fb3593ce5681e3c6e69511c67b5d8880375728312df55ee41beb95d347b3153aba24d7aba08a656e84df2c29cef079bc4c4ef7687eb56792d1fbbe69fbfe1ff000000ffff06a3d8d62a030000", + "e69916b8b433eda35c873357df2f8095": "1f8b08000000000000ff6c93cd92aa381886f75cc5ecbba6b4a139632f66f1258418e1a34523083bc01608a0c7636380ab9f527b663327abb79ebca9ca939f3fef83302e823f28db48e10a0a923da88142504f520ac54b095a1028c50604f9b05eb334dba667966c4713567db52a342d13e19d5331a939032d743131df406838bcee18a99046110e6c820d2983884029691354396fbbdc5af559cc0657c1ee395748270aaabc26dc283ab74fcc764accc5c025ec9f85b364fc7d4c27d1a7fbaacaf7e49a6e6d959bf361e940f6eca0646650197ef7dba25e5645800a342a7845a71cef39beb3e9c1c67f99112b72c1f0aa699838511872a657d16e6212097ba851825e68bad72c4e6f4567ff4c248b91844fed01036367babd60e998c4b6caf681ca2716205c9f8b0764058fda42b12392f983c180f137eb736b7532b0b6db4fee7e157c68fd2eb8e592a4489093f1c2b7f8f60e25e3947e67cd96301740b8a5ae93bb9639ef8c0324a549866e89d2f18ee1e633d0d6cff7af2ff45eadf9c5b5dbf06c4f3ee18b6d66ddea0fea9f6e4a953f60b67e19bd93be19f555cc148bd8429a4a4ae223bcddb77a703423331ddeef7b593a80f7935f6e90c071c14001207d681e0ca1c306a9070223ffe590797f9d90ff3267108abddcaedde670b076f53a729af8aba9ec5e9db296219cffd3320820857909c87654840e261f619d7c621da67268378d9a5933a5929bd6075aec6d887bb7fb95d5cba62f45e936fb99f1a3afe5d699b7d362fda275eb1fcdb74200b998593ad68bcb5ba9e6c951c3dfc6e3e5b3c0f9ff6ff8270000ffff2377342c2a030000", + "e8a32b8eca3dcaa2478eeee8ceca7738": "1f8b08000000000000ff64cfbd6e833014c5f19da7c88e2a1a20248cd7f4625bc5988f10011b0561d45610b70990b7af8abaf54c47ffedf7f43b8294c7bb24e31738e3ee15abad1a8253060a411041c943d35cb83e28a441f0f71764843e2fcdc209a4a992fcd376ac6361eead3c1aefa57165c92a5577aaba2cbc4c9e5992ce743ea650b78f2183380038b73e9b6d69e1cdef3c5bab390d933611ab5dd541631aef57f7fb26bed6633ed1914bfd16353e697a9762d1cf435c0cfb833b2aef544753793f405dc9de21050b8d0d80f1cb7fd44f000000ffffffa00deff1000000", + "e8be3a0f8aff2af51134a16dde15485b": "1f8b08000000000000ff64cf416f823018c6f13b9fc23b590648458e6fb17b5b58ab052681db92b18a5122ba0de8a75f6676f3393df9df7e4f7fa30c855aec72b187922d3256dfab230572300c249548e7010b19c6601826c9ff1f19a7e88defa3a0a0b5a996fbb658a5e463e2f6eb2df69cc836975b274ddafbea73dbfd6c49129fafc5ae82ee90834a00741378ea158eeb742a5b7d76eb67550fab17a34a20e5d2a96c5e6d7aedadfdcc9fa6469c4ec16574ddf6802189829959779807157282fa9845fe8de3d542fddd3b7700539b47d46f000000ffff6f07ae2df1000000", + "e9c2765be152fc75eba54be56df90a34": "1f8b08000000000000ff6453cb92aa4810ddf315b33726446c6feb6216590fca520b1a28d07227b417047c74b798c0d74f8813338ba955c5c98c3c8f88f3e7f3112ea4f707e5a196aea4a0f9805a4a4afa51520ac728079404721982d7e7b7fb6d39fb5ea71abef4859951f889487323d7d7bdec4b9b034a3c68beb114540226312785a249a25ade4348722f21906b5a79452aea733a5d35872d6fdd12e2d72cd32cf18af44484959dddc638756f9c79eb32885e0b574d9de4cd6c27988ab831cee2aec20cddc0b0240818c75969a2597d14eeddca445b6fcede23d57074d1ee14834eb1187d263bc5c8c145bb7f61f25f4c89aaa53dac9e641601a3a14eb40a15f21783e4786366dbdef6e745979eeb4285065d18664b8e136db66f79785915e9d9bb5999e33d541820cf878535c7fb20ed3f657ca7483ce404adf28dc39bfdae28d21df9d947b3d24a1d1bb71a34c9b3afa22afd8f401292e7fffc1521e8518088f468323fdadd488f94d5467dafe0d39e24ef960e96a9a8e8c5f58b4724a6df55bdec26e3ddb46a26ac2e61f16ee3c99eb971de293e1f3524bc56fdaf75188fe9f1f7d5b1d13af4e03fc358067302bfe79c80a27030b87ce611da3521837fb9464348102f01a5a0f4474010bb0415b114cc9ffe3e397232c6c055a09e8770fd3ae0132ab9f47f54797c2f1ffb6c67cf2e6171e1f3c9bb771ad123b5b02ebc8bbb4f74fb26c6753b577015947e8948bd2d0635760e8ac75406cc46db54a391d7463f17f3dda4ac6f3fc082c9adec3af44e2c5944a739779b9933429907d347537c6cfceb21e1756ad3a31699ba399bcd61e5df117e71c48d338d036b5c99bfaca116dc63ffafcadf010000ffff779d601347030000", + "ed473ee8e6dccfcbe1d6389ff355d629": "1f8b08000000000000ff6c93cf77ba3814c5f7fc15b3ef9953a4a5adcb975f081a3418a07127688320164b25c05f3f473a6716f36d5639f77df24e92fbeedff785a8e7877f611a499ff918249d548bfb3e8e25c6f071d4607c04da1751b9c65a25d16919ae60c977af7af17292b0445a5f8baa5c6f842050a2918bd65858289208e1511324f1482547d483594c31e24be1b0769feebabc761b2569ca91986aa8e761ecb09b4f7783a552b7dcbf876536d21d47f9cfe1828bec29b8f0ad7b3e7aec3bf7faf3aa0ebb4cd29ca3cf89819e4be5d09bf53b084766ec8113183889cd9af8032768cf8c3dfe68fe7f9ac517bcc723044887090225e19c481e71437f9ee653d31095f6cdae9e0f597d2e78a40c83a9b6a066262d953eebe81214591d36b913763caa0c3313b0a43deaf23aef5775f2acd299c9bcf8a69cf9378f8cf1f4c4108bf661a9b6eeef20ab0c356ab1fcdcf963696310caff774f40e44468a016a8eaedf5b321dd139b5d08dbf863670ef2588630b4eead6de7d7f609cf51528fdbee80578dd9767de0329d202ee241bad6312df490af6787a04a57439ec3fc58a7cbf09b7bad21f76b46f606c4e2118120a0bd9a23fbeec2211062b2d5c2b8f540c40c198e91d65f485386444e40c2e6feb18b8823f878a34802b937e2b89a1a102d4e08636239d1aabf7c1c5a87091b43b47928ddb76b5ddcca43637f258fc11efae7f54b248af27f93a8431f0862169c287c6d36ce2278f86802f711bd540d3cd963ab5ab6efaf57ec0ede7656e461bc355ea5b10fdd9a75af387e975f07fb7ab1d8373f9ef039cb59c69cb6f2dedf6bf3f0b82a3ab99d5b535c6848fe8cd03f010000ffff17359eef5f030000", + "ee967b6bd4a4fbc544868faa5cf6dcdd": "1f8b08000000000000ff6c93cf77ba3814c5f7fc15b3ef9953a4a5adcb975f081a3418a07127688320164b25c05f3f473a6716f36d5639f77df24e92fbeedff785a8e7877f611a499ff918249d548bfb3e8e25c6f071d4607c04da1751b9c65a25d16919ae60c977af7af17292b0445a5f8baa5c6f842050a2918bd65858289208e1511324f1482547d483594c31e24be1b0769feebabc761b2569ca91986aa8e761ecb09b4f7783a552b7dcbf876536d21d47f9cfe1828bec29b8f0ad7b3e7aec3bf7faf3aa0ebb4cd29ca3cf89819e4be5d09bf53b084766ec8113183889cd9af8032768cf8c3dfe68fe7f9ac517bcc723044887090225e19c481e71437f9ee653d31095f6cdae9e0f597d2e78a40c83a9b6a066262d953eebe81214591d36b913763caa0c3313b0a43deaf23aef5775f2acd299c9bcf8a69cf9378f8cf1f4c4108bf661a9b6eeef20ab0c356ab1fcdcf963696310caff774f40e44468a016a8eaedf5b321dd139b5d08dbf863670ef2588630b4eead6de7d7f609cf51528fdbee80578dd9767de0329d202ee241bad6312df490af6787a04a57439ec3fc58a7cbf09b7bad21f76b46f606c4e2118120a0bd9a23fbeec2211062b2d5c2b8f540c40c198e91d65f485386444e40c2e6feb18b8823f878a34802b937e2b89a1a102d4e08636239d1aabf7c1c5a87091b43b47928ddb76b5ddcca43637f258fc11efae7f54b248af27f93a8431f0862169c287c6d36ce2278f86802f711bd540d3cd963ab5ab6efaf57ec0ede7656e461bc355ea5b10fdd9a75af387e975f07fb7ab1d8373f9ef039cb59c69cb6f2dedf6bf3f0b82a3ab99d5b535c6848fe8cd03f010000ffff17359eef5f030000", + "f164168fb65e1971930446e506240336": "1f8b08000000000000ffbccf31aac3300c06e0dda7d0059e1f6fcdf6081dba345d7200d5fe1b04b61c14154a4f5f9c2e3d4146a15ffaf82f2d639ab721109d946f0503b93d1088c622509fe67386badc05d6434423ac8f891d03254e30df7e13c766cb5fc493eb5a1053ab3f7d1357d4fd6ab285555eecd294cbace25f7f29ed5620ba02760cb9021688fe73153d46e44e859ecab0a36ab60f16de010000ffff93db101ce8010000", + "f19e2873585099d4c9018b26bf6481e5": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", + "f5a6a01affede9e694fe49348f8e1ccd": "1f8b08000000000000ff64934d93a2301086effc8abd6f6d097e8c7ad843e7938c0687883878437440047506a4915fbfa54ecd65734a3dfd56f59374f2e7be0897cafb45b90994501402fea096568a2a462924710aa808a4ca80dabd945f130e7bf4c5e9385d94833732b691a6919a9d37aacb6d0ea8300ef8dcd27094e0ac38c9340d43ddf20e0c49bd90401ad0a3976d65516e07afd778cd5b91c3ea594b02167ad9f640a49594e21af58b2eea4f5ac160f90c9c03da0f87d1dac1ad5c5da3feb4d62641e1472cf47dc6719447cb51b197a2b612d916f3d26bb601ec05da37cde0a6d90a174cdd3423b140bb7b32f5c3b4ac5adac1ebbd9945200aa008036d34f26707c5f1c2a2757bd994d3dbb62c326d2214f0a8b91c9d205a0f53737acdb6a577b192bed76803c8d24760ce71d724a5299232bc6963a3c46fedd6fc708f3ef5eff6d6539f6c34d192dc3ee5520fa7907249e9f71eb90bb602e26195c94168de5caa6e9fcbe5353c50b944ab3e1d2f359fe7fbf8d83bcdc6d8e5ae0f2fbbcfa670cff1a09c5688a28d173cf5fda6b3d7ef693a11fda4b639191d4cb5ccad2020730dc3fb28770c39e9a17f9fb19b32d0f74b728d26f031e19003685a3d720afda3a633508b4a5bf97e9c379be4dd1e9d4c76e21367ec1d7ed33dc522f34e621306ed50f68a76a2e1fc732c029a829d82e62b6a299f2dba2f6c2f6d944d3b33ab7b1f4a3967d9554933ad67a9f00e3b5d0f623918e23baa345eacf4d8e93b57d1f80767ed5abdbde3c8af99aa923113626efb4dd82e7670a9c2e4aff578eddc63ffff807f010000ffff0f58b6131e030000", + "f960f2e35aeb81c422d3ddc6b4a20202": "1f8b08000000000000ff64534193b23814bcf32bf6beb5a520ce8c87eff04242c860f2190820dc0019908151079d00bf7e4bdddaaaadcd29d52f79dde9bcfeebbe10a14cfce19040319739a0c8033538638e9c1d07aabe06cd10d44c82dadc3ef6caf786fc63e556bb0f4fb27c061fd5f5a5f96c7fefa4c4d0a281cb411b8e4c712c2525fa3d8e66a2382214cc883888fbd272873cc97eca7e7d4e154938928f1a1ab9882cf7c648361969b26ef3bd688b99441cb1e7e5866fb37dd3147b3464e1ba2dace5485b48512d62045c917d30949668b67d6c1b6962ea8246b7d4da5c39b2f75831cd31d34281cd5ba6b97bda63c51f186fffc57481c996c327351e921aeec4311fc90cc193a556cea7680adaf5c5eafd962764745b889eb552e15834c511d1b2776f466a75736abd8d2e86f079e0a41c2bb6ffa32c38690a0faf3019dd65e189360dd75d45ddab51d2b1dbf6e2a75028e38853345d68c8ed0dd4843ace3f7b4d3c583240223771ba19e47bd8af2f9d8f31ec8ccca3d62dfe4a0b3b62f8f4d50cc32de83feace6a2c2b9cc645425e97ab89e3f190ef6d9a86c3eb79771be6a95db91bcf29430389635b28f4cdc1beffc0016b82165a92fb4c9c5b38dc9fe58511797a507fa39ab8489618ea94f93a45069291079a68ac531c074b05d25b208834dc1bcd707e34903661b5acfd9df5622519c3653e7c1fea5db5b55da31cccaaa90e6ff93b9a90797ef17e47ba3fbf69e7ce70cad8dc2eef6a7008a003c91ae0ddf2cf10ae8bb19b2ee2488cfa98f94bb339adcc1f14273ff86ac6c9c044992fa62b1c419a17ec5ba4589cbbeaebb87e71f5e28554668f826011362befd508455199a760edc3af5fc6231e44e0ff47e6ef000000ffff4b4667e44f030000", + "f98c03f05726220a054cf47ecd20dac0": "1f8b08000000000000ff7c8ebdaac3300c46773d85d170e74b3367e8738410144789456b39c84e4bdfbe98a6f467e8780e1ce9eb661a4d7c0f5b66538aec5a87c7298a22782f53c5d1d2890dc10752e5f3f0b0f1b63342b2a59a64cb01a148e4b49521b02ca1b8d635ffb514ddbb0601ba2eb35dc473ee7bf83af7578c34cff5e173cfcbfc2e272a34e42badeb7bfd61ef010000ffff61833a0af0000000", + "faebad432184b521b157f66eb39fa807": "1f8b08000000000000ff6c934b93b2381486f7fc8ad9774d69d36d372e6671120e31eae16b305c77821a44116f08f2eba7d46f663393d55b4fde54e5c9e5cfc76028a4fb07475f49477250f8a40649c9678a73c8df34b49281963e50f426e36c74fc1caf3dafcaae75107f61db729dc8599dcabe1c22b4b2cd7b9c1b043b01ef01b282781852873df84cbb2103adf8ce2d32b1afb28f69b38cb0734a085e73b9b243b7c8b64c1879e53489b9ef13d3ea8482f855a8158af13dedb149e3a2c862764917a3323387ddc486e5ab430a4db730e6d5ff16db4991bb54424b25bc93adef8f1c3d58ff64f77f981195ec44dea5e55e62879e27b09d86418f8a183ed538a399673a976594def26a744c1446c4bc977647ae11984e2331bd27d1a85cc66e99f5e8125c5e8b3bc25c84fbbcc40db1e1934147d16fd6641fd383418bd17e2d9c6b2ebafdbc726f9962293112ec7e120bfa1c8346c1f9efdce2048612d8afd5bcb356971e2dcbc04e4f77c7f374fc93e77938e0b7e892be973b2b5cc5d679b4379d8d3fa83ff429dd7e7762bce2563f78532d87d1dcf2c3707331c4cf6cd37c9f76c9645b2ac5e6049f8fadaeec16d9a0f51ef73dd136d0e3e4273e31d858082500f1a7e6ca90adb7233e03297f52bc89d5d8ec93d0f624c3c1d7cfe17e5a8a2fd73c2caeb1b5afed89fe3e3a5c10d4ff6a190c88c3500361c0a56737b73e4e039ffa7071d60b556ca2ed3d8886cbbe399ac976e29abe38d73a88c6552bb553fdfa365609ae396d43bffe38f03ea8409dc09e1eced575301eaedfd775744587f45fc6f3e5a36bfff737fc1d0000ffff0d4d09c82a030000", + "fb04efe2989b9fa0561c317f1ac655fc": "1f8b08000000000000ff6453cb92aa4810ddf315b33726446c6feb6216590fca520b1a28d07227b417047c74b798c0d74f8813338ba955c5c98c3c8f88f3e7f3112ea4f707e5a196aea4a0f9805a4a4afa51520ac728079404721982d7e7b7fb6d39fb5ea71abef4859951f889487323d7d7bdec4b9b034a3c68beb114540226312785a249a25ade4348722f21906b5a79452aea733a5d35872d6fdd12e2d72cd32cf18af44484959dddc638756f9c79eb32885e0b574d9de4cd6c27988ab831cee2aec20cddc0b0240818c75969a2597d14eeddca445b6fcede23d57074d1ee14834eb1187d263bc5c8c145bb7f61f25f4c89aaa53dac9e641601a3a14eb40a15f21783e4786366dbdef6e745979eeb4285065d18664b8e136db66f79785915e9d9bb5999e33d541820cf878535c7fb20ed3f657ca7483ce404adf28dc39bfdae28d21df9d947b3d24a1d1bb71a34c9b3afa22afd8f401292e7fffc1521e8518088f468323fdadd488f94d5467dafe0d39e24ef960e96a9a8e8c5f58b4724a6df55bdec26e3ddb46a26ac2e61f16ee3c99eb971de293e1f3524bc56fdaf75188fe9f1f7d5b1d13af4e03fc358067302bfe79c80a27030b87ce611da3521837fb9464348102f01a5a0f4474010bb0415b114cc9ffe3e397232c6c055a09e8770fd3ae0132ab9f47f54797c2f1ffb6c67cf2e6171e1f3c9bb771ad123b5b02ebc8bbb4f74fb26c6753b577015947e8948bd2d0635760e8ac75406cc46db54a391d7463f17f3dda4ac6f3fc082c9adec3af44e2c5944a739779b9933429907d347537c6cfceb21e1756ad3a31699ba399bcd61e5df117e71c48d338d036b5c99bfaca116dc63ffafcadf010000ffff779d601347030000", + "fbe7236ec5fea30198ba837c91bde516": "1f8b08000000000000ff6453cd72f2480cbcfb29f69eda8a63cc1738ec41f36333183919f0cf989b6dc23883c101e30cf1d36f856c6dedd6a79bba4ba5564bfaf33b080f45fc07e5eb44048242c2efa88342d015a3147691062b086821e9d4ead92fcc48aebf8ebb4bb770f787370311d1fadc1ccccbab940c0ce951f6d6a1b260999421b7cb2c1d79828487f094724a30925ed097f9f6b33e4e3f8a84e748e49d23378c532f1804df7e39453e35a58a4d35f21489f8296e70b5554d5329d26f37535379ee2d3450101d670430e16addd75edcac8e99ef14f993adc27428bcf91589af58222c3261e3047c34c262d02996e01d43f32f6633c3570887d0b94b6a906619def808eb9f2e3aa187b8a9c2f6584d964399f35b6020fde1ea84657153bd93b03e06835378ed5878b3ff4a449e06872a6f071966feff140607cb6db188baad188d4b4116c2f92761206b2635f092456c96b246a800aa8f93b58ff376a796ebe76e7ee0508db1197f4d4bb6bff0abc916d4779462a7fad85df38fc72ead376a9f7d7e7eaccb6bf7e2bebd3f34273b3b4de01cf7187696e982656bf715e4e2918064a073ed2071bf9ddf2da5bcaf89d23e049906c422215a5f88e60191350303f83de2628d04f6330e0600697f377127ac3c208d4050331faeed710393f0124d0a36797f206a15ab4e9df6e1bbacf5ae7c6bc61697e73d4217527a0e9d0dfa730248c1d5803ca542527f5d511ec81b3b9fbba01475d53c2dbbc67f248a9e59bd5cb669db12bd79fe925668276e87e4abb7aee715251b36beaa6e0a536d23af6ba2f4250b1efae3b30e2f7670ff72eed7cf63f6fb47fc1d0000ffff816c511f2e030000", + "fc297817d4bea4400b93c02cd98315dd": "1f8b08000000000000ff64524d93ab3610bcf32b727f95f217dee7779c418295d7922d2cc4c70d580c86c5761683587e7dead9a9a46a33c7ee9eea99aefef3f720f598f8c3a1be622e7340d1076a71c61c6f721cc8bd120c4328992c8a309a9d5633bb3dfb7db921c96ee60635bc6159fe5535f5fe2025811a6f5c76c672644cb4941e355b1d4c5471a41e2c02ea207f934bb74bc364c8dbf52d5634e4281f1c8e5c044bb76734f9b2e2705da791a8b389061cd973b9e2bb24aaaa2cc22e39aeeb6c391fdd093496422370455a51ed5a6dc7e1c2589917f4f1f2d79da31d11c50c27cc080536af99e1ee35228a3f305eff8b9964a23b0ecdc3ccc28a3b5af3914ee03f1d4ae534a2cabc8f365b6dfb34a4a35b43f0e47245b4a8b2337a79ebf6f1f263b2e2e566241388a7a053d88a2e0d75ff4e68cab17cb88031be0cfd7b1aaee1db6bc60a15282cf37fd265f85fd21cd10807c00f83affb3e5d8c432da2e1103189c75bac4eec7acf0db38a39a777d10aefb2f54f676eb3735adcdc0fbdf3c9d7cef4db9e9ec66daddf9b55f4c518361fd743380b5fcaeb7c6e8e13ecaddfa7bfca0dc2694311b88336180231d1fe5c817c9d213003043e1fba23a75b02e7d2219f84ad7afbe732b2dc5ffb641e27e34114533c9497b2dbc62a19431d6c0a1cd6f9897c2b5029181074e14c61dd7c2eac377dc66cf17a8957dda1bbbdd46e53c576764cfae1f2ae65744f1b3b1f0adb616ebd07033fec899d887f9d25b77ab1bbfee82d2ffd29fba24a2fe3015fa4a9f4860fd6a3e55490ff37ffef000000ffff4e18e95916030000", + "fd25be3504fda8e3693d3467682e410d": "1f8b08000000000000ff6c93cf92b23814c5f73cc5ecbba61ab5b13f16b3c8cd1f881a3088d0b013c4208a62ab0478fa29e9a959cc7c59a5cefde5569273cf9faf05d4e1de1f980621671ca3908eaa2138c75b82313a140a690e487189274d8aaacd61776ccde559c129cad93b414b50ea569e2a7f2d2541150c42deb581654222291daa17d176a0a100eaa0c99662104b3965f75d9cb6796d354948630172ac4127bced943d394d7b2389ad6af7e555d9405301f9cfe152c86cb6b888a3752e1cf6c89deebcaabd360b692ee03a32a8136132a54fe3f7202a98367b41502fc856fb84f782c08e6973f8d1f8bf9a215cd1e1012d407911a02444e7281481d0f4e7699cea862471d7a4b5dd67f5b91441a2191a6b2ed593d048e20f155c1665567b4d3ef55a119c34d323b0a41db4799df7ab3afa48e289ce9ced3399da0f1168eda8912106edbc2ad958bf07d949539db8cb6bca87cac44826fc9f3d41322752216accd6c1a75db5ddeaf0553c6ed79509e18c0c625f3bb26eaff362b50a97bf0af3064d4f6e753f6d657c798392b99f1f61c4f785512c3efcd6d9ccd9e7533a31b9d83a826ee73d8473d7e475cdc05c23e9be03920429a71660be5cd82fa41c6d3530be3b486e19688141a96f509481cc090ad1faf5b16e20001d7e510811793512f83436204a1e0113666cde2ff1f1690d70b35b4d3133cdaa4bddaffd84571369b1ef9417d9d59a36c17f2751792e22400d74046517598dfbb83ae8f906d1f9b278e38f667e7d0bdb9afb7abff96e9277623f7da5b982c4cccbfd79161dcada3f0eb131e8b75970acecde43d75dd0d2895faead27fdf627ea2f638c0bf5c8ff23f477000000ffffed6d643e5f030000", + "fedbe395f2e07702296043513a63e34f": "1f8b08000000000000ff64cfc14e83401485e13d4fd1bd314cab52bbbc17aec330ce149016e98e12a54021c1d84e99a73712779ed5c9bffbee7f87c4855ec4a9d843460b49c55c1d257808358142c5711af99b7adc404ddcf7ffbea1103933a511084952731792ee73cc3e567752f57474f4a13f0ffadac2f43dd585bf0ee381be9af6e15495a714b40f906093d94bd36dddea3dafd4eeb9ddbab8d49e6281b4bde34d7635daea95bde4472d374c5c06942e0d5d8e3bba6116c5e7a792079159ef599f16d7e86682a577289c19403af88ffa090000ffff239266d9f1000000", + "ff15196733532773dcd5ca84cba34985": "1f8b08000000000000ffbccf31cec2300c05e03da7f005fefe7b375431b050961ec0240f64297122d74888d3a394850b94d1d6b33fbd734d9897750c4447e56bc6486e0f04a2290bd4e7e594a02e3781f510d104eb6364c7489123ccd7ffc8039e5c5ac6106bf9ebcba1a16c07b3dd59e5c52e55392f2afef592e2c604a20b60bb6b0db04074484574778cbb127a2ac17e50ae7e9cf00e0000ffff1e34df7fd4010000", }) if err != nil { panic(err) @@ -160,144 +162,144 @@ var _ = func() error { func() { b := packr.New("box", "config") - b.SetResolver("config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "a7c10c393a51b1844037b10845b3c522"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/ca/ca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "2473198f46be236809b2bc408138ff1c"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/ca/eb0c8deee3bd9717d399d186713cd7b362f82782c2584d9c56554f1e06fe5c7c_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "0e0743037d2b60aa902c9d64d33b7a8f"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/msp/cacerts/ca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "43559e1a234e5aebf47050ad21b389f4"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "35eebcf4cde7e931370f01aa7f6703dd"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/msp/tlscacerts/tlsca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "f476e643201fbf02f314ab3bfdbd701e"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/ca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "a0da285509578cb8bb6cee5eaf169493"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "68e2c43a6bd704be87766dad25e26996"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/keystore/0926281815a9b5ffbe45e7727dbafa9b878d8bea2631232aea8b7ac57325a116_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "42aafaaf22a37ea1d401ad4bd740803f"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/signcerts/orderer.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "bd09959288ad01a00225c2a79c742814"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "b604b6d273ca3102d16c5e01d33b547f"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "77b747ac15db981b00f5917697bffdcb"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "6ef21145fdaefb158274a63bae6a8757"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "e02a3432c9ae22a1bedd91ee03ea27a8"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/msp/cacerts/ca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "191e7011dc62eb84a93de49b32f5ea78"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "d0069d67da585e5519fa6fc82125d545"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/msp/keystore/c0c0a9ba3dcd0c9012258d81d14a65b2cf3bb54358bd24de1d095a59e51edec2_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "bc0feb967285bdc87ad50170d154de57"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/msp/signcerts/orderer2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "b82026ca74ebd5f523f5c818bb86dc9b"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/msp/tlscacerts/tlsca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "0141069186605bc0efaf6df92a8a5da2"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "91c7247b736259991b05597da9c7d131"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "8ab19a2c0a28f2901f1b75e1458066e4"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "c9b1378e2f1f223ac11f5655e832d308"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/msp/cacerts/ca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "e307e2ebd699c0a2667bc1803f495daa"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "9bc52dee72564b7d25797f988be56fdd"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/msp/keystore/8a2a82f835e72e0dc345f835d6b806f6f4f3353182b176d30805035f4eeef1a7_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "6bb2ab1d2c3162ee0d9f730c944a58c0"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/msp/signcerts/orderer3.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "65c550a333766580098aa336b78b041e"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/msp/tlscacerts/tlsca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "9159111881ac7d5d179c63ce2f65687b"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "08f8c16cb1184ecc2a086b2887cf60d3"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "9d5035faca939ccede91b17749822e2e"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "f1ab4b8c5578950f33f858e42882f34f"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/msp/cacerts/ca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "53e26f1c6755797b0decf0a14643c4a1"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "9541dc1384883f1ef2a272237589c045"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/msp/keystore/4d8b84be5290aed0aa7a5c57260d9da4044a5646a88c94222cbc8f0338779a1e_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "c01f089a7aa72b89451acef20057ea0c"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/msp/signcerts/orderer4.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "0e71edbfc97a442c85ba83370287a206"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/msp/tlscacerts/tlsca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "6e11fe6062a36ecb9964c2c2c76489ee"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "48f16a8cd7db11da7b6227ab07d93149"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "8389377f2fbd70e36e7be2c7f5ca5281"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "56236238c43d93a76fdfb79e14f73cfe"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer5.example.com/msp/cacerts/ca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "fff3f20b73d6c3375509d3724ce1f497"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer5.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "b9c8f6b8a8f5479ba10f39f6f2d04c75"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer5.example.com/msp/keystore/076ca9c58c84ec4043c90fc888360da33e0016f9605160d4b80150db041f82c5_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "aac60746a0f1604009acbd63f189cc9a"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer5.example.com/msp/signcerts/orderer5.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "b4cf17a6993658eebeb54a5001d78e7f"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer5.example.com/msp/tlscacerts/tlsca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "8f78be627d563771ed2e20df4c64d152"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer5.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "2facf2a57f0900858307be73ce414e86"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer5.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "58a0bb6b59f040b7d1650b5addbcc67f"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer5.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "31cb19a9c3e6f837ed81935061b0838b"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/tlsca/28fdbad966480dc6acadd80f78be0572cd5e85e77c689072075a7a1ce5309a9f_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "97b032d96068a4906f4423874bcda7fd"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "95495d34a907a5e2e03665addb86dfdb"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/cacerts/ca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "e4f0018d725423d11cc6b823e581242d"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "1a70bfe62a3dfb8acfe032c4192a2143"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/keystore/c10dc7d04433fb9dbc4c6876ab8cb98c7d8e834fe616ec9d505e3eb3316caa74_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "29316eb7aad39120c720b4154a4e0b0c"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/signcerts/Admin@example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "d40ea6ce4137492253ffdfdbc89f40e1"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/tlscacerts/tlsca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "fac969692ac257e37c75e9ef5d18d8d2"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/users/Admin@example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "7b84f2b6e859f02997a77f605359f9a9"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/users/Admin@example.com/tls/client.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "7c9b2209b819fc912d6461878ff19c31"}) - b.SetResolver("crypto-config/ordererOrganizations/example.com/users/Admin@example.com/tls/client.key", packr.Pointer{ForwardBox: gk, ForwardPath: "9cd901e9e9d0854cff4c6acf95fd2b75"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/ca/83d912f19df76cd8543408044ffa3e7caa686e8dda74ad5fc9680c783ba45086_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "7a90f592a53c71d5b9ae1db98f80985f"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/ca/ca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "5cb60b0be2ef7cbf1a2bd352f6b8518c"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "5d5cb12d5fb236344d67c6f9d7a2c6fc"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "b91577afee99582ac76023ddec1c3de9"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "c71e7dd6f5874e0a79af0dacece2b19c"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "085dba7e2c9f213147f352f1de862e99"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "c39273ade175ce73bd1bfa779e713cbd"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/keystore/657e17435e13b0c66ea389aaedcd6339b8c308499408effb2990dbe22f3f294d_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "eff0d9dc52abb51a7ec5a11238ce4231"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/signcerts/peer0.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "a32120157fd05843b3436aaf6d42df6b"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "7f28845decfaced317aa922d664d061f"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "93ca48fb36e6789338fa8384e49d9527"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "ee4a1e5bb3ca7a1b519670be19e835ef"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "74e3b10abc0b5abb7fe40574f967b73a"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "71d88182ba0750f4f5ac594e37e18fef"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "0b1035fa92a2096684a96cba2b148d4c"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp/keystore/7595664efb75c2be684efea29c1b58f7925d78dc3070092b3ea17a1e0a7be823_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "e27ac34014546c822718464a5252429a"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp/signcerts/peer1.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "f5442f8d371bec39595e39de0f00865a"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "324f9215967e3c2f96d54f32b8ffe1f3"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "5d24263f77728712a6c29557bb987ef4"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "55a379be0206a813681e1fc6587b32f8"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "ed2ef847f4e4ae637e5cb833cc1e8fcd"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/tlsca/79fb4d75431acdb47371939dc795cd3ee9d27051807dce34c24a706549146e09_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "8638edf15d5033bec9077fa35ad9b9a5"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "157a03d5cc512a59a5e031f007911242"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "9ebfcab8c9863ceae18a50fe41a1d6ad"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "24424a4c2a6565a09b5115235ca0a284"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/75cf3c52fc9173b29aa8bb19b7c0a6e9fee48348e3072bed1fce9b9632b6188a_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "10c19ad42cecb1a6935e778c276936fb"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "dbdb49499f1ead0a180879e3934aebd9"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "2577c465c77ee6631778681231b52afd"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "348d32f57f1586048bf3382c2d2a1fe9"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "39946a8e8dbdd9b56cbfa37045f66371"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "d3dd55aaf483d751978bf1a0b70a8dc5"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "7c611eddf5db0f2c0dbc0e7dcbfedf66"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "2749db5b7c7daefa7a47056ac079e48e"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/keystore/ef34e40fc4680ce18cefdc72ad26c240677036a67b2b45de0a718b529984797e_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "d5857b856dbbbe02c6e44e0448d11029"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/signcerts/User1@org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "e4f43a695e7ec5f26e04e3849437f7ab"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "87a5d8157d70ac81ba171ee129e2c863"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "737d2af311f701af0291f45249f72596"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/tls/client.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "7e0dfe55b01ad1e1dc83c91e01497980"}) - b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/tls/client.key", packr.Pointer{ForwardBox: gk, ForwardPath: "216fab6231115b24c6feeda8a1eb805f"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/ca/c54bf9d68aee7306af6fc04085d348f16475ddd488f543916b64879ba39da944_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "35d4650a5b943111b94b92a7b0cf9d3e"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/ca/ca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "778d34766dba30f8889fbf6165e2d2ba"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/msp/cacerts/ca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "065df540e4ea07c285ec5aab92855351"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "fd03ae41ac3b3e5abc9f9cab9d491f54"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "5805459bcbf755934035c505de00f04b"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/cacerts/ca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "87df747867d473bd7662b2dad195d4c2"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "b6aa8a205096e7169733ca3f25e8cf8e"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/keystore/58bc6bf487bbaec8d2a95aeebea2ed92ab834a5a69bc6be64ba3036efb446533_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "a6f7577515d7f3182b6f004ed911b1a1"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/signcerts/peer0.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "3ac9156724c363041ae471794ac21590"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "148e9bea854a1e67513e6329a3a6763f"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "d60243651092f9b1c9f7e06c4ab643c9"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "0cae28d103a9a7af6e5ce107effe46a3"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "ef2a4270d032df898d1836ea3aec179d"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp/cacerts/ca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "d45cbc426a6786484a5240c19df38172"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "b25727d202d27507aa1ec8d432fa245c"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp/keystore/ba29a5ad12a3d0d9534f4abde37b94e3ef3765c2292ed86648b4e0d4c2e8dd1c_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "00df918ba569d55a776c7323292f2085"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp/signcerts/peer1.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "6fc35031122d492a920b38caadee00b4"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "4d2ae5312bd6eb19177acf35a2c669d4"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "071b0084b56f9e4420324ef130bc92d1"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "743993710a49c934d771a72ee260764d"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "2bb998056a14b0ba66102d9e2da77921"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/tlsca/5653cc567cc02238162e4fa16ea1f89aa88005944963a5ea5e7cc66b188fa398_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "0b80819b3df6c34ba6e8e36725b879c2"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/tlsca/tlsca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "786ac599afee4a6211e43033f30c3c2b"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/cacerts/ca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "caef80555adf321928ce83a094f88b58"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "d20cd817653eb72b0d26c22444e1139a"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore/1bb25631d6c6ba29ca2800d46409eed8bb2f5176b08f5948339b45ed14439bac_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "9ea6533fbb45a7419927d6d7005cbd3a"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts/Admin@org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "f851b30cd7d8d2fa213ef5333e93587f"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "7a2d9285dc3a8c5955789bb0ed479fd3"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "40477c442328866ae2a5996bbf14682b"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "11b25447579de2d8cd07ed9397c3783b"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "cbaf2edfce5abdc6baaafa9e5c308eda"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/cacerts/ca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "9aea375be26e78aaae4fff9705ea4456"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "4756ddb5e4159174bcab6d6a513464ae"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/keystore/caf7db9c794657bd31d212cc9d2860af01040e770d7018767d8268509065bc0e_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "93798234d07d65cbf68e551cf94d95fd"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/signcerts/User1@org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "4f5ce8404764dea55a584cffb76e56ed"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "1bb604b61a24d1d39bb7ef39a08abf82"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "58d942e2ac61d6f0af9e958eadfc4eb4"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/tls/client.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "25b4152de41b0df57d18db81b636bc5e"}) - b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/tls/client.key", packr.Pointer{ForwardBox: gk, ForwardPath: "f179ee367d1aca32235e1643a3e7bffa"}) - b.SetResolver("fabric.toml", packr.Pointer{ForwardBox: gk, ForwardPath: "97b94c71adcf85997c8476db6519876c"}) - b.SetResolver("fabric.validators", packr.Pointer{ForwardBox: gk, ForwardPath: "9e9679553d3f5533efafa0482fca2803"}) - b.SetResolver("pier.toml", packr.Pointer{ForwardBox: gk, ForwardPath: "78909379d9b7903a7cb74ee327869a34"}) - b.SetResolver("validating.wasm", packr.Pointer{ForwardBox: gk, ForwardPath: "1cfa8caf594ef8afece24c016070cb29"}) + b.SetResolver("config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "3c6ea90ac4e3e164e8b5ba6f80c3a56d"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/ca/ca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "4f4f3b559fea028e61273150471b6abc"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/ca/eb0c8deee3bd9717d399d186713cd7b362f82782c2584d9c56554f1e06fe5c7c_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "2af8da83a12d07d8b787073c6d4104d7"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/msp/cacerts/ca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "e9c2765be152fc75eba54be56df90a34"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "3eb0eb2851649264e7c1a3ceea1ec082"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/msp/tlscacerts/tlsca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "74bfbbd031363707a33a2c34183eaa21"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/ca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "c035535f0401b123c7f3860763940e68"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "54242399746775a4d661b1bcdee83f53"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/keystore/0926281815a9b5ffbe45e7727dbafa9b878d8bea2631232aea8b7ac57325a116_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "156da2c627e0a89eb898abe0dfa42d93"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/signcerts/orderer.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "58a3641b38d817dcdae96d75a8e26d77"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "64431d78d051057b54ed734af69976f4"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "71194915cd595e0e92d724dc1e0d0f31"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "3c530cbb5899b0e79871f34bbedfe68e"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "b5f68533ca9c0a73b66a2acef205832b"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/msp/cacerts/ca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "4322cc8315391e63a82c2ed18587c225"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "1ee46e1ba896636a409f4760f5f6bc42"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/msp/keystore/c0c0a9ba3dcd0c9012258d81d14a65b2cf3bb54358bd24de1d095a59e51edec2_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "c20b63a2008282b322a7971560668f14"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/msp/signcerts/orderer2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "348bdd36192bf700f02d575a0dec2afc"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/msp/tlscacerts/tlsca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "b4115b7f67ceaa6760509f34c63a6865"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "506a2676bdd70dc6fbff6c46e06c1740"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "44562aab13fbce7b9670774e516944f2"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "78b5c5962f7e33760e31220e001b6428"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/msp/cacerts/ca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "cd6019248015060881c7a50638edfc88"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "1217e877d574246acd5297b375bb7cd9"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/msp/keystore/8a2a82f835e72e0dc345f835d6b806f6f4f3353182b176d30805035f4eeef1a7_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "79dcc6b5698250c4a4451fdbe5575e54"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/msp/signcerts/orderer3.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "7a14b909c9e4365867003cd5d4a30cde"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/msp/tlscacerts/tlsca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "49dfa9237b395c91b15b2f19049a2460"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "860116a817887289a2d053d82a237379"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "9b17d21aa2baa39d218b4fafeb80dafa"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer3.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "5ec81afa132796e1dbebec6c127c4416"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/msp/cacerts/ca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "afa3f045cc71a9835aea2c0e78f71796"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "ff15196733532773dcd5ca84cba34985"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/msp/keystore/4d8b84be5290aed0aa7a5c57260d9da4044a5646a88c94222cbc8f0338779a1e_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "a1909412e4a002f250efa99409897f95"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/msp/signcerts/orderer4.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "f5a6a01affede9e694fe49348f8e1ccd"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/msp/tlscacerts/tlsca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "7d9109cadcf1a905d2247f205ccbf366"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "463865e2f5b7f306a64ad1115ac9c79d"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "a001db8f1beabf090a93fea738d8cd64"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer4.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "448c5f9b08ffd054719757d1f330b121"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer5.example.com/msp/cacerts/ca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "a12d11af9e673d90976edff3433750fe"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer5.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "2fee6927e19c038b3d4805af00fb6fbf"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer5.example.com/msp/keystore/076ca9c58c84ec4043c90fc888360da33e0016f9605160d4b80150db041f82c5_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "d4ceff45ae3c006edd7d4c53e7e25119"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer5.example.com/msp/signcerts/orderer5.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "1af561d1e7acc342a800be1ef9b9da1a"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer5.example.com/msp/tlscacerts/tlsca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "0f2c4d6d3222cd5f703bc202a4c070b8"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer5.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "f19e2873585099d4c9018b26bf6481e5"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer5.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "df174568e341d3ab86859e54e886da0b"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/orderers/orderer5.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "3fd1db2197b0ed918335b74c854c895d"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/tlsca/28fdbad966480dc6acadd80f78be0572cd5e85e77c689072075a7a1ce5309a9f_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "8458059915f84171bf89a3cfc3b5b463"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "f960f2e35aeb81c422d3ddc6b4a20202"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/cacerts/ca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "fb04efe2989b9fa0561c317f1ac655fc"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "2aa887ee2b07a5c298c8a882b6627b30"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/keystore/c10dc7d04433fb9dbc4c6876ab8cb98c7d8e834fe616ec9d505e3eb3316caa74_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "3fdd5ffc54e0822c4d07c94ce6112273"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/signcerts/Admin@example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "fc297817d4bea4400b93c02cd98315dd"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp/tlscacerts/tlsca.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "7a08fc2cb7063b01055991002ffaa4e2"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/users/Admin@example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "d8bdbd4780fdd38c25c883aa9db2b50b"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/users/Admin@example.com/tls/client.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "fbe7236ec5fea30198ba837c91bde516"}) + b.SetResolver("crypto-config/ordererOrganizations/example.com/users/Admin@example.com/tls/client.key", packr.Pointer{ForwardBox: gk, ForwardPath: "18bb4437508258b30c50581629a928c9"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/ca/83d912f19df76cd8543408044ffa3e7caa686e8dda74ad5fc9680c783ba45086_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "fedbe395f2e07702296043513a63e34f"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/ca/ca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "ee967b6bd4a4fbc544868faa5cf6dcdd"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "ed473ee8e6dccfcbe1d6389ff355d629"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "7f33c70d78bb061bdf44e5fef3e96ae8"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "860e1df4bc1200c1b3103c9f9a252382"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "8609fafd60003aedb3ba01545b3d4fcb"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "f164168fb65e1971930446e506240336"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/keystore/657e17435e13b0c66ea389aaedcd6339b8c308499408effb2990dbe22f3f294d_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "1ce96a8e8c09c1c6d48749e3bd64e1e9"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/signcerts/peer0.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "10deda50b762bfb0ec0bef96715677a8"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "8173ed3a3c1d0d0a0f838aa52a035b9b"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "9b539a90ff91363a4fbc282d14091459"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "4061bc167bb007bb71d485e00f28bf76"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "8dbb50bab2768bdc565654ee61bfce06"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "695a23b7bb21d405f7b264290263e343"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "62be2e3faf40405aebd500272eaa7675"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp/keystore/7595664efb75c2be684efea29c1b58f7925d78dc3070092b3ea17a1e0a7be823_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "52092336bc520dc319da8b7b9824db79"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp/signcerts/peer1.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "faebad432184b521b157f66eb39fa807"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "b12854d5fc10aefe21c8d0a6d34de7a5"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "4e0fa9cceec18be060c5f10685d6c17d"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "b58e4f949ec9338efe696289bd604369"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "324d560acc6db79c150b9cd7e61f7224"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/tlsca/79fb4d75431acdb47371939dc795cd3ee9d27051807dce34c24a706549146e09_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "906cf26981eb1b4882e918aacdfcdacb"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "92d8faf09693cf01c956f614145f0cad"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "2e55fd8a88648b13002f2fe1181385c2"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "e2167bb0e7572a43f1a73ba8fee95637"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/75cf3c52fc9173b29aa8bb19b7c0a6e9fee48348e3072bed1fce9b9632b6188a_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "cd883f3e1351d48eb787ee3f18099c30"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "5bc0eafc4460dfca38386d7cda41d83b"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "3cd3568381db01643b5a4dc514bcd749"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "a4e8028db4d14a2ef1f7950b090a981c"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "4798a25f295885dcf352f94d7b64ca72"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "d5ba537985f87bf972c73d7cbaeba21f"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "e00b54be677e7aa59dcea134b329cb9f"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "5c593d259bf7ef6fa3cc6688ab1b59d7"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/keystore/ef34e40fc4680ce18cefdc72ad26c240677036a67b2b45de0a718b529984797e_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "7a8586921173dd8ef1a2149af53d036f"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/signcerts/User1@org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "e656b8d8ab4f0452a46c43c32d7a0760"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "c61ee687da191b769bd5963cf13a65bf"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "c39af7e8cbae9106b1a45ba3da0686a8"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/tls/client.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "38c70b5a562c1b920efece724d31e446"}) + b.SetResolver("crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/tls/client.key", packr.Pointer{ForwardBox: gk, ForwardPath: "c076f28569d9da762ac20ff3e586f712"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/ca/c54bf9d68aee7306af6fc04085d348f16475ddd488f543916b64879ba39da944_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "e8a32b8eca3dcaa2478eeee8ceca7738"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/ca/ca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "9c7b096458104b372329cf3377c0453a"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/msp/cacerts/ca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "9dfebe16294c62fb0649bfde16850a75"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "94b600ea295e3f5aba6a06df1c5d2618"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "8f77824749cc1ffb6fa0346024d3cac2"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/cacerts/ca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "24bec85d6b174710c372155a1ce1b3a5"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "aa8a27280c3d50a7683762ecf7591f16"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/keystore/58bc6bf487bbaec8d2a95aeebea2ed92ab834a5a69bc6be64ba3036efb446533_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "85a074cf60eba8dc9003ebcb5026d881"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/signcerts/peer0.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "5b90d337b466593302f2523a9dc5c2b2"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "b690a37fd835172389b9658d2fbd4ea2"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "4e78d03807972f492aa951b4f4bd40a8"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "ce38c7e05a981dbee4e48e3b583c34ac"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "cf91e2e512b40a2160e243e2d0003312"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp/cacerts/ca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "fd25be3504fda8e3693d3467682e410d"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "e5e2c6bdda7149ee22a2a1dd23fecb02"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp/keystore/ba29a5ad12a3d0d9534f4abde37b94e3ef3765c2292ed86648b4e0d4c2e8dd1c_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "c370efb7d176d795c8e64b6093157ae6"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp/signcerts/peer1.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "34f4924496eb87311c45abc0aea81eb5"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "cfad750985a12886011df652feba1944"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "8194136520cad5d6c68a46adab3a9129"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "46164e0a9dc9d8fda8a8667a7119cdc6"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "9626e859afb6f4b8f071befbe3472fd6"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/tlsca/5653cc567cc02238162e4fa16ea1f89aa88005944963a5ea5e7cc66b188fa398_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "33f2e3d01c90199a85532692f85aa4ee"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/tlsca/tlsca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "377f502f1749647d9fc370f128679fca"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/cacerts/ca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "5bc98edec9aa86dedf031a7515536117"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "cb5194005cd08f8b9b25123f4d6b2a4e"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore/1bb25631d6c6ba29ca2800d46409eed8bb2f5176b08f5948339b45ed14439bac_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "e8be3a0f8aff2af51134a16dde15485b"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts/Admin@org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "5d8248ac4e3947e0b86c36b000c387c0"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "4c252fa1bee6b9643b6bc5a51d323947"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "e1866f3b08f024d9e193424a8b4d474a"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/tls/server.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "67902e777660f1fbce245ce67bdbb1df"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/tls/server.key", packr.Pointer{ForwardBox: gk, ForwardPath: "07f2b3cc800b0348275e6164e47ecb5d"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/cacerts/ca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "6270306a9369c4ec4b5ae9f1c1061a14"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/config.yaml", packr.Pointer{ForwardBox: gk, ForwardPath: "0590742ec97eeec7ee0fc2837a3b92e5"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/keystore/caf7db9c794657bd31d212cc9d2860af01040e770d7018767d8268509065bc0e_sk", packr.Pointer{ForwardBox: gk, ForwardPath: "97aa5e72c480b86b50a5f84735e481f1"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/signcerts/User1@org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "0c1e83b6639904712f1e2c8db7a9836f"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem", packr.Pointer{ForwardBox: gk, ForwardPath: "80693cc82a966fcf8e426fa1eee54635"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/tls/ca.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "2a415153bad481ef1a4e4f1653f21abf"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/tls/client.crt", packr.Pointer{ForwardBox: gk, ForwardPath: "212afd5860583e02210e8f64ff185049"}) + b.SetResolver("crypto-config/peerOrganizations/org2.example.com/users/User1@org2.example.com/tls/client.key", packr.Pointer{ForwardBox: gk, ForwardPath: "d34f6c49fb52f12e399191a380deadbc"}) + b.SetResolver("fabric.toml", packr.Pointer{ForwardBox: gk, ForwardPath: "f98c03f05726220a054cf47ecd20dac0"}) + b.SetResolver("fabric.validators", packr.Pointer{ForwardBox: gk, ForwardPath: "e69916b8b433eda35c873357df2f8095"}) + b.SetResolver("pier.toml", packr.Pointer{ForwardBox: gk, ForwardPath: "0bc57de3ad0040104730f4d30edef25f"}) + b.SetResolver("validating.wasm", packr.Pointer{ForwardBox: gk, ForwardPath: "1882a1e0ebc4f89be7f38f445afb400c"}) }() return nil }() diff --git a/receipt.go b/receipt.go index 51a1abf..c3905bd 100644 --- a/receipt.go +++ b/receipt.go @@ -5,16 +5,16 @@ import ( "github.com/meshplus/bitxhub-model/pb" ) -func (c *Client) generateReceipt(from, to string, idx uint64, args [][]byte, proof []byte, status, encrypt bool, typ uint64) (*pb.IBTP, error) { - var result []*pb.ResultRes - res := &pb.ResultRes{Data: args} - result = append(result, res) +type ContractResult struct { + Results [][][]byte `json:"results"` // results of contract execution + MultiStatus []bool `json:"multi_status"` // status of contract execution +} - var multiStatus []bool - if typ == uint64(pb.IBTP_RECEIPT_SUCCESS) { - multiStatus = append(multiStatus, true) - } else { - multiStatus = append(multiStatus, false) +func (c *Client) generateReceipt(from, to string, idx uint64, multiArgs [][][]byte, proof []byte, multiStatus []bool, encrypt bool, typ uint64) (*pb.IBTP, error) { + var result []*pb.ResultRes + for _, args := range multiArgs { + res := &pb.ResultRes{Data: args} + result = append(result, res) } results := &pb.Result{Data: result, MultiStatus: multiStatus} content, err := results.Marshal() @@ -23,8 +23,10 @@ func (c *Client) generateReceipt(from, to string, idx uint64, args [][]byte, pro } var packed []byte - for _, ele := range args { - packed = append(packed, ele...) + for _, ele := range multiArgs { + for _, val := range ele { + packed = append(packed, val...) + } } payload := pb.Payload{