diff --git a/.github/scripts/is_runner_busy.sh b/.github/scripts/is_runner_busy.sh new file mode 100755 index 000000000..c3fcb9872 --- /dev/null +++ b/.github/scripts/is_runner_busy.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# The script checks whether a runner with a specific label is busy + +OWNER_REPO=$1 +CHECK_LABELS=$2 + +if [[ -z $OWNER_REPO ]]; then + cat <&2 +Usage: $0 OWNER/REPO CHECK_LABELS + +example: $0 anyproto/test-concurrency "self-hosted ubuntu-latest" +EOF + exit 1 +fi + +EXIT_CODE=0 + +# get current runners id +# gh api repos/anyproto/test-concurrency/actions/runs --jq '.workflow_runs[] | select(.status!="completed") | {id, name, status, created_at, html_url}' +for RUN_ID in $(gh api repos/${OWNER_REPO}/actions/runs --jq '.workflow_runs[] | select(.status!="completed") | .id'); do + # get runner_name + LABELS=$(gh api repos/${OWNER_REPO}/actions/runs/${RUN_ID}/jobs --jq '[.jobs[].labels[]] | unique | .[]') + for CHECK_LABEL in $CHECK_LABELS; do + if echo "$LABELS" | grep -q "$CHECK_LABEL"; then + echo "A run='$RUN_ID' is executing on a runner with LABEL='$CHECK_LABEL' in the repository='$OWNER_REPO'" 1>&2 + EXIT_CODE=$(( EXIT_CODE + 1 )) + else + continue + fi + done +done + +exit $EXIT_CODE diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ac1be80e7..daa55824f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,7 +22,11 @@ permissions: jobs: + wait_for_perftest: + uses: ./.github/workflows/reusable_wait_for_perftest.yml + build: + needs: wait_for_perftest runs-on: ${{ github.event_name == 'push' && 'mac-mini-org-heart' || (github.event.inputs.run-on-runner || 'mac-mini-org-heart') }} steps: - name: validate agent diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 50d652988..6447a9084 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -29,7 +29,11 @@ permissions: contents: 'write' jobs: + wait_for_perftest: + uses: ./.github/workflows/reusable_wait_for_perftest.yml + build: + needs: wait_for_perftest runs-on: ${{ github.event.inputs.run-on-runner }} steps: - name: Install Go diff --git a/.github/workflows/perftests-grafana.yml b/.github/workflows/perftests-grafana.yml index 6a18b644b..f3d2868e4 100644 --- a/.github/workflows/perftests-grafana.yml +++ b/.github/workflows/perftests-grafana.yml @@ -26,7 +26,11 @@ permissions: jobs: + wait_for_self_hosted_mac_mini: + uses: ./.github/workflows/reusable_wait_for_self_hosted_mac_mini.yml + perftests-grafana: + needs: wait_for_self_hosted_mac_mini runs-on: ${{ github.event.inputs.run-on-runner || 'mac-mini-org-heart' }} steps: - name: Install Go diff --git a/.github/workflows/perftests.yml b/.github/workflows/perftests.yml index c1427d946..8e5440d21 100644 --- a/.github/workflows/perftests.yml +++ b/.github/workflows/perftests.yml @@ -31,7 +31,11 @@ permissions: jobs: + wait_for_self_hosted_mac_mini: + uses: ./.github/workflows/reusable_wait_for_self_hosted_mac_mini.yml + perftests-macos: + needs: wait_for_self_hosted_mac_mini timeout-minutes: 60 runs-on: 'mac-mini-org-heart' steps: diff --git a/.github/workflows/reusable_wait_for_perftest.yml b/.github/workflows/reusable_wait_for_perftest.yml new file mode 100644 index 000000000..60b146ca3 --- /dev/null +++ b/.github/workflows/reusable_wait_for_perftest.yml @@ -0,0 +1,22 @@ +name: Reusable Workflow wait for perftests to finish + +on: + workflow_call: + +jobs: + wait_for_perftest: + runs-on: ubuntu-latest + steps: + - name: Wait for perftests to finish + run: | + while true; do + RUNNING=$(gh run list --repo $GITHUB_REPOSITORY --workflow perftests.yml --workflow perftests-grafana.yml --status in_progress --json status --jq 'length') + if [[ "$RUNNING" -eq 0 ]]; then + echo "perftests is finished, proceeding with build." + break + fi + echo "perftests is still running. Waiting 10 seconds..." + sleep 10 + done + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/reusable_wait_for_self_hosted_mac_mini.yml b/.github/workflows/reusable_wait_for_self_hosted_mac_mini.yml new file mode 100644 index 000000000..6301deb14 --- /dev/null +++ b/.github/workflows/reusable_wait_for_self_hosted_mac_mini.yml @@ -0,0 +1,26 @@ +name: Reusable Workflow wait for self-hosted mac mini is free + +on: + workflow_call: + +jobs: + wait_for_self_hosted_mac_mini: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Wait for self-hosted runners to be free + run: | + while true; do + if .github/scripts/is_runner_busy.sh $GITHUB_REPOSITORY mac-mini-org-heart; then + echo "self-hosted runner 'mac-mini-org-heart' is free" + break + else + echo "self-hosted runner 'mac-mini-org-heart' is busy. waiting 10 seconds..." + sleep 10 + continue + fi + done + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f9ecea92a..bf1526094 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,7 +16,11 @@ permissions: pull-requests: write jobs: + wait_for_perftest: + uses: ./.github/workflows/reusable_wait_for_perftest.yml + unit-test: + needs: wait_for_perftest runs-on: ${{ vars.RUNNER_TEST }} env: GOPRIVATE: github.com/anyproto diff --git a/clientlibrary/service/service.pb.go b/clientlibrary/service/service.pb.go index 1395d7884..839e1e373 100644 --- a/clientlibrary/service/service.pb.go +++ b/clientlibrary/service/service.pb.go @@ -25,18 +25,18 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package func init() { proto.RegisterFile("pb/protos/service/service.proto", fileDescriptor_93a29dc403579097) } var fileDescriptor_93a29dc403579097 = []byte{ - // 5514 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x9d, 0x5f, 0x6f, 0x24, 0x49, - 0x52, 0xc0, 0xb7, 0x5f, 0x58, 0xa8, 0xe3, 0x16, 0xe8, 0x85, 0x65, 0x6f, 0xb9, 0x9b, 0x99, 0x9d, - 0x9d, 0xb1, 0x3d, 0x63, 0xbb, 0x3d, 0x3b, 0xb3, 0xff, 0xb8, 0x43, 0x82, 0x1e, 0x7b, 0xec, 0xf5, - 0x9d, 0xed, 0x35, 0xee, 0xf6, 0x8c, 0xb4, 0x12, 0x12, 0xe5, 0xaa, 0x74, 0xbb, 0x70, 0x75, 0x65, - 0x5d, 0x55, 0x76, 0x7b, 0xfa, 0x10, 0x08, 0x04, 0x02, 0x81, 0x40, 0x9c, 0xf8, 0x27, 0x78, 0x42, - 0x42, 0x7c, 0x00, 0x3e, 0x06, 0x8f, 0xf7, 0xc8, 0x23, 0xda, 0xfd, 0x0a, 0x7c, 0x00, 0x54, 0xf9, - 0x3f, 0xa3, 0x32, 0xb2, 0xca, 0xcb, 0xd3, 0x8c, 0x1c, 0xbf, 0x88, 0xc8, 0xac, 0x8c, 0xcc, 0x8c, - 0xcc, 0xca, 0xca, 0x8e, 0xee, 0x96, 0x17, 0x3b, 0x65, 0x45, 0x19, 0xad, 0x77, 0x6a, 0x52, 0x2d, + // 5536 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x9d, 0x4f, 0x6f, 0x24, 0x49, + 0x56, 0xc0, 0xa7, 0x2e, 0x0c, 0xe4, 0xb2, 0x03, 0xd4, 0xc0, 0x30, 0x3b, 0xec, 0x76, 0xf7, 0xf4, + 0x74, 0xdb, 0xee, 0xb6, 0x5d, 0xee, 0xe9, 0x9e, 0x7f, 0xec, 0x22, 0x41, 0xb5, 0xdd, 0xf6, 0x78, + 0xd7, 0xf6, 0x18, 0x57, 0xb9, 0x5b, 0x1a, 0x09, 0x89, 0x74, 0x66, 0xb8, 0x9c, 0x38, 0x2b, 0x23, + 0x37, 0x33, 0xaa, 0xdc, 0xb5, 0x08, 0x04, 0x02, 0x81, 0x40, 0x20, 0x56, 0xfc, 0x13, 0x9c, 0x90, + 0xf8, 0x04, 0x1c, 0xf8, 0x10, 0x1c, 0xf7, 0xc8, 0x11, 0xcd, 0x7c, 0x06, 0xee, 0x28, 0xe3, 0x7f, + 0xbc, 0x8c, 0x17, 0x99, 0x1e, 0x4e, 0xdd, 0xf2, 0xfb, 0xbd, 0xf7, 0x22, 0x32, 0x5e, 0x44, 0xbc, + 0x88, 0x8c, 0x8c, 0x8a, 0xee, 0x96, 0x17, 0x3b, 0x65, 0x45, 0x19, 0xad, 0x77, 0x6a, 0x52, 0x2d, 0xb3, 0x84, 0xa8, 0x7f, 0x47, 0xfc, 0xcf, 0xc3, 0x37, 0xe3, 0x62, 0xc5, 0x56, 0x25, 0x79, 0xef, 0x5d, 0x43, 0x26, 0x74, 0x3e, 0x8f, 0x8b, 0xb4, 0x16, 0xc8, 0x7b, 0xef, 0x18, 0x09, 0x59, 0x92, - 0x82, 0xc9, 0xbf, 0x3f, 0xfd, 0x8f, 0xff, 0x1d, 0x44, 0x6f, 0xed, 0xe6, 0x19, 0x29, 0xd8, 0xae, + 0x82, 0xc9, 0xbf, 0x3f, 0xfd, 0xcf, 0xff, 0x1d, 0x44, 0x6f, 0xed, 0xe6, 0x19, 0x29, 0xd8, 0xae, 0xd4, 0x18, 0x7e, 0x19, 0x7d, 0x7b, 0x5c, 0x96, 0x07, 0x84, 0xbd, 0x24, 0x55, 0x9d, 0xd1, 0x62, 0xf8, 0xc1, 0x48, 0x3a, 0x18, 0x9d, 0x95, 0xc9, 0x68, 0x5c, 0x96, 0x23, 0x23, 0x1c, 0x9d, 0x91, 0x1f, 0x2f, 0x48, 0xcd, 0xde, 0x7b, 0x10, 0x86, 0xea, 0x92, 0x16, 0x35, 0x19, 0x5e, 0x46, 0xbf, @@ -179,7 +179,7 @@ var fileDescriptor_93a29dc403579097 = []byte{ 0xb4, 0xf4, 0xfa, 0x47, 0xd1, 0xbb, 0x6d, 0xaf, 0x72, 0x22, 0xda, 0xe9, 0x34, 0x05, 0xe6, 0xa2, 0x27, 0xfd, 0x15, 0xa4, 0xfb, 0x7f, 0xd1, 0xfb, 0xd2, 0xc2, 0x7f, 0x42, 0xe7, 0x73, 0x52, 0xa4, 0x24, 0x55, 0x1a, 0x75, 0xb3, 0x7e, 0xfa, 0x0c, 0xb7, 0xab, 0x15, 0x46, 0xb6, 0x86, 0x2e, 0xd1, - 0x6f, 0x7e, 0x03, 0x4d, 0x59, 0xb4, 0xff, 0x1c, 0x44, 0x8f, 0xbc, 0x45, 0x53, 0x81, 0xeb, 0x14, + 0x6f, 0x7e, 0x03, 0x4d, 0x59, 0xb4, 0xff, 0x18, 0x44, 0x8f, 0xbc, 0x45, 0x53, 0x81, 0xeb, 0x14, 0xf1, 0x77, 0xfa, 0x38, 0xf2, 0x69, 0xea, 0xa2, 0x8e, 0xff, 0x1f, 0x16, 0x64, 0x91, 0xff, 0x75, 0x10, 0xdd, 0x37, 0x8a, 0x4d, 0x78, 0xef, 0xd2, 0xe2, 0x32, 0xcf, 0x12, 0xc6, 0xdf, 0xc8, 0x4a, 0x15, 0xfc, 0x71, 0x62, 0x1a, 0xdd, 0x8f, 0x33, 0xa0, 0x69, 0x16, 0xaf, 0x9f, 0x67, 0x35, 0xa3, @@ -365,12 +365,13 @@ var fileDescriptor_93a29dc403579097 = []byte{ 0xf5, 0x24, 0xe0, 0x65, 0x53, 0x5c, 0xd9, 0x12, 0x23, 0xdf, 0xbd, 0x79, 0x30, 0xb3, 0x4e, 0x00, 0x1e, 0x9e, 0xaf, 0x0e, 0x53, 0xb8, 0x4e, 0x80, 0xfa, 0x9c, 0x41, 0xd6, 0x09, 0x18, 0xeb, 0x36, 0x9d, 0xde, 0xf7, 0x3a, 0x8a, 0x6b, 0x53, 0x39, 0x4f, 0xd3, 0x79, 0xc1, 0x50, 0xd3, 0x61, 0x0a, - 0xee, 0x23, 0xb5, 0xb7, 0xd6, 0x3c, 0x8f, 0xd4, 0xb7, 0xaf, 0xb6, 0xd6, 0x85, 0x99, 0x71, 0x49, - 0xaf, 0x27, 0xf9, 0x91, 0x25, 0xff, 0x6f, 0x35, 0x08, 0x21, 0x32, 0x2e, 0xb5, 0x20, 0x61, 0xfb, - 0xf9, 0xfb, 0xff, 0xf5, 0xd5, 0x9d, 0xc1, 0xcf, 0xbe, 0xba, 0x33, 0xf8, 0x9f, 0xaf, 0xee, 0x0c, - 0x7e, 0xfa, 0xf5, 0x9d, 0x37, 0x7e, 0xf6, 0xf5, 0x9d, 0x37, 0xfe, 0xfb, 0xeb, 0x3b, 0x6f, 0x7c, - 0xf9, 0xa6, 0xfc, 0x2d, 0xea, 0x8b, 0x9f, 0xe3, 0xbf, 0x28, 0xfd, 0xec, 0xff, 0x02, 0x00, 0x00, - 0xff, 0xff, 0xc9, 0x60, 0xbd, 0x6d, 0xaf, 0x7a, 0x00, 0x00, + 0xee, 0x23, 0xb5, 0xb7, 0xd6, 0x3c, 0x8f, 0xd4, 0xb7, 0xaf, 0xb6, 0xd6, 0x85, 0x59, 0x89, 0x8f, + 0x53, 0xc5, 0x29, 0x95, 0xc5, 0x90, 0xdf, 0x35, 0xd6, 0x20, 0xf1, 0x71, 0x8b, 0xdd, 0xa2, 0x91, + 0xc4, 0xa7, 0x5b, 0xcb, 0x8c, 0x93, 0x7a, 0x7d, 0xcb, 0x8f, 0x50, 0xf9, 0x7f, 0x3b, 0x42, 0x08, + 0x91, 0x71, 0xb2, 0x05, 0x09, 0xdb, 0xcf, 0xdf, 0xff, 0xaf, 0xaf, 0xee, 0x0c, 0x7e, 0xf6, 0xd5, + 0x9d, 0xc1, 0xff, 0x7c, 0x75, 0x67, 0xf0, 0xd3, 0xaf, 0xef, 0xbc, 0xf1, 0xb3, 0xaf, 0xef, 0xbc, + 0xf1, 0xdf, 0x5f, 0xdf, 0x79, 0xe3, 0xcb, 0x37, 0xe5, 0x6f, 0x63, 0x5f, 0xfc, 0x1c, 0xff, 0x85, + 0xeb, 0x67, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x94, 0x61, 0xee, 0x3f, 0x7b, 0x00, 0x00, } // This is a compile-time assertion to ensure that this generated file @@ -723,6 +724,7 @@ type ClientCommandsHandler interface { ChatGetMessagesByIds(context.Context, *pb.RpcChatGetMessagesByIdsRequest) *pb.RpcChatGetMessagesByIdsResponse ChatSubscribeLastMessages(context.Context, *pb.RpcChatSubscribeLastMessagesRequest) *pb.RpcChatSubscribeLastMessagesResponse ChatUnsubscribe(context.Context, *pb.RpcChatUnsubscribeRequest) *pb.RpcChatUnsubscribeResponse + ChatSubscribeToMessagePreviews(context.Context, *pb.RpcChatSubscribeToMessagePreviewsRequest) *pb.RpcChatSubscribeToMessagePreviewsResponse ObjectChatAdd(context.Context, *pb.RpcObjectChatAddRequest) *pb.RpcObjectChatAddResponse } @@ -6310,6 +6312,26 @@ func ChatUnsubscribe(b []byte) (resp []byte) { return resp } +func ChatSubscribeToMessagePreviews(b []byte) (resp []byte) { + defer func() { + if PanicHandler != nil { + if r := recover(); r != nil { + resp, _ = (&pb.RpcChatSubscribeToMessagePreviewsResponse{Error: &pb.RpcChatSubscribeToMessagePreviewsResponseError{Code: pb.RpcChatSubscribeToMessagePreviewsResponseError_UNKNOWN_ERROR, Description: "panic recovered"}}).Marshal() + PanicHandler(r) + } + } + }() + + in := new(pb.RpcChatSubscribeToMessagePreviewsRequest) + if err := in.Unmarshal(b); err != nil { + resp, _ = (&pb.RpcChatSubscribeToMessagePreviewsResponse{Error: &pb.RpcChatSubscribeToMessagePreviewsResponseError{Code: pb.RpcChatSubscribeToMessagePreviewsResponseError_BAD_INPUT, Description: err.Error()}}).Marshal() + return resp + } + + resp, _ = clientCommandsHandler.ChatSubscribeToMessagePreviews(context.Background(), in).Marshal() + return resp +} + func ObjectChatAdd(b []byte) (resp []byte) { defer func() { if PanicHandler != nil { @@ -6894,6 +6916,8 @@ func CommandAsync(cmd string, data []byte, callback func(data []byte)) { cd = ChatSubscribeLastMessages(data) case "ChatUnsubscribe": cd = ChatUnsubscribe(data) + case "ChatSubscribeToMessagePreviews": + cd = ChatSubscribeToMessagePreviews(data) case "ObjectChatAdd": cd = ObjectChatAdd(data) default: @@ -10824,6 +10848,20 @@ func (h *ClientCommandsHandlerProxy) ChatUnsubscribe(ctx context.Context, req *p call, _ := actualCall(ctx, req) return call.(*pb.RpcChatUnsubscribeResponse) } +func (h *ClientCommandsHandlerProxy) ChatSubscribeToMessagePreviews(ctx context.Context, req *pb.RpcChatSubscribeToMessagePreviewsRequest) *pb.RpcChatSubscribeToMessagePreviewsResponse { + actualCall := func(ctx context.Context, req any) (any, error) { + return h.client.ChatSubscribeToMessagePreviews(ctx, req.(*pb.RpcChatSubscribeToMessagePreviewsRequest)), nil + } + for _, interceptor := range h.interceptors { + toCall := actualCall + currentInterceptor := interceptor + actualCall = func(ctx context.Context, req any) (any, error) { + return currentInterceptor(ctx, req, "ChatSubscribeToMessagePreviews", toCall) + } + } + call, _ := actualCall(ctx, req) + return call.(*pb.RpcChatSubscribeToMessagePreviewsResponse) +} func (h *ClientCommandsHandlerProxy) ObjectChatAdd(ctx context.Context, req *pb.RpcObjectChatAddRequest) *pb.RpcObjectChatAddResponse { actualCall := func(ctx context.Context, req any) (any, error) { return h.client.ObjectChatAdd(ctx, req.(*pb.RpcObjectChatAddRequest)), nil diff --git a/cmd/debugtree/debugtree.go b/cmd/debugtree/debugtree.go index 9ac3b88f1..87ffc89fd 100644 --- a/cmd/debugtree/debugtree.go +++ b/cmd/debugtree/debugtree.go @@ -53,6 +53,7 @@ func main() { if err != nil { log.Fatal("can't import the tree:", err) } + defer res.Store.Close() objectTree, err := res.CreateReadableTree(*fromRoot, "") if err != nil { log.Fatal("can't create readable tree:", err) diff --git a/cmd/usecasevalidator/main.go b/cmd/usecasevalidator/main.go index 621ca2227..fb279dd7a 100644 --- a/cmd/usecasevalidator/main.go +++ b/cmd/usecasevalidator/main.go @@ -47,17 +47,21 @@ type ( } useCaseInfo struct { - objects map[string]objectInfo - relations map[string]domain.RelationKey - types map[string]domain.TypeKey - templates map[string]string - options map[string]domain.RelationKey - files []string + objects map[string]objectInfo + relations map[string]domain.RelationKey + types map[string]domain.TypeKey + templates map[string]string + options map[string]domain.RelationKey + fileObjects []string + + // big data + files map[string][]byte + snapshots map[string]*pb.SnapshotWithType + profile []byte customTypesAndRelations map[string]customInfo - useCase string - profileFileFound bool + useCase string } cliFlags struct { @@ -68,12 +72,14 @@ type ( } ) +func (i customInfo) GetFormat() model.RelationFormat { + return i.relationFormat +} + func (f cliFlags) isUpdateNeeded() bool { return f.analytics || f.creator || f.removeRelations || f.exclude || f.rules != "" } -const anytypeProfileFilename = addr.AnytypeProfileId + ".pb" - var ( errIncorrectFileFound = fmt.Errorf("incorrect protobuf file was found") errValidationFailed = fmt.Errorf("validation failed") @@ -111,7 +117,7 @@ func run() error { if err != nil { return err } - if !info.profileFileFound { + if info.profile == nil { fmt.Println("profile file does not present in archive") } @@ -129,7 +135,7 @@ func run() error { defer writer.Close() } - err = processFiles(r.File, writer, info, flags, updateNeeded) + err = processFiles(info, writer, flags) if flags.list { listObjects(info) @@ -199,17 +205,13 @@ func collectUseCaseInfo(files []*zip.File, fileName string) (info *useCaseInfo, types: make(map[string]domain.TypeKey, len(files)-1), templates: make(map[string]string), options: make(map[string]domain.RelationKey), - files: make([]string, 0), + files: make(map[string][]byte), + snapshots: make(map[string]*pb.SnapshotWithType, len(files)), + fileObjects: make([]string, 0), customTypesAndRelations: make(map[string]customInfo), - profileFileFound: false, } for _, f := range files { - if f.Name == constant.ProfileFile { - info.profileFileFound = true - continue - } - - if (strings.HasPrefix(f.Name, export.Files) && !strings.HasPrefix(f.Name, export.FilesObjects)) || f.FileInfo().IsDir() { + if f.FileInfo().IsDir() { continue } @@ -218,7 +220,17 @@ func collectUseCaseInfo(files []*zip.File, fileName string) (info *useCaseInfo, return nil, err } - snapshot, _, err := extractSnapshotAndType(data, f.Name) + if isPlainFile(f.Name) { + info.files[f.Name] = data + continue + } + + if f.Name == constant.ProfileFile { + info.profile = data + continue + } + + snapshot, err := extractSnapshotAndType(data, f.Name) if err != nil { return nil, fmt.Errorf("failed to extract snapshot from file %s: %w", f.Name, err) } @@ -232,6 +244,8 @@ func collectUseCaseInfo(files []*zip.File, fileName string) (info *useCaseInfo, SbType: smartblock.SmartBlockType(snapshot.SbType), } + info.snapshots[f.Name] = snapshot + switch snapshot.SbType { case model.SmartBlockType_STRelation: uk := pbtypes.GetString(snapshot.Snapshot.Data.Details, bundle.RelationKeyUniqueKey.String()) @@ -268,7 +282,7 @@ func collectUseCaseInfo(files []*zip.File, fileName string) (info *useCaseInfo, case model.SmartBlockType_STRelationOption: info.options[id] = domain.RelationKey(pbtypes.GetString(snapshot.Snapshot.Data.Details, bundle.RelationKeyRelationKey.String())) case model.SmartBlockType_FileObject: - info.files = append(info.files, id) + info.fileObjects = append(info.fileObjects, id) } } return @@ -287,46 +301,47 @@ func readData(f *zip.File) ([]byte, error) { return data, nil } -func processFiles(files []*zip.File, zw *zip.Writer, info *useCaseInfo, flags *cliFlags, writeNewFile bool) error { - var incorrectFileFound bool - for _, f := range files { - if f.Name == anytypeProfileFilename { - fmt.Println(anytypeProfileFilename, "is excluded") - continue - } - data, err := readData(f) +func processFiles(info *useCaseInfo, zw *zip.Writer, flags *cliFlags) error { + var ( + incorrectFileFound bool + writeNewFile = flags.isUpdateNeeded() + ) + + if info.profile != nil { + data, err := processProfile(info, flags.spaceDashboardId) if err != nil { return err } - - var newData []byte - if f.FileInfo().IsDir() { - newData = data - } else { - newData, err = processRawData(data, f.Name, info, flags) - if err != nil { - if !(flags.exclude && errors.Is(err, errValidationFailed)) { - // just do not include object that failed validation - incorrectFileFound = true - } - continue + if writeNewFile { + if err = saveDataToZip(zw, constant.ProfileFile, data); err != nil { + return err } } + } + + if writeNewFile { + for name, data := range info.files { + if err := saveDataToZip(zw, name, data); err != nil { + return err + } + } + } + + for name, sn := range info.snapshots { + newData, err := processSnapshot(sn, info, flags) + if err != nil { + if !(flags.exclude && errors.Is(err, errValidationFailed)) { + // just do not include object that failed validation + incorrectFileFound = true + } + continue + } if newData == nil || !writeNewFile { continue } - newFileName := f.Name - if strings.HasSuffix(newFileName, ".pb.json") { - // output of usecase validator is always an archive with protobufs - newFileName = strings.TrimSuffix(newFileName, ".json") - } - nf, err := zw.Create(newFileName) - if err != nil { - return fmt.Errorf("failed to create new file %s: %w", newFileName, err) - } - if _, err = io.Copy(nf, bytes.NewReader(newData)); err != nil { - return fmt.Errorf("failed to copy snapshot to new file %s: %w", newFileName, err) + if err = saveDataToZip(zw, name, newData); err != nil { + return err } } @@ -336,38 +351,40 @@ func processFiles(files []*zip.File, zw *zip.Writer, info *useCaseInfo, flags *c return nil } -func processRawData(data []byte, name string, info *useCaseInfo, flags *cliFlags) ([]byte, error) { - if name == constant.ProfileFile { - return processProfile(data, info, flags.spaceDashboardId) +func saveDataToZip(zw *zip.Writer, fileName string, data []byte) error { + if strings.HasSuffix(fileName, ".pb.json") { + // output of usecase validator is always an archive with protobufs + fileName = strings.TrimSuffix(fileName, ".json") } - - if strings.HasPrefix(name, "files") { - return data, nil - } - - snapshot, isOldAccount, err := extractSnapshotAndType(data, name) + nf, err := zw.Create(fileName) if err != nil { - return nil, err + return fmt.Errorf("failed to create new file %s: %w", fileName, err) } + if _, err = io.Copy(nf, bytes.NewReader(data)); err != nil { + return fmt.Errorf("failed to copy snapshot to new file %s: %w", fileName, err) + } + return nil +} +func processSnapshot(s *pb.SnapshotWithType, info *useCaseInfo, flags *cliFlags) ([]byte, error) { if flags.analytics { - insertAnalyticsData(snapshot.Snapshot, info) + insertAnalyticsData(s.Snapshot, info) } if flags.removeRelations { - removeAccountRelatedDetails(snapshot.Snapshot) + removeAccountRelatedDetails(s.Snapshot) } if flags.creator { - insertCreatorInfo(snapshot.Snapshot) + insertCreatorInfo(s.Snapshot) } if flags.rules != "" { - processRules(snapshot.Snapshot) + processRules(s.Snapshot) } if flags.validate { - if err = validate(snapshot, info); err != nil { + if err := validate(s, info); err != nil { if errors.Is(err, errSkipObject) { // some validators register errors mentioning that object can be excluded return nil, nil @@ -378,51 +395,49 @@ func processRawData(data []byte, name string, info *useCaseInfo, flags *cliFlags } if flags.collectCustomUsageInfo { - collectCustomObjectsUsageInfo(snapshot, info) + collectCustomObjectsUsageInfo(s, info) } - if isOldAccount { - return snapshot.Snapshot.Marshal() + if s.SbType == model.SmartBlockType_AccountOld { + return s.Snapshot.Marshal() } - return snapshot.Marshal() + return s.Marshal() } -func extractSnapshotAndType(data []byte, name string) (s *pb.SnapshotWithType, isOldAccount bool, err error) { +func extractSnapshotAndType(data []byte, name string) (s *pb.SnapshotWithType, err error) { s = &pb.SnapshotWithType{} if strings.HasSuffix(name, ".json") { if err = jsonpb.UnmarshalString(string(data), s); err != nil { - return nil, false, fmt.Errorf("cannot unmarshal snapshot from file %s: %w", name, err) + return nil, fmt.Errorf("cannot unmarshal snapshot from file %s: %w", name, err) } if s.SbType == model.SmartBlockType_AccountOld { cs := &pb.ChangeSnapshot{} - isOldAccount = true if err = jsonpb.UnmarshalString(string(data), cs); err != nil { - return nil, false, fmt.Errorf("cannot unmarshal snapshot from file %s: %w", name, err) + return nil, fmt.Errorf("cannot unmarshal snapshot from file %s: %w", name, err) } s = &pb.SnapshotWithType{ Snapshot: cs, - SbType: model.SmartBlockType_Page, + SbType: model.SmartBlockType_AccountOld, } } return } if err = s.Unmarshal(data); err != nil { - return nil, false, fmt.Errorf("cannot unmarshal snapshot from file %s: %w", name, err) + return nil, fmt.Errorf("cannot unmarshal snapshot from file %s: %w", name, err) } if s.SbType == model.SmartBlockType_AccountOld { cs := &pb.ChangeSnapshot{} - isOldAccount = true if err = cs.Unmarshal(data); err != nil { - return nil, false, fmt.Errorf("cannot unmarshal snapshot from file %s: %w", name, err) + return nil, fmt.Errorf("cannot unmarshal snapshot from file %s: %w", name, err) } s = &pb.SnapshotWithType{ Snapshot: cs, - SbType: model.SmartBlockType_Page, + SbType: model.SmartBlockType_AccountOld, } } - return s, isOldAccount, nil + return s, nil } func validate(snapshot *pb.SnapshotWithType, info *useCaseInfo) (err error) { @@ -478,7 +493,8 @@ func removeAccountRelatedDetails(s *pb.ChangeSnapshot) { bundle.RelationKeyAddedDate.String(), bundle.RelationKeySyncDate.String(), bundle.RelationKeySyncError.String(), - bundle.RelationKeySyncStatus.String(): + bundle.RelationKeySyncStatus.String(), + bundle.RelationKeyChatId.String(): delete(s.Data.Details.Fields, key) } @@ -490,9 +506,9 @@ func insertCreatorInfo(s *pb.ChangeSnapshot) { s.Data.Details.Fields[bundle.RelationKeyLastModifiedBy.String()] = pbtypes.String(addr.AnytypeProfileId) } -func processProfile(data []byte, info *useCaseInfo, spaceDashboardId string) ([]byte, error) { +func processProfile(info *useCaseInfo, spaceDashboardId string) ([]byte, error) { profile := &pb.Profile{} - if err := profile.Unmarshal(data); err != nil { + if err := profile.Unmarshal(info.profile); err != nil { e := fmt.Errorf("cannot unmarshal profile: %w", err) fmt.Println(e) return nil, e @@ -564,8 +580,12 @@ func listObjects(info *useCaseInfo) { fmt.Println("\n- File Objects:") fmt.Println("Id: " + strings.Repeat(" ", 31) + "Name") - for _, id := range info.files { + for _, id := range info.fileObjects { obj := info.objects[id] fmt.Printf("%s:\t%32s\n", id[len(id)-4:], obj.Name) } } + +func isPlainFile(name string) bool { + return strings.HasPrefix(name, export.Files) && !strings.HasPrefix(name, export.FilesObjects) +} diff --git a/cmd/usecasevalidator/validators.go b/cmd/usecasevalidator/validators.go index b05b26c0b..23d7b03c9 100644 --- a/cmd/usecasevalidator/validators.go +++ b/cmd/usecasevalidator/validators.go @@ -4,11 +4,10 @@ package main import ( "fmt" + "slices" "strings" "github.com/hashicorp/go-multierror" - "github.com/ipfs/go-cid" - "github.com/samber/lo" "github.com/anyproto/anytype-heart/core/block/editor/widget" "github.com/anyproto/anytype-heart/core/block/simple" @@ -32,7 +31,6 @@ type keyWithIndex struct { } var validators = []validator{ - validateRelationLinks, validateRelationBlocks, validateDetails, validateObjectTypes, @@ -41,26 +39,6 @@ var validators = []validator{ validateRelationOption, } -func validateRelationLinks(s *pb.SnapshotWithType, info *useCaseInfo) (err error) { - id := pbtypes.GetString(s.Snapshot.Data.Details, bundle.RelationKeyId.String()) - linksToDelete := make([]keyWithIndex, 0) - for i, rel := range s.Snapshot.Data.RelationLinks { - if bundle.HasRelation(domain.RelationKey(rel.Key)) { - continue - } - if _, found := info.customTypesAndRelations[rel.Key]; found { - continue - } - linksToDelete = append([]keyWithIndex{{key: rel.Key, index: i}}, linksToDelete...) - - } - for _, link := range linksToDelete { - fmt.Println("WARNING: object", id, "contains link to unknown relation:", link.key, ", so it was deleted from snapshot") - s.Snapshot.Data.RelationLinks = append(s.Snapshot.Data.RelationLinks[:link.index], s.Snapshot.Data.RelationLinks[link.index+1:]...) - } - return err -} - func validateRelationBlocks(s *pb.SnapshotWithType, info *useCaseInfo) (err error) { id := pbtypes.GetString(s.Snapshot.Data.Details, bundle.RelationKeyId.String()) var relKeys []string @@ -105,16 +83,10 @@ func validateDetails(s *pb.SnapshotWithType, info *useCaseInfo) (err error) { ) rel, e = bundle.GetRelation(domain.RelationKey(k)) if e != nil { - rel = getRelationLinkByKey(s.Snapshot.Data.RelationLinks, k) - if rel == nil { - if relation, errFound := bundle.GetRelation(domain.RelationKey(k)); errFound == nil { - s.Snapshot.Data.RelationLinks = append(s.Snapshot.Data.RelationLinks, &model.RelationLink{ - Key: k, - Format: relation.Format, - }) - continue - } - err = multierror.Append(err, fmt.Errorf("relation '%s' exists in details of object '%s', but not in relation links", k, id)) + var found bool + rel, found = info.customTypesAndRelations[k] + if !found { + err = multierror.Append(err, fmt.Errorf("relation '%s' exists in details of object '%s', but not in the archive", k, id)) continue } } @@ -122,7 +94,12 @@ func validateDetails(s *pb.SnapshotWithType, info *useCaseInfo) (err error) { continue } - values := pbtypes.GetStringListValue(v) + var ( + values = pbtypes.GetStringListValue(v) + isUpdateNeeded bool + newValues = make([]string, 0, len(values)) + ) + for _, val := range values { if bundle.HasRelation(domain.RelationKey(strings.TrimPrefix(val, addr.RelationKeyToIdPrefix))) || bundle.HasObjectTypeByKey(domain.TypeKey(strings.TrimPrefix(val, addr.ObjectTypeKeyToIdPrefix))) || val == addr.AnytypeProfileId { @@ -135,15 +112,31 @@ func validateDetails(s *pb.SnapshotWithType, info *useCaseInfo) (err error) { } } + if k == bundle.RelationKeySpaceDashboardId.String() && val == "lastOpened" { + continue + } + _, found := info.objects[val] if !found { if isBrokenTemplate(k, val) { fmt.Println("WARNING: object", id, "is a template with no target type included in the archive, so it will be skipped") return errSkipObject } + if isRecommendedRelationsKey(k) { + // we can exclude recommended relations that are not found, because the majority of types are not imported + fmt.Println("WARNING: type", id, "contains relation", val, "that is not included in the archive, so this relation will be excluded from the list") + isUpdateNeeded = true + continue + } err = multierror.Append(err, fmt.Errorf("failed to find target id for detail '%s: %s' of object %s", k, val, id)) + } else { + newValues = append(newValues, val) } } + + if isUpdateNeeded { + s.Snapshot.Data.Details.Fields[k] = pbtypes.StringList(newValues) + } } return err } @@ -162,14 +155,22 @@ func validateObjectTypes(s *pb.SnapshotWithType, info *useCaseInfo) (err error) } func validateBlockLinks(s *pb.SnapshotWithType, info *useCaseInfo) (err error) { - id := pbtypes.GetString(s.Snapshot.Data.Details, bundle.RelationKeyId.String()) + var ( + id = pbtypes.GetString(s.Snapshot.Data.Details, bundle.RelationKeyId.String()) + widgetLinkBlocksToDelete []string + ) + for _, b := range s.Snapshot.Data.Blocks { switch a := simple.New(b).(type) { case link.Block: target := a.Model().GetLink().TargetBlockId _, found := info.objects[target] if !found { - if s.SbType == model.SmartBlockType_Widget && isDefaultWidget(target) { + if s.SbType == model.SmartBlockType_Widget { + if isDefaultWidget(target) { + continue + } + widgetLinkBlocksToDelete = append(widgetLinkBlocksToDelete, b.Id) continue } err = multierror.Append(err, fmt.Errorf("failed to find target id for link '%s' in block '%s' of object '%s'", @@ -206,39 +207,10 @@ func validateBlockLinks(s *pb.SnapshotWithType, info *useCaseInfo) (err error) { } } } - return err -} + if err == nil && len(widgetLinkBlocksToDelete) > 0 { + err = removeWidgetBlocks(s, id, widgetLinkBlocksToDelete) + } -func validateFileKeys(s *pb.SnapshotWithType, _ *useCaseInfo) (err error) { - id := pbtypes.GetString(s.Snapshot.Data.Details, bundle.RelationKeyId.String()) - for _, r := range s.Snapshot.Data.RelationLinks { - if r.Format == model.RelationFormat_file || r.Key == bundle.RelationKeyCoverId.String() { - for _, hash := range pbtypes.GetStringList(s.Snapshot.GetData().GetDetails(), r.Key) { - if r.Format != model.RelationFormat_file { - _, err := cid.Parse(hash) - if err != nil { - continue - } - } - if !snapshotHasKeyForHash(s, hash) { - err = multierror.Append(err, fmt.Errorf("object '%s' has file detail '%s' has hash '%s' which keys are not in the snapshot", id, r.Key, hash)) - } - } - } - } - for _, b := range s.Snapshot.Data.Blocks { - if v, ok := simple.New(b).(simple.FileHashes); ok { - hashes := v.FillFileHashes([]string{}) - if len(hashes) == 0 { - continue - } - for _, hash := range hashes { - if !snapshotHasKeyForHash(s, hash) { - err = multierror.Append(err, fmt.Errorf("file block '%s' of object '%s' has hash '%s' which keys are not in the snapshot", b.Id, id, hash)) - } - } - } - } return err } @@ -299,8 +271,14 @@ func snapshotHasKeyForHash(s *pb.SnapshotWithType, hash string) bool { return false } +// these relations will be overwritten on import func isLinkRelation(k string) bool { - return k == bundle.RelationKeyLinks.String() || k == bundle.RelationKeySourceObject.String() || k == bundle.RelationKeyBacklinks.String() + return slices.Contains([]string{ + bundle.RelationKeyLinks.String(), + bundle.RelationKeySourceObject.String(), + bundle.RelationKeyBacklinks.String(), + bundle.RelationKeyMentions.String(), + }, k) } func canRelationContainObjectValues(format model.RelationFormat) bool { @@ -316,10 +294,11 @@ func canRelationContainObjectValues(format model.RelationFormat) bool { } func isDefaultWidget(target string) bool { - return lo.Contains([]string{ + return slices.Contains([]string{ widget.DefaultWidgetFavorite, widget.DefaultWidgetSet, widget.DefaultWidgetRecent, + widget.DefaultWidgetRecentOpen, widget.DefaultWidgetCollection, }, target) } @@ -327,3 +306,56 @@ func isDefaultWidget(target string) bool { func isBrokenTemplate(key, value string) bool { return key == bundle.RelationKeyTargetObjectType.String() && value == addr.MissingObject } + +func isRecommendedRelationsKey(key string) bool { + return slices.Contains([]string{ + bundle.RelationKeyRecommendedRelations.String(), + bundle.RelationKeyRecommendedFeaturedRelations.String(), + bundle.RelationKeyRecommendedHiddenRelations.String(), + bundle.RelationKeyRecommendedFileRelations.String(), + }, key) +} + +// removeWidgetBlocks removes link blocks and widget blocks from Widget object. +// For each link block we should remove parent widget block and remove its id from root's children. +// Widget object blocks structure: +// +// root +// |--- widget1 +// | |--- link1 +// | +// |--- widget2 +// |--- link2 +func removeWidgetBlocks(s *pb.SnapshotWithType, rootId string, linkBlockIds []string) error { + widgetBlockIds := make([]string, 0, len(linkBlockIds)) + var rootBlock *model.Block + + for _, b := range s.Snapshot.Data.Blocks { + if b.Id == rootId { + rootBlock = b + continue + } + // widget block has only one child - link block + if len(b.ChildrenIds) != 1 { + continue + } + if slices.Contains(linkBlockIds, b.ChildrenIds[0]) { + widgetBlockIds = append(widgetBlockIds, b.Id) + } + } + + if rootBlock == nil { + return fmt.Errorf("root block not found") + } + + rootBlock.ChildrenIds = slices.DeleteFunc(rootBlock.ChildrenIds, func(id string) bool { + return slices.Contains(widgetBlockIds, id) + }) + + blocksToDelete := slices.Concat(widgetBlockIds, linkBlockIds) + s.Snapshot.Data.Blocks = slices.DeleteFunc(s.Snapshot.Data.Blocks, func(b *model.Block) bool { + return slices.Contains(blocksToDelete, b.Id) + }) + + return nil +} diff --git a/cmd/usecasevalidator/validators_test.go b/cmd/usecasevalidator/validators_test.go new file mode 100644 index 000000000..4f17f99da --- /dev/null +++ b/cmd/usecasevalidator/validators_test.go @@ -0,0 +1,153 @@ +//go:build !nogrpcserver && !_test + +package main + +import ( + "testing" + + "github.com/gogo/protobuf/types" + "github.com/stretchr/testify/assert" + + "github.com/anyproto/anytype-heart/pb" + "github.com/anyproto/anytype-heart/pkg/lib/bundle" + "github.com/anyproto/anytype-heart/pkg/lib/localstore/addr" + "github.com/anyproto/anytype-heart/pkg/lib/pb/model" + "github.com/anyproto/anytype-heart/util/pbtypes" +) + +func TestValidateDetails(t *testing.T) { + t.Run("snapshot is valid", func(t *testing.T) { + // given + s := &pb.SnapshotWithType{Snapshot: &pb.ChangeSnapshot{Data: &model.SmartBlockSnapshotBase{ + Details: &types.Struct{Fields: map[string]*types.Value{ + bundle.RelationKeyName.String(): pbtypes.String("snap shot"), + bundle.RelationKeyType.String(): pbtypes.String(bundle.TypeKeyTask.URL()), + bundle.RelationKeyAssignee.String(): pbtypes.String("kirill"), + bundle.RelationKeyTasks.String(): pbtypes.StringList([]string{"task1", "task2"}), + bundle.RelationKeyFeaturedRelations.String(): pbtypes.StringList([]string{ + bundle.RelationKeyType.URL(), "rel-customTag", + }), + }}, + }}} + info := &useCaseInfo{ + objects: map[string]objectInfo{ + bundle.TypeKeyTask.URL(): {}, + "kirill": {}, + "task1": {}, + "task2": {}, + }, + customTypesAndRelations: map[string]customInfo{ + "rel-customTag": {}, + }, + } + + // when + err := validateDetails(s, info) + + // then + assert.NoError(t, err) + }) + + t.Run("some object is missing", func(t *testing.T) { + // given + s := &pb.SnapshotWithType{Snapshot: &pb.ChangeSnapshot{Data: &model.SmartBlockSnapshotBase{ + Details: &types.Struct{Fields: map[string]*types.Value{ + bundle.RelationKeyAssignee.String(): pbtypes.String("kirill"), + }}, + }}} + info := &useCaseInfo{} + + // when + err := validateDetails(s, info) + + // then + assert.Error(t, err) + }) + + t.Run("broken template", func(t *testing.T) { + // given + s := &pb.SnapshotWithType{Snapshot: &pb.ChangeSnapshot{Data: &model.SmartBlockSnapshotBase{ + Details: &types.Struct{Fields: map[string]*types.Value{ + bundle.RelationKeyTargetObjectType.String(): pbtypes.String(addr.MissingObject), + }}, + }}} + info := &useCaseInfo{} + + // when + err := validateDetails(s, info) + + // then + assert.Error(t, err) + assert.ErrorIs(t, errSkipObject, err) + }) + + t.Run("exclude missing recommendedRelations", func(t *testing.T) { + // given + s := &pb.SnapshotWithType{Snapshot: &pb.ChangeSnapshot{Data: &model.SmartBlockSnapshotBase{ + Details: &types.Struct{Fields: map[string]*types.Value{ + bundle.RelationKeyRecommendedRelations.String(): pbtypes.StringList([]string{ + bundle.RelationKeyCreator.BundledURL(), + bundle.RelationKeyCreatedDate.BundledURL(), + }), + bundle.RelationKeyRecommendedFeaturedRelations.String(): pbtypes.StringList([]string{ + bundle.RelationKeyType.BundledURL(), + bundle.RelationKeyTag.BundledURL(), + }), + }}, + }}} + info := &useCaseInfo{ + objects: map[string]objectInfo{ + bundle.RelationKeyCreator.BundledURL(): {}, + bundle.RelationKeyTag.BundledURL(): {}, + }, + } + + // when + err := validateDetails(s, info) + + // then + assert.NoError(t, err) + assert.Equal(t, []string{bundle.RelationKeyCreator.BundledURL()}, pbtypes.GetStringList(s.Snapshot.Data.Details, bundle.RelationKeyRecommendedRelations.String())) + assert.Equal(t, []string{bundle.RelationKeyTag.BundledURL()}, pbtypes.GetStringList(s.Snapshot.Data.Details, bundle.RelationKeyRecommendedFeaturedRelations.String())) + }) +} + +func TestRemoveWidgetBlock(t *testing.T) { + rootId := "root" + t.Run("blocks were removed", func(t *testing.T) { + // given + s := &pb.SnapshotWithType{Snapshot: &pb.ChangeSnapshot{Data: &model.SmartBlockSnapshotBase{ + Blocks: []*model.Block{ + {Id: rootId, ChildrenIds: []string{"w1", "w2", "w3"}}, + {Id: "w1", ChildrenIds: []string{"l1"}}, + {Id: "w2", ChildrenIds: []string{"l2"}}, + {Id: "w3", ChildrenIds: []string{"l3"}}, + {Id: "l1"}, {Id: "l2"}, {Id: "l3"}, + }, + }}} + + // when + err := removeWidgetBlocks(s, rootId, []string{"l2", "l3"}) + + // then + assert.NoError(t, err) + assert.Len(t, s.Snapshot.Data.Blocks, 3) + assert.Equal(t, []string{"w1"}, s.Snapshot.Data.Blocks[0].ChildrenIds) + }) + + t.Run("no root found", func(t *testing.T) { + // given + s := &pb.SnapshotWithType{Snapshot: &pb.ChangeSnapshot{Data: &model.SmartBlockSnapshotBase{ + Blocks: []*model.Block{ + {Id: "wrong root id", ChildrenIds: []string{"w1"}}, + {Id: "w1", ChildrenIds: []string{"l1"}}, {Id: "l1"}, + }, + }}} + + // when + err := removeWidgetBlocks(s, rootId, []string{"l1"}) + + // then + assert.Error(t, err) + }) +} diff --git a/core/anytype/account/service.go b/core/anytype/account/service.go index e360c8169..32ecb5de2 100644 --- a/core/anytype/account/service.go +++ b/core/anytype/account/service.go @@ -150,6 +150,7 @@ func (s *service) GetInfo(ctx context.Context) (*model.AccountInfo, error) { AnalyticsId: analyticsId, NetworkId: s.getNetworkId(), TechSpaceId: s.spaceService.TechSpaceId(), + EthereumAddress: s.wallet.GetAccountEthAddress().Hex(), }, nil } diff --git a/core/anytype/bootstrap.go b/core/anytype/bootstrap.go index f9a2d5042..756ee40d6 100644 --- a/core/anytype/bootstrap.go +++ b/core/anytype/bootstrap.go @@ -222,6 +222,9 @@ func Bootstrap(a *app.App, components ...app.Component) { Register(backlinks.New()). Register(filestore.New()). // Services + Register(collection.New()). + Register(subscription.New()). + Register(crossspacesub.New()). Register(nodeconfsource.New()). Register(nodeconfstore.New()). Register(nodeconf.New()). @@ -294,9 +297,6 @@ func Bootstrap(a *app.App, components ...app.Component) { Register(unsplash.New()). Register(restriction.New()). Register(debug.New()). - Register(collection.New()). - Register(subscription.New()). - Register(crossspacesub.New()). Register(syncsubscriptions.New()). Register(builtinobjects.New()). Register(bookmark.New()). diff --git a/core/block/chats/service.go b/core/block/chats/service.go index 96da5d47e..5d63823b7 100644 --- a/core/block/chats/service.go +++ b/core/block/chats/service.go @@ -2,17 +2,32 @@ package chats import ( "context" + "errors" + "fmt" + "sync" "github.com/anyproto/any-sync/app" + "github.com/cheggaaa/mb/v3" + "go.uber.org/zap" "github.com/anyproto/anytype-heart/core/block/cache" "github.com/anyproto/anytype-heart/core/block/editor/chatobject" + "github.com/anyproto/anytype-heart/core/domain" + "github.com/anyproto/anytype-heart/core/event" "github.com/anyproto/anytype-heart/core/session" + subscriptionservice "github.com/anyproto/anytype-heart/core/subscription" + "github.com/anyproto/anytype-heart/core/subscription/crossspacesub" + "github.com/anyproto/anytype-heart/pb" + "github.com/anyproto/anytype-heart/pkg/lib/bundle" + "github.com/anyproto/anytype-heart/pkg/lib/database" + "github.com/anyproto/anytype-heart/pkg/lib/logging" "github.com/anyproto/anytype-heart/pkg/lib/pb/model" ) const CName = "core.block.chats" +var log = logging.Logger(CName).Desugar() + type Service interface { AddMessage(ctx context.Context, sessionCtx session.Context, chatObjectId string, message *model.ChatMessage) (string, error) EditMessage(ctx context.Context, chatObjectId string, messageId string, newMessage *model.ChatMessage) error @@ -20,16 +35,27 @@ type Service interface { DeleteMessage(ctx context.Context, chatObjectId string, messageId string) error GetMessages(ctx context.Context, chatObjectId string, req chatobject.GetMessagesRequest) ([]*model.ChatMessage, error) GetMessagesByIds(ctx context.Context, chatObjectId string, messageIds []string) ([]*model.ChatMessage, error) - SubscribeLastMessages(ctx context.Context, chatObjectId string, limit int) ([]*model.ChatMessage, int, error) - Unsubscribe(chatObjectId string) error + SubscribeLastMessages(ctx context.Context, chatObjectId string, limit int, subId string) ([]*model.ChatMessage, int, error) + Unsubscribe(chatObjectId string, subId string) error - app.Component + SubscribeToMessagePreviews(ctx context.Context) (string, error) + + app.ComponentRunnable } var _ Service = (*service)(nil) type service struct { - objectGetter cache.ObjectGetter + objectGetter cache.ObjectGetter + crossSpaceSubService crossspacesub.Service + + componentCtx context.Context + componentCtxCancel context.CancelFunc + + eventSender event.Sender + + lock sync.Mutex + chatObjectsSubQueue *mb.MB[*pb.EventMessage] } func New() Service { @@ -42,10 +68,113 @@ func (s *service) Name() string { func (s *service) Init(a *app.App) error { s.objectGetter = app.MustComponent[cache.ObjectGetter](a) + s.crossSpaceSubService = app.MustComponent[crossspacesub.Service](a) + s.eventSender = app.MustComponent[event.Sender](a) + s.componentCtx, s.componentCtxCancel = context.WithCancel(context.Background()) return nil } +const ( + allChatsSubscriptionId = "allChatObjects" +) + +func (s *service) SubscribeToMessagePreviews(ctx context.Context) (string, error) { + s.lock.Lock() + if s.chatObjectsSubQueue != nil { + s.lock.Unlock() + return chatobject.LastMessageSubscriptionId, nil + } + s.chatObjectsSubQueue = mb.New[*pb.EventMessage](0) + s.lock.Unlock() + + resp, err := s.crossSpaceSubService.Subscribe(subscriptionservice.SubscribeRequest{ + SubId: allChatsSubscriptionId, + InternalQueue: s.chatObjectsSubQueue, + Keys: []string{bundle.RelationKeyId.String()}, + NoDepSubscription: true, + Filters: []database.FilterRequest{ + { + RelationKey: bundle.RelationKeyLayout, + Condition: model.BlockContentDataviewFilter_Equal, + Value: domain.Int64(model.ObjectType_chatDerived), + }, + }, + }) + if err != nil { + return "", fmt.Errorf("cross-space sub: %w", err) + } + for _, rec := range resp.Records { + err := s.onChatAdded(rec.GetString(bundle.RelationKeyId)) + if err != nil { + log.Error("init lastMessage subscription", zap.Error(err)) + } + } + go s.monitorChats() + + return chatobject.LastMessageSubscriptionId, nil +} + +func (s *service) Run(ctx context.Context) error { + return nil +} + +func (s *service) monitorChats() { + matcher := subscriptionservice.EventMatcher{ + OnAdd: func(add *pb.EventObjectSubscriptionAdd) { + err := s.onChatAdded(add.Id) + if err != nil { + log.Error("init last message subscription", zap.Error(err)) + } + }, + OnRemove: func(remove *pb.EventObjectSubscriptionRemove) { + err := s.Unsubscribe(remove.Id, chatobject.LastMessageSubscriptionId) + if err != nil && !errors.Is(err, domain.ErrObjectNotFound) { + log.Error("unsubscribe from the last message", zap.Error(err)) + } + }, + } + for { + msg, err := s.chatObjectsSubQueue.WaitOne(s.componentCtx) + if errors.Is(err, mb.ErrClosed) { + return + } + if err != nil { + log.Error("wait message", zap.Error(err)) + return + } + matcher.Match(msg) + } +} + +func (s *service) onChatAdded(chatObjectId string) error { + return cache.Do(s.objectGetter, chatObjectId, func(sb chatobject.StoreObject) error { + var err error + _, _, err = sb.SubscribeLastMessages(s.componentCtx, chatobject.LastMessageSubscriptionId, 1, true) + if err != nil { + return err + } + return nil + }) +} + +func (s *service) Close(ctx context.Context) error { + var err error + s.lock.Lock() + defer s.lock.Unlock() + + if s.chatObjectsSubQueue != nil { + err = s.chatObjectsSubQueue.Close() + } + + s.componentCtxCancel() + + err = errors.Join(err, + s.crossSpaceSubService.Unsubscribe(allChatsSubscriptionId), + ) + return err +} + func (s *service) AddMessage(ctx context.Context, sessionCtx session.Context, chatObjectId string, message *model.ChatMessage) (string, error) { var messageId string err := cache.Do(s.objectGetter, chatObjectId, func(sb chatobject.StoreObject) error { @@ -100,14 +229,14 @@ func (s *service) GetMessagesByIds(ctx context.Context, chatObjectId string, mes return res, err } -func (s *service) SubscribeLastMessages(ctx context.Context, chatObjectId string, limit int) ([]*model.ChatMessage, int, error) { +func (s *service) SubscribeLastMessages(ctx context.Context, chatObjectId string, limit int, subId string) ([]*model.ChatMessage, int, error) { var ( msgs []*model.ChatMessage numBefore int ) err := cache.Do(s.objectGetter, chatObjectId, func(sb chatobject.StoreObject) error { var err error - msgs, numBefore, err = sb.SubscribeLastMessages(ctx, limit) + msgs, numBefore, err = sb.SubscribeLastMessages(ctx, subId, limit, false) if err != nil { return err } @@ -116,8 +245,8 @@ func (s *service) SubscribeLastMessages(ctx context.Context, chatObjectId string return msgs, numBefore, err } -func (s *service) Unsubscribe(chatObjectId string) error { +func (s *service) Unsubscribe(chatObjectId string, subId string) error { return cache.Do(s.objectGetter, chatObjectId, func(sb chatobject.StoreObject) error { - return sb.Unsubscribe() + return sb.Unsubscribe(subId) }) } diff --git a/core/block/editor/chatobject/chathandler.go b/core/block/editor/chatobject/chathandler.go index 028301d13..34bb992d5 100644 --- a/core/block/editor/chatobject/chathandler.go +++ b/core/block/editor/chatobject/chathandler.go @@ -43,7 +43,7 @@ func (d ChatHandler) BeforeCreate(ctx context.Context, ch storestate.ChangeOp) ( model := msg.toModel() model.OrderId = ch.Change.Order - d.subscription.add(model) + d.subscription.add(ch.Change.PrevOrderId, model) return } diff --git a/core/block/editor/chatobject/chatobject.go b/core/block/editor/chatobject/chatobject.go index 2f303dcc4..d1bcf6f4f 100644 --- a/core/block/editor/chatobject/chatobject.go +++ b/core/block/editor/chatobject/chatobject.go @@ -19,6 +19,8 @@ import ( "github.com/anyproto/anytype-heart/core/event" "github.com/anyproto/anytype-heart/core/session" "github.com/anyproto/anytype-heart/pb" + "github.com/anyproto/anytype-heart/pkg/lib/localstore/objectstore/spaceindex" + "github.com/anyproto/anytype-heart/pkg/lib/logging" "github.com/anyproto/anytype-heart/pkg/lib/pb/model" ) @@ -28,6 +30,8 @@ const ( ascOrder = "_o.id" ) +var log = logging.Logger("core.block.editor.chatobject").Desugar() + type StoreObject interface { smartblock.SmartBlock anystoredebug.AnystoreDebug @@ -38,9 +42,9 @@ type StoreObject interface { EditMessage(ctx context.Context, messageId string, newMessage *model.ChatMessage) error ToggleMessageReaction(ctx context.Context, messageId string, emoji string) error DeleteMessage(ctx context.Context, messageId string) error - SubscribeLastMessages(ctx context.Context, limit int) ([]*model.ChatMessage, int, error) + SubscribeLastMessages(ctx context.Context, subId string, limit int, asyncInit bool) ([]*model.ChatMessage, int, error) MarkSeenHeads(heads []string) - Unsubscribe() error + Unsubscribe(subId string) error } type GetMessagesRequest struct { @@ -64,11 +68,12 @@ type storeObject struct { eventSender event.Sender subscription *subscription crdtDb anystore.DB + spaceIndex spaceindex.Store arenaPool *anyenc.ArenaPool } -func New(sb smartblock.SmartBlock, accountService AccountService, eventSender event.Sender, crdtDb anystore.DB) StoreObject { +func New(sb smartblock.SmartBlock, accountService AccountService, eventSender event.Sender, crdtDb anystore.DB, spaceIndex spaceindex.Store) StoreObject { return &storeObject{ SmartBlock: sb, locker: sb.(smartblock.Locker), @@ -76,6 +81,7 @@ func New(sb smartblock.SmartBlock, accountService AccountService, eventSender ev arenaPool: &anyenc.ArenaPool{}, eventSender: eventSender, crdtDb: crdtDb, + spaceIndex: spaceIndex, } } @@ -84,7 +90,7 @@ func (s *storeObject) Init(ctx *smartblock.InitContext) error { if err != nil { return err } - s.subscription = newSubscription(s.SpaceID(), s.Id(), s.eventSender) + s.subscription = newSubscription(s.SpaceID(), s.Id(), s.eventSender, s.spaceIndex) stateStore, err := storestate.New(ctx.Ctx, s.Id(), s.crdtDb, ChatHandler{ subscription: s.subscription, @@ -312,13 +318,20 @@ func (s *storeObject) hasMyReaction(ctx context.Context, arena *anyenc.Arena, me return false, nil } -func (s *storeObject) SubscribeLastMessages(ctx context.Context, limit int) ([]*model.ChatMessage, int, error) { +func (s *storeObject) SubscribeLastMessages(ctx context.Context, subId string, limit int, asyncInit bool) ([]*model.ChatMessage, int, error) { coll, err := s.store.Collection(ctx, collectionName) if err != nil { return nil, 0, fmt.Errorf("get collection: %w", err) } + + txn, err := s.store.NewTx(ctx) + if err != nil { + return nil, 0, fmt.Errorf("init read transaction: %w", err) + } + defer txn.Commit() + query := coll.Find(nil).Sort(descOrder).Limit(uint(limit)) - messages, err := s.queryMessages(ctx, query) + messages, err := s.queryMessages(txn.Context(), query) if err != nil { return nil, 0, fmt.Errorf("query messages: %w", err) } @@ -327,13 +340,29 @@ func (s *storeObject) SubscribeLastMessages(ctx context.Context, limit int) ([]* return messages[i].OrderId < messages[j].OrderId }) - s.subscription.enable() + s.subscription.subscribe(subId) + if asyncInit { + var previousOrderId string + if len(messages) > 0 { + previousOrderId, err = txn.GetPrevOrderId(messages[0].OrderId) + if err != nil { + return nil, 0, fmt.Errorf("get previous order id: %w", err) + } + } - return messages, 0, nil + for _, message := range messages { + s.subscription.add(previousOrderId, message) + previousOrderId = message.OrderId + } + s.subscription.flush() + return nil, 0, nil + } else { + return messages, 0, nil + } } -func (s *storeObject) Unsubscribe() error { - s.subscription.close() +func (s *storeObject) Unsubscribe(subId string) error { + s.subscription.unsubscribe(subId) return nil } @@ -341,7 +370,7 @@ func (s *storeObject) TryClose(objectTTL time.Duration) (res bool, err error) { if !s.locker.TryLock() { return false, nil } - isActive := s.subscription.enabled + isActive := s.subscription.isActive() s.Unlock() if isActive { diff --git a/core/block/editor/chatobject/chatobject_test.go b/core/block/editor/chatobject/chatobject_test.go index 15407a37f..262aced19 100644 --- a/core/block/editor/chatobject/chatobject_test.go +++ b/core/block/editor/chatobject/chatobject_test.go @@ -21,6 +21,7 @@ import ( "github.com/anyproto/anytype-heart/core/event/mock_event" "github.com/anyproto/anytype-heart/core/session" "github.com/anyproto/anytype-heart/pb" + "github.com/anyproto/anytype-heart/pkg/lib/localstore/objectstore/spaceindex" "github.com/anyproto/anytype-heart/pkg/lib/pb/model" ) @@ -58,7 +59,9 @@ func newFixture(t *testing.T) *fixture { sb := smarttest.New("chatId1") - object := New(sb, accountService, eventSender, db) + spaceIndex := spaceindex.NewStoreFixture(t) + + object := New(sb, accountService, eventSender, db, spaceIndex) fx := &fixture{ storeObject: object.(*storeObject), diff --git a/core/block/editor/chatobject/subscription.go b/core/block/editor/chatobject/subscription.go index 76a83c3fc..5b5f020dd 100644 --- a/core/block/editor/chatobject/subscription.go +++ b/core/block/editor/chatobject/subscription.go @@ -2,13 +2,22 @@ package chatobject import ( "slices" + "time" + "github.com/hashicorp/golang-lru/v2/expirable" + "go.uber.org/zap" + + "github.com/anyproto/anytype-heart/core/domain" "github.com/anyproto/anytype-heart/core/event" "github.com/anyproto/anytype-heart/core/session" "github.com/anyproto/anytype-heart/pb" + "github.com/anyproto/anytype-heart/pkg/lib/localstore/objectstore/spaceindex" "github.com/anyproto/anytype-heart/pkg/lib/pb/model" + "github.com/anyproto/anytype-heart/util/slice" ) +const LastMessageSubscriptionId = "lastMessage" + type subscription struct { spaceId string chatId string @@ -18,23 +27,39 @@ type subscription struct { eventsBuffer []*pb.EventMessage - enabled bool + spaceIndex spaceindex.Store + + identityCache *expirable.LRU[string, *domain.Details] + + ids []string } -func newSubscription(spaceId string, chatId string, eventSender event.Sender) *subscription { +func newSubscription(spaceId string, chatId string, eventSender event.Sender, spaceIndex spaceindex.Store) *subscription { return &subscription{ - spaceId: spaceId, - chatId: chatId, - eventSender: eventSender, + spaceId: spaceId, + chatId: chatId, + eventSender: eventSender, + spaceIndex: spaceIndex, + identityCache: expirable.NewLRU[string, *domain.Details](50, nil, time.Minute), } } -func (s *subscription) enable() { - s.enabled = true +func (s *subscription) subscribe(subId string) { + if !slices.Contains(s.ids, subId) { + s.ids = append(s.ids, subId) + } } -func (s *subscription) close() { - s.enabled = false +func (s *subscription) unsubscribe(subId string) { + s.ids = slice.Remove(s.ids, subId) +} + +func (s *subscription) isActive() bool { + return len(s.ids) > 0 +} + +func (s *subscription) withDeps() bool { + return slices.Equal(s.ids, []string{LastMessageSubscriptionId}) } // setSessionContext sets the session context for the current operation @@ -59,20 +84,54 @@ func (s *subscription) flush() { s.sessionContext.SetMessages(s.chatId, slices.Clone(s.eventsBuffer)) s.eventSender.BroadcastToOtherSessions(s.sessionContext.ID(), ev) s.sessionContext = nil - } else if s.enabled { + } else if s.isActive() { s.eventSender.Broadcast(ev) } } -func (s *subscription) add(message *model.ChatMessage) { +func (s *subscription) getIdentityDetails(identity string) (*domain.Details, error) { + cached, ok := s.identityCache.Get(identity) + if ok { + return cached, nil + } + details, err := s.spaceIndex.GetDetails(domain.NewParticipantId(s.spaceId, identity)) + if err != nil { + return nil, err + } + s.identityCache.Add(identity, details) + return details, nil +} + +func (s *subscription) add(prevOrderId string, message *model.ChatMessage) { if !s.canSend() { return } ev := &pb.EventChatAdd{ - Id: message.Id, - Message: message, - OrderId: message.OrderId, + Id: message.Id, + Message: message, + OrderId: message.OrderId, + AfterOrderId: prevOrderId, + SubIds: slices.Clone(s.ids), } + + if s.withDeps() { + identityDetails, err := s.getIdentityDetails(message.Creator) + if err != nil { + log.Error("get identity details", zap.Error(err)) + } else { + ev.Dependencies = append(ev.Dependencies, identityDetails.ToProto()) + } + + for _, attachment := range message.Attachments { + attachmentDetails, err := s.spaceIndex.GetDetails(attachment.Target) + if err != nil { + log.Error("get attachment details", zap.Error(err)) + } else { + ev.Dependencies = append(ev.Dependencies, attachmentDetails.ToProto()) + } + } + } + s.eventsBuffer = append(s.eventsBuffer, event.NewMessage(s.spaceId, &pb.EventMessageValueOfChatAdd{ ChatAdd: ev, })) @@ -80,7 +139,8 @@ func (s *subscription) add(message *model.ChatMessage) { func (s *subscription) delete(messageId string) { ev := &pb.EventChatDelete{ - Id: messageId, + Id: messageId, + SubIds: slices.Clone(s.ids), } s.eventsBuffer = append(s.eventsBuffer, event.NewMessage(s.spaceId, &pb.EventMessageValueOfChatDelete{ ChatDelete: ev, @@ -94,6 +154,7 @@ func (s *subscription) updateFull(message *model.ChatMessage) { ev := &pb.EventChatUpdate{ Id: message.Id, Message: message, + SubIds: slices.Clone(s.ids), } s.eventsBuffer = append(s.eventsBuffer, event.NewMessage(s.spaceId, &pb.EventMessageValueOfChatUpdate{ ChatUpdate: ev, @@ -107,6 +168,7 @@ func (s *subscription) updateReactions(message *model.ChatMessage) { ev := &pb.EventChatUpdateReactions{ Id: message.Id, Reactions: message.Reactions, + SubIds: slices.Clone(s.ids), } s.eventsBuffer = append(s.eventsBuffer, event.NewMessage(s.spaceId, &pb.EventMessageValueOfChatUpdateReactions{ ChatUpdateReactions: ev, @@ -117,7 +179,7 @@ func (s *subscription) canSend() bool { if s.sessionContext != nil { return true } - if !s.enabled { + if !s.isActive() { return false } return true diff --git a/core/block/editor/chatobject/subscription_test.go b/core/block/editor/chatobject/subscription_test.go index f3da28821..04c10ac6f 100644 --- a/core/block/editor/chatobject/subscription_test.go +++ b/core/block/editor/chatobject/subscription_test.go @@ -21,7 +21,7 @@ func TestSubscription(t *testing.T) { assert.NotEmpty(t, messageId) } - messages, _, err := fx.SubscribeLastMessages(ctx, 5) + messages, _, err := fx.SubscribeLastMessages(ctx, "subId", 5, false) require.NoError(t, err) wantTexts := []string{"text 6", "text 7", "text 8", "text 9", "text 10"} for i, msg := range messages { diff --git a/core/block/editor/factory.go b/core/block/editor/factory.go index d6860c54e..9b89bc6e7 100644 --- a/core/block/editor/factory.go +++ b/core/block/editor/factory.go @@ -170,7 +170,7 @@ func (f *ObjectFactory) produceSmartblock(space smartblock.Space) (smartblock.Sm } func (f *ObjectFactory) New(space smartblock.Space, sbType coresb.SmartBlockType) (smartblock.SmartBlock, error) { - sb, store := f.produceSmartblock(space) + sb, spaceIndex := f.produceSmartblock(space) switch sbType { case coresb.SmartBlockTypePage, coresb.SmartBlockTypeDate, @@ -183,9 +183,9 @@ func (f *ObjectFactory) New(space smartblock.Space, sbType coresb.SmartBlockType case coresb.SmartBlockTypeObjectType: return f.newObjectType(space.Id(), sb), nil case coresb.SmartBlockTypeArchive: - return NewArchive(sb, store), nil + return NewArchive(sb, spaceIndex), nil case coresb.SmartBlockTypeHome: - return NewDashboard(sb, store, f.layoutConverter), nil + return NewDashboard(sb, spaceIndex, f.layoutConverter), nil case coresb.SmartBlockTypeProfilePage, coresb.SmartBlockTypeAnytypeProfile: return f.newProfile(space.Id(), sb), nil @@ -195,25 +195,25 @@ func (f *ObjectFactory) New(space smartblock.Space, sbType coresb.SmartBlockType coresb.SmartBlockTypeBundledTemplate: return f.newTemplate(space.Id(), sb), nil case coresb.SmartBlockTypeWorkspace: - return f.newWorkspace(sb, store), nil + return f.newWorkspace(sb, spaceIndex), nil case coresb.SmartBlockTypeSpaceView: return f.newSpaceView(sb), nil case coresb.SmartBlockTypeMissingObject: return NewMissingObject(sb), nil case coresb.SmartBlockTypeWidget: - return NewWidgetObject(sb, store, f.layoutConverter), nil + return NewWidgetObject(sb, spaceIndex, f.layoutConverter), nil case coresb.SmartBlockTypeNotificationObject: return NewNotificationObject(sb), nil case coresb.SmartBlockTypeSubObject: return nil, fmt.Errorf("subobject not supported via factory") case coresb.SmartBlockTypeParticipant: - return f.newParticipant(space.Id(), sb, store), nil + return f.newParticipant(space.Id(), sb, spaceIndex), nil case coresb.SmartBlockTypeDevicesObject: return NewDevicesObject(sb, f.deviceService), nil case coresb.SmartBlockTypeChatDerivedObject: - return chatobject.New(sb, f.accountService, f.eventSender, f.objectStore.GetCrdtDb(space.Id())), nil + return chatobject.New(sb, f.accountService, f.eventSender, f.objectStore.GetCrdtDb(space.Id()), spaceIndex), nil case coresb.SmartBlockTypeAccountObject: - return accountobject.New(sb, f.accountService.Keys(), store, f.layoutConverter, f.fileObjectService, f.objectStore.GetCrdtDb(space.Id()), f.config), nil + return accountobject.New(sb, f.accountService.Keys(), spaceIndex, f.layoutConverter, f.fileObjectService, f.objectStore.GetCrdtDb(space.Id()), f.config), nil default: return nil, fmt.Errorf("unexpected smartblock type: %v", sbType) } diff --git a/core/block/editor/objecttype.go b/core/block/editor/objecttype.go index 890762e50..227e157de 100644 --- a/core/block/editor/objecttype.go +++ b/core/block/editor/objecttype.go @@ -133,7 +133,12 @@ func (ot *ObjectType) featuredRelationsMigration(s *state.State) { return } - featuredRelationKeys := relationutils.DefaultFeaturedRelationKeys() + var typeKey domain.TypeKey + if uk, err := domain.UnmarshalUniqueKey(s.Details().GetString(bundle.RelationKeyUniqueKey)); err == nil { + typeKey = domain.TypeKey(uk.InternalKey()) + } + + featuredRelationKeys := relationutils.DefaultFeaturedRelationKeys(typeKey) featuredRelationIds := make([]string, 0, len(featuredRelationKeys)) for _, key := range featuredRelationKeys { id, err := ot.Space().DeriveObjectID(context.Background(), domain.MustUniqueKey(coresb.SmartBlockTypeRelation, key.String())) diff --git a/core/block/editor/storestate/state.go b/core/block/editor/storestate/state.go index 17e54b465..2e9384a47 100644 --- a/core/block/editor/storestate/state.go +++ b/core/block/editor/storestate/state.go @@ -76,19 +76,21 @@ func New(ctx context.Context, id string, db anystore.DB, handlers ...Handler) (s } type ChangeSet struct { - Id string - Order string - Creator string - Changes []*pb.StoreChangeContent - Timestamp int64 + Id string + PrevOrderId string + Order string + Creator string + Changes []*pb.StoreChangeContent + Timestamp int64 } type Change struct { - Id string - Order string - Creator string - Change *pb.StoreChangeContent - Timestamp int64 + Id string + PrevOrderId string + Order string + Creator string + Change *pb.StoreChangeContent + Timestamp int64 } type StoreState struct { @@ -134,11 +136,12 @@ func (ss *StoreState) Collection(ctx context.Context, name string) (anystore.Col func (ss *StoreState) applyChangeSet(ctx context.Context, set ChangeSet) (err error) { for _, ch := range set.Changes { applyErr := ss.applyChange(ctx, Change{ - Id: set.Id, - Order: set.Order, - Change: ch, - Creator: set.Creator, - Timestamp: set.Timestamp, + Id: set.Id, + PrevOrderId: set.PrevOrderId, + Order: set.Order, + Change: ch, + Creator: set.Creator, + Timestamp: set.Timestamp, }) if applyErr == nil || errors.Is(applyErr, ErrIgnore) { continue diff --git a/core/block/editor/storestate/state_test.go b/core/block/editor/storestate/state_test.go index 1a77c2477..4b3f07cd9 100644 --- a/core/block/editor/storestate/state_test.go +++ b/core/block/editor/storestate/state_test.go @@ -49,6 +49,28 @@ func TestStoreStateTx_GetOrder(t *testing.T) { }) } +func TestStoreStateTx_GetPrevOrderId(t *testing.T) { + fx := newFixture(t, "test", DefaultHandler{Name: "tcoll"}) + tx, err := fx.NewTx(ctx) + require.NoError(t, err) + + err = tx.SetOrder("ch1", "1") + require.NoError(t, err) + err = tx.SetOrder("ch2", "2") + require.NoError(t, err) + + prev, err := tx.GetPrevOrderId("1") + require.NoError(t, err) + assert.Equal(t, "", prev) + + prev, err = tx.GetPrevOrderId("2") + require.NoError(t, err) + assert.Equal(t, "1", prev) + + err = tx.Commit() + require.NoError(t, err) +} + func TestStoreStateTx_ApplyChangeSet(t *testing.T) { t.Run("create", func(t *testing.T) { fx := newFixture(t, "objId", DefaultHandler{Name: "testColl"}) diff --git a/core/block/editor/storestate/tx.go b/core/block/editor/storestate/tx.go index 223e7d011..b01e23062 100644 --- a/core/block/editor/storestate/tx.go +++ b/core/block/editor/storestate/tx.go @@ -3,10 +3,12 @@ package storestate import ( "context" "errors" + "fmt" "time" anystore "github.com/anyproto/any-store" "github.com/anyproto/any-store/anyenc" + "github.com/anyproto/any-store/query" ) const maxOrderId = "_max" @@ -20,6 +22,10 @@ type StoreStateTx struct { maxOrderChanged bool } +func (stx *StoreStateTx) Context() context.Context { + return stx.ctx +} + func (stx *StoreStateTx) init() (err error) { stx.maxOrder, err = stx.GetOrder(maxOrderId) if err != nil && !errors.Is(err, ErrOrderNotFound) { @@ -28,6 +34,26 @@ func (stx *StoreStateTx) init() (err error) { return nil } +func (stx *StoreStateTx) GetPrevOrderId(orderId string) (string, error) { + iter, err := stx.state.collChangeOrders.Find(query.Key{ + Path: []string{"o"}, + Filter: query.NewComp(query.CompOpLt, orderId), + }).Sort("-o").Limit(1).Iter(stx.ctx) + if err != nil { + return "", fmt.Errorf("open iterator: %w", err) + } + defer iter.Close() + + if !iter.Next() { + return "", iter.Err() + } + doc, err := iter.Doc() + if err != nil { + return "", fmt.Errorf("get prev order id: %w", err) + } + return string(doc.Value().GetStringBytes("o")), nil +} + func (stx *StoreStateTx) GetOrder(changeId string) (orderId string, err error) { doc, err := stx.state.collChangeOrders.FindId(stx.ctx, changeId) if err != nil { diff --git a/core/block/export/export.go b/core/block/export/export.go index 78983bdda..bfe459ba7 100644 --- a/core/block/export/export.go +++ b/core/block/export/export.go @@ -734,7 +734,7 @@ func (e *exportContext) getRelationsFromStore(relations []string) ([]database.Re func (e *exportContext) addRelation(relation database.Record) { relationKey := domain.RelationKey(relation.Details.GetString(bundle.RelationKeyRelationKey)) - if relationKey != "" && !bundle.HasRelation(relationKey) { + if relationKey != "" { id := relation.Details.GetString(bundle.RelationKeyId) e.docs[id] = &Doc{Details: relation.Details, isLink: e.isLinkProcess} } diff --git a/core/block/export/export_test.go b/core/block/export/export_test.go index a9d70d2cd..a10a762f4 100644 --- a/core/block/export/export_test.go +++ b/core/block/export/export_test.go @@ -1690,7 +1690,7 @@ func Test_docsForExport(t *testing.T) { // then assert.Nil(t, err) - assert.Equal(t, 3, len(expCtx.docs)) + assert.Equal(t, 4, len(expCtx.docs)) }) t.Run("objects without file", func(t *testing.T) { // given diff --git a/core/block/object/objectcreator/installer.go b/core/block/object/objectcreator/installer.go index d01939059..bbabc71b5 100644 --- a/core/block/object/objectcreator/installer.go +++ b/core/block/object/objectcreator/installer.go @@ -268,7 +268,7 @@ func (s *service) prepareDetailsForInstallingObject( switch uk.SmartblockType() { case coresb.SmartBlockTypeBundledObjectType, coresb.SmartBlockTypeObjectType: - relationKeys, isAlreadyFilled, err := relationutils.FillRecommendedRelations(ctx, spc, details) + relationKeys, isAlreadyFilled, err := relationutils.FillRecommendedRelations(ctx, spc, details, domain.TypeKey(uk.InternalKey())) if err != nil { return nil, fmt.Errorf("fill recommended relations: %w", err) } diff --git a/core/block/object/objectcreator/object_type.go b/core/block/object/objectcreator/object_type.go index 432906da0..39fd54fe9 100644 --- a/core/block/object/objectcreator/object_type.go +++ b/core/block/object/objectcreator/object_type.go @@ -30,7 +30,7 @@ func (s *service) createObjectType(ctx context.Context, space clientspace.Space, object.SetInt64(bundle.RelationKeyRecommendedLayout, int64(model.ObjectType_basic)) } - keys, isAlreadyFilled, err := relationutils.FillRecommendedRelations(ctx, space, object) + keys, isAlreadyFilled, err := relationutils.FillRecommendedRelations(ctx, space, object, domain.TypeKey(uniqueKey.InternalKey())) if err != nil { return "", nil, fmt.Errorf("fill recommended relations: %w", err) } diff --git a/core/block/source/store.go b/core/block/source/store.go index b0ab8cf31..038e30844 100644 --- a/core/block/source/store.go +++ b/core/block/source/store.go @@ -153,6 +153,7 @@ func (s *store) PushStoreChange(ctx context.Context, params PushStoreChangeParam if err != nil { return "", fmt.Errorf("marshal change: %w", err) } + addResult, err := s.ObjectTree.AddContentWithValidator(ctx, objecttree.SignableChangeContent{ Data: data, Key: s.accountKeysService.Account().SignKey, @@ -160,13 +161,17 @@ func (s *store) PushStoreChange(ctx context.Context, params PushStoreChangeParam DataType: dataType, Timestamp: params.Time.Unix(), }, func(change objecttree.StorageChange) error { - // TODO: get order here + prevOrder, err := tx.GetPrevOrderId(change.OrderId) + if err != nil { + return fmt.Errorf("get prev order id: %w", err) + } err = tx.ApplyChangeSet(storestate.ChangeSet{ - Id: change.Id, - Order: change.OrderId, - Changes: params.Changes, - Creator: s.accountService.AccountID(), - Timestamp: params.Time.Unix(), + Id: change.Id, + PrevOrderId: prevOrder, + Order: change.OrderId, + Changes: params.Changes, + Creator: s.accountService.AccountID(), + Timestamp: params.Time.Unix(), }) if err != nil { return fmt.Errorf("apply change set: %w", err) @@ -202,8 +207,9 @@ func (s *store) update(ctx context.Context, tree objecttree.ObjectTree) error { return err } applier := &storeApply{ - tx: tx, - ot: tree, + tx: tx, + ot: tree, + needFetchPrevOrderId: true, } if err = applier.Apply(); err != nil { return errors.Join(tx.Rollback(), err) diff --git a/core/block/source/store_apply.go b/core/block/source/store_apply.go index b8ef83e84..b8ea2684e 100644 --- a/core/block/source/store_apply.go +++ b/core/block/source/store_apply.go @@ -16,31 +16,39 @@ type storeApply struct { ot objecttree.ObjectTree allIsNew bool - prevOrder string - prevChange *objecttree.Change - - nextCachedOrder string - nextCacheChange map[string]struct{} + needFetchPrevOrderId bool } -func (a *storeApply) Apply() (err error) { - iterErr := a.ot.IterateRoot(UnmarshalStoreChange, func(change *objecttree.Change) bool { +func (a *storeApply) Apply() error { + var lastErr error + + err := a.ot.IterateRoot(UnmarshalStoreChange, func(change *objecttree.Change) bool { // not a new change - remember and continue if !a.allIsNew && !change.IsNew { return true } - if err = a.applyChange(change); err != nil { + + var prevOrderId string + if a.needFetchPrevOrderId { + prevOrderId, lastErr = a.tx.GetPrevOrderId(change.OrderId) + if lastErr != nil { + log.With("error", lastErr).Error("get prev order") + return false + } + } + + lastErr = a.applyChange(prevOrderId, change) + if lastErr != nil { return false } + return true }) - if err == nil && iterErr != nil { - return iterErr - } - return + + return errors.Join(err, lastErr) } -func (a *storeApply) applyChange(change *objecttree.Change) (err error) { +func (a *storeApply) applyChange(prevOrderId string, change *objecttree.Change) (err error) { storeChange, ok := change.Model.(*pb.StoreChange) if !ok { // if it is root @@ -50,11 +58,12 @@ func (a *storeApply) applyChange(change *objecttree.Change) (err error) { return fmt.Errorf("unexpected change content type: %T", change.Model) } set := storestate.ChangeSet{ - Id: change.Id, - Order: change.OrderId, - Changes: storeChange.ChangeSet, - Creator: change.Identity.Account(), - Timestamp: change.Timestamp, + Id: change.Id, + PrevOrderId: prevOrderId, + Order: change.OrderId, + Changes: storeChange.ChangeSet, + Creator: change.Identity.Account(), + Timestamp: change.Timestamp, } err = a.tx.ApplyChangeSet(set) // Skip invalid changes diff --git a/core/chats.go b/core/chats.go index db3e040e1..83f6b2f73 100644 --- a/core/chats.go +++ b/core/chats.go @@ -98,7 +98,7 @@ func (mw *Middleware) ChatGetMessagesByIds(cctx context.Context, req *pb.RpcChat func (mw *Middleware) ChatSubscribeLastMessages(cctx context.Context, req *pb.RpcChatSubscribeLastMessagesRequest) *pb.RpcChatSubscribeLastMessagesResponse { chatService := mustService[chats.Service](mw) - messages, numBefore, err := chatService.SubscribeLastMessages(cctx, req.ChatObjectId, int(req.Limit)) + messages, numBefore, err := chatService.SubscribeLastMessages(cctx, req.ChatObjectId, int(req.Limit), req.SubId) code := mapErrorCode[pb.RpcChatSubscribeLastMessagesResponseErrorCode](err) return &pb.RpcChatSubscribeLastMessagesResponse{ Messages: messages, @@ -113,7 +113,7 @@ func (mw *Middleware) ChatSubscribeLastMessages(cctx context.Context, req *pb.Rp func (mw *Middleware) ChatUnsubscribe(cctx context.Context, req *pb.RpcChatUnsubscribeRequest) *pb.RpcChatUnsubscribeResponse { chatService := mustService[chats.Service](mw) - err := chatService.Unsubscribe(req.ChatObjectId) + err := chatService.Unsubscribe(req.ChatObjectId, req.SubId) code := mapErrorCode[pb.RpcChatUnsubscribeResponseErrorCode](err) return &pb.RpcChatUnsubscribeResponse{ Error: &pb.RpcChatUnsubscribeResponseError{ @@ -122,3 +122,17 @@ func (mw *Middleware) ChatUnsubscribe(cctx context.Context, req *pb.RpcChatUnsub }, } } + +func (mw *Middleware) ChatSubscribeToMessagePreviews(cctx context.Context, req *pb.RpcChatSubscribeToMessagePreviewsRequest) *pb.RpcChatSubscribeToMessagePreviewsResponse { + chatService := mustService[chats.Service](mw) + + subId, err := chatService.SubscribeToMessagePreviews(cctx) + code := mapErrorCode[pb.RpcChatSubscribeToMessagePreviewsResponseErrorCode](err) + return &pb.RpcChatSubscribeToMessagePreviewsResponse{ + SubId: subId, + Error: &pb.RpcChatSubscribeToMessagePreviewsResponseError{ + Code: code, + Description: getErrorDescription(err), + }, + } +} diff --git a/core/debug/exporter/exporter.go b/core/debug/exporter/exporter.go index f0d99d9d8..e55a9e8df 100644 --- a/core/debug/exporter/exporter.go +++ b/core/debug/exporter/exporter.go @@ -65,7 +65,7 @@ func ExportTree(ctx context.Context, params ExportParams) error { converter = params.Converter changes []*treechangeproto.RawTreeChangeWithId ) - err = writeTree.IterateRoot( + err = params.Readable.IterateRoot( func(change *objecttree.Change, decrypted []byte) (any, error) { return converter.Unmarshall(change.DataType, decrypted) }, diff --git a/core/debug/exporter/importer.go b/core/debug/exporter/importer.go index f60a3334f..a01b18a29 100644 --- a/core/debug/exporter/importer.go +++ b/core/debug/exporter/importer.go @@ -19,6 +19,7 @@ type ImportResult struct { List list.AclList Storage objecttree.Storage FolderPath string + Store anystore.DB } func (i ImportResult) CreateReadableTree(fullTree bool, beforeId string) (objecttree.ReadableObjectTree, error) { @@ -48,11 +49,10 @@ func ImportStorage(ctx context.Context, path string) (res ImportResult, err erro if err = ziputil.UnzipFolder(path, targetDir); err != nil { return } - anyStore, err := anystore.Open(ctx, targetDir, nil) + anyStore, err := anystore.Open(ctx, filepath.Join(targetDir, "db"), nil) if err != nil { return } - defer anyStore.Close() var ( aclId string treeId string @@ -92,5 +92,6 @@ func ImportStorage(ctx context.Context, path string) (res ImportResult, err erro List: acl, Storage: treeStorage, FolderPath: targetDir, + Store: anyStore, }, nil } diff --git a/core/debug/treeexporter.go b/core/debug/treeexporter.go index ba23643e5..370508d22 100644 --- a/core/debug/treeexporter.go +++ b/core/debug/treeexporter.go @@ -43,10 +43,6 @@ func (e *treeExporter) Export(ctx context.Context, path string, tree objecttree. defer func() { _ = os.RemoveAll(exportDirPath) }() - err = os.Mkdir(dbPath, 0755) - if err != nil { - return - } anyStore, err := anystore.Open(ctx, dbPath, nil) if err != nil { return @@ -76,8 +72,7 @@ func (e *treeExporter) Export(ctx context.Context, path string, tree objecttree. e.log.Printf("can't fetch localstore info: %v", err) } else { if len(data) > 0 { - // TODO: [storage] fix details, take from main - // data[0].Details = transform(data[0].Details, e.anonymized, anonymize.Struct) + data[0].Details = transform(data[0].Details, e.anonymized, anonymize.Details) data[0].Snippet = transform(data[0].Snippet, e.anonymized, anonymize.Text) for i, r := range data[0].Relations { data[0].Relations[i] = transform(r, e.anonymized, anonymize.Relation) diff --git a/core/files/fileuploader/uploader.go b/core/files/fileuploader/uploader.go index fa141074b..5775ccb39 100644 --- a/core/files/fileuploader/uploader.go +++ b/core/files/fileuploader/uploader.go @@ -11,7 +11,6 @@ import ( "io/ioutil" "net/http" "os" - "path" "path/filepath" "strings" "time" @@ -546,8 +545,7 @@ func (u *uploader) detectType(buf *fileReader) model.BlockContentFileType { log.With("error", err).Error("detect MIME") return model.BlockContentFile_File } - mediaType, _ := path.Split(mime.String()) - return file.DetectTypeByMIME(u.name, mediaType) + return file.DetectTypeByMIME(u.name, mime.String()) } type FileComponent interface { diff --git a/core/indexer/reindex.go b/core/indexer/reindex.go index 2911f49cb..a252ac4cc 100644 --- a/core/indexer/reindex.go +++ b/core/indexer/reindex.go @@ -438,9 +438,10 @@ func (i *indexer) reindexIDs(ctx context.Context, space smartblock.Space, reinde func (i *indexer) reindexOutdatedObjects(ctx context.Context, space clientspace.Space) (toReindex, success int, err error) { store := i.store.SpaceIndex(space.Id()) var entries []headstorage.HeadsEntry + err = space.Storage().HeadStorage().IterateEntries(ctx, headstorage.IterOpts{}, func(entry headstorage.HeadsEntry) (bool, error) { // skipping Acl - if entry.CommonSnapshot != "" { + if entry.CommonSnapshot != "" && entry.Id != space.Storage().StateStorage().SettingsId() { entries = append(entries, entry) } return true, nil diff --git a/core/publish/relationswhitelist.go b/core/publish/relationswhitelist.go index 324ee0fcc..ecebd6157 100644 --- a/core/publish/relationswhitelist.go +++ b/core/publish/relationswhitelist.go @@ -13,6 +13,7 @@ var allObjectsRelationsWhiteList = []string{ bundle.RelationKeySpaceId.String(), bundle.RelationKeyId.String(), bundle.RelationKeyLayout.String(), + bundle.RelationKeyResolvedLayout.String(), bundle.RelationKeyIsArchived.String(), bundle.RelationKeyIsDeleted.String(), bundle.RelationKeyName.String(), @@ -39,6 +40,15 @@ var derivedObjectsWhiteList = append(slices.Clone(allObjectsRelationsWhiteList), var relationsWhiteList = append(slices.Clone(derivedObjectsWhiteList), bundle.RelationKeyRelationFormat.String()) var relationOptionWhiteList = append(slices.Clone(derivedObjectsWhiteList), bundle.RelationKeyRelationOptionColor.String()) +var objectWhiteList = append(slices.Clone(derivedObjectsWhiteList), + bundle.RelationKeyRecommendedRelations.String(), + bundle.RelationKeyRecommendedFeaturedRelations.String(), + bundle.RelationKeyRecommendedLayout.String(), + bundle.RelationKeyLayoutWidth.String(), + bundle.RelationKeyLayoutAlign.String(), + bundle.RelationKeyIconName.String(), + bundle.RelationKeyIconOption.String(), +) var fileRelationsWhiteList = append( slices.Clone(documentRelationsWhiteList), @@ -60,7 +70,7 @@ var publishingRelationsWhiteList = map[model.ObjectTypeLayout][]string{ model.ObjectType_todo: todoRelationsWhiteList, model.ObjectType_set: documentRelationsWhiteList, model.ObjectType_collection: documentRelationsWhiteList, - model.ObjectType_objectType: derivedObjectsWhiteList, + model.ObjectType_objectType: objectWhiteList, model.ObjectType_relation: relationsWhiteList, model.ObjectType_file: fileRelationsWhiteList, model.ObjectType_pdf: fileRelationsWhiteList, diff --git a/core/relationutils/recommended.go b/core/relationutils/recommended.go index 35db8fccf..239a1b499 100644 --- a/core/relationutils/recommended.go +++ b/core/relationutils/recommended.go @@ -25,6 +25,13 @@ var ( bundle.RelationKeyBacklinks, } + defaultSetFeaturedRelationKeys = []domain.RelationKey{ + bundle.RelationKeyType, + bundle.RelationKeySetOf, + bundle.RelationKeyTag, + bundle.RelationKeyBacklinks, + } + defaultRecommendedRelationKeys = []domain.RelationKey{ bundle.RelationKeyCreatedDate, bundle.RelationKeyCreator, @@ -36,10 +43,6 @@ var ( bundle.RelationKeyLastModifiedBy, bundle.RelationKeyLastOpenedDate, bundle.RelationKeyAddedDate, - bundle.RelationKeySource, - bundle.RelationKeySourceObject, - bundle.RelationKeyImportType, - bundle.RelationKeyOrigin, } fileSpecificRelationKeysMap = map[domain.RelationKey]struct{}{ @@ -64,14 +67,19 @@ var ( errRecommendedRelationsAlreadyFilled = fmt.Errorf("recommended featured relations are already filled") ) -func DefaultFeaturedRelationKeys() []domain.RelationKey { +func DefaultFeaturedRelationKeys(typeKey domain.TypeKey) []domain.RelationKey { + if typeKey == bundle.TypeKeySet { + return defaultSetFeaturedRelationKeys + } return defaultFeaturedRelationKeys } // FillRecommendedRelations fills recommendedRelations, recommendedFeaturedRelations, recommendedFileRelations // and recommendedHiddenRelations based on object's details. // If these relations are already filled with correct ids, isAlreadyFilled = true is returned -func FillRecommendedRelations(ctx context.Context, deriver ObjectIDDeriver, details *domain.Details) (keys []domain.RelationKey, isAlreadyFilled bool, err error) { +func FillRecommendedRelations( + ctx context.Context, deriver ObjectIDDeriver, details *domain.Details, typeKey domain.TypeKey, +) (keys []domain.RelationKey, isAlreadyFilled bool, err error) { keys, err = getRelationKeysFromDetails(details) if err != nil { if errors.Is(err, errRecommendedRelationsAlreadyFilled) { @@ -99,11 +107,13 @@ func FillRecommendedRelations(ctx context.Context, deriver ObjectIDDeriver, deta keys = other } + featuredRelationKeys := DefaultFeaturedRelationKeys(typeKey) + // we should include default system recommended relations and // exclude default recommended featured relations and default hidden relations keys = lo.Uniq(append(keys, defaultRecommendedRelationKeys...)) keys = slices.DeleteFunc(keys, func(key domain.RelationKey) bool { - return slices.Contains(append(defaultHiddenRelationKeys, defaultFeaturedRelationKeys...), key) + return slices.Contains(append(defaultHiddenRelationKeys, featuredRelationKeys...), key) }) relationIds, err := prepareRelationIds(ctx, deriver, keys) @@ -112,7 +122,7 @@ func FillRecommendedRelations(ctx context.Context, deriver ObjectIDDeriver, deta } details.SetStringList(bundle.RelationKeyRecommendedRelations, relationIds) - featuredRelationIds, err := prepareRelationIds(ctx, deriver, defaultFeaturedRelationKeys) + featuredRelationIds, err := prepareRelationIds(ctx, deriver, featuredRelationKeys) if err != nil { return nil, false, fmt.Errorf("prepare recommended featured relation ids: %w", err) } @@ -124,7 +134,7 @@ func FillRecommendedRelations(ctx context.Context, deriver ObjectIDDeriver, deta } details.SetStringList(bundle.RelationKeyRecommendedHiddenRelations, hiddenRelationIds) - return slices.Concat(keys, fileRecommendedRelationKeys, defaultHiddenRelationKeys, defaultFeaturedRelationKeys), false, nil + return slices.Concat(keys, fileRecommendedRelationKeys, defaultHiddenRelationKeys, featuredRelationKeys), false, nil } func getRelationKeysFromDetails(details *domain.Details) ([]domain.RelationKey, error) { diff --git a/core/relationutils/recommended_test.go b/core/relationutils/recommended_test.go index 5f67d38cc..322b3fe12 100644 --- a/core/relationutils/recommended_test.go +++ b/core/relationutils/recommended_test.go @@ -70,7 +70,7 @@ func TestFillRecommendedRelations(t *testing.T) { }) // when - keys, isAlreadyFilled, err := FillRecommendedRelations(nil, &mockDeriver{}, details) + keys, isAlreadyFilled, err := FillRecommendedRelations(nil, &mockDeriver{}, details, bundle.TypeKeyNote) // then assert.NoError(t, err) @@ -78,7 +78,7 @@ func TestFillRecommendedRelations(t *testing.T) { assert.Equal(t, tc.expected, details.GetStringList(bundle.RelationKeyRecommendedRelations)) assert.Equal(t, defaultRecFeatRelIds, details.GetStringList(bundle.RelationKeyRecommendedFeaturedRelations)) assert.Equal(t, defaultRecHiddenRelIds, details.GetStringList(bundle.RelationKeyRecommendedHiddenRelations)) - assert.Len(t, keys, len(tc.expected)+3+8) // 3 featured and 8 hidden + assert.Len(t, keys, len(tc.expected)+3+4) // 3 featured and 4 hidden }) } @@ -91,7 +91,7 @@ func TestFillRecommendedRelations(t *testing.T) { }) // when - keys, isAlreadyFilled, err := FillRecommendedRelations(nil, &mockDeriver{}, details) + keys, isAlreadyFilled, err := FillRecommendedRelations(nil, &mockDeriver{}, details, bundle.TypeKeyPage) // then assert.NoError(t, err) @@ -130,7 +130,7 @@ func TestFillRecommendedRelations(t *testing.T) { }) // when - keys, isAlreadyFilled, err := FillRecommendedRelations(nil, &mockDeriver{}, details) + keys, isAlreadyFilled, err := FillRecommendedRelations(nil, &mockDeriver{}, details, bundle.TypeKeyTask) // then assert.NoError(t, err) @@ -138,7 +138,7 @@ func TestFillRecommendedRelations(t *testing.T) { assert.Equal(t, tc.expected, details.GetStringList(bundle.RelationKeyRecommendedRelations)) assert.Equal(t, defaultRecFeatRelIds, details.GetStringList(bundle.RelationKeyRecommendedFeaturedRelations)) assert.Equal(t, defaultRecHiddenRelIds, details.GetStringList(bundle.RelationKeyRecommendedHiddenRelations)) - assert.Len(t, keys, len(tc.expected)+3+8) // 3 featured and 8 hidden + assert.Len(t, keys, len(tc.expected)+3+4) // 3 featured and 4 hidden }) } @@ -146,7 +146,6 @@ func TestFillRecommendedRelations(t *testing.T) { // given details := domain.NewDetailsFromMap(map[domain.RelationKey]domain.Value{ bundle.RelationKeyRecommendedRelations: domain.StringList([]string{ - bundle.RelationKeyOrigin.BundledURL(), bundle.RelationKeyFileExt.BundledURL(), bundle.RelationKeyAddedDate.BundledURL(), bundle.RelationKeyCameraIso.BundledURL(), @@ -156,7 +155,7 @@ func TestFillRecommendedRelations(t *testing.T) { }) // when - keys, isAlreadyFilled, err := FillRecommendedRelations(nil, &mockDeriver{}, details) + keys, isAlreadyFilled, err := FillRecommendedRelations(nil, &mockDeriver{}, details, bundle.TypeKeyProject) // then assert.NoError(t, err) @@ -169,7 +168,30 @@ func TestFillRecommendedRelations(t *testing.T) { bundle.RelationKeyCameraIso.URL(), bundle.RelationKeyAperture.URL(), }, details.GetStringList(bundle.RelationKeyRecommendedFileRelations)) - assert.Len(t, keys, 17) + assert.Len(t, keys, 13) + }) + + t.Run("recommendedRelations relations of Set", func(t *testing.T) { + // given + details := domain.NewDetailsFromMap(map[domain.RelationKey]domain.Value{ + bundle.RelationKeyRecommendedRelations: domain.StringList([]string{ + bundle.RelationKeySetOf.BundledURL(), + bundle.RelationKeyType.BundledURL(), + bundle.RelationKeyTag.BundledURL(), + bundle.RelationKeyCreatedDate.BundledURL(), + }), + }) + + // when + keys, isAlreadyFilled, err := FillRecommendedRelations(nil, &mockDeriver{}, details, bundle.TypeKeySet) + + // then + assert.NoError(t, err) + assert.False(t, isAlreadyFilled) + assert.Equal(t, buildRelationIds(defaultRecommendedRelationKeys), details.GetStringList(bundle.RelationKeyRecommendedRelations)) + assert.Equal(t, buildRelationIds(defaultSetFeaturedRelationKeys), details.GetStringList(bundle.RelationKeyRecommendedFeaturedRelations)) + assert.Equal(t, defaultRecHiddenRelIds, details.GetStringList(bundle.RelationKeyRecommendedHiddenRelations)) + assert.Len(t, keys, 4+3+4) // 4 featured + 3 sidebar + 4 hidden }) } diff --git a/core/subscription/context.go b/core/subscription/context.go index 22c518cdf..cb92e93e2 100644 --- a/core/subscription/context.go +++ b/core/subscription/context.go @@ -381,6 +381,9 @@ type EventMatcher struct { } func (m EventMatcher) Match(msg *pb.EventMessage) { + if msg == nil || msg.Value == nil { + return + } switch v := msg.Value.(type) { case *pb.EventMessageValueOfSubscriptionAdd: if m.OnAdd != nil { diff --git a/core/subscription/crossspacesub/crossspacesub.go b/core/subscription/crossspacesub/crossspacesub.go index a1ce70628..c45d8262c 100644 --- a/core/subscription/crossspacesub/crossspacesub.go +++ b/core/subscription/crossspacesub/crossspacesub.go @@ -64,7 +64,7 @@ func newCrossSpaceSubscription(subId string, request subscriptionservice.Subscri return s, aggregatedResp, nil } -func (s *crossSpaceSubscription) run() { +func (s *crossSpaceSubscription) run(internalQueue *mb.MB[*pb.EventMessage]) { for { msgs, err := s.queue.Wait(s.ctx) if errors.Is(err, context.Canceled) { @@ -75,11 +75,19 @@ func (s *crossSpaceSubscription) run() { } for _, msg := range msgs { s.patchEvent(msg) + if internalQueue != nil { + err = internalQueue.Add(s.ctx, msg) + if err != nil { + log.Error("add to internal queue", zap.Error(err), zap.String("subId", s.subId)) + } + } } - s.eventSender.Broadcast(&pb.Event{ - Messages: msgs, - }) + if internalQueue == nil { + s.eventSender.Broadcast(&pb.Event{ + Messages: msgs, + }) + } } } diff --git a/core/subscription/crossspacesub/service.go b/core/subscription/crossspacesub/service.go index b9c6b002e..33473ed0b 100644 --- a/core/subscription/crossspacesub/service.go +++ b/core/subscription/crossspacesub/service.go @@ -89,6 +89,9 @@ func (s *service) Subscribe(req subscriptionservice.SubscribeRequest) (*subscrip if len(req.Sorts) > 0 { return nil, fmt.Errorf("sorting is not supported") } + if req.AsyncInit { + return nil, fmt.Errorf("async init is not supported") + } s.lock.Lock() defer s.lock.Unlock() @@ -97,7 +100,7 @@ func (s *service) Subscribe(req subscriptionservice.SubscribeRequest) (*subscrip return nil, fmt.Errorf("new cross space subscription: %w", err) } s.subscriptions[req.SubId] = spaceSub - go spaceSub.run() + go spaceSub.run(req.InternalQueue) return resp, nil } diff --git a/core/subscription/service.go b/core/subscription/service.go index c59e203b9..b664d9ff1 100644 --- a/core/subscription/service.go +++ b/core/subscription/service.go @@ -172,6 +172,9 @@ func (s *service) Close(ctx context.Context) error { } func (s *service) Search(req SubscribeRequest) (resp *SubscribeResponse, err error) { + if req.SpaceId == "" { + return nil, fmt.Errorf("spaceId should not be empty") + } // todo: removed temp fix after we will have session-scoped subscriptions // this is to prevent multiple subscriptions with the same id in different spaces err = s.Unsubscribe(req.SubId) @@ -186,6 +189,9 @@ func (s *service) Search(req SubscribeRequest) (resp *SubscribeResponse, err err } func (s *service) SubscribeIdsReq(req pb.RpcObjectSubscribeIdsRequest) (resp *pb.RpcObjectSubscribeIdsResponse, err error) { + if req.SpaceId == "" { + return nil, fmt.Errorf("spaceId should not be empty") + } // todo: removed temp fix after we will have session-scoped subscriptions // this is to prevent multiple subscriptions with the same id in different spaces err = s.Unsubscribe(req.SubId) diff --git a/core/subscription/service_test.go b/core/subscription/service_test.go index ee694945c..b08f584b5 100644 --- a/core/subscription/service_test.go +++ b/core/subscription/service_test.go @@ -62,6 +62,7 @@ func TestService_Search(t *testing.T) { } t.Run("dependencies", func(t *testing.T) { + fx := newFixture(t) defer fx.a.Close(context.Background()) defer fx.ctrl.Finish() @@ -83,7 +84,7 @@ func TestService_Search(t *testing.T) { require.NoError(t, err) // Wait enough time to flush pending updates to subscriptions handler - time.Sleep(batchTime + 3*time.Millisecond) + time.Sleep(batchTime + 4*time.Millisecond) spaceSub.onChange([]*entry{ newEntry("1", domain.NewDetailsFromMap(map[domain.RelationKey]domain.Value{ diff --git a/docs/proto.md b/docs/proto.md index 4095bcce2..7e28903c4 100644 --- a/docs/proto.md +++ b/docs/proto.md @@ -564,6 +564,10 @@ - [Rpc.Chat.SubscribeLastMessages.Request](#anytype-Rpc-Chat-SubscribeLastMessages-Request) - [Rpc.Chat.SubscribeLastMessages.Response](#anytype-Rpc-Chat-SubscribeLastMessages-Response) - [Rpc.Chat.SubscribeLastMessages.Response.Error](#anytype-Rpc-Chat-SubscribeLastMessages-Response-Error) + - [Rpc.Chat.SubscribeToMessagePreviews](#anytype-Rpc-Chat-SubscribeToMessagePreviews) + - [Rpc.Chat.SubscribeToMessagePreviews.Request](#anytype-Rpc-Chat-SubscribeToMessagePreviews-Request) + - [Rpc.Chat.SubscribeToMessagePreviews.Response](#anytype-Rpc-Chat-SubscribeToMessagePreviews-Response) + - [Rpc.Chat.SubscribeToMessagePreviews.Response.Error](#anytype-Rpc-Chat-SubscribeToMessagePreviews-Response-Error) - [Rpc.Chat.ToggleMessageReaction](#anytype-Rpc-Chat-ToggleMessageReaction) - [Rpc.Chat.ToggleMessageReaction.Request](#anytype-Rpc-Chat-ToggleMessageReaction-Request) - [Rpc.Chat.ToggleMessageReaction.Response](#anytype-Rpc-Chat-ToggleMessageReaction-Response) @@ -1421,6 +1425,7 @@ - [Rpc.Chat.GetMessages.Response.Error.Code](#anytype-Rpc-Chat-GetMessages-Response-Error-Code) - [Rpc.Chat.GetMessagesByIds.Response.Error.Code](#anytype-Rpc-Chat-GetMessagesByIds-Response-Error-Code) - [Rpc.Chat.SubscribeLastMessages.Response.Error.Code](#anytype-Rpc-Chat-SubscribeLastMessages-Response-Error-Code) + - [Rpc.Chat.SubscribeToMessagePreviews.Response.Error.Code](#anytype-Rpc-Chat-SubscribeToMessagePreviews-Response-Error-Code) - [Rpc.Chat.ToggleMessageReaction.Response.Error.Code](#anytype-Rpc-Chat-ToggleMessageReaction-Response-Error-Code) - [Rpc.Chat.Unsubscribe.Response.Error.Code](#anytype-Rpc-Chat-Unsubscribe-Response-Error-Code) - [Rpc.Debug.AccountSelectTrace.Response.Error.Code](#anytype-Rpc-Debug-AccountSelectTrace-Response-Error-Code) @@ -2303,6 +2308,7 @@ | ChatGetMessagesByIds | [Rpc.Chat.GetMessagesByIds.Request](#anytype-Rpc-Chat-GetMessagesByIds-Request) | [Rpc.Chat.GetMessagesByIds.Response](#anytype-Rpc-Chat-GetMessagesByIds-Response) | | | ChatSubscribeLastMessages | [Rpc.Chat.SubscribeLastMessages.Request](#anytype-Rpc-Chat-SubscribeLastMessages-Request) | [Rpc.Chat.SubscribeLastMessages.Response](#anytype-Rpc-Chat-SubscribeLastMessages-Response) | | | ChatUnsubscribe | [Rpc.Chat.Unsubscribe.Request](#anytype-Rpc-Chat-Unsubscribe-Request) | [Rpc.Chat.Unsubscribe.Response](#anytype-Rpc-Chat-Unsubscribe-Response) | | +| ChatSubscribeToMessagePreviews | [Rpc.Chat.SubscribeToMessagePreviews.Request](#anytype-Rpc-Chat-SubscribeToMessagePreviews-Request) | [Rpc.Chat.SubscribeToMessagePreviews.Response](#anytype-Rpc-Chat-SubscribeToMessagePreviews-Response) | | | ObjectChatAdd | [Rpc.Object.ChatAdd.Request](#anytype-Rpc-Object-ChatAdd-Request) | [Rpc.Object.ChatAdd.Response](#anytype-Rpc-Object-ChatAdd-Response) | | @@ -10442,6 +10448,7 @@ Get marks list in the selected range in text block. | ----- | ---- | ----- | ----------- | | chatObjectId | [string](#string) | | Identifier for the chat | | limit | [int32](#int32) | | Number of max last messages to return and subscribe | +| subId | [string](#string) | | | @@ -10481,6 +10488,58 @@ Get marks list in the selected range in text block. + + +### Rpc.Chat.SubscribeToMessagePreviews + + + + + + + + + +### Rpc.Chat.SubscribeToMessagePreviews.Request + + + + + + + + + +### Rpc.Chat.SubscribeToMessagePreviews.Response + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| error | [Rpc.Chat.SubscribeToMessagePreviews.Response.Error](#anytype-Rpc-Chat-SubscribeToMessagePreviews-Response-Error) | | | +| subId | [string](#string) | | | + + + + + + + + +### Rpc.Chat.SubscribeToMessagePreviews.Response.Error + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| code | [Rpc.Chat.SubscribeToMessagePreviews.Response.Error.Code](#anytype-Rpc-Chat-SubscribeToMessagePreviews-Response-Error-Code) | | | +| description | [string](#string) | | | + + + + + + ### Rpc.Chat.ToggleMessageReaction @@ -10558,6 +10617,7 @@ Get marks list in the selected range in text block. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | chatObjectId | [string](#string) | | Identifier for the chat | +| subId | [string](#string) | | | @@ -22758,6 +22818,19 @@ Middleware-to-front-end response, that can contain a NULL error or a non-NULL er + + +### Rpc.Chat.SubscribeToMessagePreviews.Response.Error.Code + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| NULL | 0 | | +| UNKNOWN_ERROR | 1 | | +| BAD_INPUT | 2 | ... | + + + ### Rpc.Chat.ToggleMessageReaction.Response.Error.Code @@ -27527,7 +27600,10 @@ Precondition: user A opened a block | ----- | ---- | ----- | ----------- | | id | [string](#string) | | | | orderId | [string](#string) | | | +| afterOrderId | [string](#string) | | | | message | [model.ChatMessage](#anytype-model-ChatMessage) | | | +| subIds | [string](#string) | repeated | | +| dependencies | [google.protobuf.Struct](#google-protobuf-Struct) | repeated | | @@ -27543,6 +27619,7 @@ Precondition: user A opened a block | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | id | [string](#string) | | | +| subIds | [string](#string) | repeated | | @@ -27559,6 +27636,7 @@ Precondition: user A opened a block | ----- | ---- | ----- | ----------- | | id | [string](#string) | | | | message | [model.ChatMessage](#anytype-model-ChatMessage) | | | +| subIds | [string](#string) | repeated | | @@ -27575,6 +27653,7 @@ Precondition: user A opened a block | ----- | ---- | ----- | ----------- | | id | [string](#string) | | | | reactions | [model.ChatMessage.Reactions](#anytype-model-ChatMessage-Reactions) | | | +| subIds | [string](#string) | repeated | | @@ -29012,6 +29091,7 @@ Contains basic information about a user account | timeZone | [string](#string) | | time zone from config | | analyticsId | [string](#string) | | | | networkId | [string](#string) | | network id to which anytype is connected | +| ethereumAddress | [string](#string) | | we have Any PK AND Ethereum PK derived from one seed phrase | diff --git a/go.mod b/go.mod index 1ca7626e6..46d8b70c2 100644 --- a/go.mod +++ b/go.mod @@ -51,11 +51,11 @@ require ( github.com/hbagdi/go-unsplash v0.0.0-20230414214043-474fc02c9119 github.com/huandu/skiplist v1.2.1 github.com/improbable-eng/grpc-web v0.15.0 - github.com/ipfs/boxo v0.28.0 + github.com/ipfs/boxo v0.29.0 github.com/ipfs/go-block-format v0.2.0 github.com/ipfs/go-cid v0.5.0 - github.com/ipfs/go-datastore v0.8.1 - github.com/ipfs/go-ds-flatfs v0.5.4 + github.com/ipfs/go-datastore v0.8.2 + github.com/ipfs/go-ds-flatfs v0.5.5 github.com/ipfs/go-ipld-format v0.6.0 github.com/ipfs/go-log v1.0.5 github.com/joho/godotenv v1.5.1 @@ -81,7 +81,7 @@ require ( github.com/otiai10/copy v1.14.1 github.com/otiai10/opengraph/v2 v2.1.0 github.com/pkg/errors v0.9.1 - github.com/prometheus/client_golang v1.20.5 + github.com/prometheus/client_golang v1.21.1 github.com/pseudomuto/protoc-gen-doc v1.5.1 github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd github.com/samber/lo v1.49.1 @@ -104,13 +104,13 @@ require ( go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa - golang.org/x/image v0.24.0 + golang.org/x/image v0.25.0 golang.org/x/mobile v0.0.0-20250218173827-cd096645fcd3 - golang.org/x/net v0.35.0 - golang.org/x/oauth2 v0.27.0 - golang.org/x/sys v0.30.0 - golang.org/x/text v0.22.0 - google.golang.org/grpc v1.70.0 + golang.org/x/net v0.37.0 + golang.org/x/oauth2 v0.28.0 + golang.org/x/sys v0.31.0 + golang.org/x/text v0.23.0 + google.golang.org/grpc v1.71.0 gopkg.in/Graylog2/go-gelf.v2 v2.0.0-20180125164251-1832d8546a9f gopkg.in/natefinch/lumberjack.v2 v2.2.1 gopkg.in/yaml.v3 v3.0.1 @@ -148,7 +148,7 @@ require ( github.com/cloudwego/iasm v0.2.0 // indirect github.com/crackcomm/go-gitignore v0.0.0-20241020182519-7843d2ba8fdf // indirect github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect github.com/dgraph-io/ristretto v0.1.1 // indirect github.com/disintegration/imaging v1.6.2 // indirect @@ -157,7 +157,7 @@ require ( github.com/dsoprea/go-photoshop-info-format v0.0.0-20200609050348-3db9b63b202c // indirect github.com/dsoprea/go-utility/v2 v2.0.0-20221003172846-a3e1774ef349 // indirect github.com/dustin/go-humanize v1.0.1 // indirect - github.com/envoyproxy/protoc-gen-validate v1.1.0 // indirect + github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect github.com/flopp/go-findfont v0.1.0 // indirect github.com/fogleman/gg v1.3.0 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect @@ -205,17 +205,17 @@ require ( github.com/ipfs/go-ipfs-util v0.0.3 // indirect github.com/ipfs/go-ipld-legacy v0.2.1 // indirect github.com/ipfs/go-log/v2 v2.5.1 // indirect - github.com/ipfs/go-metrics-interface v0.0.1 // indirect + github.com/ipfs/go-metrics-interface v0.3.0 // indirect github.com/ipld/go-codec-dagpb v1.6.0 // indirect github.com/ipld/go-ipld-prime v0.21.0 // indirect github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect github.com/jinzhu/copier v0.3.5 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/cpuid/v2 v2.2.9 // indirect + github.com/klauspost/cpuid/v2 v2.2.10 // indirect github.com/leodido/go-urn v1.4.0 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/libp2p/go-libp2p v0.40.0 // indirect + github.com/libp2p/go-libp2p v0.41.0 // indirect github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect github.com/mailru/easyjson v0.7.6 // indirect github.com/mattn/go-colorable v0.1.13 // indirect @@ -229,7 +229,7 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/multiformats/go-base36 v0.2.0 // indirect - github.com/multiformats/go-multiaddr v0.14.0 // indirect + github.com/multiformats/go-multiaddr v0.15.0 // indirect github.com/multiformats/go-multicodec v0.9.0 // indirect github.com/multiformats/go-multistream v0.6.0 // indirect github.com/multiformats/go-varint v0.0.7 // indirect @@ -279,18 +279,18 @@ require ( go.opentelemetry.io/otel/metric v1.34.0 // indirect go.opentelemetry.io/otel/trace v1.34.0 // indirect golang.org/x/arch v0.8.0 // indirect - golang.org/x/crypto v0.35.0 // indirect + golang.org/x/crypto v0.36.0 // indirect golang.org/x/mod v0.23.0 // indirect - golang.org/x/sync v0.11.0 // indirect - golang.org/x/term v0.29.0 // indirect + golang.org/x/sync v0.12.0 // indirect + golang.org/x/term v0.30.0 // indirect golang.org/x/time v0.10.0 // indirect golang.org/x/tools v0.30.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20241202173237-19429a94021a // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect google.golang.org/protobuf v1.36.5 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect - lukechampine.com/blake3 v1.3.0 // indirect + lukechampine.com/blake3 v1.4.0 // indirect modernc.org/libc v1.61.13 // indirect modernc.org/mathutil v1.7.1 // indirect modernc.org/memory v1.8.2 // indirect @@ -312,7 +312,7 @@ replace gopkg.in/Graylog2/go-gelf.v2 => github.com/anyproto/go-gelf v0.0.0-20210 replace github.com/araddon/dateparse => github.com/mehanizm/dateparse v0.0.0-20210806203422-f82c8742c9f8 // use a fork to support dd.mm.yyyy date format -replace github.com/multiformats/go-multiaddr => github.com/anyproto/go-multiaddr v0.8.1-0.20221213144344-0b6b93adaec4 +replace github.com/multiformats/go-multiaddr => github.com/anyproto/go-multiaddr v0.8.1-0.20250307125826-51ba58e2ebc7 replace github.com/gogo/protobuf => github.com/anyproto/protobuf v1.3.3-0.20240201225420-6e325cf0ac38 diff --git a/go.sum b/go.sum index 89e360144..ac46a428a 100644 --- a/go.sum +++ b/go.sum @@ -84,6 +84,8 @@ github.com/andybalholm/cascadia v1.3.3 h1:AG2YHrzJIm4BZ19iwJ/DAua6Btl3IwJX+VI4kk github.com/andybalholm/cascadia v1.3.3/go.mod h1:xNd9bqTn98Ln4DwST8/nG+H0yuB8Hmgu1YHNnWw0GeA= github.com/anyproto/any-store v0.1.8 h1:/bxUVq6sBTwYkmPL2g1xUAWNb3axF+zPhP2dvdEBH68= github.com/anyproto/any-store v0.1.8/go.mod h1:GpnVhcGm5aUQtOwCnKeTt4jsWgVXZ773WbQVLFdeCFo= +github.com/anyproto/any-store v0.1.7 h1:E3DntI+JXo3h7v0WTUJWH+nm7G4MV0PNOXZ6SFzQ2OU= +github.com/anyproto/any-store v0.1.7/go.mod h1:nbyRoJYOlvSWU1xDOrmgPP96UeoTf4eYZ9k+qqLK9k8= github.com/anyproto/any-sync v0.6.1 h1:Dasbp7qGQme8diGGpzaDQfSDs5o7PAK3E5rxHHrB/+4= github.com/anyproto/any-sync v0.6.1/go.mod h1:5js8TNBdqe75zwlr9XEQSVDtwhsvEU2qLeC2wTnT/Fo= github.com/anyproto/anytype-publish-server/publishclient v0.0.0-20250131145601-de288583ff2a h1:ZZM+0OUCQMWSLSflpkf0ZMVo3V76qEDDIXPpQOClNs0= @@ -96,8 +98,8 @@ github.com/anyproto/go-gelf v0.0.0-20210418191311-774bd5b016e7 h1:SyEu5uxZ5nKHEJ github.com/anyproto/go-gelf v0.0.0-20210418191311-774bd5b016e7/go.mod h1:N7kTiXo+LLnV94mHMr7Veos3I1SZ/ELcbkG8sZvcAPI= github.com/anyproto/go-log/v2 v2.1.2-0.20220721095711-bcf09ff293b2 h1:X8xiwPlNiSQs1HKguhZyHYs4XFQLWsj566bFsRjN7hM= github.com/anyproto/go-log/v2 v2.1.2-0.20220721095711-bcf09ff293b2/go.mod h1:TMD+iYDL/QBjspKUN0Ypxpr2IMAz3uGUAsbCeClDQ+4= -github.com/anyproto/go-multiaddr v0.8.1-0.20221213144344-0b6b93adaec4 h1:ZUvfKh0DCmmY1wjMtBPS3ggvCvQA0+spKFsAuSSeCsU= -github.com/anyproto/go-multiaddr v0.8.1-0.20221213144344-0b6b93adaec4/go.mod h1:Fs50eBDWvZu+l3/9S6xAE7ZYj6yhxlvaVZjakWN7xRs= +github.com/anyproto/go-multiaddr v0.8.1-0.20250307125826-51ba58e2ebc7 h1:SD0mX7Ds438ZP6J1g7qpXN4naRi/Naa0umTvlTba76c= +github.com/anyproto/go-multiaddr v0.8.1-0.20250307125826-51ba58e2ebc7/go.mod h1:JSVUmXDjsVFiW7RjIFMP7+Ev+h1DTbiJgVeTV/tcmP0= github.com/anyproto/go-naturaldate/v2 v2.0.2-0.20230524105841-9829cfd13438 h1:flfZXdcXB2iVHrTZDwSMlJ7RCRS/ydiPw63xWr+waSU= github.com/anyproto/go-naturaldate/v2 v2.0.2-0.20230524105841-9829cfd13438/go.mod h1:cmdcU4pcVTftMlM89z+d8dLBJc02HtY5tI12yQucUxM= github.com/anyproto/go-slip10 v1.0.0 h1:uAEtSuudR3jJBOfkOXf3bErxVoxbuKwdoJN55M1i6IA= @@ -229,11 +231,11 @@ github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c/go.mod h1:6Uh github.com/dchesterton/go-jpeg-image-structure/v2 v2.0.0-20240318203529-c3eea088bd38 h1:GDvo0S+xL3iMJYofhBVQVM6EuAcTCoEV1096iN1pedI= github.com/dchesterton/go-jpeg-image-structure/v2 v2.0.0-20240318203529-c3eea088bd38/go.mod h1:WaARaUjQuSuDCDFAiU/GwzfxMTJBulfEhqEA2Tx6B4Y= github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= -github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= -github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= +github.com/decred/dcrd/crypto/blake256 v1.1.0 h1:zPMNGQCm0g4QTY27fOCorQW7EryeQ/U0x++OzVrdms8= +github.com/decred/dcrd/crypto/blake256 v1.1.0/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 h1:rpfIENRNNilwHwZeG5+P150SMrnNEcHYvcCuK6dPZSg= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 h1:NMZiJj8QnKe1LgsbDayM4UoHwbvwDRwnI3hwNaAHRnc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0/go.mod h1:ZXNYxsqcloTdSy/rNShjYzMhyjf0LaoftYK0p+A3h40= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= @@ -285,8 +287,8 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM= -github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= +github.com/envoyproxy/protoc-gen-validate v1.2.1 h1:DEo3O99U8j4hBFwbJfrz9VtgcDfUKS7KJ7spH3d86P8= +github.com/envoyproxy/protoc-gen-validate v1.2.1/go.mod h1:d/C80l/jxXLdfEIhX1W2TmLfsJ31lvEjwamM4DxlWXU= github.com/ethereum/go-ethereum v1.13.15 h1:U7sSGYGo4SPjP6iNIifNoyIAiNjrmQkz6EwQG+/EZWo= github.com/ethereum/go-ethereum v1.13.15/go.mod h1:TN8ZiHrdJwSe8Cb6x+p0hs5CxhJZPbqB7hHkaUXcmIU= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= @@ -543,6 +545,7 @@ github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09 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= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= @@ -581,20 +584,20 @@ github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLf github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= -github.com/ipfs/boxo v0.28.0 h1:io6nXqN8XMOstB7dQGG5GWnMk4WssoMvva9OADErZdI= -github.com/ipfs/boxo v0.28.0/go.mod h1:eY9w3iTpmZGKzDfEYjm3oK8f+xjv8KJhhNXJwicmd3I= +github.com/ipfs/boxo v0.29.0 h1:clzd7PglUcE+Ufq1KucS3aKID7pzGVaSgcdRsW395t4= +github.com/ipfs/boxo v0.29.0/go.mod h1:c3R52nMlgMsN1tADffYcogKoVRsX1RJE1TMYSpJ4uVs= github.com/ipfs/go-bitfield v1.1.0 h1:fh7FIo8bSwaJEh6DdTWbCeZ1eqOaOkKFI74SCnsWbGA= github.com/ipfs/go-bitfield v1.1.0/go.mod h1:paqf1wjq/D2BBmzfTVFlJQ9IlFOZpg422HL0HqsGWHU= github.com/ipfs/go-block-format v0.2.0 h1:ZqrkxBA2ICbDRbK8KJs/u0O3dlp6gmAuuXUJNiW1Ycs= github.com/ipfs/go-block-format v0.2.0/go.mod h1:+jpL11nFx5A/SPpsoBn6Bzkra/zaArfSmsknbPMYgzM= github.com/ipfs/go-cid v0.5.0 h1:goEKKhaGm0ul11IHA7I6p1GmKz8kEYniqFopaB5Otwg= github.com/ipfs/go-cid v0.5.0/go.mod h1:0L7vmeNXpQpUS9vt+yEARkJ8rOg43DF3iPgn4GIN0mk= -github.com/ipfs/go-datastore v0.8.1 h1:p4+tWJuopShJgB3kIK0MMvnH6CFPvi7g/S44f2/EHQA= -github.com/ipfs/go-datastore v0.8.1/go.mod h1:W+pI1NsUsz3tcsAACMtfC+IZdnQTnC/7VfPoJBQuts0= +github.com/ipfs/go-datastore v0.8.2 h1:Jy3wjqQR6sg/LhyY0NIePZC3Vux19nLtg7dx0TVqr6U= +github.com/ipfs/go-datastore v0.8.2/go.mod h1:W+pI1NsUsz3tcsAACMtfC+IZdnQTnC/7VfPoJBQuts0= github.com/ipfs/go-detect-race v0.0.1 h1:qX/xay2W3E4Q1U7d9lNs1sU9nvguX0a7319XbyQ6cOk= github.com/ipfs/go-detect-race v0.0.1/go.mod h1:8BNT7shDZPo99Q74BpGMK+4D8Mn4j46UU0LZ723meps= -github.com/ipfs/go-ds-flatfs v0.5.4 h1:rQjd6tiQZgMU8yNmS2iai4FI+JP7EoYLhsjxxAkA/sE= -github.com/ipfs/go-ds-flatfs v0.5.4/go.mod h1:sskCDxKNQT3GMVz7QpBc2DK4qalYHZ12y2iCGp4ZZbU= +github.com/ipfs/go-ds-flatfs v0.5.5 h1:lkx5C99pFBMI7T1sYF7y3v7xIYekNVNMp/95Gm9Y3tY= +github.com/ipfs/go-ds-flatfs v0.5.5/go.mod h1:bM7+m7KFUyv5dp3RBKTr3+OHgZ6h8ydCQkO7tjeO9Z4= github.com/ipfs/go-ipfs-delay v0.0.1 h1:r/UXYyRcddO6thwOnhiznIAiSvxMECGgtv35Xs1IeRQ= github.com/ipfs/go-ipfs-delay v0.0.1/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw= github.com/ipfs/go-ipfs-pq v0.0.3 h1:YpoHVJB+jzK15mr/xsWC574tyDLkezVrDNeaalQBsTE= @@ -607,12 +610,12 @@ github.com/ipfs/go-ipld-legacy v0.2.1 h1:mDFtrBpmU7b//LzLSypVrXsD8QxkEWxu5qVxN99 github.com/ipfs/go-ipld-legacy v0.2.1/go.mod h1:782MOUghNzMO2DER0FlBR94mllfdCJCkTtDtPM51otM= github.com/ipfs/go-log v1.0.5 h1:2dOuUCB1Z7uoczMWgAyDck5JLb72zHzrMnGnCNNbvY8= github.com/ipfs/go-log v1.0.5/go.mod h1:j0b8ZoR+7+R99LD9jZ6+AJsrzkPbSXbZfGakb5JPtIo= -github.com/ipfs/go-metrics-interface v0.0.1 h1:j+cpbjYvu4R8zbleSs36gvB7jR+wsL2fGD6n0jO4kdg= -github.com/ipfs/go-metrics-interface v0.0.1/go.mod h1:6s6euYU4zowdslK0GKHmqaIZ3j/b/tL7HTWtJ4VPgWY= +github.com/ipfs/go-metrics-interface v0.3.0 h1:YwG7/Cy4R94mYDUuwsBfeziJCVm9pBMJ6q/JR9V40TU= +github.com/ipfs/go-metrics-interface v0.3.0/go.mod h1:OxxQjZDGocXVdyTPocns6cOLwHieqej/jos7H4POwoY= github.com/ipfs/go-peertaskqueue v0.8.2 h1:PaHFRaVFdxQk1Qo3OKiHPYjmmusQy7gKQUaL8JDszAU= github.com/ipfs/go-peertaskqueue v0.8.2/go.mod h1:L6QPvou0346c2qPJNiJa6BvOibxDfaiPlqHInmzg0FA= -github.com/ipfs/go-test v0.0.4 h1:DKT66T6GBB6PsDFLoO56QZPrOmzJkqU1FZH5C9ySkew= -github.com/ipfs/go-test v0.0.4/go.mod h1:qhIM1EluEfElKKM6fnWxGn822/z9knUGM1+I/OAQNKI= +github.com/ipfs/go-test v0.2.1 h1:/D/a8xZ2JzkYqcVcV/7HYlCnc7bv/pKHQiX5TdClkPE= +github.com/ipfs/go-test v0.2.1/go.mod h1:dzu+KB9cmWjuJnXFDYJwC25T3j1GcN57byN+ixmK39M= github.com/ipld/go-codec-dagpb v1.6.0 h1:9nYazfyu9B1p3NAgfVdpRco3Fs2nFC72DqVsMj6rOcc= github.com/ipld/go-codec-dagpb v1.6.0/go.mod h1:ANzFhfP2uMJxRBr8CE+WQWs5UsNa0pYtmKZ+agnUw9s= github.com/ipld/go-ipld-prime v0.21.0 h1:n4JmcpOlPDIxBcY037SVfpd1G+Sj1nKZah0m6QH9C2E= @@ -662,8 +665,8 @@ github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYs github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.9 h1:66ze0taIn2H33fBvCkXuv9BmCwDfafmiIVpKV9kKGuY= -github.com/klauspost/cpuid/v2 v2.2.9/go.mod h1:rqkxqrZ1EhYM9G+hXH7YdowN5R5RGN6NK4QwQ3WMXF8= +github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE= +github.com/klauspost/cpuid/v2 v2.2.10/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= 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.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -689,8 +692,8 @@ github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6 github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= github.com/libp2p/go-flow-metrics v0.2.0 h1:EIZzjmeOE6c8Dav0sNv35vhZxATIXWZg6j/C08XmmDw= github.com/libp2p/go-flow-metrics v0.2.0/go.mod h1:st3qqfu8+pMfh+9Mzqb2GTiwrAGjIPszEjZmtksN8Jc= -github.com/libp2p/go-libp2p v0.40.0 h1:1LOMO3gigxeXFs50HGEc1U79OINewUQB7o4gTKGPC3U= -github.com/libp2p/go-libp2p v0.40.0/go.mod h1:hOzj2EAIYsXpVpBnyA1pRHzpUJGF9nbWiDLjgasnbF0= +github.com/libp2p/go-libp2p v0.41.0 h1:JRaD39dqf/tBBGapJ0T38N73vOaDCsWgcx3mE6HgXWk= +github.com/libp2p/go-libp2p v0.41.0/go.mod h1:Be8QYqC4JW6Xq8buukNeoZJjyT1XUDcGoIooCHm1ye4= github.com/libp2p/go-libp2p-asn-util v0.4.1 h1:xqL7++IKD9TBFMgnLPZR6/6iYhawHKHl950SO9L6n94= github.com/libp2p/go-libp2p-asn-util v0.4.1/go.mod h1:d/NI6XZ9qxw67b4e+NgpQexCIiFYJjErASrYW4PFDN8= github.com/libp2p/go-libp2p-record v0.3.1 h1:cly48Xi5GjNw5Wq+7gmjfBiG9HCzQVkiZOUZ8kUl+Fg= @@ -699,8 +702,6 @@ github.com/libp2p/go-libp2p-testing v0.12.0 h1:EPvBb4kKMWO29qP4mZGyhVzUyR25dvfUI github.com/libp2p/go-libp2p-testing v0.12.0/go.mod h1:KcGDRXyN7sQCllucn1cOOS+Dmm7ujhfEyXQL5lvkcPg= github.com/libp2p/go-msgio v0.3.0 h1:mf3Z8B1xcFN314sWX+2vOTShIE0Mmn2TXn3YCUQGNj0= github.com/libp2p/go-msgio v0.3.0/go.mod h1:nyRM819GmVaF9LX3l03RMh10QdOroF++NBbxAb0mmDM= -github.com/libp2p/go-nat v0.2.0 h1:Tyz+bUFAYqGyJ/ppPPymMGbIgNRH+WqC5QrT5fKrrGk= -github.com/libp2p/go-nat v0.2.0/go.mod h1:3MJr+GRpRkyT65EpVPBstXLvOlAPzUVlG6Pwg9ohLJk= github.com/libp2p/go-netroute v0.2.2 h1:Dejd8cQ47Qx2kRABg6lPwknU7+nBnFRpko45/fFPuZ8= github.com/libp2p/go-netroute v0.2.2/go.mod h1:Rntq6jUAH0l9Gg17w5bFGhcC9a+vk4KNXs6s7IljKYE= github.com/libp2p/go-yamux/v5 v5.0.0 h1:2djUh96d3Jiac/JpGkKs4TO49YhsfLopAoryfPmf+Po= @@ -883,8 +884,8 @@ github.com/pion/rtcp v1.2.15 h1:LZQi2JbdipLOj4eBjK4wlVoQWfrZbh3Q6eHtWtJBZBo= github.com/pion/rtcp v1.2.15/go.mod h1:jlGuAjHMEXwMUHK78RgX0UmEJFV4zUKOFHR7OP+D3D0= github.com/pion/rtp v1.8.11 h1:17xjnY5WO5hgO6SD3/NTIUPvSFw/PbLsIJyz1r1yNIk= github.com/pion/rtp v1.8.11/go.mod h1:8uMBJj32Pa1wwx8Fuv/AsFhn8jsgw+3rUC2PfoBZ8p4= -github.com/pion/sctp v1.8.35 h1:qwtKvNK1Wc5tHMIYgTDJhfZk7vATGVHhXbUDfHbYwzA= -github.com/pion/sctp v1.8.35/go.mod h1:EcXP8zCYVTRy3W9xtOF7wJm1L1aXfKRQzaM33SjQlzg= +github.com/pion/sctp v1.8.36 h1:owNudmnz1xmhfYje5L/FCav3V9wpPRePHle3Zi+P+M0= +github.com/pion/sctp v1.8.36/go.mod h1:cNiLdchXra8fHQwmIoqw0MbLLMs+f7uQ+dGMG2gWebE= github.com/pion/sdp/v3 v3.0.10 h1:6MChLE/1xYB+CjumMw+gZ9ufp2DPApuVSnDT8t5MIgA= github.com/pion/sdp/v3 v3.0.10/go.mod h1:88GMahN5xnScv1hIMTqLdu/cOcUkj6a9ytbncwMCq2E= github.com/pion/srtp/v3 v3.0.4 h1:2Z6vDVxzrX3UHEgrUyIGM4rRouoC7v+NiF1IHtp9B5M= @@ -899,8 +900,8 @@ github.com/pion/transport/v3 v3.0.7 h1:iRbMH05BzSNwhILHoBoAPxoB9xQgOaJk+591KC9P1 github.com/pion/transport/v3 v3.0.7/go.mod h1:YleKiTZ4vqNxVwh77Z0zytYi7rXHl7j6uPLGhhz9rwo= github.com/pion/turn/v4 v4.0.0 h1:qxplo3Rxa9Yg1xXDxxH8xaqcyGUtbHYw4QSCvmFWvhM= github.com/pion/turn/v4 v4.0.0/go.mod h1:MuPDkm15nYSklKpN8vWJ9W2M0PlyQZqYt1McGuxG7mA= -github.com/pion/webrtc/v4 v4.0.9 h1:PyOYMRKJgfy0dzPcYtFD/4oW9zaw3Ze3oZzzbj2LV9E= -github.com/pion/webrtc/v4 v4.0.9/go.mod h1:ViHLVaNpiuvaH8pdiuQxuA9awuE6KVzAXx3vVWilOck= +github.com/pion/webrtc/v4 v4.0.10 h1:Hq/JLjhqLxi+NmCtE8lnRPDr8H4LcNvwg8OxVcdv56Q= +github.com/pion/webrtc/v4 v4.0.10/go.mod h1:ViHLVaNpiuvaH8pdiuQxuA9awuE6KVzAXx3vVWilOck= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -919,8 +920,8 @@ github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y= -github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.21.1 h1:DOvXXTqVzvkIewV/CDPFdejpMCGeMcbGCQ8YOmu+Ibk= +github.com/prometheus/client_golang v1.21.1/go.mod h1:U9NM32ykUErtVBxdvD3zfi+EuFkkaBvMb09mIfe0Zgg= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -1137,10 +1138,10 @@ go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= -go.opentelemetry.io/otel/sdk v1.32.0 h1:RNxepc9vK59A8XsgZQouW8ue8Gkb4jpWtJm9ge5lEG4= -go.opentelemetry.io/otel/sdk v1.32.0/go.mod h1:LqgegDBjKMmb2GC6/PrTnteJG39I8/vJCAP9LlJXEjU= -go.opentelemetry.io/otel/sdk/metric v1.32.0 h1:rZvFnvmvawYb0alrYkjraqJq0Z4ZUJAiyYCU9snn1CU= -go.opentelemetry.io/otel/sdk/metric v1.32.0/go.mod h1:PWeZlq0zt9YkYAp3gjKZ0eicRYvOh1Gd+X99x6GHpCQ= +go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= +go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= +go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= +go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -1190,8 +1191,8 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= -golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs= -golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ= +golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= +golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1212,8 +1213,8 @@ golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86h golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.24.0 h1:AN7zRgVsbvmTfNyqIbbOraYL8mSwcKncEj8ofjgzcMQ= -golang.org/x/image v0.24.0/go.mod h1:4b/ITuLfqYq1hqZcjofwctIhi7sZh2WaCjvsBNjjya8= +golang.org/x/image v0.25.0 h1:Y6uW6rH1y5y/LK1J8BPWZtr6yZ7hrsy6hFrXjgsc2fQ= +golang.org/x/image v0.25.0/go.mod h1:tCAmOEGthTtkalusGp1g3xa2gke8J6c2N565dTyl9Rs= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1307,8 +1308,8 @@ golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= -golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8= -golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= +golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c= +golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1318,8 +1319,8 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= -golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= +golang.org/x/oauth2 v0.28.0 h1:CrgCKl8PPAVtLnU3c+EDw6x11699EWlsDeWNWKdIOkc= +golang.org/x/oauth2 v0.28.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1337,8 +1338,8 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= -golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= +golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1424,8 +1425,8 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= -golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= +golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1436,8 +1437,8 @@ golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= -golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU= -golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s= +golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= +golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= 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= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1453,8 +1454,8 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= -golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= +golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= +golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1601,8 +1602,8 @@ google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto/googleapis/api v0.0.0-20241202173237-19429a94021a h1:OAiGFfOiA0v9MRYsSidp3ubZaBnteRUyn3xB2ZQ5G/E= -google.golang.org/genproto/googleapis/api v0.0.0-20241202173237-19429a94021a/go.mod h1:jehYqy3+AhJU9ve55aNOaSml7wUXjF9x6z2LcCfpAhY= +google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 h1:GVIKPyP/kLIyVOgOnTwFOrvQaQUzOzGMCxgFUOEmm24= +google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422/go.mod h1:b6h1vNKhxaSoEI+5jc3PJUCustfli/mRab7295pY7rw= google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38 h1:zciRKQ4kBpFgpfC5QQCVtnnNAcLIqweL7plyZRQHVpI= google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= @@ -1628,8 +1629,8 @@ google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= -google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= +google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg= +google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1683,8 +1684,8 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -lukechampine.com/blake3 v1.3.0 h1:sJ3XhFINmHSrYCgl958hscfIa3bw8x4DqMP3u1YvoYE= -lukechampine.com/blake3 v1.3.0/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k= +lukechampine.com/blake3 v1.4.0 h1:xDbKOZCVbnZsfzM6mHSYcGRHZ3YrLDzqz8XnV4uaD5w= +lukechampine.com/blake3 v1.4.0/go.mod h1:MQJNQCTnR+kwOP/JEZSxj3MaQjp80FOFSNMMHXcSeX0= modernc.org/cc/v4 v4.24.4 h1:TFkx1s6dCkQpd6dKurBNmpo+G8Zl4Sq/ztJ+2+DEsh0= modernc.org/cc/v4 v4.24.4/go.mod h1:uVtb5OGqUKpoLWhqwNQo/8LwvoiEBLvZXIQ/SmO6mL0= modernc.org/ccgo/v4 v4.23.16 h1:Z2N+kk38b7SfySC1ZkpGLN2vthNJP1+ZzGZIlH7uBxo= diff --git a/pb/commands.pb.go b/pb/commands.pb.go index 65111600a..b58501c00 100644 --- a/pb/commands.pb.go +++ b/pb/commands.pb.go @@ -9392,6 +9392,34 @@ func (RpcChatUnsubscribeResponseErrorCode) EnumDescriptor() ([]byte, []int) { return fileDescriptor_8261c968b2e6f45c, []int{0, 41, 7, 1, 0, 0} } +type RpcChatSubscribeToMessagePreviewsResponseErrorCode int32 + +const ( + RpcChatSubscribeToMessagePreviewsResponseError_NULL RpcChatSubscribeToMessagePreviewsResponseErrorCode = 0 + RpcChatSubscribeToMessagePreviewsResponseError_UNKNOWN_ERROR RpcChatSubscribeToMessagePreviewsResponseErrorCode = 1 + RpcChatSubscribeToMessagePreviewsResponseError_BAD_INPUT RpcChatSubscribeToMessagePreviewsResponseErrorCode = 2 +) + +var RpcChatSubscribeToMessagePreviewsResponseErrorCode_name = map[int32]string{ + 0: "NULL", + 1: "UNKNOWN_ERROR", + 2: "BAD_INPUT", +} + +var RpcChatSubscribeToMessagePreviewsResponseErrorCode_value = map[string]int32{ + "NULL": 0, + "UNKNOWN_ERROR": 1, + "BAD_INPUT": 2, +} + +func (x RpcChatSubscribeToMessagePreviewsResponseErrorCode) String() string { + return proto.EnumName(RpcChatSubscribeToMessagePreviewsResponseErrorCode_name, int32(x)) +} + +func (RpcChatSubscribeToMessagePreviewsResponseErrorCode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_8261c968b2e6f45c, []int{0, 41, 8, 1, 0, 0} +} + // Rpc is a namespace, that agregates all of the service commands between client and middleware. // Structure: Topic > Subtopic > Subsub... > Action > (Request, Response). // Request – message from a client. @@ -71495,6 +71523,7 @@ var xxx_messageInfo_RpcChatSubscribeLastMessages proto.InternalMessageInfo type RpcChatSubscribeLastMessagesRequest struct { ChatObjectId string `protobuf:"bytes,1,opt,name=chatObjectId,proto3" json:"chatObjectId,omitempty"` Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + SubId string `protobuf:"bytes,3,opt,name=subId,proto3" json:"subId,omitempty"` } func (m *RpcChatSubscribeLastMessagesRequest) Reset() { *m = RpcChatSubscribeLastMessagesRequest{} } @@ -71544,6 +71573,13 @@ func (m *RpcChatSubscribeLastMessagesRequest) GetLimit() int32 { return 0 } +func (m *RpcChatSubscribeLastMessagesRequest) GetSubId() string { + if m != nil { + return m.SubId + } + return "" +} + type RpcChatSubscribeLastMessagesResponse struct { Error *RpcChatSubscribeLastMessagesResponseError `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` Messages []*model.ChatMessage `protobuf:"bytes,2,rep,name=messages,proto3" json:"messages,omitempty"` @@ -71698,6 +71734,7 @@ var xxx_messageInfo_RpcChatUnsubscribe proto.InternalMessageInfo type RpcChatUnsubscribeRequest struct { ChatObjectId string `protobuf:"bytes,1,opt,name=chatObjectId,proto3" json:"chatObjectId,omitempty"` + SubId string `protobuf:"bytes,2,opt,name=subId,proto3" json:"subId,omitempty"` } func (m *RpcChatUnsubscribeRequest) Reset() { *m = RpcChatUnsubscribeRequest{} } @@ -71740,6 +71777,13 @@ func (m *RpcChatUnsubscribeRequest) GetChatObjectId() string { return "" } +func (m *RpcChatUnsubscribeRequest) GetSubId() string { + if m != nil { + return m.SubId + } + return "" +} + type RpcChatUnsubscribeResponse struct { Error *RpcChatUnsubscribeResponseError `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` } @@ -71836,6 +71880,192 @@ func (m *RpcChatUnsubscribeResponseError) GetDescription() string { return "" } +type RpcChatSubscribeToMessagePreviews struct { +} + +func (m *RpcChatSubscribeToMessagePreviews) Reset() { *m = RpcChatSubscribeToMessagePreviews{} } +func (m *RpcChatSubscribeToMessagePreviews) String() string { return proto.CompactTextString(m) } +func (*RpcChatSubscribeToMessagePreviews) ProtoMessage() {} +func (*RpcChatSubscribeToMessagePreviews) Descriptor() ([]byte, []int) { + return fileDescriptor_8261c968b2e6f45c, []int{0, 41, 8} +} +func (m *RpcChatSubscribeToMessagePreviews) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RpcChatSubscribeToMessagePreviews) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RpcChatSubscribeToMessagePreviews.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RpcChatSubscribeToMessagePreviews) XXX_Merge(src proto.Message) { + xxx_messageInfo_RpcChatSubscribeToMessagePreviews.Merge(m, src) +} +func (m *RpcChatSubscribeToMessagePreviews) XXX_Size() int { + return m.Size() +} +func (m *RpcChatSubscribeToMessagePreviews) XXX_DiscardUnknown() { + xxx_messageInfo_RpcChatSubscribeToMessagePreviews.DiscardUnknown(m) +} + +var xxx_messageInfo_RpcChatSubscribeToMessagePreviews proto.InternalMessageInfo + +type RpcChatSubscribeToMessagePreviewsRequest struct { +} + +func (m *RpcChatSubscribeToMessagePreviewsRequest) Reset() { + *m = RpcChatSubscribeToMessagePreviewsRequest{} +} +func (m *RpcChatSubscribeToMessagePreviewsRequest) String() string { return proto.CompactTextString(m) } +func (*RpcChatSubscribeToMessagePreviewsRequest) ProtoMessage() {} +func (*RpcChatSubscribeToMessagePreviewsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_8261c968b2e6f45c, []int{0, 41, 8, 0} +} +func (m *RpcChatSubscribeToMessagePreviewsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RpcChatSubscribeToMessagePreviewsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RpcChatSubscribeToMessagePreviewsRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RpcChatSubscribeToMessagePreviewsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_RpcChatSubscribeToMessagePreviewsRequest.Merge(m, src) +} +func (m *RpcChatSubscribeToMessagePreviewsRequest) XXX_Size() int { + return m.Size() +} +func (m *RpcChatSubscribeToMessagePreviewsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_RpcChatSubscribeToMessagePreviewsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_RpcChatSubscribeToMessagePreviewsRequest proto.InternalMessageInfo + +type RpcChatSubscribeToMessagePreviewsResponse struct { + Error *RpcChatSubscribeToMessagePreviewsResponseError `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + SubId string `protobuf:"bytes,2,opt,name=subId,proto3" json:"subId,omitempty"` +} + +func (m *RpcChatSubscribeToMessagePreviewsResponse) Reset() { + *m = RpcChatSubscribeToMessagePreviewsResponse{} +} +func (m *RpcChatSubscribeToMessagePreviewsResponse) String() string { + return proto.CompactTextString(m) +} +func (*RpcChatSubscribeToMessagePreviewsResponse) ProtoMessage() {} +func (*RpcChatSubscribeToMessagePreviewsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_8261c968b2e6f45c, []int{0, 41, 8, 1} +} +func (m *RpcChatSubscribeToMessagePreviewsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RpcChatSubscribeToMessagePreviewsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RpcChatSubscribeToMessagePreviewsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RpcChatSubscribeToMessagePreviewsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_RpcChatSubscribeToMessagePreviewsResponse.Merge(m, src) +} +func (m *RpcChatSubscribeToMessagePreviewsResponse) XXX_Size() int { + return m.Size() +} +func (m *RpcChatSubscribeToMessagePreviewsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_RpcChatSubscribeToMessagePreviewsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_RpcChatSubscribeToMessagePreviewsResponse proto.InternalMessageInfo + +func (m *RpcChatSubscribeToMessagePreviewsResponse) GetError() *RpcChatSubscribeToMessagePreviewsResponseError { + if m != nil { + return m.Error + } + return nil +} + +func (m *RpcChatSubscribeToMessagePreviewsResponse) GetSubId() string { + if m != nil { + return m.SubId + } + return "" +} + +type RpcChatSubscribeToMessagePreviewsResponseError struct { + Code RpcChatSubscribeToMessagePreviewsResponseErrorCode `protobuf:"varint,1,opt,name=code,proto3,enum=anytype.RpcChatSubscribeToMessagePreviewsResponseErrorCode" json:"code,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` +} + +func (m *RpcChatSubscribeToMessagePreviewsResponseError) Reset() { + *m = RpcChatSubscribeToMessagePreviewsResponseError{} +} +func (m *RpcChatSubscribeToMessagePreviewsResponseError) String() string { + return proto.CompactTextString(m) +} +func (*RpcChatSubscribeToMessagePreviewsResponseError) ProtoMessage() {} +func (*RpcChatSubscribeToMessagePreviewsResponseError) Descriptor() ([]byte, []int) { + return fileDescriptor_8261c968b2e6f45c, []int{0, 41, 8, 1, 0} +} +func (m *RpcChatSubscribeToMessagePreviewsResponseError) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RpcChatSubscribeToMessagePreviewsResponseError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RpcChatSubscribeToMessagePreviewsResponseError.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RpcChatSubscribeToMessagePreviewsResponseError) XXX_Merge(src proto.Message) { + xxx_messageInfo_RpcChatSubscribeToMessagePreviewsResponseError.Merge(m, src) +} +func (m *RpcChatSubscribeToMessagePreviewsResponseError) XXX_Size() int { + return m.Size() +} +func (m *RpcChatSubscribeToMessagePreviewsResponseError) XXX_DiscardUnknown() { + xxx_messageInfo_RpcChatSubscribeToMessagePreviewsResponseError.DiscardUnknown(m) +} + +var xxx_messageInfo_RpcChatSubscribeToMessagePreviewsResponseError proto.InternalMessageInfo + +func (m *RpcChatSubscribeToMessagePreviewsResponseError) GetCode() RpcChatSubscribeToMessagePreviewsResponseErrorCode { + if m != nil { + return m.Code + } + return RpcChatSubscribeToMessagePreviewsResponseError_NULL +} + +func (m *RpcChatSubscribeToMessagePreviewsResponseError) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + type Empty struct { } @@ -72230,6 +72460,7 @@ func init() { proto.RegisterEnum("anytype.RpcChatGetMessagesByIdsResponseErrorCode", RpcChatGetMessagesByIdsResponseErrorCode_name, RpcChatGetMessagesByIdsResponseErrorCode_value) proto.RegisterEnum("anytype.RpcChatSubscribeLastMessagesResponseErrorCode", RpcChatSubscribeLastMessagesResponseErrorCode_name, RpcChatSubscribeLastMessagesResponseErrorCode_value) proto.RegisterEnum("anytype.RpcChatUnsubscribeResponseErrorCode", RpcChatUnsubscribeResponseErrorCode_name, RpcChatUnsubscribeResponseErrorCode_value) + proto.RegisterEnum("anytype.RpcChatSubscribeToMessagePreviewsResponseErrorCode", RpcChatSubscribeToMessagePreviewsResponseErrorCode_name, RpcChatSubscribeToMessagePreviewsResponseErrorCode_value) proto.RegisterType((*Rpc)(nil), "anytype.Rpc") proto.RegisterType((*RpcApp)(nil), "anytype.Rpc.App") proto.RegisterType((*RpcAppGetVersion)(nil), "anytype.Rpc.App.GetVersion") @@ -73477,6 +73708,10 @@ func init() { proto.RegisterType((*RpcChatUnsubscribeRequest)(nil), "anytype.Rpc.Chat.Unsubscribe.Request") proto.RegisterType((*RpcChatUnsubscribeResponse)(nil), "anytype.Rpc.Chat.Unsubscribe.Response") proto.RegisterType((*RpcChatUnsubscribeResponseError)(nil), "anytype.Rpc.Chat.Unsubscribe.Response.Error") + proto.RegisterType((*RpcChatSubscribeToMessagePreviews)(nil), "anytype.Rpc.Chat.SubscribeToMessagePreviews") + proto.RegisterType((*RpcChatSubscribeToMessagePreviewsRequest)(nil), "anytype.Rpc.Chat.SubscribeToMessagePreviews.Request") + proto.RegisterType((*RpcChatSubscribeToMessagePreviewsResponse)(nil), "anytype.Rpc.Chat.SubscribeToMessagePreviews.Response") + proto.RegisterType((*RpcChatSubscribeToMessagePreviewsResponseError)(nil), "anytype.Rpc.Chat.SubscribeToMessagePreviews.Response.Error") proto.RegisterType((*Empty)(nil), "anytype.Empty") proto.RegisterType((*StreamRequest)(nil), "anytype.StreamRequest") proto.RegisterExtension(E_NoAuth) @@ -73485,1271 +73720,1274 @@ func init() { func init() { proto.RegisterFile("pb/protos/commands.proto", fileDescriptor_8261c968b2e6f45c) } var fileDescriptor_8261c968b2e6f45c = []byte{ - // 20216 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x7f, 0x9c, 0x24, 0x49, - 0x55, 0x2f, 0x3a, 0x55, 0x59, 0x55, 0xdd, 0x7d, 0xfa, 0xc7, 0xd4, 0xe4, 0xce, 0xcc, 0xce, 0xc6, - 0x2e, 0xb3, 0xeb, 0xb0, 0x2c, 0xeb, 0xb2, 0xf4, 0xc2, 0x82, 0xc8, 0x2e, 0xbb, 0x2c, 0xd5, 0xd5, - 0xd5, 0xdd, 0xb5, 0xdb, 0x5d, 0xd5, 0x66, 0x55, 0xcf, 0xb0, 0xfa, 0x7c, 0x65, 0x4e, 0x55, 0x74, - 0x77, 0xee, 0x54, 0x67, 0x16, 0x99, 0xd9, 0x33, 0xdb, 0xbc, 0xcf, 0x7d, 0x57, 0x44, 0x04, 0x45, - 0x44, 0x54, 0x54, 0x54, 0x40, 0x40, 0x50, 0x50, 0x44, 0x7e, 0x5f, 0x50, 0x01, 0x05, 0x04, 0x51, - 0x11, 0x45, 0xe5, 0x87, 0xf2, 0x11, 0xfc, 0x89, 0xf7, 0xa3, 0xd7, 0xa7, 0xef, 0x0a, 0xe2, 0xd5, - 0xeb, 0xfb, 0x64, 0x44, 0x64, 0x66, 0x44, 0x75, 0x65, 0x56, 0x64, 0x75, 0x65, 0xf5, 0x2a, 0xef, - 0xbf, 0xcc, 0xc8, 0xc8, 0x13, 0x27, 0xce, 0xf7, 0x44, 0xc4, 0x89, 0x88, 0x13, 0x27, 0xe0, 0x5c, - 0xef, 0xf2, 0x5d, 0x3d, 0xdb, 0x72, 0x2d, 0xe7, 0xae, 0xb6, 0xb5, 0xb7, 0xa7, 0x9b, 0x1d, 0x67, - 0x91, 0xbc, 0xab, 0x53, 0xba, 0x79, 0xe0, 0x1e, 0xf4, 0x30, 0xba, 0xb5, 0x77, 0x65, 0xe7, 0xae, - 0xae, 0x71, 0xf9, 0xae, 0xde, 0xe5, 0xbb, 0xf6, 0xac, 0x0e, 0xee, 0xfa, 0x3f, 0x90, 0x17, 0x96, - 0x1d, 0xdd, 0x1e, 0x95, 0xab, 0x6b, 0xb5, 0xf5, 0xae, 0xe3, 0x5a, 0x36, 0x66, 0x39, 0xcf, 0x86, - 0x45, 0xe2, 0xab, 0xd8, 0x74, 0x7d, 0x0a, 0x37, 0xed, 0x58, 0xd6, 0x4e, 0x17, 0xd3, 0x6f, 0x97, - 0xf7, 0xb7, 0xef, 0x72, 0x5c, 0x7b, 0xbf, 0xed, 0xb2, 0xaf, 0xb7, 0xf4, 0x7f, 0xed, 0x60, 0xa7, - 0x6d, 0x1b, 0x3d, 0xd7, 0xb2, 0x69, 0x8e, 0x0b, 0xaf, 0x7d, 0xd3, 0x34, 0x28, 0x5a, 0xaf, 0x8d, - 0xbe, 0x32, 0x05, 0x4a, 0xa9, 0xd7, 0x43, 0x1f, 0xcd, 0x02, 0xac, 0x62, 0xf7, 0x22, 0xb6, 0x1d, - 0xc3, 0x32, 0xd1, 0x49, 0x98, 0xd2, 0xf0, 0xf3, 0xf6, 0xb1, 0xe3, 0xde, 0x9b, 0x7b, 0xc9, 0x5f, - 0x29, 0x19, 0xf4, 0xc6, 0x2c, 0x4c, 0x6b, 0xd8, 0xe9, 0x59, 0xa6, 0x83, 0xd5, 0xe7, 0x40, 0x1e, - 0xdb, 0xb6, 0x65, 0x9f, 0xcb, 0xdc, 0x92, 0xb9, 0x7d, 0xf6, 0xee, 0x3b, 0x16, 0x59, 0xf5, 0x17, - 0xb5, 0x5e, 0x7b, 0xb1, 0xd4, 0xeb, 0x2d, 0x86, 0x94, 0x16, 0xfd, 0x9f, 0x16, 0x2b, 0xde, 0x1f, - 0x1a, 0xfd, 0x51, 0x3d, 0x07, 0x53, 0x57, 0x69, 0x86, 0x73, 0xd9, 0x5b, 0x32, 0xb7, 0xcf, 0x68, - 0xfe, 0xab, 0xf7, 0xa5, 0x83, 0x5d, 0xdd, 0xe8, 0x3a, 0xe7, 0x14, 0xfa, 0x85, 0xbd, 0xa2, 0xd7, - 0x67, 0x20, 0x4f, 0x88, 0xa8, 0x65, 0xc8, 0xb5, 0xad, 0x0e, 0x26, 0xc5, 0x2f, 0xdc, 0x7d, 0x97, - 0x7c, 0xf1, 0x8b, 0x65, 0xab, 0x83, 0x35, 0xf2, 0xb3, 0x7a, 0x0b, 0xcc, 0xfa, 0x62, 0x09, 0xd9, - 0xe0, 0x93, 0x2e, 0xdc, 0x0d, 0x39, 0x2f, 0xbf, 0x3a, 0x0d, 0xb9, 0xda, 0xd6, 0xfa, 0x7a, 0xf1, - 0x84, 0x7a, 0x0a, 0xe6, 0xb7, 0x6a, 0x0f, 0xd5, 0xea, 0x97, 0x6a, 0xad, 0x8a, 0xa6, 0xd5, 0xb5, - 0x62, 0x46, 0x9d, 0x87, 0x99, 0xa5, 0xd2, 0x72, 0xab, 0x5a, 0xdb, 0xdc, 0x6a, 0x16, 0xb3, 0xe8, - 0x35, 0x0a, 0x2c, 0x34, 0xb0, 0xbb, 0x8c, 0xaf, 0x1a, 0x6d, 0xdc, 0x70, 0x75, 0x17, 0xa3, 0x97, - 0x67, 0x02, 0x61, 0xaa, 0x5b, 0x5e, 0xa1, 0xc1, 0x27, 0x56, 0x81, 0xa7, 0x1d, 0xaa, 0x80, 0x48, - 0x61, 0x91, 0xfd, 0xbd, 0xc8, 0xa5, 0x69, 0x3c, 0x9d, 0x0b, 0x4f, 0x86, 0x59, 0xee, 0x9b, 0xba, - 0x00, 0xb0, 0x54, 0x2a, 0x3f, 0xb4, 0xaa, 0xd5, 0xb7, 0x6a, 0xcb, 0xc5, 0x13, 0xde, 0xfb, 0x4a, - 0x5d, 0xab, 0xb0, 0xf7, 0x0c, 0xfa, 0x5a, 0x86, 0x03, 0x73, 0x59, 0x04, 0x73, 0x71, 0x38, 0x33, - 0x03, 0x00, 0x45, 0x6f, 0x0a, 0xc0, 0x59, 0x15, 0xc0, 0x79, 0x5a, 0x32, 0x72, 0xe9, 0x03, 0xf4, - 0xa2, 0x2c, 0x4c, 0x37, 0x76, 0xf7, 0xdd, 0x8e, 0x75, 0xcd, 0x44, 0x33, 0x01, 0x32, 0xe8, 0xef, - 0x78, 0x99, 0x3c, 0x5b, 0x94, 0xc9, 0xed, 0x87, 0x2b, 0xc1, 0x28, 0x44, 0x48, 0xe3, 0xa7, 0x03, - 0x69, 0x94, 0x04, 0x69, 0x3c, 0x59, 0x96, 0x50, 0xfa, 0x72, 0xf8, 0x89, 0x67, 0x42, 0xbe, 0xd1, - 0xd3, 0xdb, 0x18, 0xfd, 0xb6, 0x02, 0x73, 0xeb, 0x58, 0xbf, 0x8a, 0x4b, 0xbd, 0x9e, 0x6d, 0x5d, - 0xc5, 0xa8, 0x1c, 0xea, 0xeb, 0x39, 0x98, 0x72, 0xbc, 0x4c, 0xd5, 0x0e, 0xa9, 0xc1, 0x8c, 0xe6, - 0xbf, 0xaa, 0xe7, 0x01, 0x8c, 0x0e, 0x36, 0x5d, 0xc3, 0x35, 0xb0, 0x73, 0x2e, 0x7b, 0x8b, 0x72, - 0xfb, 0x8c, 0xc6, 0xa5, 0xa0, 0xaf, 0x64, 0x65, 0x75, 0x8c, 0x70, 0xb1, 0xc8, 0x73, 0x10, 0x21, - 0xd5, 0x37, 0x64, 0x65, 0x74, 0x6c, 0x28, 0xb9, 0x64, 0xb2, 0xfd, 0xc5, 0x4c, 0x72, 0xe1, 0x7a, - 0x39, 0x6a, 0xf5, 0x56, 0x63, 0xab, 0xbc, 0xd6, 0x6a, 0x6c, 0x96, 0xca, 0x95, 0x22, 0x56, 0x4f, - 0x43, 0x91, 0x3c, 0xb6, 0xaa, 0x8d, 0xd6, 0x72, 0x65, 0xbd, 0xd2, 0xac, 0x2c, 0x17, 0xb7, 0x55, - 0x15, 0x16, 0xb4, 0xca, 0xb7, 0x6c, 0x55, 0x1a, 0xcd, 0xd6, 0x4a, 0xa9, 0xba, 0x5e, 0x59, 0x2e, - 0xee, 0x78, 0x3f, 0xaf, 0x57, 0x37, 0xaa, 0xcd, 0x96, 0x56, 0x29, 0x95, 0xd7, 0x2a, 0xcb, 0xc5, - 0x5d, 0xf5, 0x7a, 0xb8, 0xae, 0x56, 0x6f, 0x95, 0x36, 0x37, 0xb5, 0xfa, 0xc5, 0x4a, 0x8b, 0xfd, - 0xd1, 0x28, 0x1a, 0xb4, 0xa0, 0x66, 0xab, 0xb1, 0x56, 0xd2, 0x2a, 0xa5, 0xa5, 0xf5, 0x4a, 0xf1, - 0x11, 0xf4, 0x42, 0x05, 0xe6, 0x37, 0xf4, 0x2b, 0xb8, 0xb1, 0xab, 0xdb, 0x58, 0xbf, 0xdc, 0xc5, - 0xe8, 0xf1, 0x12, 0x78, 0xa2, 0xdf, 0xe6, 0xf1, 0xaa, 0x88, 0x78, 0xdd, 0x35, 0x40, 0xc0, 0x42, - 0x11, 0x11, 0x80, 0xfd, 0x73, 0xd0, 0x0c, 0xd6, 0x04, 0xc0, 0x9e, 0x9e, 0x90, 0x5e, 0x32, 0xc4, - 0xbe, 0xeb, 0x31, 0x80, 0x18, 0xfa, 0x82, 0x02, 0x0b, 0x55, 0xf3, 0xaa, 0xe1, 0xe2, 0x55, 0x6c, - 0x62, 0xdb, 0x1b, 0x07, 0xa4, 0x60, 0x78, 0xa3, 0xc2, 0xc1, 0xb0, 0x22, 0xc2, 0xf0, 0x94, 0x01, - 0x62, 0x13, 0xcb, 0x88, 0x18, 0x6d, 0x6f, 0x82, 0x19, 0x83, 0xe4, 0x2b, 0x1b, 0x1d, 0x26, 0xb1, - 0x30, 0x41, 0xbd, 0x15, 0xe6, 0xe9, 0xcb, 0x8a, 0xd1, 0xc5, 0x0f, 0xe1, 0x03, 0x36, 0xee, 0x8a, - 0x89, 0xe8, 0xfb, 0x83, 0xc6, 0x57, 0x15, 0xb0, 0xfc, 0xa6, 0xa4, 0x4c, 0x25, 0x03, 0xf3, 0x95, - 0x8f, 0x85, 0xe6, 0x77, 0xa8, 0x95, 0x19, 0xe8, 0xdf, 0xb2, 0x30, 0xdb, 0x70, 0xad, 0x9e, 0xa7, - 0xb2, 0x86, 0xb9, 0x23, 0x07, 0xee, 0xc7, 0xf9, 0x36, 0x56, 0x16, 0xc1, 0x7d, 0xf2, 0x00, 0x39, - 0x72, 0x05, 0x44, 0xb4, 0xb0, 0xaf, 0x04, 0x2d, 0x6c, 0x45, 0x40, 0xe5, 0xee, 0x44, 0xd4, 0xfe, - 0x03, 0xb6, 0xaf, 0x57, 0x2a, 0x50, 0xf4, 0xd5, 0xcc, 0x2d, 0xef, 0xdb, 0x36, 0x36, 0x5d, 0x39, - 0x10, 0xfe, 0x98, 0x07, 0x61, 0x4d, 0x04, 0xe1, 0xee, 0x18, 0x65, 0xf6, 0x4b, 0x49, 0xb1, 0x8d, - 0x7d, 0x28, 0x40, 0xf3, 0x21, 0x01, 0xcd, 0x6f, 0x4e, 0xce, 0x56, 0x32, 0x48, 0xd7, 0x46, 0x40, - 0xf4, 0x34, 0x14, 0xbd, 0x31, 0xa9, 0xdc, 0xac, 0x5e, 0xac, 0xb4, 0xaa, 0xb5, 0x8b, 0xd5, 0x66, - 0xa5, 0x88, 0xd1, 0x0f, 0x2b, 0x30, 0x47, 0x59, 0xd3, 0xf0, 0x55, 0xeb, 0x8a, 0x64, 0xaf, 0xf7, - 0x85, 0x84, 0xc6, 0x02, 0x5f, 0x42, 0x44, 0xcb, 0xf8, 0xbe, 0x04, 0xc6, 0x42, 0x0c, 0xb9, 0xc7, - 0x52, 0x6f, 0x75, 0xa8, 0x19, 0xec, 0x0c, 0x68, 0x2d, 0x03, 0x7b, 0xab, 0x57, 0xe6, 0x00, 0x68, - 0x25, 0x2f, 0x1a, 0xf8, 0x1a, 0xda, 0x08, 0x31, 0x11, 0xd4, 0x36, 0x33, 0x54, 0x6d, 0xb3, 0x83, - 0xd4, 0xf6, 0xbd, 0xfc, 0x98, 0xb5, 0x24, 0xa2, 0x77, 0x67, 0xa4, 0xb8, 0x3d, 0x4e, 0xa2, 0x67, - 0x87, 0xbe, 0xa2, 0x64, 0x45, 0xab, 0xf3, 0x26, 0x98, 0x21, 0x8f, 0x35, 0x7d, 0x0f, 0xb3, 0x36, - 0x14, 0x26, 0xa8, 0x17, 0x60, 0x8e, 0x66, 0x6c, 0x5b, 0xa6, 0x57, 0x9f, 0x1c, 0xc9, 0x20, 0xa4, - 0x79, 0x20, 0xb6, 0x6d, 0xac, 0xbb, 0x96, 0x4d, 0x68, 0xe4, 0x29, 0x88, 0x5c, 0x12, 0xfa, 0x72, - 0xd0, 0x0a, 0x2b, 0x82, 0xe6, 0x3c, 0x35, 0x49, 0x55, 0x92, 0xe9, 0xcd, 0xd5, 0xd1, 0xda, 0x1f, - 0x6d, 0x75, 0x2d, 0x0f, 0xed, 0x15, 0x32, 0xb5, 0xc3, 0xea, 0x59, 0x50, 0x59, 0xaa, 0x97, 0xb7, - 0x5c, 0xaf, 0x35, 0x2b, 0xb5, 0x66, 0x71, 0x7b, 0xa0, 0x46, 0xed, 0xa0, 0x37, 0xe4, 0x20, 0xf7, - 0xa0, 0x65, 0x98, 0xe8, 0x45, 0x19, 0x41, 0x25, 0x4c, 0xec, 0x5e, 0xb3, 0xec, 0x2b, 0x41, 0x43, - 0x0d, 0x13, 0xe2, 0xb1, 0x09, 0x55, 0x49, 0x19, 0xaa, 0x4a, 0xb9, 0x41, 0xaa, 0xf4, 0x43, 0xbc, - 0x2a, 0xdd, 0x27, 0xaa, 0xd2, 0x6d, 0x03, 0xe4, 0xef, 0x31, 0x1f, 0xd1, 0x01, 0x7c, 0x2c, 0xe8, - 0x00, 0x1e, 0x10, 0x60, 0x7c, 0x92, 0x1c, 0x99, 0x64, 0x00, 0x7e, 0x3e, 0xd5, 0x86, 0x3f, 0x08, - 0xea, 0x9d, 0x08, 0xa8, 0x77, 0x07, 0xf4, 0x09, 0xc6, 0xe1, 0xae, 0xe3, 0x91, 0xc3, 0xdd, 0xc4, - 0x15, 0xf5, 0x0c, 0x9c, 0x5a, 0xae, 0xae, 0xac, 0x54, 0xb4, 0x4a, 0xad, 0xd9, 0xaa, 0x55, 0x9a, - 0x97, 0xea, 0xda, 0x43, 0xc5, 0x2e, 0x7a, 0xbd, 0x02, 0xe0, 0x49, 0xa8, 0xac, 0x9b, 0x6d, 0xdc, - 0x95, 0xeb, 0xd1, 0xff, 0x47, 0x36, 0x59, 0x9f, 0x10, 0xd2, 0x8f, 0x80, 0xf3, 0xd5, 0x59, 0xf9, - 0x56, 0x19, 0x49, 0x2c, 0x19, 0xa8, 0x6f, 0x79, 0x2c, 0xd8, 0x9e, 0xd7, 0xc1, 0x49, 0x9f, 0x1e, - 0xcb, 0x3e, 0x78, 0xda, 0xf7, 0xb6, 0x1c, 0x2c, 0x30, 0x58, 0xfc, 0x79, 0xfc, 0x4b, 0x32, 0x32, - 0x13, 0x79, 0x04, 0xd3, 0x6c, 0xda, 0xee, 0x77, 0xef, 0xc1, 0xbb, 0xba, 0x0a, 0xb3, 0x3d, 0x6c, - 0xef, 0x19, 0x8e, 0x63, 0x58, 0x26, 0x5d, 0x90, 0x5b, 0xb8, 0xfb, 0x09, 0x81, 0xc4, 0xc9, 0xda, - 0xe5, 0xe2, 0xa6, 0x6e, 0xbb, 0x46, 0xdb, 0xe8, 0xe9, 0xa6, 0xbb, 0x19, 0x66, 0xd6, 0xf8, 0x3f, - 0xd1, 0x2b, 0x12, 0x4e, 0x6b, 0xc4, 0x9a, 0x44, 0xa8, 0xc4, 0xaf, 0x24, 0x98, 0x92, 0xc4, 0x12, - 0x4c, 0xa6, 0x16, 0x1f, 0x4d, 0x55, 0x2d, 0x06, 0xe0, 0xbd, 0xa3, 0xde, 0x00, 0x67, 0xaa, 0xb5, - 0x72, 0x5d, 0xd3, 0x2a, 0xe5, 0x66, 0x6b, 0xb3, 0xa2, 0x6d, 0x54, 0x1b, 0x8d, 0x6a, 0xbd, 0xd6, - 0x38, 0x4a, 0x6b, 0x47, 0x9f, 0x50, 0x02, 0x8d, 0x59, 0xc6, 0xed, 0xae, 0x61, 0x62, 0xf4, 0xc0, - 0x11, 0x15, 0x46, 0x5c, 0xf5, 0x91, 0xc7, 0x99, 0x95, 0x1f, 0x81, 0xf3, 0xeb, 0x92, 0xe3, 0x3c, - 0x98, 0xe0, 0x7f, 0xe2, 0xe6, 0xff, 0x05, 0x05, 0x4e, 0x71, 0x0d, 0x51, 0xc3, 0x7b, 0x63, 0x5b, - 0xc9, 0xfb, 0x2e, 0xbe, 0xed, 0x56, 0x45, 0x4c, 0x07, 0x59, 0xd3, 0x87, 0xd8, 0x88, 0x80, 0xf5, - 0x2d, 0x01, 0xac, 0xeb, 0x02, 0xac, 0xcf, 0x1c, 0x81, 0x66, 0x32, 0x64, 0x7f, 0x29, 0x55, 0x64, - 0x6f, 0x80, 0x33, 0x9b, 0x25, 0xad, 0x59, 0x2d, 0x57, 0x37, 0x4b, 0xde, 0x38, 0xca, 0x0d, 0xd9, - 0x11, 0xe6, 0xba, 0x08, 0xfa, 0x40, 0x7c, 0x3f, 0x98, 0x83, 0x9b, 0x06, 0x77, 0xb4, 0xe5, 0x5d, - 0xdd, 0xdc, 0xc1, 0xc8, 0x90, 0x81, 0x7a, 0x19, 0xa6, 0xda, 0x24, 0x3b, 0xc5, 0x99, 0xdf, 0xba, - 0x89, 0xe9, 0xcb, 0x69, 0x09, 0x9a, 0xff, 0x2b, 0x7a, 0x27, 0xaf, 0x10, 0x4d, 0x51, 0x21, 0x9e, - 0x1d, 0x0f, 0xde, 0x21, 0xbe, 0x23, 0x74, 0xe3, 0x53, 0x81, 0x6e, 0x5c, 0x12, 0x74, 0xa3, 0x7c, - 0x34, 0xf2, 0xc9, 0xd4, 0xe4, 0xb7, 0x1e, 0x0b, 0x1d, 0x40, 0xa4, 0x36, 0x19, 0xd1, 0xa3, 0xc2, - 0xc0, 0xee, 0xfe, 0xb5, 0x0a, 0x14, 0x96, 0x71, 0x17, 0xcb, 0xae, 0x44, 0xfe, 0x7d, 0x56, 0x76, - 0x43, 0x84, 0xc2, 0x40, 0x69, 0x47, 0xaf, 0x8e, 0xb8, 0xc6, 0x1e, 0x76, 0x5c, 0x7d, 0xaf, 0x47, - 0x44, 0xad, 0x68, 0x61, 0x02, 0xfa, 0xee, 0xac, 0xcc, 0x76, 0x49, 0x4c, 0x31, 0xff, 0x39, 0xd6, - 0x14, 0x3f, 0x9d, 0x85, 0xe9, 0x06, 0x76, 0xeb, 0x76, 0x07, 0xdb, 0xa8, 0x11, 0x62, 0x74, 0x0b, - 0xcc, 0x12, 0x50, 0xbc, 0x69, 0x66, 0x80, 0x13, 0x9f, 0xa4, 0xde, 0x06, 0x0b, 0xc1, 0x2b, 0xf9, - 0x9d, 0x75, 0xe3, 0x7d, 0xa9, 0xe8, 0x1f, 0x32, 0xb2, 0xbb, 0xb8, 0x6c, 0xc9, 0x90, 0x71, 0x13, - 0xd1, 0x4a, 0xe5, 0x76, 0x64, 0x63, 0x49, 0xa5, 0xbf, 0xd1, 0xf5, 0xf6, 0x2c, 0xc0, 0x96, 0xe9, - 0xf8, 0x72, 0x7d, 0x52, 0x02, 0xb9, 0xa2, 0x7f, 0xca, 0x24, 0x9b, 0xc5, 0x84, 0xe5, 0x44, 0x48, - 0xec, 0x67, 0x12, 0xac, 0x2d, 0x44, 0x12, 0x4b, 0x5f, 0x66, 0x9f, 0x3d, 0x09, 0x85, 0x4b, 0x7a, - 0xb7, 0x8b, 0x5d, 0xf4, 0x1a, 0x05, 0x0a, 0x65, 0x1b, 0xeb, 0x2e, 0x46, 0x38, 0x14, 0x1d, 0x82, - 0x69, 0xdb, 0xb2, 0xdc, 0x4d, 0xdd, 0xdd, 0x65, 0x72, 0x0b, 0xde, 0xd5, 0x67, 0xc2, 0xf5, 0xdb, - 0xfb, 0xdd, 0xae, 0x8b, 0x1f, 0x75, 0x37, 0x6d, 0x63, 0x4f, 0xb7, 0x0f, 0xd6, 0x75, 0x73, 0x67, - 0x5f, 0xdf, 0xc1, 0x8c, 0xbd, 0xa8, 0xcf, 0xcc, 0xd5, 0xe0, 0x17, 0xf8, 0x8e, 0xe7, 0x01, 0x51, - 0xe8, 0xdf, 0x28, 0xc8, 0x89, 0xb2, 0xb8, 0x48, 0xd9, 0x8b, 0xe8, 0x79, 0x10, 0x4c, 0xef, 0x99, - 0x78, 0xcf, 0x32, 0x8d, 0xb6, 0x6f, 0xad, 0xfa, 0xef, 0xe8, 0xd7, 0x03, 0x34, 0x96, 0x04, 0x34, - 0x16, 0xa5, 0x4b, 0x49, 0x06, 0x45, 0x63, 0x84, 0x7e, 0xe7, 0x66, 0xb8, 0x91, 0x76, 0x23, 0xad, - 0x66, 0xbd, 0x55, 0xd6, 0x2a, 0xa5, 0x66, 0xa5, 0xb5, 0x5e, 0x2f, 0x97, 0xd6, 0x5b, 0x5a, 0x65, - 0xb3, 0x5e, 0xc4, 0xde, 0xec, 0x7c, 0x4a, 0xc3, 0x6d, 0xeb, 0x2a, 0xb6, 0xd1, 0x0b, 0x32, 0x72, - 0x10, 0xc5, 0x08, 0x25, 0x0e, 0x3e, 0x45, 0x06, 0xbe, 0x1f, 0x92, 0xf6, 0x14, 0x61, 0x82, 0x65, - 0xcc, 0x47, 0xb4, 0x98, 0x0f, 0x4b, 0xf5, 0x31, 0xb1, 0xa4, 0x1e, 0x03, 0x20, 0xfd, 0xcf, 0x2c, - 0x4c, 0x95, 0x2d, 0xf3, 0x2a, 0xb6, 0x5d, 0x7e, 0x92, 0xc5, 0xe3, 0x90, 0xe9, 0xc3, 0xe1, 0x1c, - 0x4c, 0x61, 0xd3, 0xb5, 0xad, 0x9e, 0x3f, 0xcb, 0xf2, 0x5f, 0xd1, 0xcf, 0x26, 0x95, 0x30, 0x2b, - 0x39, 0x7a, 0xb5, 0x75, 0x70, 0x41, 0x02, 0x7b, 0x4a, 0x5f, 0xdb, 0x79, 0x7d, 0x12, 0x5c, 0x06, - 0x33, 0x90, 0x7e, 0x3f, 0xf6, 0x45, 0x05, 0xe6, 0x69, 0xbb, 0x6d, 0x60, 0x62, 0x16, 0xa2, 0x3a, - 0xbf, 0xce, 0xd9, 0x27, 0xfc, 0xb5, 0x13, 0x82, 0xf8, 0x0b, 0x7a, 0xaf, 0x17, 0xac, 0x79, 0xaf, - 0x9d, 0xd0, 0xd8, 0x3b, 0x55, 0xf3, 0xa5, 0x02, 0xe4, 0xf4, 0x7d, 0x77, 0x17, 0xfd, 0x9b, 0xf4, - 0x8c, 0x57, 0xe8, 0x47, 0x18, 0x3f, 0x11, 0x90, 0x9c, 0x86, 0xbc, 0x6b, 0x5d, 0xc1, 0xbe, 0x1c, - 0xe8, 0x8b, 0x07, 0x87, 0xde, 0xeb, 0x35, 0xc9, 0x07, 0x06, 0x87, 0xff, 0xee, 0x19, 0x58, 0x7a, - 0xbb, 0x6d, 0xed, 0x9b, 0x6e, 0xd5, 0x5f, 0xf7, 0x0e, 0x13, 0xd0, 0x67, 0x33, 0x32, 0x33, 0x68, - 0x09, 0x06, 0x93, 0x41, 0x76, 0x79, 0x84, 0xa6, 0xb4, 0x08, 0x77, 0x94, 0x36, 0x37, 0x5b, 0xcd, - 0xfa, 0x43, 0x95, 0x5a, 0x68, 0xed, 0xb6, 0xaa, 0xb5, 0x56, 0x73, 0xad, 0xd2, 0x2a, 0x6f, 0x69, - 0x64, 0x71, 0xb2, 0x54, 0x2e, 0xd7, 0xb7, 0x6a, 0xcd, 0x22, 0x46, 0x6f, 0xcd, 0xc2, 0x5c, 0xb9, - 0x6b, 0x39, 0x01, 0xc2, 0x37, 0x87, 0x08, 0x07, 0x62, 0xcc, 0x70, 0x62, 0x44, 0xff, 0x2b, 0x23, - 0xeb, 0xe9, 0xe0, 0x0b, 0x84, 0x23, 0x1f, 0xd1, 0x4b, 0xfd, 0xac, 0x94, 0xa7, 0xc3, 0x70, 0x7a, - 0xe9, 0x37, 0x89, 0xcf, 0x57, 0x60, 0xaa, 0x44, 0x15, 0x03, 0xfd, 0x69, 0x06, 0x0a, 0x65, 0xcb, - 0xdc, 0x36, 0x76, 0x3c, 0x0b, 0x12, 0x9b, 0xfa, 0xe5, 0x2e, 0x5e, 0xd6, 0x5d, 0xfd, 0xaa, 0x81, - 0xaf, 0x91, 0x0a, 0x4c, 0x6b, 0x7d, 0xa9, 0x1e, 0x53, 0x2c, 0x05, 0x5f, 0xde, 0xdf, 0x21, 0x4c, - 0x4d, 0x6b, 0x7c, 0x92, 0x37, 0x7e, 0xd0, 0xd7, 0x4d, 0x1b, 0xdb, 0xb8, 0x8b, 0x75, 0x07, 0x7b, - 0x73, 0x31, 0x13, 0x77, 0x89, 0xd2, 0x4e, 0x6b, 0x51, 0x9f, 0xd5, 0x0b, 0x30, 0x47, 0x3f, 0x11, - 0xfb, 0xc7, 0x21, 0x6a, 0x3c, 0xad, 0x09, 0x69, 0xea, 0x93, 0x21, 0x8f, 0x1f, 0x75, 0x6d, 0xfd, - 0x5c, 0x87, 0xe0, 0x75, 0xfd, 0x22, 0x75, 0x75, 0x5c, 0xf4, 0x5d, 0x1d, 0x17, 0x1b, 0xc4, 0x11, - 0x52, 0xa3, 0xb9, 0xd0, 0x27, 0xa6, 0x03, 0xeb, 0xe5, 0xad, 0x4a, 0xa8, 0x18, 0x2a, 0xe4, 0x4c, - 0x7d, 0x0f, 0x33, 0xbd, 0x20, 0xcf, 0xea, 0x1d, 0x70, 0x52, 0xbf, 0xaa, 0xbb, 0xba, 0xbd, 0x6e, - 0xb5, 0xf5, 0x2e, 0x19, 0x36, 0xfd, 0x96, 0xdf, 0xff, 0x81, 0x6c, 0x43, 0xb9, 0x96, 0x8d, 0x49, - 0x2e, 0x7f, 0x1b, 0xca, 0x4f, 0xf0, 0xa8, 0x1b, 0x6d, 0xcb, 0x24, 0xfc, 0x2b, 0x1a, 0x79, 0xf6, - 0xa4, 0xd2, 0x31, 0x1c, 0xaf, 0x22, 0x84, 0x4a, 0x8d, 0xee, 0xa7, 0x34, 0x0e, 0xcc, 0x36, 0xd9, - 0x82, 0x9a, 0xd6, 0xa2, 0x3e, 0xab, 0x4b, 0x30, 0xcb, 0x76, 0x5f, 0x36, 0x3c, 0xbd, 0x2a, 0x10, - 0xbd, 0xba, 0x45, 0x74, 0x24, 0xa3, 0x78, 0x2e, 0xd6, 0xc2, 0x7c, 0x1a, 0xff, 0x93, 0xfa, 0x1c, - 0xb8, 0x91, 0xbd, 0x96, 0xf7, 0x1d, 0xd7, 0xda, 0xa3, 0xa0, 0xaf, 0x18, 0x5d, 0x5a, 0x83, 0x29, - 0x52, 0x83, 0xb8, 0x2c, 0xea, 0xdd, 0x70, 0xba, 0x67, 0xe3, 0x6d, 0x6c, 0x3f, 0xac, 0xef, 0xed, - 0x3f, 0xda, 0xb4, 0x75, 0xd3, 0xe9, 0x59, 0xb6, 0x7b, 0x6e, 0x9a, 0x30, 0x3f, 0xf0, 0x9b, 0x7a, - 0x27, 0x9c, 0x7a, 0xc4, 0xb1, 0xcc, 0x52, 0xcf, 0x58, 0x37, 0x1c, 0x17, 0x9b, 0xa5, 0x4e, 0xc7, - 0x3e, 0x37, 0x43, 0xca, 0x3a, 0xfc, 0x81, 0x75, 0xab, 0xd3, 0x50, 0xa0, 0xc2, 0x46, 0x2f, 0xcf, - 0x4b, 0x7b, 0x9c, 0xb2, 0xea, 0xc7, 0xda, 0x81, 0x4f, 0x81, 0x29, 0xd6, 0x1f, 0x12, 0x58, 0x67, - 0xef, 0x3e, 0xdb, 0xb7, 0xf4, 0xc1, 0xa8, 0x68, 0x7e, 0x36, 0xf5, 0x69, 0x50, 0x68, 0x13, 0x21, - 0x10, 0x84, 0x67, 0xef, 0xbe, 0x71, 0x70, 0xa1, 0x24, 0x8b, 0xc6, 0xb2, 0xa2, 0xcf, 0x29, 0x52, - 0x4e, 0xaa, 0x71, 0x1c, 0x27, 0xeb, 0x03, 0xbe, 0x9c, 0x1d, 0xa1, 0x93, 0xbd, 0x13, 0x6e, 0x67, - 0x3d, 0x28, 0xb3, 0x56, 0x96, 0x5b, 0x4b, 0x5b, 0xfe, 0x7c, 0xd5, 0xb3, 0x61, 0x1a, 0xcd, 0x92, - 0xd6, 0x6c, 0xd5, 0xea, 0xcb, 0xde, 0x3c, 0xf7, 0x0e, 0xb8, 0x6d, 0x48, 0xee, 0x4a, 0xb3, 0x55, - 0x2b, 0x6d, 0x54, 0x8a, 0xdb, 0xa2, 0x25, 0xd4, 0x68, 0xd6, 0x37, 0x5b, 0xda, 0x56, 0xad, 0x56, - 0xad, 0xad, 0x52, 0x62, 0x9e, 0xe9, 0x79, 0x36, 0xcc, 0x70, 0x49, 0xab, 0x36, 0x2b, 0xad, 0x72, - 0xbd, 0xb6, 0x52, 0x5d, 0x2d, 0x1a, 0xc3, 0xcc, 0xa8, 0x47, 0xd4, 0x5b, 0xe0, 0x26, 0x81, 0x93, - 0x6a, 0xbd, 0xe6, 0x4d, 0xbe, 0xcb, 0xa5, 0x5a, 0xb9, 0xe2, 0xcd, 0xb4, 0xaf, 0xa8, 0x08, 0xce, - 0x50, 0x72, 0xad, 0x95, 0xea, 0x3a, 0xbf, 0x5f, 0xf6, 0xf1, 0x8c, 0x7a, 0x0e, 0xae, 0xe3, 0xbf, - 0x55, 0x6b, 0x17, 0x4b, 0xeb, 0xd5, 0xe5, 0xe2, 0x6f, 0x66, 0xd4, 0x5b, 0xe1, 0x66, 0xe1, 0x2f, - 0xba, 0xf5, 0xd5, 0xaa, 0x2e, 0xb7, 0x36, 0xaa, 0x8d, 0x8d, 0x52, 0xb3, 0xbc, 0x56, 0xfc, 0x04, - 0x99, 0x98, 0x04, 0x96, 0x36, 0xe7, 0x39, 0xfa, 0x4a, 0xde, 0x02, 0x28, 0x89, 0x8a, 0xfa, 0xa4, - 0x81, 0xb0, 0xc7, 0x5b, 0xbc, 0x1f, 0x0d, 0xc6, 0x92, 0x65, 0x41, 0x85, 0x9e, 0x92, 0x80, 0x56, - 0x32, 0x1d, 0x6a, 0x8e, 0xa0, 0x42, 0xb7, 0xc0, 0x4d, 0xb5, 0x0a, 0x45, 0x4a, 0xab, 0x94, 0xeb, - 0x17, 0x2b, 0x5a, 0xeb, 0x52, 0x69, 0x7d, 0xbd, 0xd2, 0x6c, 0xad, 0x54, 0xb5, 0x46, 0xb3, 0xb8, - 0x8d, 0xfe, 0x29, 0x1b, 0x2c, 0x38, 0x71, 0xd2, 0xfa, 0xd3, 0x6c, 0xd2, 0x66, 0x1d, 0xbb, 0xb0, - 0xf4, 0x4d, 0x50, 0x70, 0x5c, 0xdd, 0xdd, 0x77, 0x58, 0xab, 0x7e, 0xdc, 0xe0, 0x56, 0xbd, 0xd8, - 0x20, 0x99, 0x34, 0x96, 0x19, 0x7d, 0x2e, 0x93, 0xa4, 0x99, 0x8e, 0x61, 0xcd, 0xc9, 0x18, 0x41, - 0xc4, 0xe7, 0x01, 0xf9, 0xda, 0x5e, 0x6d, 0xb4, 0x4a, 0xeb, 0x5a, 0xa5, 0xb4, 0xfc, 0x70, 0xb0, - 0xd2, 0x84, 0xd5, 0x33, 0x70, 0x6a, 0xab, 0x56, 0x5a, 0x5a, 0xaf, 0x90, 0xe6, 0x52, 0xaf, 0xd5, - 0x2a, 0x65, 0x4f, 0xee, 0xdf, 0x4d, 0xf6, 0x75, 0x3c, 0x7b, 0x9b, 0xf0, 0xed, 0xd9, 0x44, 0x9c, - 0xfc, 0xff, 0x4a, 0xda, 0xfd, 0x29, 0xd4, 0x30, 0x9e, 0xd6, 0x78, 0x71, 0xf8, 0xac, 0x94, 0xc7, - 0x93, 0x14, 0x27, 0xc9, 0xf0, 0xf8, 0x8e, 0x11, 0xf0, 0x38, 0x03, 0xa7, 0x78, 0x3c, 0x88, 0xe7, - 0x53, 0x34, 0x0c, 0xef, 0x51, 0x60, 0x6a, 0xc3, 0xd8, 0x21, 0xae, 0x9f, 0xfb, 0xa1, 0xe9, 0xb1, - 0x00, 0xd9, 0xc0, 0xd3, 0x26, 0x6b, 0x74, 0x84, 0x69, 0x7a, 0x56, 0x7e, 0x25, 0x45, 0x6a, 0x2a, - 0xfe, 0xce, 0xc4, 0x3d, 0x13, 0x63, 0x38, 0xa2, 0x67, 0xfa, 0xf3, 0x44, 0x3d, 0xd3, 0x60, 0x5a, - 0xc9, 0x60, 0xb2, 0x8f, 0x06, 0x13, 0xef, 0x19, 0x33, 0x07, 0xd3, 0xc1, 0x38, 0x41, 0x36, 0x69, - 0xbc, 0x8f, 0x95, 0x5a, 0x7d, 0x6b, 0x75, 0xad, 0xb5, 0xa2, 0x55, 0x2a, 0x6c, 0x59, 0x77, 0x07, - 0xbd, 0x23, 0x0b, 0xf3, 0x8c, 0x77, 0xe6, 0xf1, 0x70, 0x73, 0x24, 0x7c, 0x4c, 0xd0, 0xff, 0xce, - 0x4f, 0x29, 0x56, 0x45, 0x41, 0x3f, 0x35, 0x4e, 0x38, 0xb1, 0x2e, 0x0f, 0x6f, 0x0e, 0xc4, 0xfd, - 0xa0, 0x20, 0xee, 0x67, 0x24, 0xa6, 0x98, 0xfe, 0xb4, 0xe2, 0x6f, 0x66, 0xa0, 0xd0, 0xc0, 0x5d, - 0xdc, 0x76, 0xd1, 0x8f, 0x29, 0x23, 0x6b, 0x7b, 0x94, 0x89, 0xac, 0x24, 0x32, 0x91, 0x73, 0x29, - 0x98, 0xc8, 0xf9, 0xd1, 0x4d, 0xe4, 0x42, 0x52, 0x13, 0x79, 0x2a, 0xc2, 0x44, 0x8e, 0xeb, 0x0f, - 0xa6, 0x65, 0xfa, 0x83, 0x8f, 0x14, 0x92, 0x8e, 0xbd, 0x14, 0xd2, 0xe3, 0x35, 0xa9, 0x7f, 0x20, - 0x9f, 0x64, 0xac, 0x1e, 0xc8, 0x71, 0x32, 0xfd, 0x7f, 0x75, 0x2e, 0x85, 0x25, 0x40, 0xf5, 0xf1, - 0x70, 0x73, 0xf8, 0xde, 0xaa, 0x3c, 0xb7, 0xda, 0x68, 0x36, 0x88, 0x1d, 0x5d, 0xae, 0x6b, 0xda, - 0xd6, 0x26, 0xdd, 0x3c, 0x3a, 0x0b, 0x6a, 0x48, 0x45, 0xdb, 0xaa, 0x51, 0xab, 0x79, 0x47, 0xa4, - 0xbe, 0x52, 0xad, 0x2d, 0xb7, 0x82, 0x91, 0xa8, 0xb6, 0x52, 0x2f, 0xee, 0xaa, 0x8b, 0x70, 0x07, - 0x47, 0x9d, 0x74, 0x6d, 0xb4, 0x84, 0x52, 0x6d, 0xb9, 0xb5, 0x51, 0xab, 0x6c, 0xd4, 0x6b, 0xd5, - 0x32, 0x49, 0x6f, 0x54, 0x9a, 0x45, 0xc3, 0x33, 0xdf, 0xfa, 0xec, 0xf4, 0x46, 0xa5, 0xa4, 0x95, - 0xd7, 0x2a, 0x1a, 0x2d, 0xf2, 0x11, 0xf5, 0x36, 0xb8, 0x50, 0xaa, 0xd5, 0x9b, 0x5e, 0x4a, 0xa9, - 0xf6, 0x70, 0xf3, 0xe1, 0xcd, 0x4a, 0x6b, 0x53, 0xab, 0x97, 0x2b, 0x8d, 0x86, 0x37, 0xfa, 0x31, - 0xab, 0xbe, 0xd8, 0x55, 0x9f, 0x0d, 0xf7, 0x72, 0xac, 0x55, 0x9a, 0xc4, 0x53, 0x61, 0xa3, 0x4e, - 0x9c, 0xd5, 0x96, 0x2b, 0xad, 0xb5, 0x52, 0xa3, 0x55, 0xad, 0x95, 0xeb, 0x1b, 0x9b, 0xa5, 0x66, - 0xd5, 0x1b, 0x24, 0x37, 0xb5, 0x7a, 0xb3, 0xde, 0xba, 0x58, 0xd1, 0x1a, 0xd5, 0x7a, 0xad, 0x68, - 0x7a, 0x55, 0xe6, 0x46, 0x55, 0xdf, 0xba, 0xb1, 0xd4, 0x9b, 0xe0, 0x9c, 0x9f, 0xbe, 0x5e, 0xf7, - 0x04, 0xcd, 0xd9, 0xf9, 0x3d, 0xde, 0x36, 0x6a, 0x34, 0xeb, 0x1a, 0xb5, 0xf4, 0x37, 0xaa, 0xab, - 0x9a, 0x37, 0x3d, 0x29, 0x3e, 0x2f, 0xd5, 0x79, 0xc0, 0xbf, 0x64, 0x21, 0xd7, 0x70, 0xad, 0x1e, - 0xfa, 0xc6, 0xb0, 0xa3, 0x3b, 0x0f, 0x60, 0x13, 0xc7, 0x84, 0x65, 0xdd, 0xd5, 0xd9, 0xda, 0x09, - 0x97, 0x82, 0x7e, 0x43, 0x7a, 0x37, 0x35, 0xb4, 0x94, 0xac, 0x5e, 0xc4, 0xc0, 0xf0, 0x35, 0xb9, - 0xe3, 0x65, 0xd1, 0x84, 0x92, 0xb5, 0x87, 0xef, 0x1b, 0x65, 0xbf, 0x14, 0xc1, 0x59, 0x0e, 0x56, - 0x4f, 0xfe, 0xbe, 0xca, 0x60, 0xf5, 0x7a, 0xb8, 0xae, 0x4f, 0xf9, 0x88, 0xce, 0x6d, 0xab, 0xdf, - 0x00, 0x8f, 0xe3, 0xd4, 0xbf, 0xb2, 0x51, 0xbf, 0x58, 0x09, 0x14, 0x7d, 0xb9, 0xd4, 0x2c, 0x15, - 0x77, 0xd0, 0xa7, 0x15, 0xc8, 0x6d, 0x58, 0x57, 0xfb, 0x37, 0xb1, 0x4d, 0x7c, 0x8d, 0xdb, 0xe9, - 0xf0, 0x5f, 0xc5, 0xe3, 0x34, 0x52, 0x62, 0xdf, 0x88, 0x76, 0x58, 0xf9, 0x6c, 0x36, 0x89, 0xd8, - 0x37, 0x8e, 0xea, 0xa5, 0xf2, 0x37, 0xa3, 0x88, 0x3d, 0x42, 0xb4, 0x58, 0xbd, 0x00, 0xe7, 0xc3, - 0x0f, 0xd5, 0xe5, 0x4a, 0xad, 0x59, 0x5d, 0x79, 0x38, 0x14, 0x6e, 0x55, 0x93, 0x12, 0xff, 0xb0, - 0x6e, 0x2e, 0x7e, 0x7e, 0x7f, 0x0e, 0x4e, 0x87, 0xdf, 0x56, 0x2b, 0x4d, 0xff, 0xcb, 0x23, 0xe8, - 0x45, 0x79, 0x98, 0xa3, 0xdd, 0xfe, 0x56, 0xaf, 0xe3, 0x59, 0xcc, 0x4f, 0x0b, 0xd1, 0xbd, 0x1d, - 0x4e, 0x56, 0x37, 0x57, 0x1a, 0x0d, 0xd7, 0xb2, 0xf5, 0x1d, 0x4c, 0x46, 0x48, 0x2a, 0xad, 0xfe, - 0x64, 0xf4, 0x6e, 0xe9, 0xb5, 0x78, 0x71, 0xa8, 0xa1, 0x65, 0x46, 0xa0, 0xfe, 0x45, 0xa9, 0xb5, - 0x73, 0x09, 0x82, 0xc9, 0xd0, 0x7f, 0x64, 0xcc, 0x6d, 0x2e, 0x1a, 0x97, 0xed, 0x0b, 0x2f, 0xce, - 0xc2, 0x4c, 0xd3, 0xd8, 0xc3, 0xcf, 0xb7, 0x4c, 0xec, 0xa8, 0x53, 0xa0, 0xac, 0x6e, 0x34, 0x8b, - 0x27, 0xbc, 0x07, 0x6f, 0x2a, 0x93, 0x21, 0x0f, 0x15, 0xaf, 0x00, 0xef, 0xa1, 0xd4, 0x2c, 0x2a, - 0xde, 0xc3, 0x46, 0xa5, 0x59, 0xcc, 0x79, 0x0f, 0xb5, 0x4a, 0xb3, 0x98, 0xf7, 0x1e, 0x36, 0xd7, - 0x9b, 0xc5, 0x82, 0xf7, 0x50, 0x6d, 0x34, 0x8b, 0x53, 0xde, 0xc3, 0x52, 0xa3, 0x59, 0x9c, 0xf6, - 0x1e, 0x2e, 0x36, 0x9a, 0xc5, 0x19, 0xef, 0xa1, 0xdc, 0x6c, 0x16, 0xc1, 0x7b, 0x78, 0xb0, 0xd1, - 0x2c, 0xce, 0x7a, 0x0f, 0xa5, 0x72, 0xb3, 0x38, 0x47, 0x1e, 0x2a, 0xcd, 0xe2, 0xbc, 0xf7, 0xd0, - 0x68, 0x34, 0x8b, 0x0b, 0x84, 0x72, 0xa3, 0x59, 0x3c, 0x49, 0xca, 0xaa, 0x36, 0x8b, 0x45, 0xef, - 0x61, 0xad, 0xd1, 0x2c, 0x9e, 0x22, 0x99, 0x1b, 0xcd, 0xa2, 0x4a, 0x0a, 0x6d, 0x34, 0x8b, 0xd7, - 0x91, 0x3c, 0x8d, 0x66, 0xf1, 0x34, 0x29, 0xa2, 0xd1, 0x2c, 0x9e, 0x21, 0x6c, 0x54, 0x9a, 0xc5, - 0xb3, 0x24, 0x8f, 0xd6, 0x2c, 0x5e, 0x4f, 0x3e, 0xd5, 0x9a, 0xc5, 0x73, 0x84, 0xb1, 0x4a, 0xb3, - 0x78, 0x03, 0x79, 0xd0, 0x9a, 0x45, 0x44, 0x3e, 0x95, 0x9a, 0xc5, 0x1b, 0xd1, 0xe3, 0x60, 0x66, - 0x15, 0xbb, 0x14, 0x44, 0x54, 0x04, 0x65, 0x15, 0xbb, 0xfc, 0xe4, 0xf9, 0x35, 0x39, 0xb8, 0x9e, - 0x2d, 0xb8, 0xac, 0xd8, 0xd6, 0xde, 0x3a, 0xde, 0xd1, 0xdb, 0x07, 0x95, 0x47, 0x3d, 0x53, 0x0e, - 0xbd, 0x2c, 0x23, 0xac, 0x2f, 0xf7, 0xc2, 0xde, 0x88, 0x3c, 0xc7, 0x9a, 0xbe, 0xfe, 0x8a, 0xb1, - 0x22, 0xae, 0x18, 0x47, 0x19, 0x7b, 0x39, 0x19, 0x63, 0xef, 0x1f, 0xf9, 0xc6, 0x20, 0x6c, 0x0f, - 0x65, 0xfa, 0xb6, 0x87, 0xbc, 0x16, 0xd6, 0xc3, 0xb6, 0x63, 0x99, 0x7a, 0xb7, 0xc1, 0x9c, 0x81, - 0xe8, 0xfc, 0xb2, 0x3f, 0x59, 0xfd, 0x16, 0xbf, 0x51, 0x51, 0x83, 0xef, 0x59, 0x71, 0x4b, 0x52, - 0xfd, 0x12, 0x8a, 0x68, 0x5f, 0x9f, 0x08, 0xda, 0x57, 0x53, 0x68, 0x5f, 0xcf, 0x39, 0x02, 0xed, - 0x64, 0x4d, 0xad, 0x3a, 0xda, 0x24, 0x33, 0x74, 0x95, 0xf7, 0x77, 0xa3, 0x14, 0xf4, 0xe9, 0x2c, - 0x9c, 0xad, 0x98, 0x83, 0x26, 0x29, 0xbc, 0x1a, 0xbd, 0x95, 0x87, 0x66, 0x53, 0x14, 0xe9, 0xbd, - 0x03, 0xab, 0x3d, 0x98, 0x66, 0x84, 0x44, 0x3f, 0x19, 0x48, 0xb4, 0x21, 0x48, 0xf4, 0x81, 0xd1, - 0x49, 0x27, 0x13, 0x68, 0x6d, 0xac, 0x7d, 0x57, 0x0e, 0xfd, 0x45, 0x16, 0x4e, 0x51, 0x7f, 0xbe, - 0x07, 0xe9, 0x9c, 0x88, 0xf4, 0xf6, 0xa2, 0xf5, 0xd5, 0x0d, 0xe7, 0x4f, 0x54, 0xbf, 0xb9, 0x14, - 0xf4, 0x06, 0x5e, 0xe0, 0x0f, 0x89, 0x02, 0x8f, 0xe8, 0xc7, 0xfb, 0x8b, 0x8b, 0x90, 0xf5, 0x6f, - 0x06, 0xb2, 0xae, 0x09, 0xb2, 0xbe, 0x77, 0x24, 0xaa, 0xc7, 0x2b, 0xe6, 0x2f, 0xe7, 0xe0, 0x71, - 0x94, 0x43, 0xa6, 0x08, 0xb4, 0x1f, 0x2c, 0x99, 0x1d, 0x0d, 0x3b, 0xae, 0x6e, 0xbb, 0x42, 0x28, - 0x8b, 0xbe, 0x49, 0x77, 0x26, 0x85, 0x49, 0x77, 0x76, 0xe8, 0xa4, 0x1b, 0xbd, 0x8b, 0x37, 0xf0, - 0x2e, 0x89, 0xc8, 0x96, 0x62, 0x30, 0x88, 0xa8, 0x61, 0x54, 0x8b, 0x0a, 0x2c, 0xbf, 0x6f, 0x15, - 0x50, 0x5e, 0x39, 0x72, 0x09, 0xc9, 0x10, 0xff, 0x8d, 0xf1, 0x5a, 0xe2, 0x39, 0xfe, 0x9b, 0x68, - 0x36, 0x16, 0x3b, 0xa9, 0x4e, 0xa1, 0x5e, 0x31, 0x0d, 0x33, 0xa4, 0xcb, 0x59, 0x37, 0xcc, 0x2b, - 0xe8, 0xcf, 0x15, 0x98, 0xab, 0xe1, 0x6b, 0xe5, 0x5d, 0xbd, 0xdb, 0xc5, 0xe6, 0x0e, 0x46, 0x8f, - 0x08, 0xb6, 0xbd, 0xde, 0xeb, 0xd5, 0xc2, 0xdd, 0x5a, 0xff, 0x55, 0x7d, 0x00, 0xf2, 0x4e, 0xdb, - 0xea, 0x51, 0xaf, 0xb2, 0x05, 0xce, 0x35, 0x4c, 0x5c, 0x71, 0x2e, 0xed, 0xbb, 0xbb, 0x8b, 0xa4, - 0xac, 0x52, 0xcf, 0x68, 0x78, 0x3f, 0x68, 0xf4, 0x3f, 0x36, 0x4e, 0xfe, 0xd5, 0xc0, 0xce, 0x38, - 0x13, 0xd3, 0x19, 0x07, 0x8c, 0x2f, 0xf2, 0x4c, 0x47, 0x2c, 0x92, 0xdc, 0x02, 0xb3, 0x6d, 0x3f, - 0x4b, 0x70, 0x66, 0x8e, 0x4f, 0x42, 0x7f, 0x99, 0xa8, 0xbb, 0x96, 0x2a, 0x3c, 0x99, 0x56, 0xe1, - 0x31, 0x9b, 0x9a, 0x67, 0xe0, 0x54, 0xb3, 0x5e, 0x6f, 0x6d, 0x94, 0x6a, 0x0f, 0x87, 0xb1, 0x2a, - 0xb6, 0xd1, 0xab, 0x73, 0xb0, 0xd0, 0xb0, 0xba, 0x57, 0x71, 0x88, 0x73, 0x55, 0x70, 0xc6, 0xe4, - 0xe5, 0x94, 0x39, 0x24, 0x27, 0xf5, 0x2c, 0x14, 0x74, 0xd3, 0xb9, 0x86, 0x7d, 0xf3, 0x9f, 0xbd, - 0x31, 0x18, 0x3f, 0xc8, 0x77, 0x04, 0x9a, 0x08, 0xe3, 0x7d, 0x43, 0x24, 0x29, 0x72, 0x15, 0x01, - 0xe4, 0x05, 0x98, 0x73, 0xa8, 0xcf, 0x46, 0x93, 0x73, 0xcd, 0x11, 0xd2, 0x08, 0x8b, 0xd4, 0x69, - 0x48, 0x61, 0x2c, 0x92, 0x37, 0xf4, 0xfa, 0xa0, 0xff, 0xd8, 0x12, 0x20, 0x2e, 0x1d, 0x85, 0xb1, - 0x64, 0x20, 0xbf, 0x76, 0xdc, 0x93, 0xf8, 0x73, 0x70, 0x9a, 0x35, 0xfb, 0x56, 0x79, 0xad, 0xb4, - 0xbe, 0x5e, 0xa9, 0xad, 0x56, 0x5a, 0xd5, 0x65, 0xba, 0x07, 0x1c, 0xa6, 0x94, 0x9a, 0xcd, 0xca, - 0xc6, 0x66, 0xb3, 0xd1, 0xaa, 0x3c, 0xb7, 0x5c, 0xa9, 0x2c, 0x13, 0x77, 0x68, 0x72, 0x9e, 0xd1, - 0x77, 0x5c, 0x2f, 0xd5, 0x1a, 0x97, 0x2a, 0x5a, 0x71, 0xf7, 0x42, 0x09, 0x66, 0xb9, 0x81, 0xc2, - 0xe3, 0x6e, 0x19, 0x6f, 0xeb, 0xfb, 0x5d, 0x66, 0x8e, 0x17, 0x4f, 0x78, 0xdc, 0x11, 0xd9, 0xd4, - 0xcd, 0xee, 0x41, 0x31, 0xa3, 0x16, 0x61, 0x8e, 0x1f, 0x13, 0x8a, 0x59, 0xf4, 0xf6, 0x9b, 0x60, - 0xe6, 0x92, 0x65, 0x5f, 0x21, 0x3e, 0xbc, 0xe8, 0x7d, 0x34, 0xa6, 0x95, 0x1f, 0x1d, 0x80, 0x33, - 0xc0, 0x5e, 0x2b, 0xef, 0xb4, 0xe5, 0x53, 0x5b, 0x1c, 0x1a, 0x01, 0xe0, 0x16, 0x98, 0xbd, 0xe6, - 0xe7, 0x0e, 0x5b, 0x3a, 0x97, 0x84, 0x7e, 0x4e, 0xce, 0x0d, 0x6b, 0x78, 0x91, 0xe9, 0xaf, 0xe7, - 0xbf, 0x2d, 0x0b, 0x85, 0x55, 0xec, 0x96, 0xba, 0x5d, 0x5e, 0x6e, 0xaf, 0x92, 0x3e, 0xd5, 0x29, - 0x54, 0xa2, 0xd4, 0xed, 0x46, 0x37, 0x2a, 0x4e, 0x40, 0xfe, 0xe9, 0x23, 0x21, 0x4d, 0xd2, 0x67, - 0x7a, 0x48, 0x81, 0xe9, 0x4b, 0xec, 0xd7, 0x43, 0x47, 0xe9, 0x37, 0x72, 0x66, 0xd2, 0x53, 0xc3, - 0x78, 0x66, 0x99, 0x78, 0x97, 0x25, 0x3f, 0x9f, 0xfa, 0x10, 0x4c, 0xed, 0x3b, 0xb8, 0xac, 0x3b, - 0xfe, 0xd0, 0x26, 0xd6, 0xb4, 0x7e, 0xf9, 0x11, 0xdc, 0x76, 0x17, 0xab, 0x7b, 0xde, 0xc4, 0x67, - 0x8b, 0x66, 0x0c, 0x42, 0x84, 0xb1, 0x77, 0xcd, 0xa7, 0xe0, 0x4d, 0x3b, 0xaf, 0x19, 0xee, 0x6e, - 0x79, 0x57, 0x77, 0xd9, 0x36, 0x4a, 0xf0, 0x8e, 0x5e, 0x3e, 0x02, 0x9c, 0xb1, 0x4e, 0x36, 0x91, - 0x87, 0xc3, 0x13, 0x83, 0x38, 0x06, 0xcf, 0x98, 0x51, 0x40, 0xfc, 0xdb, 0x2c, 0xe4, 0xea, 0x3d, - 0x6c, 0x4a, 0x9f, 0x84, 0x0c, 0x64, 0x9b, 0xed, 0x93, 0xed, 0xeb, 0xe5, 0x9d, 0x74, 0x83, 0x4a, - 0x7b, 0x25, 0x47, 0x48, 0xf6, 0x2e, 0xc8, 0x19, 0xe6, 0xb6, 0xc5, 0x2c, 0xdb, 0x1b, 0x23, 0x6c, - 0x9d, 0xaa, 0xb9, 0x6d, 0x69, 0x24, 0xa3, 0xac, 0x7f, 0x6e, 0x5c, 0xd9, 0xe9, 0x8b, 0xfb, 0xef, - 0xa6, 0xa1, 0x40, 0xd5, 0x19, 0xbd, 0x52, 0x01, 0xa5, 0xd4, 0xe9, 0x44, 0x08, 0x3e, 0x7b, 0x48, - 0xf0, 0x16, 0xf9, 0x2d, 0xc0, 0x24, 0x78, 0x17, 0x03, 0x59, 0x49, 0xf6, 0xed, 0xac, 0x49, 0x95, - 0x3a, 0x9d, 0xe8, 0x53, 0x04, 0x41, 0x81, 0x59, 0xb1, 0x40, 0xbe, 0x85, 0x2b, 0x72, 0x2d, 0x3c, - 0xf1, 0x40, 0x10, 0xc9, 0x5f, 0xfa, 0x10, 0xfd, 0x63, 0x16, 0xa6, 0xd6, 0x0d, 0xc7, 0xf5, 0xb0, - 0x29, 0xc9, 0x60, 0x73, 0x13, 0xcc, 0xf8, 0xa2, 0xf1, 0xba, 0x3c, 0xaf, 0x3f, 0x0f, 0x13, 0xc4, - 0x99, 0xf8, 0x83, 0x22, 0x3a, 0x4f, 0x8f, 0xaf, 0x3d, 0xe3, 0x22, 0xfa, 0x84, 0x59, 0x58, 0x6c, - 0xb6, 0xbf, 0xd8, 0x5f, 0x08, 0x04, 0xbe, 0x21, 0x08, 0xfc, 0x9e, 0x51, 0x8a, 0x4c, 0x5f, 0xe8, - 0x7f, 0x98, 0x05, 0xf0, 0xca, 0x66, 0xc7, 0x78, 0x9f, 0x28, 0x04, 0xe7, 0x88, 0x91, 0xee, 0xab, - 0x79, 0xe9, 0x6e, 0x88, 0xd2, 0xfd, 0xe6, 0xe1, 0x55, 0x8d, 0x3b, 0xae, 0xab, 0x16, 0x41, 0x31, - 0x02, 0xd1, 0x7a, 0x8f, 0xe8, 0x6d, 0x81, 0x50, 0x37, 0x05, 0xa1, 0xde, 0x37, 0x62, 0x49, 0xe9, - 0xcb, 0xf5, 0x8f, 0xb3, 0x30, 0xd5, 0xc0, 0xae, 0xd7, 0x4d, 0xa2, 0x8b, 0x32, 0x3d, 0x3c, 0xd7, - 0xb6, 0xb3, 0x92, 0x6d, 0xfb, 0xab, 0x19, 0xd9, 0x20, 0x5f, 0xa1, 0x64, 0x18, 0x4f, 0x11, 0xab, - 0x0f, 0x6f, 0x94, 0x0a, 0xf2, 0x35, 0x8c, 0x5a, 0xfa, 0xd2, 0x7d, 0x6b, 0x36, 0xf0, 0x01, 0x11, - 0x4f, 0xd9, 0xf1, 0x66, 0x71, 0xe6, 0xb0, 0x59, 0x2c, 0x7f, 0xca, 0x8e, 0xaf, 0x63, 0xb4, 0x63, - 0x42, 0x62, 0x63, 0x63, 0x0c, 0x3e, 0x03, 0xa3, 0xc8, 0xeb, 0x85, 0x0a, 0x14, 0xd8, 0xe6, 0xc1, - 0x03, 0xf1, 0x7b, 0x07, 0xc3, 0xa7, 0x16, 0xef, 0x1d, 0xc1, 0x94, 0x8b, 0x5b, 0x96, 0x0f, 0xd8, - 0xc8, 0x72, 0x6c, 0xdc, 0x09, 0x79, 0x12, 0x85, 0x98, 0x8d, 0x73, 0xa1, 0xbb, 0x87, 0x4f, 0xa2, - 0xe2, 0x7d, 0xd5, 0x68, 0xa6, 0xc4, 0x28, 0x8c, 0x61, 0x25, 0x7f, 0x14, 0x14, 0xbe, 0xac, 0x02, - 0x6c, 0xee, 0x5f, 0xee, 0x1a, 0xce, 0xae, 0x61, 0x12, 0xef, 0xaf, 0x39, 0xf6, 0x4a, 0x83, 0xe9, - 0xc6, 0x9a, 0x7f, 0x91, 0x46, 0x41, 0x11, 0x94, 0x7d, 0xdb, 0x60, 0xcb, 0x00, 0xde, 0xa3, 0x7a, - 0x7f, 0xe0, 0x21, 0x99, 0xeb, 0x0b, 0xa3, 0xe2, 0x89, 0x21, 0xe4, 0x60, 0x91, 0x2b, 0x3d, 0xf4, - 0x94, 0xe4, 0x23, 0x26, 0xe7, 0xc5, 0x88, 0xc9, 0xc2, 0xd9, 0xea, 0x42, 0xdf, 0xd9, 0x6a, 0x0f, - 0x47, 0xc7, 0x78, 0x3e, 0x26, 0x4e, 0x45, 0x8a, 0x46, 0x9e, 0xbd, 0x3f, 0x1e, 0xb1, 0x0c, 0x93, - 0x6c, 0xea, 0x30, 0x0f, 0xfe, 0x30, 0x81, 0xef, 0xf3, 0x66, 0x24, 0xfb, 0xbc, 0x0f, 0x85, 0x73, - 0x1f, 0x4b, 0xd2, 0x70, 0x4e, 0x20, 0x39, 0x81, 0xdd, 0x5c, 0x1f, 0xbb, 0xe8, 0x23, 0xd2, 0x41, - 0x15, 0x39, 0x19, 0xc7, 0xce, 0x62, 0x18, 0x07, 0xd9, 0x80, 0x03, 0x6e, 0x0f, 0x38, 0xae, 0x07, - 0x1e, 0x46, 0x3f, 0x99, 0x2e, 0xef, 0x8d, 0xb0, 0x5e, 0xa3, 0xc2, 0x82, 0x7f, 0x48, 0xbd, 0xbe, - 0xf4, 0x60, 0xa5, 0xdc, 0x2c, 0xe2, 0xc3, 0x07, 0xd7, 0xc9, 0x11, 0x75, 0x7a, 0x1c, 0x3d, 0x5c, - 0x93, 0x41, 0xff, 0x3d, 0x0b, 0x05, 0x66, 0x6e, 0x3c, 0x70, 0x44, 0x08, 0xd1, 0x6b, 0x46, 0x81, - 0x24, 0x36, 0x56, 0xc8, 0x6f, 0x27, 0x05, 0x60, 0x0c, 0x06, 0xc6, 0xc3, 0xa9, 0x01, 0x80, 0xfe, - 0x39, 0x0b, 0x39, 0xcf, 0x0c, 0x92, 0x8b, 0xc4, 0xf0, 0x09, 0x69, 0x37, 0x5e, 0x4e, 0x00, 0x1e, - 0xf9, 0x08, 0xfd, 0x5e, 0x82, 0x99, 0x1e, 0xcd, 0x18, 0xc4, 0x01, 0xb9, 0x55, 0xa2, 0x33, 0xc2, - 0x5a, 0xf8, 0x1b, 0x7a, 0x8f, 0x94, 0x2b, 0x70, 0x3c, 0x3f, 0xc9, 0xe0, 0xa8, 0x8c, 0x23, 0x68, - 0xc3, 0x36, 0xfa, 0xd7, 0x2c, 0x80, 0x86, 0x1d, 0xab, 0x7b, 0x15, 0x6f, 0xd9, 0x06, 0xba, 0x31, - 0x04, 0x80, 0x35, 0xfb, 0x4c, 0xd8, 0xec, 0x3f, 0x95, 0x95, 0x75, 0xeb, 0x15, 0x34, 0xcf, 0x27, - 0x1e, 0x21, 0xfe, 0x67, 0xc3, 0x14, 0x93, 0x23, 0xb3, 0x29, 0xe5, 0x84, 0xef, 0xff, 0x84, 0xde, - 0x2f, 0xe5, 0x16, 0x2c, 0xc3, 0x51, 0x32, 0x00, 0xca, 0x23, 0x00, 0x70, 0x12, 0x66, 0x7d, 0x00, - 0xb6, 0xb4, 0x6a, 0x11, 0xa3, 0x77, 0x2a, 0xc4, 0xc3, 0x82, 0x0e, 0x6e, 0x47, 0xef, 0x69, 0xfe, - 0x42, 0x7a, 0xb2, 0xcf, 0xc9, 0x23, 0x28, 0x3f, 0x25, 0x80, 0x7e, 0x57, 0x6a, 0x76, 0x2f, 0xc1, - 0xd0, 0x63, 0xa5, 0xbf, 0xba, 0x50, 0x81, 0x79, 0xc1, 0x2a, 0x51, 0xcf, 0xc1, 0x69, 0x21, 0x81, - 0x8e, 0x77, 0x9d, 0xe2, 0x09, 0x15, 0xc1, 0x59, 0xe1, 0x0b, 0x7b, 0xc1, 0x9d, 0x62, 0x06, 0xfd, - 0x8f, 0xcf, 0x64, 0x82, 0xf5, 0x9e, 0xf7, 0xe6, 0xd8, 0x4a, 0xdb, 0xc7, 0xc4, 0xd0, 0x93, 0x6d, - 0xcb, 0x74, 0xf1, 0xa3, 0x9c, 0x9b, 0x4a, 0x90, 0x10, 0x6b, 0x35, 0x9c, 0x83, 0x29, 0xd7, 0xe6, - 0x5d, 0x57, 0xfc, 0x57, 0x5e, 0xb1, 0xf2, 0xa2, 0x62, 0xd5, 0xe0, 0x82, 0x61, 0xb6, 0xbb, 0xfb, - 0x1d, 0xac, 0xe1, 0xae, 0xee, 0xc9, 0xd0, 0x29, 0x39, 0xcb, 0xb8, 0x87, 0xcd, 0x0e, 0x36, 0x5d, - 0xca, 0xa7, 0x7f, 0x0a, 0x55, 0x22, 0xa7, 0xa8, 0x8c, 0xf7, 0x8b, 0xca, 0xf8, 0xc4, 0x41, 0x4b, - 0xb8, 0x31, 0xeb, 0x7d, 0xf7, 0x00, 0xd0, 0xba, 0x5d, 0x34, 0xf0, 0x35, 0xa6, 0x86, 0x37, 0xf4, - 0xad, 0xfa, 0xd5, 0x83, 0x0c, 0x1a, 0x97, 0x19, 0x7d, 0x21, 0x50, 0xbf, 0xe7, 0x08, 0xea, 0x77, - 0xa7, 0x24, 0x0b, 0xc9, 0xb4, 0xae, 0x37, 0x82, 0xd6, 0xcd, 0xc3, 0x4c, 0xb8, 0x9b, 0xac, 0xa8, - 0x37, 0xc0, 0x19, 0xdf, 0xc3, 0xb8, 0x56, 0xa9, 0x2c, 0x37, 0x5a, 0x5b, 0x9b, 0xab, 0x5a, 0x69, - 0xb9, 0x52, 0x04, 0x4f, 0x3f, 0xa9, 0x5e, 0x06, 0x8e, 0xc1, 0x39, 0xf4, 0x47, 0x59, 0xc8, 0x93, - 0x23, 0xd4, 0xe8, 0xdb, 0xc7, 0xa4, 0x39, 0x8e, 0xe0, 0xf4, 0x14, 0x8c, 0xbb, 0xf2, 0x57, 0x42, - 0x30, 0x61, 0x12, 0xae, 0x8e, 0x74, 0x25, 0x44, 0x0c, 0xa1, 0xf4, 0x67, 0x42, 0x5e, 0x93, 0x6c, - 0xec, 0x5a, 0xd7, 0xbe, 0x9e, 0x9b, 0xa4, 0x57, 0xff, 0x63, 0x6e, 0x92, 0x03, 0x58, 0x98, 0x78, - 0x93, 0x1c, 0xd0, 0xee, 0x62, 0x9a, 0x29, 0xfa, 0x60, 0x3e, 0x98, 0xff, 0x7d, 0x34, 0x7b, 0xa4, - 0xbd, 0xaf, 0x12, 0xcc, 0x1b, 0xa6, 0x8b, 0x6d, 0x53, 0xef, 0xae, 0x74, 0xf5, 0x1d, 0xdf, 0x3e, - 0xed, 0xdf, 0xf0, 0xa8, 0x72, 0x79, 0x34, 0xf1, 0x0f, 0xf5, 0x3c, 0x80, 0x8b, 0xf7, 0x7a, 0x5d, - 0xdd, 0x0d, 0x55, 0x8f, 0x4b, 0xe1, 0xb5, 0x2f, 0x27, 0x6a, 0xdf, 0x53, 0xe0, 0x3a, 0x0a, 0x5a, - 0xf3, 0xa0, 0x87, 0xb7, 0x4c, 0xe3, 0x79, 0xfb, 0x24, 0x52, 0x31, 0xd5, 0xd1, 0x41, 0x9f, 0x84, - 0x1d, 0xa0, 0x82, 0xb8, 0x03, 0xa4, 0xde, 0x07, 0x37, 0x90, 0xb0, 0xd2, 0xd8, 0xfb, 0xe5, 0x92, - 0xd1, 0xd9, 0xc1, 0x6e, 0x75, 0x7b, 0xc3, 0x70, 0x1c, 0xc3, 0xdc, 0x21, 0xd3, 0xf1, 0x69, 0x2d, - 0x3a, 0x03, 0xfa, 0x5b, 0xe9, 0x28, 0x48, 0x7e, 0x9f, 0x31, 0x24, 0x0a, 0x52, 0xd0, 0x4e, 0x95, - 0xbe, 0x76, 0x1a, 0xac, 0xea, 0xe4, 0x24, 0x56, 0x75, 0x78, 0x4c, 0xf3, 0x92, 0xab, 0x03, 0xaf, - 0x93, 0x0a, 0xb3, 0x14, 0x57, 0x8d, 0xf4, 0xfb, 0xbe, 0xaf, 0x28, 0xb0, 0x40, 0x8b, 0x5e, 0xb2, - 0xac, 0x2b, 0x7b, 0xba, 0x7d, 0x05, 0xfd, 0xd0, 0xd1, 0x76, 0x71, 0x63, 0x77, 0xaf, 0xa2, 0xb6, - 0x64, 0xfb, 0x94, 0x37, 0xd7, 0xaf, 0xbc, 0xe8, 0x93, 0xd2, 0x53, 0x12, 0x41, 0x9e, 0x7e, 0xa5, - 0x26, 0xb3, 0xbd, 0x25, 0x77, 0x70, 0x51, 0x86, 0xc1, 0xf4, 0x81, 0xff, 0xad, 0x00, 0x78, 0x7f, - 0x1c, 0xe1, 0x77, 0x06, 0xc6, 0x89, 0x3b, 0xfa, 0xe2, 0x68, 0xd8, 0xf9, 0x7c, 0x8d, 0x80, 0x5d, - 0x11, 0x94, 0x2b, 0x81, 0x33, 0x92, 0xf7, 0xc8, 0x57, 0x28, 0x97, 0x1e, 0x9a, 0x11, 0x2c, 0x4f, - 0x04, 0xcd, 0xd3, 0x22, 0x0b, 0xf5, 0x5e, 0xaa, 0x98, 0x7e, 0x5e, 0x7a, 0xc7, 0x6d, 0xa0, 0x80, - 0x28, 0x77, 0x93, 0x69, 0x95, 0x72, 0xdb, 0x75, 0xf2, 0x6c, 0xa6, 0x8f, 0xe6, 0xcb, 0xf2, 0x30, - 0xe3, 0x47, 0xa3, 0x22, 0x37, 0xb4, 0x05, 0x18, 0x9e, 0x85, 0x82, 0x63, 0xed, 0xdb, 0x6d, 0xcc, - 0xf6, 0x40, 0xd9, 0xdb, 0x08, 0xfb, 0x75, 0x43, 0xcd, 0x85, 0x43, 0x16, 0x49, 0x2e, 0xb1, 0x45, - 0x12, 0x6d, 0xef, 0xc6, 0xd8, 0x0f, 0xe8, 0xe5, 0xd2, 0xd7, 0x6a, 0x08, 0x98, 0x35, 0xb0, 0xfb, - 0x58, 0x34, 0x02, 0x7e, 0x4d, 0x6a, 0x37, 0x68, 0x48, 0x4d, 0x92, 0xa9, 0x5c, 0x7d, 0x04, 0x3b, - 0xf8, 0x46, 0xb8, 0xde, 0xcf, 0xc1, 0x0c, 0x60, 0x62, 0xf0, 0x6e, 0x69, 0xeb, 0x45, 0x05, 0xbd, - 0x30, 0x07, 0x45, 0xca, 0x5a, 0x3d, 0xb0, 0x05, 0xd1, 0xab, 0x32, 0xc7, 0x6d, 0xf0, 0x46, 0xcf, - 0x60, 0x7f, 0x3f, 0x2b, 0x1b, 0xba, 0x5b, 0x10, 0x7c, 0x58, 0xbb, 0x08, 0x4d, 0x1a, 0xa1, 0x99, - 0xc5, 0x28, 0x1f, 0xfa, 0xf9, 0x8c, 0x4c, 0x24, 0x70, 0x39, 0x16, 0xd3, 0xef, 0x95, 0xbe, 0x9a, - 0xf3, 0x83, 0x0a, 0xae, 0xd8, 0xd6, 0xde, 0x96, 0xdd, 0x45, 0xff, 0x5b, 0xea, 0xa2, 0x85, 0x88, - 0xd9, 0x45, 0x36, 0x7a, 0x76, 0x41, 0x56, 0xa4, 0xbb, 0xe1, 0x56, 0x58, 0x77, 0x84, 0xe1, 0x5b, - 0xbd, 0x0d, 0x16, 0xf4, 0x4e, 0x67, 0x53, 0xdf, 0xc1, 0x65, 0x6f, 0xda, 0x6e, 0xba, 0x2c, 0xe0, - 0x58, 0x5f, 0x6a, 0xec, 0x54, 0x46, 0xec, 0x23, 0xa7, 0x0e, 0x59, 0xa5, 0xf2, 0xcb, 0xb0, 0x02, - 0x88, 0x4c, 0x7e, 0x13, 0x19, 0xfe, 0xbc, 0x21, 0xa3, 0xbd, 0xab, 0x87, 0xe1, 0x11, 0xd9, 0x9b, - 0xa4, 0x2f, 0x96, 0x04, 0xdf, 0xe9, 0x6b, 0xde, 0xaf, 0x64, 0x61, 0xca, 0xc3, 0xa3, 0xd4, 0xe9, - 0xa0, 0x27, 0x08, 0x51, 0x44, 0x23, 0xbd, 0xe1, 0xbe, 0x57, 0xda, 0x0d, 0xd1, 0xaf, 0x21, 0xa5, - 0x1f, 0x81, 0x49, 0x28, 0xc4, 0xac, 0x20, 0x44, 0x39, 0x6f, 0xc3, 0xd8, 0x22, 0xd2, 0x17, 0xdf, - 0x27, 0xb2, 0x30, 0xef, 0xcf, 0x33, 0x56, 0xb0, 0xdb, 0xde, 0x45, 0xf7, 0xc8, 0xae, 0x73, 0xb1, - 0x96, 0x18, 0x6c, 0x09, 0x77, 0xd1, 0xbf, 0x65, 0x12, 0xaa, 0xbc, 0x50, 0x72, 0xc4, 0x22, 0x61, - 0x22, 0x5d, 0x8c, 0x23, 0x98, 0xbe, 0x30, 0xbf, 0x90, 0x05, 0x68, 0x5a, 0xc1, 0x64, 0xf9, 0x08, - 0x92, 0xfc, 0x61, 0xe9, 0xdd, 0x62, 0x56, 0xf1, 0xb0, 0xd8, 0xe4, 0x3d, 0x87, 0xa4, 0x33, 0xd5, - 0xb0, 0x92, 0x26, 0xd2, 0xd6, 0x67, 0x96, 0xf7, 0x7b, 0x5d, 0xa3, 0xad, 0xbb, 0xfd, 0x1e, 0x80, - 0xd1, 0xe2, 0x25, 0xd7, 0x1b, 0x27, 0x32, 0x1a, 0x83, 0x32, 0x22, 0x64, 0x49, 0x23, 0xf8, 0x64, - 0xfd, 0x08, 0x3e, 0x92, 0x5e, 0x3d, 0x43, 0x88, 0x4f, 0x40, 0x3d, 0x15, 0x38, 0x59, 0xef, 0x61, - 0x73, 0xc9, 0xc6, 0x7a, 0xa7, 0x6d, 0xef, 0xef, 0x5d, 0x76, 0x78, 0xf7, 0xd5, 0x78, 0x1d, 0xe5, - 0x56, 0xae, 0xb3, 0xc2, 0xca, 0x35, 0xfa, 0x1e, 0x45, 0x36, 0x7a, 0x1a, 0xb7, 0xbf, 0xc2, 0xf1, - 0x30, 0xc2, 0x50, 0x97, 0xc8, 0xe9, 0xaa, 0x6f, 0x91, 0x3a, 0x97, 0x64, 0x91, 0xfa, 0x2d, 0x52, - 0xb1, 0xd8, 0xa4, 0xea, 0x35, 0x11, 0xdf, 0xb9, 0x85, 0x06, 0x76, 0x23, 0xe0, 0xbd, 0x15, 0xe6, - 0x2f, 0x87, 0x5f, 0x02, 0x88, 0xc5, 0xc4, 0x01, 0x1e, 0xad, 0x6f, 0x4d, 0xba, 0x42, 0x23, 0xb2, - 0x10, 0x81, 0x6e, 0x80, 0x60, 0x56, 0xc6, 0x6d, 0x2e, 0xd1, 0x72, 0x4b, 0x6c, 0xf9, 0xe9, 0xa3, - 0xf0, 0x91, 0x2c, 0xcc, 0x92, 0x4b, 0x9b, 0x97, 0x0e, 0xc8, 0x41, 0x4e, 0x49, 0xa3, 0xe4, 0x65, - 0xbc, 0x98, 0x55, 0xc8, 0x75, 0x0d, 0xf3, 0x8a, 0xef, 0xef, 0xe8, 0x3d, 0x87, 0x57, 0x80, 0x66, - 0x07, 0x5c, 0x01, 0x1a, 0x6c, 0x93, 0x04, 0xe5, 0x1e, 0xe9, 0x4e, 0xfa, 0xa1, 0xe4, 0xd2, 0x17, - 0xe3, 0x5f, 0xe7, 0xa0, 0xd0, 0xc0, 0xba, 0xdd, 0xde, 0x45, 0xef, 0xcd, 0x0e, 0x9c, 0x4a, 0x4c, - 0x8b, 0x53, 0x89, 0x15, 0x98, 0xda, 0x36, 0xba, 0x2e, 0xb6, 0xa9, 0x0f, 0x38, 0xdf, 0xb5, 0xd3, - 0x26, 0xbe, 0xd4, 0xb5, 0xda, 0x57, 0x16, 0x99, 0x69, 0xbf, 0xe8, 0x47, 0x6f, 0x5e, 0x5c, 0x21, - 0x3f, 0x69, 0xfe, 0xcf, 0x9e, 0x41, 0xe8, 0x58, 0xb6, 0x1b, 0x75, 0x1b, 0x50, 0x04, 0x95, 0x86, - 0x65, 0xbb, 0x1a, 0xfd, 0xd1, 0x83, 0x79, 0x7b, 0xbf, 0xdb, 0x6d, 0xe2, 0x47, 0x5d, 0x7f, 0x5a, - 0xe7, 0xbf, 0x7b, 0xc6, 0xa2, 0xb5, 0xbd, 0xed, 0x60, 0xba, 0xa8, 0x90, 0xd7, 0xd8, 0x9b, 0x7a, - 0x1a, 0xf2, 0x5d, 0x63, 0xcf, 0xa0, 0x13, 0x91, 0xbc, 0x46, 0x5f, 0xd4, 0x3b, 0xa0, 0x18, 0xce, - 0x81, 0x28, 0xa3, 0xe7, 0x0a, 0xa4, 0x69, 0x1e, 0x4a, 0xf7, 0x74, 0xe6, 0x0a, 0x3e, 0x70, 0xce, - 0x4d, 0x91, 0xef, 0xe4, 0x59, 0x3c, 0x70, 0x23, 0xb3, 0x61, 0x42, 0x25, 0x1e, 0x3d, 0xc3, 0xb5, - 0x71, 0xdb, 0xb2, 0x3b, 0xbe, 0x6c, 0xa2, 0x27, 0x18, 0x2c, 0x5f, 0xb2, 0x6d, 0x8e, 0x81, 0x85, - 0xa7, 0xaf, 0x69, 0xef, 0x2a, 0x78, 0xdd, 0xa6, 0x57, 0xf4, 0x25, 0xc3, 0xdd, 0xdd, 0xc0, 0xae, - 0x8e, 0xfe, 0x5a, 0x19, 0xa8, 0x71, 0xb3, 0xff, 0xbf, 0xc6, 0x0d, 0xd1, 0x38, 0x1a, 0xf3, 0xcb, - 0xdd, 0xb7, 0x4d, 0x4f, 0x8e, 0xcc, 0x8f, 0x96, 0x4b, 0x51, 0xef, 0x83, 0x1b, 0xc2, 0x37, 0x7f, - 0x29, 0x75, 0x99, 0x73, 0xad, 0x9d, 0xd6, 0xa2, 0x33, 0xa8, 0x9b, 0xf0, 0x78, 0xfa, 0x71, 0xad, - 0xb9, 0xb1, 0xbe, 0x66, 0xec, 0xec, 0x76, 0x8d, 0x9d, 0x5d, 0xd7, 0xa9, 0x9a, 0x8e, 0x8b, 0xf5, - 0x4e, 0x7d, 0x5b, 0xa3, 0xf7, 0x78, 0x01, 0xa1, 0x23, 0x93, 0x55, 0xf4, 0x11, 0x97, 0x1b, 0xdd, - 0x78, 0x4d, 0x89, 0x68, 0x29, 0xcf, 0xf0, 0x5a, 0x8a, 0xb3, 0xdf, 0x0d, 0x30, 0xbd, 0xa9, 0x0f, - 0xd3, 0x50, 0xd5, 0xf7, 0xbb, 0xa4, 0xb9, 0x90, 0xcc, 0x49, 0xc7, 0xb9, 0x18, 0x4e, 0xd2, 0x6f, - 0x36, 0xff, 0xbb, 0x00, 0xf9, 0x55, 0x5b, 0xef, 0xed, 0xa2, 0x17, 0x72, 0xfd, 0xf3, 0xb8, 0xda, - 0x44, 0xa0, 0x9d, 0xd9, 0x61, 0xda, 0xa9, 0x0c, 0xd1, 0xce, 0x1c, 0xa7, 0x9d, 0xd1, 0x8b, 0xce, - 0x17, 0x60, 0xae, 0x6d, 0x75, 0xbb, 0xb8, 0xed, 0xc9, 0xa3, 0xda, 0x21, 0xab, 0x3d, 0x33, 0x9a, - 0x90, 0x46, 0x22, 0xdc, 0x63, 0xb7, 0x41, 0xd7, 0xd8, 0xa9, 0xd2, 0x87, 0x09, 0xe8, 0x55, 0x59, - 0xc8, 0x55, 0x3a, 0x3b, 0x58, 0x58, 0x87, 0xcf, 0x70, 0xeb, 0xf0, 0x67, 0xa1, 0xe0, 0xea, 0xf6, - 0x0e, 0x76, 0xfd, 0x75, 0x02, 0xfa, 0x16, 0x04, 0xde, 0x57, 0xb8, 0xc0, 0xfb, 0xdf, 0x0c, 0x39, - 0x4f, 0x66, 0xcc, 0x2d, 0xfe, 0xf1, 0x83, 0xe0, 0x27, 0xb2, 0x5f, 0xf4, 0x4a, 0x5c, 0xf4, 0x6a, - 0xad, 0x91, 0x1f, 0xfa, 0xb1, 0xce, 0x1f, 0xc2, 0x9a, 0x5c, 0x49, 0xdc, 0xb6, 0xcc, 0xea, 0x9e, - 0xbe, 0x83, 0x59, 0x35, 0xc3, 0x04, 0xff, 0x6b, 0x65, 0xcf, 0x7a, 0xc4, 0x60, 0x8b, 0x5a, 0x61, - 0x82, 0x57, 0x85, 0x5d, 0xa3, 0xd3, 0xc1, 0x26, 0x6b, 0xd9, 0xec, 0xed, 0xc2, 0x79, 0xc8, 0x79, - 0x3c, 0x78, 0xfa, 0xe3, 0x19, 0x0b, 0xc5, 0x13, 0xea, 0x9c, 0xd7, 0xac, 0x68, 0xe3, 0x2d, 0x66, - 0xc4, 0x35, 0x57, 0x19, 0xaf, 0x21, 0x5a, 0xb9, 0xc1, 0x8d, 0xeb, 0xc9, 0x90, 0x37, 0xad, 0x0e, - 0x1e, 0x3a, 0x08, 0xd1, 0x5c, 0xea, 0xd3, 0x21, 0x8f, 0x3b, 0x5e, 0xaf, 0xa0, 0x90, 0xec, 0xe7, - 0xe3, 0x65, 0xa9, 0xd1, 0xcc, 0xc9, 0x5c, 0x93, 0x06, 0x71, 0x9b, 0x7e, 0x03, 0xfc, 0xfe, 0x29, - 0x38, 0x49, 0xfb, 0x80, 0xc6, 0xfe, 0x65, 0x8f, 0xd4, 0x65, 0x8c, 0xde, 0x38, 0x78, 0xe0, 0x3a, - 0x29, 0x2a, 0xfb, 0x69, 0xc8, 0x3b, 0xfb, 0x97, 0x03, 0x23, 0x94, 0xbe, 0xf0, 0x4d, 0x37, 0x3b, - 0x96, 0xe1, 0x4c, 0x19, 0x75, 0x38, 0x13, 0x86, 0x26, 0xc5, 0x6f, 0xfc, 0xe1, 0x40, 0x46, 0x0f, - 0x74, 0xf8, 0x03, 0xd9, 0xa0, 0x61, 0xe8, 0x1c, 0x4c, 0xe9, 0xdb, 0x2e, 0xb6, 0x43, 0x33, 0x91, - 0xbd, 0x7a, 0x43, 0xe5, 0x65, 0xbc, 0x6d, 0xd9, 0x9e, 0x58, 0xe8, 0xbd, 0x0b, 0xc1, 0x3b, 0xd7, - 0x72, 0x41, 0xd8, 0x41, 0xbb, 0x13, 0x4e, 0x99, 0xd6, 0x32, 0xee, 0x31, 0x39, 0x53, 0x14, 0xe7, - 0x49, 0x0b, 0x38, 0xfc, 0xe1, 0x50, 0x57, 0xb2, 0x70, 0xb8, 0x2b, 0x41, 0x9f, 0x4a, 0x3a, 0x67, - 0xee, 0x03, 0x7a, 0x6c, 0x16, 0x9a, 0xfa, 0x2c, 0x98, 0xeb, 0x30, 0x0f, 0xb1, 0xb6, 0x11, 0xb4, - 0x92, 0xc8, 0xff, 0x84, 0xcc, 0xa1, 0x22, 0xe5, 0x78, 0x45, 0x5a, 0x85, 0x69, 0x72, 0xf4, 0xda, - 0xd3, 0xa4, 0x7c, 0x9f, 0x47, 0x3e, 0x99, 0xd6, 0x05, 0x95, 0xe2, 0xc4, 0xb6, 0x58, 0x66, 0xbf, - 0x68, 0xc1, 0xcf, 0xc9, 0x66, 0xdf, 0xf1, 0x12, 0x4a, 0xbf, 0x39, 0xfe, 0x42, 0x01, 0x6e, 0x28, - 0xdb, 0x96, 0xe3, 0x90, 0x23, 0x38, 0xfd, 0x0d, 0xf3, 0x67, 0xb3, 0xc2, 0x15, 0x3c, 0x8f, 0xe9, - 0xe6, 0x37, 0xa8, 0x41, 0x4d, 0xae, 0x69, 0xfc, 0x85, 0x74, 0xd0, 0x9a, 0x60, 0xff, 0x21, 0x42, - 0xe8, 0x5f, 0x1f, 0x8d, 0xe4, 0x5d, 0x19, 0x99, 0x38, 0x3a, 0x09, 0x65, 0x35, 0x81, 0x3b, 0x97, - 0xb2, 0x70, 0x63, 0x3f, 0x37, 0x5b, 0xa6, 0x13, 0x34, 0x98, 0x9b, 0x87, 0xb4, 0x17, 0x31, 0xee, - 0x4a, 0xec, 0x8d, 0xbb, 0x11, 0x75, 0xe7, 0x4a, 0x8b, 0x58, 0x2c, 0x09, 0x0f, 0xf4, 0xc4, 0xdd, - 0xb8, 0x9b, 0x98, 0x7c, 0xfa, 0xc2, 0xfd, 0xfd, 0x1c, 0x9c, 0x5c, 0xb5, 0xad, 0xfd, 0x9e, 0x13, - 0xf6, 0x40, 0x7f, 0x3a, 0x78, 0x43, 0xb6, 0x20, 0x63, 0x1a, 0xdc, 0x02, 0xb3, 0x36, 0xb3, 0xe6, - 0xc2, 0xed, 0x59, 0x3e, 0x89, 0xef, 0xbd, 0x94, 0xa3, 0xf4, 0x5e, 0x61, 0x3f, 0x93, 0x13, 0xfa, - 0x99, 0xfe, 0x9e, 0x23, 0x3f, 0xa0, 0xe7, 0xf8, 0x93, 0x6c, 0xc2, 0x41, 0xb5, 0x4f, 0x44, 0x11, - 0xfd, 0x45, 0x19, 0x0a, 0x3b, 0x24, 0x23, 0xeb, 0x2e, 0x9e, 0x24, 0x57, 0x33, 0x42, 0x5c, 0x63, - 0xbf, 0x86, 0x72, 0x55, 0x78, 0x1d, 0x4e, 0x34, 0xc0, 0xc5, 0x73, 0x9b, 0xbe, 0x52, 0xbd, 0x3e, - 0x07, 0x73, 0x41, 0xe9, 0xd5, 0x8e, 0x23, 0x44, 0x77, 0xe5, 0x34, 0x6a, 0x5e, 0x46, 0xa3, 0x0e, - 0xad, 0x33, 0x07, 0xa3, 0x8e, 0xc2, 0x8d, 0x3a, 0x03, 0x47, 0x97, 0xb9, 0x88, 0xd1, 0x05, 0xbd, - 0x40, 0x91, 0xbd, 0xc4, 0x4e, 0xec, 0x5a, 0x49, 0x6d, 0x1e, 0xcb, 0x83, 0x85, 0xe4, 0x55, 0x7a, - 0xc3, 0x6b, 0x95, 0xbe, 0x92, 0x7c, 0x20, 0x0b, 0xa7, 0x0e, 0x77, 0xe6, 0xdf, 0x20, 0x7a, 0xa9, - 0x79, 0x75, 0x72, 0x02, 0x2f, 0x35, 0xf2, 0x26, 0x6e, 0xd2, 0xc5, 0x06, 0x41, 0x11, 0xec, 0xbd, - 0xe1, 0x9d, 0xb8, 0x5c, 0x98, 0x13, 0x49, 0xa2, 0xe9, 0x0b, 0xf0, 0x47, 0x14, 0x98, 0x69, 0x60, - 0x77, 0x5d, 0x3f, 0xb0, 0xf6, 0x5d, 0xa4, 0xcb, 0x6e, 0xcf, 0x3d, 0x13, 0x0a, 0x5d, 0xf2, 0x0b, - 0xe9, 0x60, 0xf8, 0xa0, 0xa3, 0xfc, 0xfe, 0x16, 0xf1, 0x0d, 0xa2, 0xa4, 0x35, 0x96, 0x5f, 0x8c, - 0x3e, 0x23, 0xb3, 0x3b, 0x1a, 0x70, 0x37, 0x96, 0xad, 0x9d, 0x44, 0x7b, 0xa7, 0x51, 0x45, 0xa7, - 0x0f, 0xcb, 0xf7, 0x28, 0x30, 0xdf, 0xc0, 0x6e, 0xd5, 0x59, 0xd1, 0xaf, 0x5a, 0xb6, 0xe1, 0x62, - 0xb4, 0x2a, 0x0b, 0xcd, 0x79, 0x00, 0x23, 0xf8, 0x8d, 0xc5, 0xc4, 0xe2, 0x52, 0xd0, 0xcf, 0x27, - 0x75, 0x14, 0x12, 0xf8, 0x18, 0x0b, 0x08, 0x89, 0x7c, 0x2c, 0xe2, 0x8a, 0x9f, 0xc0, 0x35, 0xdc, - 0x59, 0x06, 0x44, 0xc9, 0x6e, 0xef, 0x1a, 0x57, 0x71, 0x27, 0x21, 0x10, 0xfe, 0x6f, 0x21, 0x10, - 0x01, 0xa1, 0xc4, 0xee, 0x2b, 0x02, 0x1f, 0xe3, 0x70, 0x5f, 0x89, 0x23, 0x38, 0x91, 0xb0, 0x56, - 0x5e, 0xd7, 0xc3, 0xd6, 0x33, 0x1f, 0x90, 0x15, 0x6b, 0x68, 0xb2, 0x65, 0x79, 0x93, 0x6d, 0xa4, - 0x8e, 0x85, 0x96, 0x3d, 0x4c, 0xa7, 0x73, 0x69, 0x74, 0x2c, 0x03, 0x8b, 0x4e, 0x5f, 0xe8, 0xef, - 0x51, 0xe0, 0x4c, 0x10, 0xef, 0xa5, 0x81, 0xdd, 0x65, 0xdd, 0xd9, 0xbd, 0x6c, 0xe9, 0x76, 0x07, - 0x95, 0xc7, 0x70, 0xe0, 0x10, 0x7d, 0x86, 0x07, 0xa1, 0x26, 0x82, 0x30, 0xd0, 0x95, 0x74, 0x20, - 0x2f, 0xe3, 0xe8, 0x64, 0x62, 0xbd, 0x5d, 0x7f, 0x29, 0x00, 0xeb, 0x5b, 0x04, 0xb0, 0xee, 0x1f, - 0x95, 0xc5, 0xf4, 0x81, 0xfb, 0x71, 0x3a, 0x22, 0x70, 0x5e, 0xcf, 0x0f, 0xcb, 0x02, 0x16, 0xe1, - 0xf5, 0xaa, 0x44, 0x7a, 0xbd, 0x8e, 0x34, 0x46, 0x0c, 0xf5, 0x58, 0x4e, 0x77, 0x8c, 0x38, 0x46, - 0x6f, 0xe4, 0x77, 0x28, 0x50, 0x24, 0x01, 0xbf, 0x38, 0x8f, 0x70, 0x3e, 0x7e, 0x76, 0x3c, 0x3a, - 0x87, 0xbc, 0xcf, 0xa7, 0x92, 0x7a, 0x9f, 0xa3, 0xb7, 0x27, 0xf5, 0x31, 0xef, 0xe7, 0x76, 0x2c, - 0x88, 0x25, 0x72, 0x21, 0x1f, 0xc2, 0x41, 0xfa, 0xa0, 0xfd, 0x80, 0x02, 0xe0, 0x35, 0x68, 0x76, - 0x36, 0xe2, 0xb9, 0xb2, 0x70, 0xdd, 0xc5, 0xfb, 0xdd, 0x7b, 0x40, 0x9d, 0xe9, 0x03, 0x8a, 0x52, - 0x0c, 0x4f, 0x5d, 0xbc, 0x31, 0xa9, 0x6f, 0x65, 0xc8, 0xd5, 0x58, 0x60, 0x49, 0xe4, 0x6d, 0x19, - 0x59, 0x76, 0xfa, 0x80, 0xfc, 0xb7, 0x2c, 0xe4, 0x9b, 0x56, 0x03, 0xbb, 0x47, 0x37, 0x05, 0x12, - 0x47, 0x0d, 0x20, 0xe5, 0x8e, 0x23, 0x6a, 0xc0, 0x20, 0x42, 0xe9, 0x8b, 0xee, 0xdd, 0x59, 0x98, - 0x6b, 0x5a, 0xe5, 0x60, 0x71, 0x4a, 0xde, 0x57, 0x55, 0xfe, 0x22, 0xfe, 0xa0, 0x82, 0x61, 0x31, - 0x47, 0xba, 0x88, 0x7f, 0x38, 0xbd, 0xf4, 0xe5, 0x76, 0x0f, 0x9c, 0xdc, 0x32, 0x3b, 0x96, 0x86, - 0x3b, 0x16, 0x5b, 0xe9, 0x56, 0x55, 0xc8, 0xed, 0x9b, 0x1d, 0x8b, 0xb0, 0x9c, 0xd7, 0xc8, 0xb3, - 0x97, 0x66, 0xe3, 0x8e, 0xc5, 0x7c, 0x03, 0xc8, 0x33, 0xfa, 0x0b, 0x05, 0x72, 0xde, 0xbf, 0xf2, - 0xa2, 0x7e, 0x87, 0x92, 0x30, 0x0e, 0x82, 0x47, 0x7e, 0x2c, 0x96, 0xd0, 0x03, 0xdc, 0xda, 0x3f, - 0xf5, 0x60, 0x7d, 0x7c, 0x54, 0x79, 0x9c, 0x28, 0xc2, 0x35, 0x7f, 0xf5, 0x1c, 0x4c, 0x5d, 0xee, - 0x5a, 0xed, 0x2b, 0xe1, 0x71, 0x7d, 0xf6, 0xaa, 0xde, 0x01, 0x79, 0x5b, 0x37, 0x77, 0x30, 0xdb, - 0x53, 0x38, 0xdd, 0xd7, 0x17, 0x12, 0xaf, 0x17, 0x8d, 0x66, 0x41, 0x6f, 0x4f, 0x12, 0x81, 0x61, - 0x40, 0xe5, 0x93, 0xe9, 0xc3, 0xf2, 0x08, 0x27, 0xcf, 0x8a, 0x30, 0x57, 0x2e, 0xd5, 0xe8, 0x3d, - 0x86, 0xf5, 0x8b, 0x95, 0xa2, 0x42, 0x60, 0xf6, 0x64, 0x92, 0x22, 0xcc, 0x1e, 0xf9, 0xaf, 0x5b, - 0x98, 0x07, 0x54, 0xfe, 0x38, 0x60, 0xfe, 0x44, 0x16, 0xe6, 0xd7, 0x0d, 0xc7, 0x8d, 0xf2, 0xf6, - 0x8f, 0x89, 0xf7, 0xfb, 0xf2, 0xa4, 0xa6, 0xb2, 0x50, 0x8e, 0x74, 0xa0, 0xdf, 0x44, 0xe6, 0x70, - 0x5c, 0x11, 0x93, 0x39, 0x96, 0x42, 0x38, 0xa0, 0x17, 0xcf, 0x4b, 0x4b, 0x32, 0xb1, 0xa1, 0x14, - 0x16, 0x32, 0x79, 0x43, 0x29, 0xb2, 0xec, 0xf4, 0xe5, 0xfb, 0x17, 0x59, 0x38, 0xe5, 0x15, 0x1f, - 0xb7, 0x2c, 0x15, 0x2d, 0xe6, 0xa1, 0xcb, 0x52, 0x89, 0x57, 0xc6, 0x0f, 0xf1, 0x32, 0x8e, 0x95, - 0xf1, 0x61, 0x44, 0x27, 0x2c, 0xe6, 0x88, 0x65, 0xd8, 0x61, 0x62, 0x8e, 0x59, 0x86, 0x1d, 0x5d, - 0xcc, 0xf1, 0x4b, 0xb1, 0x23, 0x8a, 0xf9, 0xd8, 0x16, 0x58, 0x7f, 0x46, 0x09, 0xc4, 0x1c, 0xb9, - 0xb6, 0x11, 0x23, 0xe6, 0xc4, 0x27, 0x7a, 0xc5, 0x1b, 0xf9, 0x13, 0x08, 0x7e, 0xcc, 0xeb, 0x1b, - 0xa3, 0xc0, 0x74, 0x8c, 0x6b, 0x1c, 0x3f, 0xa1, 0xc0, 0x02, 0xe3, 0x62, 0xf0, 0x94, 0x39, 0x06, - 0xa3, 0xc4, 0x53, 0xe6, 0xc4, 0x67, 0x80, 0x44, 0xce, 0x26, 0x7f, 0x06, 0x28, 0xb6, 0xfc, 0xf4, - 0xc1, 0xf9, 0xab, 0x1c, 0x9c, 0xf5, 0x58, 0xd8, 0xb0, 0x3a, 0xc6, 0xf6, 0x01, 0xe5, 0xe2, 0xa2, - 0xde, 0xdd, 0xc7, 0x0e, 0x7a, 0x5f, 0x56, 0x16, 0xa5, 0xff, 0x03, 0xc0, 0xea, 0x61, 0x9b, 0xc6, - 0x71, 0x63, 0x40, 0xdd, 0x17, 0x55, 0xd9, 0xc3, 0x25, 0x05, 0xd7, 0xdf, 0xd4, 0x7d, 0x22, 0x1a, - 0x47, 0xcf, 0xb3, 0x0a, 0x67, 0x82, 0x2f, 0xfd, 0x0e, 0x1e, 0x99, 0xc3, 0x0e, 0x1e, 0xb7, 0x83, - 0xa2, 0x77, 0x3a, 0x01, 0x54, 0xfd, 0x9b, 0xd9, 0xa4, 0x4c, 0xcd, 0xcb, 0xe2, 0xe5, 0x74, 0x70, - 0x78, 0x34, 0x2f, 0x22, 0xa7, 0x83, 0x5d, 0x75, 0x11, 0x0a, 0xf4, 0x3a, 0xf0, 0x60, 0x45, 0x7f, - 0x70, 0x66, 0x96, 0x4b, 0x34, 0xed, 0xea, 0xa2, 0x1a, 0xde, 0x93, 0x48, 0x32, 0x83, 0xfa, 0xe9, - 0xd0, 0x4e, 0xd6, 0x04, 0x05, 0x7b, 0xf6, 0xc8, 0x94, 0x27, 0xb3, 0x1b, 0x56, 0xea, 0xf5, 0xba, - 0x07, 0x4d, 0x16, 0x78, 0x20, 0xd1, 0x6e, 0x18, 0x17, 0xbf, 0x20, 0x7b, 0x28, 0x7e, 0x41, 0xe2, - 0xdd, 0x30, 0x81, 0x8f, 0x71, 0xec, 0x86, 0xc5, 0x11, 0x4c, 0x5f, 0xb4, 0xbf, 0x39, 0x4d, 0xad, - 0x66, 0x76, 0x1b, 0xc1, 0xa7, 0x06, 0x7b, 0x56, 0x83, 0xe8, 0xec, 0x32, 0xe8, 0xa2, 0x82, 0xd8, - 0x5b, 0x58, 0xd4, 0xa7, 0x43, 0x61, 0xdb, 0xb2, 0xf7, 0x74, 0x7f, 0xe3, 0xbe, 0xff, 0xa4, 0x08, - 0xbb, 0x01, 0x60, 0x85, 0xe4, 0xd1, 0x58, 0x5e, 0x6f, 0x3e, 0xf2, 0x7c, 0xa3, 0xc7, 0x82, 0x3e, - 0x7a, 0x8f, 0xea, 0xad, 0x30, 0xcf, 0x62, 0x3f, 0xd6, 0xb0, 0xe3, 0xe2, 0x0e, 0x8b, 0x68, 0x21, - 0x26, 0xaa, 0x17, 0x60, 0x8e, 0x25, 0xac, 0x18, 0x5d, 0xec, 0xb0, 0xa0, 0x16, 0x42, 0x9a, 0x7a, - 0x16, 0x0a, 0x86, 0xf3, 0xa0, 0x63, 0x99, 0x2c, 0x20, 0x1f, 0x7b, 0x53, 0x6f, 0x87, 0x93, 0x2c, - 0x5f, 0x60, 0xac, 0xd2, 0x03, 0x3b, 0xfd, 0xc9, 0x9e, 0x6a, 0x99, 0xd6, 0xa6, 0x6d, 0xed, 0xd8, - 0xd8, 0x71, 0xc8, 0xa9, 0xa9, 0x69, 0x8d, 0x4b, 0x51, 0x1f, 0x86, 0x53, 0x5d, 0xc3, 0xbc, 0xe2, - 0x90, 0x18, 0xc1, 0x2b, 0xcc, 0x6d, 0x6c, 0x6e, 0x40, 0xec, 0x6e, 0xae, 0xb1, 0x31, 0x39, 0xf0, - 0xbf, 0x68, 0x87, 0xa9, 0xa8, 0x77, 0x40, 0x91, 0x71, 0xb3, 0xa4, 0xb7, 0xaf, 0x90, 0xef, 0xcc, - 0x1d, 0xf5, 0x50, 0x3a, 0x7a, 0x65, 0x06, 0xe6, 0x84, 0x9f, 0x75, 0x50, 0xfd, 0x2e, 0xcf, 0xb9, - 0xb4, 0x6b, 0xb8, 0xd8, 0x2b, 0x98, 0x9d, 0x63, 0x79, 0xea, 0x10, 0xc6, 0xb4, 0x43, 0x3f, 0x6a, - 0x03, 0x88, 0x79, 0x00, 0xd0, 0xce, 0x8c, 0x78, 0x8d, 0x39, 0xcc, 0x0e, 0x15, 0xd2, 0xd0, 0xf3, - 0x41, 0x3d, 0x4c, 0x8d, 0xf3, 0xf0, 0xc8, 0x24, 0xf3, 0xf0, 0xf0, 0x64, 0xa2, 0x77, 0xbb, 0xd6, - 0x35, 0xdc, 0x09, 0xc8, 0x32, 0x3d, 0x3c, 0x94, 0x8e, 0x3e, 0x3d, 0xca, 0x9c, 0x2f, 0xf1, 0xa5, - 0x19, 0x5e, 0x03, 0xda, 0x6f, 0xb7, 0x31, 0xee, 0xb0, 0x43, 0x69, 0xfe, 0x6b, 0xc2, 0xeb, 0x34, - 0x12, 0xcf, 0x10, 0x8f, 0xe9, 0x3e, 0x8d, 0x5f, 0x3f, 0x03, 0x05, 0x7a, 0x37, 0x1d, 0x7a, 0xe5, - 0xc2, 0xc0, 0x7e, 0x64, 0x41, 0xec, 0x47, 0xb6, 0x60, 0xce, 0xb4, 0xbc, 0xe2, 0x36, 0x75, 0x5b, - 0xdf, 0x73, 0xe2, 0x16, 0x80, 0x29, 0xdd, 0x60, 0xb4, 0xaf, 0x71, 0xbf, 0xad, 0x9d, 0xd0, 0x04, - 0x32, 0xea, 0xff, 0x09, 0x27, 0x2f, 0xb3, 0xe0, 0x0d, 0x0e, 0xa3, 0x9c, 0x8d, 0x76, 0x8f, 0xec, - 0xa3, 0xbc, 0x24, 0xfe, 0xb9, 0x76, 0x42, 0xeb, 0x27, 0xa6, 0x7e, 0x1b, 0x2c, 0x78, 0xaf, 0x1d, - 0xeb, 0x9a, 0xcf, 0xb8, 0x12, 0x6d, 0x23, 0xf6, 0x91, 0xdf, 0x10, 0x7e, 0x5c, 0x3b, 0xa1, 0xf5, - 0x91, 0x52, 0xeb, 0x00, 0xbb, 0xee, 0x5e, 0x97, 0x11, 0xce, 0x45, 0xab, 0x64, 0x1f, 0xe1, 0xb5, - 0xe0, 0xa7, 0xb5, 0x13, 0x1a, 0x47, 0x42, 0x5d, 0x87, 0x19, 0xf7, 0x51, 0x97, 0xd1, 0xcb, 0x47, - 0xfb, 0x25, 0xf4, 0xd1, 0x6b, 0xfa, 0xff, 0xac, 0x9d, 0xd0, 0x42, 0x02, 0x6a, 0x15, 0xa6, 0x7b, - 0x97, 0x19, 0xb1, 0x42, 0x74, 0x5f, 0xd6, 0x47, 0x6c, 0xf3, 0x72, 0x40, 0x2b, 0xf8, 0xdd, 0x63, - 0xac, 0xed, 0x5c, 0x65, 0xb4, 0xa6, 0xa4, 0x19, 0x2b, 0xfb, 0xff, 0x78, 0x8c, 0x05, 0x04, 0xd4, - 0x2a, 0xcc, 0x38, 0xa6, 0xde, 0x73, 0x76, 0x2d, 0xd7, 0x39, 0x37, 0xdd, 0xe7, 0xc2, 0x1a, 0x4d, - 0xad, 0xc1, 0xfe, 0xd1, 0xc2, 0xbf, 0xd5, 0xa7, 0xc3, 0x99, 0xfd, 0x5e, 0x47, 0x77, 0x71, 0xe5, - 0x51, 0xc3, 0x71, 0x0d, 0x73, 0xc7, 0x8f, 0x3e, 0x4c, 0x07, 0x82, 0xc1, 0x1f, 0xd5, 0x45, 0x76, - 0x98, 0x0d, 0x48, 0xdb, 0x44, 0xfd, 0xfb, 0xa8, 0xb4, 0x58, 0xee, 0x0c, 0xdb, 0xb3, 0x20, 0xe7, - 0x7d, 0x22, 0x03, 0xc7, 0xc2, 0xe0, 0x35, 0xda, 0x7e, 0xdd, 0x21, 0x0d, 0xd8, 0xfb, 0xa9, 0x6f, - 0xec, 0x99, 0x3b, 0x34, 0xf6, 0xdc, 0x02, 0xb3, 0x86, 0xb3, 0x61, 0xec, 0x50, 0xc3, 0x97, 0x8d, - 0x0d, 0x7c, 0x12, 0x5d, 0x28, 0xa8, 0xe1, 0x6b, 0xf4, 0x6e, 0x95, 0x93, 0xfe, 0x42, 0x81, 0x9f, - 0x82, 0x6e, 0x83, 0x39, 0xbe, 0x91, 0xd1, 0x0b, 0x6e, 0x8d, 0xd0, 0x6c, 0x66, 0x6f, 0xe8, 0x56, - 0x58, 0x10, 0x75, 0x9a, 0xb3, 0x0e, 0x14, 0xbf, 0x2b, 0x44, 0x8f, 0x87, 0x93, 0x7d, 0x0d, 0xcb, - 0x0f, 0x07, 0x93, 0x09, 0xc3, 0xc1, 0xdc, 0x02, 0x10, 0x6a, 0xf1, 0x40, 0x32, 0x37, 0xc3, 0x4c, - 0xa0, 0x97, 0x03, 0x33, 0x7c, 0x29, 0x03, 0xd3, 0xbe, 0xb2, 0x0d, 0xca, 0xe0, 0x8d, 0x4c, 0x26, - 0xb7, 0xf7, 0xe3, 0x8f, 0x4c, 0x7c, 0x9a, 0x67, 0x02, 0x84, 0x1e, 0xd7, 0x4d, 0xc3, 0xed, 0xfa, - 0xa7, 0x16, 0xfb, 0x93, 0xd5, 0x4d, 0x00, 0x83, 0x60, 0xd4, 0x0c, 0x8f, 0x31, 0x3e, 0x25, 0x41, - 0x7b, 0xa0, 0xfa, 0xc0, 0xd1, 0xb8, 0xf0, 0x0d, 0xec, 0x8c, 0xe1, 0x0c, 0xe4, 0x69, 0x08, 0xfe, - 0x13, 0xea, 0x02, 0x40, 0xe5, 0xb9, 0x9b, 0x15, 0xad, 0x5a, 0xa9, 0x95, 0x2b, 0xc5, 0x0c, 0xfa, - 0xc9, 0x2c, 0xcc, 0x04, 0x8d, 0x60, 0x60, 0x25, 0x2b, 0x4c, 0xb5, 0x86, 0xde, 0x21, 0x7a, 0xb8, - 0x51, 0xf1, 0x4a, 0xf6, 0x4c, 0xb8, 0x7e, 0xdf, 0xc1, 0x2b, 0x86, 0xed, 0xb8, 0x9a, 0x75, 0x6d, - 0xc5, 0xb2, 0xc3, 0x81, 0x95, 0x06, 0xaf, 0x8d, 0xfa, 0xec, 0x19, 0x83, 0x1d, 0x4c, 0xce, 0xb3, - 0x61, 0x9b, 0x2d, 0xea, 0x87, 0x09, 0x1e, 0x5d, 0xd7, 0xd6, 0x4d, 0xa7, 0x67, 0x39, 0x58, 0xb3, - 0xae, 0x39, 0x25, 0xb3, 0x53, 0xb6, 0xba, 0xfb, 0x7b, 0xa6, 0xc3, 0xcc, 0xb9, 0xa8, 0xcf, 0x9e, - 0x74, 0xc8, 0x0d, 0xc1, 0x0b, 0x00, 0xe5, 0xfa, 0xfa, 0x7a, 0xa5, 0xdc, 0xac, 0xd6, 0x6b, 0xc5, - 0x13, 0x9e, 0xb4, 0x9a, 0xa5, 0xa5, 0x75, 0x4f, 0x3a, 0xdf, 0x0e, 0xd3, 0x7e, 0x9b, 0x66, 0x11, - 0x6c, 0x32, 0x7e, 0x04, 0x1b, 0xb5, 0x04, 0xd3, 0x7e, 0x2b, 0x67, 0x23, 0xc2, 0x13, 0xfa, 0x4f, - 0x2c, 0xef, 0xe9, 0xb6, 0x4b, 0x0c, 0x14, 0x9f, 0xc8, 0x92, 0xee, 0x60, 0x2d, 0xf8, 0xed, 0xc2, - 0x93, 0x19, 0x07, 0x2a, 0x2c, 0x94, 0xd6, 0xd7, 0x5b, 0x75, 0xad, 0x55, 0xab, 0x37, 0xd7, 0xaa, - 0xb5, 0x55, 0x3a, 0x42, 0x56, 0x57, 0x6b, 0x75, 0xad, 0x42, 0x07, 0xc8, 0x46, 0x31, 0x43, 0x6f, - 0xa8, 0x5e, 0x9a, 0x86, 0x42, 0x8f, 0x48, 0x17, 0x7d, 0x5e, 0x49, 0x18, 0xaa, 0x20, 0xc0, 0x29, - 0xe2, 0x0e, 0x5d, 0xe1, 0xb8, 0x40, 0x76, 0xc0, 0x71, 0xde, 0x0b, 0x30, 0x47, 0xcd, 0x70, 0x87, - 0xec, 0xbc, 0x10, 0xe4, 0x14, 0x4d, 0x48, 0x43, 0x1f, 0xc9, 0x26, 0x88, 0x5f, 0x30, 0x90, 0xa3, - 0x64, 0xc6, 0xc5, 0x1f, 0x64, 0x46, 0xbb, 0xb0, 0xa2, 0x5a, 0x6b, 0x56, 0xb4, 0x5a, 0x69, 0x9d, - 0x65, 0x51, 0xd4, 0x73, 0x70, 0xba, 0x56, 0x67, 0xe1, 0x1a, 0x1b, 0xad, 0x66, 0xbd, 0x55, 0xdd, - 0xd8, 0xac, 0x6b, 0xcd, 0x62, 0x5e, 0x3d, 0x0b, 0x2a, 0x7d, 0x6e, 0x55, 0x1b, 0xad, 0x72, 0xa9, - 0x56, 0xae, 0xac, 0x57, 0x96, 0x8b, 0x05, 0xf5, 0x89, 0xf0, 0x78, 0x7a, 0x01, 0x52, 0x7d, 0xa5, - 0xa5, 0xd5, 0x2f, 0x35, 0x3c, 0x04, 0xb5, 0xca, 0x7a, 0xc9, 0x53, 0x24, 0xee, 0xa6, 0xea, 0x29, - 0xf5, 0x3a, 0x38, 0x49, 0xae, 0xb1, 0x5f, 0xaf, 0x97, 0x96, 0x59, 0x79, 0xd3, 0xea, 0x4d, 0x70, - 0xae, 0x5a, 0x6b, 0x6c, 0xad, 0xac, 0x54, 0xcb, 0xd5, 0x4a, 0xad, 0xd9, 0xda, 0xac, 0x68, 0x1b, - 0xd5, 0x46, 0xc3, 0xfb, 0xb7, 0x38, 0x43, 0xee, 0x01, 0xa6, 0x7d, 0x26, 0x7a, 0xaf, 0x02, 0xf3, - 0x17, 0xf5, 0xae, 0xe1, 0x0d, 0x14, 0xe4, 0x82, 0xf0, 0xbe, 0x93, 0x3e, 0x2e, 0xb9, 0x48, 0x9c, - 0x9d, 0x15, 0x20, 0x2f, 0xe8, 0xbb, 0x95, 0x84, 0x27, 0x7d, 0x18, 0x10, 0xb4, 0xc4, 0x45, 0xa1, - 0xb4, 0x88, 0x79, 0xe9, 0xeb, 0xb2, 0x09, 0x4e, 0xfa, 0xc8, 0x93, 0x4f, 0x06, 0xfe, 0x4f, 0x8d, - 0x0b, 0xfc, 0x22, 0xcc, 0x6d, 0xd5, 0x4a, 0x5b, 0xcd, 0xb5, 0xba, 0x56, 0xfd, 0x56, 0x12, 0xa7, - 0x7e, 0x1e, 0x66, 0x56, 0xea, 0xda, 0x52, 0x75, 0x79, 0xb9, 0x52, 0x2b, 0xe6, 0xd5, 0xeb, 0xe1, - 0xba, 0x46, 0x45, 0xbb, 0x58, 0x2d, 0x57, 0x5a, 0x5b, 0xb5, 0xd2, 0xc5, 0x52, 0x75, 0x9d, 0xf4, - 0x11, 0x85, 0x98, 0xcb, 0xcd, 0xa7, 0xd0, 0x77, 0xe6, 0x00, 0x68, 0xd5, 0xc9, 0x35, 0x4d, 0xdc, - 0x15, 0xd8, 0x7f, 0x94, 0x74, 0xd2, 0x10, 0x92, 0x89, 0x68, 0xbf, 0x55, 0x98, 0xb6, 0xd9, 0x07, - 0xb6, 0xf2, 0x35, 0x8c, 0x0e, 0x7d, 0xf4, 0xa9, 0x69, 0xc1, 0xef, 0xe8, 0x7d, 0x49, 0xe6, 0x08, - 0x91, 0x8c, 0x25, 0x43, 0x72, 0x65, 0x3c, 0x40, 0xa2, 0x97, 0x65, 0x60, 0x41, 0xac, 0x98, 0x57, - 0x09, 0x62, 0x4c, 0xc9, 0x55, 0x42, 0xfc, 0x99, 0x33, 0xb2, 0x2e, 0x3c, 0x8d, 0x0d, 0xa7, 0xe0, - 0xb7, 0x4c, 0x7a, 0x68, 0xdf, 0xb7, 0x58, 0x8a, 0x19, 0x8f, 0x79, 0xcf, 0xe8, 0x28, 0x66, 0xd5, - 0x29, 0x50, 0x9a, 0x8f, 0xba, 0x45, 0x05, 0x7d, 0x49, 0x81, 0x79, 0xe1, 0x8e, 0x6d, 0xf4, 0xba, - 0x8c, 0xcc, 0xfd, 0xb7, 0xdc, 0xed, 0xdd, 0x99, 0xa3, 0xde, 0xde, 0x7d, 0xe1, 0x2e, 0x98, 0x62, - 0x69, 0x44, 0xbe, 0xf5, 0x9a, 0x67, 0x0a, 0x9c, 0x84, 0xd9, 0xd5, 0x4a, 0xb3, 0xd5, 0x68, 0x96, - 0xb4, 0x66, 0x65, 0xb9, 0x98, 0xf1, 0x06, 0xbe, 0xca, 0xc6, 0x66, 0xf3, 0xe1, 0x62, 0x36, 0xb9, - 0xf3, 0x64, 0x3f, 0x23, 0x13, 0x76, 0x9e, 0x8c, 0x2b, 0x3e, 0xfd, 0xb9, 0xea, 0xa7, 0x14, 0x28, - 0x52, 0x0e, 0x2a, 0x8f, 0xf6, 0xb0, 0x6d, 0x60, 0xb3, 0x8d, 0xd1, 0x15, 0x99, 0x60, 0xae, 0x87, - 0xc2, 0x18, 0x92, 0xfe, 0x9c, 0xb3, 0x12, 0xe9, 0x4b, 0x9f, 0x81, 0x9d, 0x3b, 0x64, 0x60, 0x7f, - 0x32, 0xa9, 0xf7, 0x64, 0x3f, 0xbb, 0x63, 0x81, 0xec, 0xe3, 0x49, 0xbc, 0x27, 0x87, 0x70, 0x30, - 0x91, 0x18, 0xcd, 0x11, 0xe3, 0x6f, 0x51, 0x41, 0x2f, 0x55, 0xe0, 0xe4, 0xb2, 0xee, 0xe2, 0xa5, - 0x83, 0xa6, 0x7f, 0x07, 0x66, 0xc4, 0xbd, 0xd5, 0x99, 0x43, 0xf7, 0x56, 0x87, 0xd7, 0x68, 0x66, - 0xfb, 0xae, 0xd1, 0x44, 0xef, 0x4a, 0x7a, 0xde, 0xb2, 0x8f, 0x87, 0xb1, 0x05, 0x52, 0x4e, 0x76, - 0x8e, 0x32, 0x9e, 0x8b, 0xf4, 0x1b, 0xd8, 0xdb, 0x66, 0xa0, 0x48, 0x59, 0xe1, 0x1c, 0x04, 0x7f, - 0x84, 0x5d, 0xf5, 0xde, 0x4a, 0x10, 0x8f, 0xd1, 0x8f, 0x70, 0x91, 0x15, 0x23, 0x5c, 0x08, 0xeb, - 0xcd, 0x4a, 0xbf, 0x53, 0x47, 0xd2, 0xce, 0x90, 0xf3, 0x06, 0x8c, 0x0e, 0x81, 0x9b, 0x5e, 0x67, - 0x18, 0x5b, 0xfc, 0x64, 0xae, 0x23, 0x66, 0x37, 0x80, 0x56, 0x64, 0x91, 0x89, 0xbf, 0x75, 0x3d, - 0xa9, 0x6b, 0xb8, 0xe0, 0x8d, 0x19, 0x73, 0x15, 0x79, 0x7a, 0xae, 0xe1, 0xc3, 0x38, 0x48, 0x1f, - 0x85, 0x7f, 0xcb, 0x42, 0xae, 0x61, 0xd9, 0xee, 0xb8, 0x30, 0x48, 0xba, 0x9d, 0xcd, 0x49, 0xa0, - 0x11, 0x3d, 0xe7, 0x4c, 0x6f, 0x3b, 0x3b, 0xbe, 0xfc, 0x09, 0x84, 0xb4, 0x3c, 0x09, 0x0b, 0x94, - 0x93, 0xe0, 0x3e, 0x98, 0x7f, 0xcd, 0xd2, 0xfe, 0xea, 0x21, 0x59, 0x44, 0xc8, 0xc6, 0x47, 0xb0, - 0x9d, 0xec, 0x83, 0x22, 0xa4, 0xa1, 0x9f, 0xe5, 0x71, 0x59, 0x16, 0x71, 0x19, 0x34, 0xe3, 0x0e, - 0xae, 0x54, 0x19, 0x57, 0xcf, 0x94, 0x24, 0x3a, 0x66, 0x4c, 0xe1, 0xe9, 0x23, 0xf2, 0x22, 0x05, - 0x0a, 0xcc, 0x9d, 0x6f, 0xac, 0x08, 0x24, 0x6d, 0x19, 0x81, 0x10, 0xe4, 0xdc, 0xfe, 0x94, 0x71, - 0xb7, 0x8c, 0xf8, 0xf2, 0xd3, 0xc7, 0xe1, 0xdf, 0x99, 0x9f, 0x6a, 0xe9, 0xaa, 0x6e, 0x74, 0xf5, - 0xcb, 0xdd, 0x04, 0x51, 0xa9, 0x3f, 0x92, 0xf0, 0x64, 0x5e, 0x50, 0x55, 0xa1, 0xbc, 0x08, 0x89, - 0x7f, 0x13, 0xcc, 0xd8, 0xc2, 0x5e, 0x9f, 0x67, 0x45, 0xf5, 0xf9, 0x08, 0xb3, 0xef, 0x5a, 0x98, - 0x33, 0xd1, 0x31, 0x3c, 0x29, 0x7e, 0x26, 0x72, 0x6c, 0x68, 0xb6, 0xd4, 0xe9, 0xac, 0x60, 0xdd, - 0xdd, 0xb7, 0x71, 0x27, 0xd1, 0x10, 0x61, 0xf7, 0x6d, 0x87, 0x72, 0x92, 0x10, 0xe2, 0x42, 0xae, - 0x8b, 0xe8, 0x3c, 0x63, 0x48, 0x6f, 0xe0, 0xf3, 0x32, 0x96, 0x2e, 0xe9, 0x17, 0x03, 0x48, 0xea, - 0x02, 0x24, 0xcf, 0x1a, 0x8d, 0x89, 0xf4, 0x01, 0xf9, 0x31, 0x05, 0x16, 0xa8, 0x9d, 0x30, 0x6e, - 0x4c, 0x7e, 0x35, 0xa1, 0xfb, 0x0f, 0x77, 0xe3, 0x16, 0xcf, 0xce, 0x58, 0x60, 0x49, 0xe2, 0x2c, - 0x24, 0xc7, 0x47, 0xfa, 0xc8, 0xbc, 0xf8, 0x14, 0x00, 0xe7, 0xd2, 0xf9, 0x91, 0x42, 0x18, 0xa3, - 0x11, 0xbd, 0x9d, 0xcd, 0x3f, 0x1a, 0x42, 0xc0, 0x70, 0xce, 0x5d, 0x33, 0xd8, 0x90, 0x12, 0x13, - 0xa5, 0x46, 0x95, 0x3f, 0x48, 0x68, 0xf3, 0x32, 0x87, 0xca, 0xa1, 0x83, 0xfb, 0x88, 0xbd, 0xdc, - 0x47, 0x13, 0x18, 0xbf, 0xc3, 0x58, 0x49, 0x86, 0xda, 0xfa, 0x08, 0x33, 0xfb, 0x73, 0x70, 0x5a, - 0xab, 0x94, 0x96, 0xeb, 0xb5, 0xf5, 0x87, 0xf9, 0xeb, 0x97, 0x8a, 0x0a, 0x3f, 0x39, 0x49, 0x05, - 0xb6, 0x37, 0x24, 0xec, 0x03, 0x45, 0x59, 0xc5, 0xcd, 0x56, 0xb8, 0xc5, 0x95, 0xe1, 0xbd, 0x9a, - 0x04, 0xd9, 0xe3, 0x44, 0xe1, 0x1f, 0x0a, 0x30, 0xab, 0xe1, 0xb6, 0xb5, 0xb7, 0x87, 0xcd, 0x0e, - 0xee, 0xa0, 0x37, 0x28, 0x30, 0x17, 0xec, 0xf7, 0x35, 0xb0, 0x8b, 0xbe, 0x2d, 0xc4, 0xe6, 0x02, - 0xcc, 0x79, 0x95, 0xab, 0x8b, 0x41, 0xe0, 0x85, 0x34, 0xf5, 0x4e, 0x38, 0xe5, 0xa3, 0x50, 0xef, - 0x9b, 0xc2, 0x1c, 0xfe, 0x80, 0xde, 0xcd, 0x63, 0xb4, 0x25, 0x62, 0xf4, 0x40, 0xb4, 0x30, 0x03, - 0x76, 0x17, 0x79, 0x56, 0x23, 0xc0, 0xfa, 0xbd, 0x00, 0xac, 0xe7, 0x0a, 0x60, 0x2d, 0x1f, 0x91, - 0xfe, 0x71, 0xa2, 0xf6, 0xcb, 0x0a, 0x9c, 0xf6, 0x3b, 0xe2, 0xc9, 0xa1, 0xf5, 0x51, 0x1e, 0xad, - 0x6f, 0x17, 0xd1, 0x5a, 0x95, 0x91, 0xe6, 0x20, 0x96, 0x23, 0x50, 0xfb, 0x5c, 0x80, 0xda, 0x77, - 0x08, 0xa8, 0xad, 0x8f, 0xa9, 0x9c, 0xe3, 0x44, 0xef, 0x57, 0x15, 0x38, 0xe7, 0x99, 0x9d, 0x65, - 0xcb, 0xdc, 0xee, 0x1a, 0x6d, 0xd7, 0x30, 0x77, 0x42, 0x17, 0xb6, 0x55, 0x99, 0x95, 0xcd, 0x7e, - 0x6c, 0xb3, 0x87, 0xb1, 0x15, 0x63, 0x67, 0xc8, 0xb6, 0xad, 0x28, 0xb6, 0x22, 0x86, 0x30, 0xce, - 0xf1, 0x3a, 0xd4, 0x1c, 0x3e, 0x29, 0x79, 0xeb, 0x93, 0xe4, 0xe0, 0x38, 0xf1, 0x7b, 0x11, 0x70, - 0xa6, 0xc7, 0xf7, 0x2a, 0x50, 0x24, 0xfe, 0x92, 0xa4, 0x67, 0x67, 0x77, 0x93, 0xd6, 0x45, 0x2f, - 0xf9, 0x9e, 0x2f, 0x20, 0xdf, 0x4b, 0xde, 0x4f, 0x50, 0x6f, 0x83, 0x85, 0xf6, 0x2e, 0x6e, 0x5f, - 0xa9, 0x9a, 0xbe, 0x2f, 0x12, 0x75, 0x5c, 0xe9, 0x4b, 0x15, 0x07, 0xb3, 0x87, 0x44, 0x30, 0xc5, - 0x85, 0x47, 0x61, 0x62, 0xc3, 0x33, 0x15, 0xd1, 0xd0, 0x7e, 0x33, 0x00, 0xa8, 0x26, 0x00, 0x74, - 0xef, 0x48, 0x54, 0x93, 0xc1, 0x52, 0x1b, 0x01, 0x16, 0x04, 0x67, 0xeb, 0x9b, 0xcd, 0x6a, 0xbd, - 0xd6, 0xda, 0x6a, 0x54, 0x96, 0x5b, 0x4b, 0x3e, 0x38, 0x8d, 0xa2, 0x82, 0xbe, 0x9c, 0x85, 0x29, - 0xca, 0x96, 0x83, 0x9e, 0x14, 0x42, 0x30, 0xf4, 0x78, 0x00, 0x7a, 0x9b, 0x74, 0xb0, 0x9f, 0x40, - 0x10, 0xac, 0x9c, 0x88, 0x86, 0xf1, 0x4c, 0x98, 0xa2, 0x20, 0xfb, 0xbb, 0x00, 0xe7, 0x23, 0x2c, - 0x3b, 0x46, 0x46, 0xf3, 0xb3, 0x4b, 0x06, 0xfe, 0x19, 0xc2, 0x46, 0xfa, 0xd6, 0xf8, 0x0b, 0x72, - 0x74, 0xe9, 0xe0, 0x92, 0xe1, 0xee, 0x92, 0xd3, 0x03, 0xe8, 0x5b, 0x64, 0x3a, 0xae, 0x3b, 0x21, - 0x7f, 0xd5, 0xcb, 0x3d, 0xe4, 0x24, 0x06, 0xcd, 0x84, 0x7e, 0x4a, 0x3a, 0xce, 0xb4, 0xa0, 0x9f, - 0x01, 0x4f, 0x11, 0xe0, 0x6c, 0x40, 0xae, 0x6b, 0x38, 0x2e, 0xb3, 0xb9, 0xef, 0x49, 0x44, 0xc8, - 0x7f, 0xa8, 0xba, 0x78, 0x4f, 0x23, 0x64, 0xd0, 0x83, 0x9e, 0xc5, 0x14, 0xa6, 0x4a, 0x9c, 0x46, - 0x39, 0x07, 0x53, 0xec, 0x94, 0x34, 0xdb, 0x96, 0xf2, 0x5f, 0x25, 0xb7, 0x82, 0xa4, 0x6a, 0x9b, - 0xbe, 0x0e, 0xfc, 0xbf, 0x27, 0x61, 0x6a, 0xcd, 0x70, 0x5c, 0xcb, 0x3e, 0x40, 0x6f, 0xcc, 0xc0, - 0xd4, 0x45, 0x6c, 0x3b, 0x86, 0x65, 0x1e, 0x72, 0xcf, 0xba, 0x05, 0x66, 0x7b, 0x36, 0xbe, 0x6a, - 0x58, 0xfb, 0x0e, 0x37, 0x4a, 0x70, 0x49, 0x2a, 0x82, 0x69, 0x7d, 0xdf, 0xdd, 0xb5, 0xec, 0x30, - 0xb8, 0x92, 0xff, 0xae, 0x9e, 0x07, 0xa0, 0xcf, 0x35, 0x7d, 0x0f, 0xfb, 0xf7, 0xa7, 0x87, 0x29, - 0xaa, 0x0a, 0x39, 0xd7, 0xd8, 0xc3, 0x2c, 0xda, 0x3a, 0x79, 0xf6, 0x04, 0x4c, 0x22, 0x97, 0xb2, - 0x08, 0xb1, 0x8a, 0xe6, 0xbf, 0xa2, 0xcf, 0x28, 0x30, 0xbb, 0x8a, 0x5d, 0xc6, 0xaa, 0x83, 0x5e, - 0x9e, 0x91, 0xba, 0xe0, 0xc8, 0x9b, 0x97, 0x74, 0x75, 0xc7, 0xff, 0x2f, 0x18, 0x72, 0xc5, 0xc4, - 0x30, 0xf4, 0xbb, 0xc2, 0xdf, 0xfb, 0x40, 0xe2, 0x80, 0xba, 0x55, 0xea, 0xc0, 0xcf, 0x32, 0xb3, - 0x8d, 0xe3, 0xc3, 0x1f, 0x44, 0x9b, 0x38, 0x36, 0x86, 0x06, 0x93, 0xfd, 0x22, 0x57, 0x9f, 0xc8, - 0xee, 0x68, 0xfa, 0x2a, 0xcb, 0x71, 0xe8, 0x4a, 0x0f, 0x9e, 0x12, 0x23, 0xa3, 0x05, 0xb9, 0x25, - 0xa3, 0x6f, 0x0c, 0xe7, 0x64, 0x02, 0x97, 0xb8, 0x2a, 0x30, 0xdb, 0xd8, 0xb5, 0xae, 0xf9, 0x72, - 0xfc, 0x76, 0x39, 0x60, 0x6f, 0x82, 0x99, 0xab, 0x7d, 0xa0, 0x86, 0x09, 0xfc, 0xbd, 0x71, 0x8a, - 0x78, 0x6f, 0xdc, 0x4b, 0x94, 0xa4, 0x30, 0x71, 0xcc, 0x45, 0xc0, 0x24, 0x5e, 0xf5, 0x96, 0x4d, - 0x70, 0xd5, 0x9b, 0xfa, 0x0c, 0x98, 0x62, 0x5c, 0xb3, 0x65, 0xea, 0x78, 0x80, 0xfd, 0xcc, 0x7c, - 0x05, 0x73, 0x62, 0x05, 0x93, 0x21, 0x1f, 0x5d, 0xb9, 0xf4, 0x91, 0xff, 0x9d, 0x2c, 0x89, 0xbd, - 0xe4, 0x03, 0x5f, 0x1e, 0x03, 0xf0, 0xe8, 0x6b, 0x19, 0xd9, 0xcd, 0x9c, 0x40, 0x02, 0x01, 0x07, - 0x47, 0xba, 0xbc, 0x6c, 0x28, 0xb9, 0xf4, 0xe5, 0xf9, 0x93, 0x39, 0x98, 0x5b, 0x36, 0xb6, 0xb7, - 0x83, 0x4e, 0xf2, 0x15, 0x92, 0x9d, 0x64, 0xb4, 0x0b, 0x95, 0x67, 0xe7, 0xee, 0xdb, 0x36, 0x36, - 0xfd, 0x4a, 0xb1, 0xe6, 0xd4, 0x97, 0xaa, 0xde, 0x0e, 0x27, 0xfd, 0x71, 0x81, 0xef, 0x28, 0x67, - 0xb4, 0xfe, 0x64, 0xf4, 0x15, 0x69, 0x4f, 0x00, 0x5f, 0xa2, 0x7c, 0x95, 0x22, 0x1a, 0xe0, 0x7d, - 0x30, 0xbf, 0x4b, 0x73, 0x93, 0xe5, 0x52, 0xbf, 0xb3, 0x3c, 0xdb, 0x17, 0xdb, 0x7e, 0x03, 0x3b, - 0x8e, 0xbe, 0x83, 0x35, 0x31, 0x73, 0x5f, 0xf3, 0x55, 0x92, 0xdc, 0xd4, 0x28, 0xe7, 0x54, 0x20, - 0x51, 0x93, 0xf4, 0xb5, 0xe3, 0x73, 0x17, 0x20, 0xb7, 0x62, 0x74, 0x31, 0xfa, 0xbe, 0x2c, 0xcc, - 0x78, 0xb3, 0x6e, 0xb3, 0xed, 0xbd, 0x71, 0x0e, 0x95, 0xff, 0x90, 0x91, 0xbd, 0xa1, 0xd8, 0xa3, - 0xb3, 0x18, 0xd0, 0x88, 0x68, 0x37, 0x72, 0x37, 0x11, 0xc7, 0x92, 0x9a, 0xc0, 0x7d, 0x52, 0xde, - 0xd4, 0x63, 0x7b, 0xbb, 0x6b, 0xe9, 0xc2, 0x86, 0x41, 0xbf, 0x29, 0x14, 0x1e, 0xf0, 0xab, 0x59, - 0xee, 0xa6, 0x61, 0x9a, 0x41, 0xcc, 0x8c, 0x43, 0xe9, 0xa2, 0xaf, 0x4b, 0x6c, 0xd8, 0x31, 0x52, - 0x77, 0x56, 0x7a, 0x84, 0x66, 0xdf, 0x06, 0x0b, 0x97, 0x0f, 0x5c, 0xec, 0xb0, 0x5c, 0xac, 0xd8, - 0x9c, 0xd6, 0x97, 0xca, 0x5d, 0x1a, 0x10, 0x17, 0x9e, 0x2c, 0xa6, 0xc0, 0x64, 0xa2, 0x5e, 0x1b, - 0x61, 0x06, 0x78, 0x1a, 0x8a, 0xb5, 0xfa, 0x72, 0x85, 0xf8, 0xf7, 0xfa, 0x1e, 0x93, 0x3b, 0xe8, - 0x87, 0x15, 0x98, 0x23, 0x0e, 0x78, 0x3e, 0x0a, 0x8f, 0x97, 0x98, 0x8f, 0xa0, 0x2f, 0x48, 0xfb, - 0xfe, 0x92, 0x2a, 0xf3, 0x05, 0x44, 0x0b, 0x7a, 0xdb, 0xe8, 0xf6, 0x0b, 0x3a, 0xaf, 0xf5, 0xa5, - 0x0e, 0x00, 0x44, 0x19, 0x08, 0xc8, 0x2f, 0x4b, 0x39, 0x00, 0x0f, 0xe3, 0xee, 0xb8, 0x50, 0xf9, - 0x15, 0x05, 0x66, 0xbd, 0x49, 0x8a, 0x0f, 0x4a, 0x5d, 0x00, 0xc5, 0x32, 0xbb, 0x07, 0xe1, 0xb2, - 0x88, 0xff, 0x9a, 0xa8, 0x91, 0xfc, 0xb1, 0xf4, 0xcc, 0x9d, 0x88, 0x88, 0xe3, 0x65, 0x42, 0xf8, - 0xbd, 0x5f, 0x6a, 0x3e, 0x3f, 0x84, 0xb9, 0xe3, 0x82, 0xef, 0xf5, 0x05, 0x28, 0x6c, 0xf5, 0x08, - 0x72, 0x9f, 0x57, 0x64, 0x2e, 0xe0, 0x38, 0x74, 0xf8, 0xcb, 0x33, 0xb3, 0xba, 0x56, 0x5b, 0xef, - 0x6e, 0x86, 0xa7, 0x68, 0xc3, 0x04, 0xf5, 0x5e, 0xe6, 0x0f, 0x4e, 0x4f, 0x8f, 0xdf, 0x16, 0x7b, - 0x37, 0x05, 0x91, 0x11, 0x77, 0xd0, 0xee, 0x4e, 0x38, 0xd5, 0x31, 0x1c, 0xfd, 0x72, 0x17, 0x57, - 0xcc, 0xb6, 0x7d, 0x40, 0xc5, 0xc1, 0xa6, 0x55, 0x87, 0x3e, 0xa8, 0xf7, 0x43, 0xde, 0x71, 0x0f, - 0xba, 0x74, 0x9e, 0xc8, 0x9f, 0xcb, 0x8b, 0x2c, 0xaa, 0xe1, 0x65, 0xd7, 0xe8, 0x5f, 0xbc, 0x5b, - 0xe7, 0x94, 0x9c, 0x5b, 0xa7, 0xfa, 0x34, 0x28, 0x58, 0xb6, 0xb1, 0x63, 0xd0, 0xeb, 0xe6, 0x16, - 0x0e, 0x85, 0x60, 0xa5, 0xa6, 0x40, 0x9d, 0x64, 0xd1, 0x58, 0x56, 0xf5, 0x19, 0x30, 0x63, 0xec, - 0xe9, 0x3b, 0xf8, 0x21, 0xc3, 0xa4, 0x07, 0xd4, 0x17, 0xee, 0x3e, 0x77, 0xe8, 0xc8, 0x21, 0xfb, - 0xae, 0x85, 0x59, 0xd5, 0xfb, 0xe0, 0x86, 0xb6, 0x8d, 0x75, 0x17, 0x7b, 0x02, 0xba, 0x64, 0x74, - 0x76, 0xb0, 0x5b, 0xdd, 0xde, 0x30, 0x1c, 0xc7, 0x30, 0x77, 0xd8, 0x8d, 0x92, 0xd1, 0x19, 0xd0, - 0xfb, 0xb3, 0xb2, 0x51, 0xe6, 0x88, 0x64, 0xa8, 0x4a, 0x8c, 0x70, 0xf3, 0x35, 0x27, 0x45, 0x45, - 0xd2, 0x39, 0xf6, 0xb5, 0x52, 0xf1, 0xdf, 0xa2, 0xd9, 0x4a, 0x7f, 0xe8, 0xff, 0xc3, 0x2c, 0x4c, - 0x2f, 0x5b, 0xd7, 0x4c, 0xd2, 0x4c, 0xee, 0x91, 0xb3, 0x94, 0x07, 0x1c, 0x2b, 0x17, 0xef, 0x50, - 0x8e, 0x3d, 0x43, 0x46, 0x6a, 0xeb, 0x17, 0x19, 0x01, 0x43, 0x6c, 0xbb, 0x93, 0xbc, 0xd9, 0x36, - 0xae, 0x9c, 0xf4, 0xe5, 0xfa, 0xbb, 0x0a, 0xe4, 0x96, 0x6d, 0xab, 0x87, 0x7e, 0x31, 0x93, 0xc0, - 0x49, 0xac, 0x63, 0x5b, 0xbd, 0x26, 0xb9, 0x9a, 0x32, 0xdc, 0x17, 0xe1, 0xd3, 0xd4, 0x7b, 0x60, - 0xba, 0x67, 0x39, 0x86, 0xeb, 0x4f, 0x42, 0x16, 0xee, 0x7e, 0xdc, 0xc0, 0xbe, 0x60, 0x93, 0x65, - 0xd2, 0x82, 0xec, 0x5e, 0x9f, 0x4f, 0x44, 0xe8, 0xc9, 0xc5, 0x13, 0xa3, 0x7f, 0x3d, 0x67, 0x5f, - 0x2a, 0x7a, 0x25, 0x8f, 0xe4, 0xb3, 0x44, 0x24, 0x9f, 0x30, 0x40, 0xc2, 0xb6, 0xd5, 0x1b, 0x8b, - 0x5b, 0xc7, 0xab, 0x03, 0x54, 0x9f, 0x2d, 0xa0, 0x7a, 0x87, 0x54, 0x99, 0xe9, 0x23, 0xfa, 0xfe, - 0x1c, 0x00, 0x31, 0x52, 0xb6, 0xbc, 0xe9, 0x93, 0x9c, 0x85, 0xf6, 0x3d, 0x39, 0x4e, 0x96, 0x25, - 0x51, 0x96, 0x4f, 0x8a, 0xb0, 0x81, 0x08, 0xf9, 0x08, 0x89, 0x96, 0x20, 0xbf, 0xef, 0x7d, 0x66, - 0x12, 0x95, 0x24, 0x41, 0x5e, 0x35, 0xfa, 0x27, 0xfa, 0x9d, 0x0c, 0xe4, 0x49, 0x82, 0x7a, 0x1e, - 0x80, 0x98, 0x05, 0xf4, 0x08, 0x66, 0x86, 0x18, 0x00, 0x5c, 0x0a, 0xd1, 0x56, 0xa3, 0xc3, 0x3e, - 0x53, 0x83, 0x3b, 0x4c, 0xf0, 0xfe, 0x26, 0xc6, 0x02, 0xa1, 0xc5, 0xcc, 0x07, 0x2e, 0xc5, 0xfb, - 0x9b, 0xbc, 0xad, 0xe3, 0x6d, 0x7a, 0x6b, 0x40, 0x4e, 0x0b, 0x13, 0x82, 0xbf, 0xd7, 0x83, 0xbb, - 0x26, 0xfd, 0xbf, 0x49, 0x8a, 0x37, 0x95, 0x26, 0x6a, 0xb9, 0x14, 0x16, 0x51, 0x20, 0x99, 0xfa, - 0x93, 0xd1, 0x1b, 0x02, 0xb5, 0x59, 0x16, 0xd4, 0xe6, 0x29, 0x09, 0xc4, 0x9b, 0xbe, 0xf2, 0x7c, - 0x29, 0x0f, 0x33, 0x35, 0xab, 0xc3, 0x74, 0x87, 0x9b, 0x6e, 0x7e, 0x3c, 0x9f, 0x68, 0xba, 0x19, - 0xd0, 0x88, 0x50, 0x90, 0xe7, 0x88, 0x0a, 0x22, 0x47, 0x81, 0xd7, 0x0f, 0x75, 0x09, 0x0a, 0x44, - 0x7b, 0x0f, 0x5f, 0x62, 0x18, 0x47, 0x82, 0x88, 0x56, 0x63, 0x7f, 0xfe, 0xa7, 0xd3, 0xb1, 0xff, - 0x0a, 0x79, 0x52, 0xc1, 0x98, 0xbd, 0x21, 0xb1, 0xa2, 0xd9, 0xf8, 0x8a, 0x2a, 0xf1, 0x15, 0xcd, - 0xf5, 0x57, 0x34, 0xc9, 0x2a, 0x42, 0x94, 0x86, 0xa4, 0xaf, 0xe3, 0x7f, 0x3b, 0x05, 0x50, 0xd3, - 0xaf, 0x1a, 0x3b, 0x74, 0x6f, 0xf9, 0x33, 0xfe, 0xec, 0x89, 0xed, 0x02, 0xff, 0x00, 0x37, 0x10, - 0xde, 0x03, 0x53, 0x6c, 0xdc, 0x63, 0x15, 0xb9, 0x59, 0xa8, 0x48, 0x48, 0x85, 0x1a, 0xb5, 0x8f, - 0xba, 0x9a, 0x9f, 0x5f, 0xb8, 0x6f, 0x3d, 0xdb, 0x77, 0xdf, 0xfa, 0xe0, 0x1d, 0x8c, 0x88, 0x5b, - 0xd8, 0xd1, 0x7b, 0xa4, 0xcf, 0x50, 0x71, 0xfc, 0x70, 0x35, 0x8a, 0x68, 0x82, 0x4f, 0x83, 0x29, - 0x2b, 0xd8, 0x0e, 0x57, 0x22, 0x57, 0xd1, 0xaa, 0xe6, 0xb6, 0xa5, 0xf9, 0x39, 0x25, 0xb7, 0xce, - 0xa4, 0xf8, 0x98, 0xc8, 0x31, 0xc5, 0xb3, 0xab, 0x7e, 0x04, 0x46, 0xaf, 0x1e, 0x97, 0x0c, 0x77, - 0x77, 0x9d, 0xc4, 0x75, 0xfa, 0x0e, 0x39, 0x0b, 0x92, 0xc3, 0x3f, 0x9b, 0x0c, 0x7f, 0x31, 0x4a, - 0x52, 0x43, 0x44, 0xed, 0xfe, 0x28, 0x2a, 0x83, 0xb9, 0x8d, 0x00, 0xf0, 0x5e, 0x28, 0x50, 0x46, - 0x59, 0x27, 0x7a, 0x21, 0x12, 0xbf, 0x80, 0x92, 0xc6, 0xfe, 0x40, 0xef, 0x0e, 0x70, 0xbc, 0x28, - 0xe0, 0xb8, 0x74, 0x24, 0xce, 0x52, 0x87, 0xf4, 0xc2, 0x53, 0x61, 0x8a, 0x49, 0x5a, 0x5d, 0xe0, - 0x5b, 0x71, 0xf1, 0x84, 0x0a, 0x50, 0xd8, 0xb0, 0xae, 0xe2, 0xa6, 0x55, 0xcc, 0x78, 0xcf, 0x1e, - 0x7f, 0x4d, 0xab, 0x98, 0x45, 0xaf, 0x99, 0x86, 0xe9, 0x20, 0xf4, 0xdd, 0x1f, 0x66, 0xa1, 0x58, - 0x26, 0x33, 0xb4, 0x15, 0xdb, 0xda, 0xa3, 0x35, 0x92, 0xf7, 0xc7, 0xff, 0x31, 0x69, 0x07, 0x91, - 0x20, 0x24, 0x5d, 0x7f, 0x61, 0x11, 0x58, 0xd2, 0x25, 0xcc, 0xac, 0xbf, 0x84, 0x89, 0xde, 0x2a, - 0xe5, 0x30, 0x22, 0x5b, 0x4a, 0xfa, 0x4d, 0xed, 0x93, 0x59, 0xc8, 0x97, 0xbb, 0x96, 0x89, 0xf9, - 0x43, 0xa3, 0x43, 0x4f, 0x27, 0x0e, 0xde, 0xc7, 0x40, 0x2f, 0xc8, 0xca, 0xda, 0x1a, 0xa1, 0x00, - 0xbc, 0xb2, 0x25, 0x65, 0x2b, 0x37, 0x48, 0xc5, 0x92, 0x4e, 0x5f, 0xa0, 0x5f, 0xce, 0xc2, 0x0c, - 0x8d, 0x44, 0x56, 0xea, 0x76, 0xd1, 0xe3, 0x42, 0xa1, 0x0e, 0x08, 0x1f, 0x88, 0x7e, 0x59, 0xfa, - 0x50, 0x54, 0x50, 0xab, 0x80, 0x76, 0x82, 0x90, 0x6c, 0xc9, 0xce, 0xe8, 0xc8, 0xed, 0xc4, 0x0d, - 0x65, 0x28, 0x7d, 0x51, 0xff, 0x51, 0xd6, 0x33, 0x00, 0xcc, 0x2b, 0x9b, 0x36, 0xbe, 0x6a, 0xe0, - 0x6b, 0xe8, 0xc6, 0x50, 0xd8, 0x87, 0xc3, 0x2c, 0xbd, 0x59, 0x7a, 0x11, 0x87, 0x23, 0x19, 0xb9, - 0x11, 0x36, 0xdb, 0x0d, 0x33, 0xb1, 0x5e, 0xbc, 0x3f, 0xf6, 0x15, 0x47, 0x46, 0xe3, 0xb3, 0x4b, - 0xae, 0xd9, 0x44, 0x73, 0x91, 0xbe, 0x60, 0x3f, 0x34, 0x05, 0xd3, 0x5b, 0xa6, 0xd3, 0xeb, 0xea, - 0xce, 0x2e, 0xfa, 0x57, 0x05, 0x0a, 0xf4, 0xea, 0x4c, 0xf4, 0x4d, 0x42, 0x34, 0x97, 0xe7, 0xed, - 0x63, 0xdb, 0x77, 0xe0, 0xa1, 0x2f, 0xa1, 0x7d, 0x94, 0xe5, 0xec, 0x23, 0xf4, 0x7e, 0x45, 0x76, - 0x92, 0xea, 0x17, 0xca, 0xee, 0xea, 0x8c, 0x0e, 0x20, 0xd2, 0x33, 0xda, 0xee, 0xbe, 0x8d, 0x9d, - 0x81, 0x01, 0x44, 0x22, 0xa9, 0x6c, 0xd2, 0xbf, 0xb4, 0xe0, 0x77, 0xa4, 0xc3, 0x14, 0x4b, 0x3c, - 0xb4, 0x19, 0x75, 0x38, 0xe2, 0xc1, 0x59, 0x28, 0xe8, 0xb6, 0x6b, 0x38, 0x2e, 0xdb, 0x9e, 0x65, - 0x6f, 0x5e, 0x77, 0x49, 0x9f, 0xb6, 0xec, 0xae, 0x1f, 0xf7, 0x29, 0x48, 0x40, 0xbf, 0x22, 0x35, - 0x7f, 0x8c, 0xaf, 0x79, 0x32, 0xc8, 0x1f, 0x1a, 0x61, 0x85, 0xfb, 0x7a, 0xb8, 0x4e, 0x2b, 0x35, - 0x2b, 0x2d, 0x1a, 0x26, 0x28, 0x88, 0x08, 0xd4, 0x41, 0xef, 0x52, 0xb8, 0xf5, 0xbb, 0x03, 0x61, - 0x8c, 0x60, 0x52, 0x0c, 0xc7, 0x88, 0x20, 0x21, 0x66, 0xaf, 0x5b, 0x58, 0xc2, 0x55, 0xa4, 0x97, - 0x70, 0xd1, 0x2f, 0x48, 0xef, 0x45, 0x05, 0xa2, 0x1c, 0xb2, 0x06, 0x18, 0x77, 0xb5, 0xde, 0x07, - 0xa4, 0xf6, 0x95, 0x86, 0x95, 0x74, 0x8c, 0xb0, 0xfd, 0xec, 0x14, 0x4c, 0xad, 0xea, 0xdd, 0x2e, - 0xb6, 0x0f, 0xbc, 0x21, 0xa9, 0xe8, 0x73, 0xb8, 0xa1, 0x9b, 0xc6, 0x36, 0x76, 0xdc, 0xf8, 0xce, - 0xf2, 0x3d, 0xd2, 0x61, 0xdb, 0x59, 0x19, 0x8b, 0xfd, 0xf4, 0x23, 0x64, 0x7e, 0x17, 0xe4, 0x0c, - 0x73, 0xdb, 0x62, 0x5d, 0x66, 0xff, 0x9a, 0xbf, 0xff, 0x33, 0x99, 0xba, 0x90, 0x8c, 0x92, 0x91, - 0xdb, 0x25, 0xb9, 0x48, 0xbf, 0xe7, 0xfc, 0xa5, 0x1c, 0xcc, 0xfb, 0x4c, 0x54, 0xcd, 0x0e, 0x7e, - 0x94, 0x5f, 0x8a, 0xf9, 0xe1, 0x9c, 0xec, 0x01, 0xdc, 0xfe, 0xfa, 0x10, 0x52, 0x11, 0x22, 0x6d, - 0x02, 0xb4, 0x75, 0x17, 0xef, 0x58, 0xb6, 0x11, 0xf4, 0x87, 0x4f, 0x4f, 0x42, 0xad, 0x4c, 0xff, - 0x3e, 0xd0, 0x38, 0x3a, 0xea, 0xfd, 0x30, 0x8b, 0x83, 0x88, 0x27, 0xfe, 0x52, 0x4d, 0x2c, 0x5e, - 0x7c, 0x7e, 0xf4, 0x47, 0x52, 0xe7, 0x7c, 0x65, 0xaa, 0x99, 0x0c, 0xb3, 0xd6, 0x68, 0x6d, 0x68, - 0xab, 0xb6, 0x51, 0xd2, 0x1a, 0x6b, 0xa5, 0xf5, 0xf5, 0x6a, 0x6d, 0x35, 0x08, 0xb5, 0xa5, 0xc2, - 0xc2, 0x72, 0xfd, 0x52, 0x8d, 0x8b, 0x85, 0x96, 0x43, 0x9b, 0x30, 0xed, 0xcb, 0x6b, 0x90, 0x27, - 0x27, 0x2f, 0x33, 0xe6, 0xc9, 0xc9, 0x25, 0x79, 0xc6, 0x99, 0xd1, 0x0e, 0xdc, 0x7b, 0xc8, 0x33, - 0xfa, 0x2d, 0x1d, 0xf2, 0x64, 0x4d, 0x1d, 0xbd, 0x83, 0x6c, 0x22, 0xf6, 0xba, 0x7a, 0x1b, 0xa3, - 0xbd, 0x04, 0xd6, 0xb8, 0x7f, 0x8f, 0x50, 0xf6, 0xd0, 0x3d, 0x42, 0xe4, 0x91, 0x59, 0x7d, 0xa7, - 0x07, 0xad, 0xe3, 0x6b, 0x34, 0x8b, 0x78, 0x24, 0x36, 0x76, 0x77, 0x85, 0x2e, 0xff, 0x33, 0x36, - 0x23, 0x54, 0x32, 0x9a, 0xa7, 0x64, 0x96, 0xa8, 0xdc, 0x3e, 0x4c, 0x1c, 0x47, 0xe9, 0xb7, 0xf8, - 0xcf, 0xe7, 0x20, 0xdf, 0xe8, 0x75, 0x0d, 0x17, 0xfd, 0x44, 0x76, 0x2c, 0x98, 0xd1, 0xbb, 0x9f, - 0x94, 0xa1, 0x77, 0x3f, 0x85, 0x7b, 0xb6, 0x39, 0x89, 0x3d, 0xdb, 0x26, 0x7e, 0xd4, 0x15, 0xf7, - 0x6c, 0xef, 0x61, 0xe1, 0x32, 0xe9, 0x8e, 0xef, 0x13, 0x06, 0x88, 0x94, 0x54, 0x6b, 0x40, 0x1c, - 0xd6, 0x0b, 0x4f, 0x65, 0xe1, 0x20, 0x01, 0x0a, 0x4b, 0xf5, 0x66, 0xb3, 0xbe, 0x51, 0x3c, 0x41, - 0xe2, 0x88, 0xd5, 0x37, 0x69, 0x70, 0xae, 0x6a, 0xad, 0x56, 0xd1, 0x8a, 0x59, 0x12, 0xa0, 0xb2, - 0xda, 0x5c, 0xaf, 0x14, 0x15, 0xf1, 0x22, 0x90, 0x58, 0xf3, 0x5b, 0x2c, 0x3b, 0x4d, 0xf5, 0x92, - 0x33, 0xc4, 0xa3, 0xf9, 0x49, 0x5f, 0xb9, 0x7e, 0x54, 0x81, 0xfc, 0x06, 0xb6, 0x77, 0x30, 0x7a, - 0x5e, 0x82, 0x4d, 0xbe, 0x6d, 0xc3, 0x76, 0x68, 0x38, 0xcf, 0x70, 0x93, 0x8f, 0x4f, 0x53, 0x6f, - 0x85, 0x79, 0x07, 0xb7, 0x2d, 0xb3, 0xe3, 0x67, 0xa2, 0xfd, 0x91, 0x98, 0x88, 0x5e, 0x95, 0x10, - 0x32, 0xc2, 0xe8, 0x58, 0x76, 0xea, 0x92, 0x00, 0x33, 0xa8, 0xd4, 0xf4, 0x81, 0xf9, 0x8a, 0xe2, - 0xfd, 0xd4, 0x3b, 0x40, 0xaf, 0x92, 0xde, 0x7d, 0xbd, 0x13, 0x0a, 0x97, 0xfd, 0xb8, 0xf0, 0x4a, - 0x64, 0x7f, 0xcc, 0xf2, 0xa8, 0x4b, 0x70, 0xca, 0xc1, 0x5d, 0xdc, 0x76, 0x71, 0xc7, 0x6b, 0xba, - 0xda, 0xd0, 0x4e, 0xe1, 0x70, 0x76, 0xf4, 0x7b, 0x3c, 0x80, 0xf7, 0x89, 0x00, 0xde, 0x36, 0x40, - 0x94, 0x5e, 0x85, 0xa2, 0x6d, 0x65, 0xaf, 0x1a, 0x8d, 0xae, 0x15, 0x2c, 0x8a, 0xfb, 0xef, 0xde, - 0xb7, 0x5d, 0x77, 0xaf, 0x4b, 0xbe, 0xb1, 0xe3, 0x09, 0xfe, 0xbb, 0xba, 0x08, 0x53, 0xba, 0x79, - 0x40, 0x3e, 0xe5, 0x62, 0x6a, 0xed, 0x67, 0x42, 0xaf, 0x09, 0x90, 0x7f, 0x40, 0x40, 0xfe, 0x49, - 0x72, 0xec, 0xa6, 0x0f, 0xfc, 0x77, 0x4f, 0x41, 0x7e, 0x53, 0x77, 0x5c, 0x8c, 0xfe, 0x1f, 0x45, - 0x16, 0xf9, 0xdb, 0x60, 0x61, 0xdb, 0x6a, 0xef, 0x3b, 0xb8, 0x23, 0x36, 0xca, 0xbe, 0xd4, 0x71, - 0x60, 0xae, 0xde, 0x01, 0x45, 0x3f, 0x91, 0x91, 0xf5, 0xb7, 0xe1, 0x0f, 0xa5, 0x93, 0x6b, 0x25, - 0x9c, 0x4d, 0xdd, 0x76, 0xeb, 0xdb, 0x24, 0x2d, 0xb8, 0x56, 0x82, 0x4f, 0x14, 0xa0, 0x2f, 0xc4, - 0x40, 0x3f, 0x15, 0x0d, 0xfd, 0xb4, 0x04, 0xf4, 0x6a, 0x09, 0xa6, 0xb7, 0x8d, 0x2e, 0x26, 0x3f, - 0xcc, 0x90, 0x1f, 0x06, 0x8d, 0x49, 0x44, 0xf6, 0xc1, 0x98, 0xb4, 0x62, 0x74, 0xb1, 0x16, 0xfc, - 0xe6, 0x4f, 0x64, 0x20, 0x9c, 0xc8, 0xac, 0x53, 0x6f, 0x5c, 0xcf, 0xf0, 0x32, 0xf5, 0x3d, 0xec, - 0x2f, 0xbe, 0x99, 0xec, 0x68, 0x4c, 0x47, 0x77, 0x75, 0x02, 0xc6, 0x9c, 0x46, 0x9e, 0x45, 0xbf, - 0x10, 0xa5, 0xdf, 0x2f, 0xe4, 0xc5, 0x4a, 0xb2, 0x1e, 0xd1, 0x67, 0x36, 0xa2, 0x45, 0x5d, 0xf6, - 0x01, 0xa2, 0x96, 0x62, 0xf0, 0xee, 0x01, 0xd3, 0xd6, 0x6d, 0xec, 0x6e, 0xf2, 0x9e, 0x18, 0x79, - 0x4d, 0x4c, 0x24, 0x8e, 0x80, 0x4e, 0x43, 0xdf, 0xa3, 0x57, 0x4b, 0x94, 0xbd, 0x6f, 0xcc, 0xc1, - 0xeb, 0x50, 0x7a, 0xd8, 0xff, 0xe6, 0xc7, 0xdd, 0xff, 0x0e, 0xaa, 0x63, 0xfa, 0xcd, 0xf0, 0x75, - 0x39, 0x50, 0xca, 0xfb, 0xee, 0x63, 0xba, 0xfb, 0xfd, 0x37, 0x69, 0x3f, 0x17, 0xd6, 0x9f, 0xed, - 0xbb, 0xc7, 0xdb, 0xfb, 0x26, 0xd4, 0x12, 0x39, 0x7f, 0x9a, 0xa8, 0xba, 0xa5, 0xaf, 0x23, 0xbf, - 0xa8, 0x04, 0xee, 0x99, 0x2f, 0xca, 0x1c, 0xdd, 0x34, 0x47, 0xb4, 0x7f, 0xe2, 0x7a, 0x86, 0xe0, - 0xdd, 0xef, 0x78, 0x72, 0x42, 0x74, 0x54, 0xb2, 0xbd, 0x4e, 0x44, 0x39, 0xa7, 0xd1, 0x17, 0xf4, - 0x93, 0xd2, 0x4e, 0xeb, 0x54, 0x6c, 0xb1, 0xae, 0x84, 0xc9, 0x6c, 0x2a, 0xb9, 0x9b, 0xb5, 0x63, - 0x8a, 0x4d, 0x1f, 0xb0, 0xbf, 0xe7, 0x5d, 0x05, 0x4b, 0x47, 0x46, 0x0c, 0xbd, 0x56, 0x7a, 0x3b, - 0x8a, 0x56, 0x7b, 0xc8, 0x7a, 0x61, 0x32, 0x79, 0xcb, 0x6d, 0x56, 0xc5, 0x16, 0x9c, 0xbe, 0xc4, - 0xff, 0x4e, 0x81, 0x02, 0xdd, 0x82, 0x44, 0x6f, 0x91, 0x6e, 0x22, 0x5e, 0x6f, 0x24, 0xba, 0x10, - 0x06, 0xef, 0x49, 0xd6, 0x1c, 0x04, 0x57, 0xc3, 0x5c, 0x22, 0x57, 0x43, 0xf1, 0x14, 0xa8, 0x44, - 0x3b, 0xa2, 0x75, 0x4c, 0x79, 0x3a, 0x99, 0xa4, 0x85, 0x0d, 0x64, 0x28, 0x7d, 0xbc, 0xbf, 0x37, - 0x0f, 0x73, 0xb4, 0x68, 0xea, 0xe3, 0x8c, 0xde, 0x95, 0xfd, 0x8f, 0x83, 0xba, 0x5a, 0x83, 0xb9, - 0x6b, 0x84, 0x6d, 0x7a, 0x07, 0x16, 0x5b, 0xb9, 0xb8, 0x23, 0x76, 0xdd, 0x83, 0xd6, 0xd3, 0xbf, - 0x35, 0x4b, 0xf8, 0xdf, 0x93, 0x31, 0x5d, 0xf0, 0xa7, 0x0e, 0x5c, 0x05, 0x62, 0x64, 0xf1, 0x49, - 0xea, 0x59, 0x28, 0x5c, 0x35, 0xf0, 0xb5, 0x6a, 0x87, 0x59, 0xb7, 0xec, 0x0d, 0xfd, 0x9a, 0xf4, - 0xbe, 0x2d, 0x0f, 0x37, 0xe3, 0x25, 0x5d, 0x2d, 0x94, 0xdb, 0xbd, 0x1d, 0xca, 0xd6, 0x04, 0x4e, - 0x24, 0x8b, 0x37, 0x57, 0x97, 0x13, 0x28, 0x62, 0x94, 0xe1, 0x2c, 0x06, 0x02, 0x89, 0x3d, 0xef, - 0x42, 0x05, 0x30, 0xe6, 0x4b, 0xad, 0xe5, 0xa2, 0x53, 0x0c, 0x29, 0x3a, 0x7d, 0xc9, 0xbf, 0x41, - 0x81, 0x99, 0x06, 0x76, 0x57, 0x0c, 0xdc, 0xed, 0x38, 0xc8, 0x3e, 0xba, 0x69, 0x74, 0x17, 0x14, - 0xb6, 0x09, 0xb1, 0x61, 0xe7, 0x16, 0x58, 0x36, 0xf4, 0xba, 0xac, 0xec, 0x8e, 0x30, 0x5b, 0x7d, - 0xf3, 0xb9, 0x1d, 0x0b, 0x4c, 0x72, 0x1e, 0xbd, 0xf1, 0x25, 0x4f, 0x20, 0x94, 0xb8, 0x02, 0x73, - 0xec, 0xaa, 0xdb, 0x52, 0xd7, 0xd8, 0x31, 0xd1, 0xfe, 0x18, 0x5a, 0x88, 0xfa, 0x14, 0xc8, 0xeb, - 0x1e, 0x35, 0xb6, 0xf5, 0x8a, 0x06, 0x76, 0x9e, 0xa4, 0x3c, 0x8d, 0x66, 0x4c, 0x10, 0xb8, 0x37, - 0x54, 0x6c, 0x9f, 0xe7, 0x09, 0x06, 0xee, 0x1d, 0x5a, 0x78, 0xfa, 0x88, 0x7d, 0x51, 0x81, 0xd3, - 0x8c, 0x81, 0x8b, 0xd8, 0x76, 0x8d, 0xb6, 0xde, 0xa5, 0xc8, 0xbd, 0x2c, 0x33, 0x0e, 0xe8, 0xd6, - 0x60, 0xfe, 0x2a, 0x4f, 0x96, 0x41, 0x78, 0x61, 0x20, 0x84, 0x02, 0x03, 0x9a, 0xf8, 0x63, 0x82, - 0x00, 0xa8, 0x82, 0x54, 0x05, 0x9a, 0x13, 0x0c, 0x80, 0x2a, 0xcd, 0x44, 0xfa, 0x10, 0xbf, 0x92, - 0x05, 0xf6, 0x09, 0xbb, 0xcf, 0xcf, 0x48, 0x63, 0xbb, 0x05, 0xb3, 0x04, 0x4b, 0xfa, 0x23, 0x5b, - 0x86, 0x88, 0x51, 0xe2, 0xa0, 0xdf, 0x61, 0x57, 0x34, 0x06, 0xff, 0x6a, 0x3c, 0x1d, 0x74, 0x09, - 0x20, 0xfc, 0xc4, 0x77, 0xd2, 0x99, 0xa8, 0x4e, 0x3a, 0x2b, 0xd7, 0x49, 0xbf, 0x59, 0x3a, 0xd4, - 0xca, 0x60, 0xb6, 0x8f, 0xae, 0x1e, 0x72, 0x41, 0x36, 0x86, 0x97, 0x9e, 0xbe, 0x5e, 0xbc, 0x86, - 0xe9, 0xc5, 0xf2, 0x7e, 0xaf, 0x6b, 0xb4, 0xbd, 0xf9, 0xd4, 0x47, 0xc6, 0x32, 0x9f, 0xe2, 0xfb, - 0x03, 0xa5, 0xaf, 0x3f, 0x38, 0x82, 0x25, 0x7d, 0x3b, 0x9c, 0xa4, 0x45, 0x94, 0x03, 0xb6, 0xf2, - 0x34, 0x90, 0x44, 0x5f, 0xb2, 0x18, 0xd5, 0x50, 0x52, 0x09, 0x02, 0x21, 0x8c, 0xb0, 0xf4, 0x99, - 0xcc, 0xd8, 0x4d, 0xaa, 0x20, 0x51, 0x9c, 0x4d, 0xc0, 0x2d, 0x34, 0x47, 0xad, 0xdd, 0x2d, 0x72, - 0x8b, 0x26, 0xfa, 0x5c, 0x6e, 0x1c, 0x23, 0xc2, 0x73, 0x20, 0x47, 0x5c, 0xdc, 0x95, 0xc8, 0x25, - 0x8d, 0xb0, 0xc8, 0xf0, 0x8a, 0x53, 0xfc, 0xa8, 0xbb, 0x76, 0x42, 0x23, 0x7f, 0xaa, 0x77, 0xc0, - 0xc9, 0xcb, 0x7a, 0xfb, 0xca, 0x8e, 0x6d, 0xed, 0x93, 0xfb, 0x06, 0x2d, 0x76, 0x71, 0x21, 0xb9, - 0x00, 0x56, 0xfc, 0xa0, 0xde, 0xed, 0x9b, 0x0e, 0xf9, 0x61, 0xa6, 0xc3, 0xda, 0x09, 0x66, 0x3c, - 0xa8, 0x4f, 0x0d, 0x3a, 0x9d, 0x42, 0x6c, 0xa7, 0xb3, 0x76, 0xc2, 0xef, 0x76, 0xd4, 0x65, 0x98, - 0xee, 0x18, 0x57, 0xc9, 0x56, 0x35, 0x99, 0x75, 0x0d, 0x3b, 0xf8, 0xbc, 0x6c, 0x5c, 0xa5, 0x1b, - 0xdb, 0x6b, 0x27, 0xb4, 0xe0, 0x4f, 0x75, 0x15, 0x66, 0xc8, 0xb6, 0x00, 0x21, 0x33, 0x9d, 0xe8, - 0x50, 0xf3, 0xda, 0x09, 0x2d, 0xfc, 0xd7, 0xb3, 0x3e, 0x72, 0xe4, 0xec, 0xc7, 0x03, 0xfe, 0x76, - 0x7b, 0x26, 0xd1, 0x76, 0xbb, 0x27, 0x0b, 0xba, 0xe1, 0x7e, 0x16, 0xf2, 0x6d, 0x22, 0xe1, 0x2c, - 0x93, 0x30, 0x7d, 0x55, 0xef, 0x83, 0xdc, 0x9e, 0x6e, 0xfb, 0x93, 0xe7, 0xdb, 0x86, 0xd3, 0xdd, - 0xd0, 0xed, 0x2b, 0x1e, 0x82, 0xde, 0x5f, 0x4b, 0x53, 0x90, 0x27, 0x82, 0x0b, 0x1e, 0xd0, 0x2f, - 0xe6, 0xa8, 0x19, 0x52, 0xb6, 0x4c, 0x6f, 0xd8, 0x6f, 0x5a, 0xfe, 0x01, 0x99, 0x5f, 0xcb, 0x8c, - 0xc7, 0x82, 0xbc, 0x8e, 0x0b, 0x37, 0x6c, 0x1a, 0xcf, 0xdb, 0xc7, 0x0f, 0xe1, 0x03, 0xb6, 0x24, - 0x3a, 0xe8, 0x53, 0xdf, 0x6d, 0xf4, 0xb9, 0xfe, 0xdb, 0xe8, 0xc3, 0xe5, 0x83, 0xfc, 0x70, 0x47, - 0x95, 0xdf, 0x1b, 0xc1, 0x74, 0xe9, 0x17, 0x44, 0xf4, 0x0c, 0xbc, 0x6b, 0x98, 0x5c, 0x9d, 0xfd, - 0xd7, 0x84, 0x9d, 0x52, 0x52, 0xa3, 0x66, 0x08, 0x7b, 0xe9, 0xf7, 0x4d, 0x3f, 0x9f, 0xa3, 0x11, - 0x57, 0xe9, 0x29, 0x0c, 0xf1, 0x86, 0x5f, 0xf4, 0xdb, 0x63, 0x51, 0x9a, 0x01, 0x03, 0x8e, 0x32, - 0x70, 0xc0, 0x39, 0x74, 0x48, 0x39, 0x37, 0xe4, 0x90, 0x72, 0x3e, 0xd9, 0xca, 0xe1, 0x07, 0x79, - 0xfd, 0xd9, 0x14, 0xf5, 0xe7, 0xde, 0x08, 0x80, 0x06, 0xc9, 0x65, 0x2c, 0xf6, 0xcd, 0x3b, 0x02, - 0x4d, 0x69, 0x08, 0x9a, 0xf2, 0xc0, 0xe8, 0x8c, 0xa4, 0xaf, 0x2d, 0xbf, 0x9a, 0x83, 0xeb, 0x42, - 0x66, 0x6a, 0xf8, 0x1a, 0x53, 0x94, 0x3f, 0x1c, 0x8b, 0xa2, 0x24, 0x8f, 0x81, 0x90, 0xb6, 0xc6, - 0xfc, 0x8e, 0xf4, 0xd9, 0xa1, 0x7e, 0xa0, 0x02, 0xd9, 0x44, 0x28, 0xcb, 0x59, 0x28, 0xd0, 0x1e, - 0x86, 0x41, 0xc3, 0xde, 0x12, 0x76, 0x37, 0x72, 0x27, 0x8e, 0x64, 0x79, 0x9b, 0x80, 0xfe, 0xb0, - 0x75, 0x8d, 0xe6, 0xbe, 0x6d, 0x56, 0x4d, 0xd7, 0x42, 0xdf, 0x35, 0x16, 0xc5, 0x09, 0xbc, 0xe1, - 0x94, 0x51, 0xbc, 0xe1, 0x46, 0x5a, 0xe5, 0xf0, 0x6b, 0x70, 0x2c, 0xab, 0x1c, 0x11, 0x85, 0xa7, - 0x8f, 0xdf, 0xdb, 0x15, 0x38, 0xcb, 0x26, 0x5b, 0x4b, 0xa2, 0x85, 0x88, 0x1e, 0x1e, 0x07, 0x90, - 0xa7, 0x7d, 0x33, 0x89, 0xdd, 0x2b, 0x49, 0x5e, 0xc4, 0x93, 0x52, 0xb1, 0x37, 0xea, 0x08, 0xd3, - 0xc1, 0x3e, 0x0e, 0xc7, 0x82, 0x94, 0xdc, 0x45, 0x3a, 0x09, 0xd8, 0x48, 0x1f, 0xb3, 0x57, 0x28, - 0x50, 0xa0, 0xe7, 0xb4, 0xd0, 0x56, 0x2a, 0x0e, 0x13, 0x62, 0x8c, 0x68, 0x89, 0x1d, 0x39, 0xca, - 0x4d, 0x6a, 0x67, 0xd8, 0x92, 0xec, 0xc5, 0x0d, 0x64, 0x65, 0x02, 0x2e, 0x84, 0x59, 0x98, 0x6d, - 0x60, 0xb7, 0xac, 0xdb, 0xb6, 0xa1, 0xef, 0x8c, 0xcb, 0xe3, 0x5b, 0xd6, 0x7b, 0x18, 0x7d, 0x35, - 0x23, 0x7b, 0x9e, 0x26, 0x58, 0x08, 0xf7, 0x59, 0x8d, 0x88, 0x44, 0xf8, 0x46, 0xa9, 0x33, 0x33, - 0xc3, 0xa8, 0x4d, 0xc0, 0x63, 0x3b, 0x0b, 0x53, 0xfe, 0x59, 0xbc, 0xbb, 0x84, 0xf3, 0x99, 0xbb, - 0xee, 0x9e, 0x7f, 0x0c, 0x86, 0x3c, 0x1f, 0x3e, 0x03, 0x86, 0x5e, 0x9d, 0xd0, 0x51, 0x3e, 0xfe, - 0x20, 0x61, 0xb2, 0x36, 0x96, 0xc4, 0x1d, 0xfe, 0xb8, 0x8e, 0x0e, 0xfe, 0xf2, 0x14, 0x5b, 0x8e, - 0x5c, 0xd7, 0x5d, 0xfc, 0x28, 0xfa, 0x8c, 0x02, 0x53, 0x0d, 0xec, 0x7a, 0xe3, 0xad, 0x70, 0x9d, - 0xf4, 0xa8, 0x1a, 0xae, 0x72, 0x2b, 0x1e, 0x33, 0x6c, 0x0d, 0xe3, 0x41, 0x98, 0xe9, 0xd9, 0x56, - 0x1b, 0x3b, 0x0e, 0x5b, 0xbd, 0xe0, 0x1d, 0xd5, 0x06, 0x8d, 0xfe, 0x84, 0xb5, 0xc5, 0x4d, 0xff, - 0x1f, 0x2d, 0xfc, 0x3d, 0xa9, 0x19, 0x40, 0x29, 0xb1, 0x0a, 0x4e, 0xda, 0x0c, 0x88, 0x2b, 0x3c, - 0x7d, 0xa0, 0x7f, 0x5f, 0x81, 0xb9, 0x06, 0x76, 0x03, 0x29, 0x26, 0xd8, 0xe4, 0x88, 0x86, 0x57, - 0x80, 0x52, 0x39, 0x1a, 0x94, 0xf2, 0x97, 0xb1, 0x8a, 0xd2, 0x0c, 0x88, 0x4d, 0xf0, 0x32, 0x56, - 0x39, 0x0e, 0x26, 0x70, 0x7c, 0xed, 0x09, 0x30, 0x43, 0x78, 0x21, 0x0d, 0xf6, 0xfb, 0x73, 0x61, - 0xe3, 0xfd, 0x6c, 0x4a, 0x8d, 0xf7, 0x7e, 0xc8, 0xef, 0xe9, 0xf6, 0x15, 0x87, 0x34, 0xdc, 0x59, - 0x19, 0xb3, 0x7d, 0xc3, 0xcb, 0xae, 0xd1, 0xbf, 0x06, 0xfb, 0x69, 0xe6, 0x93, 0xf9, 0x69, 0xbe, - 0x31, 0x9b, 0x68, 0x24, 0xa4, 0x73, 0x87, 0x31, 0x36, 0xf9, 0x04, 0xe3, 0x66, 0x4c, 0xd9, 0xe9, - 0x2b, 0xc7, 0xcb, 0x14, 0x98, 0xf6, 0xc6, 0x6d, 0x62, 0x8f, 0x5f, 0x3a, 0xba, 0x3a, 0x0c, 0x36, - 0xf4, 0x13, 0xf6, 0xc0, 0xbe, 0x44, 0xc6, 0x67, 0xde, 0x27, 0xe8, 0x81, 0xe3, 0x0a, 0x4f, 0x1f, - 0x8f, 0x77, 0x52, 0x3c, 0x48, 0x7b, 0x40, 0x6f, 0x52, 0x40, 0x59, 0xc5, 0xee, 0xa4, 0xad, 0xc8, - 0xb7, 0x49, 0x87, 0x38, 0x12, 0x04, 0x46, 0x78, 0x5e, 0x5c, 0xc5, 0xe3, 0x69, 0x40, 0x72, 0xb1, - 0x8d, 0xa4, 0x18, 0x48, 0x1f, 0xb5, 0xf7, 0x52, 0xd4, 0xe8, 0xe6, 0xc2, 0x77, 0x8e, 0xa1, 0x57, - 0x9d, 0xec, 0xc2, 0x87, 0x2f, 0x40, 0x42, 0xe3, 0xb8, 0xda, 0xdb, 0xa0, 0xc2, 0x27, 0x72, 0xf9, - 0x29, 0x78, 0x8d, 0x7d, 0x17, 0xb7, 0xaf, 0xe0, 0x0e, 0x7f, 0x99, 0xdc, 0xa8, 0xd0, 0x9d, 0x83, - 0xa9, 0x36, 0xa5, 0x46, 0xc0, 0x9b, 0xd6, 0xfc, 0xd7, 0x04, 0x37, 0xf9, 0x8b, 0x1d, 0x11, 0xfd, - 0x7d, 0x82, 0x37, 0xf9, 0x4b, 0x14, 0x3f, 0x01, 0xb3, 0x85, 0xce, 0x32, 0xaa, 0x6d, 0xcb, 0x44, - 0xff, 0xe5, 0xe8, 0xb0, 0xdc, 0x04, 0x33, 0x46, 0xdb, 0x32, 0x49, 0x18, 0x0a, 0xff, 0x10, 0x50, - 0x90, 0xe0, 0x7f, 0xad, 0xec, 0x59, 0x8f, 0x18, 0x6c, 0xd7, 0x3c, 0x4c, 0x18, 0xd5, 0x98, 0xf0, - 0x58, 0x3f, 0x2e, 0x63, 0x62, 0x40, 0xd9, 0xe9, 0x43, 0xf6, 0xd1, 0xd0, 0xbb, 0x8d, 0x76, 0x85, - 0x8f, 0x89, 0x55, 0xe0, 0x51, 0x86, 0x33, 0xbe, 0x16, 0xc7, 0x32, 0x9c, 0xc5, 0x30, 0x30, 0x81, - 0xdb, 0x50, 0x42, 0x1c, 0x53, 0x5f, 0x03, 0x3e, 0x02, 0x3a, 0xe3, 0x33, 0x0f, 0x47, 0x44, 0xe7, - 0x78, 0x4c, 0xc4, 0x0f, 0xb0, 0x10, 0x99, 0xcc, 0xe2, 0x41, 0xff, 0x75, 0x1c, 0xe0, 0xdc, 0x3b, - 0x8a, 0xbf, 0x02, 0xf5, 0x56, 0x40, 0x6f, 0xcd, 0xca, 0x86, 0x40, 0x39, 0x24, 0x41, 0x8f, 0xca, - 0x58, 0x10, 0x7c, 0xb3, 0x54, 0x6c, 0x12, 0x99, 0xf2, 0xd3, 0x07, 0xf0, 0xa5, 0x0a, 0x2c, 0x10, - 0x1f, 0x81, 0x2e, 0xd6, 0x6d, 0xda, 0x51, 0x8e, 0xc5, 0x51, 0xfe, 0x9d, 0xd2, 0x01, 0x7e, 0x44, - 0x39, 0x84, 0x7c, 0x8c, 0x05, 0x0a, 0xb9, 0xe8, 0x3e, 0x92, 0x2c, 0x4c, 0x64, 0x1b, 0xa5, 0x18, - 0xb0, 0xc0, 0x54, 0x7c, 0x3c, 0x78, 0x24, 0xf4, 0xc8, 0x15, 0x85, 0xe1, 0x37, 0xb6, 0x09, 0x7b, - 0xe4, 0xca, 0x30, 0x91, 0x3e, 0x26, 0x6f, 0x7a, 0x0a, 0x5b, 0x70, 0x6e, 0xea, 0x97, 0xbb, 0x18, - 0xbd, 0x36, 0x17, 0x9c, 0x68, 0xfb, 0xfd, 0xb1, 0x78, 0x60, 0x1e, 0x21, 0x20, 0xbe, 0x0a, 0x39, - 0xdb, 0xba, 0x46, 0x97, 0xb6, 0xe6, 0x35, 0xf2, 0x4c, 0x2f, 0xb7, 0xec, 0xee, 0xef, 0x99, 0xf4, - 0x64, 0xe8, 0xbc, 0xe6, 0xbf, 0xaa, 0xb7, 0xc2, 0xfc, 0x35, 0xc3, 0xdd, 0x5d, 0xc3, 0x7a, 0x07, - 0xdb, 0x9a, 0x75, 0x8d, 0x78, 0xcc, 0x4d, 0x6b, 0x62, 0xa2, 0xe8, 0xbf, 0x22, 0x61, 0x5f, 0x7a, - 0x42, 0x99, 0xcc, 0xf1, 0xb7, 0x24, 0x96, 0x67, 0x34, 0x57, 0xe9, 0x2b, 0xcc, 0xfb, 0x14, 0x98, - 0xd1, 0xac, 0x6b, 0x4c, 0x49, 0xfe, 0xef, 0xe3, 0xd5, 0x91, 0xc4, 0x13, 0x3d, 0x22, 0xb9, 0x80, - 0xfd, 0x89, 0x4f, 0xf4, 0x62, 0x8b, 0x9f, 0xc8, 0xc9, 0xa5, 0x39, 0xcd, 0xba, 0xd6, 0xc0, 0x2e, - 0x6d, 0x11, 0xa8, 0x35, 0x26, 0x27, 0x6b, 0xc3, 0xa1, 0x04, 0xd9, 0x3c, 0x3c, 0x78, 0x4f, 0xba, - 0x8b, 0x10, 0x08, 0x28, 0x60, 0x71, 0xd2, 0xbb, 0x08, 0x43, 0x39, 0x98, 0x40, 0x8c, 0x14, 0x05, - 0x66, 0x35, 0xeb, 0x9a, 0x37, 0x34, 0xac, 0x18, 0xdd, 0xee, 0x78, 0x46, 0xc8, 0xa4, 0xc6, 0xbf, - 0x2f, 0x06, 0x9f, 0x8b, 0x89, 0x1b, 0xff, 0x43, 0x18, 0x48, 0x1f, 0x86, 0x17, 0xd3, 0xc6, 0xe2, - 0x8f, 0xd0, 0xe6, 0x78, 0x70, 0x18, 0xb5, 0x41, 0x04, 0x6c, 0x1c, 0x5b, 0x83, 0x88, 0xe2, 0x60, - 0x22, 0x3b, 0x27, 0x0b, 0x65, 0x32, 0xcc, 0x8f, 0xb7, 0x4d, 0xbc, 0x3b, 0x99, 0x6b, 0x22, 0x1b, - 0x76, 0x05, 0x46, 0xc6, 0x82, 0x46, 0x02, 0x17, 0x44, 0x09, 0x1e, 0xd2, 0xc7, 0xe3, 0xd7, 0x15, - 0x98, 0xa3, 0x2c, 0x3c, 0x46, 0xac, 0x80, 0x91, 0x1a, 0x15, 0x5f, 0x83, 0xe3, 0x69, 0x54, 0x31, - 0x1c, 0x4c, 0xe4, 0x4e, 0x51, 0xcf, 0x8e, 0x1b, 0xe1, 0xf8, 0x78, 0x14, 0x82, 0x23, 0x1b, 0x63, - 0x63, 0x3c, 0x42, 0x3e, 0x8a, 0x31, 0x76, 0x4c, 0xc7, 0xc8, 0x5f, 0x1c, 0xb4, 0xa2, 0x71, 0x62, - 0x70, 0x84, 0xa6, 0x30, 0x46, 0x18, 0x46, 0x6c, 0x0a, 0xc7, 0x84, 0xc4, 0x97, 0x14, 0x00, 0xca, - 0xc0, 0x86, 0x75, 0x95, 0x5c, 0xe6, 0x33, 0x86, 0xee, 0xac, 0xdf, 0xad, 0x5e, 0x19, 0xe2, 0x56, - 0x9f, 0x30, 0x84, 0x4b, 0xd2, 0x95, 0x40, 0x4e, 0xca, 0x5e, 0x25, 0x27, 0xbe, 0x12, 0x18, 0x5f, - 0x7e, 0xfa, 0x18, 0x7f, 0x81, 0x5a, 0x73, 0xe1, 0x01, 0xd3, 0x1f, 0x1f, 0x0b, 0xca, 0xdc, 0xec, - 0x5f, 0x11, 0x67, 0xff, 0x47, 0xc0, 0x76, 0x54, 0x1b, 0x71, 0xd8, 0xc1, 0xd1, 0xf4, 0x6d, 0xc4, - 0xe3, 0x3b, 0x20, 0xfa, 0x9d, 0x39, 0x38, 0xc9, 0x3a, 0x91, 0xff, 0x08, 0x10, 0x27, 0x3c, 0x87, - 0x27, 0x74, 0x92, 0x43, 0x50, 0x1e, 0xd7, 0x82, 0x54, 0x92, 0xa5, 0x4c, 0x09, 0xf6, 0x26, 0xb2, - 0xba, 0x51, 0xa8, 0x3c, 0xda, 0xd3, 0xcd, 0x8e, 0x7c, 0xb8, 0xdf, 0x21, 0xc0, 0xfb, 0x6b, 0x8d, - 0x8a, 0xb8, 0xd6, 0x38, 0x60, 0x65, 0x32, 0xf1, 0xce, 0x35, 0x11, 0x19, 0x65, 0x77, 0xe2, 0x3b, - 0xd7, 0xd1, 0x65, 0xa7, 0x8f, 0xd2, 0xbb, 0x15, 0xc8, 0x35, 0x2c, 0xdb, 0x45, 0x2f, 0x49, 0xd2, - 0x3a, 0xa9, 0xe4, 0x43, 0x90, 0xfc, 0x77, 0xb5, 0x2c, 0xdc, 0xf1, 0x7c, 0x57, 0xfc, 0x51, 0x67, - 0xdd, 0xd5, 0x89, 0x57, 0xb7, 0x57, 0x3e, 0x77, 0xd9, 0x73, 0xd2, 0x78, 0x3a, 0x54, 0x7e, 0x8d, - 0xe8, 0x03, 0x18, 0xa9, 0xc5, 0xd3, 0x89, 0x2c, 0x39, 0x7d, 0xdc, 0x5e, 0x7f, 0x92, 0xf9, 0xb6, - 0xae, 0x18, 0x5d, 0x8c, 0x5e, 0x42, 0x5d, 0x46, 0x6a, 0xfa, 0x1e, 0x96, 0x3f, 0x12, 0x13, 0xeb, - 0xda, 0x4a, 0xe2, 0xcb, 0x2a, 0x61, 0x7c, 0xd9, 0xa4, 0x0d, 0x8a, 0x1e, 0x40, 0xa7, 0x2c, 0x4d, - 0xba, 0x41, 0xc5, 0x94, 0x3d, 0x91, 0x38, 0x9d, 0xa7, 0x1a, 0xd8, 0xa5, 0x46, 0x65, 0xdd, 0xbf, - 0x81, 0xe5, 0xdb, 0xc7, 0x12, 0xb1, 0x33, 0xb8, 0xe0, 0x45, 0xe9, 0xbb, 0xe0, 0xe5, 0x7d, 0x3c, - 0x38, 0x1b, 0x22, 0x38, 0xdf, 0x1c, 0x2d, 0x20, 0x91, 0xc9, 0xb1, 0xc0, 0xf4, 0xb6, 0x00, 0xa6, - 0x4d, 0x01, 0xa6, 0xfb, 0x46, 0xe4, 0x22, 0x7d, 0xc0, 0x7e, 0x30, 0x0f, 0x27, 0xe9, 0xa4, 0xbf, - 0x64, 0x76, 0x58, 0x84, 0xd5, 0xb7, 0x64, 0x8f, 0x79, 0xb3, 0xed, 0x70, 0x08, 0x56, 0x21, 0x96, - 0x73, 0xbe, 0xff, 0x6e, 0xfd, 0x25, 0x1a, 0xce, 0xd5, 0xeb, 0x44, 0xc9, 0x4e, 0x9b, 0xfc, 0xfd, - 0xfa, 0xc1, 0x7f, 0xe2, 0x5d, 0x46, 0x53, 0xf2, 0x77, 0x19, 0xfd, 0x6e, 0xb2, 0x75, 0x3b, 0x52, - 0x74, 0x9f, 0xc0, 0x53, 0xb6, 0x9d, 0x12, 0xac, 0xe8, 0x49, 0x70, 0xf7, 0xf5, 0xe1, 0x4e, 0x16, - 0x46, 0x10, 0x19, 0xd1, 0x9d, 0x8c, 0x10, 0x38, 0x4e, 0x77, 0xb2, 0x61, 0x0c, 0x4c, 0xe0, 0x56, - 0xfb, 0x3c, 0xdb, 0xcd, 0x27, 0xed, 0x06, 0xfd, 0x49, 0x36, 0xf5, 0x51, 0xfa, 0x6b, 0x99, 0x44, - 0xfe, 0xcf, 0x84, 0xaf, 0xf8, 0x61, 0x3a, 0x89, 0x47, 0x73, 0x1c, 0xb9, 0x09, 0xac, 0x1b, 0x65, - 0x89, 0x2f, 0xfa, 0x25, 0xa3, 0xe3, 0xee, 0x8e, 0xe9, 0x44, 0xc7, 0x35, 0x8f, 0x96, 0x7f, 0x3d, - 0x32, 0x79, 0x41, 0xff, 0x2b, 0x93, 0x28, 0x84, 0x54, 0x20, 0x12, 0xc2, 0x56, 0x84, 0x88, 0x13, - 0x04, 0x7e, 0x8a, 0xa5, 0x37, 0x41, 0x8d, 0xbe, 0x68, 0x74, 0xb0, 0xf5, 0x18, 0xd4, 0x68, 0xc2, - 0xd7, 0xf8, 0x34, 0x3a, 0x8e, 0xdc, 0xd7, 0xa9, 0x46, 0x07, 0x22, 0x19, 0x93, 0x46, 0xc7, 0xd2, - 0x4b, 0x5f, 0xc6, 0xaf, 0x9e, 0x63, 0x13, 0xa9, 0x75, 0xc3, 0xbc, 0x82, 0xfe, 0xa9, 0xe0, 0x5f, - 0xcc, 0x7c, 0xc9, 0x70, 0x77, 0x59, 0x2c, 0x98, 0x5f, 0x95, 0xbe, 0x1b, 0x65, 0x84, 0x78, 0x2f, - 0x62, 0x38, 0xa9, 0xfc, 0xa1, 0x70, 0x52, 0x25, 0x98, 0x37, 0x4c, 0x17, 0xdb, 0xa6, 0xde, 0x5d, - 0xe9, 0xea, 0x3b, 0xce, 0xb9, 0xa9, 0x81, 0x97, 0xd7, 0x55, 0xb9, 0x3c, 0x9a, 0xf8, 0x07, 0x7f, - 0x7d, 0xe5, 0xb4, 0x78, 0x7d, 0x65, 0x44, 0xf4, 0xab, 0x99, 0xe8, 0xe8, 0x57, 0x41, 0x74, 0x2b, - 0x18, 0x1e, 0x1c, 0x5b, 0xd6, 0x36, 0x4e, 0x18, 0xee, 0xef, 0x2e, 0xc9, 0x28, 0x6c, 0x41, 0xe8, - 0xc7, 0x9f, 0x56, 0x12, 0xad, 0xee, 0x79, 0x8a, 0xb0, 0xd8, 0xaf, 0x04, 0x89, 0x2d, 0x54, 0xbe, - 0xf2, 0x4a, 0x5f, 0xe5, 0x03, 0x93, 0x27, 0x27, 0x61, 0xf2, 0xf0, 0x4a, 0x95, 0x97, 0x53, 0xaa, - 0x24, 0x8b, 0x85, 0x32, 0xb5, 0x9d, 0xc0, 0x69, 0xa4, 0x3c, 0x9c, 0xf2, 0xa3, 0xdd, 0xf6, 0x7a, - 0x58, 0xb7, 0x75, 0xb3, 0x8d, 0xd1, 0x47, 0xb3, 0xe3, 0x30, 0x7b, 0x57, 0x60, 0xda, 0x68, 0x5b, - 0x66, 0xc3, 0x78, 0xbe, 0x7f, 0xb9, 0x5c, 0x7c, 0x90, 0x75, 0x22, 0x91, 0x2a, 0xfb, 0x43, 0x0b, - 0xfe, 0x55, 0xab, 0x30, 0xd3, 0xd6, 0xed, 0x0e, 0x0d, 0xc2, 0x97, 0xef, 0xbb, 0xc8, 0x29, 0x92, - 0x50, 0xd9, 0xff, 0x45, 0x0b, 0xff, 0x56, 0xeb, 0xa2, 0x10, 0x0b, 0x7d, 0xd1, 0x3c, 0x22, 0x89, - 0x2d, 0x87, 0x3f, 0x09, 0x32, 0xf7, 0xa4, 0x63, 0xe3, 0x2e, 0xb9, 0x83, 0x9e, 0xf6, 0x10, 0x33, - 0x5a, 0x98, 0x90, 0x74, 0x79, 0x80, 0x14, 0x75, 0x08, 0x8d, 0x49, 0x2f, 0x0f, 0x48, 0x71, 0x91, - 0xbe, 0x66, 0xbe, 0xa3, 0x00, 0xf3, 0xb4, 0x57, 0x63, 0xe2, 0x44, 0x2f, 0x25, 0x57, 0x48, 0xbb, - 0x0f, 0xe1, 0x03, 0xd4, 0x38, 0xfa, 0x98, 0x5c, 0x04, 0xe5, 0x4a, 0x10, 0x70, 0xd0, 0x7b, 0x4c, - 0xba, 0x6f, 0xef, 0xf3, 0xb5, 0x48, 0x79, 0x9a, 0xf4, 0xbe, 0x7d, 0x7c, 0xf1, 0xe9, 0xe3, 0xf3, - 0x43, 0x0a, 0x28, 0xa5, 0x4e, 0x07, 0xb5, 0x8f, 0x0e, 0xc5, 0x2d, 0x30, 0xeb, 0xb7, 0x99, 0x30, - 0x06, 0x24, 0x9f, 0x94, 0x74, 0x11, 0x34, 0x90, 0x4d, 0xa9, 0x33, 0xf1, 0x5d, 0x85, 0x98, 0xb2, - 0xd3, 0x07, 0xe5, 0xb3, 0x53, 0xac, 0xd1, 0x2c, 0x59, 0xd6, 0x15, 0x72, 0x54, 0xe6, 0xe7, 0x14, - 0xc8, 0xaf, 0x60, 0xb7, 0xbd, 0x8b, 0x9c, 0xb1, 0xb4, 0x99, 0x7d, 0xbb, 0xeb, 0xb7, 0x99, 0x7d, - 0xbb, 0x3b, 0x2c, 0x28, 0x67, 0xd2, 0xe8, 0xcf, 0x3e, 0xdb, 0x8b, 0x84, 0xe5, 0x49, 0x47, 0x7f, - 0x8e, 0x2d, 0x7d, 0x02, 0x87, 0xe0, 0x72, 0xb0, 0x10, 0xac, 0x80, 0x51, 0xcc, 0x7e, 0x29, 0xf3, - 0x98, 0x5b, 0x0f, 0x1d, 0x62, 0x37, 0xa3, 0x3f, 0x4c, 0x16, 0x62, 0x2d, 0x90, 0xb9, 0x58, 0xf3, - 0x94, 0x17, 0x26, 0x13, 0x04, 0x5f, 0x93, 0x63, 0x70, 0x02, 0x2b, 0x00, 0x0a, 0x4c, 0x13, 0x86, - 0x96, 0x8d, 0xab, 0xc4, 0xf5, 0x50, 0x58, 0xa8, 0x7c, 0xc1, 0x58, 0x16, 0x2a, 0xef, 0x13, 0x17, - 0x2a, 0x25, 0x23, 0x26, 0xfb, 0xeb, 0x94, 0x09, 0x7d, 0x71, 0xbc, 0xff, 0xc7, 0xbe, 0x4c, 0x99, - 0xc0, 0x17, 0x67, 0x48, 0xf9, 0x13, 0x70, 0x3d, 0x7c, 0x2e, 0xeb, 0xac, 0xfd, 0x0d, 0x59, 0xf4, - 0xdf, 0x4f, 0x41, 0xee, 0xa2, 0xf7, 0xf0, 0x3f, 0xc3, 0x1b, 0xb5, 0x5e, 0x35, 0x86, 0xe0, 0x0e, - 0xcf, 0x86, 0x9c, 0x47, 0x9f, 0x4d, 0x7b, 0xee, 0x90, 0xdb, 0x1d, 0xf6, 0x18, 0xd1, 0xc8, 0x7f, - 0xea, 0x59, 0x28, 0x38, 0xd6, 0xbe, 0xdd, 0xf6, 0xcc, 0x6f, 0x4f, 0x63, 0xd8, 0x5b, 0xd2, 0xa0, - 0xa6, 0x02, 0xe9, 0xc5, 0xf1, 0xb9, 0x9c, 0x72, 0x17, 0x2c, 0x29, 0xc2, 0x05, 0x4b, 0x09, 0xf6, - 0x1f, 0x24, 0x78, 0x4b, 0x5f, 0x23, 0xfe, 0x84, 0xdc, 0x35, 0xd8, 0x19, 0x17, 0xec, 0x11, 0x62, - 0x39, 0xaa, 0x3a, 0x24, 0x75, 0x18, 0x17, 0x45, 0x1b, 0xc4, 0x91, 0x9f, 0xa8, 0xc3, 0xb8, 0x04, - 0x0f, 0x13, 0x39, 0xe5, 0x5e, 0x60, 0x4e, 0xae, 0x0f, 0x8f, 0x13, 0xdd, 0x9c, 0xa0, 0xf4, 0x47, - 0x42, 0x67, 0x8c, 0xce, 0xaf, 0x23, 0xa3, 0x73, 0x4c, 0xee, 0xaf, 0xbf, 0xa1, 0x90, 0x48, 0x9a, - 0xbe, 0x11, 0x24, 0x7f, 0x51, 0x52, 0x62, 0x88, 0xbc, 0x31, 0x58, 0x88, 0x23, 0x3d, 0x3f, 0x7a, - 0x68, 0x71, 0x51, 0x74, 0x1c, 0xff, 0x93, 0x0e, 0x2d, 0x2e, 0xcb, 0x48, 0xfa, 0x40, 0xfe, 0x0c, - 0xbd, 0x98, 0xac, 0xd4, 0x76, 0x8d, 0xab, 0x63, 0x6e, 0x69, 0xe2, 0xf0, 0x92, 0x30, 0x9a, 0xf0, - 0x21, 0x09, 0x51, 0x0e, 0x27, 0x1d, 0x4d, 0x58, 0x8e, 0x8d, 0xf4, 0x61, 0xfa, 0xcb, 0x82, 0x27, - 0x3d, 0xb6, 0xb6, 0xf3, 0x26, 0xb6, 0x9a, 0x80, 0x8f, 0x8e, 0xd6, 0x05, 0x98, 0xe3, 0x96, 0x0e, - 0xfc, 0x0b, 0x6f, 0x84, 0xb4, 0xa4, 0x07, 0xe5, 0x03, 0x91, 0x8d, 0x7d, 0x61, 0x21, 0xc1, 0x82, - 0xb1, 0x0c, 0x13, 0x13, 0xb9, 0x4f, 0xce, 0x1f, 0xc3, 0x26, 0x84, 0xd5, 0xaf, 0xf2, 0x58, 0xd5, - 0x45, 0xac, 0xee, 0x91, 0x11, 0x93, 0xdc, 0x98, 0x26, 0x35, 0x6f, 0x7c, 0x7b, 0x00, 0x97, 0x26, - 0xc0, 0xf5, 0xec, 0x91, 0xf9, 0x48, 0x1f, 0xb1, 0x9f, 0xa0, 0xdd, 0x61, 0x83, 0x9a, 0xec, 0xe3, - 0xe9, 0x0e, 0xd9, 0x6c, 0x40, 0x11, 0x66, 0x03, 0x09, 0xfd, 0xf5, 0x43, 0x37, 0x54, 0x9f, 0xb9, - 0x61, 0x10, 0xe5, 0xc6, 0xec, 0xaf, 0x3f, 0x94, 0x83, 0xf4, 0xc1, 0xf9, 0x07, 0x05, 0x60, 0xd5, - 0xb6, 0xf6, 0x7b, 0x75, 0xbb, 0x83, 0x6d, 0xf4, 0x67, 0xe1, 0x04, 0xe0, 0x87, 0xc7, 0x30, 0x01, - 0xd8, 0x04, 0xd8, 0x09, 0x88, 0x33, 0x0d, 0x7f, 0x8a, 0x9c, 0xb9, 0x1f, 0x32, 0xa5, 0x71, 0x34, - 0xc4, 0x2b, 0x6b, 0xbf, 0x45, 0xc4, 0x38, 0xae, 0xcf, 0x0a, 0xc9, 0x8d, 0x73, 0x02, 0xf0, 0xce, - 0x00, 0xeb, 0xa6, 0x80, 0xf5, 0x73, 0x8e, 0xc0, 0x49, 0xfa, 0x98, 0xff, 0xe3, 0x14, 0xcc, 0xd2, - 0xed, 0x3e, 0x2a, 0xd3, 0xbf, 0x09, 0x41, 0xff, 0xf1, 0x31, 0x80, 0xbe, 0x05, 0x73, 0x56, 0x48, - 0x9d, 0xf6, 0xa9, 0xfc, 0x02, 0x4c, 0x2c, 0xec, 0x1c, 0x5f, 0x9a, 0x40, 0x06, 0x7d, 0x98, 0x47, - 0x5e, 0x13, 0x91, 0xbf, 0x2f, 0x46, 0xde, 0x1c, 0xc5, 0x71, 0x42, 0xff, 0xae, 0x00, 0xfa, 0x2d, - 0x01, 0xfa, 0xd2, 0x51, 0x58, 0x99, 0x40, 0xb8, 0x7e, 0x05, 0x72, 0xe4, 0x74, 0xdd, 0xcf, 0xa7, - 0x38, 0xbf, 0x3f, 0x07, 0x53, 0xa4, 0xc9, 0x06, 0xf3, 0x0e, 0xff, 0xd5, 0xfb, 0xa2, 0x6f, 0xbb, - 0xd8, 0x0e, 0x56, 0x6e, 0xfd, 0x57, 0x8f, 0x07, 0xdf, 0xab, 0xd9, 0x39, 0x57, 0xa0, 0x1b, 0x99, - 0x41, 0xc2, 0xc8, 0x93, 0x12, 0x5e, 0xe2, 0x63, 0x3b, 0x6f, 0x37, 0xca, 0xa4, 0x64, 0x08, 0x23, - 0xe9, 0x03, 0xff, 0xb9, 0x1c, 0x9c, 0xa3, 0xab, 0x4a, 0x2b, 0xb6, 0xb5, 0xd7, 0x77, 0x3b, 0x96, - 0x71, 0x74, 0x5d, 0xb8, 0x0d, 0x16, 0x5c, 0xc1, 0x9f, 0x9b, 0xe9, 0x44, 0x5f, 0x2a, 0xfa, 0x3d, - 0xde, 0x27, 0xe3, 0xb9, 0x22, 0x92, 0x4b, 0x31, 0x02, 0x8c, 0xe2, 0x3d, 0xf1, 0x42, 0xbd, 0x24, - 0xa3, 0xdc, 0x22, 0x95, 0x32, 0xd2, 0x9a, 0x65, 0xa0, 0x53, 0x79, 0x19, 0x9d, 0x7a, 0x7f, 0xa0, - 0x53, 0xdf, 0x26, 0xe8, 0xd4, 0xea, 0xd1, 0x45, 0x32, 0x81, 0x95, 0x8b, 0x05, 0x28, 0xac, 0x18, - 0x5d, 0x17, 0xdb, 0xe8, 0x0b, 0x6c, 0x1e, 0xf5, 0xda, 0x14, 0xbb, 0x97, 0x65, 0x28, 0x6c, 0x93, - 0xd2, 0x98, 0x41, 0x76, 0xa7, 0x1c, 0x36, 0x94, 0x43, 0x8d, 0xfd, 0x9b, 0x34, 0x76, 0x5c, 0x1f, - 0x99, 0xb1, 0x4d, 0xc0, 0x12, 0xc4, 0x8e, 0x1b, 0xce, 0xc2, 0x44, 0xae, 0x4d, 0x2a, 0x68, 0x78, - 0xcf, 0x1b, 0x41, 0xae, 0xa4, 0x87, 0x70, 0x11, 0x14, 0xa3, 0xe3, 0x90, 0xa6, 0x37, 0xa3, 0x79, - 0x8f, 0x49, 0x3d, 0x59, 0xfa, 0x45, 0x45, 0x59, 0x9e, 0xb4, 0x27, 0x8b, 0x14, 0x17, 0xe9, 0x63, - 0xf6, 0x35, 0xe2, 0xc6, 0xd8, 0xeb, 0xea, 0x6d, 0xec, 0x71, 0x9f, 0x1a, 0x6a, 0x0b, 0x90, 0x35, - 0xfc, 0x11, 0x3f, 0x6b, 0xf0, 0xed, 0x34, 0x7f, 0x84, 0x76, 0x3a, 0xea, 0x22, 0x57, 0x20, 0x73, - 0x52, 0xf1, 0x63, 0x5b, 0xe4, 0x8a, 0x65, 0x63, 0x02, 0x97, 0x62, 0xfa, 0xc7, 0x3c, 0x27, 0xda, - 0x5a, 0x47, 0xdd, 0x02, 0x60, 0xc2, 0x1a, 0xdb, 0x91, 0xce, 0x51, 0xb6, 0x00, 0xa2, 0x79, 0x98, - 0x00, 0x5a, 0x0b, 0x0c, 0xad, 0x4f, 0xb3, 0x61, 0x34, 0xe5, 0x5d, 0x38, 0xc7, 0xb2, 0xdd, 0x64, - 0xbb, 0x70, 0x1e, 0x77, 0x1a, 0xf9, 0x2f, 0xe9, 0xb1, 0x20, 0xf1, 0xd4, 0xef, 0xb8, 0x86, 0xcf, - 0x04, 0xc7, 0x82, 0x86, 0x31, 0x90, 0x3e, 0xbc, 0x6f, 0x3d, 0xa6, 0xc1, 0x73, 0xd4, 0xe6, 0xc8, - 0xda, 0xc0, 0xd8, 0x86, 0xce, 0x51, 0x9a, 0x63, 0x34, 0x0f, 0xe9, 0xe3, 0xf5, 0xf7, 0xdc, 0xc0, - 0xf9, 0xe6, 0x09, 0x0e, 0x9c, 0x7e, 0xcb, 0xcc, 0x8f, 0xd8, 0x32, 0x47, 0xdd, 0x5d, 0x60, 0xb2, - 0x1e, 0xdf, 0x80, 0x39, 0xca, 0xee, 0x42, 0x0c, 0x13, 0xe9, 0x23, 0xfe, 0x16, 0x05, 0xf2, 0x8d, - 0xc9, 0x8f, 0x97, 0xa3, 0xce, 0x45, 0x88, 0xac, 0x1a, 0x63, 0x1b, 0x2e, 0x47, 0x99, 0x8b, 0x44, - 0xb2, 0x30, 0x81, 0xb0, 0xf0, 0x27, 0x61, 0x8e, 0x4c, 0xb8, 0xfd, 0x4d, 0xbc, 0xbf, 0x67, 0xa3, - 0xe6, 0x1b, 0x53, 0x6c, 0xab, 0x0f, 0xc2, 0xb4, 0xbf, 0x3b, 0xc4, 0x46, 0xce, 0x45, 0xb9, 0xf6, - 0xe9, 0x73, 0xa9, 0x05, 0xff, 0x1f, 0x69, 0xab, 0x7d, 0xec, 0x3b, 0x81, 0xa3, 0x6e, 0xb5, 0x1f, - 0xeb, 0x6e, 0xe0, 0xef, 0x86, 0x23, 0xea, 0x7f, 0x49, 0x0f, 0xf3, 0xfe, 0x5d, 0xc2, 0xdc, 0x80, - 0x5d, 0xc2, 0x8f, 0xf2, 0x58, 0x36, 0x44, 0x2c, 0xef, 0x97, 0x15, 0xe1, 0x18, 0xc7, 0xda, 0x77, - 0x07, 0x70, 0x5e, 0x14, 0xe0, 0x5c, 0x3a, 0x12, 0x2f, 0x13, 0x38, 0x96, 0x97, 0x0b, 0xc7, 0xdc, - 0x8f, 0xa5, 0xd8, 0x8e, 0xfb, 0x7c, 0xfe, 0x73, 0x87, 0x7c, 0xfe, 0x85, 0x96, 0x9e, 0x3f, 0x62, - 0x4b, 0xff, 0x18, 0xaf, 0x1d, 0x4d, 0x51, 0x3b, 0x9e, 0x2d, 0x8f, 0xc8, 0xf8, 0x46, 0xe6, 0xf7, - 0x04, 0xea, 0x71, 0x49, 0x50, 0x8f, 0xf2, 0xd1, 0x98, 0x49, 0x5f, 0x3f, 0x7e, 0xd3, 0x9f, 0xd0, - 0x1e, 0x73, 0x7b, 0x1f, 0x75, 0x23, 0x52, 0x10, 0xe2, 0xd8, 0x46, 0xee, 0x51, 0x36, 0x22, 0x87, - 0x71, 0x32, 0x81, 0x48, 0x61, 0xf3, 0x30, 0x4b, 0x78, 0xba, 0x64, 0x74, 0x76, 0xb0, 0x8b, 0x7e, - 0x9a, 0x7a, 0xc0, 0xf9, 0x71, 0x19, 0xc7, 0x14, 0x3c, 0x27, 0xea, 0x34, 0x66, 0x52, 0x7f, 0x01, - 0xca, 0xe4, 0x22, 0xc7, 0xe0, 0xa4, 0xe3, 0xfb, 0x0d, 0xe5, 0x20, 0x7d, 0xc8, 0x3e, 0x4c, 0x9d, - 0x39, 0xd6, 0xf5, 0x03, 0x6b, 0xdf, 0x45, 0x2f, 0x1a, 0x43, 0x07, 0xbd, 0x04, 0x85, 0x2e, 0xa1, - 0xc6, 0x9c, 0xfe, 0xe3, 0xa7, 0x3b, 0x4c, 0x04, 0xb4, 0x7c, 0x8d, 0xfd, 0x99, 0xd4, 0xf3, 0x3f, - 0x94, 0x23, 0xa5, 0x33, 0x69, 0xcf, 0xff, 0x21, 0xe5, 0x4f, 0xe4, 0x06, 0x98, 0x69, 0xaf, 0x74, - 0x63, 0xcf, 0x70, 0xc7, 0x14, 0x5f, 0xa0, 0xeb, 0xd1, 0xf2, 0xe3, 0x0b, 0x90, 0x97, 0xa4, 0xe7, - 0x19, 0x39, 0xa9, 0x78, 0xbf, 0x4f, 0xfa, 0x3c, 0x63, 0x7c, 0xf1, 0xe9, 0x63, 0xf2, 0xa3, 0xb4, - 0x65, 0x5d, 0xa4, 0xae, 0x9d, 0x29, 0x7a, 0x8d, 0x8e, 0xdc, 0x58, 0x28, 0x6b, 0xc7, 0xd7, 0x58, - 0x06, 0x96, 0x9f, 0x3e, 0x30, 0x3f, 0xf7, 0x8d, 0x90, 0x5f, 0xc6, 0x97, 0xf7, 0x77, 0xd0, 0x7d, - 0x30, 0xdd, 0xb4, 0x31, 0xae, 0x9a, 0xdb, 0x96, 0x27, 0x5d, 0xd7, 0x7b, 0xf6, 0x21, 0x61, 0x6f, - 0x1e, 0x1e, 0xbb, 0x58, 0xef, 0x84, 0xa7, 0x9b, 0xfc, 0x57, 0xf4, 0xaa, 0x2c, 0xe4, 0x1a, 0xae, - 0xee, 0xa2, 0x99, 0x00, 0x5b, 0xf4, 0x22, 0x1e, 0x8b, 0xfb, 0x44, 0x2c, 0x6e, 0x13, 0x64, 0x41, - 0x38, 0x58, 0xf4, 0xfe, 0x8f, 0x00, 0x00, 0xc1, 0xf4, 0x23, 0x8e, 0x65, 0x7a, 0x39, 0xfc, 0x03, - 0x78, 0xfe, 0x3b, 0x7a, 0x4d, 0x20, 0xee, 0x07, 0x04, 0x71, 0x3f, 0x49, 0xae, 0x88, 0x09, 0xac, - 0xb4, 0x65, 0x61, 0xc6, 0x13, 0xed, 0x1a, 0xd6, 0x3b, 0x0e, 0xfa, 0x86, 0x50, 0xf9, 0x23, 0xc4, - 0x8c, 0x3e, 0x20, 0x1d, 0x2a, 0x92, 0xd6, 0x2a, 0x20, 0x1e, 0xed, 0x2f, 0xe0, 0x87, 0xca, 0xc8, - 0x8a, 0xa1, 0x32, 0xee, 0x82, 0x9c, 0x61, 0x6e, 0x5b, 0xcc, 0x7b, 0xed, 0xc6, 0x08, 0xda, 0x9e, - 0x4e, 0x68, 0x24, 0xa3, 0x64, 0x1c, 0xc9, 0x78, 0xb6, 0x26, 0x72, 0x25, 0x5b, 0xce, 0x2b, 0x1d, - 0xfd, 0x5f, 0x43, 0x85, 0xad, 0xaa, 0x90, 0xeb, 0xe9, 0xee, 0x2e, 0x2b, 0x9a, 0x3c, 0x7b, 0x36, - 0xf2, 0xbe, 0xa9, 0x9b, 0x96, 0x79, 0xb0, 0x67, 0x3c, 0x3f, 0xb8, 0xf9, 0x55, 0x48, 0xf3, 0x38, - 0xdf, 0xc1, 0x26, 0xb6, 0x75, 0x17, 0x37, 0xae, 0xee, 0x90, 0x39, 0xd6, 0xb4, 0xc6, 0x27, 0x25, - 0xd6, 0x7f, 0x8f, 0xe3, 0x68, 0xfd, 0xdf, 0x36, 0xba, 0x98, 0xc4, 0x11, 0x62, 0xfa, 0xef, 0xbf, - 0x27, 0xd2, 0xff, 0x01, 0x45, 0xa4, 0x8f, 0xc6, 0xbf, 0x66, 0x61, 0xae, 0xe1, 0x29, 0x5c, 0x63, - 0x7f, 0x6f, 0x4f, 0xb7, 0x0f, 0xd0, 0xe3, 0x43, 0x54, 0x38, 0xd5, 0xcc, 0x08, 0xaa, 0x89, 0x7e, - 0x43, 0xfa, 0xd2, 0x63, 0xd6, 0xb4, 0xb9, 0x12, 0x12, 0xb7, 0x83, 0xa7, 0x42, 0xde, 0x53, 0x6f, - 0xdf, 0x9f, 0x2f, 0xb6, 0x21, 0xd0, 0x9c, 0x92, 0xf1, 0x96, 0x86, 0xf2, 0x36, 0x81, 0x58, 0x0f, - 0x59, 0x38, 0xd9, 0x70, 0xf5, 0xf6, 0x95, 0x55, 0xcb, 0xb6, 0xf6, 0x5d, 0xc3, 0xc4, 0x0e, 0x7a, - 0x5c, 0x88, 0x80, 0xaf, 0xff, 0x99, 0x50, 0xff, 0xd1, 0xbf, 0x67, 0x64, 0x47, 0xd1, 0xa0, 0x5b, - 0xe5, 0xc9, 0x47, 0x84, 0x4f, 0x92, 0x1b, 0x17, 0x65, 0x28, 0xa6, 0x2f, 0xb4, 0x37, 0x2b, 0x50, - 0xac, 0x3c, 0xda, 0xb3, 0x6c, 0x77, 0xdd, 0x6a, 0xeb, 0x5d, 0xc7, 0xb5, 0x6c, 0x8c, 0xea, 0xb1, - 0x52, 0xf3, 0x7a, 0x98, 0x8e, 0xd5, 0x0e, 0x07, 0x47, 0xf6, 0xc6, 0xab, 0x9d, 0x22, 0xea, 0xf8, - 0x87, 0xa5, 0x77, 0x19, 0xa9, 0x54, 0xfa, 0x39, 0x8a, 0xd0, 0xf3, 0x41, 0x5d, 0x5a, 0x32, 0x57, - 0x7c, 0xb9, 0x9d, 0x47, 0x29, 0xa6, 0x26, 0xb0, 0x54, 0x9e, 0x85, 0xf9, 0xc6, 0xfe, 0xe5, 0x80, - 0x88, 0xc3, 0x1b, 0x21, 0xaf, 0x93, 0x8e, 0x91, 0xc0, 0x14, 0x8f, 0x27, 0x14, 0x21, 0xdf, 0x5b, - 0x61, 0xde, 0xe1, 0xb3, 0x31, 0xbc, 0xc5, 0x44, 0xc9, 0xd8, 0x08, 0xc3, 0x4b, 0x4d, 0x5f, 0x80, - 0xef, 0xc9, 0xc2, 0x7c, 0xbd, 0x87, 0x4d, 0xdc, 0xa1, 0x3e, 0x76, 0x82, 0x00, 0x5f, 0x95, 0x50, - 0x80, 0x02, 0xa1, 0x08, 0x01, 0x86, 0xfe, 0xb0, 0xcb, 0xbe, 0xf0, 0xc2, 0x84, 0x44, 0x82, 0x8b, - 0x2b, 0x2d, 0x7d, 0xc1, 0x7d, 0x3e, 0x0b, 0xb3, 0xda, 0xbe, 0xb9, 0x69, 0x5b, 0xde, 0x68, 0x6c, - 0xa3, 0xfb, 0xc3, 0x0e, 0xe2, 0x4e, 0x38, 0xd5, 0xd9, 0xb7, 0xc9, 0xfa, 0x53, 0xd5, 0x6c, 0xe0, - 0xb6, 0x65, 0x76, 0x1c, 0x52, 0x8f, 0xbc, 0x76, 0xf8, 0xc3, 0xbd, 0xb9, 0x97, 0xfc, 0x95, 0x92, - 0x41, 0x2f, 0x95, 0x0e, 0xc4, 0x42, 0x2b, 0xcf, 0x15, 0x2d, 0xdf, 0x13, 0x48, 0x86, 0x5b, 0x19, - 0x56, 0x42, 0xfa, 0xc2, 0xfd, 0x74, 0x16, 0xd4, 0x52, 0xbb, 0x6d, 0xed, 0x9b, 0x6e, 0x03, 0x77, - 0x71, 0xdb, 0x6d, 0xda, 0x7a, 0x1b, 0xf3, 0xf6, 0x73, 0x11, 0x94, 0x8e, 0x61, 0xb3, 0x3e, 0xd8, - 0x7b, 0x64, 0x72, 0x7c, 0x95, 0xf4, 0x8e, 0x23, 0xad, 0xe5, 0xe1, 0x52, 0x12, 0x88, 0x53, 0x6e, - 0x5f, 0x51, 0xb2, 0xa0, 0xf4, 0xa5, 0xfa, 0xb1, 0x2c, 0xcc, 0xf8, 0x3d, 0xf6, 0x8e, 0x8c, 0x30, - 0x7f, 0x34, 0xe1, 0x64, 0x24, 0x20, 0x9e, 0x40, 0x86, 0xef, 0x48, 0x30, 0xab, 0x88, 0xa2, 0x9f, - 0x4c, 0x74, 0xa5, 0xe4, 0xa2, 0xf3, 0x5e, 0x6b, 0xf5, 0xd6, 0x4a, 0x7d, 0x7d, 0xb9, 0xa2, 0x15, - 0x15, 0xf4, 0x85, 0x2c, 0xe4, 0x36, 0x0d, 0x73, 0x87, 0x8f, 0x97, 0x75, 0xda, 0xb3, 0x23, 0x3b, - 0xf8, 0x51, 0xd6, 0xd2, 0xe9, 0x8b, 0x7a, 0x37, 0x9c, 0x36, 0xf7, 0xf7, 0x2e, 0x63, 0xbb, 0xbe, - 0x4d, 0x46, 0x59, 0xa7, 0x69, 0x35, 0xb0, 0x49, 0x8d, 0xd0, 0xbc, 0x36, 0xf0, 0x9b, 0x68, 0x82, - 0x49, 0x4c, 0x1e, 0x3c, 0x4e, 0x22, 0x24, 0x1e, 0x30, 0x95, 0xe5, 0x98, 0x4a, 0x34, 0x6d, 0x18, - 0x40, 0x3c, 0x7d, 0x4d, 0xfd, 0xad, 0x3c, 0x9c, 0x29, 0x99, 0x07, 0xc4, 0xa6, 0xa0, 0x1d, 0x7c, - 0x79, 0x57, 0x37, 0x77, 0x30, 0x19, 0x20, 0x02, 0x89, 0xf3, 0x01, 0xe4, 0x33, 0x62, 0x00, 0x79, - 0x55, 0x83, 0x29, 0xcb, 0xee, 0x60, 0x7b, 0xe9, 0x80, 0xf0, 0xd4, 0xbf, 0xec, 0xcc, 0xda, 0xe4, - 0xa0, 0x22, 0x16, 0x19, 0xf9, 0xc5, 0x3a, 0xfd, 0x5f, 0xf3, 0x09, 0x5d, 0xb8, 0x13, 0xa6, 0x58, - 0x9a, 0x3a, 0x07, 0xd3, 0x75, 0x6d, 0xb9, 0xa2, 0xb5, 0xaa, 0xcb, 0xc5, 0x13, 0xea, 0x75, 0x70, - 0xb2, 0xda, 0xac, 0x68, 0xa5, 0x66, 0xb5, 0x5e, 0x6b, 0x91, 0xf4, 0x62, 0x06, 0xbd, 0x38, 0x27, - 0xeb, 0xd9, 0x1b, 0xcf, 0xcc, 0x20, 0x58, 0x35, 0x98, 0x6a, 0xd3, 0x0c, 0x64, 0x08, 0x9d, 0x4d, - 0x54, 0x3b, 0x46, 0x90, 0x26, 0x68, 0x3e, 0x21, 0xf5, 0x3c, 0xc0, 0x35, 0xdb, 0x32, 0x77, 0xc2, - 0x33, 0x6d, 0xd3, 0x1a, 0x97, 0x82, 0x5e, 0x94, 0x81, 0x02, 0xfd, 0x87, 0x5c, 0x98, 0x41, 0x9e, - 0x42, 0xc1, 0xfb, 0xef, 0x9e, 0xc5, 0x4b, 0xe4, 0x15, 0x4e, 0xb4, 0xd8, 0xab, 0xa7, 0x8b, 0x54, - 0x06, 0xd4, 0x12, 0x66, 0x55, 0xb9, 0x0b, 0x0a, 0xf4, 0x5f, 0xe6, 0x75, 0x10, 0x1d, 0xfc, 0x92, - 0x66, 0x93, 0xf4, 0x53, 0x96, 0x97, 0x69, 0xfa, 0xda, 0xfc, 0xc1, 0x2c, 0x4c, 0xd7, 0xb0, 0x5b, - 0xde, 0xc5, 0xed, 0x2b, 0xe8, 0x89, 0xe2, 0x02, 0x68, 0xd7, 0xc0, 0xa6, 0xfb, 0xf0, 0x5e, 0x37, - 0x58, 0x00, 0xf5, 0x13, 0xd0, 0xf7, 0xf2, 0x9d, 0xef, 0x73, 0x44, 0xfd, 0xb9, 0x63, 0x40, 0x5d, - 0xfd, 0x12, 0x22, 0x54, 0xe6, 0x2c, 0x14, 0x6c, 0xec, 0xec, 0x77, 0xfd, 0x45, 0x34, 0xf6, 0x86, - 0x5e, 0x1f, 0x88, 0xb3, 0x2c, 0x88, 0xf3, 0x2e, 0xf9, 0x22, 0x26, 0x10, 0x4d, 0x33, 0x07, 0x53, - 0x55, 0xd3, 0x70, 0x0d, 0xbd, 0x8b, 0x5e, 0x9a, 0x83, 0xf9, 0x06, 0x76, 0x37, 0x75, 0x5b, 0xdf, - 0xc3, 0x2e, 0xb6, 0x1d, 0xf4, 0x55, 0xb1, 0x4f, 0xe8, 0x75, 0x75, 0x77, 0xdb, 0xb2, 0xf7, 0x7c, - 0xd5, 0xf4, 0xdf, 0x3d, 0xd5, 0xbc, 0x8a, 0x6d, 0x27, 0xe4, 0xcb, 0x7f, 0xf5, 0xbe, 0x5c, 0xb3, - 0xec, 0x2b, 0xde, 0x20, 0xc8, 0xa6, 0x69, 0xec, 0xd5, 0xa3, 0xd7, 0xb5, 0x76, 0xd6, 0xf1, 0x55, - 0xec, 0x07, 0xeb, 0x0a, 0xde, 0xbd, 0xb9, 0x40, 0xc7, 0xaa, 0x59, 0xae, 0xd7, 0x69, 0xaf, 0x5b, - 0x3b, 0x34, 0x9a, 0xe9, 0xb4, 0x26, 0x26, 0x86, 0xb9, 0xf4, 0xab, 0x98, 0xe4, 0x2a, 0xf0, 0xb9, - 0x58, 0xa2, 0xba, 0x08, 0x6a, 0xf0, 0x5b, 0x13, 0x77, 0xf1, 0x1e, 0x76, 0xed, 0x03, 0x72, 0x69, - 0xc1, 0xb4, 0x36, 0xe0, 0x0b, 0x1b, 0xa0, 0xe5, 0x27, 0xeb, 0x4c, 0x7a, 0x8b, 0x82, 0xe4, 0x8e, - 0x34, 0x59, 0x97, 0xa1, 0x38, 0x91, 0x4b, 0x99, 0x14, 0xcf, 0x9a, 0xf9, 0x49, 0x05, 0x72, 0x64, - 0xf0, 0x7c, 0x4b, 0x46, 0x58, 0x61, 0xda, 0xc3, 0x8e, 0xa3, 0xef, 0x60, 0x7f, 0x85, 0x89, 0xbd, - 0xaa, 0xf7, 0x40, 0xbe, 0x4b, 0x30, 0xa5, 0x83, 0xc3, 0xe3, 0x85, 0x9a, 0x79, 0x06, 0x86, 0x47, - 0x2b, 0x18, 0x09, 0x08, 0xdc, 0x1a, 0xfd, 0xe3, 0xc2, 0x83, 0x90, 0xa7, 0xf0, 0xcf, 0x40, 0x7e, - 0xb9, 0xb2, 0xb4, 0xb5, 0x5a, 0x3c, 0xe1, 0x3d, 0xfa, 0xfc, 0xcd, 0x40, 0x7e, 0xa5, 0xd4, 0x2c, - 0xad, 0x17, 0xb3, 0x5e, 0x3d, 0xaa, 0xb5, 0x95, 0x7a, 0x51, 0xf1, 0x12, 0x37, 0x4b, 0xb5, 0x6a, - 0xb9, 0x98, 0x53, 0x67, 0x61, 0xea, 0x52, 0x49, 0xab, 0x55, 0x6b, 0xab, 0xc5, 0x3c, 0xfa, 0x4b, - 0x1e, 0xbf, 0x7b, 0x45, 0xfc, 0x6e, 0x8d, 0xe2, 0x69, 0x10, 0x64, 0x3f, 0x15, 0x40, 0x76, 0xbf, - 0x00, 0xd9, 0x37, 0xca, 0x10, 0x99, 0x80, 0x3b, 0x53, 0x01, 0xa6, 0x36, 0x6d, 0xab, 0x8d, 0x1d, - 0x07, 0xfd, 0x58, 0x16, 0x0a, 0x65, 0xdd, 0x6c, 0xe3, 0x2e, 0xba, 0x21, 0x84, 0x8a, 0xba, 0x8a, - 0x66, 0x7c, 0x57, 0x51, 0xf4, 0x0f, 0x19, 0xd9, 0xde, 0x8f, 0xd1, 0x5d, 0xa4, 0x34, 0x23, 0xe4, - 0x23, 0xd7, 0xcb, 0xc5, 0x92, 0x9a, 0xc0, 0xc5, 0x2d, 0x59, 0x98, 0x61, 0xab, 0x01, 0x97, 0x31, - 0x3f, 0x0f, 0xff, 0x6a, 0x46, 0x76, 0x72, 0xe8, 0xd7, 0x20, 0x20, 0x13, 0x21, 0x0f, 0xb9, 0x89, - 0xe0, 0x30, 0x6a, 0x13, 0xd8, 0x3c, 0xcc, 0xc2, 0xec, 0x96, 0xe9, 0x0c, 0x12, 0x8a, 0x7c, 0x94, - 0x77, 0xbf, 0x1a, 0x1c, 0xa1, 0x23, 0x45, 0x79, 0x1f, 0x4e, 0x2f, 0x7d, 0xc1, 0x7c, 0x35, 0x03, - 0xa7, 0x57, 0xb1, 0x89, 0x6d, 0xa3, 0x4d, 0x6b, 0xe0, 0x4b, 0xe2, 0x7e, 0x51, 0x12, 0x4f, 0x14, - 0x38, 0x1f, 0xf4, 0x87, 0x28, 0x81, 0xd7, 0x06, 0x12, 0x78, 0x8e, 0x20, 0x81, 0x3b, 0x25, 0xe9, - 0x4c, 0xe0, 0xb6, 0xee, 0x19, 0x98, 0xab, 0x59, 0xae, 0xb1, 0x6d, 0xb4, 0xa9, 0x0f, 0xda, 0x4f, - 0x28, 0x90, 0x5b, 0x37, 0x1c, 0x17, 0x95, 0xc2, 0xee, 0xe4, 0x16, 0x98, 0x35, 0xcc, 0x76, 0x77, - 0xbf, 0x83, 0x35, 0xac, 0xd3, 0x7e, 0x65, 0x5a, 0xe3, 0x93, 0xc2, 0xad, 0x7d, 0x8f, 0x2d, 0xc5, - 0xdf, 0xda, 0xff, 0xa4, 0xf4, 0x32, 0x0c, 0xcf, 0x02, 0x09, 0x77, 0x18, 0x61, 0x77, 0x95, 0x60, - 0xde, 0xe4, 0xb2, 0xfa, 0x06, 0x7b, 0x7f, 0xb8, 0x7b, 0x9e, 0x9c, 0x26, 0xfe, 0x81, 0xde, 0x27, - 0xd5, 0x58, 0x87, 0x31, 0x94, 0x0c, 0x99, 0x95, 0x11, 0x26, 0xc9, 0x2a, 0x2c, 0x54, 0x6b, 0xcd, - 0x8a, 0x56, 0x2b, 0xad, 0xb3, 0x2c, 0x0a, 0xfa, 0xd7, 0x2c, 0xe4, 0x35, 0xdc, 0xeb, 0x1e, 0xf0, - 0xf1, 0x8c, 0x99, 0xa3, 0x78, 0x26, 0x70, 0x14, 0x57, 0x57, 0x00, 0xf4, 0xb6, 0x57, 0x30, 0xb9, - 0xf0, 0x29, 0x3b, 0x30, 0x4a, 0xa6, 0x50, 0xc1, 0x52, 0x90, 0x5b, 0xe3, 0xfe, 0x44, 0x2f, 0x93, - 0xde, 0x39, 0x12, 0xa8, 0x11, 0x0e, 0x23, 0xfa, 0x84, 0xf7, 0x4b, 0x6d, 0xf6, 0x0c, 0x25, 0x77, - 0x3c, 0xe2, 0xff, 0x62, 0x16, 0x72, 0x4d, 0xaf, 0xb7, 0xe4, 0x3a, 0xce, 0xdf, 0x1e, 0x4d, 0xc7, - 0x3d, 0x32, 0x11, 0x3a, 0xfe, 0x00, 0xcc, 0xf1, 0x1a, 0xcb, 0x5c, 0x25, 0x62, 0x55, 0x5c, 0xf8, - 0x61, 0x14, 0x0d, 0x1f, 0xc0, 0xce, 0xf1, 0x88, 0xf8, 0xe3, 0x4f, 0x02, 0xd8, 0xc0, 0x7b, 0x97, - 0xb1, 0xed, 0xec, 0x1a, 0x3d, 0xf4, 0xd7, 0x0a, 0xcc, 0xac, 0x62, 0xb7, 0xe1, 0xea, 0xee, 0xbe, - 0xd3, 0xb7, 0xdd, 0x69, 0x5a, 0x65, 0xbd, 0xbd, 0x8b, 0x59, 0x77, 0xe4, 0xbf, 0xa2, 0x77, 0x29, - 0xb2, 0xfe, 0x44, 0x61, 0x39, 0x8b, 0x41, 0x19, 0x11, 0x98, 0x3c, 0x19, 0x72, 0x1d, 0xdd, 0xd5, - 0x19, 0x16, 0x37, 0xf4, 0x61, 0x11, 0x12, 0xd2, 0x48, 0x36, 0xf4, 0x4b, 0x59, 0x19, 0x87, 0x22, - 0x89, 0xf2, 0x93, 0x81, 0xf0, 0xbe, 0xcc, 0x08, 0x28, 0x9c, 0x82, 0xf9, 0x5a, 0xbd, 0xd9, 0x5a, - 0xaf, 0xaf, 0xae, 0x56, 0xbc, 0xd4, 0xa2, 0xa2, 0x9e, 0x05, 0x75, 0xb3, 0xf4, 0xf0, 0x46, 0xa5, - 0xd6, 0x6c, 0xd5, 0xea, 0xcb, 0x15, 0xf6, 0x67, 0x4e, 0x3d, 0x09, 0xb3, 0xe5, 0x52, 0x79, 0xcd, - 0x4f, 0xc8, 0xab, 0xe7, 0xe0, 0xf4, 0x46, 0x65, 0x63, 0xa9, 0xa2, 0x35, 0xd6, 0xaa, 0x9b, 0x2d, - 0x8f, 0xcc, 0x4a, 0x7d, 0xab, 0xb6, 0x5c, 0x2c, 0xa8, 0x08, 0xce, 0x72, 0x5f, 0x2e, 0x69, 0xf5, - 0xda, 0x6a, 0xab, 0xd1, 0x2c, 0x35, 0x2b, 0xc5, 0x29, 0xf5, 0x3a, 0x38, 0x59, 0x2e, 0xd5, 0x48, - 0xf6, 0x72, 0xbd, 0x56, 0xab, 0x94, 0x9b, 0xc5, 0x69, 0xf4, 0xef, 0x39, 0x98, 0xad, 0x3a, 0x35, - 0x7d, 0x0f, 0x5f, 0xd4, 0xbb, 0x46, 0x07, 0xbd, 0x94, 0x9b, 0x79, 0xdc, 0x0a, 0xf3, 0x36, 0x7d, - 0xc4, 0x9d, 0xa6, 0x81, 0x29, 0x9a, 0xf3, 0x9a, 0x98, 0xe8, 0xcd, 0xc9, 0x4d, 0x42, 0xc0, 0x9f, - 0x93, 0xd3, 0x37, 0x75, 0x09, 0x80, 0x3e, 0x35, 0xc3, 0xab, 0x47, 0x2f, 0xf4, 0xb7, 0x26, 0x7d, - 0x0f, 0x3b, 0xd8, 0xbe, 0x6a, 0xb4, 0xb1, 0x9f, 0x53, 0xe3, 0xfe, 0x42, 0x5f, 0x52, 0x64, 0xf7, - 0x17, 0x39, 0x50, 0xb9, 0xea, 0x44, 0xf4, 0x86, 0xdf, 0xa7, 0xc8, 0xec, 0x0e, 0x4a, 0x91, 0x4c, - 0xa6, 0x29, 0xaf, 0xc8, 0x8e, 0xb6, 0x6c, 0xdb, 0xac, 0xd7, 0x5b, 0x8d, 0xb5, 0xba, 0xd6, 0x2c, - 0x2a, 0xea, 0x1c, 0x4c, 0x7b, 0xaf, 0xeb, 0xf5, 0xda, 0x6a, 0x31, 0xa7, 0x9e, 0x81, 0x53, 0x6b, - 0xa5, 0x46, 0xab, 0x5a, 0xbb, 0x58, 0x5a, 0xaf, 0x2e, 0xb7, 0xca, 0x6b, 0x25, 0xad, 0x51, 0xcc, - 0xab, 0x37, 0xc0, 0x99, 0x66, 0xb5, 0xa2, 0xb5, 0x56, 0x2a, 0xa5, 0xe6, 0x96, 0x56, 0x69, 0xb4, - 0x6a, 0xf5, 0x56, 0xad, 0xb4, 0x51, 0x29, 0x16, 0xbc, 0xe6, 0x4f, 0x3e, 0x85, 0x6a, 0x33, 0x75, - 0x58, 0x19, 0xa7, 0x23, 0x94, 0x71, 0xa6, 0x5f, 0x19, 0x81, 0x57, 0x2b, 0xad, 0xd2, 0xa8, 0x68, - 0x17, 0x2b, 0xc5, 0xd9, 0x41, 0xba, 0x36, 0xa7, 0x9e, 0x86, 0xa2, 0xc7, 0x43, 0xab, 0xda, 0xf0, - 0x73, 0x2e, 0x17, 0xe7, 0xd1, 0xc7, 0x0a, 0x70, 0x56, 0xc3, 0x3b, 0x86, 0xe3, 0x62, 0x7b, 0x53, - 0x3f, 0xd8, 0xc3, 0xa6, 0xeb, 0x77, 0xf2, 0xff, 0x9c, 0x58, 0x19, 0x37, 0x60, 0xbe, 0x47, 0x69, - 0x6c, 0x60, 0x77, 0xd7, 0xea, 0xb0, 0x51, 0xf8, 0x89, 0x91, 0x3d, 0xc7, 0xe2, 0x26, 0x9f, 0x5d, - 0x13, 0xff, 0xe6, 0x74, 0x5b, 0x89, 0xd1, 0xed, 0xdc, 0x28, 0xba, 0xad, 0xde, 0x04, 0x33, 0xfb, - 0x0e, 0xb6, 0x2b, 0x7b, 0xba, 0xd1, 0xf5, 0xaf, 0x8e, 0x0c, 0x12, 0xd0, 0xdb, 0x73, 0xb2, 0x27, - 0x56, 0xb8, 0xba, 0x0c, 0x16, 0x63, 0x44, 0xdf, 0x7a, 0x1e, 0x80, 0x55, 0x76, 0xcb, 0xee, 0x32, - 0x65, 0xe5, 0x52, 0x3c, 0xfe, 0x2e, 0x1b, 0xdd, 0xae, 0x61, 0xee, 0x04, 0xfb, 0xfe, 0x61, 0x02, - 0x7a, 0x85, 0x22, 0x73, 0x82, 0x25, 0x29, 0x6f, 0xc9, 0x5a, 0xd3, 0xcb, 0xb2, 0x13, 0xee, 0x77, - 0x0f, 0x37, 0x9d, 0x82, 0x5a, 0x84, 0x39, 0x92, 0xc6, 0x5a, 0x60, 0x71, 0xca, 0xeb, 0x83, 0x7d, - 0x72, 0x1b, 0x95, 0xe6, 0x5a, 0x7d, 0x39, 0xf8, 0x36, 0xed, 0x91, 0xf4, 0x98, 0x29, 0xd5, 0x1e, - 0x26, 0xad, 0x71, 0x46, 0x7d, 0x1c, 0xdc, 0xc0, 0x75, 0xd8, 0xa5, 0x75, 0xad, 0x52, 0x5a, 0x7e, - 0xb8, 0x55, 0x79, 0x6e, 0xb5, 0xd1, 0x6c, 0x88, 0x8d, 0xcb, 0x6f, 0x47, 0xb3, 0x1e, 0xbf, 0x95, - 0x8d, 0x52, 0x75, 0x9d, 0xf5, 0xef, 0x2b, 0x75, 0x6d, 0xa3, 0xd4, 0x2c, 0xce, 0xa1, 0x9f, 0x54, - 0xa0, 0xb8, 0x8a, 0xdd, 0x4d, 0xcb, 0x76, 0xf5, 0xee, 0xba, 0x61, 0x5e, 0xd9, 0xb2, 0xbb, 0xc2, - 0x64, 0x53, 0x3a, 0x4c, 0x87, 0x38, 0x44, 0x0a, 0x04, 0xa3, 0x77, 0xc4, 0x7b, 0x24, 0x5b, 0xa8, - 0x4c, 0x61, 0x02, 0x7a, 0x41, 0x56, 0x66, 0xb9, 0x5b, 0xbe, 0xd4, 0x64, 0x7a, 0xf2, 0xc2, 0x49, - 0x8f, 0xcf, 0x03, 0x50, 0x2b, 0xa0, 0x97, 0xe4, 0x60, 0x7a, 0xc5, 0x30, 0xf5, 0xae, 0xf1, 0x7c, - 0x21, 0x3a, 0x66, 0xd8, 0xc7, 0x64, 0x62, 0xfa, 0x98, 0xec, 0x48, 0xe3, 0xe7, 0x8f, 0x28, 0xb2, - 0xcb, 0x0b, 0x9c, 0xec, 0x7d, 0x26, 0x23, 0x06, 0xcf, 0x0f, 0x65, 0x65, 0x96, 0x17, 0x86, 0xd3, - 0x4b, 0x86, 0xe1, 0x27, 0xfe, 0x63, 0xd8, 0x58, 0x7d, 0xed, 0x7b, 0x7a, 0x90, 0x2a, 0xcc, 0xa0, - 0x3f, 0x50, 0x00, 0xad, 0x62, 0xf7, 0x22, 0xb6, 0x83, 0xa9, 0x00, 0xe9, 0xf5, 0x99, 0xbd, 0xcd, - 0x35, 0xd9, 0xb7, 0xf0, 0x00, 0x5e, 0x12, 0x01, 0x2c, 0xc5, 0x34, 0x9e, 0x08, 0xd2, 0x11, 0x8d, - 0xb7, 0x0a, 0x05, 0x87, 0x7c, 0x67, 0x6a, 0xf6, 0xd4, 0xe8, 0xe1, 0x92, 0x10, 0xe3, 0xa9, 0x53, - 0xc2, 0x1a, 0x23, 0x80, 0xbe, 0x16, 0x4c, 0x82, 0xbe, 0x55, 0xd0, 0x8e, 0x95, 0x23, 0x33, 0x9b, - 0x4c, 0x5f, 0xec, 0x74, 0xd5, 0x65, 0x90, 0x7d, 0x83, 0x3e, 0x94, 0x87, 0xd3, 0x83, 0xaa, 0x83, - 0x7e, 0x39, 0x23, 0xec, 0xb0, 0x63, 0x32, 0xe4, 0x67, 0xd8, 0x06, 0xa2, 0xf7, 0xa2, 0x3e, 0x1d, - 0xce, 0x04, 0xcb, 0x70, 0x4d, 0xab, 0x86, 0xaf, 0x39, 0x5d, 0xec, 0xba, 0xd8, 0x26, 0x55, 0x9b, - 0xd6, 0x06, 0x7f, 0x54, 0x9f, 0x09, 0xd7, 0x1b, 0xa6, 0x63, 0x74, 0xb0, 0xdd, 0x34, 0x7a, 0x4e, - 0xc9, 0xec, 0x34, 0xf7, 0x5d, 0xcb, 0x36, 0x74, 0x76, 0xd1, 0xe1, 0xb4, 0x16, 0xf5, 0x59, 0xbd, - 0x03, 0x8a, 0x86, 0x53, 0x37, 0x2f, 0x5b, 0xba, 0xdd, 0x31, 0xcc, 0x9d, 0x75, 0xc3, 0x71, 0x99, - 0x07, 0xf0, 0xa1, 0x74, 0xf4, 0x37, 0x8a, 0xec, 0x61, 0xba, 0x21, 0xb0, 0x46, 0x74, 0x28, 0xdf, - 0xab, 0xc8, 0x1c, 0x8f, 0x4b, 0x46, 0x3b, 0x99, 0xb2, 0xbc, 0x78, 0xd2, 0x86, 0xc4, 0xe0, 0x11, - 0x9c, 0x74, 0x2d, 0x34, 0xdd, 0x37, 0x04, 0x2e, 0x56, 0xb4, 0xea, 0x4a, 0xb5, 0xe2, 0x99, 0x15, - 0x67, 0xe0, 0x54, 0xf8, 0x6d, 0xf9, 0xe1, 0x56, 0xa3, 0x52, 0x6b, 0x16, 0xa7, 0xbd, 0x7e, 0x8a, - 0x26, 0xaf, 0x94, 0xaa, 0xeb, 0x95, 0xe5, 0x56, 0xb3, 0xee, 0x7d, 0x59, 0x1e, 0xcd, 0xb4, 0x40, - 0x2f, 0xca, 0xc1, 0x49, 0x22, 0xdb, 0x03, 0x22, 0x55, 0x4f, 0x28, 0x7d, 0xbe, 0xb6, 0x01, 0x40, - 0x33, 0x54, 0xbc, 0xe8, 0xf7, 0xa5, 0xef, 0x71, 0xe4, 0x20, 0xec, 0x2b, 0x23, 0x42, 0x33, 0xbe, - 0x9a, 0x95, 0x89, 0x50, 0x21, 0x4d, 0x36, 0x99, 0x52, 0xfc, 0xcb, 0xa4, 0x47, 0x9c, 0x68, 0xf0, - 0x89, 0x95, 0x59, 0x26, 0x3f, 0x3f, 0x77, 0xb3, 0xaa, 0x11, 0x75, 0x58, 0x00, 0x20, 0x29, 0x44, - 0x83, 0xa8, 0x1e, 0x0c, 0x1c, 0xaf, 0xa2, 0xf4, 0xa0, 0x54, 0x6e, 0x56, 0x2f, 0x56, 0xa2, 0xf4, - 0xe0, 0x53, 0x0a, 0x4c, 0xaf, 0x62, 0xd7, 0x9b, 0x53, 0x39, 0xe8, 0x59, 0x12, 0xeb, 0x3f, 0x9e, - 0x19, 0x43, 0x2e, 0xbe, 0x0f, 0x96, 0x01, 0xe8, 0x1b, 0xfa, 0x9e, 0x51, 0x4c, 0x10, 0xbf, 0xe8, - 0x88, 0xf1, 0xea, 0x9b, 0x21, 0xef, 0x7a, 0x9f, 0xd9, 0x32, 0xf4, 0x37, 0x44, 0x0e, 0x57, 0x1e, - 0x91, 0x65, 0xdd, 0xd5, 0x35, 0x9a, 0x9f, 0x1b, 0x9d, 0x24, 0x6d, 0x97, 0x08, 0x46, 0xfe, 0x23, - 0xda, 0x9f, 0x7f, 0xa9, 0xc0, 0x19, 0xda, 0x3e, 0x4a, 0xbd, 0x5e, 0xc3, 0xb5, 0x6c, 0xac, 0xe1, - 0x36, 0x36, 0x7a, 0x6e, 0xdf, 0xfa, 0x9e, 0x4d, 0x53, 0xfd, 0xcd, 0x66, 0xf6, 0x8a, 0xde, 0xa4, - 0xc8, 0x46, 0xf8, 0x3d, 0xd4, 0x1e, 0xfb, 0xca, 0x8b, 0x68, 0xec, 0x1f, 0xcd, 0xca, 0xc4, 0xec, - 0x4d, 0x48, 0x3c, 0x19, 0x50, 0xbf, 0x7e, 0x0c, 0x40, 0xf9, 0x2b, 0x37, 0x5a, 0xa5, 0x5c, 0xa9, - 0x6e, 0x7a, 0x83, 0xc0, 0xcd, 0x70, 0xe3, 0xe6, 0x96, 0x56, 0x5e, 0x2b, 0x35, 0x2a, 0x2d, 0xad, - 0xb2, 0x5a, 0x6d, 0x34, 0x99, 0x53, 0x16, 0xfd, 0x6b, 0x4a, 0xbd, 0x09, 0xce, 0x35, 0xb6, 0x96, - 0x1a, 0x65, 0xad, 0xba, 0x49, 0xd2, 0xb5, 0x4a, 0xad, 0x72, 0x89, 0x7d, 0x9d, 0x46, 0x1f, 0x28, - 0xc2, 0xac, 0x37, 0x01, 0x68, 0xd0, 0x79, 0x01, 0xfa, 0xbb, 0x1c, 0xcc, 0x6a, 0xd8, 0xb1, 0xba, - 0x57, 0xc9, 0x1c, 0x61, 0x52, 0x53, 0x8f, 0xaf, 0x28, 0xb2, 0xe7, 0xb7, 0x39, 0x66, 0x17, 0x39, - 0x46, 0xa3, 0x27, 0x9a, 0xfa, 0x55, 0xdd, 0xe8, 0xea, 0x97, 0x59, 0x57, 0x33, 0xad, 0x85, 0x09, - 0xea, 0x22, 0xa8, 0xd6, 0x35, 0x13, 0xdb, 0x8d, 0xf6, 0xb5, 0x8a, 0xbb, 0x5b, 0xea, 0x74, 0x6c, - 0xec, 0x38, 0x6c, 0xf5, 0x62, 0xc0, 0x17, 0xf5, 0x76, 0x38, 0x49, 0x52, 0xb9, 0xcc, 0xd4, 0x41, - 0xa6, 0x3f, 0x39, 0xc8, 0x59, 0x32, 0x0f, 0xfc, 0x9c, 0x79, 0x2e, 0x67, 0x98, 0xcc, 0x1f, 0x97, - 0x28, 0x88, 0xa7, 0x74, 0x6e, 0x81, 0x59, 0x53, 0xdf, 0xc3, 0x95, 0x47, 0x7b, 0x86, 0x8d, 0x1d, - 0xe2, 0x18, 0xa3, 0x68, 0x7c, 0x12, 0xfa, 0x90, 0xd4, 0x79, 0x73, 0x39, 0x89, 0x25, 0xd3, 0xfd, - 0xd5, 0x11, 0x54, 0x7f, 0x40, 0x3f, 0xa3, 0xa0, 0x0f, 0x28, 0x30, 0xc7, 0x98, 0x2a, 0x99, 0x07, - 0xd5, 0x0e, 0xba, 0x59, 0x30, 0x7e, 0x75, 0x2f, 0xcd, 0x37, 0x7e, 0xc9, 0x0b, 0xfa, 0x7e, 0x45, - 0xd6, 0xdd, 0x79, 0x40, 0xc5, 0x49, 0x19, 0xd1, 0x8e, 0xa3, 0xdb, 0xd6, 0x3e, 0x73, 0x54, 0x9d, - 0xd6, 0xe8, 0x4b, 0x9a, 0x8b, 0x7a, 0xe8, 0xd7, 0xa4, 0x9c, 0xa9, 0x25, 0xab, 0x71, 0x4c, 0x00, - 0x7e, 0x5c, 0x81, 0x05, 0xc6, 0x55, 0x83, 0x9d, 0xf3, 0x91, 0x3a, 0xf0, 0xf6, 0x83, 0xd2, 0x86, - 0xe0, 0x80, 0xfa, 0xb3, 0x92, 0x1e, 0x33, 0x40, 0x7e, 0x58, 0x2a, 0x38, 0x9a, 0x74, 0x45, 0x8e, - 0x09, 0xca, 0x77, 0xe4, 0x60, 0x76, 0xcb, 0xc1, 0x36, 0xf3, 0xdb, 0x47, 0xaf, 0xcf, 0x81, 0xb2, - 0x8a, 0x85, 0x8d, 0xd4, 0x97, 0x4b, 0x7b, 0xf8, 0xf2, 0x95, 0xe5, 0x88, 0x7a, 0x36, 0x52, 0x04, - 0x6c, 0xb7, 0xc1, 0x02, 0x15, 0x69, 0xc9, 0x75, 0x3d, 0x23, 0xd1, 0xf7, 0xa6, 0xed, 0x4b, 0x1d, - 0xc7, 0x56, 0x11, 0x29, 0xcb, 0xcb, 0x52, 0xf6, 0x78, 0x5a, 0xc7, 0xdb, 0x74, 0x3e, 0x9b, 0xd3, - 0xfa, 0x52, 0xc9, 0xe5, 0xfa, 0x3d, 0x4c, 0xcf, 0xaf, 0x70, 0x99, 0xf3, 0x24, 0xf3, 0xa0, 0x4f, - 0xe8, 0xef, 0xa4, 0x7c, 0x75, 0xe5, 0xa5, 0x93, 0x4c, 0x17, 0x7a, 0xe3, 0x31, 0x49, 0x4e, 0x43, - 0xd1, 0xcb, 0x41, 0xf6, 0x5f, 0xb4, 0x4a, 0xa3, 0xbe, 0x7e, 0xb1, 0x32, 0x78, 0x19, 0x23, 0x8f, - 0x5e, 0xac, 0xc0, 0xcc, 0x92, 0x6d, 0xe9, 0x9d, 0xb6, 0xee, 0xb8, 0xe8, 0x6b, 0x59, 0x98, 0xdb, - 0xd4, 0x0f, 0xba, 0x96, 0xde, 0x21, 0xfe, 0xfd, 0x7d, 0x7d, 0x41, 0x8f, 0x7e, 0xf2, 0xfb, 0x02, - 0xf6, 0x2a, 0x1e, 0x0c, 0x0c, 0x8e, 0xee, 0x65, 0x64, 0xae, 0x6b, 0x0c, 0xb6, 0xf9, 0xb2, 0x83, - 0x82, 0x95, 0xfa, 0x7c, 0x2d, 0xf2, 0x3c, 0x45, 0x58, 0x94, 0x1f, 0x90, 0x0b, 0x3f, 0x2a, 0x43, - 0xf2, 0x78, 0x76, 0xe5, 0x5f, 0x32, 0x0d, 0x85, 0x65, 0x4c, 0xac, 0xb8, 0xff, 0x96, 0x85, 0xa9, - 0x06, 0x76, 0x89, 0x05, 0x77, 0x8f, 0xe0, 0x29, 0xdc, 0x21, 0x19, 0x42, 0x27, 0x76, 0xff, 0xdd, - 0x9b, 0xac, 0x73, 0xe7, 0xad, 0xc9, 0x73, 0x02, 0x8f, 0x44, 0x5a, 0xee, 0x22, 0x2b, 0xf3, 0x48, - 0x1e, 0x89, 0xb1, 0xa4, 0xd2, 0xf7, 0xb5, 0x7a, 0x57, 0x96, 0xb9, 0x56, 0x71, 0xbd, 0xde, 0x4f, - 0xf3, 0xfa, 0x19, 0xeb, 0x6d, 0xc6, 0x98, 0x8f, 0x71, 0x8e, 0x7a, 0x1a, 0x4c, 0x51, 0x99, 0xfb, - 0xf3, 0xd1, 0x7e, 0x3f, 0x05, 0x4a, 0x82, 0x9c, 0xbd, 0xf6, 0x73, 0x4a, 0xba, 0xa8, 0x45, 0x17, - 0x3e, 0x91, 0x18, 0x04, 0x73, 0x35, 0xec, 0x5e, 0xb3, 0xec, 0x2b, 0x0d, 0x57, 0x77, 0x31, 0xfa, - 0x97, 0x2c, 0x28, 0x0d, 0xec, 0xf2, 0xd1, 0x4f, 0x6a, 0x70, 0x8a, 0x56, 0x88, 0x65, 0x24, 0xfd, - 0x37, 0xad, 0xc8, 0x2d, 0x03, 0x85, 0xc0, 0xe5, 0xd3, 0x0e, 0xff, 0x8a, 0x7e, 0x6c, 0x60, 0xd0, - 0xa7, 0xec, 0x80, 0x49, 0x03, 0x93, 0x0c, 0xcf, 0xa0, 0xa7, 0x60, 0x11, 0x7a, 0xfa, 0x41, 0x29, - 0xb3, 0x5a, 0x8e, 0xe6, 0xf1, 0x74, 0x05, 0x1f, 0xbe, 0x01, 0x72, 0xe5, 0x5d, 0xdd, 0x45, 0xef, - 0x54, 0x00, 0x4a, 0x9d, 0xce, 0x06, 0xf5, 0x01, 0xe7, 0x1d, 0xd2, 0x2e, 0xc0, 0x5c, 0x7b, 0x57, - 0x0f, 0x6f, 0xce, 0xa0, 0xfd, 0x81, 0x90, 0xa6, 0x3e, 0x3d, 0x74, 0x26, 0xa7, 0x52, 0x45, 0x7d, - 0x30, 0x79, 0x65, 0x30, 0xda, 0x81, 0xa3, 0xb9, 0x18, 0x0a, 0x33, 0xf6, 0x08, 0x9d, 0xf7, 0xfb, - 0x62, 0xc8, 0x5e, 0xf4, 0x1c, 0x8e, 0x91, 0x0e, 0x0e, 0xd8, 0x84, 0x09, 0x09, 0x4f, 0x7a, 0xcb, - 0x05, 0xf4, 0x88, 0xe7, 0x6b, 0x22, 0xa1, 0x6b, 0xd5, 0x4a, 0xc7, 0xf0, 0x45, 0xcb, 0x02, 0x66, - 0xa1, 0x97, 0x65, 0x92, 0xc1, 0x17, 0x2f, 0xb8, 0xe7, 0xc0, 0x3c, 0xee, 0x18, 0x2e, 0xf6, 0x6b, - 0xc9, 0x04, 0x18, 0x07, 0xb1, 0xf8, 0x03, 0x7a, 0xa1, 0x74, 0xd0, 0x35, 0x22, 0xd0, 0xc3, 0x35, - 0x8a, 0x68, 0x7f, 0x72, 0x61, 0xd4, 0xe4, 0x68, 0xa6, 0x0f, 0xd6, 0xf7, 0x28, 0x70, 0xa6, 0x69, - 0xed, 0xec, 0x74, 0xb1, 0x2f, 0x26, 0x4c, 0xbd, 0x33, 0x91, 0x3e, 0x4e, 0xb8, 0xc8, 0x4e, 0x90, - 0xf5, 0x88, 0x11, 0x1c, 0x25, 0xf3, 0x5e, 0xc4, 0x13, 0x53, 0xb1, 0xb3, 0x28, 0x22, 0xae, 0x81, - 0x7c, 0x46, 0xa0, 0x20, 0x17, 0xf0, 0x59, 0x9a, 0x6c, 0xfa, 0x40, 0x7c, 0x36, 0x0b, 0xf3, 0xf4, - 0x5e, 0x44, 0x5f, 0x41, 0x1f, 0x1a, 0x23, 0x00, 0xe8, 0x6b, 0x19, 0x59, 0x3f, 0x5b, 0x22, 0x13, - 0x81, 0x93, 0x08, 0x11, 0xcb, 0x05, 0x55, 0x19, 0x4a, 0x2e, 0x7d, 0xd1, 0xfe, 0x8e, 0x02, 0xb3, - 0xab, 0xd8, 0x6f, 0x69, 0x4e, 0xe2, 0x9e, 0xe8, 0x02, 0xcc, 0x91, 0xcb, 0xc1, 0xea, 0xec, 0x98, - 0x24, 0x5d, 0x35, 0x13, 0xd2, 0xd4, 0x5b, 0x61, 0xfe, 0x32, 0xde, 0xb6, 0x6c, 0x5c, 0x17, 0xce, - 0x52, 0x8a, 0x89, 0x11, 0xe1, 0xe9, 0x84, 0x38, 0x68, 0x4b, 0x22, 0x36, 0x77, 0x1e, 0x16, 0x26, - 0x57, 0x95, 0x88, 0x31, 0xe7, 0x19, 0x30, 0xcd, 0x90, 0xf7, 0xcd, 0xb4, 0xb8, 0x7e, 0x31, 0xc8, - 0x8b, 0x7e, 0x26, 0x40, 0xb4, 0x22, 0x20, 0xfa, 0xd4, 0x24, 0x4c, 0x4c, 0xe4, 0xf6, 0xf0, 0x22, - 0x57, 0xfe, 0xd2, 0x41, 0xb5, 0xe3, 0xa0, 0x8d, 0x64, 0x98, 0x9e, 0x07, 0x08, 0x1a, 0x87, 0x1f, - 0xd6, 0x82, 0x4b, 0x11, 0x23, 0xd7, 0xc7, 0x1e, 0xd4, 0xeb, 0x17, 0x07, 0x61, 0x67, 0xcc, 0xc0, - 0xc8, 0x1d, 0xf0, 0x93, 0xe1, 0x24, 0x7d, 0x74, 0x3e, 0xa9, 0xc0, 0x99, 0xe0, 0xfc, 0xd1, 0xba, - 0xee, 0x84, 0xed, 0xae, 0x9c, 0x0c, 0x22, 0xe1, 0xc0, 0x47, 0xd0, 0x58, 0xfe, 0x3e, 0xd9, 0x98, - 0x31, 0x90, 0x93, 0xf1, 0xa2, 0xa3, 0xde, 0x09, 0xa7, 0xcc, 0xfd, 0xbd, 0x40, 0xea, 0xa4, 0xc5, - 0xb3, 0x16, 0x7e, 0xf8, 0x43, 0x92, 0x91, 0x49, 0x86, 0xf9, 0x89, 0xcc, 0x29, 0x85, 0x23, 0x5d, - 0x4f, 0x4e, 0x04, 0x23, 0xfa, 0xa7, 0x4c, 0xa2, 0xde, 0x6d, 0xf8, 0x99, 0xaf, 0x04, 0xbd, 0xd4, - 0x31, 0x1e, 0xf8, 0xba, 0x30, 0x05, 0xf9, 0xca, 0x5e, 0xcf, 0x3d, 0xb8, 0xf0, 0x04, 0x98, 0x6f, - 0xb8, 0x36, 0xd6, 0xf7, 0xb8, 0x9d, 0x01, 0xd7, 0xba, 0x82, 0x4d, 0x7f, 0x67, 0x80, 0xbc, 0xdc, - 0x7b, 0x0f, 0x4c, 0x99, 0x56, 0x4b, 0xdf, 0x77, 0x77, 0xd5, 0x9b, 0x0f, 0x1d, 0xa9, 0x67, 0xe0, - 0xd7, 0x59, 0x0c, 0xa3, 0x2f, 0xdd, 0x47, 0xd6, 0x86, 0x0b, 0xa6, 0x55, 0xda, 0x77, 0x77, 0x97, - 0x6e, 0xfa, 0xf8, 0x9f, 0x9d, 0xcf, 0x7c, 0xea, 0xcf, 0xce, 0x67, 0xbe, 0xf8, 0x67, 0xe7, 0x33, - 0x3f, 0xf8, 0xe7, 0xe7, 0x4f, 0x7c, 0xea, 0xcf, 0xcf, 0x9f, 0xf8, 0xec, 0x9f, 0x9f, 0x3f, 0xf1, - 0xad, 0xd9, 0xde, 0xe5, 0xcb, 0x05, 0x42, 0xe5, 0x69, 0xff, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, - 0x95, 0x94, 0x35, 0x93, 0x7f, 0x14, 0x02, 0x00, + // 20272 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x7d, 0x98, 0x2c, 0x47, + 0x59, 0x37, 0x7c, 0xa6, 0x7b, 0x66, 0x76, 0xb6, 0xf6, 0xe3, 0xcc, 0xe9, 0x9c, 0x73, 0x72, 0x52, + 0x09, 0x27, 0xf1, 0x24, 0x84, 0x18, 0xc2, 0x86, 0x04, 0x44, 0x12, 0x12, 0x92, 0xd9, 0xd9, 0xde, + 0xdd, 0x49, 0x76, 0x67, 0xd6, 0x9e, 0xd9, 0x73, 0x88, 0xbe, 0xbe, 0x63, 0xef, 0x4c, 0xed, 0x6e, + 0xe7, 0xcc, 0x76, 0x0f, 0xdd, 0xbd, 0x7b, 0xb2, 0xbc, 0xd7, 0xf3, 0x3e, 0x22, 0x46, 0x50, 0x44, + 0x44, 0x45, 0x45, 0x05, 0x24, 0x18, 0x11, 0x94, 0xef, 0xaf, 0x07, 0x90, 0x0f, 0x81, 0xc8, 0x87, + 0x88, 0x08, 0x22, 0x1f, 0xca, 0x25, 0x08, 0x22, 0x3e, 0x97, 0x3c, 0xbc, 0xf8, 0x3e, 0x82, 0xf8, + 0xc0, 0xe3, 0x7b, 0x75, 0x55, 0x75, 0x77, 0xd5, 0xec, 0x74, 0x4f, 0xf5, 0xec, 0xf4, 0x6c, 0x90, + 0xf7, 0xbf, 0xee, 0xea, 0xea, 0xbb, 0xee, 0xba, 0x7f, 0x77, 0x55, 0xdd, 0x55, 0x75, 0xd7, 0x5d, + 0xe0, 0x4c, 0x77, 0xe3, 0xe6, 0xae, 0x6d, 0xb9, 0x96, 0x73, 0x73, 0xcb, 0xda, 0xd9, 0xd1, 0xcd, + 0xb6, 0x33, 0x87, 0xdf, 0x95, 0x09, 0xdd, 0xdc, 0x77, 0xf7, 0xbb, 0x08, 0x5e, 0xd7, 0xbd, 0xb8, + 0x75, 0x73, 0xc7, 0xd8, 0xb8, 0xb9, 0xbb, 0x71, 0xf3, 0x8e, 0xd5, 0x46, 0x1d, 0xff, 0x07, 0xfc, + 0x42, 0xb3, 0xc3, 0x1b, 0xa2, 0x72, 0x75, 0xac, 0x96, 0xde, 0x71, 0x5c, 0xcb, 0x46, 0x34, 0xe7, + 0xe9, 0xb0, 0x48, 0xb4, 0x87, 0x4c, 0xd7, 0xa7, 0x70, 0xd5, 0x96, 0x65, 0x6d, 0x75, 0x10, 0xf9, + 0xb6, 0xb1, 0xbb, 0x79, 0xb3, 0xe3, 0xda, 0xbb, 0x2d, 0x97, 0x7e, 0xbd, 0xa6, 0xf7, 0x6b, 0x1b, + 0x39, 0x2d, 0xdb, 0xe8, 0xba, 0x96, 0x4d, 0x72, 0x9c, 0x7b, 0xc5, 0xab, 0x0b, 0x40, 0xd6, 0xba, + 0x2d, 0xf8, 0xad, 0x09, 0x20, 0x97, 0xba, 0x5d, 0xf8, 0x88, 0x04, 0xc0, 0x12, 0x72, 0xcf, 0x23, + 0xdb, 0x31, 0x2c, 0x13, 0x1e, 0x07, 0x13, 0x1a, 0x7a, 0xe6, 0x2e, 0x72, 0xdc, 0xdb, 0xb3, 0xcf, + 0xfb, 0xaa, 0x9c, 0x81, 0x0f, 0x4b, 0xa0, 0xa0, 0x21, 0xa7, 0x6b, 0x99, 0x0e, 0x52, 0xee, 0x06, + 0x39, 0x64, 0xdb, 0x96, 0x7d, 0x26, 0x73, 0x4d, 0xe6, 0x86, 0xa9, 0x5b, 0x6f, 0x9c, 0xa3, 0xd5, + 0x9f, 0xd3, 0xba, 0xad, 0xb9, 0x52, 0xb7, 0x3b, 0x17, 0x52, 0x9a, 0xf3, 0x7f, 0x9a, 0x53, 0xbd, + 0x3f, 0x34, 0xf2, 0xa3, 0x72, 0x06, 0x4c, 0xec, 0x91, 0x0c, 0x67, 0xa4, 0x6b, 0x32, 0x37, 0x4c, + 0x6a, 0xfe, 0xab, 0xf7, 0xa5, 0x8d, 0x5c, 0xdd, 0xe8, 0x38, 0x67, 0x64, 0xf2, 0x85, 0xbe, 0xc2, + 0x87, 0x32, 0x20, 0x87, 0x89, 0x28, 0x65, 0x90, 0x6d, 0x59, 0x6d, 0x84, 0x8b, 0x9f, 0xbd, 0xf5, + 0x66, 0xf1, 0xe2, 0xe7, 0xca, 0x56, 0x1b, 0x69, 0xf8, 0x67, 0xe5, 0x1a, 0x30, 0xe5, 0x8b, 0x25, + 0x64, 0x83, 0x4d, 0x3a, 0x77, 0x2b, 0xc8, 0x7a, 0xf9, 0x95, 0x02, 0xc8, 0x56, 0xd7, 0x57, 0x56, + 0x8a, 0xc7, 0x94, 0x13, 0x60, 0x66, 0xbd, 0x7a, 0x6f, 0xb5, 0x76, 0xa1, 0xda, 0x54, 0x35, 0xad, + 0xa6, 0x15, 0x33, 0xca, 0x0c, 0x98, 0x9c, 0x2f, 0x2d, 0x34, 0x2b, 0xd5, 0xb5, 0xf5, 0x46, 0x51, + 0x82, 0x2f, 0x93, 0xc1, 0x6c, 0x1d, 0xb9, 0x0b, 0x68, 0xcf, 0x68, 0xa1, 0xba, 0xab, 0xbb, 0x08, + 0xbe, 0x30, 0x13, 0x08, 0x53, 0x59, 0xf7, 0x0a, 0x0d, 0x3e, 0xd1, 0x0a, 0x3c, 0xe9, 0x40, 0x05, + 0x78, 0x0a, 0x73, 0xf4, 0xef, 0x39, 0x26, 0x4d, 0x63, 0xe9, 0x9c, 0x7b, 0x02, 0x98, 0x62, 0xbe, + 0x29, 0xb3, 0x00, 0xcc, 0x97, 0xca, 0xf7, 0x2e, 0x69, 0xb5, 0xf5, 0xea, 0x42, 0xf1, 0x98, 0xf7, + 0xbe, 0x58, 0xd3, 0x54, 0xfa, 0x9e, 0x81, 0xdf, 0xc9, 0x30, 0x60, 0x2e, 0xf0, 0x60, 0xce, 0x0d, + 0x66, 0xa6, 0x0f, 0xa0, 0xf0, 0xf7, 0x03, 0x70, 0x96, 0x38, 0x70, 0x9e, 0x94, 0x8c, 0x5c, 0xfa, + 0x00, 0x3d, 0x28, 0x81, 0x42, 0x7d, 0x7b, 0xd7, 0x6d, 0x5b, 0x97, 0x4c, 0x38, 0x19, 0x20, 0x03, + 0xbf, 0xce, 0xca, 0xe4, 0xe9, 0xbc, 0x4c, 0x6e, 0x38, 0x58, 0x09, 0x4a, 0x21, 0x42, 0x1a, 0xbf, + 0x1b, 0x48, 0xa3, 0xc4, 0x49, 0xe3, 0x09, 0xa2, 0x84, 0xd2, 0x97, 0xc3, 0x6f, 0x3d, 0x15, 0xe4, + 0xea, 0x5d, 0xbd, 0x85, 0xe0, 0xc7, 0x64, 0x30, 0xbd, 0x82, 0xf4, 0x3d, 0x54, 0xea, 0x76, 0x6d, + 0x6b, 0x0f, 0xc1, 0x72, 0xa8, 0xaf, 0x67, 0xc0, 0x84, 0xe3, 0x65, 0xaa, 0xb4, 0x71, 0x0d, 0x26, + 0x35, 0xff, 0x55, 0x39, 0x0b, 0x80, 0xd1, 0x46, 0xa6, 0x6b, 0xb8, 0x06, 0x72, 0xce, 0x48, 0xd7, + 0xc8, 0x37, 0x4c, 0x6a, 0x4c, 0x0a, 0xfc, 0x96, 0x24, 0xaa, 0x63, 0x98, 0x8b, 0x39, 0x96, 0x83, + 0x08, 0xa9, 0xbe, 0x52, 0x12, 0xd1, 0xb1, 0x81, 0xe4, 0x92, 0xc9, 0xf6, 0x75, 0x99, 0xe4, 0xc2, + 0xf5, 0x72, 0x54, 0x6b, 0xcd, 0xfa, 0x7a, 0x79, 0xb9, 0x59, 0x5f, 0x2b, 0x95, 0xd5, 0x22, 0x52, + 0x4e, 0x82, 0x22, 0x7e, 0x6c, 0x56, 0xea, 0xcd, 0x05, 0x75, 0x45, 0x6d, 0xa8, 0x0b, 0xc5, 0x4d, + 0x45, 0x01, 0xb3, 0x9a, 0xfa, 0x63, 0xeb, 0x6a, 0xbd, 0xd1, 0x5c, 0x2c, 0x55, 0x56, 0xd4, 0x85, + 0xe2, 0x96, 0xf7, 0xf3, 0x4a, 0x65, 0xb5, 0xd2, 0x68, 0x6a, 0x6a, 0xa9, 0xbc, 0xac, 0x2e, 0x14, + 0xb7, 0x95, 0xcb, 0xc1, 0x65, 0xd5, 0x5a, 0xb3, 0xb4, 0xb6, 0xa6, 0xd5, 0xce, 0xab, 0x4d, 0xfa, + 0x47, 0xbd, 0x68, 0x90, 0x82, 0x1a, 0xcd, 0xfa, 0x72, 0x49, 0x53, 0x4b, 0xf3, 0x2b, 0x6a, 0xf1, + 0x7e, 0xf8, 0x1c, 0x19, 0xcc, 0xac, 0xea, 0x17, 0x51, 0x7d, 0x5b, 0xb7, 0x91, 0xbe, 0xd1, 0x41, + 0xf0, 0x5a, 0x01, 0x3c, 0xe1, 0xc7, 0x58, 0xbc, 0x54, 0x1e, 0xaf, 0x9b, 0xfb, 0x08, 0x98, 0x2b, + 0x22, 0x02, 0xb0, 0x7f, 0x0b, 0x9a, 0xc1, 0x32, 0x07, 0xd8, 0x93, 0x13, 0xd2, 0x4b, 0x86, 0xd8, + 0xcf, 0x3c, 0x0a, 0x10, 0x83, 0x5f, 0x90, 0xc1, 0x6c, 0xc5, 0xdc, 0x33, 0x5c, 0xb4, 0x84, 0x4c, + 0x64, 0x7b, 0xe3, 0x80, 0x10, 0x0c, 0x0f, 0xcb, 0x0c, 0x0c, 0x8b, 0x3c, 0x0c, 0x4f, 0xec, 0x23, + 0x36, 0xbe, 0x8c, 0x88, 0xd1, 0xf6, 0x2a, 0x30, 0x69, 0xe0, 0x7c, 0x65, 0xa3, 0x4d, 0x25, 0x16, + 0x26, 0x28, 0xd7, 0x81, 0x19, 0xf2, 0xb2, 0x68, 0x74, 0xd0, 0xbd, 0x68, 0x9f, 0x8e, 0xbb, 0x7c, + 0x22, 0xfc, 0xc5, 0xa0, 0xf1, 0x55, 0x38, 0x2c, 0x7f, 0x24, 0x29, 0x53, 0xc9, 0xc0, 0x7c, 0xf1, + 0xa3, 0xa1, 0xf9, 0x1d, 0x68, 0x65, 0x06, 0xfc, 0x9e, 0x04, 0xa6, 0xea, 0xae, 0xd5, 0xf5, 0x54, + 0xd6, 0x30, 0xb7, 0xc4, 0xc0, 0xfd, 0x30, 0xdb, 0xc6, 0xca, 0x3c, 0xb8, 0x4f, 0xe8, 0x23, 0x47, + 0xa6, 0x80, 0x88, 0x16, 0xf6, 0xad, 0xa0, 0x85, 0x2d, 0x72, 0xa8, 0xdc, 0x9a, 0x88, 0xda, 0xf7, + 0x61, 0xfb, 0x7a, 0xb1, 0x0c, 0x8a, 0xbe, 0x9a, 0xb9, 0xe5, 0x5d, 0xdb, 0x46, 0xa6, 0x2b, 0x06, + 0xc2, 0xdf, 0xb0, 0x20, 0x2c, 0xf3, 0x20, 0xdc, 0x1a, 0xa3, 0xcc, 0x7e, 0x29, 0x29, 0xb6, 0xb1, + 0xf7, 0x05, 0x68, 0xde, 0xcb, 0xa1, 0xf9, 0xa3, 0xc9, 0xd9, 0x4a, 0x06, 0xe9, 0xf2, 0x10, 0x88, + 0x9e, 0x04, 0x45, 0x6f, 0x4c, 0x2a, 0x37, 0x2a, 0xe7, 0xd5, 0x66, 0xa5, 0x7a, 0xbe, 0xd2, 0x50, + 0x8b, 0x08, 0xfe, 0xaa, 0x0c, 0xa6, 0x09, 0x6b, 0x1a, 0xda, 0xb3, 0x2e, 0x0a, 0xf6, 0x7a, 0x5f, + 0x48, 0x68, 0x2c, 0xb0, 0x25, 0x44, 0xb4, 0x8c, 0x5f, 0x48, 0x60, 0x2c, 0xc4, 0x90, 0x7b, 0x34, + 0xf5, 0x56, 0x07, 0x9a, 0xc1, 0x56, 0x9f, 0xd6, 0xd2, 0xb7, 0xb7, 0x7a, 0x71, 0x16, 0x00, 0x52, + 0xc9, 0xf3, 0x06, 0xba, 0x04, 0x57, 0x43, 0x4c, 0x38, 0xb5, 0xcd, 0x0c, 0x54, 0x5b, 0xa9, 0x9f, + 0xda, 0xbe, 0x9d, 0x1d, 0xb3, 0xe6, 0x79, 0xf4, 0x6e, 0x8a, 0x14, 0xb7, 0xc7, 0x49, 0xf4, 0xec, + 0xd0, 0x57, 0x14, 0x89, 0xb7, 0x3a, 0xaf, 0x02, 0x93, 0xf8, 0xb1, 0xaa, 0xef, 0x20, 0xda, 0x86, + 0xc2, 0x04, 0xe5, 0x1c, 0x98, 0x26, 0x19, 0x5b, 0x96, 0xe9, 0xd5, 0x27, 0x8b, 0x33, 0x70, 0x69, + 0x1e, 0x88, 0x2d, 0x1b, 0xe9, 0xae, 0x65, 0x63, 0x1a, 0x39, 0x02, 0x22, 0x93, 0x04, 0xbf, 0x16, + 0xb4, 0x42, 0x95, 0xd3, 0x9c, 0x5b, 0x92, 0x54, 0x25, 0x99, 0xde, 0xec, 0x0d, 0xd7, 0xfe, 0x48, + 0xab, 0x6b, 0x7a, 0x68, 0x2f, 0xe2, 0xa9, 0x1d, 0x52, 0x4e, 0x03, 0x85, 0xa6, 0x7a, 0x79, 0xcb, + 0xb5, 0x6a, 0x43, 0xad, 0x36, 0x8a, 0x9b, 0x7d, 0x35, 0x6a, 0x0b, 0xbe, 0x32, 0x0b, 0xb2, 0xf7, + 0x58, 0x86, 0x09, 0x1f, 0xcc, 0x70, 0x2a, 0x61, 0x22, 0xf7, 0x92, 0x65, 0x5f, 0x0c, 0x1a, 0x6a, + 0x98, 0x10, 0x8f, 0x4d, 0xa8, 0x4a, 0xf2, 0x40, 0x55, 0xca, 0xf6, 0x53, 0xa5, 0x5f, 0x61, 0x55, + 0xe9, 0x0e, 0x5e, 0x95, 0xae, 0xef, 0x23, 0x7f, 0x8f, 0xf9, 0x88, 0x0e, 0xe0, 0x43, 0x41, 0x07, + 0x70, 0x17, 0x07, 0xe3, 0xe3, 0xc5, 0xc8, 0x24, 0x03, 0xf0, 0xf3, 0xa9, 0x36, 0xfc, 0x7e, 0x50, + 0x6f, 0x45, 0x40, 0xbd, 0xdd, 0xa7, 0x4f, 0x30, 0x0e, 0x76, 0x1d, 0xf7, 0x1f, 0xec, 0x26, 0x2e, + 0x2a, 0xa7, 0xc0, 0x89, 0x85, 0xca, 0xe2, 0xa2, 0xaa, 0xa9, 0xd5, 0x46, 0xb3, 0xaa, 0x36, 0x2e, + 0xd4, 0xb4, 0x7b, 0x8b, 0x1d, 0xf8, 0x90, 0x0c, 0x80, 0x27, 0xa1, 0xb2, 0x6e, 0xb6, 0x50, 0x47, + 0xac, 0x47, 0xff, 0x1f, 0x52, 0xb2, 0x3e, 0x21, 0xa4, 0x1f, 0x01, 0xe7, 0x4b, 0x25, 0xf1, 0x56, + 0x19, 0x49, 0x2c, 0x19, 0xa8, 0xaf, 0x79, 0x34, 0xd8, 0x9e, 0x97, 0x81, 0xe3, 0x3e, 0x3d, 0x9a, + 0xbd, 0xff, 0xb4, 0xef, 0xf5, 0x59, 0x30, 0x4b, 0x61, 0xf1, 0xe7, 0xf1, 0xcf, 0xcb, 0x88, 0x4c, + 0xe4, 0x21, 0x28, 0xd0, 0x69, 0xbb, 0xdf, 0xbd, 0x07, 0xef, 0xca, 0x12, 0x98, 0xea, 0x22, 0x7b, + 0xc7, 0x70, 0x1c, 0xc3, 0x32, 0xc9, 0x82, 0xdc, 0xec, 0xad, 0x8f, 0x0d, 0x24, 0x8e, 0xd7, 0x2e, + 0xe7, 0xd6, 0x74, 0xdb, 0x35, 0x5a, 0x46, 0x57, 0x37, 0xdd, 0xb5, 0x30, 0xb3, 0xc6, 0xfe, 0x09, + 0x5f, 0x94, 0x70, 0x5a, 0xc3, 0xd7, 0x24, 0x42, 0x25, 0xfe, 0x38, 0xc1, 0x94, 0x24, 0x96, 0x60, + 0x32, 0xb5, 0x78, 0x24, 0x55, 0xb5, 0xe8, 0x83, 0xf7, 0x96, 0x72, 0x05, 0x38, 0x55, 0xa9, 0x96, + 0x6b, 0x9a, 0xa6, 0x96, 0x1b, 0xcd, 0x35, 0x55, 0x5b, 0xad, 0xd4, 0xeb, 0x95, 0x5a, 0xb5, 0x7e, + 0x98, 0xd6, 0x0e, 0x3f, 0x2a, 0x07, 0x1a, 0xb3, 0x80, 0x5a, 0x1d, 0xc3, 0x44, 0xf0, 0xae, 0x43, + 0x2a, 0x0c, 0xbf, 0xea, 0x23, 0x8e, 0x33, 0x2d, 0x3f, 0x02, 0xe7, 0x57, 0x24, 0xc7, 0xb9, 0x3f, + 0xc1, 0xff, 0xc4, 0xcd, 0xff, 0x0b, 0x32, 0x38, 0xc1, 0x34, 0x44, 0x0d, 0xed, 0x8c, 0x6c, 0x25, + 0xef, 0x67, 0xd8, 0xb6, 0x5b, 0xe1, 0x31, 0xed, 0x67, 0x4d, 0x1f, 0x60, 0x23, 0x02, 0xd6, 0xd7, + 0x04, 0xb0, 0xae, 0x70, 0xb0, 0x3e, 0x75, 0x08, 0x9a, 0xc9, 0x90, 0x7d, 0x43, 0xaa, 0xc8, 0x5e, + 0x01, 0x4e, 0xad, 0x95, 0xb4, 0x46, 0xa5, 0x5c, 0x59, 0x2b, 0x79, 0xe3, 0x28, 0x33, 0x64, 0x47, + 0x98, 0xeb, 0x3c, 0xe8, 0x7d, 0xf1, 0x7d, 0x6f, 0x16, 0x5c, 0xd5, 0xbf, 0xa3, 0x2d, 0x6f, 0xeb, + 0xe6, 0x16, 0x82, 0x86, 0x08, 0xd4, 0x0b, 0x60, 0xa2, 0x85, 0xb3, 0x13, 0x9c, 0xd9, 0xad, 0x9b, + 0x98, 0xbe, 0x9c, 0x94, 0xa0, 0xf9, 0xbf, 0xc2, 0x37, 0xb3, 0x0a, 0xd1, 0xe0, 0x15, 0xe2, 0xe9, + 0xf1, 0xe0, 0x1d, 0xe0, 0x3b, 0x42, 0x37, 0x3e, 0x11, 0xe8, 0xc6, 0x05, 0x4e, 0x37, 0xca, 0x87, + 0x23, 0x9f, 0x4c, 0x4d, 0xfe, 0xec, 0xd1, 0xd0, 0x01, 0x44, 0x6a, 0x93, 0x11, 0x3d, 0x2a, 0xf4, + 0xed, 0xee, 0x5f, 0x2e, 0x83, 0xfc, 0x02, 0xea, 0x20, 0xd1, 0x95, 0xc8, 0x6f, 0x48, 0xa2, 0x1b, + 0x22, 0x04, 0x06, 0x42, 0x3b, 0x7a, 0x75, 0xc4, 0x35, 0x76, 0x90, 0xe3, 0xea, 0x3b, 0x5d, 0x2c, + 0x6a, 0x59, 0x0b, 0x13, 0xe0, 0xcf, 0x4a, 0x22, 0xdb, 0x25, 0x31, 0xc5, 0xfc, 0xe7, 0x58, 0x53, + 0xfc, 0x94, 0x04, 0x0a, 0x75, 0xe4, 0xd6, 0xec, 0x36, 0xb2, 0x61, 0x3d, 0xc4, 0xe8, 0x1a, 0x30, + 0x85, 0x41, 0xf1, 0xa6, 0x99, 0x01, 0x4e, 0x6c, 0x92, 0x72, 0x3d, 0x98, 0x0d, 0x5e, 0xf1, 0xef, + 0xb4, 0x1b, 0xef, 0x49, 0x85, 0xdf, 0xcc, 0x88, 0xee, 0xe2, 0xd2, 0x25, 0x43, 0xca, 0x4d, 0x44, + 0x2b, 0x15, 0xdb, 0x91, 0x8d, 0x25, 0x95, 0xfe, 0x46, 0xd7, 0x1b, 0x25, 0x00, 0xd6, 0x4d, 0xc7, + 0x97, 0xeb, 0xe3, 0x13, 0xc8, 0x15, 0xfe, 0x6b, 0x26, 0xd9, 0x2c, 0x26, 0x2c, 0x27, 0x42, 0x62, + 0xbf, 0x97, 0x60, 0x6d, 0x21, 0x92, 0x58, 0xfa, 0x32, 0xfb, 0xec, 0x71, 0x90, 0xbf, 0xa0, 0x77, + 0x3a, 0xc8, 0x85, 0x2f, 0x93, 0x41, 0xbe, 0x6c, 0x23, 0xdd, 0x45, 0x10, 0x85, 0xa2, 0x83, 0xa0, + 0x60, 0x5b, 0x96, 0xbb, 0xa6, 0xbb, 0xdb, 0x54, 0x6e, 0xc1, 0xbb, 0xf2, 0x54, 0x70, 0xf9, 0xe6, + 0x6e, 0xa7, 0xe3, 0xa2, 0x07, 0xdc, 0x35, 0xdb, 0xd8, 0xd1, 0xed, 0xfd, 0x15, 0xdd, 0xdc, 0xda, + 0xd5, 0xb7, 0x10, 0x65, 0x2f, 0xea, 0x33, 0x75, 0x35, 0xf8, 0x23, 0xb6, 0xe3, 0xb9, 0x8b, 0x17, + 0xfa, 0x0f, 0x73, 0x72, 0x22, 0x2c, 0xce, 0x11, 0xf6, 0x22, 0x7a, 0x1e, 0x08, 0x0a, 0x3b, 0x26, + 0xda, 0xb1, 0x4c, 0xa3, 0xe5, 0x5b, 0xab, 0xfe, 0x3b, 0x7c, 0x7f, 0x80, 0xc6, 0x3c, 0x87, 0xc6, + 0x9c, 0x70, 0x29, 0xc9, 0xa0, 0xa8, 0x0f, 0xd1, 0xef, 0x5c, 0x0d, 0xae, 0x24, 0xdd, 0x48, 0xb3, + 0x51, 0x6b, 0x96, 0x35, 0xb5, 0xd4, 0x50, 0x9b, 0x2b, 0xb5, 0x72, 0x69, 0xa5, 0xa9, 0xa9, 0x6b, + 0xb5, 0x22, 0xf2, 0x66, 0xe7, 0x13, 0x1a, 0x6a, 0x59, 0x7b, 0xc8, 0x86, 0xcf, 0xce, 0x88, 0x41, + 0x14, 0x23, 0x94, 0x38, 0xf8, 0x64, 0x11, 0xf8, 0x7e, 0x45, 0xd8, 0x53, 0x84, 0x0a, 0x96, 0x32, + 0x1f, 0xd1, 0x62, 0x3e, 0x20, 0xd4, 0xc7, 0xc4, 0x92, 0x7a, 0x14, 0x80, 0xf4, 0x3f, 0x25, 0x30, + 0x51, 0xb6, 0xcc, 0x3d, 0x64, 0xbb, 0xec, 0x24, 0x8b, 0xc5, 0x21, 0xd3, 0x83, 0xc3, 0x19, 0x30, + 0x81, 0x4c, 0xd7, 0xb6, 0xba, 0xfe, 0x2c, 0xcb, 0x7f, 0x85, 0xaf, 0x4a, 0x2a, 0x61, 0x5a, 0x72, + 0xf4, 0x6a, 0x6b, 0xff, 0x82, 0x38, 0xf6, 0xe4, 0x9e, 0xb6, 0xf3, 0x50, 0x12, 0x5c, 0xfa, 0x33, + 0x90, 0x7e, 0x3f, 0xf6, 0x45, 0x19, 0xcc, 0x90, 0x76, 0x5b, 0x47, 0xd8, 0x2c, 0x84, 0x35, 0x76, + 0x9d, 0xb3, 0x47, 0xf8, 0xcb, 0xc7, 0x38, 0xf1, 0xe7, 0xf5, 0x6e, 0x37, 0x58, 0xf3, 0x5e, 0x3e, + 0xa6, 0xd1, 0x77, 0xa2, 0xe6, 0xf3, 0x79, 0x90, 0xd5, 0x77, 0xdd, 0x6d, 0xf8, 0x3d, 0xe1, 0x19, + 0x2f, 0xd7, 0x8f, 0x50, 0x7e, 0x22, 0x20, 0x39, 0x09, 0x72, 0xae, 0x75, 0x11, 0xf9, 0x72, 0x20, + 0x2f, 0x1e, 0x1c, 0x7a, 0xb7, 0xdb, 0xc0, 0x1f, 0x28, 0x1c, 0xfe, 0xbb, 0x67, 0x60, 0xe9, 0xad, + 0x96, 0xb5, 0x6b, 0xba, 0x15, 0x7f, 0xdd, 0x3b, 0x4c, 0x80, 0x9f, 0xcd, 0x88, 0xcc, 0xa0, 0x05, + 0x18, 0x4c, 0x06, 0xd9, 0xc6, 0x10, 0x4d, 0x69, 0x0e, 0xdc, 0x58, 0x5a, 0x5b, 0x6b, 0x36, 0x6a, + 0xf7, 0xaa, 0xd5, 0xd0, 0xda, 0x6d, 0x56, 0xaa, 0xcd, 0xc6, 0xb2, 0xda, 0x2c, 0xaf, 0x6b, 0x78, + 0x71, 0xb2, 0x54, 0x2e, 0xd7, 0xd6, 0xab, 0x8d, 0x22, 0x82, 0xaf, 0x95, 0xc0, 0x74, 0xb9, 0x63, + 0x39, 0x01, 0xc2, 0x57, 0x87, 0x08, 0x07, 0x62, 0xcc, 0x30, 0x62, 0x84, 0xff, 0x2b, 0x23, 0xea, + 0xe9, 0xe0, 0x0b, 0x84, 0x21, 0x1f, 0xd1, 0x4b, 0xbd, 0x4a, 0xc8, 0xd3, 0x61, 0x30, 0xbd, 0xf4, + 0x9b, 0xc4, 0xe7, 0x55, 0x30, 0x51, 0x22, 0x8a, 0x01, 0xff, 0x2e, 0x03, 0xf2, 0x65, 0xcb, 0xdc, + 0x34, 0xb6, 0x3c, 0x0b, 0x12, 0x99, 0xfa, 0x46, 0x07, 0x2d, 0xe8, 0xae, 0xbe, 0x67, 0xa0, 0x4b, + 0xb8, 0x02, 0x05, 0xad, 0x27, 0xd5, 0x63, 0x8a, 0xa6, 0xa0, 0x8d, 0xdd, 0x2d, 0xcc, 0x54, 0x41, + 0x63, 0x93, 0xbc, 0xf1, 0x83, 0xbc, 0xae, 0xd9, 0xc8, 0x46, 0x1d, 0xa4, 0x3b, 0xc8, 0x9b, 0x8b, + 0x99, 0xa8, 0x83, 0x95, 0xb6, 0xa0, 0x45, 0x7d, 0x56, 0xce, 0x81, 0x69, 0xf2, 0x09, 0xdb, 0x3f, + 0x0e, 0x56, 0xe3, 0x82, 0xc6, 0xa5, 0x29, 0x4f, 0x00, 0x39, 0xf4, 0x80, 0x6b, 0xeb, 0x67, 0xda, + 0x18, 0xaf, 0xcb, 0xe7, 0x88, 0xab, 0xe3, 0x9c, 0xef, 0xea, 0x38, 0x57, 0xc7, 0x8e, 0x90, 0x1a, + 0xc9, 0x05, 0x3f, 0x5a, 0x08, 0xac, 0x97, 0xd7, 0xca, 0xa1, 0x62, 0x28, 0x20, 0x6b, 0xea, 0x3b, + 0x88, 0xea, 0x05, 0x7e, 0x56, 0x6e, 0x04, 0xc7, 0xf5, 0x3d, 0xdd, 0xd5, 0xed, 0x15, 0xab, 0xa5, + 0x77, 0xf0, 0xb0, 0xe9, 0xb7, 0xfc, 0xde, 0x0f, 0x78, 0x1b, 0xca, 0xb5, 0x6c, 0x84, 0x73, 0xf9, + 0xdb, 0x50, 0x7e, 0x82, 0x47, 0xdd, 0x68, 0x59, 0x26, 0xe6, 0x5f, 0xd6, 0xf0, 0xb3, 0x27, 0x95, + 0xb6, 0xe1, 0x78, 0x15, 0xc1, 0x54, 0xaa, 0x64, 0x3f, 0xa5, 0xbe, 0x6f, 0xb6, 0xf0, 0x16, 0x54, + 0x41, 0x8b, 0xfa, 0xac, 0xcc, 0x83, 0x29, 0xba, 0xfb, 0xb2, 0xea, 0xe9, 0x55, 0x1e, 0xeb, 0xd5, + 0x35, 0xbc, 0x23, 0x19, 0xc1, 0x73, 0xae, 0x1a, 0xe6, 0xd3, 0xd8, 0x9f, 0x94, 0xbb, 0xc1, 0x95, + 0xf4, 0xb5, 0xbc, 0xeb, 0xb8, 0xd6, 0x0e, 0x01, 0x7d, 0xd1, 0xe8, 0x90, 0x1a, 0x4c, 0xe0, 0x1a, + 0xc4, 0x65, 0x51, 0x6e, 0x05, 0x27, 0xbb, 0x36, 0xda, 0x44, 0xf6, 0x7d, 0xfa, 0xce, 0xee, 0x03, + 0x0d, 0x5b, 0x37, 0x9d, 0xae, 0x65, 0xbb, 0x67, 0x0a, 0x98, 0xf9, 0xbe, 0xdf, 0x94, 0x9b, 0xc0, + 0x89, 0xfb, 0x1d, 0xcb, 0x2c, 0x75, 0x8d, 0x15, 0xc3, 0x71, 0x91, 0x59, 0x6a, 0xb7, 0xed, 0x33, + 0x93, 0xb8, 0xac, 0x83, 0x1f, 0x68, 0xb7, 0x5a, 0x00, 0x79, 0x22, 0x6c, 0xf8, 0xc2, 0x9c, 0xb0, + 0xc7, 0x29, 0xad, 0x7e, 0xac, 0x1d, 0xf8, 0x44, 0x30, 0x41, 0xfb, 0x43, 0x0c, 0xeb, 0xd4, 0xad, + 0xa7, 0x7b, 0x96, 0x3e, 0x28, 0x15, 0xcd, 0xcf, 0xa6, 0x3c, 0x09, 0xe4, 0x5b, 0x58, 0x08, 0x18, + 0xe1, 0xa9, 0x5b, 0xaf, 0xec, 0x5f, 0x28, 0xce, 0xa2, 0xd1, 0xac, 0xf0, 0x73, 0xb2, 0x90, 0x93, + 0x6a, 0x1c, 0xc7, 0xc9, 0xfa, 0x80, 0xaf, 0x49, 0x43, 0x74, 0xb2, 0x37, 0x81, 0x1b, 0x68, 0x0f, + 0x4a, 0xad, 0x95, 0x85, 0xe6, 0xfc, 0xba, 0x3f, 0x5f, 0xf5, 0x6c, 0x98, 0x7a, 0xa3, 0xa4, 0x35, + 0x9a, 0xd5, 0xda, 0x82, 0x37, 0xcf, 0xbd, 0x11, 0x5c, 0x3f, 0x20, 0xb7, 0xda, 0x68, 0x56, 0x4b, + 0xab, 0x6a, 0x71, 0x93, 0xb7, 0x84, 0xea, 0x8d, 0xda, 0x5a, 0x53, 0x5b, 0xaf, 0x56, 0x2b, 0xd5, + 0x25, 0x42, 0xcc, 0x33, 0x3d, 0x4f, 0x87, 0x19, 0x2e, 0x68, 0x95, 0x86, 0xda, 0x2c, 0xd7, 0xaa, + 0x8b, 0x95, 0xa5, 0xa2, 0x31, 0xc8, 0x8c, 0xba, 0x5f, 0xb9, 0x06, 0x5c, 0xc5, 0x71, 0x52, 0xa9, + 0x55, 0xbd, 0xc9, 0x77, 0xb9, 0x54, 0x2d, 0xab, 0xde, 0x4c, 0xfb, 0xa2, 0x02, 0xc1, 0x29, 0x42, + 0xae, 0xb9, 0x58, 0x59, 0x61, 0xf7, 0xcb, 0x3e, 0x9c, 0x51, 0xce, 0x80, 0xcb, 0xd8, 0x6f, 0x95, + 0xea, 0xf9, 0xd2, 0x4a, 0x65, 0xa1, 0xf8, 0x91, 0x8c, 0x72, 0x1d, 0xb8, 0x9a, 0xfb, 0x8b, 0x6c, + 0x7d, 0x35, 0x2b, 0x0b, 0xcd, 0xd5, 0x4a, 0x7d, 0xb5, 0xd4, 0x28, 0x2f, 0x17, 0x3f, 0x8a, 0x27, + 0x26, 0x81, 0xa5, 0xcd, 0x78, 0x8e, 0xbe, 0x98, 0xb5, 0x00, 0x4a, 0xbc, 0xa2, 0x3e, 0xbe, 0x2f, + 0xec, 0xf1, 0x16, 0xef, 0x23, 0xc1, 0x58, 0xb2, 0xc0, 0xa9, 0xd0, 0x13, 0x13, 0xd0, 0x4a, 0xa6, + 0x43, 0x8d, 0x21, 0x54, 0xe8, 0x1a, 0x70, 0x55, 0x55, 0x25, 0x48, 0x69, 0x6a, 0xb9, 0x76, 0x5e, + 0xd5, 0x9a, 0x17, 0x4a, 0x2b, 0x2b, 0x6a, 0xa3, 0xb9, 0x58, 0xd1, 0xea, 0x8d, 0xe2, 0x26, 0xfc, + 0x57, 0x29, 0x58, 0x70, 0x62, 0xa4, 0xf5, 0x77, 0x52, 0xd2, 0x66, 0x1d, 0xbb, 0xb0, 0xf4, 0x23, + 0x20, 0xef, 0xb8, 0xba, 0xbb, 0xeb, 0xd0, 0x56, 0xfd, 0x98, 0xfe, 0xad, 0x7a, 0xae, 0x8e, 0x33, + 0x69, 0x34, 0x33, 0xfc, 0x5c, 0x26, 0x49, 0x33, 0x1d, 0xc1, 0x9a, 0x93, 0x31, 0x84, 0x88, 0xcf, + 0x02, 0xe8, 0x6b, 0x7b, 0xa5, 0xde, 0x2c, 0xad, 0x68, 0x6a, 0x69, 0xe1, 0xbe, 0x60, 0xa5, 0x09, + 0x29, 0xa7, 0xc0, 0x89, 0xf5, 0x6a, 0x69, 0x7e, 0x45, 0xc5, 0xcd, 0xa5, 0x56, 0xad, 0xaa, 0x65, + 0x4f, 0xee, 0x3f, 0x8b, 0xf7, 0x75, 0x3c, 0x7b, 0x1b, 0xf3, 0xed, 0xd9, 0x44, 0x8c, 0xfc, 0xbf, + 0x2a, 0xec, 0xfe, 0x14, 0x6a, 0x18, 0x4b, 0x6b, 0xb4, 0x38, 0x7c, 0x56, 0xc8, 0xe3, 0x49, 0x88, + 0x93, 0x64, 0x78, 0xfc, 0xd4, 0x10, 0x78, 0x9c, 0x02, 0x27, 0x58, 0x3c, 0xb0, 0xe7, 0x53, 0x34, + 0x0c, 0x6f, 0x93, 0xc1, 0xc4, 0xaa, 0xb1, 0x85, 0x5d, 0x3f, 0x77, 0x43, 0xd3, 0x63, 0x16, 0x48, + 0x81, 0xa7, 0x8d, 0x64, 0xb4, 0xb9, 0x69, 0xba, 0x24, 0xbe, 0x92, 0x22, 0x34, 0x15, 0x7f, 0x73, + 0xe2, 0x9e, 0x89, 0x32, 0x1c, 0xd1, 0x33, 0x7d, 0x39, 0x51, 0xcf, 0xd4, 0x9f, 0x56, 0x32, 0x98, + 0xec, 0xc3, 0xc1, 0xc4, 0x7a, 0xc6, 0x4c, 0x83, 0x42, 0x30, 0x4e, 0xe0, 0x4d, 0x1a, 0xef, 0xa3, + 0x5a, 0xad, 0xad, 0x2f, 0x2d, 0x37, 0x17, 0x35, 0x55, 0xa5, 0xcb, 0xba, 0x5b, 0xf0, 0x4d, 0x12, + 0x98, 0xa1, 0xbc, 0x53, 0x8f, 0x87, 0xab, 0x23, 0xe1, 0xa3, 0x82, 0xfe, 0x0f, 0x76, 0x4a, 0xb1, + 0xc4, 0x0b, 0xfa, 0x96, 0x38, 0xe1, 0xc4, 0xba, 0x3c, 0xbc, 0x3a, 0x10, 0xf7, 0x3d, 0x9c, 0xb8, + 0x9f, 0x92, 0x98, 0x62, 0xfa, 0xd3, 0x8a, 0x7f, 0x9a, 0x04, 0xf9, 0x3a, 0xea, 0xa0, 0x96, 0x0b, + 0x7f, 0x43, 0x1e, 0x5a, 0xdb, 0xa3, 0x4c, 0x64, 0x39, 0x91, 0x89, 0x9c, 0x4d, 0xc1, 0x44, 0xce, + 0x0d, 0x6f, 0x22, 0xe7, 0x93, 0x9a, 0xc8, 0x13, 0x11, 0x26, 0x72, 0x5c, 0x7f, 0x50, 0x10, 0xe9, + 0x0f, 0x3e, 0x98, 0x4f, 0x3a, 0xf6, 0x12, 0x48, 0x8f, 0xd6, 0xa4, 0xfe, 0xa5, 0x5c, 0x92, 0xb1, + 0xba, 0x2f, 0xc7, 0xc9, 0xf4, 0xff, 0xa5, 0xd9, 0x14, 0x96, 0x00, 0x95, 0x6b, 0xc1, 0xd5, 0xe1, + 0x7b, 0x53, 0x7d, 0x46, 0xa5, 0xde, 0xa8, 0x63, 0x3b, 0xba, 0x5c, 0xd3, 0xb4, 0xf5, 0x35, 0xb2, + 0x79, 0x74, 0x1a, 0x28, 0x21, 0x15, 0x6d, 0xbd, 0x4a, 0xac, 0xe6, 0x2d, 0x9e, 0xfa, 0x62, 0xa5, + 0xba, 0xd0, 0x0c, 0x46, 0xa2, 0xea, 0x62, 0xad, 0xb8, 0xad, 0xcc, 0x81, 0x1b, 0x19, 0xea, 0xb8, + 0x6b, 0x23, 0x25, 0x94, 0xaa, 0x0b, 0xcd, 0xd5, 0xaa, 0xba, 0x5a, 0xab, 0x56, 0xca, 0x38, 0xbd, + 0xae, 0x36, 0x8a, 0x86, 0x67, 0xbe, 0xf5, 0xd8, 0xe9, 0x75, 0xb5, 0xa4, 0x95, 0x97, 0x55, 0x8d, + 0x14, 0x79, 0xbf, 0x72, 0x3d, 0x38, 0x57, 0xaa, 0xd6, 0x1a, 0x5e, 0x4a, 0xa9, 0x7a, 0x5f, 0xe3, + 0xbe, 0x35, 0xb5, 0xb9, 0xa6, 0xd5, 0xca, 0x6a, 0xbd, 0xee, 0x8d, 0x7e, 0xd4, 0xaa, 0x2f, 0x76, + 0x94, 0xa7, 0x83, 0xdb, 0x19, 0xd6, 0xd4, 0x06, 0xf6, 0x54, 0x58, 0xad, 0x61, 0x67, 0xb5, 0x05, + 0xb5, 0xb9, 0x5c, 0xaa, 0x37, 0x2b, 0xd5, 0x72, 0x6d, 0x75, 0xad, 0xd4, 0xa8, 0x78, 0x83, 0xe4, + 0x9a, 0x56, 0x6b, 0xd4, 0x9a, 0xe7, 0x55, 0xad, 0x5e, 0xa9, 0x55, 0x8b, 0xa6, 0x57, 0x65, 0x66, + 0x54, 0xf5, 0xad, 0x1b, 0x4b, 0xb9, 0x0a, 0x9c, 0xf1, 0xd3, 0x57, 0x6a, 0x9e, 0xa0, 0x19, 0x3b, + 0xbf, 0xcb, 0xda, 0x46, 0xf5, 0x46, 0x4d, 0x23, 0x96, 0xfe, 0x6a, 0x65, 0x49, 0xf3, 0xa6, 0x27, + 0xc5, 0x67, 0xa6, 0x3a, 0x0f, 0xf8, 0x77, 0x09, 0x64, 0xeb, 0xae, 0xd5, 0x85, 0x3f, 0x1c, 0x76, + 0x74, 0x67, 0x01, 0xb0, 0xb1, 0x63, 0xc2, 0x82, 0xee, 0xea, 0x74, 0xed, 0x84, 0x49, 0x81, 0x7f, + 0x2a, 0xbc, 0x9b, 0x1a, 0x5a, 0x4a, 0x56, 0x37, 0x62, 0x60, 0xf8, 0x8e, 0xd8, 0xf1, 0xb2, 0x68, + 0x42, 0xc9, 0xda, 0xc3, 0x2f, 0x0c, 0xb3, 0x5f, 0x0a, 0xc1, 0x69, 0x06, 0x56, 0x4f, 0xfe, 0xbe, + 0xca, 0x20, 0xe5, 0x72, 0x70, 0x59, 0x8f, 0xf2, 0x61, 0x9d, 0xdb, 0x54, 0x7e, 0x08, 0x3c, 0x86, + 0x51, 0x7f, 0x75, 0xb5, 0x76, 0x5e, 0x0d, 0x14, 0x7d, 0xa1, 0xd4, 0x28, 0x15, 0xb7, 0xe0, 0xa7, + 0x64, 0x90, 0x5d, 0xb5, 0xf6, 0x7a, 0x37, 0xb1, 0x4d, 0x74, 0x89, 0xd9, 0xe9, 0xf0, 0x5f, 0xf9, + 0xe3, 0x34, 0x42, 0x62, 0x5f, 0x8d, 0x76, 0x58, 0xf9, 0xac, 0x94, 0x44, 0xec, 0xab, 0x87, 0xf5, + 0x52, 0xf9, 0xa7, 0x61, 0xc4, 0x1e, 0x21, 0x5a, 0xa4, 0x9c, 0x03, 0x67, 0xc3, 0x0f, 0x95, 0x05, + 0xb5, 0xda, 0xa8, 0x2c, 0xde, 0x17, 0x0a, 0xb7, 0xa2, 0x09, 0x89, 0x7f, 0x50, 0x37, 0x17, 0x3f, + 0xbf, 0x3f, 0x03, 0x4e, 0x86, 0xdf, 0x96, 0xd4, 0x86, 0xff, 0xe5, 0x7e, 0xf8, 0x60, 0x0e, 0x4c, + 0x93, 0x6e, 0x7f, 0xbd, 0xdb, 0xf6, 0x2c, 0xe6, 0x27, 0x85, 0xe8, 0xde, 0x00, 0x8e, 0x57, 0xd6, + 0x16, 0xeb, 0x75, 0xd7, 0xb2, 0xf5, 0x2d, 0x84, 0x47, 0x48, 0x22, 0xad, 0xde, 0x64, 0xf8, 0x56, + 0xe1, 0xb5, 0x78, 0x7e, 0xa8, 0x21, 0x65, 0x46, 0xa0, 0xfe, 0x45, 0xa1, 0xb5, 0x73, 0x01, 0x82, + 0xc9, 0xd0, 0xbf, 0x7f, 0xc4, 0x6d, 0x2e, 0x1a, 0x97, 0xcd, 0x73, 0xcf, 0x95, 0xc0, 0x64, 0xc3, + 0xd8, 0x41, 0xcf, 0xb2, 0x4c, 0xe4, 0x28, 0x13, 0x40, 0x5e, 0x5a, 0x6d, 0x14, 0x8f, 0x79, 0x0f, + 0xde, 0x54, 0x26, 0x83, 0x1f, 0x54, 0xaf, 0x00, 0xef, 0xa1, 0xd4, 0x28, 0xca, 0xde, 0xc3, 0xaa, + 0xda, 0x28, 0x66, 0xbd, 0x87, 0xaa, 0xda, 0x28, 0xe6, 0xbc, 0x87, 0xb5, 0x95, 0x46, 0x31, 0xef, + 0x3d, 0x54, 0xea, 0x8d, 0xe2, 0x84, 0xf7, 0x30, 0x5f, 0x6f, 0x14, 0x0b, 0xde, 0xc3, 0xf9, 0x7a, + 0xa3, 0x38, 0xe9, 0x3d, 0x94, 0x1b, 0x8d, 0x22, 0xf0, 0x1e, 0xee, 0xa9, 0x37, 0x8a, 0x53, 0xde, + 0x43, 0xa9, 0xdc, 0x28, 0x4e, 0xe3, 0x07, 0xb5, 0x51, 0x9c, 0xf1, 0x1e, 0xea, 0xf5, 0x46, 0x71, + 0x16, 0x53, 0xae, 0x37, 0x8a, 0xc7, 0x71, 0x59, 0x95, 0x46, 0xb1, 0xe8, 0x3d, 0x2c, 0xd7, 0x1b, + 0xc5, 0x13, 0x38, 0x73, 0xbd, 0x51, 0x54, 0x70, 0xa1, 0xf5, 0x46, 0xf1, 0x32, 0x9c, 0xa7, 0xde, + 0x28, 0x9e, 0xc4, 0x45, 0xd4, 0x1b, 0xc5, 0x53, 0x98, 0x0d, 0xb5, 0x51, 0x3c, 0x8d, 0xf3, 0x68, + 0x8d, 0xe2, 0xe5, 0xf8, 0x53, 0xb5, 0x51, 0x3c, 0x83, 0x19, 0x53, 0x1b, 0xc5, 0x2b, 0xf0, 0x83, + 0xd6, 0x28, 0x42, 0xfc, 0xa9, 0xd4, 0x28, 0x5e, 0x09, 0x1f, 0x03, 0x26, 0x97, 0x90, 0x4b, 0x40, + 0x84, 0x45, 0x20, 0x2f, 0x21, 0x97, 0x9d, 0x3c, 0xbf, 0x2c, 0x0b, 0x2e, 0xa7, 0x0b, 0x2e, 0x8b, + 0xb6, 0xb5, 0xb3, 0x82, 0xb6, 0xf4, 0xd6, 0xbe, 0xfa, 0x80, 0x67, 0xca, 0xc1, 0x17, 0x64, 0xb8, + 0xf5, 0xe5, 0x6e, 0xd8, 0x1b, 0xe1, 0xe7, 0x58, 0xd3, 0xd7, 0x5f, 0x31, 0x96, 0xf9, 0x15, 0xe3, + 0x28, 0x63, 0x2f, 0x2b, 0x62, 0xec, 0xfd, 0x0b, 0xdb, 0x18, 0xb8, 0xed, 0xa1, 0x4c, 0xcf, 0xf6, + 0x90, 0xd7, 0xc2, 0xba, 0xc8, 0x76, 0x2c, 0x53, 0xef, 0xd4, 0xa9, 0x33, 0x10, 0x99, 0x5f, 0xf6, + 0x26, 0x2b, 0x3f, 0xe6, 0x37, 0x2a, 0x62, 0xf0, 0x3d, 0x2d, 0x6e, 0x49, 0xaa, 0x57, 0x42, 0x11, + 0xed, 0xeb, 0xa3, 0x41, 0xfb, 0x6a, 0x70, 0xed, 0xeb, 0xee, 0x43, 0xd0, 0x4e, 0xd6, 0xd4, 0x2a, + 0xc3, 0x4d, 0x32, 0x43, 0x57, 0x79, 0x7f, 0x37, 0x4a, 0x86, 0x9f, 0x92, 0xc0, 0x69, 0xd5, 0xec, + 0x37, 0x49, 0x61, 0xd5, 0xe8, 0xb5, 0x2c, 0x34, 0x6b, 0xbc, 0x48, 0x6f, 0xef, 0x5b, 0xed, 0xfe, + 0x34, 0x23, 0x24, 0xfa, 0xf1, 0x40, 0xa2, 0x75, 0x4e, 0xa2, 0x77, 0x0d, 0x4f, 0x3a, 0x99, 0x40, + 0xab, 0x23, 0xed, 0xbb, 0xb2, 0xf0, 0x2b, 0x12, 0x38, 0x41, 0xfc, 0xf9, 0xee, 0x21, 0x73, 0x22, + 0xdc, 0xdb, 0xf3, 0xd6, 0x57, 0x27, 0x9c, 0x3f, 0x11, 0xfd, 0x66, 0x52, 0xe0, 0x2b, 0x59, 0x81, + 0xdf, 0xcb, 0x0b, 0x3c, 0xa2, 0x1f, 0xef, 0x2d, 0x2e, 0x42, 0xd6, 0x1f, 0x09, 0x64, 0x5d, 0xe5, + 0x64, 0x7d, 0xfb, 0x50, 0x54, 0x8f, 0x56, 0xcc, 0x5f, 0xcb, 0x82, 0xc7, 0x10, 0x0e, 0xa9, 0x22, + 0x90, 0x7e, 0xb0, 0x64, 0xb6, 0x35, 0xe4, 0xb8, 0xba, 0xed, 0x72, 0xa1, 0x2c, 0x7a, 0x26, 0xdd, + 0x99, 0x14, 0x26, 0xdd, 0xd2, 0xc0, 0x49, 0x37, 0x7c, 0x0b, 0x6b, 0xe0, 0x5d, 0xe0, 0x91, 0x2d, + 0xc5, 0x60, 0x10, 0x51, 0xc3, 0xa8, 0x16, 0x15, 0x58, 0x7e, 0x3f, 0xce, 0xa1, 0xbc, 0x78, 0xe8, + 0x12, 0x92, 0x21, 0xfe, 0xa7, 0xa3, 0xb5, 0xc4, 0xb3, 0xec, 0x37, 0xde, 0x6c, 0x2c, 0xb6, 0x53, + 0x9d, 0x42, 0xbd, 0xa8, 0x00, 0x26, 0x71, 0x97, 0xb3, 0x62, 0x98, 0x17, 0xe1, 0x97, 0x65, 0x30, + 0x5d, 0x45, 0x97, 0xca, 0xdb, 0x7a, 0xa7, 0x83, 0xcc, 0x2d, 0x04, 0xef, 0xe7, 0x6c, 0x7b, 0xbd, + 0xdb, 0xad, 0x86, 0xbb, 0xb5, 0xfe, 0xab, 0x72, 0x17, 0xc8, 0x39, 0x2d, 0xab, 0x4b, 0xbc, 0xca, + 0x66, 0x19, 0xd7, 0x30, 0x7e, 0xc5, 0xb9, 0xb4, 0xeb, 0x6e, 0xcf, 0xe1, 0xb2, 0x4a, 0x5d, 0xa3, + 0xee, 0xfd, 0xa0, 0x91, 0xff, 0xe8, 0x38, 0xf9, 0xd5, 0xbe, 0x9d, 0x71, 0x26, 0xa6, 0x33, 0x0e, + 0x18, 0x9f, 0x63, 0x99, 0x8e, 0x58, 0x24, 0xb9, 0x06, 0x4c, 0xb5, 0xfc, 0x2c, 0xc1, 0x99, 0x39, + 0x36, 0x09, 0xfe, 0x43, 0xa2, 0xee, 0x5a, 0xa8, 0xf0, 0x64, 0x5a, 0x85, 0x46, 0x6c, 0x6a, 0x9e, + 0x02, 0x27, 0x1a, 0xb5, 0x5a, 0x73, 0xb5, 0x54, 0xbd, 0x2f, 0x8c, 0x55, 0xb1, 0x09, 0x5f, 0x9a, + 0x05, 0xb3, 0x75, 0xab, 0xb3, 0x87, 0x42, 0x9c, 0x2b, 0x9c, 0x33, 0x26, 0x2b, 0xa7, 0xcc, 0x01, + 0x39, 0x29, 0xa7, 0x41, 0x5e, 0x37, 0x9d, 0x4b, 0xc8, 0x37, 0xff, 0xe9, 0x1b, 0x85, 0xf1, 0xbd, + 0x6c, 0x47, 0xa0, 0xf1, 0x30, 0xde, 0x31, 0x40, 0x92, 0x3c, 0x57, 0x11, 0x40, 0x9e, 0x03, 0xd3, + 0x0e, 0xf1, 0xd9, 0x68, 0x30, 0xae, 0x39, 0x5c, 0x1a, 0x66, 0x91, 0x38, 0x0d, 0xc9, 0x94, 0x45, + 0xfc, 0x06, 0x1f, 0x0a, 0xfa, 0x8f, 0x75, 0x0e, 0xe2, 0xd2, 0x61, 0x18, 0x4b, 0x06, 0xf2, 0xcb, + 0x47, 0x3d, 0x89, 0x3f, 0x03, 0x4e, 0xd2, 0x66, 0xdf, 0x2c, 0x2f, 0x97, 0x56, 0x56, 0xd4, 0xea, + 0x92, 0xda, 0xac, 0x2c, 0x90, 0x3d, 0xe0, 0x30, 0xa5, 0xd4, 0x68, 0xa8, 0xab, 0x6b, 0x8d, 0x7a, + 0x53, 0x7d, 0x46, 0x59, 0x55, 0x17, 0xb0, 0x3b, 0x34, 0x3e, 0xcf, 0xe8, 0x3b, 0xae, 0x97, 0xaa, + 0xf5, 0x0b, 0xaa, 0x56, 0xdc, 0x3e, 0x57, 0x02, 0x53, 0xcc, 0x40, 0xe1, 0x71, 0xb7, 0x80, 0x36, + 0xf5, 0xdd, 0x0e, 0x35, 0xc7, 0x8b, 0xc7, 0x3c, 0xee, 0xb0, 0x6c, 0x6a, 0x66, 0x67, 0xbf, 0x98, + 0x51, 0x8a, 0x60, 0x9a, 0x1d, 0x13, 0x8a, 0x12, 0x7c, 0xe3, 0x55, 0x60, 0xf2, 0x82, 0x65, 0x5f, + 0xc4, 0x3e, 0xbc, 0xf0, 0x1d, 0x24, 0xa6, 0x95, 0x1f, 0x1d, 0x80, 0x31, 0xc0, 0x5e, 0x2e, 0xee, + 0xb4, 0xe5, 0x53, 0x9b, 0x1b, 0x18, 0x01, 0xe0, 0x1a, 0x30, 0x75, 0xc9, 0xcf, 0x1d, 0xb6, 0x74, + 0x26, 0x09, 0xfe, 0x81, 0x98, 0x1b, 0xd6, 0xe0, 0x22, 0xd3, 0x5f, 0xcf, 0x7f, 0xbd, 0x04, 0xf2, + 0x4b, 0xc8, 0x2d, 0x75, 0x3a, 0xac, 0xdc, 0x5e, 0x22, 0x7c, 0xaa, 0x93, 0xab, 0x44, 0xa9, 0xd3, + 0x89, 0x6e, 0x54, 0x8c, 0x80, 0xfc, 0xd3, 0x47, 0x5c, 0x9a, 0xa0, 0xcf, 0xf4, 0x80, 0x02, 0xd3, + 0x97, 0xd8, 0xfb, 0x43, 0x47, 0xe9, 0x87, 0x19, 0x33, 0xe9, 0x96, 0x30, 0x9e, 0x59, 0x26, 0xde, + 0x65, 0xc9, 0xcf, 0xa7, 0xdc, 0x0b, 0x26, 0x76, 0x1d, 0x54, 0xd6, 0x1d, 0x7f, 0x68, 0xe3, 0x6b, + 0x5a, 0xdb, 0xb8, 0x1f, 0xb5, 0xdc, 0xb9, 0xca, 0x8e, 0x37, 0xf1, 0x59, 0x27, 0x19, 0x83, 0x10, + 0x61, 0xf4, 0x5d, 0xf3, 0x29, 0x78, 0xd3, 0xce, 0x4b, 0x86, 0xbb, 0x5d, 0xde, 0xd6, 0x5d, 0xba, + 0x8d, 0x12, 0xbc, 0xc3, 0x17, 0x0e, 0x01, 0x67, 0xac, 0x93, 0x4d, 0xe4, 0xe1, 0xf0, 0xc4, 0x20, + 0x8e, 0xc0, 0x33, 0x66, 0x18, 0x10, 0xff, 0x59, 0x02, 0xd9, 0x5a, 0x17, 0x99, 0xc2, 0x27, 0x21, + 0x03, 0xd9, 0x4a, 0x3d, 0xb2, 0x7d, 0x48, 0xdc, 0x49, 0x37, 0xa8, 0xb4, 0x57, 0x72, 0x84, 0x64, + 0x6f, 0x06, 0x59, 0xc3, 0xdc, 0xb4, 0xa8, 0x65, 0x7b, 0x65, 0x84, 0xad, 0x53, 0x31, 0x37, 0x2d, + 0x0d, 0x67, 0x14, 0xf5, 0xcf, 0x8d, 0x2b, 0x3b, 0x7d, 0x71, 0x7f, 0xbd, 0x00, 0xf2, 0x44, 0x9d, + 0xe1, 0x8b, 0x65, 0x20, 0x97, 0xda, 0xed, 0x08, 0xc1, 0x4b, 0x07, 0x04, 0x6f, 0xe1, 0xdf, 0x02, + 0x4c, 0x82, 0x77, 0x3e, 0x90, 0x95, 0x60, 0xdf, 0x4e, 0x9b, 0x54, 0xa9, 0xdd, 0x8e, 0x3e, 0x45, + 0x10, 0x14, 0x28, 0xf1, 0x05, 0xb2, 0x2d, 0x5c, 0x16, 0x6b, 0xe1, 0x89, 0x07, 0x82, 0x48, 0xfe, + 0xd2, 0x87, 0xe8, 0x5f, 0x24, 0x30, 0xb1, 0x62, 0x38, 0xae, 0x87, 0x4d, 0x49, 0x04, 0x9b, 0xab, + 0xc0, 0xa4, 0x2f, 0x1a, 0xaf, 0xcb, 0xf3, 0xfa, 0xf3, 0x30, 0x81, 0x9f, 0x89, 0xdf, 0xc3, 0xa3, + 0xf3, 0xe4, 0xf8, 0xda, 0x53, 0x2e, 0xa2, 0x4f, 0x98, 0x85, 0xc5, 0x4a, 0xbd, 0xc5, 0xfe, 0x51, + 0x20, 0xf0, 0x55, 0x4e, 0xe0, 0xb7, 0x0d, 0x53, 0x64, 0xfa, 0x42, 0xff, 0xb4, 0x04, 0x80, 0x57, + 0x36, 0x3d, 0xc6, 0xfb, 0x38, 0x2e, 0x38, 0x47, 0x8c, 0x74, 0x5f, 0xca, 0x4a, 0x77, 0x95, 0x97, + 0xee, 0x8f, 0x0e, 0xae, 0x6a, 0xdc, 0x71, 0x5d, 0xa5, 0x08, 0x64, 0x23, 0x10, 0xad, 0xf7, 0x08, + 0x5f, 0x1f, 0x08, 0x75, 0x8d, 0x13, 0xea, 0x1d, 0x43, 0x96, 0x94, 0xbe, 0x5c, 0xff, 0x46, 0x02, + 0x13, 0x75, 0xe4, 0x7a, 0xdd, 0x24, 0x3c, 0x2f, 0xd2, 0xc3, 0x33, 0x6d, 0x5b, 0x12, 0x6c, 0xdb, + 0xdf, 0xce, 0x88, 0x06, 0xf9, 0x0a, 0x25, 0x43, 0x79, 0x8a, 0x58, 0x7d, 0x78, 0x58, 0x28, 0xc8, + 0xd7, 0x20, 0x6a, 0xe9, 0x4b, 0xf7, 0xb5, 0x52, 0xe0, 0x03, 0xc2, 0x9f, 0xb2, 0x63, 0xcd, 0xe2, + 0xcc, 0x41, 0xb3, 0x58, 0xfc, 0x94, 0x1d, 0x5b, 0xc7, 0x68, 0xc7, 0x84, 0xc4, 0xc6, 0xc6, 0x08, + 0x7c, 0x06, 0x86, 0x91, 0xd7, 0x73, 0x64, 0x90, 0xa7, 0x9b, 0x07, 0x77, 0xc5, 0xef, 0x1d, 0x0c, + 0x9e, 0x5a, 0xbc, 0x7d, 0x08, 0x53, 0x2e, 0x6e, 0x59, 0x3e, 0x60, 0x43, 0x62, 0xd8, 0xb8, 0x09, + 0xe4, 0x70, 0x14, 0x62, 0x3a, 0xce, 0x85, 0xee, 0x1e, 0x3e, 0x09, 0xd5, 0xfb, 0xaa, 0x91, 0x4c, + 0x89, 0x51, 0x18, 0xc1, 0x4a, 0xfe, 0x30, 0x28, 0x7c, 0x4d, 0x01, 0x60, 0x6d, 0x77, 0xa3, 0x63, + 0x38, 0xdb, 0x86, 0x89, 0xbd, 0xbf, 0xa6, 0xe9, 0x2b, 0x09, 0xa6, 0x1b, 0x6b, 0xfe, 0x45, 0x1a, + 0x05, 0x45, 0x20, 0xef, 0xda, 0x06, 0x5d, 0x06, 0xf0, 0x1e, 0x95, 0x3b, 0x03, 0x0f, 0xc9, 0x6c, + 0x4f, 0x18, 0x15, 0x4f, 0x0c, 0x21, 0x07, 0x73, 0x4c, 0xe9, 0xa1, 0xa7, 0x24, 0x1b, 0x31, 0x39, + 0xc7, 0x47, 0x4c, 0xe6, 0xce, 0x56, 0xe7, 0x7b, 0xce, 0x56, 0x7b, 0x38, 0x3a, 0xc6, 0xb3, 0x10, + 0x76, 0x2a, 0x92, 0x35, 0xfc, 0xec, 0xfd, 0x71, 0xbf, 0x65, 0x98, 0x78, 0x53, 0x87, 0x7a, 0xf0, + 0x87, 0x09, 0x6c, 0x9f, 0x37, 0x29, 0xd8, 0xe7, 0xbd, 0x2f, 0x9c, 0xfb, 0x58, 0x82, 0x86, 0x73, + 0x02, 0xc9, 0x71, 0xec, 0x66, 0x7b, 0xd8, 0x85, 0x1f, 0x14, 0x0e, 0xaa, 0xc8, 0xc8, 0x38, 0x76, + 0x16, 0x43, 0x39, 0x90, 0x02, 0x0e, 0x98, 0x3d, 0xe0, 0xb8, 0x1e, 0x78, 0x10, 0xfd, 0x64, 0xba, + 0xbc, 0x33, 0xc4, 0x7a, 0x8d, 0x02, 0x66, 0xfd, 0x43, 0xea, 0xb5, 0xf9, 0x7b, 0xd4, 0x72, 0xa3, + 0x88, 0x0e, 0x1e, 0x5c, 0xc7, 0x47, 0xd4, 0xc9, 0x71, 0xf4, 0x70, 0x4d, 0x06, 0xfe, 0x77, 0x09, + 0xe4, 0xa9, 0xb9, 0x71, 0xd7, 0x21, 0x21, 0x84, 0x2f, 0x1b, 0x06, 0x92, 0xd8, 0x58, 0x21, 0x1f, + 0x4b, 0x0a, 0xc0, 0x08, 0x0c, 0x8c, 0xfb, 0x52, 0x03, 0x00, 0xfe, 0x9b, 0x04, 0xb2, 0x9e, 0x19, + 0x24, 0x16, 0x89, 0xe1, 0xa3, 0xc2, 0x6e, 0xbc, 0x8c, 0x00, 0x3c, 0xf2, 0x11, 0xfa, 0x3d, 0x0f, + 0x26, 0xbb, 0x24, 0x63, 0x10, 0x07, 0xe4, 0x3a, 0x81, 0xce, 0x08, 0x69, 0xe1, 0x6f, 0xf0, 0x6d, + 0x42, 0xae, 0xc0, 0xf1, 0xfc, 0x24, 0x83, 0x43, 0x1d, 0x45, 0xd0, 0x86, 0x4d, 0xf8, 0x5d, 0x09, + 0x00, 0x0d, 0x39, 0x56, 0x67, 0x0f, 0xad, 0xdb, 0x06, 0xbc, 0x32, 0x04, 0x80, 0x36, 0xfb, 0x4c, + 0xd8, 0xec, 0x3f, 0x21, 0x89, 0xba, 0xf5, 0x72, 0x9a, 0xe7, 0x13, 0x8f, 0x10, 0xff, 0xd3, 0xc1, + 0x04, 0x95, 0x23, 0xb5, 0x29, 0xc5, 0x84, 0xef, 0xff, 0x04, 0xdf, 0x29, 0xe4, 0x16, 0x2c, 0xc2, + 0x51, 0x32, 0x00, 0xca, 0x43, 0x00, 0x70, 0x1c, 0x4c, 0xf9, 0x00, 0xac, 0x6b, 0x95, 0x22, 0x82, + 0x6f, 0x96, 0xb1, 0x87, 0x05, 0x19, 0xdc, 0x0e, 0xdf, 0xd3, 0x7c, 0x45, 0x78, 0xb2, 0xcf, 0xc8, + 0x23, 0x28, 0x3f, 0x25, 0x80, 0xfe, 0x42, 0x68, 0x76, 0x2f, 0xc0, 0xd0, 0xa3, 0xa5, 0xbf, 0x3a, + 0xa7, 0x82, 0x19, 0xce, 0x2a, 0x51, 0xce, 0x80, 0x93, 0x5c, 0x02, 0x19, 0xef, 0xda, 0xc5, 0x63, + 0x0a, 0x04, 0xa7, 0xb9, 0x2f, 0xf4, 0x05, 0xb5, 0x8b, 0x19, 0xf8, 0x3f, 0x3e, 0x93, 0x09, 0xd6, + 0x7b, 0xde, 0x9e, 0xa5, 0x2b, 0x6d, 0x1f, 0xe2, 0x43, 0x4f, 0xb6, 0x2c, 0xd3, 0x45, 0x0f, 0x30, + 0x6e, 0x2a, 0x41, 0x42, 0xac, 0xd5, 0x70, 0x06, 0x4c, 0xb8, 0x36, 0xeb, 0xba, 0xe2, 0xbf, 0xb2, + 0x8a, 0x95, 0xe3, 0x15, 0xab, 0x0a, 0xce, 0x19, 0x66, 0xab, 0xb3, 0xdb, 0x46, 0x1a, 0xea, 0xe8, + 0x9e, 0x0c, 0x9d, 0x92, 0xb3, 0x80, 0xba, 0xc8, 0x6c, 0x23, 0xd3, 0x25, 0x7c, 0xfa, 0xa7, 0x50, + 0x05, 0x72, 0xf2, 0xca, 0x78, 0x27, 0xaf, 0x8c, 0x8f, 0xeb, 0xb7, 0x84, 0x1b, 0xb3, 0xde, 0x77, + 0x1b, 0x00, 0xa4, 0x6e, 0xe7, 0x0d, 0x74, 0x89, 0xaa, 0xe1, 0x15, 0x3d, 0xab, 0x7e, 0xb5, 0x20, + 0x83, 0xc6, 0x64, 0x86, 0x5f, 0x08, 0xd4, 0xef, 0x6e, 0x4e, 0xfd, 0x6e, 0x12, 0x64, 0x21, 0x99, + 0xd6, 0x75, 0x87, 0xd0, 0xba, 0x19, 0x30, 0x19, 0xee, 0x26, 0xcb, 0xca, 0x15, 0xe0, 0x94, 0xef, + 0x61, 0x5c, 0x55, 0xd5, 0x85, 0x7a, 0x73, 0x7d, 0x6d, 0x49, 0x2b, 0x2d, 0xa8, 0x45, 0xe0, 0xe9, + 0x27, 0xd1, 0xcb, 0xc0, 0x31, 0x38, 0x0b, 0xff, 0x5a, 0x02, 0x39, 0x7c, 0x84, 0x1a, 0xfe, 0xe4, + 0x88, 0x34, 0xc7, 0xe1, 0x9c, 0x9e, 0x82, 0x71, 0x57, 0xfc, 0x4a, 0x08, 0x2a, 0x4c, 0xcc, 0xd5, + 0xa1, 0xae, 0x84, 0x88, 0x21, 0x94, 0xfe, 0x4c, 0xc8, 0x6b, 0x92, 0xf5, 0x6d, 0xeb, 0xd2, 0x0f, + 0x72, 0x93, 0xf4, 0xea, 0x7f, 0xc4, 0x4d, 0xb2, 0x0f, 0x0b, 0x63, 0x6f, 0x92, 0x7d, 0xda, 0x5d, + 0x4c, 0x33, 0x85, 0xef, 0xcd, 0x05, 0xf3, 0xbf, 0x47, 0xa4, 0x43, 0xed, 0x7d, 0x95, 0xc0, 0x8c, + 0x61, 0xba, 0xc8, 0x36, 0xf5, 0xce, 0x62, 0x47, 0xdf, 0xf2, 0xed, 0xd3, 0xde, 0x0d, 0x8f, 0x0a, + 0x93, 0x47, 0xe3, 0xff, 0x50, 0xce, 0x02, 0xe0, 0xa2, 0x9d, 0x6e, 0x47, 0x77, 0x43, 0xd5, 0x63, + 0x52, 0x58, 0xed, 0xcb, 0xf2, 0xda, 0xf7, 0x44, 0x70, 0x19, 0x01, 0xad, 0xb1, 0xdf, 0x45, 0xeb, + 0xa6, 0xf1, 0xcc, 0x5d, 0x1c, 0xa9, 0x98, 0xe8, 0x68, 0xbf, 0x4f, 0xdc, 0x0e, 0x50, 0x9e, 0xdf, + 0x01, 0x52, 0xee, 0x00, 0x57, 0xe0, 0xb0, 0xd2, 0xc8, 0xfb, 0xe5, 0x82, 0xd1, 0xde, 0x42, 0x6e, + 0x65, 0x73, 0xd5, 0x70, 0x1c, 0xc3, 0xdc, 0xc2, 0xd3, 0xf1, 0x82, 0x16, 0x9d, 0x01, 0xfe, 0xb3, + 0x70, 0x14, 0x24, 0xbf, 0xcf, 0x18, 0x10, 0x05, 0x29, 0x68, 0xa7, 0x72, 0x4f, 0x3b, 0x0d, 0x56, + 0x75, 0xb2, 0x02, 0xab, 0x3a, 0x2c, 0xa6, 0x39, 0xc1, 0xd5, 0x81, 0x57, 0x08, 0x85, 0x59, 0x8a, + 0xab, 0x46, 0xfa, 0x7d, 0xdf, 0xb7, 0x64, 0x30, 0x4b, 0x8a, 0x9e, 0xb7, 0xac, 0x8b, 0x3b, 0xba, + 0x7d, 0x11, 0xfe, 0xca, 0xe1, 0x76, 0x71, 0x63, 0x77, 0xaf, 0xa2, 0xb6, 0x64, 0x7b, 0x94, 0x37, + 0xdb, 0xab, 0xbc, 0xf0, 0xe3, 0xc2, 0x53, 0x12, 0x4e, 0x9e, 0x7e, 0xa5, 0xc6, 0xb3, 0xbd, 0x25, + 0x76, 0x70, 0x51, 0x84, 0xc1, 0xf4, 0x81, 0xff, 0xb3, 0x00, 0x78, 0x7f, 0x1c, 0x61, 0x77, 0x06, + 0x46, 0x89, 0x3b, 0xfc, 0xe2, 0x70, 0xd8, 0xf9, 0x7c, 0x0d, 0x81, 0x5d, 0x11, 0xc8, 0x17, 0x03, + 0x67, 0x24, 0xef, 0x91, 0xad, 0x50, 0x36, 0x3d, 0x34, 0x23, 0x58, 0x1e, 0x0b, 0x9a, 0x27, 0x79, + 0x16, 0x6a, 0xdd, 0x54, 0x31, 0xfd, 0xbc, 0xf0, 0x8e, 0x5b, 0x5f, 0x01, 0x11, 0xee, 0xc6, 0xd3, + 0x2a, 0xc5, 0xb6, 0xeb, 0xc4, 0xd9, 0x4c, 0x1f, 0xcd, 0x17, 0xe4, 0xc0, 0xa4, 0x1f, 0x8d, 0x0a, + 0xdf, 0xd0, 0x16, 0x60, 0x78, 0x1a, 0xe4, 0x1d, 0x6b, 0xd7, 0x6e, 0x21, 0xba, 0x07, 0x4a, 0xdf, + 0x86, 0xd8, 0xaf, 0x1b, 0x68, 0x2e, 0x1c, 0xb0, 0x48, 0xb2, 0x89, 0x2d, 0x92, 0x68, 0x7b, 0x37, + 0xc6, 0x7e, 0x80, 0x2f, 0x14, 0xbe, 0x56, 0x83, 0xc3, 0xac, 0x8e, 0xdc, 0x47, 0xa3, 0x11, 0xf0, + 0x27, 0x42, 0xbb, 0x41, 0x03, 0x6a, 0x92, 0x4c, 0xe5, 0x6a, 0x43, 0xd8, 0xc1, 0x57, 0x82, 0xcb, + 0xfd, 0x1c, 0xd4, 0x00, 0xc6, 0x06, 0xef, 0xba, 0xb6, 0x52, 0x94, 0xe1, 0x73, 0xb2, 0xa0, 0x48, + 0x58, 0xab, 0x05, 0xb6, 0x20, 0x7c, 0x49, 0xe6, 0xa8, 0x0d, 0xde, 0xe8, 0x19, 0xec, 0x27, 0x25, + 0xd1, 0xd0, 0xdd, 0x9c, 0xe0, 0xc3, 0xda, 0x45, 0x68, 0xd2, 0x10, 0xcd, 0x2c, 0x46, 0xf9, 0xe0, + 0x1f, 0x66, 0x44, 0x22, 0x81, 0x8b, 0xb1, 0x98, 0x7e, 0xaf, 0xf4, 0xed, 0xac, 0x1f, 0x54, 0x70, + 0xd1, 0xb6, 0x76, 0xd6, 0xed, 0x0e, 0xfc, 0xdf, 0x42, 0x17, 0x2d, 0x44, 0xcc, 0x2e, 0xa4, 0xe8, + 0xd9, 0x05, 0x5e, 0x91, 0xee, 0x84, 0x5b, 0x61, 0x9d, 0x21, 0x86, 0x6f, 0xe5, 0x7a, 0x30, 0xab, + 0xb7, 0xdb, 0x6b, 0xfa, 0x16, 0x2a, 0x7b, 0xd3, 0x76, 0xd3, 0xa5, 0x01, 0xc7, 0x7a, 0x52, 0x63, + 0xa7, 0x32, 0x7c, 0x1f, 0x39, 0x71, 0xc0, 0x2a, 0x15, 0x5f, 0x86, 0xe5, 0x40, 0xa4, 0xf2, 0x1b, + 0xcb, 0xf0, 0xe7, 0x0d, 0x19, 0xad, 0x6d, 0x3d, 0x0c, 0x8f, 0x48, 0xdf, 0x04, 0x7d, 0xb1, 0x04, + 0xf8, 0x4e, 0x5f, 0xf3, 0xfe, 0x58, 0x02, 0x13, 0x1e, 0x1e, 0xa5, 0x76, 0x1b, 0x3e, 0x96, 0x8b, + 0x22, 0x1a, 0xe9, 0x0d, 0xf7, 0xf3, 0xc2, 0x6e, 0x88, 0x7e, 0x0d, 0x09, 0xfd, 0x08, 0x4c, 0x42, + 0x21, 0x4a, 0x9c, 0x10, 0xc5, 0xbc, 0x0d, 0x63, 0x8b, 0x48, 0x5f, 0x7c, 0x1f, 0x95, 0xc0, 0x8c, + 0x3f, 0xcf, 0x58, 0x44, 0x6e, 0x6b, 0x1b, 0xde, 0x26, 0xba, 0xce, 0x45, 0x5b, 0x62, 0xb0, 0x25, + 0xdc, 0x81, 0xdf, 0xcb, 0x24, 0x54, 0x79, 0xae, 0xe4, 0x88, 0x45, 0xc2, 0x44, 0xba, 0x18, 0x47, + 0x30, 0x7d, 0x61, 0x7e, 0x41, 0x02, 0xa0, 0x61, 0x05, 0x93, 0xe5, 0x43, 0x48, 0xf2, 0x57, 0x85, + 0x77, 0x8b, 0x69, 0xc5, 0xc3, 0x62, 0x93, 0xf7, 0x1c, 0x82, 0xce, 0x54, 0x83, 0x4a, 0x1a, 0x4b, + 0x5b, 0x9f, 0x5c, 0xd8, 0xed, 0x76, 0x8c, 0x96, 0xee, 0xf6, 0x7a, 0x00, 0x46, 0x8b, 0x17, 0x5f, + 0x6f, 0x9c, 0xc8, 0x68, 0x0c, 0xca, 0x88, 0x90, 0x25, 0x89, 0xe0, 0x23, 0xf9, 0x11, 0x7c, 0x04, + 0xbd, 0x7a, 0x06, 0x10, 0x1f, 0x83, 0x7a, 0xca, 0xe0, 0x78, 0xad, 0x8b, 0xcc, 0x79, 0x1b, 0xe9, + 0xed, 0x96, 0xbd, 0xbb, 0xb3, 0xe1, 0xb0, 0xee, 0xab, 0xf1, 0x3a, 0xca, 0xac, 0x5c, 0x4b, 0xdc, + 0xca, 0x35, 0xfc, 0x39, 0x59, 0x34, 0x7a, 0x1a, 0xb3, 0xbf, 0xc2, 0xf0, 0x30, 0xc4, 0x50, 0x97, + 0xc8, 0xe9, 0xaa, 0x67, 0x91, 0x3a, 0x9b, 0x64, 0x91, 0xfa, 0x35, 0x42, 0xb1, 0xd8, 0x84, 0xea, + 0x35, 0x16, 0xdf, 0xb9, 0xd9, 0x3a, 0x72, 0x23, 0xe0, 0xbd, 0x0e, 0xcc, 0x6c, 0x84, 0x5f, 0x02, + 0x88, 0xf9, 0xc4, 0x3e, 0x1e, 0xad, 0xaf, 0x4d, 0xba, 0x42, 0xc3, 0xb3, 0x10, 0x81, 0x6e, 0x80, + 0xa0, 0x24, 0xe2, 0x36, 0x97, 0x68, 0xb9, 0x25, 0xb6, 0xfc, 0xf4, 0x51, 0xf8, 0xa0, 0x04, 0xa6, + 0xf0, 0xa5, 0xcd, 0xf3, 0xfb, 0xf8, 0x20, 0xa7, 0xa0, 0x51, 0xf2, 0x02, 0x56, 0xcc, 0x0a, 0xc8, + 0x76, 0x0c, 0xf3, 0xa2, 0xef, 0xef, 0xe8, 0x3d, 0x87, 0x57, 0x80, 0x4a, 0x7d, 0xae, 0x00, 0x0d, + 0xb6, 0x49, 0x82, 0x72, 0x0f, 0x75, 0x27, 0xfd, 0x40, 0x72, 0xe9, 0x8b, 0xf1, 0x1f, 0xb3, 0x20, + 0x5f, 0x47, 0xba, 0xdd, 0xda, 0x86, 0x6f, 0x97, 0xfa, 0x4e, 0x25, 0x0a, 0xfc, 0x54, 0x62, 0x11, + 0x4c, 0x6c, 0x1a, 0x1d, 0x17, 0xd9, 0xc4, 0x07, 0x9c, 0xed, 0xda, 0x49, 0x13, 0x9f, 0xef, 0x58, + 0xad, 0x8b, 0x73, 0xd4, 0xb4, 0x9f, 0xf3, 0xa3, 0x37, 0xcf, 0x2d, 0xe2, 0x9f, 0x34, 0xff, 0x67, + 0xcf, 0x20, 0x74, 0x2c, 0xdb, 0x8d, 0xba, 0x0d, 0x28, 0x82, 0x4a, 0xdd, 0xb2, 0x5d, 0x8d, 0xfc, + 0xe8, 0xc1, 0xbc, 0xb9, 0xdb, 0xe9, 0x34, 0xd0, 0x03, 0xae, 0x3f, 0xad, 0xf3, 0xdf, 0x3d, 0x63, + 0xd1, 0xda, 0xdc, 0x74, 0x10, 0x59, 0x54, 0xc8, 0x69, 0xf4, 0x4d, 0x39, 0x09, 0x72, 0x1d, 0x63, + 0xc7, 0x20, 0x13, 0x91, 0x9c, 0x46, 0x5e, 0x94, 0x1b, 0x41, 0x31, 0x9c, 0x03, 0x11, 0x46, 0xcf, + 0xe4, 0x71, 0xd3, 0x3c, 0x90, 0xee, 0xe9, 0xcc, 0x45, 0xb4, 0xef, 0x9c, 0x99, 0xc0, 0xdf, 0xf1, + 0x33, 0x7f, 0xe0, 0x46, 0x64, 0xc3, 0x84, 0x48, 0x3c, 0x7a, 0x86, 0x6b, 0xa3, 0x96, 0x65, 0xb7, + 0x7d, 0xd9, 0x44, 0x4f, 0x30, 0x68, 0xbe, 0x64, 0xdb, 0x1c, 0x7d, 0x0b, 0x4f, 0x5f, 0xd3, 0xde, + 0x92, 0xf7, 0xba, 0x4d, 0xaf, 0xe8, 0x0b, 0x86, 0xbb, 0xbd, 0x8a, 0x5c, 0x1d, 0xfe, 0xa3, 0xdc, + 0x57, 0xe3, 0xa6, 0xfe, 0x7f, 0x8d, 0x1b, 0xa0, 0x71, 0x24, 0xe6, 0x97, 0xbb, 0x6b, 0x9b, 0x9e, + 0x1c, 0xa9, 0x1f, 0x2d, 0x93, 0xa2, 0xdc, 0x01, 0xae, 0x08, 0xdf, 0xfc, 0xa5, 0xd4, 0x05, 0xc6, + 0xb5, 0xb6, 0xa0, 0x45, 0x67, 0x50, 0xd6, 0xc0, 0xb5, 0xe4, 0xe3, 0x72, 0x63, 0x75, 0x65, 0xd9, + 0xd8, 0xda, 0xee, 0x18, 0x5b, 0xdb, 0xae, 0x53, 0x31, 0x1d, 0x17, 0xe9, 0xed, 0xda, 0xa6, 0x46, + 0xee, 0xf1, 0x02, 0x98, 0x8e, 0x48, 0x56, 0xde, 0x47, 0x5c, 0x6c, 0x74, 0x63, 0x35, 0x25, 0xa2, + 0xa5, 0x3c, 0xc5, 0x6b, 0x29, 0xce, 0x6e, 0x27, 0xc0, 0xf4, 0xaa, 0x1e, 0x4c, 0x43, 0x55, 0xdf, + 0xed, 0xe0, 0xe6, 0x82, 0x33, 0x27, 0x1d, 0xe7, 0x62, 0x38, 0x49, 0xbf, 0xd9, 0xfc, 0xef, 0x3c, + 0xc8, 0x2d, 0xd9, 0x7a, 0x77, 0x1b, 0x3e, 0x87, 0xe9, 0x9f, 0x47, 0xd5, 0x26, 0x02, 0xed, 0x94, + 0x06, 0x69, 0xa7, 0x3c, 0x40, 0x3b, 0xb3, 0x8c, 0x76, 0x46, 0x2f, 0x3a, 0x9f, 0x03, 0xd3, 0x2d, + 0xab, 0xd3, 0x41, 0x2d, 0x4f, 0x1e, 0x95, 0x36, 0x5e, 0xed, 0x99, 0xd4, 0xb8, 0x34, 0x1c, 0xe1, + 0x1e, 0xb9, 0x75, 0xb2, 0xc6, 0x4e, 0x94, 0x3e, 0x4c, 0x80, 0x2f, 0x91, 0x40, 0x56, 0x6d, 0x6f, + 0x21, 0x6e, 0x1d, 0x3e, 0xc3, 0xac, 0xc3, 0x9f, 0x06, 0x79, 0x57, 0xb7, 0xb7, 0x90, 0xeb, 0xaf, + 0x13, 0x90, 0xb7, 0x20, 0xf0, 0xbe, 0xcc, 0x04, 0xde, 0xff, 0x51, 0x90, 0xf5, 0x64, 0x46, 0xdd, + 0xe2, 0xaf, 0xed, 0x07, 0x3f, 0x96, 0xfd, 0x9c, 0x57, 0xe2, 0x9c, 0x57, 0x6b, 0x0d, 0xff, 0xd0, + 0x8b, 0x75, 0xee, 0x00, 0xd6, 0xf8, 0x4a, 0xe2, 0x96, 0x65, 0x56, 0x76, 0xf4, 0x2d, 0x44, 0xab, + 0x19, 0x26, 0xf8, 0x5f, 0xd5, 0x1d, 0xeb, 0x7e, 0x83, 0x2e, 0x6a, 0x85, 0x09, 0x5e, 0x15, 0xb6, + 0x8d, 0x76, 0x1b, 0x99, 0xb4, 0x65, 0xd3, 0xb7, 0x73, 0x67, 0x41, 0xd6, 0xe3, 0xc1, 0xd3, 0x1f, + 0xcf, 0x58, 0x28, 0x1e, 0x53, 0xa6, 0xbd, 0x66, 0x45, 0x1a, 0x6f, 0x31, 0xc3, 0xaf, 0xb9, 0x8a, + 0x78, 0x0d, 0x91, 0xca, 0xf5, 0x6f, 0x5c, 0x4f, 0x00, 0x39, 0xd3, 0x6a, 0xa3, 0x81, 0x83, 0x10, + 0xc9, 0xa5, 0x3c, 0x19, 0xe4, 0x50, 0xdb, 0xeb, 0x15, 0x64, 0x9c, 0xfd, 0x6c, 0xbc, 0x2c, 0x35, + 0x92, 0x39, 0x99, 0x6b, 0x52, 0x3f, 0x6e, 0xd3, 0x6f, 0x80, 0xbf, 0x38, 0x01, 0x8e, 0x93, 0x3e, + 0xa0, 0xbe, 0xbb, 0xe1, 0x91, 0xda, 0x40, 0xf0, 0xe1, 0xfe, 0x03, 0xd7, 0x71, 0x5e, 0xd9, 0x4f, + 0x82, 0x9c, 0xb3, 0xbb, 0x11, 0x18, 0xa1, 0xe4, 0x85, 0x6d, 0xba, 0xd2, 0x48, 0x86, 0x33, 0x79, + 0xd8, 0xe1, 0x8c, 0x1b, 0x9a, 0x64, 0xbf, 0xf1, 0x87, 0x03, 0x19, 0x39, 0xd0, 0xe1, 0x0f, 0x64, + 0xfd, 0x86, 0xa1, 0x33, 0x60, 0x42, 0xdf, 0x74, 0x91, 0x1d, 0x9a, 0x89, 0xf4, 0xd5, 0x1b, 0x2a, + 0x37, 0xd0, 0xa6, 0x65, 0x7b, 0x62, 0x21, 0xf7, 0x2e, 0x04, 0xef, 0x4c, 0xcb, 0x05, 0xdc, 0x0e, + 0xda, 0x4d, 0xe0, 0x84, 0x69, 0x2d, 0xa0, 0x2e, 0x95, 0x33, 0x41, 0x71, 0x06, 0xb7, 0x80, 0x83, + 0x1f, 0x0e, 0x74, 0x25, 0xb3, 0x07, 0xbb, 0x12, 0xf8, 0x89, 0xa4, 0x73, 0xe6, 0x1e, 0xa0, 0x47, + 0x66, 0xa1, 0x29, 0x4f, 0x03, 0xd3, 0x6d, 0xea, 0x21, 0xd6, 0x32, 0x82, 0x56, 0x12, 0xf9, 0x1f, + 0x97, 0x39, 0x54, 0xa4, 0x2c, 0xab, 0x48, 0x4b, 0xa0, 0x80, 0x8f, 0x5e, 0x7b, 0x9a, 0x94, 0xeb, + 0xf1, 0xc8, 0xc7, 0xd3, 0xba, 0xa0, 0x52, 0x8c, 0xd8, 0xe6, 0xca, 0xf4, 0x17, 0x2d, 0xf8, 0x39, + 0xd9, 0xec, 0x3b, 0x5e, 0x42, 0xe9, 0x37, 0xc7, 0x3f, 0xca, 0x83, 0x2b, 0xca, 0xb6, 0xe5, 0x38, + 0xf8, 0x08, 0x4e, 0x6f, 0xc3, 0x7c, 0x95, 0xc4, 0x5d, 0xc1, 0xf3, 0xa8, 0x6e, 0x7e, 0xfd, 0x1a, + 0xd4, 0xf8, 0x9a, 0xc6, 0x57, 0x84, 0x83, 0xd6, 0x04, 0xfb, 0x0f, 0x11, 0x42, 0xff, 0xc1, 0x68, + 0x24, 0x6f, 0xc9, 0x88, 0xc4, 0xd1, 0x49, 0x28, 0xab, 0x31, 0xdc, 0xb9, 0x24, 0x81, 0x2b, 0x7b, + 0xb9, 0x59, 0x37, 0x9d, 0xa0, 0xc1, 0x5c, 0x3d, 0xa0, 0xbd, 0xf0, 0x71, 0x57, 0x62, 0x6f, 0xdc, + 0x8d, 0xa8, 0x3b, 0x53, 0x5a, 0xc4, 0x62, 0x49, 0x78, 0xa0, 0x27, 0xee, 0xc6, 0xdd, 0xc4, 0xe4, + 0xd3, 0x17, 0xee, 0x27, 0xb3, 0xe0, 0xf8, 0x92, 0x6d, 0xed, 0x76, 0x9d, 0xb0, 0x07, 0xfa, 0xbb, + 0xfe, 0x1b, 0xb2, 0x79, 0x11, 0xd3, 0xe0, 0x1a, 0x30, 0x65, 0x53, 0x6b, 0x2e, 0xdc, 0x9e, 0x65, + 0x93, 0xd8, 0xde, 0x4b, 0x3e, 0x4c, 0xef, 0x15, 0xf6, 0x33, 0x59, 0xae, 0x9f, 0xe9, 0xed, 0x39, + 0x72, 0x7d, 0x7a, 0x8e, 0xbf, 0x95, 0x12, 0x0e, 0xaa, 0x3d, 0x22, 0x8a, 0xe8, 0x2f, 0xca, 0x20, + 0xbf, 0x85, 0x33, 0xd2, 0xee, 0xe2, 0xf1, 0x62, 0x35, 0xc3, 0xc4, 0x35, 0xfa, 0x6b, 0x28, 0x57, + 0x99, 0xd5, 0xe1, 0x44, 0x03, 0x5c, 0x3c, 0xb7, 0xe9, 0x2b, 0xd5, 0x43, 0x59, 0x30, 0x1d, 0x94, + 0x5e, 0x69, 0x3b, 0x5c, 0x74, 0x57, 0x46, 0xa3, 0x66, 0x44, 0x34, 0xea, 0xc0, 0x3a, 0x73, 0x30, + 0xea, 0xc8, 0xcc, 0xa8, 0xd3, 0x77, 0x74, 0x99, 0x8e, 0x18, 0x5d, 0xe0, 0xb3, 0x65, 0xd1, 0x4b, + 0xec, 0xf8, 0xae, 0x15, 0xd7, 0xe6, 0xd1, 0x3c, 0x58, 0x08, 0x5e, 0xa5, 0x37, 0xb8, 0x56, 0xe9, + 0x2b, 0xc9, 0x7b, 0x24, 0x70, 0xe2, 0x60, 0x67, 0xfe, 0x43, 0xbc, 0x97, 0x9a, 0x57, 0x27, 0x27, + 0xf0, 0x52, 0xc3, 0x6f, 0xfc, 0x26, 0x5d, 0x6c, 0x10, 0x14, 0xce, 0xde, 0x1b, 0xdc, 0x89, 0x8b, + 0x85, 0x39, 0x11, 0x24, 0x9a, 0xbe, 0x00, 0x7f, 0x4d, 0x06, 0x93, 0x75, 0xe4, 0xae, 0xe8, 0xfb, + 0xd6, 0xae, 0x0b, 0x75, 0xd1, 0xed, 0xb9, 0xa7, 0x82, 0x7c, 0x07, 0xff, 0x82, 0x3b, 0x18, 0x36, + 0xe8, 0x28, 0xbb, 0xbf, 0x85, 0x7d, 0x83, 0x08, 0x69, 0x8d, 0xe6, 0xe7, 0xa3, 0xcf, 0x88, 0xec, + 0x8e, 0x06, 0xdc, 0x8d, 0x64, 0x6b, 0x27, 0xd1, 0xde, 0x69, 0x54, 0xd1, 0xe9, 0xc3, 0xf2, 0x73, + 0x32, 0x98, 0xa9, 0x23, 0xb7, 0xe2, 0x2c, 0xea, 0x7b, 0x96, 0x6d, 0xb8, 0x08, 0x2e, 0x89, 0x42, + 0x73, 0x16, 0x00, 0x23, 0xf8, 0x8d, 0xc6, 0xc4, 0x62, 0x52, 0xe0, 0x1f, 0x26, 0x75, 0x14, 0xe2, + 0xf8, 0x18, 0x09, 0x08, 0x89, 0x7c, 0x2c, 0xe2, 0x8a, 0x1f, 0xc3, 0x35, 0xdc, 0x12, 0x05, 0xa2, + 0x64, 0xb7, 0xb6, 0x8d, 0x3d, 0xd4, 0x4e, 0x08, 0x84, 0xff, 0x5b, 0x08, 0x44, 0x40, 0x28, 0xb1, + 0xfb, 0x0a, 0xc7, 0xc7, 0x28, 0xdc, 0x57, 0xe2, 0x08, 0x8e, 0x25, 0xac, 0x95, 0xd7, 0xf5, 0xd0, + 0xf5, 0xcc, 0xbb, 0x44, 0xc5, 0x1a, 0x9a, 0x6c, 0x12, 0x6b, 0xb2, 0x0d, 0xd5, 0xb1, 0x90, 0xb2, + 0x07, 0xe9, 0x74, 0x36, 0x8d, 0x8e, 0xa5, 0x6f, 0xd1, 0xe9, 0x0b, 0xfd, 0x6d, 0x32, 0x38, 0x15, + 0xc4, 0x7b, 0xa9, 0x23, 0x77, 0x41, 0x77, 0xb6, 0x37, 0x2c, 0xdd, 0x6e, 0xc3, 0xf2, 0x08, 0x0e, + 0x1c, 0xc2, 0xcf, 0xb0, 0x20, 0x54, 0x79, 0x10, 0xfa, 0xba, 0x92, 0xf6, 0xe5, 0x65, 0x14, 0x9d, + 0x4c, 0xac, 0xb7, 0xeb, 0x1b, 0x02, 0xb0, 0x7e, 0x8c, 0x03, 0xeb, 0xce, 0x61, 0x59, 0x4c, 0x1f, + 0xb8, 0xdf, 0x24, 0x23, 0x02, 0xe3, 0xf5, 0x7c, 0x9f, 0x28, 0x60, 0x11, 0x5e, 0xaf, 0x72, 0xa4, + 0xd7, 0xeb, 0x50, 0x63, 0xc4, 0x40, 0x8f, 0xe5, 0x74, 0xc7, 0x88, 0x23, 0xf4, 0x46, 0x7e, 0x93, + 0x0c, 0x8a, 0x38, 0xe0, 0x17, 0xe3, 0x11, 0xce, 0xc6, 0xcf, 0x8e, 0x47, 0xe7, 0x80, 0xf7, 0xf9, + 0x44, 0x52, 0xef, 0x73, 0xf8, 0xc6, 0xa4, 0x3e, 0xe6, 0xbd, 0xdc, 0x8e, 0x04, 0xb1, 0x44, 0x2e, + 0xe4, 0x03, 0x38, 0x48, 0x1f, 0xb4, 0x5f, 0x92, 0x01, 0xf0, 0x1a, 0x34, 0x3d, 0x1b, 0xf1, 0x0c, + 0x51, 0xb8, 0x6e, 0x66, 0xfd, 0xee, 0x3d, 0xa0, 0x4e, 0xf5, 0x00, 0x45, 0x28, 0x86, 0xa7, 0x2e, + 0x1e, 0x4e, 0xea, 0x5b, 0x19, 0x72, 0x35, 0x12, 0x58, 0x12, 0x79, 0x5b, 0x46, 0x96, 0x9d, 0x3e, + 0x20, 0xff, 0x4d, 0x02, 0xb9, 0x86, 0x55, 0x47, 0xee, 0xe1, 0x4d, 0x81, 0xc4, 0x51, 0x03, 0x70, + 0xb9, 0xa3, 0x88, 0x1a, 0xd0, 0x8f, 0x50, 0xfa, 0xa2, 0x7b, 0xab, 0x04, 0xa6, 0x1b, 0x56, 0x39, + 0x58, 0x9c, 0x12, 0xf7, 0x55, 0x15, 0xbf, 0x88, 0x3f, 0xa8, 0x60, 0x58, 0xcc, 0xa1, 0x2e, 0xe2, + 0x1f, 0x4c, 0x2f, 0x7d, 0xb9, 0xdd, 0x06, 0x8e, 0xaf, 0x9b, 0x6d, 0x4b, 0x43, 0x6d, 0x8b, 0xae, + 0x74, 0x2b, 0x0a, 0xc8, 0xee, 0x9a, 0x6d, 0x0b, 0xb3, 0x9c, 0xd3, 0xf0, 0xb3, 0x97, 0x66, 0xa3, + 0xb6, 0x45, 0x7d, 0x03, 0xf0, 0x33, 0xfc, 0x8a, 0x0c, 0xb2, 0xde, 0xbf, 0xe2, 0xa2, 0x7e, 0x93, + 0x9c, 0x30, 0x0e, 0x82, 0x47, 0x7e, 0x24, 0x96, 0xd0, 0x5d, 0xcc, 0xda, 0x3f, 0xf1, 0x60, 0xbd, + 0x36, 0xaa, 0x3c, 0x46, 0x14, 0xe1, 0x9a, 0xbf, 0x72, 0x06, 0x4c, 0x6c, 0x74, 0xac, 0xd6, 0xc5, + 0xf0, 0xb8, 0x3e, 0x7d, 0x55, 0x6e, 0x04, 0x39, 0x5b, 0x37, 0xb7, 0x10, 0xdd, 0x53, 0x38, 0xd9, + 0xd3, 0x17, 0x62, 0xaf, 0x17, 0x8d, 0x64, 0x81, 0x6f, 0x4c, 0x12, 0x81, 0xa1, 0x4f, 0xe5, 0x93, + 0xe9, 0xc3, 0xc2, 0x10, 0x27, 0xcf, 0x8a, 0x60, 0xba, 0x5c, 0xaa, 0x92, 0x7b, 0x0c, 0x6b, 0xe7, + 0xd5, 0xa2, 0x8c, 0x61, 0xf6, 0x64, 0x92, 0x22, 0xcc, 0x1e, 0xf9, 0x1f, 0x58, 0x98, 0xfb, 0x54, + 0xfe, 0x28, 0x60, 0xfe, 0xa8, 0x04, 0x66, 0x56, 0x0c, 0xc7, 0x8d, 0xf2, 0xf6, 0x8f, 0x89, 0xf7, + 0xfb, 0xc2, 0xa4, 0xa6, 0x32, 0x57, 0x8e, 0x70, 0xa0, 0xdf, 0x44, 0xe6, 0x70, 0x5c, 0x11, 0xe3, + 0x39, 0x96, 0x82, 0x39, 0x20, 0x17, 0xcf, 0x0b, 0x4b, 0x32, 0xb1, 0xa1, 0x14, 0x16, 0x32, 0x7e, + 0x43, 0x29, 0xb2, 0xec, 0xf4, 0xe5, 0xfb, 0x15, 0x09, 0x9c, 0xf0, 0x8a, 0x8f, 0x5b, 0x96, 0x8a, + 0x16, 0xf3, 0xc0, 0x65, 0xa9, 0xc4, 0x2b, 0xe3, 0x07, 0x78, 0x19, 0xc5, 0xca, 0xf8, 0x20, 0xa2, + 0x63, 0x16, 0x73, 0xc4, 0x32, 0xec, 0x20, 0x31, 0xc7, 0x2c, 0xc3, 0x0e, 0x2f, 0xe6, 0xf8, 0xa5, + 0xd8, 0x21, 0xc5, 0x7c, 0x64, 0x0b, 0xac, 0xbf, 0x27, 0x07, 0x62, 0x8e, 0x5c, 0xdb, 0x88, 0x11, + 0x73, 0xe2, 0x13, 0xbd, 0xfc, 0x8d, 0xfc, 0x09, 0x04, 0x3f, 0xe2, 0xf5, 0x8d, 0x61, 0x60, 0x3a, + 0xc2, 0x35, 0x8e, 0xdf, 0x92, 0xc1, 0x2c, 0xe5, 0xa2, 0xff, 0x94, 0x39, 0x06, 0xa3, 0xc4, 0x53, + 0xe6, 0xc4, 0x67, 0x80, 0x78, 0xce, 0xc6, 0x7f, 0x06, 0x28, 0xb6, 0xfc, 0xf4, 0xc1, 0xf9, 0x6a, + 0x16, 0x9c, 0xf6, 0x58, 0x58, 0xb5, 0xda, 0xc6, 0xe6, 0x3e, 0xe1, 0xe2, 0xbc, 0xde, 0xd9, 0x45, + 0x0e, 0x7c, 0x87, 0x24, 0x8a, 0xd2, 0xff, 0x01, 0x80, 0xd5, 0x45, 0x36, 0x89, 0xe3, 0x46, 0x81, + 0xba, 0x23, 0xaa, 0xb2, 0x07, 0x4b, 0x0a, 0xae, 0xbf, 0xa9, 0xf9, 0x44, 0x34, 0x86, 0x9e, 0x67, + 0x15, 0x4e, 0x06, 0x5f, 0x7a, 0x1d, 0x3c, 0x32, 0x07, 0x1d, 0x3c, 0x6e, 0x00, 0xb2, 0xde, 0x6e, + 0x07, 0x50, 0xf5, 0x6e, 0x66, 0xe3, 0x32, 0x35, 0x2f, 0x8b, 0x97, 0xd3, 0x41, 0xe1, 0xd1, 0xbc, + 0x88, 0x9c, 0x0e, 0x72, 0x95, 0x39, 0x90, 0x27, 0xd7, 0x81, 0x07, 0x2b, 0xfa, 0xfd, 0x33, 0xd3, + 0x5c, 0xbc, 0x69, 0x57, 0xe3, 0xd5, 0xf0, 0xb6, 0x44, 0x92, 0xe9, 0xd7, 0x4f, 0x87, 0x76, 0xb2, + 0xc6, 0x29, 0xd8, 0xd3, 0x87, 0xa6, 0x3c, 0x9e, 0xdd, 0xb0, 0x52, 0xb7, 0xdb, 0xd9, 0x6f, 0xd0, + 0xc0, 0x03, 0x89, 0x76, 0xc3, 0x98, 0xf8, 0x05, 0xd2, 0x81, 0xf8, 0x05, 0x89, 0x77, 0xc3, 0x38, + 0x3e, 0x46, 0xb1, 0x1b, 0x16, 0x47, 0x30, 0x7d, 0xd1, 0x7e, 0xa4, 0x40, 0xac, 0x66, 0x7a, 0x1b, + 0xc1, 0x27, 0xfa, 0x7b, 0x56, 0x03, 0xde, 0xd9, 0xa5, 0xdf, 0x45, 0x05, 0xb1, 0xb7, 0xb0, 0x28, + 0x4f, 0x06, 0xf9, 0x4d, 0xcb, 0xde, 0xd1, 0xfd, 0x8d, 0xfb, 0xde, 0x93, 0x22, 0xf4, 0x06, 0x80, + 0x45, 0x9c, 0x47, 0xa3, 0x79, 0xbd, 0xf9, 0xc8, 0xb3, 0x8c, 0x2e, 0x0d, 0xfa, 0xe8, 0x3d, 0x2a, + 0xd7, 0x81, 0x19, 0x1a, 0xfb, 0xb1, 0x8a, 0x1c, 0x17, 0xb5, 0x69, 0x44, 0x0b, 0x3e, 0x51, 0x39, + 0x07, 0xa6, 0x69, 0xc2, 0xa2, 0xd1, 0x41, 0x0e, 0x0d, 0x6a, 0xc1, 0xa5, 0x29, 0xa7, 0x41, 0xde, + 0x70, 0xee, 0x71, 0x2c, 0x93, 0x06, 0xe4, 0xa3, 0x6f, 0xca, 0x0d, 0xe0, 0x38, 0xcd, 0x17, 0x18, + 0xab, 0xe4, 0xc0, 0x4e, 0x6f, 0xb2, 0xa7, 0x5a, 0xa6, 0xb5, 0x66, 0x5b, 0x5b, 0x36, 0x72, 0x1c, + 0x7c, 0x6a, 0xaa, 0xa0, 0x31, 0x29, 0xca, 0x7d, 0xe0, 0x44, 0xc7, 0x30, 0x2f, 0x3a, 0x38, 0x46, + 0xf0, 0x22, 0x75, 0x1b, 0x9b, 0xee, 0x13, 0xbb, 0x9b, 0x69, 0x6c, 0x54, 0x0e, 0xec, 0x2f, 0xda, + 0x41, 0x2a, 0xca, 0x8d, 0xa0, 0x48, 0xb9, 0x99, 0xd7, 0x5b, 0x17, 0xf1, 0x77, 0xea, 0x8e, 0x7a, + 0x20, 0x1d, 0xbe, 0x38, 0x03, 0xa6, 0xb9, 0x9f, 0x75, 0xa0, 0xf8, 0x5d, 0x9e, 0x73, 0x61, 0xdb, + 0x70, 0x91, 0x57, 0x30, 0x3d, 0xc7, 0x72, 0xcb, 0x00, 0xc6, 0xb4, 0x03, 0x3f, 0x6a, 0x7d, 0x88, + 0x79, 0x00, 0x90, 0xce, 0x0c, 0x7b, 0x8d, 0x39, 0xd4, 0x0e, 0xe5, 0xd2, 0xe0, 0xb3, 0x80, 0x72, + 0x90, 0x1a, 0xe3, 0xe1, 0x91, 0x49, 0xe6, 0xe1, 0xe1, 0xc9, 0x44, 0xef, 0x74, 0xac, 0x4b, 0xa8, + 0x1d, 0x90, 0xa5, 0x7a, 0x78, 0x20, 0x1d, 0x7e, 0x6a, 0x98, 0x39, 0x5f, 0xe2, 0x4b, 0x33, 0xbc, + 0x06, 0xb4, 0xdb, 0x6a, 0x21, 0xd4, 0xa6, 0x87, 0xd2, 0xfc, 0xd7, 0x84, 0xd7, 0x69, 0x24, 0x9e, + 0x21, 0x1e, 0xd1, 0x7d, 0x1a, 0xef, 0x3f, 0x05, 0xf2, 0xe4, 0x6e, 0x3a, 0xf8, 0xe2, 0xd9, 0xbe, + 0xfd, 0xc8, 0x2c, 0xdf, 0x8f, 0xac, 0x83, 0x69, 0xd3, 0xf2, 0x8a, 0x5b, 0xd3, 0x6d, 0x7d, 0xc7, + 0x89, 0x5b, 0x00, 0x26, 0x74, 0x83, 0xd1, 0xbe, 0xca, 0xfc, 0xb6, 0x7c, 0x4c, 0xe3, 0xc8, 0x28, + 0xff, 0x27, 0x38, 0xbe, 0x41, 0x83, 0x37, 0x38, 0x94, 0xb2, 0x14, 0xed, 0x1e, 0xd9, 0x43, 0x79, + 0x9e, 0xff, 0x73, 0xf9, 0x98, 0xd6, 0x4b, 0x4c, 0xf9, 0x09, 0x30, 0xeb, 0xbd, 0xb6, 0xad, 0x4b, + 0x3e, 0xe3, 0x72, 0xb4, 0x8d, 0xd8, 0x43, 0x7e, 0x95, 0xfb, 0x71, 0xf9, 0x98, 0xd6, 0x43, 0x4a, + 0xa9, 0x01, 0xb0, 0xed, 0xee, 0x74, 0x28, 0xe1, 0x6c, 0xb4, 0x4a, 0xf6, 0x10, 0x5e, 0x0e, 0x7e, + 0x5a, 0x3e, 0xa6, 0x31, 0x24, 0x94, 0x15, 0x30, 0xe9, 0x3e, 0xe0, 0x52, 0x7a, 0xb9, 0x68, 0xbf, + 0x84, 0x1e, 0x7a, 0x0d, 0xff, 0x9f, 0xe5, 0x63, 0x5a, 0x48, 0x40, 0xa9, 0x80, 0x42, 0x77, 0x83, + 0x12, 0xcb, 0x47, 0xf7, 0x65, 0x3d, 0xc4, 0xd6, 0x36, 0x02, 0x5a, 0xc1, 0xef, 0x1e, 0x63, 0x2d, + 0x67, 0x8f, 0xd2, 0x9a, 0x10, 0x66, 0xac, 0xec, 0xff, 0xe3, 0x31, 0x16, 0x10, 0x50, 0x2a, 0x60, + 0xd2, 0x31, 0xf5, 0xae, 0xb3, 0x6d, 0xb9, 0xce, 0x99, 0x42, 0x8f, 0x0b, 0x6b, 0x34, 0xb5, 0x3a, + 0xfd, 0x47, 0x0b, 0xff, 0x56, 0x9e, 0x0c, 0x4e, 0xed, 0x76, 0xdb, 0xba, 0x8b, 0xd4, 0x07, 0x0c, + 0xc7, 0x35, 0xcc, 0x2d, 0x3f, 0xfa, 0x30, 0x19, 0x08, 0xfa, 0x7f, 0x54, 0xe6, 0xe8, 0x61, 0x36, + 0x80, 0xdb, 0x26, 0xec, 0xdd, 0x47, 0x25, 0xc5, 0x32, 0x67, 0xd8, 0x9e, 0x06, 0xb2, 0xde, 0x27, + 0x3c, 0x70, 0xcc, 0xf6, 0x5f, 0xa3, 0xed, 0xd5, 0x1d, 0xdc, 0x80, 0xbd, 0x9f, 0x7a, 0xc6, 0x9e, + 0xe9, 0x03, 0x63, 0xcf, 0x35, 0x60, 0xca, 0x70, 0x56, 0x8d, 0x2d, 0x62, 0xf8, 0xd2, 0xb1, 0x81, + 0x4d, 0x22, 0x0b, 0x05, 0x55, 0x74, 0x89, 0xdc, 0xad, 0x72, 0xdc, 0x5f, 0x28, 0xf0, 0x53, 0xe0, + 0xf5, 0x60, 0x9a, 0x6d, 0x64, 0xe4, 0x82, 0x5b, 0x23, 0x34, 0x9b, 0xe9, 0x1b, 0xbc, 0x0e, 0xcc, + 0xf2, 0x3a, 0xcd, 0x58, 0x07, 0xb2, 0xdf, 0x15, 0xc2, 0x6b, 0xc1, 0xf1, 0x9e, 0x86, 0xe5, 0x87, + 0x83, 0xc9, 0x84, 0xe1, 0x60, 0xae, 0x01, 0x20, 0xd4, 0xe2, 0xbe, 0x64, 0xae, 0x06, 0x93, 0x81, + 0x5e, 0xf6, 0xcd, 0xf0, 0xa5, 0x0c, 0x28, 0xf8, 0xca, 0xd6, 0x2f, 0x83, 0x37, 0x32, 0x99, 0xcc, + 0xde, 0x8f, 0x3f, 0x32, 0xb1, 0x69, 0x9e, 0x09, 0x10, 0x7a, 0x5c, 0x37, 0x0c, 0xb7, 0xe3, 0x9f, + 0x5a, 0xec, 0x4d, 0x56, 0xd6, 0x00, 0x30, 0x30, 0x46, 0x8d, 0xf0, 0x18, 0xe3, 0x13, 0x13, 0xb4, + 0x07, 0xa2, 0x0f, 0x0c, 0x8d, 0x73, 0x3f, 0x44, 0xcf, 0x18, 0x4e, 0x82, 0x1c, 0x09, 0xc1, 0x7f, + 0x4c, 0x99, 0x05, 0x40, 0x7d, 0xc6, 0x9a, 0xaa, 0x55, 0xd4, 0x6a, 0x59, 0x2d, 0x66, 0xe0, 0x6f, + 0x4b, 0x60, 0x32, 0x68, 0x04, 0x7d, 0x2b, 0xa9, 0x52, 0xd5, 0x1a, 0x78, 0x87, 0xe8, 0xc1, 0x46, + 0xc5, 0x2a, 0xd9, 0x53, 0xc1, 0xe5, 0xbb, 0x0e, 0x5a, 0x34, 0x6c, 0xc7, 0xd5, 0xac, 0x4b, 0x8b, + 0x96, 0x1d, 0x0e, 0xac, 0x24, 0x78, 0x6d, 0xd4, 0x67, 0xcf, 0x18, 0x6c, 0x23, 0x7c, 0x9e, 0x0d, + 0xd9, 0x74, 0x51, 0x3f, 0x4c, 0xf0, 0xe8, 0xba, 0xb6, 0x6e, 0x3a, 0x5d, 0xcb, 0x41, 0x9a, 0x75, + 0xc9, 0x29, 0x99, 0xed, 0xb2, 0xd5, 0xd9, 0xdd, 0x31, 0x1d, 0x6a, 0xce, 0x45, 0x7d, 0xf6, 0xa4, + 0x83, 0x6f, 0x08, 0x9e, 0x05, 0xa0, 0x5c, 0x5b, 0x59, 0x51, 0xcb, 0x8d, 0x4a, 0xad, 0x5a, 0x3c, + 0xe6, 0x49, 0xab, 0x51, 0x9a, 0x5f, 0xf1, 0xa4, 0xf3, 0x93, 0xa0, 0xe0, 0xb7, 0x69, 0x1a, 0xc1, + 0x26, 0xe3, 0x47, 0xb0, 0x51, 0x4a, 0xa0, 0xe0, 0xb7, 0x72, 0x3a, 0x22, 0x3c, 0xb6, 0xf7, 0xc4, + 0xf2, 0x8e, 0x6e, 0xbb, 0xd8, 0x40, 0xf1, 0x89, 0xcc, 0xeb, 0x0e, 0xd2, 0x82, 0xdf, 0xce, 0x3d, + 0x81, 0x72, 0xa0, 0x80, 0xd9, 0xd2, 0xca, 0x4a, 0xb3, 0xa6, 0x35, 0xab, 0xb5, 0xc6, 0x72, 0xa5, + 0xba, 0x44, 0x46, 0xc8, 0xca, 0x52, 0xb5, 0xa6, 0xa9, 0x64, 0x80, 0xac, 0x17, 0x33, 0xe4, 0x86, + 0xea, 0xf9, 0x02, 0xc8, 0x77, 0xb1, 0x74, 0xe1, 0xe7, 0xe5, 0x84, 0xa1, 0x0a, 0x02, 0x9c, 0x22, + 0xee, 0xd0, 0xe5, 0x8e, 0x0b, 0x48, 0x7d, 0x8e, 0xf3, 0x9e, 0x03, 0xd3, 0xc4, 0x0c, 0x77, 0xf0, + 0xce, 0x0b, 0x46, 0x4e, 0xd6, 0xb8, 0x34, 0xf8, 0x41, 0x29, 0x41, 0xfc, 0x82, 0xbe, 0x1c, 0x25, + 0x33, 0x2e, 0xfe, 0x2a, 0x33, 0xdc, 0x85, 0x15, 0x95, 0x6a, 0x43, 0xd5, 0xaa, 0xa5, 0x15, 0x9a, + 0x45, 0x56, 0xce, 0x80, 0x93, 0xd5, 0x1a, 0x0d, 0xd7, 0x58, 0x6f, 0x36, 0x6a, 0xcd, 0xca, 0xea, + 0x5a, 0x4d, 0x6b, 0x14, 0x73, 0xca, 0x69, 0xa0, 0x90, 0xe7, 0x66, 0xa5, 0xde, 0x2c, 0x97, 0xaa, + 0x65, 0x75, 0x45, 0x5d, 0x28, 0xe6, 0x95, 0xc7, 0x81, 0x6b, 0xc9, 0x05, 0x48, 0xb5, 0xc5, 0xa6, + 0x56, 0xbb, 0x50, 0xf7, 0x10, 0xd4, 0xd4, 0x95, 0x92, 0xa7, 0x48, 0xcc, 0x4d, 0xd5, 0x13, 0xca, + 0x65, 0xe0, 0x38, 0xbe, 0xc6, 0x7e, 0xa5, 0x56, 0x5a, 0xa0, 0xe5, 0x15, 0x94, 0xab, 0xc0, 0x99, + 0x4a, 0xb5, 0xbe, 0xbe, 0xb8, 0x58, 0x29, 0x57, 0xd4, 0x6a, 0xa3, 0xb9, 0xa6, 0x6a, 0xab, 0x95, + 0x7a, 0xdd, 0xfb, 0xb7, 0x38, 0x89, 0xef, 0x01, 0x26, 0x7d, 0x26, 0x7c, 0xbb, 0x0c, 0x66, 0xce, + 0xeb, 0x1d, 0xc3, 0x1b, 0x28, 0xf0, 0x05, 0xe1, 0x3d, 0x27, 0x7d, 0x5c, 0x7c, 0x91, 0x38, 0x3d, + 0x2b, 0x80, 0x5f, 0xe0, 0xcf, 0xca, 0x09, 0x4f, 0xfa, 0x50, 0x20, 0x48, 0x89, 0x73, 0x5c, 0x69, + 0x11, 0xf3, 0xd2, 0x57, 0x48, 0x09, 0x4e, 0xfa, 0x88, 0x93, 0x4f, 0x06, 0xfe, 0xef, 0x8c, 0x0a, + 0xfc, 0x22, 0x98, 0x5e, 0xaf, 0x96, 0xd6, 0x1b, 0xcb, 0x35, 0xad, 0xf2, 0xe3, 0x38, 0x4e, 0xfd, + 0x0c, 0x98, 0x5c, 0xac, 0x69, 0xf3, 0x95, 0x85, 0x05, 0xb5, 0x5a, 0xcc, 0x29, 0x97, 0x83, 0xcb, + 0xea, 0xaa, 0x76, 0xbe, 0x52, 0x56, 0x9b, 0xeb, 0xd5, 0xd2, 0xf9, 0x52, 0x65, 0x05, 0xf7, 0x11, + 0xf9, 0x98, 0xcb, 0xcd, 0x27, 0xe0, 0x4f, 0x67, 0x01, 0x20, 0x55, 0xc7, 0xd7, 0x34, 0x31, 0x57, + 0x60, 0xff, 0x75, 0xd2, 0x49, 0x43, 0x48, 0x26, 0xa2, 0xfd, 0x56, 0x40, 0xc1, 0xa6, 0x1f, 0xe8, + 0xca, 0xd7, 0x20, 0x3a, 0xe4, 0xd1, 0xa7, 0xa6, 0x05, 0xbf, 0xc3, 0x77, 0x24, 0x99, 0x23, 0x44, + 0x32, 0x96, 0x0c, 0xc9, 0xc5, 0xd1, 0x00, 0x09, 0x5f, 0x90, 0x01, 0xb3, 0x7c, 0xc5, 0xbc, 0x4a, + 0x60, 0x63, 0x4a, 0xac, 0x12, 0xfc, 0xcf, 0x8c, 0x91, 0x75, 0xee, 0x49, 0x74, 0x38, 0x05, 0x7e, + 0xcb, 0x24, 0x87, 0xf6, 0x7d, 0x8b, 0xa5, 0x98, 0xf1, 0x98, 0xf7, 0x8c, 0x8e, 0xa2, 0xa4, 0x4c, + 0x00, 0xb9, 0xf1, 0x80, 0x5b, 0x94, 0xe1, 0x97, 0x64, 0x30, 0xc3, 0xdd, 0xb1, 0x0d, 0x5f, 0x91, + 0x11, 0xb9, 0xff, 0x96, 0xb9, 0xbd, 0x3b, 0x73, 0xd8, 0xdb, 0xbb, 0xcf, 0xdd, 0x0c, 0x26, 0x68, + 0x1a, 0x96, 0x6f, 0xad, 0xea, 0x99, 0x02, 0xc7, 0xc1, 0xd4, 0x92, 0xda, 0x68, 0xd6, 0x1b, 0x25, + 0xad, 0xa1, 0x2e, 0x14, 0x33, 0xde, 0xc0, 0xa7, 0xae, 0xae, 0x35, 0xee, 0x2b, 0x4a, 0xc9, 0x9d, + 0x27, 0x7b, 0x19, 0x19, 0xb3, 0xf3, 0x64, 0x5c, 0xf1, 0xe9, 0xcf, 0x55, 0x3f, 0x21, 0x83, 0x22, + 0xe1, 0x40, 0x7d, 0xa0, 0x8b, 0x6c, 0x03, 0x99, 0x2d, 0x04, 0x2f, 0x8a, 0x04, 0x73, 0x3d, 0x10, + 0xc6, 0x10, 0xf7, 0xe7, 0x8c, 0x95, 0x48, 0x5e, 0x7a, 0x0c, 0xec, 0xec, 0x01, 0x03, 0xfb, 0xe3, + 0x49, 0xbd, 0x27, 0x7b, 0xd9, 0x1d, 0x09, 0x64, 0x1f, 0x4e, 0xe2, 0x3d, 0x39, 0x80, 0x83, 0xb1, + 0xc4, 0x68, 0x8e, 0x18, 0x7f, 0x8b, 0x32, 0x7c, 0xbe, 0x0c, 0x8e, 0x2f, 0xe8, 0x2e, 0x9a, 0xdf, + 0x6f, 0xf8, 0x77, 0x60, 0x46, 0xdc, 0x5b, 0x9d, 0x39, 0x70, 0x6f, 0x75, 0x78, 0x8d, 0xa6, 0xd4, + 0x73, 0x8d, 0x26, 0x7c, 0x4b, 0xd2, 0xf3, 0x96, 0x3d, 0x3c, 0x8c, 0x2c, 0x90, 0x72, 0xb2, 0x73, + 0x94, 0xf1, 0x5c, 0xa4, 0xdf, 0xc0, 0x5e, 0x3f, 0x09, 0x8a, 0x84, 0x15, 0xc6, 0x41, 0xf0, 0xd7, + 0xe8, 0x55, 0xef, 0xcd, 0x04, 0xf1, 0x18, 0xfd, 0x08, 0x17, 0x12, 0x1f, 0xe1, 0x82, 0x5b, 0x6f, + 0x96, 0x7b, 0x9d, 0x3a, 0x92, 0x76, 0x86, 0x8c, 0x37, 0x60, 0x74, 0x08, 0xdc, 0xf4, 0x3a, 0xc3, + 0xd8, 0xe2, 0xc7, 0x73, 0x1d, 0x31, 0xbd, 0x01, 0x54, 0x15, 0x45, 0x26, 0xfe, 0xd6, 0xf5, 0xa4, + 0xae, 0xe1, 0x9c, 0x37, 0x66, 0xcc, 0x55, 0xe4, 0xe9, 0xb9, 0x86, 0x0f, 0xe2, 0x20, 0x7d, 0x14, + 0xbe, 0x27, 0x81, 0x6c, 0xdd, 0xb2, 0xdd, 0x51, 0x61, 0x90, 0x74, 0x3b, 0x9b, 0x91, 0x40, 0x3d, + 0x7a, 0xce, 0x99, 0xde, 0x76, 0x76, 0x7c, 0xf9, 0x63, 0x08, 0x69, 0x79, 0x1c, 0xcc, 0x12, 0x4e, + 0x82, 0xfb, 0x60, 0xbe, 0x2b, 0x91, 0xfe, 0xea, 0x5e, 0x51, 0x44, 0xf0, 0xc6, 0x47, 0xb0, 0x9d, + 0xec, 0x83, 0xc2, 0xa5, 0xc1, 0x57, 0xb1, 0xb8, 0x2c, 0xf0, 0xb8, 0xf4, 0x9b, 0x71, 0x07, 0x57, + 0xaa, 0x8c, 0xaa, 0x67, 0x4a, 0x12, 0x1d, 0x33, 0xa6, 0xf0, 0xf4, 0x11, 0x79, 0x50, 0x06, 0x79, + 0xea, 0xce, 0x37, 0x52, 0x04, 0x92, 0xb6, 0x8c, 0x40, 0x08, 0x62, 0x6e, 0x7f, 0xf2, 0xa8, 0x5b, + 0x46, 0x7c, 0xf9, 0xe9, 0xe3, 0xf0, 0x1f, 0xd4, 0x4f, 0xb5, 0xb4, 0xa7, 0x1b, 0x1d, 0x7d, 0xa3, + 0x93, 0x20, 0x2a, 0xf5, 0x07, 0x13, 0x9e, 0xcc, 0x0b, 0xaa, 0xca, 0x95, 0x17, 0x21, 0xf1, 0x1f, + 0x01, 0x93, 0x36, 0xb7, 0xd7, 0xe7, 0x59, 0x51, 0x3d, 0x3e, 0xc2, 0xf4, 0xbb, 0x16, 0xe6, 0x4c, + 0x74, 0x0c, 0x4f, 0x88, 0x9f, 0xb1, 0x1c, 0x1b, 0x9a, 0x2a, 0xb5, 0xdb, 0x8b, 0x48, 0x77, 0x77, + 0x6d, 0xd4, 0x4e, 0x34, 0x44, 0xd8, 0x3d, 0xdb, 0xa1, 0x8c, 0x24, 0xb8, 0xb8, 0x90, 0x2b, 0x3c, + 0x3a, 0x4f, 0x19, 0xd0, 0x1b, 0xf8, 0xbc, 0x8c, 0xa4, 0x4b, 0x7a, 0x5d, 0x00, 0x49, 0x8d, 0x83, + 0xe4, 0x69, 0xc3, 0x31, 0x91, 0x3e, 0x20, 0xbf, 0x21, 0x83, 0x59, 0x62, 0x27, 0x8c, 0x1a, 0x93, + 0x77, 0x27, 0x74, 0xff, 0x61, 0x6e, 0xdc, 0x62, 0xd9, 0x19, 0x09, 0x2c, 0x49, 0x9c, 0x85, 0xc4, + 0xf8, 0x48, 0x1f, 0x99, 0xe7, 0x9e, 0x00, 0x80, 0x71, 0xe9, 0xfc, 0x60, 0x3e, 0x8c, 0xd1, 0x08, + 0xdf, 0x48, 0xe7, 0x1f, 0x75, 0x2e, 0x60, 0x38, 0xe3, 0xae, 0x19, 0x6c, 0x48, 0xf1, 0x89, 0x42, + 0xa3, 0xca, 0x5f, 0x25, 0xb4, 0x79, 0xa9, 0x43, 0xe5, 0xc0, 0xc1, 0x7d, 0xc8, 0x5e, 0xee, 0x91, + 0x04, 0xc6, 0xef, 0x20, 0x56, 0x92, 0xa1, 0xb6, 0x32, 0xc4, 0xcc, 0xfe, 0x0c, 0x38, 0xa9, 0xa9, + 0xa5, 0x85, 0x5a, 0x75, 0xe5, 0x3e, 0xf6, 0xfa, 0xa5, 0xa2, 0xcc, 0x4e, 0x4e, 0x52, 0x81, 0xed, + 0x95, 0x09, 0xfb, 0x40, 0x5e, 0x56, 0x71, 0xb3, 0x15, 0x66, 0x71, 0x65, 0x70, 0xaf, 0x26, 0x40, + 0xf6, 0x28, 0x51, 0xf8, 0x66, 0x1e, 0x4c, 0x69, 0xa8, 0x65, 0xed, 0xec, 0x20, 0xb3, 0x8d, 0xda, + 0xf0, 0x95, 0x32, 0x98, 0x0e, 0xf6, 0xfb, 0xea, 0xc8, 0x85, 0x3f, 0x11, 0x62, 0x73, 0x0e, 0x4c, + 0x7b, 0x95, 0xab, 0xf1, 0x41, 0xe0, 0xb9, 0x34, 0xe5, 0x26, 0x70, 0xc2, 0x47, 0xa1, 0xd6, 0x33, + 0x85, 0x39, 0xf8, 0x01, 0xbe, 0x95, 0xc5, 0x68, 0x9d, 0xc7, 0xe8, 0xae, 0x68, 0x61, 0x06, 0xec, + 0xce, 0xb1, 0xac, 0x46, 0x80, 0xf5, 0x97, 0x01, 0x58, 0xcf, 0xe0, 0xc0, 0x5a, 0x38, 0x24, 0xfd, + 0xa3, 0x44, 0xed, 0x5d, 0x32, 0x38, 0xe9, 0x77, 0xc4, 0xe3, 0x43, 0xeb, 0x11, 0x16, 0xad, 0x9f, + 0xe4, 0xd1, 0x5a, 0x12, 0x91, 0x66, 0x3f, 0x96, 0x23, 0x50, 0xfb, 0x5c, 0x80, 0xda, 0x4f, 0x71, + 0xa8, 0xad, 0x8c, 0xa8, 0x9c, 0xa3, 0x44, 0xef, 0xdd, 0x32, 0x38, 0xe3, 0x99, 0x9d, 0x65, 0xcb, + 0xdc, 0xec, 0x18, 0x2d, 0xd7, 0x30, 0xb7, 0x42, 0x17, 0xb6, 0x25, 0x91, 0x95, 0xcd, 0x5e, 0x6c, + 0xa5, 0x83, 0xd8, 0xf2, 0xb1, 0x33, 0x44, 0xdb, 0x56, 0x14, 0x5b, 0x11, 0x43, 0x18, 0xe3, 0x78, + 0x1d, 0x6a, 0x0e, 0x9b, 0x94, 0xbc, 0xf5, 0x09, 0x72, 0x70, 0x94, 0xf8, 0x3d, 0x08, 0x18, 0xd3, + 0xe3, 0xe7, 0x65, 0x50, 0xc4, 0xfe, 0x92, 0xb8, 0x67, 0xa7, 0x77, 0x93, 0xd6, 0x78, 0x2f, 0xf9, + 0xae, 0x2f, 0x20, 0xdf, 0x4b, 0xde, 0x4f, 0x50, 0xae, 0x07, 0xb3, 0xad, 0x6d, 0xd4, 0xba, 0x58, + 0x31, 0x7d, 0x5f, 0x24, 0xe2, 0xb8, 0xd2, 0x93, 0xca, 0x0f, 0x66, 0xf7, 0xf2, 0x60, 0xf2, 0x0b, + 0x8f, 0xdc, 0xc4, 0x86, 0x65, 0x2a, 0xa2, 0xa1, 0x7d, 0x24, 0x00, 0xa8, 0xca, 0x01, 0x74, 0xfb, + 0x50, 0x54, 0x93, 0xc1, 0x52, 0x1d, 0x02, 0x16, 0x08, 0x4e, 0xd7, 0xd6, 0x1a, 0x95, 0x5a, 0xb5, + 0xb9, 0x5e, 0x57, 0x17, 0x9a, 0xf3, 0x3e, 0x38, 0xf5, 0xa2, 0x0c, 0xbf, 0x26, 0x81, 0x09, 0xc2, + 0x96, 0x03, 0x1f, 0x1f, 0x42, 0x30, 0xf0, 0x78, 0x00, 0x7c, 0xbd, 0x70, 0xb0, 0x9f, 0x40, 0x10, + 0xb4, 0x9c, 0x88, 0x86, 0xf1, 0x54, 0x30, 0x41, 0x40, 0xf6, 0x77, 0x01, 0xce, 0x46, 0x58, 0x76, + 0x94, 0x8c, 0xe6, 0x67, 0x17, 0x0c, 0xfc, 0x33, 0x80, 0x8d, 0xf4, 0xad, 0xf1, 0x67, 0x67, 0xc9, + 0xd2, 0xc1, 0x05, 0xc3, 0xdd, 0xc6, 0xa7, 0x07, 0xe0, 0x8f, 0x89, 0x74, 0x5c, 0x37, 0x81, 0xdc, + 0x9e, 0x97, 0x7b, 0xc0, 0x49, 0x0c, 0x92, 0x09, 0xfe, 0x8e, 0x70, 0x9c, 0x69, 0x4e, 0x3f, 0x03, + 0x9e, 0x22, 0xc0, 0x59, 0x05, 0xd9, 0x8e, 0xe1, 0xb8, 0xd4, 0xe6, 0xbe, 0x2d, 0x11, 0x21, 0xff, + 0xa1, 0xe2, 0xa2, 0x1d, 0x0d, 0x93, 0x81, 0xf7, 0x78, 0x16, 0x53, 0x98, 0x2a, 0x70, 0x1a, 0xe5, + 0x0c, 0x98, 0xa0, 0xa7, 0xa4, 0xe9, 0xb6, 0x94, 0xff, 0x2a, 0xb8, 0x15, 0x24, 0x54, 0xdb, 0xf4, + 0x75, 0xe0, 0xff, 0x3d, 0x0e, 0x26, 0x96, 0x0d, 0xc7, 0xb5, 0xec, 0x7d, 0xf8, 0x70, 0x06, 0x4c, + 0x9c, 0x47, 0xb6, 0x63, 0x58, 0xe6, 0x01, 0xf7, 0xac, 0x6b, 0xc0, 0x54, 0xd7, 0x46, 0x7b, 0x86, + 0xb5, 0xeb, 0x30, 0xa3, 0x04, 0x93, 0xa4, 0x40, 0x50, 0xd0, 0x77, 0xdd, 0x6d, 0xcb, 0x0e, 0x83, + 0x2b, 0xf9, 0xef, 0xca, 0x59, 0x00, 0xc8, 0x73, 0x55, 0xdf, 0x41, 0xfe, 0xfd, 0xe9, 0x61, 0x8a, + 0xa2, 0x80, 0xac, 0x6b, 0xec, 0x20, 0x1a, 0x6d, 0x1d, 0x3f, 0x7b, 0x02, 0xc6, 0x91, 0x4b, 0x69, + 0x84, 0x58, 0x59, 0xf3, 0x5f, 0xe1, 0x67, 0x64, 0x30, 0xb5, 0x84, 0x5c, 0xca, 0xaa, 0x03, 0x5f, + 0x98, 0x11, 0xba, 0xe0, 0xc8, 0x9b, 0x97, 0x74, 0x74, 0xc7, 0xff, 0x2f, 0x18, 0x72, 0xf9, 0xc4, + 0x30, 0xf4, 0xbb, 0xcc, 0xde, 0xfb, 0x80, 0xe3, 0x80, 0xba, 0x15, 0xe2, 0xc0, 0x4f, 0x33, 0xd3, + 0x8d, 0xe3, 0x83, 0x1f, 0x78, 0x9b, 0x38, 0x36, 0x86, 0x06, 0x95, 0xfd, 0x1c, 0x53, 0x9f, 0xc8, + 0xee, 0xa8, 0xb0, 0x47, 0x73, 0x1c, 0xb8, 0xd2, 0x83, 0xa5, 0x44, 0xc9, 0x68, 0x41, 0x6e, 0xc1, + 0xe8, 0x1b, 0x83, 0x39, 0x19, 0xc3, 0x25, 0xae, 0x32, 0x98, 0xaa, 0x6f, 0x5b, 0x97, 0x7c, 0x39, + 0xfe, 0xa4, 0x18, 0xb0, 0x57, 0x81, 0xc9, 0xbd, 0x1e, 0x50, 0xc3, 0x04, 0xf6, 0xde, 0x38, 0x99, + 0xbf, 0x37, 0xee, 0x79, 0x72, 0x52, 0x98, 0x18, 0xe6, 0x22, 0x60, 0xe2, 0xaf, 0x7a, 0x93, 0x12, + 0x5c, 0xf5, 0xa6, 0x3c, 0x05, 0x4c, 0x50, 0xae, 0xe9, 0x32, 0x75, 0x3c, 0xc0, 0x7e, 0x66, 0xb6, + 0x82, 0x59, 0xbe, 0x82, 0xc9, 0x90, 0x8f, 0xae, 0x5c, 0xfa, 0xc8, 0xff, 0xb9, 0x84, 0x63, 0x2f, + 0xf9, 0xc0, 0x97, 0x47, 0x00, 0x3c, 0xfc, 0x4e, 0x46, 0x74, 0x33, 0x27, 0x90, 0x40, 0xc0, 0xc1, + 0xa1, 0x2e, 0x2f, 0x1b, 0x48, 0x2e, 0x7d, 0x79, 0xfe, 0x76, 0x16, 0x4c, 0x2f, 0x18, 0x9b, 0x9b, + 0x41, 0x27, 0xf9, 0x22, 0xc1, 0x4e, 0x32, 0xda, 0x85, 0xca, 0xb3, 0x73, 0x77, 0x6d, 0x1b, 0x99, + 0x7e, 0xa5, 0x68, 0x73, 0xea, 0x49, 0x55, 0x6e, 0x00, 0xc7, 0xfd, 0x71, 0x81, 0xed, 0x28, 0x27, + 0xb5, 0xde, 0x64, 0xf8, 0x2d, 0x61, 0x4f, 0x00, 0x5f, 0xa2, 0x6c, 0x95, 0x22, 0x1a, 0xe0, 0x1d, + 0x60, 0x66, 0x9b, 0xe4, 0xc6, 0xcb, 0xa5, 0x7e, 0x67, 0x79, 0xba, 0x27, 0xb6, 0xfd, 0x2a, 0x72, + 0x1c, 0x7d, 0x0b, 0x69, 0x7c, 0xe6, 0x9e, 0xe6, 0x2b, 0x27, 0xb9, 0xa9, 0x51, 0xcc, 0xa9, 0x40, + 0xa0, 0x26, 0xe9, 0x6b, 0xc7, 0xe7, 0xce, 0x81, 0xec, 0xa2, 0xd1, 0x41, 0xf0, 0x17, 0x24, 0x30, + 0xe9, 0xcd, 0xba, 0xcd, 0x96, 0xf7, 0xc6, 0x38, 0x54, 0x7e, 0x33, 0x23, 0x7a, 0x43, 0xb1, 0x47, + 0x67, 0x2e, 0xa0, 0x11, 0xd1, 0x6e, 0xc4, 0x6e, 0x22, 0x8e, 0x25, 0x35, 0x86, 0xfb, 0xa4, 0xbc, + 0xa9, 0xc7, 0xe6, 0x66, 0xc7, 0xd2, 0xb9, 0x0d, 0x83, 0x5e, 0x53, 0x28, 0x3c, 0xe0, 0x57, 0xb5, + 0xdc, 0x35, 0xc3, 0x34, 0x83, 0x98, 0x19, 0x07, 0xd2, 0x79, 0x5f, 0x97, 0xd8, 0xb0, 0x63, 0xb8, + 0xee, 0xb4, 0xf4, 0x08, 0xcd, 0xbe, 0x1e, 0xcc, 0x6e, 0xec, 0xbb, 0xc8, 0xa1, 0xb9, 0x68, 0xb1, + 0x59, 0xad, 0x27, 0x95, 0xb9, 0x34, 0x20, 0x2e, 0x3c, 0x59, 0x4c, 0x81, 0xc9, 0x44, 0xbd, 0x3c, + 0xc4, 0x0c, 0xf0, 0x24, 0x28, 0x56, 0x6b, 0x0b, 0x2a, 0xf6, 0xef, 0xf5, 0x3d, 0x26, 0xb7, 0xe0, + 0xaf, 0xca, 0x60, 0x1a, 0x3b, 0xe0, 0xf9, 0x28, 0x5c, 0x2b, 0x30, 0x1f, 0x81, 0x5f, 0x10, 0xf6, + 0xfd, 0xc5, 0x55, 0x66, 0x0b, 0x88, 0x16, 0xf4, 0xa6, 0xd1, 0xe9, 0x15, 0x74, 0x4e, 0xeb, 0x49, + 0xed, 0x03, 0x88, 0xdc, 0x17, 0x90, 0x77, 0x09, 0x39, 0x00, 0x0f, 0xe2, 0xee, 0xa8, 0x50, 0xf9, + 0x63, 0x19, 0x4c, 0x79, 0x93, 0x14, 0x1f, 0x94, 0x1a, 0x07, 0x8a, 0x65, 0x76, 0xf6, 0xc3, 0x65, + 0x11, 0xff, 0x35, 0x51, 0x23, 0xf9, 0x1b, 0xe1, 0x99, 0x3b, 0x16, 0x11, 0xc3, 0xcb, 0x98, 0xf0, + 0x7b, 0xa7, 0xd0, 0x7c, 0x7e, 0x00, 0x73, 0x47, 0x05, 0xdf, 0x43, 0x79, 0x90, 0x5f, 0xef, 0x62, + 0xe4, 0x3e, 0x2f, 0x8b, 0x5c, 0xc0, 0x71, 0xe0, 0xf0, 0x97, 0x67, 0x66, 0x75, 0xac, 0x96, 0xde, + 0x59, 0x0b, 0x4f, 0xd1, 0x86, 0x09, 0xca, 0xed, 0xd4, 0x1f, 0x9c, 0x9c, 0x1e, 0xbf, 0x3e, 0xf6, + 0x6e, 0x0a, 0x2c, 0x23, 0xe6, 0xa0, 0xdd, 0x4d, 0xe0, 0x44, 0xdb, 0x70, 0xf4, 0x8d, 0x0e, 0x52, + 0xcd, 0x96, 0xbd, 0x4f, 0xc4, 0x41, 0xa7, 0x55, 0x07, 0x3e, 0x28, 0x77, 0x82, 0x9c, 0xe3, 0xee, + 0x77, 0xc8, 0x3c, 0x91, 0x3d, 0x97, 0x17, 0x59, 0x54, 0xdd, 0xcb, 0xae, 0x91, 0xbf, 0x58, 0xb7, + 0xce, 0x09, 0x31, 0xb7, 0x4e, 0xe5, 0x49, 0x20, 0x6f, 0xd9, 0xc6, 0x96, 0x41, 0xae, 0x9b, 0x9b, + 0x3d, 0x10, 0x82, 0x95, 0x98, 0x02, 0x35, 0x9c, 0x45, 0xa3, 0x59, 0x95, 0xa7, 0x80, 0x49, 0x63, + 0x47, 0xdf, 0x42, 0xf7, 0x1a, 0x26, 0x39, 0xa0, 0x3e, 0x7b, 0xeb, 0x99, 0x03, 0x47, 0x0e, 0xe9, + 0x77, 0x2d, 0xcc, 0xaa, 0xdc, 0x01, 0xae, 0x68, 0xd9, 0x48, 0x77, 0x91, 0x27, 0xa0, 0x0b, 0x46, + 0x7b, 0x0b, 0xb9, 0x95, 0xcd, 0x55, 0xc3, 0x71, 0x0c, 0x73, 0x8b, 0xde, 0x28, 0x19, 0x9d, 0x01, + 0xbe, 0x53, 0x12, 0x8d, 0x32, 0x87, 0x25, 0x43, 0x54, 0x62, 0x88, 0x9b, 0xaf, 0x19, 0x29, 0xca, + 0x82, 0xce, 0xb1, 0x2f, 0x17, 0x8a, 0xff, 0x16, 0xcd, 0x56, 0xfa, 0x43, 0xff, 0xa7, 0x25, 0x50, + 0x58, 0xb0, 0x2e, 0x99, 0xb8, 0x99, 0xdc, 0x26, 0x66, 0x29, 0xf7, 0x39, 0x56, 0xce, 0xdf, 0xa1, + 0x1c, 0x7b, 0x86, 0x0c, 0xd7, 0xd6, 0x2f, 0x32, 0x02, 0x86, 0xd8, 0x76, 0x27, 0x78, 0xb3, 0x6d, + 0x5c, 0x39, 0xe9, 0xcb, 0xf5, 0x2f, 0x64, 0x90, 0x5d, 0xb0, 0xad, 0x2e, 0x7c, 0x5d, 0x26, 0x81, + 0x93, 0x58, 0xdb, 0xb6, 0xba, 0x0d, 0x7c, 0x35, 0x65, 0xb8, 0x2f, 0xc2, 0xa6, 0x29, 0xb7, 0x81, + 0x42, 0xd7, 0x72, 0x0c, 0xd7, 0x9f, 0x84, 0xcc, 0xde, 0xfa, 0x98, 0xbe, 0x7d, 0xc1, 0x1a, 0xcd, + 0xa4, 0x05, 0xd9, 0xbd, 0x3e, 0x1f, 0x8b, 0xd0, 0x93, 0x8b, 0x27, 0x46, 0xff, 0x7a, 0xce, 0x9e, + 0x54, 0xf8, 0x62, 0x16, 0xc9, 0xa7, 0xf1, 0x48, 0x3e, 0xb6, 0x8f, 0x84, 0x6d, 0xab, 0x3b, 0x12, + 0xb7, 0x8e, 0x97, 0x06, 0xa8, 0x3e, 0x9d, 0x43, 0xf5, 0x46, 0xa1, 0x32, 0xd3, 0x47, 0xf4, 0x9d, + 0x59, 0x00, 0xb0, 0x91, 0xb2, 0xee, 0x4d, 0x9f, 0xc4, 0x2c, 0xb4, 0x9f, 0xcb, 0x32, 0xb2, 0x2c, + 0xf1, 0xb2, 0x7c, 0x7c, 0x84, 0x0d, 0x84, 0xc9, 0x47, 0x48, 0xb4, 0x04, 0x72, 0xbb, 0xde, 0x67, + 0x2a, 0x51, 0x41, 0x12, 0xf8, 0x55, 0x23, 0x7f, 0xc2, 0x3f, 0xcf, 0x80, 0x1c, 0x4e, 0x50, 0xce, + 0x02, 0x80, 0xcd, 0x02, 0x72, 0x04, 0x33, 0x83, 0x0d, 0x00, 0x26, 0x05, 0x6b, 0xab, 0xd1, 0xa6, + 0x9f, 0x89, 0xc1, 0x1d, 0x26, 0x78, 0x7f, 0x63, 0x63, 0x01, 0xd3, 0xa2, 0xe6, 0x03, 0x93, 0xe2, + 0xfd, 0x8d, 0xdf, 0x56, 0xd0, 0x26, 0xb9, 0x35, 0x20, 0xab, 0x85, 0x09, 0xc1, 0xdf, 0x2b, 0xc1, + 0x5d, 0x93, 0xfe, 0xdf, 0x38, 0xc5, 0x9b, 0x4a, 0x63, 0xb5, 0x9c, 0x0f, 0x8b, 0xc8, 0xe3, 0x4c, + 0xbd, 0xc9, 0xf0, 0x95, 0x81, 0xda, 0x2c, 0x70, 0x6a, 0xf3, 0xc4, 0x04, 0xe2, 0x4d, 0x5f, 0x79, + 0xbe, 0x94, 0x03, 0x93, 0x55, 0xab, 0x4d, 0x75, 0x87, 0x99, 0x6e, 0x7e, 0x38, 0x97, 0x68, 0xba, + 0x19, 0xd0, 0x88, 0x50, 0x90, 0xbb, 0x79, 0x05, 0x11, 0xa3, 0xc0, 0xea, 0x87, 0x32, 0x0f, 0xf2, + 0x58, 0x7b, 0x0f, 0x5e, 0x62, 0x18, 0x47, 0x02, 0x8b, 0x56, 0xa3, 0x7f, 0xfe, 0xa7, 0xd3, 0xb1, + 0xff, 0x0a, 0x72, 0xb8, 0x82, 0x31, 0x7b, 0x43, 0x7c, 0x45, 0xa5, 0xf8, 0x8a, 0xca, 0xf1, 0x15, + 0xcd, 0xf6, 0x56, 0x34, 0xc9, 0x2a, 0x42, 0x94, 0x86, 0xa4, 0xaf, 0xe3, 0xff, 0x3c, 0x01, 0x40, + 0x55, 0xdf, 0x33, 0xb6, 0xc8, 0xde, 0xf2, 0x67, 0xfc, 0xd9, 0x13, 0xdd, 0x05, 0xfe, 0x25, 0x66, + 0x20, 0xbc, 0x0d, 0x4c, 0xd0, 0x71, 0x8f, 0x56, 0xe4, 0x6a, 0xae, 0x22, 0x21, 0x15, 0x62, 0xd4, + 0x3e, 0xe0, 0x6a, 0x7e, 0x7e, 0xee, 0xbe, 0x75, 0xa9, 0xe7, 0xbe, 0xf5, 0xfe, 0x3b, 0x18, 0x11, + 0xb7, 0xb0, 0xc3, 0xb7, 0x09, 0x9f, 0xa1, 0x62, 0xf8, 0x61, 0x6a, 0x14, 0xd1, 0x04, 0x9f, 0x04, + 0x26, 0xac, 0x60, 0x3b, 0x5c, 0x8e, 0x5c, 0x45, 0xab, 0x98, 0x9b, 0x96, 0xe6, 0xe7, 0x14, 0xdc, + 0x3a, 0x13, 0xe2, 0x63, 0x2c, 0xc7, 0x14, 0x4f, 0x2f, 0xf9, 0x11, 0x18, 0xbd, 0x7a, 0x5c, 0x30, + 0xdc, 0xed, 0x15, 0x1c, 0xd7, 0xe9, 0xa7, 0xc4, 0x2c, 0x48, 0x06, 0x7f, 0x29, 0x19, 0xfe, 0x7c, + 0x94, 0xa4, 0x3a, 0x8f, 0xda, 0x9d, 0x51, 0x54, 0xfa, 0x73, 0x1b, 0x01, 0xe0, 0xed, 0x20, 0x4f, + 0x18, 0xa5, 0x9d, 0xe8, 0xb9, 0x48, 0xfc, 0x02, 0x4a, 0x1a, 0xfd, 0x03, 0xbe, 0x35, 0xc0, 0xf1, + 0x3c, 0x87, 0xe3, 0xfc, 0xa1, 0x38, 0x4b, 0x1d, 0xd2, 0x73, 0xb7, 0x80, 0x09, 0x2a, 0x69, 0x65, + 0x96, 0x6d, 0xc5, 0xc5, 0x63, 0x0a, 0x00, 0xf9, 0x55, 0x6b, 0x0f, 0x35, 0xac, 0x62, 0xc6, 0x7b, + 0xf6, 0xf8, 0x6b, 0x58, 0x45, 0x09, 0xbe, 0xac, 0x00, 0x0a, 0x41, 0xe8, 0xbb, 0x4f, 0x4b, 0xa0, + 0x58, 0xc6, 0x33, 0xb4, 0x45, 0xdb, 0xda, 0x21, 0x35, 0x12, 0xf7, 0xc7, 0xff, 0x0d, 0x61, 0x07, + 0x91, 0x20, 0x24, 0x5d, 0x6f, 0x61, 0x11, 0x58, 0x92, 0x25, 0x4c, 0xc9, 0x5f, 0xc2, 0x84, 0xaf, + 0x15, 0x72, 0x18, 0x11, 0x2d, 0x25, 0xfd, 0xa6, 0xf6, 0x71, 0x09, 0xe4, 0xca, 0x1d, 0xcb, 0x44, + 0xec, 0xa1, 0xd1, 0x81, 0xa7, 0x13, 0xfb, 0xef, 0x63, 0xc0, 0x67, 0x4b, 0xa2, 0xb6, 0x46, 0x28, + 0x00, 0xaf, 0x6c, 0x41, 0xd9, 0x8a, 0x0d, 0x52, 0xb1, 0xa4, 0xd3, 0x17, 0xe8, 0xd7, 0x24, 0x30, + 0x49, 0x22, 0x91, 0x95, 0x3a, 0x1d, 0xf8, 0x98, 0x50, 0xa8, 0x7d, 0xc2, 0x07, 0xc2, 0x77, 0x09, + 0x1f, 0x8a, 0x0a, 0x6a, 0x15, 0xd0, 0x4e, 0x10, 0x92, 0x2d, 0xd9, 0x19, 0x1d, 0xb1, 0x9d, 0xb8, + 0x81, 0x0c, 0xa5, 0x2f, 0xea, 0xbf, 0x96, 0x3c, 0x03, 0xc0, 0xbc, 0xb8, 0x66, 0xa3, 0x3d, 0x03, + 0x5d, 0x82, 0x57, 0x86, 0xc2, 0x3e, 0x18, 0x66, 0xe9, 0xd5, 0xc2, 0x8b, 0x38, 0x0c, 0xc9, 0xc8, + 0x8d, 0xb0, 0xa9, 0x4e, 0x98, 0x89, 0xf6, 0xe2, 0xbd, 0xb1, 0xaf, 0x18, 0x32, 0x1a, 0x9b, 0x5d, + 0x70, 0xcd, 0x26, 0x9a, 0x8b, 0xf4, 0x05, 0xfb, 0xbe, 0x09, 0x50, 0x58, 0x37, 0x9d, 0x6e, 0x47, + 0x77, 0xb6, 0xe1, 0x77, 0x65, 0x90, 0x27, 0x57, 0x67, 0xc2, 0x1f, 0xe1, 0xa2, 0xb9, 0x3c, 0x73, + 0x17, 0xd9, 0xbe, 0x03, 0x0f, 0x79, 0x09, 0xed, 0x23, 0x89, 0xb1, 0x8f, 0xe0, 0x3b, 0x65, 0xd1, + 0x49, 0xaa, 0x5f, 0x28, 0xbd, 0xab, 0x33, 0x3a, 0x80, 0x48, 0xd7, 0x68, 0xb9, 0xbb, 0x36, 0x72, + 0xfa, 0x06, 0x10, 0x89, 0xa4, 0xb2, 0x46, 0xfe, 0xd2, 0x82, 0xdf, 0xa1, 0x0e, 0x26, 0x68, 0xe2, + 0x81, 0xcd, 0xa8, 0x83, 0x11, 0x0f, 0x4e, 0x83, 0xbc, 0x6e, 0xbb, 0x86, 0xe3, 0xd2, 0xed, 0x59, + 0xfa, 0xe6, 0x75, 0x97, 0xe4, 0x69, 0xdd, 0xee, 0xf8, 0x71, 0x9f, 0x82, 0x04, 0xf8, 0xc7, 0x42, + 0xf3, 0xc7, 0xf8, 0x9a, 0x27, 0x83, 0xfc, 0xde, 0x21, 0x56, 0xb8, 0x2f, 0x07, 0x97, 0x69, 0xa5, + 0x86, 0xda, 0x24, 0x61, 0x82, 0x82, 0x88, 0x40, 0x6d, 0xf8, 0x16, 0x99, 0x59, 0xbf, 0xdb, 0xe7, + 0xc6, 0x08, 0x2a, 0xc5, 0x70, 0x8c, 0x08, 0x12, 0x62, 0xf6, 0xba, 0xb9, 0x25, 0x5c, 0x59, 0x78, + 0x09, 0x17, 0xfe, 0x91, 0xf0, 0x5e, 0x54, 0x20, 0xca, 0x01, 0x6b, 0x80, 0x71, 0x57, 0xeb, 0xbd, + 0x47, 0x68, 0x5f, 0x69, 0x50, 0x49, 0x47, 0x08, 0xdb, 0xab, 0x26, 0xc0, 0xc4, 0x92, 0xde, 0xe9, + 0x20, 0x7b, 0xdf, 0x1b, 0x92, 0x8a, 0x3e, 0x87, 0xab, 0xba, 0x69, 0x6c, 0x22, 0xc7, 0x8d, 0xef, + 0x2c, 0xdf, 0x26, 0x1c, 0xb6, 0x9d, 0x96, 0x31, 0xd7, 0x4b, 0x3f, 0x42, 0xe6, 0x37, 0x83, 0xac, + 0x61, 0x6e, 0x5a, 0xb4, 0xcb, 0xec, 0x5d, 0xf3, 0xf7, 0x7f, 0xc6, 0x53, 0x17, 0x9c, 0x51, 0x30, + 0x72, 0xbb, 0x20, 0x17, 0xe9, 0xf7, 0x9c, 0x6f, 0xc8, 0x82, 0x19, 0x9f, 0x89, 0x8a, 0xd9, 0x46, + 0x0f, 0xb0, 0x4b, 0x31, 0xbf, 0x9a, 0x15, 0x3d, 0x80, 0xdb, 0x5b, 0x1f, 0x4c, 0x2a, 0x42, 0xa4, + 0x0d, 0x00, 0x5a, 0xba, 0x8b, 0xb6, 0x2c, 0xdb, 0x08, 0xfa, 0xc3, 0x27, 0x27, 0xa1, 0x56, 0x26, + 0x7f, 0xef, 0x6b, 0x0c, 0x1d, 0xe5, 0x4e, 0x30, 0x85, 0x82, 0x88, 0x27, 0xfe, 0x52, 0x4d, 0x2c, + 0x5e, 0x6c, 0x7e, 0xf8, 0xd7, 0x42, 0xe7, 0x7c, 0x45, 0xaa, 0x99, 0x0c, 0xb3, 0xe6, 0x70, 0x6d, + 0x68, 0xbd, 0xba, 0x5a, 0xd2, 0xea, 0xcb, 0xa5, 0x95, 0x95, 0x4a, 0x75, 0x29, 0x08, 0xb5, 0xa5, + 0x80, 0xd9, 0x85, 0xda, 0x85, 0x2a, 0x13, 0x0b, 0x2d, 0x0b, 0xd7, 0x40, 0xc1, 0x97, 0x57, 0x3f, + 0x4f, 0x4e, 0x56, 0x66, 0xd4, 0x93, 0x93, 0x49, 0xf2, 0x8c, 0x33, 0xa3, 0x15, 0xb8, 0xf7, 0xe0, + 0x67, 0xf8, 0x67, 0x3a, 0xc8, 0xe1, 0x35, 0x75, 0xf8, 0x26, 0xbc, 0x89, 0xd8, 0xed, 0xe8, 0x2d, + 0x04, 0x77, 0x12, 0x58, 0xe3, 0xfe, 0x3d, 0x42, 0xd2, 0x81, 0x7b, 0x84, 0xf0, 0x23, 0xb5, 0xfa, + 0x4e, 0xf6, 0x5b, 0xc7, 0xd7, 0x48, 0x16, 0xfe, 0x48, 0x6c, 0xec, 0xee, 0x0a, 0x59, 0xfe, 0xa7, + 0x6c, 0x46, 0xa8, 0x64, 0x34, 0x4f, 0xc9, 0x2c, 0x51, 0xb1, 0x7d, 0x98, 0x38, 0x8e, 0xd2, 0x6f, + 0xf1, 0x9f, 0xcf, 0x82, 0x5c, 0xbd, 0xdb, 0x31, 0x5c, 0xf8, 0x5b, 0xd2, 0x48, 0x30, 0x23, 0x77, + 0x3f, 0xc9, 0x03, 0xef, 0x7e, 0x0a, 0xf7, 0x6c, 0xb3, 0x02, 0x7b, 0xb6, 0x0d, 0xf4, 0x80, 0xcb, + 0xef, 0xd9, 0xde, 0x46, 0xc3, 0x65, 0x92, 0x1d, 0xdf, 0xc7, 0xf6, 0x11, 0x29, 0xae, 0x56, 0x9f, + 0x38, 0xac, 0xe7, 0x6e, 0xa1, 0xe1, 0x20, 0x01, 0xc8, 0xcf, 0xd7, 0x1a, 0x8d, 0xda, 0x6a, 0xf1, + 0x18, 0x8e, 0x23, 0x56, 0x5b, 0x23, 0xc1, 0xb9, 0x2a, 0xd5, 0xaa, 0xaa, 0x15, 0x25, 0x1c, 0xa0, + 0xb2, 0xd2, 0x58, 0x51, 0x8b, 0x32, 0x7f, 0x11, 0x48, 0xac, 0xf9, 0xcd, 0x97, 0x9d, 0xa6, 0x7a, + 0x89, 0x19, 0xe2, 0xd1, 0xfc, 0xa4, 0xaf, 0x5c, 0xbf, 0x2e, 0x83, 0xdc, 0x2a, 0xb2, 0xb7, 0x10, + 0x7c, 0x66, 0x82, 0x4d, 0xbe, 0x4d, 0xc3, 0x76, 0x48, 0x38, 0xcf, 0x70, 0x93, 0x8f, 0x4d, 0x53, + 0xae, 0x03, 0x33, 0x0e, 0x6a, 0x59, 0x66, 0xdb, 0xcf, 0x44, 0xfa, 0x23, 0x3e, 0x11, 0xbe, 0x24, + 0x21, 0x64, 0x98, 0xd1, 0x91, 0xec, 0xd4, 0x25, 0x01, 0xa6, 0x5f, 0xa9, 0xe9, 0x03, 0xf3, 0x2d, + 0xd9, 0xfb, 0xa9, 0xbb, 0x0f, 0x5f, 0x22, 0xbc, 0xfb, 0x7a, 0x13, 0xc8, 0x6f, 0xf8, 0x71, 0xe1, + 0xe5, 0xc8, 0xfe, 0x98, 0xe6, 0x51, 0xe6, 0xc1, 0x09, 0x07, 0x75, 0x50, 0xcb, 0x45, 0x6d, 0xaf, + 0xe9, 0x6a, 0x03, 0x3b, 0x85, 0x83, 0xd9, 0xe1, 0x5f, 0xb2, 0x00, 0xde, 0xc1, 0x03, 0x78, 0x7d, + 0x1f, 0x51, 0x7a, 0x15, 0x8a, 0xb6, 0x95, 0xbd, 0x6a, 0xd4, 0x3b, 0x56, 0xb0, 0x28, 0xee, 0xbf, + 0x7b, 0xdf, 0xb6, 0xdd, 0x9d, 0x0e, 0xfe, 0x46, 0x8f, 0x27, 0xf8, 0xef, 0xca, 0x1c, 0x98, 0xd0, + 0xcd, 0x7d, 0xfc, 0x29, 0x1b, 0x53, 0x6b, 0x3f, 0x13, 0x7c, 0x59, 0x80, 0xfc, 0x5d, 0x1c, 0xf2, + 0x8f, 0x17, 0x63, 0x37, 0x7d, 0xe0, 0x7f, 0x76, 0x02, 0xe4, 0xd6, 0x74, 0xc7, 0x45, 0xf0, 0xff, + 0x91, 0x45, 0x91, 0xbf, 0x1e, 0xcc, 0x6e, 0x5a, 0xad, 0x5d, 0x07, 0xb5, 0xf9, 0x46, 0xd9, 0x93, + 0x3a, 0x0a, 0xcc, 0x95, 0x1b, 0x41, 0xd1, 0x4f, 0xa4, 0x64, 0xfd, 0x6d, 0xf8, 0x03, 0xe9, 0xf8, + 0x5a, 0x09, 0x67, 0x4d, 0xb7, 0xdd, 0xda, 0x26, 0x4e, 0x0b, 0xae, 0x95, 0x60, 0x13, 0x39, 0xe8, + 0xf3, 0x31, 0xd0, 0x4f, 0x44, 0x43, 0x5f, 0x10, 0x80, 0x5e, 0x29, 0x81, 0xc2, 0xa6, 0xd1, 0x41, + 0xf8, 0x87, 0x49, 0xfc, 0x43, 0xbf, 0x31, 0x09, 0xcb, 0x3e, 0x18, 0x93, 0x16, 0x8d, 0x0e, 0xd2, + 0x82, 0xdf, 0xfc, 0x89, 0x0c, 0x08, 0x27, 0x32, 0x2b, 0xc4, 0x1b, 0xd7, 0x33, 0xbc, 0x4c, 0x7d, + 0x07, 0xf9, 0x8b, 0x6f, 0x26, 0x3d, 0x1a, 0xd3, 0xd6, 0x5d, 0x1d, 0x83, 0x31, 0xad, 0xe1, 0x67, + 0xde, 0x2f, 0x44, 0xee, 0xf5, 0x0b, 0x79, 0xae, 0x9c, 0xac, 0x47, 0xf4, 0x99, 0x8d, 0x68, 0x51, + 0x1b, 0x3e, 0x40, 0xc4, 0x52, 0x0c, 0xde, 0x3d, 0x60, 0x5a, 0xba, 0x8d, 0xdc, 0x35, 0xd6, 0x13, + 0x23, 0xa7, 0xf1, 0x89, 0xd8, 0x11, 0xd0, 0xa9, 0xeb, 0x3b, 0xe4, 0x6a, 0x89, 0xb2, 0xf7, 0x8d, + 0x3a, 0x78, 0x1d, 0x48, 0x0f, 0xfb, 0xdf, 0xdc, 0xa8, 0xfb, 0xdf, 0x7e, 0x75, 0x4c, 0xbf, 0x19, + 0xbe, 0x22, 0x0b, 0xe4, 0xf2, 0xae, 0xfb, 0xa8, 0xee, 0x7e, 0xbf, 0x27, 0xec, 0xe7, 0x42, 0xfb, + 0xb3, 0x5d, 0xf7, 0x68, 0x7b, 0xdf, 0x84, 0x5a, 0x22, 0xe6, 0x4f, 0x13, 0x55, 0xb7, 0xf4, 0x75, + 0xe4, 0x75, 0x72, 0xe0, 0x9e, 0xf9, 0x60, 0xe6, 0xf0, 0xa6, 0x39, 0x24, 0xfd, 0x13, 0xd3, 0x33, + 0x04, 0xef, 0x7e, 0xc7, 0x93, 0xe5, 0xa2, 0xa3, 0xe2, 0xed, 0x75, 0x2c, 0xca, 0x69, 0x8d, 0xbc, + 0xc0, 0xdf, 0x16, 0x76, 0x5a, 0x27, 0x62, 0x8b, 0x75, 0x25, 0x4c, 0x66, 0x53, 0x89, 0xdd, 0xac, + 0x1d, 0x53, 0x6c, 0xfa, 0x80, 0x7d, 0x83, 0x75, 0x15, 0x2c, 0x1d, 0x1a, 0x31, 0xf8, 0x72, 0xe1, + 0xed, 0x28, 0x52, 0xed, 0x01, 0xeb, 0x85, 0xc9, 0xe4, 0x2d, 0xb6, 0x59, 0x15, 0x5b, 0x70, 0xfa, + 0x12, 0xff, 0xba, 0x0c, 0xf2, 0x64, 0x0b, 0x12, 0xbe, 0x46, 0xb8, 0x89, 0x78, 0xbd, 0x11, 0xef, + 0x42, 0x18, 0xbc, 0x27, 0x59, 0x73, 0xe0, 0x5c, 0x0d, 0xb3, 0x89, 0x5c, 0x0d, 0xf9, 0x53, 0xa0, + 0x02, 0xed, 0x88, 0xd4, 0x31, 0xe5, 0xe9, 0x64, 0x92, 0x16, 0xd6, 0x97, 0xa1, 0xf4, 0xf1, 0xfe, + 0xf9, 0x1c, 0x98, 0x26, 0x45, 0x13, 0x1f, 0x67, 0xf8, 0x16, 0xe9, 0xfb, 0x07, 0x75, 0xa5, 0x0a, + 0xa6, 0x2f, 0x61, 0xb6, 0xc9, 0x1d, 0x58, 0x74, 0xe5, 0xe2, 0xc6, 0xd8, 0x75, 0x0f, 0x52, 0x4f, + 0xff, 0xd6, 0x2c, 0xee, 0x7f, 0x4f, 0xc6, 0x64, 0xc1, 0x9f, 0x38, 0x70, 0xe5, 0xb1, 0x91, 0xc5, + 0x26, 0x29, 0xa7, 0x41, 0x7e, 0xcf, 0x40, 0x97, 0x2a, 0x6d, 0x6a, 0xdd, 0xd2, 0x37, 0xf8, 0x27, + 0xc2, 0xfb, 0xb6, 0x2c, 0xdc, 0x94, 0x97, 0x74, 0xb5, 0x50, 0x6c, 0xf7, 0x76, 0x20, 0x5b, 0x63, + 0x38, 0x91, 0xcc, 0xdf, 0x5c, 0x5d, 0x4e, 0xa0, 0x88, 0x51, 0x86, 0x33, 0x1f, 0x08, 0x24, 0xf6, + 0xbc, 0x0b, 0x11, 0xc0, 0x88, 0x2f, 0xb5, 0x16, 0x8b, 0x4e, 0x31, 0xa0, 0xe8, 0xf4, 0x25, 0xff, + 0x4a, 0x19, 0x4c, 0xd6, 0x91, 0xbb, 0x68, 0xa0, 0x4e, 0xdb, 0x81, 0xf6, 0xe1, 0x4d, 0xa3, 0x9b, + 0x41, 0x7e, 0x13, 0x13, 0x1b, 0x74, 0x6e, 0x81, 0x66, 0x83, 0xaf, 0x90, 0x44, 0x77, 0x84, 0xe9, + 0xea, 0x9b, 0xcf, 0xed, 0x48, 0x60, 0x12, 0xf3, 0xe8, 0x8d, 0x2f, 0x79, 0x0c, 0xa1, 0xc4, 0x65, + 0x30, 0x4d, 0xaf, 0xba, 0x2d, 0x75, 0x8c, 0x2d, 0x13, 0xee, 0x8e, 0xa0, 0x85, 0x28, 0x4f, 0x04, + 0x39, 0xdd, 0xa3, 0x46, 0xb7, 0x5e, 0x61, 0xdf, 0xce, 0x13, 0x97, 0xa7, 0x91, 0x8c, 0x09, 0x02, + 0xf7, 0x86, 0x8a, 0xed, 0xf3, 0x3c, 0xc6, 0xc0, 0xbd, 0x03, 0x0b, 0x4f, 0x1f, 0xb1, 0x2f, 0xca, + 0xe0, 0x24, 0x65, 0xe0, 0x3c, 0xb2, 0x5d, 0xa3, 0xa5, 0x77, 0x08, 0x72, 0x2f, 0xc8, 0x8c, 0x02, + 0xba, 0x65, 0x30, 0xb3, 0xc7, 0x92, 0xa5, 0x10, 0x9e, 0xeb, 0x0b, 0x21, 0xc7, 0x80, 0xc6, 0xff, + 0x98, 0x20, 0x00, 0x2a, 0x27, 0x55, 0x8e, 0xe6, 0x18, 0x03, 0xa0, 0x0a, 0x33, 0x91, 0x3e, 0xc4, + 0x2f, 0xa6, 0x81, 0x7d, 0xc2, 0xee, 0xf3, 0x33, 0xc2, 0xd8, 0xae, 0x83, 0x29, 0x8c, 0x25, 0xf9, + 0x91, 0x2e, 0x43, 0xc4, 0x28, 0x71, 0xd0, 0xef, 0xd0, 0x2b, 0x1a, 0x83, 0x7f, 0x35, 0x96, 0x0e, + 0xbc, 0x00, 0x40, 0xf8, 0x89, 0xed, 0xa4, 0x33, 0x51, 0x9d, 0xb4, 0x24, 0xd6, 0x49, 0xbf, 0x5a, + 0x38, 0xd4, 0x4a, 0x7f, 0xb6, 0x0f, 0xaf, 0x1e, 0x62, 0x41, 0x36, 0x06, 0x97, 0x9e, 0xbe, 0x5e, + 0xbc, 0x8c, 0xea, 0xc5, 0xc2, 0x6e, 0xb7, 0x63, 0xb4, 0xbc, 0xf9, 0xd4, 0x07, 0x47, 0x32, 0x9f, + 0x62, 0xfb, 0x03, 0xb9, 0xa7, 0x3f, 0x38, 0x84, 0x25, 0x7d, 0x03, 0x38, 0x4e, 0x8a, 0x28, 0x07, + 0x6c, 0xe5, 0x48, 0x20, 0x89, 0x9e, 0x64, 0x3e, 0xaa, 0xa1, 0xa0, 0x12, 0x04, 0x42, 0x18, 0x62, + 0xe9, 0x33, 0x99, 0xb1, 0x9b, 0x54, 0x41, 0xa2, 0x38, 0x1b, 0x83, 0x5b, 0x68, 0x96, 0x58, 0xbb, + 0xeb, 0xf8, 0x16, 0x4d, 0xf8, 0xb9, 0xec, 0x28, 0x46, 0x84, 0xbb, 0x41, 0x16, 0xbb, 0xb8, 0xcb, + 0x91, 0x4b, 0x1a, 0x61, 0x91, 0xe1, 0x15, 0xa7, 0xe8, 0x01, 0x77, 0xf9, 0x98, 0x86, 0xff, 0x54, + 0x6e, 0x04, 0xc7, 0x37, 0xf4, 0xd6, 0xc5, 0x2d, 0xdb, 0xda, 0xc5, 0xf7, 0x0d, 0x5a, 0xf4, 0xe2, + 0x42, 0x7c, 0x01, 0x2c, 0xff, 0x41, 0xb9, 0xd5, 0x37, 0x1d, 0x72, 0x83, 0x4c, 0x87, 0xe5, 0x63, + 0xd4, 0x78, 0x50, 0x6e, 0x09, 0x3a, 0x9d, 0x7c, 0x6c, 0xa7, 0xb3, 0x7c, 0xcc, 0xef, 0x76, 0x94, + 0x05, 0x50, 0x68, 0x1b, 0x7b, 0x78, 0xab, 0x1a, 0xcf, 0xba, 0x06, 0x1d, 0x7c, 0x5e, 0x30, 0xf6, + 0xc8, 0xc6, 0xf6, 0xf2, 0x31, 0x2d, 0xf8, 0x53, 0x59, 0x02, 0x93, 0x78, 0x5b, 0x00, 0x93, 0x29, + 0x24, 0x3a, 0xd4, 0xbc, 0x7c, 0x4c, 0x0b, 0xff, 0xf5, 0xac, 0x8f, 0x2c, 0x3e, 0xfb, 0x71, 0x97, + 0xbf, 0xdd, 0x9e, 0x49, 0xb4, 0xdd, 0xee, 0xc9, 0x82, 0x6c, 0xb8, 0x9f, 0x06, 0xb9, 0x16, 0x96, + 0xb0, 0x44, 0x25, 0x4c, 0x5e, 0x95, 0x3b, 0x40, 0x76, 0x47, 0xb7, 0xfd, 0xc9, 0xf3, 0xf5, 0x83, + 0xe9, 0xae, 0xea, 0xf6, 0x45, 0x0f, 0x41, 0xef, 0xaf, 0xf9, 0x09, 0x90, 0xc3, 0x82, 0x0b, 0x1e, + 0xe0, 0xeb, 0xb2, 0xc4, 0x0c, 0x29, 0x5b, 0xa6, 0x37, 0xec, 0x37, 0x2c, 0xff, 0x80, 0xcc, 0x9f, + 0x64, 0x46, 0x63, 0x41, 0x5e, 0xc6, 0x84, 0x1b, 0x36, 0x8d, 0x67, 0xee, 0xa2, 0x7b, 0xd1, 0x3e, + 0x5d, 0x12, 0xed, 0xf7, 0xa9, 0xe7, 0x36, 0xfa, 0x6c, 0xef, 0x6d, 0xf4, 0xe1, 0xf2, 0x41, 0x6e, + 0xb0, 0xa3, 0xca, 0x5f, 0x0e, 0x61, 0xba, 0xf4, 0x0a, 0x22, 0x7a, 0x06, 0xde, 0x31, 0x4c, 0xa6, + 0xce, 0xfe, 0x6b, 0xc2, 0x4e, 0x29, 0xa9, 0x51, 0x33, 0x80, 0xbd, 0xf4, 0xfb, 0xa6, 0x3f, 0xcc, + 0x92, 0x88, 0xab, 0xe4, 0x14, 0x06, 0x7f, 0xc3, 0x2f, 0xfc, 0xd8, 0x48, 0x94, 0xa6, 0xcf, 0x80, + 0x23, 0xf7, 0x1d, 0x70, 0x0e, 0x1c, 0x52, 0xce, 0x0e, 0x38, 0xa4, 0x9c, 0x4b, 0xb6, 0x72, 0xf8, + 0x5e, 0x56, 0x7f, 0xd6, 0x78, 0xfd, 0xb9, 0x3d, 0x02, 0xa0, 0x7e, 0x72, 0x19, 0x89, 0x7d, 0xf3, + 0xa6, 0x40, 0x53, 0xea, 0x9c, 0xa6, 0xdc, 0x35, 0x3c, 0x23, 0xe9, 0x6b, 0xcb, 0xbb, 0xb3, 0xe0, + 0xb2, 0x90, 0x99, 0x2a, 0xba, 0x44, 0x15, 0xe5, 0xd3, 0x23, 0x51, 0x94, 0xe4, 0x31, 0x10, 0xd2, + 0xd6, 0x98, 0x3f, 0x17, 0x3e, 0x3b, 0xd4, 0x0b, 0x54, 0x20, 0x9b, 0x08, 0x65, 0x39, 0x0d, 0xf2, + 0xa4, 0x87, 0xa1, 0xd0, 0xd0, 0xb7, 0x84, 0xdd, 0x8d, 0xd8, 0x89, 0x23, 0x51, 0xde, 0xc6, 0xa0, + 0x3f, 0x74, 0x5d, 0xa3, 0xb1, 0x6b, 0x9b, 0x15, 0xd3, 0xb5, 0xe0, 0xcf, 0x8c, 0x44, 0x71, 0x02, + 0x6f, 0x38, 0x79, 0x18, 0x6f, 0xb8, 0xa1, 0x56, 0x39, 0xfc, 0x1a, 0x1c, 0xc9, 0x2a, 0x47, 0x44, + 0xe1, 0xe9, 0xe3, 0xf7, 0x46, 0x19, 0x9c, 0xa6, 0x93, 0xad, 0x79, 0xde, 0x42, 0x84, 0xf7, 0x8d, + 0x02, 0xc8, 0x93, 0xbe, 0x99, 0x44, 0xef, 0x95, 0xc4, 0x2f, 0xfc, 0x49, 0xa9, 0xd8, 0x1b, 0x75, + 0xb8, 0xe9, 0x60, 0x0f, 0x87, 0x23, 0x41, 0x4a, 0xec, 0x22, 0x9d, 0x04, 0x6c, 0xa4, 0x8f, 0xd9, + 0x8b, 0x64, 0x90, 0x27, 0xe7, 0xb4, 0xe0, 0x7a, 0x2a, 0x0e, 0x13, 0x7c, 0x8c, 0x68, 0x81, 0x1d, + 0x39, 0xc2, 0x4d, 0x6a, 0x67, 0xd8, 0x92, 0xec, 0xc5, 0xf5, 0x65, 0x65, 0x0c, 0x2e, 0x84, 0x12, + 0x98, 0xaa, 0x23, 0xb7, 0xac, 0xdb, 0xb6, 0xa1, 0x6f, 0x8d, 0xca, 0xe3, 0x5b, 0xd4, 0x7b, 0x18, + 0x7e, 0x3b, 0x23, 0x7a, 0x9e, 0x26, 0x58, 0x08, 0xf7, 0x59, 0x8d, 0x88, 0x44, 0xf8, 0xb0, 0xd0, + 0x99, 0x99, 0x41, 0xd4, 0xc6, 0xe0, 0xb1, 0x2d, 0x81, 0x09, 0xff, 0x2c, 0xde, 0xcd, 0xdc, 0xf9, + 0xcc, 0x6d, 0x77, 0xc7, 0x3f, 0x06, 0x83, 0x9f, 0x0f, 0x9e, 0x01, 0x83, 0x2f, 0x4d, 0xe8, 0x28, + 0x1f, 0x7f, 0x90, 0x30, 0x59, 0x1b, 0x4b, 0xe2, 0x0e, 0x7f, 0x54, 0x47, 0x07, 0xdf, 0x35, 0x41, + 0x97, 0x23, 0x57, 0x74, 0x17, 0x3d, 0x00, 0x3f, 0x23, 0x83, 0x89, 0x3a, 0x72, 0xbd, 0xf1, 0x96, + 0xbb, 0x4e, 0x7a, 0x58, 0x0d, 0x57, 0x98, 0x15, 0x8f, 0x49, 0xba, 0x86, 0x71, 0x0f, 0x98, 0xec, + 0xda, 0x56, 0x0b, 0x39, 0x0e, 0x5d, 0xbd, 0x60, 0x1d, 0xd5, 0xfa, 0x8d, 0xfe, 0x98, 0xb5, 0xb9, + 0x35, 0xff, 0x1f, 0x2d, 0xfc, 0x3d, 0xa9, 0x19, 0x40, 0x28, 0xd1, 0x0a, 0x8e, 0xdb, 0x0c, 0x88, + 0x2b, 0x3c, 0x7d, 0xa0, 0x3f, 0x29, 0x83, 0xe9, 0x3a, 0x72, 0x03, 0x29, 0x26, 0xd8, 0xe4, 0x88, + 0x86, 0x97, 0x83, 0x52, 0x3e, 0x1c, 0x94, 0xe2, 0x97, 0xb1, 0xf2, 0xd2, 0x0c, 0x88, 0x8d, 0xf1, + 0x32, 0x56, 0x31, 0x0e, 0xc6, 0x70, 0x7c, 0xed, 0xb1, 0x60, 0x12, 0xf3, 0x82, 0x1b, 0xec, 0x2f, + 0x66, 0xc3, 0xc6, 0xfb, 0xd9, 0x94, 0x1a, 0xef, 0x9d, 0x20, 0xb7, 0xa3, 0xdb, 0x17, 0x1d, 0xdc, + 0x70, 0xa7, 0x44, 0xcc, 0xf6, 0x55, 0x2f, 0xbb, 0x46, 0xfe, 0xea, 0xef, 0xa7, 0x99, 0x4b, 0xe6, + 0xa7, 0xf9, 0xb0, 0x94, 0x68, 0x24, 0x24, 0x73, 0x87, 0x11, 0x36, 0xf9, 0x04, 0xe3, 0x66, 0x4c, + 0xd9, 0xe9, 0x2b, 0xc7, 0x0b, 0x64, 0x50, 0xf0, 0xc6, 0x6d, 0x6c, 0x8f, 0x5f, 0x38, 0xbc, 0x3a, + 0xf4, 0x37, 0xf4, 0x13, 0xf6, 0xc0, 0xbe, 0x44, 0x46, 0x67, 0xde, 0x27, 0xe8, 0x81, 0xe3, 0x0a, + 0x4f, 0x1f, 0x8f, 0x37, 0x13, 0x3c, 0x70, 0x7b, 0x80, 0xbf, 0x2f, 0x03, 0x79, 0x09, 0xb9, 0xe3, + 0xb6, 0x22, 0x5f, 0x2f, 0x1c, 0xe2, 0x88, 0x13, 0x18, 0xe6, 0x79, 0x6e, 0x09, 0x8d, 0xa6, 0x01, + 0x89, 0xc5, 0x36, 0x12, 0x62, 0x20, 0x7d, 0xd4, 0xde, 0x4e, 0x50, 0x23, 0x9b, 0x0b, 0x3f, 0x3d, + 0x82, 0x5e, 0x75, 0xbc, 0x0b, 0x1f, 0xbe, 0x00, 0x31, 0x8d, 0xa3, 0x6a, 0x6f, 0xfd, 0x0a, 0x1f, + 0xcb, 0xe5, 0xa7, 0xc0, 0x6b, 0xec, 0xdb, 0xa8, 0x75, 0x11, 0xb5, 0xd9, 0xcb, 0xe4, 0x86, 0x85, + 0xee, 0x0c, 0x98, 0x68, 0x11, 0x6a, 0x18, 0xbc, 0x82, 0xe6, 0xbf, 0x26, 0xb8, 0xc9, 0x9f, 0xef, + 0x88, 0xc8, 0xef, 0x63, 0xbc, 0xc9, 0x5f, 0xa0, 0xf8, 0x31, 0x98, 0x2d, 0x64, 0x96, 0x51, 0x69, + 0x59, 0x26, 0xfc, 0x2f, 0x87, 0x87, 0xe5, 0x2a, 0x30, 0x69, 0xb4, 0x2c, 0x13, 0x87, 0xa1, 0xf0, + 0x0f, 0x01, 0x05, 0x09, 0xfe, 0x57, 0x75, 0xc7, 0xba, 0xdf, 0xa0, 0xbb, 0xe6, 0x61, 0xc2, 0xb0, + 0xc6, 0x84, 0xc7, 0xfa, 0x51, 0x19, 0x13, 0x7d, 0xca, 0x4e, 0x1f, 0xb2, 0x47, 0x42, 0xef, 0x36, + 0xd2, 0x15, 0x3e, 0x2a, 0x56, 0x81, 0x87, 0x19, 0xce, 0xd8, 0x5a, 0x1c, 0xc9, 0x70, 0x16, 0xc3, + 0xc0, 0x18, 0x6e, 0x43, 0x09, 0x71, 0x4c, 0x7d, 0x0d, 0xf8, 0x10, 0xe8, 0x8c, 0xce, 0x3c, 0x1c, + 0x12, 0x9d, 0xa3, 0x31, 0x11, 0xdf, 0x43, 0x43, 0x64, 0x52, 0x8b, 0x07, 0xfe, 0xd7, 0x51, 0x80, + 0x73, 0xfb, 0x30, 0xfe, 0x0a, 0xc4, 0x5b, 0x01, 0xbe, 0x56, 0x12, 0x0d, 0x81, 0x72, 0x40, 0x82, + 0x1e, 0x95, 0x91, 0x20, 0xf8, 0x6a, 0xa1, 0xd8, 0x24, 0x22, 0xe5, 0xa7, 0x0f, 0xe0, 0xf3, 0x65, + 0x30, 0x8b, 0x7d, 0x04, 0x3a, 0x48, 0xb7, 0x49, 0x47, 0x39, 0x12, 0x47, 0xf9, 0x37, 0x0b, 0x07, + 0xf8, 0xe1, 0xe5, 0x10, 0xf2, 0x31, 0x12, 0x28, 0xc4, 0xa2, 0xfb, 0x08, 0xb2, 0x30, 0x96, 0x6d, + 0x94, 0x62, 0xc0, 0x02, 0x55, 0xf1, 0xd1, 0xe0, 0x91, 0xd0, 0x23, 0x97, 0x17, 0x86, 0xdf, 0xd8, + 0xc6, 0xec, 0x91, 0x2b, 0xc2, 0x44, 0xfa, 0x98, 0xfc, 0xfe, 0x13, 0xe9, 0x82, 0x73, 0x43, 0xdf, + 0xe8, 0x20, 0xf8, 0xf2, 0x6c, 0x70, 0xa2, 0xed, 0x93, 0x23, 0xf1, 0xc0, 0x3c, 0x44, 0x40, 0x7c, + 0x05, 0x64, 0x6d, 0xeb, 0x12, 0x59, 0xda, 0x9a, 0xd1, 0xf0, 0x33, 0xb9, 0xdc, 0xb2, 0xb3, 0xbb, + 0x63, 0x92, 0x93, 0xa1, 0x33, 0x9a, 0xff, 0xaa, 0x5c, 0x07, 0x66, 0x2e, 0x19, 0xee, 0xf6, 0x32, + 0xd2, 0xdb, 0xc8, 0xd6, 0xac, 0x4b, 0xd8, 0x63, 0xae, 0xa0, 0xf1, 0x89, 0xbc, 0xff, 0x8a, 0x80, + 0x7d, 0xe9, 0x09, 0x65, 0x3c, 0xc7, 0xdf, 0x92, 0x58, 0x9e, 0xd1, 0x5c, 0xa5, 0xaf, 0x30, 0xef, + 0x90, 0xc1, 0xa4, 0x66, 0x5d, 0xa2, 0x4a, 0xf2, 0x7f, 0x1f, 0xad, 0x8e, 0x24, 0x9e, 0xe8, 0x61, + 0xc9, 0x05, 0xec, 0x8f, 0x7d, 0xa2, 0x17, 0x5b, 0xfc, 0x58, 0x4e, 0x2e, 0x4d, 0x6b, 0xd6, 0xa5, + 0x3a, 0x72, 0x49, 0x8b, 0x80, 0xcd, 0x11, 0x39, 0x59, 0x1b, 0x0e, 0x21, 0x48, 0xe7, 0xe1, 0xc1, + 0x7b, 0xd2, 0x5d, 0x84, 0x40, 0x40, 0x01, 0x8b, 0xe3, 0xde, 0x45, 0x18, 0xc8, 0xc1, 0x18, 0x62, + 0xa4, 0xc8, 0x60, 0x4a, 0xb3, 0x2e, 0x79, 0x43, 0xc3, 0xa2, 0xd1, 0xe9, 0x8c, 0x66, 0x84, 0x4c, + 0x6a, 0xfc, 0xfb, 0x62, 0xf0, 0xb9, 0x18, 0xbb, 0xf1, 0x3f, 0x80, 0x81, 0xf4, 0x61, 0x78, 0x2e, + 0x69, 0x2c, 0xfe, 0x08, 0x6d, 0x8e, 0x06, 0x87, 0x61, 0x1b, 0x44, 0xc0, 0xc6, 0x91, 0x35, 0x88, + 0x28, 0x0e, 0xc6, 0xb2, 0x73, 0x32, 0x5b, 0xc6, 0xc3, 0xfc, 0x68, 0xdb, 0xc4, 0x5b, 0x93, 0xb9, + 0x26, 0xd2, 0x61, 0x97, 0x63, 0x64, 0x24, 0x68, 0x24, 0x70, 0x41, 0x14, 0xe0, 0x21, 0x7d, 0x3c, + 0xde, 0x2f, 0x83, 0x69, 0xc2, 0xc2, 0xa3, 0xc4, 0x0a, 0x18, 0xaa, 0x51, 0xb1, 0x35, 0x38, 0x9a, + 0x46, 0x15, 0xc3, 0xc1, 0x58, 0xee, 0x14, 0xf5, 0xec, 0xb8, 0x21, 0x8e, 0x8f, 0x47, 0x21, 0x38, + 0xb4, 0x31, 0x36, 0xc2, 0x23, 0xe4, 0xc3, 0x18, 0x63, 0x47, 0x74, 0x8c, 0xfc, 0xb9, 0x41, 0x2b, + 0x1a, 0x25, 0x06, 0x87, 0x68, 0x0a, 0x23, 0x84, 0x61, 0xc8, 0xa6, 0x70, 0x44, 0x48, 0x7c, 0x49, + 0x06, 0x80, 0x30, 0xb0, 0x6a, 0xed, 0xe1, 0xcb, 0x7c, 0x46, 0xd0, 0x9d, 0xf5, 0xba, 0xd5, 0xcb, + 0x03, 0xdc, 0xea, 0x13, 0x86, 0x70, 0x49, 0xba, 0x12, 0xc8, 0x48, 0xd9, 0xab, 0xe4, 0xd8, 0x57, + 0x02, 0xe3, 0xcb, 0x4f, 0x1f, 0xe3, 0x2f, 0x10, 0x6b, 0x2e, 0x3c, 0x60, 0xfa, 0x9b, 0x23, 0x41, + 0x99, 0x99, 0xfd, 0xcb, 0xfc, 0xec, 0xff, 0x10, 0xd8, 0x0e, 0x6b, 0x23, 0x0e, 0x3a, 0x38, 0x9a, + 0xbe, 0x8d, 0x78, 0x74, 0x07, 0x44, 0x7f, 0x3a, 0x0b, 0x8e, 0xd3, 0x4e, 0xe4, 0xfb, 0x01, 0xe2, + 0x84, 0xe7, 0xf0, 0xb8, 0x4e, 0x72, 0x00, 0xca, 0xa3, 0x5a, 0x90, 0x4a, 0xb2, 0x94, 0x29, 0xc0, + 0xde, 0x58, 0x56, 0x37, 0xf2, 0xea, 0x03, 0x5d, 0xdd, 0x6c, 0x8b, 0x87, 0xfb, 0x1d, 0x00, 0xbc, + 0xbf, 0xd6, 0x28, 0xf3, 0x6b, 0x8d, 0x7d, 0x56, 0x26, 0x13, 0xef, 0x5c, 0x63, 0x91, 0x11, 0x76, + 0xc7, 0xbe, 0x73, 0x1d, 0x5d, 0x76, 0xfa, 0x28, 0xbd, 0x55, 0x06, 0xd9, 0xba, 0x65, 0xbb, 0xf0, + 0x79, 0x49, 0x5a, 0x27, 0x91, 0x7c, 0x08, 0x92, 0xff, 0xae, 0x94, 0xb9, 0x3b, 0x9e, 0x6f, 0x8e, + 0x3f, 0xea, 0xac, 0xbb, 0x3a, 0xf6, 0xea, 0xf6, 0xca, 0x67, 0x2e, 0x7b, 0x4e, 0x1a, 0x4f, 0x87, + 0xc8, 0xaf, 0x1e, 0x7d, 0x00, 0x23, 0xb5, 0x78, 0x3a, 0x91, 0x25, 0xa7, 0x8f, 0xdb, 0x43, 0xc7, + 0xa9, 0x6f, 0xeb, 0xa2, 0xd1, 0x41, 0xf0, 0x79, 0xc4, 0x65, 0xa4, 0xaa, 0xef, 0x20, 0xf1, 0x23, + 0x31, 0xb1, 0xae, 0xad, 0x38, 0xbe, 0xac, 0x1c, 0xc6, 0x97, 0x4d, 0xda, 0xa0, 0xc8, 0x01, 0x74, + 0xc2, 0xd2, 0xb8, 0x1b, 0x54, 0x4c, 0xd9, 0x63, 0x89, 0xd3, 0x79, 0xa2, 0x8e, 0x5c, 0x62, 0x54, + 0xd6, 0xfc, 0x1b, 0x58, 0x7e, 0x72, 0x24, 0x11, 0x3b, 0x83, 0x0b, 0x5e, 0xe4, 0x9e, 0x0b, 0x5e, + 0xde, 0xc1, 0x82, 0xb3, 0xca, 0x83, 0xf3, 0xa3, 0xd1, 0x02, 0xe2, 0x99, 0x1c, 0x09, 0x4c, 0xaf, + 0x0f, 0x60, 0x5a, 0xe3, 0x60, 0xba, 0x63, 0x48, 0x2e, 0xd2, 0x07, 0xec, 0x97, 0x73, 0xe0, 0x38, + 0x99, 0xf4, 0x97, 0xcc, 0x36, 0x8d, 0xb0, 0xfa, 0x1a, 0xe9, 0x88, 0x37, 0xdb, 0x0e, 0x86, 0x60, + 0xe5, 0x62, 0x39, 0xe7, 0x7a, 0xef, 0xd6, 0x9f, 0x27, 0xe1, 0x5c, 0xbd, 0x4e, 0x14, 0xef, 0xb4, + 0x89, 0xdf, 0xaf, 0x1f, 0xfc, 0xc7, 0xdf, 0x65, 0x34, 0x21, 0x7e, 0x97, 0xd1, 0x5f, 0x24, 0x5b, + 0xb7, 0xc3, 0x45, 0xf7, 0x08, 0x3c, 0x65, 0xdb, 0x29, 0xc1, 0x8a, 0x9e, 0x00, 0x77, 0x3f, 0x18, + 0xee, 0x64, 0x61, 0x04, 0x91, 0x21, 0xdd, 0xc9, 0x30, 0x81, 0xa3, 0x74, 0x27, 0x1b, 0xc4, 0xc0, + 0x18, 0x6e, 0xb5, 0xcf, 0xd1, 0xdd, 0x7c, 0xdc, 0x6e, 0xe0, 0xdf, 0x4a, 0xa9, 0x8f, 0xd2, 0xdf, + 0xc9, 0x24, 0xf2, 0x7f, 0xc6, 0x7c, 0xc5, 0x0f, 0xd3, 0x49, 0x3c, 0x9a, 0xe3, 0xc8, 0x8d, 0x61, + 0xdd, 0x48, 0xc2, 0xbe, 0xe8, 0x17, 0x8c, 0xb6, 0xbb, 0x3d, 0xa2, 0x13, 0x1d, 0x97, 0x3c, 0x5a, + 0xfe, 0xf5, 0xc8, 0xf8, 0x05, 0xfe, 0xaf, 0x4c, 0xa2, 0x10, 0x52, 0x81, 0x48, 0x30, 0x5b, 0x11, + 0x22, 0x4e, 0x10, 0xf8, 0x29, 0x96, 0xde, 0x18, 0x35, 0xfa, 0xbc, 0xd1, 0x46, 0xd6, 0xa3, 0x50, + 0xa3, 0x31, 0x5f, 0xa3, 0xd3, 0xe8, 0x38, 0x72, 0x3f, 0xa0, 0x1a, 0x1d, 0x88, 0x64, 0x44, 0x1a, + 0x1d, 0x4b, 0x2f, 0x7d, 0x19, 0xbf, 0x74, 0x9a, 0x4e, 0xa4, 0x56, 0x0c, 0xf3, 0x22, 0xfc, 0xd7, + 0xbc, 0x7f, 0x31, 0xf3, 0x05, 0xc3, 0xdd, 0xa6, 0xb1, 0x60, 0xde, 0x2d, 0x7c, 0x37, 0xca, 0x10, + 0xf1, 0x5e, 0xf8, 0x70, 0x52, 0xb9, 0x03, 0xe1, 0xa4, 0x4a, 0x60, 0xc6, 0x30, 0x5d, 0x64, 0x9b, + 0x7a, 0x67, 0xb1, 0xa3, 0x6f, 0x39, 0x67, 0x26, 0xfa, 0x5e, 0x5e, 0x57, 0x61, 0xf2, 0x68, 0xfc, + 0x1f, 0xec, 0xf5, 0x95, 0x05, 0xfe, 0xfa, 0xca, 0x88, 0xe8, 0x57, 0x93, 0xd1, 0xd1, 0xaf, 0x82, + 0xe8, 0x56, 0x60, 0x70, 0x70, 0x6c, 0x51, 0xdb, 0x38, 0x61, 0xb8, 0xbf, 0x9b, 0x05, 0xa3, 0xb0, + 0x05, 0xa1, 0x1f, 0x7f, 0x57, 0x4e, 0xb4, 0xba, 0xe7, 0x29, 0xc2, 0x5c, 0xaf, 0x12, 0x24, 0xb6, + 0x50, 0xd9, 0xca, 0xcb, 0x3d, 0x95, 0x0f, 0x4c, 0x9e, 0xac, 0x80, 0xc9, 0xc3, 0x2a, 0x55, 0x4e, + 0x4c, 0xa9, 0x92, 0x2c, 0x16, 0x8a, 0xd4, 0x76, 0x0c, 0xa7, 0x91, 0x72, 0xe0, 0x84, 0x1f, 0xed, + 0xb6, 0xdb, 0x45, 0xba, 0xad, 0x9b, 0x2d, 0x04, 0x1f, 0x91, 0x46, 0x61, 0xf6, 0x2e, 0x82, 0x82, + 0xd1, 0xb2, 0xcc, 0xba, 0xf1, 0x2c, 0xff, 0x72, 0xb9, 0xf8, 0x20, 0xeb, 0x58, 0x22, 0x15, 0xfa, + 0x87, 0x16, 0xfc, 0xab, 0x54, 0xc0, 0x64, 0x4b, 0xb7, 0xdb, 0x24, 0x08, 0x5f, 0xae, 0xe7, 0x22, + 0xa7, 0x48, 0x42, 0x65, 0xff, 0x17, 0x2d, 0xfc, 0x5b, 0xa9, 0xf1, 0x42, 0xcc, 0xf7, 0x44, 0xf3, + 0x88, 0x24, 0xb6, 0x10, 0xfe, 0xc4, 0xc9, 0xdc, 0x93, 0x8e, 0x8d, 0x3a, 0xf8, 0x0e, 0x7a, 0xd2, + 0x43, 0x4c, 0x6a, 0x61, 0x42, 0xd2, 0xe5, 0x01, 0x5c, 0xd4, 0x01, 0x34, 0xc6, 0xbd, 0x3c, 0x20, + 0xc4, 0x45, 0xfa, 0x9a, 0xf9, 0xa6, 0x3c, 0x98, 0x21, 0xbd, 0x1a, 0x15, 0x27, 0x7c, 0x3e, 0xbe, + 0x42, 0xda, 0xbd, 0x17, 0xed, 0xc3, 0xfa, 0xe1, 0xc7, 0xe4, 0x22, 0x90, 0x2f, 0x06, 0x01, 0x07, + 0xbd, 0xc7, 0xa4, 0xfb, 0xf6, 0x3e, 0x5f, 0x73, 0x84, 0xa7, 0x71, 0xef, 0xdb, 0xc7, 0x17, 0x9f, + 0x3e, 0x3e, 0xbf, 0x22, 0x03, 0xb9, 0xd4, 0x6e, 0xc3, 0xd6, 0xe1, 0xa1, 0xb8, 0x06, 0x4c, 0xf9, + 0x6d, 0x26, 0x8c, 0x01, 0xc9, 0x26, 0x25, 0x5d, 0x04, 0x0d, 0x64, 0x53, 0x6a, 0x8f, 0x7d, 0x57, + 0x21, 0xa6, 0xec, 0xf4, 0x41, 0xf9, 0xec, 0x04, 0x6d, 0x34, 0xf3, 0x96, 0x75, 0x11, 0x1f, 0x95, + 0xf9, 0x03, 0x19, 0xe4, 0x16, 0x91, 0xdb, 0xda, 0x86, 0xce, 0x48, 0xda, 0xcc, 0xae, 0xdd, 0xf1, + 0xdb, 0xcc, 0xae, 0xdd, 0x19, 0x14, 0x94, 0x33, 0x69, 0xf4, 0x67, 0x9f, 0xed, 0x39, 0xcc, 0xf2, + 0xb8, 0xa3, 0x3f, 0xc7, 0x96, 0x3e, 0x86, 0x43, 0x70, 0x59, 0x30, 0x1b, 0xac, 0x80, 0x11, 0xcc, + 0xde, 0x90, 0x79, 0xd4, 0xad, 0x87, 0x0e, 0xb0, 0x9b, 0xe1, 0xa7, 0x93, 0x85, 0x58, 0x0b, 0x64, + 0xce, 0xd7, 0x3c, 0xe5, 0x85, 0xc9, 0x04, 0xc1, 0xd7, 0xc4, 0x18, 0x1c, 0xc3, 0x0a, 0x80, 0x0c, + 0x0a, 0x98, 0xa1, 0x05, 0x63, 0x0f, 0xbb, 0x1e, 0x72, 0x0b, 0x95, 0xcf, 0x1e, 0xc9, 0x42, 0xe5, + 0x1d, 0xfc, 0x42, 0xa5, 0x60, 0xc4, 0x64, 0x7f, 0x9d, 0x32, 0xa1, 0x2f, 0x8e, 0xf7, 0xff, 0xc8, + 0x97, 0x29, 0x13, 0xf8, 0xe2, 0x0c, 0x28, 0x7f, 0x0c, 0xae, 0x87, 0xcf, 0xa0, 0x9d, 0xb5, 0xbf, + 0x21, 0x0b, 0xff, 0xfb, 0x09, 0x90, 0x3d, 0xef, 0x3d, 0xfc, 0xcf, 0xf0, 0x46, 0xad, 0x97, 0x8c, + 0x20, 0xb8, 0xc3, 0xd3, 0x41, 0xd6, 0xa3, 0x4f, 0xa7, 0x3d, 0x37, 0x8a, 0xed, 0x0e, 0x7b, 0x8c, + 0x68, 0xf8, 0x3f, 0xe5, 0x34, 0xc8, 0x3b, 0xd6, 0xae, 0xdd, 0xf2, 0xcc, 0x6f, 0x4f, 0x63, 0xe8, + 0x5b, 0xd2, 0xa0, 0xa6, 0x1c, 0xe9, 0xb9, 0xd1, 0xb9, 0x9c, 0x32, 0x17, 0x2c, 0xc9, 0xdc, 0x05, + 0x4b, 0x09, 0xf6, 0x1f, 0x04, 0x78, 0x4b, 0x5f, 0x23, 0xfe, 0x16, 0xdf, 0x35, 0xd8, 0x1e, 0x15, + 0xec, 0x11, 0x62, 0x39, 0xac, 0x3a, 0x24, 0x75, 0x18, 0xe7, 0x45, 0x1b, 0xc4, 0x91, 0x1f, 0xab, + 0xc3, 0xb8, 0x00, 0x0f, 0x63, 0x39, 0xe5, 0x9e, 0xa7, 0x4e, 0xae, 0xf7, 0x8d, 0x12, 0xdd, 0x2c, + 0xa7, 0xf4, 0x87, 0x42, 0x67, 0x84, 0xce, 0xaf, 0x43, 0xa3, 0x73, 0x44, 0xee, 0xaf, 0x7f, 0x2a, + 0xe3, 0x48, 0x9a, 0xbe, 0x11, 0x24, 0x7e, 0x51, 0x52, 0x62, 0x88, 0xbc, 0x31, 0x98, 0x8b, 0x23, + 0x3d, 0x33, 0x7c, 0x68, 0x71, 0x5e, 0x74, 0x0c, 0xff, 0xe3, 0x0e, 0x2d, 0x2e, 0xca, 0x48, 0xfa, + 0x40, 0xfe, 0x1e, 0xb9, 0x98, 0xac, 0xd4, 0x72, 0x8d, 0xbd, 0x11, 0xb7, 0x34, 0x7e, 0x78, 0x49, + 0x18, 0x4d, 0xf8, 0x80, 0x84, 0x08, 0x87, 0xe3, 0x8e, 0x26, 0x2c, 0xc6, 0x46, 0xfa, 0x30, 0xfd, + 0x43, 0xde, 0x93, 0x1e, 0x5d, 0xdb, 0xf9, 0x7d, 0xba, 0x9a, 0x80, 0x0e, 0x8f, 0xd6, 0x39, 0x30, + 0xcd, 0x2c, 0x1d, 0xf8, 0x17, 0xde, 0x70, 0x69, 0x49, 0x0f, 0xca, 0x07, 0x22, 0x1b, 0xf9, 0xc2, + 0x42, 0x82, 0x05, 0x63, 0x11, 0x26, 0xc6, 0x72, 0x9f, 0x9c, 0x3f, 0x86, 0x8d, 0x09, 0xab, 0x77, + 0xb3, 0x58, 0xd5, 0x78, 0xac, 0x6e, 0x13, 0x11, 0x93, 0xd8, 0x98, 0x26, 0x34, 0x6f, 0x7c, 0x63, + 0x00, 0x97, 0xc6, 0xc1, 0xf5, 0xf4, 0xa1, 0xf9, 0x48, 0x1f, 0xb1, 0xdf, 0x22, 0xdd, 0x61, 0x9d, + 0x98, 0xec, 0xa3, 0xe9, 0x0e, 0xe9, 0x6c, 0x40, 0xe6, 0x66, 0x03, 0x09, 0xfd, 0xf5, 0x43, 0x37, + 0x54, 0x9f, 0xb9, 0x41, 0x10, 0x65, 0x47, 0xec, 0xaf, 0x3f, 0x90, 0x83, 0xf4, 0xc1, 0xf9, 0xa6, + 0x0c, 0xc0, 0x92, 0x6d, 0xed, 0x76, 0x6b, 0x76, 0x1b, 0xd9, 0xf0, 0xef, 0xc3, 0x09, 0xc0, 0xaf, + 0x8e, 0x60, 0x02, 0xb0, 0x06, 0xc0, 0x56, 0x40, 0x9c, 0x6a, 0xf8, 0x13, 0xc5, 0xcc, 0xfd, 0x90, + 0x29, 0x8d, 0xa1, 0xc1, 0x5f, 0x59, 0xfb, 0x63, 0x3c, 0xc6, 0x71, 0x7d, 0x56, 0x48, 0x6e, 0x94, + 0x13, 0x80, 0x37, 0x07, 0x58, 0x37, 0x38, 0xac, 0xef, 0x3e, 0x04, 0x27, 0xe9, 0x63, 0xfe, 0x2f, + 0x13, 0x60, 0x8a, 0x6c, 0xf7, 0x11, 0x99, 0xfe, 0x53, 0x08, 0xfa, 0x6f, 0x8e, 0x00, 0xf4, 0x75, + 0x30, 0x6d, 0x85, 0xd4, 0x49, 0x9f, 0xca, 0x2e, 0xc0, 0xc4, 0xc2, 0xce, 0xf0, 0xa5, 0x71, 0x64, + 0xe0, 0x07, 0x58, 0xe4, 0x35, 0x1e, 0xf9, 0x3b, 0x62, 0xe4, 0xcd, 0x50, 0x1c, 0x25, 0xf4, 0x6f, + 0x09, 0xa0, 0x5f, 0xe7, 0xa0, 0x2f, 0x1d, 0x86, 0x95, 0x31, 0x84, 0xeb, 0x97, 0x41, 0x16, 0x9f, + 0xae, 0xfb, 0xc3, 0x14, 0xe7, 0xf7, 0x67, 0xc0, 0x04, 0x6e, 0xb2, 0xc1, 0xbc, 0xc3, 0x7f, 0xf5, + 0xbe, 0xe8, 0x9b, 0x2e, 0xb2, 0x83, 0x95, 0x5b, 0xff, 0xd5, 0xe3, 0xc1, 0xf7, 0x6a, 0x76, 0xce, + 0xe4, 0xc9, 0x46, 0x66, 0x90, 0x30, 0xf4, 0xa4, 0x84, 0x95, 0xf8, 0xc8, 0xce, 0xdb, 0x0d, 0x33, + 0x29, 0x19, 0xc0, 0x48, 0xfa, 0xc0, 0x7f, 0x2e, 0x0b, 0xce, 0x90, 0x55, 0xa5, 0x45, 0xdb, 0xda, + 0xe9, 0xb9, 0x1d, 0xcb, 0x38, 0xbc, 0x2e, 0x5c, 0x0f, 0x66, 0x5d, 0xce, 0x9f, 0x9b, 0xea, 0x44, + 0x4f, 0x2a, 0xfc, 0x4b, 0xd6, 0x27, 0xe3, 0x19, 0x3c, 0x92, 0xf3, 0x31, 0x02, 0x8c, 0xe2, 0x3d, + 0xf1, 0x42, 0xbd, 0x20, 0xa3, 0xcc, 0x22, 0x95, 0x3c, 0xd4, 0x9a, 0x65, 0xa0, 0x53, 0x39, 0x11, + 0x9d, 0x7a, 0x67, 0xa0, 0x53, 0x3f, 0xc1, 0xe9, 0xd4, 0xd2, 0xe1, 0x45, 0x32, 0x86, 0x95, 0x8b, + 0x59, 0x90, 0x5f, 0x34, 0x3a, 0x2e, 0xb2, 0xe1, 0x17, 0xe8, 0x3c, 0xea, 0xe5, 0x29, 0x76, 0x2f, + 0x0b, 0x20, 0xbf, 0x89, 0x4b, 0xa3, 0x06, 0xd9, 0x4d, 0x62, 0xd8, 0x10, 0x0e, 0x35, 0xfa, 0x6f, + 0xd2, 0xd8, 0x71, 0x3d, 0x64, 0x46, 0x36, 0x01, 0x4b, 0x10, 0x3b, 0x6e, 0x30, 0x0b, 0x63, 0xb9, + 0x36, 0x29, 0xaf, 0xa1, 0x1d, 0x6f, 0x04, 0xb9, 0x98, 0x1e, 0xc2, 0x45, 0x20, 0x1b, 0x6d, 0x07, + 0x37, 0xbd, 0x49, 0xcd, 0x7b, 0x4c, 0xea, 0xc9, 0xd2, 0x2b, 0x2a, 0xc2, 0xf2, 0xb8, 0x3d, 0x59, + 0x84, 0xb8, 0x48, 0x1f, 0xb3, 0xef, 0x60, 0x37, 0xc6, 0x6e, 0x47, 0x6f, 0x21, 0x8f, 0xfb, 0xd4, + 0x50, 0x9b, 0x05, 0x92, 0xe1, 0x8f, 0xf8, 0x92, 0xc1, 0xb6, 0xd3, 0xdc, 0x21, 0xda, 0xe9, 0xb0, + 0x8b, 0x5c, 0x81, 0xcc, 0x71, 0xc5, 0x8f, 0x6c, 0x91, 0x2b, 0x96, 0x8d, 0x31, 0x5c, 0x8a, 0xe9, + 0x1f, 0xf3, 0x1c, 0x6b, 0x6b, 0x1d, 0x76, 0x0b, 0x80, 0x0a, 0x6b, 0x64, 0x47, 0x3a, 0x87, 0xd9, + 0x02, 0x88, 0xe6, 0x61, 0x0c, 0x68, 0xcd, 0x52, 0xb4, 0x3e, 0x45, 0x87, 0xd1, 0x94, 0x77, 0xe1, + 0x1c, 0xcb, 0x76, 0x93, 0xed, 0xc2, 0x79, 0xdc, 0x69, 0xf8, 0xbf, 0xa4, 0xc7, 0x82, 0xf8, 0x53, + 0xbf, 0xa3, 0x1a, 0x3e, 0x13, 0x1c, 0x0b, 0x1a, 0xc4, 0x40, 0xfa, 0xf0, 0xbe, 0xf6, 0x88, 0x06, + 0xcf, 0x61, 0x9b, 0x23, 0x6d, 0x03, 0x23, 0x1b, 0x3a, 0x87, 0x69, 0x8e, 0xd1, 0x3c, 0xa4, 0x8f, + 0xd7, 0x37, 0x98, 0x81, 0xf3, 0xd5, 0x63, 0x1c, 0x38, 0xfd, 0x96, 0x99, 0x1b, 0xb2, 0x65, 0x0e, + 0xbb, 0xbb, 0x40, 0x65, 0x3d, 0xba, 0x01, 0x73, 0x98, 0xdd, 0x85, 0x18, 0x26, 0xd2, 0x47, 0xfc, + 0x35, 0x32, 0xc8, 0xd5, 0xc7, 0x3f, 0x5e, 0x0e, 0x3b, 0x17, 0xc1, 0xb2, 0xaa, 0x8f, 0x6c, 0xb8, + 0x1c, 0x66, 0x2e, 0x12, 0xc9, 0xc2, 0x18, 0xc2, 0xc2, 0x1f, 0x07, 0xd3, 0x78, 0xc2, 0xed, 0x6f, + 0xe2, 0x7d, 0x83, 0x8e, 0x9a, 0x0f, 0xa7, 0xd8, 0x56, 0xef, 0x01, 0x05, 0x7f, 0x77, 0x88, 0x8e, + 0x9c, 0x73, 0x62, 0xed, 0xd3, 0xe7, 0x52, 0x0b, 0xfe, 0x3f, 0xd4, 0x56, 0xfb, 0xc8, 0x77, 0x02, + 0x87, 0xdd, 0x6a, 0x3f, 0xd2, 0xdd, 0xc0, 0xbf, 0x08, 0x47, 0xd4, 0xff, 0x92, 0x1e, 0xe6, 0xbd, + 0xbb, 0x84, 0xd9, 0x3e, 0xbb, 0x84, 0x8f, 0xb0, 0x58, 0xd6, 0x79, 0x2c, 0xef, 0x14, 0x15, 0xe1, + 0x08, 0xc7, 0xda, 0xb7, 0x06, 0x70, 0x9e, 0xe7, 0xe0, 0x9c, 0x3f, 0x14, 0x2f, 0x63, 0x38, 0x96, + 0x97, 0x0d, 0xc7, 0xdc, 0x0f, 0xa5, 0xd8, 0x8e, 0x7b, 0x7c, 0xfe, 0xb3, 0x07, 0x7c, 0xfe, 0xb9, + 0x96, 0x9e, 0x3b, 0x64, 0x4b, 0xff, 0x10, 0xab, 0x1d, 0x0d, 0x5e, 0x3b, 0x9e, 0x2e, 0x8e, 0xc8, + 0xe8, 0x46, 0xe6, 0xb7, 0x05, 0xea, 0x71, 0x81, 0x53, 0x8f, 0xf2, 0xe1, 0x98, 0x49, 0x5f, 0x3f, + 0x3e, 0xe2, 0x4f, 0x68, 0x8f, 0xb8, 0xbd, 0x0f, 0xbb, 0x11, 0xc9, 0x09, 0x71, 0x64, 0x23, 0xf7, + 0x30, 0x1b, 0x91, 0x83, 0x38, 0x19, 0x43, 0xa4, 0xb0, 0x19, 0x30, 0x85, 0x79, 0xba, 0x60, 0xb4, + 0xb7, 0x90, 0x0b, 0x7f, 0x97, 0x78, 0xc0, 0xf9, 0x71, 0x19, 0x47, 0x14, 0x3c, 0x27, 0xea, 0x34, + 0x66, 0x52, 0x7f, 0x01, 0xc2, 0xe4, 0x1c, 0xc3, 0xe0, 0xb8, 0xe3, 0xfb, 0x0d, 0xe4, 0x20, 0x7d, + 0xc8, 0x3e, 0x40, 0x9c, 0x39, 0x56, 0xf4, 0x7d, 0x6b, 0xd7, 0x85, 0x0f, 0x8e, 0xa0, 0x83, 0x9e, + 0x07, 0xf9, 0x0e, 0xa6, 0x46, 0x9d, 0xfe, 0xe3, 0xa7, 0x3b, 0x54, 0x04, 0xa4, 0x7c, 0x8d, 0xfe, + 0x99, 0xd4, 0xf3, 0x3f, 0x94, 0x23, 0xa1, 0x33, 0x6e, 0xcf, 0xff, 0x01, 0xe5, 0x8f, 0xe5, 0x06, + 0x98, 0x82, 0x57, 0xba, 0xb1, 0x63, 0xb8, 0x23, 0x8a, 0x2f, 0xd0, 0xf1, 0x68, 0xf9, 0xf1, 0x05, + 0xf0, 0x4b, 0xd2, 0xf3, 0x8c, 0x8c, 0x54, 0xbc, 0xdf, 0xc7, 0x7d, 0x9e, 0x31, 0xbe, 0xf8, 0xf4, + 0x31, 0xf9, 0x75, 0xd2, 0xb2, 0xce, 0x13, 0xd7, 0xce, 0x14, 0xbd, 0x46, 0x87, 0x6e, 0x2c, 0x84, + 0xb5, 0xa3, 0x6b, 0x2c, 0x7d, 0xcb, 0x4f, 0x1f, 0x98, 0x3f, 0xf8, 0x61, 0x90, 0x5b, 0x40, 0x1b, + 0xbb, 0x5b, 0xf0, 0x0e, 0x50, 0x68, 0xd8, 0x08, 0x55, 0xcc, 0x4d, 0xcb, 0x93, 0xae, 0xeb, 0x3d, + 0xfb, 0x90, 0xd0, 0x37, 0x0f, 0x8f, 0x6d, 0xa4, 0xb7, 0xc3, 0xd3, 0x4d, 0xfe, 0x2b, 0x7c, 0x89, + 0x04, 0xb2, 0x75, 0x57, 0x77, 0xe1, 0x64, 0x80, 0x2d, 0x7c, 0x90, 0xc5, 0xe2, 0x0e, 0x1e, 0x8b, + 0xeb, 0x39, 0x59, 0x60, 0x0e, 0xe6, 0xbc, 0xff, 0x23, 0x00, 0x80, 0xa0, 0x70, 0xbf, 0x63, 0x99, + 0x5e, 0x0e, 0xff, 0x00, 0x9e, 0xff, 0x0e, 0x5f, 0x16, 0x88, 0xfb, 0x2e, 0x4e, 0xdc, 0x8f, 0x17, + 0x2b, 0x62, 0x0c, 0x2b, 0x6d, 0x12, 0x98, 0xf4, 0x44, 0xbb, 0x8c, 0xf4, 0xb6, 0x03, 0x7f, 0x28, + 0x54, 0xfe, 0x08, 0x31, 0xc3, 0xf7, 0x08, 0x87, 0x8a, 0x24, 0xb5, 0x0a, 0x88, 0x47, 0xfb, 0x0b, + 0xf8, 0xa1, 0x32, 0x24, 0x3e, 0x54, 0xc6, 0xcd, 0x20, 0x6b, 0x98, 0x9b, 0x16, 0xf5, 0x5e, 0xbb, + 0x32, 0x82, 0xb6, 0xa7, 0x13, 0x1a, 0xce, 0x28, 0x18, 0x47, 0x32, 0x9e, 0xad, 0xb1, 0x5c, 0xc9, + 0x96, 0xf5, 0x4a, 0x87, 0xff, 0xd7, 0x40, 0x61, 0x2b, 0x0a, 0xc8, 0x76, 0x75, 0x77, 0x9b, 0x16, + 0x8d, 0x9f, 0x3d, 0x1b, 0x79, 0xd7, 0xd4, 0x4d, 0xcb, 0xdc, 0xdf, 0x31, 0x9e, 0x15, 0xdc, 0xfc, + 0xca, 0xa5, 0x79, 0x9c, 0x6f, 0x21, 0x13, 0xd9, 0xba, 0x8b, 0xea, 0x7b, 0x5b, 0x78, 0x8e, 0x55, + 0xd0, 0xd8, 0xa4, 0xc4, 0xfa, 0xef, 0x71, 0x1c, 0xad, 0xff, 0x9b, 0x46, 0x07, 0xe1, 0x38, 0x42, + 0x54, 0xff, 0xfd, 0xf7, 0x44, 0xfa, 0xdf, 0xa7, 0x88, 0xf4, 0xd1, 0xf8, 0xae, 0x04, 0xa6, 0xeb, + 0x9e, 0xc2, 0xd5, 0x77, 0x77, 0x76, 0x74, 0x7b, 0x1f, 0x5e, 0x1b, 0xa2, 0xc2, 0xa8, 0x66, 0x86, + 0x53, 0x4d, 0xf8, 0xa7, 0xc2, 0x97, 0x1e, 0xd3, 0xa6, 0xcd, 0x94, 0x90, 0xb8, 0x1d, 0xdc, 0x02, + 0x72, 0x9e, 0x7a, 0xfb, 0xfe, 0x7c, 0xb1, 0x0d, 0x81, 0xe4, 0x14, 0x8c, 0xb7, 0x34, 0x90, 0xb7, + 0x31, 0xc4, 0x7a, 0x90, 0xc0, 0xf1, 0xba, 0xab, 0xb7, 0x2e, 0x2e, 0x59, 0xb6, 0xb5, 0xeb, 0x1a, + 0x26, 0x72, 0xe0, 0x63, 0x42, 0x04, 0x7c, 0xfd, 0xcf, 0x84, 0xfa, 0x0f, 0xff, 0x23, 0x23, 0x3a, + 0x8a, 0x06, 0xdd, 0x2a, 0x4b, 0x3e, 0x22, 0x7c, 0x92, 0xd8, 0xb8, 0x28, 0x42, 0x31, 0x7d, 0xa1, + 0xbd, 0x5a, 0x06, 0x45, 0xf5, 0x81, 0xae, 0x65, 0xbb, 0x2b, 0x56, 0x4b, 0xef, 0x38, 0xae, 0x65, + 0x23, 0x58, 0x8b, 0x95, 0x9a, 0xd7, 0xc3, 0xb4, 0xad, 0x56, 0x38, 0x38, 0xd2, 0x37, 0x56, 0xed, + 0x64, 0x5e, 0xc7, 0x3f, 0x20, 0xbc, 0xcb, 0x48, 0xa4, 0xd2, 0xcb, 0x51, 0x84, 0x9e, 0xf7, 0xeb, + 0xd2, 0x92, 0xb9, 0xe2, 0x8b, 0xed, 0x3c, 0x0a, 0x31, 0x35, 0x86, 0xa5, 0x72, 0x09, 0xcc, 0xd4, + 0x77, 0x37, 0x02, 0x22, 0x0e, 0x6b, 0x84, 0xbc, 0x42, 0x38, 0x46, 0x02, 0x55, 0x3c, 0x96, 0x50, + 0x84, 0x7c, 0xaf, 0x03, 0x33, 0x0e, 0x9b, 0x8d, 0xe2, 0xcd, 0x27, 0x0a, 0xc6, 0x46, 0x18, 0x5c, + 0x6a, 0xfa, 0x02, 0x7c, 0x9b, 0x04, 0x66, 0x6a, 0x5d, 0x64, 0xa2, 0x36, 0xf1, 0xb1, 0xe3, 0x04, + 0xf8, 0x92, 0x84, 0x02, 0xe4, 0x08, 0x45, 0x08, 0x30, 0xf4, 0x87, 0x5d, 0xf0, 0x85, 0x17, 0x26, + 0x24, 0x12, 0x5c, 0x5c, 0x69, 0xe9, 0x0b, 0xee, 0xf3, 0x12, 0x98, 0xd2, 0x76, 0xcd, 0x35, 0xdb, + 0xf2, 0x46, 0x63, 0x1b, 0xde, 0x19, 0x76, 0x10, 0x37, 0x81, 0x13, 0xed, 0x5d, 0x1b, 0xaf, 0x3f, + 0x55, 0xcc, 0x3a, 0x6a, 0x59, 0x66, 0xdb, 0xc1, 0xf5, 0xc8, 0x69, 0x07, 0x3f, 0xdc, 0x9e, 0x7d, + 0xde, 0x57, 0xe5, 0x0c, 0x7c, 0xbe, 0x70, 0x20, 0x16, 0x52, 0x79, 0xa6, 0x68, 0xf1, 0x9e, 0x40, + 0x30, 0xdc, 0xca, 0xa0, 0x12, 0xd2, 0x17, 0xee, 0xa7, 0x24, 0xa0, 0x94, 0x5a, 0x2d, 0x6b, 0xd7, + 0x74, 0xeb, 0xa8, 0x83, 0x5a, 0x6e, 0xc3, 0xd6, 0x5b, 0x88, 0xb5, 0x9f, 0x8b, 0x40, 0x6e, 0x1b, + 0x36, 0xed, 0x83, 0xbd, 0x47, 0x2a, 0xc7, 0x97, 0x08, 0xef, 0x38, 0x92, 0x5a, 0x1e, 0x2c, 0x25, + 0x81, 0x38, 0xc5, 0xf6, 0x15, 0x05, 0x0b, 0x4a, 0x5f, 0xaa, 0x1f, 0x92, 0xc0, 0xa4, 0xdf, 0x63, + 0x6f, 0x89, 0x08, 0xf3, 0xd7, 0x13, 0x4e, 0x46, 0x02, 0xe2, 0x09, 0x64, 0xf8, 0xa6, 0x04, 0xb3, + 0x8a, 0x28, 0xfa, 0xc9, 0x44, 0x57, 0x4a, 0x2e, 0x3a, 0xef, 0xb5, 0x5a, 0x6b, 0x2e, 0xd6, 0x56, + 0x16, 0x54, 0xad, 0x28, 0xc3, 0x2f, 0x48, 0x20, 0xbb, 0x66, 0x98, 0x5b, 0x6c, 0xbc, 0xac, 0x93, + 0x9e, 0x1d, 0xd9, 0x46, 0x0f, 0xd0, 0x96, 0x4e, 0x5e, 0x94, 0x5b, 0xc1, 0x49, 0x73, 0x77, 0x67, + 0x03, 0xd9, 0xb5, 0x4d, 0x3c, 0xca, 0x3a, 0x0d, 0xab, 0x8e, 0x4c, 0x62, 0x84, 0xe6, 0xb4, 0xbe, + 0xdf, 0x78, 0x13, 0x4c, 0x60, 0xf2, 0xe0, 0x71, 0x12, 0x21, 0xf1, 0x80, 0x29, 0x89, 0x61, 0x2a, + 0xd1, 0xb4, 0xa1, 0x0f, 0xf1, 0xf4, 0x35, 0xf5, 0xcf, 0x72, 0xe0, 0x54, 0xc9, 0xdc, 0xc7, 0x36, + 0x05, 0xe9, 0xe0, 0xcb, 0xdb, 0xba, 0xb9, 0x85, 0xf0, 0x00, 0x11, 0x48, 0x9c, 0x0d, 0x20, 0x9f, + 0xe1, 0x03, 0xc8, 0x2b, 0x1a, 0x98, 0xb0, 0xec, 0x36, 0xb2, 0xe7, 0xf7, 0x31, 0x4f, 0xbd, 0xcb, + 0xce, 0xb4, 0x4d, 0xf6, 0x2b, 0x62, 0x8e, 0x92, 0x9f, 0xab, 0x91, 0xff, 0x35, 0x9f, 0xd0, 0xb9, + 0x9b, 0xc0, 0x04, 0x4d, 0x53, 0xa6, 0x41, 0xa1, 0xa6, 0x2d, 0xa8, 0x5a, 0xb3, 0xb2, 0x50, 0x3c, + 0xa6, 0x5c, 0x06, 0x8e, 0x57, 0x1a, 0xaa, 0x56, 0x6a, 0x54, 0x6a, 0xd5, 0x26, 0x4e, 0x2f, 0x66, + 0xe0, 0x73, 0xb3, 0xa2, 0x9e, 0xbd, 0xf1, 0xcc, 0xf4, 0x83, 0x55, 0x03, 0x13, 0x2d, 0x92, 0x01, + 0x0f, 0xa1, 0x53, 0x89, 0x6a, 0x47, 0x09, 0x92, 0x04, 0xcd, 0x27, 0xa4, 0x9c, 0x05, 0xe0, 0x92, + 0x6d, 0x99, 0x5b, 0xe1, 0x99, 0xb6, 0x82, 0xc6, 0xa4, 0xc0, 0x07, 0x33, 0x20, 0x4f, 0xfe, 0xc1, + 0x17, 0x66, 0xe0, 0xa7, 0x50, 0xf0, 0xfe, 0xbb, 0x67, 0xf1, 0x62, 0x79, 0x85, 0x13, 0x2d, 0xfa, + 0xea, 0xe9, 0x22, 0x91, 0x01, 0xb1, 0x84, 0x69, 0x55, 0x6e, 0x06, 0x79, 0xf2, 0x2f, 0xf5, 0x3a, + 0x88, 0x0e, 0x7e, 0x49, 0xb2, 0x09, 0xfa, 0x29, 0x8b, 0xcb, 0x34, 0x7d, 0x6d, 0x7e, 0xaf, 0x04, + 0x0a, 0x55, 0xe4, 0x96, 0xb7, 0x51, 0xeb, 0x22, 0x7c, 0x1c, 0xbf, 0x00, 0xda, 0x31, 0x90, 0xe9, + 0xde, 0xb7, 0xd3, 0x09, 0x16, 0x40, 0xfd, 0x04, 0xf8, 0xf3, 0x6c, 0xe7, 0x7b, 0x37, 0xaf, 0x3f, + 0x37, 0xf6, 0xa9, 0xab, 0x5f, 0x42, 0x84, 0xca, 0x9c, 0x06, 0x79, 0x1b, 0x39, 0xbb, 0x1d, 0x7f, + 0x11, 0x8d, 0xbe, 0xc1, 0x87, 0x02, 0x71, 0x96, 0x39, 0x71, 0xde, 0x2c, 0x5e, 0xc4, 0x18, 0xa2, + 0x69, 0x66, 0xc1, 0x44, 0xc5, 0x34, 0x5c, 0x43, 0xef, 0xc0, 0xe7, 0x67, 0xc1, 0x4c, 0x1d, 0xb9, + 0x6b, 0xba, 0xad, 0xef, 0x20, 0x17, 0xd9, 0x0e, 0xfc, 0x36, 0xdf, 0x27, 0x74, 0x3b, 0xba, 0xbb, + 0x69, 0xd9, 0x3b, 0xbe, 0x6a, 0xfa, 0xef, 0x9e, 0x6a, 0xee, 0x21, 0xdb, 0x09, 0xf9, 0xf2, 0x5f, + 0xbd, 0x2f, 0x97, 0x2c, 0xfb, 0xa2, 0x37, 0x08, 0xd2, 0x69, 0x1a, 0x7d, 0xf5, 0xe8, 0x75, 0xac, + 0xad, 0x15, 0xb4, 0x87, 0xfc, 0x60, 0x5d, 0xc1, 0xbb, 0x37, 0x17, 0x68, 0x5b, 0x55, 0xcb, 0xf5, + 0x3a, 0xed, 0x15, 0x6b, 0x8b, 0x44, 0x33, 0x2d, 0x68, 0x7c, 0x62, 0x98, 0x4b, 0xdf, 0x43, 0x38, + 0x57, 0x9e, 0xcd, 0x45, 0x13, 0x95, 0x39, 0xa0, 0x04, 0xbf, 0x35, 0x50, 0x07, 0xed, 0x20, 0xd7, + 0xde, 0xc7, 0x97, 0x16, 0x14, 0xb4, 0x3e, 0x5f, 0xe8, 0x00, 0x2d, 0x3e, 0x59, 0xa7, 0xd2, 0x9b, + 0xe3, 0x24, 0x77, 0xa8, 0xc9, 0xba, 0x08, 0xc5, 0xb1, 0x5c, 0xca, 0x24, 0x7b, 0xd6, 0xcc, 0x6f, + 0xcb, 0x20, 0x8b, 0x07, 0xcf, 0xd7, 0x64, 0xb8, 0x15, 0xa6, 0x1d, 0xe4, 0x38, 0xfa, 0x16, 0xf2, + 0x57, 0x98, 0xe8, 0xab, 0x72, 0x1b, 0xc8, 0x75, 0x30, 0xa6, 0x64, 0x70, 0xb8, 0x96, 0xab, 0x99, + 0x67, 0x60, 0x78, 0xb4, 0x82, 0x91, 0x00, 0xc3, 0xad, 0x91, 0x3f, 0xce, 0xdd, 0x03, 0x72, 0x04, + 0xfe, 0x49, 0x90, 0x5b, 0x50, 0xe7, 0xd7, 0x97, 0x8a, 0xc7, 0xbc, 0x47, 0x9f, 0xbf, 0x49, 0x90, + 0x5b, 0x2c, 0x35, 0x4a, 0x2b, 0x45, 0xc9, 0xab, 0x47, 0xa5, 0xba, 0x58, 0x2b, 0xca, 0x5e, 0xe2, + 0x5a, 0xa9, 0x5a, 0x29, 0x17, 0xb3, 0xca, 0x14, 0x98, 0xb8, 0x50, 0xd2, 0xaa, 0x95, 0xea, 0x52, + 0x31, 0x07, 0xff, 0x81, 0xc5, 0xef, 0x76, 0x1e, 0xbf, 0xeb, 0xa2, 0x78, 0xea, 0x07, 0xd9, 0xef, + 0x04, 0x90, 0xdd, 0xc9, 0x41, 0xf6, 0xc3, 0x22, 0x44, 0xc6, 0xe0, 0xce, 0x94, 0x07, 0x13, 0x6b, + 0xb6, 0xd5, 0x42, 0x8e, 0x03, 0x7f, 0x43, 0x02, 0xf9, 0xb2, 0x6e, 0xb6, 0x50, 0x07, 0x5e, 0x11, + 0x42, 0x45, 0x5c, 0x45, 0x33, 0xbe, 0xab, 0x28, 0xfc, 0x66, 0x46, 0xb4, 0xf7, 0xa3, 0x74, 0xe7, + 0x08, 0xcd, 0x08, 0xf9, 0x88, 0xf5, 0x72, 0xb1, 0xa4, 0xc6, 0x70, 0x71, 0x8b, 0x04, 0x26, 0xe9, + 0x6a, 0xc0, 0x06, 0x62, 0xe7, 0xe1, 0xdf, 0xce, 0x88, 0x4e, 0x0e, 0xfd, 0x1a, 0x04, 0x64, 0x22, + 0xe4, 0x21, 0x36, 0x11, 0x1c, 0x44, 0x6d, 0x0c, 0x9b, 0x87, 0x12, 0x98, 0x5a, 0x37, 0x9d, 0x7e, + 0x42, 0x11, 0x8f, 0xf2, 0xee, 0x57, 0x83, 0x21, 0x74, 0xa8, 0x28, 0xef, 0x83, 0xe9, 0xa5, 0x2f, + 0x98, 0x6f, 0x67, 0xc0, 0xc9, 0x25, 0x64, 0x22, 0xdb, 0x68, 0x91, 0x1a, 0xf8, 0x92, 0xb8, 0x93, + 0x97, 0xc4, 0xe3, 0x38, 0xce, 0xfb, 0xfd, 0xc1, 0x4b, 0xe0, 0xe5, 0x81, 0x04, 0xee, 0xe6, 0x24, + 0x70, 0x93, 0x20, 0x9d, 0x31, 0xdc, 0xd6, 0x3d, 0x09, 0xa6, 0xab, 0x96, 0x6b, 0x6c, 0x1a, 0x2d, + 0xe2, 0x83, 0xf6, 0x5b, 0x32, 0xc8, 0xae, 0x18, 0x8e, 0x0b, 0x4b, 0x61, 0x77, 0x72, 0x0d, 0x98, + 0x32, 0xcc, 0x56, 0x67, 0xb7, 0x8d, 0x34, 0xa4, 0x93, 0x7e, 0xa5, 0xa0, 0xb1, 0x49, 0xe1, 0xd6, + 0xbe, 0xc7, 0x96, 0xec, 0x6f, 0xed, 0x7f, 0x5c, 0x78, 0x19, 0x86, 0x65, 0x01, 0x87, 0x3b, 0x8c, + 0xb0, 0xbb, 0x4a, 0x60, 0xc6, 0x64, 0xb2, 0xfa, 0x06, 0x7b, 0x6f, 0xb8, 0x7b, 0x96, 0x9c, 0xc6, + 0xff, 0x01, 0xdf, 0x21, 0xd4, 0x58, 0x07, 0x31, 0x94, 0x0c, 0x99, 0xc5, 0x21, 0x26, 0xc9, 0x0a, + 0x98, 0xad, 0x54, 0x1b, 0xaa, 0x56, 0x2d, 0xad, 0xd0, 0x2c, 0x32, 0xfc, 0xae, 0x04, 0x72, 0x1a, + 0xea, 0x76, 0xf6, 0xd9, 0x78, 0xc6, 0xd4, 0x51, 0x3c, 0x13, 0x38, 0x8a, 0x2b, 0x8b, 0x00, 0xe8, + 0x2d, 0xaf, 0x60, 0x7c, 0xe1, 0x93, 0xd4, 0x37, 0x4a, 0x26, 0x57, 0xc1, 0x52, 0x90, 0x5b, 0x63, + 0xfe, 0x84, 0x2f, 0x10, 0xde, 0x39, 0xe2, 0xa8, 0x61, 0x0e, 0x23, 0xfa, 0x84, 0x77, 0x0a, 0x6d, + 0xf6, 0x0c, 0x24, 0x77, 0x34, 0xe2, 0xff, 0xa2, 0x04, 0xb2, 0x0d, 0xaf, 0xb7, 0x64, 0x3a, 0xce, + 0x8f, 0x0d, 0xa7, 0xe3, 0x1e, 0x99, 0x08, 0x1d, 0xbf, 0x0b, 0x4c, 0xb3, 0x1a, 0x4b, 0x5d, 0x25, + 0x62, 0x55, 0x9c, 0xfb, 0x61, 0x18, 0x0d, 0xef, 0xc3, 0xce, 0xd1, 0x88, 0xf8, 0xc3, 0x8f, 0x07, + 0x60, 0x15, 0xed, 0x6c, 0x20, 0xdb, 0xd9, 0x36, 0xba, 0xf0, 0x1f, 0x65, 0x30, 0xb9, 0x84, 0xdc, + 0xba, 0xab, 0xbb, 0xbb, 0x4e, 0xcf, 0x76, 0xa7, 0x69, 0x95, 0xf5, 0xd6, 0x36, 0xa2, 0xdd, 0x91, + 0xff, 0x0a, 0xdf, 0x22, 0x8b, 0xfa, 0x13, 0x85, 0xe5, 0xcc, 0x05, 0x65, 0x44, 0x60, 0xf2, 0x04, + 0x90, 0x6d, 0xeb, 0xae, 0x4e, 0xb1, 0xb8, 0xa2, 0x07, 0x8b, 0x90, 0x90, 0x86, 0xb3, 0xc1, 0x37, + 0x48, 0x22, 0x0e, 0x45, 0x02, 0xe5, 0x27, 0x03, 0xe1, 0x1d, 0x99, 0x21, 0x50, 0x38, 0x01, 0x66, + 0xaa, 0xb5, 0x46, 0x73, 0xa5, 0xb6, 0xb4, 0xa4, 0x7a, 0xa9, 0x45, 0x59, 0x39, 0x0d, 0x94, 0xb5, + 0xd2, 0x7d, 0xab, 0x6a, 0xb5, 0xd1, 0xac, 0xd6, 0x16, 0x54, 0xfa, 0x67, 0x56, 0x39, 0x0e, 0xa6, + 0xca, 0xa5, 0xf2, 0xb2, 0x9f, 0x90, 0x53, 0xce, 0x80, 0x93, 0xab, 0xea, 0xea, 0xbc, 0xaa, 0xd5, + 0x97, 0x2b, 0x6b, 0x4d, 0x8f, 0xcc, 0x62, 0x6d, 0xbd, 0xba, 0x50, 0xcc, 0x2b, 0x10, 0x9c, 0x66, + 0xbe, 0x5c, 0xd0, 0x6a, 0xd5, 0xa5, 0x66, 0xbd, 0x51, 0x6a, 0xa8, 0xc5, 0x09, 0xe5, 0x32, 0x70, + 0xbc, 0x5c, 0xaa, 0xe2, 0xec, 0xe5, 0x5a, 0xb5, 0xaa, 0x96, 0x1b, 0xc5, 0x02, 0xfc, 0x8f, 0x2c, + 0x98, 0xaa, 0x38, 0x55, 0x7d, 0x07, 0x9d, 0xd7, 0x3b, 0x46, 0x1b, 0x3e, 0x9f, 0x99, 0x79, 0x5c, + 0x07, 0x66, 0x6c, 0xf2, 0x88, 0xda, 0x0d, 0x03, 0x11, 0x34, 0x67, 0x34, 0x3e, 0xd1, 0x9b, 0x93, + 0x9b, 0x98, 0x80, 0x3f, 0x27, 0x27, 0x6f, 0xca, 0x3c, 0x00, 0xe4, 0xa9, 0x11, 0x5e, 0x3d, 0x7a, + 0xae, 0xb7, 0x35, 0xe9, 0x3b, 0xc8, 0x41, 0xf6, 0x9e, 0xd1, 0x42, 0x7e, 0x4e, 0x8d, 0xf9, 0x0b, + 0x7e, 0x49, 0x16, 0xdd, 0x5f, 0x64, 0x40, 0x65, 0xaa, 0x13, 0xd1, 0x1b, 0xfe, 0x82, 0x2c, 0xb2, + 0x3b, 0x28, 0x44, 0x32, 0x99, 0xa6, 0xbc, 0x48, 0x1a, 0x6e, 0xd9, 0xb6, 0x51, 0xab, 0x35, 0xeb, + 0xcb, 0x35, 0xad, 0x51, 0x94, 0x95, 0x69, 0x50, 0xf0, 0x5e, 0x57, 0x6a, 0xd5, 0xa5, 0x62, 0x56, + 0x39, 0x05, 0x4e, 0x2c, 0x97, 0xea, 0xcd, 0x4a, 0xf5, 0x7c, 0x69, 0xa5, 0xb2, 0xd0, 0x2c, 0x2f, + 0x97, 0xb4, 0x7a, 0x31, 0xa7, 0x5c, 0x01, 0x4e, 0x35, 0x2a, 0xaa, 0xd6, 0x5c, 0x54, 0x4b, 0x8d, + 0x75, 0x4d, 0xad, 0x37, 0xab, 0xb5, 0x66, 0xb5, 0xb4, 0xaa, 0x16, 0xf3, 0x5e, 0xf3, 0xc7, 0x9f, + 0x42, 0xb5, 0x99, 0x38, 0xa8, 0x8c, 0x85, 0x08, 0x65, 0x9c, 0xec, 0x55, 0x46, 0xc0, 0xaa, 0x95, + 0xa6, 0xd6, 0x55, 0xed, 0xbc, 0x5a, 0x9c, 0xea, 0xa7, 0x6b, 0xd3, 0xca, 0x49, 0x50, 0xf4, 0x78, + 0x68, 0x56, 0xea, 0x7e, 0xce, 0x85, 0xe2, 0x0c, 0xfc, 0x50, 0x1e, 0x9c, 0xd6, 0xd0, 0x96, 0xe1, + 0xb8, 0xc8, 0x5e, 0xd3, 0xf7, 0x77, 0x90, 0xe9, 0xfa, 0x9d, 0xfc, 0xbf, 0x25, 0x56, 0xc6, 0x55, + 0x30, 0xd3, 0x25, 0x34, 0x56, 0x91, 0xbb, 0x6d, 0xb5, 0xe9, 0x28, 0xfc, 0xb8, 0xc8, 0x9e, 0x63, + 0x6e, 0x8d, 0xcd, 0xae, 0xf1, 0x7f, 0x33, 0xba, 0x2d, 0xc7, 0xe8, 0x76, 0x76, 0x18, 0xdd, 0x56, + 0xae, 0x02, 0x93, 0xbb, 0x0e, 0xb2, 0xd5, 0x1d, 0xdd, 0xe8, 0xf8, 0x57, 0x47, 0x06, 0x09, 0xf0, + 0x8d, 0x59, 0xd1, 0x13, 0x2b, 0x4c, 0x5d, 0xfa, 0x8b, 0x31, 0xa2, 0x6f, 0x3d, 0x0b, 0x00, 0xad, + 0xec, 0xba, 0xdd, 0xa1, 0xca, 0xca, 0xa4, 0x78, 0xfc, 0x6d, 0x18, 0x9d, 0x8e, 0x61, 0x6e, 0x05, + 0xfb, 0xfe, 0x61, 0x02, 0x7c, 0x91, 0x2c, 0x72, 0x82, 0x25, 0x29, 0x6f, 0xc9, 0x5a, 0xd3, 0x0b, + 0xa4, 0x31, 0xf7, 0xbb, 0x07, 0x9b, 0x4e, 0x5e, 0x29, 0x82, 0x69, 0x9c, 0x46, 0x5b, 0x60, 0x71, + 0xc2, 0xeb, 0x83, 0x7d, 0x72, 0xab, 0x6a, 0x63, 0xb9, 0xb6, 0x10, 0x7c, 0x2b, 0x78, 0x24, 0x3d, + 0x66, 0x4a, 0xd5, 0xfb, 0x70, 0x6b, 0x9c, 0x54, 0x1e, 0x03, 0xae, 0x60, 0x3a, 0xec, 0xd2, 0x8a, + 0xa6, 0x96, 0x16, 0xee, 0x6b, 0xaa, 0xcf, 0xa8, 0xd4, 0x1b, 0x75, 0xbe, 0x71, 0xf9, 0xed, 0x68, + 0xca, 0xe3, 0x57, 0x5d, 0x2d, 0x55, 0x56, 0x68, 0xff, 0xbe, 0x58, 0xd3, 0x56, 0x4b, 0x8d, 0xe2, + 0x34, 0xfc, 0x6d, 0x19, 0x14, 0x97, 0x90, 0xbb, 0x66, 0xd9, 0xae, 0xde, 0x59, 0x31, 0xcc, 0x8b, + 0xeb, 0x76, 0x87, 0x9b, 0x6c, 0x0a, 0x87, 0xe9, 0xe0, 0x87, 0x48, 0x8e, 0x60, 0xf4, 0x8e, 0x78, + 0x17, 0x67, 0x0b, 0x95, 0x29, 0x4c, 0x80, 0xcf, 0x96, 0x44, 0x96, 0xbb, 0xc5, 0x4b, 0x4d, 0xa6, + 0x27, 0xcf, 0x19, 0xf7, 0xf8, 0xdc, 0x07, 0xb5, 0x3c, 0x7c, 0x5e, 0x16, 0x14, 0x16, 0x0d, 0x53, + 0xef, 0x18, 0xcf, 0xe2, 0xa2, 0x63, 0x86, 0x7d, 0x4c, 0x26, 0xa6, 0x8f, 0x91, 0x86, 0x1a, 0x3f, + 0x7f, 0x4d, 0x16, 0x5d, 0x5e, 0x60, 0x64, 0xef, 0x33, 0x19, 0x31, 0x78, 0xbe, 0x4f, 0x12, 0x59, + 0x5e, 0x18, 0x4c, 0x2f, 0x19, 0x86, 0x1f, 0xfd, 0xfe, 0xb0, 0xb1, 0x7a, 0xda, 0x77, 0xa1, 0x9f, + 0x2a, 0x4c, 0xc2, 0xbf, 0x92, 0x01, 0x5c, 0x42, 0xee, 0x79, 0x64, 0x07, 0x53, 0x01, 0xdc, 0xeb, + 0x53, 0x7b, 0x9b, 0x69, 0xb2, 0xaf, 0x61, 0x01, 0xbc, 0xc0, 0x03, 0x58, 0x8a, 0x69, 0x3c, 0x11, + 0xa4, 0x23, 0x1a, 0x6f, 0x05, 0xe4, 0x1d, 0xfc, 0x9d, 0xaa, 0xd9, 0x2d, 0xd1, 0xc3, 0x25, 0x26, + 0xc6, 0x52, 0x27, 0x84, 0x35, 0x4a, 0x00, 0x7e, 0x27, 0x98, 0x04, 0xfd, 0x38, 0xa7, 0x1d, 0x8b, + 0x87, 0x66, 0x36, 0x99, 0xbe, 0xd8, 0xe9, 0xaa, 0x4b, 0x3f, 0xfb, 0x06, 0xbe, 0x2f, 0x07, 0x4e, + 0xf6, 0xab, 0x0e, 0x7c, 0x57, 0x86, 0xdb, 0x61, 0x47, 0x78, 0xc8, 0xcf, 0xd0, 0x0d, 0x44, 0xef, + 0x45, 0x79, 0x32, 0x38, 0x15, 0x2c, 0xc3, 0x35, 0xac, 0x2a, 0xba, 0xe4, 0x74, 0x90, 0xeb, 0x22, + 0x1b, 0x57, 0xad, 0xa0, 0xf5, 0xff, 0xa8, 0x3c, 0x15, 0x5c, 0x6e, 0x98, 0x8e, 0xd1, 0x46, 0x76, + 0xc3, 0xe8, 0x3a, 0x25, 0xb3, 0xdd, 0xd8, 0x75, 0x2d, 0xdb, 0xd0, 0xe9, 0x45, 0x87, 0x05, 0x2d, + 0xea, 0xb3, 0x72, 0x23, 0x28, 0x1a, 0x4e, 0xcd, 0xdc, 0xb0, 0x74, 0xbb, 0x6d, 0x98, 0x5b, 0x2b, + 0x86, 0xe3, 0x52, 0x0f, 0xe0, 0x03, 0xe9, 0xf0, 0x9f, 0x64, 0xd1, 0xc3, 0x74, 0x03, 0x60, 0x8d, + 0xe8, 0x50, 0x7e, 0x5e, 0x16, 0x39, 0x1e, 0x97, 0x8c, 0x76, 0x32, 0x65, 0x79, 0xee, 0xb8, 0x0d, + 0x89, 0xfe, 0x23, 0x38, 0xee, 0x5a, 0x48, 0xba, 0x6f, 0x08, 0x9c, 0x57, 0xb5, 0xca, 0x62, 0x45, + 0xf5, 0xcc, 0x8a, 0x53, 0xe0, 0x44, 0xf8, 0x6d, 0xe1, 0xbe, 0x66, 0x5d, 0xad, 0x36, 0x8a, 0x05, + 0xaf, 0x9f, 0x22, 0xc9, 0x8b, 0xa5, 0xca, 0x8a, 0xba, 0xd0, 0x6c, 0xd4, 0xbc, 0x2f, 0x0b, 0xc3, + 0x99, 0x16, 0xf0, 0xc1, 0x2c, 0x38, 0x8e, 0x65, 0xbb, 0x8f, 0xa5, 0xea, 0x09, 0xa5, 0xc7, 0xd7, + 0x36, 0x00, 0x68, 0x92, 0x88, 0x17, 0x7e, 0x52, 0xf8, 0x1e, 0x47, 0x06, 0xc2, 0x9e, 0x32, 0x22, + 0x34, 0xe3, 0xdb, 0x92, 0x48, 0x84, 0x0a, 0x61, 0xb2, 0xc9, 0x94, 0xe2, 0xdf, 0xc7, 0x3d, 0xe2, + 0x44, 0x83, 0x8f, 0xad, 0xcc, 0x32, 0xfe, 0xf9, 0x19, 0x6b, 0x15, 0x0d, 0xab, 0xc3, 0x2c, 0x00, + 0x38, 0x05, 0x6b, 0x10, 0xd1, 0x83, 0xbe, 0xe3, 0x55, 0x94, 0x1e, 0x94, 0xca, 0x8d, 0xca, 0x79, + 0x35, 0x4a, 0x0f, 0x3e, 0x21, 0x83, 0xc2, 0x12, 0x72, 0xbd, 0x39, 0x95, 0x03, 0x9f, 0x26, 0xb0, + 0xfe, 0xe3, 0x99, 0x31, 0xf8, 0xe2, 0xfb, 0x60, 0x19, 0x80, 0xbc, 0xc1, 0x9f, 0x1b, 0xc6, 0x04, + 0xf1, 0x8b, 0x8e, 0x18, 0xaf, 0x7e, 0x14, 0xe4, 0x5c, 0xef, 0x33, 0x5d, 0x86, 0xfe, 0xa1, 0xc8, + 0xe1, 0xca, 0x23, 0xb2, 0xa0, 0xbb, 0xba, 0x46, 0xf2, 0x33, 0xa3, 0x93, 0xa0, 0xed, 0x12, 0xc1, + 0xc8, 0xf7, 0xa3, 0xfd, 0xf9, 0x0f, 0x32, 0x38, 0x45, 0xda, 0x47, 0xa9, 0xdb, 0xad, 0xbb, 0x96, + 0x8d, 0x34, 0xd4, 0x42, 0x46, 0xd7, 0xed, 0x59, 0xdf, 0xb3, 0x49, 0xaa, 0xbf, 0xd9, 0x4c, 0x5f, + 0xe1, 0xef, 0xcb, 0xa2, 0x11, 0x7e, 0x0f, 0xb4, 0xc7, 0x9e, 0xf2, 0x22, 0x1a, 0xfb, 0x23, 0x92, + 0x48, 0xcc, 0xde, 0x84, 0xc4, 0x93, 0x01, 0xf5, 0xfe, 0x23, 0x00, 0xca, 0x5f, 0xb9, 0xd1, 0xd4, + 0xb2, 0x5a, 0x59, 0xf3, 0x06, 0x81, 0xab, 0xc1, 0x95, 0x6b, 0xeb, 0x5a, 0x79, 0xb9, 0x54, 0x57, + 0x9b, 0x9a, 0xba, 0x54, 0xa9, 0x37, 0xa8, 0x53, 0x16, 0xf9, 0x6b, 0x42, 0xb9, 0x0a, 0x9c, 0xa9, + 0xaf, 0xcf, 0xd7, 0xcb, 0x5a, 0x65, 0x0d, 0xa7, 0x6b, 0x6a, 0x55, 0xbd, 0x40, 0xbf, 0x16, 0xe0, + 0x7b, 0x8a, 0x60, 0xca, 0x9b, 0x00, 0xd4, 0xc9, 0xbc, 0x00, 0x7e, 0x3d, 0x0b, 0xa6, 0x34, 0xe4, + 0x58, 0x9d, 0x3d, 0x3c, 0x47, 0x18, 0xd7, 0xd4, 0xe3, 0x5b, 0xb2, 0xe8, 0xf9, 0x6d, 0x86, 0xd9, + 0x39, 0x86, 0xd1, 0xe8, 0x89, 0xa6, 0xbe, 0xa7, 0x1b, 0x1d, 0x7d, 0x83, 0x76, 0x35, 0x05, 0x2d, + 0x4c, 0x50, 0xe6, 0x80, 0x62, 0x5d, 0x32, 0x91, 0x5d, 0x6f, 0x5d, 0x52, 0xdd, 0xed, 0x52, 0xbb, + 0x6d, 0x23, 0xc7, 0xa1, 0xab, 0x17, 0x7d, 0xbe, 0x28, 0x37, 0x80, 0xe3, 0x38, 0x95, 0xc9, 0x4c, + 0x1c, 0x64, 0x7a, 0x93, 0x83, 0x9c, 0x25, 0x73, 0xdf, 0xcf, 0x99, 0x63, 0x72, 0x86, 0xc9, 0xec, + 0x71, 0x89, 0x3c, 0x7f, 0x4a, 0xe7, 0x1a, 0x30, 0x65, 0xea, 0x3b, 0x48, 0x7d, 0xa0, 0x6b, 0xd8, + 0xc8, 0xc1, 0x8e, 0x31, 0xb2, 0xc6, 0x26, 0xc1, 0xf7, 0x09, 0x9d, 0x37, 0x17, 0x93, 0x58, 0x32, + 0xdd, 0x5f, 0x1a, 0x42, 0xf5, 0xfb, 0xf4, 0x33, 0x32, 0x7c, 0x8f, 0x0c, 0xa6, 0x29, 0x53, 0x25, + 0x73, 0xbf, 0xd2, 0x86, 0x57, 0x73, 0xc6, 0xaf, 0xee, 0xa5, 0xf9, 0xc6, 0x2f, 0x7e, 0x81, 0xbf, + 0x28, 0x8b, 0xba, 0x3b, 0xf7, 0xa9, 0x38, 0x2e, 0x23, 0xda, 0x71, 0x74, 0xd3, 0xda, 0xa5, 0x8e, + 0xaa, 0x05, 0x8d, 0xbc, 0xa4, 0xb9, 0xa8, 0x07, 0xff, 0x44, 0xc8, 0x99, 0x5a, 0xb0, 0x1a, 0x47, + 0x04, 0xe0, 0x87, 0x65, 0x30, 0x4b, 0xb9, 0xaa, 0xd3, 0x73, 0x3e, 0x42, 0x07, 0xde, 0x7e, 0x59, + 0xd8, 0x10, 0xec, 0x53, 0x7f, 0x5a, 0xd2, 0xa3, 0x06, 0xc8, 0x0f, 0x08, 0x05, 0x47, 0x13, 0xae, + 0xc8, 0x11, 0x41, 0xf9, 0xa6, 0x2c, 0x98, 0x5a, 0x77, 0x90, 0x4d, 0xfd, 0xf6, 0xe1, 0x43, 0x59, + 0x20, 0x2f, 0x21, 0x6e, 0x23, 0xf5, 0x85, 0xc2, 0x1e, 0xbe, 0x6c, 0x65, 0x19, 0xa2, 0x9e, 0x8d, + 0x14, 0x01, 0xdb, 0xf5, 0x60, 0x96, 0x88, 0xb4, 0xe4, 0xba, 0x9e, 0x91, 0xe8, 0x7b, 0xd3, 0xf6, + 0xa4, 0x8e, 0x62, 0xab, 0x08, 0x97, 0xe5, 0x65, 0x29, 0x7b, 0x3c, 0xad, 0xa0, 0x4d, 0x32, 0x9f, + 0xcd, 0x6a, 0x3d, 0xa9, 0xf8, 0x72, 0xfd, 0x2e, 0x22, 0xe7, 0x57, 0x98, 0xcc, 0x39, 0x9c, 0xb9, + 0xdf, 0x27, 0xf8, 0x75, 0x21, 0x5f, 0x5d, 0x71, 0xe9, 0x24, 0xd3, 0x85, 0xee, 0x68, 0x4c, 0x92, + 0x93, 0xa0, 0xe8, 0xe5, 0xc0, 0xfb, 0x2f, 0x9a, 0x5a, 0xaf, 0xad, 0x9c, 0x57, 0xfb, 0x2f, 0x63, + 0xe4, 0xe0, 0x73, 0x65, 0x30, 0x39, 0x6f, 0x5b, 0x7a, 0xbb, 0xa5, 0x3b, 0x2e, 0xfc, 0x8e, 0x04, + 0xa6, 0xd7, 0xf4, 0xfd, 0x8e, 0xa5, 0xb7, 0xb1, 0x7f, 0x7f, 0x4f, 0x5f, 0xd0, 0x25, 0x9f, 0xfc, + 0xbe, 0x80, 0xbe, 0xf2, 0x07, 0x03, 0x83, 0xa3, 0x7b, 0x19, 0x91, 0xeb, 0x1a, 0x83, 0x6d, 0x3e, + 0xa9, 0x5f, 0xb0, 0x52, 0x9f, 0xaf, 0x39, 0x96, 0xa7, 0x08, 0x8b, 0xf2, 0x3d, 0x62, 0xe1, 0x47, + 0x45, 0x48, 0x1e, 0xcd, 0xae, 0xfc, 0xf3, 0x0a, 0x20, 0xbf, 0x80, 0xb0, 0x15, 0xf7, 0xdf, 0x24, + 0x30, 0x51, 0x47, 0x2e, 0xb6, 0xe0, 0x6e, 0xe3, 0x3c, 0x85, 0xdb, 0x38, 0x43, 0xe8, 0xc4, 0xee, + 0xbf, 0x7b, 0x93, 0x75, 0xe6, 0xbc, 0x35, 0x7e, 0x4e, 0xe0, 0x91, 0x48, 0xca, 0x9d, 0xa3, 0x65, + 0x1e, 0xca, 0x23, 0x31, 0x96, 0x54, 0xfa, 0xbe, 0x56, 0x6f, 0x91, 0xa8, 0x6b, 0x15, 0xd3, 0xeb, + 0xfd, 0x2e, 0xab, 0x9f, 0xb1, 0xde, 0x66, 0x94, 0xf9, 0x18, 0xe7, 0xa8, 0x27, 0x81, 0x09, 0x22, + 0x73, 0x7f, 0x3e, 0xda, 0xeb, 0xa7, 0x40, 0x48, 0xe0, 0xb3, 0xd7, 0x7e, 0x4e, 0x41, 0x17, 0xb5, + 0xe8, 0xc2, 0xc7, 0x12, 0x83, 0x60, 0xba, 0x8a, 0xdc, 0x4b, 0x96, 0x7d, 0xb1, 0xee, 0xea, 0x2e, + 0x82, 0xff, 0x2e, 0x01, 0xb9, 0x8e, 0x5c, 0x36, 0xfa, 0x49, 0x15, 0x9c, 0x20, 0x15, 0xa2, 0x19, + 0x71, 0xff, 0x4d, 0x2a, 0x72, 0x4d, 0x5f, 0x21, 0x30, 0xf9, 0xb4, 0x83, 0xbf, 0xc2, 0xdf, 0xe8, + 0x1b, 0xf4, 0x49, 0xea, 0x33, 0x69, 0xa0, 0x92, 0x61, 0x19, 0xf4, 0x14, 0x2c, 0x42, 0x4f, 0xdf, + 0x2b, 0x64, 0x56, 0x8b, 0xd1, 0x3c, 0x9a, 0xae, 0xe0, 0x91, 0xab, 0x40, 0xb6, 0xbc, 0xad, 0xbb, + 0xf0, 0xcd, 0x32, 0x00, 0xa5, 0x76, 0x7b, 0x95, 0xf8, 0x80, 0xb3, 0x0e, 0x69, 0xe7, 0xc0, 0x74, + 0x6b, 0x5b, 0x0f, 0x6f, 0xce, 0x20, 0xfd, 0x01, 0x97, 0xa6, 0x3c, 0x39, 0x74, 0x26, 0x27, 0x52, + 0x85, 0x3d, 0x30, 0x79, 0x65, 0x50, 0xda, 0x81, 0xa3, 0x39, 0x1f, 0x0a, 0x33, 0xf6, 0x08, 0x9d, + 0xf7, 0xfb, 0x5c, 0xc8, 0x5e, 0xf4, 0x1c, 0x8e, 0x92, 0x0e, 0x0e, 0xd8, 0x84, 0x09, 0x09, 0x4f, + 0x7a, 0x8b, 0x05, 0xf4, 0x88, 0xe7, 0x6b, 0x2c, 0xa1, 0x6b, 0x15, 0xb5, 0x6d, 0xf8, 0xa2, 0xa5, + 0x01, 0xb3, 0xe0, 0x0b, 0x32, 0xc9, 0xe0, 0x8b, 0x17, 0xdc, 0xdd, 0x60, 0x06, 0xb5, 0x0d, 0x17, + 0xf9, 0xb5, 0xa4, 0x02, 0x8c, 0x83, 0x98, 0xff, 0x01, 0x3e, 0x47, 0x38, 0xe8, 0x1a, 0x16, 0xe8, + 0xc1, 0x1a, 0x45, 0xb4, 0x3f, 0xb1, 0x30, 0x6a, 0x62, 0x34, 0xd3, 0x07, 0xeb, 0xe7, 0x64, 0x70, + 0xaa, 0x61, 0x6d, 0x6d, 0x75, 0x90, 0x2f, 0x26, 0x44, 0xbc, 0x33, 0xa1, 0x3e, 0x4a, 0xb8, 0xf0, + 0x4e, 0x90, 0x75, 0xbf, 0x11, 0x1c, 0x25, 0xf3, 0x5e, 0xf8, 0x13, 0x53, 0xb1, 0xb3, 0x28, 0x2c, + 0xae, 0xbe, 0x7c, 0x46, 0xa0, 0x20, 0x16, 0xf0, 0x59, 0x98, 0x6c, 0xfa, 0x40, 0x7c, 0x56, 0x02, + 0x33, 0xe4, 0x5e, 0x44, 0x5f, 0x41, 0xef, 0x1d, 0x21, 0x00, 0xf0, 0x3b, 0x19, 0x51, 0x3f, 0x5b, + 0x2c, 0x13, 0x8e, 0x93, 0x08, 0x11, 0x8b, 0x05, 0x55, 0x19, 0x48, 0x2e, 0x7d, 0xd1, 0xfe, 0xb9, + 0x0c, 0xa6, 0x96, 0x90, 0xdf, 0xd2, 0x9c, 0xc4, 0x3d, 0xd1, 0x39, 0x30, 0x8d, 0x2f, 0x07, 0xab, + 0xd1, 0x63, 0x92, 0x64, 0xd5, 0x8c, 0x4b, 0x53, 0xae, 0x03, 0x33, 0x1b, 0x68, 0xd3, 0xb2, 0x51, + 0x8d, 0x3b, 0x4b, 0xc9, 0x27, 0x46, 0x84, 0xa7, 0xe3, 0xe2, 0xa0, 0xcd, 0xf3, 0xd8, 0xdc, 0x74, + 0x50, 0x98, 0x4c, 0x55, 0x22, 0xc6, 0x9c, 0xa7, 0x80, 0x02, 0x45, 0xde, 0x37, 0xd3, 0xe2, 0xfa, + 0xc5, 0x20, 0x2f, 0xfc, 0xbd, 0x00, 0x51, 0x95, 0x43, 0xf4, 0x96, 0x24, 0x4c, 0x8c, 0xe5, 0xf6, + 0xf0, 0x22, 0x53, 0xfe, 0xfc, 0x7e, 0xa5, 0xed, 0xc0, 0xd5, 0x64, 0x98, 0x9e, 0x05, 0x20, 0x68, + 0x1c, 0x7e, 0x58, 0x0b, 0x26, 0x85, 0x8f, 0x5c, 0x1f, 0x7b, 0x50, 0xaf, 0x57, 0x1c, 0x98, 0x9d, + 0x11, 0x03, 0x23, 0x76, 0xc0, 0x4f, 0x84, 0x93, 0xf4, 0xd1, 0xf9, 0x8a, 0x0c, 0x4e, 0x05, 0xe7, + 0x8f, 0x56, 0x74, 0x27, 0x6c, 0x77, 0xf7, 0x25, 0x83, 0x88, 0x3b, 0xf0, 0xe1, 0x37, 0x16, 0x2f, + 0xd5, 0xd9, 0xdd, 0x08, 0xdc, 0xf4, 0xc8, 0x0b, 0xfc, 0x46, 0xb2, 0x91, 0xa4, 0x2f, 0x7f, 0xa3, + 0xc5, 0x4c, 0xb9, 0x09, 0x9c, 0x30, 0x77, 0x77, 0x02, 0x2c, 0x70, 0x3f, 0x40, 0xdb, 0xfd, 0xc1, + 0x0f, 0x49, 0xc6, 0x2b, 0x11, 0xe6, 0xd3, 0x87, 0xf9, 0xa3, 0x3d, 0x07, 0xbd, 0xca, 0x89, 0xc1, + 0x25, 0x30, 0x4a, 0x2c, 0x8c, 0xff, 0x9a, 0x49, 0xd4, 0x13, 0x0e, 0x3e, 0x1f, 0x96, 0xa0, 0x47, + 0x3b, 0xca, 0xc3, 0x61, 0x9f, 0x92, 0x00, 0xac, 0x87, 0x6e, 0x2f, 0x14, 0xd4, 0x35, 0x1b, 0xed, + 0x19, 0xe8, 0x12, 0xe7, 0x24, 0xf5, 0x6a, 0xe1, 0x68, 0xcf, 0xbc, 0xae, 0x1c, 0x20, 0x1a, 0xbd, + 0xfa, 0xdc, 0x07, 0x17, 0xb1, 0xa8, 0xce, 0xc9, 0x4a, 0x4c, 0x5d, 0xaa, 0xe7, 0x26, 0x40, 0x4e, + 0xdd, 0xe9, 0xba, 0xfb, 0xe7, 0x1e, 0x0b, 0x66, 0xea, 0xae, 0x8d, 0xf4, 0x1d, 0x66, 0x6f, 0xc6, + 0xb5, 0x2e, 0x22, 0xd3, 0xdf, 0x9b, 0xc1, 0x2f, 0xb7, 0xdf, 0x06, 0x26, 0x4c, 0xab, 0xa9, 0xef, + 0xba, 0xdb, 0xca, 0xd5, 0x07, 0x82, 0x1a, 0xd0, 0xca, 0xd4, 0x68, 0x14, 0xa9, 0x2f, 0xdd, 0x81, + 0x57, 0xe7, 0xf3, 0xa6, 0x55, 0xda, 0x75, 0xb7, 0xe7, 0xaf, 0xfa, 0xf0, 0xdf, 0x9f, 0xcd, 0x7c, + 0xe2, 0xef, 0xcf, 0x66, 0xbe, 0xf8, 0xf7, 0x67, 0x33, 0xbf, 0xfc, 0xe5, 0xb3, 0xc7, 0x3e, 0xf1, + 0xe5, 0xb3, 0xc7, 0x3e, 0xfb, 0xe5, 0xb3, 0xc7, 0x7e, 0x5c, 0xea, 0x6e, 0x6c, 0xe4, 0x31, 0x95, + 0x27, 0xfd, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xaf, 0xb6, 0x29, 0xdd, 0x01, 0x16, 0x02, 0x00, } func (m *Rpc) Marshal() (dAtA []byte, err error) { @@ -120519,6 +120757,13 @@ func (m *RpcChatSubscribeLastMessagesRequest) MarshalToSizedBuffer(dAtA []byte) _ = i var l int _ = l + if len(m.SubId) > 0 { + i -= len(m.SubId) + copy(dAtA[i:], m.SubId) + i = encodeVarintCommands(dAtA, i, uint64(len(m.SubId))) + i-- + dAtA[i] = 0x1a + } if m.Limit != 0 { i = encodeVarintCommands(dAtA, i, uint64(m.Limit)) i-- @@ -120666,6 +120911,13 @@ func (m *RpcChatUnsubscribeRequest) MarshalToSizedBuffer(dAtA []byte) (int, erro _ = i var l int _ = l + if len(m.SubId) > 0 { + i -= len(m.SubId) + copy(dAtA[i:], m.SubId) + i = encodeVarintCommands(dAtA, i, uint64(len(m.SubId))) + i-- + dAtA[i] = 0x12 + } if len(m.ChatObjectId) > 0 { i -= len(m.ChatObjectId) copy(dAtA[i:], m.ChatObjectId) @@ -120746,6 +120998,129 @@ func (m *RpcChatUnsubscribeResponseError) MarshalToSizedBuffer(dAtA []byte) (int return len(dAtA) - i, nil } +func (m *RpcChatSubscribeToMessagePreviews) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RpcChatSubscribeToMessagePreviews) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RpcChatSubscribeToMessagePreviews) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *RpcChatSubscribeToMessagePreviewsRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RpcChatSubscribeToMessagePreviewsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RpcChatSubscribeToMessagePreviewsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *RpcChatSubscribeToMessagePreviewsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RpcChatSubscribeToMessagePreviewsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RpcChatSubscribeToMessagePreviewsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.SubId) > 0 { + i -= len(m.SubId) + copy(dAtA[i:], m.SubId) + i = encodeVarintCommands(dAtA, i, uint64(len(m.SubId))) + i-- + dAtA[i] = 0x12 + } + if m.Error != nil { + { + size, err := m.Error.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintCommands(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *RpcChatSubscribeToMessagePreviewsResponseError) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RpcChatSubscribeToMessagePreviewsResponseError) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RpcChatSubscribeToMessagePreviewsResponseError) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Description) > 0 { + i -= len(m.Description) + copy(dAtA[i:], m.Description) + i = encodeVarintCommands(dAtA, i, uint64(len(m.Description))) + i-- + dAtA[i] = 0x12 + } + if m.Code != 0 { + i = encodeVarintCommands(dAtA, i, uint64(m.Code)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *Empty) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -140237,6 +140612,10 @@ func (m *RpcChatSubscribeLastMessagesRequest) Size() (n int) { if m.Limit != 0 { n += 1 + sovCommands(uint64(m.Limit)) } + l = len(m.SubId) + if l > 0 { + n += 1 + l + sovCommands(uint64(l)) + } return n } @@ -140297,6 +140676,10 @@ func (m *RpcChatUnsubscribeRequest) Size() (n int) { if l > 0 { n += 1 + l + sovCommands(uint64(l)) } + l = len(m.SubId) + if l > 0 { + n += 1 + l + sovCommands(uint64(l)) + } return n } @@ -140329,6 +140712,57 @@ func (m *RpcChatUnsubscribeResponseError) Size() (n int) { return n } +func (m *RpcChatSubscribeToMessagePreviews) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *RpcChatSubscribeToMessagePreviewsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *RpcChatSubscribeToMessagePreviewsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Error != nil { + l = m.Error.Size() + n += 1 + l + sovCommands(uint64(l)) + } + l = len(m.SubId) + if l > 0 { + n += 1 + l + sovCommands(uint64(l)) + } + return n +} + +func (m *RpcChatSubscribeToMessagePreviewsResponseError) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Code != 0 { + n += 1 + sovCommands(uint64(m.Code)) + } + l = len(m.Description) + if l > 0 { + n += 1 + l + sovCommands(uint64(l)) + } + return n +} + func (m *Empty) Size() (n int) { if m == nil { return 0 @@ -264362,6 +264796,38 @@ func (m *RpcChatSubscribeLastMessagesRequest) Unmarshal(dAtA []byte) error { break } } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SubId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthCommands + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCommands + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SubId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipCommands(dAtA[iNdEx:]) @@ -264734,6 +265200,38 @@ func (m *RpcChatUnsubscribeRequest) Unmarshal(dAtA []byte) error { } m.ChatObjectId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SubId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthCommands + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCommands + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SubId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipCommands(dAtA[iNdEx:]) @@ -264942,6 +265440,325 @@ func (m *RpcChatUnsubscribeResponseError) Unmarshal(dAtA []byte) error { } return nil } +func (m *RpcChatSubscribeToMessagePreviews) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: SubscribeToMessagePreviews: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SubscribeToMessagePreviews: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipCommands(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCommands + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RpcChatSubscribeToMessagePreviewsRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Request: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipCommands(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCommands + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RpcChatSubscribeToMessagePreviewsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Response: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Response: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Error", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthCommands + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCommands + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Error == nil { + m.Error = &RpcChatSubscribeToMessagePreviewsResponseError{} + } + if err := m.Error.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SubId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthCommands + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCommands + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SubId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipCommands(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCommands + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RpcChatSubscribeToMessagePreviewsResponseError) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Error: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Error: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType) + } + m.Code = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Code |= RpcChatSubscribeToMessagePreviewsResponseErrorCode(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCommands + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthCommands + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCommands + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Description = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipCommands(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCommands + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *Empty) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/pb/events.pb.go b/pb/events.pb.go index c0d64043a..bcda71dd4 100644 --- a/pb/events.pb.go +++ b/pb/events.pb.go @@ -1404,9 +1404,12 @@ func (m *EventChat) XXX_DiscardUnknown() { var xxx_messageInfo_EventChat proto.InternalMessageInfo type EventChatAdd struct { - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - OrderId string `protobuf:"bytes,2,opt,name=orderId,proto3" json:"orderId,omitempty"` - Message *model.ChatMessage `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + OrderId string `protobuf:"bytes,2,opt,name=orderId,proto3" json:"orderId,omitempty"` + AfterOrderId string `protobuf:"bytes,6,opt,name=afterOrderId,proto3" json:"afterOrderId,omitempty"` + Message *model.ChatMessage `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + SubIds []string `protobuf:"bytes,4,rep,name=subIds,proto3" json:"subIds,omitempty"` + Dependencies []*types.Struct `protobuf:"bytes,5,rep,name=dependencies,proto3" json:"dependencies,omitempty"` } func (m *EventChatAdd) Reset() { *m = EventChatAdd{} } @@ -1456,6 +1459,13 @@ func (m *EventChatAdd) GetOrderId() string { return "" } +func (m *EventChatAdd) GetAfterOrderId() string { + if m != nil { + return m.AfterOrderId + } + return "" +} + func (m *EventChatAdd) GetMessage() *model.ChatMessage { if m != nil { return m.Message @@ -1463,8 +1473,23 @@ func (m *EventChatAdd) GetMessage() *model.ChatMessage { return nil } +func (m *EventChatAdd) GetSubIds() []string { + if m != nil { + return m.SubIds + } + return nil +} + +func (m *EventChatAdd) GetDependencies() []*types.Struct { + if m != nil { + return m.Dependencies + } + return nil +} + type EventChatDelete struct { - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + SubIds []string `protobuf:"bytes,2,rep,name=subIds,proto3" json:"subIds,omitempty"` } func (m *EventChatDelete) Reset() { *m = EventChatDelete{} } @@ -1507,9 +1532,17 @@ func (m *EventChatDelete) GetId() string { return "" } +func (m *EventChatDelete) GetSubIds() []string { + if m != nil { + return m.SubIds + } + return nil +} + type EventChatUpdate struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Message *model.ChatMessage `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + SubIds []string `protobuf:"bytes,3,rep,name=subIds,proto3" json:"subIds,omitempty"` } func (m *EventChatUpdate) Reset() { *m = EventChatUpdate{} } @@ -1559,9 +1592,17 @@ func (m *EventChatUpdate) GetMessage() *model.ChatMessage { return nil } +func (m *EventChatUpdate) GetSubIds() []string { + if m != nil { + return m.SubIds + } + return nil +} + type EventChatUpdateReactions struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Reactions *model.ChatMessageReactions `protobuf:"bytes,2,opt,name=reactions,proto3" json:"reactions,omitempty"` + SubIds []string `protobuf:"bytes,3,rep,name=subIds,proto3" json:"subIds,omitempty"` } func (m *EventChatUpdateReactions) Reset() { *m = EventChatUpdateReactions{} } @@ -1611,6 +1652,13 @@ func (m *EventChatUpdateReactions) GetReactions() *model.ChatMessageReactions { return nil } +func (m *EventChatUpdateReactions) GetSubIds() []string { + if m != nil { + return m.SubIds + } + return nil +} + type EventAccount struct { } @@ -12334,395 +12382,399 @@ func init() { func init() { proto.RegisterFile("pb/protos/events.proto", fileDescriptor_a966342d378ae5f5) } var fileDescriptor_a966342d378ae5f5 = []byte{ - // 6206 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x4b, 0x8c, 0x1c, 0xc7, - 0x79, 0xff, 0xbc, 0x1f, 0xdf, 0x92, 0xcb, 0x61, 0x91, 0xa2, 0x5a, 0x2d, 0x8a, 0xa2, 0x56, 0x24, - 0x45, 0x4b, 0xd4, 0x50, 0x22, 0x29, 0x52, 0xa6, 0xc5, 0xc7, 0xbe, 0xa8, 0x19, 0x3e, 0x96, 0xeb, - 0x5a, 0x92, 0x96, 0x65, 0xe3, 0x0f, 0xf7, 0x4e, 0xd7, 0xce, 0xb6, 0x39, 0xdb, 0x3d, 0xee, 0xee, - 0x5d, 0x72, 0x6d, 0xff, 0x1d, 0xc7, 0x76, 0x10, 0x04, 0x48, 0x90, 0x1c, 0x82, 0x24, 0xf0, 0x25, - 0x40, 0x10, 0x03, 0x39, 0x04, 0x41, 0x80, 0x5c, 0x92, 0x8b, 0x63, 0x20, 0x08, 0x12, 0xe7, 0x01, - 0xd8, 0xb7, 0x5c, 0x02, 0x1b, 0xf2, 0x25, 0x87, 0xe4, 0xe0, 0x04, 0x08, 0x72, 0x0c, 0xea, 0xd1, - 0xd5, 0x55, 0xfd, 0x98, 0x9e, 0xb1, 0xe4, 0x3c, 0x10, 0x9d, 0x76, 0xaa, 0xfa, 0xfb, 0x7e, 0x5f, - 0x3d, 0xbe, 0xef, 0xab, 0xaa, 0xaf, 0x1e, 0x0b, 0xc7, 0xc6, 0x9b, 0xe7, 0xc7, 0xbe, 0x17, 0x7a, - 0xc1, 0x79, 0xb2, 0x47, 0xdc, 0x30, 0xe8, 0xb2, 0x14, 0x6a, 0x5a, 0xee, 0x7e, 0xb8, 0x3f, 0x26, - 0xe6, 0xa9, 0xf1, 0xe3, 0xe1, 0xf9, 0x91, 0xb3, 0x79, 0x7e, 0xbc, 0x79, 0x7e, 0xc7, 0xb3, 0xc9, - 0x28, 0x22, 0x67, 0x09, 0x41, 0x6e, 0x1e, 0x1f, 0x7a, 0xde, 0x70, 0x44, 0xf8, 0xb7, 0xcd, 0xdd, - 0xad, 0xf3, 0x41, 0xe8, 0xef, 0x0e, 0x42, 0xfe, 0x75, 0xe1, 0xdb, 0xdf, 0x2b, 0x43, 0x7d, 0x95, - 0xc2, 0xa3, 0x0b, 0xd0, 0xda, 0x21, 0x41, 0x60, 0x0d, 0x49, 0x60, 0x94, 0x4f, 0x56, 0xcf, 0xce, - 0x5d, 0x38, 0xd6, 0x15, 0xa2, 0xba, 0x8c, 0xa2, 0x7b, 0x8f, 0x7f, 0xc6, 0x92, 0x0e, 0x1d, 0x87, - 0xf6, 0xc0, 0x73, 0x43, 0xf2, 0x34, 0xec, 0xdb, 0x46, 0xe5, 0x64, 0xf9, 0x6c, 0x1b, 0xc7, 0x19, - 0xe8, 0x12, 0xb4, 0x1d, 0xd7, 0x09, 0x1d, 0x2b, 0xf4, 0x7c, 0xa3, 0x7a, 0xb2, 0xac, 0x41, 0xb2, - 0x42, 0x76, 0x17, 0x07, 0x03, 0x6f, 0xd7, 0x0d, 0x71, 0x4c, 0x88, 0x0c, 0x68, 0x86, 0xbe, 0x35, - 0x20, 0x7d, 0xdb, 0xa8, 0x31, 0xc4, 0x28, 0x69, 0x7e, 0xff, 0x4d, 0x68, 0x8a, 0x32, 0xa0, 0xe7, - 0xa0, 0x19, 0x8c, 0x39, 0xd5, 0xb7, 0xca, 0x9c, 0x4c, 0xa4, 0xd1, 0x0d, 0x98, 0xb3, 0x38, 0xec, - 0xc6, 0xb6, 0xf7, 0xc4, 0x28, 0x33, 0xc1, 0xcf, 0x27, 0xea, 0x22, 0x04, 0x77, 0x29, 0x49, 0xaf, - 0x84, 0x55, 0x0e, 0xd4, 0x87, 0x79, 0x91, 0x5c, 0x21, 0xa1, 0xe5, 0x8c, 0x02, 0xe3, 0xfb, 0x1c, - 0xe4, 0x44, 0x0e, 0x88, 0x20, 0xeb, 0x95, 0x70, 0x82, 0x11, 0x7d, 0x16, 0x8e, 0x88, 0x9c, 0x65, - 0xcf, 0xdd, 0x72, 0x86, 0x0f, 0xc7, 0xb6, 0x15, 0x12, 0xe3, 0x6f, 0x38, 0xde, 0xa9, 0x1c, 0x3c, - 0x4e, 0xdb, 0xe5, 0xc4, 0xbd, 0x12, 0xce, 0xc2, 0x40, 0xb7, 0xe0, 0xa0, 0xc8, 0x16, 0xa0, 0x7f, - 0xcb, 0x41, 0x5f, 0xc8, 0x01, 0x95, 0x68, 0x3a, 0x1b, 0xfa, 0x1c, 0x1c, 0x15, 0x19, 0x77, 0x1d, - 0xf7, 0xf1, 0xf2, 0xb6, 0x35, 0x1a, 0x11, 0x77, 0x48, 0x8c, 0xbf, 0x9b, 0x5c, 0x46, 0x8d, 0xb8, - 0x57, 0xc2, 0x99, 0x20, 0x68, 0x08, 0x46, 0x56, 0x7e, 0xcf, 0xb1, 0x89, 0xf1, 0xf7, 0x5c, 0xc0, - 0xd9, 0xa9, 0x04, 0x38, 0x36, 0x15, 0x92, 0x0b, 0x86, 0xee, 0x43, 0xc7, 0xdb, 0xfc, 0x22, 0x19, - 0x44, 0x2d, 0xbf, 0x41, 0x42, 0xa3, 0xc3, 0xf0, 0x5f, 0x4a, 0xe0, 0xdf, 0x67, 0x64, 0x51, 0x9f, - 0x75, 0x37, 0x48, 0xd8, 0x2b, 0xe1, 0x14, 0x33, 0x7a, 0x08, 0x48, 0xcb, 0x5b, 0xdc, 0x21, 0xae, - 0x6d, 0x5c, 0x60, 0x90, 0x2f, 0x4f, 0x86, 0x64, 0xa4, 0xbd, 0x12, 0xce, 0x00, 0x48, 0xc1, 0x3e, - 0x74, 0x03, 0x12, 0x1a, 0x17, 0xa7, 0x81, 0x65, 0xa4, 0x29, 0x58, 0x96, 0x4b, 0x3b, 0x91, 0xe7, - 0x62, 0x32, 0xb2, 0x42, 0xc7, 0x73, 0x45, 0x79, 0x2f, 0x31, 0xe0, 0xd3, 0xd9, 0xc0, 0x92, 0x56, - 0x96, 0x38, 0x13, 0x04, 0xfd, 0x3f, 0x78, 0x26, 0x91, 0x8f, 0xc9, 0x8e, 0xb7, 0x47, 0x8c, 0xb7, - 0x18, 0xfa, 0x99, 0x22, 0x74, 0x4e, 0xdd, 0x2b, 0xe1, 0x6c, 0x18, 0xb4, 0x04, 0x07, 0xa2, 0x0f, - 0x0c, 0xf6, 0x32, 0x83, 0x3d, 0x9e, 0x07, 0x2b, 0xc0, 0x34, 0x1e, 0x6a, 0xf4, 0x3c, 0xbd, 0x3c, - 0xf2, 0x02, 0x62, 0x2c, 0x66, 0x1a, 0xbd, 0x80, 0x60, 0x24, 0xd4, 0xe8, 0x15, 0x0e, 0xb5, 0x92, - 0x41, 0xe8, 0x3b, 0x03, 0x56, 0x40, 0xaa, 0x45, 0x57, 0x26, 0x57, 0x32, 0x26, 0x16, 0xaa, 0x94, - 0x0d, 0x83, 0x30, 0x1c, 0x0a, 0x76, 0x37, 0x83, 0x81, 0xef, 0x8c, 0x69, 0xde, 0xa2, 0x6d, 0x1b, - 0xef, 0x4c, 0x42, 0xde, 0x50, 0x88, 0xbb, 0x8b, 0x36, 0xed, 0x9d, 0x24, 0x00, 0xfa, 0x1c, 0x20, - 0x35, 0x4b, 0x34, 0xdf, 0x35, 0x06, 0xfb, 0x89, 0x29, 0x60, 0x65, 0x5b, 0x66, 0xc0, 0x20, 0x0b, - 0x8e, 0xaa, 0xb9, 0xeb, 0x5e, 0xe0, 0xd0, 0xbf, 0xc6, 0x75, 0x06, 0xff, 0xda, 0x14, 0xf0, 0x11, - 0x0b, 0x55, 0xac, 0x2c, 0xa8, 0xa4, 0x88, 0x65, 0x6a, 0xda, 0xc4, 0x0f, 0x8c, 0x1b, 0x53, 0x8b, - 0x88, 0x58, 0x92, 0x22, 0xa2, 0xfc, 0x64, 0x13, 0xbd, 0xeb, 0x7b, 0xbb, 0xe3, 0xc0, 0xb8, 0x39, - 0x75, 0x13, 0x71, 0x86, 0x64, 0x13, 0xf1, 0x5c, 0x74, 0x19, 0x5a, 0x9b, 0x23, 0x6f, 0xf0, 0x98, - 0x76, 0x66, 0x85, 0x41, 0x1a, 0x09, 0xc8, 0x25, 0xfa, 0x59, 0x74, 0x9f, 0xa4, 0xa5, 0xca, 0xca, - 0x7e, 0xaf, 0x90, 0x11, 0x09, 0x89, 0x18, 0x1a, 0x9f, 0xcf, 0x64, 0xe5, 0x24, 0x54, 0x59, 0x15, - 0x0e, 0xb4, 0x02, 0x73, 0x5b, 0xce, 0x88, 0x04, 0x0f, 0xc7, 0x23, 0xcf, 0xe2, 0xe3, 0xe4, 0xdc, - 0x85, 0x93, 0x99, 0x00, 0xb7, 0x62, 0x3a, 0x8a, 0xa2, 0xb0, 0xa1, 0xeb, 0xd0, 0xde, 0xb1, 0xfc, - 0xc7, 0x41, 0xdf, 0xdd, 0xf2, 0x8c, 0x7a, 0xe6, 0x08, 0xc7, 0x31, 0xee, 0x45, 0x54, 0xbd, 0x12, - 0x8e, 0x59, 0xe8, 0x38, 0xc9, 0x0a, 0xb5, 0x41, 0xc2, 0x5b, 0x0e, 0x19, 0xd9, 0x81, 0xd1, 0x60, - 0x20, 0x2f, 0x66, 0x82, 0x6c, 0x90, 0xb0, 0xcb, 0xc9, 0xe8, 0x38, 0xa9, 0x33, 0xa2, 0xf7, 0xe0, - 0x48, 0x94, 0xb3, 0xbc, 0xed, 0x8c, 0x6c, 0x9f, 0xb8, 0x7d, 0x3b, 0x30, 0x9a, 0x99, 0x43, 0x50, - 0x8c, 0xa7, 0xd0, 0xd2, 0x61, 0x32, 0x03, 0x82, 0x7a, 0xc6, 0x28, 0x5b, 0x35, 0x49, 0xa3, 0x95, - 0xe9, 0x19, 0x63, 0x68, 0x95, 0x98, 0x6a, 0x57, 0x16, 0x08, 0xb2, 0xe1, 0xd9, 0x28, 0x7f, 0xc9, - 0x1a, 0x3c, 0x1e, 0xfa, 0xde, 0xae, 0x6b, 0x2f, 0x7b, 0x23, 0xcf, 0x37, 0xda, 0x99, 0x83, 0x5b, - 0x8c, 0x9f, 0xa0, 0xef, 0x95, 0x70, 0x1e, 0x14, 0x5a, 0x86, 0x03, 0xd1, 0xa7, 0x07, 0xe4, 0x69, - 0x68, 0x40, 0xe6, 0x38, 0x1f, 0x43, 0x53, 0x22, 0xea, 0x20, 0x55, 0x26, 0x15, 0x84, 0xaa, 0x84, - 0x31, 0x57, 0x00, 0x42, 0x89, 0x54, 0x10, 0x9a, 0x56, 0x41, 0xe8, 0x10, 0x6c, 0x1c, 0x2c, 0x00, - 0xa1, 0x44, 0x2a, 0x08, 0x4d, 0xd3, 0xa1, 0x5a, 0xd6, 0xd4, 0xf3, 0x1e, 0x53, 0x7d, 0x32, 0xe6, - 0x33, 0x87, 0x6a, 0xa5, 0xb5, 0x04, 0x21, 0x1d, 0xaa, 0x93, 0xcc, 0x74, 0x26, 0x14, 0xe5, 0x2d, - 0x8e, 0x9c, 0xa1, 0x6b, 0x1c, 0x9a, 0xa0, 0xcb, 0x14, 0x8d, 0x51, 0xd1, 0x99, 0x90, 0xc6, 0x86, - 0x6e, 0x0a, 0xb3, 0xdc, 0x20, 0xe1, 0x8a, 0xb3, 0x67, 0x1c, 0xce, 0x1c, 0x86, 0x62, 0x94, 0x15, - 0x67, 0x4f, 0xda, 0x25, 0x67, 0x51, 0xab, 0x16, 0x0d, 0x72, 0xc6, 0x33, 0x05, 0x55, 0x8b, 0x08, - 0xd5, 0xaa, 0x45, 0x79, 0x6a, 0xd5, 0xee, 0x5a, 0x21, 0x79, 0x6a, 0x3c, 0x57, 0x50, 0x35, 0x46, - 0xa5, 0x56, 0x8d, 0x65, 0xd0, 0xd1, 0x2d, 0xca, 0x78, 0x44, 0xfc, 0xd0, 0x19, 0x58, 0x23, 0xde, - 0x54, 0xa7, 0x32, 0xc7, 0xa0, 0x18, 0x4f, 0xa3, 0xa6, 0xa3, 0x5b, 0x26, 0x8c, 0x5a, 0xf1, 0x07, - 0xd6, 0xe6, 0x88, 0x60, 0xef, 0x89, 0x71, 0xba, 0xa0, 0xe2, 0x11, 0xa1, 0x5a, 0xf1, 0x28, 0x4f, - 0xf5, 0x2d, 0x9f, 0x71, 0xec, 0x21, 0x09, 0x8d, 0xb3, 0x05, 0xbe, 0x85, 0x93, 0xa9, 0xbe, 0x85, - 0xe7, 0x48, 0x0f, 0xb0, 0x62, 0x85, 0xd6, 0x9e, 0x43, 0x9e, 0x3c, 0x72, 0xc8, 0x13, 0x3a, 0xb0, - 0x1f, 0x99, 0xe0, 0x01, 0x22, 0xda, 0xae, 0x20, 0x96, 0x1e, 0x20, 0x01, 0x22, 0x3d, 0x80, 0x9a, - 0x2f, 0xdc, 0xfa, 0xd1, 0x09, 0x1e, 0x40, 0xc3, 0x97, 0x3e, 0x3e, 0x0f, 0x0a, 0x59, 0x70, 0x2c, - 0xf5, 0xe9, 0xbe, 0x6f, 0x13, 0xdf, 0x78, 0x81, 0x09, 0x79, 0xa5, 0x58, 0x08, 0x23, 0xef, 0x95, - 0x70, 0x0e, 0x50, 0x4a, 0xc4, 0x86, 0xb7, 0xeb, 0x0f, 0x08, 0x6d, 0xa7, 0x97, 0xa7, 0x11, 0x21, - 0xc9, 0x53, 0x22, 0xe4, 0x17, 0xb4, 0x07, 0x2f, 0xc8, 0x2f, 0x54, 0x30, 0x1b, 0x45, 0x99, 0x74, - 0xb1, 0x82, 0x39, 0xc3, 0x24, 0x75, 0x27, 0x4b, 0x4a, 0x72, 0xf5, 0x4a, 0x78, 0x32, 0x2c, 0xda, - 0x87, 0x13, 0x1a, 0x01, 0x1f, 0xe7, 0x55, 0xc1, 0xaf, 0x30, 0xc1, 0xe7, 0x27, 0x0b, 0x4e, 0xb1, - 0xf5, 0x4a, 0xb8, 0x00, 0x18, 0x8d, 0xe1, 0x79, 0xad, 0x31, 0x22, 0xc3, 0x16, 0x2a, 0xf2, 0x55, - 0x26, 0xf7, 0xdc, 0x64, 0xb9, 0x3a, 0x4f, 0xaf, 0x84, 0x27, 0x41, 0xd2, 0x15, 0x57, 0xe6, 0x67, - 0xda, 0x93, 0x5f, 0xc9, 0x9c, 0xf6, 0xe4, 0x88, 0xe3, 0x7d, 0x99, 0x0b, 0x96, 0xa9, 0xf9, 0xa2, - 0x39, 0xff, 0xff, 0xb4, 0x9a, 0x2f, 0xdb, 0x31, 0x0f, 0x4a, 0xeb, 0x3b, 0xfa, 0xe9, 0x81, 0xe5, - 0x0f, 0x49, 0xc8, 0x1b, 0xba, 0x6f, 0xd3, 0x4a, 0x7d, 0x6d, 0x9a, 0xbe, 0x4b, 0xb1, 0x69, 0x7d, - 0x97, 0x09, 0x8c, 0x02, 0x38, 0xae, 0x51, 0xf4, 0x83, 0x65, 0x6f, 0x34, 0x22, 0x83, 0xa8, 0x35, - 0x7f, 0x81, 0x09, 0x7e, 0x7d, 0xb2, 0xe0, 0x04, 0x53, 0xaf, 0x84, 0x27, 0x82, 0xa6, 0xea, 0x7b, - 0x7f, 0x64, 0x27, 0x74, 0xc6, 0x98, 0x4a, 0x57, 0x93, 0x6c, 0xa9, 0xfa, 0xa6, 0x28, 0x52, 0xba, - 0xaa, 0x50, 0xd0, 0xea, 0x3e, 0x3b, 0x8d, 0xae, 0xea, 0x3c, 0x29, 0x5d, 0xd5, 0x3f, 0xd3, 0xd1, - 0x6d, 0x37, 0x20, 0x3e, 0xc3, 0xb8, 0xed, 0x39, 0xae, 0xf1, 0x62, 0xe6, 0xe8, 0xf6, 0x30, 0x20, - 0xbe, 0x10, 0x44, 0xa9, 0xe8, 0xe8, 0xa6, 0xb1, 0x69, 0x38, 0x77, 0xc9, 0x56, 0x68, 0x9c, 0x2c, - 0xc2, 0xa1, 0x54, 0x1a, 0x0e, 0xcd, 0xa0, 0x23, 0x85, 0xcc, 0xd8, 0x20, 0xb4, 0x57, 0xb0, 0xe5, - 0x0e, 0x89, 0xf1, 0x52, 0xe6, 0x48, 0xa1, 0xc0, 0x29, 0xc4, 0x74, 0xa4, 0xc8, 0x02, 0xa1, 0x2b, - 0x7f, 0x99, 0x4f, 0x67, 0x64, 0x1c, 0x7a, 0x21, 0x73, 0xe5, 0xaf, 0x40, 0x4b, 0x52, 0xba, 0x06, - 0x49, 0x03, 0xa0, 0x4f, 0x40, 0x6d, 0xec, 0xb8, 0x43, 0xc3, 0x66, 0x40, 0x47, 0x12, 0x40, 0xeb, - 0x8e, 0x3b, 0xec, 0x95, 0x30, 0x23, 0x41, 0xef, 0x00, 0x8c, 0x7d, 0x6f, 0x40, 0x82, 0x60, 0x8d, - 0x3c, 0x31, 0x08, 0x63, 0x30, 0x93, 0x0c, 0x9c, 0xa0, 0xbb, 0x46, 0xe8, 0xb8, 0xac, 0xd0, 0xa3, - 0x55, 0x38, 0x28, 0x52, 0xc2, 0xca, 0xb7, 0x32, 0x27, 0x7f, 0x11, 0x40, 0x1c, 0x6e, 0xd2, 0xb8, - 0xe8, 0xda, 0x47, 0x64, 0xac, 0x78, 0x2e, 0x31, 0x86, 0x99, 0x6b, 0x9f, 0x08, 0x84, 0x92, 0xd0, - 0x39, 0x96, 0xc2, 0x81, 0x96, 0xe0, 0x40, 0xb8, 0xed, 0x13, 0xcb, 0xde, 0x08, 0xad, 0x70, 0x37, - 0x30, 0xdc, 0xcc, 0x69, 0x1a, 0xff, 0xd8, 0x7d, 0xc0, 0x28, 0xe9, 0x14, 0x54, 0xe5, 0x41, 0x6b, - 0xd0, 0xa1, 0x0b, 0xa1, 0xbb, 0xce, 0x8e, 0x13, 0x62, 0x62, 0x0d, 0xb6, 0x89, 0x6d, 0x78, 0x99, - 0x8b, 0x28, 0x3a, 0xed, 0xed, 0xaa, 0x74, 0x74, 0xb6, 0x92, 0xe4, 0x45, 0x3d, 0x98, 0xa7, 0x79, - 0x1b, 0x63, 0x6b, 0x40, 0x1e, 0x06, 0xd6, 0x90, 0x18, 0xe3, 0x4c, 0x0d, 0x64, 0x68, 0x31, 0x15, - 0x9d, 0xac, 0xe8, 0x7c, 0x11, 0xd2, 0x5d, 0x6f, 0x60, 0x8d, 0x38, 0xd2, 0x97, 0xf2, 0x91, 0x62, - 0xaa, 0x08, 0x29, 0xce, 0xd1, 0xea, 0xc8, 0xdb, 0xde, 0x36, 0xf6, 0x0a, 0xea, 0x28, 0xe8, 0xb4, - 0x3a, 0x8a, 0x3c, 0x8a, 0xe7, 0x7a, 0xa1, 0xb3, 0xe5, 0x0c, 0x84, 0xfd, 0xba, 0xb6, 0xe1, 0x67, - 0xe2, 0xad, 0x29, 0x64, 0xdd, 0x0d, 0x1e, 0x59, 0x4a, 0xf1, 0xa2, 0x07, 0x80, 0xd4, 0x3c, 0xa1, - 0x54, 0x01, 0x43, 0x5c, 0x98, 0x84, 0x28, 0x35, 0x2b, 0x83, 0x9f, 0x96, 0x72, 0x6c, 0xed, 0xd3, - 0xe5, 0xed, 0x92, 0xef, 0x59, 0xf6, 0xc0, 0x0a, 0x42, 0x23, 0xcc, 0x2c, 0xe5, 0x3a, 0x27, 0xeb, - 0x4a, 0x3a, 0x5a, 0xca, 0x24, 0x2f, 0xc5, 0xdb, 0x21, 0x3b, 0x9b, 0xc4, 0x0f, 0xb6, 0x9d, 0xb1, - 0x28, 0xe3, 0x6e, 0x26, 0xde, 0x3d, 0x49, 0x16, 0x97, 0x30, 0xc5, 0x4b, 0x27, 0xe2, 0x2c, 0x4e, - 0xbd, 0xb1, 0xef, 0x0e, 0xb8, 0x32, 0x0a, 0xd0, 0x27, 0x99, 0x13, 0x71, 0xa6, 0x19, 0xdd, 0x98, - 0x38, 0x86, 0xce, 0x86, 0x41, 0x77, 0xe0, 0xd0, 0xf8, 0xc2, 0x58, 0x43, 0x7e, 0x9a, 0x39, 0x71, - 0x5e, 0xbf, 0xb0, 0x9e, 0x84, 0x4c, 0x72, 0x52, 0x53, 0x73, 0x76, 0xc6, 0x9e, 0x1f, 0xde, 0x72, - 0x5c, 0x27, 0xd8, 0x36, 0xf6, 0x33, 0x4d, 0xad, 0xcf, 0x48, 0xba, 0x9c, 0x86, 0x9a, 0x9a, 0xca, - 0x83, 0x2e, 0x41, 0x73, 0xb0, 0x6d, 0x85, 0x8b, 0xb6, 0x6d, 0x7c, 0x9d, 0x07, 0x7c, 0x9f, 0x4d, - 0xf0, 0x2f, 0x6f, 0x5b, 0xa1, 0x08, 0x91, 0x44, 0xa4, 0xe8, 0x1a, 0x00, 0xfd, 0x29, 0x6a, 0xf0, - 0x8b, 0xe5, 0x4c, 0x5f, 0xc5, 0x18, 0x65, 0xe9, 0x15, 0x06, 0xf4, 0x1e, 0x1c, 0x89, 0x53, 0xd4, - 0x48, 0xf9, 0x9a, 0xff, 0x1b, 0xe5, 0x4c, 0x6f, 0xab, 0xe0, 0x48, 0xda, 0x5e, 0x09, 0x67, 0x41, - 0x44, 0x05, 0x13, 0x63, 0xf1, 0x37, 0x27, 0x14, 0x4c, 0x8e, 0xbb, 0x0a, 0xc3, 0x52, 0x13, 0xea, - 0x7b, 0xd6, 0x68, 0x97, 0x98, 0xdf, 0xad, 0x40, 0x8d, 0x92, 0x99, 0x04, 0xaa, 0xb4, 0xc2, 0xf3, - 0x50, 0x71, 0x6c, 0x83, 0xef, 0x64, 0x54, 0x1c, 0x1b, 0x19, 0xd0, 0xf4, 0xe8, 0x3c, 0x52, 0xee, - 0xab, 0x44, 0x49, 0xda, 0xa0, 0x62, 0xff, 0x45, 0x04, 0x8e, 0xcc, 0xc4, 0x9e, 0x0a, 0x85, 0x8d, - 0xb6, 0x6a, 0x22, 0x52, 0xd3, 0x80, 0x86, 0x18, 0xe6, 0x13, 0x92, 0xcc, 0x35, 0x68, 0x88, 0x56, - 0x4b, 0x96, 0x41, 0x91, 0x54, 0x99, 0x5e, 0x12, 0x81, 0x43, 0xc9, 0x46, 0x4b, 0x02, 0x2f, 0x41, - 0xdb, 0x97, 0x9d, 0x52, 0x49, 0xc4, 0x78, 0x52, 0xd0, 0x5d, 0x09, 0x84, 0x63, 0x36, 0xf3, 0x3b, - 0x0d, 0x68, 0x8a, 0xad, 0x02, 0x73, 0x0d, 0x6a, 0x6c, 0xe3, 0xe6, 0x28, 0xd4, 0x1d, 0xd7, 0x26, - 0x4f, 0x99, 0xa8, 0x3a, 0xe6, 0x09, 0xf4, 0x06, 0x34, 0xc5, 0xb6, 0x81, 0x90, 0x95, 0xb7, 0x09, - 0x15, 0x91, 0x99, 0xef, 0x43, 0x33, 0xda, 0xc0, 0x39, 0x0e, 0xed, 0xb1, 0xef, 0x51, 0x67, 0xd8, - 0x8f, 0x6a, 0x10, 0x67, 0xa0, 0x37, 0xa1, 0x69, 0x8b, 0x2d, 0xa2, 0x8a, 0xd0, 0x6d, 0xbe, 0xdd, - 0xd6, 0x8d, 0xb6, 0xdb, 0xba, 0x1b, 0x6c, 0xbb, 0x0d, 0x47, 0x74, 0xe6, 0xd7, 0xcb, 0xd0, 0xe0, - 0xfb, 0x38, 0xe6, 0x9e, 0x6c, 0xf9, 0xb7, 0xa0, 0x31, 0x60, 0x79, 0x46, 0x72, 0x0f, 0x47, 0x2b, - 0xa1, 0xd8, 0x18, 0xc2, 0x82, 0x98, 0xb2, 0x05, 0x7c, 0x10, 0xac, 0x4c, 0x64, 0xe3, 0x46, 0x8d, - 0x05, 0xf1, 0x7f, 0x9b, 0xdc, 0x3f, 0xaf, 0xc0, 0x41, 0x7d, 0x7b, 0xe8, 0x38, 0xb4, 0x07, 0x72, - 0xc3, 0x49, 0xb4, 0xae, 0xcc, 0x40, 0xf7, 0x01, 0x06, 0x23, 0x87, 0xb8, 0x21, 0x0b, 0x50, 0x56, - 0x32, 0xe7, 0xbd, 0x99, 0xbb, 0x45, 0xdd, 0x65, 0xc9, 0x86, 0x15, 0x08, 0x74, 0x03, 0xea, 0xc1, - 0xc0, 0x1b, 0x73, 0xc3, 0x99, 0x57, 0x16, 0x42, 0x7a, 0xb1, 0x17, 0x77, 0xc3, 0x6d, 0x3e, 0xb6, - 0x2e, 0x8e, 0x9d, 0x0d, 0xca, 0x80, 0x39, 0x9f, 0xf9, 0x35, 0x80, 0x18, 0x1a, 0x9d, 0x94, 0x53, - 0x99, 0x35, 0x6b, 0x27, 0x2a, 0xbf, 0x9a, 0xa5, 0x50, 0xac, 0x5b, 0xe1, 0xb6, 0xb0, 0x64, 0x35, - 0x0b, 0x9d, 0x83, 0xc3, 0x81, 0x33, 0x74, 0xad, 0x70, 0xd7, 0x27, 0x8f, 0x88, 0xef, 0x6c, 0x39, - 0xc4, 0x66, 0xc5, 0x6b, 0xe1, 0xf4, 0x07, 0xf3, 0x4d, 0x38, 0x9c, 0xde, 0xfa, 0x9a, 0xd8, 0x88, - 0xe6, 0xaf, 0xb4, 0xa1, 0xc1, 0x57, 0x35, 0xe6, 0xbf, 0x57, 0xa4, 0x5e, 0x9b, 0x7f, 0x51, 0x86, - 0x3a, 0xdf, 0xdd, 0x49, 0x1a, 0xe7, 0x2d, 0x55, 0xa7, 0xab, 0x19, 0x53, 0xfe, 0xac, 0xdd, 0xae, - 0xee, 0x1d, 0xb2, 0xff, 0x88, 0x3a, 0x36, 0xa9, 0xe8, 0xe8, 0x18, 0x34, 0x82, 0xdd, 0xcd, 0xbe, - 0x1d, 0x18, 0xd5, 0x93, 0xd5, 0xb3, 0x6d, 0x2c, 0x52, 0xe6, 0x6d, 0x68, 0x45, 0xc4, 0xa8, 0x03, - 0xd5, 0xc7, 0x64, 0x5f, 0x08, 0xa7, 0x3f, 0xd1, 0x39, 0xe1, 0x20, 0xa5, 0xa9, 0x26, 0xed, 0x89, - 0x4b, 0x11, 0x5e, 0xf4, 0x0b, 0x50, 0xa5, 0xeb, 0x88, 0x64, 0x15, 0x66, 0x37, 0xcb, 0xdc, 0xd2, - 0x2e, 0x43, 0x9d, 0xef, 0xb0, 0x25, 0x65, 0x20, 0xa8, 0x3d, 0x26, 0xfb, 0xbc, 0x8d, 0xda, 0x98, - 0xfd, 0xce, 0x05, 0xf9, 0x5e, 0x15, 0x0e, 0xa8, 0xbb, 0x0a, 0xe6, 0x6a, 0xae, 0xd3, 0xb7, 0xb6, - 0x42, 0xd5, 0xe9, 0x8b, 0x24, 0xf5, 0x6c, 0x0c, 0x8b, 0xa9, 0x46, 0x1b, 0xf3, 0x84, 0xd9, 0x85, - 0x86, 0xd8, 0xac, 0x49, 0x22, 0x49, 0xfa, 0x8a, 0x4a, 0x7f, 0x1b, 0x5a, 0x72, 0xef, 0xe5, 0xc3, - 0xca, 0xf6, 0xa1, 0x25, 0x37, 0x59, 0x8e, 0x42, 0x3d, 0xf4, 0x42, 0x6b, 0xc4, 0xe0, 0xaa, 0x98, - 0x27, 0xa8, 0x5e, 0xba, 0xe4, 0x69, 0xb8, 0x2c, 0x3d, 0x6f, 0x15, 0xc7, 0x19, 0xdc, 0xb1, 0x92, - 0x3d, 0xfe, 0xb5, 0xca, 0xbf, 0xca, 0x8c, 0x58, 0x66, 0x4d, 0x95, 0xb9, 0x0f, 0x0d, 0xb1, 0xf3, - 0x22, 0xbf, 0x97, 0x95, 0xef, 0x68, 0x11, 0xea, 0x43, 0xfa, 0x5d, 0xf4, 0xfa, 0x6b, 0x09, 0xfb, - 0xe6, 0x0b, 0xaa, 0x65, 0xcf, 0x0d, 0xa9, 0x1a, 0xeb, 0x01, 0x25, 0xcc, 0x39, 0x69, 0x17, 0xfa, - 0x7c, 0x1b, 0x8d, 0x1b, 0xa1, 0x48, 0x99, 0xdf, 0x29, 0x43, 0x5b, 0xee, 0x5b, 0x9a, 0xef, 0xe7, - 0x19, 0xcf, 0x22, 0x1c, 0xf4, 0x05, 0x15, 0x35, 0xd4, 0xc8, 0x84, 0x9e, 0x4f, 0x94, 0x04, 0x2b, - 0x34, 0x58, 0xe7, 0x30, 0xdf, 0xc9, 0xed, 0xd4, 0x05, 0x38, 0x10, 0x91, 0xde, 0x89, 0x55, 0x4f, - 0xcb, 0x33, 0x4d, 0xc9, 0xdd, 0x81, 0xaa, 0x63, 0xf3, 0xa3, 0x1c, 0x6d, 0x4c, 0x7f, 0x9a, 0x5b, - 0x70, 0x40, 0xdd, 0xbd, 0x30, 0x1f, 0x65, 0x5b, 0xcf, 0x0d, 0x2a, 0x46, 0xd9, 0x29, 0xa9, 0x24, - 0x96, 0x68, 0x51, 0x15, 0x62, 0x12, 0xac, 0x31, 0x98, 0xcf, 0x42, 0x9d, 0xef, 0xa9, 0x26, 0xa7, - 0x1a, 0xdf, 0x1e, 0x40, 0x9d, 0x75, 0x82, 0x79, 0x91, 0x1b, 0xc0, 0x39, 0x68, 0xb0, 0xf8, 0x40, - 0x74, 0xe2, 0xe4, 0x68, 0x56, 0x8f, 0x61, 0x41, 0x63, 0x2e, 0xc3, 0x9c, 0xb2, 0x9b, 0x45, 0x35, - 0x96, 0x7d, 0x90, 0x5a, 0x10, 0x25, 0x91, 0x09, 0x2d, 0x3a, 0x40, 0x0b, 0x9f, 0x4b, 0xeb, 0x2f, - 0xd3, 0xe6, 0x29, 0x39, 0x11, 0x32, 0xc5, 0xee, 0x5d, 0x5f, 0xb6, 0x92, 0x4c, 0x9b, 0x9f, 0x87, - 0xb6, 0xdc, 0xf4, 0x42, 0xf7, 0xe1, 0x80, 0xd8, 0xf4, 0xe2, 0x6b, 0x76, 0x4a, 0x3c, 0x5f, 0xa0, - 0x5d, 0x74, 0x81, 0xce, 0xf6, 0xcd, 0xba, 0x0f, 0xf6, 0xc7, 0x04, 0x6b, 0x00, 0xe6, 0x2f, 0x9d, - 0x65, 0x2d, 0x6f, 0x8e, 0xa1, 0x25, 0x23, 0xfd, 0xc9, 0x5e, 0xb8, 0xc2, 0x5d, 0x63, 0xa5, 0x70, - 0x9b, 0x8a, 0xf3, 0x53, 0x07, 0xcc, 0x3c, 0xa8, 0xf9, 0x3c, 0x54, 0xef, 0x90, 0x7d, 0x6a, 0x21, - 0xdc, 0x91, 0x0a, 0x0b, 0xe1, 0x0e, 0xb3, 0x0f, 0x0d, 0xb1, 0xe3, 0x96, 0x94, 0x77, 0x1e, 0x1a, - 0x5b, 0x7c, 0x13, 0xaf, 0xc0, 0x65, 0x0a, 0x32, 0xf3, 0x06, 0xcc, 0xa9, 0xfb, 0x6c, 0x49, 0xbc, - 0x93, 0x30, 0x37, 0x50, 0x76, 0xf2, 0x78, 0x37, 0xa8, 0x59, 0x26, 0xd1, 0xd5, 0x31, 0x85, 0xb0, - 0x9a, 0xa9, 0x87, 0x2f, 0x65, 0x36, 0xfb, 0x04, 0x6d, 0xbc, 0x03, 0x87, 0x92, 0x1b, 0x6a, 0x49, - 0x49, 0x67, 0xe1, 0xd0, 0x66, 0x62, 0xfb, 0x8e, 0xfb, 0xc0, 0x64, 0xb6, 0xd9, 0x87, 0x3a, 0xdf, - 0xf0, 0x48, 0x42, 0xbc, 0x01, 0x75, 0x8b, 0x6d, 0xa8, 0x54, 0xd8, 0xd4, 0xc2, 0xcc, 0x2c, 0x25, - 0x63, 0xc5, 0x9c, 0xd0, 0x74, 0xe0, 0xa0, 0xbe, 0x87, 0x92, 0x84, 0xec, 0xc1, 0xc1, 0x3d, 0x6d, - 0xaf, 0x86, 0x43, 0x2f, 0x64, 0x42, 0x6b, 0x50, 0x58, 0x67, 0x34, 0xbf, 0xd1, 0x80, 0x1a, 0xdb, - 0x04, 0x4c, 0x8a, 0xb8, 0x0c, 0xb5, 0x90, 0x3c, 0x8d, 0xe6, 0xc5, 0x0b, 0x13, 0x77, 0x14, 0x79, - 0x24, 0x8a, 0xd1, 0xa3, 0x4f, 0x42, 0x3d, 0x08, 0xf7, 0x47, 0xd1, 0x0a, 0xe4, 0xe5, 0xc9, 0x8c, - 0x1b, 0x94, 0x14, 0x73, 0x0e, 0xca, 0xca, 0x6c, 0x41, 0x6c, 0x5a, 0x17, 0xb0, 0x32, 0x23, 0xc4, - 0x9c, 0x03, 0xdd, 0xa0, 0x4b, 0x49, 0x32, 0x78, 0x4c, 0x6c, 0xb1, 0x5b, 0x7d, 0x7a, 0x32, 0xf3, - 0x32, 0x27, 0xc6, 0x11, 0x17, 0x95, 0x3d, 0x60, 0xbd, 0xdb, 0x98, 0x46, 0x36, 0xeb, 0x71, 0xcc, - 0x39, 0xd0, 0x2a, 0xb4, 0x9d, 0x81, 0xe7, 0xae, 0xee, 0x78, 0x5f, 0x74, 0xc4, 0xb6, 0xf4, 0x2b, - 0x93, 0xd9, 0xfb, 0x11, 0x39, 0x8e, 0x39, 0x23, 0x98, 0xfe, 0x0e, 0x5d, 0x54, 0xb5, 0xa6, 0x85, - 0x61, 0xe4, 0x38, 0xe6, 0x34, 0x8f, 0x8b, 0xfe, 0xcc, 0x36, 0xf2, 0x5b, 0x50, 0x67, 0x4d, 0x8e, - 0xae, 0xa9, 0x9f, 0xe7, 0x15, 0x49, 0xb9, 0x1e, 0x4b, 0x74, 0x95, 0xc4, 0x61, 0xed, 0xaf, 0xe3, - 0xcc, 0x4d, 0x83, 0x23, 0xfa, 0x8d, 0xe3, 0xbc, 0x08, 0x4d, 0xd1, 0x15, 0x7a, 0x81, 0x5b, 0x11, - 0xc1, 0x0b, 0x50, 0xe7, 0x86, 0x99, 0x5d, 0x9f, 0x97, 0xa0, 0x2d, 0x1b, 0x73, 0x32, 0x09, 0x6b, - 0x9d, 0x1c, 0x92, 0x5f, 0xae, 0x40, 0x9d, 0x6f, 0x86, 0xa6, 0x5d, 0xad, 0x6a, 0x05, 0x2f, 0x4f, - 0xde, 0x5b, 0x55, 0xcd, 0xe0, 0x16, 0x5b, 0x1c, 0xd2, 0xb9, 0xbc, 0x3c, 0xe0, 0x78, 0xb6, 0x80, - 0x7b, 0x3d, 0xa2, 0xc7, 0x31, 0x6b, 0x41, 0x77, 0xde, 0x87, 0xb6, 0xe4, 0x42, 0x4b, 0x7a, 0x97, - 0x9e, 0x9b, 0xd8, 0x15, 0x49, 0x91, 0x02, 0xf0, 0xb7, 0xca, 0x50, 0x5d, 0x71, 0xf6, 0x52, 0xed, - 0xf0, 0x76, 0x64, 0xd5, 0x45, 0xee, 0x60, 0xc5, 0xd9, 0xd3, 0x8c, 0xda, 0x5c, 0x8d, 0x34, 0xee, - 0x1d, 0xbd, 0x78, 0x67, 0x26, 0xcf, 0xc0, 0x62, 0x18, 0x5e, 0xb0, 0x5f, 0x6f, 0x42, 0x8d, 0x9d, - 0x33, 0xc8, 0xf2, 0x53, 0xfb, 0xe3, 0xe2, 0x82, 0xb1, 0x48, 0x26, 0x1b, 0x70, 0x19, 0x3d, 0xf7, - 0x53, 0x56, 0x58, 0xec, 0xa7, 0x78, 0x60, 0x96, 0x92, 0x62, 0xce, 0x41, 0x45, 0xee, 0x38, 0x3b, - 0x44, 0xb8, 0xa9, 0x02, 0x91, 0xf7, 0x9c, 0x1d, 0x82, 0x19, 0x3d, 0xe5, 0xdb, 0xb6, 0x82, 0x6d, - 0xe1, 0xa1, 0x0a, 0xf8, 0x7a, 0x56, 0xb0, 0x8d, 0x19, 0x3d, 0xe5, 0x73, 0xe9, 0x2a, 0xb2, 0x31, - 0x0d, 0x1f, 0x5d, 0x5c, 0x62, 0x46, 0x4f, 0xf9, 0x02, 0xe7, 0xcb, 0x44, 0xf8, 0xa4, 0x02, 0xbe, - 0x0d, 0xe7, 0xcb, 0x04, 0x33, 0xfa, 0xd8, 0x85, 0xb7, 0xa6, 0x6b, 0x1a, 0xc5, 0x85, 0x3f, 0x80, - 0xf9, 0x50, 0xdb, 0x2d, 0x13, 0x87, 0x5d, 0xce, 0x15, 0xf4, 0x8b, 0xc6, 0x83, 0x13, 0x18, 0xd4, - 0x08, 0xd8, 0x9a, 0x39, 0xdb, 0x08, 0x5e, 0x80, 0xfa, 0x67, 0x1c, 0x3b, 0xdc, 0xd6, 0x3f, 0xd7, - 0x35, 0x97, 0x47, 0xbb, 0x6d, 0x26, 0x97, 0xa7, 0xf6, 0x3a, 0xc7, 0x59, 0x81, 0x1a, 0x55, 0x9f, - 0xd9, 0xf4, 0x38, 0xd6, 0xba, 0x0f, 0xe5, 0x80, 0xd5, 0x86, 0xe6, 0x38, 0xc7, 0xa1, 0x46, 0x35, - 0x24, 0xa7, 0x49, 0x8e, 0x43, 0x8d, 0xea, 0x5d, 0xfe, 0x57, 0xda, 0xdb, 0xfa, 0xd7, 0x6a, 0xf4, - 0xf5, 0x0c, 0xcc, 0xeb, 0xdd, 0x91, 0x83, 0xf2, 0xdd, 0x26, 0xd4, 0xd8, 0xa1, 0x9d, 0xa4, 0x45, - 0x7e, 0x1a, 0x0e, 0xf2, 0xfe, 0x5b, 0x12, 0x53, 0xf0, 0x4a, 0xe6, 0x99, 0x3d, 0xfd, 0x28, 0x90, - 0x50, 0x01, 0xc1, 0x82, 0x75, 0x84, 0xe9, 0x27, 0x15, 0x0c, 0x4a, 0xd3, 0xc8, 0x77, 0xe4, 0xe4, - 0xb5, 0x56, 0x70, 0x62, 0x8c, 0xf1, 0xf2, 0x29, 0x70, 0x34, 0x93, 0x45, 0x4b, 0xd0, 0xa2, 0x43, - 0x2b, 0x6d, 0x2e, 0x61, 0xb6, 0x67, 0x26, 0xf3, 0xf7, 0x05, 0x35, 0x96, 0x7c, 0x74, 0x60, 0x1f, - 0x58, 0xbe, 0xcd, 0x4a, 0x25, 0x6c, 0xf8, 0x95, 0xc9, 0x20, 0xcb, 0x11, 0x39, 0x8e, 0x39, 0xd1, - 0x1d, 0x98, 0xb3, 0x89, 0x8c, 0x13, 0x08, 0xa3, 0xfe, 0xc4, 0x64, 0xa0, 0x95, 0x98, 0x01, 0xab, - 0xdc, 0xb4, 0x4c, 0xd1, 0xda, 0x30, 0x28, 0x9c, 0x6c, 0x30, 0xa8, 0xf8, 0x64, 0x6e, 0xcc, 0x69, - 0x9e, 0x86, 0x83, 0x5a, 0xbf, 0x7d, 0xa4, 0xb3, 0x0e, 0xb5, 0x2f, 0x39, 0xce, 0x15, 0xb9, 0x44, - 0x79, 0x5d, 0x9f, 0x76, 0xe4, 0xae, 0x48, 0x04, 0xe3, 0x5d, 0x68, 0x45, 0x1d, 0x83, 0x6e, 0xea, - 0x65, 0x78, 0xb5, 0xb8, 0x0c, 0xb2, 0x4f, 0x05, 0xda, 0x1a, 0xb4, 0x65, 0x0f, 0xa1, 0x45, 0x1d, - 0xee, 0xb5, 0x62, 0xb8, 0xb8, 0x77, 0x05, 0x1e, 0x86, 0x39, 0xa5, 0xa3, 0xd0, 0xb2, 0x8e, 0xf8, - 0x7a, 0x31, 0xa2, 0xda, 0xcd, 0xf1, 0xac, 0x47, 0xf6, 0x98, 0xda, 0x2b, 0xd5, 0xb8, 0x57, 0xfe, - 0xb8, 0x09, 0x2d, 0x79, 0x50, 0x2e, 0x63, 0x8d, 0xb9, 0xeb, 0x8f, 0x0a, 0xd7, 0x98, 0x11, 0x7f, - 0xf7, 0xa1, 0x3f, 0xc2, 0x94, 0x83, 0x76, 0x71, 0xe8, 0x84, 0xd2, 0x54, 0x5f, 0x29, 0x66, 0x7d, - 0x40, 0xc9, 0x31, 0xe7, 0x42, 0xf7, 0x75, 0x2d, 0xaf, 0x4d, 0x38, 0x48, 0xa1, 0x81, 0xe4, 0x6a, - 0x7a, 0x1f, 0xda, 0x0e, 0x9d, 0xfa, 0xf5, 0xe2, 0x91, 0xf7, 0xb5, 0x62, 0xb8, 0x7e, 0xc4, 0x82, - 0x63, 0x6e, 0x5a, 0xb6, 0x2d, 0x6b, 0x8f, 0xda, 0x35, 0x03, 0x6b, 0x4c, 0x5b, 0xb6, 0x5b, 0x31, - 0x13, 0x56, 0x11, 0xd0, 0x55, 0x31, 0x77, 0x69, 0x16, 0x78, 0x96, 0xb8, 0xa9, 0xe2, 0xf9, 0xcb, - 0x7b, 0xa9, 0x91, 0x96, 0x9b, 0xf1, 0x1b, 0x53, 0xa0, 0x4c, 0x1c, 0x6d, 0x69, 0x0f, 0xf2, 0x99, - 0x51, 0x7b, 0xda, 0x1e, 0x54, 0x67, 0x47, 0xe6, 0xf3, 0x50, 0x7d, 0xe8, 0x8f, 0xf2, 0xc7, 0x6a, - 0xd6, 0xdd, 0x39, 0x9f, 0x5f, 0xd6, 0x2d, 0x21, 0x7f, 0x42, 0x2f, 0xfb, 0x24, 0x17, 0x47, 0x69, - 0xf4, 0x1c, 0xa2, 0x6b, 0x62, 0x40, 0x7f, 0x4b, 0xb7, 0xb7, 0x17, 0x13, 0xf6, 0x46, 0x2d, 0x6c, - 0xdd, 0x27, 0xfc, 0xac, 0x90, 0x32, 0x92, 0x4f, 0x3b, 0x4e, 0xde, 0x8e, 0xe6, 0x1f, 0x33, 0x79, - 0x8a, 0x64, 0xdb, 0x72, 0xac, 0x6f, 0x95, 0xa1, 0x25, 0xcf, 0x41, 0xa6, 0xa3, 0xf3, 0x2d, 0x27, - 0xe8, 0x11, 0xcb, 0x26, 0xbe, 0xb0, 0xdb, 0x57, 0x0b, 0x0f, 0x58, 0x76, 0xfb, 0x82, 0x03, 0x4b, - 0x5e, 0xf3, 0x24, 0xb4, 0xa2, 0xdc, 0x9c, 0x45, 0xd9, 0x8f, 0x2b, 0xd0, 0x10, 0x27, 0x28, 0x93, - 0x85, 0xb8, 0x0e, 0x8d, 0x91, 0xb5, 0xef, 0xed, 0x46, 0x4b, 0xa6, 0x33, 0x05, 0x87, 0x32, 0xbb, - 0x77, 0x19, 0x35, 0x16, 0x5c, 0xe8, 0x53, 0x50, 0x1f, 0x39, 0x3b, 0x4e, 0x28, 0xdc, 0xc7, 0xe9, - 0x42, 0x76, 0x76, 0xd6, 0x82, 0xf3, 0x50, 0xe1, 0xec, 0xe0, 0x54, 0x74, 0xec, 0xbd, 0x50, 0xf8, - 0x23, 0x46, 0x8d, 0x05, 0x97, 0x79, 0x1b, 0x1a, 0xbc, 0x38, 0xb3, 0x0d, 0x12, 0x7a, 0x4d, 0x62, - 0x4d, 0x67, 0x65, 0xcb, 0x99, 0x95, 0x9e, 0x80, 0x06, 0x17, 0x9e, 0xa3, 0x35, 0x3f, 0x7a, 0x8e, - 0xad, 0x77, 0x46, 0xe6, 0xdd, 0x78, 0xc3, 0xf1, 0xc3, 0xef, 0x65, 0x98, 0x0f, 0xe0, 0xd0, 0x8a, - 0x15, 0x5a, 0x9b, 0x56, 0x40, 0x30, 0x19, 0x78, 0xbe, 0x9d, 0x89, 0xea, 0xf3, 0x4f, 0x22, 0x42, - 0x9d, 0x8f, 0x2a, 0xe8, 0x3e, 0x0e, 0x1d, 0xfe, 0xcf, 0x09, 0x1d, 0xfe, 0x49, 0x2d, 0x27, 0x9e, - 0x37, 0x4d, 0x24, 0x83, 0x2a, 0x5c, 0x2a, 0xa0, 0x77, 0x55, 0x9f, 0x7b, 0x9f, 0x2a, 0xe0, 0xd4, - 0x26, 0xdf, 0x57, 0xf5, 0x88, 0x5e, 0x11, 0xaf, 0x16, 0xd2, 0xbb, 0x99, 0x0c, 0xe9, 0x9d, 0x29, - 0xe0, 0x4e, 0xc5, 0xf4, 0xae, 0xea, 0x31, 0xbd, 0x22, 0xe9, 0x6a, 0x50, 0xef, 0xff, 0x58, 0x18, - 0xed, 0xb7, 0x73, 0xc2, 0x3e, 0x9f, 0xd4, 0xc3, 0x3e, 0x13, 0xb4, 0xe6, 0xe7, 0x15, 0xf7, 0xf9, - 0x9d, 0x46, 0x4e, 0xdc, 0xe7, 0x8a, 0x16, 0xf7, 0x99, 0x50, 0xb2, 0x64, 0xe0, 0xe7, 0xaa, 0x1e, - 0xf8, 0x39, 0x55, 0xc0, 0xa9, 0x45, 0x7e, 0xae, 0x68, 0x91, 0x9f, 0x22, 0xa1, 0x4a, 0xe8, 0xe7, - 0x8a, 0x16, 0xfa, 0x29, 0x62, 0x54, 0x62, 0x3f, 0x57, 0xb4, 0xd8, 0x4f, 0x11, 0xa3, 0x12, 0xfc, - 0xb9, 0xa2, 0x05, 0x7f, 0x8a, 0x18, 0x95, 0xe8, 0xcf, 0x55, 0x3d, 0xfa, 0x53, 0xdc, 0x3e, 0x4a, - 0xa7, 0x7f, 0x1c, 0xa8, 0xf9, 0x2f, 0x0c, 0xd4, 0xfc, 0x5a, 0x35, 0x27, 0x00, 0x83, 0xb3, 0x03, - 0x30, 0xe7, 0xf2, 0x7b, 0xb2, 0x38, 0x02, 0x33, 0xfd, 0x28, 0x90, 0x0e, 0xc1, 0x5c, 0x4b, 0x84, - 0x60, 0x4e, 0x17, 0x30, 0xeb, 0x31, 0x98, 0xff, 0x35, 0x41, 0x86, 0x3f, 0x6c, 0x4c, 0x58, 0x4f, - 0xbf, 0xad, 0xae, 0xa7, 0x27, 0x8c, 0x64, 0xe9, 0x05, 0xf5, 0x75, 0x7d, 0x41, 0x7d, 0x76, 0x0a, - 0x5e, 0x6d, 0x45, 0xbd, 0x9e, 0xb5, 0xa2, 0xee, 0x4e, 0x81, 0x92, 0xbb, 0xa4, 0xbe, 0x9d, 0x5e, - 0x52, 0x9f, 0x9b, 0x02, 0x2f, 0x73, 0x4d, 0xbd, 0x9e, 0xb5, 0xa6, 0x9e, 0xa6, 0x74, 0xb9, 0x8b, - 0xea, 0x4f, 0x69, 0x8b, 0xea, 0x57, 0xa6, 0x69, 0xae, 0x78, 0x70, 0xf8, 0x6c, 0xce, 0xaa, 0xfa, - 0xcd, 0x69, 0x60, 0x26, 0x07, 0xb1, 0x3f, 0x5e, 0x17, 0xeb, 0x62, 0xfe, 0xe0, 0x45, 0x68, 0x45, - 0x07, 0x6d, 0xcc, 0x2f, 0x41, 0x33, 0xba, 0x36, 0x97, 0xb4, 0x9c, 0x63, 0x72, 0x51, 0xc7, 0x67, - 0xcf, 0x22, 0x85, 0xae, 0x43, 0x8d, 0xfe, 0x12, 0x66, 0xf1, 0xea, 0x74, 0x07, 0x7a, 0xa8, 0x10, - 0xcc, 0xf8, 0xcc, 0x7f, 0x3b, 0x0a, 0xa0, 0xdc, 0x26, 0x9a, 0x56, 0xec, 0xbb, 0xd4, 0x99, 0x8d, - 0x42, 0xe2, 0xb3, 0x83, 0x5c, 0x85, 0xb7, 0x6d, 0x62, 0x09, 0x54, 0x5b, 0x42, 0xe2, 0x63, 0xc1, - 0x8e, 0xee, 0x41, 0x2b, 0x0a, 0xa4, 0x1a, 0x35, 0x06, 0xf5, 0xe6, 0xd4, 0x50, 0x51, 0x68, 0x0f, - 0x4b, 0x08, 0xb4, 0x08, 0xb5, 0xc0, 0xf3, 0x43, 0xa3, 0xce, 0xa0, 0x5e, 0x9f, 0x1a, 0x6a, 0xc3, - 0xf3, 0x43, 0xcc, 0x58, 0x79, 0xd5, 0x94, 0xcb, 0xda, 0xb3, 0x54, 0x4d, 0xf3, 0xd8, 0xff, 0x5a, - 0x95, 0x3e, 0x74, 0x59, 0x58, 0x23, 0xd7, 0xa1, 0xf3, 0xd3, 0xf7, 0x92, 0x6a, 0x95, 0x48, 0x4c, - 0x82, 0x78, 0x4f, 0xf0, 0xf9, 0xcd, 0xab, 0xd0, 0x19, 0x78, 0x7b, 0xc4, 0xc7, 0xf1, 0x11, 0x27, - 0x71, 0x0a, 0x2d, 0x95, 0x8f, 0x4c, 0x68, 0x6d, 0x3b, 0x36, 0xe9, 0x0f, 0x84, 0xff, 0x6b, 0x61, - 0x99, 0x46, 0x77, 0xa0, 0xc5, 0x62, 0xec, 0x51, 0x84, 0x7f, 0xb6, 0x42, 0xf2, 0x50, 0x7f, 0x04, - 0x40, 0x05, 0x31, 0xe1, 0xb7, 0x9c, 0x90, 0xb5, 0x61, 0x0b, 0xcb, 0x34, 0x2d, 0x30, 0x3b, 0x47, - 0xa6, 0x16, 0xb8, 0xc9, 0x0b, 0x9c, 0xcc, 0x47, 0x97, 0xe0, 0x19, 0x96, 0x97, 0x58, 0x62, 0xf2, - 0x50, 0x7d, 0x0b, 0x67, 0x7f, 0x64, 0xe7, 0xe6, 0xac, 0x21, 0xbf, 0x9a, 0xc1, 0x82, 0x77, 0x75, - 0x1c, 0x67, 0xa0, 0x73, 0x70, 0xd8, 0x26, 0x5b, 0xd6, 0xee, 0x28, 0x7c, 0x40, 0x76, 0xc6, 0x23, - 0x2b, 0x24, 0x7d, 0x9b, 0xdd, 0x17, 0x6f, 0xe3, 0xf4, 0x07, 0xf4, 0x06, 0x1c, 0x11, 0x99, 0xdc, - 0x8c, 0x69, 0x6f, 0xf4, 0x6d, 0x76, 0x7d, 0xba, 0x8d, 0xb3, 0x3e, 0x99, 0x3f, 0xaa, 0xd1, 0x4e, - 0x67, 0xaa, 0xfd, 0x2e, 0x54, 0x2d, 0xdb, 0x16, 0xc3, 0xe6, 0xc5, 0x19, 0x0d, 0x44, 0x9c, 0xf7, - 0xa7, 0x08, 0x68, 0x5d, 0x1e, 0xb9, 0xe3, 0x03, 0xe7, 0xe5, 0x59, 0xb1, 0xe4, 0x33, 0x16, 0x02, - 0x87, 0x22, 0xee, 0xf2, 0x9b, 0x03, 0xd5, 0x9f, 0x0d, 0x51, 0x5e, 0x2a, 0x10, 0x38, 0xe8, 0x36, - 0xd4, 0x58, 0x09, 0xf9, 0xc0, 0x7a, 0x69, 0x56, 0xbc, 0x7b, 0xbc, 0x7c, 0x0c, 0xc3, 0x1c, 0xf0, - 0xb3, 0x6f, 0xca, 0x81, 0xcb, 0xb2, 0x7e, 0xe0, 0x72, 0x09, 0xea, 0x4e, 0x48, 0x76, 0xd2, 0xe7, - 0x6f, 0x27, 0xaa, 0xaa, 0xf0, 0x3c, 0x9c, 0x75, 0xe2, 0x39, 0xc0, 0xf7, 0x73, 0x4f, 0xfc, 0xdf, - 0x84, 0x1a, 0x65, 0x4f, 0xcd, 0x25, 0xa7, 0x11, 0xcc, 0x38, 0xcd, 0x0b, 0x50, 0xa3, 0x95, 0x9d, - 0x50, 0x3b, 0x51, 0x9e, 0x8a, 0x2c, 0xcf, 0xd2, 0x1c, 0xb4, 0xbd, 0x31, 0xf1, 0x99, 0x61, 0x98, - 0xff, 0x52, 0x53, 0x0e, 0xc5, 0xf5, 0x55, 0x1d, 0x7b, 0x6b, 0x66, 0xcf, 0xa9, 0x6a, 0x19, 0x4e, - 0x68, 0xd9, 0xdb, 0xb3, 0xa3, 0xa5, 0xf4, 0x0c, 0x27, 0xf4, 0xec, 0x67, 0xc0, 0x4c, 0x69, 0xda, - 0x5d, 0x4d, 0xd3, 0x2e, 0xcf, 0x8e, 0xa8, 0xe9, 0x1a, 0x29, 0xd2, 0xb5, 0x15, 0x5d, 0xd7, 0xba, - 0xd3, 0x75, 0xb9, 0x1c, 0x9a, 0xa6, 0xd0, 0xb6, 0xcf, 0xe7, 0x6a, 0xdb, 0x92, 0xa6, 0x6d, 0xb3, - 0x8a, 0xfe, 0x88, 0xf4, 0xed, 0x87, 0x35, 0xa8, 0xd1, 0xe1, 0x11, 0xad, 0xaa, 0xba, 0xf6, 0xe6, - 0x4c, 0x43, 0xab, 0xaa, 0x67, 0x6b, 0x09, 0x3d, 0xbb, 0x34, 0x1b, 0x52, 0x4a, 0xc7, 0xd6, 0x12, - 0x3a, 0x36, 0x23, 0x5e, 0x4a, 0xbf, 0x7a, 0x9a, 0x7e, 0x5d, 0x98, 0x0d, 0x4d, 0xd3, 0x2d, 0xab, - 0x48, 0xb7, 0x6e, 0xea, 0xba, 0x35, 0xe5, 0xec, 0x8d, 0xcd, 0x55, 0xa6, 0xd0, 0xab, 0xf7, 0x72, - 0xf5, 0xea, 0xba, 0xa6, 0x57, 0xb3, 0x88, 0xfd, 0x88, 0x74, 0xea, 0x12, 0x9f, 0x74, 0x66, 0x5f, - 0xb8, 0xca, 0x9b, 0x74, 0x9a, 0x6f, 0x41, 0x3b, 0x7e, 0x8e, 0x21, 0xe3, 0x78, 0x3e, 0x27, 0x8b, - 0xa4, 0x46, 0x49, 0xf3, 0x22, 0xb4, 0xe3, 0x27, 0x16, 0x32, 0x64, 0x05, 0xec, 0xa3, 0xe0, 0x12, - 0x29, 0x73, 0x15, 0x0e, 0xa7, 0x2f, 0x80, 0x67, 0xc4, 0xe1, 0x95, 0xb3, 0xe5, 0xd1, 0xed, 0x15, - 0x25, 0xcb, 0x7c, 0x02, 0xf3, 0x89, 0x2b, 0xdd, 0x33, 0x63, 0xa0, 0x8b, 0xca, 0x14, 0xb9, 0x9a, - 0xb8, 0x20, 0xa8, 0x9f, 0x96, 0x8f, 0x27, 0xc2, 0xe6, 0x0a, 0xcc, 0x17, 0x14, 0x7e, 0x9a, 0xc3, - 0xf2, 0x5f, 0x80, 0xb9, 0x49, 0x65, 0xff, 0x08, 0x0e, 0xf3, 0x87, 0xd0, 0x49, 0x3d, 0x47, 0x91, - 0x14, 0xb3, 0x0e, 0x30, 0x94, 0x34, 0x42, 0x69, 0xdf, 0x98, 0xe1, 0xea, 0x02, 0xe3, 0xc3, 0x0a, - 0x86, 0xf9, 0xfb, 0x65, 0x38, 0x9c, 0x7e, 0x8b, 0x62, 0xda, 0xc5, 0x8f, 0x01, 0x4d, 0x86, 0x25, - 0x6f, 0x7c, 0x44, 0x49, 0x74, 0x0f, 0x0e, 0x04, 0x23, 0x67, 0x40, 0x96, 0xb7, 0x2d, 0x77, 0x48, - 0x02, 0xb1, 0xa2, 0x29, 0x78, 0x4f, 0x62, 0x23, 0xe6, 0xc0, 0x1a, 0xbb, 0xf9, 0x04, 0xe6, 0x94, - 0x8f, 0xe8, 0x1d, 0xa8, 0x78, 0xe3, 0xd4, 0xb9, 0xc6, 0x7c, 0xcc, 0xfb, 0x91, 0xbd, 0xe1, 0x8a, - 0x37, 0x4e, 0x9b, 0xa4, 0x6a, 0xbe, 0x55, 0xcd, 0x7c, 0xcd, 0x3b, 0x70, 0x38, 0xfd, 0xdc, 0x43, - 0xb2, 0x79, 0xce, 0xa4, 0xa2, 0x04, 0xbc, 0x99, 0x92, 0x4b, 0xfe, 0x2b, 0x70, 0x28, 0xf9, 0x88, - 0x43, 0xc6, 0x6d, 0x9c, 0xf8, 0x52, 0x53, 0x14, 0xae, 0x5f, 0xf8, 0xd5, 0x32, 0xcc, 0xeb, 0x15, - 0x41, 0xc7, 0x00, 0xe9, 0x39, 0x6b, 0x9e, 0x4b, 0x3a, 0x25, 0xf4, 0x0c, 0x1c, 0xd6, 0xf3, 0x17, - 0x6d, 0xbb, 0x53, 0x4e, 0x93, 0x53, 0xb7, 0xd5, 0xa9, 0x20, 0x03, 0x8e, 0x26, 0x5a, 0x88, 0x39, - 0xd1, 0x4e, 0x15, 0x3d, 0x07, 0xcf, 0x24, 0xbf, 0x8c, 0x47, 0xd6, 0x80, 0x74, 0x6a, 0xe6, 0x4f, - 0x2b, 0x50, 0x7b, 0x18, 0x10, 0xdf, 0xfc, 0xa7, 0x4a, 0x74, 0x4b, 0xe3, 0x6d, 0xa8, 0xb1, 0xf7, - 0x15, 0x94, 0x1b, 0x94, 0xe5, 0xc4, 0x0d, 0x4a, 0xed, 0x16, 0x5e, 0x7c, 0x83, 0xf2, 0x6d, 0xa8, - 0xb1, 0x17, 0x15, 0x66, 0xe7, 0xfc, 0x66, 0x19, 0xda, 0xf1, 0xeb, 0x06, 0x33, 0xf3, 0xab, 0xb7, - 0x42, 0x2a, 0xfa, 0xad, 0x90, 0x57, 0xa1, 0xee, 0xb3, 0xfb, 0x1b, 0xdc, 0xcb, 0x24, 0xef, 0x9a, - 0x30, 0x81, 0x98, 0x93, 0x98, 0x04, 0xe6, 0xd4, 0xb7, 0x1b, 0x66, 0x2f, 0xc6, 0x29, 0xf1, 0x70, - 0x53, 0xdf, 0x0e, 0x16, 0x7d, 0xdf, 0xda, 0x17, 0x8a, 0xa9, 0x67, 0x9a, 0xc7, 0xa1, 0xb6, 0xee, - 0xb8, 0xc3, 0xec, 0x8b, 0xab, 0xe6, 0x9f, 0x96, 0xa1, 0x29, 0x0e, 0xef, 0x9a, 0x57, 0xa0, 0xba, - 0x46, 0x9e, 0xd0, 0x82, 0x88, 0x63, 0xc3, 0xa9, 0x82, 0xdc, 0x63, 0xb5, 0x10, 0xf4, 0x38, 0x22, - 0x33, 0xaf, 0xca, 0x61, 0x72, 0x76, 0xde, 0xb7, 0xa1, 0xc6, 0x9e, 0x5c, 0x98, 0x9d, 0xf3, 0xcf, - 0x5a, 0xd0, 0xe0, 0xb7, 0x3f, 0xcd, 0x3f, 0x6a, 0x41, 0x83, 0x3f, 0xc3, 0x80, 0xae, 0x43, 0x33, - 0xd8, 0xdd, 0xd9, 0xb1, 0xfc, 0x7d, 0x23, 0xfb, 0x71, 0x51, 0xed, 0xd5, 0x86, 0xee, 0x06, 0xa7, - 0xc5, 0x11, 0x13, 0x7a, 0x0b, 0x6a, 0x03, 0x6b, 0x8b, 0xa4, 0xb6, 0x73, 0xb3, 0x98, 0x97, 0xad, - 0x2d, 0x82, 0x19, 0x39, 0xba, 0x09, 0x2d, 0xd1, 0x2d, 0x81, 0x88, 0xe7, 0x4c, 0x96, 0x1b, 0x75, - 0xa6, 0xe4, 0x32, 0x6f, 0x43, 0x53, 0x14, 0x06, 0xdd, 0x90, 0x77, 0x5f, 0x93, 0x91, 0xe7, 0xcc, - 0x2a, 0xc8, 0xfb, 0xf9, 0xf2, 0x16, 0xec, 0x5f, 0x56, 0xa0, 0x46, 0x0b, 0xf7, 0xa1, 0x91, 0xd0, - 0x09, 0x80, 0x91, 0x15, 0x84, 0xeb, 0xbb, 0xa3, 0x11, 0xb1, 0xc5, 0x0d, 0x3b, 0x25, 0x07, 0x9d, - 0x85, 0x43, 0x3c, 0x15, 0x6c, 0x6f, 0xec, 0x0e, 0x06, 0x44, 0xde, 0x2c, 0x4d, 0x66, 0xa3, 0x45, - 0xa8, 0xb3, 0x87, 0x01, 0xc5, 0xac, 0xf0, 0xb5, 0xc2, 0x96, 0xed, 0xae, 0x3b, 0xae, 0x28, 0x0d, - 0xe7, 0x34, 0x3d, 0x68, 0xcb, 0x3c, 0x6a, 0x84, 0x63, 0xc7, 0x75, 0x1d, 0x77, 0x28, 0x34, 0x3a, - 0x4a, 0xd2, 0x41, 0x87, 0xfe, 0x14, 0xe5, 0xad, 0x63, 0x91, 0xa2, 0xf9, 0x5b, 0x96, 0x33, 0x12, - 0x45, 0xac, 0x63, 0x91, 0xa2, 0x48, 0xbb, 0xe2, 0xf1, 0x8a, 0x1a, 0xab, 0x60, 0x94, 0x34, 0x3f, - 0x28, 0xcb, 0x0b, 0xe0, 0x59, 0x97, 0x33, 0x53, 0xb1, 0xa4, 0xe3, 0x6a, 0x40, 0x9b, 0x0f, 0x08, - 0x4a, 0x88, 0xfa, 0x18, 0x34, 0x3c, 0x77, 0xe4, 0xb8, 0x44, 0xc4, 0x8e, 0x44, 0x2a, 0xd1, 0xc6, - 0xf5, 0x54, 0x1b, 0x8b, 0xef, 0xab, 0xb6, 0x43, 0x8b, 0xd8, 0x88, 0xbf, 0xf3, 0x1c, 0x74, 0x0d, - 0x9a, 0x36, 0xd9, 0x73, 0x06, 0x24, 0x30, 0x9a, 0x4c, 0xf5, 0x5e, 0x9e, 0xd8, 0xb6, 0x2b, 0x8c, - 0x16, 0x47, 0x3c, 0x66, 0x08, 0x0d, 0x9e, 0x25, 0xab, 0x54, 0x56, 0xaa, 0x14, 0x17, 0xba, 0x32, - 0xa1, 0xd0, 0xd5, 0x82, 0x42, 0xd7, 0x92, 0x85, 0x5e, 0xf8, 0x2a, 0x40, 0xac, 0x6e, 0x68, 0x0e, - 0x9a, 0x0f, 0xdd, 0xc7, 0xae, 0xf7, 0xc4, 0xed, 0x94, 0x68, 0xe2, 0xfe, 0xd6, 0x16, 0x95, 0xd2, - 0x29, 0xd3, 0x04, 0xa5, 0x73, 0xdc, 0x61, 0xa7, 0x82, 0x00, 0x1a, 0x34, 0x41, 0xec, 0x4e, 0x95, - 0xfe, 0xbe, 0xc5, 0xfa, 0xaf, 0x53, 0x43, 0xcf, 0xc2, 0x91, 0xbe, 0x3b, 0xf0, 0x76, 0xc6, 0x56, - 0xe8, 0x6c, 0x8e, 0xc8, 0x23, 0xe2, 0x07, 0x8e, 0xe7, 0x76, 0xea, 0x74, 0xf4, 0x5a, 0x23, 0xe1, - 0x13, 0xcf, 0x7f, 0xbc, 0x46, 0x88, 0x2d, 0xde, 0x9c, 0xe8, 0x34, 0xcc, 0xff, 0x28, 0xf3, 0xdd, - 0x60, 0xf3, 0x26, 0x1c, 0xd0, 0x5e, 0x59, 0x31, 0xe2, 0x37, 0x9f, 0x13, 0x4f, 0x3e, 0x1f, 0x63, - 0xf1, 0x5a, 0x12, 0x4f, 0x65, 0x78, 0xca, 0xbc, 0x05, 0xa0, 0xbc, 0xad, 0x72, 0x02, 0x60, 0x73, - 0x3f, 0x24, 0x01, 0x7f, 0x57, 0x85, 0x42, 0xd4, 0xb0, 0x92, 0xa3, 0xe2, 0x57, 0x34, 0x7c, 0xf3, - 0x32, 0x80, 0xf2, 0xb2, 0x0a, 0xb5, 0x2b, 0x9a, 0x5a, 0x4a, 0x82, 0x25, 0xb3, 0xcd, 0xae, 0xa8, - 0x41, 0xf4, 0x86, 0x4a, 0x54, 0x02, 0x1e, 0xbd, 0x53, 0x4b, 0xc0, 0x72, 0xcc, 0x55, 0x80, 0xf8, - 0x19, 0x11, 0xf3, 0x8a, 0x74, 0xdd, 0xaf, 0x43, 0xcd, 0xb6, 0x42, 0x4b, 0x78, 0xcd, 0xe7, 0x12, - 0x23, 0x57, 0xcc, 0x82, 0x19, 0x99, 0xf9, 0x7b, 0x65, 0x38, 0xa0, 0x3e, 0x99, 0x62, 0xbe, 0x0b, - 0x35, 0xf6, 0xe6, 0xca, 0x0d, 0x38, 0xa0, 0xbe, 0x99, 0x92, 0x7a, 0x1b, 0x9b, 0xe3, 0xa9, 0xac, - 0x58, 0x63, 0x30, 0xfb, 0xb2, 0x48, 0x1f, 0x1a, 0xea, 0x0d, 0x68, 0x8a, 0x27, 0x58, 0xcc, 0xd3, - 0xd0, 0x8e, 0x5f, 0x5c, 0xa1, 0xbe, 0x83, 0xe7, 0x47, 0xbd, 0x2c, 0x92, 0xe6, 0x3f, 0x57, 0xa1, - 0xce, 0xba, 0xd3, 0xfc, 0x7a, 0x45, 0xd5, 0x50, 0xf3, 0xa7, 0xe5, 0xdc, 0xb5, 0xe0, 0x45, 0xed, - 0xa9, 0x82, 0xf9, 0xd4, 0x4b, 0x43, 0xe2, 0x81, 0x15, 0xdd, 0xb1, 0x5e, 0x86, 0xa6, 0xcb, 0x35, - 0x53, 0xbc, 0x14, 0x70, 0x3c, 0x93, 0x4b, 0x68, 0x2f, 0x8e, 0x88, 0xd1, 0x25, 0xa8, 0x13, 0xdf, - 0xf7, 0x7c, 0x66, 0x52, 0xf3, 0xa9, 0x37, 0x7b, 0xe2, 0xc7, 0x5c, 0x56, 0x29, 0x15, 0xe6, 0xc4, - 0xe8, 0x12, 0x3c, 0x13, 0x70, 0x2b, 0xe2, 0x73, 0xca, 0x40, 0xdc, 0xab, 0x16, 0xde, 0x26, 0xfb, - 0xe3, 0xc2, 0xa7, 0xa3, 0x01, 0x56, 0x31, 0xbc, 0x92, 0x6a, 0x91, 0x65, 0xd4, 0x86, 0x3a, 0x13, - 0xd4, 0xa9, 0xa8, 0x66, 0x5b, 0xcd, 0x31, 0xbc, 0xda, 0xc2, 0x45, 0x68, 0x8a, 0x7c, 0x4a, 0xbf, - 0xc8, 0xcb, 0xde, 0x29, 0xa1, 0x03, 0xd0, 0xda, 0x20, 0xa3, 0xad, 0x9e, 0x17, 0x84, 0x9d, 0x32, - 0x3a, 0x08, 0x6d, 0x66, 0x0b, 0xf7, 0xdd, 0xd1, 0x7e, 0xa7, 0xb2, 0xf0, 0x1e, 0xb4, 0x65, 0x8d, - 0x50, 0x0b, 0x6a, 0x6b, 0xbb, 0xa3, 0x51, 0xa7, 0xc4, 0xa6, 0xa6, 0xa1, 0xe7, 0x47, 0x81, 0xe9, - 0xd5, 0xa7, 0x74, 0x9c, 0xe9, 0x94, 0xf3, 0xbc, 0x41, 0x05, 0x75, 0xe0, 0x80, 0x10, 0xce, 0xcb, - 0x5c, 0x35, 0xff, 0xb1, 0x0c, 0x6d, 0xf9, 0x4a, 0x0d, 0x9d, 0x17, 0x46, 0x7d, 0x9c, 0xef, 0x07, - 0xae, 0x24, 0x7a, 0x3b, 0xff, 0xd1, 0x9b, 0x44, 0x8f, 0x9f, 0x81, 0x79, 0xe1, 0x72, 0xa3, 0xc6, - 0xe7, 0x5e, 0x33, 0x91, 0xbb, 0x70, 0x5b, 0xb6, 0x7a, 0x87, 0x99, 0xd8, 0xb2, 0xe7, 0xba, 0x64, - 0x10, 0xb2, 0xb6, 0x3f, 0x04, 0x73, 0x6b, 0x5e, 0xb8, 0xee, 0x05, 0x01, 0xad, 0x19, 0x6f, 0xa9, - 0xf8, 0x7b, 0x05, 0xcd, 0x03, 0x44, 0x67, 0xcd, 0xa8, 0x93, 0x34, 0x7f, 0xb7, 0x0c, 0x0d, 0xfe, - 0x76, 0x8e, 0xf9, 0x9b, 0x65, 0x68, 0x88, 0xf7, 0x72, 0x5e, 0x85, 0x8e, 0xef, 0x51, 0xe0, 0x68, - 0x41, 0xd1, 0x5f, 0x11, 0xb5, 0x4c, 0xe5, 0xd3, 0x35, 0xae, 0xa7, 0x68, 0x85, 0x98, 0x02, 0x68, - 0x79, 0xe8, 0x2a, 0x00, 0x7f, 0x8f, 0xe7, 0xc1, 0xbe, 0x7c, 0xf8, 0x22, 0x79, 0xc4, 0x4c, 0xbc, - 0xe0, 0xc3, 0x36, 0x63, 0x14, 0xea, 0x85, 0xaf, 0xc0, 0x41, 0x4c, 0x82, 0xb1, 0xe7, 0x06, 0xe4, - 0xe7, 0xf5, 0x3f, 0x02, 0x72, 0x5f, 0xfb, 0x5f, 0xf8, 0x61, 0x1d, 0xea, 0x6c, 0x76, 0x69, 0xfe, - 0x55, 0x5d, 0xce, 0x83, 0x53, 0xf6, 0x7d, 0x41, 0x3d, 0xe8, 0xa3, 0x1a, 0xaa, 0x36, 0x31, 0xd5, - 0x0f, 0xf8, 0x7c, 0x0a, 0x5a, 0x63, 0xdf, 0x1b, 0xfa, 0x74, 0x3e, 0x5b, 0x4b, 0x3c, 0x8e, 0xa4, - 0xb3, 0xad, 0x0b, 0x32, 0x2c, 0x19, 0x54, 0xe5, 0xab, 0xeb, 0xca, 0x77, 0x13, 0xda, 0xb6, 0xef, - 0x8d, 0xd9, 0x15, 0x75, 0xb1, 0xb9, 0x76, 0x32, 0x07, 0x77, 0x25, 0xa2, 0xeb, 0x95, 0x70, 0xcc, - 0x44, 0xd5, 0x97, 0xb7, 0xbe, 0xd8, 0xd7, 0x7e, 0x21, 0x87, 0x9d, 0xf7, 0x57, 0xaf, 0x84, 0x05, - 0x39, 0x65, 0x24, 0x4f, 0x19, 0x63, 0x6b, 0x22, 0xe3, 0xea, 0xd3, 0x88, 0x91, 0x93, 0xa3, 0x6b, - 0xd0, 0x0a, 0xac, 0x3d, 0xc2, 0x5e, 0x04, 0x6e, 0x4f, 0x6c, 0x8a, 0x0d, 0x41, 0xd6, 0x2b, 0x61, - 0xc9, 0x42, 0xab, 0xbc, 0xe3, 0x0c, 0xf9, 0x4a, 0x52, 0x3c, 0x4b, 0x9c, 0x57, 0xe5, 0x7b, 0x11, - 0x1d, 0x7b, 0x43, 0x3a, 0x4a, 0xd0, 0x95, 0x0f, 0x77, 0x99, 0x73, 0x7c, 0xdb, 0x98, 0x25, 0xcc, - 0x39, 0x68, 0xcb, 0x26, 0x32, 0x5b, 0xd2, 0x4c, 0x5a, 0xd0, 0xe0, 0x35, 0x30, 0x01, 0x5a, 0x51, - 0x81, 0x28, 0xb1, 0x04, 0x37, 0xd7, 0xa0, 0x15, 0x75, 0x5a, 0xce, 0xb3, 0x14, 0x08, 0x6a, 0xb6, - 0x27, 0xa6, 0x4c, 0x55, 0xcc, 0x7e, 0xd3, 0x4e, 0x55, 0xdf, 0x54, 0x6a, 0xcb, 0xd7, 0x8c, 0x16, - 0x16, 0xa3, 0xf3, 0x4a, 0xd4, 0xb5, 0xf1, 0xc5, 0xf8, 0x1c, 0x34, 0xf1, 0x2e, 0x9b, 0xcd, 0x76, - 0xca, 0x34, 0x9b, 0x2e, 0x91, 0x3a, 0x15, 0xea, 0x25, 0x97, 0x2d, 0x77, 0x40, 0x46, 0x6c, 0x06, - 0x24, 0x7d, 0x6f, 0x6d, 0xa9, 0x2d, 0xc1, 0x97, 0x8e, 0xff, 0xf5, 0x07, 0x27, 0xca, 0x3f, 0xf8, - 0xe0, 0x44, 0xf9, 0xc7, 0x1f, 0x9c, 0x28, 0xff, 0xc6, 0x4f, 0x4e, 0x94, 0x7e, 0xf0, 0x93, 0x13, - 0xa5, 0x7f, 0xf8, 0xc9, 0x89, 0xd2, 0xfb, 0x95, 0xf1, 0xe6, 0x66, 0x83, 0x9d, 0x39, 0xb9, 0xf8, - 0x9f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xb5, 0x54, 0x80, 0x8a, 0xfa, 0x63, 0x00, 0x00, + // 6259 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5d, 0x49, 0x8c, 0x1d, 0xc7, + 0x79, 0x7e, 0xfb, 0xf2, 0xcf, 0x70, 0xf8, 0x58, 0xa4, 0xa8, 0x56, 0x8b, 0xa2, 0xa8, 0x11, 0x49, + 0xd1, 0x12, 0xf5, 0x48, 0x91, 0x14, 0x29, 0x53, 0xe2, 0x32, 0x1b, 0xf5, 0x1e, 0x97, 0xe1, 0xb8, + 0x86, 0xa4, 0x65, 0xd9, 0x08, 0xdc, 0xf3, 0xba, 0x66, 0xa6, 0xcd, 0x37, 0xdd, 0xcf, 0xdd, 0x3d, + 0x43, 0x8e, 0xb7, 0x28, 0xb6, 0x83, 0x20, 0x40, 0x82, 0xe4, 0x10, 0x24, 0x41, 0x2e, 0x01, 0x82, + 0x18, 0xc8, 0x21, 0x08, 0x02, 0xe4, 0x92, 0x5c, 0xb2, 0x20, 0x08, 0x12, 0x67, 0x01, 0xec, 0x5b, + 0x0e, 0x49, 0x6c, 0xc8, 0x97, 0x1c, 0x92, 0x83, 0x13, 0x20, 0xc8, 0x31, 0xa8, 0xa5, 0xab, 0xab, + 0x7a, 0x79, 0xfd, 0x9e, 0x25, 0x67, 0x41, 0x7c, 0x9a, 0x57, 0xd5, 0xff, 0xff, 0xfd, 0xb5, 0xfc, + 0xff, 0x5f, 0x55, 0x7f, 0x2d, 0x03, 0x47, 0x47, 0x1b, 0xe7, 0x46, 0xbe, 0x17, 0x7a, 0xc1, 0x39, + 0xb2, 0x47, 0xdc, 0x30, 0xe8, 0xb2, 0x14, 0x6a, 0x5a, 0xee, 0x7e, 0xb8, 0x3f, 0x22, 0xe6, 0xc9, + 0xd1, 0xe3, 0xad, 0x73, 0x43, 0x67, 0xe3, 0xdc, 0x68, 0xe3, 0xdc, 0x8e, 0x67, 0x93, 0x61, 0x44, + 0xce, 0x12, 0x82, 0xdc, 0x3c, 0xb6, 0xe5, 0x79, 0x5b, 0x43, 0xc2, 0xbf, 0x6d, 0xec, 0x6e, 0x9e, + 0x0b, 0x42, 0x7f, 0x77, 0x10, 0xf2, 0xaf, 0xf3, 0xff, 0xf0, 0x67, 0x65, 0xa8, 0xaf, 0x50, 0x78, + 0x74, 0x01, 0x5a, 0x3b, 0x24, 0x08, 0xac, 0x2d, 0x12, 0x18, 0xe5, 0x13, 0xd5, 0x33, 0x33, 0x17, + 0x8e, 0x76, 0x85, 0xa8, 0x2e, 0xa3, 0xe8, 0xde, 0xe3, 0x9f, 0xb1, 0xa4, 0x43, 0xc7, 0xa0, 0x3d, + 0xf0, 0xdc, 0x90, 0x3c, 0x0d, 0xfb, 0xb6, 0x51, 0x39, 0x51, 0x3e, 0xd3, 0xc6, 0x71, 0x06, 0xba, + 0x04, 0x6d, 0xc7, 0x75, 0x42, 0xc7, 0x0a, 0x3d, 0xdf, 0xa8, 0x9e, 0x28, 0x6b, 0x90, 0xac, 0x90, + 0xdd, 0x85, 0xc1, 0xc0, 0xdb, 0x75, 0x43, 0x1c, 0x13, 0x22, 0x03, 0x9a, 0xa1, 0x6f, 0x0d, 0x48, + 0xdf, 0x36, 0x6a, 0x0c, 0x31, 0x4a, 0x9a, 0xdf, 0x7e, 0x03, 0x9a, 0xa2, 0x0c, 0xe8, 0x39, 0x68, + 0x06, 0x23, 0x4e, 0xf5, 0xcd, 0x32, 0x27, 0x13, 0x69, 0x74, 0x03, 0x66, 0x2c, 0x0e, 0xbb, 0xbe, + 0xed, 0x3d, 0x31, 0xca, 0x4c, 0xf0, 0xf3, 0x89, 0xba, 0x08, 0xc1, 0x5d, 0x4a, 0xd2, 0x2b, 0x61, + 0x95, 0x03, 0xf5, 0x61, 0x4e, 0x24, 0x97, 0x49, 0x68, 0x39, 0xc3, 0xc0, 0xf8, 0x36, 0x07, 0x39, + 0x9e, 0x03, 0x22, 0xc8, 0x7a, 0x25, 0x9c, 0x60, 0x44, 0x9f, 0x81, 0xc3, 0x22, 0x67, 0xc9, 0x73, + 0x37, 0x9d, 0xad, 0x87, 0x23, 0xdb, 0x0a, 0x89, 0xf1, 0xd7, 0x1c, 0xef, 0x64, 0x0e, 0x1e, 0xa7, + 0xed, 0x72, 0xe2, 0x5e, 0x09, 0x67, 0x61, 0xa0, 0x5b, 0x70, 0x40, 0x64, 0x0b, 0xd0, 0xbf, 0xe1, + 0xa0, 0x2f, 0xe4, 0x80, 0x4a, 0x34, 0x9d, 0x0d, 0x7d, 0x16, 0x8e, 0x88, 0x8c, 0xbb, 0x8e, 0xfb, + 0x78, 0x69, 0xdb, 0x1a, 0x0e, 0x89, 0xbb, 0x45, 0x8c, 0xbf, 0x1d, 0x5f, 0x46, 0x8d, 0xb8, 0x57, + 0xc2, 0x99, 0x20, 0x68, 0x0b, 0x8c, 0xac, 0xfc, 0x9e, 0x63, 0x13, 0xe3, 0xef, 0xb8, 0x80, 0x33, + 0x13, 0x09, 0x70, 0x6c, 0x2a, 0x24, 0x17, 0x0c, 0xdd, 0x87, 0x8e, 0xb7, 0xf1, 0x05, 0x32, 0x88, + 0x5a, 0x7e, 0x9d, 0x84, 0x46, 0x87, 0xe1, 0xbf, 0x94, 0xc0, 0xbf, 0xcf, 0xc8, 0xa2, 0x3e, 0xeb, + 0xae, 0x93, 0xb0, 0x57, 0xc2, 0x29, 0x66, 0xf4, 0x10, 0x90, 0x96, 0xb7, 0xb0, 0x43, 0x5c, 0xdb, + 0xb8, 0xc0, 0x20, 0x5f, 0x1e, 0x0f, 0xc9, 0x48, 0x7b, 0x25, 0x9c, 0x01, 0x90, 0x82, 0x7d, 0xe8, + 0x06, 0x24, 0x34, 0x2e, 0x4e, 0x02, 0xcb, 0x48, 0x53, 0xb0, 0x2c, 0x97, 0x76, 0x22, 0xcf, 0xc5, + 0x64, 0x68, 0x85, 0x8e, 0xe7, 0x8a, 0xf2, 0x5e, 0x62, 0xc0, 0xa7, 0xb2, 0x81, 0x25, 0xad, 0x2c, + 0x71, 0x26, 0x08, 0xfa, 0x29, 0x78, 0x26, 0x91, 0x8f, 0xc9, 0x8e, 0xb7, 0x47, 0x8c, 0x37, 0x19, + 0xfa, 0xe9, 0x22, 0x74, 0x4e, 0xdd, 0x2b, 0xe1, 0x6c, 0x18, 0xb4, 0x08, 0xb3, 0xd1, 0x07, 0x06, + 0x7b, 0x99, 0xc1, 0x1e, 0xcb, 0x83, 0x15, 0x60, 0x1a, 0x0f, 0x35, 0x7a, 0x9e, 0x5e, 0x1a, 0x7a, + 0x01, 0x31, 0x16, 0x32, 0x8d, 0x5e, 0x40, 0x30, 0x12, 0x6a, 0xf4, 0x0a, 0x87, 0x5a, 0xc9, 0x20, + 0xf4, 0x9d, 0x01, 0x2b, 0x20, 0xd5, 0xa2, 0x2b, 0xe3, 0x2b, 0x19, 0x13, 0x0b, 0x55, 0xca, 0x86, + 0x41, 0x18, 0x0e, 0x06, 0xbb, 0x1b, 0xc1, 0xc0, 0x77, 0x46, 0x34, 0x6f, 0xc1, 0xb6, 0x8d, 0x77, + 0xc6, 0x21, 0xaf, 0x2b, 0xc4, 0xdd, 0x05, 0x9b, 0xf6, 0x4e, 0x12, 0x00, 0x7d, 0x16, 0x90, 0x9a, + 0x25, 0x9a, 0xef, 0x1a, 0x83, 0xfd, 0xc4, 0x04, 0xb0, 0xb2, 0x2d, 0x33, 0x60, 0x90, 0x05, 0x47, + 0xd4, 0xdc, 0x35, 0x2f, 0x70, 0xe8, 0x5f, 0xe3, 0x3a, 0x83, 0x7f, 0x6d, 0x02, 0xf8, 0x88, 0x85, + 0x2a, 0x56, 0x16, 0x54, 0x52, 0xc4, 0x12, 0x35, 0x6d, 0xe2, 0x07, 0xc6, 0x8d, 0x89, 0x45, 0x44, + 0x2c, 0x49, 0x11, 0x51, 0x7e, 0xb2, 0x89, 0xde, 0xf5, 0xbd, 0xdd, 0x51, 0x60, 0xdc, 0x9c, 0xb8, + 0x89, 0x38, 0x43, 0xb2, 0x89, 0x78, 0x2e, 0xba, 0x0c, 0xad, 0x8d, 0xa1, 0x37, 0x78, 0x4c, 0x3b, + 0xb3, 0xc2, 0x20, 0x8d, 0x04, 0xe4, 0x22, 0xfd, 0x2c, 0xba, 0x4f, 0xd2, 0x52, 0x65, 0x65, 0xbf, + 0x97, 0xc9, 0x90, 0x84, 0x44, 0x0c, 0x8d, 0xcf, 0x67, 0xb2, 0x72, 0x12, 0xaa, 0xac, 0x0a, 0x07, + 0x5a, 0x86, 0x99, 0x4d, 0x67, 0x48, 0x82, 0x87, 0xa3, 0xa1, 0x67, 0xf1, 0x71, 0x72, 0xe6, 0xc2, + 0x89, 0x4c, 0x80, 0x5b, 0x31, 0x1d, 0x45, 0x51, 0xd8, 0xd0, 0x75, 0x68, 0xef, 0x58, 0xfe, 0xe3, + 0xa0, 0xef, 0x6e, 0x7a, 0x46, 0x3d, 0x73, 0x84, 0xe3, 0x18, 0xf7, 0x22, 0xaa, 0x5e, 0x09, 0xc7, + 0x2c, 0x74, 0x9c, 0x64, 0x85, 0x5a, 0x27, 0xe1, 0x2d, 0x87, 0x0c, 0xed, 0xc0, 0x68, 0x30, 0x90, + 0x17, 0x33, 0x41, 0xd6, 0x49, 0xd8, 0xe5, 0x64, 0x74, 0x9c, 0xd4, 0x19, 0xd1, 0x7b, 0x70, 0x38, + 0xca, 0x59, 0xda, 0x76, 0x86, 0xb6, 0x4f, 0xdc, 0xbe, 0x1d, 0x18, 0xcd, 0xcc, 0x21, 0x28, 0xc6, + 0x53, 0x68, 0xe9, 0x30, 0x99, 0x01, 0x41, 0x3d, 0x63, 0x94, 0xad, 0x9a, 0xa4, 0xd1, 0xca, 0xf4, + 0x8c, 0x31, 0xb4, 0x4a, 0x4c, 0xb5, 0x2b, 0x0b, 0x04, 0xd9, 0xf0, 0x6c, 0x94, 0xbf, 0x68, 0x0d, + 0x1e, 0x6f, 0xf9, 0xde, 0xae, 0x6b, 0x2f, 0x79, 0x43, 0xcf, 0x37, 0xda, 0x99, 0x83, 0x5b, 0x8c, + 0x9f, 0xa0, 0xef, 0x95, 0x70, 0x1e, 0x14, 0x5a, 0x82, 0xd9, 0xe8, 0xd3, 0x03, 0xf2, 0x34, 0x34, + 0x20, 0x73, 0x9c, 0x8f, 0xa1, 0x29, 0x11, 0x75, 0x90, 0x2a, 0x93, 0x0a, 0x42, 0x55, 0xc2, 0x98, + 0x29, 0x00, 0xa1, 0x44, 0x2a, 0x08, 0x4d, 0xab, 0x20, 0x74, 0x08, 0x36, 0x0e, 0x14, 0x80, 0x50, + 0x22, 0x15, 0x84, 0xa6, 0xe9, 0x50, 0x2d, 0x6b, 0xea, 0x79, 0x8f, 0xa9, 0x3e, 0x19, 0x73, 0x99, + 0x43, 0xb5, 0xd2, 0x5a, 0x82, 0x90, 0x0e, 0xd5, 0x49, 0x66, 0x3a, 0x13, 0x8a, 0xf2, 0x16, 0x86, + 0xce, 0x96, 0x6b, 0x1c, 0x1c, 0xa3, 0xcb, 0x14, 0x8d, 0x51, 0xd1, 0x99, 0x90, 0xc6, 0x86, 0x6e, + 0x0a, 0xb3, 0x5c, 0x27, 0xe1, 0xb2, 0xb3, 0x67, 0x1c, 0xca, 0x1c, 0x86, 0x62, 0x94, 0x65, 0x67, + 0x4f, 0xda, 0x25, 0x67, 0x51, 0xab, 0x16, 0x0d, 0x72, 0xc6, 0x33, 0x05, 0x55, 0x8b, 0x08, 0xd5, + 0xaa, 0x45, 0x79, 0x6a, 0xd5, 0xee, 0x5a, 0x21, 0x79, 0x6a, 0x3c, 0x57, 0x50, 0x35, 0x46, 0xa5, + 0x56, 0x8d, 0x65, 0xd0, 0xd1, 0x2d, 0xca, 0x78, 0x44, 0xfc, 0xd0, 0x19, 0x58, 0x43, 0xde, 0x54, + 0x27, 0x33, 0xc7, 0xa0, 0x18, 0x4f, 0xa3, 0xa6, 0xa3, 0x5b, 0x26, 0x8c, 0x5a, 0xf1, 0x07, 0xd6, + 0xc6, 0x90, 0x60, 0xef, 0x89, 0x71, 0xaa, 0xa0, 0xe2, 0x11, 0xa1, 0x5a, 0xf1, 0x28, 0x4f, 0xf5, + 0x2d, 0x9f, 0x76, 0xec, 0x2d, 0x12, 0x1a, 0x67, 0x0a, 0x7c, 0x0b, 0x27, 0x53, 0x7d, 0x0b, 0xcf, + 0x91, 0x1e, 0x60, 0xd9, 0x0a, 0xad, 0x3d, 0x87, 0x3c, 0x79, 0xe4, 0x90, 0x27, 0x74, 0x60, 0x3f, + 0x3c, 0xc6, 0x03, 0x44, 0xb4, 0x5d, 0x41, 0x2c, 0x3d, 0x40, 0x02, 0x44, 0x7a, 0x00, 0x35, 0x5f, + 0xb8, 0xf5, 0x23, 0x63, 0x3c, 0x80, 0x86, 0x2f, 0x7d, 0x7c, 0x1e, 0x14, 0xb2, 0xe0, 0x68, 0xea, + 0xd3, 0x7d, 0xdf, 0x26, 0xbe, 0xf1, 0x02, 0x13, 0xf2, 0x4a, 0xb1, 0x10, 0x46, 0xde, 0x2b, 0xe1, + 0x1c, 0xa0, 0x94, 0x88, 0x75, 0x6f, 0xd7, 0x1f, 0x10, 0xda, 0x4e, 0x2f, 0x4f, 0x22, 0x42, 0x92, + 0xa7, 0x44, 0xc8, 0x2f, 0x68, 0x0f, 0x5e, 0x90, 0x5f, 0xa8, 0x60, 0x36, 0x8a, 0x32, 0xe9, 0x62, + 0x05, 0x73, 0x9a, 0x49, 0xea, 0x8e, 0x97, 0x94, 0xe4, 0xea, 0x95, 0xf0, 0x78, 0x58, 0xb4, 0x0f, + 0xc7, 0x35, 0x02, 0x3e, 0xce, 0xab, 0x82, 0x5f, 0x61, 0x82, 0xcf, 0x8d, 0x17, 0x9c, 0x62, 0xeb, + 0x95, 0x70, 0x01, 0x30, 0x1a, 0xc1, 0xf3, 0x5a, 0x63, 0x44, 0x86, 0x2d, 0x54, 0xe4, 0x2b, 0x4c, + 0xee, 0xd9, 0xf1, 0x72, 0x75, 0x9e, 0x5e, 0x09, 0x8f, 0x83, 0xa4, 0x2b, 0xae, 0xcc, 0xcf, 0xb4, + 0x27, 0xbf, 0x9c, 0x39, 0xed, 0xc9, 0x11, 0xc7, 0xfb, 0x32, 0x17, 0x2c, 0x53, 0xf3, 0x45, 0x73, + 0x7e, 0x75, 0x52, 0xcd, 0x97, 0xed, 0x98, 0x07, 0xa5, 0xf5, 0x1d, 0xfd, 0xf4, 0xc0, 0xf2, 0xb7, + 0x48, 0xc8, 0x1b, 0xba, 0x6f, 0xd3, 0x4a, 0x7d, 0x6d, 0x92, 0xbe, 0x4b, 0xb1, 0x69, 0x7d, 0x97, + 0x09, 0x8c, 0x02, 0x38, 0xa6, 0x51, 0xf4, 0x83, 0x25, 0x6f, 0x38, 0x24, 0x83, 0xa8, 0x35, 0x7f, + 0x9a, 0x09, 0x7e, 0x7d, 0xbc, 0xe0, 0x04, 0x53, 0xaf, 0x84, 0xc7, 0x82, 0xa6, 0xea, 0x7b, 0x7f, + 0x68, 0x27, 0x74, 0xc6, 0x98, 0x48, 0x57, 0x93, 0x6c, 0xa9, 0xfa, 0xa6, 0x28, 0x52, 0xba, 0xaa, + 0x50, 0xd0, 0xea, 0x3e, 0x3b, 0x89, 0xae, 0xea, 0x3c, 0x29, 0x5d, 0xd5, 0x3f, 0xd3, 0xd1, 0x6d, + 0x37, 0x20, 0x3e, 0xc3, 0xb8, 0xed, 0x39, 0xae, 0xf1, 0x62, 0xe6, 0xe8, 0xf6, 0x30, 0x20, 0xbe, + 0x10, 0x44, 0xa9, 0xe8, 0xe8, 0xa6, 0xb1, 0x69, 0x38, 0x77, 0xc9, 0x66, 0x68, 0x9c, 0x28, 0xc2, + 0xa1, 0x54, 0x1a, 0x0e, 0xcd, 0xa0, 0x23, 0x85, 0xcc, 0x58, 0x27, 0xb4, 0x57, 0xb0, 0xe5, 0x6e, + 0x11, 0xe3, 0xa5, 0xcc, 0x91, 0x42, 0x81, 0x53, 0x88, 0xe9, 0x48, 0x91, 0x05, 0x42, 0x57, 0xfe, + 0x32, 0x9f, 0xce, 0xc8, 0x38, 0xf4, 0x7c, 0xe6, 0xca, 0x5f, 0x81, 0x96, 0xa4, 0x74, 0x0d, 0x92, + 0x06, 0x40, 0x9f, 0x80, 0xda, 0xc8, 0x71, 0xb7, 0x0c, 0x9b, 0x01, 0x1d, 0x4e, 0x00, 0xad, 0x39, + 0xee, 0x56, 0xaf, 0x84, 0x19, 0x09, 0x7a, 0x07, 0x60, 0xe4, 0x7b, 0x03, 0x12, 0x04, 0xab, 0xe4, + 0x89, 0x41, 0x18, 0x83, 0x99, 0x64, 0xe0, 0x04, 0xdd, 0x55, 0x42, 0xc7, 0x65, 0x85, 0x1e, 0xad, + 0xc0, 0x01, 0x91, 0x12, 0x56, 0xbe, 0x99, 0x39, 0xf9, 0x8b, 0x00, 0xe2, 0x70, 0x93, 0xc6, 0x45, + 0xd7, 0x3e, 0x22, 0x63, 0xd9, 0x73, 0x89, 0xb1, 0x95, 0xb9, 0xf6, 0x89, 0x40, 0x28, 0x09, 0x9d, + 0x63, 0x29, 0x1c, 0x68, 0x11, 0x66, 0xc3, 0x6d, 0x9f, 0x58, 0xf6, 0x7a, 0x68, 0x85, 0xbb, 0x81, + 0xe1, 0x66, 0x4e, 0xd3, 0xf8, 0xc7, 0xee, 0x03, 0x46, 0x49, 0xa7, 0xa0, 0x2a, 0x0f, 0x5a, 0x85, + 0x0e, 0x5d, 0x08, 0xdd, 0x75, 0x76, 0x9c, 0x10, 0x13, 0x6b, 0xb0, 0x4d, 0x6c, 0xc3, 0xcb, 0x5c, + 0x44, 0xd1, 0x69, 0x6f, 0x57, 0xa5, 0xa3, 0xb3, 0x95, 0x24, 0x2f, 0xea, 0xc1, 0x1c, 0xcd, 0x5b, + 0x1f, 0x59, 0x03, 0xf2, 0x30, 0xb0, 0xb6, 0x88, 0x31, 0xca, 0xd4, 0x40, 0x86, 0x16, 0x53, 0xd1, + 0xc9, 0x8a, 0xce, 0x17, 0x21, 0xdd, 0xf5, 0x06, 0xd6, 0x90, 0x23, 0x7d, 0x31, 0x1f, 0x29, 0xa6, + 0x8a, 0x90, 0xe2, 0x1c, 0xad, 0x8e, 0xbc, 0xed, 0x6d, 0x63, 0xaf, 0xa0, 0x8e, 0x82, 0x4e, 0xab, + 0xa3, 0xc8, 0xa3, 0x78, 0xae, 0x17, 0x3a, 0x9b, 0xce, 0x40, 0xd8, 0xaf, 0x6b, 0x1b, 0x7e, 0x26, + 0xde, 0xaa, 0x42, 0xd6, 0x5d, 0xe7, 0x91, 0xa5, 0x14, 0x2f, 0x7a, 0x00, 0x48, 0xcd, 0x13, 0x4a, + 0x15, 0x30, 0xc4, 0xf9, 0x71, 0x88, 0x52, 0xb3, 0x32, 0xf8, 0x69, 0x29, 0x47, 0xd6, 0x3e, 0x5d, + 0xde, 0x2e, 0xfa, 0x9e, 0x65, 0x0f, 0xac, 0x20, 0x34, 0xc2, 0xcc, 0x52, 0xae, 0x71, 0xb2, 0xae, + 0xa4, 0xa3, 0xa5, 0x4c, 0xf2, 0x52, 0xbc, 0x1d, 0xb2, 0xb3, 0x41, 0xfc, 0x60, 0xdb, 0x19, 0x89, + 0x32, 0xee, 0x66, 0xe2, 0xdd, 0x93, 0x64, 0x71, 0x09, 0x53, 0xbc, 0x74, 0x22, 0xce, 0xe2, 0xd4, + 0xeb, 0xfb, 0xee, 0x80, 0x2b, 0xa3, 0x00, 0x7d, 0x92, 0x39, 0x11, 0x67, 0x9a, 0xd1, 0x8d, 0x89, + 0x63, 0xe8, 0x6c, 0x18, 0x74, 0x07, 0x0e, 0x8e, 0x2e, 0x8c, 0x34, 0xe4, 0xa7, 0x99, 0x13, 0xe7, + 0xb5, 0x0b, 0x6b, 0x49, 0xc8, 0x24, 0x27, 0x35, 0x35, 0x67, 0x67, 0xe4, 0xf9, 0xe1, 0x2d, 0xc7, + 0x75, 0x82, 0x6d, 0x63, 0x3f, 0xd3, 0xd4, 0xfa, 0x8c, 0xa4, 0xcb, 0x69, 0xa8, 0xa9, 0xa9, 0x3c, + 0xe8, 0x12, 0x34, 0x07, 0xdb, 0x56, 0xb8, 0x60, 0xdb, 0xc6, 0x07, 0x3c, 0xe0, 0xfb, 0x6c, 0x82, + 0x7f, 0x69, 0xdb, 0x0a, 0x45, 0x88, 0x24, 0x22, 0x45, 0xd7, 0x00, 0xe8, 0x4f, 0x51, 0x83, 0x9f, + 0x29, 0x67, 0xfa, 0x2a, 0xc6, 0x28, 0x4b, 0xaf, 0x30, 0xa0, 0xf7, 0xe0, 0x70, 0x9c, 0xa2, 0x46, + 0xca, 0xd7, 0xfc, 0x5f, 0x2f, 0x67, 0x7a, 0x5b, 0x05, 0x47, 0xd2, 0xf6, 0x4a, 0x38, 0x0b, 0x22, + 0x2a, 0x98, 0x18, 0x8b, 0xbf, 0x31, 0xa6, 0x60, 0x72, 0xdc, 0x55, 0x18, 0x16, 0x9b, 0x50, 0xdf, + 0xb3, 0x86, 0xbb, 0xc4, 0xfc, 0xa0, 0x06, 0x35, 0x4a, 0x66, 0xfe, 0x53, 0x19, 0xaa, 0xb4, 0xc6, + 0x73, 0x50, 0x71, 0x6c, 0x83, 0x6f, 0x65, 0x54, 0x1c, 0x1b, 0x19, 0xd0, 0xf4, 0xe8, 0x44, 0x52, + 0x6e, 0xac, 0x44, 0x49, 0x34, 0x0f, 0xb3, 0xd6, 0x66, 0x48, 0xfc, 0xfb, 0xe2, 0x73, 0x83, 0x7d, + 0xd6, 0xf2, 0x68, 0xab, 0x8b, 0x4d, 0x1a, 0x11, 0x5d, 0x32, 0x13, 0x1b, 0x2f, 0x54, 0x76, 0xb4, + 0x9f, 0x13, 0x91, 0xa2, 0xa3, 0xd0, 0x08, 0x76, 0x37, 0xfa, 0x76, 0x60, 0xd4, 0x4e, 0x54, 0xcf, + 0xb4, 0xb1, 0x48, 0xa1, 0xb7, 0x61, 0xd6, 0x26, 0x23, 0xe2, 0xda, 0xc4, 0x1d, 0x38, 0x24, 0x30, + 0xea, 0x6c, 0x7b, 0xe8, 0xd9, 0x2e, 0xdf, 0x5a, 0xea, 0x46, 0x5b, 0x4b, 0xdd, 0x75, 0xb6, 0xb5, + 0x84, 0x35, 0x62, 0xf3, 0x3c, 0x34, 0xc4, 0x04, 0x23, 0x59, 0xc5, 0x58, 0x5c, 0x45, 0x15, 0x67, + 0x6e, 0x42, 0x43, 0xf4, 0x63, 0x92, 0x43, 0xa9, 0x56, 0xe5, 0x47, 0xa9, 0x56, 0x55, 0x93, 0xf3, + 0x55, 0x38, 0x98, 0xec, 0xde, 0xa4, 0xc0, 0x45, 0x68, 0xfb, 0x52, 0x7d, 0x2a, 0x89, 0x68, 0x54, + 0x4a, 0x64, 0x57, 0x02, 0xe1, 0x98, 0x2d, 0x57, 0xfc, 0xb7, 0x1a, 0xd0, 0x14, 0x9b, 0x1d, 0xe6, + 0x2a, 0xd4, 0xd8, 0xd6, 0xd3, 0x11, 0xa8, 0x3b, 0xae, 0x4d, 0x9e, 0xb2, 0x22, 0xd4, 0x31, 0x4f, + 0xa0, 0xf3, 0xd0, 0x14, 0x1b, 0x1f, 0xa2, 0x0c, 0x79, 0xdb, 0x68, 0x11, 0x99, 0xf9, 0x3e, 0x34, + 0xa3, 0x2d, 0xa8, 0x63, 0xd0, 0x1e, 0xf9, 0x1e, 0x75, 0xe7, 0xfd, 0xa8, 0x66, 0x71, 0x06, 0x7a, + 0x03, 0x9a, 0xb6, 0xd8, 0xe4, 0xaa, 0x08, 0xeb, 0xcc, 0xe9, 0xd5, 0x88, 0xce, 0xfc, 0xa0, 0x0c, + 0x0d, 0xbe, 0x13, 0x65, 0xee, 0xc9, 0x9e, 0x7a, 0x13, 0x1a, 0x03, 0x96, 0x67, 0x24, 0x77, 0xa1, + 0xb4, 0x12, 0x8a, 0xad, 0x2d, 0x2c, 0x88, 0x29, 0x5b, 0xc0, 0x87, 0xf1, 0xca, 0x58, 0x36, 0xee, + 0x96, 0xb0, 0x20, 0xfe, 0x1f, 0x93, 0xfb, 0x27, 0x15, 0x38, 0xa0, 0x6f, 0x70, 0x1d, 0x83, 0xf6, + 0x40, 0x6e, 0x99, 0x89, 0xd6, 0x95, 0x19, 0xe8, 0x3e, 0xc0, 0x60, 0xe8, 0x10, 0x37, 0x64, 0x21, + 0xd6, 0x4a, 0xe6, 0xcc, 0x3d, 0x73, 0xbf, 0xab, 0xbb, 0x24, 0xd9, 0xb0, 0x02, 0x81, 0x6e, 0x40, + 0x3d, 0x18, 0x78, 0x23, 0x6e, 0xd5, 0x73, 0xca, 0x52, 0x4e, 0x2f, 0xf6, 0xc2, 0x6e, 0xb8, 0xcd, + 0x67, 0x07, 0x0b, 0x23, 0x67, 0x9d, 0x32, 0x60, 0xce, 0x67, 0x7e, 0x0d, 0x20, 0x86, 0x46, 0x27, + 0xe4, 0x64, 0x6c, 0xd5, 0xda, 0x89, 0xca, 0xaf, 0x66, 0x29, 0x14, 0x6b, 0x56, 0xb8, 0x2d, 0x5c, + 0x91, 0x9a, 0x85, 0xce, 0xc2, 0xa1, 0xc0, 0xd9, 0x72, 0xad, 0x70, 0xd7, 0x27, 0x8f, 0x88, 0xef, + 0x6c, 0x3a, 0xc4, 0x66, 0xc5, 0x6b, 0xe1, 0xf4, 0x07, 0xf3, 0x0d, 0x38, 0x94, 0xde, 0xbc, 0x1b, + 0xdb, 0x88, 0xe6, 0xcf, 0xb7, 0xa1, 0xc1, 0xd7, 0x65, 0xe6, 0x7f, 0x54, 0xa4, 0x5e, 0x9b, 0x7f, + 0x5e, 0x86, 0x3a, 0xdf, 0x9f, 0x4a, 0x1a, 0xed, 0x2d, 0x55, 0xa7, 0xab, 0x19, 0x8b, 0x96, 0xac, + 0xfd, 0xba, 0xee, 0x1d, 0xb2, 0xff, 0x88, 0xba, 0x66, 0xa9, 0xe8, 0xb9, 0x86, 0x7b, 0x1b, 0x5a, + 0x11, 0x31, 0xea, 0x40, 0xf5, 0x31, 0xd9, 0x17, 0xc2, 0xe9, 0x4f, 0x74, 0x56, 0xb8, 0x78, 0x69, + 0xaa, 0x49, 0x7b, 0xe2, 0x52, 0xc4, 0x38, 0xf0, 0x79, 0xa8, 0xd2, 0x95, 0x50, 0xb2, 0x0a, 0xd3, + 0x9b, 0x65, 0x6e, 0x69, 0x97, 0xa0, 0xce, 0xf7, 0x08, 0x93, 0x32, 0x10, 0xd4, 0x1e, 0x93, 0xfd, + 0xc8, 0xf9, 0xb2, 0xdf, 0xb9, 0x20, 0x7f, 0x5a, 0x85, 0x59, 0x75, 0x5f, 0xc4, 0x5c, 0xc9, 0x1d, + 0xb5, 0xd8, 0x38, 0x14, 0x8f, 0x5a, 0x22, 0x49, 0x3d, 0x1b, 0xc3, 0x62, 0xaa, 0xd1, 0xc6, 0x3c, + 0x61, 0x76, 0xa1, 0x21, 0xb6, 0x9b, 0x92, 0x48, 0x92, 0xbe, 0xa2, 0xd2, 0xdf, 0x86, 0x96, 0xdc, + 0x3d, 0xfa, 0xa8, 0xb2, 0x7d, 0x68, 0xc9, 0x6d, 0xa2, 0x23, 0x50, 0x0f, 0xbd, 0xd0, 0x1a, 0x32, + 0xb8, 0x2a, 0xe6, 0x09, 0xaa, 0x97, 0x2e, 0x79, 0x1a, 0x2e, 0x49, 0xcf, 0x5b, 0xc5, 0x71, 0x06, + 0x77, 0xac, 0x64, 0x8f, 0x7f, 0xad, 0xf2, 0xaf, 0x32, 0x23, 0x96, 0x59, 0x53, 0x65, 0xee, 0x43, + 0x43, 0xec, 0x1d, 0xc9, 0xef, 0x65, 0xe5, 0x3b, 0x5a, 0x80, 0xfa, 0x16, 0xfd, 0x2e, 0x7a, 0xfd, + 0xb5, 0x84, 0x7d, 0xf3, 0x25, 0xe1, 0x92, 0xe7, 0x86, 0x54, 0x8d, 0xf5, 0x90, 0x18, 0xe6, 0x9c, + 0xb4, 0x0b, 0x7d, 0xbe, 0x11, 0xc8, 0x8d, 0x50, 0xa4, 0xcc, 0x6f, 0x95, 0xa1, 0x2d, 0x77, 0x5e, + 0xcd, 0xf7, 0xf3, 0x8c, 0x67, 0x01, 0x0e, 0xf8, 0x82, 0x8a, 0x1a, 0x6a, 0x64, 0x42, 0xcf, 0x27, + 0x4a, 0x82, 0x15, 0x1a, 0xac, 0x73, 0x98, 0xef, 0xe4, 0x76, 0xea, 0x3c, 0xcc, 0x46, 0xa4, 0x77, + 0x62, 0xd5, 0xd3, 0xf2, 0x4c, 0x53, 0x72, 0x77, 0xa0, 0xea, 0xd8, 0xfc, 0x30, 0x4a, 0x1b, 0xd3, + 0x9f, 0xe6, 0x26, 0xcc, 0xaa, 0xfb, 0x2f, 0xe6, 0xa3, 0x6c, 0xeb, 0xb9, 0x41, 0xc5, 0x28, 0x7b, + 0x3d, 0x95, 0xc4, 0x22, 0x33, 0xaa, 0x42, 0x4c, 0x82, 0x35, 0x06, 0xf3, 0x59, 0xa8, 0xf3, 0x5d, + 0xe1, 0x04, 0xb2, 0xf9, 0x1b, 0x03, 0xa8, 0xb3, 0x4e, 0x30, 0x2f, 0x72, 0x03, 0x38, 0x0b, 0x0d, + 0x16, 0xe1, 0x88, 0xce, 0xcc, 0x1c, 0xc9, 0xea, 0x31, 0x2c, 0x68, 0xcc, 0x25, 0x98, 0x51, 0xf6, + 0xe3, 0xa8, 0xc6, 0xb2, 0x0f, 0x52, 0x0b, 0xa2, 0x24, 0x32, 0xa1, 0x45, 0x07, 0x68, 0xe1, 0x73, + 0x69, 0xfd, 0x65, 0xda, 0x3c, 0x29, 0x27, 0x54, 0xa6, 0xd8, 0x7f, 0xec, 0xcb, 0x56, 0x92, 0x69, + 0xf3, 0x73, 0xd0, 0x96, 0xdb, 0x76, 0xe8, 0x3e, 0xcc, 0x8a, 0x6d, 0x3b, 0x1e, 0x75, 0xa0, 0xc4, + 0x73, 0x05, 0xda, 0xf5, 0x80, 0x3c, 0x0d, 0xd9, 0xce, 0x5f, 0xf7, 0xc1, 0xfe, 0x88, 0x60, 0x0d, + 0xc0, 0xfc, 0xd9, 0x33, 0xac, 0xe5, 0xcd, 0x11, 0xb4, 0xe4, 0x5e, 0x45, 0xb2, 0x17, 0xae, 0x70, + 0xd7, 0x58, 0x29, 0xdc, 0x68, 0xe3, 0xfc, 0xd4, 0x01, 0x33, 0x0f, 0x6a, 0x3e, 0x0f, 0xd5, 0x3b, + 0x64, 0x9f, 0x5a, 0x08, 0x77, 0xa4, 0xc2, 0x42, 0xb8, 0xc3, 0xec, 0x43, 0x43, 0xec, 0x19, 0x26, + 0xe5, 0x9d, 0x83, 0xc6, 0x26, 0xdf, 0x86, 0x2c, 0x70, 0x99, 0x82, 0xcc, 0xbc, 0x01, 0x33, 0xea, + 0x4e, 0x61, 0x12, 0xef, 0x04, 0xcc, 0x0c, 0x94, 0xbd, 0x48, 0xde, 0x0d, 0x6a, 0x96, 0x49, 0x74, + 0x75, 0x4c, 0x21, 0xac, 0x64, 0xea, 0xe1, 0x4b, 0x99, 0xcd, 0x3e, 0x46, 0x1b, 0xef, 0xc0, 0xc1, + 0xe4, 0x96, 0x60, 0x52, 0xd2, 0x19, 0x38, 0xb8, 0x91, 0xd8, 0x80, 0xe4, 0x3e, 0x30, 0x99, 0x6d, + 0xf6, 0xa1, 0xce, 0xb7, 0x6c, 0x92, 0x10, 0xe7, 0xa1, 0x6e, 0xb1, 0x2d, 0xa1, 0x0a, 0x9b, 0x5a, + 0x98, 0x99, 0xa5, 0x64, 0xac, 0x98, 0x13, 0x9a, 0x0e, 0x1c, 0xd0, 0x77, 0x81, 0x92, 0x90, 0x3d, + 0x38, 0xb0, 0xa7, 0xed, 0x36, 0x71, 0xe8, 0xf9, 0x4c, 0x68, 0x0d, 0x0a, 0xeb, 0x8c, 0xe6, 0xd7, + 0x1b, 0x50, 0x63, 0xdb, 0x98, 0x49, 0x11, 0x97, 0xa1, 0x16, 0x92, 0xa7, 0xd1, 0xbc, 0x78, 0x7e, + 0xec, 0x9e, 0x28, 0x8f, 0xa5, 0x31, 0x7a, 0xf4, 0x49, 0xa8, 0x07, 0xe1, 0xfe, 0x30, 0x5a, 0x1e, + 0xbd, 0x3c, 0x9e, 0x71, 0x9d, 0x92, 0x62, 0xce, 0x41, 0x59, 0x99, 0x2d, 0x88, 0x6d, 0xf7, 0x02, + 0x56, 0x66, 0x84, 0x98, 0x73, 0xa0, 0x1b, 0x74, 0x31, 0x4c, 0x06, 0x8f, 0x89, 0x2d, 0xf6, 0xdb, + 0x4f, 0x8d, 0x67, 0x5e, 0xe2, 0xc4, 0x38, 0xe2, 0xa2, 0xb2, 0x07, 0xac, 0x77, 0x1b, 0x93, 0xc8, + 0x66, 0x3d, 0x8e, 0x39, 0x07, 0x5a, 0x81, 0xb6, 0x33, 0xf0, 0xdc, 0x95, 0x1d, 0xef, 0x0b, 0x8e, + 0xd8, 0x58, 0x7f, 0x65, 0x3c, 0x7b, 0x3f, 0x22, 0xc7, 0x31, 0x67, 0x04, 0xd3, 0xdf, 0xa1, 0x8b, + 0xb0, 0xd6, 0xa4, 0x30, 0x8c, 0x1c, 0xc7, 0x9c, 0xe6, 0x31, 0xd1, 0x9f, 0xd9, 0x46, 0x7e, 0x0b, + 0xea, 0xac, 0xc9, 0xd1, 0x35, 0xf5, 0xf3, 0x9c, 0x22, 0x29, 0xd7, 0x63, 0x89, 0xae, 0x92, 0x38, + 0xac, 0xfd, 0x75, 0x9c, 0x99, 0x49, 0x70, 0x44, 0xbf, 0x71, 0x9c, 0x17, 0xa1, 0x29, 0xba, 0x42, + 0x2f, 0x70, 0x2b, 0x22, 0x78, 0x01, 0xea, 0xdc, 0x30, 0xb3, 0xeb, 0xf3, 0x12, 0xb4, 0x65, 0x63, + 0x8e, 0x27, 0x61, 0xad, 0x93, 0x43, 0xf2, 0x73, 0x15, 0xa8, 0xf3, 0xed, 0xdc, 0xb4, 0xab, 0x55, + 0xad, 0xe0, 0xe5, 0xf1, 0xbb, 0xc3, 0xaa, 0x19, 0xdc, 0x62, 0x8b, 0x43, 0x3a, 0x97, 0x97, 0x47, + 0x34, 0xcf, 0x14, 0x70, 0xaf, 0x45, 0xf4, 0x38, 0x66, 0x2d, 0xe8, 0xce, 0xfb, 0xd0, 0x96, 0x5c, + 0x68, 0x51, 0xef, 0xd2, 0xb3, 0x63, 0xbb, 0x22, 0x29, 0x52, 0x00, 0xfe, 0x6a, 0x19, 0xaa, 0xcb, + 0xce, 0x5e, 0xaa, 0x1d, 0xde, 0x8a, 0xac, 0xba, 0xc8, 0x1d, 0x2c, 0x3b, 0x7b, 0x9a, 0x51, 0x9b, + 0x2b, 0x91, 0xc6, 0xbd, 0xa3, 0x17, 0xef, 0xf4, 0xf8, 0x19, 0x58, 0x0c, 0xc3, 0x0b, 0xf6, 0x4b, + 0x4d, 0xa8, 0xb1, 0x93, 0x12, 0x59, 0x7e, 0x6a, 0x7f, 0x54, 0x5c, 0x30, 0x16, 0x8b, 0x65, 0x03, + 0x2e, 0xa3, 0xe7, 0x7e, 0xca, 0x0a, 0x8b, 0xfd, 0x14, 0x0f, 0x2d, 0x53, 0x52, 0xcc, 0x39, 0xa8, + 0xc8, 0x1d, 0x67, 0x87, 0x08, 0x37, 0x55, 0x20, 0xf2, 0x9e, 0xb3, 0x43, 0x30, 0xa3, 0xa7, 0x7c, + 0xdb, 0x56, 0xb0, 0x2d, 0x3c, 0x54, 0x01, 0x5f, 0xcf, 0x0a, 0xb6, 0x31, 0xa3, 0xa7, 0x7c, 0x2e, + 0x5d, 0x45, 0x36, 0x26, 0xe1, 0xa3, 0x8b, 0x4b, 0xcc, 0xe8, 0x29, 0x5f, 0xe0, 0x7c, 0x89, 0x08, + 0x9f, 0x54, 0xc0, 0xb7, 0xee, 0x7c, 0x89, 0x60, 0x46, 0x1f, 0xbb, 0xf0, 0xd6, 0x64, 0x4d, 0xa3, + 0xb8, 0xf0, 0x07, 0x30, 0x17, 0x6a, 0xfb, 0x7d, 0xe2, 0xb8, 0xce, 0xd9, 0x82, 0x7e, 0xd1, 0x78, + 0x70, 0x02, 0x83, 0x1a, 0x01, 0x5b, 0x33, 0x67, 0x1b, 0xc1, 0x0b, 0x50, 0xff, 0xb4, 0x63, 0x87, + 0xdb, 0xfa, 0xe7, 0xba, 0xe6, 0xf2, 0x68, 0xb7, 0x4d, 0xe5, 0xf2, 0xd4, 0x5e, 0xe7, 0x38, 0xcb, + 0x50, 0xa3, 0xea, 0x33, 0x9d, 0x1e, 0xc7, 0x5a, 0xf7, 0x91, 0x1c, 0xb0, 0xda, 0xd0, 0x1c, 0xe7, + 0x18, 0xd4, 0xa8, 0x86, 0xe4, 0x34, 0xc9, 0x31, 0xa8, 0x51, 0xbd, 0xcb, 0xff, 0x4a, 0x7b, 0x5b, + 0xff, 0x5a, 0x8d, 0xbe, 0x9e, 0x86, 0x39, 0xbd, 0x3b, 0x72, 0x50, 0xfe, 0xb8, 0x09, 0x35, 0x76, + 0xec, 0x28, 0x69, 0x91, 0x9f, 0x82, 0x03, 0xbc, 0xff, 0x16, 0xc5, 0x14, 0xbc, 0x92, 0x79, 0xea, + 0x50, 0x3f, 0xcc, 0x24, 0x54, 0x40, 0xb0, 0x60, 0x1d, 0x61, 0xf2, 0x49, 0x05, 0x83, 0xd2, 0x34, + 0xf2, 0x1d, 0x39, 0x79, 0xad, 0x15, 0x9c, 0x79, 0x63, 0xbc, 0x7c, 0x0a, 0x1c, 0xcd, 0x64, 0xd1, + 0x22, 0xb4, 0xe8, 0xd0, 0x4a, 0x9b, 0x4b, 0x98, 0xed, 0xe9, 0xf1, 0xfc, 0x7d, 0x41, 0x8d, 0x25, + 0x1f, 0x1d, 0xd8, 0x07, 0x96, 0x6f, 0xb3, 0x52, 0x09, 0x1b, 0x7e, 0x65, 0x3c, 0xc8, 0x52, 0x44, + 0x8e, 0x63, 0x4e, 0x74, 0x07, 0x66, 0x6c, 0x22, 0xe3, 0x04, 0xc2, 0xa8, 0x3f, 0x31, 0x1e, 0x68, + 0x39, 0x66, 0xc0, 0x2a, 0x37, 0x2d, 0x53, 0xb4, 0x36, 0x0c, 0x0a, 0x27, 0x1b, 0x0c, 0x2a, 0x3e, + 0x5b, 0x1c, 0x73, 0x9a, 0xa7, 0xe0, 0x80, 0xd6, 0x6f, 0x1f, 0xeb, 0xac, 0x43, 0xed, 0x4b, 0x8e, + 0x73, 0x45, 0x2e, 0x51, 0x5e, 0xd7, 0xa7, 0x1d, 0xb9, 0x2b, 0x12, 0xc1, 0x78, 0x17, 0x5a, 0x51, + 0xc7, 0xa0, 0x9b, 0x7a, 0x19, 0x5e, 0x2d, 0x2e, 0x83, 0xec, 0x53, 0x81, 0xb6, 0x0a, 0x6d, 0xd9, + 0x43, 0x68, 0x41, 0x87, 0x7b, 0xad, 0x18, 0x2e, 0xee, 0x5d, 0x81, 0x87, 0x61, 0x46, 0xe9, 0x28, + 0xb4, 0xa4, 0x23, 0xbe, 0x5e, 0x8c, 0xa8, 0x76, 0x73, 0x3c, 0xeb, 0x91, 0x3d, 0xa6, 0xf6, 0x4a, + 0x35, 0xee, 0x95, 0xdf, 0x6f, 0x42, 0x4b, 0x1e, 0xf5, 0xcb, 0x58, 0x63, 0xee, 0xfa, 0xc3, 0xc2, + 0x35, 0x66, 0xc4, 0xdf, 0x7d, 0xe8, 0x0f, 0x31, 0xe5, 0xa0, 0x5d, 0x1c, 0x3a, 0xa1, 0x34, 0xd5, + 0x57, 0x8a, 0x59, 0x1f, 0x50, 0x72, 0xcc, 0xb9, 0xd0, 0x7d, 0x5d, 0xcb, 0x6b, 0x63, 0x8e, 0x82, + 0x68, 0x20, 0xb9, 0x9a, 0xde, 0x87, 0xb6, 0x43, 0xa7, 0x7e, 0xbd, 0x78, 0xe4, 0x7d, 0xad, 0x18, + 0xae, 0x1f, 0xb1, 0xe0, 0x98, 0x9b, 0x96, 0x6d, 0xd3, 0xda, 0xa3, 0x76, 0xcd, 0xc0, 0x1a, 0x93, + 0x96, 0xed, 0x56, 0xcc, 0x84, 0x55, 0x04, 0x74, 0x55, 0xcc, 0x5d, 0x9a, 0x05, 0x9e, 0x25, 0x6e, + 0xaa, 0x78, 0xfe, 0xf2, 0x5e, 0x6a, 0xa4, 0xe5, 0x66, 0x7c, 0x7e, 0x02, 0x94, 0xb1, 0xa3, 0x2d, + 0xed, 0x41, 0x3e, 0x33, 0x6a, 0x4f, 0xda, 0x83, 0xea, 0xec, 0xc8, 0x7c, 0x1e, 0xaa, 0x0f, 0xfd, + 0x61, 0xfe, 0x58, 0xcd, 0xba, 0x3b, 0xe7, 0xf3, 0xcb, 0xba, 0x25, 0xe4, 0x4f, 0xe8, 0x65, 0x9f, + 0xe4, 0xe2, 0x28, 0x8d, 0x9e, 0x43, 0x74, 0x4d, 0x0c, 0xe8, 0x6f, 0xea, 0xf6, 0xf6, 0x62, 0xc2, + 0xde, 0xa8, 0x85, 0xad, 0xf9, 0x84, 0x9f, 0x76, 0x52, 0x46, 0xf2, 0x49, 0xc7, 0xc9, 0xdb, 0xd1, + 0xfc, 0x63, 0x2a, 0x4f, 0x91, 0x6c, 0x5b, 0x8e, 0xf5, 0xcd, 0x32, 0xb4, 0xe4, 0x49, 0xce, 0x74, + 0x74, 0xbe, 0xe5, 0x04, 0x3d, 0x62, 0xd9, 0xc4, 0x17, 0x76, 0xfb, 0x6a, 0xe1, 0x11, 0xd1, 0x6e, + 0x5f, 0x70, 0x60, 0xc9, 0x6b, 0x9e, 0x80, 0x56, 0x94, 0x9b, 0xb3, 0x28, 0xfb, 0x7e, 0x05, 0x1a, + 0xe2, 0x0c, 0x68, 0xb2, 0x10, 0xd7, 0xa1, 0x31, 0xb4, 0xf6, 0xbd, 0xdd, 0x68, 0xc9, 0x74, 0xba, + 0xe0, 0x58, 0x69, 0xf7, 0x2e, 0xa3, 0xc6, 0x82, 0x0b, 0xbd, 0x0d, 0xf5, 0xa1, 0xb3, 0xe3, 0x84, + 0xc2, 0x7d, 0x9c, 0x2a, 0x64, 0x67, 0xa7, 0x45, 0x38, 0x0f, 0x15, 0xce, 0x8e, 0x7e, 0x45, 0x07, + 0xf7, 0x0b, 0x85, 0x3f, 0x62, 0xd4, 0x58, 0x70, 0x99, 0xb7, 0xa1, 0xc1, 0x8b, 0x33, 0xdd, 0x20, + 0xa1, 0xd7, 0x24, 0xd6, 0x74, 0x56, 0xb6, 0x9c, 0x59, 0xe9, 0x71, 0x68, 0x70, 0xe1, 0x39, 0x5a, + 0xf3, 0xbd, 0xe7, 0xd8, 0x7a, 0x67, 0x68, 0xde, 0x8d, 0x37, 0x1c, 0x3f, 0xfa, 0x5e, 0x86, 0xf9, + 0x00, 0x0e, 0x2e, 0x5b, 0xa1, 0xb5, 0x61, 0x05, 0x04, 0x93, 0x81, 0xe7, 0xdb, 0x99, 0xa8, 0x3e, + 0xff, 0x24, 0x22, 0xd4, 0xf9, 0xa8, 0x82, 0xee, 0x27, 0xa1, 0xc3, 0xff, 0x3d, 0xa1, 0xc3, 0x3f, + 0xa8, 0xe5, 0xc4, 0xf3, 0x26, 0x89, 0x64, 0x50, 0x85, 0x4b, 0x05, 0xf4, 0xae, 0xea, 0x73, 0xef, + 0x93, 0x05, 0x9c, 0xda, 0xe4, 0xfb, 0xaa, 0x1e, 0xd1, 0x2b, 0xe2, 0xd5, 0x42, 0x7a, 0x37, 0x93, + 0x21, 0xbd, 0xd3, 0x05, 0xdc, 0xa9, 0x98, 0xde, 0x55, 0x3d, 0xa6, 0x57, 0x24, 0x5d, 0x0d, 0xea, + 0xfd, 0x3f, 0x0b, 0xa3, 0xfd, 0x5a, 0x4e, 0xd8, 0xe7, 0x93, 0x7a, 0xd8, 0x67, 0x8c, 0xd6, 0xfc, + 0xb8, 0xe2, 0x3e, 0xbf, 0xde, 0xc8, 0x89, 0xfb, 0x5c, 0xd1, 0xe2, 0x3e, 0x63, 0x4a, 0x96, 0x0c, + 0xfc, 0x5c, 0xd5, 0x03, 0x3f, 0x27, 0x0b, 0x38, 0xb5, 0xc8, 0xcf, 0x15, 0x2d, 0xf2, 0x53, 0x24, + 0x54, 0x09, 0xfd, 0x5c, 0xd1, 0x42, 0x3f, 0x45, 0x8c, 0x4a, 0xec, 0xe7, 0x8a, 0x16, 0xfb, 0x29, + 0x62, 0x54, 0x82, 0x3f, 0x57, 0xb4, 0xe0, 0x4f, 0x11, 0xa3, 0x12, 0xfd, 0xb9, 0xaa, 0x47, 0x7f, + 0x8a, 0xdb, 0x47, 0xe9, 0xf4, 0x9f, 0x04, 0x6a, 0xfe, 0x1b, 0x03, 0x35, 0xbf, 0x58, 0xcd, 0x09, + 0xc0, 0xe0, 0xec, 0x00, 0xcc, 0xd9, 0xfc, 0x9e, 0x2c, 0x8e, 0xc0, 0x4c, 0x3e, 0x0a, 0xa4, 0x43, + 0x30, 0xd7, 0x12, 0x21, 0x98, 0x53, 0x05, 0xcc, 0x7a, 0x0c, 0xe6, 0xff, 0x4c, 0x90, 0xe1, 0x77, + 0x1b, 0x63, 0xd6, 0xd3, 0x6f, 0xa9, 0xeb, 0xe9, 0x31, 0x23, 0x59, 0x7a, 0x41, 0x7d, 0x5d, 0x5f, + 0x50, 0x9f, 0x99, 0x80, 0x57, 0x5b, 0x51, 0xaf, 0x65, 0xad, 0xa8, 0xbb, 0x13, 0xa0, 0xe4, 0x2e, + 0xa9, 0x6f, 0xa7, 0x97, 0xd4, 0x67, 0x27, 0xc0, 0xcb, 0x5c, 0x53, 0xaf, 0x65, 0xad, 0xa9, 0x27, + 0x29, 0x5d, 0xee, 0xa2, 0xfa, 0x6d, 0x6d, 0x51, 0xfd, 0xca, 0x24, 0xcd, 0x15, 0x0f, 0x0e, 0x9f, + 0xc9, 0x59, 0x55, 0xbf, 0x31, 0x09, 0xcc, 0xf8, 0x20, 0xf6, 0x4f, 0xd6, 0xc5, 0xba, 0x98, 0xdf, + 0x79, 0x11, 0x5a, 0xd1, 0x41, 0x1b, 0xf3, 0x8b, 0xd0, 0x8c, 0x2e, 0xfe, 0x65, 0x1c, 0x66, 0x15, + 0x8b, 0x3a, 0x3e, 0x7b, 0x16, 0x29, 0x74, 0x1d, 0x6a, 0xf4, 0x97, 0x30, 0x8b, 0x57, 0x27, 0x3b, + 0xd0, 0x43, 0x85, 0x60, 0xc6, 0x67, 0xfe, 0xfb, 0x11, 0x00, 0xe5, 0x3e, 0xd4, 0xa4, 0x62, 0xdf, + 0xa5, 0xce, 0x6c, 0x18, 0x12, 0x9f, 0x1d, 0xe4, 0x2a, 0xbc, 0x2f, 0x14, 0x4b, 0xa0, 0xda, 0x12, + 0x12, 0x1f, 0x0b, 0x76, 0x74, 0x0f, 0x5a, 0x51, 0x20, 0x95, 0x9d, 0x0a, 0xce, 0x53, 0xb2, 0x2c, + 0xa8, 0x28, 0xb4, 0x87, 0x25, 0x04, 0x5a, 0x80, 0x5a, 0xe0, 0xf9, 0xa1, 0x38, 0x42, 0xfc, 0xfa, + 0xc4, 0x50, 0xeb, 0x9e, 0x1f, 0x62, 0xc6, 0xca, 0xab, 0xa6, 0x5c, 0x37, 0x9f, 0xa6, 0x6a, 0x9a, + 0xc7, 0xfe, 0xb7, 0xaa, 0xf4, 0xa1, 0x4b, 0xc2, 0x1a, 0xb9, 0x0e, 0x9d, 0x9b, 0xbc, 0x97, 0x54, + 0xab, 0x44, 0x62, 0x12, 0xc4, 0x7b, 0x82, 0xcf, 0x6f, 0x5e, 0x85, 0xce, 0xc0, 0xdb, 0x23, 0x3e, + 0x8e, 0x8f, 0x38, 0x89, 0x53, 0x68, 0xa9, 0x7c, 0x64, 0x42, 0x6b, 0xdb, 0xb1, 0x49, 0x7f, 0x20, + 0xfc, 0x5f, 0x0b, 0xcb, 0x34, 0xba, 0x03, 0x2d, 0x16, 0x63, 0x8f, 0x22, 0xfc, 0xd3, 0x15, 0x92, + 0x87, 0xfa, 0x23, 0x00, 0x2a, 0x88, 0x09, 0xbf, 0xe5, 0x84, 0xac, 0x0d, 0x5b, 0x58, 0xa6, 0x69, + 0x81, 0xd9, 0x39, 0x32, 0xb5, 0xc0, 0x4d, 0x5e, 0xe0, 0x64, 0x3e, 0xba, 0x04, 0xcf, 0xb0, 0xbc, + 0xc4, 0x12, 0x93, 0x87, 0xea, 0x5b, 0x38, 0xfb, 0x23, 0x3b, 0x37, 0x67, 0x6d, 0xf1, 0xcb, 0x25, + 0x2c, 0x78, 0x57, 0xc7, 0x71, 0x06, 0x3a, 0x0b, 0x87, 0x6c, 0xb2, 0x69, 0xed, 0x0e, 0xc3, 0x07, + 0x64, 0x67, 0x34, 0xb4, 0x42, 0xd2, 0xb7, 0xd9, 0x8d, 0xf7, 0x36, 0x4e, 0x7f, 0x40, 0xe7, 0xe1, + 0xb0, 0xc8, 0xe4, 0x66, 0x4c, 0x7b, 0xa3, 0x6f, 0xb3, 0x0b, 0xe0, 0x6d, 0x9c, 0xf5, 0xc9, 0xfc, + 0x5e, 0x8d, 0x76, 0x3a, 0x53, 0xed, 0x77, 0xa1, 0x6a, 0xd9, 0xb6, 0x18, 0x36, 0x2f, 0x4e, 0x69, + 0x20, 0xe2, 0xc6, 0x02, 0x45, 0x40, 0x6b, 0xf2, 0xc8, 0x1d, 0x1f, 0x38, 0x2f, 0x4f, 0x8b, 0x25, + 0x1f, 0xe2, 0x10, 0x38, 0x14, 0x71, 0x97, 0xdf, 0x7d, 0xa8, 0xfe, 0x68, 0x88, 0xf2, 0x5a, 0x84, + 0xc0, 0x41, 0xb7, 0xa1, 0xc6, 0x4a, 0xc8, 0x07, 0xd6, 0x4b, 0xd3, 0xe2, 0xdd, 0xe3, 0xe5, 0x63, + 0x18, 0xe6, 0x80, 0x9f, 0x7d, 0x53, 0x0e, 0x5c, 0x96, 0xf5, 0x03, 0x97, 0x8b, 0x50, 0x77, 0x42, + 0xb2, 0x93, 0x3e, 0x7f, 0x3b, 0x56, 0x55, 0x85, 0xe7, 0xe1, 0xac, 0x63, 0xcf, 0x01, 0xbe, 0x9f, + 0x7b, 0x43, 0xe0, 0x26, 0xd4, 0x28, 0x7b, 0x6a, 0x2e, 0x39, 0x89, 0x60, 0xc6, 0x69, 0x5e, 0x80, + 0x1a, 0xad, 0xec, 0x98, 0xda, 0x89, 0xf2, 0x54, 0x64, 0x79, 0x16, 0x67, 0xa0, 0xed, 0x8d, 0x88, + 0xcf, 0x0c, 0xc3, 0xfc, 0xd7, 0x9a, 0x72, 0x28, 0xae, 0xaf, 0xea, 0xd8, 0x9b, 0x53, 0x7b, 0x4e, + 0x55, 0xcb, 0x70, 0x42, 0xcb, 0xde, 0x9a, 0x1e, 0x2d, 0xa5, 0x67, 0x38, 0xa1, 0x67, 0x3f, 0x02, + 0x66, 0x4a, 0xd3, 0xee, 0x6a, 0x9a, 0x76, 0x79, 0x7a, 0x44, 0x4d, 0xd7, 0x48, 0x91, 0xae, 0x2d, + 0xeb, 0xba, 0xd6, 0x9d, 0xac, 0xcb, 0xe5, 0xd0, 0x34, 0x81, 0xb6, 0x7d, 0x2e, 0x57, 0xdb, 0x16, + 0x35, 0x6d, 0x9b, 0x56, 0xf4, 0xc7, 0xa4, 0x6f, 0xdf, 0xad, 0x41, 0x8d, 0x0e, 0x8f, 0x68, 0x45, + 0xd5, 0xb5, 0x37, 0xa6, 0x1a, 0x5a, 0x55, 0x3d, 0x5b, 0x4d, 0xe8, 0xd9, 0xa5, 0xe9, 0x90, 0x52, + 0x3a, 0xb6, 0x9a, 0xd0, 0xb1, 0x29, 0xf1, 0x52, 0xfa, 0xd5, 0xd3, 0xf4, 0xeb, 0xc2, 0x74, 0x68, + 0x9a, 0x6e, 0x59, 0x45, 0xba, 0x75, 0x53, 0xd7, 0xad, 0x09, 0x67, 0x6f, 0x6c, 0xae, 0x32, 0x81, + 0x5e, 0xbd, 0x97, 0xab, 0x57, 0xd7, 0x35, 0xbd, 0x9a, 0x46, 0xec, 0xc7, 0xa4, 0x53, 0x97, 0xf8, + 0xa4, 0x33, 0xff, 0xe2, 0x56, 0xd6, 0xa4, 0xd3, 0x7c, 0x13, 0xda, 0xf1, 0x83, 0x12, 0x19, 0xc7, + 0xf3, 0x39, 0x59, 0x24, 0x35, 0x4a, 0x9a, 0x17, 0xa1, 0x1d, 0x3f, 0x12, 0x91, 0x75, 0x49, 0x8c, + 0x7d, 0x94, 0x97, 0xc4, 0x58, 0xca, 0x5c, 0x81, 0x43, 0xe9, 0x2b, 0xec, 0x19, 0x71, 0x78, 0xe5, + 0x6c, 0x79, 0x74, 0x7b, 0x45, 0xc9, 0x32, 0x9f, 0xc0, 0x5c, 0xe2, 0x52, 0xfa, 0xd4, 0x18, 0xe8, + 0xa2, 0x32, 0x45, 0xae, 0x26, 0xae, 0x38, 0xea, 0xa7, 0xe5, 0xe3, 0x89, 0xb0, 0xb9, 0x0c, 0x73, + 0x05, 0x85, 0x9f, 0xe4, 0xb0, 0xfc, 0xe7, 0x61, 0x66, 0x5c, 0xd9, 0x3f, 0x86, 0xc3, 0xfc, 0x21, + 0x74, 0x52, 0x0f, 0x6a, 0x24, 0xc5, 0xac, 0x01, 0x6c, 0x49, 0x1a, 0xa1, 0xb4, 0xe7, 0xa7, 0xb8, + 0xba, 0xc0, 0xf8, 0xb0, 0x82, 0x61, 0xfe, 0x76, 0x19, 0x0e, 0xa5, 0x5f, 0xd3, 0x98, 0x74, 0xf1, + 0x63, 0x40, 0x93, 0x61, 0xc9, 0x1b, 0x1f, 0x51, 0x12, 0xdd, 0x83, 0xd9, 0x60, 0xe8, 0x0c, 0xc8, + 0xd2, 0xb6, 0xe5, 0x6e, 0x91, 0x40, 0xac, 0x68, 0x0a, 0x5e, 0xc4, 0x58, 0x8f, 0x39, 0xb0, 0xc6, + 0x6e, 0x3e, 0x81, 0x19, 0xe5, 0x23, 0x7a, 0x07, 0x2a, 0xde, 0x28, 0x75, 0xae, 0x31, 0x1f, 0xf3, + 0x7e, 0x64, 0x6f, 0xb8, 0xe2, 0x8d, 0xd2, 0x26, 0xa9, 0x9a, 0x6f, 0x55, 0x33, 0x5f, 0xf3, 0x0e, + 0x1c, 0x4a, 0x3f, 0x58, 0x91, 0x6c, 0x9e, 0xd3, 0xa9, 0x28, 0x01, 0x6f, 0xa6, 0xe4, 0x92, 0xff, + 0x0a, 0x1c, 0x4c, 0x3e, 0x43, 0x91, 0x71, 0x1b, 0x27, 0xbe, 0xd4, 0x14, 0x85, 0xeb, 0xe7, 0x7f, + 0xa1, 0x0c, 0x73, 0x7a, 0x45, 0xd0, 0x51, 0x40, 0x7a, 0xce, 0xaa, 0xe7, 0x92, 0x4e, 0x09, 0x3d, + 0x03, 0x87, 0xf4, 0xfc, 0x05, 0xdb, 0xee, 0x94, 0xd3, 0xe4, 0xd4, 0x6d, 0x75, 0x2a, 0xc8, 0x80, + 0x23, 0x89, 0x16, 0x62, 0x4e, 0xb4, 0x53, 0x45, 0xcf, 0xc1, 0x33, 0xc9, 0x2f, 0xa3, 0xa1, 0x35, + 0x20, 0x9d, 0x9a, 0xf9, 0xc3, 0x0a, 0xd4, 0x1e, 0x06, 0xc4, 0x37, 0xff, 0xb9, 0x12, 0xdd, 0xd2, + 0x78, 0x0b, 0x6a, 0xec, 0x85, 0x08, 0xe5, 0x06, 0x65, 0x39, 0x71, 0x83, 0x52, 0xbb, 0x85, 0x17, + 0xdf, 0xa0, 0x7c, 0x0b, 0x6a, 0xec, 0x4d, 0x88, 0xe9, 0x39, 0xbf, 0x51, 0x86, 0x76, 0xfc, 0x3e, + 0xc3, 0xd4, 0xfc, 0xea, 0xad, 0x90, 0x8a, 0x7e, 0x2b, 0xe4, 0x55, 0xa8, 0xfb, 0xec, 0xfe, 0x06, + 0xf7, 0x32, 0xc9, 0xbb, 0x26, 0x4c, 0x20, 0xe6, 0x24, 0x26, 0x81, 0x19, 0xf5, 0xf5, 0x89, 0xe9, + 0x8b, 0x71, 0x52, 0x3c, 0x3d, 0xd5, 0xb7, 0x83, 0x05, 0xdf, 0xb7, 0xf6, 0x85, 0x62, 0xea, 0x99, + 0xe6, 0x31, 0xa8, 0xad, 0x39, 0xee, 0x56, 0xf6, 0xc5, 0x55, 0xf3, 0x0f, 0xcb, 0xd0, 0x14, 0x87, + 0x77, 0xcd, 0x2b, 0x50, 0x5d, 0x25, 0x4f, 0x68, 0x41, 0xc4, 0xb1, 0xe1, 0x54, 0x41, 0xee, 0xb1, + 0x5a, 0x08, 0x7a, 0x1c, 0x91, 0x99, 0x57, 0xe5, 0x30, 0x39, 0x3d, 0xef, 0x5b, 0x50, 0x63, 0x8f, + 0x46, 0x4c, 0xcf, 0xf9, 0x47, 0x2d, 0x68, 0xf0, 0xdb, 0x9f, 0xe6, 0xef, 0xb5, 0xa0, 0xc1, 0x1f, + 0x92, 0x40, 0xd7, 0xa1, 0x19, 0xec, 0xee, 0xec, 0x58, 0xfe, 0xbe, 0x91, 0xfd, 0x3c, 0xaa, 0xf6, + 0xee, 0x44, 0x77, 0x9d, 0xd3, 0xe2, 0x88, 0x09, 0xbd, 0x09, 0xb5, 0x81, 0xb5, 0x49, 0x52, 0xdb, + 0xb9, 0x59, 0xcc, 0x4b, 0xd6, 0x26, 0xc1, 0x8c, 0x1c, 0xdd, 0x84, 0x96, 0xe8, 0x96, 0x40, 0xc4, + 0x73, 0xc6, 0xcb, 0x8d, 0x3a, 0x53, 0x72, 0x99, 0xb7, 0xa1, 0x29, 0x0a, 0x83, 0x6e, 0xc8, 0xbb, + 0xaf, 0xc9, 0xc8, 0x73, 0x66, 0x15, 0xe4, 0x0b, 0x03, 0xf2, 0x16, 0xec, 0x5f, 0x54, 0xa0, 0x46, + 0x0b, 0xf7, 0x91, 0x91, 0xd0, 0x71, 0x80, 0xa1, 0x15, 0x84, 0x6b, 0xbb, 0xc3, 0x21, 0xb1, 0xc5, + 0x0d, 0x3b, 0x25, 0x07, 0x9d, 0x81, 0x83, 0x3c, 0x15, 0x6c, 0xaf, 0xef, 0x0e, 0x06, 0x44, 0xde, + 0x2c, 0x4d, 0x66, 0xa3, 0x05, 0xa8, 0xb3, 0xa7, 0x0d, 0xc5, 0xac, 0xf0, 0xb5, 0xc2, 0x96, 0xed, + 0xae, 0x39, 0xae, 0x28, 0x0d, 0xe7, 0x34, 0x3d, 0x68, 0xcb, 0x3c, 0x6a, 0x84, 0x23, 0xc7, 0x75, + 0x1d, 0x77, 0x4b, 0x68, 0x74, 0x94, 0xa4, 0x83, 0x0e, 0xfd, 0x29, 0xca, 0x5b, 0xc7, 0x22, 0x45, + 0xf3, 0x37, 0x2d, 0x67, 0x28, 0x8a, 0x58, 0xc7, 0x22, 0x45, 0x91, 0x76, 0xc5, 0xf3, 0x1b, 0x35, + 0x56, 0xc1, 0x28, 0x69, 0x7e, 0x58, 0x96, 0x17, 0xc0, 0xb3, 0x2e, 0x67, 0xa6, 0x62, 0x49, 0xc7, + 0xd4, 0x80, 0x36, 0x1f, 0x10, 0x94, 0x10, 0xf5, 0x51, 0x68, 0x78, 0xee, 0xd0, 0x71, 0x89, 0x88, + 0x1d, 0x89, 0x54, 0xa2, 0x8d, 0xeb, 0xa9, 0x36, 0x16, 0xdf, 0x57, 0x6c, 0x87, 0x16, 0xb1, 0x11, + 0x7f, 0xe7, 0x39, 0xe8, 0x1a, 0x34, 0x6d, 0xb2, 0xe7, 0x0c, 0x48, 0x60, 0x34, 0x99, 0xea, 0xbd, + 0x3c, 0xb6, 0x6d, 0x97, 0x19, 0x2d, 0x8e, 0x78, 0xcc, 0x10, 0x1a, 0x3c, 0x4b, 0x56, 0xa9, 0xac, + 0x54, 0x29, 0x2e, 0x74, 0x65, 0x4c, 0xa1, 0xab, 0x05, 0x85, 0xae, 0x25, 0x0b, 0x3d, 0xff, 0x15, + 0x80, 0x58, 0xdd, 0xd0, 0x0c, 0x34, 0x1f, 0xba, 0x8f, 0x5d, 0xef, 0x89, 0xdb, 0x29, 0xd1, 0xc4, + 0xfd, 0xcd, 0x4d, 0x2a, 0xa5, 0x53, 0xa6, 0x09, 0x4a, 0xe7, 0xb8, 0x5b, 0x9d, 0x0a, 0x02, 0x68, + 0xd0, 0x04, 0xb1, 0x3b, 0x55, 0xfa, 0xfb, 0x16, 0xeb, 0xbf, 0x4e, 0x0d, 0x3d, 0x0b, 0x87, 0xfb, + 0xee, 0xc0, 0xdb, 0x19, 0x59, 0xa1, 0xb3, 0x31, 0x24, 0x8f, 0x88, 0x1f, 0x38, 0x9e, 0xdb, 0xa9, + 0xd3, 0xd1, 0x6b, 0x95, 0x84, 0x4f, 0x3c, 0xff, 0xf1, 0x2a, 0x21, 0xb6, 0x78, 0x35, 0xa3, 0xd3, + 0x30, 0xff, 0xb3, 0xcc, 0x77, 0x83, 0xcd, 0x9b, 0x30, 0xab, 0xbd, 0x13, 0x63, 0xc4, 0xaf, 0x56, + 0x27, 0x1e, 0xad, 0x3e, 0xca, 0xe2, 0xb5, 0x24, 0x9e, 0xca, 0xf0, 0x94, 0x79, 0x0b, 0x40, 0x79, + 0x1d, 0xe6, 0x38, 0xc0, 0xc6, 0x7e, 0x48, 0x02, 0xfe, 0x32, 0x0c, 0x85, 0xa8, 0x61, 0x25, 0x47, + 0xc5, 0xaf, 0x68, 0xf8, 0xe6, 0x65, 0x00, 0xe5, 0x6d, 0x18, 0x6a, 0x57, 0x34, 0xb5, 0x98, 0x04, + 0x4b, 0x66, 0x9b, 0x5d, 0x51, 0x83, 0xe8, 0x15, 0x98, 0xa8, 0x04, 0x3c, 0x7a, 0xa7, 0x96, 0x80, + 0xe5, 0x98, 0x2b, 0x00, 0xf1, 0x43, 0x28, 0xe6, 0x15, 0xe9, 0xba, 0x5f, 0x87, 0x9a, 0x6d, 0x85, + 0x96, 0xf0, 0x9a, 0xcf, 0x25, 0x46, 0xae, 0x98, 0x05, 0x33, 0x32, 0xf3, 0xb7, 0xca, 0x30, 0xab, + 0x3e, 0xfa, 0x62, 0xbe, 0x0b, 0x35, 0xf6, 0x6a, 0xcc, 0x0d, 0x98, 0x55, 0x5f, 0x7d, 0x49, 0xbd, + 0xee, 0xcd, 0xf1, 0x54, 0x56, 0xac, 0x31, 0x98, 0x7d, 0x59, 0xa4, 0x8f, 0x0c, 0x75, 0x1e, 0x9a, + 0xe2, 0x11, 0x19, 0xf3, 0x14, 0xb4, 0xe3, 0x37, 0x63, 0xa8, 0xef, 0xe0, 0xf9, 0x51, 0x2f, 0x8b, + 0xa4, 0xf9, 0x2f, 0x55, 0xa8, 0xb3, 0xee, 0x34, 0x3f, 0xa8, 0xa8, 0x1a, 0x6a, 0xfe, 0xb0, 0x9c, + 0xbb, 0x16, 0xbc, 0xa8, 0x3d, 0x55, 0x30, 0x97, 0x7a, 0x2b, 0x49, 0x3c, 0x11, 0xa3, 0x3b, 0xd6, + 0xcb, 0xd0, 0x74, 0xb9, 0x66, 0x8a, 0x97, 0x02, 0x8e, 0x65, 0x72, 0x09, 0xed, 0xc5, 0x11, 0x31, + 0xba, 0x04, 0x75, 0xe2, 0xfb, 0x9e, 0xcf, 0x4c, 0x6a, 0x2e, 0xf5, 0xea, 0x50, 0xfc, 0x1c, 0xcd, + 0x0a, 0xa5, 0xc2, 0x9c, 0x18, 0x5d, 0x82, 0x67, 0x02, 0x6e, 0x45, 0x7c, 0x4e, 0x19, 0x88, 0x7b, + 0xd5, 0xc2, 0xdb, 0x64, 0x7f, 0x9c, 0xff, 0x54, 0x34, 0xc0, 0x2a, 0x86, 0x57, 0x52, 0x2d, 0xb2, + 0x8c, 0xda, 0x50, 0x67, 0x82, 0x3a, 0x15, 0xd5, 0x6c, 0xab, 0x39, 0x86, 0x57, 0x9b, 0xbf, 0x08, + 0x4d, 0x91, 0x4f, 0xe9, 0x17, 0x78, 0xd9, 0x3b, 0x25, 0x34, 0x0b, 0xad, 0x75, 0x32, 0xdc, 0xec, + 0x79, 0x41, 0xd8, 0x29, 0xa3, 0x03, 0xd0, 0x66, 0xb6, 0x70, 0xdf, 0x1d, 0xee, 0x77, 0x2a, 0xf3, + 0xef, 0x41, 0x5b, 0xd6, 0x08, 0xb5, 0xa0, 0xb6, 0xba, 0x3b, 0x1c, 0x76, 0x4a, 0x6c, 0x6a, 0x1a, + 0x7a, 0x7e, 0x14, 0x98, 0x5e, 0x79, 0x4a, 0xc7, 0x99, 0x4e, 0x39, 0xcf, 0x1b, 0x54, 0x50, 0x07, + 0x66, 0x85, 0x70, 0x5e, 0xe6, 0xaa, 0xf9, 0x8f, 0x65, 0x68, 0xcb, 0x77, 0x76, 0xe8, 0xbc, 0x30, + 0xea, 0xe3, 0x7c, 0x3f, 0x70, 0x25, 0xd1, 0xdb, 0xf9, 0xcf, 0xf6, 0x24, 0x7a, 0xfc, 0x34, 0xcc, + 0x09, 0x97, 0x1b, 0x35, 0x3e, 0xf7, 0x9a, 0x89, 0xdc, 0xf9, 0xdb, 0xb2, 0xd5, 0x3b, 0xcc, 0xc4, + 0x96, 0x3c, 0xd7, 0x25, 0x83, 0x90, 0xb5, 0xfd, 0x41, 0x98, 0x59, 0xf5, 0xc2, 0x35, 0x2f, 0x08, + 0x68, 0xcd, 0x78, 0x4b, 0xc5, 0xdf, 0x2b, 0x68, 0x0e, 0x20, 0x3a, 0x6b, 0x46, 0x9d, 0xa4, 0xf9, + 0x9b, 0x65, 0x68, 0xf0, 0xd7, 0x7f, 0xcc, 0x5f, 0x29, 0x43, 0x43, 0xbc, 0xf8, 0xf3, 0x2a, 0x74, + 0x7c, 0x8f, 0x02, 0x47, 0x0b, 0x8a, 0xfe, 0xb2, 0xa8, 0x65, 0x2a, 0x9f, 0xae, 0x71, 0x3d, 0x45, + 0x2b, 0xc4, 0x14, 0x40, 0xcb, 0x43, 0x57, 0x01, 0xf8, 0x8b, 0x42, 0x0f, 0xf6, 0xe5, 0xc3, 0x17, + 0xc9, 0x23, 0x66, 0xe2, 0x0d, 0x22, 0xb6, 0x19, 0xa3, 0x50, 0xcf, 0x7f, 0x19, 0x0e, 0x60, 0x12, + 0x8c, 0x3c, 0x37, 0x20, 0x3f, 0xae, 0xff, 0x72, 0x90, 0xfb, 0xff, 0x0a, 0xe6, 0xbf, 0x5b, 0x87, + 0x3a, 0x9b, 0x5d, 0x9a, 0x7f, 0x59, 0x97, 0xf3, 0xe0, 0x94, 0x7d, 0x5f, 0x50, 0x0f, 0xfa, 0xa8, + 0x86, 0xaa, 0x4d, 0x4c, 0xf5, 0x03, 0x3e, 0x6f, 0x43, 0x6b, 0xe4, 0x7b, 0x5b, 0x3e, 0x9d, 0xcf, + 0xd6, 0x12, 0xcf, 0x3b, 0xe9, 0x6c, 0x6b, 0x82, 0x0c, 0x4b, 0x06, 0x55, 0xf9, 0xea, 0xba, 0xf2, + 0xdd, 0x84, 0xb6, 0xed, 0x7b, 0x23, 0x76, 0x45, 0x5d, 0x6c, 0xae, 0x9d, 0xc8, 0xc1, 0x5d, 0x8e, + 0xe8, 0x7a, 0x25, 0x1c, 0x33, 0x51, 0xf5, 0xe5, 0xad, 0x2f, 0xf6, 0xb5, 0x5f, 0xc8, 0x61, 0xe7, + 0xfd, 0xd5, 0x2b, 0x61, 0x41, 0x4e, 0x19, 0xc9, 0x53, 0xc6, 0xd8, 0x1a, 0xcb, 0xb8, 0xf2, 0x34, + 0x62, 0xe4, 0xe4, 0xe8, 0x1a, 0xb4, 0x02, 0x6b, 0x8f, 0xb0, 0x37, 0x8d, 0xdb, 0x63, 0x9b, 0x62, + 0x5d, 0x90, 0xf5, 0x4a, 0x58, 0xb2, 0xd0, 0x2a, 0xef, 0x38, 0x5b, 0x7c, 0x25, 0x29, 0x1e, 0x56, + 0xce, 0xab, 0xf2, 0xbd, 0x88, 0x8e, 0xbd, 0x82, 0x1d, 0x25, 0xe8, 0xca, 0x87, 0xbb, 0xcc, 0x19, + 0xbe, 0x6d, 0xcc, 0x12, 0xe6, 0x0c, 0xb4, 0x65, 0x13, 0x99, 0x2d, 0x69, 0x26, 0x2d, 0x68, 0xf0, + 0x1a, 0x98, 0x00, 0xad, 0xa8, 0x40, 0x94, 0x58, 0x82, 0x9b, 0xab, 0xd0, 0x8a, 0x3a, 0x2d, 0xe7, + 0x59, 0x0a, 0x04, 0x35, 0xdb, 0x13, 0x53, 0xa6, 0x2a, 0x66, 0xbf, 0x69, 0xa7, 0xaa, 0x0f, 0x3e, + 0xb5, 0xe5, 0xeb, 0x47, 0xf3, 0x0b, 0xd1, 0x79, 0x25, 0xea, 0xda, 0xf8, 0x62, 0x7c, 0x06, 0x9a, + 0x78, 0x97, 0xcd, 0x66, 0x3b, 0x65, 0x9a, 0x4d, 0x97, 0x48, 0x9d, 0x0a, 0xf5, 0x92, 0x4b, 0x96, + 0x3b, 0x20, 0x43, 0x36, 0x03, 0x92, 0xbe, 0xb7, 0xb6, 0xd8, 0x96, 0xe0, 0x8b, 0xc7, 0xfe, 0xea, + 0xc3, 0xe3, 0xe5, 0xef, 0x7c, 0x78, 0xbc, 0xfc, 0xfd, 0x0f, 0x8f, 0x97, 0x7f, 0xf9, 0x07, 0xc7, + 0x4b, 0xdf, 0xf9, 0xc1, 0xf1, 0xd2, 0xdf, 0xff, 0xe0, 0x78, 0xe9, 0xfd, 0xca, 0x68, 0x63, 0xa3, + 0xc1, 0xce, 0x9c, 0x5c, 0xfc, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x8f, 0x07, 0x9b, 0xe7, 0xbc, + 0x64, 0x00, 0x00, } func (m *Event) Marshal() (dAtA []byte, err error) { @@ -14569,6 +14621,36 @@ func (m *EventChatAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.AfterOrderId) > 0 { + i -= len(m.AfterOrderId) + copy(dAtA[i:], m.AfterOrderId) + i = encodeVarintEvents(dAtA, i, uint64(len(m.AfterOrderId))) + i-- + dAtA[i] = 0x32 + } + if len(m.Dependencies) > 0 { + for iNdEx := len(m.Dependencies) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Dependencies[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } + } + if len(m.SubIds) > 0 { + for iNdEx := len(m.SubIds) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.SubIds[iNdEx]) + copy(dAtA[i:], m.SubIds[iNdEx]) + i = encodeVarintEvents(dAtA, i, uint64(len(m.SubIds[iNdEx]))) + i-- + dAtA[i] = 0x22 + } + } if m.Message != nil { { size, err := m.Message.MarshalToSizedBuffer(dAtA[:i]) @@ -14618,6 +14700,15 @@ func (m *EventChatDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.SubIds) > 0 { + for iNdEx := len(m.SubIds) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.SubIds[iNdEx]) + copy(dAtA[i:], m.SubIds[iNdEx]) + i = encodeVarintEvents(dAtA, i, uint64(len(m.SubIds[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } if len(m.Id) > 0 { i -= len(m.Id) copy(dAtA[i:], m.Id) @@ -14648,6 +14739,15 @@ func (m *EventChatUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.SubIds) > 0 { + for iNdEx := len(m.SubIds) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.SubIds[iNdEx]) + copy(dAtA[i:], m.SubIds[iNdEx]) + i = encodeVarintEvents(dAtA, i, uint64(len(m.SubIds[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } if m.Message != nil { { size, err := m.Message.MarshalToSizedBuffer(dAtA[:i]) @@ -14690,6 +14790,15 @@ func (m *EventChatUpdateReactions) MarshalToSizedBuffer(dAtA []byte) (int, error _ = i var l int _ = l + if len(m.SubIds) > 0 { + for iNdEx := len(m.SubIds) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.SubIds[iNdEx]) + copy(dAtA[i:], m.SubIds[iNdEx]) + i = encodeVarintEvents(dAtA, i, uint64(len(m.SubIds[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } if m.Reactions != nil { { size, err := m.Reactions.MarshalToSizedBuffer(dAtA[:i]) @@ -23788,6 +23897,22 @@ func (m *EventChatAdd) Size() (n int) { l = m.Message.Size() n += 1 + l + sovEvents(uint64(l)) } + if len(m.SubIds) > 0 { + for _, s := range m.SubIds { + l = len(s) + n += 1 + l + sovEvents(uint64(l)) + } + } + if len(m.Dependencies) > 0 { + for _, e := range m.Dependencies { + l = e.Size() + n += 1 + l + sovEvents(uint64(l)) + } + } + l = len(m.AfterOrderId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } return n } @@ -23801,6 +23926,12 @@ func (m *EventChatDelete) Size() (n int) { if l > 0 { n += 1 + l + sovEvents(uint64(l)) } + if len(m.SubIds) > 0 { + for _, s := range m.SubIds { + l = len(s) + n += 1 + l + sovEvents(uint64(l)) + } + } return n } @@ -23818,6 +23949,12 @@ func (m *EventChatUpdate) Size() (n int) { l = m.Message.Size() n += 1 + l + sovEvents(uint64(l)) } + if len(m.SubIds) > 0 { + for _, s := range m.SubIds { + l = len(s) + n += 1 + l + sovEvents(uint64(l)) + } + } return n } @@ -23835,6 +23972,12 @@ func (m *EventChatUpdateReactions) Size() (n int) { l = m.Reactions.Size() n += 1 + l + sovEvents(uint64(l)) } + if len(m.SubIds) > 0 { + for _, s := range m.SubIds { + l = len(s) + n += 1 + l + sovEvents(uint64(l)) + } + } return n } @@ -30362,6 +30505,104 @@ func (m *EventChatAdd) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SubIds", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SubIds = append(m.SubIds, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Dependencies", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Dependencies = append(m.Dependencies, &types.Struct{}) + if err := m.Dependencies[len(m.Dependencies)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AfterOrderId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AfterOrderId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -30444,6 +30685,38 @@ func (m *EventChatDelete) Unmarshal(dAtA []byte) error { } m.Id = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SubIds", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SubIds = append(m.SubIds, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -30562,6 +30835,38 @@ func (m *EventChatUpdate) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SubIds", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SubIds = append(m.SubIds, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -30680,6 +30985,38 @@ func (m *EventChatUpdateReactions) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SubIds", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SubIds = append(m.SubIds, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) diff --git a/pb/protos/commands.proto b/pb/protos/commands.proto index f75f5a976..d41b202a8 100644 --- a/pb/protos/commands.proto +++ b/pb/protos/commands.proto @@ -7952,6 +7952,7 @@ message Rpc { message Request { string chatObjectId = 1; // Identifier for the chat int32 limit = 2; // Number of max last messages to return and subscribe + string subId = 3; } message Response { @@ -7976,6 +7977,7 @@ message Rpc { message Unsubscribe { message Request { string chatObjectId = 1; // Identifier for the chat + string subId = 2; } message Response { Error error = 1; @@ -7993,6 +7995,27 @@ message Rpc { } } } + + message SubscribeToMessagePreviews { + message Request {} + + message Response { + Error error = 1; + string subId = 2; + + message Error { + Code code = 1; + string description = 2; + + enum Code { + NULL = 0; + UNKNOWN_ERROR = 1; + BAD_INPUT = 2; + // ... + } + } + } + } } } diff --git a/pb/protos/events.proto b/pb/protos/events.proto index 53348c00f..96a4a36ac 100644 --- a/pb/protos/events.proto +++ b/pb/protos/events.proto @@ -124,18 +124,24 @@ message Event { message Add { string id = 1; string orderId = 2; + string afterOrderId = 6; model.ChatMessage message = 3; + repeated string subIds = 4; + repeated google.protobuf.Struct dependencies = 5; } message Delete { string id = 1; + repeated string subIds = 2; } message Update { string id = 1; model.ChatMessage message = 2; + repeated string subIds = 3; } message UpdateReactions { string id = 1; model.ChatMessage.Reactions reactions = 2; + repeated string subIds = 3; } } diff --git a/pb/protos/service/service.proto b/pb/protos/service/service.proto index b058062f7..4d3f25859 100644 --- a/pb/protos/service/service.proto +++ b/pb/protos/service/service.proto @@ -394,5 +394,6 @@ service ClientCommands { rpc ChatGetMessagesByIds (anytype.Rpc.Chat.GetMessagesByIds.Request) returns (anytype.Rpc.Chat.GetMessagesByIds.Response); rpc ChatSubscribeLastMessages (anytype.Rpc.Chat.SubscribeLastMessages.Request) returns (anytype.Rpc.Chat.SubscribeLastMessages.Response); rpc ChatUnsubscribe (anytype.Rpc.Chat.Unsubscribe.Request) returns (anytype.Rpc.Chat.Unsubscribe.Response); + rpc ChatSubscribeToMessagePreviews (anytype.Rpc.Chat.SubscribeToMessagePreviews.Request) returns (anytype.Rpc.Chat.SubscribeToMessagePreviews.Response); rpc ObjectChatAdd (anytype.Rpc.Object.ChatAdd.Request) returns (anytype.Rpc.Object.ChatAdd.Response); } diff --git a/pb/service/mock_service/mock_ClientCommandsServer.go b/pb/service/mock_service/mock_ClientCommandsServer.go index b4ecaa973..6a1d86e33 100644 --- a/pb/service/mock_service/mock_ClientCommandsServer.go +++ b/pb/service/mock_service/mock_ClientCommandsServer.go @@ -5659,6 +5659,55 @@ func (_c *MockClientCommandsServer_ChatSubscribeLastMessages_Call) RunAndReturn( return _c } +// ChatSubscribeToMessagePreviews provides a mock function with given fields: _a0, _a1 +func (_m *MockClientCommandsServer) ChatSubscribeToMessagePreviews(_a0 context.Context, _a1 *pb.RpcChatSubscribeToMessagePreviewsRequest) *pb.RpcChatSubscribeToMessagePreviewsResponse { + ret := _m.Called(_a0, _a1) + + if len(ret) == 0 { + panic("no return value specified for ChatSubscribeToMessagePreviews") + } + + var r0 *pb.RpcChatSubscribeToMessagePreviewsResponse + if rf, ok := ret.Get(0).(func(context.Context, *pb.RpcChatSubscribeToMessagePreviewsRequest) *pb.RpcChatSubscribeToMessagePreviewsResponse); ok { + r0 = rf(_a0, _a1) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*pb.RpcChatSubscribeToMessagePreviewsResponse) + } + } + + return r0 +} + +// MockClientCommandsServer_ChatSubscribeToMessagePreviews_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ChatSubscribeToMessagePreviews' +type MockClientCommandsServer_ChatSubscribeToMessagePreviews_Call struct { + *mock.Call +} + +// ChatSubscribeToMessagePreviews is a helper method to define mock.On call +// - _a0 context.Context +// - _a1 *pb.RpcChatSubscribeToMessagePreviewsRequest +func (_e *MockClientCommandsServer_Expecter) ChatSubscribeToMessagePreviews(_a0 interface{}, _a1 interface{}) *MockClientCommandsServer_ChatSubscribeToMessagePreviews_Call { + return &MockClientCommandsServer_ChatSubscribeToMessagePreviews_Call{Call: _e.mock.On("ChatSubscribeToMessagePreviews", _a0, _a1)} +} + +func (_c *MockClientCommandsServer_ChatSubscribeToMessagePreviews_Call) Run(run func(_a0 context.Context, _a1 *pb.RpcChatSubscribeToMessagePreviewsRequest)) *MockClientCommandsServer_ChatSubscribeToMessagePreviews_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(context.Context), args[1].(*pb.RpcChatSubscribeToMessagePreviewsRequest)) + }) + return _c +} + +func (_c *MockClientCommandsServer_ChatSubscribeToMessagePreviews_Call) Return(_a0 *pb.RpcChatSubscribeToMessagePreviewsResponse) *MockClientCommandsServer_ChatSubscribeToMessagePreviews_Call { + _c.Call.Return(_a0) + return _c +} + +func (_c *MockClientCommandsServer_ChatSubscribeToMessagePreviews_Call) RunAndReturn(run func(context.Context, *pb.RpcChatSubscribeToMessagePreviewsRequest) *pb.RpcChatSubscribeToMessagePreviewsResponse) *MockClientCommandsServer_ChatSubscribeToMessagePreviews_Call { + _c.Call.Return(run) + return _c +} + // ChatToggleMessageReaction provides a mock function with given fields: _a0, _a1 func (_m *MockClientCommandsServer) ChatToggleMessageReaction(_a0 context.Context, _a1 *pb.RpcChatToggleMessageReactionRequest) *pb.RpcChatToggleMessageReactionResponse { ret := _m.Called(_a0, _a1) diff --git a/pb/service/service.pb.go b/pb/service/service.pb.go index 9d3774271..f52bffeb2 100644 --- a/pb/service/service.pb.go +++ b/pb/service/service.pb.go @@ -26,18 +26,18 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package func init() { proto.RegisterFile("pb/protos/service/service.proto", fileDescriptor_93a29dc403579097) } var fileDescriptor_93a29dc403579097 = []byte{ - // 5514 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x9d, 0x5f, 0x6f, 0x24, 0x49, - 0x52, 0xc0, 0xb7, 0x5f, 0x58, 0xa8, 0xe3, 0x16, 0xe8, 0x85, 0x65, 0x6f, 0xb9, 0x9b, 0x99, 0x9d, - 0x9d, 0xb1, 0x3d, 0x63, 0xbb, 0x3d, 0x3b, 0xb3, 0xff, 0xb8, 0x43, 0x82, 0x1e, 0x7b, 0xec, 0xf5, - 0x9d, 0xed, 0x35, 0xee, 0xf6, 0x8c, 0xb4, 0x12, 0x12, 0xe5, 0xaa, 0x74, 0xbb, 0x70, 0x75, 0x65, - 0x5d, 0x55, 0x76, 0x7b, 0xfa, 0x10, 0x08, 0x04, 0x02, 0x81, 0x40, 0x9c, 0xf8, 0x27, 0x78, 0x42, - 0x42, 0x7c, 0x00, 0x3e, 0x06, 0x8f, 0xf7, 0xc8, 0x23, 0xda, 0xfd, 0x0a, 0x7c, 0x00, 0x54, 0xf9, - 0x3f, 0xa3, 0x32, 0xb2, 0xca, 0xcb, 0xd3, 0x8c, 0x1c, 0xbf, 0x88, 0xc8, 0xac, 0x8c, 0xcc, 0x8c, - 0xcc, 0xca, 0xca, 0x8e, 0xee, 0x96, 0x17, 0x3b, 0x65, 0x45, 0x19, 0xad, 0x77, 0x6a, 0x52, 0x2d, + // 5536 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x9d, 0x4f, 0x6f, 0x24, 0x49, + 0x56, 0xc0, 0xa7, 0x2e, 0x0c, 0xe4, 0xb2, 0x03, 0xd4, 0xc0, 0x30, 0x3b, 0xec, 0x76, 0xf7, 0xf4, + 0x74, 0xdb, 0xee, 0xb6, 0x5d, 0xee, 0xe9, 0x9e, 0x7f, 0xec, 0x22, 0x41, 0xb5, 0xdd, 0xf6, 0x78, + 0xd7, 0xf6, 0x18, 0x57, 0xb9, 0x5b, 0x1a, 0x09, 0x89, 0x74, 0x66, 0xb8, 0x9c, 0x38, 0x2b, 0x23, + 0x37, 0x33, 0xaa, 0xdc, 0xb5, 0x08, 0x04, 0x02, 0x81, 0x40, 0x20, 0x56, 0xfc, 0x13, 0x9c, 0x90, + 0xf8, 0x04, 0x1c, 0xf8, 0x10, 0x1c, 0xf7, 0xc8, 0x11, 0xcd, 0x7c, 0x06, 0xee, 0x28, 0xe3, 0x7f, + 0xbc, 0x8c, 0x17, 0x99, 0x1e, 0x4e, 0xdd, 0xf2, 0xfb, 0xbd, 0xf7, 0x22, 0x32, 0x5e, 0x44, 0xbc, + 0x88, 0x8c, 0x8c, 0x8a, 0xee, 0x96, 0x17, 0x3b, 0x65, 0x45, 0x19, 0xad, 0x77, 0x6a, 0x52, 0x2d, 0xb3, 0x84, 0xa8, 0x7f, 0x47, 0xfc, 0xcf, 0xc3, 0x37, 0xe3, 0x62, 0xc5, 0x56, 0x25, 0x79, 0xef, 0x5d, 0x43, 0x26, 0x74, 0x3e, 0x8f, 0x8b, 0xb4, 0x16, 0xc8, 0x7b, 0xef, 0x18, 0x09, 0x59, 0x92, - 0x82, 0xc9, 0xbf, 0x3f, 0xfd, 0x8f, 0xff, 0x1d, 0x44, 0x6f, 0xed, 0xe6, 0x19, 0x29, 0xd8, 0xae, + 0x82, 0xc9, 0xbf, 0x3f, 0xfd, 0xcf, 0xff, 0x1d, 0x44, 0x6f, 0xed, 0xe6, 0x19, 0x29, 0xd8, 0xae, 0xd4, 0x18, 0x7e, 0x19, 0x7d, 0x7b, 0x5c, 0x96, 0x07, 0x84, 0xbd, 0x24, 0x55, 0x9d, 0xd1, 0x62, 0xf8, 0xc1, 0x48, 0x3a, 0x18, 0x9d, 0x95, 0xc9, 0x68, 0x5c, 0x96, 0x23, 0x23, 0x1c, 0x9d, 0x91, 0x1f, 0x2f, 0x48, 0xcd, 0xde, 0x7b, 0x10, 0x86, 0xea, 0x92, 0x16, 0x35, 0x19, 0x5e, 0x46, 0xbf, @@ -180,7 +180,7 @@ var fileDescriptor_93a29dc403579097 = []byte{ 0xb4, 0xf4, 0xfa, 0x47, 0xd1, 0xbb, 0x6d, 0xaf, 0x72, 0x22, 0xda, 0xe9, 0x34, 0x05, 0xe6, 0xa2, 0x27, 0xfd, 0x15, 0xa4, 0xfb, 0x7f, 0xd1, 0xfb, 0xd2, 0xc2, 0x7f, 0x42, 0xe7, 0x73, 0x52, 0xa4, 0x24, 0x55, 0x1a, 0x75, 0xb3, 0x7e, 0xfa, 0x0c, 0xb7, 0xab, 0x15, 0x46, 0xb6, 0x86, 0x2e, 0xd1, - 0x6f, 0x7e, 0x03, 0x4d, 0x59, 0xb4, 0xff, 0x1c, 0x44, 0x8f, 0xbc, 0x45, 0x53, 0x81, 0xeb, 0x14, + 0x6f, 0x7e, 0x03, 0x4d, 0x59, 0xb4, 0xff, 0x18, 0x44, 0x8f, 0xbc, 0x45, 0x53, 0x81, 0xeb, 0x14, 0xf1, 0x77, 0xfa, 0x38, 0xf2, 0x69, 0xea, 0xa2, 0x8e, 0xff, 0x1f, 0x16, 0x64, 0x91, 0xff, 0x75, 0x10, 0xdd, 0x37, 0x8a, 0x4d, 0x78, 0xef, 0xd2, 0xe2, 0x32, 0xcf, 0x12, 0xc6, 0xdf, 0xc8, 0x4a, 0x15, 0xfc, 0x71, 0x62, 0x1a, 0xdd, 0x8f, 0x33, 0xa0, 0x69, 0x16, 0xaf, 0x9f, 0x67, 0x35, 0xa3, @@ -366,12 +366,13 @@ var fileDescriptor_93a29dc403579097 = []byte{ 0xf5, 0x24, 0xe0, 0x65, 0x53, 0x5c, 0xd9, 0x12, 0x23, 0xdf, 0xbd, 0x79, 0x30, 0xb3, 0x4e, 0x00, 0x1e, 0x9e, 0xaf, 0x0e, 0x53, 0xb8, 0x4e, 0x80, 0xfa, 0x9c, 0x41, 0xd6, 0x09, 0x18, 0xeb, 0x36, 0x9d, 0xde, 0xf7, 0x3a, 0x8a, 0x6b, 0x53, 0x39, 0x4f, 0xd3, 0x79, 0xc1, 0x50, 0xd3, 0x61, 0x0a, - 0xee, 0x23, 0xb5, 0xb7, 0xd6, 0x3c, 0x8f, 0xd4, 0xb7, 0xaf, 0xb6, 0xd6, 0x85, 0x99, 0x71, 0x49, - 0xaf, 0x27, 0xf9, 0x91, 0x25, 0xff, 0x6f, 0x35, 0x08, 0x21, 0x32, 0x2e, 0xb5, 0x20, 0x61, 0xfb, - 0xf9, 0xfb, 0xff, 0xf5, 0xd5, 0x9d, 0xc1, 0xcf, 0xbe, 0xba, 0x33, 0xf8, 0x9f, 0xaf, 0xee, 0x0c, - 0x7e, 0xfa, 0xf5, 0x9d, 0x37, 0x7e, 0xf6, 0xf5, 0x9d, 0x37, 0xfe, 0xfb, 0xeb, 0x3b, 0x6f, 0x7c, - 0xf9, 0xa6, 0xfc, 0x2d, 0xea, 0x8b, 0x9f, 0xe3, 0xbf, 0x28, 0xfd, 0xec, 0xff, 0x02, 0x00, 0x00, - 0xff, 0xff, 0xc9, 0x60, 0xbd, 0x6d, 0xaf, 0x7a, 0x00, 0x00, + 0xee, 0x23, 0xb5, 0xb7, 0xd6, 0x3c, 0x8f, 0xd4, 0xb7, 0xaf, 0xb6, 0xd6, 0x85, 0x59, 0x89, 0x8f, + 0x53, 0xc5, 0x29, 0x95, 0xc5, 0x90, 0xdf, 0x35, 0xd6, 0x20, 0xf1, 0x71, 0x8b, 0xdd, 0xa2, 0x91, + 0xc4, 0xa7, 0x5b, 0xcb, 0x8c, 0x93, 0x7a, 0x7d, 0xcb, 0x8f, 0x50, 0xf9, 0x7f, 0x3b, 0x42, 0x08, + 0x91, 0x71, 0xb2, 0x05, 0x09, 0xdb, 0xcf, 0xdf, 0xff, 0xaf, 0xaf, 0xee, 0x0c, 0x7e, 0xf6, 0xd5, + 0x9d, 0xc1, 0xff, 0x7c, 0x75, 0x67, 0xf0, 0xd3, 0xaf, 0xef, 0xbc, 0xf1, 0xb3, 0xaf, 0xef, 0xbc, + 0xf1, 0xdf, 0x5f, 0xdf, 0x79, 0xe3, 0xcb, 0x37, 0xe5, 0x6f, 0x63, 0x5f, 0xfc, 0x1c, 0xff, 0x85, + 0xeb, 0x67, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x94, 0x61, 0xee, 0x3f, 0x7b, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -729,6 +730,7 @@ type ClientCommandsClient interface { ChatGetMessagesByIds(ctx context.Context, in *pb.RpcChatGetMessagesByIdsRequest, opts ...grpc.CallOption) (*pb.RpcChatGetMessagesByIdsResponse, error) ChatSubscribeLastMessages(ctx context.Context, in *pb.RpcChatSubscribeLastMessagesRequest, opts ...grpc.CallOption) (*pb.RpcChatSubscribeLastMessagesResponse, error) ChatUnsubscribe(ctx context.Context, in *pb.RpcChatUnsubscribeRequest, opts ...grpc.CallOption) (*pb.RpcChatUnsubscribeResponse, error) + ChatSubscribeToMessagePreviews(ctx context.Context, in *pb.RpcChatSubscribeToMessagePreviewsRequest, opts ...grpc.CallOption) (*pb.RpcChatSubscribeToMessagePreviewsResponse, error) ObjectChatAdd(ctx context.Context, in *pb.RpcObjectChatAddRequest, opts ...grpc.CallOption) (*pb.RpcObjectChatAddResponse, error) } @@ -3283,6 +3285,15 @@ func (c *clientCommandsClient) ChatUnsubscribe(ctx context.Context, in *pb.RpcCh return out, nil } +func (c *clientCommandsClient) ChatSubscribeToMessagePreviews(ctx context.Context, in *pb.RpcChatSubscribeToMessagePreviewsRequest, opts ...grpc.CallOption) (*pb.RpcChatSubscribeToMessagePreviewsResponse, error) { + out := new(pb.RpcChatSubscribeToMessagePreviewsResponse) + err := c.cc.Invoke(ctx, "/anytype.ClientCommands/ChatSubscribeToMessagePreviews", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *clientCommandsClient) ObjectChatAdd(ctx context.Context, in *pb.RpcObjectChatAddRequest, opts ...grpc.CallOption) (*pb.RpcObjectChatAddResponse, error) { out := new(pb.RpcObjectChatAddResponse) err := c.cc.Invoke(ctx, "/anytype.ClientCommands/ObjectChatAdd", in, out, opts...) @@ -3637,6 +3648,7 @@ type ClientCommandsServer interface { ChatGetMessagesByIds(context.Context, *pb.RpcChatGetMessagesByIdsRequest) *pb.RpcChatGetMessagesByIdsResponse ChatSubscribeLastMessages(context.Context, *pb.RpcChatSubscribeLastMessagesRequest) *pb.RpcChatSubscribeLastMessagesResponse ChatUnsubscribe(context.Context, *pb.RpcChatUnsubscribeRequest) *pb.RpcChatUnsubscribeResponse + ChatSubscribeToMessagePreviews(context.Context, *pb.RpcChatSubscribeToMessagePreviewsRequest) *pb.RpcChatSubscribeToMessagePreviewsResponse ObjectChatAdd(context.Context, *pb.RpcObjectChatAddRequest) *pb.RpcObjectChatAddResponse } @@ -4484,6 +4496,9 @@ func (*UnimplementedClientCommandsServer) ChatSubscribeLastMessages(ctx context. func (*UnimplementedClientCommandsServer) ChatUnsubscribe(ctx context.Context, req *pb.RpcChatUnsubscribeRequest) *pb.RpcChatUnsubscribeResponse { return nil } +func (*UnimplementedClientCommandsServer) ChatSubscribeToMessagePreviews(ctx context.Context, req *pb.RpcChatSubscribeToMessagePreviewsRequest) *pb.RpcChatSubscribeToMessagePreviewsResponse { + return nil +} func (*UnimplementedClientCommandsServer) ObjectChatAdd(ctx context.Context, req *pb.RpcObjectChatAddRequest) *pb.RpcObjectChatAddResponse { return nil } @@ -9536,6 +9551,24 @@ func _ClientCommands_ChatUnsubscribe_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } +func _ClientCommands_ChatSubscribeToMessagePreviews_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(pb.RpcChatSubscribeToMessagePreviewsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ClientCommandsServer).ChatSubscribeToMessagePreviews(ctx, in), nil + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/anytype.ClientCommands/ChatSubscribeToMessagePreviews", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ClientCommandsServer).ChatSubscribeToMessagePreviews(ctx, req.(*pb.RpcChatSubscribeToMessagePreviewsRequest)), nil + } + return interceptor(ctx, in, info, handler) +} + func _ClientCommands_ObjectChatAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(pb.RpcObjectChatAddRequest) if err := dec(in); err != nil { @@ -10674,6 +10707,10 @@ var _ClientCommands_serviceDesc = grpc.ServiceDesc{ MethodName: "ChatUnsubscribe", Handler: _ClientCommands_ChatUnsubscribe_Handler, }, + { + MethodName: "ChatSubscribeToMessagePreviews", + Handler: _ClientCommands_ChatSubscribeToMessagePreviews_Handler, + }, { MethodName: "ObjectChatAdd", Handler: _ClientCommands_ObjectChatAdd_Handler, diff --git a/pkg/lib/bundle/types.gen.go b/pkg/lib/bundle/types.gen.go index d7bf61a5a..d44aa4063 100644 --- a/pkg/lib/bundle/types.gen.go +++ b/pkg/lib/bundle/types.gen.go @@ -9,7 +9,7 @@ import ( "github.com/anyproto/anytype-heart/pkg/lib/pb/model" ) -const TypeChecksum = "c4f1cd92b533a4b5f533c01185049b8c7c170401c2f0bf09d6d888cad6a61669" +const TypeChecksum = "0d2b4f839dd21d6e7abce40021cda9dbc2ed6caef0cff7bbff21c7c5b815b716" const ( TypePrefix = "_ot" ) @@ -356,10 +356,10 @@ var ( IconColor: 6, IconName: "search", Layout: model.ObjectType_set, - Name: "Set", + Name: "Query", Readonly: true, RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeySetOf)}, - Revision: 1, + Revision: 2, Types: []model.SmartBlockType{model.SmartBlockType_Page}, Url: TypePrefix + "set", }, diff --git a/pkg/lib/bundle/types.json b/pkg/lib/bundle/types.json index 383883f81..8dd80a9c2 100644 --- a/pkg/lib/bundle/types.json +++ b/pkg/lib/bundle/types.json @@ -304,7 +304,7 @@ }, { "id": "set", - "name": "Set", + "name": "Query", "types": [ "Page" ], @@ -317,7 +317,7 @@ "setOf" ], "description": "Query all objects in your space based on types and relations", - "revision": 1 + "revision": 2 }, { "id": "collection", diff --git a/pkg/lib/localstore/objectstore/anystorehelper/helper.go b/pkg/lib/localstore/objectstore/anystorehelper/helper.go index 6c5c7eba2..cc6a218c2 100644 --- a/pkg/lib/localstore/objectstore/anystorehelper/helper.go +++ b/pkg/lib/localstore/objectstore/anystorehelper/helper.go @@ -50,6 +50,10 @@ func OpenDatabaseWithLockCheck(ctx context.Context, path string, config *anystor return nil, lockCloseNoop, err } store, err = anystore.Open(ctx, path, config) + if err != nil { + l.Errorf("failed to open anystore again, %s", err) + return nil, lockCloseNoop, err + } } else { l.Errorf("failed to open anystore, non-recoverable error") // some other error diff --git a/pkg/lib/pb/model/models.pb.go b/pkg/lib/pb/model/models.pb.go index f60aa5513..d76cfdb44 100644 --- a/pkg/lib/pb/model/models.pb.go +++ b/pkg/lib/pb/model/models.pb.go @@ -5556,6 +5556,7 @@ type AccountInfo struct { TimeZone string `protobuf:"bytes,104,opt,name=timeZone,proto3" json:"timeZone,omitempty"` AnalyticsId string `protobuf:"bytes,105,opt,name=analyticsId,proto3" json:"analyticsId,omitempty"` NetworkId string `protobuf:"bytes,106,opt,name=networkId,proto3" json:"networkId,omitempty"` + EthereumAddress string `protobuf:"bytes,107,opt,name=ethereumAddress,proto3" json:"ethereumAddress,omitempty"` } func (m *AccountInfo) Reset() { *m = AccountInfo{} } @@ -5696,6 +5697,13 @@ func (m *AccountInfo) GetNetworkId() string { return "" } +func (m *AccountInfo) GetEthereumAddress() string { + if m != nil { + return m.EthereumAddress + } + return "" +} + type AccountAuth struct { } @@ -9633,572 +9641,573 @@ func init() { } var fileDescriptor_98a910b73321e591 = []byte{ - // 9031 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7d, 0x5b, 0x8c, 0x64, 0xd9, - 0x91, 0x50, 0xe5, 0x3b, 0x33, 0xb2, 0xb2, 0xea, 0xd4, 0xe9, 0x57, 0x3a, 0xdd, 0x6e, 0xda, 0xe9, - 0xf1, 0x4c, 0xbb, 0x3d, 0xae, 0x9e, 0xe9, 0x99, 0xf1, 0x8c, 0xc7, 0x9e, 0xb1, 0xb3, 0xb2, 0xb2, - 0xba, 0x72, 0xba, 0xaa, 0xb2, 0x7c, 0x33, 0xbb, 0xdb, 0x33, 0xda, 0xa5, 0xb8, 0x95, 0xf7, 0x54, - 0xe6, 0x75, 0xdd, 0xbc, 0x37, 0x7d, 0xef, 0xc9, 0xea, 0x2a, 0x0b, 0xd0, 0xf2, 0xda, 0x65, 0x3f, - 0x90, 0x0c, 0x62, 0x81, 0x15, 0x42, 0x6b, 0x7f, 0x20, 0x21, 0x76, 0x25, 0x04, 0x92, 0x05, 0x0b, - 0xac, 0x04, 0x2b, 0x21, 0x90, 0x90, 0x90, 0xe1, 0x8b, 0x3f, 0xd0, 0x58, 0xe2, 0x07, 0xc1, 0x6a, - 0xf9, 0xb2, 0x10, 0x1f, 0x28, 0xe2, 0x9c, 0xfb, 0xc8, 0x47, 0x55, 0x67, 0xcf, 0xee, 0x22, 0xbe, - 0x2a, 0x23, 0x6e, 0x44, 0xdc, 0xf3, 0x88, 0x13, 0x27, 0x22, 0x4e, 0x9c, 0x5b, 0xf0, 0xca, 0xf8, - 0x74, 0xf0, 0xc0, 0xb1, 0x8f, 0x1f, 0x8c, 0x8f, 0x1f, 0x8c, 0x3c, 0x4b, 0x38, 0x0f, 0xc6, 0xbe, - 0x27, 0xbd, 0x40, 0x01, 0xc1, 0x26, 0x41, 0xbc, 0x62, 0xba, 0x17, 0xf2, 0x62, 0x2c, 0x36, 0x09, - 0x5b, 0xbb, 0x3d, 0xf0, 0xbc, 0x81, 0x23, 0x14, 0xe9, 0xf1, 0xe4, 0xe4, 0x41, 0x20, 0xfd, 0x49, - 0x5f, 0x2a, 0xe2, 0xfa, 0xcf, 0xb2, 0x70, 0xb3, 0x3b, 0x32, 0x7d, 0xb9, 0xe5, 0x78, 0xfd, 0xd3, - 0xae, 0x6b, 0x8e, 0x83, 0xa1, 0x27, 0xb7, 0xcc, 0x40, 0xf0, 0xd7, 0x21, 0x7f, 0x8c, 0xc8, 0xa0, - 0x9a, 0xba, 0x9b, 0xb9, 0x57, 0x7e, 0x78, 0x7d, 0x73, 0x4a, 0xf0, 0x26, 0x71, 0x18, 0x9a, 0x86, - 0xbf, 0x09, 0x05, 0x4b, 0x48, 0xd3, 0x76, 0x82, 0x6a, 0xfa, 0x6e, 0xea, 0x5e, 0xf9, 0xe1, 0xad, - 0x4d, 0xf5, 0xe2, 0xcd, 0xf0, 0xc5, 0x9b, 0x5d, 0x7a, 0xb1, 0x11, 0xd2, 0xf1, 0x77, 0xa1, 0x78, - 0x62, 0x3b, 0xe2, 0xb1, 0xb8, 0x08, 0xaa, 0x99, 0x2b, 0x79, 0xb6, 0xd2, 0xd5, 0x94, 0x11, 0x11, - 0xf3, 0x26, 0xac, 0x89, 0x73, 0xe9, 0x9b, 0x86, 0x70, 0x4c, 0x69, 0x7b, 0x6e, 0x50, 0xcd, 0x52, - 0x0b, 0x6f, 0xcd, 0xb4, 0x30, 0x7c, 0x4e, 0xec, 0x33, 0x2c, 0xfc, 0x2e, 0x94, 0xbd, 0xe3, 0xef, - 0x8b, 0xbe, 0xec, 0x5d, 0x8c, 0x45, 0x50, 0xcd, 0xdd, 0xcd, 0xdc, 0x2b, 0x19, 0x49, 0x14, 0xff, - 0x06, 0x94, 0xfb, 0x9e, 0xe3, 0x88, 0xbe, 0x7a, 0x47, 0xfe, 0xea, 0x6e, 0x25, 0x69, 0xf9, 0xdb, - 0x70, 0xc3, 0x17, 0x23, 0xef, 0x4c, 0x58, 0xcd, 0x08, 0x4b, 0xfd, 0x2c, 0xd2, 0x6b, 0x16, 0x3f, - 0xe4, 0x0d, 0xa8, 0xf8, 0xba, 0x7d, 0x7b, 0xb6, 0x7b, 0x1a, 0x54, 0x0b, 0xd4, 0xad, 0xcf, 0x5f, - 0xd2, 0x2d, 0xa4, 0x31, 0xa6, 0x39, 0x38, 0x83, 0xcc, 0xa9, 0xb8, 0xa8, 0x96, 0xee, 0xa6, 0xee, - 0x95, 0x0c, 0xfc, 0xc9, 0xdf, 0x87, 0xaa, 0xe7, 0xdb, 0x03, 0xdb, 0x35, 0x9d, 0xa6, 0x2f, 0x4c, - 0x29, 0xac, 0x9e, 0x3d, 0x12, 0x81, 0x34, 0x47, 0xe3, 0x2a, 0xdc, 0x4d, 0xdd, 0xcb, 0x18, 0x97, - 0x3e, 0xe7, 0x6f, 0xa9, 0x19, 0x6a, 0xbb, 0x27, 0x5e, 0xb5, 0xac, 0xbb, 0x3f, 0xdd, 0x96, 0x1d, - 0xfd, 0xd8, 0x88, 0x08, 0xeb, 0xbf, 0x48, 0x43, 0xbe, 0x2b, 0x4c, 0xbf, 0x3f, 0xac, 0xfd, 0x5a, - 0x0a, 0xf2, 0x86, 0x08, 0x26, 0x8e, 0xe4, 0x35, 0x28, 0xaa, 0xb1, 0x6d, 0x5b, 0xd5, 0x14, 0xb5, - 0x2e, 0x82, 0x3f, 0x8b, 0xee, 0x6c, 0x42, 0x76, 0x24, 0xa4, 0x59, 0xcd, 0xd0, 0x08, 0xd5, 0x66, - 0x5a, 0xa5, 0x5e, 0xbf, 0xb9, 0x2f, 0xa4, 0x69, 0x10, 0x5d, 0xed, 0xe7, 0x29, 0xc8, 0x22, 0xc8, - 0x6f, 0x43, 0x69, 0x68, 0x0f, 0x86, 0x8e, 0x3d, 0x18, 0x4a, 0xdd, 0x90, 0x18, 0xc1, 0x3f, 0x84, - 0xf5, 0x08, 0x30, 0x4c, 0x77, 0x20, 0xb0, 0x45, 0x8b, 0x94, 0x9f, 0x1e, 0x1a, 0xb3, 0xc4, 0xbc, - 0x0a, 0x05, 0x5a, 0x0f, 0x6d, 0x8b, 0x34, 0xba, 0x64, 0x84, 0x20, 0xaa, 0x5b, 0x38, 0x53, 0x8f, - 0xc5, 0x45, 0x35, 0x4b, 0x4f, 0x93, 0x28, 0xde, 0x80, 0xf5, 0x10, 0xdc, 0xd6, 0xa3, 0x91, 0xbb, - 0x7a, 0x34, 0x66, 0xe9, 0xeb, 0x9f, 0xee, 0x41, 0x8e, 0x96, 0x25, 0x5f, 0x83, 0xb4, 0x1d, 0x0e, - 0x74, 0xda, 0xb6, 0xf8, 0x03, 0xc8, 0x9f, 0xd8, 0xc2, 0xb1, 0x5e, 0x38, 0xc2, 0x9a, 0x8c, 0xb7, - 0x60, 0xd5, 0x17, 0x81, 0xf4, 0x6d, 0xad, 0xfd, 0x6a, 0x81, 0x7e, 0x71, 0x91, 0x0d, 0xd8, 0x34, - 0x12, 0x84, 0xc6, 0x14, 0x1b, 0x76, 0xbb, 0x3f, 0xb4, 0x1d, 0xcb, 0x17, 0x6e, 0xdb, 0x52, 0xeb, - 0xb4, 0x64, 0x24, 0x51, 0xfc, 0x1e, 0xac, 0x1f, 0x9b, 0xfd, 0xd3, 0x81, 0xef, 0x4d, 0x5c, 0x5c, - 0x10, 0x9e, 0x4f, 0xdd, 0x2e, 0x19, 0xb3, 0x68, 0xfe, 0x06, 0xe4, 0x4c, 0xc7, 0x1e, 0xb8, 0xb4, - 0x12, 0xd7, 0xe6, 0x26, 0x5d, 0xb5, 0xa5, 0x81, 0x14, 0x86, 0x22, 0xe4, 0xbb, 0x50, 0x39, 0x13, - 0xbe, 0xb4, 0xfb, 0xa6, 0x43, 0xf8, 0x6a, 0x81, 0x38, 0xeb, 0x0b, 0x39, 0x9f, 0x26, 0x29, 0x8d, - 0x69, 0x46, 0xde, 0x06, 0x08, 0xd0, 0x4c, 0xd2, 0x74, 0xea, 0xb5, 0xf0, 0xda, 0x42, 0x31, 0x4d, - 0xcf, 0x95, 0xc2, 0x95, 0x9b, 0xdd, 0x88, 0x7c, 0x77, 0xc5, 0x48, 0x30, 0xf3, 0x77, 0x21, 0x2b, - 0xc5, 0xb9, 0xac, 0xae, 0x5d, 0x31, 0xa2, 0xa1, 0x90, 0x9e, 0x38, 0x97, 0xbb, 0x2b, 0x06, 0x31, - 0x20, 0x23, 0x2e, 0xb2, 0xea, 0xfa, 0x12, 0x8c, 0xb8, 0x2e, 0x91, 0x11, 0x19, 0xf8, 0x07, 0x90, - 0x77, 0xcc, 0x0b, 0x6f, 0x22, 0xab, 0x8c, 0x58, 0xbf, 0x74, 0x25, 0xeb, 0x1e, 0x91, 0xee, 0xae, - 0x18, 0x9a, 0x89, 0xbf, 0x0d, 0x19, 0xcb, 0x3e, 0xab, 0x6e, 0x10, 0xef, 0xdd, 0x2b, 0x79, 0xb7, - 0xed, 0xb3, 0xdd, 0x15, 0x03, 0xc9, 0x79, 0x13, 0x8a, 0xc7, 0x9e, 0x77, 0x3a, 0x32, 0xfd, 0xd3, - 0x2a, 0x27, 0xd6, 0x2f, 0x5f, 0xc9, 0xba, 0xa5, 0x89, 0x77, 0x57, 0x8c, 0x88, 0x11, 0xbb, 0x6c, - 0xf7, 0x3d, 0xb7, 0x7a, 0x6d, 0x89, 0x2e, 0xb7, 0xfb, 0x9e, 0x8b, 0x5d, 0x46, 0x06, 0x64, 0x74, - 0x6c, 0xf7, 0xb4, 0x7a, 0x7d, 0x09, 0x46, 0xb4, 0x9c, 0xc8, 0x88, 0x0c, 0xd8, 0x6c, 0xcb, 0x94, - 0xe6, 0x99, 0x2d, 0x9e, 0x57, 0x6f, 0x2c, 0xd1, 0xec, 0x6d, 0x4d, 0x8c, 0xcd, 0x0e, 0x19, 0x51, - 0x48, 0xb8, 0x34, 0xab, 0x37, 0x97, 0x10, 0x12, 0x5a, 0x74, 0x14, 0x12, 0x32, 0xf2, 0x3f, 0x0d, - 0x1b, 0x27, 0xc2, 0x94, 0x13, 0x5f, 0x58, 0xf1, 0x46, 0x77, 0x8b, 0xa4, 0x6d, 0x5e, 0x3d, 0xf7, - 0xb3, 0x5c, 0xbb, 0x2b, 0xc6, 0xbc, 0x28, 0xfe, 0x3e, 0xe4, 0x1c, 0x53, 0x8a, 0xf3, 0x6a, 0x95, - 0x64, 0xd6, 0x5f, 0xa0, 0x14, 0x52, 0x9c, 0xef, 0xae, 0x18, 0x8a, 0x85, 0x7f, 0x0f, 0xd6, 0xa5, - 0x79, 0xec, 0x88, 0xce, 0x89, 0x26, 0x08, 0xaa, 0x9f, 0x23, 0x29, 0xaf, 0x5f, 0xad, 0xce, 0xd3, - 0x3c, 0xbb, 0x2b, 0xc6, 0xac, 0x18, 0x6c, 0x15, 0xa1, 0xaa, 0xb5, 0x25, 0x5a, 0x45, 0xf2, 0xb0, - 0x55, 0xc4, 0xc2, 0xf7, 0xa0, 0x4c, 0x3f, 0x9a, 0x9e, 0x33, 0x19, 0xb9, 0xd5, 0xcf, 0x93, 0x84, - 0x7b, 0x2f, 0x96, 0xa0, 0xe8, 0x77, 0x57, 0x8c, 0x24, 0x3b, 0x4e, 0x22, 0x81, 0x86, 0xf7, 0xbc, - 0x7a, 0x7b, 0x89, 0x49, 0xec, 0x69, 0x62, 0x9c, 0xc4, 0x90, 0x11, 0x97, 0xde, 0x73, 0xdb, 0x1a, - 0x08, 0x59, 0xfd, 0xc2, 0x12, 0x4b, 0xef, 0x19, 0x91, 0xe2, 0xd2, 0x53, 0x4c, 0xa8, 0xc6, 0xfd, - 0xa1, 0x29, 0xab, 0x77, 0x96, 0x50, 0xe3, 0xe6, 0xd0, 0x24, 0x5b, 0x81, 0x0c, 0xb5, 0x1f, 0xc2, - 0x6a, 0xd2, 0x2a, 0x73, 0x0e, 0x59, 0x5f, 0x98, 0x6a, 0x47, 0x28, 0x1a, 0xf4, 0x1b, 0x71, 0xc2, - 0xb2, 0x25, 0xed, 0x08, 0x45, 0x83, 0x7e, 0xf3, 0x9b, 0x90, 0x57, 0xbe, 0x09, 0x19, 0xfc, 0xa2, - 0xa1, 0x21, 0xa4, 0xb5, 0x7c, 0x73, 0x40, 0xfb, 0x56, 0xd1, 0xa0, 0xdf, 0x48, 0x6b, 0xf9, 0xde, - 0xb8, 0xe3, 0x92, 0xc1, 0x2e, 0x1a, 0x1a, 0xaa, 0xfd, 0x9b, 0x0f, 0xa0, 0xa0, 0x1b, 0x55, 0xfb, - 0x7b, 0x29, 0xc8, 0x2b, 0x83, 0xc2, 0xbf, 0x0d, 0xb9, 0x40, 0x5e, 0x38, 0x82, 0xda, 0xb0, 0xf6, - 0xf0, 0x2b, 0x4b, 0x18, 0xa1, 0xcd, 0x2e, 0x32, 0x18, 0x8a, 0xaf, 0x6e, 0x40, 0x8e, 0x60, 0x5e, - 0x80, 0x8c, 0xe1, 0x3d, 0x67, 0x2b, 0x1c, 0x20, 0xaf, 0x26, 0x8b, 0xa5, 0x10, 0xb9, 0x6d, 0x9f, - 0xb1, 0x34, 0x22, 0x77, 0x85, 0x69, 0x09, 0x9f, 0x65, 0x78, 0x05, 0x4a, 0xe1, 0xb4, 0x04, 0x2c, - 0xcb, 0x19, 0xac, 0x26, 0x26, 0x3c, 0x60, 0xb9, 0xda, 0xff, 0xca, 0x42, 0x16, 0xd7, 0x3f, 0x7f, - 0x05, 0x2a, 0xd2, 0xf4, 0x07, 0x42, 0x39, 0xc2, 0x91, 0x93, 0x32, 0x8d, 0xe4, 0x1f, 0x84, 0x7d, - 0x48, 0x53, 0x1f, 0x5e, 0x7b, 0xa1, 0x5d, 0x99, 0xea, 0x41, 0x62, 0x17, 0xce, 0x2c, 0xb7, 0x0b, - 0xef, 0x40, 0x11, 0xcd, 0x59, 0xd7, 0xfe, 0xa1, 0xa0, 0xa1, 0x5f, 0x7b, 0x78, 0xff, 0xc5, 0xaf, - 0x6c, 0x6b, 0x0e, 0x23, 0xe2, 0xe5, 0x6d, 0x28, 0xf5, 0x4d, 0xdf, 0xa2, 0xc6, 0xd0, 0x6c, 0xad, - 0x3d, 0xfc, 0xea, 0x8b, 0x05, 0x35, 0x43, 0x16, 0x23, 0xe6, 0xe6, 0x1d, 0x28, 0x5b, 0x22, 0xe8, - 0xfb, 0xf6, 0x98, 0xcc, 0x9b, 0xda, 0x8b, 0xbf, 0xf6, 0x62, 0x61, 0xdb, 0x31, 0x93, 0x91, 0x94, - 0x80, 0x1e, 0x99, 0x1f, 0xd9, 0xb7, 0x02, 0x39, 0x08, 0x31, 0xa2, 0xfe, 0x2e, 0x14, 0xc3, 0xfe, - 0xf0, 0x55, 0x28, 0xe2, 0xdf, 0x03, 0xcf, 0x15, 0x6c, 0x05, 0xe7, 0x16, 0xa1, 0xee, 0xc8, 0x74, - 0x1c, 0x96, 0xe2, 0x6b, 0x00, 0x08, 0xee, 0x0b, 0xcb, 0x9e, 0x8c, 0x58, 0xba, 0xfe, 0xcd, 0x50, - 0x5b, 0x8a, 0x90, 0x3d, 0x34, 0x07, 0xc8, 0xb1, 0x0a, 0xc5, 0xd0, 0x5c, 0xb3, 0x14, 0xf2, 0x6f, - 0x9b, 0xc1, 0xf0, 0xd8, 0x33, 0x7d, 0x8b, 0xa5, 0x79, 0x19, 0x0a, 0x0d, 0xbf, 0x3f, 0xb4, 0xcf, - 0x04, 0xcb, 0xd4, 0x1f, 0x40, 0x39, 0xd1, 0x5e, 0x14, 0xa1, 0x5f, 0x5a, 0x82, 0x5c, 0xc3, 0xb2, - 0x84, 0xc5, 0x52, 0xc8, 0xa0, 0x3b, 0xc8, 0xd2, 0xf5, 0xaf, 0x42, 0x29, 0x1a, 0x2d, 0x24, 0xc7, - 0x8d, 0x9b, 0xad, 0xe0, 0x2f, 0x44, 0xb3, 0x14, 0x6a, 0x65, 0xdb, 0x75, 0x6c, 0x57, 0xb0, 0x74, - 0xed, 0xcf, 0x90, 0xaa, 0xf2, 0x6f, 0x4d, 0x2f, 0x88, 0x57, 0x5f, 0xb4, 0xb3, 0x4e, 0xaf, 0x86, - 0xcf, 0x27, 0xfa, 0xb7, 0x67, 0x53, 0xe3, 0x8a, 0x90, 0xdd, 0xf6, 0x64, 0xc0, 0x52, 0xb5, 0xff, - 0x9e, 0x86, 0x62, 0xb8, 0xa1, 0x62, 0x4c, 0x30, 0xf1, 0x1d, 0xad, 0xd0, 0xf8, 0x93, 0x5f, 0x87, - 0x9c, 0xb4, 0xa5, 0x56, 0xe3, 0x92, 0xa1, 0x00, 0xf4, 0xd5, 0x92, 0x33, 0xab, 0x1c, 0xd8, 0xd9, - 0xa9, 0xb2, 0x47, 0xe6, 0x40, 0xec, 0x9a, 0xc1, 0x50, 0xbb, 0xb0, 0x31, 0x02, 0xf9, 0x4f, 0xcc, - 0x33, 0xd4, 0x39, 0x7a, 0xae, 0xbc, 0xb8, 0x24, 0x8a, 0xbf, 0x05, 0x59, 0xec, 0xa0, 0x56, 0x9a, - 0x3f, 0x35, 0xd3, 0x61, 0x54, 0x93, 0x43, 0x5f, 0xe0, 0xf4, 0x6c, 0x62, 0x04, 0x66, 0x10, 0x31, - 0x7f, 0x15, 0xd6, 0xd4, 0x22, 0xec, 0x84, 0xf1, 0x43, 0x81, 0x24, 0xcf, 0x60, 0x79, 0x03, 0x87, - 0xd3, 0x94, 0xa2, 0x5a, 0x5c, 0x42, 0xbf, 0xc3, 0xc1, 0xd9, 0xec, 0x22, 0x8b, 0xa1, 0x38, 0xeb, - 0xef, 0xe0, 0x98, 0x9a, 0x52, 0xe0, 0x34, 0xb7, 0x46, 0x63, 0x79, 0xa1, 0x94, 0x66, 0x47, 0xc8, - 0xfe, 0xd0, 0x76, 0x07, 0x2c, 0xa5, 0x86, 0x18, 0x27, 0x91, 0x48, 0x7c, 0xdf, 0xf3, 0x59, 0xa6, - 0x56, 0x83, 0x2c, 0xea, 0x28, 0x1a, 0x49, 0xd7, 0x1c, 0x09, 0x3d, 0xd2, 0xf4, 0xbb, 0x76, 0x0d, - 0x36, 0xe6, 0xf6, 0xe3, 0xda, 0xef, 0xe6, 0x95, 0x86, 0x20, 0x07, 0xf9, 0x82, 0x9a, 0x83, 0xdc, - 0xbc, 0x97, 0xb2, 0x31, 0x28, 0x65, 0xda, 0xc6, 0x7c, 0x00, 0x39, 0xec, 0x58, 0x68, 0x62, 0x96, - 0x60, 0xdf, 0x47, 0x72, 0x43, 0x71, 0x61, 0x04, 0xd3, 0x1f, 0x8a, 0xfe, 0xa9, 0xb0, 0xb4, 0xad, - 0x0f, 0x41, 0x54, 0x9a, 0x7e, 0xc2, 0x3d, 0x57, 0x00, 0xa9, 0x44, 0xdf, 0x73, 0x5b, 0x23, 0xef, - 0xfb, 0x36, 0xcd, 0x2b, 0xaa, 0x44, 0x88, 0x08, 0x9f, 0xb6, 0x51, 0x47, 0xf4, 0xb4, 0xc5, 0x88, - 0x5a, 0x0b, 0x72, 0xf4, 0x6e, 0x5c, 0x09, 0xaa, 0xcd, 0x2a, 0xd3, 0xf0, 0xea, 0x72, 0x6d, 0xd6, - 0x4d, 0xae, 0xfd, 0x4e, 0x1a, 0xb2, 0x08, 0xf3, 0xfb, 0x90, 0xf3, 0x31, 0x0e, 0xa3, 0xe1, 0xbc, - 0x2c, 0x66, 0x53, 0x24, 0xfc, 0xdb, 0x5a, 0x15, 0xd3, 0x4b, 0x28, 0x4b, 0xf4, 0xc6, 0xa4, 0x5a, - 0x5e, 0x87, 0xdc, 0xd8, 0xf4, 0xcd, 0x91, 0x5e, 0x27, 0x0a, 0xa8, 0xff, 0x38, 0x05, 0x59, 0x24, - 0xe2, 0x1b, 0x50, 0xe9, 0x4a, 0xdf, 0x3e, 0x15, 0x72, 0xe8, 0x7b, 0x93, 0xc1, 0x50, 0x69, 0xd2, - 0x63, 0x71, 0xa1, 0xec, 0x8d, 0x32, 0x08, 0xd2, 0x74, 0xec, 0x3e, 0x4b, 0xa3, 0x56, 0x6d, 0x79, - 0x8e, 0xc5, 0x32, 0x7c, 0x1d, 0xca, 0x4f, 0x5c, 0x4b, 0xf8, 0x41, 0xdf, 0xf3, 0x85, 0xc5, 0xb2, - 0x7a, 0x75, 0x9f, 0xb2, 0x1c, 0xed, 0x65, 0xe2, 0x5c, 0x52, 0x2c, 0xc4, 0xf2, 0xfc, 0x1a, 0xac, - 0x6f, 0x4d, 0x07, 0x48, 0xac, 0x80, 0x36, 0x69, 0x5f, 0xb8, 0xa8, 0x64, 0xac, 0xa8, 0x94, 0xd8, - 0xfb, 0xbe, 0xcd, 0x4a, 0xf8, 0x32, 0xb5, 0x4e, 0x18, 0xd4, 0xff, 0x65, 0x2a, 0xb4, 0x1c, 0x15, - 0x28, 0x1d, 0x9a, 0xbe, 0x39, 0xf0, 0xcd, 0x31, 0xb6, 0xaf, 0x0c, 0x05, 0xb5, 0x71, 0xbe, 0xa9, - 0xac, 0x9b, 0x02, 0x1e, 0x2a, 0xdb, 0xa8, 0x80, 0xb7, 0x58, 0x26, 0x06, 0xde, 0x66, 0x59, 0x7c, - 0xc7, 0x77, 0x27, 0x9e, 0x14, 0x2c, 0x47, 0xb6, 0xce, 0xb3, 0x04, 0xcb, 0x23, 0xb2, 0x87, 0x16, - 0x85, 0x15, 0xb0, 0xcf, 0x4d, 0xd4, 0x9f, 0x63, 0xef, 0x9c, 0x15, 0xb1, 0x19, 0x38, 0x8c, 0xc2, - 0x62, 0x25, 0x7c, 0x72, 0x30, 0x19, 0x1d, 0x0b, 0xec, 0x26, 0xe0, 0x93, 0x9e, 0x37, 0x18, 0x38, - 0x82, 0x95, 0x71, 0x0c, 0x12, 0xc6, 0x97, 0xad, 0x92, 0xa5, 0x35, 0x1d, 0xc7, 0x9b, 0x48, 0x56, - 0xa9, 0xfd, 0x22, 0x03, 0x59, 0x8c, 0x6e, 0x70, 0xed, 0x0c, 0xd1, 0xce, 0xe8, 0xb5, 0x83, 0xbf, - 0xa3, 0x15, 0x98, 0x8e, 0x57, 0x20, 0x7f, 0x5f, 0xcf, 0x74, 0x66, 0x09, 0x2b, 0x8b, 0x82, 0x93, - 0x93, 0xcc, 0x21, 0x3b, 0xb2, 0x47, 0x42, 0xdb, 0x3a, 0xfa, 0x8d, 0xb8, 0x00, 0xf7, 0xe3, 0x1c, - 0x25, 0x4f, 0xe8, 0x37, 0xae, 0x1a, 0x13, 0xb7, 0x85, 0x86, 0xa4, 0x35, 0x90, 0x31, 0x42, 0x70, - 0x81, 0xf5, 0x2a, 0x2d, 0xb4, 0x5e, 0x1f, 0x84, 0xd6, 0xab, 0xb0, 0xc4, 0xaa, 0xa7, 0x66, 0x26, - 0x2d, 0x57, 0x6c, 0x34, 0x8a, 0xcb, 0xb3, 0x27, 0x36, 0x93, 0x6d, 0xad, 0xb5, 0xf1, 0x46, 0x57, - 0x54, 0xa3, 0xcc, 0x52, 0x38, 0x9b, 0xb4, 0x5c, 0x95, 0xcd, 0x7b, 0x6a, 0x5b, 0xc2, 0x63, 0x19, - 0xda, 0x08, 0x27, 0x96, 0xed, 0xb1, 0x2c, 0x7a, 0x5e, 0x87, 0xdb, 0x3b, 0x2c, 0x57, 0x7f, 0x35, - 0xb1, 0x25, 0x35, 0x26, 0xd2, 0x53, 0x62, 0x48, 0x7d, 0x53, 0x4a, 0x1b, 0x8f, 0x85, 0xc5, 0xd2, - 0xf5, 0xaf, 0x2f, 0x30, 0xb3, 0x15, 0x28, 0x3d, 0x19, 0x3b, 0x9e, 0x69, 0x5d, 0x61, 0x67, 0x57, - 0x01, 0xe2, 0xa8, 0xba, 0xf6, 0x8b, 0x7a, 0xbc, 0x9d, 0xa3, 0x2f, 0x1a, 0x78, 0x13, 0xbf, 0x2f, - 0xc8, 0x84, 0x94, 0x0c, 0x0d, 0xf1, 0xef, 0x40, 0x0e, 0x9f, 0x87, 0x69, 0x9c, 0xfb, 0x4b, 0xc5, - 0x72, 0x9b, 0x4f, 0x6d, 0xf1, 0xdc, 0x50, 0x8c, 0xfc, 0x0e, 0x80, 0xd9, 0x97, 0xf6, 0x99, 0x40, - 0xa4, 0x5e, 0xec, 0x09, 0x0c, 0x7f, 0x27, 0xe9, 0xbe, 0x5c, 0x9d, 0x87, 0x4c, 0xf8, 0x35, 0xdc, - 0x80, 0x32, 0x2e, 0xdd, 0x71, 0xc7, 0xc7, 0xd5, 0x5e, 0x5d, 0x25, 0xc6, 0x37, 0x96, 0x6b, 0xde, - 0xa3, 0x88, 0xd1, 0x48, 0x0a, 0xe1, 0x4f, 0x60, 0x55, 0xe5, 0xd4, 0xb4, 0xd0, 0x0a, 0x09, 0x7d, - 0x73, 0x39, 0xa1, 0x9d, 0x98, 0xd3, 0x98, 0x12, 0x33, 0x9f, 0x96, 0xcc, 0xbd, 0x74, 0x5a, 0xf2, - 0x55, 0x58, 0xeb, 0x4d, 0xaf, 0x02, 0xb5, 0x55, 0xcc, 0x60, 0x79, 0x1d, 0x56, 0xed, 0x20, 0xce, - 0x8a, 0x52, 0x8e, 0xa4, 0x68, 0x4c, 0xe1, 0x6a, 0xff, 0x31, 0x0f, 0x59, 0x1a, 0xf9, 0xd9, 0x1c, - 0x57, 0x73, 0xca, 0xa4, 0x3f, 0x58, 0x7e, 0xaa, 0x67, 0x56, 0x3c, 0x59, 0x90, 0x4c, 0xc2, 0x82, - 0x7c, 0x07, 0x72, 0x81, 0xe7, 0xcb, 0x70, 0x7a, 0x97, 0x54, 0xa2, 0xae, 0xe7, 0x4b, 0x43, 0x31, - 0xf2, 0x1d, 0x28, 0x9c, 0xd8, 0x8e, 0xc4, 0x49, 0x51, 0x83, 0xf7, 0xfa, 0x72, 0x32, 0x76, 0x88, - 0xc9, 0x08, 0x99, 0xf9, 0x5e, 0x52, 0xd9, 0xf2, 0x24, 0x69, 0x73, 0x39, 0x49, 0x8b, 0x74, 0xf0, - 0x3e, 0xb0, 0xbe, 0x77, 0x26, 0x7c, 0x23, 0x91, 0x98, 0x54, 0x9b, 0xf4, 0x1c, 0x9e, 0xd7, 0xa0, - 0x38, 0xb4, 0x2d, 0x81, 0x7e, 0x0e, 0xd9, 0x98, 0xa2, 0x11, 0xc1, 0xfc, 0x31, 0x14, 0x29, 0x3e, - 0x40, 0xab, 0x58, 0x7a, 0xe9, 0xc1, 0x57, 0xa1, 0x4a, 0x28, 0x00, 0x5f, 0x44, 0x2f, 0xdf, 0xb1, - 0x25, 0xe5, 0xa7, 0x8b, 0x46, 0x04, 0x63, 0x83, 0x49, 0xdf, 0x93, 0x0d, 0x2e, 0xab, 0x06, 0xcf, - 0xe2, 0xf9, 0xdb, 0x70, 0x83, 0x70, 0x33, 0x9b, 0x24, 0x2e, 0x35, 0x14, 0xba, 0xf8, 0x21, 0x3a, - 0x2c, 0x63, 0x73, 0x20, 0xf6, 0xec, 0x91, 0x2d, 0xab, 0x95, 0xbb, 0xa9, 0x7b, 0x39, 0x23, 0x46, - 0xf0, 0xd7, 0x61, 0xc3, 0x12, 0x27, 0xe6, 0xc4, 0x91, 0x3d, 0x31, 0x1a, 0x3b, 0xa6, 0x14, 0x6d, - 0x8b, 0x74, 0xb4, 0x64, 0xcc, 0x3f, 0xe0, 0x6f, 0xc0, 0x35, 0x8d, 0xec, 0x44, 0xa7, 0x0a, 0x6d, - 0x8b, 0xd2, 0x77, 0x25, 0x63, 0xd1, 0xa3, 0xfa, 0xbe, 0x36, 0xc3, 0xb8, 0x81, 0x62, 0x9c, 0x1a, - 0x1a, 0xd0, 0x40, 0xaa, 0x1d, 0xf9, 0x91, 0xe9, 0x38, 0xc2, 0xbf, 0x50, 0x41, 0xee, 0x63, 0xd3, - 0x3d, 0x36, 0x5d, 0x96, 0xa1, 0x3d, 0xd6, 0x74, 0x84, 0x6b, 0x99, 0xbe, 0xda, 0x91, 0x1f, 0xd1, - 0x86, 0x9e, 0xab, 0xdf, 0x83, 0x2c, 0x0d, 0x69, 0x09, 0x72, 0x2a, 0x4a, 0xa2, 0x88, 0x59, 0x47, - 0x48, 0x64, 0x91, 0xf7, 0x70, 0xf9, 0xb1, 0x74, 0xed, 0xef, 0xe7, 0xa1, 0x18, 0x0e, 0x5e, 0x78, - 0x86, 0x90, 0x8a, 0xcf, 0x10, 0xd0, 0x8d, 0x0b, 0x9e, 0xda, 0x81, 0x7d, 0xac, 0xdd, 0xd2, 0xa2, - 0x11, 0x23, 0xd0, 0x13, 0x7a, 0x6e, 0x5b, 0x72, 0x48, 0x6b, 0x26, 0x67, 0x28, 0x80, 0xdf, 0x83, - 0x75, 0x0b, 0xc7, 0xc1, 0xed, 0x3b, 0x13, 0x4b, 0xf4, 0x70, 0x17, 0x55, 0x69, 0x82, 0x59, 0x34, - 0xff, 0x18, 0x40, 0xda, 0x23, 0xb1, 0xe3, 0xf9, 0x23, 0x53, 0xea, 0xd8, 0xe0, 0x1b, 0x2f, 0xa7, - 0xd5, 0x9b, 0xbd, 0x48, 0x80, 0x91, 0x10, 0x86, 0xa2, 0xf1, 0x6d, 0x5a, 0x74, 0xe1, 0x33, 0x89, - 0xde, 0x8e, 0x04, 0x18, 0x09, 0x61, 0xbc, 0x07, 0x85, 0x13, 0xcf, 0x1f, 0x4d, 0x1c, 0x53, 0xef, - 0xb9, 0xef, 0xbf, 0xa4, 0xdc, 0x1d, 0xc5, 0x4d, 0xb6, 0x27, 0x14, 0x15, 0xe7, 0xb8, 0x4b, 0x4b, - 0xe6, 0xb8, 0xeb, 0xbf, 0x04, 0x10, 0xb7, 0x90, 0xdf, 0x04, 0xbe, 0xef, 0xb9, 0x72, 0xd8, 0x38, - 0x3e, 0xf6, 0xb7, 0xc4, 0x89, 0xe7, 0x8b, 0x6d, 0x13, 0xb7, 0xd7, 0x1b, 0xb0, 0x11, 0xe1, 0x1b, - 0x27, 0x52, 0xf8, 0x88, 0x26, 0x15, 0xe8, 0x0e, 0x3d, 0x5f, 0x2a, 0x1f, 0x8f, 0x7e, 0x3e, 0xe9, - 0xb2, 0x0c, 0x6e, 0xe9, 0xed, 0x6e, 0x87, 0x65, 0xeb, 0xf7, 0x00, 0xe2, 0xa1, 0xa5, 0x58, 0x88, - 0x7e, 0xbd, 0xf9, 0x50, 0x47, 0x46, 0x04, 0x3d, 0x7c, 0x9b, 0xa5, 0xea, 0x9f, 0xa6, 0xa0, 0x9c, - 0xe8, 0xd2, 0x74, 0xcc, 0xdc, 0xf4, 0x26, 0xae, 0x54, 0x41, 0x3a, 0xfd, 0x7c, 0x6a, 0x3a, 0x13, - 0xdc, 0xdc, 0x37, 0xa0, 0x42, 0xf0, 0xb6, 0x1d, 0x48, 0xdb, 0xed, 0x4b, 0x96, 0x89, 0x48, 0x94, - 0x63, 0x90, 0x8d, 0x48, 0x0e, 0x3c, 0x8d, 0xca, 0x71, 0x06, 0xab, 0x87, 0xc2, 0xef, 0x8b, 0x90, - 0x88, 0x9c, 0x61, 0x8d, 0x89, 0xc8, 0x94, 0x33, 0x6c, 0xca, 0x61, 0x77, 0x32, 0x62, 0x45, 0x74, - 0x2a, 0x11, 0x68, 0x9c, 0x09, 0x1f, 0x7d, 0x99, 0x12, 0xbe, 0x07, 0x11, 0xb8, 0x1a, 0x4c, 0x97, - 0x41, 0x48, 0xbd, 0x6f, 0xbb, 0xac, 0x1c, 0x01, 0xe6, 0x39, 0x5b, 0xc5, 0xf6, 0x53, 0xe8, 0xc0, - 0x2a, 0xb5, 0xff, 0x96, 0x81, 0x2c, 0xda, 0x75, 0x8c, 0x75, 0x93, 0x46, 0x48, 0xad, 0x95, 0x24, - 0xea, 0xb3, 0xed, 0x46, 0x28, 0x3b, 0xb9, 0x1b, 0xbd, 0x07, 0xe5, 0xfe, 0x24, 0x90, 0xde, 0x88, - 0xb6, 0x62, 0x7d, 0xda, 0x75, 0x73, 0x2e, 0x6b, 0x44, 0xc3, 0x69, 0x24, 0x49, 0xf9, 0x3b, 0x90, - 0x3f, 0x51, 0x5a, 0xaf, 0xf2, 0x46, 0x5f, 0xb8, 0x64, 0xb7, 0xd6, 0x9a, 0xad, 0x89, 0xb1, 0x5f, - 0xf6, 0xdc, 0x8a, 0x4d, 0xa2, 0xf4, 0xae, 0x9b, 0x8f, 0x76, 0xdd, 0x5f, 0x82, 0x35, 0x81, 0x03, - 0x7e, 0xe8, 0x98, 0x7d, 0x31, 0x12, 0x6e, 0xb8, 0xcc, 0xde, 0x7e, 0x89, 0x1e, 0xd3, 0x8c, 0x51, - 0xb7, 0x67, 0x64, 0xa1, 0xe5, 0x71, 0x3d, 0xdc, 0xfc, 0xc3, 0xc0, 0xbe, 0x68, 0xc4, 0x88, 0xfa, - 0x97, 0xb5, 0xbd, 0x2c, 0x40, 0xa6, 0x11, 0xf4, 0x75, 0x06, 0x44, 0x04, 0x7d, 0x15, 0x5e, 0x35, - 0x69, 0x38, 0x58, 0xba, 0xfe, 0x26, 0x94, 0xa2, 0x37, 0xa0, 0xf2, 0x1c, 0x78, 0xb2, 0x3b, 0x16, - 0x7d, 0xfb, 0xc4, 0x16, 0x96, 0xd2, 0xcf, 0xae, 0x34, 0x7d, 0xa9, 0x92, 0x88, 0x2d, 0xd7, 0x62, - 0xe9, 0xda, 0x6f, 0x17, 0x21, 0xaf, 0x36, 0x5f, 0xdd, 0xe1, 0x52, 0xd4, 0xe1, 0xef, 0x42, 0xd1, - 0x1b, 0x0b, 0xdf, 0x94, 0x9e, 0xaf, 0x33, 0x37, 0xef, 0xbc, 0xcc, 0x66, 0xbe, 0xd9, 0xd1, 0xcc, - 0x46, 0x24, 0x66, 0x56, 0x9b, 0xd2, 0xf3, 0xda, 0x74, 0x1f, 0x58, 0xb8, 0x6f, 0x1f, 0xfa, 0xc8, - 0x27, 0x2f, 0x74, 0x1c, 0x3e, 0x87, 0xe7, 0x3d, 0x28, 0xf5, 0x3d, 0xd7, 0xb2, 0xa3, 0x2c, 0xce, - 0xda, 0xc3, 0xaf, 0xbf, 0x54, 0x0b, 0x9b, 0x21, 0xb7, 0x11, 0x0b, 0xe2, 0xaf, 0x43, 0xee, 0x0c, - 0xd5, 0x8c, 0xf4, 0xe9, 0x72, 0x25, 0x54, 0x44, 0xfc, 0x13, 0x28, 0xff, 0x60, 0x62, 0xf7, 0x4f, - 0x3b, 0xc9, 0x2c, 0xe1, 0x7b, 0x2f, 0xd5, 0x8a, 0xef, 0xc6, 0xfc, 0x46, 0x52, 0x58, 0x42, 0xb5, - 0x0b, 0x7f, 0x04, 0xd5, 0x2e, 0xce, 0xab, 0xb6, 0x01, 0x15, 0x57, 0x04, 0x52, 0x58, 0x3b, 0xda, - 0x57, 0x83, 0xcf, 0xe0, 0xab, 0x4d, 0x8b, 0xa8, 0x7f, 0x09, 0x8a, 0xe1, 0x84, 0xf3, 0x3c, 0xa4, - 0x0f, 0x30, 0x28, 0xca, 0x43, 0xba, 0xe3, 0x2b, 0x6d, 0x6b, 0xa0, 0xb6, 0xd5, 0xff, 0x20, 0x05, - 0xa5, 0x68, 0xd0, 0xa7, 0x2d, 0x67, 0xeb, 0x07, 0x13, 0xd3, 0x61, 0x29, 0x0a, 0x97, 0x3d, 0xa9, - 0x20, 0x32, 0xd6, 0x8f, 0xe8, 0xb0, 0xde, 0x67, 0x19, 0x72, 0x11, 0x44, 0x10, 0xb0, 0x2c, 0xe7, - 0xb0, 0xa6, 0xd1, 0x1d, 0x5f, 0x91, 0xe6, 0xd0, 0xf0, 0xe1, 0xd3, 0x10, 0x91, 0x57, 0x1e, 0xc5, - 0xa9, 0x50, 0x06, 0xf2, 0xc0, 0x93, 0x04, 0x14, 0xb1, 0x51, 0x6d, 0x97, 0x95, 0xf0, 0x9d, 0x07, - 0x9e, 0x6c, 0xa3, 0x49, 0x8c, 0xc2, 0xb3, 0x72, 0xf8, 0x7a, 0x82, 0xc8, 0x22, 0x36, 0x1c, 0xa7, - 0xed, 0xb2, 0x8a, 0x7e, 0xa0, 0xa0, 0x35, 0x94, 0xd8, 0x3a, 0x37, 0xfb, 0xc8, 0xbe, 0x8e, 0x16, - 0x16, 0x79, 0x34, 0xcc, 0x70, 0x49, 0xb6, 0xce, 0xed, 0x40, 0x06, 0x6c, 0xa3, 0xfe, 0xef, 0x53, - 0x50, 0x4e, 0x4c, 0x30, 0x86, 0x7f, 0x44, 0x88, 0x5b, 0x99, 0x8a, 0x06, 0x3f, 0xc6, 0x61, 0xf4, - 0xad, 0x70, 0x9b, 0xea, 0x79, 0xf8, 0x33, 0x8d, 0xef, 0xeb, 0x79, 0x23, 0xcf, 0xf7, 0xbd, 0xe7, - 0xca, 0xf5, 0xd9, 0x33, 0x03, 0xf9, 0x4c, 0x88, 0x53, 0x96, 0xc5, 0xae, 0x36, 0x27, 0xbe, 0x2f, - 0x5c, 0x85, 0xc8, 0x51, 0xe3, 0xc4, 0xb9, 0x82, 0xf2, 0x28, 0x14, 0x89, 0x69, 0x1f, 0x64, 0x05, - 0x34, 0x04, 0x9a, 0x5a, 0x61, 0x8a, 0x48, 0x80, 0xe4, 0x0a, 0x2c, 0xe1, 0xa6, 0xa2, 0x32, 0x14, - 0x9d, 0x93, 0x6d, 0xf3, 0x22, 0x68, 0x0c, 0x3c, 0x06, 0xb3, 0xc8, 0x03, 0xef, 0x39, 0x2b, 0xd7, - 0x26, 0x00, 0x71, 0x4c, 0x86, 0xb1, 0x28, 0x2a, 0x44, 0x74, 0x86, 0xa0, 0x21, 0xde, 0x01, 0xc0, - 0x5f, 0x44, 0x19, 0x06, 0xa4, 0x2f, 0xe1, 0x28, 0x13, 0x9f, 0x91, 0x10, 0x51, 0xfb, 0x73, 0x50, - 0x8a, 0x1e, 0xf0, 0x2a, 0x14, 0xc8, 0xa5, 0x8d, 0x5e, 0x1b, 0x82, 0xe8, 0x9f, 0xd9, 0xae, 0x25, - 0xce, 0xc9, 0xae, 0xe4, 0x0c, 0x05, 0x60, 0x2b, 0x87, 0xb6, 0x65, 0x09, 0x37, 0x3c, 0xe9, 0x51, - 0xd0, 0xa2, 0xf3, 0xf8, 0xec, 0xc2, 0xf3, 0xf8, 0xda, 0x2f, 0x43, 0x39, 0x11, 0x34, 0x5e, 0xda, - 0xed, 0x44, 0xc3, 0xd2, 0xd3, 0x0d, 0xbb, 0x0d, 0xa5, 0xb0, 0x06, 0x24, 0xa0, 0xbd, 0xad, 0x64, - 0xc4, 0x88, 0xda, 0x3f, 0x4d, 0xa3, 0x27, 0x8b, 0x5d, 0x9b, 0x0d, 0xf4, 0x76, 0x20, 0x1f, 0x48, - 0x53, 0x4e, 0xc2, 0x62, 0x86, 0x25, 0x17, 0x68, 0x97, 0x78, 0x76, 0x57, 0x0c, 0xcd, 0xcd, 0x3f, - 0x80, 0x8c, 0x34, 0x07, 0x3a, 0x51, 0xfa, 0x95, 0xe5, 0x84, 0xf4, 0xcc, 0xc1, 0xee, 0x8a, 0x81, - 0x7c, 0x7c, 0x0f, 0x8a, 0x7d, 0x9d, 0xdb, 0xd2, 0x46, 0x71, 0xc9, 0x58, 0x2c, 0xcc, 0x88, 0xed, - 0xae, 0x18, 0x91, 0x04, 0xfe, 0x1d, 0xc8, 0xa2, 0x77, 0xa9, 0x6b, 0x3e, 0x96, 0x8c, 0x31, 0x71, - 0xb9, 0xec, 0xae, 0x18, 0xc4, 0xb9, 0x55, 0x80, 0x1c, 0xd9, 0xe0, 0x5a, 0x15, 0xf2, 0xaa, 0xaf, - 0xb3, 0x23, 0x57, 0xbb, 0x05, 0x99, 0x9e, 0x39, 0x40, 0x0f, 0xdf, 0xb6, 0x02, 0x9d, 0x2a, 0xc1, - 0x9f, 0xb5, 0x57, 0xe2, 0x3c, 0x5d, 0x32, 0x05, 0x9c, 0x9a, 0x4a, 0x01, 0xd7, 0xf2, 0x90, 0xc5, - 0x37, 0xd6, 0x6e, 0x5f, 0x15, 0x2d, 0xd4, 0xfe, 0x61, 0x06, 0x03, 0x0b, 0x29, 0xce, 0x17, 0xa6, - 0xb7, 0x3f, 0x82, 0xd2, 0xd8, 0xf7, 0xfa, 0x22, 0x08, 0x3c, 0x5f, 0x3b, 0x47, 0xaf, 0xbf, 0xf8, - 0xe8, 0x79, 0xf3, 0x30, 0xe4, 0x31, 0x62, 0xf6, 0xfa, 0xbf, 0x4a, 0x43, 0x29, 0x7a, 0xa0, 0xe2, - 0x19, 0x29, 0xce, 0x55, 0x2a, 0x73, 0x5f, 0xf8, 0x23, 0xd3, 0xb6, 0x94, 0xf5, 0x68, 0x0e, 0xcd, - 0xd0, 0xc9, 0xfd, 0xd8, 0x9b, 0xc8, 0xc9, 0xb1, 0x50, 0x29, 0xac, 0xa7, 0xf6, 0x48, 0x78, 0x2c, - 0x4b, 0x87, 0x47, 0xa8, 0xd8, 0x7d, 0xc7, 0x9b, 0x58, 0x2c, 0x87, 0xf0, 0x23, 0xda, 0xde, 0xf6, - 0xcd, 0x71, 0xa0, 0x6c, 0xe6, 0xbe, 0xed, 0x7b, 0xac, 0x80, 0x4c, 0x3b, 0xf6, 0x60, 0x64, 0xb2, - 0x22, 0x0a, 0xeb, 0x3d, 0xb7, 0x25, 0x1a, 0xe1, 0x12, 0xba, 0xa9, 0x9d, 0xb1, 0x70, 0xbb, 0xd2, - 0x17, 0x42, 0xee, 0x9b, 0x63, 0x95, 0xd3, 0x34, 0x84, 0x65, 0xd9, 0x52, 0xd9, 0xcf, 0x1d, 0xb3, - 0x2f, 0x8e, 0x3d, 0xef, 0x94, 0xad, 0xa2, 0xa1, 0x69, 0xbb, 0x81, 0x34, 0x07, 0xbe, 0x39, 0x52, - 0x36, 0xb4, 0x27, 0x1c, 0x41, 0xd0, 0x1a, 0xbd, 0xdb, 0x96, 0xc3, 0xc9, 0xf1, 0x23, 0x8c, 0xfb, - 0xd6, 0xd5, 0x39, 0x93, 0x25, 0xc6, 0x02, 0x6d, 0xe8, 0x2a, 0x14, 0xb7, 0x6c, 0xc7, 0x3e, 0xb6, - 0x1d, 0x9b, 0x6d, 0x20, 0x69, 0xeb, 0xbc, 0x6f, 0x3a, 0xb6, 0xe5, 0x9b, 0xcf, 0x19, 0xc7, 0xc6, - 0x3d, 0xf6, 0xbd, 0x53, 0x9b, 0x5d, 0x43, 0x42, 0x0a, 0x03, 0xcf, 0xec, 0x1f, 0xb2, 0xeb, 0x74, - 0x56, 0x76, 0x2a, 0x64, 0x7f, 0x78, 0x62, 0x1e, 0xb3, 0x1b, 0x71, 0x4a, 0xef, 0x66, 0x6d, 0x03, - 0xd6, 0x67, 0x4e, 0xe5, 0x6b, 0x05, 0x1d, 0x7d, 0xd6, 0x2a, 0x50, 0x4e, 0x1c, 0x97, 0xd6, 0x5e, - 0x85, 0x62, 0x78, 0x98, 0x8a, 0x51, 0xba, 0x1d, 0xa8, 0x34, 0xb0, 0x56, 0x92, 0x08, 0xae, 0xfd, - 0x5e, 0x0a, 0xf2, 0xea, 0x24, 0x9b, 0x6f, 0x45, 0x95, 0x27, 0xa9, 0x25, 0x4e, 0x2f, 0x15, 0x93, - 0x3e, 0xfb, 0x8d, 0xca, 0x4f, 0xae, 0x43, 0xce, 0xa1, 0x70, 0x5c, 0x9b, 0x2f, 0x02, 0x12, 0xd6, - 0x26, 0x93, 0xb4, 0x36, 0xf5, 0x46, 0x74, 0xde, 0x1c, 0xa6, 0x1e, 0xc9, 0x2b, 0xec, 0xf9, 0x42, - 0xa8, 0xb4, 0x22, 0x45, 0xd3, 0x69, 0xda, 0x2b, 0xbc, 0xd1, 0xd8, 0xec, 0x4b, 0x42, 0xd0, 0x2e, - 0x8a, 0xc6, 0x94, 0x65, 0x51, 0xcb, 0x9b, 0x43, 0x53, 0xd6, 0x4f, 0xa0, 0x78, 0xe8, 0x05, 0xb3, - 0x7b, 0x72, 0x01, 0x32, 0x3d, 0x6f, 0xac, 0x3c, 0xcc, 0x2d, 0x4f, 0x92, 0x87, 0xa9, 0xb6, 0xe0, - 0x13, 0xa9, 0x94, 0xca, 0xb0, 0x07, 0x43, 0xa9, 0x22, 0xf1, 0xb6, 0xeb, 0x0a, 0x9f, 0xe5, 0x70, - 0x0e, 0x0d, 0x31, 0x46, 0xaf, 0x96, 0xe5, 0x71, 0xd6, 0x08, 0xbf, 0x63, 0xfb, 0x81, 0x64, 0x85, - 0x7a, 0x1b, 0x77, 0x53, 0x7b, 0x40, 0x9b, 0x20, 0xfd, 0x20, 0x51, 0x2b, 0xd8, 0x44, 0x02, 0x9b, - 0xc2, 0x45, 0x1d, 0xa3, 0xe8, 0x49, 0x85, 0x7e, 0xf4, 0x82, 0x34, 0xee, 0x60, 0x04, 0x7f, 0x34, - 0x09, 0xa4, 0x7d, 0x72, 0xc1, 0x32, 0xf5, 0x67, 0x50, 0x99, 0x2a, 0x63, 0xe2, 0xd7, 0x81, 0x4d, - 0x21, 0xb0, 0xe9, 0x2b, 0xfc, 0x16, 0x5c, 0x9b, 0xc2, 0xee, 0xdb, 0x96, 0x45, 0xb9, 0xde, 0xd9, - 0x07, 0x61, 0x07, 0xb7, 0x4a, 0x50, 0xe8, 0xab, 0x59, 0xaa, 0x1f, 0x42, 0x85, 0xa6, 0x6d, 0x5f, - 0x48, 0xb3, 0xe3, 0x3a, 0x17, 0x7f, 0xe4, 0x5a, 0xb3, 0xfa, 0x57, 0x75, 0x80, 0x85, 0xf6, 0xe2, - 0xc4, 0xf7, 0x46, 0x24, 0x2b, 0x67, 0xd0, 0x6f, 0x94, 0x2e, 0x3d, 0x3d, 0xf7, 0x69, 0xe9, 0xd5, - 0xff, 0x43, 0x09, 0x0a, 0x8d, 0x7e, 0x1f, 0x43, 0xc2, 0xb9, 0x37, 0xbf, 0x03, 0xf9, 0xbe, 0xe7, - 0x9e, 0xd8, 0x03, 0x6d, 0x8f, 0x67, 0x3d, 0x43, 0xcd, 0x87, 0x0a, 0x77, 0x62, 0x0f, 0x0c, 0x4d, - 0x8c, 0x6c, 0x7a, 0x3f, 0xc9, 0x5d, 0xc9, 0xa6, 0x8c, 0x6a, 0xb4, 0x7d, 0x3c, 0x80, 0xac, 0xed, - 0x9e, 0x78, 0xba, 0x30, 0xf4, 0xf3, 0x97, 0x30, 0x51, 0x75, 0x24, 0x11, 0xd6, 0xfe, 0x4b, 0x0a, - 0xf2, 0xea, 0xd5, 0xfc, 0x55, 0x58, 0x13, 0x2e, 0x2e, 0xa6, 0xd0, 0x94, 0xeb, 0x55, 0x34, 0x83, - 0x45, 0xa7, 0x55, 0x63, 0xc4, 0xf1, 0x64, 0xa0, 0x73, 0x2f, 0x49, 0x14, 0x7f, 0x0f, 0x6e, 0x29, - 0xf0, 0xd0, 0x17, 0xbe, 0x70, 0x84, 0x19, 0x88, 0xe6, 0xd0, 0x74, 0x5d, 0xe1, 0xe8, 0x8d, 0xfd, - 0xb2, 0xc7, 0xbc, 0x0e, 0xab, 0xea, 0x51, 0x77, 0x6c, 0xf6, 0x45, 0xa0, 0xcf, 0xfb, 0xa6, 0x70, - 0xfc, 0x6b, 0x90, 0xa3, 0xba, 0xd9, 0xaa, 0x75, 0xf5, 0x54, 0x2a, 0xaa, 0x9a, 0x17, 0xed, 0x3c, - 0x0d, 0x00, 0x35, 0x4c, 0x18, 0x74, 0xe9, 0xd5, 0xff, 0xc5, 0x2b, 0xc7, 0x95, 0xe2, 0xbf, 0x04, - 0x13, 0xb6, 0xcf, 0x12, 0x8e, 0xa0, 0x02, 0x47, 0xdc, 0x19, 0xd3, 0x74, 0xb2, 0x32, 0x85, 0xab, - 0xfd, 0x93, 0x2c, 0x64, 0x71, 0x84, 0x91, 0x78, 0xe8, 0x8d, 0x44, 0x94, 0x5f, 0x56, 0xae, 0xc6, - 0x14, 0x0e, 0x5d, 0x1b, 0x53, 0x1d, 0xf1, 0x47, 0x64, 0xca, 0x78, 0xcc, 0xa2, 0x91, 0x72, 0xec, - 0x7b, 0x27, 0xb6, 0x13, 0x53, 0x6a, 0x27, 0x68, 0x06, 0xcd, 0xbf, 0x0e, 0x37, 0x47, 0xa6, 0x7f, - 0x2a, 0x24, 0xad, 0xee, 0x67, 0x9e, 0x7f, 0x1a, 0xe0, 0xc8, 0xb5, 0x2d, 0x9d, 0x98, 0xbc, 0xe4, - 0x29, 0x7f, 0x1d, 0x36, 0x9e, 0x87, 0x60, 0xf4, 0x0e, 0x95, 0x1a, 0x9c, 0x7f, 0x80, 0xe6, 0xd6, - 0x12, 0x67, 0x36, 0xc9, 0x2d, 0xaa, 0xea, 0xd9, 0x10, 0x46, 0x55, 0x32, 0xd5, 0x40, 0x76, 0xf5, - 0x9b, 0xf5, 0x09, 0xd3, 0x34, 0x16, 0xbd, 0x2d, 0x55, 0x55, 0x14, 0xb4, 0x2d, 0xca, 0xac, 0x96, - 0x8c, 0x18, 0x81, 0x8a, 0x46, 0xaf, 0x7c, 0xaa, 0x8c, 0x6a, 0x45, 0x85, 0xa0, 0x09, 0x14, 0x52, - 0x48, 0xd1, 0x1f, 0x86, 0x2f, 0x51, 0x69, 0xcf, 0x24, 0x8a, 0xdf, 0x01, 0x18, 0x98, 0x52, 0x3c, - 0x37, 0x2f, 0x9e, 0xf8, 0x4e, 0x55, 0xa8, 0xa3, 0x92, 0x18, 0x83, 0x41, 0xac, 0xe3, 0xf5, 0x4d, - 0xa7, 0x2b, 0x3d, 0xdf, 0x1c, 0x88, 0x43, 0x53, 0x0e, 0xab, 0x03, 0x15, 0xc4, 0xce, 0xe2, 0xb1, - 0xc7, 0xd2, 0x1e, 0x89, 0x4f, 0x3c, 0x57, 0x54, 0x87, 0xaa, 0xc7, 0x21, 0x8c, 0x2d, 0x31, 0x5d, - 0xd3, 0xb9, 0x90, 0x76, 0x1f, 0xfb, 0x62, 0xab, 0x96, 0x24, 0x50, 0x94, 0x36, 0x10, 0x12, 0xc7, - 0xb1, 0x6d, 0x55, 0xbf, 0xaf, 0xfa, 0x1a, 0x21, 0x6a, 0xdf, 0xa4, 0xe3, 0xa9, 0x61, 0xfd, 0x2d, - 0xa8, 0xec, 0xe1, 0x7b, 0x1b, 0x63, 0xbb, 0xdb, 0xf7, 0xc6, 0x02, 0xcd, 0x34, 0x25, 0x7a, 0x29, - 0x2d, 0x50, 0x86, 0xc2, 0x47, 0x81, 0xe7, 0x36, 0x0e, 0xdb, 0x6a, 0xe3, 0xd8, 0x99, 0x38, 0x0e, - 0x4b, 0xd7, 0x3b, 0x00, 0xb1, 0xbe, 0xe2, 0x26, 0xd0, 0xa0, 0xb3, 0x20, 0xb6, 0xa2, 0x92, 0x50, - 0xae, 0x65, 0xbb, 0x83, 0x6d, 0xad, 0xa2, 0x2c, 0x85, 0x48, 0x4a, 0x2e, 0x08, 0x2b, 0x42, 0x92, - 0x1b, 0x42, 0x90, 0xb0, 0x58, 0xa6, 0xfe, 0x7f, 0x52, 0x50, 0x4e, 0x94, 0x3e, 0xfc, 0x31, 0x96, - 0x6b, 0xe0, 0x26, 0x8d, 0xdb, 0x3c, 0xce, 0x86, 0x52, 0xdf, 0x08, 0xc6, 0xb9, 0xd2, 0x95, 0x19, - 0xf8, 0x54, 0xa5, 0x12, 0x12, 0x98, 0xcf, 0x54, 0xaa, 0x51, 0x7f, 0xa8, 0xf3, 0x31, 0x65, 0x28, - 0x3c, 0x71, 0x4f, 0x5d, 0xef, 0xb9, 0xab, 0x76, 0x5f, 0xaa, 0xbf, 0x99, 0x3a, 0x49, 0x0c, 0x4b, - 0x64, 0x32, 0xf5, 0x7f, 0x91, 0x9d, 0x29, 0x55, 0x6b, 0x41, 0x5e, 0x05, 0x01, 0xe4, 0x9f, 0xce, - 0xd7, 0x16, 0x25, 0x89, 0xf5, 0xa9, 0x55, 0x02, 0x65, 0x68, 0x66, 0xf4, 0xce, 0xa3, 0x42, 0xce, - 0xf4, 0xc2, 0xd3, 0xb5, 0x29, 0x41, 0xa1, 0xc5, 0x9d, 0xaa, 0x65, 0x8e, 0x24, 0xd4, 0xfe, 0x4a, - 0x0a, 0xae, 0x2f, 0x22, 0x49, 0x56, 0x7c, 0xa7, 0xa6, 0x2b, 0xbe, 0xbb, 0x33, 0x15, 0xd4, 0x69, - 0xea, 0xcd, 0x83, 0x97, 0x6c, 0xc4, 0x74, 0x3d, 0x75, 0xfd, 0x77, 0x53, 0xb0, 0x31, 0xd7, 0xe7, - 0x84, 0x77, 0x02, 0x90, 0x57, 0x9a, 0xa5, 0x0a, 0x9c, 0xa2, 0x92, 0x13, 0x75, 0x64, 0x40, 0xfb, - 0x76, 0xa0, 0xce, 0xf0, 0x75, 0xcd, 0xb8, 0x72, 0x7e, 0x71, 0xd6, 0x70, 0x5b, 0x18, 0x08, 0x95, - 0x5e, 0x55, 0x2e, 0x94, 0xc6, 0xe4, 0x95, 0x83, 0xaa, 0xce, 0x35, 0x58, 0x81, 0x0a, 0xa7, 0x26, - 0x63, 0xc7, 0xee, 0x23, 0x58, 0xe4, 0x35, 0xb8, 0xa9, 0x2e, 0x0e, 0xe8, 0x60, 0xf0, 0xa4, 0x37, - 0xb4, 0x69, 0x71, 0xb0, 0x12, 0xbe, 0xe7, 0x70, 0x72, 0xec, 0xd8, 0xc1, 0x90, 0x41, 0xdd, 0x80, - 0x6b, 0x0b, 0x3a, 0x48, 0x4d, 0x7e, 0xaa, 0x9b, 0xbf, 0x06, 0xb0, 0xfd, 0x34, 0x6c, 0x34, 0x4b, - 0x71, 0x0e, 0x6b, 0xdb, 0x4f, 0x93, 0xd2, 0xf5, 0xe2, 0x79, 0x8a, 0x36, 0x29, 0x60, 0x99, 0xfa, - 0xaf, 0xa6, 0xc2, 0xca, 0x86, 0xda, 0x9f, 0x85, 0x8a, 0x6a, 0xf0, 0xa1, 0x79, 0xe1, 0x78, 0xa6, - 0xc5, 0x5b, 0xb0, 0x16, 0x44, 0x57, 0x5b, 0x12, 0xdb, 0xd0, 0xec, 0xf6, 0xde, 0x9d, 0x22, 0x32, - 0x66, 0x98, 0xc2, 0x00, 0x27, 0x1d, 0x1f, 0x87, 0x70, 0x0a, 0xd5, 0x4c, 0x5a, 0x72, 0xab, 0x14, - 0x7c, 0x99, 0xf5, 0xaf, 0xc1, 0x46, 0x37, 0x36, 0xd9, 0xca, 0x13, 0x46, 0xe5, 0x50, 0xf6, 0x7e, - 0x3b, 0x54, 0x0e, 0x0d, 0xd6, 0xff, 0x5a, 0x01, 0x20, 0x3e, 0xfa, 0x59, 0xb0, 0xe6, 0x17, 0x55, - 0x32, 0xcc, 0x1d, 0xc4, 0x66, 0x5e, 0xfa, 0x20, 0xf6, 0xbd, 0xc8, 0x21, 0x57, 0x69, 0xe1, 0xd9, - 0x72, 0xee, 0xb8, 0x4d, 0xb3, 0x6e, 0xf8, 0x54, 0xa1, 0x4f, 0x6e, 0xb6, 0xd0, 0xe7, 0xee, 0x7c, - 0x55, 0xe0, 0x8c, 0x31, 0x8a, 0xf3, 0x0d, 0x85, 0xa9, 0x7c, 0x43, 0x0d, 0x8a, 0xbe, 0x30, 0x2d, - 0xcf, 0x75, 0x2e, 0xc2, 0xf3, 0xbe, 0x10, 0xe6, 0x6f, 0x41, 0x4e, 0xd2, 0xed, 0x9c, 0x22, 0xad, - 0x9d, 0x17, 0x4c, 0x9c, 0xa2, 0x45, 0xcb, 0x66, 0x07, 0xba, 0x94, 0x4f, 0xed, 0x85, 0x45, 0x23, - 0x81, 0xe1, 0x9b, 0xc0, 0x6d, 0x0c, 0xbe, 0x1c, 0x47, 0x58, 0x5b, 0x17, 0xdb, 0xea, 0x18, 0x8e, - 0x76, 0xeb, 0xa2, 0xb1, 0xe0, 0x49, 0x38, 0xff, 0xab, 0xf1, 0xfc, 0x53, 0x93, 0xcf, 0xec, 0x00, - 0x7b, 0x5a, 0x21, 0xa7, 0x24, 0x82, 0xd1, 0x1f, 0x08, 0x17, 0xac, 0x1a, 0x4b, 0xd2, 0xde, 0xf8, - 0x2c, 0xfb, 0x92, 0xa7, 0xe1, 0xf0, 0xaa, 0x84, 0xcb, 0x3a, 0x09, 0x8d, 0x11, 0x64, 0xc9, 0xfb, - 0x9e, 0x7b, 0x80, 0x1a, 0xc1, 0xb4, 0x25, 0xd7, 0x70, 0xfd, 0xf7, 0xd3, 0x51, 0xc8, 0x53, 0x82, - 0xdc, 0xb1, 0x19, 0xd8, 0x7d, 0xb5, 0x7b, 0x69, 0x57, 0x45, 0xed, 0x5e, 0xd2, 0xb3, 0x3c, 0x96, - 0xc6, 0xe8, 0x25, 0x10, 0xfa, 0x98, 0x25, 0xbe, 0xeb, 0xc4, 0xb2, 0xb8, 0xc4, 0x43, 0x4d, 0x51, - 0xb5, 0x3c, 0xc4, 0x4a, 0x49, 0x33, 0x2b, 0xaa, 0x92, 0xa4, 0xf0, 0x97, 0xb6, 0x10, 0x56, 0x44, - 0x1a, 0xd7, 0x93, 0x42, 0xa5, 0x0c, 0x49, 0xaf, 0x19, 0xa0, 0x98, 0xb0, 0x78, 0x9f, 0x95, 0x31, - 0x9c, 0x08, 0x85, 0xaa, 0x3c, 0x5f, 0x40, 0xc1, 0xd6, 0x2a, 0xae, 0xeb, 0xe9, 0x07, 0xac, 0x82, - 0x2d, 0x8a, 0xaf, 0x50, 0xb1, 0x35, 0x94, 0x6a, 0x52, 0x85, 0xc9, 0x3a, 0xfe, 0x3c, 0xa3, 0xba, - 0x13, 0x86, 0x6f, 0xb5, 0xd0, 0xee, 0x6c, 0x60, 0xcb, 0x22, 0xf7, 0x84, 0x71, 0x8c, 0x96, 0xc6, - 0x26, 0x86, 0x2e, 0xf6, 0xd8, 0x74, 0x25, 0xbb, 0x86, 0x5d, 0x1d, 0x5b, 0x27, 0xec, 0x3a, 0xb2, - 0xf4, 0x87, 0xa6, 0x64, 0x37, 0x90, 0x06, 0x7f, 0x6d, 0x0b, 0x1f, 0x35, 0x81, 0xdd, 0x44, 0x1a, - 0x69, 0x0e, 0xd8, 0xad, 0xfa, 0x6f, 0xc4, 0x75, 0xca, 0x6f, 0x44, 0x41, 0xc5, 0x32, 0xcb, 0x03, - 0xc3, 0x8e, 0x45, 0x6b, 0xb5, 0x05, 0x1b, 0xbe, 0xf8, 0xc1, 0xc4, 0x9e, 0xaa, 0xde, 0xcf, 0x5c, - 0x5d, 0x1e, 0x32, 0xcf, 0x51, 0x3f, 0x83, 0x8d, 0x10, 0x78, 0x66, 0xcb, 0x21, 0xe5, 0x77, 0xf8, - 0x5b, 0x89, 0xeb, 0x05, 0xa9, 0x85, 0xd7, 0xb2, 0x22, 0x91, 0xf1, 0x75, 0x82, 0x28, 0x7f, 0x9f, - 0x5e, 0x22, 0x7f, 0x5f, 0xff, 0xdf, 0xc9, 0x03, 0x61, 0x15, 0x66, 0x59, 0x51, 0x98, 0x35, 0x7f, - 0x40, 0x1c, 0xa7, 0xe4, 0xd3, 0x2f, 0x93, 0x92, 0x5f, 0x54, 0x6c, 0xf1, 0x3e, 0x7a, 0xfd, 0xb4, - 0xf2, 0x9e, 0x2e, 0x71, 0xdc, 0x30, 0x45, 0xcb, 0xb7, 0xe8, 0xb8, 0xd7, 0xec, 0xaa, 0x4a, 0xa0, - 0xdc, 0xc2, 0xcb, 0x3e, 0xc9, 0x73, 0x5d, 0x4d, 0x69, 0x24, 0xb8, 0x12, 0x76, 0x2a, 0xbf, 0xc8, - 0x4e, 0x61, 0xc4, 0xab, 0x2d, 0x58, 0x04, 0xab, 0xd3, 0x19, 0xf5, 0x3b, 0x14, 0x4f, 0x6b, 0xb8, - 0x68, 0xcc, 0xe1, 0xd1, 0x99, 0x1b, 0x4d, 0x1c, 0x69, 0xeb, 0x03, 0x08, 0x05, 0xcc, 0xde, 0x46, - 0x2c, 0xcd, 0xdf, 0x46, 0xfc, 0x10, 0x20, 0x10, 0xb8, 0x3a, 0xb6, 0xed, 0xbe, 0xd4, 0xf5, 0x42, - 0x77, 0x2e, 0xeb, 0x9b, 0x3e, 0x36, 0x49, 0x70, 0x60, 0xfb, 0x47, 0xe6, 0x39, 0x1d, 0xa5, 0xea, - 0xc2, 0x86, 0x08, 0x9e, 0xb5, 0xde, 0x6b, 0xf3, 0xd6, 0xfb, 0x2d, 0xc8, 0x05, 0xe8, 0x22, 0xd3, - 0x85, 0x9a, 0xcb, 0xe7, 0x77, 0x93, 0xfc, 0x68, 0x43, 0xd1, 0x52, 0x22, 0x11, 0xed, 0x9b, 0xe7, - 0xd3, 0x55, 0x9a, 0x92, 0x11, 0x82, 0x53, 0x16, 0xf4, 0xe6, 0xb4, 0x05, 0xad, 0x59, 0x90, 0xd7, - 0x87, 0x02, 0xb3, 0xe1, 0x7d, 0x98, 0x4e, 0x4c, 0x27, 0xd2, 0x89, 0x51, 0x55, 0x6a, 0x26, 0x59, - 0x95, 0x3a, 0x73, 0xdb, 0x2e, 0x37, 0x77, 0xdb, 0xae, 0xfe, 0x09, 0xe4, 0x94, 0xcf, 0x0f, 0xa1, - 0xbb, 0xa9, 0x5c, 0x55, 0xec, 0x14, 0x4b, 0xf1, 0xeb, 0xc0, 0x02, 0x41, 0xbe, 0x8c, 0xe8, 0x9a, - 0x23, 0x41, 0x46, 0x32, 0xcd, 0xab, 0x70, 0x5d, 0xd1, 0x06, 0xd3, 0x4f, 0xc8, 0xa1, 0x72, 0xec, - 0x63, 0xdf, 0xf4, 0x2f, 0x58, 0xb6, 0xfe, 0x21, 0x1d, 0xc9, 0x87, 0x0a, 0x55, 0x8e, 0x6e, 0x37, - 0x2a, 0xb3, 0x6c, 0x69, 0xeb, 0x43, 0x15, 0x1d, 0x3a, 0x46, 0x53, 0x75, 0x6e, 0x14, 0x04, 0x51, - 0x16, 0x67, 0x35, 0xb9, 0x87, 0xff, 0xb1, 0xad, 0xb7, 0xfa, 0x56, 0xc2, 0x23, 0x9c, 0x2e, 0x5c, - 0x4b, 0x2d, 0x5b, 0xb8, 0x56, 0x7f, 0x0c, 0xeb, 0xc6, 0xb4, 0x4d, 0xe7, 0xef, 0x41, 0xc1, 0x1b, - 0x27, 0xe5, 0xbc, 0x48, 0x2f, 0x43, 0xf2, 0xfa, 0x4f, 0x53, 0xb0, 0xda, 0x76, 0xa5, 0xf0, 0x5d, - 0xd3, 0xd9, 0x71, 0xcc, 0x01, 0x7f, 0x37, 0xb4, 0x52, 0x8b, 0x33, 0x06, 0x49, 0xda, 0x69, 0x83, - 0xe5, 0xe8, 0xe4, 0x37, 0xbf, 0x01, 0x1b, 0xc2, 0xb2, 0xa5, 0xe7, 0x2b, 0x3f, 0x38, 0xac, 0x2f, - 0xbc, 0x0e, 0x4c, 0xa1, 0xbb, 0xb4, 0x24, 0x7a, 0x6a, 0x9a, 0xab, 0x70, 0x7d, 0x0a, 0x1b, 0x3a, - 0xb9, 0x69, 0x7e, 0x1b, 0xaa, 0xf1, 0x6e, 0xb4, 0xed, 0xb9, 0xb2, 0xed, 0x5a, 0xe2, 0x9c, 0x9c, - 0x28, 0x96, 0xa9, 0xff, 0x7a, 0xe4, 0xbe, 0x3d, 0xd5, 0xd5, 0x87, 0xbe, 0xe7, 0xc5, 0x57, 0x5b, - 0x35, 0x94, 0xb8, 0x42, 0x9d, 0x5e, 0xe2, 0x0a, 0xf5, 0x87, 0xf1, 0x35, 0x58, 0xb5, 0x51, 0xbc, - 0xb2, 0x70, 0xf7, 0xa1, 0xa2, 0x29, 0xed, 0xbd, 0x77, 0x45, 0xe2, 0x4e, 0xec, 0x9b, 0x3a, 0x64, - 0xcb, 0x2e, 0xe3, 0xe5, 0xaa, 0xfa, 0x82, 0x77, 0x66, 0xef, 0x5e, 0x2c, 0x57, 0xbc, 0x38, 0xe7, - 0x88, 0xc2, 0x4b, 0x3b, 0xa2, 0xdf, 0x9e, 0x89, 0x8e, 0x8a, 0x0b, 0x93, 0x68, 0x57, 0xdc, 0x2c, - 0xfd, 0x36, 0x14, 0x86, 0x76, 0x20, 0x3d, 0x5f, 0xdd, 0x76, 0x9e, 0xbf, 0x9d, 0x95, 0x18, 0xad, - 0x5d, 0x45, 0x48, 0x95, 0x66, 0x21, 0x17, 0xff, 0x1e, 0x6c, 0xd0, 0xc0, 0x1f, 0xc6, 0x5e, 0x43, - 0x50, 0x2d, 0x2f, 0xac, 0xf0, 0x4b, 0x88, 0xda, 0x9a, 0x61, 0x31, 0xe6, 0x85, 0xd4, 0x06, 0x00, - 0xf1, 0xfc, 0xcc, 0x59, 0xb1, 0xcf, 0x70, 0xdb, 0xf9, 0x26, 0xe4, 0x83, 0xc9, 0x71, 0x7c, 0x4a, - 0xa6, 0xa1, 0xda, 0x39, 0xd4, 0xe6, 0xbc, 0x83, 0x43, 0xe1, 0xab, 0xe6, 0x5e, 0x79, 0xe5, 0xfa, - 0xc3, 0xe4, 0xc4, 0x2b, 0xe5, 0xbc, 0x7b, 0xc9, 0xec, 0x45, 0x92, 0x13, 0x1a, 0x50, 0x7b, 0x07, - 0xca, 0x89, 0x41, 0x45, 0xcb, 0x3c, 0x71, 0x2d, 0x2f, 0x4c, 0xdc, 0xe2, 0x6f, 0x75, 0xe5, 0xcc, - 0x0a, 0x53, 0xb7, 0xf4, 0xbb, 0x66, 0x00, 0x9b, 0x1d, 0xc0, 0x2b, 0x22, 0xe8, 0x57, 0xa0, 0x92, - 0x70, 0xe9, 0xa2, 0xa4, 0xde, 0x34, 0xb2, 0x7e, 0x06, 0x9f, 0x4f, 0x88, 0x3b, 0x14, 0xfe, 0xc8, - 0x0e, 0x70, 0x23, 0x51, 0xc1, 0x20, 0xb9, 0xce, 0x96, 0x70, 0xa5, 0x2d, 0x43, 0x0b, 0x1a, 0xc1, - 0xfc, 0x9b, 0x90, 0x1b, 0x0b, 0x7f, 0x14, 0x68, 0x2b, 0x3a, 0xab, 0x41, 0x0b, 0xc5, 0x06, 0x86, - 0xe2, 0xa9, 0xff, 0x83, 0x14, 0x14, 0xf7, 0x85, 0x34, 0xd1, 0x77, 0xe0, 0xfb, 0x33, 0x6f, 0x99, - 0x3f, 0xd9, 0x0d, 0x49, 0x37, 0x75, 0x78, 0xba, 0xd9, 0xd6, 0xf4, 0x1a, 0xde, 0x5d, 0x89, 0x1b, - 0x56, 0xdb, 0x82, 0x82, 0x46, 0xd7, 0xde, 0x85, 0xf5, 0x19, 0x4a, 0x1a, 0x17, 0xe5, 0xdb, 0x77, - 0x2f, 0x46, 0x61, 0xf9, 0xd1, 0xaa, 0x31, 0x8d, 0xdc, 0x2a, 0x41, 0x61, 0xac, 0x18, 0xea, 0xbf, - 0x7f, 0x83, 0x8a, 0x5e, 0xec, 0x13, 0x8c, 0xd9, 0x17, 0xed, 0xac, 0x77, 0x00, 0x68, 0x6b, 0x56, - 0xa5, 0x11, 0x2a, 0xd1, 0x9a, 0xc0, 0xf0, 0xf7, 0xa3, 0x0c, 0x79, 0x76, 0xa1, 0x53, 0x95, 0x14, - 0x3e, 0x9b, 0x26, 0xaf, 0x42, 0xc1, 0x0e, 0x28, 0xcf, 0xa6, 0xcb, 0x89, 0x42, 0x90, 0x7f, 0x0b, - 0xf2, 0xf6, 0x68, 0xec, 0xf9, 0x52, 0xa7, 0xd0, 0xaf, 0x94, 0xda, 0x26, 0xca, 0xdd, 0x15, 0x43, - 0xf3, 0x20, 0xb7, 0x38, 0x27, 0xee, 0xe2, 0x8b, 0xb9, 0x5b, 0xe7, 0x21, 0xb7, 0xe2, 0xe1, 0xdf, - 0x85, 0xca, 0x40, 0x55, 0x53, 0x2a, 0xc1, 0xda, 0x88, 0x7c, 0xe5, 0x2a, 0x21, 0x8f, 0x92, 0x0c, - 0xbb, 0x2b, 0xc6, 0xb4, 0x04, 0x14, 0x89, 0x0e, 0xbc, 0x08, 0x64, 0xcf, 0xfb, 0xc8, 0xb3, 0x5d, - 0x0a, 0x67, 0x5f, 0x20, 0xd2, 0x48, 0x32, 0xa0, 0xc8, 0x29, 0x09, 0xfc, 0xeb, 0xe8, 0xf1, 0x04, - 0x52, 0x5f, 0x38, 0xbf, 0x7b, 0x95, 0xa4, 0x9e, 0x08, 0xf4, 0x55, 0xf1, 0x40, 0xf2, 0x73, 0xa8, - 0x25, 0x16, 0x89, 0x7e, 0x49, 0x63, 0x3c, 0xf6, 0x3d, 0x8c, 0x89, 0x2b, 0x24, 0xed, 0xeb, 0x57, - 0x49, 0x3b, 0xbc, 0x94, 0x7b, 0x77, 0xc5, 0xb8, 0x42, 0x36, 0xef, 0x61, 0x64, 0xa7, 0xbb, 0xb0, - 0x27, 0xcc, 0xb3, 0xf0, 0xba, 0xfa, 0xfd, 0xa5, 0x46, 0x81, 0x38, 0x76, 0x57, 0x8c, 0x19, 0x19, - 0xfc, 0x97, 0x61, 0x63, 0xea, 0x9d, 0x74, 0x43, 0x55, 0x5d, 0x66, 0xff, 0xda, 0xd2, 0xdd, 0x40, - 0xa6, 0xdd, 0x15, 0x63, 0x5e, 0x12, 0x9f, 0xc0, 0xe7, 0xe6, 0xbb, 0xb4, 0x2d, 0xfa, 0x8e, 0xed, - 0x0a, 0x7d, 0xef, 0xfd, 0x9d, 0x97, 0x1b, 0x2d, 0xcd, 0xbc, 0xbb, 0x62, 0x5c, 0x2e, 0x99, 0xff, - 0x79, 0xb8, 0x3d, 0x5e, 0x68, 0x62, 0x94, 0xe9, 0xd2, 0xd7, 0xe6, 0xdf, 0x5b, 0xf2, 0xcd, 0x73, - 0xfc, 0xbb, 0x2b, 0xc6, 0x95, 0xf2, 0xd1, 0x77, 0xa6, 0x08, 0x5a, 0x17, 0x7d, 0x2b, 0x80, 0xdf, - 0x86, 0x92, 0xd9, 0x77, 0x76, 0x85, 0x69, 0x45, 0x59, 0xfe, 0x18, 0x51, 0xfb, 0x1f, 0x29, 0xc8, - 0x6b, 0x7d, 0xbf, 0x1d, 0x9d, 0xe4, 0x47, 0xa6, 0x3b, 0x46, 0xf0, 0x0f, 0xa0, 0x24, 0x7c, 0xdf, - 0xf3, 0x9b, 0x9e, 0x15, 0x16, 0x41, 0xce, 0x66, 0x91, 0x95, 0x9c, 0xcd, 0x56, 0x48, 0x66, 0xc4, - 0x1c, 0xfc, 0x7d, 0x00, 0xb5, 0xce, 0x7b, 0xf1, 0xdd, 0x9d, 0xda, 0x62, 0x7e, 0x75, 0x70, 0x14, - 0x53, 0xc7, 0x69, 0xb7, 0xf0, 0xd4, 0x26, 0x04, 0xa3, 0x80, 0x33, 0x97, 0x08, 0x38, 0x6f, 0xeb, - 0x3c, 0x02, 0x25, 0x57, 0xf4, 0x0d, 0xb6, 0x08, 0x51, 0xfb, 0xd7, 0x29, 0xc8, 0x2b, 0xe3, 0xc1, - 0x5b, 0xf3, 0x3d, 0x7a, 0xed, 0xc5, 0x36, 0x67, 0x73, 0xb6, 0x67, 0xdf, 0x02, 0x50, 0x36, 0x28, - 0xd1, 0xb3, 0xdb, 0x33, 0x72, 0x34, 0x6b, 0x58, 0x76, 0x1c, 0xd3, 0xd7, 0x1f, 0xaa, 0x5b, 0x56, - 0x94, 0xf2, 0x7d, 0xb2, 0xb7, 0xc7, 0x56, 0xf8, 0x06, 0x54, 0x9e, 0x1c, 0x3c, 0x3e, 0xe8, 0x3c, - 0x3b, 0x38, 0x6a, 0x19, 0x46, 0xc7, 0x50, 0x99, 0xdf, 0xad, 0xc6, 0xf6, 0x51, 0xfb, 0xe0, 0xf0, - 0x49, 0x8f, 0xa5, 0x6b, 0xff, 0x2c, 0x05, 0x95, 0x29, 0xdb, 0xf5, 0x27, 0x3b, 0x75, 0x89, 0xe1, - 0xcf, 0x2c, 0x1e, 0xfe, 0xec, 0x65, 0xc3, 0x9f, 0x9b, 0x1d, 0xfe, 0xdf, 0x4e, 0x41, 0x65, 0xca, - 0x46, 0x26, 0xa5, 0xa7, 0xa6, 0xa5, 0x27, 0x77, 0xfa, 0xf4, 0xcc, 0x4e, 0x5f, 0x87, 0xd5, 0xf0, - 0xf7, 0x41, 0x9c, 0x71, 0x98, 0xc2, 0x25, 0x69, 0xe8, 0x9a, 0x43, 0x76, 0x9a, 0x86, 0xae, 0x3a, - 0x5c, 0xdd, 0x5a, 0xba, 0xd6, 0x19, 0xd0, 0xad, 0xf7, 0xda, 0xe5, 0x16, 0xf4, 0x8a, 0x2e, 0x3c, - 0x82, 0xf2, 0x38, 0x5e, 0xa6, 0x2f, 0xe7, 0x96, 0x24, 0x39, 0x5f, 0xd0, 0xce, 0xdf, 0x49, 0xc1, - 0xda, 0xb4, 0xcd, 0xfd, 0xff, 0x7a, 0x58, 0xff, 0x51, 0x0a, 0x36, 0xe6, 0x2c, 0xf9, 0x95, 0x8e, - 0xdd, 0x6c, 0xbb, 0xd2, 0x4b, 0xb4, 0x2b, 0xb3, 0xa0, 0x5d, 0x97, 0x5b, 0x92, 0xab, 0x5b, 0xdc, - 0x85, 0xcf, 0x5d, 0xba, 0x27, 0x5c, 0x31, 0xd4, 0x53, 0x42, 0x33, 0xb3, 0x42, 0x7f, 0x2b, 0x05, - 0xb7, 0xaf, 0xb2, 0xf7, 0xff, 0xcf, 0xf5, 0x6a, 0xb6, 0x85, 0xf5, 0x77, 0xa3, 0xe3, 0xff, 0x32, - 0x14, 0xf4, 0xd7, 0xa4, 0x74, 0x81, 0xf5, 0xd0, 0x7b, 0xee, 0xaa, 0x4c, 0xb4, 0x21, 0x4c, 0x7d, - 0xdf, 0xde, 0x10, 0x63, 0xc7, 0xa6, 0x33, 0xd0, 0x5b, 0x00, 0x0d, 0x8a, 0xeb, 0xc2, 0xeb, 0x2f, - 0xcd, 0xbd, 0x4e, 0xb7, 0xc5, 0x56, 0x92, 0x4e, 0xec, 0x27, 0xa1, 0x21, 0xae, 0x1f, 0x42, 0x3e, - 0xbe, 0x90, 0xb0, 0x6f, 0xfa, 0xa7, 0x96, 0x3a, 0x69, 0x5c, 0x85, 0xe2, 0xa1, 0x0e, 0xa1, 0xd4, - 0xab, 0x3e, 0xea, 0x76, 0x0e, 0x54, 0xd2, 0x7b, 0xbb, 0xd3, 0x53, 0xd7, 0x1a, 0xba, 0x4f, 0x1f, - 0xa9, 0x23, 0xaf, 0x47, 0x46, 0xe3, 0x70, 0xf7, 0x88, 0x28, 0x72, 0xf5, 0xdf, 0xcc, 0x86, 0xbb, - 0x5a, 0xdd, 0xd0, 0x67, 0x98, 0x00, 0x79, 0xb4, 0xe6, 0x9e, 0x16, 0x1c, 0xbd, 0x86, 0x4a, 0x71, - 0x5b, 0xe7, 0x2a, 0x0f, 0xc1, 0xd2, 0x3c, 0x0f, 0xe9, 0xc3, 0x63, 0x55, 0x3f, 0xb4, 0x2b, 0x47, - 0x8e, 0xba, 0x0f, 0xd9, 0x3b, 0x97, 0x2c, 0x87, 0x3f, 0x9a, 0xc1, 0x19, 0xcb, 0xd7, 0xff, 0x79, - 0x06, 0x4a, 0x91, 0xa9, 0x7c, 0x19, 0xd3, 0xcd, 0x39, 0xac, 0xb5, 0x0f, 0x7a, 0x2d, 0xe3, 0xa0, - 0xb1, 0xa7, 0x49, 0x32, 0xfc, 0x1a, 0xac, 0xef, 0xb4, 0xf7, 0x5a, 0x47, 0x7b, 0x9d, 0xc6, 0xb6, - 0x46, 0x16, 0xf9, 0x4d, 0xe0, 0xed, 0xfd, 0xc3, 0x8e, 0xd1, 0x3b, 0x6a, 0x77, 0x8f, 0x9a, 0x8d, - 0x83, 0x66, 0x6b, 0xaf, 0xb5, 0xcd, 0xf2, 0xfc, 0x15, 0xb8, 0x7b, 0xd0, 0xe9, 0xb5, 0x3b, 0x07, - 0x47, 0x07, 0x9d, 0xa3, 0xce, 0xd6, 0x47, 0xad, 0x66, 0xaf, 0x7b, 0xd4, 0x3e, 0x38, 0x42, 0xa9, - 0x8f, 0x8c, 0x06, 0x3e, 0x61, 0x39, 0x7e, 0x17, 0x6e, 0x6b, 0xaa, 0x6e, 0xcb, 0x78, 0xda, 0x32, - 0x50, 0xc8, 0x93, 0x83, 0xc6, 0xd3, 0x46, 0x7b, 0xaf, 0xb1, 0xb5, 0xd7, 0x62, 0xab, 0xfc, 0x0e, - 0xd4, 0x34, 0x85, 0xd1, 0xe8, 0xb5, 0x8e, 0xf6, 0xda, 0xfb, 0xed, 0xde, 0x51, 0xeb, 0x7b, 0xcd, - 0x56, 0x6b, 0xbb, 0xb5, 0xcd, 0x2a, 0xfc, 0x2b, 0xf0, 0x65, 0x6a, 0x94, 0x6e, 0xc4, 0xf4, 0xcb, - 0x3e, 0x69, 0x1f, 0x1e, 0x35, 0x8c, 0xe6, 0x6e, 0xfb, 0x69, 0x8b, 0xad, 0xf1, 0xd7, 0xe0, 0x4b, - 0x97, 0x93, 0x6e, 0xb7, 0x8d, 0x56, 0xb3, 0xd7, 0x31, 0x3e, 0x66, 0x1b, 0xfc, 0x0b, 0xf0, 0xb9, - 0xdd, 0xde, 0xfe, 0xde, 0xd1, 0x33, 0xa3, 0x73, 0xf0, 0xe8, 0x88, 0x7e, 0x76, 0x7b, 0xc6, 0x93, - 0x66, 0xef, 0x89, 0xd1, 0x62, 0xc0, 0x6b, 0x70, 0xf3, 0x70, 0xeb, 0xe8, 0xa0, 0xd3, 0x3b, 0x6a, - 0x1c, 0x7c, 0xbc, 0xb5, 0xd7, 0x69, 0x3e, 0x3e, 0xda, 0xe9, 0x18, 0xfb, 0x8d, 0x1e, 0x2b, 0xf3, - 0xaf, 0xc2, 0x6b, 0xcd, 0xee, 0x53, 0xdd, 0xcc, 0xce, 0xce, 0x91, 0xd1, 0x79, 0xd6, 0x3d, 0xea, - 0x18, 0x47, 0x46, 0x6b, 0x8f, 0xfa, 0xdc, 0x8d, 0xdb, 0x5e, 0xe0, 0xb7, 0xa1, 0xda, 0x3e, 0xe8, - 0x3e, 0xd9, 0xd9, 0x69, 0x37, 0xdb, 0xad, 0x83, 0xde, 0xd1, 0x61, 0xcb, 0xd8, 0x6f, 0x77, 0xbb, - 0x48, 0xc6, 0x4a, 0xf5, 0xef, 0x40, 0xbe, 0xed, 0x9e, 0xd9, 0x92, 0xd6, 0x97, 0x56, 0x46, 0x1d, - 0x71, 0x85, 0x20, 0x2d, 0x0b, 0x7b, 0xe0, 0xd2, 0x3d, 0x7f, 0x5a, 0x5d, 0xab, 0x46, 0x8c, 0xa8, - 0xff, 0xe3, 0x34, 0x54, 0x94, 0x88, 0x30, 0x82, 0xbb, 0x07, 0xeb, 0x3a, 0x15, 0xda, 0x9e, 0x36, - 0x61, 0xb3, 0x68, 0xfa, 0x80, 0x96, 0x42, 0x25, 0x0c, 0x59, 0x12, 0x45, 0x27, 0x47, 0x24, 0x1c, - 0x23, 0x41, 0x75, 0x24, 0x19, 0x23, 0x3e, 0xab, 0x05, 0x43, 0xeb, 0xa8, 0x08, 0xfb, 0x9e, 0xdb, - 0x8c, 0x2e, 0x7c, 0x4c, 0xe1, 0xf8, 0x27, 0x70, 0x2b, 0x82, 0x5b, 0x6e, 0xdf, 0xbf, 0x18, 0x47, - 0xdf, 0xb9, 0x2b, 0x2c, 0x4c, 0x29, 0xec, 0xd8, 0x8e, 0x98, 0x22, 0x34, 0x2e, 0x13, 0x50, 0xff, - 0x83, 0x54, 0x22, 0xee, 0x55, 0x71, 0xed, 0x95, 0x16, 0x7f, 0xd1, 0x19, 0x0c, 0x46, 0x9e, 0xba, - 0xf9, 0xda, 0x11, 0xd1, 0x20, 0x3f, 0x04, 0x6e, 0xcf, 0x37, 0x3a, 0xbb, 0x64, 0xa3, 0x17, 0xf0, - 0xce, 0xa6, 0xd0, 0x73, 0xf3, 0x29, 0xf4, 0x3b, 0x00, 0x03, 0xc7, 0x3b, 0x36, 0x9d, 0x84, 0xa3, - 0x99, 0xc0, 0xd4, 0x1d, 0x28, 0x86, 0x5f, 0xd3, 0xe3, 0x37, 0x21, 0x4f, 0xdf, 0xd3, 0x8b, 0x12, - 0x8a, 0x0a, 0xe2, 0xbb, 0xb0, 0x26, 0xa6, 0xdb, 0x9c, 0x5e, 0xb2, 0xcd, 0x33, 0x7c, 0xf5, 0x6f, - 0xc0, 0xc6, 0x1c, 0x11, 0x0e, 0xe2, 0xd8, 0x94, 0xd1, 0x95, 0x7a, 0xfc, 0x3d, 0x7f, 0xfc, 0x5d, - 0xff, 0x4f, 0x69, 0x58, 0xdd, 0x37, 0x5d, 0xfb, 0x44, 0x04, 0x32, 0x6c, 0x6d, 0xd0, 0x1f, 0x8a, - 0x91, 0x19, 0xb6, 0x56, 0x41, 0x3a, 0xcb, 0x90, 0x4e, 0xe6, 0xef, 0xe7, 0x8e, 0x7b, 0x6e, 0x42, - 0xde, 0x9c, 0xc8, 0x61, 0x54, 0x65, 0xae, 0x21, 0x9c, 0x3b, 0xc7, 0xee, 0x0b, 0x37, 0x08, 0x75, - 0x33, 0x04, 0xe3, 0x6a, 0x98, 0xfc, 0x15, 0xd5, 0x30, 0x85, 0xf9, 0xf1, 0xbf, 0x0b, 0xe5, 0xa0, - 0xef, 0x0b, 0xe1, 0x06, 0x43, 0x4f, 0x86, 0x5f, 0x62, 0x4c, 0xa2, 0xa8, 0xe0, 0xcc, 0x7b, 0xee, - 0xe2, 0x0a, 0xdd, 0xb3, 0xdd, 0x53, 0x5d, 0x47, 0x35, 0x85, 0x43, 0x1d, 0xa4, 0x1c, 0x8b, 0xfd, - 0x43, 0x41, 0xf1, 0x7d, 0xce, 0x88, 0x60, 0xca, 0xa2, 0x98, 0x52, 0x0c, 0x3c, 0xdf, 0x16, 0x2a, - 0x95, 0x58, 0x32, 0x12, 0x18, 0xe4, 0x75, 0x4c, 0x77, 0x30, 0x31, 0x07, 0x42, 0x1f, 0x27, 0x47, - 0x70, 0xfd, 0x7f, 0xe6, 0x00, 0xf6, 0xc5, 0xe8, 0x58, 0xf8, 0xc1, 0xd0, 0x1e, 0xd3, 0x51, 0x87, - 0xad, 0x6b, 0x6b, 0x2b, 0x06, 0xfd, 0xe6, 0xef, 0x4d, 0x95, 0xbd, 0xcf, 0x1f, 0x4e, 0xc6, 0xec, - 0xb3, 0x29, 0x18, 0x1c, 0x1c, 0x53, 0x0a, 0x5d, 0x88, 0x44, 0xe3, 0x9f, 0x35, 0x92, 0x28, 0x2a, - 0x30, 0x33, 0xa5, 0x68, 0xb9, 0x96, 0x4a, 0xf1, 0x64, 0x8d, 0x08, 0xa6, 0x8b, 0x33, 0x41, 0x63, - 0x22, 0x3d, 0x43, 0xb8, 0xe2, 0x79, 0x74, 0x27, 0x2c, 0x46, 0xf1, 0x7d, 0xa8, 0x8c, 0xcd, 0x8b, - 0x91, 0x70, 0xe5, 0xbe, 0x90, 0x43, 0xcf, 0xd2, 0x55, 0x43, 0xaf, 0x5d, 0xde, 0xc0, 0xc3, 0x24, - 0xb9, 0x31, 0xcd, 0x8d, 0x3a, 0xe1, 0x06, 0xb4, 0x4a, 0xd4, 0x34, 0x6a, 0x88, 0x6f, 0x01, 0xa8, - 0x5f, 0x14, 0x39, 0x15, 0x17, 0x67, 0xa2, 0xcc, 0x91, 0x08, 0x84, 0x7f, 0x66, 0x2b, 0x3b, 0xa6, - 0x62, 0xc3, 0x98, 0x0b, 0xad, 0xde, 0x24, 0x10, 0x7e, 0x6b, 0x64, 0xda, 0x8e, 0x9e, 0xe0, 0x18, - 0xc1, 0xdf, 0x86, 0x1b, 0xc1, 0xe4, 0x18, 0x75, 0xe6, 0x58, 0xf4, 0xbc, 0x03, 0xf1, 0x3c, 0x70, - 0x84, 0x94, 0xc2, 0xd7, 0x95, 0x09, 0x8b, 0x1f, 0xd6, 0x07, 0x91, 0xdb, 0x43, 0x5f, 0xfd, 0xc0, - 0x5f, 0x71, 0xf9, 0x53, 0x84, 0xd2, 0xb5, 0x61, 0x2c, 0xc5, 0x19, 0xac, 0x2a, 0x94, 0x2e, 0x1d, - 0x4b, 0xf3, 0x2f, 0xc3, 0x17, 0xa7, 0x88, 0x0c, 0x75, 0x10, 0x1c, 0xec, 0xd8, 0xae, 0xe9, 0xd8, - 0x3f, 0x54, 0xc7, 0xf2, 0x99, 0xfa, 0x18, 0x2a, 0x53, 0x03, 0x47, 0x97, 0x18, 0xe9, 0x97, 0xae, - 0x9f, 0x61, 0xb0, 0xaa, 0xe0, 0xae, 0xf4, 0x6d, 0x3a, 0xe1, 0x88, 0x30, 0x4d, 0x5c, 0xe7, 0x1e, - 0x4b, 0xf3, 0xeb, 0xc0, 0x14, 0xa6, 0xed, 0x9a, 0xe3, 0x71, 0x63, 0x3c, 0x76, 0x04, 0xcb, 0xd0, - 0x05, 0xd1, 0x18, 0xab, 0x8a, 0xdf, 0x59, 0xb6, 0xfe, 0x3d, 0xb8, 0x45, 0x23, 0xf3, 0x54, 0xf8, - 0x51, 0x60, 0xab, 0xfb, 0x7a, 0x03, 0x36, 0xd4, 0xaf, 0x03, 0x4f, 0xaa, 0xc7, 0xe4, 0xec, 0x71, - 0x58, 0x53, 0x68, 0xf4, 0x75, 0xba, 0x82, 0xae, 0x7d, 0x46, 0xb8, 0x88, 0x2e, 0x5d, 0xff, 0x69, - 0x1e, 0x78, 0xac, 0x10, 0x3d, 0x5b, 0xf8, 0xdb, 0xa6, 0x34, 0x13, 0x99, 0xc9, 0xca, 0xa5, 0x67, - 0xeb, 0x2f, 0xae, 0x7c, 0xbb, 0x09, 0x79, 0x3b, 0xc0, 0x50, 0x4c, 0x17, 0xb5, 0x6a, 0x88, 0xef, - 0x01, 0x8c, 0x85, 0x6f, 0x7b, 0x16, 0x69, 0x50, 0x6e, 0xe1, 0xed, 0x83, 0xf9, 0x46, 0x6d, 0x1e, - 0x46, 0x3c, 0x46, 0x82, 0x1f, 0xdb, 0xa1, 0x20, 0x75, 0x52, 0x9d, 0xa7, 0x46, 0x27, 0x51, 0xfc, - 0x0d, 0xb8, 0x36, 0xf6, 0xed, 0xbe, 0x50, 0xd3, 0xf1, 0x24, 0xb0, 0x9a, 0xf4, 0xad, 0xbc, 0x02, - 0x51, 0x2e, 0x7a, 0x84, 0x1a, 0x68, 0xba, 0x14, 0xa0, 0x04, 0x74, 0x36, 0xab, 0x2f, 0x4a, 0xab, - 0xb2, 0xcf, 0x8a, 0xb1, 0xf8, 0x21, 0xbf, 0x0f, 0x4c, 0x3f, 0xd8, 0xb7, 0xdd, 0x3d, 0xe1, 0x0e, - 0xe4, 0x90, 0x94, 0xbb, 0x62, 0xcc, 0xe1, 0xc9, 0x82, 0xa9, 0x2f, 0x12, 0xa9, 0x73, 0x9b, 0x92, - 0x11, 0xc1, 0xea, 0xf2, 0xbd, 0xe3, 0xf9, 0x5d, 0xe9, 0xeb, 0xfa, 0xd5, 0x08, 0x46, 0x9f, 0x25, - 0xa0, 0xb6, 0x1e, 0xfa, 0x9e, 0x35, 0xa1, 0x53, 0x05, 0x65, 0xc4, 0x66, 0xd1, 0x31, 0xe5, 0xbe, - 0xe9, 0xea, 0xf2, 0xc3, 0x4a, 0x92, 0x32, 0x42, 0x53, 0x0c, 0xe6, 0x05, 0xb1, 0xc0, 0x75, 0x1d, - 0x83, 0x25, 0x70, 0x9a, 0x26, 0x16, 0xc5, 0x22, 0x9a, 0x58, 0x0e, 0xf5, 0xdf, 0xf2, 0x3d, 0xdb, - 0x8a, 0x65, 0x6d, 0xa8, 0xca, 0xd2, 0x59, 0x7c, 0x82, 0x36, 0x96, 0xc9, 0xa7, 0x68, 0x23, 0x7c, - 0xfd, 0x47, 0x29, 0x80, 0x78, 0xf2, 0x51, 0xe5, 0x63, 0x28, 0x5e, 0xe2, 0xb7, 0xe0, 0x5a, 0x12, - 0xed, 0xe8, 0x12, 0x52, 0xd2, 0xfb, 0xf8, 0xc1, 0xb6, 0x79, 0x11, 0xb0, 0xb4, 0xbe, 0xaa, 0xac, - 0x71, 0xcf, 0x84, 0xa0, 0x7a, 0xbc, 0xeb, 0xc0, 0x62, 0x24, 0xdd, 0x3f, 0x0b, 0x58, 0x76, 0x9a, - 0xf4, 0x63, 0x61, 0xfa, 0x01, 0xcb, 0xd5, 0x77, 0x21, 0xaf, 0x0e, 0x97, 0x16, 0x1c, 0x0b, 0xbf, - 0x5c, 0x8d, 0xc7, 0x5f, 0x4d, 0x01, 0x6c, 0xab, 0x2a, 0x62, 0xdc, 0xc5, 0x17, 0x9c, 0xb6, 0x2f, - 0xf2, 0xa8, 0x4c, 0xcb, 0xa2, 0x6a, 0xec, 0x4c, 0xf4, 0x9d, 0x1b, 0x04, 0x51, 0x73, 0xcc, 0xb0, - 0xe6, 0x4a, 0xad, 0xb9, 0x08, 0x56, 0x1b, 0x48, 0xd3, 0x73, 0x5d, 0xd1, 0xc7, 0xed, 0x27, 0xda, - 0x40, 0x22, 0x54, 0xfd, 0xdf, 0x16, 0xa0, 0xdc, 0x1c, 0x9a, 0x72, 0x5f, 0x04, 0x81, 0x39, 0x10, - 0x73, 0x6d, 0xa9, 0x42, 0xc1, 0xf3, 0x2d, 0xe1, 0xc7, 0x77, 0xc8, 0x34, 0x98, 0xac, 0x31, 0xc8, - 0x4c, 0xd7, 0x18, 0xdc, 0x86, 0x92, 0x3a, 0xc1, 0xb0, 0x1a, 0xca, 0x0c, 0x64, 0x8c, 0x18, 0x81, - 0x7b, 0xf5, 0xc8, 0xb3, 0xc8, 0x18, 0x35, 0x54, 0xf2, 0x3f, 0x63, 0x24, 0x30, 0xaa, 0xa4, 0x63, - 0xec, 0x5c, 0xf4, 0x3c, 0xdd, 0xa6, 0xb6, 0x15, 0x5f, 0xb8, 0x9d, 0xc6, 0xf3, 0x26, 0x14, 0x46, - 0x0a, 0xd0, 0x07, 0x19, 0xb3, 0x29, 0xff, 0x44, 0xd7, 0x36, 0xf5, 0x5f, 0x7d, 0xe7, 0xc5, 0x08, - 0x39, 0x31, 0x44, 0x37, 0xa5, 0x34, 0xfb, 0xc3, 0x91, 0x36, 0x11, 0x99, 0x05, 0x67, 0x9a, 0x49, - 0x41, 0x8d, 0x88, 0xda, 0x48, 0x72, 0xf2, 0x2d, 0x28, 0xf9, 0xc2, 0x9c, 0x3a, 0x56, 0x7d, 0xe5, - 0x0a, 0x31, 0x46, 0x48, 0x6b, 0xc4, 0x6c, 0xb5, 0x9f, 0xa4, 0x60, 0x6d, 0xba, 0xa1, 0x7f, 0x12, - 0x9f, 0x2a, 0xfb, 0x56, 0xfc, 0xa9, 0xb2, 0xcf, 0xf0, 0xd9, 0xaf, 0xdf, 0x4a, 0x01, 0xc4, 0x63, - 0x80, 0x26, 0x5f, 0x7d, 0x52, 0x29, 0x74, 0x42, 0x15, 0xc4, 0x77, 0xa7, 0xee, 0xe1, 0xbf, 0xbd, - 0xd4, 0x80, 0x26, 0x7e, 0x26, 0xaa, 0x9b, 0x1f, 0xc0, 0xda, 0x34, 0x9e, 0xaa, 0xc2, 0xdb, 0x7b, - 0x2d, 0x95, 0xe2, 0x68, 0xef, 0x37, 0x1e, 0xb5, 0xf4, 0x1d, 0xa3, 0xf6, 0xc1, 0x63, 0x96, 0xae, - 0xfd, 0x61, 0x0a, 0x4a, 0xd1, 0xf0, 0xf2, 0xef, 0x26, 0xe7, 0x45, 0xd5, 0x49, 0xbc, 0xb5, 0xcc, - 0xbc, 0xc4, 0xbf, 0x5a, 0xae, 0xf4, 0x2f, 0x92, 0xd3, 0xe4, 0xc1, 0xda, 0xf4, 0xc3, 0x05, 0x36, - 0xe1, 0xd1, 0xb4, 0x4d, 0x78, 0x73, 0xa9, 0x57, 0x86, 0x91, 0xd7, 0x9e, 0x1d, 0x48, 0x6d, 0x2e, - 0xde, 0x4f, 0xbf, 0x97, 0xaa, 0xdd, 0x85, 0xd5, 0xe4, 0xa3, 0xf9, 0x8b, 0x84, 0xf7, 0xff, 0x30, - 0x03, 0x6b, 0xd3, 0xa5, 0x06, 0x74, 0x6d, 0x49, 0x95, 0xb9, 0x74, 0x1c, 0x2b, 0x51, 0x10, 0xce, - 0xf8, 0x3a, 0x94, 0x75, 0x6c, 0x47, 0x88, 0x0d, 0x4a, 0xa2, 0x78, 0x23, 0xc1, 0xee, 0x26, 0x3f, - 0xc7, 0xf8, 0x06, 0x87, 0xf0, 0x42, 0x19, 0x1b, 0xf3, 0x92, 0xfe, 0x30, 0xd5, 0xaf, 0xa4, 0x79, - 0x25, 0x51, 0x96, 0xfc, 0x63, 0x74, 0x6c, 0xd6, 0xb7, 0x26, 0xae, 0xe5, 0x08, 0x2b, 0xc2, 0xfe, - 0x24, 0x89, 0x8d, 0xea, 0x8a, 0x7f, 0x25, 0xcb, 0xd7, 0xa0, 0xd4, 0x9d, 0x1c, 0xeb, 0x9a, 0xe2, - 0xbf, 0x90, 0xe5, 0x37, 0x61, 0x43, 0x53, 0xc5, 0x25, 0x7e, 0xec, 0x2f, 0xa2, 0x09, 0x5e, 0x6b, - 0xa8, 0xf1, 0xd2, 0x0d, 0x65, 0x7f, 0x29, 0x8b, 0x4d, 0xa0, 0x7b, 0xca, 0x7f, 0x99, 0xe4, 0x44, - 0xb7, 0x3a, 0xd8, 0xaf, 0x66, 0xf9, 0x3a, 0x40, 0xb7, 0x17, 0xbd, 0xe8, 0xd7, 0xb3, 0xbc, 0x0c, - 0xf9, 0x6e, 0x8f, 0xa4, 0xfd, 0x28, 0xcb, 0x6f, 0x00, 0x8b, 0x9f, 0xea, 0xc2, 0xc7, 0xbf, 0xae, - 0x1a, 0x13, 0x55, 0x32, 0xfe, 0x8d, 0x2c, 0xf6, 0x2b, 0x1c, 0x65, 0xf6, 0x37, 0xb3, 0x9c, 0x41, - 0x39, 0x91, 0x9a, 0x63, 0x7f, 0x2b, 0xcb, 0x39, 0x54, 0xf6, 0xed, 0x20, 0xb0, 0xdd, 0x81, 0xee, - 0xc1, 0xaf, 0xd1, 0x9b, 0x77, 0xa2, 0x8b, 0x29, 0xec, 0x37, 0xb2, 0xfc, 0x16, 0xf0, 0xe4, 0x71, - 0x84, 0x7e, 0xf0, 0xb7, 0x89, 0x5b, 0x99, 0xfd, 0x40, 0xe3, 0xfe, 0x0e, 0x71, 0xa3, 0x26, 0x68, - 0xc4, 0x6f, 0xd2, 0x80, 0x34, 0xe3, 0x52, 0x49, 0x8d, 0xff, 0x31, 0x31, 0x87, 0x93, 0xa9, 0x70, - 0x3f, 0xc9, 0xde, 0xff, 0x29, 0xa5, 0x93, 0x93, 0x15, 0x47, 0x7c, 0x15, 0x8a, 0x8e, 0xe7, 0x0e, - 0xa4, 0xfa, 0x0c, 0x66, 0x05, 0x4a, 0xc1, 0xd0, 0xf3, 0x25, 0x81, 0x74, 0x73, 0xce, 0xa5, 0x3b, - 0xd4, 0xaa, 0x2a, 0x5d, 0x05, 0x29, 0x2a, 0x3d, 0x27, 0xcd, 0x01, 0x2b, 0x47, 0x45, 0x9e, 0xd9, - 0xa8, 0x10, 0x95, 0xee, 0x72, 0x87, 0x77, 0x65, 0x59, 0x1e, 0x49, 0x27, 0xbe, 0xa3, 0x0a, 0x52, - 0x05, 0x3a, 0xa8, 0xea, 0x7b, 0x77, 0xe3, 0x21, 0xfa, 0xc1, 0x25, 0x85, 0xf5, 0xbe, 0x6f, 0xab, - 0x5b, 0x98, 0xba, 0xbe, 0xcb, 0xc2, 0x76, 0x44, 0x25, 0x0c, 0x4c, 0xdc, 0xff, 0xbb, 0x29, 0x58, - 0x0d, 0x6f, 0x30, 0xdb, 0x03, 0xdb, 0x55, 0x25, 0xad, 0xe1, 0xc7, 0x45, 0xfb, 0x8e, 0x3d, 0x0e, - 0x3f, 0xd6, 0xb7, 0x0e, 0x65, 0xcb, 0x37, 0x07, 0x0d, 0xd7, 0xda, 0xf6, 0xbd, 0xb1, 0x6a, 0xb6, - 0x3a, 0x70, 0x52, 0xa5, 0xb4, 0xcf, 0xc5, 0x31, 0x92, 0x8f, 0x85, 0xcf, 0xb2, 0x54, 0x3b, 0x36, - 0x34, 0x7d, 0xdb, 0x1d, 0xb4, 0xce, 0xa5, 0x70, 0x03, 0x55, 0x52, 0x5b, 0x86, 0xc2, 0x24, 0x10, - 0x7d, 0x33, 0x10, 0x2c, 0x8f, 0xc0, 0xf1, 0xc4, 0x76, 0xa4, 0xed, 0xaa, 0x6f, 0xe4, 0x45, 0x35, - 0xb3, 0x45, 0xec, 0x99, 0x39, 0xb6, 0x59, 0xe9, 0xfe, 0xef, 0xa5, 0xa0, 0x4c, 0x6a, 0x11, 0xa7, - 0x54, 0x63, 0x97, 0xa3, 0x0c, 0x85, 0xbd, 0xe8, 0x63, 0x69, 0x79, 0x48, 0x77, 0x4e, 0x55, 0x4a, - 0x55, 0xab, 0x85, 0xba, 0x88, 0xa8, 0xbe, 0x9b, 0x96, 0xe5, 0x9f, 0x83, 0x1b, 0x86, 0x18, 0x79, - 0x52, 0x3c, 0x33, 0x6d, 0x99, 0xbc, 0x9e, 0x92, 0xc3, 0xe8, 0x44, 0x3d, 0x0a, 0xef, 0xa3, 0xe4, - 0x29, 0x3a, 0xc1, 0xd7, 0x86, 0x98, 0x02, 0xf6, 0x9e, 0x30, 0x3a, 0x5c, 0x29, 0x46, 0x24, 0x1f, - 0x79, 0xb6, 0x8b, 0x6f, 0xa3, 0xeb, 0xaf, 0x84, 0xa1, 0xdc, 0x3c, 0xa2, 0xe0, 0xfe, 0x01, 0xdc, - 0x5c, 0x9c, 0x51, 0x56, 0x17, 0x63, 0xe9, 0x0b, 0xbd, 0x74, 0x61, 0xe1, 0x99, 0x6f, 0xab, 0xfb, - 0x8d, 0x25, 0xc8, 0x75, 0x9e, 0xbb, 0xa4, 0x16, 0x1b, 0x50, 0x39, 0xf0, 0x12, 0x3c, 0x2c, 0x73, - 0xbf, 0x3f, 0x75, 0x08, 0x10, 0x0f, 0x4a, 0xd8, 0x88, 0x95, 0xc4, 0x65, 0x9c, 0x94, 0x4a, 0x2f, - 0xd3, 0x3f, 0x59, 0x50, 0x1f, 0x0d, 0xd0, 0xc9, 0x77, 0x4b, 0x7d, 0x34, 0x20, 0x6a, 0x66, 0x56, - 0x7d, 0x3d, 0xc9, 0xed, 0x0b, 0x47, 0x58, 0x2c, 0x77, 0xff, 0x3d, 0x58, 0xd7, 0x5d, 0xed, 0x8b, - 0x20, 0x08, 0x2f, 0xb3, 0x1c, 0xfa, 0xf6, 0x99, 0xfa, 0x30, 0xc1, 0x2a, 0x14, 0x0f, 0x85, 0x1f, - 0x78, 0x2e, 0x7d, 0x94, 0x01, 0x20, 0xdf, 0x1d, 0x9a, 0x3e, 0xbe, 0xe3, 0xfe, 0xd7, 0xf4, 0x20, - 0x3d, 0x39, 0x0f, 0xb7, 0x06, 0x5c, 0x3f, 0xfa, 0x9b, 0x24, 0xa6, 0x34, 0x35, 0xb9, 0xf4, 0x85, - 0x39, 0x62, 0xe9, 0xfb, 0x4d, 0x28, 0xd1, 0x5d, 0x98, 0xc7, 0xb6, 0x6b, 0x61, 0xc7, 0xb7, 0x74, - 0xdd, 0x36, 0x7d, 0x2c, 0xe7, 0x8c, 0x86, 0xa3, 0xa8, 0x3e, 0x2b, 0xca, 0xd2, 0xfc, 0x26, 0x70, - 0x0c, 0xb6, 0x47, 0x26, 0xdd, 0xcc, 0x74, 0x2e, 0xd4, 0x27, 0x68, 0x33, 0xf7, 0xbf, 0x0d, 0x5c, - 0xa5, 0x8c, 0x2c, 0x71, 0x6e, 0xbb, 0x83, 0xe8, 0xd2, 0x37, 0xd0, 0x17, 0x1c, 0x2c, 0x71, 0x1e, - 0x5e, 0x64, 0x0a, 0x81, 0xf0, 0x3b, 0x12, 0x3b, 0xde, 0xc4, 0xc5, 0x46, 0x3f, 0x85, 0xeb, 0x4a, - 0xc5, 0xb0, 0x17, 0x74, 0xed, 0xef, 0xd2, 0x38, 0x56, 0x5d, 0x64, 0x92, 0x93, 0x20, 0xa2, 0x65, - 0x29, 0x6c, 0x58, 0x14, 0x03, 0xc6, 0xf8, 0xf4, 0xfd, 0x3a, 0x5c, 0x5b, 0x10, 0x88, 0x93, 0x51, - 0x57, 0xe1, 0x08, 0x5b, 0xb9, 0xff, 0x21, 0x6c, 0x28, 0x33, 0x74, 0xa0, 0x2e, 0x66, 0x85, 0xc3, - 0xf6, 0xac, 0xbd, 0xd3, 0x56, 0x23, 0xdd, 0x6c, 0xed, 0xed, 0x3d, 0xd9, 0x6b, 0x18, 0x2c, 0x45, - 0xfa, 0xd0, 0xe9, 0x1d, 0x35, 0x3b, 0x07, 0x07, 0xad, 0x66, 0xaf, 0xb5, 0xcd, 0xd2, 0x5b, 0xf7, - 0xff, 0xdd, 0xa7, 0x77, 0x52, 0x3f, 0xfb, 0xf4, 0x4e, 0xea, 0xbf, 0x7e, 0x7a, 0x27, 0xf5, 0xa3, - 0x9f, 0xdf, 0x59, 0xf9, 0xd9, 0xcf, 0xef, 0xac, 0xfc, 0xe7, 0x9f, 0xdf, 0x59, 0xf9, 0x84, 0xcd, - 0xfe, 0x9f, 0x94, 0xe3, 0x3c, 0x79, 0xc0, 0x6f, 0xfd, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb9, - 0x75, 0xe0, 0x4c, 0x42, 0x65, 0x00, 0x00, + // 9051 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7d, 0x5b, 0x6c, 0x63, 0xd9, + 0x91, 0x98, 0xf8, 0x26, 0x8b, 0xa2, 0x74, 0x74, 0xfa, 0x45, 0xd3, 0xed, 0x4e, 0x9b, 0x1e, 0xcf, + 0xb4, 0xdb, 0x63, 0xf5, 0x4c, 0xcf, 0x8c, 0x67, 0x3c, 0xf6, 0x8c, 0x4d, 0x51, 0x54, 0x8b, 0xd3, + 0x92, 0x28, 0x5f, 0xb2, 0xbb, 0x3d, 0x83, 0xdd, 0x28, 0x57, 0xbc, 0x47, 0xe4, 0xb5, 0x2e, 0xef, + 0xa5, 0xef, 0x3d, 0x54, 0x4b, 0x46, 0x12, 0x6c, 0x5e, 0xbb, 0xd9, 0x8f, 0x00, 0x4e, 0x90, 0x4d, + 0xb2, 0x08, 0x82, 0xb5, 0x3f, 0x02, 0x04, 0xd9, 0x05, 0x82, 0x7c, 0x18, 0xc9, 0x26, 0x59, 0x20, + 0x59, 0x20, 0x48, 0x80, 0xfc, 0x38, 0xf9, 0xca, 0x47, 0x80, 0x04, 0x63, 0x20, 0x3f, 0x41, 0xb2, + 0xd8, 0x7c, 0x19, 0x41, 0x3e, 0x82, 0xaa, 0x73, 0xee, 0x83, 0x0f, 0xa9, 0xd9, 0xb3, 0xbb, 0xc1, + 0x7e, 0x89, 0x55, 0xb7, 0xaa, 0xee, 0x79, 0xd4, 0xa9, 0x53, 0x55, 0xa7, 0xce, 0x15, 0xbc, 0x32, + 0x3e, 0x1d, 0x3c, 0x70, 0xec, 0xe3, 0x07, 0xe3, 0xe3, 0x07, 0x23, 0xcf, 0x12, 0xce, 0x83, 0xb1, + 0xef, 0x49, 0x2f, 0x50, 0x40, 0xb0, 0x49, 0x10, 0xaf, 0x98, 0xee, 0x85, 0xbc, 0x18, 0x8b, 0x4d, + 0xc2, 0xd6, 0x6e, 0x0f, 0x3c, 0x6f, 0xe0, 0x08, 0x45, 0x7a, 0x3c, 0x39, 0x79, 0x10, 0x48, 0x7f, + 0xd2, 0x97, 0x8a, 0xb8, 0xfe, 0xb3, 0x2c, 0xdc, 0xec, 0x8e, 0x4c, 0x5f, 0x6e, 0x39, 0x5e, 0xff, + 0xb4, 0xeb, 0x9a, 0xe3, 0x60, 0xe8, 0xc9, 0x2d, 0x33, 0x10, 0xfc, 0x75, 0xc8, 0x1f, 0x23, 0x32, + 0xa8, 0xa6, 0xee, 0x66, 0xee, 0x95, 0x1f, 0x5e, 0xdf, 0x9c, 0x12, 0xbc, 0x49, 0x1c, 0x86, 0xa6, + 0xe1, 0x6f, 0x42, 0xc1, 0x12, 0xd2, 0xb4, 0x9d, 0xa0, 0x9a, 0xbe, 0x9b, 0xba, 0x57, 0x7e, 0x78, + 0x6b, 0x53, 0xbd, 0x78, 0x33, 0x7c, 0xf1, 0x66, 0x97, 0x5e, 0x6c, 0x84, 0x74, 0xfc, 0x5d, 0x28, + 0x9e, 0xd8, 0x8e, 0x78, 0x2c, 0x2e, 0x82, 0x6a, 0xe6, 0x4a, 0x9e, 0xad, 0x74, 0x35, 0x65, 0x44, + 0xc4, 0xbc, 0x09, 0x6b, 0xe2, 0x5c, 0xfa, 0xa6, 0x21, 0x1c, 0x53, 0xda, 0x9e, 0x1b, 0x54, 0xb3, + 0xd4, 0xc2, 0x5b, 0x33, 0x2d, 0x0c, 0x9f, 0x13, 0xfb, 0x0c, 0x0b, 0xbf, 0x0b, 0x65, 0xef, 0xf8, + 0xfb, 0xa2, 0x2f, 0x7b, 0x17, 0x63, 0x11, 0x54, 0x73, 0x77, 0x33, 0xf7, 0x4a, 0x46, 0x12, 0xc5, + 0xbf, 0x01, 0xe5, 0xbe, 0xe7, 0x38, 0xa2, 0xaf, 0xde, 0x91, 0xbf, 0xba, 0x5b, 0x49, 0x5a, 0xfe, + 0x36, 0xdc, 0xf0, 0xc5, 0xc8, 0x3b, 0x13, 0x56, 0x33, 0xc2, 0x52, 0x3f, 0x8b, 0xf4, 0x9a, 0xc5, + 0x0f, 0x79, 0x03, 0x2a, 0xbe, 0x6e, 0xdf, 0x9e, 0xed, 0x9e, 0x06, 0xd5, 0x02, 0x75, 0xeb, 0xf3, + 0x97, 0x74, 0x0b, 0x69, 0x8c, 0x69, 0x0e, 0xce, 0x20, 0x73, 0x2a, 0x2e, 0xaa, 0xa5, 0xbb, 0xa9, + 0x7b, 0x25, 0x03, 0x7f, 0xf2, 0xf7, 0xa1, 0xea, 0xf9, 0xf6, 0xc0, 0x76, 0x4d, 0xa7, 0xe9, 0x0b, + 0x53, 0x0a, 0xab, 0x67, 0x8f, 0x44, 0x20, 0xcd, 0xd1, 0xb8, 0x0a, 0x77, 0x53, 0xf7, 0x32, 0xc6, + 0xa5, 0xcf, 0xf9, 0x5b, 0x6a, 0x86, 0xda, 0xee, 0x89, 0x57, 0x2d, 0xeb, 0xee, 0x4f, 0xb7, 0x65, + 0x47, 0x3f, 0x36, 0x22, 0xc2, 0xfa, 0x2f, 0xd2, 0x90, 0xef, 0x0a, 0xd3, 0xef, 0x0f, 0x6b, 0xbf, + 0x96, 0x82, 0xbc, 0x21, 0x82, 0x89, 0x23, 0x79, 0x0d, 0x8a, 0x6a, 0x6c, 0xdb, 0x56, 0x35, 0x45, + 0xad, 0x8b, 0xe0, 0xcf, 0xa2, 0x3b, 0x9b, 0x90, 0x1d, 0x09, 0x69, 0x56, 0x33, 0x34, 0x42, 0xb5, + 0x99, 0x56, 0xa9, 0xd7, 0x6f, 0xee, 0x0b, 0x69, 0x1a, 0x44, 0x57, 0xfb, 0x79, 0x0a, 0xb2, 0x08, + 0xf2, 0xdb, 0x50, 0x1a, 0xda, 0x83, 0xa1, 0x63, 0x0f, 0x86, 0x52, 0x37, 0x24, 0x46, 0xf0, 0x0f, + 0x61, 0x3d, 0x02, 0x0c, 0xd3, 0x1d, 0x08, 0x6c, 0xd1, 0x22, 0xe5, 0xa7, 0x87, 0xc6, 0x2c, 0x31, + 0xaf, 0x42, 0x81, 0xd6, 0x43, 0xdb, 0x22, 0x8d, 0x2e, 0x19, 0x21, 0x88, 0xea, 0x16, 0xce, 0xd4, + 0x63, 0x71, 0x51, 0xcd, 0xd2, 0xd3, 0x24, 0x8a, 0x37, 0x60, 0x3d, 0x04, 0xb7, 0xf5, 0x68, 0xe4, + 0xae, 0x1e, 0x8d, 0x59, 0xfa, 0xfa, 0xa7, 0x7b, 0x90, 0xa3, 0x65, 0xc9, 0xd7, 0x20, 0x6d, 0x87, + 0x03, 0x9d, 0xb6, 0x2d, 0xfe, 0x00, 0xf2, 0x27, 0xb6, 0x70, 0xac, 0x17, 0x8e, 0xb0, 0x26, 0xe3, + 0x2d, 0x58, 0xf5, 0x45, 0x20, 0x7d, 0x5b, 0x6b, 0xbf, 0x5a, 0xa0, 0x5f, 0x5c, 0x64, 0x03, 0x36, + 0x8d, 0x04, 0xa1, 0x31, 0xc5, 0x86, 0xdd, 0xee, 0x0f, 0x6d, 0xc7, 0xf2, 0x85, 0xdb, 0xb6, 0xd4, + 0x3a, 0x2d, 0x19, 0x49, 0x14, 0xbf, 0x07, 0xeb, 0xc7, 0x66, 0xff, 0x74, 0xe0, 0x7b, 0x13, 0x17, + 0x17, 0x84, 0xe7, 0x53, 0xb7, 0x4b, 0xc6, 0x2c, 0x9a, 0xbf, 0x01, 0x39, 0xd3, 0xb1, 0x07, 0x2e, + 0xad, 0xc4, 0xb5, 0xb9, 0x49, 0x57, 0x6d, 0x69, 0x20, 0x85, 0xa1, 0x08, 0xf9, 0x2e, 0x54, 0xce, + 0x84, 0x2f, 0xed, 0xbe, 0xe9, 0x10, 0xbe, 0x5a, 0x20, 0xce, 0xfa, 0x42, 0xce, 0xa7, 0x49, 0x4a, + 0x63, 0x9a, 0x91, 0xb7, 0x01, 0x02, 0x34, 0x93, 0x34, 0x9d, 0x7a, 0x2d, 0xbc, 0xb6, 0x50, 0x4c, + 0xd3, 0x73, 0xa5, 0x70, 0xe5, 0x66, 0x37, 0x22, 0xdf, 0x5d, 0x31, 0x12, 0xcc, 0xfc, 0x5d, 0xc8, + 0x4a, 0x71, 0x2e, 0xab, 0x6b, 0x57, 0x8c, 0x68, 0x28, 0xa4, 0x27, 0xce, 0xe5, 0xee, 0x8a, 0x41, + 0x0c, 0xc8, 0x88, 0x8b, 0xac, 0xba, 0xbe, 0x04, 0x23, 0xae, 0x4b, 0x64, 0x44, 0x06, 0xfe, 0x01, + 0xe4, 0x1d, 0xf3, 0xc2, 0x9b, 0xc8, 0x2a, 0x23, 0xd6, 0x2f, 0x5d, 0xc9, 0xba, 0x47, 0xa4, 0xbb, + 0x2b, 0x86, 0x66, 0xe2, 0x6f, 0x43, 0xc6, 0xb2, 0xcf, 0xaa, 0x1b, 0xc4, 0x7b, 0xf7, 0x4a, 0xde, + 0x6d, 0xfb, 0x6c, 0x77, 0xc5, 0x40, 0x72, 0xde, 0x84, 0xe2, 0xb1, 0xe7, 0x9d, 0x8e, 0x4c, 0xff, + 0xb4, 0xca, 0x89, 0xf5, 0xcb, 0x57, 0xb2, 0x6e, 0x69, 0xe2, 0xdd, 0x15, 0x23, 0x62, 0xc4, 0x2e, + 0xdb, 0x7d, 0xcf, 0xad, 0x5e, 0x5b, 0xa2, 0xcb, 0xed, 0xbe, 0xe7, 0x62, 0x97, 0x91, 0x01, 0x19, + 0x1d, 0xdb, 0x3d, 0xad, 0x5e, 0x5f, 0x82, 0x11, 0x2d, 0x27, 0x32, 0x22, 0x03, 0x36, 0xdb, 0x32, + 0xa5, 0x79, 0x66, 0x8b, 0xe7, 0xd5, 0x1b, 0x4b, 0x34, 0x7b, 0x5b, 0x13, 0x63, 0xb3, 0x43, 0x46, + 0x14, 0x12, 0x2e, 0xcd, 0xea, 0xcd, 0x25, 0x84, 0x84, 0x16, 0x1d, 0x85, 0x84, 0x8c, 0xfc, 0xcf, + 0xc2, 0xc6, 0x89, 0x30, 0xe5, 0xc4, 0x17, 0x56, 0xbc, 0xd1, 0xdd, 0x22, 0x69, 0x9b, 0x57, 0xcf, + 0xfd, 0x2c, 0xd7, 0xee, 0x8a, 0x31, 0x2f, 0x8a, 0xbf, 0x0f, 0x39, 0xc7, 0x94, 0xe2, 0xbc, 0x5a, + 0x25, 0x99, 0xf5, 0x17, 0x28, 0x85, 0x14, 0xe7, 0xbb, 0x2b, 0x86, 0x62, 0xe1, 0xdf, 0x83, 0x75, + 0x69, 0x1e, 0x3b, 0xa2, 0x73, 0xa2, 0x09, 0x82, 0xea, 0xe7, 0x48, 0xca, 0xeb, 0x57, 0xab, 0xf3, + 0x34, 0xcf, 0xee, 0x8a, 0x31, 0x2b, 0x06, 0x5b, 0x45, 0xa8, 0x6a, 0x6d, 0x89, 0x56, 0x91, 0x3c, + 0x6c, 0x15, 0xb1, 0xf0, 0x3d, 0x28, 0xd3, 0x8f, 0xa6, 0xe7, 0x4c, 0x46, 0x6e, 0xf5, 0xf3, 0x24, + 0xe1, 0xde, 0x8b, 0x25, 0x28, 0xfa, 0xdd, 0x15, 0x23, 0xc9, 0x8e, 0x93, 0x48, 0xa0, 0xe1, 0x3d, + 0xaf, 0xde, 0x5e, 0x62, 0x12, 0x7b, 0x9a, 0x18, 0x27, 0x31, 0x64, 0xc4, 0xa5, 0xf7, 0xdc, 0xb6, + 0x06, 0x42, 0x56, 0xbf, 0xb0, 0xc4, 0xd2, 0x7b, 0x46, 0xa4, 0xb8, 0xf4, 0x14, 0x13, 0xaa, 0x71, + 0x7f, 0x68, 0xca, 0xea, 0x9d, 0x25, 0xd4, 0xb8, 0x39, 0x34, 0xc9, 0x56, 0x20, 0x43, 0xed, 0x87, + 0xb0, 0x9a, 0xb4, 0xca, 0x9c, 0x43, 0xd6, 0x17, 0xa6, 0xda, 0x11, 0x8a, 0x06, 0xfd, 0x46, 0x9c, + 0xb0, 0x6c, 0x49, 0x3b, 0x42, 0xd1, 0xa0, 0xdf, 0xfc, 0x26, 0xe4, 0x95, 0x6f, 0x42, 0x06, 0xbf, + 0x68, 0x68, 0x08, 0x69, 0x2d, 0xdf, 0x1c, 0xd0, 0xbe, 0x55, 0x34, 0xe8, 0x37, 0xd2, 0x5a, 0xbe, + 0x37, 0xee, 0xb8, 0x64, 0xb0, 0x8b, 0x86, 0x86, 0x6a, 0xff, 0xf6, 0x03, 0x28, 0xe8, 0x46, 0xd5, + 0xfe, 0x41, 0x0a, 0xf2, 0xca, 0xa0, 0xf0, 0x6f, 0x43, 0x2e, 0x90, 0x17, 0x8e, 0xa0, 0x36, 0xac, + 0x3d, 0xfc, 0xca, 0x12, 0x46, 0x68, 0xb3, 0x8b, 0x0c, 0x86, 0xe2, 0xab, 0x1b, 0x90, 0x23, 0x98, + 0x17, 0x20, 0x63, 0x78, 0xcf, 0xd9, 0x0a, 0x07, 0xc8, 0xab, 0xc9, 0x62, 0x29, 0x44, 0x6e, 0xdb, + 0x67, 0x2c, 0x8d, 0xc8, 0x5d, 0x61, 0x5a, 0xc2, 0x67, 0x19, 0x5e, 0x81, 0x52, 0x38, 0x2d, 0x01, + 0xcb, 0x72, 0x06, 0xab, 0x89, 0x09, 0x0f, 0x58, 0xae, 0xf6, 0xbf, 0xb3, 0x90, 0xc5, 0xf5, 0xcf, + 0x5f, 0x81, 0x8a, 0x34, 0xfd, 0x81, 0x50, 0x8e, 0x70, 0xe4, 0xa4, 0x4c, 0x23, 0xf9, 0x07, 0x61, + 0x1f, 0xd2, 0xd4, 0x87, 0xd7, 0x5e, 0x68, 0x57, 0xa6, 0x7a, 0x90, 0xd8, 0x85, 0x33, 0xcb, 0xed, + 0xc2, 0x3b, 0x50, 0x44, 0x73, 0xd6, 0xb5, 0x7f, 0x28, 0x68, 0xe8, 0xd7, 0x1e, 0xde, 0x7f, 0xf1, + 0x2b, 0xdb, 0x9a, 0xc3, 0x88, 0x78, 0x79, 0x1b, 0x4a, 0x7d, 0xd3, 0xb7, 0xa8, 0x31, 0x34, 0x5b, + 0x6b, 0x0f, 0xbf, 0xfa, 0x62, 0x41, 0xcd, 0x90, 0xc5, 0x88, 0xb9, 0x79, 0x07, 0xca, 0x96, 0x08, + 0xfa, 0xbe, 0x3d, 0x26, 0xf3, 0xa6, 0xf6, 0xe2, 0xaf, 0xbd, 0x58, 0xd8, 0x76, 0xcc, 0x64, 0x24, + 0x25, 0xa0, 0x47, 0xe6, 0x47, 0xf6, 0xad, 0x40, 0x0e, 0x42, 0x8c, 0xa8, 0xbf, 0x0b, 0xc5, 0xb0, + 0x3f, 0x7c, 0x15, 0x8a, 0xf8, 0xf7, 0xc0, 0x73, 0x05, 0x5b, 0xc1, 0xb9, 0x45, 0xa8, 0x3b, 0x32, + 0x1d, 0x87, 0xa5, 0xf8, 0x1a, 0x00, 0x82, 0xfb, 0xc2, 0xb2, 0x27, 0x23, 0x96, 0xae, 0x7f, 0x33, + 0xd4, 0x96, 0x22, 0x64, 0x0f, 0xcd, 0x01, 0x72, 0xac, 0x42, 0x31, 0x34, 0xd7, 0x2c, 0x85, 0xfc, + 0xdb, 0x66, 0x30, 0x3c, 0xf6, 0x4c, 0xdf, 0x62, 0x69, 0x5e, 0x86, 0x42, 0xc3, 0xef, 0x0f, 0xed, + 0x33, 0xc1, 0x32, 0xf5, 0x07, 0x50, 0x4e, 0xb4, 0x17, 0x45, 0xe8, 0x97, 0x96, 0x20, 0xd7, 0xb0, + 0x2c, 0x61, 0xb1, 0x14, 0x32, 0xe8, 0x0e, 0xb2, 0x74, 0xfd, 0xab, 0x50, 0x8a, 0x46, 0x0b, 0xc9, + 0x71, 0xe3, 0x66, 0x2b, 0xf8, 0x0b, 0xd1, 0x2c, 0x85, 0x5a, 0xd9, 0x76, 0x1d, 0xdb, 0x15, 0x2c, + 0x5d, 0xfb, 0x73, 0xa4, 0xaa, 0xfc, 0x5b, 0xd3, 0x0b, 0xe2, 0xd5, 0x17, 0xed, 0xac, 0xd3, 0xab, + 0xe1, 0xf3, 0x89, 0xfe, 0xed, 0xd9, 0xd4, 0xb8, 0x22, 0x64, 0xb7, 0x3d, 0x19, 0xb0, 0x54, 0xed, + 0x7f, 0xa4, 0xa1, 0x18, 0x6e, 0xa8, 0x18, 0x13, 0x4c, 0x7c, 0x47, 0x2b, 0x34, 0xfe, 0xe4, 0xd7, + 0x21, 0x27, 0x6d, 0xa9, 0xd5, 0xb8, 0x64, 0x28, 0x00, 0x7d, 0xb5, 0xe4, 0xcc, 0x2a, 0x07, 0x76, + 0x76, 0xaa, 0xec, 0x91, 0x39, 0x10, 0xbb, 0x66, 0x30, 0xd4, 0x2e, 0x6c, 0x8c, 0x40, 0xfe, 0x13, + 0xf3, 0x0c, 0x75, 0x8e, 0x9e, 0x2b, 0x2f, 0x2e, 0x89, 0xe2, 0x6f, 0x41, 0x16, 0x3b, 0xa8, 0x95, + 0xe6, 0xcf, 0xcc, 0x74, 0x18, 0xd5, 0xe4, 0xd0, 0x17, 0x38, 0x3d, 0x9b, 0x18, 0x81, 0x19, 0x44, + 0xcc, 0x5f, 0x85, 0x35, 0xb5, 0x08, 0x3b, 0x61, 0xfc, 0x50, 0x20, 0xc9, 0x33, 0x58, 0xde, 0xc0, + 0xe1, 0x34, 0xa5, 0xa8, 0x16, 0x97, 0xd0, 0xef, 0x70, 0x70, 0x36, 0xbb, 0xc8, 0x62, 0x28, 0xce, + 0xfa, 0x3b, 0x38, 0xa6, 0xa6, 0x14, 0x38, 0xcd, 0xad, 0xd1, 0x58, 0x5e, 0x28, 0xa5, 0xd9, 0x11, + 0xb2, 0x3f, 0xb4, 0xdd, 0x01, 0x4b, 0xa9, 0x21, 0xc6, 0x49, 0x24, 0x12, 0xdf, 0xf7, 0x7c, 0x96, + 0xa9, 0xd5, 0x20, 0x8b, 0x3a, 0x8a, 0x46, 0xd2, 0x35, 0x47, 0x42, 0x8f, 0x34, 0xfd, 0xae, 0x5d, + 0x83, 0x8d, 0xb9, 0xfd, 0xb8, 0xf6, 0xbb, 0x79, 0xa5, 0x21, 0xc8, 0x41, 0xbe, 0xa0, 0xe6, 0x20, + 0x37, 0xef, 0xa5, 0x6c, 0x0c, 0x4a, 0x99, 0xb6, 0x31, 0x1f, 0x40, 0x0e, 0x3b, 0x16, 0x9a, 0x98, + 0x25, 0xd8, 0xf7, 0x91, 0xdc, 0x50, 0x5c, 0x18, 0xc1, 0xf4, 0x87, 0xa2, 0x7f, 0x2a, 0x2c, 0x6d, + 0xeb, 0x43, 0x10, 0x95, 0xa6, 0x9f, 0x70, 0xcf, 0x15, 0x40, 0x2a, 0xd1, 0xf7, 0xdc, 0xd6, 0xc8, + 0xfb, 0xbe, 0x4d, 0xf3, 0x8a, 0x2a, 0x11, 0x22, 0xc2, 0xa7, 0x6d, 0xd4, 0x11, 0x3d, 0x6d, 0x31, + 0xa2, 0xd6, 0x82, 0x1c, 0xbd, 0x1b, 0x57, 0x82, 0x6a, 0xb3, 0xca, 0x34, 0xbc, 0xba, 0x5c, 0x9b, + 0x75, 0x93, 0x6b, 0xbf, 0x93, 0x86, 0x2c, 0xc2, 0xfc, 0x3e, 0xe4, 0x7c, 0x8c, 0xc3, 0x68, 0x38, + 0x2f, 0x8b, 0xd9, 0x14, 0x09, 0xff, 0xb6, 0x56, 0xc5, 0xf4, 0x12, 0xca, 0x12, 0xbd, 0x31, 0xa9, + 0x96, 0xd7, 0x21, 0x37, 0x36, 0x7d, 0x73, 0xa4, 0xd7, 0x89, 0x02, 0xea, 0x3f, 0x4e, 0x41, 0x16, + 0x89, 0xf8, 0x06, 0x54, 0xba, 0xd2, 0xb7, 0x4f, 0x85, 0x1c, 0xfa, 0xde, 0x64, 0x30, 0x54, 0x9a, + 0xf4, 0x58, 0x5c, 0x28, 0x7b, 0xa3, 0x0c, 0x82, 0x34, 0x1d, 0xbb, 0xcf, 0xd2, 0xa8, 0x55, 0x5b, + 0x9e, 0x63, 0xb1, 0x0c, 0x5f, 0x87, 0xf2, 0x13, 0xd7, 0x12, 0x7e, 0xd0, 0xf7, 0x7c, 0x61, 0xb1, + 0xac, 0x5e, 0xdd, 0xa7, 0x2c, 0x47, 0x7b, 0x99, 0x38, 0x97, 0x14, 0x0b, 0xb1, 0x3c, 0xbf, 0x06, + 0xeb, 0x5b, 0xd3, 0x01, 0x12, 0x2b, 0xa0, 0x4d, 0xda, 0x17, 0x2e, 0x2a, 0x19, 0x2b, 0x2a, 0x25, + 0xf6, 0xbe, 0x6f, 0xb3, 0x12, 0xbe, 0x4c, 0xad, 0x13, 0x06, 0xf5, 0x7f, 0x95, 0x0a, 0x2d, 0x47, + 0x05, 0x4a, 0x87, 0xa6, 0x6f, 0x0e, 0x7c, 0x73, 0x8c, 0xed, 0x2b, 0x43, 0x41, 0x6d, 0x9c, 0x6f, + 0x2a, 0xeb, 0xa6, 0x80, 0x87, 0xca, 0x36, 0x2a, 0xe0, 0x2d, 0x96, 0x89, 0x81, 0xb7, 0x59, 0x16, + 0xdf, 0xf1, 0xdd, 0x89, 0x27, 0x05, 0xcb, 0x91, 0xad, 0xf3, 0x2c, 0xc1, 0xf2, 0x88, 0xec, 0xa1, + 0x45, 0x61, 0x05, 0xec, 0x73, 0x13, 0xf5, 0xe7, 0xd8, 0x3b, 0x67, 0x45, 0x6c, 0x06, 0x0e, 0xa3, + 0xb0, 0x58, 0x09, 0x9f, 0x1c, 0x4c, 0x46, 0xc7, 0x02, 0xbb, 0x09, 0xf8, 0xa4, 0xe7, 0x0d, 0x06, + 0x8e, 0x60, 0x65, 0x1c, 0x83, 0x84, 0xf1, 0x65, 0xab, 0x64, 0x69, 0x4d, 0xc7, 0xf1, 0x26, 0x92, + 0x55, 0x6a, 0xbf, 0xc8, 0x40, 0x16, 0xa3, 0x1b, 0x5c, 0x3b, 0x43, 0xb4, 0x33, 0x7a, 0xed, 0xe0, + 0xef, 0x68, 0x05, 0xa6, 0xe3, 0x15, 0xc8, 0xdf, 0xd7, 0x33, 0x9d, 0x59, 0xc2, 0xca, 0xa2, 0xe0, + 0xe4, 0x24, 0x73, 0xc8, 0x8e, 0xec, 0x91, 0xd0, 0xb6, 0x8e, 0x7e, 0x23, 0x2e, 0xc0, 0xfd, 0x38, + 0x47, 0xc9, 0x13, 0xfa, 0x8d, 0xab, 0xc6, 0xc4, 0x6d, 0xa1, 0x21, 0x69, 0x0d, 0x64, 0x8c, 0x10, + 0x5c, 0x60, 0xbd, 0x4a, 0x0b, 0xad, 0xd7, 0x07, 0xa1, 0xf5, 0x2a, 0x2c, 0xb1, 0xea, 0xa9, 0x99, + 0x49, 0xcb, 0x15, 0x1b, 0x8d, 0xe2, 0xf2, 0xec, 0x89, 0xcd, 0x64, 0x5b, 0x6b, 0x6d, 0xbc, 0xd1, + 0x15, 0xd5, 0x28, 0xb3, 0x14, 0xce, 0x26, 0x2d, 0x57, 0x65, 0xf3, 0x9e, 0xda, 0x96, 0xf0, 0x58, + 0x86, 0x36, 0xc2, 0x89, 0x65, 0x7b, 0x2c, 0x8b, 0x9e, 0xd7, 0xe1, 0xf6, 0x0e, 0xcb, 0xd5, 0x5f, + 0x4d, 0x6c, 0x49, 0x8d, 0x89, 0xf4, 0x94, 0x18, 0x52, 0xdf, 0x94, 0xd2, 0xc6, 0x63, 0x61, 0xb1, + 0x74, 0xfd, 0xeb, 0x0b, 0xcc, 0x6c, 0x05, 0x4a, 0x4f, 0xc6, 0x8e, 0x67, 0x5a, 0x57, 0xd8, 0xd9, + 0x55, 0x80, 0x38, 0xaa, 0xae, 0xfd, 0xa2, 0x1e, 0x6f, 0xe7, 0xe8, 0x8b, 0x06, 0xde, 0xc4, 0xef, + 0x0b, 0x32, 0x21, 0x25, 0x43, 0x43, 0xfc, 0x3b, 0x90, 0xc3, 0xe7, 0x61, 0x1a, 0xe7, 0xfe, 0x52, + 0xb1, 0xdc, 0xe6, 0x53, 0x5b, 0x3c, 0x37, 0x14, 0x23, 0xbf, 0x03, 0x60, 0xf6, 0xa5, 0x7d, 0x26, + 0x10, 0xa9, 0x17, 0x7b, 0x02, 0xc3, 0xdf, 0x49, 0xba, 0x2f, 0x57, 0xe7, 0x21, 0x13, 0x7e, 0x0d, + 0x37, 0xa0, 0x8c, 0x4b, 0x77, 0xdc, 0xf1, 0x71, 0xb5, 0x57, 0x57, 0x89, 0xf1, 0x8d, 0xe5, 0x9a, + 0xf7, 0x28, 0x62, 0x34, 0x92, 0x42, 0xf8, 0x13, 0x58, 0x55, 0x39, 0x35, 0x2d, 0xb4, 0x42, 0x42, + 0xdf, 0x5c, 0x4e, 0x68, 0x27, 0xe6, 0x34, 0xa6, 0xc4, 0xcc, 0xa7, 0x25, 0x73, 0x2f, 0x9d, 0x96, + 0x7c, 0x15, 0xd6, 0x7a, 0xd3, 0xab, 0x40, 0x6d, 0x15, 0x33, 0x58, 0x5e, 0x87, 0x55, 0x3b, 0x88, + 0xb3, 0xa2, 0x94, 0x23, 0x29, 0x1a, 0x53, 0xb8, 0xda, 0x7f, 0xcc, 0x43, 0x96, 0x46, 0x7e, 0x36, + 0xc7, 0xd5, 0x9c, 0x32, 0xe9, 0x0f, 0x96, 0x9f, 0xea, 0x99, 0x15, 0x4f, 0x16, 0x24, 0x93, 0xb0, + 0x20, 0xdf, 0x81, 0x5c, 0xe0, 0xf9, 0x32, 0x9c, 0xde, 0x25, 0x95, 0xa8, 0xeb, 0xf9, 0xd2, 0x50, + 0x8c, 0x7c, 0x07, 0x0a, 0x27, 0xb6, 0x23, 0x71, 0x52, 0xd4, 0xe0, 0xbd, 0xbe, 0x9c, 0x8c, 0x1d, + 0x62, 0x32, 0x42, 0x66, 0xbe, 0x97, 0x54, 0xb6, 0x3c, 0x49, 0xda, 0x5c, 0x4e, 0xd2, 0x22, 0x1d, + 0xbc, 0x0f, 0xac, 0xef, 0x9d, 0x09, 0xdf, 0x48, 0x24, 0x26, 0xd5, 0x26, 0x3d, 0x87, 0xe7, 0x35, + 0x28, 0x0e, 0x6d, 0x4b, 0xa0, 0x9f, 0x43, 0x36, 0xa6, 0x68, 0x44, 0x30, 0x7f, 0x0c, 0x45, 0x8a, + 0x0f, 0xd0, 0x2a, 0x96, 0x5e, 0x7a, 0xf0, 0x55, 0xa8, 0x12, 0x0a, 0xc0, 0x17, 0xd1, 0xcb, 0x77, + 0x6c, 0x49, 0xf9, 0xe9, 0xa2, 0x11, 0xc1, 0xd8, 0x60, 0xd2, 0xf7, 0x64, 0x83, 0xcb, 0xaa, 0xc1, + 0xb3, 0x78, 0xfe, 0x36, 0xdc, 0x20, 0xdc, 0xcc, 0x26, 0x89, 0x4b, 0x0d, 0x85, 0x2e, 0x7e, 0x88, + 0x0e, 0xcb, 0xd8, 0x1c, 0x88, 0x3d, 0x7b, 0x64, 0xcb, 0x6a, 0xe5, 0x6e, 0xea, 0x5e, 0xce, 0x88, + 0x11, 0xfc, 0x75, 0xd8, 0xb0, 0xc4, 0x89, 0x39, 0x71, 0x64, 0x4f, 0x8c, 0xc6, 0x8e, 0x29, 0x45, + 0xdb, 0x22, 0x1d, 0x2d, 0x19, 0xf3, 0x0f, 0xf8, 0x1b, 0x70, 0x4d, 0x23, 0x3b, 0xd1, 0xa9, 0x42, + 0xdb, 0xa2, 0xf4, 0x5d, 0xc9, 0x58, 0xf4, 0xa8, 0xbe, 0xaf, 0xcd, 0x30, 0x6e, 0xa0, 0x18, 0xa7, + 0x86, 0x06, 0x34, 0x90, 0x6a, 0x47, 0x7e, 0x64, 0x3a, 0x8e, 0xf0, 0x2f, 0x54, 0x90, 0xfb, 0xd8, + 0x74, 0x8f, 0x4d, 0x97, 0x65, 0x68, 0x8f, 0x35, 0x1d, 0xe1, 0x5a, 0xa6, 0xaf, 0x76, 0xe4, 0x47, + 0xb4, 0xa1, 0xe7, 0xea, 0xf7, 0x20, 0x4b, 0x43, 0x5a, 0x82, 0x9c, 0x8a, 0x92, 0x28, 0x62, 0xd6, + 0x11, 0x12, 0x59, 0xe4, 0x3d, 0x5c, 0x7e, 0x2c, 0x5d, 0xfb, 0x87, 0x79, 0x28, 0x86, 0x83, 0x17, + 0x9e, 0x21, 0xa4, 0xe2, 0x33, 0x04, 0x74, 0xe3, 0x82, 0xa7, 0x76, 0x60, 0x1f, 0x6b, 0xb7, 0xb4, + 0x68, 0xc4, 0x08, 0xf4, 0x84, 0x9e, 0xdb, 0x96, 0x1c, 0xd2, 0x9a, 0xc9, 0x19, 0x0a, 0xe0, 0xf7, + 0x60, 0xdd, 0xc2, 0x71, 0x70, 0xfb, 0xce, 0xc4, 0x12, 0x3d, 0xdc, 0x45, 0x55, 0x9a, 0x60, 0x16, + 0xcd, 0x3f, 0x06, 0x90, 0xf6, 0x48, 0xec, 0x78, 0xfe, 0xc8, 0x94, 0x3a, 0x36, 0xf8, 0xc6, 0xcb, + 0x69, 0xf5, 0x66, 0x2f, 0x12, 0x60, 0x24, 0x84, 0xa1, 0x68, 0x7c, 0x9b, 0x16, 0x5d, 0xf8, 0x4c, + 0xa2, 0xb7, 0x23, 0x01, 0x46, 0x42, 0x18, 0xef, 0x41, 0xe1, 0xc4, 0xf3, 0x47, 0x13, 0xc7, 0xd4, + 0x7b, 0xee, 0xfb, 0x2f, 0x29, 0x77, 0x47, 0x71, 0x93, 0xed, 0x09, 0x45, 0xc5, 0x39, 0xee, 0xd2, + 0x92, 0x39, 0xee, 0xfa, 0x2f, 0x01, 0xc4, 0x2d, 0xe4, 0x37, 0x81, 0xef, 0x7b, 0xae, 0x1c, 0x36, + 0x8e, 0x8f, 0xfd, 0x2d, 0x71, 0xe2, 0xf9, 0x62, 0xdb, 0xc4, 0xed, 0xf5, 0x06, 0x6c, 0x44, 0xf8, + 0xc6, 0x89, 0x14, 0x3e, 0xa2, 0x49, 0x05, 0xba, 0x43, 0xcf, 0x97, 0xca, 0xc7, 0xa3, 0x9f, 0x4f, + 0xba, 0x2c, 0x83, 0x5b, 0x7a, 0xbb, 0xdb, 0x61, 0xd9, 0xfa, 0x3d, 0x80, 0x78, 0x68, 0x29, 0x16, + 0xa2, 0x5f, 0x6f, 0x3e, 0xd4, 0x91, 0x11, 0x41, 0x0f, 0xdf, 0x66, 0xa9, 0xfa, 0xa7, 0x29, 0x28, + 0x27, 0xba, 0x34, 0x1d, 0x33, 0x37, 0xbd, 0x89, 0x2b, 0x55, 0x90, 0x4e, 0x3f, 0x9f, 0x9a, 0xce, + 0x04, 0x37, 0xf7, 0x0d, 0xa8, 0x10, 0xbc, 0x6d, 0x07, 0xd2, 0x76, 0xfb, 0x92, 0x65, 0x22, 0x12, + 0xe5, 0x18, 0x64, 0x23, 0x92, 0x03, 0x4f, 0xa3, 0x72, 0x9c, 0xc1, 0xea, 0xa1, 0xf0, 0xfb, 0x22, + 0x24, 0x22, 0x67, 0x58, 0x63, 0x22, 0x32, 0xe5, 0x0c, 0x9b, 0x72, 0xd8, 0x9d, 0x8c, 0x58, 0x11, + 0x9d, 0x4a, 0x04, 0x1a, 0x67, 0xc2, 0x47, 0x5f, 0xa6, 0x84, 0xef, 0x41, 0x04, 0xae, 0x06, 0xd3, + 0x65, 0x10, 0x52, 0xef, 0xdb, 0x2e, 0x2b, 0x47, 0x80, 0x79, 0xce, 0x56, 0xb1, 0xfd, 0x14, 0x3a, + 0xb0, 0x4a, 0xed, 0xbf, 0x67, 0x20, 0x8b, 0x76, 0x1d, 0x63, 0xdd, 0xa4, 0x11, 0x52, 0x6b, 0x25, + 0x89, 0xfa, 0x6c, 0xbb, 0x11, 0xca, 0x4e, 0xee, 0x46, 0xef, 0x41, 0xb9, 0x3f, 0x09, 0xa4, 0x37, + 0xa2, 0xad, 0x58, 0x9f, 0x76, 0xdd, 0x9c, 0xcb, 0x1a, 0xd1, 0x70, 0x1a, 0x49, 0x52, 0xfe, 0x0e, + 0xe4, 0x4f, 0x94, 0xd6, 0xab, 0xbc, 0xd1, 0x17, 0x2e, 0xd9, 0xad, 0xb5, 0x66, 0x6b, 0x62, 0xec, + 0x97, 0x3d, 0xb7, 0x62, 0x93, 0x28, 0xbd, 0xeb, 0xe6, 0xa3, 0x5d, 0xf7, 0x97, 0x60, 0x4d, 0xe0, + 0x80, 0x1f, 0x3a, 0x66, 0x5f, 0x8c, 0x84, 0x1b, 0x2e, 0xb3, 0xb7, 0x5f, 0xa2, 0xc7, 0x34, 0x63, + 0xd4, 0xed, 0x19, 0x59, 0x68, 0x79, 0x5c, 0x0f, 0x37, 0xff, 0x30, 0xb0, 0x2f, 0x1a, 0x31, 0xa2, + 0xfe, 0x65, 0x6d, 0x2f, 0x0b, 0x90, 0x69, 0x04, 0x7d, 0x9d, 0x01, 0x11, 0x41, 0x5f, 0x85, 0x57, + 0x4d, 0x1a, 0x0e, 0x96, 0xae, 0xbf, 0x09, 0xa5, 0xe8, 0x0d, 0xa8, 0x3c, 0x07, 0x9e, 0xec, 0x8e, + 0x45, 0xdf, 0x3e, 0xb1, 0x85, 0xa5, 0xf4, 0xb3, 0x2b, 0x4d, 0x5f, 0xaa, 0x24, 0x62, 0xcb, 0xb5, + 0x58, 0xba, 0xf6, 0xdb, 0x45, 0xc8, 0xab, 0xcd, 0x57, 0x77, 0xb8, 0x14, 0x75, 0xf8, 0xbb, 0x50, + 0xf4, 0xc6, 0xc2, 0x37, 0xa5, 0xe7, 0xeb, 0xcc, 0xcd, 0x3b, 0x2f, 0xb3, 0x99, 0x6f, 0x76, 0x34, + 0xb3, 0x11, 0x89, 0x99, 0xd5, 0xa6, 0xf4, 0xbc, 0x36, 0xdd, 0x07, 0x16, 0xee, 0xdb, 0x87, 0x3e, + 0xf2, 0xc9, 0x0b, 0x1d, 0x87, 0xcf, 0xe1, 0x79, 0x0f, 0x4a, 0x7d, 0xcf, 0xb5, 0xec, 0x28, 0x8b, + 0xb3, 0xf6, 0xf0, 0xeb, 0x2f, 0xd5, 0xc2, 0x66, 0xc8, 0x6d, 0xc4, 0x82, 0xf8, 0xeb, 0x90, 0x3b, + 0x43, 0x35, 0x23, 0x7d, 0xba, 0x5c, 0x09, 0x15, 0x11, 0xff, 0x04, 0xca, 0x3f, 0x98, 0xd8, 0xfd, + 0xd3, 0x4e, 0x32, 0x4b, 0xf8, 0xde, 0x4b, 0xb5, 0xe2, 0xbb, 0x31, 0xbf, 0x91, 0x14, 0x96, 0x50, + 0xed, 0xc2, 0x1f, 0x41, 0xb5, 0x8b, 0xf3, 0xaa, 0x6d, 0x40, 0xc5, 0x15, 0x81, 0x14, 0xd6, 0x8e, + 0xf6, 0xd5, 0xe0, 0x33, 0xf8, 0x6a, 0xd3, 0x22, 0xea, 0x5f, 0x82, 0x62, 0x38, 0xe1, 0x3c, 0x0f, + 0xe9, 0x03, 0x0c, 0x8a, 0xf2, 0x90, 0xee, 0xf8, 0x4a, 0xdb, 0x1a, 0xa8, 0x6d, 0xf5, 0x3f, 0x48, + 0x41, 0x29, 0x1a, 0xf4, 0x69, 0xcb, 0xd9, 0xfa, 0xc1, 0xc4, 0x74, 0x58, 0x8a, 0xc2, 0x65, 0x4f, + 0x2a, 0x88, 0x8c, 0xf5, 0x23, 0x3a, 0xac, 0xf7, 0x59, 0x86, 0x5c, 0x04, 0x11, 0x04, 0x2c, 0xcb, + 0x39, 0xac, 0x69, 0x74, 0xc7, 0x57, 0xa4, 0x39, 0x34, 0x7c, 0xf8, 0x34, 0x44, 0xe4, 0x95, 0x47, + 0x71, 0x2a, 0x94, 0x81, 0x3c, 0xf0, 0x24, 0x01, 0x45, 0x6c, 0x54, 0xdb, 0x65, 0x25, 0x7c, 0xe7, + 0x81, 0x27, 0xdb, 0x68, 0x12, 0xa3, 0xf0, 0xac, 0x1c, 0xbe, 0x9e, 0x20, 0xb2, 0x88, 0x0d, 0xc7, + 0x69, 0xbb, 0xac, 0xa2, 0x1f, 0x28, 0x68, 0x0d, 0x25, 0xb6, 0xce, 0xcd, 0x3e, 0xb2, 0xaf, 0xa3, + 0x85, 0x45, 0x1e, 0x0d, 0x33, 0x5c, 0x92, 0xad, 0x73, 0x3b, 0x90, 0x01, 0xdb, 0xa8, 0xff, 0x87, + 0x14, 0x94, 0x13, 0x13, 0x8c, 0xe1, 0x1f, 0x11, 0xe2, 0x56, 0xa6, 0xa2, 0xc1, 0x8f, 0x71, 0x18, + 0x7d, 0x2b, 0xdc, 0xa6, 0x7a, 0x1e, 0xfe, 0x4c, 0xe3, 0xfb, 0x7a, 0xde, 0xc8, 0xf3, 0x7d, 0xef, + 0xb9, 0x72, 0x7d, 0xf6, 0xcc, 0x40, 0x3e, 0x13, 0xe2, 0x94, 0x65, 0xb1, 0xab, 0xcd, 0x89, 0xef, + 0x0b, 0x57, 0x21, 0x72, 0xd4, 0x38, 0x71, 0xae, 0xa0, 0x3c, 0x0a, 0x45, 0x62, 0xda, 0x07, 0x59, + 0x01, 0x0d, 0x81, 0xa6, 0x56, 0x98, 0x22, 0x12, 0x20, 0xb9, 0x02, 0x4b, 0xb8, 0xa9, 0xa8, 0x0c, + 0x45, 0xe7, 0x64, 0xdb, 0xbc, 0x08, 0x1a, 0x03, 0x8f, 0xc1, 0x2c, 0xf2, 0xc0, 0x7b, 0xce, 0xca, + 0xb5, 0x09, 0x40, 0x1c, 0x93, 0x61, 0x2c, 0x8a, 0x0a, 0x11, 0x9d, 0x21, 0x68, 0x88, 0x77, 0x00, + 0xf0, 0x17, 0x51, 0x86, 0x01, 0xe9, 0x4b, 0x38, 0xca, 0xc4, 0x67, 0x24, 0x44, 0xd4, 0xfe, 0x02, + 0x94, 0xa2, 0x07, 0xbc, 0x0a, 0x05, 0x72, 0x69, 0xa3, 0xd7, 0x86, 0x20, 0xfa, 0x67, 0xb6, 0x6b, + 0x89, 0x73, 0xb2, 0x2b, 0x39, 0x43, 0x01, 0xd8, 0xca, 0xa1, 0x6d, 0x59, 0xc2, 0x0d, 0x4f, 0x7a, + 0x14, 0xb4, 0xe8, 0x3c, 0x3e, 0xbb, 0xf0, 0x3c, 0xbe, 0xf6, 0xcb, 0x50, 0x4e, 0x04, 0x8d, 0x97, + 0x76, 0x3b, 0xd1, 0xb0, 0xf4, 0x74, 0xc3, 0x6e, 0x43, 0x29, 0xac, 0x01, 0x09, 0x68, 0x6f, 0x2b, + 0x19, 0x31, 0xa2, 0xf6, 0xcf, 0xd2, 0xe8, 0xc9, 0x62, 0xd7, 0x66, 0x03, 0xbd, 0x1d, 0xc8, 0x07, + 0xd2, 0x94, 0x93, 0xb0, 0x98, 0x61, 0xc9, 0x05, 0xda, 0x25, 0x9e, 0xdd, 0x15, 0x43, 0x73, 0xf3, + 0x0f, 0x20, 0x23, 0xcd, 0x81, 0x4e, 0x94, 0x7e, 0x65, 0x39, 0x21, 0x3d, 0x73, 0xb0, 0xbb, 0x62, + 0x20, 0x1f, 0xdf, 0x83, 0x62, 0x5f, 0xe7, 0xb6, 0xb4, 0x51, 0x5c, 0x32, 0x16, 0x0b, 0x33, 0x62, + 0xbb, 0x2b, 0x46, 0x24, 0x81, 0x7f, 0x07, 0xb2, 0xe8, 0x5d, 0xea, 0x9a, 0x8f, 0x25, 0x63, 0x4c, + 0x5c, 0x2e, 0xbb, 0x2b, 0x06, 0x71, 0x6e, 0x15, 0x20, 0x47, 0x36, 0xb8, 0x56, 0x85, 0xbc, 0xea, + 0xeb, 0xec, 0xc8, 0xd5, 0x6e, 0x41, 0xa6, 0x67, 0x0e, 0xd0, 0xc3, 0xb7, 0xad, 0x40, 0xa7, 0x4a, + 0xf0, 0x67, 0xed, 0x95, 0x38, 0x4f, 0x97, 0x4c, 0x01, 0xa7, 0xa6, 0x52, 0xc0, 0xb5, 0x3c, 0x64, + 0xf1, 0x8d, 0xb5, 0xdb, 0x57, 0x45, 0x0b, 0xb5, 0x7f, 0x9c, 0xc1, 0xc0, 0x42, 0x8a, 0xf3, 0x85, + 0xe9, 0xed, 0x8f, 0xa0, 0x34, 0xf6, 0xbd, 0xbe, 0x08, 0x02, 0xcf, 0xd7, 0xce, 0xd1, 0xeb, 0x2f, + 0x3e, 0x7a, 0xde, 0x3c, 0x0c, 0x79, 0x8c, 0x98, 0xbd, 0xfe, 0xaf, 0xd3, 0x50, 0x8a, 0x1e, 0xa8, + 0x78, 0x46, 0x8a, 0x73, 0x95, 0xca, 0xdc, 0x17, 0xfe, 0xc8, 0xb4, 0x2d, 0x65, 0x3d, 0x9a, 0x43, + 0x33, 0x74, 0x72, 0x3f, 0xf6, 0x26, 0x72, 0x72, 0x2c, 0x54, 0x0a, 0xeb, 0xa9, 0x3d, 0x12, 0x1e, + 0xcb, 0xd2, 0xe1, 0x11, 0x2a, 0x76, 0xdf, 0xf1, 0x26, 0x16, 0xcb, 0x21, 0xfc, 0x88, 0xb6, 0xb7, + 0x7d, 0x73, 0x1c, 0x28, 0x9b, 0xb9, 0x6f, 0xfb, 0x1e, 0x2b, 0x20, 0xd3, 0x8e, 0x3d, 0x18, 0x99, + 0xac, 0x88, 0xc2, 0x7a, 0xcf, 0x6d, 0x89, 0x46, 0xb8, 0x84, 0x6e, 0x6a, 0x67, 0x2c, 0xdc, 0xae, + 0xf4, 0x85, 0x90, 0xfb, 0xe6, 0x58, 0xe5, 0x34, 0x0d, 0x61, 0x59, 0xb6, 0x54, 0xf6, 0x73, 0xc7, + 0xec, 0x8b, 0x63, 0xcf, 0x3b, 0x65, 0xab, 0x68, 0x68, 0xda, 0x6e, 0x20, 0xcd, 0x81, 0x6f, 0x8e, + 0x94, 0x0d, 0xed, 0x09, 0x47, 0x10, 0xb4, 0x46, 0xef, 0xb6, 0xe5, 0x70, 0x72, 0xfc, 0x08, 0xe3, + 0xbe, 0x75, 0x75, 0xce, 0x64, 0x89, 0xb1, 0x40, 0x1b, 0xba, 0x0a, 0xc5, 0x2d, 0xdb, 0xb1, 0x8f, + 0x6d, 0xc7, 0x66, 0x1b, 0x48, 0xda, 0x3a, 0xef, 0x9b, 0x8e, 0x6d, 0xf9, 0xe6, 0x73, 0xc6, 0xb1, + 0x71, 0x8f, 0x7d, 0xef, 0xd4, 0x66, 0xd7, 0x90, 0x90, 0xc2, 0xc0, 0x33, 0xfb, 0x87, 0xec, 0x3a, + 0x9d, 0x95, 0x9d, 0x0a, 0xd9, 0x1f, 0x9e, 0x98, 0xc7, 0xec, 0x46, 0x9c, 0xd2, 0xbb, 0x59, 0xdb, + 0x80, 0xf5, 0x99, 0x53, 0xf9, 0x5a, 0x41, 0x47, 0x9f, 0xb5, 0x0a, 0x94, 0x13, 0xc7, 0xa5, 0xb5, + 0x57, 0xa1, 0x18, 0x1e, 0xa6, 0x62, 0x94, 0x6e, 0x07, 0x2a, 0x0d, 0xac, 0x95, 0x24, 0x82, 0x6b, + 0xbf, 0x97, 0x82, 0xbc, 0x3a, 0xc9, 0xe6, 0x5b, 0x51, 0xe5, 0x49, 0x6a, 0x89, 0xd3, 0x4b, 0xc5, + 0xa4, 0xcf, 0x7e, 0xa3, 0xf2, 0x93, 0xeb, 0x90, 0x73, 0x28, 0x1c, 0xd7, 0xe6, 0x8b, 0x80, 0x84, + 0xb5, 0xc9, 0x24, 0xad, 0x4d, 0xbd, 0x11, 0x9d, 0x37, 0x87, 0xa9, 0x47, 0xf2, 0x0a, 0x7b, 0xbe, + 0x10, 0x2a, 0xad, 0x48, 0xd1, 0x74, 0x9a, 0xf6, 0x0a, 0x6f, 0x34, 0x36, 0xfb, 0x92, 0x10, 0xb4, + 0x8b, 0xa2, 0x31, 0x65, 0x59, 0xd4, 0xf2, 0xe6, 0xd0, 0x94, 0xf5, 0x13, 0x28, 0x1e, 0x7a, 0xc1, + 0xec, 0x9e, 0x5c, 0x80, 0x4c, 0xcf, 0x1b, 0x2b, 0x0f, 0x73, 0xcb, 0x93, 0xe4, 0x61, 0xaa, 0x2d, + 0xf8, 0x44, 0x2a, 0xa5, 0x32, 0xec, 0xc1, 0x50, 0xaa, 0x48, 0xbc, 0xed, 0xba, 0xc2, 0x67, 0x39, + 0x9c, 0x43, 0x43, 0x8c, 0xd1, 0xab, 0x65, 0x79, 0x9c, 0x35, 0xc2, 0xef, 0xd8, 0x7e, 0x20, 0x59, + 0xa1, 0xde, 0xc6, 0xdd, 0xd4, 0x1e, 0xd0, 0x26, 0x48, 0x3f, 0x48, 0xd4, 0x0a, 0x36, 0x91, 0xc0, + 0xa6, 0x70, 0x51, 0xc7, 0x28, 0x7a, 0x52, 0xa1, 0x1f, 0xbd, 0x20, 0x8d, 0x3b, 0x18, 0xc1, 0x1f, + 0x4d, 0x02, 0x69, 0x9f, 0x5c, 0xb0, 0x4c, 0xfd, 0x19, 0x54, 0xa6, 0xca, 0x98, 0xf8, 0x75, 0x60, + 0x53, 0x08, 0x6c, 0xfa, 0x0a, 0xbf, 0x05, 0xd7, 0xa6, 0xb0, 0xfb, 0xb6, 0x65, 0x51, 0xae, 0x77, + 0xf6, 0x41, 0xd8, 0xc1, 0xad, 0x12, 0x14, 0xfa, 0x6a, 0x96, 0xea, 0x87, 0x50, 0xa1, 0x69, 0xdb, + 0x17, 0xd2, 0xec, 0xb8, 0xce, 0xc5, 0x1f, 0xb9, 0xd6, 0xac, 0xfe, 0x55, 0x1d, 0x60, 0xa1, 0xbd, + 0x38, 0xf1, 0xbd, 0x11, 0xc9, 0xca, 0x19, 0xf4, 0x1b, 0xa5, 0x4b, 0x4f, 0xcf, 0x7d, 0x5a, 0x7a, + 0xf5, 0x5f, 0x94, 0xa0, 0xd0, 0xe8, 0xf7, 0x31, 0x24, 0x9c, 0x7b, 0xf3, 0x3b, 0x90, 0xef, 0x7b, + 0xee, 0x89, 0x3d, 0xd0, 0xf6, 0x78, 0xd6, 0x33, 0xd4, 0x7c, 0xa8, 0x70, 0x27, 0xf6, 0xc0, 0xd0, + 0xc4, 0xc8, 0xa6, 0xf7, 0x93, 0xdc, 0x95, 0x6c, 0xca, 0xa8, 0x46, 0xdb, 0xc7, 0x03, 0xc8, 0xda, + 0xee, 0x89, 0xa7, 0x0b, 0x43, 0x3f, 0x7f, 0x09, 0x13, 0x55, 0x47, 0x12, 0x61, 0xed, 0xbf, 0xa6, + 0x20, 0xaf, 0x5e, 0xcd, 0x5f, 0x85, 0x35, 0xe1, 0xe2, 0x62, 0x0a, 0x4d, 0xb9, 0x5e, 0x45, 0x33, + 0x58, 0x74, 0x5a, 0x35, 0x46, 0x1c, 0x4f, 0x06, 0x3a, 0xf7, 0x92, 0x44, 0xf1, 0xf7, 0xe0, 0x96, + 0x02, 0x0f, 0x7d, 0xe1, 0x0b, 0x47, 0x98, 0x81, 0x68, 0x0e, 0x4d, 0xd7, 0x15, 0x8e, 0xde, 0xd8, + 0x2f, 0x7b, 0xcc, 0xeb, 0xb0, 0xaa, 0x1e, 0x75, 0xc7, 0x66, 0x5f, 0x04, 0xfa, 0xbc, 0x6f, 0x0a, + 0xc7, 0xbf, 0x06, 0x39, 0xaa, 0x9b, 0xad, 0x5a, 0x57, 0x4f, 0xa5, 0xa2, 0xaa, 0x79, 0xd1, 0xce, + 0xd3, 0x00, 0x50, 0xc3, 0x84, 0x41, 0x97, 0x5e, 0xfd, 0x5f, 0xbc, 0x72, 0x5c, 0x29, 0xfe, 0x4b, + 0x30, 0x61, 0xfb, 0x2c, 0xe1, 0x08, 0x2a, 0x70, 0xc4, 0x9d, 0x31, 0x4d, 0x27, 0x2b, 0x53, 0xb8, + 0xda, 0x7f, 0xc9, 0x42, 0x16, 0x47, 0x18, 0x89, 0x87, 0xde, 0x48, 0x44, 0xf9, 0x65, 0xe5, 0x6a, + 0x4c, 0xe1, 0xd0, 0xb5, 0x31, 0xd5, 0x11, 0x7f, 0x44, 0xa6, 0x8c, 0xc7, 0x2c, 0x1a, 0x29, 0xc7, + 0xbe, 0x77, 0x62, 0x3b, 0x31, 0xa5, 0x76, 0x82, 0x66, 0xd0, 0xfc, 0xeb, 0x70, 0x73, 0x64, 0xfa, + 0xa7, 0x42, 0xd2, 0xea, 0x7e, 0xe6, 0xf9, 0xa7, 0x01, 0x8e, 0x5c, 0xdb, 0xd2, 0x89, 0xc9, 0x4b, + 0x9e, 0xf2, 0xd7, 0x61, 0xe3, 0x79, 0x08, 0x46, 0xef, 0x50, 0xa9, 0xc1, 0xf9, 0x07, 0x68, 0x6e, + 0x2d, 0x71, 0x66, 0x93, 0xdc, 0xa2, 0xaa, 0x9e, 0x0d, 0x61, 0x54, 0x25, 0x53, 0x0d, 0x64, 0x57, + 0xbf, 0x59, 0x9f, 0x30, 0x4d, 0x63, 0xd1, 0xdb, 0x52, 0x55, 0x45, 0x41, 0xdb, 0xa2, 0xcc, 0x6a, + 0xc9, 0x88, 0x11, 0xa8, 0x68, 0xf4, 0xca, 0xa7, 0xca, 0xa8, 0x56, 0x54, 0x08, 0x9a, 0x40, 0x21, + 0x85, 0x14, 0xfd, 0x61, 0xf8, 0x12, 0x95, 0xf6, 0x4c, 0xa2, 0xf8, 0x1d, 0x80, 0x81, 0x29, 0xc5, + 0x73, 0xf3, 0xe2, 0x89, 0xef, 0x54, 0x85, 0x3a, 0x2a, 0x89, 0x31, 0x18, 0xc4, 0x3a, 0x5e, 0xdf, + 0x74, 0xba, 0xd2, 0xf3, 0xcd, 0x81, 0x38, 0x34, 0xe5, 0xb0, 0x3a, 0x50, 0x41, 0xec, 0x2c, 0x1e, + 0x7b, 0x2c, 0xed, 0x91, 0xf8, 0xc4, 0x73, 0x45, 0x75, 0xa8, 0x7a, 0x1c, 0xc2, 0xd8, 0x12, 0xd3, + 0x35, 0x9d, 0x0b, 0x69, 0xf7, 0xb1, 0x2f, 0xb6, 0x6a, 0x49, 0x02, 0x45, 0x69, 0x03, 0x21, 0x71, + 0x1c, 0xdb, 0x56, 0xf5, 0xfb, 0xaa, 0xaf, 0x11, 0x02, 0x67, 0x57, 0xc8, 0xa1, 0xf0, 0xc5, 0x64, + 0xd4, 0xb0, 0x2c, 0x5f, 0x04, 0x41, 0xf5, 0x54, 0xcd, 0xee, 0x0c, 0xba, 0xf6, 0x4d, 0x3a, 0xc8, + 0x1a, 0xd6, 0xdf, 0x82, 0xca, 0x1e, 0xb6, 0xb0, 0x31, 0xb6, 0xbb, 0x7d, 0x6f, 0x2c, 0xd0, 0xa0, + 0x53, 0x4a, 0x98, 0x12, 0x08, 0x65, 0x28, 0x7c, 0x14, 0x78, 0x6e, 0xe3, 0xb0, 0xad, 0xb6, 0x98, + 0x9d, 0x89, 0xe3, 0xb0, 0x74, 0xbd, 0x03, 0x10, 0x6b, 0x36, 0x6e, 0x17, 0x0d, 0x3a, 0x35, 0x62, + 0x2b, 0x2a, 0x5d, 0xe5, 0x5a, 0xb6, 0x3b, 0xd8, 0xd6, 0xca, 0xcc, 0x52, 0x88, 0xa4, 0x34, 0x84, + 0xb0, 0x22, 0x24, 0x39, 0x2c, 0x04, 0x09, 0x8b, 0x65, 0xea, 0xff, 0x37, 0x05, 0xe5, 0x44, 0x91, + 0xc4, 0x1f, 0x63, 0x61, 0x07, 0x6e, 0xe7, 0xe8, 0x10, 0xe0, 0xbc, 0x29, 0x45, 0x8f, 0x60, 0x9c, + 0x55, 0x5d, 0xc3, 0x81, 0x4f, 0x55, 0xd2, 0x21, 0x81, 0xf9, 0x4c, 0x45, 0x1d, 0xf5, 0x87, 0x3a, + 0x73, 0x53, 0x86, 0xc2, 0x13, 0xf7, 0xd4, 0xf5, 0x9e, 0xbb, 0x6a, 0x9f, 0xa6, 0x4a, 0x9d, 0xa9, + 0x33, 0xc7, 0xb0, 0x98, 0x26, 0x53, 0xff, 0x97, 0xd9, 0x99, 0xa2, 0xb6, 0x16, 0xe4, 0x55, 0xb8, + 0x40, 0x9e, 0xec, 0x7c, 0x15, 0x52, 0x92, 0x58, 0x9f, 0x6f, 0x25, 0x50, 0x86, 0x66, 0x46, 0x3f, + 0x3e, 0x2a, 0xf9, 0x4c, 0x2f, 0x3c, 0x87, 0x9b, 0x12, 0x14, 0xda, 0xe6, 0xa9, 0xaa, 0xe7, 0x48, + 0x42, 0xed, 0xaf, 0xa5, 0xe0, 0xfa, 0x22, 0x92, 0x64, 0x6d, 0x78, 0x6a, 0xba, 0x36, 0xbc, 0x3b, + 0x53, 0x6b, 0x9d, 0xa6, 0xde, 0x3c, 0x78, 0xc9, 0x46, 0x4c, 0x57, 0x5e, 0xd7, 0x7f, 0x37, 0x05, + 0x1b, 0x73, 0x7d, 0x4e, 0xf8, 0x31, 0x00, 0x79, 0xa5, 0x59, 0xaa, 0x14, 0x2a, 0x2a, 0x4e, 0x51, + 0x87, 0x0b, 0xb4, 0xc3, 0x07, 0xea, 0xb4, 0x5f, 0x57, 0x97, 0x2b, 0x37, 0x19, 0x67, 0x0d, 0x37, + 0x90, 0x81, 0x50, 0x89, 0x58, 0xe5, 0x6c, 0x69, 0x4c, 0x5e, 0xb9, 0xb2, 0xea, 0x04, 0x84, 0x15, + 0xa8, 0xc4, 0x6a, 0x32, 0x76, 0xec, 0x3e, 0x82, 0x45, 0x5e, 0x83, 0x9b, 0xea, 0x8a, 0x81, 0x0e, + 0x1b, 0x4f, 0x7a, 0x43, 0x9b, 0x16, 0x07, 0x2b, 0xe1, 0x7b, 0x0e, 0x27, 0xc7, 0x8e, 0x1d, 0x0c, + 0x19, 0xd4, 0x0d, 0xb8, 0xb6, 0xa0, 0x83, 0xd4, 0xe4, 0xa7, 0xba, 0xf9, 0x6b, 0x00, 0xdb, 0x4f, + 0xc3, 0x46, 0xb3, 0x14, 0xe7, 0xb0, 0xb6, 0xfd, 0x34, 0x29, 0x5d, 0x2f, 0x9e, 0xa7, 0x68, 0xbd, + 0x02, 0x96, 0xa9, 0xff, 0x6a, 0x2a, 0xac, 0x81, 0xa8, 0xfd, 0x79, 0xa8, 0xa8, 0x06, 0x1f, 0x9a, + 0x17, 0x8e, 0x67, 0x5a, 0xbc, 0x05, 0x6b, 0x41, 0x74, 0x09, 0x26, 0xb1, 0x61, 0xcd, 0x3a, 0x02, + 0xdd, 0x29, 0x22, 0x63, 0x86, 0x29, 0x0c, 0x85, 0xd2, 0xf1, 0xc1, 0x09, 0xa7, 0xa0, 0xce, 0xa4, + 0x25, 0xb7, 0x4a, 0x61, 0x9a, 0x59, 0xff, 0x1a, 0x6c, 0x74, 0x63, 0xe3, 0xae, 0x7c, 0x66, 0x54, + 0x0e, 0xb5, 0x33, 0x6c, 0x87, 0xca, 0xa1, 0xc1, 0xfa, 0xdf, 0x28, 0x00, 0xc4, 0x87, 0x44, 0x0b, + 0xd6, 0xfc, 0xa2, 0x9a, 0x87, 0xb9, 0x23, 0xdb, 0xcc, 0x4b, 0x1f, 0xd9, 0xbe, 0x17, 0xb9, 0xee, + 0x2a, 0x81, 0x3c, 0x5b, 0xf8, 0x1d, 0xb7, 0x69, 0xd6, 0x61, 0x9f, 0x2a, 0x09, 0xca, 0xcd, 0x96, + 0x04, 0xdd, 0x9d, 0xaf, 0x1f, 0x9c, 0x31, 0x46, 0x71, 0x66, 0xa2, 0x30, 0x95, 0x99, 0xa8, 0x41, + 0xd1, 0x17, 0xa6, 0xe5, 0xb9, 0xce, 0x45, 0x78, 0x32, 0x18, 0xc2, 0xfc, 0x2d, 0xc8, 0x49, 0xba, + 0xc7, 0x53, 0xa4, 0xb5, 0xf3, 0x82, 0x89, 0x53, 0xb4, 0x68, 0xd9, 0xec, 0x40, 0x17, 0xfd, 0xa9, + 0x5d, 0xb3, 0x68, 0x24, 0x30, 0x7c, 0x13, 0xb8, 0x8d, 0x61, 0x9a, 0xe3, 0x08, 0x6b, 0xeb, 0x62, + 0x5b, 0x1d, 0xd8, 0xd1, 0xbe, 0x5e, 0x34, 0x16, 0x3c, 0x09, 0xe7, 0x7f, 0x35, 0x9e, 0x7f, 0x6a, + 0xf2, 0x99, 0x1d, 0x60, 0x4f, 0x2b, 0xe4, 0xbe, 0x44, 0x30, 0x7a, 0x0e, 0xe1, 0x82, 0x55, 0x63, + 0x49, 0xda, 0x1b, 0x9f, 0x7a, 0x5f, 0xf2, 0x34, 0x1c, 0x5e, 0x95, 0x9a, 0x59, 0x27, 0xa1, 0x31, + 0x82, 0x2c, 0x79, 0xdf, 0x73, 0x0f, 0x50, 0x23, 0x98, 0xb6, 0xe4, 0x1a, 0xae, 0xff, 0x7e, 0x3a, + 0x0a, 0x8e, 0x4a, 0x90, 0x3b, 0x36, 0x03, 0xbb, 0xaf, 0x76, 0x2f, 0xed, 0xd4, 0xa8, 0xdd, 0x4b, + 0x7a, 0x96, 0xc7, 0xd2, 0x18, 0xe7, 0x04, 0x42, 0x1f, 0xc8, 0xc4, 0xb7, 0xa2, 0x58, 0x16, 0x97, + 0x78, 0xa8, 0x29, 0xaa, 0xea, 0x87, 0x58, 0x29, 0xbd, 0x66, 0x45, 0xf5, 0x94, 0x14, 0x28, 0xd3, + 0x16, 0xc2, 0x8a, 0x48, 0xe3, 0x7a, 0x52, 0xa8, 0xe4, 0x22, 0xe9, 0x35, 0x03, 0x14, 0x13, 0x96, + 0xf9, 0xb3, 0x32, 0x06, 0x1e, 0xa1, 0x50, 0x95, 0x11, 0x0c, 0x28, 0x2c, 0x5b, 0xc5, 0x75, 0x3d, + 0xfd, 0x80, 0x55, 0xb0, 0x45, 0xf1, 0x65, 0x2b, 0xb6, 0x86, 0x52, 0x4d, 0xaa, 0x45, 0x59, 0xc7, + 0x9f, 0x67, 0x54, 0xa1, 0xc2, 0xf0, 0xad, 0x16, 0xda, 0x9d, 0x0d, 0x6c, 0x59, 0xe4, 0xc8, 0x30, + 0x8e, 0x71, 0xd5, 0xd8, 0xc4, 0x20, 0xc7, 0x1e, 0x9b, 0xae, 0x64, 0xd7, 0xb0, 0xab, 0x63, 0xeb, + 0x84, 0x5d, 0x47, 0x96, 0xfe, 0xd0, 0x94, 0xec, 0x06, 0xd2, 0xe0, 0xaf, 0x6d, 0xe1, 0xa3, 0x26, + 0xb0, 0x9b, 0x48, 0x23, 0xcd, 0x01, 0xbb, 0x55, 0xff, 0x8d, 0xb8, 0xa2, 0xf9, 0x8d, 0x28, 0xfc, + 0x58, 0x66, 0x79, 0x60, 0x80, 0xb2, 0x68, 0xad, 0xb6, 0x60, 0xc3, 0x17, 0x3f, 0x98, 0xd8, 0x53, + 0x75, 0xfe, 0x99, 0xab, 0x0b, 0x49, 0xe6, 0x39, 0xea, 0x67, 0xb0, 0x11, 0x02, 0xcf, 0x6c, 0x39, + 0xa4, 0x4c, 0x10, 0x7f, 0x2b, 0x71, 0x11, 0x21, 0xb5, 0xf0, 0x02, 0x57, 0x24, 0x32, 0xbe, 0x78, + 0x10, 0x65, 0xfa, 0xd3, 0x4b, 0x64, 0xfa, 0xeb, 0xff, 0x27, 0x79, 0x74, 0xac, 0x02, 0x32, 0x2b, + 0x0a, 0xc8, 0xe6, 0x8f, 0x92, 0xe3, 0xe4, 0x7d, 0xfa, 0x65, 0x92, 0xf7, 0x8b, 0xca, 0x32, 0xde, + 0xc7, 0xf8, 0x80, 0x56, 0xde, 0xd3, 0x25, 0x0e, 0x26, 0xa6, 0x68, 0xf9, 0x16, 0x1d, 0x0c, 0x9b, + 0x5d, 0x55, 0x33, 0x94, 0x5b, 0x78, 0x2d, 0x28, 0x79, 0x02, 0xac, 0x29, 0x8d, 0x04, 0x57, 0xc2, + 0x4e, 0xe5, 0x17, 0xd9, 0x29, 0x8c, 0x8d, 0xb5, 0x05, 0x8b, 0x60, 0x75, 0x8e, 0xa3, 0x7e, 0x87, + 0xe2, 0x69, 0x0d, 0x17, 0x8d, 0x39, 0x3c, 0x3a, 0x73, 0xa3, 0x89, 0x23, 0x6d, 0x7d, 0x54, 0xa1, + 0x80, 0xd9, 0x7b, 0x8b, 0xa5, 0xf9, 0x7b, 0x8b, 0x1f, 0x02, 0x04, 0x02, 0x57, 0xc7, 0xb6, 0xdd, + 0x97, 0xba, 0xb2, 0xe8, 0xce, 0x65, 0x7d, 0xd3, 0x07, 0x2c, 0x09, 0x0e, 0x6c, 0xff, 0xc8, 0x3c, + 0xa7, 0x43, 0x57, 0x5d, 0x02, 0x11, 0xc1, 0xb3, 0xd6, 0x7b, 0x6d, 0xde, 0x7a, 0xbf, 0x05, 0xb9, + 0x00, 0x5d, 0x64, 0xba, 0x7a, 0x73, 0xf9, 0xfc, 0x6e, 0x92, 0x1f, 0x6d, 0x28, 0x5a, 0x4a, 0x39, + 0xa2, 0x7d, 0xf3, 0x7c, 0xba, 0x74, 0x53, 0x32, 0x42, 0x70, 0xca, 0x82, 0xde, 0x9c, 0xb6, 0xa0, + 0x35, 0x0b, 0xf2, 0xfa, 0xf8, 0x60, 0x36, 0x11, 0x10, 0x26, 0x1e, 0xd3, 0x89, 0xc4, 0x63, 0x54, + 0xbf, 0x9a, 0x49, 0xd6, 0xaf, 0xce, 0xdc, 0xcb, 0xcb, 0xcd, 0xdd, 0xcb, 0xab, 0x7f, 0x02, 0x39, + 0xe5, 0xf3, 0x43, 0xe8, 0x6e, 0x2a, 0x57, 0x15, 0x3b, 0xc5, 0x52, 0xfc, 0x3a, 0xb0, 0x40, 0x90, + 0x2f, 0x23, 0xba, 0xe6, 0x48, 0x90, 0x91, 0x4c, 0xf3, 0x2a, 0x5c, 0x57, 0xb4, 0xc1, 0xf4, 0x13, + 0x72, 0xa8, 0x1c, 0xfb, 0xd8, 0x37, 0xfd, 0x0b, 0x96, 0xad, 0x7f, 0x48, 0x87, 0xf7, 0xa1, 0x42, + 0x95, 0xa3, 0x7b, 0x90, 0xca, 0x2c, 0x5b, 0xda, 0xfa, 0x50, 0xed, 0x87, 0x8e, 0xe6, 0x54, 0x45, + 0x1c, 0x85, 0x4b, 0x94, 0xef, 0x59, 0x4d, 0xee, 0xe1, 0x7f, 0x6c, 0xeb, 0xad, 0xbe, 0x95, 0xf0, + 0x08, 0xa7, 0x4b, 0xdc, 0x52, 0xcb, 0x96, 0xb8, 0xd5, 0x1f, 0xc3, 0xba, 0x31, 0x6d, 0xd3, 0xf9, + 0x7b, 0x50, 0xf0, 0xc6, 0x49, 0x39, 0x2f, 0xd2, 0xcb, 0x90, 0xbc, 0xfe, 0xd3, 0x14, 0xac, 0xb6, + 0x5d, 0x29, 0x7c, 0xd7, 0x74, 0x76, 0x1c, 0x73, 0xc0, 0xdf, 0x0d, 0xad, 0xd4, 0xe2, 0xdc, 0x42, + 0x92, 0x76, 0xda, 0x60, 0x39, 0x3a, 0x4d, 0xce, 0x6f, 0xc0, 0x86, 0xb0, 0x6c, 0xe9, 0xf9, 0xca, + 0x0f, 0x0e, 0x2b, 0x11, 0xaf, 0x03, 0x53, 0xe8, 0x2e, 0x2d, 0x89, 0x9e, 0x9a, 0xe6, 0x2a, 0x5c, + 0x9f, 0xc2, 0x86, 0x4e, 0x6e, 0x9a, 0xdf, 0x86, 0x6a, 0xbc, 0x1b, 0x6d, 0x7b, 0xae, 0x6c, 0xbb, + 0x96, 0x38, 0x27, 0x27, 0x8a, 0x65, 0xea, 0xbf, 0x1e, 0xb9, 0x6f, 0x4f, 0x75, 0x9d, 0xa2, 0xef, + 0x79, 0xf1, 0x25, 0x58, 0x0d, 0x25, 0x2e, 0x5b, 0xa7, 0x97, 0xb8, 0x6c, 0xfd, 0x61, 0x7c, 0x61, + 0x56, 0x6d, 0x14, 0xaf, 0x2c, 0xdc, 0x7d, 0xa8, 0xbc, 0x4a, 0x7b, 0xef, 0x5d, 0x91, 0xb8, 0x3d, + 0xfb, 0xa6, 0x0e, 0xd9, 0xb2, 0xcb, 0x78, 0xb9, 0xaa, 0x12, 0xe1, 0x9d, 0xd9, 0x5b, 0x1a, 0xcb, + 0x95, 0x39, 0xce, 0x39, 0xa2, 0xf0, 0xd2, 0x8e, 0xe8, 0xb7, 0x67, 0xa2, 0xa3, 0xe2, 0xc2, 0x74, + 0xdb, 0x15, 0x77, 0x50, 0xbf, 0x0d, 0x85, 0xa1, 0x1d, 0x48, 0xcf, 0x57, 0xf7, 0xa2, 0xe7, 0xef, + 0x71, 0x25, 0x46, 0x6b, 0x57, 0x11, 0x52, 0x4d, 0x5a, 0xc8, 0xc5, 0xbf, 0x07, 0x1b, 0x34, 0xf0, + 0x87, 0xb1, 0xd7, 0x10, 0x54, 0xcb, 0x0b, 0x6b, 0x01, 0x13, 0xa2, 0xb6, 0x66, 0x58, 0x8c, 0x79, + 0x21, 0xb5, 0x01, 0x40, 0x3c, 0x3f, 0x73, 0x56, 0xec, 0x33, 0xdc, 0x8b, 0xbe, 0x09, 0xf9, 0x60, + 0x72, 0x1c, 0x9f, 0xa7, 0x69, 0xa8, 0x76, 0x0e, 0xb5, 0x39, 0xef, 0xe0, 0x50, 0xf8, 0xaa, 0xb9, + 0x57, 0x5e, 0xce, 0xfe, 0x30, 0x39, 0xf1, 0x4a, 0x39, 0xef, 0x5e, 0x32, 0x7b, 0x91, 0xe4, 0x84, + 0x06, 0xd4, 0xde, 0x81, 0x72, 0x62, 0x50, 0xd1, 0x32, 0x4f, 0x5c, 0xcb, 0x0b, 0x53, 0xbc, 0xf8, + 0x5b, 0x5d, 0x4e, 0xb3, 0xc2, 0x24, 0x2f, 0xfd, 0xae, 0x19, 0xc0, 0x66, 0x07, 0xf0, 0x8a, 0x08, + 0xfa, 0x15, 0xa8, 0x24, 0x5c, 0xba, 0x28, 0xfd, 0x37, 0x8d, 0xac, 0x9f, 0xc1, 0xe7, 0x13, 0xe2, + 0x0e, 0x85, 0x3f, 0xb2, 0x03, 0xdc, 0x48, 0x54, 0x30, 0x48, 0xae, 0xb3, 0x25, 0x5c, 0x69, 0xcb, + 0xd0, 0x82, 0x46, 0x30, 0xff, 0x26, 0xe4, 0xc6, 0xc2, 0x1f, 0x05, 0xda, 0x8a, 0xce, 0x6a, 0xd0, + 0x42, 0xb1, 0x81, 0xa1, 0x78, 0xea, 0xff, 0x28, 0x05, 0xc5, 0x7d, 0x21, 0x4d, 0xf4, 0x1d, 0xf8, + 0xfe, 0xcc, 0x5b, 0xe6, 0xcf, 0x80, 0x43, 0xd2, 0x4d, 0x1d, 0x9e, 0x6e, 0xb6, 0x35, 0xbd, 0x86, + 0x77, 0x57, 0xe2, 0x86, 0xd5, 0xb6, 0xa0, 0xa0, 0xd1, 0xb5, 0x77, 0x61, 0x7d, 0x86, 0x92, 0xc6, + 0x45, 0xf9, 0xf6, 0xdd, 0x8b, 0x51, 0x58, 0xa8, 0xb4, 0x6a, 0x4c, 0x23, 0xb7, 0x4a, 0x50, 0x18, + 0x2b, 0x86, 0xfa, 0xef, 0xdf, 0xa0, 0xf2, 0x18, 0xfb, 0x04, 0x63, 0xf6, 0x45, 0x3b, 0xeb, 0x1d, + 0x00, 0xda, 0x9a, 0x55, 0x11, 0x85, 0x4a, 0xc9, 0x26, 0x30, 0xfc, 0xfd, 0x28, 0x97, 0x9e, 0x5d, + 0xe8, 0x54, 0x25, 0x85, 0xcf, 0x26, 0xd4, 0xab, 0x50, 0xb0, 0x03, 0xca, 0xb3, 0xe9, 0xc2, 0xa3, + 0x10, 0xe4, 0xdf, 0x82, 0xbc, 0x3d, 0x1a, 0x7b, 0xbe, 0xd4, 0xc9, 0xf6, 0x2b, 0xa5, 0xb6, 0x89, + 0x72, 0x77, 0xc5, 0xd0, 0x3c, 0xc8, 0x2d, 0xce, 0x89, 0xbb, 0xf8, 0x62, 0xee, 0xd6, 0x79, 0xc8, + 0xad, 0x78, 0xf8, 0x77, 0xa1, 0x32, 0x50, 0x75, 0x97, 0x4a, 0xb0, 0x36, 0x22, 0x5f, 0xb9, 0x4a, + 0xc8, 0xa3, 0x24, 0xc3, 0xee, 0x8a, 0x31, 0x2d, 0x01, 0x45, 0xa2, 0x03, 0x2f, 0x02, 0xd9, 0xf3, + 0x3e, 0xf2, 0x6c, 0x97, 0xc2, 0xd9, 0x17, 0x88, 0x34, 0x92, 0x0c, 0x28, 0x72, 0x4a, 0x02, 0xff, + 0x3a, 0x7a, 0x3c, 0x81, 0xd4, 0x57, 0xd3, 0xef, 0x5e, 0x25, 0xa9, 0x27, 0x02, 0x7d, 0xa9, 0x3c, + 0x90, 0xfc, 0x1c, 0x6a, 0x89, 0x45, 0xa2, 0x5f, 0xd2, 0x18, 0x8f, 0x7d, 0x0f, 0x63, 0xe2, 0x0a, + 0x49, 0xfb, 0xfa, 0x55, 0xd2, 0x0e, 0x2f, 0xe5, 0xde, 0x5d, 0x31, 0xae, 0x90, 0xcd, 0x7b, 0x18, + 0xd9, 0xe9, 0x2e, 0xec, 0x09, 0xf3, 0x2c, 0xbc, 0xd8, 0x7e, 0x7f, 0xa9, 0x51, 0x20, 0x8e, 0xdd, + 0x15, 0x63, 0x46, 0x06, 0xff, 0x65, 0xd8, 0x98, 0x7a, 0x27, 0xdd, 0x65, 0x55, 0xd7, 0xde, 0xbf, + 0xb6, 0x74, 0x37, 0x90, 0x69, 0x77, 0xc5, 0x98, 0x97, 0xc4, 0x27, 0xf0, 0xb9, 0xf9, 0x2e, 0x6d, + 0x8b, 0xbe, 0x63, 0xbb, 0x42, 0xdf, 0x90, 0x7f, 0xe7, 0xe5, 0x46, 0x4b, 0x33, 0xef, 0xae, 0x18, + 0x97, 0x4b, 0xe6, 0x7f, 0x11, 0x6e, 0x8f, 0x17, 0x9a, 0x18, 0x65, 0xba, 0xf4, 0x05, 0xfb, 0xf7, + 0x96, 0x7c, 0xf3, 0x1c, 0xff, 0xee, 0x8a, 0x71, 0xa5, 0x7c, 0xf4, 0x9d, 0x29, 0x82, 0xd6, 0xe5, + 0xe1, 0x0a, 0xe0, 0xb7, 0xa1, 0x64, 0xf6, 0x9d, 0x5d, 0x61, 0x5a, 0xd1, 0x79, 0x40, 0x8c, 0xa8, + 0xfd, 0xcf, 0x14, 0xe4, 0xb5, 0xbe, 0xdf, 0x8e, 0xce, 0xfc, 0x23, 0xd3, 0x1d, 0x23, 0xf8, 0x07, + 0x50, 0x12, 0xbe, 0xef, 0xf9, 0x4d, 0xcf, 0x0a, 0xcb, 0x25, 0x67, 0xb3, 0xc8, 0x4a, 0xce, 0x66, + 0x2b, 0x24, 0x33, 0x62, 0x0e, 0xfe, 0x3e, 0x80, 0x5a, 0xe7, 0xbd, 0xf8, 0x96, 0x4f, 0x6d, 0x31, + 0xbf, 0x3a, 0x62, 0x8a, 0xa9, 0xe3, 0xb4, 0x5b, 0x78, 0xbe, 0x13, 0x82, 0x51, 0xc0, 0x99, 0x4b, + 0x04, 0x9c, 0xb7, 0x75, 0x1e, 0x81, 0x92, 0x2b, 0xfa, 0xae, 0x5b, 0x84, 0xa8, 0xfd, 0x9b, 0x14, + 0xe4, 0x95, 0xf1, 0xe0, 0xad, 0xf9, 0x1e, 0xbd, 0xf6, 0x62, 0x9b, 0xb3, 0x39, 0xdb, 0xb3, 0x6f, + 0x01, 0x28, 0x1b, 0x94, 0xe8, 0xd9, 0xed, 0x19, 0x39, 0x9a, 0x35, 0x2c, 0x50, 0x8e, 0xe9, 0xeb, + 0x0f, 0xd5, 0x7d, 0x2c, 0x4a, 0xf9, 0x3e, 0xd9, 0xdb, 0x63, 0x2b, 0x7c, 0x03, 0x2a, 0x4f, 0x0e, + 0x1e, 0x1f, 0x74, 0x9e, 0x1d, 0x1c, 0xb5, 0x0c, 0xa3, 0x63, 0xa8, 0xcc, 0xef, 0x56, 0x63, 0xfb, + 0xa8, 0x7d, 0x70, 0xf8, 0xa4, 0xc7, 0xd2, 0xb5, 0x7f, 0x9e, 0x82, 0xca, 0x94, 0xed, 0xfa, 0x93, + 0x9d, 0xba, 0xc4, 0xf0, 0x67, 0x16, 0x0f, 0x7f, 0xf6, 0xb2, 0xe1, 0xcf, 0xcd, 0x0e, 0xff, 0x6f, + 0xa7, 0xa0, 0x32, 0x65, 0x23, 0x93, 0xd2, 0x53, 0xd3, 0xd2, 0x93, 0x3b, 0x7d, 0x7a, 0x66, 0xa7, + 0xaf, 0xc3, 0x6a, 0xf8, 0xfb, 0x20, 0xce, 0x38, 0x4c, 0xe1, 0x92, 0x34, 0x74, 0x21, 0x22, 0x3b, + 0x4d, 0x43, 0x97, 0x22, 0xae, 0x6e, 0x2d, 0x5d, 0x00, 0x0d, 0xe8, 0x7e, 0x7c, 0xed, 0x72, 0x0b, + 0x7a, 0x45, 0x17, 0x1e, 0x41, 0x79, 0x1c, 0x2f, 0xd3, 0x97, 0x73, 0x4b, 0x92, 0x9c, 0x2f, 0x68, + 0xe7, 0xef, 0xa4, 0x60, 0x6d, 0xda, 0xe6, 0xfe, 0xa9, 0x1e, 0xd6, 0x7f, 0x92, 0x82, 0x8d, 0x39, + 0x4b, 0x7e, 0xa5, 0x63, 0x37, 0xdb, 0xae, 0xf4, 0x12, 0xed, 0xca, 0x2c, 0x68, 0xd7, 0xe5, 0x96, + 0xe4, 0xea, 0x16, 0x77, 0xe1, 0x73, 0x97, 0xee, 0x09, 0x57, 0x0c, 0xf5, 0x94, 0xd0, 0xcc, 0xac, + 0xd0, 0xdf, 0x4a, 0xc1, 0xed, 0xab, 0xec, 0xfd, 0xff, 0x77, 0xbd, 0x9a, 0x6d, 0x61, 0xfd, 0xdd, + 0xa8, 0x50, 0xa0, 0x0c, 0x05, 0xfd, 0xdd, 0x29, 0x5d, 0x8a, 0x3d, 0xf4, 0x9e, 0xbb, 0x2a, 0x13, + 0x6d, 0x08, 0x53, 0xdf, 0xcc, 0x37, 0xc4, 0xd8, 0xb1, 0xe9, 0x0c, 0xf4, 0x16, 0x40, 0x83, 0xe2, + 0xba, 0xf0, 0xa2, 0x4c, 0x73, 0xaf, 0xd3, 0x6d, 0xb1, 0x95, 0xa4, 0x13, 0xfb, 0x49, 0x68, 0x88, + 0xeb, 0x87, 0x90, 0x8f, 0xaf, 0x2e, 0xec, 0x9b, 0xfe, 0xa9, 0xa5, 0x4e, 0x1a, 0x57, 0xa1, 0x78, + 0xa8, 0x43, 0x28, 0xf5, 0xaa, 0x8f, 0xba, 0x9d, 0x03, 0x95, 0xf4, 0xde, 0xee, 0xf4, 0xd4, 0x05, + 0x88, 0xee, 0xd3, 0x47, 0xea, 0xc8, 0xeb, 0x91, 0xd1, 0x38, 0xdc, 0x3d, 0x22, 0x8a, 0x5c, 0xfd, + 0x37, 0xb3, 0xe1, 0xae, 0x56, 0x37, 0xf4, 0x19, 0x26, 0x40, 0x1e, 0xad, 0xb9, 0xa7, 0x05, 0x47, + 0xaf, 0xa1, 0xa2, 0xdd, 0xd6, 0xb9, 0xca, 0x43, 0xb0, 0x34, 0xcf, 0x43, 0xfa, 0xf0, 0x58, 0x55, + 0x1a, 0xed, 0xca, 0x91, 0xa3, 0x6e, 0x4e, 0xf6, 0xce, 0x25, 0xcb, 0xe1, 0x8f, 0x66, 0x70, 0xc6, + 0xf2, 0xf5, 0x7f, 0x91, 0x81, 0x52, 0x64, 0x2a, 0x5f, 0xc6, 0x74, 0x73, 0x0e, 0x6b, 0xed, 0x83, + 0x5e, 0xcb, 0x38, 0x68, 0xec, 0x69, 0x92, 0x0c, 0xbf, 0x06, 0xeb, 0x3b, 0xed, 0xbd, 0xd6, 0xd1, + 0x5e, 0xa7, 0xb1, 0xad, 0x91, 0x45, 0x7e, 0x13, 0x78, 0x7b, 0xff, 0xb0, 0x63, 0xf4, 0x8e, 0xda, + 0xdd, 0xa3, 0x66, 0xe3, 0xa0, 0xd9, 0xda, 0x6b, 0x6d, 0xb3, 0x3c, 0x7f, 0x05, 0xee, 0x1e, 0x74, + 0x7a, 0xed, 0xce, 0xc1, 0xd1, 0x41, 0xe7, 0xa8, 0xb3, 0xf5, 0x51, 0xab, 0xd9, 0xeb, 0x1e, 0xb5, + 0x0f, 0x8e, 0x50, 0xea, 0x23, 0xa3, 0x81, 0x4f, 0x58, 0x8e, 0xdf, 0x85, 0xdb, 0x9a, 0xaa, 0xdb, + 0x32, 0x9e, 0xb6, 0x0c, 0x14, 0xf2, 0xe4, 0xa0, 0xf1, 0xb4, 0xd1, 0xde, 0x6b, 0x6c, 0xed, 0xb5, + 0xd8, 0x2a, 0xbf, 0x03, 0x35, 0x4d, 0x61, 0x34, 0x7a, 0xad, 0xa3, 0xbd, 0xf6, 0x7e, 0xbb, 0x77, + 0xd4, 0xfa, 0x5e, 0xb3, 0xd5, 0xda, 0x6e, 0x6d, 0xb3, 0x0a, 0xff, 0x0a, 0x7c, 0x99, 0x1a, 0xa5, + 0x1b, 0x31, 0xfd, 0xb2, 0x4f, 0xda, 0x87, 0x47, 0x0d, 0xa3, 0xb9, 0xdb, 0x7e, 0xda, 0x62, 0x6b, + 0xfc, 0x35, 0xf8, 0xd2, 0xe5, 0xa4, 0xdb, 0x6d, 0xa3, 0xd5, 0xec, 0x75, 0x8c, 0x8f, 0xd9, 0x06, + 0xff, 0x02, 0x7c, 0x6e, 0xb7, 0xb7, 0xbf, 0x77, 0xf4, 0xcc, 0xe8, 0x1c, 0x3c, 0x3a, 0xa2, 0x9f, + 0xdd, 0x9e, 0xf1, 0xa4, 0xd9, 0x7b, 0x62, 0xb4, 0x18, 0xf0, 0x1a, 0xdc, 0x3c, 0xdc, 0x3a, 0x3a, + 0xe8, 0xf4, 0x8e, 0x1a, 0x07, 0x1f, 0x6f, 0xed, 0x75, 0x9a, 0x8f, 0x8f, 0x76, 0x3a, 0xc6, 0x7e, + 0xa3, 0xc7, 0xca, 0xfc, 0xab, 0xf0, 0x5a, 0xb3, 0xfb, 0x54, 0x37, 0xb3, 0xb3, 0x73, 0x64, 0x74, + 0x9e, 0x75, 0x8f, 0x3a, 0xc6, 0x91, 0xd1, 0xda, 0xa3, 0x3e, 0x77, 0xe3, 0xb6, 0x17, 0xf8, 0x6d, + 0xa8, 0xb6, 0x0f, 0xba, 0x4f, 0x76, 0x76, 0xda, 0xcd, 0x76, 0xeb, 0xa0, 0x77, 0x74, 0xd8, 0x32, + 0xf6, 0xdb, 0xdd, 0x2e, 0x92, 0xb1, 0x52, 0xfd, 0x3b, 0x90, 0x6f, 0xbb, 0x67, 0xb6, 0xa4, 0xf5, + 0xa5, 0x95, 0x51, 0x47, 0x5c, 0x21, 0x48, 0xcb, 0xc2, 0x1e, 0xb8, 0xf4, 0x45, 0x00, 0x5a, 0x5d, + 0xab, 0x46, 0x8c, 0xa8, 0xff, 0xd3, 0x34, 0x54, 0x94, 0x88, 0x30, 0x82, 0xbb, 0x07, 0xeb, 0x3a, + 0x15, 0xda, 0x9e, 0x36, 0x61, 0xb3, 0x68, 0xfa, 0xd4, 0x96, 0x42, 0x25, 0x0c, 0x59, 0x12, 0x45, + 0x27, 0x47, 0x24, 0x1c, 0x23, 0x41, 0x75, 0x24, 0x19, 0x23, 0x3e, 0xab, 0x05, 0x43, 0xeb, 0xa8, + 0x08, 0xfb, 0x9e, 0xdb, 0x8c, 0xae, 0x86, 0x4c, 0xe1, 0xf8, 0x27, 0x70, 0x2b, 0x82, 0x5b, 0x6e, + 0xdf, 0xbf, 0x18, 0x47, 0x5f, 0xc4, 0x2b, 0x2c, 0x4c, 0x29, 0xec, 0xd8, 0x8e, 0x98, 0x22, 0x34, + 0x2e, 0x13, 0x50, 0xff, 0x83, 0x54, 0x22, 0xee, 0x55, 0x71, 0xed, 0x95, 0x16, 0x7f, 0xd1, 0x19, + 0x0c, 0x46, 0x9e, 0xba, 0xf9, 0xda, 0x11, 0xd1, 0x20, 0x3f, 0x04, 0x6e, 0xcf, 0x37, 0x3a, 0xbb, + 0x64, 0xa3, 0x17, 0xf0, 0xce, 0xa6, 0xd0, 0x73, 0xf3, 0x29, 0xf4, 0x3b, 0x00, 0x03, 0xc7, 0x3b, + 0x36, 0x9d, 0x84, 0xa3, 0x99, 0xc0, 0xd4, 0x1d, 0x28, 0x86, 0xdf, 0xdd, 0xe3, 0x37, 0x21, 0x4f, + 0x5f, 0xde, 0x8b, 0x12, 0x8a, 0x0a, 0xe2, 0xbb, 0xb0, 0x26, 0xa6, 0xdb, 0x9c, 0x5e, 0xb2, 0xcd, + 0x33, 0x7c, 0xf5, 0x6f, 0xc0, 0xc6, 0x1c, 0x11, 0x0e, 0xe2, 0xd8, 0x94, 0xd1, 0xe5, 0x7b, 0xfc, + 0x3d, 0x7f, 0xfc, 0x5d, 0xff, 0x4f, 0x69, 0x58, 0xdd, 0x37, 0x5d, 0xfb, 0x44, 0x04, 0x32, 0x6c, + 0x6d, 0xd0, 0x1f, 0x8a, 0x91, 0x19, 0xb6, 0x56, 0x41, 0x3a, 0xcb, 0x90, 0x4e, 0xe6, 0xef, 0xe7, + 0x8e, 0x7b, 0x6e, 0x42, 0xde, 0x9c, 0xc8, 0x61, 0x54, 0x8f, 0xae, 0x21, 0x9c, 0x3b, 0xc7, 0xee, + 0x0b, 0x37, 0x08, 0x75, 0x33, 0x04, 0xe3, 0x6a, 0x98, 0xfc, 0x15, 0xd5, 0x30, 0x85, 0xf9, 0xf1, + 0xbf, 0x0b, 0xe5, 0xa0, 0xef, 0x0b, 0xe1, 0x06, 0x43, 0x4f, 0x86, 0xdf, 0x6c, 0x4c, 0xa2, 0xa8, + 0x34, 0xcd, 0x7b, 0xee, 0xe2, 0x0a, 0xdd, 0xb3, 0xdd, 0x53, 0x5d, 0x71, 0x35, 0x85, 0x43, 0x1d, + 0xa4, 0x1c, 0x8b, 0xfd, 0x43, 0x41, 0xf1, 0x7d, 0xce, 0x88, 0x60, 0xca, 0xa2, 0x98, 0x52, 0x0c, + 0x3c, 0xdf, 0x16, 0x2a, 0x95, 0x58, 0x32, 0x12, 0x18, 0xe4, 0x75, 0x4c, 0x77, 0x30, 0x31, 0x07, + 0x42, 0x1f, 0x27, 0x47, 0x70, 0xfd, 0x7f, 0xe5, 0x00, 0xf6, 0xc5, 0xe8, 0x58, 0xf8, 0xc1, 0xd0, + 0x1e, 0xd3, 0x51, 0x87, 0xad, 0xab, 0x70, 0x2b, 0x06, 0xfd, 0xe6, 0xef, 0x4d, 0x15, 0xc8, 0xcf, + 0x1f, 0x4e, 0xc6, 0xec, 0xb3, 0x29, 0x18, 0x1c, 0x1c, 0x53, 0x0a, 0x5d, 0x88, 0x44, 0xe3, 0x9f, + 0x35, 0x92, 0x28, 0x2a, 0x45, 0x33, 0xa5, 0x68, 0xb9, 0x96, 0x4a, 0xf1, 0x64, 0x8d, 0x08, 0xa6, + 0x2b, 0x36, 0x41, 0x63, 0x22, 0x3d, 0x43, 0xb8, 0xe2, 0x79, 0x74, 0x7b, 0x2c, 0x46, 0xf1, 0x7d, + 0xa8, 0x8c, 0xcd, 0x8b, 0x91, 0x70, 0xe5, 0xbe, 0x90, 0x43, 0xcf, 0xd2, 0x55, 0x43, 0xaf, 0x5d, + 0xde, 0xc0, 0xc3, 0x24, 0xb9, 0x31, 0xcd, 0x8d, 0x3a, 0xe1, 0x06, 0xb4, 0x4a, 0xd4, 0x34, 0x6a, + 0x88, 0x6f, 0x01, 0xa8, 0x5f, 0x14, 0x39, 0x15, 0x17, 0x67, 0xa2, 0xcc, 0x91, 0x08, 0x84, 0x7f, + 0x66, 0x2b, 0x3b, 0xa6, 0x62, 0xc3, 0x98, 0x0b, 0xad, 0xde, 0x24, 0x10, 0x7e, 0x6b, 0x64, 0xda, + 0x8e, 0x9e, 0xe0, 0x18, 0xc1, 0xdf, 0x86, 0x1b, 0xc1, 0xe4, 0x18, 0x75, 0xe6, 0x58, 0xf4, 0xbc, + 0x03, 0xf1, 0x3c, 0x70, 0x84, 0x94, 0xc2, 0xd7, 0x95, 0x09, 0x8b, 0x1f, 0xd6, 0x07, 0x91, 0xdb, + 0x43, 0xdf, 0x07, 0xc1, 0x5f, 0x71, 0xf9, 0x53, 0x84, 0xd2, 0xb5, 0x61, 0x2c, 0xc5, 0x19, 0xac, + 0x2a, 0x94, 0x2e, 0x1d, 0x4b, 0xf3, 0x2f, 0xc3, 0x17, 0xa7, 0x88, 0x0c, 0x75, 0x10, 0x1c, 0xec, + 0xd8, 0xae, 0xe9, 0xd8, 0x3f, 0x54, 0xc7, 0xf2, 0x99, 0xfa, 0x18, 0x2a, 0x53, 0x03, 0x47, 0xd7, + 0x1d, 0xe9, 0x97, 0xae, 0x9f, 0x61, 0xb0, 0xaa, 0xe0, 0xae, 0xf4, 0x6d, 0x3a, 0xe1, 0x88, 0x30, + 0x4d, 0x5c, 0xe7, 0x1e, 0x4b, 0xf3, 0xeb, 0xc0, 0x14, 0xa6, 0xed, 0x9a, 0xe3, 0x71, 0x63, 0x3c, + 0x76, 0x04, 0xcb, 0xd0, 0x55, 0xd2, 0x18, 0xab, 0xca, 0xe4, 0x59, 0xb6, 0xfe, 0x3d, 0xb8, 0x45, + 0x23, 0xf3, 0x54, 0xf8, 0x51, 0x60, 0xab, 0xfb, 0x7a, 0x03, 0x36, 0xd4, 0xaf, 0x03, 0x4f, 0xaa, + 0xc7, 0xe4, 0xec, 0x71, 0x58, 0x53, 0x68, 0xf4, 0x75, 0xba, 0x82, 0x2e, 0x88, 0x46, 0xb8, 0x88, + 0x2e, 0x5d, 0xff, 0x69, 0x1e, 0x78, 0xac, 0x10, 0x3d, 0x5b, 0xf8, 0xdb, 0xa6, 0x34, 0x13, 0x99, + 0xc9, 0xca, 0xa5, 0x67, 0xeb, 0x2f, 0xae, 0x7c, 0xbb, 0x09, 0x79, 0x3b, 0xc0, 0x50, 0x4c, 0x97, + 0xbf, 0x6a, 0x88, 0xef, 0x01, 0x8c, 0x85, 0x6f, 0x7b, 0x16, 0x69, 0x50, 0x6e, 0xe1, 0x3d, 0x85, + 0xf9, 0x46, 0x6d, 0x1e, 0x46, 0x3c, 0x46, 0x82, 0x1f, 0xdb, 0xa1, 0x20, 0x75, 0x52, 0x9d, 0xa7, + 0x46, 0x27, 0x51, 0xfc, 0x0d, 0xb8, 0x36, 0xf6, 0xed, 0xbe, 0x50, 0xd3, 0xf1, 0x24, 0xb0, 0x9a, + 0xf4, 0x55, 0xbd, 0x02, 0x51, 0x2e, 0x7a, 0x84, 0x1a, 0x68, 0xba, 0x14, 0xa0, 0x04, 0x74, 0x36, + 0xab, 0xaf, 0x54, 0xab, 0x02, 0xd1, 0x8a, 0xb1, 0xf8, 0x21, 0xbf, 0x0f, 0x4c, 0x3f, 0xd8, 0xb7, + 0xdd, 0x3d, 0xe1, 0x0e, 0xe4, 0x90, 0x94, 0xbb, 0x62, 0xcc, 0xe1, 0xc9, 0x82, 0xa9, 0x6f, 0x17, + 0xa9, 0x73, 0x9b, 0x92, 0x11, 0xc1, 0xea, 0x9a, 0xbe, 0xe3, 0xf9, 0x5d, 0xe9, 0xeb, 0x4a, 0xd7, + 0x08, 0x46, 0x9f, 0x25, 0xa0, 0xb6, 0x1e, 0xfa, 0x9e, 0x35, 0xa1, 0x53, 0x05, 0x65, 0xc4, 0x66, + 0xd1, 0x31, 0xe5, 0xbe, 0xe9, 0xea, 0xf2, 0xc3, 0x4a, 0x92, 0x32, 0x42, 0x53, 0x0c, 0xe6, 0x05, + 0xb1, 0xc0, 0x75, 0x1d, 0x83, 0x25, 0x70, 0x9a, 0x26, 0x16, 0xc5, 0x22, 0x9a, 0x58, 0x0e, 0xf5, + 0xdf, 0xf2, 0x3d, 0xdb, 0x8a, 0x65, 0x6d, 0xa8, 0x1a, 0xd4, 0x59, 0x7c, 0x82, 0x36, 0x96, 0xc9, + 0xa7, 0x68, 0x23, 0x7c, 0xfd, 0x47, 0x29, 0x80, 0x78, 0xf2, 0x51, 0xe5, 0x63, 0x28, 0x5e, 0xe2, + 0xb7, 0xe0, 0x5a, 0x12, 0xed, 0xe8, 0x12, 0x52, 0xd2, 0xfb, 0xf8, 0xc1, 0xb6, 0x79, 0x11, 0xb0, + 0xb4, 0xbe, 0xd4, 0xac, 0x71, 0xcf, 0x84, 0xa0, 0x7a, 0xbc, 0xeb, 0xc0, 0x62, 0x24, 0xdd, 0x54, + 0x0b, 0x58, 0x76, 0x9a, 0xf4, 0x63, 0x61, 0xfa, 0x01, 0xcb, 0xd5, 0x77, 0x21, 0xaf, 0x0e, 0x97, + 0x16, 0x1c, 0x0b, 0xbf, 0x5c, 0x8d, 0xc7, 0x5f, 0x4f, 0x01, 0x6c, 0xab, 0x7a, 0x63, 0xdc, 0xc5, + 0x17, 0x9c, 0xb6, 0x2f, 0xf2, 0xa8, 0x4c, 0xcb, 0xa2, 0xba, 0xed, 0x4c, 0xf4, 0x45, 0x1c, 0x04, + 0x51, 0x73, 0xcc, 0xb0, 0xe6, 0x4a, 0xad, 0xb9, 0x08, 0x56, 0x1b, 0x48, 0xd3, 0x73, 0x5d, 0xd1, + 0xc7, 0xed, 0x27, 0xda, 0x40, 0x22, 0x54, 0xfd, 0xdf, 0x15, 0xa0, 0xdc, 0x1c, 0x9a, 0x72, 0x5f, + 0x04, 0x81, 0x39, 0x10, 0x73, 0x6d, 0xa9, 0x42, 0xc1, 0xf3, 0x2d, 0xe1, 0xc7, 0xb7, 0xcd, 0x34, + 0x98, 0xac, 0x31, 0xc8, 0x4c, 0xd7, 0x18, 0xdc, 0x86, 0x92, 0x3a, 0xc1, 0xb0, 0x1a, 0xca, 0x0c, + 0x64, 0x8c, 0x18, 0x81, 0x7b, 0xf5, 0xc8, 0xb3, 0xc8, 0x18, 0x35, 0x54, 0xf2, 0x3f, 0x63, 0x24, + 0x30, 0xaa, 0xa4, 0x63, 0xec, 0x5c, 0xf4, 0x3c, 0xdd, 0xa6, 0xb6, 0x15, 0x5f, 0xcd, 0x9d, 0xc6, + 0xf3, 0x26, 0x14, 0x46, 0x0a, 0xd0, 0x07, 0x19, 0xb3, 0x29, 0xff, 0x44, 0xd7, 0x36, 0xf5, 0x5f, + 0x7d, 0x3b, 0xc6, 0x08, 0x39, 0x31, 0x44, 0x37, 0xa5, 0x34, 0xfb, 0xc3, 0x91, 0x36, 0x11, 0x99, + 0x05, 0x67, 0x9a, 0x49, 0x41, 0x8d, 0x88, 0xda, 0x48, 0x72, 0xf2, 0x2d, 0x28, 0xf9, 0xc2, 0x9c, + 0x3a, 0x56, 0x7d, 0xe5, 0x0a, 0x31, 0x46, 0x48, 0x6b, 0xc4, 0x6c, 0xb5, 0x9f, 0xa4, 0x60, 0x6d, + 0xba, 0xa1, 0x7f, 0x12, 0x1f, 0x35, 0xfb, 0x56, 0xfc, 0x51, 0xb3, 0xcf, 0xf0, 0x81, 0xb0, 0xdf, + 0x4a, 0x01, 0xc4, 0x63, 0x80, 0x26, 0x5f, 0x7d, 0x7c, 0x29, 0x74, 0x42, 0x15, 0xc4, 0x77, 0xa7, + 0x6e, 0xec, 0xbf, 0xbd, 0xd4, 0x80, 0x26, 0x7e, 0x26, 0xaa, 0x9b, 0x1f, 0xc0, 0xda, 0x34, 0x9e, + 0xaa, 0xc2, 0xdb, 0x7b, 0x2d, 0x95, 0xe2, 0x68, 0xef, 0x37, 0x1e, 0xb5, 0xf4, 0x6d, 0xa4, 0xf6, + 0xc1, 0x63, 0x96, 0xae, 0xfd, 0x61, 0x0a, 0x4a, 0xd1, 0xf0, 0xf2, 0xef, 0x26, 0xe7, 0x45, 0xd5, + 0x49, 0xbc, 0xb5, 0xcc, 0xbc, 0xc4, 0xbf, 0x5a, 0xae, 0xf4, 0x2f, 0x92, 0xd3, 0xe4, 0xc1, 0xda, + 0xf4, 0xc3, 0x05, 0x36, 0xe1, 0xd1, 0xb4, 0x4d, 0x78, 0x73, 0xa9, 0x57, 0x86, 0x91, 0xd7, 0x9e, + 0x1d, 0x48, 0x6d, 0x2e, 0xde, 0x4f, 0xbf, 0x97, 0xaa, 0xdd, 0x85, 0xd5, 0xe4, 0xa3, 0xf9, 0x2b, + 0x87, 0xf7, 0xff, 0x30, 0x03, 0x6b, 0xd3, 0xa5, 0x06, 0x74, 0xc1, 0x49, 0x95, 0xb9, 0x74, 0x1c, + 0x2b, 0x51, 0x10, 0xce, 0xf8, 0x3a, 0x94, 0x75, 0x6c, 0x47, 0x88, 0x0d, 0x4a, 0xa2, 0x78, 0x23, + 0xc1, 0xee, 0x26, 0x3f, 0xdc, 0xf8, 0x06, 0x87, 0xf0, 0xea, 0x19, 0x1b, 0xf3, 0x92, 0xfe, 0x84, + 0xd5, 0xaf, 0xa4, 0x79, 0x25, 0x51, 0x96, 0xfc, 0x63, 0x74, 0x6c, 0xd6, 0xb7, 0x26, 0xae, 0xe5, + 0x08, 0x2b, 0xc2, 0xfe, 0x24, 0x89, 0x8d, 0xea, 0x8a, 0x7f, 0x25, 0xcb, 0xd7, 0xa0, 0xd4, 0x9d, + 0x1c, 0xeb, 0x9a, 0xe2, 0xbf, 0x94, 0xe5, 0x37, 0x61, 0x43, 0x53, 0xc5, 0x25, 0x7e, 0xec, 0x2f, + 0xa3, 0x09, 0x5e, 0x6b, 0xa8, 0xf1, 0xd2, 0x0d, 0x65, 0x7f, 0x25, 0x8b, 0x4d, 0xa0, 0x1b, 0xcd, + 0x7f, 0x95, 0xe4, 0x44, 0xf7, 0x3f, 0xd8, 0xaf, 0x66, 0xf9, 0x3a, 0x40, 0xb7, 0x17, 0xbd, 0xe8, + 0xd7, 0xb3, 0xbc, 0x0c, 0xf9, 0x6e, 0x8f, 0xa4, 0xfd, 0x28, 0xcb, 0x6f, 0x00, 0x8b, 0x9f, 0xea, + 0xc2, 0xc7, 0xbf, 0xa9, 0x1a, 0x13, 0x55, 0x32, 0xfe, 0xad, 0x2c, 0xf6, 0x2b, 0x1c, 0x65, 0xf6, + 0xb7, 0xb3, 0x9c, 0x41, 0x39, 0x91, 0x9a, 0x63, 0x7f, 0x27, 0xcb, 0x39, 0x54, 0xf6, 0xed, 0x20, + 0xb0, 0xdd, 0x81, 0xee, 0xc1, 0xaf, 0xd1, 0x9b, 0x77, 0xa2, 0x2b, 0x2c, 0xec, 0x37, 0xb2, 0xfc, + 0x16, 0xf0, 0xe4, 0x71, 0x84, 0x7e, 0xf0, 0x77, 0x89, 0x5b, 0x99, 0xfd, 0x40, 0xe3, 0xfe, 0x1e, + 0x71, 0xa3, 0x26, 0x68, 0xc4, 0x6f, 0xd2, 0x80, 0x34, 0xe3, 0x52, 0x49, 0x8d, 0xff, 0x31, 0x31, + 0x87, 0x93, 0xa9, 0x70, 0x3f, 0xc9, 0xde, 0xff, 0x29, 0xa5, 0x93, 0x93, 0x15, 0x47, 0x7c, 0x15, + 0x8a, 0x8e, 0xe7, 0x0e, 0xa4, 0xfa, 0x60, 0x66, 0x05, 0x4a, 0xc1, 0xd0, 0xf3, 0x25, 0x81, 0x74, + 0xc7, 0xce, 0xa5, 0xdb, 0xd6, 0xaa, 0x2a, 0x5d, 0x05, 0x29, 0x2a, 0x3d, 0x27, 0xcd, 0x01, 0x2b, + 0x47, 0x45, 0x9e, 0xd9, 0xa8, 0x10, 0x95, 0x6e, 0x7d, 0x87, 0xb7, 0x6a, 0x59, 0x1e, 0x49, 0x27, + 0xbe, 0xa3, 0x0a, 0x52, 0x05, 0x3a, 0xa8, 0xea, 0xcb, 0x78, 0xe3, 0x21, 0xfa, 0xc1, 0x25, 0x85, + 0xf5, 0xbe, 0x6f, 0xab, 0xfb, 0x9a, 0xba, 0xbe, 0xcb, 0xc2, 0x76, 0x44, 0x25, 0x0c, 0x4c, 0xdc, + 0xff, 0xfb, 0x29, 0x58, 0x0d, 0xef, 0x3a, 0xdb, 0x03, 0xdb, 0x55, 0x25, 0xad, 0xe1, 0x67, 0x48, + 0xfb, 0x8e, 0x3d, 0x0e, 0x3f, 0xeb, 0xb7, 0x0e, 0x65, 0xcb, 0x37, 0x07, 0x0d, 0xd7, 0xda, 0xf6, + 0xbd, 0xb1, 0x6a, 0xb6, 0x3a, 0x70, 0x52, 0xa5, 0xb4, 0xcf, 0xc5, 0x31, 0x92, 0x8f, 0x85, 0xcf, + 0xb2, 0x54, 0x3b, 0x36, 0x34, 0x7d, 0xdb, 0x1d, 0xb4, 0xce, 0xa5, 0x70, 0x03, 0x55, 0x52, 0x5b, + 0x86, 0xc2, 0x24, 0x10, 0x7d, 0x33, 0x10, 0x2c, 0x8f, 0xc0, 0xf1, 0xc4, 0x76, 0xa4, 0xed, 0xaa, + 0xaf, 0xe9, 0x45, 0x35, 0xb3, 0x45, 0xec, 0x99, 0x39, 0xb6, 0x59, 0xe9, 0xfe, 0xef, 0xa5, 0xa0, + 0x4c, 0x6a, 0x11, 0xa7, 0x54, 0x63, 0x97, 0xa3, 0x0c, 0x85, 0xbd, 0xe8, 0xb3, 0x6a, 0x79, 0x48, + 0x77, 0x4e, 0x55, 0x4a, 0x55, 0xab, 0x85, 0xba, 0xb2, 0xa8, 0xbe, 0xb0, 0x96, 0xe5, 0x9f, 0x83, + 0x1b, 0x86, 0x18, 0x79, 0x52, 0x3c, 0x33, 0x6d, 0x99, 0xbc, 0x9e, 0x92, 0xc3, 0xe8, 0x44, 0x3d, + 0x0a, 0xef, 0xa3, 0xe4, 0x29, 0x3a, 0xc1, 0xd7, 0x86, 0x98, 0x02, 0xf6, 0x9e, 0x30, 0x3a, 0x5c, + 0x29, 0x46, 0x24, 0x1f, 0x79, 0xb6, 0x8b, 0x6f, 0xa3, 0x8b, 0xb2, 0x84, 0xa1, 0xdc, 0x3c, 0xa2, + 0xe0, 0xfe, 0x01, 0xdc, 0x5c, 0x9c, 0x51, 0x56, 0x57, 0x68, 0xe9, 0x5b, 0xbe, 0x74, 0x61, 0xe1, + 0x99, 0x6f, 0xab, 0x9b, 0x90, 0x25, 0xc8, 0x75, 0x9e, 0xbb, 0xa4, 0x16, 0x1b, 0x50, 0x39, 0xf0, + 0x12, 0x3c, 0x2c, 0x73, 0xbf, 0x3f, 0x75, 0x08, 0x10, 0x0f, 0x4a, 0xd8, 0x88, 0x95, 0xc4, 0x65, + 0x9c, 0x94, 0x4a, 0x2f, 0xd3, 0xbf, 0x63, 0x50, 0x9f, 0x17, 0xd0, 0xc9, 0x77, 0x4b, 0x7d, 0x5e, + 0x20, 0x6a, 0x66, 0x56, 0x7d, 0x67, 0xc9, 0xed, 0x0b, 0x47, 0x58, 0x2c, 0x77, 0xff, 0x3d, 0x58, + 0xd7, 0x5d, 0xed, 0x8b, 0x20, 0x08, 0x2f, 0xb3, 0x1c, 0xfa, 0xf6, 0x99, 0xfa, 0x84, 0xc1, 0x2a, + 0x14, 0x0f, 0x85, 0x1f, 0x78, 0x2e, 0x7d, 0xbe, 0x01, 0x20, 0xdf, 0x1d, 0x9a, 0x3e, 0xbe, 0xe3, + 0xfe, 0xd7, 0xf4, 0x20, 0x3d, 0x39, 0x0f, 0xb7, 0x06, 0x5c, 0x3f, 0xfa, 0xeb, 0x25, 0xa6, 0x34, + 0x35, 0xb9, 0xf4, 0x85, 0x39, 0x62, 0xe9, 0xfb, 0x4d, 0x28, 0xd1, 0x5d, 0x98, 0xc7, 0xb6, 0x6b, + 0x61, 0xc7, 0xb7, 0x74, 0xdd, 0x36, 0x7d, 0x56, 0xe7, 0x8c, 0x86, 0xa3, 0xa8, 0x3e, 0x40, 0xca, + 0xd2, 0xfc, 0x26, 0x70, 0x0c, 0xb6, 0x47, 0x26, 0xdd, 0xe1, 0x74, 0x2e, 0xd4, 0xc7, 0x6a, 0x33, + 0xf7, 0xbf, 0x0d, 0x5c, 0xa5, 0x8c, 0x2c, 0x71, 0x6e, 0xbb, 0x83, 0xe8, 0x7a, 0x38, 0xd0, 0xb7, + 0x1e, 0x2c, 0x71, 0x1e, 0x5e, 0x64, 0x0a, 0x81, 0xf0, 0x8b, 0x13, 0x3b, 0xde, 0xc4, 0xc5, 0x46, + 0x3f, 0x85, 0xeb, 0x4a, 0xc5, 0xb0, 0x17, 0x74, 0x41, 0xf0, 0xd2, 0x38, 0x56, 0x5d, 0x64, 0x92, + 0x93, 0x20, 0xa2, 0x65, 0x29, 0x6c, 0x58, 0x14, 0x03, 0xc6, 0xf8, 0xf4, 0xfd, 0x3a, 0x5c, 0x5b, + 0x10, 0x88, 0x93, 0x51, 0x57, 0xe1, 0x08, 0x5b, 0xb9, 0xff, 0x21, 0x6c, 0x28, 0x33, 0x74, 0xa0, + 0xae, 0x70, 0x85, 0xc3, 0xf6, 0xac, 0xbd, 0xd3, 0x56, 0x23, 0xdd, 0x6c, 0xed, 0xed, 0x3d, 0xd9, + 0x6b, 0x18, 0x2c, 0x45, 0xfa, 0xd0, 0xe9, 0x1d, 0x35, 0x3b, 0x07, 0x07, 0xad, 0x66, 0xaf, 0xb5, + 0xcd, 0xd2, 0x5b, 0xf7, 0xff, 0xfd, 0xa7, 0x77, 0x52, 0x3f, 0xfb, 0xf4, 0x4e, 0xea, 0xbf, 0x7d, + 0x7a, 0x27, 0xf5, 0xa3, 0x9f, 0xdf, 0x59, 0xf9, 0xd9, 0xcf, 0xef, 0xac, 0xfc, 0xe7, 0x9f, 0xdf, + 0x59, 0xf9, 0x84, 0xcd, 0xfe, 0x47, 0x95, 0xe3, 0x3c, 0x79, 0xc0, 0x6f, 0xfd, 0xbf, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x5b, 0x16, 0x69, 0x36, 0x6c, 0x65, 0x00, 0x00, } func (m *SmartBlockSnapshotBase) Marshal() (dAtA []byte, err error) { @@ -13025,6 +13034,15 @@ func (m *AccountInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.EthereumAddress) > 0 { + i -= len(m.EthereumAddress) + copy(dAtA[i:], m.EthereumAddress) + i = encodeVarintModels(dAtA, i, uint64(len(m.EthereumAddress))) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xda + } if len(m.NetworkId) > 0 { i -= len(m.NetworkId) copy(dAtA[i:], m.NetworkId) @@ -17597,6 +17615,10 @@ func (m *AccountInfo) Size() (n int) { if l > 0 { n += 2 + l + sovModels(uint64(l)) } + l = len(m.EthereumAddress) + if l > 0 { + n += 2 + l + sovModels(uint64(l)) + } return n } @@ -26758,6 +26780,38 @@ func (m *AccountInfo) Unmarshal(dAtA []byte) error { } m.NetworkId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 107: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EthereumAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowModels + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthModels + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthModels + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EthereumAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipModels(dAtA[iNdEx:]) diff --git a/pkg/lib/pb/model/protos/models.proto b/pkg/lib/pb/model/protos/models.proto index 4488168c3..d554f2856 100644 --- a/pkg/lib/pb/model/protos/models.proto +++ b/pkg/lib/pb/model/protos/models.proto @@ -672,6 +672,7 @@ message Account { string timeZone = 104; // time zone from config string analyticsId = 105; string networkId = 106; // network id to which anytype is connected + string ethereumAddress = 107; // we have Any PK AND Ethereum PK derived from one seed phrase } message Auth { diff --git a/space/internal/components/migration/systemobjectreviser/systemobjectreviser.go b/space/internal/components/migration/systemobjectreviser/systemobjectreviser.go index 3f17938f8..8e92ec380 100644 --- a/space/internal/components/migration/systemobjectreviser/systemobjectreviser.go +++ b/space/internal/components/migration/systemobjectreviser/systemobjectreviser.go @@ -98,7 +98,7 @@ func reviseObject(ctx context.Context, log logger.CtxLogger, space dependencies. details := buildDiffDetails(bundleObject, localObject, isSystem) if isSystem { - recRelsDetails, err := checkRecommendedRelations(ctx, space, bundleObject, localObject) + recRelsDetails, err := checkRecommendedRelations(ctx, space, bundleObject, localObject, uk) if err != nil { log.Error("failed to check recommended relations", zap.Error(err)) } @@ -225,7 +225,7 @@ func checkRelationFormatObjectTypes( } func checkRecommendedRelations( - ctx context.Context, space dependencies.SpaceWithCtx, origin, current *domain.Details, + ctx context.Context, space dependencies.SpaceWithCtx, origin, current *domain.Details, uk domain.UniqueKey, ) (newValues []*domain.Detail, err error) { details := origin.CopyOnlyKeys( bundle.RelationKeyRecommendedRelations, @@ -233,7 +233,7 @@ func checkRecommendedRelations( bundle.RelationKeyUniqueKey, ) - _, filled, err := relationutils.FillRecommendedRelations(ctx, space, details) + _, filled, err := relationutils.FillRecommendedRelations(ctx, space, details, domain.TypeKey(uk.InternalKey())) if filled { return nil, nil }