diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index d75b3af69..4088ef0b4 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -10,7 +10,7 @@ on:
run-on-runner:
description: 'Specify the runner to use'
required: true
- default: 'ARM64'
+ default: 'arm64'
perf-test:
description: 'Run perf test times'
required: true
@@ -32,19 +32,19 @@ permissions:
name: Build
jobs:
build:
- runs-on: ${{ github.event_name == 'push' && 'macos-12' || (github.event.inputs.run-on-runner || 'ARM64') }}
+ runs-on: ${{ github.event_name == 'push' && 'arm64' || (github.event.inputs.run-on-runner || 'arm64') }}
steps:
- name: validate agent
run: |
- if [[ "${{ github.event_name }}" == "workflow_dispatch" && "${{ github.event.inputs.run-on-runner }}" != "ARM64" ]]; then
+ if [[ "${{ github.event_name }}" == "workflow_dispatch" && "${{ github.event.inputs.run-on-runner }}" != "arm64" ]]; then
echo "Invalid runner"
exit 1
fi
- name: Install Go
uses: actions/setup-go@v1
with:
- go-version: 1.22.8
- if: github.event.inputs.run-on-runner != 'ARM64' && github.event_name != 'schedule'
+ go-version: 1.23.2
+ if: runner.name != 'mac-mini-org-heart'
- name: Setup GO
run: |
go version
@@ -61,7 +61,12 @@ jobs:
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_CLEANUP=1 brew install grpcurl
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_CLEANUP=1 brew tap messense/macos-cross-toolchains && brew install x86_64-unknown-linux-musl
npm i -g node-gyp
- if: github.event.inputs.run-on-runner != 'ARM64' && github.event_name != 'schedule'
+ echo "Azaza"
+ protoc --version
+ which x86_64-w64-mingw32-gcc
+ which protoc
+ echo "Azaza2"
+ if: runner.name != 'mac-mini-org-heart'
- name: Checkout
uses: actions/checkout@v3
- uses: actions/cache@v3
@@ -73,7 +78,7 @@ jobs:
${{ runner.os }}-go-${{ matrix.go-version }}-
- name: Install old MacOS SDK (for backward compatibility of CGO)
run: source .github/install_macos_sdk.sh 10.15
- if: github.event.inputs.run-on-runner != 'ARM64' && github.event_name != 'schedule'
+ if: runner.name != 'mac-mini-org-heart'
- name: Set env vars
env:
UNSPLASH_KEY: ${{ secrets.UNSPLASH_KEY }}
@@ -133,14 +138,14 @@ jobs:
TEST_MNEMONIC: ${{ secrets.TEST_MNEMONIC }}
PROM_KEY: ${{ secrets.PROMETHEUS_USERNAME }}
PROM_PASSWORD: ${{ secrets.PROMETHEUS_PASSWORD }}
- if: github.event.inputs.perf-test != '0' || github.event_name == 'schedule'
+ if: github.event.inputs.perf-test != '0'
- name: Archive perf tests results
uses: actions/upload-artifact@v4
with:
name: pprofs
path: |
*.pprof
- if: github.event.inputs.perf-test != '0' || github.event_name == 'schedule'
+ if: github.event.inputs.perf-test != '0'
- name: end run perf tests
run: |
rm -rf *.pprof
@@ -149,7 +154,7 @@ jobs:
gh run watch ${{ github.run_id }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- if: github.event.inputs.perf-test != '0' || github.event_name == 'schedule'
+ if: github.event.inputs.perf-test != '0'
- name: Make JS protos
run: |
make protos-js
@@ -252,7 +257,7 @@ jobs:
cp pkg/lib/bundle/internalTypes.json ./json
- name: Compile android lib
run: |
- gomobile bind -tags "envproduction nogrpcserver gomobile nowatchdog nosigar nomutexdeadlockdetector timetzdata rasterizesvg" -ldflags "$FLAGS" -v -target=android -androidapi 19 -o lib.aar github.com/anyproto/anytype-heart/clientlibrary/service github.com/anyproto/anytype-heart/core || true
+ gomobile bind -tags "envproduction nogrpcserver gomobile nowatchdog nosigar nomutexdeadlockdetector timetzdata rasterizesvg" -ldflags "$FLAGS" -v -target=android -androidapi 26 -o lib.aar github.com/anyproto/anytype-heart/clientlibrary/service github.com/anyproto/anytype-heart/core || true
gtar --exclude ".*" -czvf android_lib_${VERSION}.tar.gz lib.aar protobuf json
mv android_lib_${VERSION}.tar.gz .release/
- name: Publish android lib to maven
diff --git a/Makefile b/Makefile
index e1b6c6906..c6a8c676a 100644
--- a/Makefile
+++ b/Makefile
@@ -160,7 +160,7 @@ build-android: setup-go setup-gomobile
ifdef ANY_SYNC_NETWORK
@$(eval TAGS := $(TAGS) envnetworkcustom)
endif
- gomobile bind -tags "$(TAGS)" -ldflags "$(FLAGS)" $(BUILD_FLAGS) -target=android -androidapi 19 -o lib.aar github.com/anyproto/anytype-heart/clientlibrary/service github.com/anyproto/anytype-heart/core
+ gomobile bind -tags "$(TAGS)" -ldflags "$(FLAGS)" $(BUILD_FLAGS) -target=android -androidapi 26 -o lib.aar github.com/anyproto/anytype-heart/clientlibrary/service github.com/anyproto/anytype-heart/core
@mkdir -p dist/android/ && mv lib.aar dist/android/
@go mod tidy
diff --git a/clientlibrary/clib/main.go b/clientlibrary/clib/main.go
index e98418942..f195529fb 100644
--- a/clientlibrary/clib/main.go
+++ b/clientlibrary/clib/main.go
@@ -44,11 +44,6 @@ func RunDebugServer(addr *C.char) {
service.RunDebugServer(C.GoString(addr))
}
-//export SetLogLevels
-func SetLogLevels(levels *C.char) {
- service.SetLogLevels(C.GoString(levels))
-}
-
//export Command
func Command(cmd *C.char, data unsafe.Pointer, dataLen C.int, callback C.proxyFunc, callbackContext unsafe.Pointer) {
service.CommandAsync(C.GoString(cmd), C.GoBytes(data, dataLen), func(data []byte) {
diff --git a/clientlibrary/service/lib.go b/clientlibrary/service/lib.go
index fcbeec9ee..de659dbb2 100644
--- a/clientlibrary/service/lib.go
+++ b/clientlibrary/service/lib.go
@@ -64,10 +64,6 @@ func RunDebugServer(addr string) {
})
}
-func SetLogLevels(levels string) {
- logging.SetLogLevels(levels)
-}
-
func SetEnv(key, value string) {
os.Setenv(key, value)
}
diff --git a/clientlibrary/service/service.pb.go b/clientlibrary/service/service.pb.go
index 431b00fc9..dedfecbd1 100644
--- a/clientlibrary/service/service.pb.go
+++ b/clientlibrary/service/service.pb.go
@@ -25,330 +25,332 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
func init() { proto.RegisterFile("pb/protos/service/service.proto", fileDescriptor_93a29dc403579097) }
var fileDescriptor_93a29dc403579097 = []byte{
- // 5164 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x9d, 0x5b, 0x6f, 0x24, 0x49,
- 0x56, 0xf8, 0xa7, 0x5e, 0xfe, 0xf3, 0x27, 0x97, 0x1d, 0xa0, 0x06, 0x86, 0xd9, 0x61, 0xb7, 0xbb,
- 0xa7, 0x6f, 0xee, 0x6e, 0xdb, 0xe9, 0x9e, 0xee, 0xe9, 0x99, 0xd5, 0x2e, 0x12, 0x72, 0xdb, 0x6d,
- 0x8f, 0x59, 0xdb, 0x6d, 0x5c, 0xe5, 0x6e, 0x69, 0x24, 0x24, 0xc2, 0x99, 0xe1, 0x72, 0xe2, 0xac,
- 0x8c, 0xdc, 0xcc, 0xa8, 0x72, 0xd7, 0x22, 0x10, 0x08, 0x04, 0x02, 0x81, 0x58, 0x71, 0x7b, 0x45,
- 0xe2, 0x89, 0x8f, 0xc2, 0xe3, 0x3e, 0xf2, 0x88, 0x66, 0xf8, 0x20, 0x28, 0x23, 0x22, 0xe3, 0x72,
- 0x32, 0x4e, 0x64, 0x7a, 0x9f, 0xba, 0x55, 0xe7, 0x77, 0xce, 0x89, 0xeb, 0x89, 0x13, 0x91, 0x91,
- 0xe9, 0xe8, 0x76, 0x79, 0xbe, 0x55, 0x56, 0x8c, 0xb3, 0x7a, 0xab, 0xa6, 0xd5, 0x32, 0x4b, 0x68,
- 0xfb, 0x6f, 0x2c, 0x7e, 0x1e, 0xbf, 0x4f, 0x8a, 0x15, 0x5f, 0x95, 0xf4, 0x93, 0x8f, 0x0d, 0x99,
- 0xb0, 0xf9, 0x9c, 0x14, 0x69, 0x2d, 0x91, 0x4f, 0x3e, 0x32, 0x12, 0xba, 0xa4, 0x05, 0x57, 0xbf,
- 0x3f, 0xfb, 0xcf, 0xff, 0x1d, 0x45, 0x1f, 0xec, 0xe4, 0x19, 0x2d, 0xf8, 0x8e, 0xd2, 0x18, 0x7f,
- 0x1d, 0x7d, 0x77, 0xbb, 0x2c, 0xf7, 0x29, 0x7f, 0x43, 0xab, 0x3a, 0x63, 0xc5, 0xf8, 0x5e, 0xac,
- 0x1c, 0xc4, 0xa7, 0x65, 0x12, 0x6f, 0x97, 0x65, 0x6c, 0x84, 0xf1, 0x29, 0xfd, 0xe9, 0x82, 0xd6,
- 0xfc, 0x93, 0xfb, 0x61, 0xa8, 0x2e, 0x59, 0x51, 0xd3, 0xf1, 0x45, 0xf4, 0x1b, 0xdb, 0x65, 0x39,
- 0xa1, 0x7c, 0x97, 0x36, 0x15, 0x98, 0x70, 0xc2, 0xe9, 0x78, 0xad, 0xa3, 0xea, 0x02, 0xda, 0xc7,
- 0xa3, 0x7e, 0x50, 0xf9, 0x99, 0x46, 0xdf, 0x69, 0xfc, 0x5c, 0x2e, 0x78, 0xca, 0xae, 0x8b, 0xf1,
- 0xa7, 0x5d, 0x45, 0x25, 0xd2, 0xb6, 0xef, 0x86, 0x10, 0x65, 0xf5, 0x6d, 0xf4, 0xab, 0x6f, 0x49,
- 0x9e, 0x53, 0xbe, 0x53, 0xd1, 0xa6, 0xe0, 0xae, 0x8e, 0x14, 0xc5, 0x52, 0xa6, 0xed, 0xde, 0x0b,
- 0x32, 0xca, 0xf0, 0xd7, 0xd1, 0x77, 0xa5, 0xe4, 0x94, 0x26, 0x6c, 0x49, 0xab, 0xb1, 0x57, 0x4b,
- 0x09, 0x91, 0x26, 0xef, 0x40, 0xd0, 0xf6, 0x0e, 0x2b, 0x96, 0xb4, 0xe2, 0x7e, 0xdb, 0x4a, 0x18,
- 0xb6, 0x6d, 0x20, 0x65, 0xfb, 0x6f, 0x47, 0xd1, 0xf7, 0xb7, 0x93, 0x84, 0x2d, 0x0a, 0x7e, 0xc8,
- 0x12, 0x92, 0x1f, 0x66, 0xc5, 0xd5, 0x31, 0xbd, 0xde, 0xb9, 0x6c, 0xf8, 0x62, 0x46, 0xc7, 0xcf,
- 0xdd, 0x56, 0x95, 0x68, 0xac, 0xd9, 0xd8, 0x86, 0xb5, 0xef, 0xcf, 0x6f, 0xa6, 0xa4, 0xca, 0xf2,
- 0x8f, 0xa3, 0xe8, 0x16, 0x2c, 0xcb, 0x84, 0xe5, 0x4b, 0x6a, 0x4a, 0xf3, 0xa2, 0xc7, 0xb0, 0x8b,
- 0xeb, 0xf2, 0x7c, 0x71, 0x53, 0x35, 0x55, 0xa2, 0x3c, 0xfa, 0xd0, 0x1e, 0x2e, 0x13, 0x5a, 0x8b,
- 0xe9, 0xf4, 0x18, 0x1f, 0x11, 0x0a, 0xd1, 0x9e, 0x9f, 0x0c, 0x41, 0x95, 0xb7, 0x2c, 0x1a, 0x2b,
- 0x6f, 0x39, 0xab, 0xb5, 0xb3, 0x47, 0x5e, 0x0b, 0x16, 0xa1, 0x7d, 0x3d, 0x1e, 0x40, 0x2a, 0x57,
- 0x7f, 0x14, 0xfd, 0xda, 0x5b, 0x56, 0x5d, 0xd5, 0x25, 0x49, 0xa8, 0x9a, 0x0a, 0x0f, 0x5c, 0xed,
- 0x56, 0x0a, 0x67, 0xc3, 0xc3, 0x3e, 0xcc, 0x1a, 0xb4, 0xad, 0xf0, 0x75, 0x49, 0x61, 0x0c, 0x32,
- 0x8a, 0x8d, 0x10, 0x1b, 0xb4, 0x10, 0x52, 0xb6, 0xaf, 0xa2, 0xb1, 0xb1, 0x7d, 0xfe, 0xc7, 0x34,
- 0xe1, 0xdb, 0x69, 0x0a, 0x7b, 0xc5, 0xe8, 0x0a, 0x22, 0xde, 0x4e, 0x53, 0xac, 0x57, 0xfc, 0xa8,
- 0x72, 0x76, 0x1d, 0x7d, 0x04, 0x9c, 0x1d, 0x66, 0xb5, 0x70, 0xb8, 0x19, 0xb6, 0xa2, 0x30, 0xed,
- 0x34, 0x1e, 0x8a, 0x2b, 0xc7, 0x7f, 0x3e, 0x8a, 0xbe, 0xe7, 0xf1, 0x7c, 0x4a, 0xe7, 0x6c, 0x49,
- 0xc7, 0x4f, 0xfb, 0xad, 0x49, 0x52, 0xfb, 0xff, 0xec, 0x06, 0x1a, 0x9e, 0x61, 0x32, 0xa1, 0x39,
- 0x4d, 0x38, 0x3a, 0x4c, 0xa4, 0xb8, 0x77, 0x98, 0x68, 0xcc, 0x9a, 0x61, 0xad, 0x70, 0x9f, 0xf2,
- 0x9d, 0x45, 0x55, 0xd1, 0x82, 0xa3, 0x7d, 0x69, 0x90, 0xde, 0xbe, 0x74, 0x50, 0x4f, 0x7d, 0xf6,
- 0x29, 0xdf, 0xce, 0x73, 0xb4, 0x3e, 0x52, 0xdc, 0x5b, 0x1f, 0x8d, 0x29, 0x0f, 0x49, 0xf4, 0xeb,
- 0x56, 0x8b, 0xf1, 0x83, 0xe2, 0x82, 0x8d, 0xf1, 0xb6, 0x10, 0x72, 0xed, 0x63, 0xad, 0x97, 0xf3,
- 0x54, 0xe3, 0xd5, 0xbb, 0x92, 0x55, 0x78, 0xb7, 0x48, 0x71, 0x6f, 0x35, 0x34, 0xa6, 0x3c, 0xfc,
- 0x61, 0xf4, 0x81, 0x8a, 0x92, 0xed, 0x7a, 0x76, 0xdf, 0x1b, 0x42, 0xe1, 0x82, 0xf6, 0xa0, 0x87,
- 0x32, 0xc1, 0x41, 0xc9, 0x54, 0xf0, 0xb9, 0xe7, 0xd5, 0x03, 0xa1, 0xe7, 0x7e, 0x18, 0xea, 0xd8,
- 0xde, 0xa5, 0x39, 0x45, 0x6d, 0x4b, 0x61, 0x8f, 0x6d, 0x0d, 0x29, 0xdb, 0x55, 0xf4, 0x5b, 0xba,
- 0x59, 0x9a, 0x75, 0x54, 0xc8, 0x9b, 0x20, 0xbd, 0x8e, 0xd4, 0xdb, 0x86, 0xb4, 0xaf, 0x8d, 0x61,
- 0x70, 0xa7, 0x3e, 0x6a, 0x06, 0xfa, 0xeb, 0x03, 0xe6, 0xdf, 0xfd, 0x30, 0xa4, 0x6c, 0xff, 0xdd,
- 0x28, 0xfa, 0x81, 0x92, 0xbd, 0x2a, 0xc8, 0x79, 0x4e, 0xc5, 0x92, 0x78, 0x4c, 0xf9, 0x35, 0xab,
- 0xae, 0x26, 0xab, 0x22, 0x41, 0x96, 0x7f, 0x3f, 0xdc, 0xb3, 0xfc, 0xa3, 0x4a, 0x56, 0xc6, 0xa7,
- 0x2a, 0xca, 0x59, 0x09, 0x33, 0xbe, 0xb6, 0x06, 0x9c, 0x95, 0x58, 0xc6, 0xe7, 0x22, 0x1d, 0xab,
- 0x47, 0x4d, 0xd8, 0xf4, 0x5b, 0x3d, 0xb2, 0xe3, 0xe4, 0xdd, 0x10, 0x62, 0xc2, 0x56, 0x3b, 0x80,
- 0x59, 0x71, 0x91, 0xcd, 0xce, 0xca, 0xb4, 0x19, 0xc6, 0x8f, 0xfd, 0x23, 0xd4, 0x42, 0x90, 0xb0,
- 0x85, 0xa0, 0xca, 0xdb, 0x3f, 0x98, 0xc4, 0x48, 0x4d, 0xa5, 0xbd, 0x8a, 0xcd, 0x0f, 0xe9, 0x8c,
- 0x24, 0x2b, 0x35, 0xff, 0x3f, 0x0f, 0x4d, 0x3c, 0x48, 0xeb, 0x42, 0xbc, 0xb8, 0xa1, 0x96, 0x2a,
- 0xcf, 0xbf, 0x8f, 0xa2, 0xfb, 0x6d, 0xf5, 0x2f, 0x49, 0x31, 0xa3, 0xaa, 0x3f, 0x65, 0xe9, 0xb7,
- 0x8b, 0xf4, 0x94, 0xd6, 0x9c, 0x54, 0x7c, 0xfc, 0x23, 0x7f, 0x25, 0x43, 0x3a, 0xba, 0x6c, 0x3f,
- 0xfe, 0xa5, 0x74, 0x4d, 0xaf, 0x4f, 0x9a, 0xc0, 0xa6, 0x42, 0x80, 0xdb, 0xeb, 0x42, 0x02, 0x03,
- 0xc0, 0xdd, 0x10, 0x62, 0x7a, 0x5d, 0x08, 0x0e, 0x8a, 0x65, 0xc6, 0xe9, 0x3e, 0x2d, 0x68, 0xd5,
- 0xed, 0x75, 0xa9, 0xea, 0x22, 0x48, 0xaf, 0x23, 0xa8, 0x09, 0x36, 0x8e, 0x37, 0xbd, 0x38, 0xae,
- 0x07, 0x8c, 0x74, 0x96, 0xc7, 0x8d, 0x61, 0xb0, 0xd9, 0xdd, 0x59, 0x3e, 0x4f, 0xe9, 0x92, 0x5d,
- 0xc1, 0xdd, 0x9d, 0x6d, 0x42, 0x02, 0xc8, 0xee, 0xce, 0x0b, 0x9a, 0x15, 0xcc, 0xf2, 0xf3, 0x26,
- 0xa3, 0xd7, 0x60, 0x05, 0xb3, 0x95, 0x1b, 0x31, 0xb2, 0x82, 0x79, 0x30, 0xe5, 0xe1, 0x38, 0xfa,
- 0x15, 0x21, 0xfc, 0x7d, 0x96, 0x15, 0xe3, 0xdb, 0x1e, 0xa5, 0x46, 0xa0, 0xad, 0xde, 0xc1, 0x01,
- 0x50, 0xe2, 0xe6, 0xd7, 0x1d, 0x52, 0x24, 0x34, 0xf7, 0x96, 0xd8, 0x88, 0x83, 0x25, 0x76, 0x30,
- 0x93, 0x3a, 0x08, 0x61, 0x13, 0xbf, 0x26, 0x97, 0xa4, 0xca, 0x8a, 0xd9, 0xd8, 0xa7, 0x6b, 0xc9,
- 0x91, 0xd4, 0xc1, 0xc7, 0x81, 0x21, 0xac, 0x14, 0xb7, 0xcb, 0xb2, 0x6a, 0xc2, 0xa2, 0x6f, 0x08,
- 0xbb, 0x48, 0x70, 0x08, 0x77, 0x50, 0xbf, 0xb7, 0x5d, 0x9a, 0xe4, 0x59, 0x11, 0xf4, 0xa6, 0x90,
- 0x21, 0xde, 0x0c, 0x0a, 0x06, 0xef, 0x21, 0x25, 0x4b, 0xda, 0xd6, 0xcc, 0xd7, 0x32, 0x36, 0x10,
- 0x1c, 0xbc, 0x00, 0x34, 0xfb, 0x34, 0x21, 0x3e, 0x22, 0x57, 0xb4, 0x69, 0x60, 0xda, 0xac, 0x6b,
- 0x63, 0x9f, 0xbe, 0x43, 0x20, 0xfb, 0x34, 0x3f, 0xa9, 0x5c, 0x2d, 0xa2, 0x8f, 0x84, 0xfc, 0x84,
- 0x54, 0x3c, 0x4b, 0xb2, 0x92, 0x14, 0x6d, 0xfe, 0xef, 0x9b, 0xd7, 0x1d, 0x4a, 0xbb, 0xdc, 0x1c,
- 0x48, 0x2b, 0xb7, 0xff, 0x36, 0x8a, 0x3e, 0x85, 0x7e, 0x4f, 0x68, 0x35, 0xcf, 0xc4, 0x36, 0xb2,
- 0x96, 0x41, 0x78, 0xfc, 0x65, 0xd8, 0x68, 0x47, 0x41, 0x97, 0xe6, 0x87, 0x37, 0x57, 0x54, 0x05,
- 0xfb, 0x83, 0x28, 0x92, 0xdb, 0x15, 0xb1, 0xa5, 0x74, 0x67, 0xad, 0xda, 0xc7, 0x38, 0xfb, 0xc9,
- 0x4f, 0x03, 0x84, 0x59, 0x2a, 0xe4, 0xef, 0x62, 0xa7, 0x3c, 0xf6, 0x6a, 0x08, 0x11, 0xb2, 0x54,
- 0x00, 0x04, 0x16, 0x74, 0x72, 0xc9, 0xae, 0xfd, 0x05, 0x6d, 0x24, 0xe1, 0x82, 0x2a, 0xc2, 0x9c,
- 0x5d, 0xa9, 0x82, 0xfa, 0xce, 0xae, 0xda, 0x62, 0x84, 0xce, 0xae, 0x20, 0xa3, 0x0c, 0xb3, 0xe8,
- 0x37, 0x6d, 0xc3, 0x2f, 0x19, 0xbb, 0x9a, 0x93, 0xea, 0x6a, 0xfc, 0x04, 0x57, 0x6e, 0x19, 0xed,
- 0x68, 0x7d, 0x10, 0x6b, 0xc2, 0x82, 0xed, 0xb0, 0x49, 0x34, 0xce, 0xaa, 0x1c, 0x84, 0x05, 0xc7,
- 0x86, 0x42, 0x90, 0xb0, 0x80, 0xa0, 0x26, 0x72, 0xdb, 0xde, 0x26, 0x14, 0xee, 0x96, 0x1c, 0xf5,
- 0x09, 0xc5, 0x76, 0x4b, 0x1e, 0x0c, 0x0e, 0xa1, 0xfd, 0x8a, 0x94, 0x97, 0xfe, 0x21, 0x24, 0x44,
- 0xe1, 0x21, 0xd4, 0x22, 0xb0, 0xbf, 0x27, 0x94, 0x54, 0xc9, 0xa5, 0xbf, 0xbf, 0xa5, 0x2c, 0xdc,
- 0xdf, 0x9a, 0x81, 0xfd, 0x2d, 0x05, 0x6f, 0x33, 0x7e, 0x79, 0x44, 0x39, 0xf1, 0xf7, 0xb7, 0xcb,
- 0x84, 0xfb, 0xbb, 0xc3, 0x9a, 0x4c, 0xc6, 0x76, 0x38, 0x59, 0x9c, 0xd7, 0x49, 0x95, 0x9d, 0xd3,
- 0x71, 0xc0, 0x8a, 0x86, 0x90, 0x4c, 0x06, 0x85, 0x95, 0xcf, 0x9f, 0x8f, 0xa2, 0xdb, 0x6d, 0xb7,
- 0xb3, 0xba, 0x96, 0x2b, 0x2b, 0x70, 0xff, 0xc2, 0xdf, 0xbf, 0x08, 0x8e, 0x9c, 0x26, 0x0e, 0x50,
- 0xb3, 0xa2, 0xaa, 0xbf, 0x48, 0x67, 0x45, 0xad, 0x0b, 0xf5, 0xe5, 0x10, 0xeb, 0x96, 0x02, 0x12,
- 0x55, 0x07, 0x29, 0x9a, 0x05, 0x4d, 0xf5, 0x4f, 0x2b, 0x3b, 0x48, 0x6b, 0xb0, 0xa0, 0xb5, 0xed,
- 0x6d, 0x11, 0xc8, 0x82, 0xe6, 0x27, 0xe1, 0x50, 0xd8, 0xaf, 0xd8, 0xa2, 0xac, 0x7b, 0x86, 0x02,
- 0x80, 0xc2, 0x43, 0xa1, 0x0b, 0x2b, 0x9f, 0xef, 0xa2, 0xdf, 0xb6, 0x87, 0x9f, 0xdd, 0xd8, 0x9b,
- 0xf8, 0x98, 0xf2, 0x35, 0x71, 0x3c, 0x14, 0x37, 0x29, 0x5d, 0xeb, 0x99, 0xef, 0x52, 0x4e, 0xb2,
- 0xbc, 0x1e, 0x3f, 0xf4, 0xdb, 0x68, 0xe5, 0x48, 0x4a, 0xe7, 0xe3, 0x60, 0x7c, 0xdb, 0x5d, 0x94,
- 0x79, 0x96, 0x74, 0xcf, 0x72, 0x95, 0xae, 0x16, 0x87, 0xe3, 0x9b, 0x8d, 0xc1, 0x78, 0x3d, 0xa1,
- 0x5c, 0xfe, 0x67, 0xba, 0x2a, 0xa9, 0x3f, 0x5e, 0x3b, 0x48, 0x38, 0x5e, 0x43, 0x14, 0xd6, 0x67,
- 0x42, 0xf9, 0x21, 0x59, 0xb1, 0x05, 0x12, 0xaf, 0xb5, 0x38, 0x5c, 0x1f, 0x1b, 0x33, 0x59, 0x95,
- 0xf6, 0x70, 0x50, 0x70, 0x5a, 0x15, 0x24, 0xdf, 0xcb, 0xc9, 0xac, 0x1e, 0x23, 0x31, 0xc6, 0xa5,
- 0x90, 0xac, 0x0a, 0xa7, 0x3d, 0xcd, 0x78, 0x50, 0xef, 0x91, 0x25, 0xab, 0x32, 0x8e, 0x37, 0xa3,
- 0x41, 0x7a, 0x9b, 0xd1, 0x41, 0xbd, 0xde, 0xb6, 0xab, 0xe4, 0x32, 0x5b, 0xd2, 0x34, 0xe0, 0xad,
- 0x45, 0x06, 0x78, 0xb3, 0x50, 0x4f, 0xa7, 0x4d, 0xd8, 0xa2, 0x4a, 0x28, 0xda, 0x69, 0x52, 0xdc,
- 0xdb, 0x69, 0x1a, 0x53, 0x1e, 0xfe, 0x6a, 0x14, 0xfd, 0x8e, 0x94, 0xda, 0x07, 0xac, 0xbb, 0xa4,
- 0xbe, 0x3c, 0x67, 0xa4, 0x4a, 0xc7, 0x9f, 0xf9, 0xec, 0x78, 0x51, 0xed, 0xfa, 0xd9, 0x4d, 0x54,
- 0x60, 0xb3, 0x1e, 0x66, 0xb5, 0x35, 0xe3, 0xbc, 0xcd, 0xea, 0x20, 0xe1, 0x66, 0x85, 0x28, 0x0c,
- 0x20, 0x42, 0x2e, 0x0f, 0x33, 0x1e, 0xa2, 0xfa, 0xee, 0x89, 0xc6, 0x5a, 0x2f, 0x07, 0xe3, 0x63,
- 0x23, 0x74, 0x47, 0xcb, 0x26, 0x66, 0xc3, 0x3f, 0x62, 0xe2, 0xa1, 0x38, 0xea, 0x59, 0xcf, 0x8a,
- 0xb0, 0xe7, 0xce, 0xcc, 0x88, 0x87, 0xe2, 0x88, 0x67, 0x2b, 0xac, 0x85, 0x3c, 0x7b, 0x42, 0x5b,
- 0x3c, 0x14, 0x87, 0xd9, 0x97, 0x62, 0xda, 0x75, 0xe1, 0x49, 0xc0, 0x0e, 0x5c, 0x1b, 0xd6, 0x07,
- 0xb1, 0xca, 0xe1, 0xdf, 0x8c, 0xa2, 0xef, 0x1b, 0x8f, 0x47, 0x2c, 0xcd, 0x2e, 0x56, 0x12, 0x7a,
- 0x43, 0xf2, 0x05, 0xad, 0xc7, 0xcf, 0x30, 0x6b, 0x5d, 0x56, 0x97, 0xe0, 0xf9, 0x8d, 0x74, 0xe0,
- 0xdc, 0xd9, 0x2e, 0xcb, 0x7c, 0x35, 0xa5, 0xf3, 0x32, 0x47, 0xe7, 0x8e, 0x83, 0x84, 0xe7, 0x0e,
- 0x44, 0x61, 0x56, 0x3e, 0x65, 0x4d, 0xce, 0xef, 0xcd, 0xca, 0x85, 0x28, 0x9c, 0x95, 0xb7, 0x08,
- 0xcc, 0x95, 0xa6, 0x6c, 0x87, 0xe5, 0x39, 0x4d, 0x78, 0xf7, 0x21, 0xad, 0xd6, 0x34, 0x44, 0x38,
- 0x57, 0x02, 0xa4, 0x39, 0xcf, 0x68, 0xf7, 0x90, 0xa4, 0xa2, 0x2f, 0x57, 0x87, 0x59, 0x71, 0x35,
- 0xf6, 0xa7, 0x05, 0x06, 0x40, 0xce, 0x33, 0xbc, 0x20, 0xdc, 0xab, 0x9e, 0x15, 0x29, 0xf3, 0xef,
- 0x55, 0x1b, 0x49, 0x78, 0xaf, 0xaa, 0x08, 0x68, 0xf2, 0x94, 0x62, 0x26, 0x1b, 0x49, 0xd8, 0xa4,
- 0x22, 0x7c, 0xa1, 0x50, 0x9d, 0x7a, 0xa3, 0xa1, 0x10, 0x9c, 0x73, 0xaf, 0xf5, 0x72, 0x70, 0x84,
- 0xb6, 0x9b, 0xd6, 0x3d, 0xca, 0x93, 0x4b, 0xff, 0x08, 0x75, 0x90, 0xf0, 0x08, 0x85, 0x28, 0xac,
- 0xd2, 0x94, 0xe9, 0x4d, 0xf7, 0x43, 0xff, 0xf8, 0xe8, 0x6c, 0xb8, 0xd7, 0x7a, 0x39, 0xb8, 0x8d,
- 0x3c, 0x98, 0x8b, 0x36, 0xf3, 0x0e, 0x72, 0x29, 0x0b, 0x6f, 0x23, 0x35, 0x03, 0x4b, 0x2f, 0x05,
- 0x4d, 0x73, 0xfa, 0x4b, 0x6f, 0xe4, 0xe1, 0xd2, 0x3b, 0x9c, 0x72, 0xf2, 0x2f, 0x7a, 0x1b, 0x27,
- 0xa5, 0xc7, 0xac, 0x99, 0x23, 0x6f, 0x48, 0x9e, 0xa5, 0x84, 0xd3, 0x29, 0xbb, 0xa2, 0x85, 0x7f,
- 0xc7, 0xa4, 0x4a, 0x2b, 0xf9, 0xd8, 0x51, 0x08, 0xef, 0x98, 0xc2, 0x8a, 0x70, 0x9c, 0x48, 0xfa,
- 0xac, 0xa6, 0x3b, 0xa4, 0x46, 0x22, 0x99, 0x83, 0x84, 0xc7, 0x09, 0x44, 0x61, 0xbe, 0x2a, 0xe5,
- 0xaf, 0xde, 0x95, 0xb4, 0xca, 0x68, 0x91, 0x50, 0x7f, 0xbe, 0x0a, 0xa9, 0x70, 0xbe, 0xea, 0xa1,
- 0x3b, 0xc7, 0x34, 0x3a, 0x38, 0x75, 0xef, 0x59, 0x40, 0x22, 0x70, 0xcf, 0x02, 0x41, 0x61, 0x25,
- 0x0d, 0xe0, 0x3d, 0xea, 0xec, 0x58, 0x09, 0x1e, 0x75, 0xe2, 0x74, 0xe7, 0xf0, 0x4b, 0x33, 0x93,
- 0x66, 0x9a, 0xf4, 0x14, 0x7d, 0x62, 0x4f, 0x97, 0xf5, 0x41, 0xac, 0xff, 0xb4, 0xed, 0x94, 0xe6,
- 0x44, 0x2c, 0x21, 0x81, 0x23, 0xad, 0x96, 0x19, 0x72, 0xda, 0x66, 0xb1, 0xca, 0xe1, 0x5f, 0x8c,
- 0xa2, 0x4f, 0x7c, 0x1e, 0x5f, 0x97, 0xc2, 0xef, 0xd3, 0x7e, 0x5b, 0x92, 0x44, 0x2e, 0x92, 0x84,
- 0x35, 0x54, 0x19, 0xfe, 0x24, 0xfa, 0xb8, 0x15, 0x99, 0x7b, 0x26, 0xaa, 0x00, 0x6e, 0x02, 0xa5,
- 0xcb, 0x0f, 0x39, 0xed, 0x7e, 0x6b, 0x30, 0x6f, 0xf6, 0x26, 0x6e, 0xb9, 0x6a, 0xb0, 0x37, 0xd1,
- 0x36, 0x94, 0x18, 0xd9, 0x9b, 0x78, 0x30, 0x73, 0xaa, 0x61, 0x57, 0xef, 0x6d, 0xc6, 0x2f, 0x45,
- 0xee, 0x03, 0x4e, 0x35, 0x9c, 0xb2, 0x6a, 0x08, 0x39, 0xd5, 0x40, 0x61, 0x98, 0x1d, 0xb4, 0x60,
- 0x33, 0x37, 0x7d, 0x71, 0x55, 0x1b, 0xb2, 0x67, 0xe6, 0xa3, 0x7e, 0x10, 0x8e, 0xd7, 0x56, 0xac,
- 0xb6, 0x21, 0x4f, 0x42, 0x16, 0xc0, 0x56, 0x64, 0x7d, 0x10, 0xab, 0x1c, 0xfe, 0x59, 0xf4, 0xbd,
- 0x4e, 0xc5, 0xf6, 0x28, 0xe1, 0x8b, 0x8a, 0xa6, 0xe3, 0xad, 0x9e, 0x72, 0xb7, 0xa0, 0x76, 0xfd,
- 0x74, 0xb8, 0x42, 0x27, 0x5f, 0x6e, 0x39, 0x39, 0xac, 0x74, 0x19, 0x9e, 0x85, 0x4c, 0xba, 0x6c,
- 0x30, 0x5f, 0xc6, 0x75, 0x3a, 0x5b, 0x5e, 0x7b, 0x74, 0x6d, 0x2f, 0x49, 0x96, 0x8b, 0x47, 0x4e,
- 0x9f, 0x85, 0x8c, 0x3a, 0x68, 0x70, 0xcb, 0x8b, 0xaa, 0x74, 0x22, 0xb3, 0x98, 0xe3, 0xd6, 0x56,
- 0x69, 0x03, 0x8f, 0x04, 0x9e, 0x9d, 0xd2, 0xe6, 0x40, 0x5a, 0xb9, 0xe5, 0xed, 0x51, 0x61, 0xf3,
- 0xb3, 0x3d, 0xc8, 0x7d, 0x5e, 0x95, 0xaa, 0x67, 0xa4, 0x6f, 0x0e, 0xa4, 0x95, 0xd7, 0x3f, 0x8d,
- 0x3e, 0xee, 0x7a, 0x55, 0x0b, 0xd1, 0x56, 0xaf, 0x29, 0xb0, 0x16, 0x3d, 0x1d, 0xae, 0x60, 0xb6,
- 0x17, 0x5f, 0x65, 0x35, 0x67, 0xd5, 0x6a, 0x72, 0xc9, 0xae, 0xdb, 0xfb, 0xdb, 0xee, 0x6c, 0x55,
- 0x40, 0x6c, 0x11, 0xc8, 0xf6, 0xc2, 0x4f, 0x76, 0x5c, 0x99, 0x7b, 0xde, 0x35, 0xe2, 0xca, 0x22,
- 0x7a, 0x5c, 0xb9, 0xa4, 0x89, 0x55, 0x6d, 0xad, 0xcc, 0xa5, 0xf4, 0x35, 0x7f, 0x51, 0xbb, 0x17,
- 0xd3, 0x1f, 0xf5, 0x83, 0x26, 0x63, 0x51, 0xe2, 0xdd, 0xec, 0xe2, 0x42, 0xd7, 0xc9, 0x5f, 0x52,
- 0x1b, 0x41, 0x32, 0x16, 0x04, 0x35, 0x09, 0xf0, 0x5e, 0x96, 0x53, 0x71, 0xba, 0xfe, 0xfa, 0xe2,
- 0x22, 0x67, 0x24, 0x05, 0x09, 0x70, 0x23, 0x8e, 0x6d, 0x39, 0x92, 0x00, 0xfb, 0x38, 0x73, 0xfd,
- 0xab, 0x91, 0x9e, 0xd2, 0x84, 0x15, 0x49, 0x96, 0xc3, 0xeb, 0x6c, 0x42, 0x53, 0x0b, 0x91, 0xeb,
- 0x5f, 0x1d, 0xc8, 0x2c, 0x8c, 0x8d, 0xa8, 0x99, 0xf6, 0x6d, 0xf9, 0x1f, 0x74, 0x15, 0x2d, 0x31,
- 0xb2, 0x30, 0x7a, 0x30, 0xb3, 0x0f, 0x6c, 0x84, 0x67, 0xa5, 0x30, 0x7e, 0xa7, 0xab, 0x25, 0x25,
- 0xc8, 0x3e, 0xd0, 0x25, 0xcc, 0x7e, 0xa6, 0xf9, 0x7d, 0x97, 0x5d, 0x17, 0xc2, 0xe8, 0xdd, 0xae,
- 0x4a, 0x2b, 0x43, 0xf6, 0x33, 0x90, 0x51, 0x86, 0x7f, 0x12, 0xfd, 0x7f, 0x61, 0xb8, 0x62, 0xe5,
- 0xf8, 0x96, 0x47, 0xa1, 0xb2, 0x6e, 0x9e, 0xdd, 0x46, 0xe5, 0xe6, 0x02, 0xa5, 0x1e, 0x1b, 0x67,
- 0x35, 0x99, 0xd1, 0xf1, 0x7d, 0xa4, 0xc7, 0x85, 0x14, 0xb9, 0x40, 0xd9, 0xa5, 0xdc, 0x51, 0x71,
- 0xcc, 0x52, 0x65, 0xdd, 0x53, 0x43, 0x2d, 0x0c, 0x8d, 0x0a, 0x1b, 0x32, 0xc9, 0xcc, 0x31, 0x59,
- 0x66, 0x33, 0xbd, 0xe0, 0xc8, 0xb8, 0x55, 0x83, 0x64, 0xc6, 0x30, 0xb1, 0x05, 0x21, 0xc9, 0x0c,
- 0x0a, 0x2b, 0x9f, 0xff, 0x3c, 0x8a, 0xee, 0x18, 0x66, 0xbf, 0x3d, 0x39, 0x3b, 0x28, 0x2e, 0x58,
- 0x93, 0xfa, 0x1c, 0x66, 0xc5, 0x55, 0x3d, 0xfe, 0x02, 0x33, 0xe9, 0xe7, 0x75, 0x51, 0xbe, 0xbc,
- 0xb1, 0x9e, 0xc9, 0x5a, 0xdb, 0x63, 0x25, 0xf3, 0x6c, 0x59, 0x6a, 0x80, 0xac, 0x55, 0x9f, 0x3e,
- 0x41, 0x0e, 0xc9, 0x5a, 0x43, 0xbc, 0xe9, 0x62, 0xed, 0x3c, 0x67, 0x05, 0xec, 0x62, 0x63, 0xa1,
- 0x11, 0x22, 0x5d, 0xdc, 0x81, 0x4c, 0x3c, 0x6e, 0x45, 0xf2, 0x04, 0x64, 0x3b, 0xcf, 0x41, 0x3c,
- 0xd6, 0xaa, 0x1a, 0x40, 0xe2, 0xb1, 0x17, 0x54, 0x7e, 0x4e, 0xa3, 0xef, 0x34, 0x4d, 0x7a, 0x52,
- 0xd1, 0x65, 0x46, 0xe1, 0x35, 0x08, 0x4b, 0x82, 0xcc, 0x7f, 0x97, 0x30, 0x33, 0xeb, 0xac, 0xa8,
- 0xcb, 0x9c, 0xd4, 0x97, 0xea, 0xc1, 0xb8, 0x5b, 0xe7, 0x56, 0x08, 0x1f, 0x8d, 0x3f, 0xe8, 0xa1,
- 0x4c, 0x50, 0x6f, 0x65, 0x3a, 0xc4, 0x3c, 0xf4, 0xab, 0x76, 0xc2, 0xcc, 0x5a, 0x2f, 0x67, 0x4e,
- 0x9f, 0xf7, 0x49, 0x9e, 0xd3, 0x6a, 0xd5, 0xca, 0x8e, 0x48, 0x91, 0x5d, 0xd0, 0x9a, 0x83, 0xd3,
- 0x67, 0x45, 0xc5, 0x10, 0x43, 0x4e, 0x9f, 0x03, 0xb8, 0xc9, 0xe6, 0x81, 0xe7, 0x83, 0x22, 0xa5,
- 0xef, 0x40, 0x36, 0x0f, 0xed, 0x08, 0x06, 0xc9, 0xe6, 0x31, 0xd6, 0x9c, 0xc2, 0xbe, 0xcc, 0x59,
- 0x72, 0xa5, 0x96, 0x00, 0xb7, 0x83, 0x85, 0x04, 0xae, 0x01, 0x77, 0x43, 0x88, 0x59, 0x04, 0x84,
- 0xe0, 0x94, 0x96, 0x39, 0x49, 0xe0, 0x5d, 0x18, 0xa9, 0xa3, 0x64, 0xc8, 0x22, 0x00, 0x19, 0x50,
- 0x5c, 0x75, 0xc7, 0xc6, 0x57, 0x5c, 0x70, 0xc5, 0xe6, 0x6e, 0x08, 0x31, 0xcb, 0xa0, 0x10, 0x4c,
- 0xca, 0x3c, 0xe3, 0x60, 0x1a, 0x48, 0x0d, 0x21, 0x41, 0xa6, 0x81, 0x4b, 0x00, 0x93, 0x47, 0xb4,
- 0x9a, 0x51, 0xaf, 0x49, 0x21, 0x09, 0x9a, 0x6c, 0x09, 0x73, 0x65, 0x52, 0xd6, 0x9d, 0x95, 0x2b,
- 0x70, 0x65, 0x52, 0x55, 0x8b, 0x95, 0x2b, 0xe4, 0xca, 0xa4, 0x03, 0x80, 0x22, 0x9e, 0x90, 0x9a,
- 0xfb, 0x8b, 0x28, 0x24, 0xc1, 0x22, 0xb6, 0x84, 0x59, 0xa3, 0x65, 0x11, 0x17, 0x1c, 0xac, 0xd1,
- 0xaa, 0x00, 0xd6, 0xd3, 0xe0, 0xdb, 0xa8, 0xdc, 0x44, 0x12, 0xd9, 0x2b, 0x94, 0xef, 0x65, 0x34,
- 0x4f, 0x6b, 0x10, 0x49, 0x54, 0xbb, 0xb7, 0x52, 0x24, 0x92, 0x74, 0x29, 0x30, 0x94, 0xd4, 0x59,
- 0xb5, 0xaf, 0x76, 0xe0, 0x98, 0xfa, 0x6e, 0x08, 0x31, 0xf1, 0xa9, 0x2d, 0xf4, 0x0e, 0xa9, 0xaa,
- 0xac, 0x59, 0xfc, 0x1f, 0xfa, 0x0b, 0xd4, 0xca, 0x91, 0xf8, 0xe4, 0xe3, 0xc0, 0xf4, 0x6a, 0x03,
- 0xb7, 0xaf, 0x60, 0x30, 0x74, 0xdf, 0x0b, 0x32, 0x26, 0xe3, 0x14, 0x12, 0xeb, 0x71, 0xa6, 0xaf,
- 0x35, 0x3d, 0x4f, 0x33, 0x1f, 0xf6, 0x61, 0xd6, 0x2b, 0x0d, 0xda, 0xc5, 0x11, 0x5b, 0xd2, 0x29,
- 0x7b, 0xf5, 0x2e, 0xab, 0x79, 0x56, 0xcc, 0xd4, 0xca, 0xfd, 0x1c, 0xb1, 0xe4, 0x83, 0x91, 0x57,
- 0x1a, 0x7a, 0x95, 0x4c, 0x02, 0x01, 0xca, 0x72, 0x4c, 0xaf, 0xbd, 0x09, 0x04, 0xb4, 0xa8, 0x39,
- 0x24, 0x81, 0x08, 0xf1, 0xe6, 0x1c, 0x45, 0x3b, 0x57, 0xef, 0x7d, 0x4e, 0x59, 0x9b, 0xcb, 0x61,
- 0xd6, 0x20, 0x88, 0x6c, 0x65, 0x83, 0x0a, 0x66, 0x7f, 0xa9, 0xfd, 0x9b, 0x29, 0xf6, 0x08, 0xb1,
- 0xd3, 0x9d, 0x66, 0x8f, 0x07, 0x90, 0x1e, 0x57, 0xe6, 0x99, 0x3c, 0xe6, 0xaa, 0xfb, 0x48, 0xfe,
- 0xf1, 0x00, 0xd2, 0x3a, 0x93, 0xb1, 0xab, 0xf5, 0x92, 0x24, 0x57, 0xb3, 0x8a, 0x2d, 0x8a, 0x74,
- 0x87, 0xe5, 0xac, 0x02, 0x67, 0x32, 0x4e, 0xa9, 0x01, 0x8a, 0x9c, 0xc9, 0xf4, 0xa8, 0x98, 0x0c,
- 0xce, 0x2e, 0xc5, 0x76, 0x9e, 0xcd, 0xe0, 0x8e, 0xda, 0x31, 0x24, 0x00, 0x24, 0x83, 0xf3, 0x82,
- 0x9e, 0x41, 0x24, 0x77, 0xdc, 0x3c, 0x4b, 0x48, 0x2e, 0xfd, 0x6d, 0xe1, 0x66, 0x1c, 0xb0, 0x77,
- 0x10, 0x79, 0x14, 0x3c, 0xf5, 0x9c, 0x2e, 0xaa, 0xe2, 0xa0, 0xe0, 0x0c, 0xad, 0x67, 0x0b, 0xf4,
- 0xd6, 0xd3, 0x02, 0x41, 0x58, 0x9d, 0xd2, 0x77, 0x4d, 0x69, 0x9a, 0x7f, 0x7c, 0x61, 0xb5, 0xf9,
- 0x3d, 0x56, 0xf2, 0x50, 0x58, 0x05, 0x1c, 0xa8, 0x8c, 0x72, 0x22, 0x07, 0x4c, 0x40, 0xdb, 0x1d,
- 0x26, 0x8f, 0xfa, 0x41, 0xbf, 0x9f, 0x09, 0x5f, 0xe5, 0x34, 0xe4, 0x47, 0x00, 0x43, 0xfc, 0xb4,
- 0xa0, 0x39, 0x6e, 0x71, 0xea, 0x73, 0x49, 0x93, 0xab, 0xce, 0x15, 0x23, 0xb7, 0xa0, 0x12, 0x41,
- 0x8e, 0x5b, 0x10, 0xd4, 0xdf, 0x45, 0x07, 0x09, 0x2b, 0x42, 0x5d, 0xd4, 0xc8, 0x87, 0x74, 0x91,
- 0xe2, 0xcc, 0xe6, 0x57, 0x4b, 0xd5, 0xc8, 0x94, 0xdd, 0xb4, 0x8e, 0x58, 0xb0, 0x21, 0x64, 0xf3,
- 0x8b, 0xc2, 0x26, 0x27, 0x87, 0x3e, 0x8f, 0xba, 0xf7, 0xaf, 0x3b, 0x56, 0x8e, 0xf0, 0xfb, 0xd7,
- 0x18, 0x8b, 0x57, 0x52, 0x8e, 0x91, 0x1e, 0x2b, 0xee, 0x38, 0xd9, 0x18, 0x06, 0x9b, 0x2d, 0x8f,
- 0xe3, 0x73, 0x27, 0xa7, 0xa4, 0x92, 0x5e, 0x37, 0x03, 0x86, 0x0c, 0x86, 0x6c, 0x79, 0x02, 0x38,
- 0x08, 0x61, 0x8e, 0xe7, 0x1d, 0x56, 0x70, 0x5a, 0x70, 0x5f, 0x08, 0x73, 0x8d, 0x29, 0x30, 0x14,
- 0xc2, 0x30, 0x05, 0x30, 0x6e, 0xc5, 0x79, 0x10, 0xe5, 0xc7, 0x64, 0xee, 0xcd, 0xd8, 0xe4, 0x59,
- 0x8f, 0x94, 0x87, 0xc6, 0x2d, 0xe0, 0xac, 0x87, 0x7c, 0xb6, 0x97, 0x29, 0xa9, 0x66, 0xfa, 0x74,
- 0x23, 0x1d, 0x3f, 0xc5, 0xed, 0xb8, 0x24, 0xf2, 0x90, 0x2f, 0xac, 0x01, 0xc2, 0xce, 0xc1, 0x9c,
- 0xcc, 0x74, 0x4d, 0x3d, 0x35, 0x10, 0xf2, 0x4e, 0x55, 0x1f, 0xf5, 0x83, 0xc0, 0xcf, 0x9b, 0x2c,
- 0xa5, 0x2c, 0xe0, 0x47, 0xc8, 0x87, 0xf8, 0x81, 0x20, 0xc8, 0xde, 0x9a, 0x7a, 0xcb, 0x1d, 0xdd,
- 0x76, 0x91, 0xaa, 0x7d, 0x6c, 0x8c, 0x34, 0x0f, 0xe0, 0x42, 0xd9, 0x1b, 0xc2, 0x83, 0x39, 0xda,
- 0x1e, 0xd0, 0x86, 0xe6, 0xa8, 0x3e, 0x7f, 0x1d, 0x32, 0x47, 0x7d, 0xb0, 0xf2, 0xf9, 0x33, 0x35,
- 0x47, 0x77, 0x09, 0x27, 0x4d, 0xde, 0xfe, 0x26, 0xa3, 0xd7, 0x6a, 0x23, 0xec, 0xa9, 0x6f, 0x4b,
- 0xc5, 0xe2, 0xc5, 0x3b, 0xb0, 0x2b, 0xde, 0x1a, 0xcc, 0x07, 0x7c, 0xab, 0x1d, 0x42, 0xaf, 0x6f,
- 0xb0, 0x55, 0xd8, 0x1a, 0xcc, 0x07, 0x7c, 0xab, 0x37, 0x7a, 0x7b, 0x7d, 0x83, 0xd7, 0x7a, 0xb7,
- 0x06, 0xf3, 0xca, 0xf7, 0x5f, 0xb6, 0x13, 0xd7, 0x76, 0xde, 0xe4, 0x61, 0x09, 0xcf, 0x96, 0xd4,
- 0x97, 0x4e, 0xba, 0xf6, 0x34, 0x1a, 0x4a, 0x27, 0x71, 0x15, 0xeb, 0x33, 0x30, 0xbe, 0x52, 0x9c,
- 0xb0, 0x3a, 0x13, 0x0f, 0xe9, 0x9f, 0x0f, 0x30, 0xda, 0xc2, 0xa1, 0x4d, 0x53, 0x48, 0xc9, 0x3c,
- 0x6e, 0x74, 0x50, 0x73, 0xa3, 0x78, 0x23, 0x60, 0xaf, 0x7b, 0xb1, 0x78, 0x73, 0x20, 0x6d, 0x1e,
- 0xfc, 0x39, 0x8c, 0xfd, 0xc4, 0x31, 0xd4, 0xab, 0xde, 0x87, 0x8e, 0x4f, 0x87, 0x2b, 0x28, 0xf7,
- 0x7f, 0xdd, 0xee, 0x2b, 0xa0, 0x7f, 0x35, 0x09, 0x9e, 0x0d, 0xb1, 0x08, 0x26, 0xc2, 0xf3, 0x1b,
- 0xe9, 0xa8, 0x82, 0xfc, 0x7d, 0xbb, 0x81, 0x6e, 0x51, 0xf1, 0x5e, 0xc5, 0xeb, 0x2a, 0xa5, 0x95,
- 0x9a, 0x13, 0xa1, 0x6e, 0x35, 0x30, 0x9c, 0x19, 0x2f, 0x6e, 0xa8, 0x65, 0x7d, 0x14, 0xc8, 0x81,
- 0xd5, 0xfb, 0x7f, 0x56, 0x79, 0x42, 0x96, 0x2d, 0x1a, 0x16, 0xe8, 0x8b, 0x9b, 0xaa, 0x61, 0x73,
- 0xc5, 0x82, 0xc5, 0x37, 0x06, 0x9e, 0x0f, 0x34, 0xec, 0x7c, 0x75, 0xe0, 0xf3, 0x9b, 0x29, 0xa9,
- 0xb2, 0xfc, 0xc7, 0x28, 0x7a, 0xe0, 0xb0, 0xe6, 0x79, 0x02, 0x38, 0xf5, 0xf8, 0x71, 0xc0, 0x3e,
- 0xa6, 0xa4, 0x0b, 0xf7, 0xbb, 0xbf, 0x9c, 0xb2, 0xf9, 0x82, 0x8e, 0xa3, 0xb2, 0x97, 0xe5, 0x9c,
- 0x56, 0xdd, 0x2f, 0xe8, 0xb8, 0x76, 0x25, 0x15, 0xe3, 0x5f, 0xd0, 0x09, 0xe0, 0xd6, 0x17, 0x74,
- 0x3c, 0x9e, 0xbd, 0x5f, 0xd0, 0xf1, 0x5a, 0x0b, 0x7e, 0x41, 0x27, 0xac, 0x81, 0x85, 0xf7, 0xb6,
- 0x08, 0xf2, 0xdc, 0x7a, 0x90, 0x45, 0xf7, 0x18, 0xfb, 0xd9, 0x4d, 0x54, 0x90, 0x05, 0x4e, 0x72,
- 0xe2, 0x9e, 0xdb, 0x80, 0x36, 0x75, 0xee, 0xba, 0x6d, 0x0d, 0xe6, 0x95, 0xef, 0x9f, 0xaa, 0xdd,
- 0x8d, 0x0e, 0xe7, 0xac, 0x12, 0x5f, 0x4f, 0x5a, 0x0f, 0x85, 0xe7, 0xc6, 0x82, 0xdd, 0xf3, 0x1b,
- 0xc3, 0x60, 0xa4, 0xba, 0x0d, 0xa1, 0x3a, 0x3d, 0xee, 0x33, 0x04, 0xba, 0x7c, 0x6b, 0x30, 0x8f,
- 0x2c, 0x23, 0xd2, 0xb7, 0xec, 0xed, 0x01, 0xc6, 0xdc, 0xbe, 0x7e, 0x3a, 0x5c, 0x41, 0xb9, 0x5f,
- 0xaa, 0xb4, 0xd1, 0x76, 0x2f, 0xfa, 0x79, 0xb3, 0xcf, 0xd4, 0xc4, 0xe9, 0xe6, 0x78, 0x28, 0x1e,
- 0x4a, 0x20, 0xec, 0x25, 0xb4, 0x2f, 0x81, 0xf0, 0x2e, 0xa3, 0x9f, 0xdf, 0x4c, 0x49, 0x95, 0xe5,
- 0x9f, 0x46, 0xd1, 0x6d, 0xb4, 0x2c, 0x6a, 0x1c, 0x7c, 0x31, 0xd4, 0x32, 0x18, 0x0f, 0x5f, 0xde,
- 0x58, 0x4f, 0x15, 0xea, 0x5f, 0x47, 0xd1, 0x9d, 0x40, 0xa1, 0xe4, 0x00, 0xb9, 0x81, 0x75, 0x77,
- 0xa0, 0xfc, 0xf0, 0xe6, 0x8a, 0xd8, 0x72, 0x6f, 0xe3, 0x93, 0xee, 0xa7, 0x65, 0x02, 0xb6, 0x27,
- 0xf8, 0xa7, 0x65, 0xfa, 0xb5, 0xe0, 0x21, 0x0f, 0x39, 0x6f, 0x37, 0x5d, 0xde, 0x43, 0x1e, 0x71,
- 0x43, 0x0d, 0xec, 0x39, 0xd6, 0x7a, 0x39, 0x9f, 0x93, 0x57, 0xef, 0x4a, 0x52, 0xa4, 0xb8, 0x13,
- 0x29, 0xef, 0x77, 0xa2, 0x39, 0x78, 0x38, 0xd6, 0x48, 0x4f, 0x59, 0xbb, 0x91, 0x7a, 0x8c, 0xe9,
- 0x6b, 0x24, 0x78, 0x38, 0xd6, 0x41, 0x11, 0x6f, 0x2a, 0x6b, 0x0c, 0x79, 0x03, 0xc9, 0xe2, 0x93,
- 0x21, 0x28, 0x48, 0xd1, 0xb5, 0x37, 0x7d, 0xe6, 0xbe, 0x11, 0xb2, 0xd2, 0x39, 0x77, 0xdf, 0x1c,
- 0x48, 0x23, 0x6e, 0x27, 0x94, 0x7f, 0x45, 0x49, 0x4a, 0xab, 0xa0, 0x5b, 0x4d, 0x0d, 0x72, 0x6b,
- 0xd3, 0x3e, 0xb7, 0x3b, 0x2c, 0x5f, 0xcc, 0x0b, 0xd5, 0x99, 0xa8, 0x5b, 0x9b, 0xea, 0x77, 0x0b,
- 0x68, 0x78, 0x2c, 0x68, 0xdc, 0x8a, 0xf4, 0xf2, 0x49, 0xd8, 0x8c, 0x93, 0x55, 0xae, 0x0f, 0x62,
- 0xf1, 0x7a, 0xaa, 0x61, 0xd4, 0x53, 0x4f, 0x30, 0x92, 0x36, 0x07, 0xd2, 0xf0, 0x7c, 0xce, 0x72,
- 0xab, 0xc7, 0xd3, 0x56, 0x8f, 0xad, 0xce, 0x90, 0x7a, 0x3a, 0x5c, 0x01, 0x9e, 0x86, 0xaa, 0x51,
- 0x75, 0x98, 0xd5, 0x7c, 0x2f, 0xcb, 0xf3, 0xf1, 0x7a, 0x60, 0x98, 0xb4, 0x50, 0xf0, 0x34, 0xd4,
- 0x03, 0x23, 0x23, 0xb9, 0x3d, 0x3d, 0x2c, 0xc6, 0x7d, 0x76, 0x04, 0x35, 0x68, 0x24, 0xdb, 0x34,
- 0x38, 0xd1, 0xb2, 0x9a, 0x5a, 0xd7, 0x36, 0x0e, 0x37, 0x5c, 0xa7, 0xc2, 0x5b, 0x83, 0x79, 0xf0,
- 0xb8, 0x5d, 0x50, 0x62, 0x65, 0xb9, 0x8f, 0x99, 0x70, 0x56, 0x92, 0x07, 0x3d, 0x14, 0x38, 0x15,
- 0x94, 0xd3, 0xe8, 0x6d, 0x96, 0xce, 0x28, 0xf7, 0x3e, 0x29, 0xb2, 0x81, 0xe0, 0x93, 0x22, 0x00,
- 0x82, 0xae, 0x93, 0xbf, 0xeb, 0xe3, 0xd0, 0x83, 0xd4, 0xd7, 0x75, 0x4a, 0xd9, 0xa2, 0x42, 0x5d,
- 0xe7, 0xa5, 0x41, 0x34, 0xd0, 0x6e, 0xd5, 0xab, 0xf1, 0x4f, 0x42, 0x66, 0xc0, 0xfb, 0xf1, 0xeb,
- 0x83, 0x58, 0xb0, 0xa2, 0x18, 0x87, 0xd9, 0x3c, 0xe3, 0xbe, 0x15, 0xc5, 0xb2, 0xd1, 0x20, 0xa1,
- 0x15, 0xa5, 0x8b, 0x62, 0xd5, 0x6b, 0x72, 0x84, 0x83, 0x34, 0x5c, 0x3d, 0xc9, 0x0c, 0xab, 0x9e,
- 0x66, 0x3b, 0x0f, 0x36, 0x0b, 0x3d, 0x64, 0xf8, 0xa5, 0xda, 0x2c, 0x7b, 0xc6, 0xb6, 0x78, 0x65,
- 0x12, 0x82, 0xa1, 0xa8, 0x83, 0x29, 0xc0, 0x03, 0xfb, 0x86, 0x6b, 0x9f, 0xbd, 0x96, 0x25, 0x25,
- 0x15, 0x29, 0x12, 0xef, 0xe6, 0x54, 0x18, 0xec, 0x90, 0xa1, 0xcd, 0x29, 0xaa, 0x01, 0x1e, 0x9b,
- 0xbb, 0x2f, 0x3b, 0x7a, 0xa6, 0x82, 0x7e, 0xab, 0xd0, 0x7d, 0xd7, 0xf1, 0xf1, 0x00, 0x12, 0x3e,
- 0x36, 0x6f, 0x01, 0x7d, 0xf0, 0x2d, 0x9d, 0x7e, 0x16, 0x30, 0xe5, 0xa2, 0xa1, 0x8d, 0x30, 0xae,
- 0x02, 0x06, 0xb5, 0x4e, 0x70, 0x29, 0xff, 0x09, 0x5d, 0xf9, 0x06, 0xb5, 0xc9, 0x4f, 0x05, 0x12,
- 0x1a, 0xd4, 0x5d, 0x14, 0xe4, 0x99, 0xf6, 0x3e, 0xe8, 0x61, 0x40, 0xdf, 0xde, 0xfa, 0xac, 0xf5,
- 0x72, 0x60, 0xe6, 0xec, 0x66, 0x4b, 0xe7, 0x39, 0x81, 0xa7, 0xa0, 0xbb, 0xd9, 0xd2, 0xff, 0x98,
- 0x60, 0x7d, 0x10, 0x0b, 0x1f, 0xc9, 0x13, 0x4e, 0xdf, 0xb5, 0xcf, 0xca, 0x3d, 0xc5, 0x15, 0xf2,
- 0xce, 0xc3, 0xf2, 0x47, 0xfd, 0xa0, 0xb9, 0x00, 0x7b, 0x52, 0xb1, 0x84, 0xd6, 0xb5, 0xfa, 0xde,
- 0x9e, 0x7b, 0xc3, 0x48, 0xc9, 0x62, 0xf0, 0xb5, 0xbd, 0xfb, 0x61, 0x48, 0xd9, 0xfe, 0x2a, 0x7a,
- 0xff, 0x90, 0xcd, 0x26, 0xb4, 0x48, 0xc7, 0x3f, 0x70, 0xaf, 0x9c, 0xb2, 0x59, 0xdc, 0xfc, 0xac,
- 0xed, 0xdd, 0xc2, 0xc4, 0xe6, 0xd2, 0xdc, 0x2e, 0x3d, 0x5f, 0xcc, 0x26, 0x9c, 0x70, 0x70, 0x69,
- 0x4e, 0xfc, 0x1e, 0x37, 0x02, 0xe4, 0xd2, 0x9c, 0x03, 0x00, 0x7b, 0xd3, 0x8a, 0x52, 0xaf, 0xbd,
- 0x46, 0x10, 0xb4, 0xa7, 0x00, 0xb3, 0xea, 0x6a, 0x7b, 0x4d, 0x62, 0x0b, 0x2f, 0xb9, 0x19, 0x1d,
- 0x21, 0x45, 0x56, 0xdd, 0x2e, 0x65, 0x06, 0x83, 0xac, 0xbe, 0xf8, 0x62, 0xc6, 0x62, 0x3e, 0x27,
- 0xd5, 0x0a, 0x0c, 0x06, 0x55, 0x4b, 0x0b, 0x40, 0x06, 0x83, 0x17, 0x34, 0xa3, 0xbc, 0x6d, 0xe6,
- 0xe4, 0x6a, 0x9f, 0x55, 0x6c, 0xc1, 0xb3, 0x82, 0xc2, 0xaf, 0x26, 0xe8, 0x06, 0xb5, 0x19, 0x64,
- 0x94, 0x63, 0xac, 0xc9, 0x0a, 0x05, 0x21, 0xef, 0xdf, 0x89, 0xaf, 0xd6, 0xd6, 0x9c, 0x55, 0xf0,
- 0xf9, 0x9b, 0xb4, 0x02, 0x21, 0x24, 0x2b, 0x44, 0x61, 0xd0, 0xf7, 0x27, 0x59, 0x31, 0xf3, 0xf6,
- 0xfd, 0x89, 0xfd, 0xcd, 0xc7, 0x3b, 0x38, 0x60, 0xe2, 0xbb, 0x6c, 0x34, 0xf9, 0x65, 0x22, 0xf5,
- 0xee, 0xa3, 0xb7, 0xd1, 0x6d, 0x02, 0x89, 0xef, 0x7e, 0x12, 0xb8, 0x7a, 0x5d, 0xd2, 0x82, 0xa6,
- 0xed, 0x2d, 0x33, 0x9f, 0x2b, 0x87, 0x08, 0xba, 0x82, 0xa4, 0x89, 0xaa, 0x42, 0x7e, 0xba, 0x28,
- 0x4e, 0x2a, 0x76, 0x91, 0xe5, 0xb4, 0x02, 0x51, 0x55, 0xaa, 0x5b, 0x72, 0x24, 0xaa, 0xfa, 0x38,
- 0x73, 0x5d, 0x41, 0x48, 0x9d, 0x4f, 0x2f, 0x4f, 0x2b, 0x92, 0xc0, 0xeb, 0x0a, 0xd2, 0x46, 0x17,
- 0x43, 0x4e, 0xd2, 0x02, 0xb8, 0x95, 0x18, 0x48, 0xd7, 0xc5, 0x4a, 0x8c, 0x0f, 0xf5, 0xee, 0x9d,
- 0xf8, 0x12, 0x62, 0x0d, 0x12, 0x03, 0x65, 0xce, 0x47, 0x22, 0x89, 0x41, 0x58, 0xc3, 0xcc, 0xb6,
- 0x23, 0xca, 0xab, 0x2c, 0xa9, 0x27, 0x94, 0x9f, 0x90, 0x8a, 0xcc, 0x29, 0xa7, 0x15, 0x9c, 0x6d,
- 0x0a, 0x89, 0x1d, 0x06, 0x99, 0x6d, 0x18, 0xab, 0x1c, 0xfe, 0x5e, 0xf4, 0x61, 0xb3, 0xd8, 0xd0,
- 0x42, 0xfd, 0xa5, 0x82, 0x57, 0xe2, 0x4f, 0x9c, 0x8c, 0x3f, 0xd2, 0x36, 0x26, 0xbc, 0xa2, 0x64,
- 0xde, 0xda, 0xfe, 0x40, 0xff, 0x2e, 0xc0, 0xa7, 0xa3, 0x66, 0x50, 0x1c, 0x33, 0x9e, 0x5d, 0x34,
- 0x7b, 0x3b, 0xf5, 0xda, 0x0a, 0x18, 0x14, 0xb6, 0x38, 0x0e, 0x7c, 0x8c, 0xc0, 0xc7, 0x99, 0x60,
- 0x67, 0x4b, 0x4f, 0x69, 0x99, 0xc3, 0x60, 0xe7, 0x68, 0x0b, 0x00, 0x09, 0x76, 0x5e, 0xd0, 0x8c,
- 0x70, 0x5b, 0x3c, 0xa5, 0xe1, 0xca, 0x4c, 0xe9, 0xb0, 0xca, 0x4c, 0x9d, 0x37, 0x01, 0xf2, 0xe8,
- 0xc3, 0x23, 0x3a, 0x3f, 0xa7, 0x55, 0x7d, 0x99, 0x95, 0xfb, 0xcd, 0x2a, 0x4f, 0xf8, 0x02, 0xbe,
- 0x2b, 0x67, 0x88, 0x58, 0x23, 0x48, 0x2a, 0x84, 0xa0, 0x26, 0x9c, 0x1a, 0xe0, 0xa0, 0x3e, 0x26,
- 0x73, 0x2a, 0x3e, 0xad, 0x30, 0x5e, 0xc7, 0x8c, 0x58, 0x10, 0x12, 0x4e, 0x51, 0xd8, 0x7a, 0xa9,
- 0xc8, 0x30, 0xa7, 0x74, 0xd6, 0x8c, 0xb0, 0xea, 0x84, 0xac, 0xe6, 0xb4, 0xe0, 0xca, 0x24, 0x38,
- 0x08, 0xb6, 0x4c, 0xfa, 0x79, 0xe4, 0x20, 0x78, 0x88, 0x9e, 0x35, 0xbf, 0x9d, 0x86, 0x3f, 0x61,
- 0x15, 0x97, 0x7f, 0x87, 0xe4, 0xac, 0xca, 0xc1, 0xfc, 0x76, 0x1b, 0xd5, 0x21, 0x91, 0xf9, 0x1d,
- 0xd6, 0xb0, 0x3e, 0xe0, 0xed, 0x94, 0xe1, 0x0d, 0xad, 0xf4, 0x38, 0x79, 0x35, 0x27, 0x59, 0xae,
- 0x46, 0xc3, 0x8f, 0x02, 0xb6, 0x11, 0x1d, 0xe4, 0x03, 0xde, 0x43, 0x75, 0xad, 0x4f, 0x9e, 0x87,
- 0x4b, 0x08, 0xce, 0xa5, 0x7b, 0xec, 0x23, 0xe7, 0xd2, 0xfd, 0x5a, 0x66, 0xbb, 0x68, 0x58, 0xc1,
- 0xad, 0x04, 0xb1, 0xc3, 0x52, 0x78, 0x48, 0x65, 0xd9, 0x04, 0x20, 0xb2, 0x5d, 0x0c, 0x2a, 0x98,
- 0xf5, 0xd5, 0x60, 0x7b, 0x59, 0x41, 0xf2, 0xec, 0x67, 0xf0, 0x86, 0xb3, 0x65, 0xa7, 0x25, 0x90,
- 0xf5, 0xd5, 0x4f, 0xfa, 0x5c, 0xed, 0x53, 0x3e, 0xcd, 0x9a, 0xd0, 0xff, 0x28, 0xd0, 0x6e, 0x82,
- 0xe8, 0x77, 0x65, 0x91, 0xd6, 0x47, 0x3a, 0x61, 0xb3, 0x6e, 0x97, 0xe5, 0xa4, 0x59, 0x9a, 0x4e,
- 0x69, 0x42, 0xb3, 0x92, 0x8f, 0x5f, 0x84, 0xdb, 0x0a, 0xe0, 0xc8, 0xd3, 0xfd, 0x01, 0x6a, 0xd6,
- 0x33, 0xe3, 0x26, 0x96, 0x4c, 0xe4, 0x1f, 0xe8, 0x3a, 0xab, 0x69, 0xa5, 0x56, 0xeb, 0x7d, 0xca,
- 0xc1, 0xec, 0xb4, 0xb8, 0xd8, 0x02, 0x9b, 0x8a, 0x22, 0xb3, 0x33, 0xac, 0x61, 0x4e, 0x98, 0x2c,
- 0xee, 0x94, 0xd6, 0x2c, 0x5f, 0x52, 0x71, 0xc9, 0x6d, 0x03, 0x35, 0x66, 0x51, 0xc8, 0x09, 0x13,
- 0x4e, 0x9b, 0x94, 0xa7, 0xeb, 0x76, 0xbb, 0x58, 0x1d, 0xc0, 0xe7, 0xf4, 0x1e, 0x4b, 0x02, 0x43,
- 0x52, 0x9e, 0x00, 0x6e, 0x9d, 0xc0, 0x56, 0x8c, 0xa4, 0x09, 0xa9, 0xf9, 0x09, 0x59, 0xe5, 0x8c,
- 0xa4, 0x62, 0x5d, 0x87, 0x27, 0xb0, 0x2d, 0x13, 0xdb, 0x10, 0x76, 0x02, 0x8b, 0xc1, 0x66, 0x77,
- 0xa9, 0xfe, 0xee, 0x98, 0xba, 0x40, 0x78, 0x0f, 0xa4, 0x49, 0xa2, 0xbc, 0xf0, 0xf2, 0xe0, 0xfd,
- 0x30, 0x64, 0x5e, 0x7c, 0x92, 0x22, 0x91, 0x86, 0xdc, 0xf1, 0xe9, 0x38, 0x09, 0xc8, 0xa7, 0x01,
- 0xc2, 0x7c, 0x0c, 0x41, 0xfe, 0xde, 0xfe, 0xe9, 0x0c, 0xae, 0x3e, 0x65, 0xbc, 0xe1, 0xd3, 0xb5,
- 0xa1, 0xd8, 0xfe, 0xc2, 0xd9, 0xe6, 0x40, 0xda, 0x6c, 0x1e, 0x77, 0x2e, 0x09, 0xdf, 0x4e, 0xd3,
- 0x23, 0x5a, 0x7b, 0xde, 0x62, 0x6e, 0x84, 0xb1, 0x91, 0x22, 0x9b, 0xc7, 0x2e, 0x65, 0x06, 0x7a,
- 0x23, 0x7b, 0x95, 0x66, 0x5c, 0xc9, 0xda, 0x6b, 0xb9, 0x1b, 0x5d, 0x03, 0x5d, 0x0a, 0xa9, 0x15,
- 0x4e, 0x9b, 0x58, 0xde, 0x30, 0x53, 0x36, 0x9b, 0xe5, 0x54, 0x41, 0xa7, 0x94, 0xc8, 0x2f, 0xb9,
- 0x6d, 0x75, 0x6d, 0x79, 0x41, 0x24, 0x96, 0x07, 0x15, 0x4c, 0x1a, 0xd9, 0x60, 0xf2, 0x39, 0x48,
- 0xdb, 0xb0, 0x6b, 0x5d, 0x33, 0x0e, 0x80, 0xa4, 0x91, 0x5e, 0xd0, 0xbc, 0x6c, 0xd5, 0x88, 0xf7,
- 0x69, 0xdb, 0x12, 0xf0, 0xbb, 0x37, 0x42, 0xd9, 0x12, 0x23, 0x2f, 0x5b, 0x79, 0x30, 0xb3, 0x4f,
- 0x00, 0x1e, 0x5e, 0xae, 0x0e, 0x52, 0xb8, 0x4f, 0x80, 0xfa, 0x82, 0x41, 0xf6, 0x09, 0x18, 0xeb,
- 0x76, 0x9d, 0xfe, 0xc8, 0xef, 0x21, 0xa9, 0x4d, 0xe5, 0x3c, 0x5d, 0xe7, 0x05, 0x43, 0x5d, 0x87,
- 0x29, 0xb8, 0x4d, 0x6a, 0x7f, 0x42, 0xd8, 0xd3, 0xa4, 0xbe, 0x4f, 0x07, 0x3f, 0xec, 0xc3, 0x4c,
- 0x5c, 0xd2, 0x9b, 0x32, 0x71, 0x4f, 0xc6, 0xff, 0x09, 0x77, 0x29, 0x44, 0xe2, 0x52, 0x07, 0x92,
- 0xb6, 0x5f, 0x7e, 0xfa, 0x5f, 0xdf, 0xdc, 0x1a, 0xfd, 0xe2, 0x9b, 0x5b, 0xa3, 0xff, 0xf9, 0xe6,
- 0xd6, 0xe8, 0xe7, 0xdf, 0xde, 0x7a, 0xef, 0x17, 0xdf, 0xde, 0x7a, 0xef, 0xbf, 0xbf, 0xbd, 0xf5,
- 0xde, 0xd7, 0xef, 0xab, 0xbf, 0x47, 0x79, 0xfe, 0xff, 0xc4, 0x5f, 0x95, 0x7c, 0xfe, 0x7f, 0x01,
- 0x00, 0x00, 0xff, 0xff, 0xe5, 0xb3, 0x13, 0x72, 0xb3, 0x72, 0x00, 0x00,
+ // 5189 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x9d, 0xdd, 0x6f, 0x1d, 0x49,
+ 0x56, 0xc0, 0xc7, 0x2f, 0x0c, 0xf4, 0xb2, 0x03, 0xdc, 0x81, 0x61, 0x76, 0xd8, 0xcd, 0xd7, 0x24,
+ 0x71, 0x12, 0xdb, 0xd7, 0x99, 0x64, 0x32, 0xb3, 0xda, 0x45, 0x42, 0x8e, 0x1d, 0x7b, 0xcc, 0xda,
+ 0x8e, 0xf1, 0xb5, 0x13, 0x69, 0x24, 0x24, 0xca, 0xdd, 0xe5, 0xeb, 0xc6, 0x7d, 0xbb, 0x7a, 0xbb,
+ 0xeb, 0x5e, 0xe7, 0x2e, 0x02, 0x81, 0x40, 0x20, 0x10, 0x88, 0x15, 0x5f, 0xaf, 0x48, 0xfc, 0x35,
+ 0x3c, 0xee, 0x23, 0x8f, 0x68, 0x46, 0xfc, 0x1f, 0xa8, 0xeb, 0xbb, 0x4e, 0xd7, 0xa9, 0x6e, 0xef,
+ 0x53, 0xa2, 0x7b, 0x7e, 0xe7, 0x9c, 0xfa, 0x3c, 0x75, 0xaa, 0xba, 0xba, 0x9d, 0xdc, 0xae, 0xce,
+ 0x37, 0xab, 0x9a, 0x71, 0xd6, 0x6c, 0x36, 0xb4, 0x5e, 0xe4, 0x29, 0xd5, 0xff, 0x8e, 0xc5, 0xcf,
+ 0xa3, 0xf7, 0x49, 0xb9, 0xe4, 0xcb, 0x8a, 0x7e, 0xf2, 0xb1, 0x25, 0x53, 0x36, 0x9b, 0x91, 0x32,
+ 0x6b, 0x24, 0xf2, 0xc9, 0x47, 0x56, 0x42, 0x17, 0xb4, 0xe4, 0xea, 0xf7, 0x67, 0xdf, 0xfe, 0xdf,
+ 0x4a, 0xf2, 0xc1, 0x76, 0x91, 0xd3, 0x92, 0x6f, 0x2b, 0x8d, 0xd1, 0xd7, 0xc9, 0x77, 0xb7, 0xaa,
+ 0x6a, 0x8f, 0xf2, 0x37, 0xb4, 0x6e, 0x72, 0x56, 0x8e, 0x3e, 0x1d, 0x2b, 0x07, 0xe3, 0x93, 0x2a,
+ 0x1d, 0x6f, 0x55, 0xd5, 0xd8, 0x0a, 0xc7, 0x27, 0xf4, 0xa7, 0x73, 0xda, 0xf0, 0x4f, 0xee, 0xc7,
+ 0xa1, 0xa6, 0x62, 0x65, 0x43, 0x47, 0x17, 0xc9, 0x6f, 0x6d, 0x55, 0xd5, 0x84, 0xf2, 0x1d, 0xda,
+ 0x56, 0x60, 0xc2, 0x09, 0xa7, 0xa3, 0xd5, 0x8e, 0xaa, 0x0f, 0x18, 0x1f, 0x8f, 0xfa, 0x41, 0xe5,
+ 0xe7, 0x34, 0xf9, 0x4e, 0xeb, 0xe7, 0x72, 0xce, 0x33, 0x76, 0x5d, 0x8e, 0xee, 0x76, 0x15, 0x95,
+ 0xc8, 0xd8, 0xbe, 0x17, 0x43, 0x94, 0xd5, 0xb7, 0xc9, 0xaf, 0xbf, 0x25, 0x45, 0x41, 0xf9, 0x76,
+ 0x4d, 0xdb, 0x82, 0xfb, 0x3a, 0x52, 0x34, 0x96, 0x32, 0x63, 0xf7, 0xd3, 0x28, 0xa3, 0x0c, 0x7f,
+ 0x9d, 0x7c, 0x57, 0x4a, 0x4e, 0x68, 0xca, 0x16, 0xb4, 0x1e, 0x05, 0xb5, 0x94, 0x10, 0x69, 0xf2,
+ 0x0e, 0x04, 0x6d, 0x6f, 0xb3, 0x72, 0x41, 0x6b, 0x1e, 0xb6, 0xad, 0x84, 0x71, 0xdb, 0x16, 0x52,
+ 0xb6, 0xff, 0x7e, 0x25, 0xf9, 0xfe, 0x56, 0x9a, 0xb2, 0x79, 0xc9, 0x0f, 0x58, 0x4a, 0x8a, 0x83,
+ 0xbc, 0xbc, 0x3a, 0xa2, 0xd7, 0xdb, 0x97, 0x2d, 0x5f, 0x4e, 0xe9, 0xe8, 0xb9, 0xdf, 0xaa, 0x12,
+ 0x1d, 0x1b, 0x76, 0xec, 0xc2, 0xc6, 0xf7, 0xe7, 0x37, 0x53, 0x52, 0x65, 0xf9, 0xe7, 0x95, 0xe4,
+ 0x16, 0x2c, 0xcb, 0x84, 0x15, 0x0b, 0x6a, 0x4b, 0xf3, 0xa2, 0xc7, 0xb0, 0x8f, 0x9b, 0xf2, 0x7c,
+ 0x71, 0x53, 0x35, 0x55, 0xa2, 0x22, 0xf9, 0xd0, 0x1d, 0x2e, 0x13, 0xda, 0x88, 0xe9, 0xf4, 0x18,
+ 0x1f, 0x11, 0x0a, 0x31, 0x9e, 0x9f, 0x0c, 0x41, 0x95, 0xb7, 0x3c, 0x19, 0x29, 0x6f, 0x05, 0x6b,
+ 0x8c, 0xb3, 0x47, 0x41, 0x0b, 0x0e, 0x61, 0x7c, 0x3d, 0x1e, 0x40, 0x2a, 0x57, 0x7f, 0x92, 0xfc,
+ 0xc6, 0x5b, 0x56, 0x5f, 0x35, 0x15, 0x49, 0xa9, 0x9a, 0x0a, 0x0f, 0x7c, 0x6d, 0x2d, 0x85, 0xb3,
+ 0xe1, 0x61, 0x1f, 0xe6, 0x0c, 0x5a, 0x2d, 0x7c, 0x5d, 0x51, 0x18, 0x83, 0xac, 0x62, 0x2b, 0xc4,
+ 0x06, 0x2d, 0x84, 0x94, 0xed, 0xab, 0x64, 0x64, 0x6d, 0x9f, 0xff, 0x29, 0x4d, 0xf9, 0x56, 0x96,
+ 0xc1, 0x5e, 0xb1, 0xba, 0x82, 0x18, 0x6f, 0x65, 0x19, 0xd6, 0x2b, 0x61, 0x54, 0x39, 0xbb, 0x4e,
+ 0x3e, 0x02, 0xce, 0x0e, 0xf2, 0x46, 0x38, 0xdc, 0x88, 0x5b, 0x51, 0x98, 0x71, 0x3a, 0x1e, 0x8a,
+ 0x2b, 0xc7, 0x7f, 0xb9, 0x92, 0x7c, 0x2f, 0xe0, 0xf9, 0x84, 0xce, 0xd8, 0x82, 0x8e, 0x9e, 0xf6,
+ 0x5b, 0x93, 0xa4, 0xf1, 0xff, 0xd9, 0x0d, 0x34, 0x02, 0xc3, 0x64, 0x42, 0x0b, 0x9a, 0x72, 0x74,
+ 0x98, 0x48, 0x71, 0xef, 0x30, 0x31, 0x98, 0x33, 0xc3, 0xb4, 0x70, 0x8f, 0xf2, 0xed, 0x79, 0x5d,
+ 0xd3, 0x92, 0xa3, 0x7d, 0x69, 0x91, 0xde, 0xbe, 0xf4, 0xd0, 0x40, 0x7d, 0xf6, 0x28, 0xdf, 0x2a,
+ 0x0a, 0xb4, 0x3e, 0x52, 0xdc, 0x5b, 0x1f, 0x83, 0x29, 0x0f, 0x69, 0xf2, 0x9b, 0x4e, 0x8b, 0xf1,
+ 0xfd, 0xf2, 0x82, 0x8d, 0xf0, 0xb6, 0x10, 0x72, 0xe3, 0x63, 0xb5, 0x97, 0x0b, 0x54, 0xe3, 0xd5,
+ 0xbb, 0x8a, 0xd5, 0x78, 0xb7, 0x48, 0x71, 0x6f, 0x35, 0x0c, 0xa6, 0x3c, 0xfc, 0x71, 0xf2, 0x81,
+ 0x8a, 0x92, 0x7a, 0x3d, 0xbb, 0x1f, 0x0c, 0xa1, 0x70, 0x41, 0x7b, 0xd0, 0x43, 0xd9, 0xe0, 0xa0,
+ 0x64, 0x2a, 0xf8, 0x7c, 0x1a, 0xd4, 0x03, 0xa1, 0xe7, 0x7e, 0x1c, 0xea, 0xd8, 0xde, 0xa1, 0x05,
+ 0x45, 0x6d, 0x4b, 0x61, 0x8f, 0x6d, 0x03, 0x29, 0xdb, 0x75, 0xf2, 0x3b, 0xa6, 0x59, 0xda, 0x75,
+ 0x54, 0xc8, 0xdb, 0x20, 0xbd, 0x86, 0xd4, 0xdb, 0x85, 0x8c, 0xaf, 0xf5, 0x61, 0x70, 0xa7, 0x3e,
+ 0x6a, 0x06, 0x86, 0xeb, 0x03, 0xe6, 0xdf, 0xfd, 0x38, 0xa4, 0x6c, 0xff, 0xc3, 0x4a, 0xf2, 0x03,
+ 0x25, 0x7b, 0x55, 0x92, 0xf3, 0x82, 0x8a, 0x25, 0xf1, 0x88, 0xf2, 0x6b, 0x56, 0x5f, 0x4d, 0x96,
+ 0x65, 0x8a, 0x2c, 0xff, 0x61, 0xb8, 0x67, 0xf9, 0x47, 0x95, 0x9c, 0x8c, 0x4f, 0x55, 0x94, 0xb3,
+ 0x0a, 0x66, 0x7c, 0xba, 0x06, 0x9c, 0x55, 0x58, 0xc6, 0xe7, 0x23, 0x1d, 0xab, 0x87, 0x6d, 0xd8,
+ 0x0c, 0x5b, 0x3d, 0x74, 0xe3, 0xe4, 0xbd, 0x18, 0x62, 0xc3, 0x96, 0x1e, 0xc0, 0xac, 0xbc, 0xc8,
+ 0xa7, 0x67, 0x55, 0xd6, 0x0e, 0xe3, 0xc7, 0xe1, 0x11, 0xea, 0x20, 0x48, 0xd8, 0x42, 0x50, 0xe5,
+ 0xed, 0x9f, 0x6c, 0x62, 0xa4, 0xa6, 0xd2, 0x6e, 0xcd, 0x66, 0x07, 0x74, 0x4a, 0xd2, 0xa5, 0x9a,
+ 0xff, 0x9f, 0xc7, 0x26, 0x1e, 0xa4, 0x4d, 0x21, 0x5e, 0xdc, 0x50, 0x4b, 0x95, 0xe7, 0x3f, 0x57,
+ 0x92, 0xfb, 0xba, 0xfa, 0x97, 0xa4, 0x9c, 0x52, 0xd5, 0x9f, 0xb2, 0xf4, 0x5b, 0x65, 0x76, 0x42,
+ 0x1b, 0x4e, 0x6a, 0x3e, 0xfa, 0x51, 0xb8, 0x92, 0x31, 0x1d, 0x53, 0xb6, 0x1f, 0xff, 0x52, 0xba,
+ 0xb6, 0xd7, 0x27, 0x6d, 0x60, 0x53, 0x21, 0xc0, 0xef, 0x75, 0x21, 0x81, 0x01, 0xe0, 0x5e, 0x0c,
+ 0xb1, 0xbd, 0x2e, 0x04, 0xfb, 0xe5, 0x22, 0xe7, 0x74, 0x8f, 0x96, 0xb4, 0xee, 0xf6, 0xba, 0x54,
+ 0xf5, 0x11, 0xa4, 0xd7, 0x11, 0xd4, 0x06, 0x1b, 0xcf, 0x9b, 0x59, 0x1c, 0xd7, 0x22, 0x46, 0x3a,
+ 0xcb, 0xe3, 0xfa, 0x30, 0xd8, 0xee, 0xee, 0x1c, 0x9f, 0x27, 0x74, 0xc1, 0xae, 0xe0, 0xee, 0xce,
+ 0x35, 0x21, 0x01, 0x64, 0x77, 0x17, 0x04, 0xed, 0x0a, 0xe6, 0xf8, 0x79, 0x93, 0xd3, 0x6b, 0xb0,
+ 0x82, 0xb9, 0xca, 0xad, 0x18, 0x59, 0xc1, 0x02, 0x98, 0xf2, 0x70, 0x94, 0xfc, 0x9a, 0x10, 0xfe,
+ 0x21, 0xcb, 0xcb, 0xd1, 0xed, 0x80, 0x52, 0x2b, 0x30, 0x56, 0xef, 0xe0, 0x00, 0x28, 0x71, 0xfb,
+ 0xeb, 0x36, 0x29, 0x53, 0x5a, 0x04, 0x4b, 0x6c, 0xc5, 0xd1, 0x12, 0x7b, 0x98, 0x4d, 0x1d, 0x84,
+ 0xb0, 0x8d, 0x5f, 0x93, 0x4b, 0x52, 0xe7, 0xe5, 0x74, 0x14, 0xd2, 0x75, 0xe4, 0x48, 0xea, 0x10,
+ 0xe2, 0xc0, 0x10, 0x56, 0x8a, 0x5b, 0x55, 0x55, 0xb7, 0x61, 0x31, 0x34, 0x84, 0x7d, 0x24, 0x3a,
+ 0x84, 0x3b, 0x68, 0xd8, 0xdb, 0x0e, 0x4d, 0x8b, 0xbc, 0x8c, 0x7a, 0x53, 0xc8, 0x10, 0x6f, 0x16,
+ 0x05, 0x83, 0xf7, 0x80, 0x92, 0x05, 0xd5, 0x35, 0x0b, 0xb5, 0x8c, 0x0b, 0x44, 0x07, 0x2f, 0x00,
+ 0xed, 0x3e, 0x4d, 0x88, 0x0f, 0xc9, 0x15, 0x6d, 0x1b, 0x98, 0xb6, 0xeb, 0xda, 0x28, 0xa4, 0xef,
+ 0x11, 0xc8, 0x3e, 0x2d, 0x4c, 0x2a, 0x57, 0xf3, 0xe4, 0x23, 0x21, 0x3f, 0x26, 0x35, 0xcf, 0xd3,
+ 0xbc, 0x22, 0xa5, 0xce, 0xff, 0x43, 0xf3, 0xba, 0x43, 0x19, 0x97, 0x1b, 0x03, 0x69, 0xe5, 0xf6,
+ 0x3f, 0x56, 0x92, 0xbb, 0xd0, 0xef, 0x31, 0xad, 0x67, 0xb9, 0xd8, 0x46, 0x36, 0x32, 0x08, 0x8f,
+ 0xbe, 0x8c, 0x1b, 0xed, 0x28, 0x98, 0xd2, 0xfc, 0xf0, 0xe6, 0x8a, 0xaa, 0x60, 0x7f, 0x94, 0x24,
+ 0x72, 0xbb, 0x22, 0xb6, 0x94, 0xfe, 0xac, 0x55, 0xfb, 0x18, 0x6f, 0x3f, 0x79, 0x37, 0x42, 0xd8,
+ 0xa5, 0x42, 0xfe, 0x2e, 0x76, 0xca, 0xa3, 0xa0, 0x86, 0x10, 0x21, 0x4b, 0x05, 0x40, 0x60, 0x41,
+ 0x27, 0x97, 0xec, 0x3a, 0x5c, 0xd0, 0x56, 0x12, 0x2f, 0xa8, 0x22, 0xec, 0xd9, 0x95, 0x2a, 0x68,
+ 0xe8, 0xec, 0x4a, 0x17, 0x23, 0x76, 0x76, 0x05, 0x19, 0x65, 0x98, 0x25, 0xbf, 0xed, 0x1a, 0x7e,
+ 0xc9, 0xd8, 0xd5, 0x8c, 0xd4, 0x57, 0xa3, 0x27, 0xb8, 0xb2, 0x66, 0x8c, 0xa3, 0xb5, 0x41, 0xac,
+ 0x0d, 0x0b, 0xae, 0xc3, 0x36, 0xd1, 0x38, 0xab, 0x0b, 0x10, 0x16, 0x3c, 0x1b, 0x0a, 0x41, 0xc2,
+ 0x02, 0x82, 0xda, 0xc8, 0xed, 0x7a, 0x9b, 0x50, 0xb8, 0x5b, 0xf2, 0xd4, 0x27, 0x14, 0xdb, 0x2d,
+ 0x05, 0x30, 0x38, 0x84, 0xf6, 0x6a, 0x52, 0x5d, 0x86, 0x87, 0x90, 0x10, 0xc5, 0x87, 0x90, 0x46,
+ 0x60, 0x7f, 0x4f, 0x28, 0xa9, 0xd3, 0xcb, 0x70, 0x7f, 0x4b, 0x59, 0xbc, 0xbf, 0x0d, 0x03, 0xfb,
+ 0x5b, 0x0a, 0xde, 0xe6, 0xfc, 0xf2, 0x90, 0x72, 0x12, 0xee, 0x6f, 0x9f, 0x89, 0xf7, 0x77, 0x87,
+ 0xb5, 0x99, 0x8c, 0xeb, 0x70, 0x32, 0x3f, 0x6f, 0xd2, 0x3a, 0x3f, 0xa7, 0xa3, 0x88, 0x15, 0x03,
+ 0x21, 0x99, 0x0c, 0x0a, 0x2b, 0x9f, 0x3f, 0x5f, 0x49, 0x6e, 0xeb, 0x6e, 0x67, 0x4d, 0x23, 0x57,
+ 0x56, 0xe0, 0xfe, 0x45, 0xb8, 0x7f, 0x11, 0x1c, 0x39, 0x4d, 0x1c, 0xa0, 0xe6, 0x44, 0xd5, 0x70,
+ 0x91, 0xce, 0xca, 0xc6, 0x14, 0xea, 0xcb, 0x21, 0xd6, 0x1d, 0x05, 0x24, 0xaa, 0x0e, 0x52, 0xb4,
+ 0x0b, 0x9a, 0xea, 0x1f, 0x2d, 0xdb, 0xcf, 0x1a, 0xb0, 0xa0, 0xe9, 0xf6, 0x76, 0x08, 0x64, 0x41,
+ 0x0b, 0x93, 0x70, 0x28, 0xec, 0xd5, 0x6c, 0x5e, 0x35, 0x3d, 0x43, 0x01, 0x40, 0xf1, 0xa1, 0xd0,
+ 0x85, 0x95, 0xcf, 0x77, 0xc9, 0xef, 0xba, 0xc3, 0xcf, 0x6d, 0xec, 0x0d, 0x7c, 0x4c, 0x85, 0x9a,
+ 0x78, 0x3c, 0x14, 0xb7, 0x29, 0x9d, 0xf6, 0xcc, 0x77, 0x28, 0x27, 0x79, 0xd1, 0x8c, 0x1e, 0x86,
+ 0x6d, 0x68, 0x39, 0x92, 0xd2, 0x85, 0x38, 0x18, 0xdf, 0x76, 0xe6, 0x55, 0x91, 0xa7, 0xdd, 0xb3,
+ 0x5c, 0xa5, 0x6b, 0xc4, 0xf1, 0xf8, 0xe6, 0x62, 0x30, 0x5e, 0x4f, 0x28, 0x97, 0xff, 0x39, 0x5d,
+ 0x56, 0x34, 0x1c, 0xaf, 0x3d, 0x24, 0x1e, 0xaf, 0x21, 0x0a, 0xeb, 0x33, 0xa1, 0xfc, 0x80, 0x2c,
+ 0xd9, 0x1c, 0x89, 0xd7, 0x46, 0x1c, 0xaf, 0x8f, 0x8b, 0xd9, 0xac, 0xca, 0x78, 0xd8, 0x2f, 0x39,
+ 0xad, 0x4b, 0x52, 0xec, 0x16, 0x64, 0xda, 0x8c, 0x90, 0x18, 0xe3, 0x53, 0x48, 0x56, 0x85, 0xd3,
+ 0x81, 0x66, 0xdc, 0x6f, 0x76, 0xc9, 0x82, 0xd5, 0x39, 0xc7, 0x9b, 0xd1, 0x22, 0xbd, 0xcd, 0xe8,
+ 0xa1, 0x41, 0x6f, 0x5b, 0x75, 0x7a, 0x99, 0x2f, 0x68, 0x16, 0xf1, 0xa6, 0x91, 0x01, 0xde, 0x1c,
+ 0x34, 0xd0, 0x69, 0x13, 0x36, 0xaf, 0x53, 0x8a, 0x76, 0x9a, 0x14, 0xf7, 0x76, 0x9a, 0xc1, 0x94,
+ 0x87, 0xbf, 0x59, 0x49, 0x7e, 0x4f, 0x4a, 0xdd, 0x03, 0xd6, 0x1d, 0xd2, 0x5c, 0x9e, 0x33, 0x52,
+ 0x67, 0xa3, 0xcf, 0x42, 0x76, 0x82, 0xa8, 0x71, 0xfd, 0xec, 0x26, 0x2a, 0xb0, 0x59, 0x0f, 0xf2,
+ 0xc6, 0x99, 0x71, 0xc1, 0x66, 0xf5, 0x90, 0x78, 0xb3, 0x42, 0x14, 0x06, 0x10, 0x21, 0x97, 0x87,
+ 0x19, 0x0f, 0x51, 0x7d, 0xff, 0x44, 0x63, 0xb5, 0x97, 0x83, 0xf1, 0xb1, 0x15, 0xfa, 0xa3, 0x65,
+ 0x03, 0xb3, 0x11, 0x1e, 0x31, 0xe3, 0xa1, 0x38, 0xea, 0xd9, 0xcc, 0x8a, 0xb8, 0xe7, 0xce, 0xcc,
+ 0x18, 0x0f, 0xc5, 0x11, 0xcf, 0x4e, 0x58, 0x8b, 0x79, 0x0e, 0x84, 0xb6, 0xf1, 0x50, 0x1c, 0x66,
+ 0x5f, 0x8a, 0xd1, 0xeb, 0xc2, 0x93, 0x88, 0x1d, 0xb8, 0x36, 0xac, 0x0d, 0x62, 0x95, 0xc3, 0xbf,
+ 0x5b, 0x49, 0xbe, 0x6f, 0x3d, 0x1e, 0xb2, 0x2c, 0xbf, 0x58, 0x4a, 0xe8, 0x0d, 0x29, 0xe6, 0xb4,
+ 0x19, 0x3d, 0xc3, 0xac, 0x75, 0x59, 0x53, 0x82, 0xe7, 0x37, 0xd2, 0x81, 0x73, 0x67, 0xab, 0xaa,
+ 0x8a, 0xe5, 0x29, 0x9d, 0x55, 0x05, 0x3a, 0x77, 0x3c, 0x24, 0x3e, 0x77, 0x20, 0x0a, 0xb3, 0xf2,
+ 0x53, 0xd6, 0xe6, 0xfc, 0xc1, 0xac, 0x5c, 0x88, 0xe2, 0x59, 0xb9, 0x46, 0x60, 0xae, 0x74, 0xca,
+ 0xb6, 0x59, 0x51, 0xd0, 0x94, 0x77, 0x1f, 0xd2, 0x1a, 0x4d, 0x4b, 0xc4, 0x73, 0x25, 0x40, 0xda,
+ 0xf3, 0x0c, 0xbd, 0x87, 0x24, 0x35, 0x7d, 0xb9, 0x3c, 0xc8, 0xcb, 0xab, 0x51, 0x38, 0x2d, 0xb0,
+ 0x00, 0x72, 0x9e, 0x11, 0x04, 0xe1, 0x5e, 0xf5, 0xac, 0xcc, 0x58, 0x78, 0xaf, 0xda, 0x4a, 0xe2,
+ 0x7b, 0x55, 0x45, 0x40, 0x93, 0x27, 0x14, 0x33, 0xd9, 0x4a, 0xe2, 0x26, 0x15, 0x11, 0x0a, 0x85,
+ 0xea, 0xd4, 0x1b, 0x0d, 0x85, 0xe0, 0x9c, 0x7b, 0xb5, 0x97, 0x83, 0x23, 0x54, 0x6f, 0x5a, 0x77,
+ 0x29, 0x4f, 0x2f, 0xc3, 0x23, 0xd4, 0x43, 0xe2, 0x23, 0x14, 0xa2, 0xb0, 0x4a, 0xa7, 0xcc, 0x6c,
+ 0xba, 0x1f, 0x86, 0xc7, 0x47, 0x67, 0xc3, 0xbd, 0xda, 0xcb, 0xc1, 0x6d, 0xe4, 0xfe, 0x4c, 0xb4,
+ 0x59, 0x70, 0x90, 0x4b, 0x59, 0x7c, 0x1b, 0x69, 0x18, 0x58, 0x7a, 0x29, 0x68, 0x9b, 0x33, 0x5c,
+ 0x7a, 0x2b, 0x8f, 0x97, 0xde, 0xe3, 0x94, 0x93, 0x7f, 0x33, 0xdb, 0x38, 0x29, 0x3d, 0x62, 0xed,
+ 0x1c, 0x79, 0x43, 0x8a, 0x3c, 0x23, 0x9c, 0x9e, 0xb2, 0x2b, 0x5a, 0x86, 0x77, 0x4c, 0xaa, 0xb4,
+ 0x92, 0x1f, 0x7b, 0x0a, 0xf1, 0x1d, 0x53, 0x5c, 0x11, 0x8e, 0x13, 0x49, 0x9f, 0x35, 0x74, 0x9b,
+ 0x34, 0x48, 0x24, 0xf3, 0x90, 0xf8, 0x38, 0x81, 0x28, 0xcc, 0x57, 0xa5, 0xfc, 0xd5, 0xbb, 0x8a,
+ 0xd6, 0x39, 0x2d, 0x53, 0x1a, 0xce, 0x57, 0x21, 0x15, 0xcf, 0x57, 0x03, 0x74, 0xe7, 0x98, 0xc6,
+ 0x04, 0xa7, 0xee, 0x3d, 0x0b, 0x48, 0x44, 0xee, 0x59, 0x20, 0x28, 0xac, 0xa4, 0x05, 0x82, 0x47,
+ 0x9d, 0x1d, 0x2b, 0xd1, 0xa3, 0x4e, 0x9c, 0xee, 0x1c, 0x7e, 0x19, 0x66, 0xd2, 0x4e, 0x93, 0x9e,
+ 0xa2, 0x4f, 0xdc, 0xe9, 0xb2, 0x36, 0x88, 0x0d, 0x9f, 0xb6, 0x9d, 0xd0, 0x82, 0x88, 0x25, 0x24,
+ 0x72, 0xa4, 0xa5, 0x99, 0x21, 0xa7, 0x6d, 0x0e, 0xab, 0x1c, 0xfe, 0xd5, 0x4a, 0xf2, 0x49, 0xc8,
+ 0xe3, 0xeb, 0x4a, 0xf8, 0x7d, 0xda, 0x6f, 0x4b, 0x92, 0xc8, 0x45, 0x92, 0xb8, 0x86, 0x2a, 0xc3,
+ 0x9f, 0x25, 0x1f, 0x6b, 0x91, 0xbd, 0x67, 0xa2, 0x0a, 0xe0, 0x27, 0x50, 0xa6, 0xfc, 0x90, 0x33,
+ 0xee, 0x37, 0x07, 0xf3, 0x76, 0x6f, 0xe2, 0x97, 0xab, 0x01, 0x7b, 0x13, 0x63, 0x43, 0x89, 0x91,
+ 0xbd, 0x49, 0x00, 0xb3, 0xa7, 0x1a, 0x6e, 0xf5, 0xde, 0xe6, 0xfc, 0x52, 0xe4, 0x3e, 0xe0, 0x54,
+ 0xc3, 0x2b, 0xab, 0x81, 0x90, 0x53, 0x0d, 0x14, 0x86, 0xd9, 0x81, 0x06, 0xdb, 0xb9, 0x19, 0x8a,
+ 0xab, 0xc6, 0x90, 0x3b, 0x33, 0x1f, 0xf5, 0x83, 0x70, 0xbc, 0x6a, 0xb1, 0xda, 0x86, 0x3c, 0x89,
+ 0x59, 0x00, 0x5b, 0x91, 0xb5, 0x41, 0xac, 0x72, 0xf8, 0x17, 0xc9, 0xf7, 0x3a, 0x15, 0xdb, 0xa5,
+ 0x84, 0xcf, 0x6b, 0x9a, 0x8d, 0x36, 0x7b, 0xca, 0xad, 0x41, 0xe3, 0xfa, 0xe9, 0x70, 0x85, 0x4e,
+ 0xbe, 0xac, 0x39, 0x39, 0xac, 0x4c, 0x19, 0x9e, 0xc5, 0x4c, 0xfa, 0x6c, 0x34, 0x5f, 0xc6, 0x75,
+ 0x3a, 0x5b, 0x5e, 0x77, 0x74, 0x6d, 0x2d, 0x48, 0x5e, 0x88, 0x47, 0x4e, 0x9f, 0xc5, 0x8c, 0x7a,
+ 0x68, 0x74, 0xcb, 0x8b, 0xaa, 0x74, 0x22, 0xb3, 0x98, 0xe3, 0xce, 0x56, 0x69, 0x1d, 0x8f, 0x04,
+ 0x81, 0x9d, 0xd2, 0xc6, 0x40, 0x5a, 0xb9, 0xe5, 0xfa, 0xa8, 0xb0, 0xfd, 0xd9, 0x1d, 0xe4, 0x21,
+ 0xaf, 0x4a, 0x35, 0x30, 0xd2, 0x37, 0x06, 0xd2, 0xca, 0xeb, 0x9f, 0x27, 0x1f, 0x77, 0xbd, 0xaa,
+ 0x85, 0x68, 0xb3, 0xd7, 0x14, 0x58, 0x8b, 0x9e, 0x0e, 0x57, 0xb0, 0xdb, 0x8b, 0xaf, 0xf2, 0x86,
+ 0xb3, 0x7a, 0x39, 0xb9, 0x64, 0xd7, 0xfa, 0xfe, 0xb6, 0x3f, 0x5b, 0x15, 0x30, 0x76, 0x08, 0x64,
+ 0x7b, 0x11, 0x26, 0x3b, 0xae, 0xec, 0x3d, 0xef, 0x06, 0x71, 0xe5, 0x10, 0x3d, 0xae, 0x7c, 0xd2,
+ 0xc6, 0x2a, 0x5d, 0x2b, 0x7b, 0x29, 0x7d, 0x35, 0x5c, 0xd4, 0xee, 0xc5, 0xf4, 0x47, 0xfd, 0xa0,
+ 0xcd, 0x58, 0x94, 0x78, 0x27, 0xbf, 0xb8, 0x30, 0x75, 0x0a, 0x97, 0xd4, 0x45, 0x90, 0x8c, 0x05,
+ 0x41, 0x6d, 0x02, 0xbc, 0x9b, 0x17, 0x54, 0x9c, 0xae, 0xbf, 0xbe, 0xb8, 0x28, 0x18, 0xc9, 0x40,
+ 0x02, 0xdc, 0x8a, 0xc7, 0xae, 0x1c, 0x49, 0x80, 0x43, 0x9c, 0xbd, 0xfe, 0xd5, 0x4a, 0x4f, 0x68,
+ 0xca, 0xca, 0x34, 0x2f, 0xe0, 0x75, 0x36, 0xa1, 0x69, 0x84, 0xc8, 0xf5, 0xaf, 0x0e, 0x64, 0x17,
+ 0xc6, 0x56, 0xd4, 0x4e, 0x7b, 0x5d, 0xfe, 0x07, 0x5d, 0x45, 0x47, 0x8c, 0x2c, 0x8c, 0x01, 0xcc,
+ 0xee, 0x03, 0x5b, 0xe1, 0x59, 0x25, 0x8c, 0xdf, 0xe9, 0x6a, 0x49, 0x09, 0xb2, 0x0f, 0xf4, 0x09,
+ 0xbb, 0x9f, 0x69, 0x7f, 0xdf, 0x61, 0xd7, 0xa5, 0x30, 0x7a, 0xaf, 0xab, 0xa2, 0x65, 0xc8, 0x7e,
+ 0x06, 0x32, 0xca, 0xf0, 0x4f, 0x92, 0x5f, 0x15, 0x86, 0x6b, 0x56, 0x8d, 0x6e, 0x05, 0x14, 0x6a,
+ 0xe7, 0xe6, 0xd9, 0x6d, 0x54, 0x6e, 0x2f, 0x50, 0x9a, 0xb1, 0x71, 0xd6, 0x90, 0x29, 0x1d, 0xdd,
+ 0x47, 0x7a, 0x5c, 0x48, 0x91, 0x0b, 0x94, 0x5d, 0xca, 0x1f, 0x15, 0x47, 0x2c, 0x53, 0xd6, 0x03,
+ 0x35, 0x34, 0xc2, 0xd8, 0xa8, 0x70, 0x21, 0x9b, 0xcc, 0x1c, 0x91, 0x45, 0x3e, 0x35, 0x0b, 0x8e,
+ 0x8c, 0x5b, 0x0d, 0x48, 0x66, 0x2c, 0x33, 0x76, 0x20, 0x24, 0x99, 0x41, 0x61, 0xe5, 0xf3, 0x5f,
+ 0x57, 0x92, 0x3b, 0x96, 0xd9, 0xd3, 0x27, 0x67, 0xfb, 0xe5, 0x05, 0x6b, 0x53, 0x9f, 0x83, 0xbc,
+ 0xbc, 0x6a, 0x46, 0x5f, 0x60, 0x26, 0xc3, 0xbc, 0x29, 0xca, 0x97, 0x37, 0xd6, 0xb3, 0x59, 0xab,
+ 0x3e, 0x56, 0xb2, 0xcf, 0x96, 0xa5, 0x06, 0xc8, 0x5a, 0xcd, 0xe9, 0x13, 0xe4, 0x90, 0xac, 0x35,
+ 0xc6, 0xdb, 0x2e, 0x36, 0xce, 0x0b, 0x56, 0xc2, 0x2e, 0xb6, 0x16, 0x5a, 0x21, 0xd2, 0xc5, 0x1d,
+ 0xc8, 0xc6, 0x63, 0x2d, 0x92, 0x27, 0x20, 0x5b, 0x45, 0x01, 0xe2, 0xb1, 0x51, 0x35, 0x00, 0x12,
+ 0x8f, 0x83, 0xa0, 0xf2, 0x73, 0x92, 0x7c, 0xa7, 0x6d, 0xd2, 0xe3, 0x9a, 0x2e, 0x72, 0x0a, 0xaf,
+ 0x41, 0x38, 0x12, 0x64, 0xfe, 0xfb, 0x84, 0x9d, 0x59, 0x67, 0x65, 0x53, 0x15, 0xa4, 0xb9, 0x54,
+ 0x0f, 0xc6, 0xfd, 0x3a, 0x6b, 0x21, 0x7c, 0x34, 0xfe, 0xa0, 0x87, 0xb2, 0x41, 0x5d, 0xcb, 0x4c,
+ 0x88, 0x79, 0x18, 0x56, 0xed, 0x84, 0x99, 0xd5, 0x5e, 0xce, 0x9e, 0x3e, 0xef, 0x91, 0xa2, 0xa0,
+ 0xf5, 0x52, 0xcb, 0x0e, 0x49, 0x99, 0x5f, 0xd0, 0x86, 0x83, 0xd3, 0x67, 0x45, 0x8d, 0x21, 0x86,
+ 0x9c, 0x3e, 0x47, 0x70, 0x9b, 0xcd, 0x03, 0xcf, 0xfb, 0x65, 0x46, 0xdf, 0x81, 0x6c, 0x1e, 0xda,
+ 0x11, 0x0c, 0x92, 0xcd, 0x63, 0xac, 0x3d, 0x85, 0x7d, 0x59, 0xb0, 0xf4, 0x4a, 0x2d, 0x01, 0x7e,
+ 0x07, 0x0b, 0x09, 0x5c, 0x03, 0xee, 0xc5, 0x10, 0xbb, 0x08, 0x08, 0xc1, 0x09, 0xad, 0x0a, 0x92,
+ 0xc2, 0xbb, 0x30, 0x52, 0x47, 0xc9, 0x90, 0x45, 0x00, 0x32, 0xa0, 0xb8, 0xea, 0x8e, 0x4d, 0xa8,
+ 0xb8, 0xe0, 0x8a, 0xcd, 0xbd, 0x18, 0x62, 0x97, 0x41, 0x21, 0x98, 0x54, 0x45, 0xce, 0xc1, 0x34,
+ 0x90, 0x1a, 0x42, 0x82, 0x4c, 0x03, 0x9f, 0x00, 0x26, 0x0f, 0x69, 0x3d, 0xa5, 0x41, 0x93, 0x42,
+ 0x12, 0x35, 0xa9, 0x09, 0x7b, 0x65, 0x52, 0xd6, 0x9d, 0x55, 0x4b, 0x70, 0x65, 0x52, 0x55, 0x8b,
+ 0x55, 0x4b, 0xe4, 0xca, 0xa4, 0x07, 0x80, 0x22, 0x1e, 0x93, 0x86, 0x87, 0x8b, 0x28, 0x24, 0xd1,
+ 0x22, 0x6a, 0xc2, 0xae, 0xd1, 0xb2, 0x88, 0x73, 0x0e, 0xd6, 0x68, 0x55, 0x00, 0xe7, 0x69, 0xf0,
+ 0x6d, 0x54, 0x6e, 0x23, 0x89, 0xec, 0x15, 0xca, 0x77, 0x73, 0x5a, 0x64, 0x0d, 0x88, 0x24, 0xaa,
+ 0xdd, 0xb5, 0x14, 0x89, 0x24, 0x5d, 0x0a, 0x0c, 0x25, 0x75, 0x56, 0x1d, 0xaa, 0x1d, 0x38, 0xa6,
+ 0xbe, 0x17, 0x43, 0x6c, 0x7c, 0xd2, 0x85, 0xde, 0x26, 0x75, 0x9d, 0xb7, 0x8b, 0xff, 0xc3, 0x70,
+ 0x81, 0xb4, 0x1c, 0x89, 0x4f, 0x21, 0x0e, 0x4c, 0x2f, 0x1d, 0xb8, 0x43, 0x05, 0x83, 0xa1, 0xfb,
+ 0xd3, 0x28, 0x63, 0x33, 0x4e, 0x21, 0x71, 0x1e, 0x67, 0x86, 0x5a, 0x33, 0xf0, 0x34, 0xf3, 0x61,
+ 0x1f, 0xe6, 0xbc, 0xd2, 0x60, 0x5c, 0x1c, 0xb2, 0x05, 0x3d, 0x65, 0xaf, 0xde, 0xe5, 0x0d, 0xcf,
+ 0xcb, 0xa9, 0x5a, 0xb9, 0x9f, 0x23, 0x96, 0x42, 0x30, 0xf2, 0x4a, 0x43, 0xaf, 0x92, 0x4d, 0x20,
+ 0x40, 0x59, 0x8e, 0xe8, 0x75, 0x30, 0x81, 0x80, 0x16, 0x0d, 0x87, 0x24, 0x10, 0x31, 0xde, 0x9e,
+ 0xa3, 0x18, 0xe7, 0xea, 0xbd, 0xcf, 0x53, 0xa6, 0x73, 0x39, 0xcc, 0x1a, 0x04, 0x91, 0xad, 0x6c,
+ 0x54, 0xc1, 0xee, 0x2f, 0x8d, 0x7f, 0x3b, 0xc5, 0x1e, 0x21, 0x76, 0xba, 0xd3, 0xec, 0xf1, 0x00,
+ 0x32, 0xe0, 0xca, 0x3e, 0x93, 0xc7, 0x5c, 0x75, 0x1f, 0xc9, 0x3f, 0x1e, 0x40, 0x3a, 0x67, 0x32,
+ 0x6e, 0xb5, 0x5e, 0x92, 0xf4, 0x6a, 0x5a, 0xb3, 0x79, 0x99, 0x6d, 0xb3, 0x82, 0xd5, 0xe0, 0x4c,
+ 0xc6, 0x2b, 0x35, 0x40, 0x91, 0x33, 0x99, 0x1e, 0x15, 0x9b, 0xc1, 0xb9, 0xa5, 0xd8, 0x2a, 0xf2,
+ 0x29, 0xdc, 0x51, 0x7b, 0x86, 0x04, 0x80, 0x64, 0x70, 0x41, 0x30, 0x30, 0x88, 0xe4, 0x8e, 0x9b,
+ 0xe7, 0x29, 0x29, 0xa4, 0xbf, 0x4d, 0xdc, 0x8c, 0x07, 0xf6, 0x0e, 0xa2, 0x80, 0x42, 0xa0, 0x9e,
+ 0xa7, 0xf3, 0xba, 0xdc, 0x2f, 0x39, 0x43, 0xeb, 0xa9, 0x81, 0xde, 0x7a, 0x3a, 0x20, 0x08, 0xab,
+ 0xa7, 0xf4, 0x5d, 0x5b, 0x9a, 0xf6, 0x9f, 0x50, 0x58, 0x6d, 0x7f, 0x1f, 0x2b, 0x79, 0x2c, 0xac,
+ 0x02, 0x0e, 0x54, 0x46, 0x39, 0x91, 0x03, 0x26, 0xa2, 0xed, 0x0f, 0x93, 0x47, 0xfd, 0x60, 0xd8,
+ 0xcf, 0x84, 0x2f, 0x0b, 0x1a, 0xf3, 0x23, 0x80, 0x21, 0x7e, 0x34, 0x68, 0x8f, 0x5b, 0xbc, 0xfa,
+ 0x5c, 0xd2, 0xf4, 0xaa, 0x73, 0xc5, 0xc8, 0x2f, 0xa8, 0x44, 0x90, 0xe3, 0x16, 0x04, 0x0d, 0x77,
+ 0xd1, 0x7e, 0xca, 0xca, 0x58, 0x17, 0xb5, 0xf2, 0x21, 0x5d, 0xa4, 0x38, 0xbb, 0xf9, 0x35, 0x52,
+ 0x35, 0x32, 0x65, 0x37, 0xad, 0x21, 0x16, 0x5c, 0x08, 0xd9, 0xfc, 0xa2, 0xb0, 0xcd, 0xc9, 0xa1,
+ 0xcf, 0xc3, 0xee, 0xfd, 0xeb, 0x8e, 0x95, 0x43, 0xfc, 0xfe, 0x35, 0xc6, 0xe2, 0x95, 0x94, 0x63,
+ 0xa4, 0xc7, 0x8a, 0x3f, 0x4e, 0xd6, 0x87, 0xc1, 0x76, 0xcb, 0xe3, 0xf9, 0xdc, 0x2e, 0x28, 0xa9,
+ 0xa5, 0xd7, 0x8d, 0x88, 0x21, 0x8b, 0x21, 0x5b, 0x9e, 0x08, 0x0e, 0x42, 0x98, 0xe7, 0x79, 0x9b,
+ 0x95, 0x9c, 0x96, 0x3c, 0x14, 0xc2, 0x7c, 0x63, 0x0a, 0x8c, 0x85, 0x30, 0x4c, 0x01, 0x8c, 0x5b,
+ 0x71, 0x1e, 0x44, 0xf9, 0x11, 0x99, 0x05, 0x33, 0x36, 0x79, 0xd6, 0x23, 0xe5, 0xb1, 0x71, 0x0b,
+ 0x38, 0xe7, 0x21, 0x9f, 0xeb, 0xe5, 0x94, 0xd4, 0x53, 0x73, 0xba, 0x91, 0x8d, 0x9e, 0xe2, 0x76,
+ 0x7c, 0x12, 0x79, 0xc8, 0x17, 0xd7, 0x00, 0x61, 0x67, 0x7f, 0x46, 0xa6, 0xa6, 0xa6, 0x81, 0x1a,
+ 0x08, 0x79, 0xa7, 0xaa, 0x8f, 0xfa, 0x41, 0xe0, 0xe7, 0x4d, 0x9e, 0x51, 0x16, 0xf1, 0x23, 0xe4,
+ 0x43, 0xfc, 0x40, 0x10, 0x64, 0x6f, 0x6d, 0xbd, 0xe5, 0x8e, 0x6e, 0xab, 0xcc, 0xd4, 0x3e, 0x76,
+ 0x8c, 0x34, 0x0f, 0xe0, 0x62, 0xd9, 0x1b, 0xc2, 0x83, 0x39, 0xaa, 0x0f, 0x68, 0x63, 0x73, 0xd4,
+ 0x9c, 0xbf, 0x0e, 0x99, 0xa3, 0x21, 0x58, 0xf9, 0xfc, 0x99, 0x9a, 0xa3, 0x3b, 0x84, 0x93, 0x36,
+ 0x6f, 0x7f, 0x93, 0xd3, 0x6b, 0xb5, 0x11, 0x0e, 0xd4, 0x57, 0x53, 0x63, 0xf1, 0xe2, 0x1d, 0xd8,
+ 0x15, 0x6f, 0x0e, 0xe6, 0x23, 0xbe, 0xd5, 0x0e, 0xa1, 0xd7, 0x37, 0xd8, 0x2a, 0x6c, 0x0e, 0xe6,
+ 0x23, 0xbe, 0xd5, 0x1b, 0xbd, 0xbd, 0xbe, 0xc1, 0x6b, 0xbd, 0x9b, 0x83, 0x79, 0xe5, 0xfb, 0xaf,
+ 0xf5, 0xc4, 0x75, 0x9d, 0xb7, 0x79, 0x58, 0xca, 0xf3, 0x05, 0x0d, 0xa5, 0x93, 0xbe, 0x3d, 0x83,
+ 0xc6, 0xd2, 0x49, 0x5c, 0xc5, 0xf9, 0x0c, 0x4c, 0xa8, 0x14, 0xc7, 0xac, 0xc9, 0xc5, 0x43, 0xfa,
+ 0xe7, 0x03, 0x8c, 0x6a, 0x38, 0xb6, 0x69, 0x8a, 0x29, 0xd9, 0xc7, 0x8d, 0x1e, 0x6a, 0x6f, 0x14,
+ 0xaf, 0x47, 0xec, 0x75, 0x2f, 0x16, 0x6f, 0x0c, 0xa4, 0xed, 0x83, 0x3f, 0x8f, 0x71, 0x9f, 0x38,
+ 0xc6, 0x7a, 0x35, 0xf8, 0xd0, 0xf1, 0xe9, 0x70, 0x05, 0xe5, 0xfe, 0x6f, 0xf5, 0xbe, 0x02, 0xfa,
+ 0x57, 0x93, 0xe0, 0xd9, 0x10, 0x8b, 0x60, 0x22, 0x3c, 0xbf, 0x91, 0x8e, 0x2a, 0xc8, 0x3f, 0xea,
+ 0x0d, 0xb4, 0x46, 0xc5, 0x7b, 0x15, 0xaf, 0xeb, 0x8c, 0xd6, 0x6a, 0x4e, 0xc4, 0xba, 0xd5, 0xc2,
+ 0x70, 0x66, 0xbc, 0xb8, 0xa1, 0x96, 0xf3, 0x51, 0x20, 0x0f, 0x56, 0xef, 0xff, 0x39, 0xe5, 0x89,
+ 0x59, 0x76, 0x68, 0x58, 0xa0, 0x2f, 0x6e, 0xaa, 0x86, 0xcd, 0x15, 0x07, 0x16, 0xdf, 0x18, 0x78,
+ 0x3e, 0xd0, 0xb0, 0xf7, 0xd5, 0x81, 0xcf, 0x6f, 0xa6, 0xa4, 0xca, 0xf2, 0x5f, 0x2b, 0xc9, 0x03,
+ 0x8f, 0xb5, 0xcf, 0x13, 0xc0, 0xa9, 0xc7, 0x8f, 0x23, 0xf6, 0x31, 0x25, 0x53, 0xb8, 0xdf, 0xff,
+ 0xe5, 0x94, 0xed, 0x17, 0x74, 0x3c, 0x95, 0xdd, 0xbc, 0xe0, 0xb4, 0xee, 0x7e, 0x41, 0xc7, 0xb7,
+ 0x2b, 0xa9, 0x31, 0xfe, 0x05, 0x9d, 0x08, 0xee, 0x7c, 0x41, 0x27, 0xe0, 0x39, 0xf8, 0x05, 0x9d,
+ 0xa0, 0xb5, 0xe8, 0x17, 0x74, 0xe2, 0x1a, 0x58, 0x78, 0xd7, 0x45, 0x90, 0xe7, 0xd6, 0x83, 0x2c,
+ 0xfa, 0xc7, 0xd8, 0xcf, 0x6e, 0xa2, 0x82, 0x2c, 0x70, 0x92, 0x13, 0xf7, 0xdc, 0x06, 0xb4, 0xa9,
+ 0x77, 0xd7, 0x6d, 0x73, 0x30, 0xaf, 0x7c, 0xff, 0x54, 0xed, 0x6e, 0x4c, 0x38, 0x67, 0xb5, 0xf8,
+ 0x7a, 0xd2, 0x5a, 0x2c, 0x3c, 0xb7, 0x16, 0xdc, 0x9e, 0x5f, 0x1f, 0x06, 0x23, 0xd5, 0x6d, 0x09,
+ 0xd5, 0xe9, 0xe3, 0x3e, 0x43, 0xa0, 0xcb, 0x37, 0x07, 0xf3, 0xc8, 0x32, 0x22, 0x7d, 0xcb, 0xde,
+ 0x1e, 0x60, 0xcc, 0xef, 0xeb, 0xa7, 0xc3, 0x15, 0x94, 0xfb, 0x85, 0x4a, 0x1b, 0x5d, 0xf7, 0xa2,
+ 0x9f, 0x37, 0xfa, 0x4c, 0x4d, 0xbc, 0x6e, 0x1e, 0x0f, 0xc5, 0x63, 0x09, 0x84, 0xbb, 0x84, 0xf6,
+ 0x25, 0x10, 0xc1, 0x65, 0xf4, 0xf3, 0x9b, 0x29, 0xa9, 0xb2, 0xfc, 0xcb, 0x4a, 0x72, 0x1b, 0x2d,
+ 0x8b, 0x1a, 0x07, 0x5f, 0x0c, 0xb5, 0x0c, 0xc6, 0xc3, 0x97, 0x37, 0xd6, 0x53, 0x85, 0xfa, 0xf7,
+ 0x95, 0xe4, 0x4e, 0xa4, 0x50, 0x72, 0x80, 0xdc, 0xc0, 0xba, 0x3f, 0x50, 0x7e, 0x78, 0x73, 0x45,
+ 0x6c, 0xb9, 0x77, 0xf1, 0x49, 0xf7, 0xd3, 0x32, 0x11, 0xdb, 0x13, 0xfc, 0xd3, 0x32, 0xfd, 0x5a,
+ 0xf0, 0x90, 0x87, 0x9c, 0xeb, 0x4d, 0x57, 0xf0, 0x90, 0x47, 0xdc, 0x50, 0x03, 0x7b, 0x8e, 0xd5,
+ 0x5e, 0x2e, 0xe4, 0xe4, 0xd5, 0xbb, 0x8a, 0x94, 0x19, 0xee, 0x44, 0xca, 0xfb, 0x9d, 0x18, 0x0e,
+ 0x1e, 0x8e, 0xb5, 0xd2, 0x13, 0xa6, 0x37, 0x52, 0x8f, 0x31, 0x7d, 0x83, 0x44, 0x0f, 0xc7, 0x3a,
+ 0x28, 0xe2, 0x4d, 0x65, 0x8d, 0x31, 0x6f, 0x20, 0x59, 0x7c, 0x32, 0x04, 0x05, 0x29, 0xba, 0xf1,
+ 0x66, 0xce, 0xdc, 0xd7, 0x63, 0x56, 0x3a, 0xe7, 0xee, 0x1b, 0x03, 0x69, 0xc4, 0xed, 0x84, 0xf2,
+ 0xaf, 0x28, 0xc9, 0x68, 0x1d, 0x75, 0x6b, 0xa8, 0x41, 0x6e, 0x5d, 0x3a, 0xe4, 0x76, 0x9b, 0x15,
+ 0xf3, 0x59, 0xa9, 0x3a, 0x13, 0x75, 0xeb, 0x52, 0xfd, 0x6e, 0x01, 0x0d, 0x8f, 0x05, 0xad, 0x5b,
+ 0x91, 0x5e, 0x3e, 0x89, 0x9b, 0xf1, 0xb2, 0xca, 0xb5, 0x41, 0x2c, 0x5e, 0x4f, 0x35, 0x8c, 0x7a,
+ 0xea, 0x09, 0x46, 0xd2, 0xc6, 0x40, 0x1a, 0x9e, 0xcf, 0x39, 0x6e, 0xcd, 0x78, 0xda, 0xec, 0xb1,
+ 0xd5, 0x19, 0x52, 0x4f, 0x87, 0x2b, 0xc0, 0xd3, 0x50, 0x35, 0xaa, 0x0e, 0xf2, 0x86, 0xef, 0xe6,
+ 0x45, 0x31, 0x5a, 0x8b, 0x0c, 0x13, 0x0d, 0x45, 0x4f, 0x43, 0x03, 0x30, 0x32, 0x92, 0xf5, 0xe9,
+ 0x61, 0x39, 0xea, 0xb3, 0x23, 0xa8, 0x41, 0x23, 0xd9, 0xa5, 0xc1, 0x89, 0x96, 0xd3, 0xd4, 0xa6,
+ 0xb6, 0xe3, 0x78, 0xc3, 0x75, 0x2a, 0xbc, 0x39, 0x98, 0x07, 0x8f, 0xdb, 0x05, 0x25, 0x56, 0x96,
+ 0xfb, 0x98, 0x09, 0x6f, 0x25, 0x79, 0xd0, 0x43, 0x81, 0x53, 0x41, 0x39, 0x8d, 0xde, 0xe6, 0xd9,
+ 0x94, 0xf2, 0xe0, 0x93, 0x22, 0x17, 0x88, 0x3e, 0x29, 0x02, 0x20, 0xe8, 0x3a, 0xf9, 0xbb, 0x39,
+ 0x0e, 0xdd, 0xcf, 0x42, 0x5d, 0xa7, 0x94, 0x1d, 0x2a, 0xd6, 0x75, 0x41, 0x1a, 0x44, 0x03, 0xe3,
+ 0x56, 0xbd, 0x1a, 0xff, 0x24, 0x66, 0x06, 0xbc, 0x1f, 0xbf, 0x36, 0x88, 0x05, 0x2b, 0x8a, 0x75,
+ 0x98, 0xcf, 0x72, 0x1e, 0x5a, 0x51, 0x1c, 0x1b, 0x2d, 0x12, 0x5b, 0x51, 0xba, 0x28, 0x56, 0xbd,
+ 0x36, 0x47, 0xd8, 0xcf, 0xe2, 0xd5, 0x93, 0xcc, 0xb0, 0xea, 0x19, 0xb6, 0xf3, 0x60, 0xb3, 0x34,
+ 0x43, 0x86, 0x5f, 0xaa, 0xcd, 0x72, 0x60, 0x6c, 0x8b, 0x57, 0x26, 0x21, 0x18, 0x8b, 0x3a, 0x98,
+ 0x02, 0x3c, 0xb0, 0x6f, 0x39, 0xfd, 0xec, 0xb5, 0xaa, 0x28, 0xa9, 0x49, 0x99, 0x06, 0x37, 0xa7,
+ 0xc2, 0x60, 0x87, 0x8c, 0x6d, 0x4e, 0x51, 0x0d, 0xf0, 0xd8, 0xdc, 0x7f, 0xd9, 0x31, 0x30, 0x15,
+ 0xcc, 0x5b, 0x85, 0xfe, 0xbb, 0x8e, 0x8f, 0x07, 0x90, 0xf0, 0xb1, 0xb9, 0x06, 0xcc, 0xc1, 0xb7,
+ 0x74, 0xfa, 0x59, 0xc4, 0x94, 0x8f, 0xc6, 0x36, 0xc2, 0xb8, 0x0a, 0x18, 0xd4, 0x26, 0xc1, 0xa5,
+ 0xfc, 0x27, 0x74, 0x19, 0x1a, 0xd4, 0x36, 0x3f, 0x15, 0x48, 0x6c, 0x50, 0x77, 0x51, 0x90, 0x67,
+ 0xba, 0xfb, 0xa0, 0x87, 0x11, 0x7d, 0x77, 0xeb, 0xb3, 0xda, 0xcb, 0x81, 0x99, 0xb3, 0x93, 0x2f,
+ 0xbc, 0xe7, 0x04, 0x81, 0x82, 0xee, 0xe4, 0x8b, 0xf0, 0x63, 0x82, 0xb5, 0x41, 0x2c, 0x7c, 0x24,
+ 0x4f, 0x38, 0x7d, 0xa7, 0x9f, 0x95, 0x07, 0x8a, 0x2b, 0xe4, 0x9d, 0x87, 0xe5, 0x8f, 0xfa, 0x41,
+ 0x7b, 0x01, 0xf6, 0xb8, 0x66, 0x29, 0x6d, 0x1a, 0xf5, 0xbd, 0x3d, 0xff, 0x86, 0x91, 0x92, 0x8d,
+ 0xc1, 0xd7, 0xf6, 0xee, 0xc7, 0x21, 0x65, 0xfb, 0xab, 0xe4, 0xfd, 0x03, 0x36, 0x9d, 0xd0, 0x32,
+ 0x1b, 0xfd, 0xc0, 0xbf, 0x72, 0xca, 0xa6, 0xe3, 0xf6, 0x67, 0x63, 0xef, 0x16, 0x26, 0xb6, 0x97,
+ 0xe6, 0x76, 0xe8, 0xf9, 0x7c, 0x3a, 0xe1, 0x84, 0x83, 0x4b, 0x73, 0xe2, 0xf7, 0x71, 0x2b, 0x40,
+ 0x2e, 0xcd, 0x79, 0x00, 0xb0, 0x77, 0x5a, 0x53, 0x1a, 0xb4, 0xd7, 0x0a, 0xa2, 0xf6, 0x14, 0x60,
+ 0x57, 0x5d, 0x63, 0xaf, 0x4d, 0x6c, 0xe1, 0x25, 0x37, 0xab, 0x23, 0xa4, 0xc8, 0xaa, 0xdb, 0xa5,
+ 0xec, 0x60, 0x90, 0xd5, 0x17, 0x5f, 0xcc, 0x98, 0xcf, 0x66, 0xa4, 0x5e, 0x82, 0xc1, 0xa0, 0x6a,
+ 0xe9, 0x00, 0xc8, 0x60, 0x08, 0x82, 0x76, 0x94, 0xeb, 0x66, 0x4e, 0xaf, 0xf6, 0x58, 0xcd, 0xe6,
+ 0x3c, 0x2f, 0x29, 0xfc, 0x6a, 0x82, 0x69, 0x50, 0x97, 0x41, 0x46, 0x39, 0xc6, 0xda, 0xac, 0x50,
+ 0x10, 0xf2, 0xfe, 0x9d, 0xf8, 0x6a, 0x6d, 0xc3, 0x59, 0x0d, 0x9f, 0xbf, 0x49, 0x2b, 0x10, 0x42,
+ 0xb2, 0x42, 0x14, 0x06, 0x7d, 0x7f, 0x9c, 0x97, 0xd3, 0x60, 0xdf, 0x1f, 0xbb, 0xdf, 0x7c, 0xbc,
+ 0x83, 0x03, 0x36, 0xbe, 0xcb, 0x46, 0x93, 0x5f, 0x26, 0x52, 0xef, 0x3e, 0x06, 0x1b, 0xdd, 0x25,
+ 0x90, 0xf8, 0x1e, 0x26, 0x81, 0xab, 0xd7, 0x15, 0x2d, 0x69, 0xa6, 0x6f, 0x99, 0x85, 0x5c, 0x79,
+ 0x44, 0xd4, 0x15, 0x24, 0x6d, 0x54, 0x15, 0xf2, 0x93, 0x79, 0x79, 0x5c, 0xb3, 0x8b, 0xbc, 0xa0,
+ 0x35, 0x88, 0xaa, 0x52, 0xdd, 0x91, 0x23, 0x51, 0x35, 0xc4, 0xd9, 0xeb, 0x0a, 0x42, 0xea, 0x7d,
+ 0x7a, 0xf9, 0xb4, 0x26, 0x29, 0xbc, 0xae, 0x20, 0x6d, 0x74, 0x31, 0xe4, 0x24, 0x2d, 0x82, 0x3b,
+ 0x89, 0x81, 0x74, 0x5d, 0x2e, 0xc5, 0xf8, 0x50, 0xef, 0xde, 0x89, 0x2f, 0x21, 0x36, 0x20, 0x31,
+ 0x50, 0xe6, 0x42, 0x24, 0x92, 0x18, 0xc4, 0x35, 0x6c, 0xe8, 0x15, 0xdc, 0x91, 0xba, 0x86, 0x03,
+ 0x42, 0xaf, 0xb4, 0xa1, 0x85, 0x48, 0xe8, 0xed, 0x40, 0x20, 0x20, 0xe9, 0x69, 0x30, 0x0d, 0x06,
+ 0x24, 0x23, 0x8d, 0x06, 0x24, 0x97, 0xb2, 0x81, 0x62, 0xbf, 0xcc, 0x79, 0x4e, 0x8a, 0x09, 0xe5,
+ 0xc7, 0xa4, 0x26, 0x33, 0xca, 0x69, 0x0d, 0x03, 0x85, 0x42, 0xc6, 0x1e, 0x83, 0x04, 0x0a, 0x8c,
+ 0x55, 0x0e, 0xff, 0x20, 0xf9, 0xb0, 0x5d, 0x27, 0x69, 0xa9, 0xfe, 0xc8, 0xc2, 0x2b, 0xf1, 0xd7,
+ 0x59, 0x46, 0x1f, 0x19, 0x1b, 0x13, 0x5e, 0x53, 0x32, 0xd3, 0xb6, 0x3f, 0x30, 0xbf, 0x0b, 0xf0,
+ 0xe9, 0x4a, 0x3b, 0x9e, 0x8f, 0x18, 0xcf, 0x2f, 0xda, 0x6d, 0xa9, 0x7a, 0xe3, 0x06, 0x8c, 0x67,
+ 0x57, 0x3c, 0x8e, 0x7c, 0x47, 0x21, 0xc4, 0xd9, 0x38, 0xed, 0x4a, 0x4f, 0x68, 0x55, 0xc0, 0x38,
+ 0xed, 0x69, 0x0b, 0x00, 0x89, 0xd3, 0x41, 0xd0, 0x4e, 0x4e, 0x57, 0x7c, 0x4a, 0xe3, 0x95, 0x39,
+ 0xa5, 0xc3, 0x2a, 0x73, 0xea, 0xbd, 0xc4, 0x50, 0x24, 0x1f, 0x1e, 0xd2, 0xd9, 0x39, 0xad, 0x9b,
+ 0xcb, 0xbc, 0xda, 0x6b, 0x13, 0x14, 0xc2, 0xe7, 0xf0, 0x35, 0x3f, 0x4b, 0x8c, 0x0d, 0x82, 0x64,
+ 0x71, 0x08, 0x6a, 0x57, 0x02, 0x0b, 0xec, 0x37, 0x47, 0x64, 0x46, 0xc5, 0x57, 0x21, 0xc0, 0x4a,
+ 0xe0, 0x18, 0x71, 0x20, 0x64, 0x25, 0x40, 0x61, 0xe7, 0x7d, 0x28, 0xcb, 0x9c, 0xd0, 0x69, 0x3b,
+ 0xc2, 0xea, 0x63, 0xb2, 0x9c, 0xd1, 0x92, 0x2b, 0x93, 0xe0, 0x0c, 0xdb, 0x31, 0x19, 0xe6, 0x91,
+ 0x33, 0xec, 0x21, 0x7a, 0x4e, 0x68, 0xf2, 0x1a, 0xfe, 0x98, 0xd5, 0x5c, 0xfe, 0x09, 0x95, 0xb3,
+ 0xba, 0x00, 0xa1, 0xc9, 0x6f, 0x54, 0x8f, 0x44, 0x42, 0x53, 0x5c, 0xc3, 0xf9, 0xf6, 0xb8, 0x57,
+ 0x86, 0x37, 0xb4, 0x36, 0xe3, 0xe4, 0xd5, 0x8c, 0xe4, 0x85, 0x1a, 0x0d, 0x3f, 0x8a, 0xd8, 0x46,
+ 0x74, 0x90, 0x6f, 0x8f, 0x0f, 0xd5, 0x75, 0xbe, 0xd6, 0x1e, 0x2f, 0x21, 0x38, 0x52, 0xef, 0xb1,
+ 0x8f, 0x1c, 0xa9, 0xf7, 0x6b, 0xd9, 0x9d, 0xae, 0x65, 0x05, 0xb7, 0x14, 0xc4, 0x36, 0xcb, 0xe0,
+ 0xf9, 0x9a, 0x63, 0x13, 0x80, 0xc8, 0x4e, 0x37, 0xaa, 0x60, 0x53, 0x03, 0x8b, 0xed, 0xe6, 0x25,
+ 0x29, 0xf2, 0x9f, 0xc1, 0xcb, 0xd9, 0x8e, 0x1d, 0x4d, 0x20, 0xa9, 0x41, 0x98, 0x0c, 0xb9, 0xda,
+ 0xa3, 0xfc, 0x34, 0x6f, 0x43, 0xff, 0xa3, 0x48, 0xbb, 0x09, 0xa2, 0xdf, 0x95, 0x43, 0x3a, 0xdf,
+ 0x17, 0x85, 0xcd, 0xba, 0x55, 0x55, 0x93, 0x76, 0x55, 0x3d, 0xa1, 0x29, 0xcd, 0x2b, 0x3e, 0x7a,
+ 0x11, 0x6f, 0x2b, 0x80, 0x23, 0x17, 0x13, 0x06, 0xa8, 0x39, 0x8f, 0xbb, 0xdb, 0x58, 0x32, 0x91,
+ 0x7f, 0x5b, 0xec, 0xac, 0xa1, 0xb5, 0x4a, 0x34, 0xf6, 0x28, 0x07, 0xb3, 0xd3, 0xe1, 0xc6, 0x0e,
+ 0xd8, 0x56, 0x14, 0x99, 0x9d, 0x71, 0x0d, 0x7b, 0x38, 0xe6, 0x70, 0x27, 0xb4, 0x61, 0xc5, 0x82,
+ 0x8a, 0xfb, 0x79, 0xeb, 0xa8, 0x31, 0x87, 0x42, 0x0e, 0xc7, 0x70, 0xda, 0x66, 0x6b, 0x5d, 0xb7,
+ 0x5b, 0xe5, 0x72, 0x1f, 0x5e, 0x31, 0x08, 0x58, 0x12, 0x18, 0x92, 0xad, 0x45, 0x70, 0xe7, 0xf0,
+ 0xb8, 0x66, 0x24, 0x4b, 0x49, 0xc3, 0x8f, 0xc9, 0xb2, 0x60, 0x24, 0x13, 0xeb, 0x3a, 0x3c, 0x3c,
+ 0xd6, 0xcc, 0xd8, 0x85, 0xb0, 0xc3, 0x63, 0x0c, 0x76, 0xb3, 0x33, 0xf1, 0x27, 0xd3, 0xd4, 0xdd,
+ 0x47, 0x98, 0x9d, 0x89, 0xf2, 0xc2, 0x7b, 0x8f, 0xf7, 0xe3, 0x90, 0x7d, 0x67, 0x4b, 0x8a, 0x44,
+ 0x1a, 0x72, 0x27, 0xa4, 0xe3, 0x25, 0x20, 0x77, 0x23, 0x84, 0xfd, 0x8e, 0x83, 0xfc, 0x5d, 0xff,
+ 0xd5, 0x0f, 0xae, 0xbe, 0xc2, 0xbc, 0x1e, 0xd2, 0x75, 0xa1, 0xb1, 0xfb, 0x71, 0xb6, 0x8d, 0x81,
+ 0xb4, 0x4d, 0x33, 0xb7, 0x2f, 0x09, 0xdf, 0xca, 0xb2, 0x43, 0xda, 0x04, 0x5e, 0xc0, 0x6e, 0x85,
+ 0x63, 0x2b, 0x45, 0xd2, 0xcc, 0x2e, 0x65, 0x07, 0x7a, 0x2b, 0x7b, 0x95, 0xe5, 0x5c, 0xc9, 0xf4,
+ 0x8d, 0xe2, 0xf5, 0xae, 0x81, 0x2e, 0x85, 0xd4, 0x0a, 0xa7, 0x6d, 0x2c, 0x6f, 0x99, 0x53, 0x36,
+ 0x9d, 0x16, 0x54, 0x41, 0x27, 0x94, 0xc8, 0x8f, 0xd0, 0x6d, 0x76, 0x6d, 0x05, 0x41, 0x24, 0x96,
+ 0x47, 0x15, 0x6c, 0x1a, 0xd9, 0x62, 0xf2, 0x11, 0x8e, 0x6e, 0xd8, 0xd5, 0xae, 0x19, 0x0f, 0x40,
+ 0xd2, 0xc8, 0x20, 0x68, 0xdf, 0x13, 0x6b, 0xc5, 0x7b, 0x54, 0xb7, 0x04, 0xfc, 0x64, 0x8f, 0x50,
+ 0x76, 0xc4, 0xc8, 0x7b, 0x62, 0x01, 0xcc, 0xee, 0x13, 0x80, 0x87, 0x97, 0xcb, 0xfd, 0x0c, 0xee,
+ 0x13, 0xa0, 0xbe, 0x60, 0x90, 0x7d, 0x02, 0xc6, 0xfa, 0x5d, 0x67, 0xbe, 0x4f, 0x7c, 0x40, 0x1a,
+ 0x5b, 0xb9, 0x40, 0xd7, 0x05, 0xc1, 0x58, 0xd7, 0x61, 0x0a, 0x7e, 0x93, 0xba, 0x5f, 0x3f, 0x0e,
+ 0x34, 0x69, 0xe8, 0xab, 0xc7, 0x0f, 0xfb, 0x30, 0x1b, 0x97, 0xcc, 0x7e, 0x52, 0x5c, 0xf1, 0x09,
+ 0x7f, 0x7d, 0x5e, 0x0a, 0x91, 0xb8, 0xd4, 0x81, 0xa4, 0xed, 0x97, 0x77, 0xff, 0xfb, 0x9b, 0x5b,
+ 0x2b, 0xbf, 0xf8, 0xe6, 0xd6, 0xca, 0xff, 0x7e, 0x73, 0x6b, 0xe5, 0xe7, 0xdf, 0xde, 0x7a, 0xef,
+ 0x17, 0xdf, 0xde, 0x7a, 0xef, 0x7f, 0xbe, 0xbd, 0xf5, 0xde, 0xd7, 0xef, 0xab, 0x3f, 0xa5, 0x79,
+ 0xfe, 0x2b, 0xe2, 0x0f, 0x62, 0x3e, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xbb, 0xf9, 0xe5,
+ 0xb2, 0x6e, 0x73, 0x00, 0x00,
}
// This is a compile-time assertion to ensure that this generated file
@@ -630,7 +632,9 @@ type ClientCommandsHandler interface {
DebugRunProfiler(context.Context, *pb.RpcDebugRunProfilerRequest) *pb.RpcDebugRunProfilerResponse
DebugAccountSelectTrace(context.Context, *pb.RpcDebugAccountSelectTraceRequest) *pb.RpcDebugAccountSelectTraceResponse
DebugAnystoreObjectChanges(context.Context, *pb.RpcDebugAnystoreObjectChangesRequest) *pb.RpcDebugAnystoreObjectChangesResponse
- MetricsSetParameters(context.Context, *pb.RpcMetricsSetParametersRequest) *pb.RpcMetricsSetParametersResponse
+ DebugNetCheck(context.Context, *pb.RpcDebugNetCheckRequest) *pb.RpcDebugNetCheckResponse
+ DebugExportLog(context.Context, *pb.RpcDebugExportLogRequest) *pb.RpcDebugExportLogResponse
+ InitialSetParameters(context.Context, *pb.RpcInitialSetParametersRequest) *pb.RpcInitialSetParametersResponse
// used only for lib-server via grpc
// Streams not supported ### ListenSessionEvents(context.Context, *pb.StreamRequest)
NotificationList(context.Context, *pb.RpcNotificationListRequest) *pb.RpcNotificationListResponse
@@ -5328,23 +5332,63 @@ func DebugAnystoreObjectChanges(b []byte) (resp []byte) {
return resp
}
-func MetricsSetParameters(b []byte) (resp []byte) {
+func DebugNetCheck(b []byte) (resp []byte) {
defer func() {
if PanicHandler != nil {
if r := recover(); r != nil {
- resp, _ = (&pb.RpcMetricsSetParametersResponse{Error: &pb.RpcMetricsSetParametersResponseError{Code: pb.RpcMetricsSetParametersResponseError_UNKNOWN_ERROR, Description: "panic recovered"}}).Marshal()
+ resp, _ = (&pb.RpcDebugNetCheckResponse{Error: &pb.RpcDebugNetCheckResponseError{Code: pb.RpcDebugNetCheckResponseError_UNKNOWN_ERROR, Description: "panic recovered"}}).Marshal()
PanicHandler(r)
}
}
}()
- in := new(pb.RpcMetricsSetParametersRequest)
+ in := new(pb.RpcDebugNetCheckRequest)
if err := in.Unmarshal(b); err != nil {
- resp, _ = (&pb.RpcMetricsSetParametersResponse{Error: &pb.RpcMetricsSetParametersResponseError{Code: pb.RpcMetricsSetParametersResponseError_BAD_INPUT, Description: err.Error()}}).Marshal()
+ resp, _ = (&pb.RpcDebugNetCheckResponse{Error: &pb.RpcDebugNetCheckResponseError{Code: pb.RpcDebugNetCheckResponseError_BAD_INPUT, Description: err.Error()}}).Marshal()
return resp
}
- resp, _ = clientCommandsHandler.MetricsSetParameters(context.Background(), in).Marshal()
+ resp, _ = clientCommandsHandler.DebugNetCheck(context.Background(), in).Marshal()
+ return resp
+}
+
+func DebugExportLog(b []byte) (resp []byte) {
+ defer func() {
+ if PanicHandler != nil {
+ if r := recover(); r != nil {
+ resp, _ = (&pb.RpcDebugExportLogResponse{Error: &pb.RpcDebugExportLogResponseError{Code: pb.RpcDebugExportLogResponseError_UNKNOWN_ERROR, Description: "panic recovered"}}).Marshal()
+ PanicHandler(r)
+ }
+ }
+ }()
+
+ in := new(pb.RpcDebugExportLogRequest)
+ if err := in.Unmarshal(b); err != nil {
+ resp, _ = (&pb.RpcDebugExportLogResponse{Error: &pb.RpcDebugExportLogResponseError{Code: pb.RpcDebugExportLogResponseError_BAD_INPUT, Description: err.Error()}}).Marshal()
+ return resp
+ }
+
+ resp, _ = clientCommandsHandler.DebugExportLog(context.Background(), in).Marshal()
+ return resp
+}
+
+func InitialSetParameters(b []byte) (resp []byte) {
+ defer func() {
+ if PanicHandler != nil {
+ if r := recover(); r != nil {
+ resp, _ = (&pb.RpcInitialSetParametersResponse{Error: &pb.RpcInitialSetParametersResponseError{Code: pb.RpcInitialSetParametersResponseError_UNKNOWN_ERROR, Description: "panic recovered"}}).Marshal()
+ PanicHandler(r)
+ }
+ }
+ }()
+
+ in := new(pb.RpcInitialSetParametersRequest)
+ if err := in.Unmarshal(b); err != nil {
+ resp, _ = (&pb.RpcInitialSetParametersResponse{Error: &pb.RpcInitialSetParametersResponseError{Code: pb.RpcInitialSetParametersResponseError_BAD_INPUT, Description: err.Error()}}).Marshal()
+ return resp
+ }
+
+ resp, _ = clientCommandsHandler.InitialSetParameters(context.Background(), in).Marshal()
return resp
}
@@ -6398,8 +6442,12 @@ func CommandAsync(cmd string, data []byte, callback func(data []byte)) {
cd = DebugAccountSelectTrace(data)
case "DebugAnystoreObjectChanges":
cd = DebugAnystoreObjectChanges(data)
- case "MetricsSetParameters":
- cd = MetricsSetParameters(data)
+ case "DebugNetCheck":
+ cd = DebugNetCheck(data)
+ case "DebugExportLog":
+ cd = DebugExportLog(data)
+ case "InitialSetParameters":
+ cd = InitialSetParameters(data)
case "NotificationList":
cd = NotificationList(data)
case "NotificationReply":
@@ -9728,19 +9776,47 @@ func (h *ClientCommandsHandlerProxy) DebugAnystoreObjectChanges(ctx context.Cont
call, _ := actualCall(ctx, req)
return call.(*pb.RpcDebugAnystoreObjectChangesResponse)
}
-func (h *ClientCommandsHandlerProxy) MetricsSetParameters(ctx context.Context, req *pb.RpcMetricsSetParametersRequest) *pb.RpcMetricsSetParametersResponse {
+func (h *ClientCommandsHandlerProxy) DebugNetCheck(ctx context.Context, req *pb.RpcDebugNetCheckRequest) *pb.RpcDebugNetCheckResponse {
actualCall := func(ctx context.Context, req any) (any, error) {
- return h.client.MetricsSetParameters(ctx, req.(*pb.RpcMetricsSetParametersRequest)), nil
+ return h.client.DebugNetCheck(ctx, req.(*pb.RpcDebugNetCheckRequest)), nil
}
for _, interceptor := range h.interceptors {
toCall := actualCall
currentInterceptor := interceptor
actualCall = func(ctx context.Context, req any) (any, error) {
- return currentInterceptor(ctx, req, "MetricsSetParameters", toCall)
+ return currentInterceptor(ctx, req, "DebugNetCheck", toCall)
}
}
call, _ := actualCall(ctx, req)
- return call.(*pb.RpcMetricsSetParametersResponse)
+ return call.(*pb.RpcDebugNetCheckResponse)
+}
+func (h *ClientCommandsHandlerProxy) DebugExportLog(ctx context.Context, req *pb.RpcDebugExportLogRequest) *pb.RpcDebugExportLogResponse {
+ actualCall := func(ctx context.Context, req any) (any, error) {
+ return h.client.DebugExportLog(ctx, req.(*pb.RpcDebugExportLogRequest)), nil
+ }
+ for _, interceptor := range h.interceptors {
+ toCall := actualCall
+ currentInterceptor := interceptor
+ actualCall = func(ctx context.Context, req any) (any, error) {
+ return currentInterceptor(ctx, req, "DebugExportLog", toCall)
+ }
+ }
+ call, _ := actualCall(ctx, req)
+ return call.(*pb.RpcDebugExportLogResponse)
+}
+func (h *ClientCommandsHandlerProxy) InitialSetParameters(ctx context.Context, req *pb.RpcInitialSetParametersRequest) *pb.RpcInitialSetParametersResponse {
+ actualCall := func(ctx context.Context, req any) (any, error) {
+ return h.client.InitialSetParameters(ctx, req.(*pb.RpcInitialSetParametersRequest)), nil
+ }
+ for _, interceptor := range h.interceptors {
+ toCall := actualCall
+ currentInterceptor := interceptor
+ actualCall = func(ctx context.Context, req any) (any, error) {
+ return currentInterceptor(ctx, req, "InitialSetParameters", toCall)
+ }
+ }
+ call, _ := actualCall(ctx, req)
+ return call.(*pb.RpcInitialSetParametersResponse)
}
func (h *ClientCommandsHandlerProxy) NotificationList(ctx context.Context, req *pb.RpcNotificationListRequest) *pb.RpcNotificationListResponse {
actualCall := func(ctx context.Context, req any) (any, error) {
diff --git a/cmd/debugtree/debugtree.go b/cmd/debugtree/debugtree.go
index 0bb82fc7e..43135ad7e 100644
--- a/cmd/debugtree/debugtree.go
+++ b/cmd/debugtree/debugtree.go
@@ -3,6 +3,7 @@
package main
import (
+ "context"
"encoding/json"
"flag"
"fmt"
@@ -142,8 +143,15 @@ func main() {
if err != nil {
log.Fatal("can't create temp file:", err)
}
- g := graphviz.New()
- g.Render(gvo, graphviz.SVG, tf)
+ ctx := context.Background()
+ g, err := graphviz.New(ctx)
+ if err != nil {
+ log.Fatal("can't open graphviz:", err)
+ }
+ err = g.Render(ctx, gvo, graphviz.SVG, tf)
+ if err != nil {
+ log.Fatal("can't render graphviz:", err)
+ }
fmt.Println("tree file:", tf.Name())
tf.Close()
open(tf.Name())
diff --git a/core/anytype/account/service.go b/core/anytype/account/service.go
index 7867556c3..66a4659e2 100644
--- a/core/anytype/account/service.go
+++ b/core/anytype/account/service.go
@@ -164,6 +164,7 @@ func (s *service) GetSpaceInfo(ctx context.Context, spaceId string) (*model.Acco
getInfo.AccountSpaceId = spaceId
getInfo.SpaceViewId = spaceViewId
getInfo.HomeObjectId = ids.Home
+ getInfo.WorkspaceObjectId = ids.Workspace
getInfo.WidgetsId = ids.Widgets
getInfo.ArchiveObjectId = ids.Archive
return getInfo, nil
diff --git a/core/application/profiler.go b/core/application/profiler.go
index 9007cf1fd..9531a7115 100644
--- a/core/application/profiler.go
+++ b/core/application/profiler.go
@@ -19,6 +19,8 @@ import (
"github.com/anyproto/anytype-heart/util/debug"
)
+var ErrNoFolder = fmt.Errorf("no folder provided")
+
func (s *Service) RunProfiler(ctx context.Context, seconds int) (string, error) {
// Start
inFlightTraceBuf, err := s.traceRecorder.stopAndGetInFlightTrace()
@@ -115,6 +117,32 @@ func (s *Service) SaveLoginTrace(dir string) (string, error) {
return s.traceRecorder.save(dir)
}
+// empty dir means use system temp dir
+func (s *Service) SaveLog(srcPath, destDir string) (string, error) {
+ if srcPath == "" {
+ return "", ErrNoFolder
+ }
+ targetFile, err := os.CreateTemp(destDir, "anytype-log-*.zip")
+ if err != nil {
+ return "", fmt.Errorf("create temp file: %w", err)
+ }
+
+ file, err := os.Open(srcPath)
+ if err != nil {
+ return "", fmt.Errorf("failed to open source file: %w", err)
+ }
+ defer file.Close()
+
+ err = createZipArchive(targetFile, []zipFile{
+ {name: "anytype.log", data: file},
+ })
+ if err != nil {
+ return "", fmt.Errorf("failed to create zip archive: %w", err)
+ }
+
+ return targetFile.Name(), targetFile.Close()
+}
+
// traceRecorder is a helper to start and stop flight trace recorder
type traceRecorder struct {
lock sync.Mutex
diff --git a/core/block/backlinks/watcher.go b/core/block/backlinks/watcher.go
index 6fa6814a4..b0d728738 100644
--- a/core/block/backlinks/watcher.go
+++ b/core/block/backlinks/watcher.go
@@ -25,7 +25,11 @@ import (
"github.com/anyproto/anytype-heart/util/slice"
)
-const CName = "backlinks-update-watcher"
+const (
+ CName = "backlinks-update-watcher"
+
+ defaultAggregationInterval = time.Second * 5
+)
var log = logging.Logger(CName)
@@ -38,53 +42,69 @@ type backLinksUpdate struct {
removed []string
}
-type UpdateWatcher struct {
+type UpdateWatcher interface {
app.ComponentRunnable
+ FlushUpdates()
+}
+
+type watcher struct {
updater backlinksUpdater
store objectstore.ObjectStore
resolver idresolver.Resolver
spaceService space.Service
- infoBatch *mb.MB
+ infoBatch *mb.MB
+ lock sync.Mutex
+ accumulatedBacklinks map[string]*backLinksUpdate
+ aggregationInterval time.Duration
}
-func New() app.Component {
- return &UpdateWatcher{}
+func New() UpdateWatcher {
+ return &watcher{}
}
-func (uw *UpdateWatcher) Name() string {
+func (w *watcher) Name() string {
return CName
}
-func (uw *UpdateWatcher) Init(a *app.App) error {
- uw.updater = app.MustComponent[backlinksUpdater](a)
- uw.store = app.MustComponent[objectstore.ObjectStore](a)
- uw.resolver = app.MustComponent[idresolver.Resolver](a)
- uw.spaceService = app.MustComponent[space.Service](a)
- uw.infoBatch = mb.New(0)
+func (w *watcher) Init(a *app.App) error {
+ w.updater = app.MustComponent[backlinksUpdater](a)
+ w.store = app.MustComponent[objectstore.ObjectStore](a)
+ w.resolver = app.MustComponent[idresolver.Resolver](a)
+ w.spaceService = app.MustComponent[space.Service](a)
+ w.infoBatch = mb.New(0)
+ w.accumulatedBacklinks = make(map[string]*backLinksUpdate)
+ w.aggregationInterval = defaultAggregationInterval
return nil
}
-func (uw *UpdateWatcher) Close(context.Context) error {
- if err := uw.infoBatch.Close(); err != nil {
+func (w *watcher) Close(context.Context) error {
+ if err := w.infoBatch.Close(); err != nil {
log.Errorf("failed to close message batch: %v", err)
}
return nil
}
-func (uw *UpdateWatcher) Run(context.Context) error {
- uw.updater.SubscribeLinksUpdate(func(info spaceindex.LinksUpdateInfo) {
- if err := uw.infoBatch.Add(info); err != nil {
+func (w *watcher) Run(context.Context) error {
+ w.updater.SubscribeLinksUpdate(func(info spaceindex.LinksUpdateInfo) {
+ if err := w.infoBatch.Add(info); err != nil {
log.With("objectId", info.LinksFromId).Errorf("failed to add backlinks update info to message batch: %v", err)
}
})
- go uw.backlinksUpdateHandler()
+ go w.backlinksUpdateHandler()
return nil
}
+func (w *watcher) FlushUpdates() {
+ w.lock.Lock()
+ defer w.lock.Unlock()
+
+ w.updateAccumulatedBacklinks()
+}
+
func applyUpdates(m map[string]*backLinksUpdate, update spaceindex.LinksUpdateInfo) {
if update.LinksFromId == "" {
return
@@ -115,71 +135,69 @@ func applyUpdates(m map[string]*backLinksUpdate, update spaceindex.LinksUpdateIn
}
}
-func (uw *UpdateWatcher) backlinksUpdateHandler() {
+func (w *watcher) backlinksUpdateHandler() {
var (
- accumulatedBacklinks = make(map[string]*backLinksUpdate)
- l sync.Mutex
- lastReceivedUpdates time.Time
- closedCh = make(chan struct{})
- aggregationInterval = time.Second * 5
+ lastReceivedUpdates time.Time
+ closedCh = make(chan struct{})
)
defer close(closedCh)
go func() {
- process := func() {
- log.Debugf("updating backlinks for %d objects", len(accumulatedBacklinks))
- for id, updates := range accumulatedBacklinks {
- uw.updateBackLinksInObject(id, updates)
- }
- accumulatedBacklinks = make(map[string]*backLinksUpdate)
- }
for {
select {
case <-closedCh:
- l.Lock()
- process()
- l.Unlock()
+ w.lock.Lock()
+ w.updateAccumulatedBacklinks()
+ w.lock.Unlock()
return
- case <-time.After(aggregationInterval):
- l.Lock()
- if time.Since(lastReceivedUpdates) < aggregationInterval || len(accumulatedBacklinks) == 0 {
- l.Unlock()
+ case <-time.After(w.aggregationInterval):
+ w.lock.Lock()
+ if time.Since(lastReceivedUpdates) < w.aggregationInterval || len(w.accumulatedBacklinks) == 0 {
+ w.lock.Unlock()
continue
}
- process()
- l.Unlock()
+ w.updateAccumulatedBacklinks()
+ w.lock.Unlock()
}
}
}()
for {
- msgs := uw.infoBatch.Wait()
+ msgs := w.infoBatch.Wait()
if len(msgs) == 0 {
return
}
- l.Lock()
+ w.lock.Lock()
for _, msg := range msgs {
info, ok := msg.(spaceindex.LinksUpdateInfo)
if !ok || hasSelfLinks(info) {
continue
}
- applyUpdates(accumulatedBacklinks, info)
+ applyUpdates(w.accumulatedBacklinks, info)
}
lastReceivedUpdates = time.Now()
- l.Unlock()
+ w.lock.Unlock()
}
}
-func (uw *UpdateWatcher) updateBackLinksInObject(id string, backlinksUpdate *backLinksUpdate) {
- spaceId, err := uw.resolver.ResolveSpaceID(id)
+func (w *watcher) updateAccumulatedBacklinks() {
+ log.Debugf("updating backlinks for %d objects", len(w.accumulatedBacklinks))
+ for id, updates := range w.accumulatedBacklinks {
+ w.updateBackLinksInObject(id, updates)
+ }
+ w.accumulatedBacklinks = make(map[string]*backLinksUpdate)
+}
+
+func (w *watcher) updateBackLinksInObject(id string, backlinksUpdate *backLinksUpdate) {
+ spaceId, err := w.resolver.ResolveSpaceID(id)
if err != nil {
log.With("objectId", id).Errorf("failed to resolve space id for object: %v", err)
return
}
- spc, err := uw.spaceService.Get(context.Background(), spaceId)
+ spc, err := w.spaceService.Get(context.Background(), spaceId)
if err != nil {
log.With("objectId", id, "spaceId", spaceId).Errorf("failed to get space: %v", err)
return
@@ -206,7 +224,7 @@ func (uw *UpdateWatcher) updateBackLinksInObject(id string, backlinksUpdate *bac
}
err = spc.DoLockedIfNotExists(id, func() error {
- return uw.store.SpaceIndex(spaceId).ModifyObjectDetails(id, func(details *domain.Details) (*domain.Details, bool, error) {
+ return w.store.SpaceIndex(spaceId).ModifyObjectDetails(id, func(details *domain.Details) (*domain.Details, bool, error) {
return updateBacklinks(details, backlinksUpdate)
})
})
diff --git a/core/block/backlinks/watcher_test.go b/core/block/backlinks/watcher_test.go
new file mode 100644
index 000000000..cbbc96af5
--- /dev/null
+++ b/core/block/backlinks/watcher_test.go
@@ -0,0 +1,177 @@
+package backlinks
+
+import (
+ "testing"
+ "time"
+
+ "github.com/anyproto/any-sync/app/ocache"
+ "github.com/cheggaaa/mb"
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/mock"
+ "github.com/stretchr/testify/require"
+
+ "github.com/anyproto/anytype-heart/core/block/object/idresolver/mock_idresolver"
+ "github.com/anyproto/anytype-heart/pkg/lib/bundle"
+ "github.com/anyproto/anytype-heart/pkg/lib/localstore/objectstore"
+ "github.com/anyproto/anytype-heart/pkg/lib/localstore/objectstore/spaceindex"
+ "github.com/anyproto/anytype-heart/space/clientspace/mock_clientspace"
+ "github.com/anyproto/anytype-heart/space/mock_space"
+ "github.com/anyproto/anytype-heart/util/pbtypes"
+)
+
+const spaceId = "spc1"
+
+type testUpdater struct {
+ callback func(info spaceindex.LinksUpdateInfo)
+ runFunc func(callback func(info spaceindex.LinksUpdateInfo))
+}
+
+func (u *testUpdater) SubscribeLinksUpdate(callback func(info spaceindex.LinksUpdateInfo)) {
+ u.callback = callback
+}
+
+func (u *testUpdater) start() {
+ go u.runFunc(u.callback)
+}
+
+type fixture struct {
+ store *objectstore.StoreFixture
+ resolver *mock_idresolver.MockResolver
+ spaceService *mock_space.MockService
+ updater *testUpdater
+ *watcher
+}
+
+func newFixture(t *testing.T, aggregationInterval time.Duration) *fixture {
+ updater := &testUpdater{}
+ store := objectstore.NewStoreFixture(t)
+ resolver := mock_idresolver.NewMockResolver(t)
+ spaceSvc := mock_space.NewMockService(t)
+
+ w := &watcher{
+ updater: updater,
+ store: store,
+ resolver: resolver,
+ spaceService: spaceSvc,
+
+ aggregationInterval: aggregationInterval,
+ infoBatch: mb.New(0),
+ accumulatedBacklinks: make(map[string]*backLinksUpdate),
+ }
+
+ return &fixture{
+ store: store,
+ resolver: resolver,
+ spaceService: spaceSvc,
+ updater: updater,
+ watcher: w,
+ }
+}
+
+func TestWatcher_Run(t *testing.T) {
+ t.Run("backlinks update asynchronously", func(t *testing.T) {
+ // given
+ interval := 500 * time.Millisecond
+ f := newFixture(t, interval)
+
+ f.resolver.EXPECT().ResolveSpaceID(mock.Anything).Return(spaceId, nil)
+
+ f.updater.runFunc = func(callback func(info spaceindex.LinksUpdateInfo)) {
+ callback(spaceindex.LinksUpdateInfo{
+ LinksFromId: "obj1",
+ Added: []string{"obj2", "obj3"},
+ Removed: nil,
+ })
+ time.Sleep(interval / 2)
+ callback(spaceindex.LinksUpdateInfo{
+ LinksFromId: "obj1",
+ Added: []string{"obj4", "obj5"},
+ Removed: []string{"obj2"},
+ })
+ time.Sleep(interval / 2)
+ callback(spaceindex.LinksUpdateInfo{
+ LinksFromId: "obj1",
+ Added: []string{"obj6"},
+ Removed: []string{"obj5"},
+ })
+ }
+
+ spc := mock_clientspace.NewMockSpace(t)
+ f.spaceService.EXPECT().Get(mock.Anything, spaceId).Return(spc, nil)
+
+ spc.EXPECT().DoLockedIfNotExists(mock.Anything, mock.Anything).RunAndReturn(func(id string, apply func() error) error {
+ if id == "obj2" {
+ return ocache.ErrExists
+ }
+ return nil
+ })
+
+ spc.EXPECT().Do(mock.Anything, mock.Anything).Return(nil)
+
+ // when
+ err := f.watcher.Run(nil)
+ require.NoError(t, err)
+
+ f.updater.start()
+
+ time.Sleep(4 * interval)
+ err = f.watcher.Close(nil)
+
+ // then
+ assert.NoError(t, err)
+ })
+}
+
+func TestWatcher_updateAccumulatedBacklinks(t *testing.T) {
+ t.Run("no errors", func(t *testing.T) {
+ // given
+ f := newFixture(t, time.Second)
+ f.resolver.EXPECT().ResolveSpaceID(mock.Anything).Return(spaceId, nil)
+
+ f.store.AddObjects(t, spaceId, []spaceindex.TestObject{{
+ bundle.RelationKeyId: pbtypes.String("obj1"),
+ bundle.RelationKeySpaceId: pbtypes.String(spaceId),
+ bundle.RelationKeyBacklinks: pbtypes.StringList([]string{"obj4", "obj5", "obj6"}),
+ }, {
+ bundle.RelationKeyId: pbtypes.String("obj3"),
+ bundle.RelationKeySpaceId: pbtypes.String(spaceId),
+ bundle.RelationKeyBacklinks: pbtypes.StringList([]string{"obj1", "obj2", "obj4"}),
+ }})
+
+ spc := mock_clientspace.NewMockSpace(t)
+ f.spaceService.EXPECT().Get(mock.Anything, spaceId).Return(spc, nil)
+
+ spc.EXPECT().DoLockedIfNotExists(mock.Anything, mock.Anything).RunAndReturn(func(id string, apply func() error) error {
+ if id == "obj2" {
+ return ocache.ErrExists
+ }
+ return apply()
+ })
+
+ spc.EXPECT().Do(mock.Anything, mock.Anything).Return(nil).Once()
+
+ f.watcher.accumulatedBacklinks = map[string]*backLinksUpdate{
+ "obj1": {
+ added: []string{"obj2", "obj3"},
+ removed: []string{"obj4", "obj5"},
+ },
+ "obj2": {
+ added: []string{"obj4", "obj5"},
+ },
+ "obj3": {
+ removed: []string{"obj1", "obj4"},
+ },
+ }
+
+ // when
+ f.watcher.updateAccumulatedBacklinks()
+
+ // then
+ details, err := f.store.SpaceIndex(spaceId).GetDetails("obj1")
+ require.NoError(t, err)
+ assert.Equal(t, []string{"obj6", "obj2", "obj3"}, pbtypes.GetStringList(details.Details, bundle.RelationKeyBacklinks.String()))
+ details, err = f.store.SpaceIndex(spaceId).GetDetails("obj3")
+ require.NoError(t, err)
+ assert.Equal(t, []string{"obj2"}, pbtypes.GetStringList(details.Details, bundle.RelationKeyBacklinks.String()))
+ })
+}
diff --git a/core/block/collection/service.go b/core/block/collection/service.go
index cf3e56736..65d19a3ad 100644
--- a/core/block/collection/service.go
+++ b/core/block/collection/service.go
@@ -6,6 +6,7 @@ import (
"github.com/anyproto/any-sync/app"
"github.com/samber/lo"
+ "github.com/anyproto/anytype-heart/core/block/backlinks"
"github.com/anyproto/anytype-heart/core/block/cache"
"github.com/anyproto/anytype-heart/core/block/editor/basic"
"github.com/anyproto/anytype-heart/core/block/editor/smartblock"
@@ -26,10 +27,11 @@ import (
var log = logging.Logger("collection-service")
type Service struct {
- lock *sync.RWMutex
- collections map[string]map[string]chan []string
- picker cache.ObjectGetter
- objectStore objectstore.ObjectStore
+ lock *sync.RWMutex
+ collections map[string]map[string]chan []string
+ picker cache.ObjectGetter
+ objectStore objectstore.ObjectStore
+ backlinksUpdater backlinks.UpdateWatcher
}
func New() *Service {
@@ -42,6 +44,7 @@ func New() *Service {
func (s *Service) Init(a *app.App) (err error) {
s.picker = app.MustComponent[cache.ObjectGetter](a)
s.objectStore = app.MustComponent[objectstore.ObjectStore](a)
+ s.backlinksUpdater = app.MustComponent[backlinks.UpdateWatcher](a)
return nil
}
@@ -54,8 +57,9 @@ func (s *Service) CollectionType() string {
}
func (s *Service) Add(ctx session.Context, req *pb.RpcObjectCollectionAddRequest) error {
- return s.updateCollection(ctx, req.ContextId, func(col []string) []string {
- toAdd := slice.Difference(req.ObjectIds, col)
+ var toAdd []string
+ err := s.updateCollection(ctx, req.ContextId, func(col []string) []string {
+ toAdd = slice.Difference(req.ObjectIds, col)
pos := slice.FindPos(col, req.AfterId)
if pos >= 0 {
col = slice.Insert(col, pos+1, toAdd...)
@@ -64,6 +68,16 @@ func (s *Service) Add(ctx session.Context, req *pb.RpcObjectCollectionAddRequest
}
return col
})
+ if err != nil {
+ return err
+ }
+
+ // we update backlinks of objects added to collection synchronously to avoid object rerender after backlinks accumulation interval
+ if len(toAdd) != 0 {
+ s.backlinksUpdater.FlushUpdates()
+ }
+
+ return nil
}
func (s *Service) Remove(ctx session.Context, req *pb.RpcObjectCollectionRemoveRequest) error {
diff --git a/core/block/collection/service_test.go b/core/block/collection/service_test.go
index ba145b47a..404dc253e 100644
--- a/core/block/collection/service_test.go
+++ b/core/block/collection/service_test.go
@@ -2,6 +2,7 @@ package collection
import (
"context"
+ "fmt"
"sync"
"testing"
@@ -15,27 +16,49 @@ import (
"github.com/anyproto/anytype-heart/core/block/editor/template"
"github.com/anyproto/anytype-heart/core/block/simple/dataview"
"github.com/anyproto/anytype-heart/core/domain"
+ "github.com/anyproto/anytype-heart/pb"
"github.com/anyproto/anytype-heart/pkg/lib/bundle"
coresb "github.com/anyproto/anytype-heart/pkg/lib/core/smartblock"
"github.com/anyproto/anytype-heart/pkg/lib/localstore/objectstore"
"github.com/anyproto/anytype-heart/pkg/lib/pb/model"
)
+const collectionID = "collectionID"
+
type testPicker struct {
- sb smartblock.SmartBlock
+ sbMap map[string]smartblock.SmartBlock
}
-func (t *testPicker) GetObject(ctx context.Context, id string) (sb smartblock.SmartBlock, err error) {
- return t.sb, nil
+func (t *testPicker) GetObject(ctx context.Context, id string) (smartblock.SmartBlock, error) {
+ if t.sbMap == nil {
+ return nil, fmt.Errorf("not found")
+ }
+ sb, found := t.sbMap[id]
+ if !found {
+ return nil, fmt.Errorf("not found")
+ }
+ return sb, nil
}
func (t *testPicker) GetObjectByFullID(ctx context.Context, id domain.FullID) (sb smartblock.SmartBlock, err error) {
- return t.sb, nil
+ return t.GetObject(ctx, id.ObjectID)
}
func (t *testPicker) Init(a *app.App) error { return nil }
-func (t *testPicker) Name() string { return "" }
+func (t *testPicker) Name() string { return "test.picker" }
+
+type testFlusher struct{}
+
+func (tf *testFlusher) Name() string { return "test.flusher" }
+
+func (tf *testFlusher) Init(*app.App) error { return nil }
+
+func (tf *testFlusher) Run(context.Context) error { return nil }
+
+func (tf *testFlusher) Close(context.Context) error { return nil }
+
+func (tf *testFlusher) FlushUpdates() {}
type fixture struct {
picker *testPicker
@@ -44,12 +67,14 @@ type fixture struct {
}
func newFixture(t *testing.T) *fixture {
- picker := &testPicker{}
a := &app.App{}
+ picker := &testPicker{}
+ flusher := &testFlusher{}
objectStore := objectstore.NewStoreFixture(t)
a.Register(picker)
a.Register(objectStore)
+ a.Register(flusher)
s := New()
err := s.Init(a)
@@ -58,11 +83,12 @@ func newFixture(t *testing.T) *fixture {
}
func TestBroadcast(t *testing.T) {
- const collectionID = "collectionID"
sb := smarttest.New(collectionID)
s := newFixture(t)
- s.picker.sb = sb
+ s.picker.sbMap = map[string]smartblock.SmartBlock{
+ collectionID: sb,
+ }
_, subCh1, err := s.SubscribeForCollection(collectionID, "sub1")
require.NoError(t, err)
@@ -192,3 +218,29 @@ func TestSetObjectTypeToViews(t *testing.T) {
})
}
}
+
+func TestService_Add(t *testing.T) {
+ t.Run("add new objects to collection", func(t *testing.T) {
+ // given
+ coll := smarttest.New(collectionID)
+ obj1 := smarttest.New("obj1")
+ obj2 := smarttest.New("obj2")
+
+ s := newFixture(t)
+ s.picker.sbMap = map[string]smartblock.SmartBlock{
+ collectionID: coll,
+ "obj1": obj1,
+ "obj2": obj2,
+ }
+
+ // when
+ err := s.Add(nil, &pb.RpcObjectCollectionAddRequest{
+ ContextId: collectionID,
+ ObjectIds: []string{"obj1", "obj2"},
+ })
+
+ // then
+ assert.NoError(t, err)
+ assert.Equal(t, []string{"obj1", "obj2"}, coll.NewState().GetStoreSlice(template.CollectionStoreKey))
+ })
+}
diff --git a/core/block/delete.go b/core/block/delete.go
index e21933bb7..3aa6ba666 100644
--- a/core/block/delete.go
+++ b/core/block/delete.go
@@ -131,7 +131,7 @@ func (s *Service) OnDelete(id domain.FullID, workspaceRemove func() error) error
b.ObjectCloseAllSessions()
st := b.NewState()
isFavorite := st.LocalDetails().GetBool(bundle.RelationKeyIsFavorite)
- if err := s.detailsService.SetIsFavorite(id.ObjectID, isFavorite); err != nil {
+ if err := s.detailsService.SetIsFavorite(id.ObjectID, isFavorite, false); err != nil {
log.With("objectId", id).Errorf("failed to favorite object: %v", err)
}
b.SetIsDeleted()
diff --git a/core/block/detailservice/mock_detailservice/mock_Service.go b/core/block/detailservice/mock_detailservice/mock_Service.go
index c49bc7a60..c668f4df4 100644
--- a/core/block/detailservice/mock_detailservice/mock_Service.go
+++ b/core/block/detailservice/mock_detailservice/mock_Service.go
@@ -568,17 +568,17 @@ func (_c *MockService_SetIsArchived_Call) RunAndReturn(run func(string, bool) er
return _c
}
-// SetIsFavorite provides a mock function with given fields: objectId, isFavorite
-func (_m *MockService) SetIsFavorite(objectId string, isFavorite bool) error {
- ret := _m.Called(objectId, isFavorite)
+// SetIsFavorite provides a mock function with given fields: objectId, isFavorite, createWidget
+func (_m *MockService) SetIsFavorite(objectId string, isFavorite bool, createWidget bool) error {
+ ret := _m.Called(objectId, isFavorite, createWidget)
if len(ret) == 0 {
panic("no return value specified for SetIsFavorite")
}
var r0 error
- if rf, ok := ret.Get(0).(func(string, bool) error); ok {
- r0 = rf(objectId, isFavorite)
+ if rf, ok := ret.Get(0).(func(string, bool, bool) error); ok {
+ r0 = rf(objectId, isFavorite, createWidget)
} else {
r0 = ret.Error(0)
}
@@ -594,13 +594,14 @@ type MockService_SetIsFavorite_Call struct {
// SetIsFavorite is a helper method to define mock.On call
// - objectId string
// - isFavorite bool
-func (_e *MockService_Expecter) SetIsFavorite(objectId interface{}, isFavorite interface{}) *MockService_SetIsFavorite_Call {
- return &MockService_SetIsFavorite_Call{Call: _e.mock.On("SetIsFavorite", objectId, isFavorite)}
+// - createWidget bool
+func (_e *MockService_Expecter) SetIsFavorite(objectId interface{}, isFavorite interface{}, createWidget interface{}) *MockService_SetIsFavorite_Call {
+ return &MockService_SetIsFavorite_Call{Call: _e.mock.On("SetIsFavorite", objectId, isFavorite, createWidget)}
}
-func (_c *MockService_SetIsFavorite_Call) Run(run func(objectId string, isFavorite bool)) *MockService_SetIsFavorite_Call {
+func (_c *MockService_SetIsFavorite_Call) Run(run func(objectId string, isFavorite bool, createWidget bool)) *MockService_SetIsFavorite_Call {
_c.Call.Run(func(args mock.Arguments) {
- run(args[0].(string), args[1].(bool))
+ run(args[0].(string), args[1].(bool), args[2].(bool))
})
return _c
}
@@ -610,7 +611,7 @@ func (_c *MockService_SetIsFavorite_Call) Return(_a0 error) *MockService_SetIsFa
return _c
}
-func (_c *MockService_SetIsFavorite_Call) RunAndReturn(run func(string, bool) error) *MockService_SetIsFavorite_Call {
+func (_c *MockService_SetIsFavorite_Call) RunAndReturn(run func(string, bool, bool) error) *MockService_SetIsFavorite_Call {
_c.Call.Return(run)
return _c
}
diff --git a/core/block/detailservice/service.go b/core/block/detailservice/service.go
index 56dd1939f..c684ae39c 100644
--- a/core/block/detailservice/service.go
+++ b/core/block/detailservice/service.go
@@ -44,7 +44,7 @@ type Service interface {
SetSpaceInfo(spaceId string, details *domain.Details) error
SetWorkspaceDashboardId(ctx session.Context, workspaceId string, id string) (setId string, err error)
- SetIsFavorite(objectId string, isFavorite bool) error
+ SetIsFavorite(objectId string, isFavorite, createWidget bool) error
SetIsArchived(objectId string, isArchived bool) error
SetListIsFavorite(objectIds []string, isFavorite bool) error
SetListIsArchived(objectIds []string, isArchived bool) error
diff --git a/core/block/detailservice/service_test.go b/core/block/detailservice/service_test.go
index bd19ccd1d..041fe4ba1 100644
--- a/core/block/detailservice/service_test.go
+++ b/core/block/detailservice/service_test.go
@@ -324,19 +324,27 @@ func TestService_SetListIsFavorite(t *testing.T) {
{bundle.RelationKeyId: domain.String("obj2"), bundle.RelationKeySpaceId: domain.String(spaceId)},
{bundle.RelationKeyId: domain.String("obj3"), bundle.RelationKeySpaceId: domain.String(spaceId)},
}
- homeId = "home"
+ homeId = "home"
+ widgetId = "widget"
)
t.Run("no error on favoriting", func(t *testing.T) {
// given
fx := newFixture(t)
- sb := smarttest.New(homeId)
- sb.AddBlock(simple.New(&model.Block{Id: homeId, ChildrenIds: []string{}}))
+ home := smarttest.New(homeId)
+ home.AddBlock(simple.New(&model.Block{Id: homeId, ChildrenIds: []string{}}))
+ widget := smarttest.New(widgetId)
+ widget.AddBlock(simple.New(&model.Block{Id: widgetId, ChildrenIds: []string{}}))
fx.store.AddObjects(t, spaceId, objects)
- fx.space.EXPECT().DerivedIDs().Return(threads.DerivedSmartblockIds{Home: homeId})
+ fx.space.EXPECT().DerivedIDs().Return(threads.DerivedSmartblockIds{Home: homeId, Widgets: widgetId})
fx.getter.EXPECT().GetObject(mock.Anything, mock.Anything).RunAndReturn(func(_ context.Context, objectId string) (smartblock.SmartBlock, error) {
- require.Equal(t, homeId, objectId)
- return editor.NewDashboard(sb, fx.store.SpaceIndex(spaceId), nil), nil
+ switch objectId {
+ case homeId:
+ return editor.NewDashboard(home, fx.store.SpaceIndex(spaceId), nil), nil
+ case widgetId:
+ return editor.NewWidgetObject(widget, fx.store.SpaceIndex(spaceId), nil), nil
+ }
+ return nil, fmt.Errorf("failed to get object")
})
// when
@@ -344,22 +352,30 @@ func TestService_SetListIsFavorite(t *testing.T) {
// then
assert.NoError(t, err)
- assert.Len(t, sb.Blocks(), 4)
+ assert.Len(t, home.Blocks(), 4)
+ assert.Len(t, widget.Blocks(), 3)
})
t.Run("no error on unfavoriting", func(t *testing.T) {
// given
fx := newFixture(t)
- sb := smarttest.New(homeId)
- sb.AddBlock(simple.New(&model.Block{Id: homeId, ChildrenIds: []string{"obj1", "obj2", "obj3"}}))
- sb.AddBlock(simple.New(&model.Block{Id: "obj1", Content: &model.BlockContentOfLink{Link: &model.BlockContentLink{TargetBlockId: "obj1"}}}))
- sb.AddBlock(simple.New(&model.Block{Id: "obj2", Content: &model.BlockContentOfLink{Link: &model.BlockContentLink{TargetBlockId: "obj2"}}}))
- sb.AddBlock(simple.New(&model.Block{Id: "obj3", Content: &model.BlockContentOfLink{Link: &model.BlockContentLink{TargetBlockId: "obj3"}}}))
+ home := smarttest.New(homeId)
+ home.AddBlock(simple.New(&model.Block{Id: homeId, ChildrenIds: []string{"obj1", "obj2", "obj3"}}))
+ home.AddBlock(simple.New(&model.Block{Id: "obj1", Content: &model.BlockContentOfLink{Link: &model.BlockContentLink{TargetBlockId: "obj1"}}}))
+ home.AddBlock(simple.New(&model.Block{Id: "obj2", Content: &model.BlockContentOfLink{Link: &model.BlockContentLink{TargetBlockId: "obj2"}}}))
+ home.AddBlock(simple.New(&model.Block{Id: "obj3", Content: &model.BlockContentOfLink{Link: &model.BlockContentLink{TargetBlockId: "obj3"}}}))
+ widget := smarttest.New(widgetId)
+ widget.AddBlock(simple.New(&model.Block{Id: widgetId, ChildrenIds: []string{}}))
fx.store.AddObjects(t, spaceId, objects)
- fx.space.EXPECT().DerivedIDs().Return(threads.DerivedSmartblockIds{Home: homeId})
+ fx.space.EXPECT().DerivedIDs().Return(threads.DerivedSmartblockIds{Home: homeId, Widgets: widgetId})
fx.getter.EXPECT().GetObject(mock.Anything, mock.Anything).RunAndReturn(func(_ context.Context, objectId string) (smartblock.SmartBlock, error) {
- require.Equal(t, homeId, objectId)
- return editor.NewDashboard(sb, fx.store.SpaceIndex(spaceId), nil), nil
+ switch objectId {
+ case homeId:
+ return editor.NewDashboard(home, fx.store.SpaceIndex(spaceId), nil), nil
+ case widgetId:
+ return editor.NewWidgetObject(widget, fx.store.SpaceIndex(spaceId), nil), nil
+ }
+ return nil, fmt.Errorf("failed to get object")
})
// when
@@ -367,24 +383,32 @@ func TestService_SetListIsFavorite(t *testing.T) {
// then
assert.NoError(t, err)
- assert.Len(t, sb.Blocks(), 2)
+ assert.Len(t, home.Blocks(), 2)
+ assert.Len(t, widget.Blocks(), 1)
})
t.Run("some updates failed", func(t *testing.T) {
// given
fx := newFixture(t)
- sb := smarttest.New(homeId)
- sb.AddBlock(simple.New(&model.Block{Id: homeId, ChildrenIds: []string{}}))
+ home := smarttest.New(homeId)
+ home.AddBlock(simple.New(&model.Block{Id: homeId, ChildrenIds: []string{}}))
+ widget := smarttest.New(widgetId)
+ widget.AddBlock(simple.New(&model.Block{Id: widgetId, ChildrenIds: []string{}}))
fx.store.AddObjects(t, spaceId, objects)
- fx.space.EXPECT().DerivedIDs().Return(threads.DerivedSmartblockIds{Home: homeId})
+ fx.space.EXPECT().DerivedIDs().Return(threads.DerivedSmartblockIds{Home: homeId, Widgets: widgetId})
flag := false
fx.getter.EXPECT().GetObject(mock.Anything, mock.Anything).RunAndReturn(func(_ context.Context, objectId string) (smartblock.SmartBlock, error) {
- require.Equal(t, homeId, objectId)
- if flag {
- return nil, fmt.Errorf("unexpected error")
+ switch objectId {
+ case homeId:
+ if flag {
+ return nil, fmt.Errorf("unexpected error")
+ }
+ flag = true
+ return editor.NewDashboard(home, fx.store.SpaceIndex(spaceId), nil), nil
+ case widgetId:
+ return editor.NewWidgetObject(widget, fx.store.SpaceIndex(spaceId), nil), nil
}
- flag = true
- return editor.NewDashboard(sb, fx.store.SpaceIndex(spaceId), nil), nil
+ return nil, fmt.Errorf("failed to get object")
})
// when
@@ -392,14 +416,15 @@ func TestService_SetListIsFavorite(t *testing.T) {
// then
assert.NoError(t, err)
- assert.Len(t, sb.Blocks(), 2)
+ assert.Len(t, home.Blocks(), 2)
+ assert.Len(t, widget.Blocks(), 3)
})
t.Run("all updates failed", func(t *testing.T) {
// given
fx := newFixture(t)
fx.store.AddObjects(t, spaceId, objects)
- fx.space.EXPECT().DerivedIDs().Return(threads.DerivedSmartblockIds{Home: homeId})
+ fx.space.EXPECT().DerivedIDs().Return(threads.DerivedSmartblockIds{Home: homeId, Widgets: widgetId})
fx.getter.EXPECT().GetObject(mock.Anything, mock.Anything).RunAndReturn(func(_ context.Context, objectId string) (smartblock.SmartBlock, error) {
require.Equal(t, homeId, objectId)
return nil, fmt.Errorf("unexpected error")
diff --git a/core/block/detailservice/set_details.go b/core/block/detailservice/set_details.go
index 8f1791b4b..f42cd5ba0 100644
--- a/core/block/detailservice/set_details.go
+++ b/core/block/detailservice/set_details.go
@@ -11,8 +11,11 @@ import (
"github.com/anyproto/anytype-heart/core/block/editor"
"github.com/anyproto/anytype-heart/core/block/editor/collection"
"github.com/anyproto/anytype-heart/core/block/editor/smartblock"
- "github.com/anyproto/anytype-heart/core/domain"
+ "github.com/anyproto/anytype-heart/core/block/editor/state"
+ "github.com/anyproto/anytype-heart/core/block/editor/widget"
+ "github.com/anyproto/anytype-heart/core/block/simple"
"github.com/anyproto/anytype-heart/core/session"
+ "github.com/anyproto/anytype-heart/pb"
"github.com/anyproto/anytype-heart/pkg/lib/bundle"
coresb "github.com/anyproto/anytype-heart/pkg/lib/core/smartblock"
"github.com/anyproto/anytype-heart/pkg/lib/pb/model"
@@ -56,7 +59,7 @@ func (s *service) SetWorkspaceDashboardId(ctx session.Context, workspaceId strin
return id, err
}
-func (s *service) SetIsFavorite(objectId string, isFavorite bool) error {
+func (s *service) SetIsFavorite(objectId string, isFavorite, createWidget bool) error {
spaceID, err := s.resolver.ResolveSpaceID(objectId)
if err != nil {
return fmt.Errorf("resolve spaceID: %w", err)
@@ -65,7 +68,18 @@ func (s *service) SetIsFavorite(objectId string, isFavorite bool) error {
if err != nil {
return fmt.Errorf("get space: %w", err)
}
- return s.objectLinksCollectionModify(spc.DerivedIDs().Home, objectId, isFavorite)
+ if err = s.objectLinksCollectionModify(spc.DerivedIDs().Home, objectId, isFavorite); err != nil {
+ return err
+ }
+
+ if createWidget && isFavorite {
+ err = s.createFavoriteWidget(spc.DerivedIDs().Widgets)
+ if err != nil {
+ log.Error("failed to create favorite widget", zap.Error(err))
+ }
+ }
+
+ return nil
}
func (s *service) SetIsArchived(objectId string, isArchived bool) error {
@@ -99,9 +113,9 @@ func (s *service) SetListIsFavorite(objectIds []string, isFavorite bool) error {
return err
}
- for _, id := range ids {
+ for i, id := range ids {
// TODO Set list of ids at once
- err := s.SetIsFavorite(id, isFavorite)
+ err := s.SetIsFavorite(id, isFavorite, i == 0)
if err != nil {
log.Error("failed to favorite object", zap.String("objectId", id), zap.Error(err))
resultError = errors.Join(resultError, err)
@@ -228,3 +242,42 @@ func (s *service) modifyArchiveLinks(
}
return
}
+
+func (s *service) createFavoriteWidget(widgetObjectId string) error {
+ return cache.DoState(s.objectGetter, widgetObjectId, func(st *state.State, w widget.Widget) (err error) {
+ var favoriteBlockFound bool
+ err = st.Iterate(func(b simple.Block) (isContinue bool) {
+ link := b.Model().GetLink()
+ if link == nil {
+ return true
+ }
+ if link.TargetBlockId == widget.DefaultWidgetFavorite {
+ favoriteBlockFound = true
+ return false
+ }
+ return true
+ })
+
+ if err != nil {
+ return err
+ }
+
+ if favoriteBlockFound {
+ log.Debug("favorite widget block is already presented")
+ return nil
+ }
+
+ _, err = w.CreateBlock(st, &pb.RpcBlockCreateWidgetRequest{
+ ContextId: widgetObjectId,
+ ObjectLimit: 6,
+ WidgetLayout: model.BlockContentWidget_List,
+ Position: model.Block_Bottom,
+ Block: &model.Block{
+ Content: &model.BlockContentOfLink{Link: &model.BlockContentLink{
+ TargetBlockId: widget.DefaultWidgetFavorite,
+ }},
+ },
+ })
+ return err
+ })
+}
diff --git a/core/block/editor/archive.go b/core/block/editor/archive.go
index d8bfba9a9..1c1d30d0b 100644
--- a/core/block/editor/archive.go
+++ b/core/block/editor/archive.go
@@ -60,13 +60,17 @@ func (p *Archive) CreationStateMigration(ctx *smartblock.InitContext) migration.
template.WithNoObjectTypes(),
template.WithDetailName("Archive"),
template.WithDetailIconEmoji("🗑"),
+ template.WithForcedDetail(bundle.RelationKeyIsHidden, pbtypes.Bool(true)),
)
},
}
}
func (p *Archive) StateMigrations() migration.Migrations {
- return migration.MakeMigrations(nil)
+ return migration.MakeMigrations([]migration.Migration{{
+ Version: 2,
+ Proc: template.WithForcedDetail(bundle.RelationKeyIsHidden, pbtypes.Bool(true)),
+ }})
}
func (p *Archive) Relations(_ *state.State) relationutils.Relations {
diff --git a/core/block/editor/basic/details.go b/core/block/editor/basic/details.go
index 2c31962ea..0dbf409c7 100644
--- a/core/block/editor/basic/details.go
+++ b/core/block/editor/basic/details.go
@@ -369,6 +369,10 @@ func (bs *basic) SetObjectTypesInState(s *state.State, objectTypeKeys []domain.T
if err = bs.Restrictions().Object.Check(model.Restrictions_TypeChange); errors.Is(err, restriction.ErrRestricted) {
return fmt.Errorf("objectType change is restricted for object '%s': %w", bs.Id(), err)
}
+
+ if objectTypeKeys[0] == bundle.TypeKeyTemplate {
+ return fmt.Errorf("changing object type to template is restricted")
+ }
}
s.SetObjectTypeKeys(objectTypeKeys)
diff --git a/core/block/editor/basic/details_test.go b/core/block/editor/basic/details_test.go
index e7cdd8c5a..3fc4025b6 100644
--- a/core/block/editor/basic/details_test.go
+++ b/core/block/editor/basic/details_test.go
@@ -4,9 +4,12 @@ import (
"testing"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/mock"
"github.com/anyproto/anytype-heart/core/block/editor/converter"
+ "github.com/anyproto/anytype-heart/core/block/editor/lastused/mock_lastused"
"github.com/anyproto/anytype-heart/core/block/editor/smartblock/smarttest"
+ "github.com/anyproto/anytype-heart/core/block/restriction"
"github.com/anyproto/anytype-heart/core/domain"
"github.com/anyproto/anytype-heart/pkg/lib/bundle"
"github.com/anyproto/anytype-heart/pkg/lib/localstore/objectstore"
@@ -14,10 +17,11 @@ import (
"github.com/anyproto/anytype-heart/pkg/lib/pb/model"
)
-type duFixture struct {
- sb *smarttest.SmartTest
- store *spaceindex.StoreFixture
- basic DetailsUpdatable
+type basicFixture struct {
+ sb *smarttest.SmartTest
+ store *spaceindex.StoreFixture
+ lastUsed *mock_lastused.MockObjectUsageUpdater
+ basic CommonOperations
}
var (
@@ -25,26 +29,28 @@ var (
spaceId = "space1"
)
-func newDUFixture(t *testing.T) *duFixture {
+func newBasicFixture(t *testing.T) *basicFixture {
sb := smarttest.New(objectId)
sb.SetDetails(nil, nil, false)
sb.SetSpaceId(spaceId)
store := spaceindex.NewStoreFixture(t)
+ lastUsed := mock_lastused.NewMockObjectUsageUpdater(t)
- b := NewBasic(sb, store, converter.NewLayoutConverter(), nil, nil)
+ b := NewBasic(sb, store, converter.NewLayoutConverter(), nil, lastUsed)
- return &duFixture{
- sb: sb,
- store: store,
- basic: b,
+ return &basicFixture{
+ sb: sb,
+ store: store,
+ lastUsed: lastUsed,
+ basic: b,
}
}
func TestBasic_UpdateDetails(t *testing.T) {
t.Run("add new details", func(t *testing.T) {
// given
- f := newDUFixture(t)
+ f := newBasicFixture(t)
f.store.AddObjects(t, []objectstore.TestObject{{
bundle.RelationKeyId: domain.String("rel-aperture"),
bundle.RelationKeySpaceId: domain.String(spaceId),
@@ -84,7 +90,7 @@ func TestBasic_UpdateDetails(t *testing.T) {
t.Run("modify details", func(t *testing.T) {
// given
- f := newDUFixture(t)
+ f := newBasicFixture(t)
err := f.sb.SetDetails(nil, []domain.Detail{{
Key: bundle.RelationKeySpaceDashboardId,
Value: domain.String("123"),
@@ -115,7 +121,7 @@ func TestBasic_UpdateDetails(t *testing.T) {
t.Run("delete details", func(t *testing.T) {
// given
- f := newDUFixture(t)
+ f := newBasicFixture(t)
err := f.sb.SetDetails(nil, []domain.Detail{{
Key: bundle.RelationKeyTargetObjectType,
Value: domain.String("ot-note"),
@@ -137,3 +143,52 @@ func TestBasic_UpdateDetails(t *testing.T) {
assert.False(t, f.sb.HasRelation(f.sb.NewState(), bundle.RelationKeyTargetObjectType.String()))
})
}
+
+func TestBasic_SetObjectTypesInState(t *testing.T) {
+ t.Run("no error", func(t *testing.T) {
+ // given
+ f := newBasicFixture(t)
+
+ f.lastUsed.EXPECT().UpdateLastUsedDate(mock.Anything, bundle.TypeKeyTask, mock.Anything).Return().Once()
+ f.store.AddObjects(t, []objectstore.TestObject{{
+ bundle.RelationKeySpaceId: pbtypes.String(spaceId),
+ bundle.RelationKeyId: pbtypes.String("ot-task"),
+ bundle.RelationKeyUniqueKey: pbtypes.String("ot-task"),
+ bundle.RelationKeyLayout: pbtypes.Int64(int64(model.ObjectType_todo)),
+ }})
+
+ s := f.sb.NewState()
+
+ // when
+ err := f.basic.SetObjectTypesInState(s, []domain.TypeKey{bundle.TypeKeyTask}, false)
+
+ // then
+ assert.NoError(t, err)
+ assert.Equal(t, bundle.TypeKeyTask, s.ObjectTypeKey())
+ })
+
+ t.Run("type change is restricted", func(t *testing.T) {
+ // given
+ f := newBasicFixture(t)
+ f.sb.TestRestrictions = restriction.Restrictions{Object: []model.RestrictionsObjectRestriction{model.Restrictions_TypeChange}}
+ s := f.sb.NewState()
+
+ // when
+ err := f.basic.SetObjectTypesInState(s, []domain.TypeKey{bundle.TypeKeyTask}, false)
+
+ // then
+ assert.ErrorIs(t, err, restriction.ErrRestricted)
+ })
+
+ t.Run("changing to template type is restricted", func(t *testing.T) {
+ // given
+ f := newBasicFixture(t)
+ s := f.sb.NewState()
+
+ // when
+ err := f.basic.SetObjectTypesInState(s, []domain.TypeKey{bundle.TypeKeyTemplate}, false)
+
+ // then
+ assert.Error(t, err)
+ })
+}
diff --git a/core/block/editor/dashboard.go b/core/block/editor/dashboard.go
index ee6294305..3c6a6abbc 100644
--- a/core/block/editor/dashboard.go
+++ b/core/block/editor/dashboard.go
@@ -57,13 +57,17 @@ func (p *Dashboard) CreationStateMigration(ctx *smartblock.InitContext) migratio
template.WithDetailName("Home"),
template.WithDetailIconEmoji("🏠"),
template.WithNoDuplicateLinks(),
+ template.WithForcedDetail(bundle.RelationKeyIsHidden, pbtypes.Bool(true)),
)
},
}
}
func (p *Dashboard) StateMigrations() migration.Migrations {
- return migration.MakeMigrations(nil)
+ return migration.MakeMigrations([]migration.Migration{{
+ Version: 2,
+ Proc: template.WithForcedDetail(bundle.RelationKeyIsHidden, pbtypes.Bool(true)),
+ }})
}
func (p *Dashboard) updateObjects(info smartblock.ApplyInfo) (err error) {
diff --git a/core/block/editor/file/file.go b/core/block/editor/file/file.go
index 28e4987d1..a04eb88ee 100644
--- a/core/block/editor/file/file.go
+++ b/core/block/editor/file/file.go
@@ -16,6 +16,7 @@ import (
"github.com/anyproto/anytype-heart/core/block/cache"
"github.com/anyproto/anytype-heart/core/block/editor/smartblock"
"github.com/anyproto/anytype-heart/core/block/editor/state"
+ "github.com/anyproto/anytype-heart/core/block/editor/template"
"github.com/anyproto/anytype-heart/core/block/process"
"github.com/anyproto/anytype-heart/core/block/simple"
"github.com/anyproto/anytype-heart/core/block/simple/file"
@@ -221,8 +222,10 @@ func (sf *sfile) updateFile(ctx session.Context, id, groupId string, apply func(
}
func (sf *sfile) DropFiles(req pb.RpcFileDropRequest) (err error) {
- if err = sf.Restrictions().Object.Check(model.Restrictions_Blocks); err != nil {
- return err
+ if !isCollection(sf) {
+ if err = sf.Restrictions().Object.Check(model.Restrictions_Blocks); err != nil {
+ return err
+ }
}
proc := &dropFilesProcess{
spaceID: sf.SpaceID(),
@@ -234,7 +237,7 @@ func (sf *sfile) DropFiles(req pb.RpcFileDropRequest) (err error) {
return
}
var ch = make(chan error)
- go proc.Start(sf.RootId(), req.DropTargetId, req.Position, ch)
+ go proc.Start(sf, req.DropTargetId, req.Position, ch)
err = <-ch
return
}
@@ -248,7 +251,6 @@ func (sf *sfile) dropFilesCreateStructure(groupId, targetId string, pos model.Bl
for _, entry := range entries {
var blockId, pageId string
if entry.isDir {
-
if err = sf.Apply(s); err != nil {
return
}
@@ -304,6 +306,13 @@ func (sf *sfile) dropFilesSetInfo(info dropFileInfo) (err error) {
s.Unlink(info.blockId)
return sf.Apply(s)
}
+ if isCollection(sf) {
+ s := sf.NewState()
+ if !s.HasInStore([]string{info.file.TargetObjectId}) {
+ s.UpdateStoreSlice(template.CollectionStoreKey, append(s.GetStoreSlice(template.CollectionStoreKey), info.file.TargetObjectId))
+ }
+ return sf.Apply(s)
+ }
return sf.UpdateFile(info.blockId, info.groupId, func(f file.Block) error {
if info.err != nil || info.file == nil || info.file.State == model.BlockContentFile_Error {
if info.err != nil {
@@ -451,7 +460,7 @@ func (dp *dropFilesProcess) readdir(entry *dropFileEntry, allowSymlinks bool) (o
return true, nil
}
-func (dp *dropFilesProcess) Start(rootId, targetId string, pos model.BlockPosition, rootDone chan error) {
+func (dp *dropFilesProcess) Start(file smartblock.SmartBlock, targetId string, pos model.BlockPosition, rootDone chan error) {
dp.id = uuid.New().String()
dp.doneCh = make(chan struct{})
dp.cancel = make(chan struct{})
@@ -470,6 +479,46 @@ func (dp *dropFilesProcess) Start(rootId, targetId string, pos model.BlockPositi
go dp.addFilesWorker(wg, in)
}
+ if isCollection(file) {
+ dp.handleDragAndDropInCollection(file.RootId(), dp.root.child, rootDone, in)
+ } else {
+ dp.handleDragAndDropInDocument(file.RootId(), targetId, pos, rootDone, in)
+ }
+ wg.Wait()
+}
+
+func (dp *dropFilesProcess) handleDragAndDropInCollection(rootId string, droppedFiles []*dropFileEntry, rootDone chan error, in chan *dropFileInfo) {
+ close(rootDone)
+ filesToUpload := dp.getFilesToUploadFromDirs(droppedFiles)
+ for _, entry := range filesToUpload {
+ in <- &dropFileInfo{
+ pageId: rootId,
+ path: entry.path,
+ name: entry.name,
+ }
+ }
+ close(in)
+}
+
+func (dp *dropFilesProcess) getFilesToUploadFromDirs(droppedFiles []*dropFileEntry) []*dropFileEntry {
+ var (
+ stack []*dropFileEntry
+ totalFiles []*dropFileEntry
+ )
+ stack = append(stack, droppedFiles...)
+ for len(stack) > 0 {
+ entry := stack[len(stack)-1]
+ stack = stack[:len(stack)-1]
+ if entry.isDir {
+ stack = append(stack, entry.child...)
+ } else {
+ totalFiles = append(totalFiles, entry)
+ }
+ }
+ return totalFiles
+}
+
+func (dp *dropFilesProcess) handleDragAndDropInDocument(rootId, targetId string, pos model.BlockPosition, rootDone chan error, in chan *dropFileInfo) {
var flatEntries = [][]*dropFileEntry{dp.root.child}
var smartBlockIds = []string{rootId}
var handleLevel = func(idx int) (isContinue bool, err error) {
@@ -534,8 +583,6 @@ func (dp *dropFilesProcess) Start(rootId, targetId string, pos model.BlockPositi
idx++
}
close(in)
- wg.Wait()
- return
}
func (dp *dropFilesProcess) addFilesWorker(wg *sync.WaitGroup, in chan *dropFileInfo) {
@@ -591,3 +638,8 @@ func (dp *dropFilesProcess) apply(f *dropFileInfo) (err error) {
return sbHandler.dropFilesSetInfo(*f)
})
}
+
+func isCollection(smartBlock smartblock.SmartBlock) bool {
+ layout, ok := smartBlock.Layout()
+ return ok && layout == model.ObjectType_collection
+}
diff --git a/core/block/editor/file/file_test.go b/core/block/editor/file/file_test.go
index 06d1c8ab5..0e4fa85d6 100644
--- a/core/block/editor/file/file_test.go
+++ b/core/block/editor/file/file_test.go
@@ -1,19 +1,42 @@
package file
import (
+ "context"
"errors"
+ "os"
+ "path/filepath"
"testing"
+ "github.com/anyproto/any-sync/accountservice/mock_accountservice"
+ "github.com/anyproto/any-sync/app"
+ "github.com/anyproto/any-sync/commonfile/fileservice"
+ "github.com/gogo/protobuf/types"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
+ "go.uber.org/mock/gomock"
+ "github.com/anyproto/anytype-heart/core/anytype/config"
"github.com/anyproto/anytype-heart/core/block/cache/mock_cache"
"github.com/anyproto/anytype-heart/core/block/editor/smartblock/smarttest"
+ "github.com/anyproto/anytype-heart/core/block/editor/template"
+ "github.com/anyproto/anytype-heart/core/block/process"
"github.com/anyproto/anytype-heart/core/block/restriction"
- "github.com/anyproto/anytype-heart/core/domain"
+ "github.com/anyproto/anytype-heart/core/event/mock_event"
+ "github.com/anyproto/anytype-heart/core/files"
+ "github.com/anyproto/anytype-heart/core/files/fileobject/mock_fileobject"
+ "github.com/anyproto/anytype-heart/core/files/fileuploader"
+ "github.com/anyproto/anytype-heart/core/filestorage"
+ "github.com/anyproto/anytype-heart/core/filestorage/filesync"
+ "github.com/anyproto/anytype-heart/core/filestorage/rpcstore"
+ wallet2 "github.com/anyproto/anytype-heart/core/wallet"
+ "github.com/anyproto/anytype-heart/core/wallet/mock_wallet"
"github.com/anyproto/anytype-heart/pb"
"github.com/anyproto/anytype-heart/pkg/lib/bundle"
+ "github.com/anyproto/anytype-heart/pkg/lib/core"
+ "github.com/anyproto/anytype-heart/pkg/lib/datastore"
+ "github.com/anyproto/anytype-heart/pkg/lib/localstore/filestore"
+ "github.com/anyproto/anytype-heart/pkg/lib/localstore/objectstore"
"github.com/anyproto/anytype-heart/pkg/lib/pb/model"
"github.com/anyproto/anytype-heart/tests/blockbuilder"
"github.com/anyproto/anytype-heart/tests/testutil"
@@ -21,21 +44,31 @@ import (
type fileFixture struct {
sfile
- pickerFx *mock_cache.MockObjectGetter
- sb *smarttest.SmartTest
+ pickerFx *mock_cache.MockObjectGetter
+ sb *smarttest.SmartTest
+ mockSender *mock_event.MockSender
}
func newFixture(t *testing.T) *fileFixture {
picker := mock_cache.NewMockObjectGetter(t)
sb := smarttest.New("root")
+ mockSender := mock_event.NewMockSender(t)
fx := &fileFixture{
- pickerFx: picker,
- sb: sb,
+ pickerFx: picker,
+ sb: sb,
+ mockSender: mockSender,
}
+ a := &app.App{}
+ a.Register(testutil.PrepareMock(context.Background(), a, mockSender))
+ service := process.New()
+ err := service.Init(a)
+ assert.Nil(t, err)
+
fx.sfile = sfile{
- SmartBlock: sb,
- picker: picker,
+ SmartBlock: sb,
+ picker: picker,
+ processService: service,
}
return fx
}
@@ -119,4 +152,167 @@ func TestDropFiles(t *testing.T) {
assert.Error(t, err)
assert.True(t, errors.Is(err, restriction.ErrRestricted))
})
+ t.Run("drop files in collection - no restriction error", func(t *testing.T) {
+ // given
+ dir := t.TempDir()
+ file, err := os.Create(filepath.Join(dir, "test"))
+ assert.Nil(t, err)
+
+ fx := newFixture(t)
+ st := fx.sb.Doc.NewState()
+ st.SetDetail(bundle.RelationKeyLayout.String(), pbtypes.Int64(int64(model.ObjectType_collection)))
+ fx.sb.Doc = st
+ fx.pickerFx.EXPECT().GetObject(context.Background(), "root").Return(fx, nil).Maybe()
+ fx.mockSender.EXPECT().Broadcast(mock.Anything).Return().Maybe()
+ mockService := mock_fileobject.NewMockService(t)
+ mockService.EXPECT().Create(mock.Anything, mock.Anything, mock.Anything).Return("fileObjectId", &types.Struct{Fields: map[string]*types.Value{}}, nil).Maybe()
+ fx.fileUploaderFactory = prepareFileService(t, fx.mockSender, mockService)
+
+ // when
+ err = fx.sfile.DropFiles(pb.RpcFileDropRequest{
+ ContextId: "root",
+ LocalFilePaths: []string{file.Name()},
+ })
+
+ // then
+ assert.Nil(t, err)
+ })
+ t.Run("drop dir in collection - no restriction error", func(t *testing.T) {
+ // given
+ dir := t.TempDir()
+ _, err := os.Create(filepath.Join(dir, "test"))
+ assert.Nil(t, err)
+
+ fx := newFixture(t)
+ st := fx.sb.Doc.NewState()
+ st.SetDetail(bundle.RelationKeyLayout.String(), pbtypes.Int64(int64(model.ObjectType_collection)))
+ fx.sb.Doc = st
+ fx.pickerFx.EXPECT().GetObject(context.Background(), "root").Return(fx, nil).Maybe()
+ fx.mockSender.EXPECT().Broadcast(mock.Anything).Return().Maybe()
+ mockService := mock_fileobject.NewMockService(t)
+ mockService.EXPECT().Create(mock.Anything, mock.Anything, mock.Anything).Return("fileObjectId", &types.Struct{Fields: map[string]*types.Value{}}, nil).Maybe()
+ fx.fileUploaderFactory = prepareFileService(t, fx.mockSender, mockService)
+
+ // when
+ err = fx.sfile.DropFiles(pb.RpcFileDropRequest{
+ ContextId: "root",
+ LocalFilePaths: []string{dir},
+ })
+
+ // then
+ assert.Nil(t, err)
+ })
+ t.Run("drop files in collection - success", func(t *testing.T) {
+ // given
+ dir := t.TempDir()
+ file, err := os.Create(filepath.Join(dir, "test"))
+ assert.Nil(t, err)
+
+ fx := newFixture(t)
+ st := fx.sb.Doc.NewState()
+ st.SetDetail(bundle.RelationKeyLayout.String(), pbtypes.Int64(int64(model.ObjectType_collection)))
+ fx.sb.Doc = st
+ fx.pickerFx.EXPECT().GetObject(context.Background(), "root").Return(fx, nil)
+ fx.mockSender.EXPECT().Broadcast(mock.Anything).Return()
+ mockService := mock_fileobject.NewMockService(t)
+ mockService.EXPECT().Create(context.Background(), "", mock.Anything).Return("fileObjectId", &types.Struct{Fields: map[string]*types.Value{}}, nil).Maybe()
+ fx.fileUploaderFactory = prepareFileService(t, fx.mockSender, mockService)
+
+ // when
+ proc := &dropFilesProcess{
+ spaceID: fx.SpaceID(),
+ processService: fx.processService,
+ picker: fx.picker,
+ fileUploaderFactory: fx.fileUploaderFactory,
+ }
+ err = proc.Init([]string{file.Name()})
+ assert.Nil(t, err)
+ var ch = make(chan error)
+ proc.Start(fx, "", model.Block_Bottom, ch)
+ err = <-ch
+
+ // then
+ assert.Nil(t, err)
+ storeSlice := fx.NewState().GetStoreSlice(template.CollectionStoreKey)
+ assert.Len(t, storeSlice, 1)
+ assert.Equal(t, "fileObjectId", storeSlice[0])
+ })
+ t.Run("drop dir with file in collection - success", func(t *testing.T) {
+ // given
+ dir := t.TempDir()
+ _, err := os.Create(filepath.Join(dir, "test"))
+ assert.Nil(t, err)
+
+ fx := newFixture(t)
+ st := fx.sb.Doc.NewState()
+ st.SetDetail(bundle.RelationKeyLayout.String(), pbtypes.Int64(int64(model.ObjectType_collection)))
+ fx.sb.Doc = st
+ fx.pickerFx.EXPECT().GetObject(context.Background(), "root").Return(fx, nil)
+ fx.mockSender.EXPECT().Broadcast(mock.Anything).Return()
+ mockService := mock_fileobject.NewMockService(t)
+ mockService.EXPECT().Create(context.Background(), "", mock.Anything).Return("fileObjectId", &types.Struct{Fields: map[string]*types.Value{}}, nil).Maybe()
+ fx.fileUploaderFactory = prepareFileService(t, fx.mockSender, mockService)
+
+ // when
+ proc := &dropFilesProcess{
+ spaceID: fx.SpaceID(),
+ processService: fx.processService,
+ picker: fx.picker,
+ fileUploaderFactory: fx.fileUploaderFactory,
+ }
+ err = proc.Init([]string{dir})
+ assert.Nil(t, err)
+ var ch = make(chan error)
+ proc.Start(fx, "", model.Block_Bottom, ch)
+ err = <-ch
+
+ // then
+ assert.Nil(t, err)
+ storeSlice := fx.NewState().GetStoreSlice(template.CollectionStoreKey)
+ assert.Len(t, storeSlice, 1)
+ assert.Equal(t, "fileObjectId", storeSlice[0])
+ })
+}
+
+func prepareFileService(t *testing.T, sender *mock_event.MockSender, fileObjectService *mock_fileobject.MockService) fileuploader.Service {
+ dataStoreProvider, err := datastore.NewInMemory()
+ assert.Nil(t, err)
+
+ blockStorage := filestorage.NewInMemory()
+
+ rpcStore := rpcstore.NewInMemoryStore(1024)
+ rpcStoreService := rpcstore.NewInMemoryService(rpcStore)
+ commonFileService := fileservice.New()
+ fileSyncService := filesync.New()
+ objectStore := objectstore.NewStoreFixture(t)
+
+ ctx := context.Background()
+ ctrl := gomock.NewController(t)
+ wallet := mock_wallet.NewMockWallet(t)
+ wallet.EXPECT().Name().Return(wallet2.CName)
+ wallet.EXPECT().RepoPath().Return("repo/path")
+
+ a := new(app.App)
+ a.Register(dataStoreProvider)
+ a.Register(filestore.New())
+ a.Register(commonFileService)
+ a.Register(fileSyncService)
+ a.Register(testutil.PrepareMock(ctx, a, sender))
+ a.Register(blockStorage)
+ a.Register(objectStore)
+ a.Register(rpcStoreService)
+ a.Register(testutil.PrepareMock(ctx, a, mock_accountservice.NewMockService(ctrl)))
+ a.Register(testutil.PrepareMock(ctx, a, wallet))
+ a.Register(testutil.PrepareMock(ctx, a, fileObjectService))
+ a.Register(&config.Config{DisableFileConfig: true, NetworkMode: pb.RpcAccount_DefaultConfig, PeferYamuxTransport: true})
+ a.Register(core.NewTempDirService())
+ a.Register(testutil.PrepareMock(ctx, a, mock_cache.NewMockObjectGetterComponent(t)))
+ a.Register(files.New())
+ err = a.Start(ctx)
+ assert.Nil(t, err)
+
+ service := fileuploader.New()
+ err = service.Init(a)
+ assert.Nil(t, err)
+ return service
}
diff --git a/core/block/editor/participant.go b/core/block/editor/participant.go
index c470e5244..e9e7beeeb 100644
--- a/core/block/editor/participant.go
+++ b/core/block/editor/participant.go
@@ -52,6 +52,13 @@ func (p *participant) Init(ctx *smartblock.InitContext) (err error) {
ctx.State.SetDetailAndBundledRelation(bundle.RelationKeyLayout, domain.Int64(model.ObjectType_participant))
ctx.State.SetDetailAndBundledRelation(bundle.RelationKeyLayoutAlign, domain.Int64(model.Block_AlignCenter))
+ records, err := p.objectStore.QueryByIds([]string{p.Id()})
+ if err != nil {
+ return err
+ }
+ if len(records) > 0 {
+ ctx.State.SetDetails(records[0].Details)
+ }
template.InitTemplate(ctx.State,
template.WithEmpty,
template.WithTitle,
@@ -60,15 +67,6 @@ func (p *participant) Init(ctx *smartblock.InitContext) (err error) {
template.WithAddedFeaturedRelation(bundle.RelationKeyType),
template.WithAddedFeaturedRelation(bundle.RelationKeyBacklinks),
)
-
- records, err := p.objectStore.QueryByIds([]string{p.Id()})
- if err != nil {
- return err
- }
- if len(records) > 0 {
- ctx.State.SetDetails(records[0].Details)
- }
-
return nil
}
diff --git a/core/block/editor/participant_test.go b/core/block/editor/participant_test.go
index eaa98fb8a..ad1d37f94 100644
--- a/core/block/editor/participant_test.go
+++ b/core/block/editor/participant_test.go
@@ -3,11 +3,13 @@ package editor
import (
"testing"
+ "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/anyproto/anytype-heart/core/block/editor/basic"
"github.com/anyproto/anytype-heart/core/block/editor/smartblock"
"github.com/anyproto/anytype-heart/core/block/editor/smartblock/smarttest"
+ "github.com/anyproto/anytype-heart/core/block/editor/state"
"github.com/anyproto/anytype-heart/core/block/migration"
"github.com/anyproto/anytype-heart/core/domain"
"github.com/anyproto/anytype-heart/pkg/lib/bundle"
@@ -107,6 +109,68 @@ func TestParticipant_ModifyIdentityDetails(t *testing.T) {
}
}
+func TestParticipant_Init(t *testing.T) {
+ t.Run("title block not empty, because name detail is in store", func(t *testing.T) {
+ // given
+ sb := smarttest.New("root")
+ store := newStoreFixture(t)
+ store.AddObjects(t, []objectstore.TestObject{{
+ bundle.RelationKeySpaceId: pbtypes.String("spaceId"),
+ bundle.RelationKeyId: pbtypes.String("root"),
+ bundle.RelationKeyName: pbtypes.String("test"),
+ }})
+
+ basicComponent := basic.NewBasic(sb, store, nil, nil, nil)
+ p := &participant{
+ SmartBlock: sb,
+ DetailsUpdatable: basicComponent,
+ objectStore: store,
+ }
+
+ initCtx := &smartblock.InitContext{
+ IsNewObject: true,
+ }
+
+ // when
+ err := p.Init(initCtx)
+ assert.NoError(t, err)
+ migration.RunMigrations(p, initCtx)
+ err = p.Apply(initCtx.State)
+ assert.NoError(t, err)
+
+ // then
+ assert.NotNil(t, p.NewState().Get(state.TitleBlockID))
+ assert.Equal(t, "test", p.NewState().Get(state.TitleBlockID).Model().GetText().GetText())
+ })
+ t.Run("title block is empty", func(t *testing.T) {
+ // given
+ sb := smarttest.New("root")
+ store := newStoreFixture(t)
+
+ basicComponent := basic.NewBasic(sb, store, nil, nil, nil)
+ p := &participant{
+ SmartBlock: sb,
+ DetailsUpdatable: basicComponent,
+ objectStore: store,
+ }
+
+ initCtx := &smartblock.InitContext{
+ IsNewObject: true,
+ }
+
+ // when
+ err := p.Init(initCtx)
+ assert.NoError(t, err)
+ migration.RunMigrations(p, initCtx)
+ err = p.Apply(initCtx.State)
+ assert.NoError(t, err)
+
+ // then
+ assert.NotNil(t, p.NewState().Get(state.TitleBlockID))
+ assert.Equal(t, "", p.NewState().Get(state.TitleBlockID).Model().GetText().GetText())
+ })
+}
+
func newStoreFixture(t *testing.T) *spaceindex.StoreFixture {
store := spaceindex.NewStoreFixture(t)
diff --git a/core/block/editor/spaceview.go b/core/block/editor/spaceview.go
index 8748b00a5..f5707fa5b 100644
--- a/core/block/editor/spaceview.go
+++ b/core/block/editor/spaceview.go
@@ -251,6 +251,7 @@ var workspaceKeysToCopy = []domain.RelationKey{
bundle.RelationKeyIconOption,
bundle.RelationKeySpaceDashboardId,
bundle.RelationKeyCreatedDate,
+ bundle.RelationKeyChatId,
}
func (s *SpaceView) GetSpaceDescription() (data spaceinfo.SpaceDescription) {
diff --git a/core/block/editor/state/state.go b/core/block/editor/state/state.go
index acc9fd324..66cd8c6db 100644
--- a/core/block/editor/state/state.go
+++ b/core/block/editor/state/state.go
@@ -1307,8 +1307,9 @@ func (s *State) Copy() *State {
}
func (s *State) HasRelation(key string) bool {
- for _, rel := range s.relationLinks {
- if rel.Key == key {
+ links := s.GetRelationLinks()
+ for _, link := range links {
+ if link.Key == key {
return true
}
}
diff --git a/core/block/import/common/objectcreator/objectcreator.go b/core/block/import/common/objectcreator/objectcreator.go
index 15989b229..2609e5cb5 100644
--- a/core/block/import/common/objectcreator/objectcreator.go
+++ b/core/block/import/common/objectcreator/objectcreator.go
@@ -391,7 +391,7 @@ func (oc *ObjectCreator) resetState(newID string, st *state.State) *domain.Detai
func (oc *ObjectCreator) setFavorite(snapshot *common.StateSnapshot, newID string) {
isFavorite := snapshot.Details.GetBool(bundle.RelationKeyIsFavorite)
if isFavorite {
- err := oc.detailsService.SetIsFavorite(newID, true)
+ err := oc.detailsService.SetIsFavorite(newID, true, false)
if err != nil {
log.With(zap.String("object id", newID)).Errorf("failed to set isFavorite when importing object: %s", err)
}
diff --git a/core/block/object/objectcache/mock_objectcache/mock_Cache.go b/core/block/object/objectcache/mock_objectcache/mock_Cache.go
index b48ac532d..8b77256e0 100644
--- a/core/block/object/objectcache/mock_objectcache/mock_Cache.go
+++ b/core/block/object/objectcache/mock_objectcache/mock_Cache.go
@@ -168,7 +168,7 @@ func (_c *MockCache_CreateTreeObject_Call) RunAndReturn(run func(context.Context
}
// CreateTreeObjectWithPayload provides a mock function with given fields: ctx, payload, initFunc
-func (_m *MockCache) CreateTreeObjectWithPayload(ctx context.Context, payload treestorage.TreeStorageCreatePayload, initFunc func(string) *smartblock.InitContext) (smartblock.SmartBlock, error) {
+func (_m *MockCache) CreateTreeObjectWithPayload(ctx context.Context, payload treestorage.TreeStorageCreatePayload, initFunc objectcache.InitFunc) (smartblock.SmartBlock, error) {
ret := _m.Called(ctx, payload, initFunc)
if len(ret) == 0 {
@@ -177,10 +177,10 @@ func (_m *MockCache) CreateTreeObjectWithPayload(ctx context.Context, payload tr
var r0 smartblock.SmartBlock
var r1 error
- if rf, ok := ret.Get(0).(func(context.Context, treestorage.TreeStorageCreatePayload, func(string) *smartblock.InitContext) (smartblock.SmartBlock, error)); ok {
+ if rf, ok := ret.Get(0).(func(context.Context, treestorage.TreeStorageCreatePayload, objectcache.InitFunc) (smartblock.SmartBlock, error)); ok {
return rf(ctx, payload, initFunc)
}
- if rf, ok := ret.Get(0).(func(context.Context, treestorage.TreeStorageCreatePayload, func(string) *smartblock.InitContext) smartblock.SmartBlock); ok {
+ if rf, ok := ret.Get(0).(func(context.Context, treestorage.TreeStorageCreatePayload, objectcache.InitFunc) smartblock.SmartBlock); ok {
r0 = rf(ctx, payload, initFunc)
} else {
if ret.Get(0) != nil {
@@ -188,7 +188,7 @@ func (_m *MockCache) CreateTreeObjectWithPayload(ctx context.Context, payload tr
}
}
- if rf, ok := ret.Get(1).(func(context.Context, treestorage.TreeStorageCreatePayload, func(string) *smartblock.InitContext) error); ok {
+ if rf, ok := ret.Get(1).(func(context.Context, treestorage.TreeStorageCreatePayload, objectcache.InitFunc) error); ok {
r1 = rf(ctx, payload, initFunc)
} else {
r1 = ret.Error(1)
@@ -205,14 +205,14 @@ type MockCache_CreateTreeObjectWithPayload_Call struct {
// CreateTreeObjectWithPayload is a helper method to define mock.On call
// - ctx context.Context
// - payload treestorage.TreeStorageCreatePayload
-// - initFunc func(string) *smartblock.InitContext
+// - initFunc objectcache.InitFunc
func (_e *MockCache_Expecter) CreateTreeObjectWithPayload(ctx interface{}, payload interface{}, initFunc interface{}) *MockCache_CreateTreeObjectWithPayload_Call {
return &MockCache_CreateTreeObjectWithPayload_Call{Call: _e.mock.On("CreateTreeObjectWithPayload", ctx, payload, initFunc)}
}
-func (_c *MockCache_CreateTreeObjectWithPayload_Call) Run(run func(ctx context.Context, payload treestorage.TreeStorageCreatePayload, initFunc func(string) *smartblock.InitContext)) *MockCache_CreateTreeObjectWithPayload_Call {
+func (_c *MockCache_CreateTreeObjectWithPayload_Call) Run(run func(ctx context.Context, payload treestorage.TreeStorageCreatePayload, initFunc objectcache.InitFunc)) *MockCache_CreateTreeObjectWithPayload_Call {
_c.Call.Run(func(args mock.Arguments) {
- run(args[0].(context.Context), args[1].(treestorage.TreeStorageCreatePayload), args[2].(func(string) *smartblock.InitContext))
+ run(args[0].(context.Context), args[1].(treestorage.TreeStorageCreatePayload), args[2].(objectcache.InitFunc))
})
return _c
}
@@ -222,7 +222,7 @@ func (_c *MockCache_CreateTreeObjectWithPayload_Call) Return(sb smartblock.Smart
return _c
}
-func (_c *MockCache_CreateTreeObjectWithPayload_Call) RunAndReturn(run func(context.Context, treestorage.TreeStorageCreatePayload, func(string) *smartblock.InitContext) (smartblock.SmartBlock, error)) *MockCache_CreateTreeObjectWithPayload_Call {
+func (_c *MockCache_CreateTreeObjectWithPayload_Call) RunAndReturn(run func(context.Context, treestorage.TreeStorageCreatePayload, objectcache.InitFunc) (smartblock.SmartBlock, error)) *MockCache_CreateTreeObjectWithPayload_Call {
_c.Call.Return(run)
return _c
}
diff --git a/core/block/object/objectcreator/chat.go b/core/block/object/objectcreator/chat.go
index a2e3f0d7a..1d480cf5e 100644
--- a/core/block/object/objectcreator/chat.go
+++ b/core/block/object/objectcreator/chat.go
@@ -3,10 +3,8 @@ package objectcreator
import (
"context"
"fmt"
- "time"
"github.com/anyproto/anytype-heart/core/block/editor/state"
- "github.com/anyproto/anytype-heart/core/block/object/payloadcreator"
"github.com/anyproto/anytype-heart/core/domain"
"github.com/anyproto/anytype-heart/pkg/lib/bundle"
"github.com/anyproto/anytype-heart/pkg/lib/core/smartblock"
@@ -14,36 +12,11 @@ import (
"github.com/anyproto/anytype-heart/space/clientspace"
)
-func (s *service) createChat(ctx context.Context, space clientspace.Space, details *domain.Details) (string, *domain.Details, error) {
- payload, err := space.CreateTreePayload(ctx, payloadcreator.PayloadCreationParams{
- Time: time.Now(),
- SmartblockType: smartblock.SmartBlockTypeChatObject,
- })
- if err != nil {
- return "", nil, fmt.Errorf("create tree payload: %w", err)
- }
-
- createState := state.NewDoc(payload.RootRawChange.Id, nil).(*state.State)
- details.Set(bundle.RelationKeyLayout, domain.Int64(int64(model.ObjectType_chat)))
- createState.SetDetails(details)
- err = s.addChatDerivedObject(ctx, space, createState, payload.RootRawChange.Id)
- if err != nil {
- return "", nil, fmt.Errorf("add chat derived object: %w", err)
- }
-
- id, newDetails, err := s.CreateSmartBlockFromStateInSpaceWithOptions(ctx, space, []domain.TypeKey{bundle.TypeKeyChat}, createState, WithPayload(&payload))
- if err != nil {
- return "", nil, fmt.Errorf("create smartblock from state: %w", err)
- }
-
- return id, newDetails, nil
-}
-
-func (s *service) addChatDerivedObject(ctx context.Context, space clientspace.Space, st *state.State, chatObjectId string) error {
+func (s *service) AddChatDerivedObject(ctx context.Context, space clientspace.Space, chatObjectId string) (chatId string, err error) {
chatDetails := domain.NewDetails()
chatUniqueKey, err := domain.NewUniqueKey(smartblock.SmartBlockTypeChatDerivedObject, chatObjectId)
if err != nil {
- return fmt.Errorf("create payload: %w", err)
+ return "", fmt.Errorf("create payload: %w", err)
}
chatDetails.SetString(bundle.RelationKeyUniqueKey, chatUniqueKey.Marshal())
@@ -52,14 +25,12 @@ func (s *service) addChatDerivedObject(ctx context.Context, space clientspace.Sp
Details: chatDetails,
}
- chatId, _, err := s.createObjectInSpace(ctx, space, chatReq)
+ chatId, _, err = s.createObjectInSpace(ctx, space, chatReq)
if err != nil {
- return fmt.Errorf("create object: %w", err)
+ return "", fmt.Errorf("create object: %w", err)
}
- st.SetDetailAndBundledRelation(bundle.RelationKeyChatId, domain.String(chatId))
- st.SetDetailAndBundledRelation(bundle.RelationKeyHasChat, domain.Bool(true))
- return nil
+ return chatId, nil
}
func (s *service) createChatDerived(ctx context.Context, space clientspace.Space, details *domain.Details) (string, *domain.Details, error) {
diff --git a/core/block/object/objectcreator/creator.go b/core/block/object/objectcreator/creator.go
index ebc59e1a5..955599162 100644
--- a/core/block/object/objectcreator/creator.go
+++ b/core/block/object/objectcreator/creator.go
@@ -46,6 +46,7 @@ type Service interface {
CreateSmartBlockFromState(ctx context.Context, spaceID string, objectTypeKeys []domain.TypeKey, createState *state.State) (id string, newDetails *domain.Details, err error)
CreateSmartBlockFromStateInSpace(ctx context.Context, space clientspace.Space, objectTypeKeys []domain.TypeKey, createState *state.State) (id string, newDetails *domain.Details, err error)
+ AddChatDerivedObject(ctx context.Context, space clientspace.Space, chatObjectId string) (chatId string, err error)
InstallBundledObjects(ctx context.Context, space clientspace.Space, sourceObjectIds []string, isNewSpace bool) (ids []string, objects []*domain.Details, err error)
app.Component
@@ -146,12 +147,14 @@ func (s *service) createObjectInSpace(
return s.createRelation(ctx, space, details)
case bundle.TypeKeyRelationOption:
return s.createRelationOption(ctx, space, details)
- case bundle.TypeKeyChat:
- return s.createChat(ctx, space, details)
case bundle.TypeKeyChatDerived:
return s.createChatDerived(ctx, space, details)
case bundle.TypeKeyFile:
return "", nil, fmt.Errorf("files must be created via fileobject service")
+ case bundle.TypeKeyTemplate:
+ if pbtypes.GetString(details, bundle.RelationKeyTargetObjectType.String()) == "" {
+ return "", nil, fmt.Errorf("cannot create template without target object")
+ }
}
return s.createObjectFromTemplate(ctx, space, []domain.TypeKey{req.ObjectTypeKey}, details, req.TemplateId)
diff --git a/core/block/object/objectcreator/creator_test.go b/core/block/object/objectcreator/creator_test.go
new file mode 100644
index 000000000..6fd7fb3b9
--- /dev/null
+++ b/core/block/object/objectcreator/creator_test.go
@@ -0,0 +1,106 @@
+package objectcreator
+
+import (
+ "context"
+ "testing"
+
+ "github.com/gogo/protobuf/types"
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/mock"
+
+ "github.com/anyproto/anytype-heart/core/block/editor/lastused/mock_lastused"
+ "github.com/anyproto/anytype-heart/core/block/editor/smartblock/smarttest"
+ "github.com/anyproto/anytype-heart/core/block/editor/state"
+ "github.com/anyproto/anytype-heart/pkg/lib/bundle"
+ "github.com/anyproto/anytype-heart/space/clientspace"
+ "github.com/anyproto/anytype-heart/space/clientspace/mock_clientspace"
+ "github.com/anyproto/anytype-heart/space/mock_space"
+ "github.com/anyproto/anytype-heart/util/pbtypes"
+)
+
+const spaceId = "spc1"
+
+type fixture struct {
+ spaceService *mock_space.MockService
+ spc *mock_clientspace.MockSpace
+ templateService *testTemplateService
+ lastUsedService *mock_lastused.MockObjectUsageUpdater
+ service Service
+}
+
+func newFixture(t *testing.T) *fixture {
+ spaceService := mock_space.NewMockService(t)
+ spc := mock_clientspace.NewMockSpace(t)
+
+ templateSvc := &testTemplateService{}
+ lastUsedSvc := mock_lastused.NewMockObjectUsageUpdater(t)
+
+ s := &service{
+ spaceService: spaceService,
+ templateService: templateSvc,
+ lastUsedUpdater: lastUsedSvc,
+ }
+
+ return &fixture{
+ spaceService: spaceService,
+ spc: spc,
+ templateService: templateSvc,
+ lastUsedService: lastUsedSvc,
+ service: s,
+ }
+}
+
+type testTemplateService struct {
+ templates map[string]*state.State
+}
+
+func (tts *testTemplateService) CreateTemplateStateWithDetails(templateId string, details *types.Struct) (*state.State, error) {
+ if tts.templates != nil {
+ if st, found := tts.templates[templateId]; found {
+ return st, nil
+ }
+ }
+ return state.NewDoc(templateId, nil).NewState(), nil
+}
+
+func (tts *testTemplateService) TemplateCloneInSpace(space clientspace.Space, id string) (templateId string, err error) {
+ return "", nil
+}
+
+func TestService_CreateObject(t *testing.T) {
+ t.Run("template creation", func(t *testing.T) {
+ // given
+ sb := smarttest.New("test")
+ f := newFixture(t)
+ f.spaceService.EXPECT().Get(mock.Anything, mock.Anything).Return(f.spc, nil)
+ f.spc.EXPECT().CreateTreeObject(mock.Anything, mock.Anything).Return(sb, nil)
+ f.spc.EXPECT().Id().Return(spaceId)
+ f.lastUsedService.EXPECT().UpdateLastUsedDate(spaceId, bundle.TypeKeyTemplate, mock.Anything).Return()
+
+ // when
+ id, _, err := f.service.CreateObject(context.Background(), spaceId, CreateObjectRequest{
+ Details: &types.Struct{Fields: map[string]*types.Value{
+ bundle.RelationKeyTargetObjectType.String(): pbtypes.String(bundle.TypeKeyTask.URL()),
+ }},
+ ObjectTypeKey: bundle.TypeKeyTemplate,
+ })
+
+ // then
+ assert.NoError(t, err)
+ assert.Equal(t, "test", id)
+ })
+
+ t.Run("template creation - no target type", func(t *testing.T) {
+ // given
+ f := newFixture(t)
+ f.spaceService.EXPECT().Get(mock.Anything, mock.Anything).Return(f.spc, nil)
+
+ // when
+ _, _, err := f.service.CreateObject(context.Background(), spaceId, CreateObjectRequest{
+ ObjectTypeKey: bundle.TypeKeyTemplate,
+ })
+
+ // then
+ assert.Error(t, err)
+ })
+}
diff --git a/core/block/object/treesyncer/treesyncer.go b/core/block/object/treesyncer/treesyncer.go
index 5bcea6a21..5b5387595 100644
--- a/core/block/object/treesyncer/treesyncer.go
+++ b/core/block/object/treesyncer/treesyncer.go
@@ -11,9 +11,11 @@ import (
"github.com/anyproto/any-sync/commonspace/object/tree/synctree"
"github.com/anyproto/any-sync/commonspace/object/treemanager"
"github.com/anyproto/any-sync/commonspace/object/treesyncer"
+ "github.com/anyproto/any-sync/commonspace/spacestorage"
"github.com/anyproto/any-sync/net/peer"
"github.com/anyproto/any-sync/net/streampool"
"github.com/anyproto/any-sync/nodeconf"
+ "github.com/samber/lo"
"go.uber.org/zap"
)
@@ -72,6 +74,7 @@ type treeSyncer struct {
requests int
spaceId string
timeout time.Duration
+ spaceSettingsId string
requestPools map[string]*executor
headPools map[string]*executor
treeManager treemanager.TreeManager
@@ -97,6 +100,8 @@ func NewTreeSyncer(spaceId string) treesyncer.TreeSyncer {
func (t *treeSyncer) Init(a *app.App) (err error) {
t.isSyncing = true
+ spaceStorage := app.MustComponent[spacestorage.SpaceStorage](a)
+ t.spaceSettingsId = spaceStorage.SpaceSettingsId()
t.treeManager = app.MustComponent[treemanager.TreeManager](a)
t.nodeConf = app.MustComponent[nodeconf.NodeConf](a)
t.syncedTreeRemover = app.MustComponent[SyncedTreeRemover](a)
@@ -157,7 +162,9 @@ func (t *treeSyncer) SyncAll(ctx context.Context, p peer.Peer, existing, missing
defer t.Unlock()
peerId := p.Id()
isResponsible := slices.Contains(t.nodeConf.NodeIds(t.spaceId), peerId)
- t.sendSyncEvents(existing, missing, isResponsible)
+ t.sendSyncEvents(lo.Filter(existing, func(id string, index int) bool {
+ return id != t.spaceSettingsId
+ }), missing, isResponsible)
reqExec, exists := t.requestPools[peerId]
if !exists {
reqExec = newExecutor(t.requests, 0)
diff --git a/core/block/object/treesyncer/treesyncer_test.go b/core/block/object/treesyncer/treesyncer_test.go
index 079118db5..be37205a7 100644
--- a/core/block/object/treesyncer/treesyncer_test.go
+++ b/core/block/object/treesyncer/treesyncer_test.go
@@ -11,8 +11,11 @@ import (
"github.com/anyproto/any-sync/commonspace/object/tree/objecttree/mock_objecttree"
"github.com/anyproto/any-sync/commonspace/object/tree/synctree/mock_synctree"
"github.com/anyproto/any-sync/commonspace/object/treemanager/mock_treemanager"
+ "github.com/anyproto/any-sync/commonspace/spacestorage/mock_spacestorage"
+ "github.com/anyproto/any-sync/net/peer"
"github.com/anyproto/any-sync/net/rpc/rpctest"
"github.com/anyproto/any-sync/nodeconf/mock_nodeconf"
+ "github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
"go.uber.org/mock/gomock"
@@ -40,9 +43,12 @@ func newFixture(t *testing.T, spaceId string) *fixture {
nodeConf.EXPECT().Name().Return("nodeConf").AnyTimes()
syncStatus := mock_treesyncer.NewMockSyncedTreeRemover(t)
syncDetailsUpdater := mock_treesyncer.NewMockSyncDetailsUpdater(t)
+ spaceStorage := mock_spacestorage.NewMockSpaceStorage(ctrl)
+ spaceStorage.EXPECT().SpaceSettingsId().Return("spaceSettingsId").AnyTimes()
a := new(app.App)
a.Register(testutil.PrepareMock(context.Background(), a, treeManager)).
+ Register(testutil.PrepareMock(context.Background(), a, spaceStorage)).
Register(testutil.PrepareMock(context.Background(), a, syncStatus)).
Register(testutil.PrepareMock(context.Background(), a, nodeConf)).
Register(testutil.PrepareMock(context.Background(), a, syncDetailsUpdater))
@@ -62,7 +68,6 @@ func newFixture(t *testing.T, spaceId string) *fixture {
}
func TestTreeSyncer(t *testing.T) {
-
spaceId := "spaceId"
peerId := "peerId"
existingId := "existing"
@@ -144,6 +149,27 @@ func TestTreeSyncer(t *testing.T) {
fx.Close(ctx)
})
+ t.Run("sync spaceSettingsId", func(t *testing.T) {
+ ctx := context.Background()
+ fx := newFixture(t, spaceId)
+ fx.nodeConf.EXPECT().NodeIds(spaceId).Return(nil)
+ fx.syncStatus.EXPECT().RemoveAllExcept(peerId, mock.Anything).RunAndReturn(func(s string, strings []string) {
+ require.Empty(t, strings)
+ })
+ ch := make(chan struct{})
+ fx.treeManager.EXPECT().GetTree(gomock.Any(), spaceId, "spaceSettingsId").Return(fx.existingMock, nil)
+ fx.existingMock.EXPECT().SyncWithPeer(gomock.Any(), pr).DoAndReturn(func(ctx context.Context, peer peer.Peer) error {
+ close(ch)
+ return nil
+ })
+
+ fx.StartSync()
+ err := fx.SyncAll(context.Background(), pr, []string{"spaceSettingsId"}, nil)
+ require.NoError(t, err)
+ <-ch
+ fx.Close(ctx)
+ })
+
t.Run("sync concurrent ids", func(t *testing.T) {
ctx := context.Background()
ch := make(chan struct{}, 2)
@@ -185,9 +211,11 @@ func TestTreeSyncer(t *testing.T) {
mutex.Unlock()
return fx.missingMock, nil
})
- fx.nodeConf.EXPECT().NodeIds(spaceId).Return([]string{})
+ fx.nodeConf.EXPECT().NodeIds(spaceId).Return(nil)
var existing []string
- fx.syncStatus.EXPECT().RemoveAllExcept(peerId, existing).Return()
+ fx.syncStatus.EXPECT().RemoveAllExcept(peerId, mock.Anything).RunAndReturn(func(s string, strings []string) {
+ require.Empty(t, strings)
+ })
fx.StartSync()
err := fx.SyncAll(context.Background(), pr, existing, []string{missingId})
diff --git a/core/block/restriction/object.go b/core/block/restriction/object.go
index d5a73df71..d23c41acc 100644
--- a/core/block/restriction/object.go
+++ b/core/block/restriction/object.go
@@ -24,7 +24,7 @@ var (
model.Restrictions_Template,
model.Restrictions_Duplicate,
}
- objFileRestrictions = ObjectRestrictions{
+ objRestrictEditAndDuplicate = ObjectRestrictions{
model.Restrictions_Blocks,
model.Restrictions_LayoutChange,
model.Restrictions_TypeChange,
@@ -63,7 +63,7 @@ var (
model.ObjectType_collection: objRestrictEdit,
model.ObjectType_objectType: objRestrictEdit,
model.ObjectType_relation: objRestrictEdit,
- model.ObjectType_file: objFileRestrictions,
+ model.ObjectType_file: objRestrictEditAndDuplicate,
model.ObjectType_dashboard: {
model.Restrictions_Details,
model.Restrictions_Relations,
@@ -85,8 +85,8 @@ var (
model.Restrictions_Template,
},
model.ObjectType_participant: objRestrictAll,
- model.ObjectType_chat: objRestrictEdit,
- model.ObjectType_chatDerived: objRestrictEdit,
+ model.ObjectType_chat: objRestrictEditAndDuplicate,
+ model.ObjectType_chatDerived: objRestrictEditAndDuplicate,
model.ObjectType_tag: objRestrictEdit,
}
@@ -117,7 +117,7 @@ var (
model.Restrictions_Template,
model.Restrictions_Duplicate,
},
- smartblock.SmartBlockTypeFileObject: objFileRestrictions,
+ smartblock.SmartBlockTypeFileObject: objRestrictEditAndDuplicate,
smartblock.SmartBlockTypeArchive: objRestrictAll,
smartblock.SmartBlockTypeBundledRelation: objRestrictAll,
smartblock.SmartBlockTypeSubObject: objRestrictEdit,
@@ -143,7 +143,9 @@ var (
smartblock.SmartBlockTypeAccountOld: {
model.Restrictions_Template,
},
- smartblock.SmartBlockTypeParticipant: objRestrictAll,
+ smartblock.SmartBlockTypeParticipant: objRestrictAll,
+ smartblock.SmartBlockTypeChatObject: objRestrictEditAndDuplicate,
+ smartblock.SmartBlockTypeChatDerivedObject: objRestrictEditAndDuplicate,
}
)
diff --git a/core/block/restriction/object_test.go b/core/block/restriction/object_test.go
index 4a213be13..e225386dc 100644
--- a/core/block/restriction/object_test.go
+++ b/core/block/restriction/object_test.go
@@ -92,6 +92,12 @@ func TestService_ObjectRestrictionsById(t *testing.T) {
bundledRelation := givenRestrictionHolder(coresb.SmartBlockTypeBundledRelation, bundle.TypeKeyRelation)
assert.ErrorIs(t, rs.GetRestrictions(bundledRelation).Object.Check(objRestrictAll...), ErrRestricted)
})
+
+ t.Run("chat should have edit and duplication restrictions", func(t *testing.T) {
+ assert.ErrorIs(t, rs.GetRestrictions(givenRestrictionHolder(coresb.SmartBlockTypeChatObject, bundle.TypeKeyChat)).Object.Check(
+ objRestrictEditAndDuplicate...,
+ ), ErrRestricted)
+ })
}
func TestTemplateRestriction(t *testing.T) {
diff --git a/core/block/service.go b/core/block/service.go
index 80412603e..29423597f 100644
--- a/core/block/service.go
+++ b/core/block/service.go
@@ -39,6 +39,7 @@ import (
"github.com/anyproto/anytype-heart/pb"
"github.com/anyproto/anytype-heart/pkg/lib/bundle"
"github.com/anyproto/anytype-heart/pkg/lib/core"
+ coresb "github.com/anyproto/anytype-heart/pkg/lib/core/smartblock"
"github.com/anyproto/anytype-heart/pkg/lib/database"
"github.com/anyproto/anytype-heart/pkg/lib/localstore/objectstore"
"github.com/anyproto/anytype-heart/pkg/lib/logging"
@@ -300,6 +301,54 @@ func (s *Service) SpaceInstallBundledObjects(
return s.objectCreator.InstallBundledObjects(ctx, spc, sourceObjectIds, false)
}
+func (s *Service) SpaceInitChat(ctx context.Context, spaceId string) error {
+ spc, err := s.spaceService.Get(ctx, spaceId)
+ if err != nil {
+ return fmt.Errorf("get space: %w", err)
+ }
+ if spc.IsReadOnly() {
+ return nil
+ }
+ if spc.IsPersonal() {
+ return nil
+ }
+
+ workspaceId := spc.DerivedIDs().Workspace
+ chatUk, err := domain.NewUniqueKey(coresb.SmartBlockTypeChatDerivedObject, workspaceId)
+ if err != nil {
+ return err
+ }
+
+ chatId, err := spc.DeriveObjectID(context.Background(), chatUk)
+ if err != nil {
+ return err
+ }
+
+ if spaceChatExists, err := spc.Storage().HasTree(chatId); err != nil {
+ return err
+ } else if !spaceChatExists {
+ _, err = s.objectCreator.AddChatDerivedObject(ctx, spc, workspaceId)
+ if err != nil {
+ if !errors.Is(err, treestorage.ErrTreeExists) {
+ return fmt.Errorf("add chat derived object: %w", err)
+ }
+ }
+ }
+
+ err = spc.DoCtx(ctx, workspaceId, func(b smartblock.SmartBlock) error {
+ st := b.NewState()
+ st.SetLocalDetail(bundle.RelationKeyChatId.String(), pbtypes.String(chatId))
+ st.SetDetail(bundle.RelationKeyHasChat.String(), pbtypes.Bool(true))
+
+ return b.Apply(st, smartblock.NoHistory, smartblock.NoEvent, smartblock.SkipIfNoChanges, smartblock.KeepInternalFlags, smartblock.IgnoreNoPermissions)
+ })
+ if err != nil {
+ return fmt.Errorf("apply chatId to workspace: %w", err)
+ }
+
+ return nil
+}
+
func (s *Service) SelectWorkspace(req *pb.RpcWorkspaceSelectRequest) error {
panic("should be removed")
}
diff --git a/core/block/source/date.go b/core/block/source/date.go
index 49b1c4eb8..be1b01a73 100644
--- a/core/block/source/date.go
+++ b/core/block/source/date.go
@@ -17,17 +17,18 @@ import (
"github.com/anyproto/anytype-heart/util/pbtypes"
)
-func NewDate(space Space, id string) (s Source) {
+func NewDate(space Space, id domain.FullID) (s Source) {
return &date{
- id: id,
- space: space,
+ id: id.ObjectID,
+ spaceId: id.SpaceID,
+ space: space,
}
}
type date struct {
- space Space
- id string
- t time.Time
+ space Space
+ id, spaceId string
+ t time.Time
}
func (v *date) ListIds() ([]string, error) {
@@ -43,10 +44,13 @@ func (v *date) Id() string {
}
func (v *date) SpaceID() string {
- if v.space == nil {
- return ""
+ if v.space != nil {
+ return v.space.Id()
}
- return v.space.Id()
+ if v.spaceId != "" {
+ return v.spaceId
+ }
+ return ""
}
func (v *date) Type() smartblock.SmartBlockType {
@@ -63,7 +67,7 @@ func (v *date) getDetails(ctx context.Context) (*domain.Details, error) {
return nil, fmt.Errorf("get date type id: %w", err)
}
det := domain.NewDetails()
- det.SetString(bundle.RelationKeyName, v.t.Format("Mon Jan 2 2006"))
+ det.SetString(bundle.RelationKeyName, v.t.Format("02 Jan 2006"))
det.SetString(bundle.RelationKeyId, v.id)
det.SetBool(bundle.RelationKeyIsReadonly, true)
det.SetBool(bundle.RelationKeyIsArchived, false)
@@ -82,7 +86,7 @@ func (v *date) DetailsFromId() (*domain.Details, error) {
return nil, err
}
det := domain.NewDetails()
- det.SetString(bundle.RelationKeyName, v.t.Format("Mon Jan 2 2006"))
+ det.SetString(bundle.RelationKeyName, v.t.Format("02 Jan 2006"))
det.SetString(bundle.RelationKeyId, v.id)
det.SetBool(bundle.RelationKeyIsReadonly, true)
det.SetBool(bundle.RelationKeyIsArchived, false)
@@ -179,10 +183,10 @@ func (v *date) Heads() []string {
return []string{v.id}
}
-func (s *date) GetFileKeysSnapshot() []*pb.ChangeFileKeys {
+func (v *date) GetFileKeysSnapshot() []*pb.ChangeFileKeys {
return nil
}
-func (s *date) GetCreationInfo() (creatorObjectId string, createdDate int64, err error) {
+func (v *date) GetCreationInfo() (creatorObjectId string, createdDate int64, err error) {
return addr.AnytypeProfileId, 0, nil
}
diff --git a/core/block/source/marshall_change_test.go b/core/block/source/marshall_change_test.go
index 4dc98ab75..431833c8c 100644
--- a/core/block/source/marshall_change_test.go
+++ b/core/block/source/marshall_change_test.go
@@ -19,26 +19,26 @@ var text = "-- Еh bien, mon prince. Gênes et Lucques ne sont plus que des apan
func TestMarshallChange(t *testing.T) {
t.Run("marshall small change", func(t *testing.T) {
- //given
+ // given
c := changeWithSmallTextUpdate()
- //when
+ // when
data, dt, err := MarshalChange(c)
- //then
+ // then
assert.NoError(t, err)
assert.NotZero(t, len(data))
assert.Empty(t, dt)
})
t.Run("marshall bigger change", func(t *testing.T) {
- //given
+ // given
c := changeWithSetBigDetail(snappyLowerLimit)
- //when
+ // when
data, dt, err := MarshalChange(c)
- //then
+ // then
assert.NoError(t, err)
assert.NotEmpty(t, data)
assert.Equal(t, dataTypeSnappy, dt)
@@ -49,97 +49,97 @@ func TestUnmarshallChange(t *testing.T) {
invalidDataType := "invalid"
t.Run("unmarshall small change", func(t *testing.T) {
- //given
+ // given
c := changeWithSmallTextUpdate()
data, dt, err := MarshalChange(c)
require.NoError(t, err)
require.NotEmpty(t, data)
require.Empty(t, dt)
- //when
+ // when
res, err := UnmarshalChange(&objecttree.Change{DataType: dt}, data)
- //then
+ // then
assert.NoError(t, err)
assert.Equal(t, c, res)
})
t.Run("unmarshall bigger change", func(t *testing.T) {
- //given
+ // given
c := changeWithSetBigDetail(snappyLowerLimit)
data, dt, err := MarshalChange(c)
require.NoError(t, err)
require.NotEmpty(t, data)
require.Equal(t, dataTypeSnappy, dt)
- //when
+ // when
res, err := UnmarshalChange(&objecttree.Change{DataType: dt}, data)
- //then
+ // then
assert.NoError(t, err)
assert.Equal(t, c, res)
})
t.Run("unmarshall plain change with invalid data type", func(t *testing.T) {
- //given
+ // given
c := changeWithSmallTextUpdate()
data, dt, err := MarshalChange(c)
require.NoError(t, err)
require.NotEmpty(t, data)
require.Empty(t, dt)
- //when
+ // when
res, err := UnmarshalChange(&objecttree.Change{DataType: invalidDataType}, data)
- //then
+ // then
assert.NoError(t, err)
assert.Equal(t, c, res)
})
t.Run("unmarshall plain change with encoded data type", func(t *testing.T) {
- //given
+ // given
c := changeWithSmallTextUpdate()
data, dt, err := MarshalChange(c)
require.NoError(t, err)
require.NotEmpty(t, data)
require.Empty(t, dt)
- //when
+ // when
res, err := UnmarshalChange(&objecttree.Change{DataType: dataTypeSnappy}, data)
- //then
+ // then
assert.NoError(t, err)
assert.Equal(t, c, res)
})
t.Run("unmarshall bigger change with empty data type", func(t *testing.T) {
- //given
+ // given
c := changeWithSetBigDetail(snappyLowerLimit)
data, dt, err := MarshalChange(c)
require.NoError(t, err)
require.NotEmpty(t, data)
require.Equal(t, dataTypeSnappy, dt)
- //when
+ // when
res, err := UnmarshalChange(&objecttree.Change{DataType: ""}, data)
- //then
+ // then
assert.Error(t, err)
assert.Nil(t, res)
})
t.Run("unmarshall encoded change with invalid data type", func(t *testing.T) {
- //given
+ // given
c := changeWithSetBigDetail(snappyLowerLimit)
data, dt, err := MarshalChange(c)
require.NoError(t, err)
require.NotEmpty(t, data)
require.Equal(t, dataTypeSnappy, dt)
- //when
+ // when
res, err := UnmarshalChange(&objecttree.Change{DataType: invalidDataType}, data)
- //then
+ // then
assert.Error(t, err)
assert.Nil(t, res)
})
diff --git a/core/block/source/mock_source/mock_Service.go b/core/block/source/mock_source/mock_Service.go
index fa0a0a56a..3ce4be7b4 100644
--- a/core/block/source/mock_source/mock_Service.go
+++ b/core/block/source/mock_source/mock_Service.go
@@ -14,6 +14,8 @@ import (
smartblock "github.com/anyproto/anytype-heart/pkg/lib/core/smartblock"
source "github.com/anyproto/anytype-heart/core/block/source"
+
+ types "github.com/gogo/protobuf/types"
)
// MockService is an autogenerated mock type for the Service type
@@ -30,27 +32,27 @@ func (_m *MockService) EXPECT() *MockService_Expecter {
}
// DetailsFromIdBasedSource provides a mock function with given fields: id
-func (_m *MockService) DetailsFromIdBasedSource(id string) (*domain.GenericMap[domain.RelationKey], error) {
+func (_m *MockService) DetailsFromIdBasedSource(id domain.FullID) (*types.Struct, error) {
ret := _m.Called(id)
if len(ret) == 0 {
panic("no return value specified for DetailsFromIdBasedSource")
}
- var r0 *domain.GenericMap[domain.RelationKey]
+ var r0 *types.Struct
var r1 error
- if rf, ok := ret.Get(0).(func(string) (*domain.GenericMap[domain.RelationKey], error)); ok {
+ if rf, ok := ret.Get(0).(func(domain.FullID) (*types.Struct, error)); ok {
return rf(id)
}
- if rf, ok := ret.Get(0).(func(string) *domain.GenericMap[domain.RelationKey]); ok {
+ if rf, ok := ret.Get(0).(func(domain.FullID) *types.Struct); ok {
r0 = rf(id)
} else {
if ret.Get(0) != nil {
- r0 = ret.Get(0).(*domain.GenericMap[domain.RelationKey])
+ r0 = ret.Get(0).(*types.Struct)
}
}
- if rf, ok := ret.Get(1).(func(string) error); ok {
+ if rf, ok := ret.Get(1).(func(domain.FullID) error); ok {
r1 = rf(id)
} else {
r1 = ret.Error(1)
@@ -65,24 +67,24 @@ type MockService_DetailsFromIdBasedSource_Call struct {
}
// DetailsFromIdBasedSource is a helper method to define mock.On call
-// - id string
+// - id domain.FullID
func (_e *MockService_Expecter) DetailsFromIdBasedSource(id interface{}) *MockService_DetailsFromIdBasedSource_Call {
return &MockService_DetailsFromIdBasedSource_Call{Call: _e.mock.On("DetailsFromIdBasedSource", id)}
}
-func (_c *MockService_DetailsFromIdBasedSource_Call) Run(run func(id string)) *MockService_DetailsFromIdBasedSource_Call {
+func (_c *MockService_DetailsFromIdBasedSource_Call) Run(run func(id domain.FullID)) *MockService_DetailsFromIdBasedSource_Call {
_c.Call.Run(func(args mock.Arguments) {
- run(args[0].(string))
+ run(args[0].(domain.FullID))
})
return _c
}
-func (_c *MockService_DetailsFromIdBasedSource_Call) Return(_a0 *domain.GenericMap[domain.RelationKey], _a1 error) *MockService_DetailsFromIdBasedSource_Call {
+func (_c *MockService_DetailsFromIdBasedSource_Call) Return(_a0 *types.Struct, _a1 error) *MockService_DetailsFromIdBasedSource_Call {
_c.Call.Return(_a0, _a1)
return _c
}
-func (_c *MockService_DetailsFromIdBasedSource_Call) RunAndReturn(run func(string) (*domain.GenericMap[domain.RelationKey], error)) *MockService_DetailsFromIdBasedSource_Call {
+func (_c *MockService_DetailsFromIdBasedSource_Call) RunAndReturn(run func(domain.FullID) (*types.Struct, error)) *MockService_DetailsFromIdBasedSource_Call {
_c.Call.Return(run)
return _c
}
diff --git a/core/block/source/service.go b/core/block/source/service.go
index 5f67d507e..c502cec45 100644
--- a/core/block/source/service.go
+++ b/core/block/source/service.go
@@ -53,7 +53,7 @@ type Service interface {
RegisterStaticSource(s Source) error
NewStaticSource(params StaticSourceParams) SourceWithType
- DetailsFromIdBasedSource(id string) (*domain.Details, error)
+ DetailsFromIdBasedSource(id domain.FullID) (*domain.Details, error)
IDsListerBySmartblockType(space Space, blockType smartblock.SmartBlockType) (IDsLister, error)
app.Component
}
@@ -140,7 +140,10 @@ func (s *service) newSource(ctx context.Context, space Space, id string, buildOp
if err == nil {
switch st {
case smartblock.SmartBlockTypeDate:
- return NewDate(space, id), nil
+ return NewDate(space, domain.FullID{
+ ObjectID: id,
+ SpaceID: space.Id(),
+ }), nil
case smartblock.SmartBlockTypeBundledObjectType:
return NewBundledObjectType(id), nil
case smartblock.SmartBlockTypeBundledRelation:
@@ -201,11 +204,10 @@ func (s *service) IDsListerBySmartblockType(space Space, blockType smartblock.Sm
}
}
-func (s *service) DetailsFromIdBasedSource(id string) (*domain.Details, error) {
- if !strings.HasPrefix(id, addr.DatePrefix) {
+func (s *service) DetailsFromIdBasedSource(id domain.FullID) (*domain.Details, error) {
+ if !strings.HasPrefix(id.ObjectID, addr.DatePrefix) {
return nil, fmt.Errorf("unsupported id")
}
- // TODO Fix this, but how? It's broken by design, because no one pass spaceId here
ss := NewDate(nil, id)
defer ss.Close()
if v, ok := ss.(SourceIdEndodedDetails); ok {
diff --git a/core/converter/dot/dot.go b/core/converter/dot/dot.go
index 0fd61bc6a..4cf95b050 100644
--- a/core/converter/dot/dot.go
+++ b/core/converter/dot/dot.go
@@ -5,6 +5,7 @@ package dot
import (
"bytes"
+ "context"
"fmt"
"io/ioutil"
@@ -42,6 +43,7 @@ type linkInfo struct {
}
type dot struct {
+ ctx context.Context
graph *cgraph.Graph
graphviz *graphviz.Graphviz
knownDocs map[string]*domain.Details
@@ -57,13 +59,18 @@ func NewMultiConverter(
format graphviz.Format,
sbtProvider typeprovider.SmartBlockTypeProvider,
) converter.MultiConverter {
- g := graphviz.New()
+ ctx := context.Background()
+ g, err := graphviz.New(ctx)
+ if err != nil {
+ return nil
+ }
graph, err := g.Graph()
if err != nil {
return nil
}
return &dot{
+ ctx: ctx,
graph: graph,
graphviz: g,
exportFormat: format,
@@ -87,7 +94,7 @@ func (d *dot) ImageHashes() []string {
}
func (d *dot) Add(space smartblock.Space, st *state.State) error {
- n, e := d.graph.CreateNode(st.RootId())
+ n, e := d.graph.CreateNodeByName(st.RootId())
if e != nil {
return e
}
@@ -158,7 +165,7 @@ func (d *dot) Convert(sbType model.SmartBlockType) []byte {
if !exists {
continue
}
- e, err = d.graph.CreateEdge("", source, target)
+ e, err = d.graph.CreateEdgeByName("", source, target)
if err != nil {
return nil
}
@@ -172,7 +179,7 @@ func (d *dot) Convert(sbType model.SmartBlockType) []byte {
}
var buf bytes.Buffer
- if err = d.graphviz.Render(d.graph, d.exportFormat, &buf); err != nil {
+ if err = d.graphviz.Render(d.ctx, d.graph, d.exportFormat, &buf); err != nil {
return nil
}
diff --git a/core/debug.go b/core/debug.go
index fe5010eec..7c387e629 100644
--- a/core/debug.go
+++ b/core/debug.go
@@ -3,10 +3,12 @@ package core
import (
"context"
+ "github.com/anyproto/anytype-heart/core/application"
"github.com/anyproto/anytype-heart/core/block"
"github.com/anyproto/anytype-heart/core/debug"
"github.com/anyproto/anytype-heart/core/subscription"
"github.com/anyproto/anytype-heart/pb"
+ "github.com/anyproto/anytype-heart/pkg/lib/environment"
)
func (mw *Middleware) DebugTree(cctx context.Context, req *pb.RpcDebugTreeRequest) *pb.RpcDebugTreeResponse {
@@ -238,6 +240,21 @@ func (mw *Middleware) DebugAccountSelectTrace(cctx context.Context, req *pb.RpcD
}
}
+func (mw *Middleware) DebugExportLog(cctx context.Context, req *pb.RpcDebugExportLogRequest) *pb.RpcDebugExportLogResponse {
+ path, err := mw.applicationService.SaveLog(environment.LOG_PATH, req.Dir)
+
+ code := mapErrorCode(err,
+ errToCode(application.ErrNoFolder, pb.RpcDebugExportLogResponseError_NO_FOLDER),
+ )
+ return &pb.RpcDebugExportLogResponse{
+ Path: path,
+ Error: &pb.RpcDebugExportLogResponseError{
+ Code: code,
+ Description: getErrorDescription(err),
+ },
+ }
+}
+
func (mw *Middleware) DebugAnystoreObjectChanges(cctx context.Context, req *pb.RpcDebugAnystoreObjectChangesRequest) *pb.RpcDebugAnystoreObjectChangesResponse {
debugService := getService[debug.Debug](mw)
changes, wrongOrder, err := debugService.DebugAnystoreObjectChanges(cctx, req.ObjectId, req.OrderBy)
@@ -255,3 +272,19 @@ func (mw *Middleware) DebugAnystoreObjectChanges(cctx context.Context, req *pb.R
WrongOrder: wrongOrder,
}
}
+
+func (mw *Middleware) DebugNetCheck(cctx context.Context, req *pb.RpcDebugNetCheckRequest) *pb.RpcDebugNetCheckResponse {
+ res, err := getService[debug.Debug](mw).NetCheck(cctx, req.ClientYml)
+ if err != nil {
+ return &pb.RpcDebugNetCheckResponse{
+ Error: &pb.RpcDebugNetCheckResponseError{
+ Code: pb.RpcDebugNetCheckResponseError_UNKNOWN_ERROR,
+ Description: getErrorDescription(err),
+ },
+ }
+ }
+
+ return &pb.RpcDebugNetCheckResponse{
+ Result: res,
+ }
+}
diff --git a/core/debug/graphviz_nix.go b/core/debug/graphviz_nix.go
index 9414891d5..0a2e7292c 100644
--- a/core/debug/graphviz_nix.go
+++ b/core/debug/graphviz_nix.go
@@ -9,6 +9,7 @@
package debug
import (
+ "context"
"os"
"github.com/goccy/go-graphviz"
@@ -28,6 +29,10 @@ func GraphvizSvg(gv, svgFilename string) (err error) {
}
defer f.Close()
- g := graphviz.New()
- return g.Render(gvo, graphviz.SVG, f)
+ ctx := context.Background()
+ g, err := graphviz.New(ctx)
+ if err != nil {
+ return err
+ }
+ return g.Render(ctx, gvo, graphviz.SVG, f)
}
diff --git a/core/debug/netcheck.go b/core/debug/netcheck.go
new file mode 100644
index 000000000..eff9f1b60
--- /dev/null
+++ b/core/debug/netcheck.go
@@ -0,0 +1,317 @@
+package debug
+
+import (
+ "context"
+ "fmt"
+ "net"
+ "os"
+ "strings"
+ "time"
+
+ "github.com/anyproto/any-sync/app"
+ "github.com/anyproto/any-sync/coordinator/coordinatorproto"
+ "github.com/anyproto/any-sync/net/connutil"
+ "github.com/anyproto/any-sync/net/secureservice"
+ "github.com/anyproto/any-sync/net/secureservice/handshake"
+ "github.com/anyproto/any-sync/net/secureservice/handshake/handshakeproto"
+ "github.com/anyproto/any-sync/net/transport"
+ "github.com/anyproto/any-sync/net/transport/quic"
+ "github.com/anyproto/any-sync/net/transport/yamux"
+ "github.com/anyproto/any-sync/nodeconf"
+ "github.com/anyproto/any-sync/testutil/accounttest"
+ "github.com/anyproto/go-chash"
+ yamux2 "github.com/hashicorp/yamux"
+ "github.com/matishsiao/goInfo"
+ "gopkg.in/yaml.v3"
+ "storj.io/drpc/drpcconn"
+)
+
+func (d *debug) NetCheck(ctx context.Context, clientYml string) (string, error) {
+ var sb strings.Builder
+ var checkAddrs []string
+ if clientYml != "" {
+ file, err := os.ReadFile(clientYml)
+ if err != nil {
+ return "", err
+ }
+
+ var configFile nodeconf.Configuration
+ if err := yaml.Unmarshal(file, &configFile); err != nil {
+ return "", err
+ }
+
+ for _, node := range configFile.Nodes {
+ for _, t := range node.Types {
+ if t == "coordinator" {
+ for _, address := range node.Addresses {
+ if !strings.HasPrefix(address, "quic://") {
+ address = "yamux://" + address
+ }
+ checkAddrs = append(checkAddrs, address)
+ }
+ }
+ }
+ }
+ } else {
+ checkAddrs = strings.Split(defaultAddrs, ",")
+ }
+ info, err := goInfo.GetInfo()
+ if err != nil {
+ sb.WriteString(fmt.Sprintf("error getting system info: %s\n", err))
+ } else {
+ sb.WriteString(fmt.Sprintf("system info: %s\n", info.String()))
+ }
+
+ a := new(app.App)
+ bootstrap(a)
+ if err := a.Start(ctx); err != nil {
+ panic(err)
+ }
+
+ for _, addr := range checkAddrs {
+ addr = strings.TrimSpace(addr)
+ switch {
+ case strings.HasPrefix(addr, "yamux://"):
+ res, err := probeYamux(ctx, a, addr[8:])
+ if err != nil {
+ sb.WriteString(fmt.Sprintf("error probing yamux %s: %s\n", addr, err))
+ } else {
+ sb.WriteString(res)
+ }
+ case strings.HasPrefix(addr, "quic://"):
+ res, err := probeQuic(ctx, a, addr[7:])
+ if err != nil {
+ sb.WriteString(fmt.Sprintf("error probing yamux %s: %s\n", addr, err))
+ } else {
+ sb.WriteString(res)
+ }
+ default:
+ return "", fmt.Errorf("unexpected address scheme: %s", addr)
+ }
+ }
+ return sb.String(), err
+}
+
+func probeYamux(ctx context.Context, a *app.App, addr string) (string, error) {
+ var sb strings.Builder
+ ss := a.MustComponent(secureservice.CName).(secureservice.SecureService)
+ sb.WriteString(fmt.Sprintf("open TCP conn, addr: %s\n", addr))
+ st := time.Now()
+ conn, err := net.DialTimeout("tcp", addr, time.Second*60)
+ if err != nil {
+ return "", fmt.Errorf("open TCP conn error: %w, dur: %s", err, time.Since(st))
+ } else {
+ sb.WriteString(fmt.Sprintf("TCP conn established, ip:%s, dur: %s\n", conn.RemoteAddr().String(), time.Since(st)))
+ }
+ defer conn.Close()
+
+ sb.WriteString("start handshake\n")
+ hst := time.Now()
+ cctx, err := ss.SecureOutbound(ctx, conn)
+ if err != nil {
+ return "", fmt.Errorf("handshake error: %w, dur: %s", err, time.Since(hst))
+ } else {
+ sb.WriteString(fmt.Sprintf("handshake success, dur: %s, total: %s\n", time.Since(hst), time.Since(st)))
+ }
+
+ yst := time.Now()
+ sb.WriteString("open yamux session\n")
+ sess, err := yamux2.Client(conn, yamux2.DefaultConfig())
+ if err != nil {
+ return "", fmt.Errorf("yamux session error: %w, dur: %s", err, time.Since(yst))
+ } else {
+ sb.WriteString(fmt.Sprintf("yamux session success, dur: %s, total: %s\n", time.Since(yst), time.Since(st)))
+ }
+
+ mc := yamux.NewMultiConn(cctx, connutil.NewLastUsageConn(conn), conn.RemoteAddr().String(), sess)
+ sb.WriteString("open sub connection\n")
+ scst := time.Now()
+ sc, err := mc.Open(ctx)
+ if err != nil {
+ return "", fmt.Errorf("open sub connection error: %w, dur: %s", err, time.Since(scst))
+ } else {
+ sb.WriteString(fmt.Sprintf("open sub conn success, dur: %s, total: %s\n", time.Since(scst), time.Since(st)))
+ defer sc.Close()
+ }
+
+ sb.WriteString("start proto handshake\n")
+ phst := time.Now()
+ if err = handshake.OutgoingProtoHandshake(ctx, sc, handshakeproto.ProtoType_DRPC); err != nil {
+ return "", fmt.Errorf("proto handshake error: %w, dur: %s", err, time.Since(phst))
+ } else {
+ sb.WriteString(fmt.Sprintf("proto handshake success, dur: %s, total: %s\n", time.Since(phst), time.Since(st)))
+ }
+
+ sb.WriteString("start configuration request\n")
+ rst := time.Now()
+ resp, err := coordinatorproto.NewDRPCCoordinatorClient(drpcconn.New(sc)).NetworkConfiguration(ctx, &coordinatorproto.NetworkConfigurationRequest{})
+ if err != nil {
+ return "", fmt.Errorf("configuration request error: %w, dur: %s", err, time.Since(rst))
+ } else {
+ sb.WriteString(fmt.Sprintf("configuration request success, dur: %s, total: %s, nid: %s\n", time.Since(rst), time.Since(st), resp.GetNetworkId()))
+ }
+ sb.WriteString(fmt.Sprintf("success, dur: %s\n", time.Since(st)))
+ return sb.String(), nil
+}
+
+func probeQuic(ctx context.Context, a *app.App, addr string) (string, error) {
+ var sb strings.Builder
+ qs := a.MustComponent(quic.CName).(quic.Quic)
+ sb.WriteString(fmt.Sprintf("open QUIC conn, addr: %s\n", addr))
+ st := time.Now()
+ mc, err := qs.Dial(ctx, addr)
+ if err != nil {
+ return "", fmt.Errorf("open QUIC conn error: %w", err)
+ } else {
+ sb.WriteString(fmt.Sprintf("QUIC conn established, ip:%s, dur: %s\n", mc.Addr(), time.Since(st)))
+ }
+ defer mc.Close()
+
+ sb.WriteString("open sub connection\n")
+ scst := time.Now()
+ sc, err := mc.Open(ctx)
+ if err != nil {
+ return "", fmt.Errorf("open sub connection error: %w", err)
+ } else {
+ sb.WriteString(fmt.Sprintf("open sub conn success, dur: %s, total: %s\n", time.Since(scst), time.Since(st)))
+ defer sc.Close()
+ }
+
+ sb.WriteString("start proto handshake\n")
+ phst := time.Now()
+ if err = handshake.OutgoingProtoHandshake(ctx, sc, handshakeproto.ProtoType_DRPC); err != nil {
+ return "", fmt.Errorf("proto handshake error: %w", err)
+ } else {
+ sb.WriteString(fmt.Sprintf("proto handshake success, dur: %s, total: %s\n", time.Since(phst), time.Since(st)))
+ }
+
+ sb.WriteString("start configuration request\n")
+ rst := time.Now()
+ resp, err := coordinatorproto.NewDRPCCoordinatorClient(drpcconn.New(sc)).NetworkConfiguration(ctx, &coordinatorproto.NetworkConfigurationRequest{})
+ if err != nil {
+ return "", fmt.Errorf("configuration request error: %w", err)
+ } else {
+ sb.WriteString(fmt.Sprintf("configuration request success, dur: %s, total: %s, nid: %s\n", time.Since(rst), time.Since(st), resp.GetNetworkId()))
+ }
+ sb.WriteString(fmt.Sprintf("success, dur: %s\n", time.Since(st)))
+ return sb.String(), nil
+}
+
+func bootstrap(a *app.App) {
+ q := quic.New()
+ a.Register(&config{}).
+ Register(&nodeConf{}).
+ Register(q).
+ Register(&accounttest.AccountTestService{}).
+ Register(secureservice.New())
+ q.SetAccepter(new(accepter))
+}
+
+type config struct {
+}
+
+func (c config) Name() string { return "config" }
+func (c config) Init(a *app.App) error { return nil }
+
+func (c config) GetYamux() yamux.Config {
+ return yamux.Config{
+ WriteTimeoutSec: 60,
+ DialTimeoutSec: 60,
+ KeepAlivePeriodSec: 120,
+ }
+}
+
+func (c config) GetQuic() quic.Config {
+ return quic.Config{
+ WriteTimeoutSec: 60,
+ DialTimeoutSec: 60,
+ KeepAlivePeriodSec: 120,
+ }
+}
+
+type nodeConf struct {
+}
+
+func (n nodeConf) Id() string {
+ return "test"
+}
+
+func (n nodeConf) Configuration() nodeconf.Configuration {
+ return nodeconf.Configuration{
+ Id: "test",
+ NetworkId: "",
+ Nodes: nil,
+ CreationTime: time.Time{},
+ }
+}
+
+func (n nodeConf) NodeIds(spaceId string) []string {
+ return nil
+}
+
+func (n nodeConf) IsResponsible(spaceId string) bool {
+ return false
+}
+
+func (n nodeConf) FilePeers() []string {
+ return nil
+}
+
+func (n nodeConf) ConsensusPeers() []string {
+ return nil
+}
+
+func (n nodeConf) CoordinatorPeers() []string {
+ return nil
+}
+
+func (n nodeConf) NamingNodePeers() []string {
+ return nil
+}
+
+func (n nodeConf) PaymentProcessingNodePeers() []string {
+ return nil
+}
+
+func (n nodeConf) PeerAddresses(peerId string) (addrs []string, ok bool) {
+ return nil, false
+}
+
+func (n nodeConf) CHash() chash.CHash {
+ return nil
+}
+
+func (n nodeConf) Partition(spaceId string) (part int) {
+ return 0
+}
+
+func (n nodeConf) NodeTypes(nodeId string) []nodeconf.NodeType {
+ return []nodeconf.NodeType{nodeconf.NodeTypeCoordinator}
+}
+
+func (n nodeConf) NetworkCompatibilityStatus() nodeconf.NetworkCompatibilityStatus {
+ return 0
+}
+
+func (n nodeConf) Init(a *app.App) (err error) {
+ return nil
+}
+
+func (n nodeConf) Name() (name string) {
+ return nodeconf.CName
+}
+
+func (n nodeConf) Run(ctx context.Context) (err error) {
+ return nil
+}
+
+func (n nodeConf) Close(ctx context.Context) (err error) {
+ return nil
+}
+
+type accepter struct {
+}
+
+func (a accepter) Accept(mc transport.MultiConn) (err error) {
+ return nil
+}
diff --git a/core/debug/service.go b/core/debug/service.go
index cf49fb674..8c3331b38 100644
--- a/core/debug/service.go
+++ b/core/debug/service.go
@@ -27,6 +27,7 @@ import (
"github.com/anyproto/anytype-heart/core/domain"
"github.com/anyproto/anytype-heart/pb"
"github.com/anyproto/anytype-heart/pkg/lib/localstore/objectstore"
+ "github.com/anyproto/anytype-heart/pkg/lib/localstore/objectstore/spaceindex"
"github.com/anyproto/anytype-heart/pkg/lib/logging"
"github.com/anyproto/anytype-heart/space"
)
@@ -35,6 +36,16 @@ const CName = "debug"
var log = logging.Logger("anytype-debug")
+const defaultAddrs = `
+yamux://prod-any-sync-coordinator1.anyclub.org:443,
+yamux://prod-any-sync-coordinator1.anyclub.org:1443,
+yamux://prod-any-sync-coordinator1.toolpad.org:443,
+yamux://prod-any-sync-coordinator1.toolpad.org:1443,
+yamux://prod-any-sync-coordinator1.anytype.io:443,
+yamux://prod-any-sync-coordinator1.anytype.io:1443,
+quic://prod-any-sync-coordinator1.anyclub.org:5430
+`
+
func New() Debug {
return new(debug)
}
@@ -48,6 +59,7 @@ type Debug interface {
TreeHeads(ctx context.Context, id string) (info TreeInfo, err error)
DebugAnystoreObjectChanges(ctx context.Context, chatObjectId string, orderBy pb.RpcDebugAnystoreObjectChangesRequestOrderBy) ([]*pb.RpcDebugAnystoreObjectChangesResponseChange, bool, error)
+ NetCheck(ctx context.Context, clientYml string) (string, error)
}
type debug struct {
@@ -237,13 +249,6 @@ func (d *debug) DumpTree(ctx context.Context, objectID string, path string, anon
}
func (d *debug) DumpLocalstore(ctx context.Context, spaceID string, objIds []string, path string) (filename string, err error) {
- if len(objIds) == 0 {
- objIds, err = d.store.ListIdsCrossSpace()
- if err != nil {
- return "", err
- }
- }
-
filename = filepath.Join(path, fmt.Sprintf("at.store.dbg.%s.zip", time.Now().Format("20060102.150405.99")))
f, err := os.Create(filename)
if err != nil {
@@ -257,31 +262,38 @@ func (d *debug) DumpLocalstore(ctx context.Context, spaceID string, objIds []str
var wr io.Writer
m := jsonpb.Marshaler{Indent: " "}
- store := d.store.SpaceIndex(spaceID)
-
- for _, objId := range objIds {
- doc, err := store.GetWithLinksInfoById(objId)
+ err = d.store.IterateSpaceIndex(func(store spaceindex.Store) error {
+ objIds, err = store.ListIds()
if err != nil {
- var err2 error
- wr, err2 = zw.Create(fmt.Sprintf("%s.txt", objId))
- if err2 != nil {
- return "", err
+ return err
+ }
+
+ for _, objId := range objIds {
+ doc, err := store.GetWithLinksInfoById(objId)
+ if err != nil {
+ var err2 error
+ wr, err2 = zw.Create(fmt.Sprintf("%s/%s.txt", store.SpaceId(), objId))
+ if err2 != nil {
+ return err
+ }
+
+ _, _ = wr.Write([]byte(err.Error()))
+ continue
+ }
+ wr, err = zw.Create(fmt.Sprintf("%s/%s.json", store.SpaceId(), objId))
+ if err != nil {
+ return err
}
- wr.Write([]byte(err.Error()))
- continue
- }
- wr, err = zw.Create(fmt.Sprintf("%s.json", objId))
- if err != nil {
- return "", err
+ err = m.Marshal(wr, doc)
+ if err != nil {
+ return err
+ }
}
+ return nil
+ })
- err = m.Marshal(wr, doc)
- if err != nil {
- return "", err
- }
- }
- return filename, nil
+ return filename, err
}
func (d *debug) DebugAnystoreObjectChanges(ctx context.Context, chatObjectId string, orderBy pb.RpcDebugAnystoreObjectChangesRequestOrderBy) ([]*pb.RpcDebugAnystoreObjectChangesResponseChange, bool, error) {
diff --git a/core/details.go b/core/details.go
index 7fca3ff58..4d3e289a3 100644
--- a/core/details.go
+++ b/core/details.go
@@ -114,7 +114,7 @@ func (mw *Middleware) ObjectSetIsFavorite(_ context.Context, req *pb.RpcObjectSe
}
return m
}
- err := getService[detailservice.Service](mw).SetIsFavorite(req.ContextId, req.IsFavorite)
+ err := getService[detailservice.Service](mw).SetIsFavorite(req.ContextId, req.IsFavorite, true)
if err != nil {
return response(pb.RpcObjectSetIsFavoriteResponseError_UNKNOWN_ERROR, err)
}
diff --git a/core/device.go b/core/device.go
index 6f041f172..dcba64a30 100644
--- a/core/device.go
+++ b/core/device.go
@@ -17,6 +17,10 @@ func (mw *Middleware) DeviceNetworkStateSet(cctx context.Context, req *pb.RpcDev
}
return m
}
- app.MustComponent[device.NetworkState](mw.GetApp()).SetNetworkState(req.DeviceNetworkType)
+ mwApp := mw.GetApp()
+ if mwApp == nil {
+ return response(pb.RpcDeviceNetworkStateSetResponseError_INTERNAL_ERROR, ErrNotLoggedIn)
+ }
+ app.MustComponent[device.NetworkState](mwApp).SetNetworkState(req.DeviceNetworkType)
return response(pb.RpcDeviceNetworkStateSetResponseError_NULL, nil)
}
diff --git a/core/domain/genericmap_test.go b/core/domain/genericmap_test.go
index dfa5a2c21..d445aaf6e 100644
--- a/core/domain/genericmap_test.go
+++ b/core/domain/genericmap_test.go
@@ -436,7 +436,7 @@ func TestGenericMap_ToProto(t *testing.T) {
"key-4": pbtypes.Bool(true),
"key-5": pbtypes.Bool(false),
"key-6": pbtypes.StringList([]string{"1", "2", "3"}),
- "key-7": pbtypes.FloatList([]float64{1.1, 2.2, 3.3, 4.4}),
+ "key-7": pbtypes.Float64List([]float64{1.1, 2.2, 3.3, 4.4}),
"key-8": pbtypes.IntList(1, 2, 3),
"key-9": pbtypes.Struct(&types.Struct{
Fields: map[string]*types.Value{
diff --git a/core/domain/value.go b/core/domain/value.go
index 86cebb5aa..37e814417 100644
--- a/core/domain/value.go
+++ b/core/domain/value.go
@@ -425,7 +425,7 @@ func (v Value) ToProto() *types.Value {
case []string:
return pbtypes.StringList(v)
case []float64:
- return pbtypes.FloatList(v)
+ return pbtypes.Float64List(v)
case ValueMap:
s := &types.Struct{Fields: make(map[string]*types.Value, v.Len())}
for k, val := range v.Iterate() {
diff --git a/core/filestorage/fileservice.go b/core/filestorage/fileservice.go
index ede04239c..07ee9e408 100644
--- a/core/filestorage/fileservice.go
+++ b/core/filestorage/fileservice.go
@@ -149,5 +149,8 @@ func (f *fileStorage) NewLocalStoreGarbageCollector() LocalStoreGarbageCollector
}
func (f *fileStorage) Close(ctx context.Context) (err error) {
- return f.proxy.Close()
+ if f.proxy != nil {
+ return f.proxy.Close()
+ }
+ return nil
}
diff --git a/core/indexer/reindex_test.go b/core/indexer/reindex_test.go
index 3d5871a71..326dedfab 100644
--- a/core/indexer/reindex_test.go
+++ b/core/indexer/reindex_test.go
@@ -315,6 +315,8 @@ func TestReindex_addSyncRelations(t *testing.T) {
fx.sourceFx.EXPECT().IDsListerBySmartblockType(space1, coresb.SmartBlockTypeObjectType).Return(idsLister{Ids: []string{}}, nil)
fx.sourceFx.EXPECT().IDsListerBySmartblockType(space1, coresb.SmartBlockTypeTemplate).Return(idsLister{Ids: []string{}}, nil)
fx.sourceFx.EXPECT().IDsListerBySmartblockType(space1, coresb.SmartBlockTypeProfilePage).Return(idsLister{Ids: []string{}}, nil)
+ fx.sourceFx.EXPECT().IDsListerBySmartblockType(space1, coresb.SmartBlockTypeChatDerivedObject).Return(idsLister{Ids: []string{}}, nil)
+ fx.sourceFx.EXPECT().IDsListerBySmartblockType(space1, coresb.SmartBlockTypeChatObject).Return(idsLister{Ids: []string{}}, nil)
space1.EXPECT().DoLockedIfNotExists("1", mock.AnythingOfType("func() error")).Return(nil)
space1.EXPECT().DoLockedIfNotExists("2", mock.AnythingOfType("func() error")).Return(nil)
@@ -352,6 +354,8 @@ func TestReindex_addSyncRelations(t *testing.T) {
fx.sourceFx.EXPECT().IDsListerBySmartblockType(space1, coresb.SmartBlockTypeObjectType).Return(idsLister{Ids: []string{}}, nil)
fx.sourceFx.EXPECT().IDsListerBySmartblockType(space1, coresb.SmartBlockTypeTemplate).Return(idsLister{Ids: []string{}}, nil)
fx.sourceFx.EXPECT().IDsListerBySmartblockType(space1, coresb.SmartBlockTypeProfilePage).Return(idsLister{Ids: []string{}}, nil)
+ fx.sourceFx.EXPECT().IDsListerBySmartblockType(space1, coresb.SmartBlockTypeChatDerivedObject).Return(idsLister{Ids: []string{}}, nil)
+ fx.sourceFx.EXPECT().IDsListerBySmartblockType(space1, coresb.SmartBlockTypeChatObject).Return(idsLister{Ids: []string{}}, nil)
space1.EXPECT().DoLockedIfNotExists("1", mock.AnythingOfType("func() error")).Return(nil)
space1.EXPECT().DoLockedIfNotExists("2", mock.AnythingOfType("func() error")).Return(nil)
diff --git a/core/metrics.go b/core/metrics.go
index 1e8bba119..75463e98e 100644
--- a/core/metrics.go
+++ b/core/metrics.go
@@ -6,11 +6,12 @@ import (
"github.com/anyproto/anytype-heart/metrics"
"github.com/anyproto/anytype-heart/pb"
+ "github.com/anyproto/anytype-heart/pkg/lib/logging"
)
-func (mw *Middleware) MetricsSetParameters(cctx context.Context, req *pb.RpcMetricsSetParametersRequest) *pb.RpcMetricsSetParametersResponse {
- response := func(code pb.RpcMetricsSetParametersResponseErrorCode, err error) *pb.RpcMetricsSetParametersResponse {
- m := &pb.RpcMetricsSetParametersResponse{Error: &pb.RpcMetricsSetParametersResponseError{Code: code}}
+func (mw *Middleware) InitialSetParameters(cctx context.Context, req *pb.RpcInitialSetParametersRequest) *pb.RpcInitialSetParametersResponse {
+ response := func(code pb.RpcInitialSetParametersResponseErrorCode, err error) *pb.RpcInitialSetParametersResponse {
+ m := &pb.RpcInitialSetParametersResponse{Error: &pb.RpcInitialSetParametersResponseError{Code: code}}
if err != nil {
m.Error.Description = getErrorDescription(err)
}
@@ -18,13 +19,15 @@ func (mw *Middleware) MetricsSetParameters(cctx context.Context, req *pb.RpcMetr
return m
}
if req.Version == "" {
- return response(pb.RpcMetricsSetParametersResponseError_BAD_INPUT,
+ return response(pb.RpcInitialSetParametersResponseError_BAD_INPUT,
errors.New("version is empty. Version must be in format: 1.0.0-optional-commit-hash-for-dev-builds"))
}
mw.applicationService.SetClientVersion(req.Platform, req.Version)
metrics.Service.SetPlatform(req.Platform)
metrics.Service.SetStartVersion(req.Version)
+ metrics.Service.SetEnabled(!req.DoNotSendTelemetry)
+ logging.Init(req.Workdir, req.LogLevel, !req.DoNotSendLogs, !req.DoNotSaveLogs)
- return response(pb.RpcMetricsSetParametersResponseError_NULL, nil)
+ return response(pb.RpcInitialSetParametersResponseError_NULL, nil)
}
diff --git a/core/object.go b/core/object.go
index e6ac75fec..b78a1ea96 100644
--- a/core/object.go
+++ b/core/object.go
@@ -288,7 +288,7 @@ func (mw *Middleware) makeSuggestedDateRecord(ctx context.Context, spaceID strin
}
d := domain.NewDetailsFromMap(map[domain.RelationKey]domain.Value{
bundle.RelationKeyId: domain.String(id),
- bundle.RelationKeyName: domain.String(t.Format("Mon Jan 2 2006")),
+ bundle.RelationKeyName: domain.String(t.Format("02 Jan 2006")),
bundle.RelationKeyLayout: domain.Int64(model.ObjectType_date),
bundle.RelationKeyType: domain.String(typeId),
bundle.RelationKeyIconEmoji: domain.String("📅"),
diff --git a/core/payments/cache/cache_test.go b/core/payments/cache/cache_test.go
index c5fa7da51..ff4b2d53a 100644
--- a/core/payments/cache/cache_test.go
+++ b/core/payments/cache/cache_test.go
@@ -381,17 +381,17 @@ func TestGetExpireTime(t *testing.T) {
for _, tc := range []struct {
name string
status *model.Membership
- duration time.Duration
+ duration time.Time
}{
- {"should return 10 minutes in case of nil", nil, cacheLifetimeDurOther},
- {"should return 24 hours in case of Explorer", &model.Membership{Tier: 1}, cacheLifetimeDurExplorer},
- {"should return 10 minutes in case of other", &model.Membership{Tier: 3}, cacheLifetimeDurOther},
+ {"should return 10 minutes in case of nil", nil, time.Now().UTC().Add(cacheLifetimeDurOther)},
+ {"should return 24 hours in case of Explorer", &model.Membership{Tier: 1}, time.Now().UTC().Add(cacheLifetimeDurExplorer)},
+ {"should return 10 minutes in case of other", &model.Membership{Tier: 3}, time.Now().UTC().Add(cacheLifetimeDurOther)},
{"should return dateEnds in case it is earlier than 10 minutes",
- &model.Membership{Tier: 4, DateEnds: uint64(time.Now().UTC().Add(3 * time.Minute).Unix())}, 3 * time.Minute},
+ &model.Membership{Tier: 4, DateEnds: uint64(time.Now().UTC().Add(3 * time.Minute).Unix())}, time.Now().UTC().Add(3 * time.Minute)},
{"should return 10 minutes in case dateEnds is expired",
- &model.Membership{Tier: 3, DateEnds: uint64(time.Now().UTC().Add(-10 * time.Hour).Unix())}, cacheLifetimeDurOther},
+ &model.Membership{Tier: 3, DateEnds: uint64(time.Now().UTC().Add(-10 * time.Hour).Unix())}, time.Now().UTC().Add(cacheLifetimeDurOther)},
{"should return 10 minutes in case dateEnds is 0",
- &model.Membership{Tier: 3, DateEnds: uint64(time.Unix(0, 0).Unix())}, cacheLifetimeDurOther},
+ &model.Membership{Tier: 3, DateEnds: uint64(time.Unix(0, 0).Unix())}, time.Now().UTC().Add(cacheLifetimeDurOther)},
} {
t.Run(tc.name, func(t *testing.T) {
// given
@@ -402,7 +402,7 @@ func TestGetExpireTime(t *testing.T) {
expire := getExpireTime(tc.status)
// then
- assert.True(t, assertTimeNear(expire, time.Now().UTC().Add(tc.duration), delta))
+ assert.True(t, assertTimeNear(expire, tc.duration, delta))
})
}
}
diff --git a/core/payments/payments.go b/core/payments/payments.go
index 7b95f74b3..ab2e62578 100644
--- a/core/payments/payments.go
+++ b/core/payments/payments.go
@@ -14,6 +14,7 @@ import (
ppclient "github.com/anyproto/any-sync/paymentservice/paymentserviceclient"
proto "github.com/anyproto/any-sync/paymentservice/paymentserviceproto"
+ "github.com/anyproto/anytype-heart/core/anytype/config"
"github.com/anyproto/anytype-heart/core/event"
"github.com/anyproto/anytype-heart/core/filestorage/filesync"
"github.com/anyproto/anytype-heart/core/nameservice"
@@ -123,6 +124,7 @@ func New() Service {
}
type service struct {
+ cfg *config.Config
cache cache.CacheService
ppclient ppclient.AnyPpClientService
wallet wallet.Wallet
@@ -142,6 +144,7 @@ func (s *service) Name() (name string) {
}
func (s *service) Init(a *app.App) (err error) {
+ s.cfg = app.MustComponent[*config.Config](a)
s.cache = app.MustComponent[cache.CacheService](a)
s.ppclient = app.MustComponent[ppclient.AnyPpClientService](a)
s.wallet = app.MustComponent[wallet.Wallet](a)
@@ -173,6 +176,12 @@ func (s *service) Close(_ context.Context) (err error) {
}
func (s *service) getPeriodicStatus(ctx context.Context) error {
+ // skip running loop if we are on a custom network or in local-only mode
+ if s.cfg.GetNetworkMode() != pb.RpcAccount_DefaultConfig {
+ // do not trace to log to prevent spamming
+ return nil
+ }
+
// get subscription status (from cache or from the PP node)
// if status has changed -> it will send events, etc
_, err := s.GetSubscriptionStatus(ctx, &pb.RpcMembershipGetStatusRequest{})
diff --git a/core/payments/payments_test.go b/core/payments/payments_test.go
index 24f3ffb4f..4ad8e4de3 100644
--- a/core/payments/payments_test.go
+++ b/core/payments/payments_test.go
@@ -19,6 +19,7 @@ import (
mock_ppclient "github.com/anyproto/any-sync/paymentservice/paymentserviceclient/mock"
psp "github.com/anyproto/any-sync/paymentservice/paymentserviceproto"
+ "github.com/anyproto/anytype-heart/core/anytype/config"
"github.com/anyproto/anytype-heart/core/event/mock_event"
"github.com/anyproto/anytype-heart/core/filestorage/filesync/mock_filesync"
"github.com/anyproto/anytype-heart/core/nameservice/mock_nameservice"
@@ -98,6 +99,7 @@ func newFixture(t *testing.T) *fixture {
fx.wallet.EXPECT().Account().Return(&ak).Maybe()
fx.wallet.EXPECT().GetAccountPrivkey().Return(decodedSignKey).Maybe()
+ fx.wallet.EXPECT().RepoPath().Return("repo/path")
fx.eventSender.EXPECT().Broadcast(mock.AnythingOfType("*pb.Event")).Maybe()
@@ -111,9 +113,11 @@ func newFixture(t *testing.T) *fixture {
Register(fx.identitiesUpdater).
Register(testutil.PrepareMock(ctx, fx.a, fx.multiplayerLimitsUpdater)).
Register(testutil.PrepareMock(ctx, fx.a, fx.fileLimitsUpdater)).
- Register(testutil.PrepareMock(ctx, fx.a, fx.ns))
+ Register(testutil.PrepareMock(ctx, fx.a, fx.ns)).
+ Register(&config.Config{DisableFileConfig: true, NetworkMode: pb.RpcAccount_DefaultConfig, PeferYamuxTransport: true})
require.NoError(t, fx.a.Start(ctx))
+
return fx
}
diff --git a/core/subscription/collection.go b/core/subscription/collection.go
index 7dbfae3c5..407b392f0 100644
--- a/core/subscription/collection.go
+++ b/core/subscription/collection.go
@@ -30,6 +30,7 @@ type collectionObserver struct {
objectStore spaceindex.Store
collectionService CollectionService
recBatch *mb.MB
+ recBatchMutex sync.Mutex
spaceSubscription *spaceSubscriptions
}
@@ -97,9 +98,10 @@ func (c *collectionObserver) listEntries() []*entry {
return res
}
+// updateIds updates the list of ids in the observer and updates the subscription
+// IMPORTANT: this function is not thread-safe because of recBatch add is not under the lock and should be called only sequentially
func (c *collectionObserver) updateIds(ids []string) {
c.lock.Lock()
- defer c.lock.Unlock()
removed, added := slice.DifferenceRemovedAdded(c.ids, ids)
for _, id := range removed {
@@ -109,7 +111,7 @@ func (c *collectionObserver) updateIds(ids []string) {
c.idsSet[id] = struct{}{}
}
c.ids = ids
-
+ c.lock.Unlock()
entries := c.spaceSubscription.fetchEntriesLocked(append(removed, added...))
for _, e := range entries {
err := c.recBatch.Add(database.Record{
diff --git a/core/subscription/service.go b/core/subscription/service.go
index 2e4bf7cf6..d4a1b55d8 100644
--- a/core/subscription/service.go
+++ b/core/subscription/service.go
@@ -915,8 +915,10 @@ func (s *spaceSubscriptions) Close(ctx context.Context) (err error) {
s.m.Lock()
defer s.m.Unlock()
s.recBatch.Close()
- s.iterateSubscriptions(func(sub subscription) {
+ for subId, sub := range s.subscriptions {
sub.close()
- })
+ delete(s.subscriptions, subId)
+ }
+ s.subscriptionKeys = s.subscriptionKeys[:0]
return
}
diff --git a/core/syncstatus/detailsupdater/helper/helper.go b/core/syncstatus/detailsupdater/helper/helper.go
index 457c76ad5..ee7fab373 100644
--- a/core/syncstatus/detailsupdater/helper/helper.go
+++ b/core/syncstatus/detailsupdater/helper/helper.go
@@ -34,5 +34,7 @@ func SyncRelationsSmartblockTypes() []smartblock.SmartBlockType {
smartblock.SmartBlockTypePage,
smartblock.SmartBlockTypeTemplate,
smartblock.SmartBlockTypeProfilePage,
+ smartblock.SmartBlockTypeChatDerivedObject,
+ smartblock.SmartBlockTypeChatObject,
}
}
diff --git a/core/syncstatus/detailsupdater/updater.go b/core/syncstatus/detailsupdater/updater.go
index 7e4cd7806..ccac1ac10 100644
--- a/core/syncstatus/detailsupdater/updater.go
+++ b/core/syncstatus/detailsupdater/updater.go
@@ -231,10 +231,10 @@ func (u *syncStatusUpdater) setSyncDetails(sb smartblock.SmartBlock, status doma
if !slices.Contains(helper.SyncRelationsSmartblockTypes(), sb.Type()) {
return nil
}
+ st := sb.NewState()
if !u.isLayoutSuitableForSyncRelations(sb.Details()) {
return nil
}
- st := sb.NewState()
if fileStatus, ok := st.Details().TryFloat64(bundle.RelationKeyFileBackupStatus); ok {
status, syncError = getSyncStatusForFile(status, syncError, filesyncstatus.Status(int(fileStatus)))
}
@@ -261,6 +261,7 @@ var suitableLayouts = map[model.ObjectTypeLayout]struct{}{
model.ObjectType_audio: {},
model.ObjectType_video: {},
model.ObjectType_pdf: {},
+ model.ObjectType_chat: {},
}
func (u *syncStatusUpdater) isLayoutSuitableForSyncRelations(details *domain.Details) bool {
diff --git a/core/syncstatus/detailsupdater/updater_test.go b/core/syncstatus/detailsupdater/updater_test.go
index dd6a159be..ab7c6870c 100644
--- a/core/syncstatus/detailsupdater/updater_test.go
+++ b/core/syncstatus/detailsupdater/updater_test.go
@@ -98,6 +98,7 @@ func TestSyncStatusUpdater_UpdateDetails(t *testing.T) {
sb := smarttest.New(objectId)
st := sb.Doc.(*state.State)
st.SetDetailAndBundledRelation(bundle.RelationKeyLayout, domain.Int64(int64(model.ObjectType_basic)))
+ st.SetDetailAndBundledRelation(bundle.RelationKeySpaceId, domain.String("spaceId"))
err := apply(sb)
require.NoError(t, err)
@@ -164,6 +165,7 @@ func TestSyncStatusUpdater_UpdateDetails(t *testing.T) {
space.EXPECT().DoCtx(mock.Anything, mock.Anything, mock.Anything).Run(func(ctx context.Context, objectId string, apply func(smartblock.SmartBlock) error) {
sb := smarttest.New(objectId)
st := sb.Doc.(*state.State)
+ st.SetDetailAndBundledRelation(bundle.RelationKeySpaceId, pbtypes.String("spaceId"))
st.SetDetailAndBundledRelation(bundle.RelationKeyLayout, domain.Int64(int64(model.ObjectType_file)))
st.SetDetailAndBundledRelation(bundle.RelationKeyFileBackupStatus, domain.Int64(int64(filesyncstatus.Limited)))
err := apply(sb)
@@ -193,6 +195,7 @@ func TestSyncStatusUpdater_UpdateDetails(t *testing.T) {
space.EXPECT().DoCtx(mock.Anything, mock.Anything, mock.Anything).Run(func(ctx context.Context, objectId string, apply func(smartblock.SmartBlock) error) {
sb := smarttest.New(objectId)
st := sb.Doc.(*state.State)
+ st.SetDetailAndBundledRelation(bundle.RelationKeySpaceId, pbtypes.String("spaceId"))
st.SetDetailAndBundledRelation(bundle.RelationKeyLayout, domain.Int64(int64(model.ObjectType_file)))
st.SetDetailAndBundledRelation(bundle.RelationKeyFileBackupStatus, domain.Int64(int64(filesyncstatus.Synced)))
err := apply(sb)
@@ -244,6 +247,7 @@ func TestSyncStatusUpdater_UpdateSpaceDetails(t *testing.T) {
space.EXPECT().DoCtx(mock.Anything, objectId, mock.Anything).Run(func(ctx context.Context, objectId string, apply func(smartblock.SmartBlock) error) {
sb := smarttest.New(objectId)
st := sb.Doc.(*state.State)
+ st.SetDetailAndBundledRelation(bundle.RelationKeySpaceId, pbtypes.String("spaceId"))
st.SetDetailAndBundledRelation(bundle.RelationKeyLayout, domain.Int64(int64(model.ObjectType_basic)))
err := apply(sb)
require.NoError(t, err)
@@ -277,7 +281,8 @@ func TestSyncStatusUpdater_setSyncDetails(t *testing.T) {
// given
fx := newFixture(t)
sb := smarttest.New("id")
-
+ st := sb.Doc.(*state.State)
+ st.SetDetailAndBundledRelation(bundle.RelationKeySpaceId, pbtypes.String("spaceId"))
// when
err := fx.setSyncDetails(sb, domain.ObjectSyncStatusError, domain.SyncErrorNetworkError)
assert.Nil(t, err)
diff --git a/core/syncstatus/syncsubscriptions/syncingobjects.go b/core/syncstatus/syncsubscriptions/syncingobjects.go
index 3c9420f4d..628dc3c01 100644
--- a/core/syncstatus/syncsubscriptions/syncingobjects.go
+++ b/core/syncstatus/syncsubscriptions/syncingobjects.go
@@ -42,11 +42,6 @@ func (s *syncingObjects) Run() error {
int64(domain.ObjectSyncStatusError),
}),
},
- {
- RelationKey: bundle.RelationKeySpaceId,
- Condition: model.BlockContentDataviewFilter_Equal,
- Value: domain.String(s.spaceId),
- },
},
}
s.objectSubscription = objectsubscription.NewIdSubscription(s.service, objectReq)
diff --git a/core/wallet/mock_wallet/mock_Wallet.go b/core/wallet/mock_wallet/mock_Wallet.go
index 2dbe7e2b4..d38538747 100644
--- a/core/wallet/mock_wallet/mock_Wallet.go
+++ b/core/wallet/mock_wallet/mock_Wallet.go
@@ -6,12 +6,8 @@ import (
app "github.com/anyproto/any-sync/app"
accountdata "github.com/anyproto/any-sync/commonspace/object/accountdata"
- common "github.com/ethereum/go-ethereum/common"
-
crypto "github.com/anyproto/any-sync/util/crypto"
- ecdsa "crypto/ecdsa"
-
mock "github.com/stretchr/testify/mock"
wallet "github.com/anyproto/anytype-heart/core/wallet"
@@ -78,19 +74,19 @@ func (_c *MockWallet_Account_Call) RunAndReturn(run func() *accountdata.AccountK
}
// GetAccountEthAddress provides a mock function with given fields:
-func (_m *MockWallet) GetAccountEthAddress() common.Address {
+func (_m *MockWallet) GetAccountEthAddress() wallet.EthAddress {
ret := _m.Called()
if len(ret) == 0 {
panic("no return value specified for GetAccountEthAddress")
}
- var r0 common.Address
- if rf, ok := ret.Get(0).(func() common.Address); ok {
+ var r0 wallet.EthAddress
+ if rf, ok := ret.Get(0).(func() wallet.EthAddress); ok {
r0 = rf()
} else {
if ret.Get(0) != nil {
- r0 = ret.Get(0).(common.Address)
+ r0 = ret.Get(0).(wallet.EthAddress)
}
}
@@ -114,30 +110,30 @@ func (_c *MockWallet_GetAccountEthAddress_Call) Run(run func()) *MockWallet_GetA
return _c
}
-func (_c *MockWallet_GetAccountEthAddress_Call) Return(_a0 common.Address) *MockWallet_GetAccountEthAddress_Call {
+func (_c *MockWallet_GetAccountEthAddress_Call) Return(_a0 wallet.EthAddress) *MockWallet_GetAccountEthAddress_Call {
_c.Call.Return(_a0)
return _c
}
-func (_c *MockWallet_GetAccountEthAddress_Call) RunAndReturn(run func() common.Address) *MockWallet_GetAccountEthAddress_Call {
+func (_c *MockWallet_GetAccountEthAddress_Call) RunAndReturn(run func() wallet.EthAddress) *MockWallet_GetAccountEthAddress_Call {
_c.Call.Return(run)
return _c
}
// GetAccountEthPrivkey provides a mock function with given fields:
-func (_m *MockWallet) GetAccountEthPrivkey() *ecdsa.PrivateKey {
+func (_m *MockWallet) GetAccountEthPrivkey() wallet.EthPrivateKey {
ret := _m.Called()
if len(ret) == 0 {
panic("no return value specified for GetAccountEthPrivkey")
}
- var r0 *ecdsa.PrivateKey
- if rf, ok := ret.Get(0).(func() *ecdsa.PrivateKey); ok {
+ var r0 wallet.EthPrivateKey
+ if rf, ok := ret.Get(0).(func() wallet.EthPrivateKey); ok {
r0 = rf()
} else {
if ret.Get(0) != nil {
- r0 = ret.Get(0).(*ecdsa.PrivateKey)
+ r0 = ret.Get(0).(wallet.EthPrivateKey)
}
}
@@ -161,12 +157,12 @@ func (_c *MockWallet_GetAccountEthPrivkey_Call) Run(run func()) *MockWallet_GetA
return _c
}
-func (_c *MockWallet_GetAccountEthPrivkey_Call) Return(_a0 *ecdsa.PrivateKey) *MockWallet_GetAccountEthPrivkey_Call {
+func (_c *MockWallet_GetAccountEthPrivkey_Call) Return(_a0 wallet.EthPrivateKey) *MockWallet_GetAccountEthPrivkey_Call {
_c.Call.Return(_a0)
return _c
}
-func (_c *MockWallet_GetAccountEthPrivkey_Call) RunAndReturn(run func() *ecdsa.PrivateKey) *MockWallet_GetAccountEthPrivkey_Call {
+func (_c *MockWallet_GetAccountEthPrivkey_Call) RunAndReturn(run func() wallet.EthPrivateKey) *MockWallet_GetAccountEthPrivkey_Call {
_c.Call.Return(run)
return _c
}
diff --git a/core/workspace.go b/core/workspace.go
index 9d51a051d..20b6c5cae 100644
--- a/core/workspace.go
+++ b/core/workspace.go
@@ -16,8 +16,8 @@ import (
)
func (mw *Middleware) WorkspaceCreate(cctx context.Context, req *pb.RpcWorkspaceCreateRequest) *pb.RpcWorkspaceCreateResponse {
- response := func(workspaceId string, code pb.RpcWorkspaceCreateResponseErrorCode, err error) *pb.RpcWorkspaceCreateResponse {
- m := &pb.RpcWorkspaceCreateResponse{SpaceId: workspaceId, Error: &pb.RpcWorkspaceCreateResponseError{Code: code}}
+ response := func(spaceId string, code pb.RpcWorkspaceCreateResponseErrorCode, err error) *pb.RpcWorkspaceCreateResponse {
+ m := &pb.RpcWorkspaceCreateResponse{SpaceId: spaceId, Error: &pb.RpcWorkspaceCreateResponseError{Code: code}}
if err != nil {
m.Error.Description = getErrorDescription(err)
}
@@ -25,16 +25,26 @@ func (mw *Middleware) WorkspaceCreate(cctx context.Context, req *pb.RpcWorkspace
return m
}
- var workspaceId string
+ var spaceId string
err := mw.doBlockService(func(bs *block.Service) (err error) {
- workspaceId, err = bs.CreateWorkspace(cctx, req)
+ spaceId, err = bs.CreateWorkspace(cctx, req)
+ if err != nil {
+ return
+ }
+ if req.WithChat {
+ // todo: as soon as it will be released for all users, we need to make it async inside the space init
+ err = bs.SpaceInitChat(cctx, spaceId)
+ if err != nil {
+ log.With("error", err).Warn("failed to init space level chat")
+ }
+ }
return
})
if err != nil {
return response("", pb.RpcWorkspaceCreateResponseError_UNKNOWN_ERROR, err)
}
- return response(workspaceId, pb.RpcWorkspaceCreateResponseError_NULL, nil)
+ return response(spaceId, pb.RpcWorkspaceCreateResponseError_NULL, nil)
}
func (mw *Middleware) WorkspaceOpen(cctx context.Context, req *pb.RpcWorkspaceOpenRequest) *pb.RpcWorkspaceOpenResponse {
@@ -54,10 +64,18 @@ func (mw *Middleware) WorkspaceOpen(cctx context.Context, req *pb.RpcWorkspaceOp
}
err = mw.doBlockService(func(bs *block.Service) error {
+ if req.WithChat {
+ // todo: as soon as it will be released for all users, we need to make it async inside the space init
+ err = bs.SpaceInitChat(cctx, req.SpaceId)
+ if err != nil {
+ log.With("error", err).Warn("failed to init space level chat")
+ }
+ }
return cache.Do[*editor.SpaceView](bs, info.SpaceViewId, func(sv *editor.SpaceView) error {
return sv.UpdateLastOpenedDate()
})
})
+
if err != nil {
return response(info, pb.RpcWorkspaceOpenResponseError_UNKNOWN_ERROR, err)
}
diff --git a/docs/proto.md b/docs/proto.md
index 61918e56c..ac8633cc8 100644
--- a/docs/proto.md
+++ b/docs/proto.md
@@ -577,6 +577,14 @@
- [Rpc.Debug.ExportLocalstore.Request](#anytype-Rpc-Debug-ExportLocalstore-Request)
- [Rpc.Debug.ExportLocalstore.Response](#anytype-Rpc-Debug-ExportLocalstore-Response)
- [Rpc.Debug.ExportLocalstore.Response.Error](#anytype-Rpc-Debug-ExportLocalstore-Response-Error)
+ - [Rpc.Debug.ExportLog](#anytype-Rpc-Debug-ExportLog)
+ - [Rpc.Debug.ExportLog.Request](#anytype-Rpc-Debug-ExportLog-Request)
+ - [Rpc.Debug.ExportLog.Response](#anytype-Rpc-Debug-ExportLog-Response)
+ - [Rpc.Debug.ExportLog.Response.Error](#anytype-Rpc-Debug-ExportLog-Response-Error)
+ - [Rpc.Debug.NetCheck](#anytype-Rpc-Debug-NetCheck)
+ - [Rpc.Debug.NetCheck.Request](#anytype-Rpc-Debug-NetCheck-Request)
+ - [Rpc.Debug.NetCheck.Response](#anytype-Rpc-Debug-NetCheck-Response)
+ - [Rpc.Debug.NetCheck.Response.Error](#anytype-Rpc-Debug-NetCheck-Response-Error)
- [Rpc.Debug.OpenedObjects](#anytype-Rpc-Debug-OpenedObjects)
- [Rpc.Debug.OpenedObjects.Request](#anytype-Rpc-Debug-OpenedObjects-Request)
- [Rpc.Debug.OpenedObjects.Response](#anytype-Rpc-Debug-OpenedObjects-Response)
@@ -698,6 +706,11 @@
- [Rpc.History.ShowVersion.Response](#anytype-Rpc-History-ShowVersion-Response)
- [Rpc.History.ShowVersion.Response.Error](#anytype-Rpc-History-ShowVersion-Response-Error)
- [Rpc.History.Version](#anytype-Rpc-History-Version)
+ - [Rpc.Initial](#anytype-Rpc-Initial)
+ - [Rpc.Initial.SetParameters](#anytype-Rpc-Initial-SetParameters)
+ - [Rpc.Initial.SetParameters.Request](#anytype-Rpc-Initial-SetParameters-Request)
+ - [Rpc.Initial.SetParameters.Response](#anytype-Rpc-Initial-SetParameters-Response)
+ - [Rpc.Initial.SetParameters.Response.Error](#anytype-Rpc-Initial-SetParameters-Response-Error)
- [Rpc.LinkPreview](#anytype-Rpc-LinkPreview)
- [Rpc.LinkPreview.Request](#anytype-Rpc-LinkPreview-Request)
- [Rpc.LinkPreview.Response](#anytype-Rpc-LinkPreview-Response)
@@ -748,11 +761,6 @@
- [Rpc.Membership.VerifyEmailCode.Request](#anytype-Rpc-Membership-VerifyEmailCode-Request)
- [Rpc.Membership.VerifyEmailCode.Response](#anytype-Rpc-Membership-VerifyEmailCode-Response)
- [Rpc.Membership.VerifyEmailCode.Response.Error](#anytype-Rpc-Membership-VerifyEmailCode-Response-Error)
- - [Rpc.Metrics](#anytype-Rpc-Metrics)
- - [Rpc.Metrics.SetParameters](#anytype-Rpc-Metrics-SetParameters)
- - [Rpc.Metrics.SetParameters.Request](#anytype-Rpc-Metrics-SetParameters-Request)
- - [Rpc.Metrics.SetParameters.Response](#anytype-Rpc-Metrics-SetParameters-Response)
- - [Rpc.Metrics.SetParameters.Response.Error](#anytype-Rpc-Metrics-SetParameters-Response-Error)
- [Rpc.NameService](#anytype-Rpc-NameService)
- [Rpc.NameService.ResolveAnyId](#anytype-Rpc-NameService-ResolveAnyId)
- [Rpc.NameService.ResolveAnyId.Request](#anytype-Rpc-NameService-ResolveAnyId-Request)
@@ -1350,6 +1358,8 @@
- [Rpc.Debug.AnystoreObjectChanges.Request.OrderBy](#anytype-Rpc-Debug-AnystoreObjectChanges-Request-OrderBy)
- [Rpc.Debug.AnystoreObjectChanges.Response.Error.Code](#anytype-Rpc-Debug-AnystoreObjectChanges-Response-Error-Code)
- [Rpc.Debug.ExportLocalstore.Response.Error.Code](#anytype-Rpc-Debug-ExportLocalstore-Response-Error-Code)
+ - [Rpc.Debug.ExportLog.Response.Error.Code](#anytype-Rpc-Debug-ExportLog-Response-Error-Code)
+ - [Rpc.Debug.NetCheck.Response.Error.Code](#anytype-Rpc-Debug-NetCheck-Response-Error-Code)
- [Rpc.Debug.OpenedObjects.Response.Error.Code](#anytype-Rpc-Debug-OpenedObjects-Response-Error-Code)
- [Rpc.Debug.Ping.Response.Error.Code](#anytype-Rpc-Debug-Ping-Response-Error-Code)
- [Rpc.Debug.RunProfiler.Response.Error.Code](#anytype-Rpc-Debug-RunProfiler-Response-Error-Code)
@@ -1378,6 +1388,7 @@
- [Rpc.History.GetVersions.Response.Error.Code](#anytype-Rpc-History-GetVersions-Response-Error-Code)
- [Rpc.History.SetVersion.Response.Error.Code](#anytype-Rpc-History-SetVersion-Response-Error-Code)
- [Rpc.History.ShowVersion.Response.Error.Code](#anytype-Rpc-History-ShowVersion-Response-Error-Code)
+ - [Rpc.Initial.SetParameters.Response.Error.Code](#anytype-Rpc-Initial-SetParameters-Response-Error-Code)
- [Rpc.LinkPreview.Response.Error.Code](#anytype-Rpc-LinkPreview-Response-Error-Code)
- [Rpc.Log.Send.Request.Level](#anytype-Rpc-Log-Send-Request-Level)
- [Rpc.Log.Send.Response.Error.Code](#anytype-Rpc-Log-Send-Response-Error-Code)
@@ -1391,7 +1402,6 @@
- [Rpc.Membership.RegisterPaymentRequest.Response.Error.Code](#anytype-Rpc-Membership-RegisterPaymentRequest-Response-Error-Code)
- [Rpc.Membership.VerifyAppStoreReceipt.Response.Error.Code](#anytype-Rpc-Membership-VerifyAppStoreReceipt-Response-Error-Code)
- [Rpc.Membership.VerifyEmailCode.Response.Error.Code](#anytype-Rpc-Membership-VerifyEmailCode-Response-Error-Code)
- - [Rpc.Metrics.SetParameters.Response.Error.Code](#anytype-Rpc-Metrics-SetParameters-Response-Error-Code)
- [Rpc.NameService.ResolveAnyId.Response.Error.Code](#anytype-Rpc-NameService-ResolveAnyId-Response-Error-Code)
- [Rpc.NameService.ResolveName.Response.Error.Code](#anytype-Rpc-NameService-ResolveName-Response-Error-Code)
- [Rpc.NameService.ResolveSpaceId.Response.Error.Code](#anytype-Rpc-NameService-ResolveSpaceId-Response-Error-Code)
@@ -2153,7 +2163,9 @@
| DebugRunProfiler | [Rpc.Debug.RunProfiler.Request](#anytype-Rpc-Debug-RunProfiler-Request) | [Rpc.Debug.RunProfiler.Response](#anytype-Rpc-Debug-RunProfiler-Response) | |
| DebugAccountSelectTrace | [Rpc.Debug.AccountSelectTrace.Request](#anytype-Rpc-Debug-AccountSelectTrace-Request) | [Rpc.Debug.AccountSelectTrace.Response](#anytype-Rpc-Debug-AccountSelectTrace-Response) | |
| DebugAnystoreObjectChanges | [Rpc.Debug.AnystoreObjectChanges.Request](#anytype-Rpc-Debug-AnystoreObjectChanges-Request) | [Rpc.Debug.AnystoreObjectChanges.Response](#anytype-Rpc-Debug-AnystoreObjectChanges-Response) | |
-| MetricsSetParameters | [Rpc.Metrics.SetParameters.Request](#anytype-Rpc-Metrics-SetParameters-Request) | [Rpc.Metrics.SetParameters.Response](#anytype-Rpc-Metrics-SetParameters-Response) | |
+| DebugNetCheck | [Rpc.Debug.NetCheck.Request](#anytype-Rpc-Debug-NetCheck-Request) | [Rpc.Debug.NetCheck.Response](#anytype-Rpc-Debug-NetCheck-Response) | |
+| DebugExportLog | [Rpc.Debug.ExportLog.Request](#anytype-Rpc-Debug-ExportLog-Request) | [Rpc.Debug.ExportLog.Response](#anytype-Rpc-Debug-ExportLog-Response) | |
+| InitialSetParameters | [Rpc.Initial.SetParameters.Request](#anytype-Rpc-Initial-SetParameters-Request) | [Rpc.Initial.SetParameters.Response](#anytype-Rpc-Initial-SetParameters-Response) | |
| ListenSessionEvents | [StreamRequest](#anytype-StreamRequest) | [Event](#anytype-Event) stream | used only for lib-server via grpc |
| NotificationList | [Rpc.Notification.List.Request](#anytype-Rpc-Notification-List-Request) | [Rpc.Notification.List.Response](#anytype-Rpc-Notification-List-Response) | |
| NotificationReply | [Rpc.Notification.Reply.Request](#anytype-Rpc-Notification-Reply-Request) | [Rpc.Notification.Reply.Response](#anytype-Rpc-Notification-Reply-Response) | |
@@ -10545,6 +10557,120 @@ Get marks list in the selected range in text block.
+
+
+### Rpc.Debug.ExportLog
+
+
+
+
+
+
+
+
+
+### Rpc.Debug.ExportLog.Request
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| dir | [string](#string) | | empty means using OS-provided temp dir |
+
+
+
+
+
+
+
+
+### Rpc.Debug.ExportLog.Response
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| error | [Rpc.Debug.ExportLog.Response.Error](#anytype-Rpc-Debug-ExportLog-Response-Error) | | |
+| path | [string](#string) | | |
+
+
+
+
+
+
+
+
+### Rpc.Debug.ExportLog.Response.Error
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| code | [Rpc.Debug.ExportLog.Response.Error.Code](#anytype-Rpc-Debug-ExportLog-Response-Error-Code) | | |
+| description | [string](#string) | | |
+
+
+
+
+
+
+
+
+### Rpc.Debug.NetCheck
+
+
+
+
+
+
+
+
+
+### Rpc.Debug.NetCheck.Request
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| clientYml | [string](#string) | | |
+
+
+
+
+
+
+
+
+### Rpc.Debug.NetCheck.Response
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| error | [Rpc.Debug.NetCheck.Response.Error](#anytype-Rpc-Debug-NetCheck-Response-Error) | | |
+| result | [string](#string) | | |
+
+
+
+
+
+
+
+
+### Rpc.Debug.NetCheck.Response.Error
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| code | [Rpc.Debug.NetCheck.Response.Error.Code](#anytype-Rpc-Debug-NetCheck-Response-Error-Code) | | |
+| description | [string](#string) | | |
+
+
+
+
+
+
### Rpc.Debug.OpenedObjects
@@ -12273,6 +12399,78 @@ returns blockShow event for given version
+
+
+### Rpc.Initial
+
+
+
+
+
+
+
+
+
+### Rpc.Initial.SetParameters
+
+
+
+
+
+
+
+
+
+### Rpc.Initial.SetParameters.Request
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| platform | [string](#string) | | |
+| version | [string](#string) | | |
+| workdir | [string](#string) | | |
+| logLevel | [string](#string) | | |
+| doNotSendLogs | [bool](#bool) | | |
+| doNotSaveLogs | [bool](#bool) | | |
+| doNotSendTelemetry | [bool](#bool) | | |
+
+
+
+
+
+
+
+
+### Rpc.Initial.SetParameters.Response
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| error | [Rpc.Initial.SetParameters.Response.Error](#anytype-Rpc-Initial-SetParameters-Response-Error) | | |
+
+
+
+
+
+
+
+
+### Rpc.Initial.SetParameters.Response.Error
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| code | [Rpc.Initial.SetParameters.Response.Error.Code](#anytype-Rpc-Initial-SetParameters-Response-Error-Code) | | |
+| description | [string](#string) | | |
+
+
+
+
+
+
### Rpc.LinkPreview
@@ -12987,73 +13185,6 @@ need a correct code that was sent to the user when calling GetVerificationEmail
-
-
-### Rpc.Metrics
-
-
-
-
-
-
-
-
-
-### Rpc.Metrics.SetParameters
-
-
-
-
-
-
-
-
-
-### Rpc.Metrics.SetParameters.Request
-
-
-
-| Field | Type | Label | Description |
-| ----- | ---- | ----- | ----------- |
-| platform | [string](#string) | | |
-| version | [string](#string) | | |
-
-
-
-
-
-
-
-
-### Rpc.Metrics.SetParameters.Response
-
-
-
-| Field | Type | Label | Description |
-| ----- | ---- | ----- | ----------- |
-| error | [Rpc.Metrics.SetParameters.Response.Error](#anytype-Rpc-Metrics-SetParameters-Response-Error) | | |
-
-
-
-
-
-
-
-
-### Rpc.Metrics.SetParameters.Response.Error
-
-
-
-| Field | Type | Label | Description |
-| ----- | ---- | ----- | ----------- |
-| code | [Rpc.Metrics.SetParameters.Response.Error.Code](#anytype-Rpc-Metrics-SetParameters-Response-Error-Code) | | |
-| description | [string](#string) | | |
-
-
-
-
-
-
### Rpc.NameService
@@ -19282,6 +19413,7 @@ Middleware-to-front-end response, that can contain a NULL error or a non-NULL er
| ----- | ---- | ----- | ----------- |
| details | [google.protobuf.Struct](#google-protobuf-Struct) | | object details |
| useCase | [Rpc.Object.ImportUseCase.Request.UseCase](#anytype-Rpc-Object-ImportUseCase-Request-UseCase) | | use case |
+| withChat | [bool](#bool) | | create space-level chat; temporary solution, should be removed after chats released for all users |
@@ -19686,6 +19818,7 @@ Middleware-to-front-end response, that can contain a NULL error or a non-NULL er
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| spaceId | [string](#string) | | |
+| withChat | [bool](#bool) | | create space-level chat if not exists; temporary solution, should be removed after chats released for all users |
@@ -21594,6 +21727,33 @@ Middleware-to-front-end response, that can contain a NULL error or a non-NULL er
+
+
+### Rpc.Debug.ExportLog.Response.Error.Code
+
+
+| Name | Number | Description |
+| ---- | ------ | ----------- |
+| NULL | 0 | |
+| UNKNOWN_ERROR | 1 | |
+| BAD_INPUT | 2 | |
+| NO_FOLDER | 3 | |
+
+
+
+
+
+### Rpc.Debug.NetCheck.Response.Error.Code
+
+
+| Name | Number | Description |
+| ---- | ------ | ----------- |
+| NULL | 0 | |
+| UNKNOWN_ERROR | 1 | |
+| BAD_INPUT | 2 | |
+
+
+
### Rpc.Debug.OpenedObjects.Response.Error.Code
@@ -21964,6 +22124,19 @@ Middleware-to-front-end response, that can contain a NULL error or a non-NULL er
+
+
+### Rpc.Initial.SetParameters.Response.Error.Code
+
+
+| Name | Number | Description |
+| ---- | ------ | ----------- |
+| NULL | 0 | |
+| UNKNOWN_ERROR | 1 | |
+| BAD_INPUT | 2 | ... |
+
+
+
### Rpc.LinkPreview.Response.Error.Code
@@ -22205,19 +22378,6 @@ Middleware-to-front-end response, that can contain a NULL error or a non-NULL er
-
-
-### Rpc.Metrics.SetParameters.Response.Error.Code
-
-
-| Name | Number | Description |
-| ---- | ------ | ----------- |
-| NULL | 0 | |
-| UNKNOWN_ERROR | 1 | |
-| BAD_INPUT | 2 | ... |
-
-
-
### Rpc.NameService.ResolveAnyId.Response.Error.Code
@@ -27475,6 +27635,7 @@ Contains basic information about a user account
| archiveObjectId | [string](#string) | | archive block id |
| profileObjectId | [string](#string) | | profile block id |
| marketplaceWorkspaceId | [string](#string) | | marketplace workspace id |
+| workspaceObjectId | [string](#string) | | workspace object id. used for space-level chat |
| deviceId | [string](#string) | | |
| accountSpaceId | [string](#string) | | |
| widgetsId | [string](#string) | | |
@@ -29877,7 +30038,7 @@ Look https://github.com/golang/protobuf/issues/1135 for more information.
| spaceView | 18 | |
| participant | 19 | |
| pdf | 20 | |
-| chat | 21 | |
+| chat | 21 | deprecated |
| chatDerived | 22 | |
| tag | 23 | |
diff --git a/go.mod b/go.mod
index dc0d69c62..56c26d116 100644
--- a/go.mod
+++ b/go.mod
@@ -8,11 +8,12 @@ require (
github.com/VividCortex/ewma v1.2.0
github.com/adrium/goheif v0.0.0-20230113233934-ca402e77a786
github.com/anyproto/any-store v0.1.1
- github.com/anyproto/any-sync v0.5.5
+ github.com/anyproto/any-sync v0.5.11
+ github.com/anyproto/go-chash v0.1.0
github.com/anyproto/go-naturaldate/v2 v2.0.2-0.20230524105841-9829cfd13438
github.com/anyproto/lexid v0.0.2
github.com/anyproto/protobuf v1.3.3-0.20240814124528-72b8c7e0e0f5
- github.com/anyproto/tantivy-go v0.1.4
+ github.com/anyproto/tantivy-go v0.1.6-jieba
github.com/araddon/dateparse v0.0.0-20210429162001-6b43995a97de
github.com/avast/retry-go/v4 v4.6.0
github.com/blevesearch/bleve/v2 v2.3.10
@@ -31,7 +32,7 @@ require (
github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8
github.com/go-chi/chi/v5 v5.0.13
github.com/go-shiori/go-readability v0.0.0-20220215145315-dd6828d2f09b
- github.com/goccy/go-graphviz v0.1.3
+ github.com/goccy/go-graphviz v0.2.9
github.com/gogo/protobuf v1.3.2
github.com/gogo/status v1.1.1
github.com/golang-jwt/jwt v3.2.2+incompatible
@@ -45,6 +46,7 @@ require (
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645
github.com/h2non/filetype v1.1.3
github.com/hashicorp/go-multierror v1.1.1
+ github.com/hashicorp/yamux v0.1.1
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
@@ -64,6 +66,7 @@ require (
github.com/libp2p/zeroconf/v2 v2.2.0
github.com/logrusorgru/aurora v2.0.3+incompatible
github.com/magiconair/properties v1.8.7
+ github.com/matishsiao/goInfo v0.0.0-20240924010139-10388a85396f
github.com/mattn/go-sqlite3 v1.14.22
github.com/mb0/diff v0.0.0-20131118162322-d8d9a906c24d
github.com/microcosm-cc/bluemonday v1.0.25
@@ -78,7 +81,7 @@ require (
github.com/otiai10/copy v1.14.0
github.com/otiai10/opengraph/v2 v2.1.0
github.com/pkg/errors v0.9.1
- github.com/prometheus/client_golang v1.20.4
+ github.com/prometheus/client_golang v1.20.5
github.com/pseudomuto/protoc-gen-doc v1.5.1
github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd
github.com/samber/lo v1.47.0
@@ -89,7 +92,7 @@ require (
github.com/stretchr/testify v1.9.0
github.com/uber/jaeger-client-go v2.30.0+incompatible
github.com/valyala/fastjson v1.6.4
- github.com/vektra/mockery/v2 v2.42.2
+ github.com/vektra/mockery/v2 v2.46.3
github.com/xeipuuv/gojsonschema v1.2.0
github.com/yuin/goldmark v1.7.4
github.com/zeebo/blake3 v0.2.4
@@ -99,12 +102,13 @@ require (
go.uber.org/zap v1.27.0
golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c
golang.org/x/image v0.21.0
- golang.org/x/mobile v0.0.0-20240806205939-81131f6468ab
+ golang.org/x/mobile v0.0.0-20241016134751-7ff83004ec2c
golang.org/x/net v0.30.0
golang.org/x/oauth2 v0.23.0
golang.org/x/text v0.19.0
google.golang.org/grpc v1.67.1
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
storj.io/drpc v0.0.34
zombiezen.com/go/sqlite v1.4.0
@@ -121,7 +125,6 @@ require (
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect
github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5 // indirect
github.com/andybalholm/cascadia v1.3.2 // indirect
- github.com/anyproto/go-chash v0.1.0 // indirect
github.com/anyproto/go-slip10 v1.0.0 // indirect
github.com/anyproto/go-slip21 v1.0.0 // indirect
github.com/aymerick/douceur v0.2.0 // indirect
@@ -161,6 +164,7 @@ require (
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/flopp/go-findfont v0.1.0 // indirect
github.com/fogleman/gg v1.3.0 // indirect
github.com/fsnotify/fsnotify v1.6.0 // indirect
github.com/go-errors/errors v1.4.2 // indirect
@@ -186,7 +190,6 @@ require (
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
- github.com/hashicorp/yamux v0.1.1 // indirect
github.com/holiman/uint256 v1.2.4 // indirect
github.com/huandu/xstrings v1.4.0 // indirect
github.com/iancoleman/strcase v0.3.0 // indirect
@@ -252,6 +255,7 @@ require (
github.com/spf13/viper v1.15.0 // indirect
github.com/stretchr/objx v0.5.2 // indirect
github.com/subosito/gotenv v1.4.2 // indirect
+ github.com/tetratelabs/wazero v1.8.1 // indirect
github.com/tklauser/go-sysconf v0.3.12 // indirect
github.com/tklauser/numcpus v0.6.1 // indirect
github.com/tyler-smith/go-bip39 v1.1.0 // indirect
@@ -270,7 +274,7 @@ require (
golang.org/x/sync v0.8.0 // indirect
golang.org/x/sys v0.26.0 // indirect
golang.org/x/term v0.25.0 // indirect
- golang.org/x/time v0.6.0 // indirect
+ golang.org/x/time v0.7.0 // indirect
golang.org/x/tools v0.26.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect
diff --git a/go.sum b/go.sum
index 5f047ac80..e9de9b548 100644
--- a/go.sum
+++ b/go.sum
@@ -85,8 +85,8 @@ github.com/andybalholm/cascadia v1.3.2 h1:3Xi6Dw5lHF15JtdcmAHD3i1+T8plmv7BQ/nsVi
github.com/andybalholm/cascadia v1.3.2/go.mod h1:7gtRlve5FxPPgIgX36uWBX58OdBsSS6lUvCFb+h7KvU=
github.com/anyproto/any-store v0.1.1 h1:dZJt/ELKHzP0P6G3mT/Ch6CnX0pSHTAGpZYuBPCw2hA=
github.com/anyproto/any-store v0.1.1/go.mod h1:SDlN2AzysAfs8CDd28rrs6boUUtf5H/ydCvwmj+EbsE=
-github.com/anyproto/any-sync v0.5.5 h1:StWApo7eE9dzWw/PtGkEayEsrO7dbFid0dDRsq3DVio=
-github.com/anyproto/any-sync v0.5.5/go.mod h1:jXPhT2kjMVIPKEJZ/mW3NTP5j4Xsg4J5cp/ILGc/60A=
+github.com/anyproto/any-sync v0.5.11 h1:dOGrNoC39/H+NHmz9/etkzxASTAXqJYdiKrKCzlzTTA=
+github.com/anyproto/any-sync v0.5.11/go.mod h1:n9X9Hjq22aUHRPGrEbS1782SkEQXjKoFfExlZOFlqWA=
github.com/anyproto/badger/v4 v4.2.1-0.20240110160636-80743fa3d580 h1:Ba80IlCCxkZ9H1GF+7vFu/TSpPvbpDCxXJ5ogc4euYc=
github.com/anyproto/badger/v4 v4.2.1-0.20240110160636-80743fa3d580/go.mod h1:T/uWAYxrXdaXw64ihI++9RMbKTCpKd/yE9+saARew7k=
github.com/anyproto/go-chash v0.1.0 h1:I9meTPjXFRfXZHRJzjOHC/XF7Q5vzysKkiT/grsogXY=
@@ -113,8 +113,8 @@ github.com/anyproto/protobuf v1.3.3-0.20240814124528-72b8c7e0e0f5 h1:aY7tBzQ+z8H
github.com/anyproto/protobuf v1.3.3-0.20240814124528-72b8c7e0e0f5/go.mod h1:5+PHE01DgsDPkralb8MYmGg2sPQahsqEJ9ue7ciDHKg=
github.com/anyproto/ristretto v0.1.2-0.20240221153107-2b23839cc50c h1:GicoaTUyB2mtCIl3YMrO0OzysqRT5GA4vuvDsqEkhSM=
github.com/anyproto/ristretto v0.1.2-0.20240221153107-2b23839cc50c/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA=
-github.com/anyproto/tantivy-go v0.1.4 h1:Md3RZzkCB5Aw0FlvjvAQ3SQsUKZyQsUP3f33J8un7gA=
-github.com/anyproto/tantivy-go v0.1.4/go.mod h1:Pl0zaeEX7dkVDTDKROzlLlGCVjbZHjyPrZloFuVEASc=
+github.com/anyproto/tantivy-go v0.1.6-jieba h1:Adc1OA3pBzTktnDmO7KnEbzA0VkhIC4zqZB6EiDwOgg=
+github.com/anyproto/tantivy-go v0.1.6-jieba/go.mod h1:MMLYW7e5SIzsHS3Q5CYiF1J7kJJaIRT+VVHGArU24IQ=
github.com/anyproto/zeroconf/v2 v2.2.1-0.20240228113933-f90a5cc4439d h1:5bj7nX/AS8sxGpTIrapE7PC4oPlhkHMwMqXlJbUHBlg=
github.com/anyproto/zeroconf/v2 v2.2.1-0.20240228113933-f90a5cc4439d/go.mod h1:fuJqLnUwZTshS3U/bMRJ3+ow/v9oid1n0DmyYyNO1Xs=
github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
@@ -234,8 +234,8 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7
github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
-github.com/corona10/goimagehash v1.0.2 h1:pUfB0LnsJASMPGEZLj7tGY251vF+qLGqOgEP4rUs6kA=
-github.com/corona10/goimagehash v1.0.2/go.mod h1:/l9umBhvcHQXVtQO1V6Gp1yD20STawkhRnnX0D1bvVI=
+github.com/corona10/goimagehash v1.1.0 h1:teNMX/1e+Wn/AYSbLHX8mj+mF9r60R1kBeqE9MkoYwI=
+github.com/corona10/goimagehash v1.1.0/go.mod h1:VkvE0mLn84L4aF8vCb6mafVajEb6QYMHl2ZJLn0mOGI=
github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
@@ -320,6 +320,8 @@ github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9
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=
+github.com/flopp/go-findfont v0.1.0 h1:lPn0BymDUtJo+ZkV01VS3661HL6F4qFlkhcJN55u6mU=
+github.com/flopp/go-findfont v0.1.0/go.mod h1:wKKxRDjD024Rh7VMwoU90i6ikQRCr+JTHB5n4Ejkqvw=
github.com/flynn/noise v0.0.0-20180327030543-2492fe189ae6/go.mod h1:1i71OnUq3iUe1ma7Lr6yG6/rjvM3emb6yoL7xLFzcVQ=
github.com/flynn/noise v1.1.0 h1:KjPQoQCEFdZDiP03phOvGi11+SVVhBG2wOWAorLsstg=
github.com/flynn/noise v1.1.0/go.mod h1:xbMo+0i6+IGbYdJhF31t2eR1BIU0CYc12+BNAKwUTag=
@@ -395,8 +397,8 @@ github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8=
github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo=
github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM=
-github.com/goccy/go-graphviz v0.1.3 h1:Pkt8y4FBnBNI9tfSobpoN5qy1qMNqRXPQYvLhaSUasY=
-github.com/goccy/go-graphviz v0.1.3/go.mod h1:pMYpbAqJT10V8dzV1JN/g/wUlG/0imKPzn3ZsrchGCI=
+github.com/goccy/go-graphviz v0.2.9 h1:4yD2MIMpxNt+sOEARDh5jTE2S/jeAKi92w72B83mWGg=
+github.com/goccy/go-graphviz v0.2.9/go.mod h1:hssjl/qbvUXGmloY81BwXt2nqoApKo7DFgDj5dLJGb8=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
@@ -971,6 +973,8 @@ github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czP
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
+github.com/matishsiao/goInfo v0.0.0-20240924010139-10388a85396f h1:XDrsC/9hdgiU9ecceSmYsS2E3fBtFiYc34dAMFgegnM=
+github.com/matishsiao/goInfo v0.0.0-20240924010139-10388a85396f/go.mod h1:aEt7p9Rvh67BYApmZwNDPpgircTO2kgdmDUoF/1QmwA=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
@@ -1109,8 +1113,8 @@ github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxzi
github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4=
github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls=
-github.com/nfnt/resize v0.0.0-20160724205520-891127d8d1b5 h1:BvoENQQU+fZ9uukda/RzCAL/191HHwJA5b13R6diVlY=
-github.com/nfnt/resize v0.0.0-20160724205520-891127d8d1b5/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
+github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ=
+github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs=
@@ -1220,8 +1224,8 @@ github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDf
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.4 h1:Tgh3Yr67PaOv/uTqloMsCEdeuFTatm5zIq5+qNN23vI=
-github.com/prometheus/client_golang v1.20.4/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
+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_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=
@@ -1374,6 +1378,8 @@ github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8
github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ=
+github.com/tetratelabs/wazero v1.8.1 h1:NrcgVbWfkWvVc4UtT4LRLDf91PsOzDzefMdwhLfA550=
+github.com/tetratelabs/wazero v1.8.1/go.mod h1:yAI0XTsMBhREkM/YDAK/zNou3GoiAce1P6+rp/wQhjs=
github.com/tj/assert v0.0.0-20190920132354-ee03d75cd160 h1:NSWpaDaurcAJY7PkL8Xt0PhZE7qpvbZl5ljd8r6U0bI=
github.com/tj/assert v0.0.0-20190920132354-ee03d75cd160/go.mod h1:mZ9/Rh9oLWpLLDRpvE+3b7gP/C2YyLFYxNmcLnPTMe0=
github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU=
@@ -1399,8 +1405,8 @@ github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtX
github.com/urfave/cli v1.22.10/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/valyala/fastjson v1.6.4 h1:uAUNq9Z6ymTgGhcm0UynUAB6tlbakBrz6CQFax3BXVQ=
github.com/valyala/fastjson v1.6.4/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY=
-github.com/vektra/mockery/v2 v2.42.2 h1:SSIvwnXBl9EynibBZhQ/hBXuV5TYPdZFIqkm4UkQHU4=
-github.com/vektra/mockery/v2 v2.42.2/go.mod h1:XNTE9RIu3deGAGQRVjP1VZxGpQNm0YedZx4oDs3prr8=
+github.com/vektra/mockery/v2 v2.46.3 h1:Aia4iShZeNTy6CZJcvweK4X97XOzXcqb+k9jm8IqBS0=
+github.com/vektra/mockery/v2 v2.46.3/go.mod h1:dDivqi0ShM8A29mLgZn13yZ14MdXlTM4V360u8JDWCQ=
github.com/warpfork/go-testmark v0.12.1 h1:rMgCpJfwy1sJ50x0M0NgyphxYYPMOODIJHhsXyEHU0s=
github.com/warpfork/go-testmark v0.12.1/go.mod h1:kHwy7wfvGSPh1rQJYKayD4AbtNaeyZdcGi9tNJTaa5Y=
github.com/warpfork/go-wish v0.0.0-20180510122957-5ad1f5abf436/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw=
@@ -1561,8 +1567,8 @@ golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPI
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
-golang.org/x/mobile v0.0.0-20240806205939-81131f6468ab h1:KONOFF8Uy3b60HEzOsGnNghORNhY4ImyOx0PGm73K9k=
-golang.org/x/mobile v0.0.0-20240806205939-81131f6468ab/go.mod h1:udWezQGYjqrCxz5nV321pXQTx5oGbZx+khZvFjZNOPM=
+golang.org/x/mobile v0.0.0-20241016134751-7ff83004ec2c h1:zuNS/LWsEpPTLfrmBkis6Xofw3nieAqB4hYLn8+uswk=
+golang.org/x/mobile v0.0.0-20241016134751-7ff83004ec2c/go.mod h1:snk1Mn2ZpdKCt90JPEsDh4sL3ReK520U2t0d7RHBnSU=
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
@@ -1788,8 +1794,8 @@ golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxb
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=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U=
-golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
+golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ=
+golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -1988,6 +1994,8 @@ gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMy
gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
+gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc=
+gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc=
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
gopkg.in/src-d/go-cli.v0 v0.0.0-20181105080154-d492247bbc0d/go.mod h1:z+K8VcOYVYcSwSjGebuDL6176A1XskgbtNl64NSg+n8=
gopkg.in/src-d/go-log.v1 v1.0.1/go.mod h1:GN34hKP0g305ysm2/hctJ0Y8nWP3zxXXJ8GFabTyABE=
diff --git a/metrics/service.go b/metrics/service.go
index a04d1736f..f931751a2 100644
--- a/metrics/service.go
+++ b/metrics/service.go
@@ -47,6 +47,7 @@ type MetricsService interface {
SetUserId(id string)
Send(ev anymetry.Event)
SendSampled(ev SamplableEvent)
+ SetEnabled(isEnabled bool)
Run()
Close()
@@ -64,15 +65,23 @@ type service struct {
workingDir string
clients [1]*client
alreadyRunning bool
+ isEnabled bool
}
func (s *service) SendSampled(ev SamplableEvent) {
+ if !s.isEnabled {
+ return
+ }
if ev == nil {
return
}
s.getBackend(ev.GetBackend()).sendSampled(ev)
}
+func (s *service) SetEnabled(isEnabled bool) {
+ s.isEnabled = isEnabled
+}
+
func NewService() MetricsService {
ctx := context.Background()
ctx, cancel := context.WithCancel(ctx)
@@ -173,6 +182,9 @@ func (s *service) GetStartVersion() string {
func (s *service) Run() {
s.lock.Lock()
defer s.lock.Unlock()
+ if !s.isEnabled {
+ return
+ }
if s.alreadyRunning {
return
}
@@ -189,6 +201,9 @@ func (s *service) Run() {
func (s *service) Close() {
s.lock.Lock()
defer s.lock.Unlock()
+ if !s.isEnabled {
+ return
+ }
for _, c := range s.clients {
c.Close()
}
@@ -196,6 +211,9 @@ func (s *service) Close() {
}
func (s *service) Send(ev anymetry.Event) {
+ if !s.isEnabled {
+ return
+ }
if ev == nil {
return
}
diff --git a/pb/commands.pb.go b/pb/commands.pb.go
index c3f695faf..206ce8a1a 100644
--- a/pb/commands.pb.go
+++ b/pb/commands.pb.go
@@ -7559,6 +7559,37 @@ func (RpcDebugAccountSelectTraceResponseErrorCode) EnumDescriptor() ([]byte, []i
return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 10, 1, 0, 0}
}
+type RpcDebugExportLogResponseErrorCode int32
+
+const (
+ RpcDebugExportLogResponseError_NULL RpcDebugExportLogResponseErrorCode = 0
+ RpcDebugExportLogResponseError_UNKNOWN_ERROR RpcDebugExportLogResponseErrorCode = 1
+ RpcDebugExportLogResponseError_BAD_INPUT RpcDebugExportLogResponseErrorCode = 2
+ RpcDebugExportLogResponseError_NO_FOLDER RpcDebugExportLogResponseErrorCode = 3
+)
+
+var RpcDebugExportLogResponseErrorCode_name = map[int32]string{
+ 0: "NULL",
+ 1: "UNKNOWN_ERROR",
+ 2: "BAD_INPUT",
+ 3: "NO_FOLDER",
+}
+
+var RpcDebugExportLogResponseErrorCode_value = map[string]int32{
+ "NULL": 0,
+ "UNKNOWN_ERROR": 1,
+ "BAD_INPUT": 2,
+ "NO_FOLDER": 3,
+}
+
+func (x RpcDebugExportLogResponseErrorCode) String() string {
+ return proto.EnumName(RpcDebugExportLogResponseErrorCode_name, int32(x))
+}
+
+func (RpcDebugExportLogResponseErrorCode) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 11, 1, 0, 0}
+}
+
type RpcDebugPingResponseErrorCode int32
const (
@@ -7584,7 +7615,7 @@ func (x RpcDebugPingResponseErrorCode) String() string {
}
func (RpcDebugPingResponseErrorCode) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 11, 1, 0, 0}
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 12, 1, 0, 0}
}
type RpcDebugAnystoreObjectChangesRequestOrderBy int32
@@ -7609,7 +7640,7 @@ func (x RpcDebugAnystoreObjectChangesRequestOrderBy) String() string {
}
func (RpcDebugAnystoreObjectChangesRequestOrderBy) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 12, 0, 0}
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 13, 0, 0}
}
type RpcDebugAnystoreObjectChangesResponseErrorCode int32
@@ -7637,34 +7668,62 @@ func (x RpcDebugAnystoreObjectChangesResponseErrorCode) String() string {
}
func (RpcDebugAnystoreObjectChangesResponseErrorCode) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 12, 1, 1, 0}
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 13, 1, 1, 0}
}
-type RpcMetricsSetParametersResponseErrorCode int32
+type RpcDebugNetCheckResponseErrorCode int32
const (
- RpcMetricsSetParametersResponseError_NULL RpcMetricsSetParametersResponseErrorCode = 0
- RpcMetricsSetParametersResponseError_UNKNOWN_ERROR RpcMetricsSetParametersResponseErrorCode = 1
- RpcMetricsSetParametersResponseError_BAD_INPUT RpcMetricsSetParametersResponseErrorCode = 2
+ RpcDebugNetCheckResponseError_NULL RpcDebugNetCheckResponseErrorCode = 0
+ RpcDebugNetCheckResponseError_UNKNOWN_ERROR RpcDebugNetCheckResponseErrorCode = 1
+ RpcDebugNetCheckResponseError_BAD_INPUT RpcDebugNetCheckResponseErrorCode = 2
)
-var RpcMetricsSetParametersResponseErrorCode_name = map[int32]string{
+var RpcDebugNetCheckResponseErrorCode_name = map[int32]string{
0: "NULL",
1: "UNKNOWN_ERROR",
2: "BAD_INPUT",
}
-var RpcMetricsSetParametersResponseErrorCode_value = map[string]int32{
+var RpcDebugNetCheckResponseErrorCode_value = map[string]int32{
"NULL": 0,
"UNKNOWN_ERROR": 1,
"BAD_INPUT": 2,
}
-func (x RpcMetricsSetParametersResponseErrorCode) String() string {
- return proto.EnumName(RpcMetricsSetParametersResponseErrorCode_name, int32(x))
+func (x RpcDebugNetCheckResponseErrorCode) String() string {
+ return proto.EnumName(RpcDebugNetCheckResponseErrorCode_name, int32(x))
}
-func (RpcMetricsSetParametersResponseErrorCode) EnumDescriptor() ([]byte, []int) {
+func (RpcDebugNetCheckResponseErrorCode) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 14, 1, 0, 0}
+}
+
+type RpcInitialSetParametersResponseErrorCode int32
+
+const (
+ RpcInitialSetParametersResponseError_NULL RpcInitialSetParametersResponseErrorCode = 0
+ RpcInitialSetParametersResponseError_UNKNOWN_ERROR RpcInitialSetParametersResponseErrorCode = 1
+ RpcInitialSetParametersResponseError_BAD_INPUT RpcInitialSetParametersResponseErrorCode = 2
+)
+
+var RpcInitialSetParametersResponseErrorCode_name = map[int32]string{
+ 0: "NULL",
+ 1: "UNKNOWN_ERROR",
+ 2: "BAD_INPUT",
+}
+
+var RpcInitialSetParametersResponseErrorCode_value = map[string]int32{
+ "NULL": 0,
+ "UNKNOWN_ERROR": 1,
+ "BAD_INPUT": 2,
+}
+
+func (x RpcInitialSetParametersResponseErrorCode) String() string {
+ return proto.EnumName(RpcInitialSetParametersResponseErrorCode_name, int32(x))
+}
+
+func (RpcInitialSetParametersResponseErrorCode) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_8261c968b2e6f45c, []int{0, 31, 0, 1, 0, 0}
}
@@ -16399,8 +16458,9 @@ func (m *RpcWorkspaceCreate) XXX_DiscardUnknown() {
var xxx_messageInfo_RpcWorkspaceCreate proto.InternalMessageInfo
type RpcWorkspaceCreateRequest struct {
- Details *types.Struct `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"`
- UseCase RpcObjectImportUseCaseRequestUseCase `protobuf:"varint,2,opt,name=useCase,proto3,enum=anytype.RpcObjectImportUseCaseRequestUseCase" json:"useCase,omitempty"`
+ Details *types.Struct `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"`
+ UseCase RpcObjectImportUseCaseRequestUseCase `protobuf:"varint,2,opt,name=useCase,proto3,enum=anytype.RpcObjectImportUseCaseRequestUseCase" json:"useCase,omitempty"`
+ WithChat bool `protobuf:"varint,3,opt,name=withChat,proto3" json:"withChat,omitempty"`
}
func (m *RpcWorkspaceCreateRequest) Reset() { *m = RpcWorkspaceCreateRequest{} }
@@ -16450,6 +16510,13 @@ func (m *RpcWorkspaceCreateRequest) GetUseCase() RpcObjectImportUseCaseRequestUs
return RpcObjectImportUseCaseRequest_NONE
}
+func (m *RpcWorkspaceCreateRequest) GetWithChat() bool {
+ if m != nil {
+ return m.WithChat
+ }
+ return false
+}
+
type RpcWorkspaceCreateResponse struct {
Error *RpcWorkspaceCreateResponseError `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
SpaceId string `protobuf:"bytes,2,opt,name=spaceId,proto3" json:"spaceId,omitempty"`
@@ -16591,7 +16658,8 @@ func (m *RpcWorkspaceOpen) XXX_DiscardUnknown() {
var xxx_messageInfo_RpcWorkspaceOpen proto.InternalMessageInfo
type RpcWorkspaceOpenRequest struct {
- SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"`
+ SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"`
+ WithChat bool `protobuf:"varint,2,opt,name=withChat,proto3" json:"withChat,omitempty"`
}
func (m *RpcWorkspaceOpenRequest) Reset() { *m = RpcWorkspaceOpenRequest{} }
@@ -16634,6 +16702,13 @@ func (m *RpcWorkspaceOpenRequest) GetSpaceId() string {
return ""
}
+func (m *RpcWorkspaceOpenRequest) GetWithChat() bool {
+ if m != nil {
+ return m.WithChat
+ }
+ return false
+}
+
type RpcWorkspaceOpenResponse struct {
Error *RpcWorkspaceOpenResponseError `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
Info *model.AccountInfo `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"`
@@ -60437,6 +60512,190 @@ func (m *RpcDebugAccountSelectTraceResponseError) GetDescription() string {
return ""
}
+type RpcDebugExportLog struct {
+}
+
+func (m *RpcDebugExportLog) Reset() { *m = RpcDebugExportLog{} }
+func (m *RpcDebugExportLog) String() string { return proto.CompactTextString(m) }
+func (*RpcDebugExportLog) ProtoMessage() {}
+func (*RpcDebugExportLog) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 11}
+}
+func (m *RpcDebugExportLog) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *RpcDebugExportLog) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ if deterministic {
+ return xxx_messageInfo_RpcDebugExportLog.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 *RpcDebugExportLog) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_RpcDebugExportLog.Merge(m, src)
+}
+func (m *RpcDebugExportLog) XXX_Size() int {
+ return m.Size()
+}
+func (m *RpcDebugExportLog) XXX_DiscardUnknown() {
+ xxx_messageInfo_RpcDebugExportLog.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RpcDebugExportLog proto.InternalMessageInfo
+
+type RpcDebugExportLogRequest struct {
+ Dir string `protobuf:"bytes,1,opt,name=dir,proto3" json:"dir,omitempty"`
+}
+
+func (m *RpcDebugExportLogRequest) Reset() { *m = RpcDebugExportLogRequest{} }
+func (m *RpcDebugExportLogRequest) String() string { return proto.CompactTextString(m) }
+func (*RpcDebugExportLogRequest) ProtoMessage() {}
+func (*RpcDebugExportLogRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 11, 0}
+}
+func (m *RpcDebugExportLogRequest) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *RpcDebugExportLogRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ if deterministic {
+ return xxx_messageInfo_RpcDebugExportLogRequest.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 *RpcDebugExportLogRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_RpcDebugExportLogRequest.Merge(m, src)
+}
+func (m *RpcDebugExportLogRequest) XXX_Size() int {
+ return m.Size()
+}
+func (m *RpcDebugExportLogRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_RpcDebugExportLogRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RpcDebugExportLogRequest proto.InternalMessageInfo
+
+func (m *RpcDebugExportLogRequest) GetDir() string {
+ if m != nil {
+ return m.Dir
+ }
+ return ""
+}
+
+type RpcDebugExportLogResponse struct {
+ Error *RpcDebugExportLogResponseError `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
+ Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
+}
+
+func (m *RpcDebugExportLogResponse) Reset() { *m = RpcDebugExportLogResponse{} }
+func (m *RpcDebugExportLogResponse) String() string { return proto.CompactTextString(m) }
+func (*RpcDebugExportLogResponse) ProtoMessage() {}
+func (*RpcDebugExportLogResponse) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 11, 1}
+}
+func (m *RpcDebugExportLogResponse) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *RpcDebugExportLogResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ if deterministic {
+ return xxx_messageInfo_RpcDebugExportLogResponse.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 *RpcDebugExportLogResponse) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_RpcDebugExportLogResponse.Merge(m, src)
+}
+func (m *RpcDebugExportLogResponse) XXX_Size() int {
+ return m.Size()
+}
+func (m *RpcDebugExportLogResponse) XXX_DiscardUnknown() {
+ xxx_messageInfo_RpcDebugExportLogResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RpcDebugExportLogResponse proto.InternalMessageInfo
+
+func (m *RpcDebugExportLogResponse) GetError() *RpcDebugExportLogResponseError {
+ if m != nil {
+ return m.Error
+ }
+ return nil
+}
+
+func (m *RpcDebugExportLogResponse) GetPath() string {
+ if m != nil {
+ return m.Path
+ }
+ return ""
+}
+
+type RpcDebugExportLogResponseError struct {
+ Code RpcDebugExportLogResponseErrorCode `protobuf:"varint,1,opt,name=code,proto3,enum=anytype.RpcDebugExportLogResponseErrorCode" json:"code,omitempty"`
+ Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
+}
+
+func (m *RpcDebugExportLogResponseError) Reset() { *m = RpcDebugExportLogResponseError{} }
+func (m *RpcDebugExportLogResponseError) String() string { return proto.CompactTextString(m) }
+func (*RpcDebugExportLogResponseError) ProtoMessage() {}
+func (*RpcDebugExportLogResponseError) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 11, 1, 0}
+}
+func (m *RpcDebugExportLogResponseError) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *RpcDebugExportLogResponseError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ if deterministic {
+ return xxx_messageInfo_RpcDebugExportLogResponseError.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 *RpcDebugExportLogResponseError) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_RpcDebugExportLogResponseError.Merge(m, src)
+}
+func (m *RpcDebugExportLogResponseError) XXX_Size() int {
+ return m.Size()
+}
+func (m *RpcDebugExportLogResponseError) XXX_DiscardUnknown() {
+ xxx_messageInfo_RpcDebugExportLogResponseError.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RpcDebugExportLogResponseError proto.InternalMessageInfo
+
+func (m *RpcDebugExportLogResponseError) GetCode() RpcDebugExportLogResponseErrorCode {
+ if m != nil {
+ return m.Code
+ }
+ return RpcDebugExportLogResponseError_NULL
+}
+
+func (m *RpcDebugExportLogResponseError) GetDescription() string {
+ if m != nil {
+ return m.Description
+ }
+ return ""
+}
+
type RpcDebugPing struct {
}
@@ -60444,7 +60703,7 @@ func (m *RpcDebugPing) Reset() { *m = RpcDebugPing{} }
func (m *RpcDebugPing) String() string { return proto.CompactTextString(m) }
func (*RpcDebugPing) ProtoMessage() {}
func (*RpcDebugPing) Descriptor() ([]byte, []int) {
- return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 11}
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 12}
}
func (m *RpcDebugPing) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -60482,7 +60741,7 @@ func (m *RpcDebugPingRequest) Reset() { *m = RpcDebugPingRequest{} }
func (m *RpcDebugPingRequest) String() string { return proto.CompactTextString(m) }
func (*RpcDebugPingRequest) ProtoMessage() {}
func (*RpcDebugPingRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 11, 0}
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 12, 0}
}
func (m *RpcDebugPingRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -60534,7 +60793,7 @@ func (m *RpcDebugPingResponse) Reset() { *m = RpcDebugPingResponse{} }
func (m *RpcDebugPingResponse) String() string { return proto.CompactTextString(m) }
func (*RpcDebugPingResponse) ProtoMessage() {}
func (*RpcDebugPingResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 11, 1}
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 12, 1}
}
func (m *RpcDebugPingResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -60586,7 +60845,7 @@ func (m *RpcDebugPingResponseError) Reset() { *m = RpcDebugPingResponseE
func (m *RpcDebugPingResponseError) String() string { return proto.CompactTextString(m) }
func (*RpcDebugPingResponseError) ProtoMessage() {}
func (*RpcDebugPingResponseError) Descriptor() ([]byte, []int) {
- return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 11, 1, 0}
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 12, 1, 0}
}
func (m *RpcDebugPingResponseError) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -60636,7 +60895,7 @@ func (m *RpcDebugAnystoreObjectChanges) Reset() { *m = RpcDebugAnystoreO
func (m *RpcDebugAnystoreObjectChanges) String() string { return proto.CompactTextString(m) }
func (*RpcDebugAnystoreObjectChanges) ProtoMessage() {}
func (*RpcDebugAnystoreObjectChanges) Descriptor() ([]byte, []int) {
- return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 12}
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 13}
}
func (m *RpcDebugAnystoreObjectChanges) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -60674,7 +60933,7 @@ func (m *RpcDebugAnystoreObjectChangesRequest) Reset() { *m = RpcDebugAn
func (m *RpcDebugAnystoreObjectChangesRequest) String() string { return proto.CompactTextString(m) }
func (*RpcDebugAnystoreObjectChangesRequest) ProtoMessage() {}
func (*RpcDebugAnystoreObjectChangesRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 12, 0}
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 13, 0}
}
func (m *RpcDebugAnystoreObjectChangesRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -60727,7 +60986,7 @@ func (m *RpcDebugAnystoreObjectChangesResponse) Reset() { *m = RpcDebugA
func (m *RpcDebugAnystoreObjectChangesResponse) String() string { return proto.CompactTextString(m) }
func (*RpcDebugAnystoreObjectChangesResponse) ProtoMessage() {}
func (*RpcDebugAnystoreObjectChangesResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 12, 1}
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 13, 1}
}
func (m *RpcDebugAnystoreObjectChangesResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -60792,7 +61051,7 @@ func (m *RpcDebugAnystoreObjectChangesResponseChange) String() string {
}
func (*RpcDebugAnystoreObjectChangesResponseChange) ProtoMessage() {}
func (*RpcDebugAnystoreObjectChangesResponseChange) Descriptor() ([]byte, []int) {
- return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 12, 1, 0}
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 13, 1, 0}
}
func (m *RpcDebugAnystoreObjectChangesResponseChange) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -60862,7 +61121,7 @@ func (m *RpcDebugAnystoreObjectChangesResponseError) String() string {
}
func (*RpcDebugAnystoreObjectChangesResponseError) ProtoMessage() {}
func (*RpcDebugAnystoreObjectChangesResponseError) Descriptor() ([]byte, []int) {
- return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 12, 1, 1}
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 13, 1, 1}
}
func (m *RpcDebugAnystoreObjectChangesResponseError) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@@ -60905,21 +61164,21 @@ func (m *RpcDebugAnystoreObjectChangesResponseError) GetDescription() string {
return ""
}
-type RpcMetrics struct {
+type RpcDebugNetCheck struct {
}
-func (m *RpcMetrics) Reset() { *m = RpcMetrics{} }
-func (m *RpcMetrics) String() string { return proto.CompactTextString(m) }
-func (*RpcMetrics) ProtoMessage() {}
-func (*RpcMetrics) Descriptor() ([]byte, []int) {
- return fileDescriptor_8261c968b2e6f45c, []int{0, 31}
+func (m *RpcDebugNetCheck) Reset() { *m = RpcDebugNetCheck{} }
+func (m *RpcDebugNetCheck) String() string { return proto.CompactTextString(m) }
+func (*RpcDebugNetCheck) ProtoMessage() {}
+func (*RpcDebugNetCheck) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 14}
}
-func (m *RpcMetrics) XXX_Unmarshal(b []byte) error {
+func (m *RpcDebugNetCheck) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
-func (m *RpcMetrics) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+func (m *RpcDebugNetCheck) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
if deterministic {
- return xxx_messageInfo_RpcMetrics.Marshal(b, m, deterministic)
+ return xxx_messageInfo_RpcDebugNetCheck.Marshal(b, m, deterministic)
} else {
b = b[:cap(b)]
n, err := m.MarshalToSizedBuffer(b)
@@ -60929,33 +61188,34 @@ func (m *RpcMetrics) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return b[:n], nil
}
}
-func (m *RpcMetrics) XXX_Merge(src proto.Message) {
- xxx_messageInfo_RpcMetrics.Merge(m, src)
+func (m *RpcDebugNetCheck) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_RpcDebugNetCheck.Merge(m, src)
}
-func (m *RpcMetrics) XXX_Size() int {
+func (m *RpcDebugNetCheck) XXX_Size() int {
return m.Size()
}
-func (m *RpcMetrics) XXX_DiscardUnknown() {
- xxx_messageInfo_RpcMetrics.DiscardUnknown(m)
+func (m *RpcDebugNetCheck) XXX_DiscardUnknown() {
+ xxx_messageInfo_RpcDebugNetCheck.DiscardUnknown(m)
}
-var xxx_messageInfo_RpcMetrics proto.InternalMessageInfo
+var xxx_messageInfo_RpcDebugNetCheck proto.InternalMessageInfo
-type RpcMetricsSetParameters struct {
+type RpcDebugNetCheckRequest struct {
+ ClientYml string `protobuf:"bytes,1,opt,name=clientYml,proto3" json:"clientYml,omitempty"`
}
-func (m *RpcMetricsSetParameters) Reset() { *m = RpcMetricsSetParameters{} }
-func (m *RpcMetricsSetParameters) String() string { return proto.CompactTextString(m) }
-func (*RpcMetricsSetParameters) ProtoMessage() {}
-func (*RpcMetricsSetParameters) Descriptor() ([]byte, []int) {
- return fileDescriptor_8261c968b2e6f45c, []int{0, 31, 0}
+func (m *RpcDebugNetCheckRequest) Reset() { *m = RpcDebugNetCheckRequest{} }
+func (m *RpcDebugNetCheckRequest) String() string { return proto.CompactTextString(m) }
+func (*RpcDebugNetCheckRequest) ProtoMessage() {}
+func (*RpcDebugNetCheckRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 14, 0}
}
-func (m *RpcMetricsSetParameters) XXX_Unmarshal(b []byte) error {
+func (m *RpcDebugNetCheckRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
-func (m *RpcMetricsSetParameters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+func (m *RpcDebugNetCheckRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
if deterministic {
- return xxx_messageInfo_RpcMetricsSetParameters.Marshal(b, m, deterministic)
+ return xxx_messageInfo_RpcDebugNetCheckRequest.Marshal(b, m, deterministic)
} else {
b = b[:cap(b)]
n, err := m.MarshalToSizedBuffer(b)
@@ -60965,86 +61225,42 @@ func (m *RpcMetricsSetParameters) XXX_Marshal(b []byte, deterministic bool) ([]b
return b[:n], nil
}
}
-func (m *RpcMetricsSetParameters) XXX_Merge(src proto.Message) {
- xxx_messageInfo_RpcMetricsSetParameters.Merge(m, src)
+func (m *RpcDebugNetCheckRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_RpcDebugNetCheckRequest.Merge(m, src)
}
-func (m *RpcMetricsSetParameters) XXX_Size() int {
+func (m *RpcDebugNetCheckRequest) XXX_Size() int {
return m.Size()
}
-func (m *RpcMetricsSetParameters) XXX_DiscardUnknown() {
- xxx_messageInfo_RpcMetricsSetParameters.DiscardUnknown(m)
+func (m *RpcDebugNetCheckRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_RpcDebugNetCheckRequest.DiscardUnknown(m)
}
-var xxx_messageInfo_RpcMetricsSetParameters proto.InternalMessageInfo
+var xxx_messageInfo_RpcDebugNetCheckRequest proto.InternalMessageInfo
-type RpcMetricsSetParametersRequest struct {
- Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
- Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
-}
-
-func (m *RpcMetricsSetParametersRequest) Reset() { *m = RpcMetricsSetParametersRequest{} }
-func (m *RpcMetricsSetParametersRequest) String() string { return proto.CompactTextString(m) }
-func (*RpcMetricsSetParametersRequest) ProtoMessage() {}
-func (*RpcMetricsSetParametersRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_8261c968b2e6f45c, []int{0, 31, 0, 0}
-}
-func (m *RpcMetricsSetParametersRequest) XXX_Unmarshal(b []byte) error {
- return m.Unmarshal(b)
-}
-func (m *RpcMetricsSetParametersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
- if deterministic {
- return xxx_messageInfo_RpcMetricsSetParametersRequest.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 *RpcMetricsSetParametersRequest) XXX_Merge(src proto.Message) {
- xxx_messageInfo_RpcMetricsSetParametersRequest.Merge(m, src)
-}
-func (m *RpcMetricsSetParametersRequest) XXX_Size() int {
- return m.Size()
-}
-func (m *RpcMetricsSetParametersRequest) XXX_DiscardUnknown() {
- xxx_messageInfo_RpcMetricsSetParametersRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_RpcMetricsSetParametersRequest proto.InternalMessageInfo
-
-func (m *RpcMetricsSetParametersRequest) GetPlatform() string {
+func (m *RpcDebugNetCheckRequest) GetClientYml() string {
if m != nil {
- return m.Platform
+ return m.ClientYml
}
return ""
}
-func (m *RpcMetricsSetParametersRequest) GetVersion() string {
- if m != nil {
- return m.Version
- }
- return ""
+type RpcDebugNetCheckResponse struct {
+ Error *RpcDebugNetCheckResponseError `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
+ Result string `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"`
}
-type RpcMetricsSetParametersResponse struct {
- Error *RpcMetricsSetParametersResponseError `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
+func (m *RpcDebugNetCheckResponse) Reset() { *m = RpcDebugNetCheckResponse{} }
+func (m *RpcDebugNetCheckResponse) String() string { return proto.CompactTextString(m) }
+func (*RpcDebugNetCheckResponse) ProtoMessage() {}
+func (*RpcDebugNetCheckResponse) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 14, 1}
}
-
-func (m *RpcMetricsSetParametersResponse) Reset() { *m = RpcMetricsSetParametersResponse{} }
-func (m *RpcMetricsSetParametersResponse) String() string { return proto.CompactTextString(m) }
-func (*RpcMetricsSetParametersResponse) ProtoMessage() {}
-func (*RpcMetricsSetParametersResponse) Descriptor() ([]byte, []int) {
- return fileDescriptor_8261c968b2e6f45c, []int{0, 31, 0, 1}
-}
-func (m *RpcMetricsSetParametersResponse) XXX_Unmarshal(b []byte) error {
+func (m *RpcDebugNetCheckResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
-func (m *RpcMetricsSetParametersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+func (m *RpcDebugNetCheckResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
if deterministic {
- return xxx_messageInfo_RpcMetricsSetParametersResponse.Marshal(b, m, deterministic)
+ return xxx_messageInfo_RpcDebugNetCheckResponse.Marshal(b, m, deterministic)
} else {
b = b[:cap(b)]
n, err := m.MarshalToSizedBuffer(b)
@@ -61054,42 +61270,49 @@ func (m *RpcMetricsSetParametersResponse) XXX_Marshal(b []byte, deterministic bo
return b[:n], nil
}
}
-func (m *RpcMetricsSetParametersResponse) XXX_Merge(src proto.Message) {
- xxx_messageInfo_RpcMetricsSetParametersResponse.Merge(m, src)
+func (m *RpcDebugNetCheckResponse) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_RpcDebugNetCheckResponse.Merge(m, src)
}
-func (m *RpcMetricsSetParametersResponse) XXX_Size() int {
+func (m *RpcDebugNetCheckResponse) XXX_Size() int {
return m.Size()
}
-func (m *RpcMetricsSetParametersResponse) XXX_DiscardUnknown() {
- xxx_messageInfo_RpcMetricsSetParametersResponse.DiscardUnknown(m)
+func (m *RpcDebugNetCheckResponse) XXX_DiscardUnknown() {
+ xxx_messageInfo_RpcDebugNetCheckResponse.DiscardUnknown(m)
}
-var xxx_messageInfo_RpcMetricsSetParametersResponse proto.InternalMessageInfo
+var xxx_messageInfo_RpcDebugNetCheckResponse proto.InternalMessageInfo
-func (m *RpcMetricsSetParametersResponse) GetError() *RpcMetricsSetParametersResponseError {
+func (m *RpcDebugNetCheckResponse) GetError() *RpcDebugNetCheckResponseError {
if m != nil {
return m.Error
}
return nil
}
-type RpcMetricsSetParametersResponseError struct {
- Code RpcMetricsSetParametersResponseErrorCode `protobuf:"varint,1,opt,name=code,proto3,enum=anytype.RpcMetricsSetParametersResponseErrorCode" json:"code,omitempty"`
- Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
+func (m *RpcDebugNetCheckResponse) GetResult() string {
+ if m != nil {
+ return m.Result
+ }
+ return ""
}
-func (m *RpcMetricsSetParametersResponseError) Reset() { *m = RpcMetricsSetParametersResponseError{} }
-func (m *RpcMetricsSetParametersResponseError) String() string { return proto.CompactTextString(m) }
-func (*RpcMetricsSetParametersResponseError) ProtoMessage() {}
-func (*RpcMetricsSetParametersResponseError) Descriptor() ([]byte, []int) {
- return fileDescriptor_8261c968b2e6f45c, []int{0, 31, 0, 1, 0}
+type RpcDebugNetCheckResponseError struct {
+ Code RpcDebugNetCheckResponseErrorCode `protobuf:"varint,1,opt,name=code,proto3,enum=anytype.RpcDebugNetCheckResponseErrorCode" json:"code,omitempty"`
+ Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
}
-func (m *RpcMetricsSetParametersResponseError) XXX_Unmarshal(b []byte) error {
+
+func (m *RpcDebugNetCheckResponseError) Reset() { *m = RpcDebugNetCheckResponseError{} }
+func (m *RpcDebugNetCheckResponseError) String() string { return proto.CompactTextString(m) }
+func (*RpcDebugNetCheckResponseError) ProtoMessage() {}
+func (*RpcDebugNetCheckResponseError) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 30, 14, 1, 0}
+}
+func (m *RpcDebugNetCheckResponseError) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
-func (m *RpcMetricsSetParametersResponseError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+func (m *RpcDebugNetCheckResponseError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
if deterministic {
- return xxx_messageInfo_RpcMetricsSetParametersResponseError.Marshal(b, m, deterministic)
+ return xxx_messageInfo_RpcDebugNetCheckResponseError.Marshal(b, m, deterministic)
} else {
b = b[:cap(b)]
n, err := m.MarshalToSizedBuffer(b)
@@ -61099,26 +61322,286 @@ func (m *RpcMetricsSetParametersResponseError) XXX_Marshal(b []byte, determinist
return b[:n], nil
}
}
-func (m *RpcMetricsSetParametersResponseError) XXX_Merge(src proto.Message) {
- xxx_messageInfo_RpcMetricsSetParametersResponseError.Merge(m, src)
+func (m *RpcDebugNetCheckResponseError) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_RpcDebugNetCheckResponseError.Merge(m, src)
}
-func (m *RpcMetricsSetParametersResponseError) XXX_Size() int {
+func (m *RpcDebugNetCheckResponseError) XXX_Size() int {
return m.Size()
}
-func (m *RpcMetricsSetParametersResponseError) XXX_DiscardUnknown() {
- xxx_messageInfo_RpcMetricsSetParametersResponseError.DiscardUnknown(m)
+func (m *RpcDebugNetCheckResponseError) XXX_DiscardUnknown() {
+ xxx_messageInfo_RpcDebugNetCheckResponseError.DiscardUnknown(m)
}
-var xxx_messageInfo_RpcMetricsSetParametersResponseError proto.InternalMessageInfo
+var xxx_messageInfo_RpcDebugNetCheckResponseError proto.InternalMessageInfo
-func (m *RpcMetricsSetParametersResponseError) GetCode() RpcMetricsSetParametersResponseErrorCode {
+func (m *RpcDebugNetCheckResponseError) GetCode() RpcDebugNetCheckResponseErrorCode {
if m != nil {
return m.Code
}
- return RpcMetricsSetParametersResponseError_NULL
+ return RpcDebugNetCheckResponseError_NULL
}
-func (m *RpcMetricsSetParametersResponseError) GetDescription() string {
+func (m *RpcDebugNetCheckResponseError) GetDescription() string {
+ if m != nil {
+ return m.Description
+ }
+ return ""
+}
+
+type RpcInitial struct {
+}
+
+func (m *RpcInitial) Reset() { *m = RpcInitial{} }
+func (m *RpcInitial) String() string { return proto.CompactTextString(m) }
+func (*RpcInitial) ProtoMessage() {}
+func (*RpcInitial) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 31}
+}
+func (m *RpcInitial) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *RpcInitial) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ if deterministic {
+ return xxx_messageInfo_RpcInitial.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 *RpcInitial) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_RpcInitial.Merge(m, src)
+}
+func (m *RpcInitial) XXX_Size() int {
+ return m.Size()
+}
+func (m *RpcInitial) XXX_DiscardUnknown() {
+ xxx_messageInfo_RpcInitial.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RpcInitial proto.InternalMessageInfo
+
+type RpcInitialSetParameters struct {
+}
+
+func (m *RpcInitialSetParameters) Reset() { *m = RpcInitialSetParameters{} }
+func (m *RpcInitialSetParameters) String() string { return proto.CompactTextString(m) }
+func (*RpcInitialSetParameters) ProtoMessage() {}
+func (*RpcInitialSetParameters) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 31, 0}
+}
+func (m *RpcInitialSetParameters) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *RpcInitialSetParameters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ if deterministic {
+ return xxx_messageInfo_RpcInitialSetParameters.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 *RpcInitialSetParameters) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_RpcInitialSetParameters.Merge(m, src)
+}
+func (m *RpcInitialSetParameters) XXX_Size() int {
+ return m.Size()
+}
+func (m *RpcInitialSetParameters) XXX_DiscardUnknown() {
+ xxx_messageInfo_RpcInitialSetParameters.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RpcInitialSetParameters proto.InternalMessageInfo
+
+type RpcInitialSetParametersRequest struct {
+ Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
+ Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
+ Workdir string `protobuf:"bytes,3,opt,name=workdir,proto3" json:"workdir,omitempty"`
+ LogLevel string `protobuf:"bytes,4,opt,name=logLevel,proto3" json:"logLevel,omitempty"`
+ DoNotSendLogs bool `protobuf:"varint,5,opt,name=doNotSendLogs,proto3" json:"doNotSendLogs,omitempty"`
+ DoNotSaveLogs bool `protobuf:"varint,6,opt,name=doNotSaveLogs,proto3" json:"doNotSaveLogs,omitempty"`
+ DoNotSendTelemetry bool `protobuf:"varint,7,opt,name=doNotSendTelemetry,proto3" json:"doNotSendTelemetry,omitempty"`
+}
+
+func (m *RpcInitialSetParametersRequest) Reset() { *m = RpcInitialSetParametersRequest{} }
+func (m *RpcInitialSetParametersRequest) String() string { return proto.CompactTextString(m) }
+func (*RpcInitialSetParametersRequest) ProtoMessage() {}
+func (*RpcInitialSetParametersRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 31, 0, 0}
+}
+func (m *RpcInitialSetParametersRequest) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *RpcInitialSetParametersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ if deterministic {
+ return xxx_messageInfo_RpcInitialSetParametersRequest.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 *RpcInitialSetParametersRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_RpcInitialSetParametersRequest.Merge(m, src)
+}
+func (m *RpcInitialSetParametersRequest) XXX_Size() int {
+ return m.Size()
+}
+func (m *RpcInitialSetParametersRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_RpcInitialSetParametersRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RpcInitialSetParametersRequest proto.InternalMessageInfo
+
+func (m *RpcInitialSetParametersRequest) GetPlatform() string {
+ if m != nil {
+ return m.Platform
+ }
+ return ""
+}
+
+func (m *RpcInitialSetParametersRequest) GetVersion() string {
+ if m != nil {
+ return m.Version
+ }
+ return ""
+}
+
+func (m *RpcInitialSetParametersRequest) GetWorkdir() string {
+ if m != nil {
+ return m.Workdir
+ }
+ return ""
+}
+
+func (m *RpcInitialSetParametersRequest) GetLogLevel() string {
+ if m != nil {
+ return m.LogLevel
+ }
+ return ""
+}
+
+func (m *RpcInitialSetParametersRequest) GetDoNotSendLogs() bool {
+ if m != nil {
+ return m.DoNotSendLogs
+ }
+ return false
+}
+
+func (m *RpcInitialSetParametersRequest) GetDoNotSaveLogs() bool {
+ if m != nil {
+ return m.DoNotSaveLogs
+ }
+ return false
+}
+
+func (m *RpcInitialSetParametersRequest) GetDoNotSendTelemetry() bool {
+ if m != nil {
+ return m.DoNotSendTelemetry
+ }
+ return false
+}
+
+type RpcInitialSetParametersResponse struct {
+ Error *RpcInitialSetParametersResponseError `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
+}
+
+func (m *RpcInitialSetParametersResponse) Reset() { *m = RpcInitialSetParametersResponse{} }
+func (m *RpcInitialSetParametersResponse) String() string { return proto.CompactTextString(m) }
+func (*RpcInitialSetParametersResponse) ProtoMessage() {}
+func (*RpcInitialSetParametersResponse) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 31, 0, 1}
+}
+func (m *RpcInitialSetParametersResponse) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *RpcInitialSetParametersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ if deterministic {
+ return xxx_messageInfo_RpcInitialSetParametersResponse.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 *RpcInitialSetParametersResponse) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_RpcInitialSetParametersResponse.Merge(m, src)
+}
+func (m *RpcInitialSetParametersResponse) XXX_Size() int {
+ return m.Size()
+}
+func (m *RpcInitialSetParametersResponse) XXX_DiscardUnknown() {
+ xxx_messageInfo_RpcInitialSetParametersResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RpcInitialSetParametersResponse proto.InternalMessageInfo
+
+func (m *RpcInitialSetParametersResponse) GetError() *RpcInitialSetParametersResponseError {
+ if m != nil {
+ return m.Error
+ }
+ return nil
+}
+
+type RpcInitialSetParametersResponseError struct {
+ Code RpcInitialSetParametersResponseErrorCode `protobuf:"varint,1,opt,name=code,proto3,enum=anytype.RpcInitialSetParametersResponseErrorCode" json:"code,omitempty"`
+ Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
+}
+
+func (m *RpcInitialSetParametersResponseError) Reset() { *m = RpcInitialSetParametersResponseError{} }
+func (m *RpcInitialSetParametersResponseError) String() string { return proto.CompactTextString(m) }
+func (*RpcInitialSetParametersResponseError) ProtoMessage() {}
+func (*RpcInitialSetParametersResponseError) Descriptor() ([]byte, []int) {
+ return fileDescriptor_8261c968b2e6f45c, []int{0, 31, 0, 1, 0}
+}
+func (m *RpcInitialSetParametersResponseError) XXX_Unmarshal(b []byte) error {
+ return m.Unmarshal(b)
+}
+func (m *RpcInitialSetParametersResponseError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ if deterministic {
+ return xxx_messageInfo_RpcInitialSetParametersResponseError.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 *RpcInitialSetParametersResponseError) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_RpcInitialSetParametersResponseError.Merge(m, src)
+}
+func (m *RpcInitialSetParametersResponseError) XXX_Size() int {
+ return m.Size()
+}
+func (m *RpcInitialSetParametersResponseError) XXX_DiscardUnknown() {
+ xxx_messageInfo_RpcInitialSetParametersResponseError.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RpcInitialSetParametersResponseError proto.InternalMessageInfo
+
+func (m *RpcInitialSetParametersResponseError) GetCode() RpcInitialSetParametersResponseErrorCode {
+ if m != nil {
+ return m.Code
+ }
+ return RpcInitialSetParametersResponseError_NULL
+}
+
+func (m *RpcInitialSetParametersResponseError) GetDescription() string {
if m != nil {
return m.Description
}
@@ -67941,10 +68424,12 @@ func init() {
proto.RegisterEnum("anytype.RpcDebugOpenedObjectsResponseErrorCode", RpcDebugOpenedObjectsResponseErrorCode_name, RpcDebugOpenedObjectsResponseErrorCode_value)
proto.RegisterEnum("anytype.RpcDebugRunProfilerResponseErrorCode", RpcDebugRunProfilerResponseErrorCode_name, RpcDebugRunProfilerResponseErrorCode_value)
proto.RegisterEnum("anytype.RpcDebugAccountSelectTraceResponseErrorCode", RpcDebugAccountSelectTraceResponseErrorCode_name, RpcDebugAccountSelectTraceResponseErrorCode_value)
+ proto.RegisterEnum("anytype.RpcDebugExportLogResponseErrorCode", RpcDebugExportLogResponseErrorCode_name, RpcDebugExportLogResponseErrorCode_value)
proto.RegisterEnum("anytype.RpcDebugPingResponseErrorCode", RpcDebugPingResponseErrorCode_name, RpcDebugPingResponseErrorCode_value)
proto.RegisterEnum("anytype.RpcDebugAnystoreObjectChangesRequestOrderBy", RpcDebugAnystoreObjectChangesRequestOrderBy_name, RpcDebugAnystoreObjectChangesRequestOrderBy_value)
proto.RegisterEnum("anytype.RpcDebugAnystoreObjectChangesResponseErrorCode", RpcDebugAnystoreObjectChangesResponseErrorCode_name, RpcDebugAnystoreObjectChangesResponseErrorCode_value)
- proto.RegisterEnum("anytype.RpcMetricsSetParametersResponseErrorCode", RpcMetricsSetParametersResponseErrorCode_name, RpcMetricsSetParametersResponseErrorCode_value)
+ proto.RegisterEnum("anytype.RpcDebugNetCheckResponseErrorCode", RpcDebugNetCheckResponseErrorCode_name, RpcDebugNetCheckResponseErrorCode_value)
+ proto.RegisterEnum("anytype.RpcInitialSetParametersResponseErrorCode", RpcInitialSetParametersResponseErrorCode_name, RpcInitialSetParametersResponseErrorCode_value)
proto.RegisterEnum("anytype.RpcLogSendRequestLevel", RpcLogSendRequestLevel_name, RpcLogSendRequestLevel_value)
proto.RegisterEnum("anytype.RpcLogSendResponseErrorCode", RpcLogSendResponseErrorCode_name, RpcLogSendResponseErrorCode_value)
proto.RegisterEnum("anytype.RpcProcessCancelResponseErrorCode", RpcProcessCancelResponseErrorCode_name, RpcProcessCancelResponseErrorCode_value)
@@ -69001,6 +69486,10 @@ func init() {
proto.RegisterType((*RpcDebugAccountSelectTraceRequest)(nil), "anytype.Rpc.Debug.AccountSelectTrace.Request")
proto.RegisterType((*RpcDebugAccountSelectTraceResponse)(nil), "anytype.Rpc.Debug.AccountSelectTrace.Response")
proto.RegisterType((*RpcDebugAccountSelectTraceResponseError)(nil), "anytype.Rpc.Debug.AccountSelectTrace.Response.Error")
+ proto.RegisterType((*RpcDebugExportLog)(nil), "anytype.Rpc.Debug.ExportLog")
+ proto.RegisterType((*RpcDebugExportLogRequest)(nil), "anytype.Rpc.Debug.ExportLog.Request")
+ proto.RegisterType((*RpcDebugExportLogResponse)(nil), "anytype.Rpc.Debug.ExportLog.Response")
+ proto.RegisterType((*RpcDebugExportLogResponseError)(nil), "anytype.Rpc.Debug.ExportLog.Response.Error")
proto.RegisterType((*RpcDebugPing)(nil), "anytype.Rpc.Debug.Ping")
proto.RegisterType((*RpcDebugPingRequest)(nil), "anytype.Rpc.Debug.Ping.Request")
proto.RegisterType((*RpcDebugPingResponse)(nil), "anytype.Rpc.Debug.Ping.Response")
@@ -69010,11 +69499,15 @@ func init() {
proto.RegisterType((*RpcDebugAnystoreObjectChangesResponse)(nil), "anytype.Rpc.Debug.AnystoreObjectChanges.Response")
proto.RegisterType((*RpcDebugAnystoreObjectChangesResponseChange)(nil), "anytype.Rpc.Debug.AnystoreObjectChanges.Response.Change")
proto.RegisterType((*RpcDebugAnystoreObjectChangesResponseError)(nil), "anytype.Rpc.Debug.AnystoreObjectChanges.Response.Error")
- proto.RegisterType((*RpcMetrics)(nil), "anytype.Rpc.Metrics")
- proto.RegisterType((*RpcMetricsSetParameters)(nil), "anytype.Rpc.Metrics.SetParameters")
- proto.RegisterType((*RpcMetricsSetParametersRequest)(nil), "anytype.Rpc.Metrics.SetParameters.Request")
- proto.RegisterType((*RpcMetricsSetParametersResponse)(nil), "anytype.Rpc.Metrics.SetParameters.Response")
- proto.RegisterType((*RpcMetricsSetParametersResponseError)(nil), "anytype.Rpc.Metrics.SetParameters.Response.Error")
+ proto.RegisterType((*RpcDebugNetCheck)(nil), "anytype.Rpc.Debug.NetCheck")
+ proto.RegisterType((*RpcDebugNetCheckRequest)(nil), "anytype.Rpc.Debug.NetCheck.Request")
+ proto.RegisterType((*RpcDebugNetCheckResponse)(nil), "anytype.Rpc.Debug.NetCheck.Response")
+ proto.RegisterType((*RpcDebugNetCheckResponseError)(nil), "anytype.Rpc.Debug.NetCheck.Response.Error")
+ proto.RegisterType((*RpcInitial)(nil), "anytype.Rpc.Initial")
+ proto.RegisterType((*RpcInitialSetParameters)(nil), "anytype.Rpc.Initial.SetParameters")
+ proto.RegisterType((*RpcInitialSetParametersRequest)(nil), "anytype.Rpc.Initial.SetParameters.Request")
+ proto.RegisterType((*RpcInitialSetParametersResponse)(nil), "anytype.Rpc.Initial.SetParameters.Response")
+ proto.RegisterType((*RpcInitialSetParametersResponseError)(nil), "anytype.Rpc.Initial.SetParameters.Response.Error")
proto.RegisterType((*RpcLog)(nil), "anytype.Rpc.Log")
proto.RegisterType((*RpcLogSend)(nil), "anytype.Rpc.Log.Send")
proto.RegisterType((*RpcLogSendRequest)(nil), "anytype.Rpc.Log.Send.Request")
@@ -69159,1185 +69652,1196 @@ func init() {
func init() { proto.RegisterFile("pb/protos/commands.proto", fileDescriptor_8261c968b2e6f45c) }
var fileDescriptor_8261c968b2e6f45c = []byte{
- // 18843 bytes of a gzipped FileDescriptorProto
+ // 19018 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x7b, 0x98, 0x24, 0x47,
- 0x75, 0x27, 0x3a, 0x55, 0x59, 0x55, 0xdd, 0x1d, 0xfd, 0x98, 0x9a, 0xd4, 0xcc, 0x68, 0x14, 0x12,
- 0x23, 0x31, 0x12, 0x42, 0x16, 0xa2, 0x05, 0x12, 0x06, 0x24, 0x24, 0xa4, 0xea, 0xea, 0xec, 0xee,
- 0x42, 0xdd, 0x55, 0x4d, 0x56, 0xf5, 0x0c, 0xb2, 0xd7, 0xb7, 0x36, 0xa7, 0x2a, 0xba, 0x3b, 0x35,
- 0xd5, 0x99, 0xe5, 0xcc, 0xec, 0x1e, 0x35, 0xf7, 0xdb, 0xbb, 0xc6, 0x18, 0x10, 0xb6, 0x59, 0x8c,
- 0x31, 0x6b, 0x63, 0xcc, 0xfb, 0xb5, 0x60, 0x1e, 0xe6, 0xbd, 0x60, 0x1b, 0xdb, 0x3c, 0x0c, 0xc6,
- 0x36, 0xc6, 0x60, 0x0c, 0xc6, 0xe6, 0x1a, 0xcc, 0xc3, 0x78, 0xbf, 0x65, 0xb9, 0xf6, 0x5d, 0x60,
- 0xb1, 0xe1, 0xfa, 0x7e, 0xf1, 0xc8, 0xcc, 0x88, 0xea, 0xca, 0xac, 0xc8, 0xea, 0xca, 0x6a, 0x61,
- 0xf6, 0xbf, 0xcc, 0xc8, 0xc8, 0x13, 0x27, 0xce, 0xef, 0x44, 0xc4, 0x89, 0x88, 0x13, 0x27, 0xc0,
- 0x99, 0xee, 0xc5, 0x5b, 0xbb, 0x8e, 0xed, 0xd9, 0xee, 0xad, 0x2d, 0x7b, 0x67, 0xc7, 0xb0, 0xda,
- 0xee, 0x3c, 0x79, 0x57, 0x27, 0x0c, 0x6b, 0xdf, 0xdb, 0xef, 0x22, 0x78, 0x43, 0xf7, 0xd2, 0xd6,
- 0xad, 0x1d, 0xf3, 0xe2, 0xad, 0xdd, 0x8b, 0xb7, 0xee, 0xd8, 0x6d, 0xd4, 0xf1, 0x7f, 0x20, 0x2f,
- 0x2c, 0x3b, 0xbc, 0x29, 0x2a, 0x57, 0xc7, 0x6e, 0x19, 0x1d, 0xd7, 0xb3, 0x1d, 0xc4, 0x72, 0x9e,
- 0x0e, 0x8b, 0x44, 0x7b, 0xc8, 0xf2, 0x7c, 0x0a, 0xd7, 0x6c, 0xd9, 0xf6, 0x56, 0x07, 0xd1, 0x6f,
- 0x17, 0x77, 0x37, 0x6f, 0x75, 0x3d, 0x67, 0xb7, 0xe5, 0xb1, 0xaf, 0xd7, 0xf5, 0x7e, 0x6d, 0x23,
- 0xb7, 0xe5, 0x98, 0x5d, 0xcf, 0x76, 0x68, 0x8e, 0x73, 0x7f, 0xfb, 0xb5, 0x09, 0xa0, 0xe8, 0xdd,
- 0x16, 0xfc, 0xce, 0x04, 0x50, 0x4a, 0xdd, 0x2e, 0xfc, 0x68, 0x16, 0x80, 0x65, 0xe4, 0x9d, 0x47,
- 0x8e, 0x6b, 0xda, 0x16, 0x3c, 0x0e, 0x26, 0x74, 0xf4, 0xd3, 0xbb, 0xc8, 0xf5, 0xee, 0xcc, 0x3d,
- 0xf4, 0x75, 0x25, 0x03, 0x5f, 0x9f, 0x05, 0x93, 0x3a, 0x72, 0xbb, 0xb6, 0xe5, 0x22, 0xf5, 0x5e,
- 0x90, 0x47, 0x8e, 0x63, 0x3b, 0x67, 0x32, 0xd7, 0x65, 0x6e, 0x9a, 0xbe, 0xed, 0xe6, 0x79, 0x56,
- 0xfd, 0x79, 0xbd, 0xdb, 0x9a, 0x2f, 0x75, 0xbb, 0xf3, 0x21, 0xa5, 0x79, 0xff, 0xa7, 0x79, 0x0d,
- 0xff, 0xa1, 0xd3, 0x1f, 0xd5, 0x33, 0x60, 0x62, 0x8f, 0x66, 0x38, 0x93, 0xbd, 0x2e, 0x73, 0xd3,
- 0x94, 0xee, 0xbf, 0xe2, 0x2f, 0x6d, 0xe4, 0x19, 0x66, 0xc7, 0x3d, 0xa3, 0xd0, 0x2f, 0xec, 0x15,
- 0xbe, 0x26, 0x03, 0xf2, 0x84, 0x88, 0x5a, 0x06, 0xb9, 0x96, 0xdd, 0x46, 0xa4, 0xf8, 0xb9, 0xdb,
- 0x6e, 0x95, 0x2f, 0x7e, 0xbe, 0x6c, 0xb7, 0x91, 0x4e, 0x7e, 0x56, 0xaf, 0x03, 0xd3, 0xbe, 0x58,
- 0x42, 0x36, 0xf8, 0xa4, 0x73, 0xb7, 0x81, 0x1c, 0xce, 0xaf, 0x4e, 0x82, 0x5c, 0x75, 0x63, 0x75,
- 0xb5, 0x78, 0x4c, 0x3d, 0x01, 0x66, 0x37, 0xaa, 0xf7, 0x55, 0x6b, 0x17, 0xaa, 0x4d, 0x4d, 0xd7,
- 0x6b, 0x7a, 0x31, 0xa3, 0xce, 0x82, 0xa9, 0x85, 0xd2, 0x62, 0xb3, 0x52, 0x5d, 0xdf, 0x68, 0x14,
- 0xb3, 0xf0, 0x15, 0x0a, 0x98, 0xab, 0x23, 0x6f, 0x11, 0xed, 0x99, 0x2d, 0x54, 0xf7, 0x0c, 0x0f,
- 0xc1, 0x17, 0x66, 0x02, 0x61, 0xaa, 0x1b, 0xb8, 0xd0, 0xe0, 0x13, 0xab, 0xc0, 0xed, 0x07, 0x2a,
- 0x20, 0x52, 0x98, 0x67, 0x7f, 0xcf, 0x73, 0x69, 0x3a, 0x4f, 0xe7, 0xdc, 0x63, 0xc1, 0x34, 0xf7,
- 0x4d, 0x9d, 0x03, 0x60, 0xa1, 0x54, 0xbe, 0x6f, 0x59, 0xaf, 0x6d, 0x54, 0x17, 0x8b, 0xc7, 0xf0,
- 0xfb, 0x52, 0x4d, 0xd7, 0xd8, 0x7b, 0x06, 0x7e, 0x2f, 0xc3, 0x81, 0xb9, 0x28, 0x82, 0x39, 0x3f,
- 0x98, 0x99, 0x3e, 0x80, 0xc2, 0x37, 0x04, 0xe0, 0x2c, 0x0b, 0xe0, 0xdc, 0x9e, 0x8c, 0x5c, 0xfa,
- 0x00, 0x3d, 0x27, 0x0b, 0x26, 0xeb, 0xdb, 0xbb, 0x5e, 0xdb, 0xbe, 0x6c, 0xc1, 0xa9, 0x00, 0x19,
- 0xf8, 0x4d, 0x5e, 0x26, 0x4f, 0x15, 0x65, 0x72, 0xd3, 0xc1, 0x4a, 0x30, 0x0a, 0x11, 0xd2, 0x78,
- 0x55, 0x20, 0x8d, 0x92, 0x20, 0x8d, 0xc7, 0xca, 0x12, 0x4a, 0x5f, 0x0e, 0xbf, 0x74, 0x3b, 0xc8,
- 0xd7, 0xbb, 0x46, 0x0b, 0xc1, 0x3f, 0x51, 0xc0, 0xcc, 0x2a, 0x32, 0xf6, 0x50, 0xa9, 0xdb, 0x75,
- 0xec, 0x3d, 0x04, 0xcb, 0xa1, 0xbe, 0x9e, 0x01, 0x13, 0x2e, 0xce, 0x54, 0x69, 0x93, 0x1a, 0x4c,
- 0xe9, 0xfe, 0xab, 0x7a, 0x16, 0x00, 0xb3, 0x8d, 0x2c, 0xcf, 0xf4, 0x4c, 0xe4, 0x9e, 0xc9, 0x5e,
- 0xa7, 0xdc, 0x34, 0xa5, 0x73, 0x29, 0xf0, 0x3b, 0x59, 0x59, 0x1d, 0x23, 0x5c, 0xcc, 0xf3, 0x1c,
- 0x44, 0x48, 0xf5, 0xb5, 0x59, 0x19, 0x1d, 0x1b, 0x48, 0x2e, 0x99, 0x6c, 0xdf, 0x96, 0x49, 0x2e,
- 0x5c, 0x9c, 0xa3, 0x5a, 0x6b, 0xd6, 0x37, 0xca, 0x2b, 0xcd, 0xfa, 0x7a, 0xa9, 0xac, 0x15, 0x91,
- 0x7a, 0x12, 0x14, 0xc9, 0x63, 0xb3, 0x52, 0x6f, 0x2e, 0x6a, 0xab, 0x5a, 0x43, 0x5b, 0x2c, 0x6e,
- 0xaa, 0x2a, 0x98, 0xd3, 0xb5, 0xa7, 0x6f, 0x68, 0xf5, 0x46, 0x73, 0xa9, 0x54, 0x59, 0xd5, 0x16,
- 0x8b, 0x5b, 0xf8, 0xe7, 0xd5, 0xca, 0x5a, 0xa5, 0xd1, 0xd4, 0xb5, 0x52, 0x79, 0x45, 0x5b, 0x2c,
- 0x6e, 0xab, 0x57, 0x82, 0x2b, 0xaa, 0xb5, 0x66, 0x69, 0x7d, 0x5d, 0xaf, 0x9d, 0xd7, 0x9a, 0xec,
- 0x8f, 0x7a, 0xd1, 0xa4, 0x05, 0x35, 0x9a, 0xf5, 0x95, 0x92, 0xae, 0x95, 0x16, 0x56, 0xb5, 0xe2,
- 0x03, 0xf0, 0xd9, 0x0a, 0x98, 0x5d, 0x33, 0x2e, 0xa1, 0xfa, 0xb6, 0xe1, 0x20, 0xe3, 0x62, 0x07,
- 0xc1, 0xeb, 0x25, 0xf0, 0x84, 0x7f, 0xc2, 0xe3, 0xa5, 0x89, 0x78, 0xdd, 0xda, 0x47, 0xc0, 0x42,
- 0x11, 0x11, 0x80, 0xfd, 0xaf, 0xa0, 0x19, 0xac, 0x08, 0x80, 0x3d, 0x21, 0x21, 0xbd, 0x64, 0x88,
- 0xfd, 0xec, 0xc3, 0x00, 0x31, 0xf8, 0x45, 0x05, 0xcc, 0x55, 0xac, 0x3d, 0xd3, 0x43, 0xcb, 0xc8,
- 0x42, 0x0e, 0x1e, 0x07, 0xa4, 0x60, 0x78, 0xbd, 0xc2, 0xc1, 0xb0, 0x24, 0xc2, 0xf0, 0xb8, 0x3e,
- 0x62, 0x13, 0xcb, 0x88, 0x18, 0x6d, 0xaf, 0x01, 0x53, 0x26, 0xc9, 0x57, 0x36, 0xdb, 0x4c, 0x62,
- 0x61, 0x82, 0x7a, 0x03, 0x98, 0xa5, 0x2f, 0x4b, 0x66, 0x07, 0xdd, 0x87, 0xf6, 0xd9, 0xb8, 0x2b,
- 0x26, 0xc2, 0x5f, 0x0c, 0x1a, 0x5f, 0x45, 0xc0, 0xf2, 0xc7, 0x93, 0x32, 0x95, 0x0c, 0xcc, 0x97,
- 0x3c, 0x1c, 0x9a, 0xdf, 0x81, 0x56, 0x66, 0xc2, 0x1f, 0x64, 0xc1, 0x74, 0xdd, 0xb3, 0xbb, 0x58,
- 0x65, 0x4d, 0x6b, 0x4b, 0x0e, 0xdc, 0x8f, 0xf3, 0x6d, 0xac, 0x2c, 0x82, 0xfb, 0xd8, 0x3e, 0x72,
- 0xe4, 0x0a, 0x88, 0x68, 0x61, 0xdf, 0x09, 0x5a, 0xd8, 0x92, 0x80, 0xca, 0x6d, 0x89, 0xa8, 0xfd,
- 0x10, 0xb6, 0xaf, 0x97, 0x28, 0xa0, 0xe8, 0xab, 0x99, 0x57, 0xde, 0x75, 0x1c, 0x64, 0x79, 0x72,
- 0x20, 0xfc, 0x35, 0x0f, 0xc2, 0x8a, 0x08, 0xc2, 0x6d, 0x31, 0xca, 0xec, 0x97, 0x92, 0x62, 0x1b,
- 0xfb, 0xfd, 0x00, 0xcd, 0xfb, 0x04, 0x34, 0x9f, 0x94, 0x9c, 0xad, 0x64, 0x90, 0xae, 0x0c, 0x81,
- 0xe8, 0x49, 0x50, 0xc4, 0x63, 0x52, 0xb9, 0x51, 0x39, 0xaf, 0x35, 0x2b, 0xd5, 0xf3, 0x95, 0x86,
- 0x56, 0x44, 0xf0, 0xc5, 0x0a, 0x98, 0xa1, 0xac, 0xe9, 0x68, 0xcf, 0xbe, 0x24, 0xd9, 0xeb, 0x7d,
- 0x31, 0xa1, 0xb1, 0xc0, 0x97, 0x10, 0xd1, 0x32, 0x7e, 0x3e, 0x81, 0xb1, 0x10, 0x43, 0xee, 0xe1,
- 0xd4, 0x5b, 0x1d, 0x68, 0x06, 0x5b, 0x7d, 0x5a, 0x4b, 0xdf, 0xde, 0xea, 0x25, 0x39, 0x00, 0x68,
- 0x25, 0xcf, 0x9b, 0xe8, 0x32, 0x5c, 0x0b, 0x31, 0x11, 0xd4, 0x36, 0x33, 0x50, 0x6d, 0xb3, 0xfd,
- 0xd4, 0xf6, 0x7d, 0xfc, 0x98, 0xb5, 0x20, 0xa2, 0x77, 0x4b, 0xa4, 0xb8, 0x31, 0x27, 0xd1, 0xb3,
- 0x43, 0x5f, 0x51, 0xb2, 0xa2, 0xd5, 0x79, 0x0d, 0x98, 0x22, 0x8f, 0x55, 0x63, 0x07, 0xb1, 0x36,
- 0x14, 0x26, 0xa8, 0xe7, 0xc0, 0x0c, 0xcd, 0xd8, 0xb2, 0x2d, 0x5c, 0x9f, 0x1c, 0xc9, 0x20, 0xa4,
- 0x61, 0x10, 0x5b, 0x0e, 0x32, 0x3c, 0xdb, 0x21, 0x34, 0xf2, 0x14, 0x44, 0x2e, 0x09, 0x7e, 0x23,
- 0x68, 0x85, 0x9a, 0xa0, 0x39, 0x8f, 0x4f, 0x52, 0x95, 0x64, 0x7a, 0xb3, 0x37, 0x5c, 0xfb, 0xa3,
- 0xad, 0xae, 0x89, 0xd1, 0x5e, 0x22, 0x53, 0x3b, 0xa4, 0x9e, 0x06, 0x2a, 0x4b, 0xc5, 0x79, 0xcb,
- 0xb5, 0x6a, 0x43, 0xab, 0x36, 0x8a, 0x9b, 0x7d, 0x35, 0x6a, 0x0b, 0xbe, 0x36, 0x07, 0x72, 0x4f,
- 0xb3, 0x4d, 0x0b, 0x3e, 0x27, 0x23, 0xa8, 0x84, 0x85, 0xbc, 0xcb, 0xb6, 0x73, 0x29, 0x68, 0xa8,
- 0x61, 0x42, 0x3c, 0x36, 0xa1, 0x2a, 0x29, 0x03, 0x55, 0x29, 0xd7, 0x4f, 0x95, 0x7e, 0x99, 0x57,
- 0xa5, 0xbb, 0x44, 0x55, 0xba, 0xb1, 0x8f, 0xfc, 0x31, 0xf3, 0x11, 0x1d, 0xc0, 0xc7, 0x82, 0x0e,
- 0xe0, 0x1e, 0x01, 0xc6, 0xc7, 0xc8, 0x91, 0x49, 0x06, 0xe0, 0x17, 0x52, 0x6d, 0xf8, 0xfd, 0xa0,
- 0xde, 0x8a, 0x80, 0x7a, 0xbb, 0x4f, 0x9f, 0x60, 0x1e, 0xec, 0x3a, 0x1e, 0x38, 0xd8, 0x4d, 0x5c,
- 0x52, 0x4f, 0x81, 0x13, 0x8b, 0x95, 0xa5, 0x25, 0x4d, 0xd7, 0xaa, 0x8d, 0x66, 0x55, 0x6b, 0x5c,
- 0xa8, 0xe9, 0xf7, 0x15, 0x3b, 0xf0, 0x35, 0x0a, 0x00, 0x58, 0x42, 0x65, 0xc3, 0x6a, 0xa1, 0x8e,
- 0x5c, 0x8f, 0xfe, 0x3f, 0xb2, 0xc9, 0xfa, 0x84, 0x90, 0x7e, 0x04, 0x9c, 0x2f, 0xcf, 0xca, 0xb7,
- 0xca, 0x48, 0x62, 0xc9, 0x40, 0x7d, 0xf3, 0xc3, 0xc1, 0xf6, 0xbc, 0x02, 0x1c, 0xf7, 0xe9, 0xb1,
- 0xec, 0xfd, 0xa7, 0x7d, 0x6f, 0xcf, 0x81, 0x39, 0x06, 0x8b, 0x3f, 0x8f, 0x7f, 0x28, 0x23, 0x33,
- 0x91, 0x87, 0x60, 0x92, 0x4d, 0xdb, 0xfd, 0xee, 0x3d, 0x78, 0x57, 0x97, 0xc1, 0x74, 0x17, 0x39,
- 0x3b, 0xa6, 0xeb, 0x9a, 0xb6, 0x45, 0x17, 0xe4, 0xe6, 0x6e, 0x7b, 0x54, 0x20, 0x71, 0xb2, 0x76,
- 0x39, 0xbf, 0x6e, 0x38, 0x9e, 0xd9, 0x32, 0xbb, 0x86, 0xe5, 0xad, 0x87, 0x99, 0x75, 0xfe, 0x4f,
- 0xf8, 0xa2, 0x84, 0xd3, 0x1a, 0xb1, 0x26, 0x11, 0x2a, 0xf1, 0x3b, 0x09, 0xa6, 0x24, 0xb1, 0x04,
- 0x93, 0xa9, 0xc5, 0x47, 0x53, 0x55, 0x8b, 0x3e, 0x78, 0x6f, 0xa9, 0x57, 0x81, 0x53, 0x95, 0x6a,
- 0xb9, 0xa6, 0xeb, 0x5a, 0xb9, 0xd1, 0x5c, 0xd7, 0xf4, 0xb5, 0x4a, 0xbd, 0x5e, 0xa9, 0x55, 0xeb,
- 0x87, 0x69, 0xed, 0xf0, 0x13, 0x4a, 0xa0, 0x31, 0x8b, 0xa8, 0xd5, 0x31, 0x2d, 0x04, 0xef, 0x39,
- 0xa4, 0xc2, 0x88, 0xab, 0x3e, 0xf2, 0x38, 0xb3, 0xf2, 0x23, 0x70, 0x7e, 0x75, 0x72, 0x9c, 0xfb,
- 0x13, 0xfc, 0x37, 0xdc, 0xfc, 0xbf, 0xa8, 0x80, 0x13, 0x5c, 0x43, 0xd4, 0xd1, 0xce, 0xc8, 0x56,
- 0xf2, 0x7e, 0x96, 0x6f, 0xbb, 0x15, 0x11, 0xd3, 0x7e, 0xd6, 0xf4, 0x01, 0x36, 0x22, 0x60, 0x7d,
- 0x73, 0x00, 0xeb, 0xaa, 0x00, 0xeb, 0x93, 0x87, 0xa0, 0x99, 0x0c, 0xd9, 0xdf, 0x4a, 0x15, 0xd9,
- 0xab, 0xc0, 0xa9, 0xf5, 0x92, 0xde, 0xa8, 0x94, 0x2b, 0xeb, 0x25, 0x3c, 0x8e, 0x72, 0x43, 0x76,
- 0x84, 0xb9, 0x2e, 0x82, 0xde, 0x17, 0xdf, 0xdf, 0xcb, 0x81, 0x6b, 0xfa, 0x77, 0xb4, 0xe5, 0x6d,
- 0xc3, 0xda, 0x42, 0xd0, 0x94, 0x81, 0x7a, 0x11, 0x4c, 0xb4, 0x48, 0x76, 0x8a, 0x33, 0xbf, 0x75,
- 0x13, 0xd3, 0x97, 0xd3, 0x12, 0x74, 0xff, 0x57, 0xf8, 0x2e, 0x5e, 0x21, 0x1a, 0xa2, 0x42, 0x3c,
- 0x35, 0x1e, 0xbc, 0x03, 0x7c, 0x47, 0xe8, 0xc6, 0xa7, 0x02, 0xdd, 0xb8, 0x20, 0xe8, 0x46, 0xf9,
- 0x70, 0xe4, 0x93, 0xa9, 0xc9, 0x1f, 0x3f, 0x1c, 0x3a, 0x80, 0x48, 0x6d, 0x32, 0xa3, 0x47, 0x85,
- 0xbe, 0xdd, 0xfd, 0x2b, 0x15, 0x50, 0x58, 0x44, 0x1d, 0x24, 0xbb, 0x12, 0xf9, 0xad, 0xac, 0xec,
- 0x86, 0x08, 0x85, 0x81, 0xd2, 0x8e, 0x5e, 0x1d, 0xf1, 0xcc, 0x1d, 0xe4, 0x7a, 0xc6, 0x4e, 0x97,
- 0x88, 0x5a, 0xd1, 0xc3, 0x04, 0xf8, 0x73, 0x59, 0x99, 0xed, 0x92, 0x98, 0x62, 0xfe, 0x6d, 0xac,
- 0x29, 0x7e, 0x65, 0x0e, 0x14, 0x2e, 0x18, 0x9d, 0x0e, 0xf2, 0xe0, 0x57, 0xb3, 0xa0, 0x50, 0xc6,
- 0x73, 0x52, 0x04, 0x1f, 0x13, 0x82, 0x05, 0xc1, 0xa4, 0x63, 0xdb, 0xde, 0xba, 0xe1, 0x6d, 0x33,
- 0xb4, 0x82, 0x77, 0xb6, 0x4d, 0xfb, 0x16, 0x1e, 0xb4, 0x7b, 0x44, 0xd0, 0x7e, 0x4c, 0x90, 0x26,
- 0x2d, 0x68, 0x9e, 0x16, 0x12, 0x81, 0x1a, 0x04, 0x93, 0x3b, 0x16, 0xda, 0xb1, 0x2d, 0xb3, 0xe5,
- 0x8f, 0xf4, 0xfe, 0x3b, 0xfc, 0x50, 0x30, 0x4b, 0x5e, 0x10, 0x30, 0x9b, 0x97, 0x2e, 0x25, 0x19,
- 0x68, 0xf5, 0x21, 0x30, 0xbb, 0x16, 0x5c, 0x4d, 0x21, 0x68, 0x36, 0x6a, 0xcd, 0xb2, 0xae, 0x95,
- 0x1a, 0x5a, 0x73, 0xb5, 0x56, 0x2e, 0xad, 0x36, 0x75, 0x6d, 0xbd, 0x56, 0x44, 0xf0, 0xef, 0xb3,
- 0x58, 0xb8, 0x2d, 0x7b, 0x0f, 0x39, 0x70, 0x59, 0x4a, 0xce, 0x71, 0x32, 0x61, 0x18, 0xfc, 0xb2,
- 0xf4, 0x56, 0x39, 0x93, 0x0e, 0xe3, 0x20, 0xa2, 0x2b, 0xfc, 0xb0, 0xd4, 0xb6, 0x77, 0x2c, 0xa9,
- 0x87, 0x81, 0xa4, 0xff, 0x67, 0x16, 0x4c, 0x94, 0x6d, 0x6b, 0x0f, 0x39, 0x1e, 0x6f, 0x65, 0xf2,
- 0xd2, 0xcc, 0x88, 0xd2, 0xc4, 0x5d, 0x13, 0xb2, 0x3c, 0xc7, 0xee, 0xfa, 0x66, 0xa6, 0xff, 0x0a,
- 0xdf, 0x98, 0x54, 0xc2, 0xac, 0xe4, 0xe8, 0xe5, 0xa6, 0xfe, 0x05, 0x09, 0xec, 0x29, 0x3d, 0x0d,
- 0xe0, 0x35, 0x49, 0x70, 0xe9, 0xcf, 0x40, 0xfa, 0xbb, 0xbc, 0x5f, 0x52, 0xc0, 0x2c, 0x6d, 0x7c,
- 0x75, 0x44, 0xc6, 0x45, 0x58, 0xe3, 0x17, 0x7a, 0x7a, 0x84, 0xbf, 0x72, 0x4c, 0x10, 0x7f, 0xc1,
- 0xe8, 0x76, 0x83, 0x45, 0xbf, 0x95, 0x63, 0x3a, 0x7b, 0xa7, 0x6a, 0xbe, 0x50, 0x00, 0x39, 0x63,
- 0xd7, 0xdb, 0x86, 0x3f, 0x90, 0x36, 0xf9, 0x85, 0xce, 0x80, 0xf1, 0x13, 0x01, 0xc9, 0x49, 0x90,
- 0xf7, 0xec, 0x4b, 0xc8, 0x97, 0x03, 0x7d, 0xc1, 0x70, 0x18, 0xdd, 0x6e, 0x83, 0x7c, 0x60, 0x70,
- 0xf8, 0xef, 0x78, 0x84, 0x31, 0x5a, 0x2d, 0x7b, 0xd7, 0xf2, 0x2a, 0xfe, 0xc2, 0x5f, 0x98, 0x00,
- 0x3f, 0x9f, 0x91, 0x99, 0x42, 0x48, 0x30, 0x98, 0x0c, 0xb2, 0x8b, 0x43, 0x34, 0xa5, 0x79, 0x70,
- 0x73, 0x69, 0x7d, 0xbd, 0xd9, 0xa8, 0xdd, 0xa7, 0x55, 0xc3, 0xe1, 0xbe, 0x59, 0xa9, 0x36, 0x1b,
- 0x2b, 0x5a, 0xb3, 0xbc, 0xa1, 0x93, 0xd5, 0x99, 0x52, 0xb9, 0x5c, 0xdb, 0xa8, 0x36, 0x8a, 0x08,
- 0xbe, 0x35, 0x0b, 0x66, 0xca, 0x1d, 0xdb, 0x0d, 0x10, 0xbe, 0x36, 0x44, 0x38, 0x10, 0x63, 0x86,
- 0x13, 0x23, 0xfc, 0x97, 0x8c, 0xec, 0x56, 0xaf, 0x2f, 0x10, 0x8e, 0x7c, 0x44, 0x2f, 0xf5, 0x46,
- 0xa9, 0xad, 0xde, 0xc1, 0xf4, 0xd2, 0x6f, 0x12, 0x9f, 0xb9, 0x13, 0x4c, 0x94, 0xa8, 0x62, 0xc0,
- 0xbf, 0xcd, 0x80, 0x42, 0xd9, 0xb6, 0x36, 0xcd, 0x2d, 0xf5, 0x46, 0x30, 0x87, 0x2c, 0xe3, 0x62,
- 0x07, 0x2d, 0x1a, 0x9e, 0xb1, 0x67, 0xa2, 0xcb, 0xa4, 0x02, 0x93, 0x7a, 0x4f, 0x2a, 0x66, 0x8a,
- 0xa5, 0xa0, 0x8b, 0xbb, 0x5b, 0x84, 0xa9, 0x49, 0x9d, 0x4f, 0x52, 0x9f, 0x0c, 0xae, 0xa4, 0xaf,
- 0xeb, 0x0e, 0x72, 0x50, 0x07, 0x19, 0x2e, 0xc2, 0xc6, 0xa8, 0x85, 0x3a, 0x44, 0x69, 0x27, 0xf5,
- 0xa8, 0xcf, 0xea, 0x39, 0x30, 0x43, 0x3f, 0x11, 0x53, 0xc7, 0x25, 0x6a, 0x3c, 0xa9, 0x0b, 0x69,
- 0xea, 0x63, 0x41, 0x1e, 0x3d, 0xe8, 0x39, 0xc6, 0x99, 0x36, 0xc1, 0xeb, 0xca, 0x79, 0xea, 0xeb,
- 0x35, 0xef, 0xfb, 0x7a, 0xcd, 0xd7, 0x89, 0x27, 0x98, 0x4e, 0x73, 0xc1, 0xdf, 0x98, 0x0c, 0x0c,
- 0x89, 0x7f, 0xcd, 0x86, 0x8a, 0xa1, 0x82, 0x9c, 0x65, 0xec, 0x20, 0xa6, 0x17, 0xe4, 0x59, 0xbd,
- 0x19, 0x1c, 0x37, 0xf6, 0x0c, 0xcf, 0x70, 0x56, 0xed, 0x96, 0xd1, 0x21, 0x83, 0x9f, 0xdf, 0xf2,
- 0x7b, 0x3f, 0x90, 0x75, 0x78, 0xcf, 0x76, 0x10, 0xc9, 0xe5, 0xaf, 0xc3, 0xfb, 0x09, 0x98, 0xba,
- 0xd9, 0xb2, 0x2d, 0xc2, 0xbf, 0xa2, 0x93, 0x67, 0x2c, 0x95, 0xb6, 0xe9, 0xe2, 0x8a, 0x10, 0x2a,
- 0x55, 0xba, 0xa0, 0x5c, 0xdf, 0xb7, 0x5a, 0x64, 0x0d, 0x7e, 0x52, 0x8f, 0xfa, 0xac, 0x2e, 0x80,
- 0x69, 0xb6, 0xfc, 0xbc, 0x86, 0xf5, 0xaa, 0x40, 0xf4, 0xea, 0x3a, 0xd1, 0x93, 0x86, 0xe2, 0x39,
- 0x5f, 0x0d, 0xf3, 0xe9, 0xfc, 0x4f, 0xea, 0xbd, 0xe0, 0x6a, 0xf6, 0x5a, 0xde, 0x75, 0x3d, 0x7b,
- 0x87, 0x82, 0xbe, 0x64, 0x76, 0x68, 0x0d, 0x26, 0x48, 0x0d, 0xe2, 0xb2, 0xa8, 0xb7, 0x81, 0x93,
- 0x5d, 0x07, 0x6d, 0x22, 0xe7, 0x7e, 0x63, 0x67, 0xf7, 0xc1, 0x86, 0x63, 0x58, 0x6e, 0xd7, 0x76,
- 0xbc, 0x33, 0x93, 0x84, 0xf9, 0xbe, 0xdf, 0x58, 0x47, 0x39, 0x09, 0x0a, 0x54, 0x7c, 0xf0, 0x85,
- 0x79, 0x69, 0x27, 0x3a, 0x56, 0xa1, 0x58, 0xf3, 0xec, 0x71, 0x60, 0x82, 0xf5, 0x70, 0x04, 0xa8,
- 0xe9, 0xdb, 0x4e, 0xf7, 0xcc, 0xe6, 0x18, 0x15, 0xdd, 0xcf, 0xa6, 0xde, 0x0e, 0x0a, 0x2d, 0x52,
- 0x2d, 0x82, 0xd9, 0xf4, 0x6d, 0x57, 0xf7, 0x2f, 0x94, 0x64, 0xd1, 0x59, 0x56, 0xf8, 0x57, 0x8a,
- 0x94, 0xdf, 0x5d, 0x1c, 0xc7, 0xc9, 0x5a, 0xf5, 0x37, 0xb2, 0x43, 0x74, 0x9b, 0xb7, 0x80, 0x9b,
- 0x58, 0x9f, 0xc8, 0xec, 0x8f, 0xc5, 0xe6, 0xc2, 0x86, 0x6f, 0x82, 0x63, 0xab, 0xa4, 0xde, 0x28,
- 0xe9, 0x78, 0xfe, 0xb4, 0x88, 0x4d, 0xf7, 0x9b, 0xc1, 0x8d, 0x03, 0x72, 0x6b, 0x8d, 0x66, 0xb5,
- 0xb4, 0xa6, 0x15, 0x37, 0x45, 0xdb, 0xa6, 0xde, 0xa8, 0xad, 0x37, 0xf5, 0x8d, 0x6a, 0xb5, 0x52,
- 0x5d, 0xa6, 0xc4, 0xb0, 0x49, 0x78, 0x3a, 0xcc, 0x70, 0x41, 0xaf, 0x34, 0xb4, 0x66, 0xb9, 0x56,
- 0x5d, 0xaa, 0x2c, 0x17, 0xcd, 0x41, 0x86, 0xd1, 0x03, 0xea, 0x75, 0xe0, 0x1a, 0x81, 0x93, 0x4a,
- 0xad, 0x8a, 0xe7, 0x13, 0xe5, 0x52, 0xb5, 0xac, 0xe1, 0xc9, 0xc3, 0x25, 0x15, 0x82, 0x53, 0x94,
- 0x5c, 0x73, 0xa9, 0xb2, 0xca, 0x6f, 0x01, 0x7c, 0x3c, 0xa3, 0x9e, 0x01, 0x57, 0xf0, 0xdf, 0x2a,
- 0xd5, 0xf3, 0xa5, 0xd5, 0xca, 0x62, 0xf1, 0x8f, 0x32, 0xea, 0x0d, 0xe0, 0x5a, 0xe1, 0x2f, 0xba,
- 0x9a, 0xdf, 0xac, 0x2c, 0x36, 0xd7, 0x2a, 0xf5, 0xb5, 0x52, 0xa3, 0xbc, 0x52, 0xfc, 0x04, 0x99,
- 0x2f, 0x04, 0x06, 0x30, 0xe7, 0x0c, 0xf7, 0x12, 0x7e, 0x4c, 0x2f, 0x89, 0x8a, 0xfa, 0x98, 0xbe,
- 0xb0, 0xc7, 0xdb, 0xb0, 0x1f, 0x0d, 0x46, 0x87, 0x45, 0x41, 0x85, 0x1e, 0x97, 0x80, 0x56, 0x32,
- 0x1d, 0x6a, 0x0c, 0xa1, 0x42, 0xd7, 0x81, 0x6b, 0xaa, 0x1a, 0x45, 0x4a, 0xd7, 0xca, 0xb5, 0xf3,
- 0x9a, 0xde, 0xbc, 0x50, 0x5a, 0x5d, 0xd5, 0x1a, 0xcd, 0xa5, 0x8a, 0x5e, 0x6f, 0x14, 0x37, 0xe1,
- 0xb7, 0xb3, 0xc1, 0x1c, 0x9a, 0x93, 0xd6, 0xdf, 0x66, 0x93, 0x36, 0xeb, 0xd8, 0xb9, 0xf2, 0x8f,
- 0x83, 0x82, 0xeb, 0x19, 0xde, 0xae, 0xcb, 0x5a, 0xf5, 0x23, 0xfa, 0xb7, 0xea, 0xf9, 0x3a, 0xc9,
- 0xa4, 0xb3, 0xcc, 0xf0, 0xaf, 0x32, 0x49, 0x9a, 0xe9, 0x08, 0xa6, 0xd1, 0xe6, 0x10, 0x22, 0x3e,
- 0x0b, 0xa0, 0xaf, 0xed, 0x95, 0x7a, 0xb3, 0xb4, 0xaa, 0x6b, 0xa5, 0xc5, 0xfb, 0x83, 0xc9, 0x33,
- 0x52, 0x4f, 0x81, 0x13, 0x1b, 0x55, 0x3c, 0x1d, 0x26, 0xcd, 0xa5, 0x56, 0xad, 0x6a, 0x65, 0x2c,
- 0xf7, 0x9f, 0x23, 0x4b, 0xd5, 0xd8, 0x82, 0x26, 0x7c, 0x63, 0x2b, 0x87, 0x93, 0xff, 0xd7, 0xa5,
+ 0x75, 0x27, 0x3a, 0x95, 0x59, 0x55, 0xdd, 0x1d, 0xfd, 0x98, 0x9a, 0xd4, 0xcc, 0x68, 0x14, 0x12,
+ 0x23, 0x31, 0x12, 0x42, 0x16, 0xa2, 0x05, 0x12, 0xb6, 0x91, 0x90, 0x90, 0xaa, 0xab, 0xb3, 0xbb,
+ 0x0b, 0x75, 0x57, 0xb5, 0xb3, 0xaa, 0x67, 0x90, 0xbd, 0xbe, 0xb5, 0x39, 0x55, 0xd1, 0xdd, 0xa9,
+ 0xa9, 0xce, 0x2c, 0x67, 0x65, 0xf7, 0xa8, 0xb9, 0xdf, 0xde, 0x35, 0xc6, 0x80, 0x30, 0x66, 0x31,
+ 0xc6, 0xd8, 0xc6, 0x98, 0xf7, 0x6b, 0xc1, 0x3c, 0xcc, 0x7b, 0xc1, 0x36, 0xd8, 0x3c, 0x0c, 0xc6,
+ 0x36, 0xc6, 0x60, 0x1e, 0xc6, 0xe6, 0x1a, 0x0c, 0xc6, 0x78, 0x3f, 0xb3, 0x5c, 0xfb, 0x2e, 0xb0,
+ 0xd8, 0x70, 0x7d, 0xbf, 0x78, 0x64, 0x66, 0x44, 0x75, 0x65, 0x56, 0x64, 0x75, 0x65, 0xb5, 0x30,
+ 0xfb, 0x5f, 0x66, 0x64, 0xe4, 0x89, 0x13, 0xe7, 0x77, 0x22, 0xe2, 0x44, 0xc4, 0x89, 0x13, 0xe0,
+ 0x4c, 0xe7, 0xe2, 0xad, 0x1d, 0xd7, 0xf1, 0x9c, 0xee, 0xad, 0x4d, 0x67, 0x67, 0xc7, 0xb4, 0x5b,
+ 0xdd, 0x79, 0xf2, 0xae, 0x4d, 0x98, 0xf6, 0xbe, 0xb7, 0xdf, 0x41, 0xf0, 0x86, 0xce, 0xa5, 0xad,
+ 0x5b, 0xdb, 0xd6, 0xc5, 0x5b, 0x3b, 0x17, 0x6f, 0xdd, 0x71, 0x5a, 0xa8, 0xed, 0xff, 0x40, 0x5e,
+ 0x58, 0x76, 0x78, 0x53, 0x54, 0xae, 0xb6, 0xd3, 0x34, 0xdb, 0x5d, 0xcf, 0x71, 0x11, 0xcb, 0x79,
+ 0x3a, 0x2c, 0x12, 0xed, 0x21, 0xdb, 0xf3, 0x29, 0x5c, 0xb3, 0xe5, 0x38, 0x5b, 0x6d, 0x44, 0xbf,
+ 0x5d, 0xdc, 0xdd, 0xbc, 0xb5, 0xeb, 0xb9, 0xbb, 0x4d, 0x8f, 0x7d, 0xbd, 0xae, 0xf7, 0x6b, 0x0b,
+ 0x75, 0x9b, 0xae, 0xd5, 0xf1, 0x1c, 0x97, 0xe6, 0x38, 0xf7, 0xd9, 0x7f, 0x9c, 0x00, 0xaa, 0xd1,
+ 0x69, 0xc2, 0x6f, 0x4f, 0x00, 0xb5, 0xd8, 0xe9, 0xc0, 0x8f, 0x28, 0x00, 0x2c, 0x23, 0xef, 0x3c,
+ 0x72, 0xbb, 0x96, 0x63, 0xc3, 0xe3, 0x60, 0xc2, 0x40, 0x3f, 0xb3, 0x8b, 0xba, 0xde, 0x9d, 0xd9,
+ 0x87, 0xbe, 0xa6, 0x66, 0xe0, 0x6b, 0x15, 0x30, 0x69, 0xa0, 0x6e, 0xc7, 0xb1, 0xbb, 0x48, 0xbb,
+ 0x17, 0xe4, 0x90, 0xeb, 0x3a, 0xee, 0x99, 0xcc, 0x75, 0x99, 0x9b, 0xa6, 0x6f, 0xbb, 0x79, 0x9e,
+ 0x55, 0x7f, 0xde, 0xe8, 0x34, 0xe7, 0x8b, 0x9d, 0xce, 0x7c, 0x48, 0x69, 0xde, 0xff, 0x69, 0x5e,
+ 0xc7, 0x7f, 0x18, 0xf4, 0x47, 0xed, 0x0c, 0x98, 0xd8, 0xa3, 0x19, 0xce, 0x28, 0xd7, 0x65, 0x6e,
+ 0x9a, 0x32, 0xfc, 0x57, 0xfc, 0xa5, 0x85, 0x3c, 0xd3, 0x6a, 0x77, 0xcf, 0xa8, 0xf4, 0x0b, 0x7b,
+ 0x85, 0xaf, 0xca, 0x80, 0x1c, 0x21, 0xa2, 0x95, 0x40, 0xb6, 0xe9, 0xb4, 0x10, 0x29, 0x7e, 0xee,
+ 0xb6, 0x5b, 0xe5, 0x8b, 0x9f, 0x2f, 0x39, 0x2d, 0x64, 0x90, 0x9f, 0xb5, 0xeb, 0xc0, 0xb4, 0x2f,
+ 0x96, 0x90, 0x0d, 0x3e, 0xe9, 0xdc, 0x6d, 0x20, 0x8b, 0xf3, 0x6b, 0x93, 0x20, 0x5b, 0xd9, 0x58,
+ 0x5d, 0x2d, 0x1c, 0xd3, 0x4e, 0x80, 0xd9, 0x8d, 0xca, 0x7d, 0x95, 0xea, 0x85, 0x4a, 0x43, 0x37,
+ 0x8c, 0xaa, 0x51, 0xc8, 0x68, 0xb3, 0x60, 0x6a, 0xa1, 0xb8, 0xd8, 0x28, 0x57, 0xd6, 0x37, 0xea,
+ 0x05, 0x05, 0xbe, 0x4c, 0x05, 0x73, 0x35, 0xe4, 0x2d, 0xa2, 0x3d, 0xab, 0x89, 0x6a, 0x9e, 0xe9,
+ 0x21, 0xf8, 0xfc, 0x4c, 0x20, 0x4c, 0x6d, 0x03, 0x17, 0x1a, 0x7c, 0x62, 0x15, 0xb8, 0xfd, 0x40,
+ 0x05, 0x44, 0x0a, 0xf3, 0xec, 0xef, 0x79, 0x2e, 0xcd, 0xe0, 0xe9, 0x9c, 0x7b, 0x2c, 0x98, 0xe6,
+ 0xbe, 0x69, 0x73, 0x00, 0x2c, 0x14, 0x4b, 0xf7, 0x2d, 0x1b, 0xd5, 0x8d, 0xca, 0x62, 0xe1, 0x18,
+ 0x7e, 0x5f, 0xaa, 0x1a, 0x3a, 0x7b, 0xcf, 0xc0, 0xef, 0x66, 0x38, 0x30, 0x17, 0x45, 0x30, 0xe7,
+ 0x07, 0x33, 0xd3, 0x07, 0x50, 0xf8, 0xba, 0x00, 0x9c, 0x65, 0x01, 0x9c, 0xdb, 0x93, 0x91, 0x4b,
+ 0x1f, 0xa0, 0x67, 0x2a, 0x60, 0xb2, 0xb6, 0xbd, 0xeb, 0xb5, 0x9c, 0xcb, 0x36, 0x9c, 0x0a, 0x90,
+ 0x81, 0xdf, 0xe0, 0x65, 0xf2, 0x64, 0x51, 0x26, 0x37, 0x1d, 0xac, 0x04, 0xa3, 0x10, 0x21, 0x8d,
+ 0x57, 0x04, 0xd2, 0x28, 0x0a, 0xd2, 0x78, 0xac, 0x2c, 0xa1, 0xf4, 0xe5, 0xf0, 0x4b, 0xb7, 0x83,
+ 0x5c, 0xad, 0x63, 0x36, 0x11, 0xfc, 0x13, 0x15, 0xcc, 0xac, 0x22, 0x73, 0x0f, 0x15, 0x3b, 0x1d,
+ 0xd7, 0xd9, 0x43, 0xb0, 0x14, 0xea, 0xeb, 0x19, 0x30, 0xd1, 0xc5, 0x99, 0xca, 0x2d, 0x52, 0x83,
+ 0x29, 0xc3, 0x7f, 0xd5, 0xce, 0x02, 0x60, 0xb5, 0x90, 0xed, 0x59, 0x9e, 0x85, 0xba, 0x67, 0x94,
+ 0xeb, 0xd4, 0x9b, 0xa6, 0x0c, 0x2e, 0x05, 0x7e, 0x5b, 0x91, 0xd5, 0x31, 0xc2, 0xc5, 0x3c, 0xcf,
+ 0x41, 0x84, 0x54, 0x5f, 0xad, 0xc8, 0xe8, 0xd8, 0x40, 0x72, 0xc9, 0x64, 0xfb, 0x96, 0x4c, 0x72,
+ 0xe1, 0xe2, 0x1c, 0x95, 0x6a, 0xa3, 0xb6, 0x51, 0x5a, 0x69, 0xd4, 0xd6, 0x8b, 0x25, 0xbd, 0x80,
+ 0xb4, 0x93, 0xa0, 0x40, 0x1e, 0x1b, 0xe5, 0x5a, 0x63, 0x51, 0x5f, 0xd5, 0xeb, 0xfa, 0x62, 0x61,
+ 0x53, 0xd3, 0xc0, 0x9c, 0xa1, 0xff, 0xc4, 0x86, 0x5e, 0xab, 0x37, 0x96, 0x8a, 0xe5, 0x55, 0x7d,
+ 0xb1, 0xb0, 0x85, 0x7f, 0x5e, 0x2d, 0xaf, 0x95, 0xeb, 0x0d, 0x43, 0x2f, 0x96, 0x56, 0xf4, 0xc5,
+ 0xc2, 0xb6, 0x76, 0x25, 0xb8, 0xa2, 0x52, 0x6d, 0x14, 0xd7, 0xd7, 0x8d, 0xea, 0x79, 0xbd, 0xc1,
+ 0xfe, 0xa8, 0x15, 0x2c, 0x5a, 0x50, 0xbd, 0x51, 0x5b, 0x29, 0x1a, 0x7a, 0x71, 0x61, 0x55, 0x2f,
+ 0x3c, 0x00, 0x9f, 0xa1, 0x82, 0xd9, 0x35, 0xf3, 0x12, 0xaa, 0x6d, 0x9b, 0x2e, 0x32, 0x2f, 0xb6,
+ 0x11, 0xbc, 0x5e, 0x02, 0x4f, 0xf8, 0x27, 0x3c, 0x5e, 0xba, 0x88, 0xd7, 0xad, 0x7d, 0x04, 0x2c,
+ 0x14, 0x11, 0x01, 0xd8, 0xff, 0x0a, 0x9a, 0xc1, 0x8a, 0x00, 0xd8, 0x13, 0x12, 0xd2, 0x4b, 0x86,
+ 0xd8, 0xcf, 0x3d, 0x0c, 0x10, 0x83, 0x5f, 0x54, 0xc1, 0x5c, 0xd9, 0xde, 0xb3, 0x3c, 0xb4, 0x8c,
+ 0x6c, 0xe4, 0xe2, 0x71, 0x40, 0x0a, 0x86, 0xd7, 0xaa, 0x1c, 0x0c, 0x4b, 0x22, 0x0c, 0x8f, 0xeb,
+ 0x23, 0x36, 0xb1, 0x8c, 0x88, 0xd1, 0xf6, 0x1a, 0x30, 0x65, 0x91, 0x7c, 0x25, 0xab, 0xc5, 0x24,
+ 0x16, 0x26, 0x68, 0x37, 0x80, 0x59, 0xfa, 0xb2, 0x64, 0xb5, 0xd1, 0x7d, 0x68, 0x9f, 0x8d, 0xbb,
+ 0x62, 0x22, 0xfc, 0xc5, 0xa0, 0xf1, 0x95, 0x05, 0x2c, 0x7f, 0x34, 0x29, 0x53, 0xc9, 0xc0, 0x7c,
+ 0xd1, 0xc3, 0xa1, 0xf9, 0x1d, 0x68, 0x65, 0x16, 0xfc, 0xbe, 0x02, 0xa6, 0x6b, 0x9e, 0xd3, 0xc1,
+ 0x2a, 0x6b, 0xd9, 0x5b, 0x72, 0xe0, 0x7e, 0x8c, 0x6f, 0x63, 0x25, 0x11, 0xdc, 0xc7, 0xf6, 0x91,
+ 0x23, 0x57, 0x40, 0x44, 0x0b, 0xfb, 0x76, 0xd0, 0xc2, 0x96, 0x04, 0x54, 0x6e, 0x4b, 0x44, 0xed,
+ 0x07, 0xb0, 0x7d, 0xbd, 0x48, 0x05, 0x05, 0x5f, 0xcd, 0xbc, 0xd2, 0xae, 0xeb, 0x22, 0xdb, 0x93,
+ 0x03, 0xe1, 0xaf, 0x78, 0x10, 0x56, 0x44, 0x10, 0x6e, 0x8b, 0x51, 0x66, 0xbf, 0x94, 0x14, 0xdb,
+ 0xd8, 0xef, 0x07, 0x68, 0xde, 0x27, 0xa0, 0xf9, 0xe3, 0xc9, 0xd9, 0x4a, 0x06, 0xe9, 0xca, 0x10,
+ 0x88, 0x9e, 0x04, 0x05, 0x3c, 0x26, 0x95, 0xea, 0xe5, 0xf3, 0x7a, 0xa3, 0x5c, 0x39, 0x5f, 0xae,
+ 0xeb, 0x05, 0x04, 0x5f, 0xa8, 0x82, 0x19, 0xca, 0x9a, 0x81, 0xf6, 0x9c, 0x4b, 0x92, 0xbd, 0xde,
+ 0x17, 0x13, 0x1a, 0x0b, 0x7c, 0x09, 0x11, 0x2d, 0xe3, 0x17, 0x12, 0x18, 0x0b, 0x31, 0xe4, 0x1e,
+ 0x4e, 0xbd, 0xd5, 0x81, 0x66, 0xb0, 0xd5, 0xa7, 0xb5, 0xf4, 0xed, 0xad, 0x5e, 0x94, 0x05, 0x80,
+ 0x56, 0xf2, 0xbc, 0x85, 0x2e, 0xc3, 0xb5, 0x10, 0x13, 0x41, 0x6d, 0x33, 0x03, 0xd5, 0x56, 0xe9,
+ 0xa7, 0xb6, 0xef, 0xe1, 0xc7, 0xac, 0x05, 0x11, 0xbd, 0x5b, 0x22, 0xc5, 0x8d, 0x39, 0x89, 0x9e,
+ 0x1d, 0xfa, 0x8a, 0xa2, 0x88, 0x56, 0xe7, 0x35, 0x60, 0x8a, 0x3c, 0x56, 0xcc, 0x1d, 0xc4, 0xda,
+ 0x50, 0x98, 0xa0, 0x9d, 0x03, 0x33, 0x34, 0x63, 0xd3, 0xb1, 0x71, 0x7d, 0xb2, 0x24, 0x83, 0x90,
+ 0x86, 0x41, 0x6c, 0xba, 0xc8, 0xf4, 0x1c, 0x97, 0xd0, 0xc8, 0x51, 0x10, 0xb9, 0x24, 0xf8, 0xf5,
+ 0xa0, 0x15, 0xea, 0x82, 0xe6, 0x3c, 0x3e, 0x49, 0x55, 0x92, 0xe9, 0xcd, 0xde, 0x70, 0xed, 0x8f,
+ 0xb6, 0xba, 0x06, 0x46, 0x7b, 0x89, 0x4c, 0xed, 0x90, 0x76, 0x1a, 0x68, 0x2c, 0x15, 0xe7, 0x2d,
+ 0x55, 0x2b, 0x75, 0xbd, 0x52, 0x2f, 0x6c, 0xf6, 0xd5, 0xa8, 0x2d, 0xf8, 0xea, 0x2c, 0xc8, 0x3e,
+ 0xc5, 0xb1, 0x6c, 0xf8, 0xcc, 0x8c, 0xa0, 0x12, 0x36, 0xf2, 0x2e, 0x3b, 0xee, 0xa5, 0xa0, 0xa1,
+ 0x86, 0x09, 0xf1, 0xd8, 0x84, 0xaa, 0xa4, 0x0e, 0x54, 0xa5, 0x6c, 0x3f, 0x55, 0xfa, 0x65, 0x5e,
+ 0x95, 0xee, 0x12, 0x55, 0xe9, 0xc6, 0x3e, 0xf2, 0xc7, 0xcc, 0x47, 0x74, 0x00, 0x1f, 0x0d, 0x3a,
+ 0x80, 0x7b, 0x04, 0x18, 0x1f, 0x23, 0x47, 0x26, 0x19, 0x80, 0x5f, 0x48, 0xb5, 0xe1, 0xf7, 0x83,
+ 0x7a, 0x2b, 0x02, 0xea, 0xed, 0x3e, 0x7d, 0x82, 0x75, 0xb0, 0xeb, 0x78, 0xe0, 0x60, 0x37, 0x71,
+ 0x49, 0x3b, 0x05, 0x4e, 0x2c, 0x96, 0x97, 0x96, 0x74, 0x43, 0xaf, 0xd4, 0x1b, 0x15, 0xbd, 0x7e,
+ 0xa1, 0x6a, 0xdc, 0x57, 0x68, 0xc3, 0x57, 0xa9, 0x00, 0x60, 0x09, 0x95, 0x4c, 0xbb, 0x89, 0xda,
+ 0x72, 0x3d, 0xfa, 0xff, 0x50, 0x92, 0xf5, 0x09, 0x21, 0xfd, 0x08, 0x38, 0x5f, 0xaa, 0xc8, 0xb7,
+ 0xca, 0x48, 0x62, 0xc9, 0x40, 0x7d, 0xe3, 0xc3, 0xc1, 0xf6, 0xbc, 0x02, 0x1c, 0xf7, 0xe9, 0xb1,
+ 0xec, 0xfd, 0xa7, 0x7d, 0x6f, 0xcd, 0x82, 0x39, 0x06, 0x8b, 0x3f, 0x8f, 0x7f, 0x28, 0x23, 0x33,
+ 0x91, 0x87, 0x60, 0x92, 0x4d, 0xdb, 0xfd, 0xee, 0x3d, 0x78, 0xd7, 0x96, 0xc1, 0x74, 0x07, 0xb9,
+ 0x3b, 0x56, 0xb7, 0x6b, 0x39, 0x36, 0x5d, 0x90, 0x9b, 0xbb, 0xed, 0x51, 0x81, 0xc4, 0xc9, 0xda,
+ 0xe5, 0xfc, 0xba, 0xe9, 0x7a, 0x56, 0xd3, 0xea, 0x98, 0xb6, 0xb7, 0x1e, 0x66, 0x36, 0xf8, 0x3f,
+ 0xe1, 0x0b, 0x12, 0x4e, 0x6b, 0xc4, 0x9a, 0x44, 0xa8, 0xc4, 0xef, 0x26, 0x98, 0x92, 0xc4, 0x12,
+ 0x4c, 0xa6, 0x16, 0x1f, 0x49, 0x55, 0x2d, 0xfa, 0xe0, 0xbd, 0xa5, 0x5d, 0x05, 0x4e, 0x95, 0x2b,
+ 0xa5, 0xaa, 0x61, 0xe8, 0xa5, 0x7a, 0x63, 0x5d, 0x37, 0xd6, 0xca, 0xb5, 0x5a, 0xb9, 0x5a, 0xa9,
+ 0x1d, 0xa6, 0xb5, 0xc3, 0x8f, 0xab, 0x81, 0xc6, 0x2c, 0xa2, 0x66, 0xdb, 0xb2, 0x11, 0xbc, 0xe7,
+ 0x90, 0x0a, 0x23, 0xae, 0xfa, 0xc8, 0xe3, 0xcc, 0xca, 0x8f, 0xc0, 0xf9, 0x95, 0xc9, 0x71, 0xee,
+ 0x4f, 0xf0, 0xdf, 0x71, 0xf3, 0xff, 0xa2, 0x0a, 0x4e, 0x70, 0x0d, 0xd1, 0x40, 0x3b, 0x23, 0x5b,
+ 0xc9, 0xfb, 0x39, 0xbe, 0xed, 0x96, 0x45, 0x4c, 0xfb, 0x59, 0xd3, 0x07, 0xd8, 0x88, 0x80, 0xf5,
+ 0x8d, 0x01, 0xac, 0xab, 0x02, 0xac, 0x4f, 0x1c, 0x82, 0x66, 0x32, 0x64, 0x7f, 0x3b, 0x55, 0x64,
+ 0xaf, 0x02, 0xa7, 0xd6, 0x8b, 0x46, 0xbd, 0x5c, 0x2a, 0xaf, 0x17, 0xf1, 0x38, 0xca, 0x0d, 0xd9,
+ 0x11, 0xe6, 0xba, 0x08, 0x7a, 0x5f, 0x7c, 0x3f, 0x90, 0x05, 0xd7, 0xf4, 0xef, 0x68, 0x4b, 0xdb,
+ 0xa6, 0xbd, 0x85, 0xa0, 0x25, 0x03, 0xf5, 0x22, 0x98, 0x68, 0x92, 0xec, 0x14, 0x67, 0x7e, 0xeb,
+ 0x26, 0xa6, 0x2f, 0xa7, 0x25, 0x18, 0xfe, 0xaf, 0xf0, 0x1d, 0xbc, 0x42, 0xd4, 0x45, 0x85, 0x78,
+ 0x72, 0x3c, 0x78, 0x07, 0xf8, 0x8e, 0xd0, 0x8d, 0x4f, 0x06, 0xba, 0x71, 0x41, 0xd0, 0x8d, 0xd2,
+ 0xe1, 0xc8, 0x27, 0x53, 0x93, 0x3f, 0x7e, 0x38, 0x74, 0x00, 0x91, 0xda, 0x64, 0x45, 0x8f, 0x0a,
+ 0x7d, 0xbb, 0xfb, 0x97, 0xab, 0x20, 0xbf, 0x88, 0xda, 0x48, 0x76, 0x25, 0xf2, 0x9b, 0x8a, 0xec,
+ 0x86, 0x08, 0x85, 0x81, 0xd2, 0x8e, 0x5e, 0x1d, 0xf1, 0xac, 0x1d, 0xd4, 0xf5, 0xcc, 0x9d, 0x0e,
+ 0x11, 0xb5, 0x6a, 0x84, 0x09, 0xf0, 0xe7, 0x15, 0x99, 0xed, 0x92, 0x98, 0x62, 0xfe, 0x7d, 0xac,
+ 0x29, 0x7e, 0x65, 0x0e, 0xe4, 0x2f, 0x98, 0xed, 0x36, 0xf2, 0xe0, 0x57, 0x15, 0x90, 0x2f, 0xe1,
+ 0x39, 0x29, 0x82, 0x8f, 0x09, 0xc1, 0x82, 0x60, 0xd2, 0x75, 0x1c, 0x6f, 0xdd, 0xf4, 0xb6, 0x19,
+ 0x5a, 0xc1, 0x3b, 0xdb, 0xa6, 0x7d, 0x13, 0x0f, 0xda, 0x3d, 0x22, 0x68, 0x3f, 0x22, 0x48, 0x93,
+ 0x16, 0x34, 0x4f, 0x0b, 0x89, 0x40, 0x0d, 0x82, 0xc9, 0x1d, 0x1b, 0xed, 0x38, 0xb6, 0xd5, 0xf4,
+ 0x47, 0x7a, 0xff, 0x1d, 0x7e, 0x30, 0x98, 0x25, 0x2f, 0x08, 0x98, 0xcd, 0x4b, 0x97, 0x92, 0x0c,
+ 0xb4, 0xda, 0x10, 0x98, 0x5d, 0x0b, 0xae, 0xa6, 0x10, 0x34, 0xea, 0xd5, 0x46, 0xc9, 0xd0, 0x8b,
+ 0x75, 0xbd, 0xb1, 0x5a, 0x2d, 0x15, 0x57, 0x1b, 0x86, 0xbe, 0x5e, 0x2d, 0x20, 0xf8, 0xf7, 0x0a,
+ 0x16, 0x6e, 0xd3, 0xd9, 0x43, 0x2e, 0x5c, 0x96, 0x92, 0x73, 0x9c, 0x4c, 0x18, 0x06, 0xbf, 0x2c,
+ 0xbd, 0x55, 0xce, 0xa4, 0xc3, 0x38, 0x88, 0xe8, 0x0a, 0x3f, 0x24, 0xb5, 0xed, 0x1d, 0x4b, 0xea,
+ 0x61, 0x20, 0xe9, 0xff, 0xa9, 0x80, 0x89, 0x92, 0x63, 0xef, 0x21, 0xd7, 0xe3, 0xad, 0x4c, 0x5e,
+ 0x9a, 0x19, 0x51, 0x9a, 0xb8, 0x6b, 0x42, 0xb6, 0xe7, 0x3a, 0x1d, 0xdf, 0xcc, 0xf4, 0x5f, 0xe1,
+ 0xeb, 0x93, 0x4a, 0x98, 0x95, 0x1c, 0xbd, 0xdc, 0xd4, 0xbf, 0x20, 0x81, 0x3d, 0xb5, 0xa7, 0x01,
+ 0xbc, 0x2a, 0x09, 0x2e, 0xfd, 0x19, 0x48, 0x7f, 0x97, 0xf7, 0x4b, 0x2a, 0x98, 0xa5, 0x8d, 0xaf,
+ 0x86, 0xc8, 0xb8, 0x08, 0xab, 0xfc, 0x42, 0x4f, 0x8f, 0xf0, 0x57, 0x8e, 0x09, 0xe2, 0xcf, 0x9b,
+ 0x9d, 0x4e, 0xb0, 0xe8, 0xb7, 0x72, 0xcc, 0x60, 0xef, 0x54, 0xcd, 0x17, 0xf2, 0x20, 0x6b, 0xee,
+ 0x7a, 0xdb, 0xf0, 0xfb, 0xd2, 0x26, 0xbf, 0xd0, 0x19, 0x30, 0x7e, 0x22, 0x20, 0x39, 0x09, 0x72,
+ 0x9e, 0x73, 0x09, 0xf9, 0x72, 0xa0, 0x2f, 0x18, 0x0e, 0xb3, 0xd3, 0xa9, 0x93, 0x0f, 0x0c, 0x0e,
+ 0xff, 0x1d, 0x8f, 0x30, 0x66, 0xb3, 0xe9, 0xec, 0xda, 0x5e, 0xd9, 0x5f, 0xf8, 0x0b, 0x13, 0xe0,
+ 0xe7, 0x33, 0x32, 0x53, 0x08, 0x09, 0x06, 0x93, 0x41, 0x76, 0x71, 0x88, 0xa6, 0x34, 0x0f, 0x6e,
+ 0x2e, 0xae, 0xaf, 0x37, 0xea, 0xd5, 0xfb, 0xf4, 0x4a, 0x38, 0xdc, 0x37, 0xca, 0x95, 0x46, 0x7d,
+ 0x45, 0x6f, 0x94, 0x36, 0x0c, 0xb2, 0x3a, 0x53, 0x2c, 0x95, 0xaa, 0x1b, 0x95, 0x7a, 0x01, 0xc1,
+ 0x37, 0x2b, 0x60, 0xa6, 0xd4, 0x76, 0xba, 0x01, 0xc2, 0xd7, 0x86, 0x08, 0x07, 0x62, 0xcc, 0x70,
+ 0x62, 0x84, 0xff, 0x9a, 0x91, 0xdd, 0xea, 0xf5, 0x05, 0xc2, 0x91, 0x8f, 0xe8, 0xa5, 0x5e, 0x2f,
+ 0xb5, 0xd5, 0x3b, 0x98, 0x5e, 0xfa, 0x4d, 0xe2, 0xd3, 0x77, 0x82, 0x89, 0x22, 0x55, 0x0c, 0xf8,
+ 0x37, 0x19, 0x90, 0x2f, 0x39, 0xf6, 0xa6, 0xb5, 0xa5, 0xdd, 0x08, 0xe6, 0x90, 0x6d, 0x5e, 0x6c,
+ 0xa3, 0x45, 0xd3, 0x33, 0xf7, 0x2c, 0x74, 0x99, 0x54, 0x60, 0xd2, 0xe8, 0x49, 0xc5, 0x4c, 0xb1,
+ 0x14, 0x74, 0x71, 0x77, 0x8b, 0x30, 0x35, 0x69, 0xf0, 0x49, 0xda, 0x13, 0xc1, 0x95, 0xf4, 0x75,
+ 0xdd, 0x45, 0x2e, 0x6a, 0x23, 0xb3, 0x8b, 0xb0, 0x31, 0x6a, 0xa3, 0x36, 0x51, 0xda, 0x49, 0x23,
+ 0xea, 0xb3, 0x76, 0x0e, 0xcc, 0xd0, 0x4f, 0xc4, 0xd4, 0xe9, 0x12, 0x35, 0x9e, 0x34, 0x84, 0x34,
+ 0xed, 0xb1, 0x20, 0x87, 0x1e, 0xf4, 0x5c, 0xf3, 0x4c, 0x8b, 0xe0, 0x75, 0xe5, 0x3c, 0xf5, 0xf5,
+ 0x9a, 0xf7, 0x7d, 0xbd, 0xe6, 0x6b, 0xc4, 0x13, 0xcc, 0xa0, 0xb9, 0xe0, 0x6f, 0x4e, 0x06, 0x86,
+ 0xc4, 0xbf, 0x29, 0xa1, 0x62, 0x68, 0x20, 0x6b, 0x9b, 0x3b, 0x88, 0xe9, 0x05, 0x79, 0xd6, 0x6e,
+ 0x06, 0xc7, 0xcd, 0x3d, 0xd3, 0x33, 0xdd, 0x55, 0xa7, 0x69, 0xb6, 0xc9, 0xe0, 0xe7, 0xb7, 0xfc,
+ 0xde, 0x0f, 0x64, 0x1d, 0xde, 0x73, 0x5c, 0x44, 0x72, 0xf9, 0xeb, 0xf0, 0x7e, 0x02, 0xa6, 0x6e,
+ 0x35, 0x1d, 0x9b, 0xf0, 0xaf, 0x1a, 0xe4, 0x19, 0x4b, 0xa5, 0x65, 0x75, 0x71, 0x45, 0x08, 0x95,
+ 0x0a, 0x5d, 0x50, 0xae, 0xed, 0xdb, 0x4d, 0xb2, 0x06, 0x3f, 0x69, 0x44, 0x7d, 0xd6, 0x16, 0xc0,
+ 0x34, 0x5b, 0x7e, 0x5e, 0xc3, 0x7a, 0x95, 0x27, 0x7a, 0x75, 0x9d, 0xe8, 0x49, 0x43, 0xf1, 0x9c,
+ 0xaf, 0x84, 0xf9, 0x0c, 0xfe, 0x27, 0xed, 0x5e, 0x70, 0x35, 0x7b, 0x2d, 0xed, 0x76, 0x3d, 0x67,
+ 0x87, 0x82, 0xbe, 0x64, 0xb5, 0x69, 0x0d, 0x26, 0x48, 0x0d, 0xe2, 0xb2, 0x68, 0xb7, 0x81, 0x93,
+ 0x1d, 0x17, 0x6d, 0x22, 0xf7, 0x7e, 0x73, 0x67, 0xf7, 0xc1, 0xba, 0x6b, 0xda, 0xdd, 0x8e, 0xe3,
+ 0x7a, 0x67, 0x26, 0x09, 0xf3, 0x7d, 0xbf, 0xb1, 0x8e, 0x72, 0x12, 0xe4, 0xa9, 0xf8, 0xe0, 0xf3,
+ 0x73, 0xd2, 0x4e, 0x74, 0xac, 0x42, 0xb1, 0xe6, 0xd9, 0xe3, 0xc0, 0x04, 0xeb, 0xe1, 0x08, 0x50,
+ 0xd3, 0xb7, 0x9d, 0xee, 0x99, 0xcd, 0x31, 0x2a, 0x86, 0x9f, 0x4d, 0xbb, 0x1d, 0xe4, 0x9b, 0xa4,
+ 0x5a, 0x04, 0xb3, 0xe9, 0xdb, 0xae, 0xee, 0x5f, 0x28, 0xc9, 0x62, 0xb0, 0xac, 0xf0, 0x2f, 0x55,
+ 0x29, 0xbf, 0xbb, 0x38, 0x8e, 0x93, 0xb5, 0xea, 0xaf, 0x2b, 0x43, 0x74, 0x9b, 0xb7, 0x80, 0x9b,
+ 0x58, 0x9f, 0xc8, 0xec, 0x8f, 0xc5, 0xc6, 0xc2, 0x86, 0x6f, 0x82, 0x63, 0xab, 0xa4, 0x56, 0x2f,
+ 0x1a, 0x78, 0xfe, 0xb4, 0x88, 0x4d, 0xf7, 0x9b, 0xc1, 0x8d, 0x03, 0x72, 0xeb, 0xf5, 0x46, 0xa5,
+ 0xb8, 0xa6, 0x17, 0x36, 0x45, 0xdb, 0xa6, 0x56, 0xaf, 0xae, 0x37, 0x8c, 0x8d, 0x4a, 0xa5, 0x5c,
+ 0x59, 0xa6, 0xc4, 0xb0, 0x49, 0x78, 0x3a, 0xcc, 0x70, 0xc1, 0x28, 0xd7, 0xf5, 0x46, 0xa9, 0x5a,
+ 0x59, 0x2a, 0x2f, 0x17, 0xac, 0x41, 0x86, 0xd1, 0x03, 0xda, 0x75, 0xe0, 0x1a, 0x81, 0x93, 0x72,
+ 0xb5, 0x82, 0xe7, 0x13, 0xa5, 0x62, 0xa5, 0xa4, 0xe3, 0xc9, 0xc3, 0x25, 0x0d, 0x82, 0x53, 0x94,
+ 0x5c, 0x63, 0xa9, 0xbc, 0xca, 0x6f, 0x01, 0x7c, 0x2c, 0xa3, 0x9d, 0x01, 0x57, 0xf0, 0xdf, 0xca,
+ 0x95, 0xf3, 0xc5, 0xd5, 0xf2, 0x62, 0xe1, 0x8f, 0x32, 0xda, 0x0d, 0xe0, 0x5a, 0xe1, 0x2f, 0xba,
+ 0x9a, 0xdf, 0x28, 0x2f, 0x36, 0xd6, 0xca, 0xb5, 0xb5, 0x62, 0xbd, 0xb4, 0x52, 0xf8, 0x38, 0x99,
+ 0x2f, 0x04, 0x06, 0x30, 0xe7, 0x0c, 0xf7, 0x22, 0x7e, 0x4c, 0x2f, 0x8a, 0x8a, 0xfa, 0x98, 0xbe,
+ 0xb0, 0xc7, 0xdb, 0xb0, 0x1f, 0x09, 0x46, 0x87, 0x45, 0x41, 0x85, 0x1e, 0x97, 0x80, 0x56, 0x32,
+ 0x1d, 0xaa, 0x0f, 0xa1, 0x42, 0xd7, 0x81, 0x6b, 0x2a, 0x3a, 0x45, 0xca, 0xd0, 0x4b, 0xd5, 0xf3,
+ 0xba, 0xd1, 0xb8, 0x50, 0x5c, 0x5d, 0xd5, 0xeb, 0x8d, 0xa5, 0xb2, 0x51, 0xab, 0x17, 0x36, 0xe1,
+ 0xb7, 0x94, 0x60, 0x0e, 0xcd, 0x49, 0xeb, 0x6f, 0x94, 0xa4, 0xcd, 0x3a, 0x76, 0xae, 0xfc, 0xa3,
+ 0x20, 0xdf, 0xf5, 0x4c, 0x6f, 0xb7, 0xcb, 0x5a, 0xf5, 0x23, 0xfa, 0xb7, 0xea, 0xf9, 0x1a, 0xc9,
+ 0x64, 0xb0, 0xcc, 0xf0, 0x2f, 0x33, 0x49, 0x9a, 0xe9, 0x08, 0xa6, 0xd1, 0xd6, 0x10, 0x22, 0x3e,
+ 0x0b, 0xa0, 0xaf, 0xed, 0xe5, 0x5a, 0xa3, 0xb8, 0x6a, 0xe8, 0xc5, 0xc5, 0xfb, 0x83, 0xc9, 0x33,
+ 0xd2, 0x4e, 0x81, 0x13, 0x1b, 0x15, 0x3c, 0x1d, 0x26, 0xcd, 0xa5, 0x5a, 0xa9, 0xe8, 0x25, 0x2c,
+ 0xf7, 0x9f, 0x27, 0x4b, 0xd5, 0xd8, 0x82, 0x26, 0x7c, 0x63, 0x2b, 0x87, 0x93, 0xff, 0xd7, 0xa4,
0x3d, 0x3a, 0x42, 0x0d, 0xe3, 0x69, 0x8d, 0x16, 0x87, 0xcf, 0x4b, 0x39, 0x71, 0x48, 0x71, 0x92,
- 0x0c, 0x8f, 0x7f, 0x3f, 0x04, 0x1e, 0xa7, 0xc0, 0x09, 0x1e, 0x0f, 0xe2, 0xcc, 0x11, 0x0d, 0xc3,
- 0x97, 0x27, 0x41, 0xa1, 0x8e, 0x3a, 0xa8, 0xe5, 0xc1, 0xb7, 0x73, 0xc6, 0xc4, 0x1c, 0xc8, 0x06,
- 0xce, 0x03, 0x59, 0xb3, 0x2d, 0x4c, 0x9f, 0xb3, 0x3d, 0xd3, 0xe7, 0x18, 0x33, 0x40, 0x49, 0x64,
- 0x06, 0xe4, 0x52, 0x30, 0x03, 0xf2, 0xc3, 0x9b, 0x01, 0x85, 0x41, 0x66, 0x00, 0x7c, 0x5d, 0x21,
- 0x69, 0x2f, 0x41, 0x45, 0x7d, 0xb4, 0x83, 0xff, 0xff, 0xc8, 0x25, 0xe9, 0x55, 0xfa, 0x72, 0x9c,
- 0x4c, 0x8b, 0x7f, 0xa0, 0xa4, 0xb0, 0xfc, 0xa0, 0x5e, 0x0f, 0xae, 0x0d, 0xdf, 0x9b, 0xda, 0x33,
- 0x2a, 0xf5, 0x46, 0x9d, 0x8c, 0xf8, 0xe5, 0x9a, 0xae, 0x6f, 0xac, 0xd3, 0x95, 0xbb, 0xd3, 0x40,
- 0x0d, 0xa9, 0xe8, 0x1b, 0x55, 0x3a, 0xbe, 0x6f, 0x89, 0xd4, 0x97, 0x2a, 0xd5, 0xc5, 0x66, 0xd0,
- 0x66, 0xaa, 0x4b, 0xb5, 0xe2, 0x36, 0x9e, 0xb2, 0x71, 0xd4, 0xf1, 0x00, 0xcd, 0x4a, 0x28, 0x55,
- 0x17, 0x9b, 0x6b, 0x55, 0x6d, 0xad, 0x56, 0xad, 0x94, 0x49, 0x7a, 0x5d, 0x6b, 0x14, 0x4d, 0x3c,
- 0xd0, 0xf4, 0x58, 0x14, 0x75, 0xad, 0xa4, 0x97, 0x57, 0x34, 0x9d, 0x16, 0xf9, 0x80, 0x7a, 0x23,
- 0x38, 0x57, 0xaa, 0xd6, 0x1a, 0x38, 0xa5, 0x54, 0xbd, 0xbf, 0x71, 0xff, 0xba, 0xd6, 0x5c, 0xd7,
- 0x6b, 0x65, 0xad, 0x5e, 0xc7, 0xed, 0x94, 0xd9, 0x1f, 0xc5, 0x8e, 0xfa, 0x54, 0x70, 0x27, 0xc7,
- 0x9a, 0xd6, 0x20, 0xdb, 0x44, 0x6b, 0x35, 0xe2, 0x29, 0xb0, 0xa8, 0x35, 0x57, 0x4a, 0xf5, 0x66,
- 0xa5, 0x5a, 0xae, 0xad, 0xad, 0x97, 0x1a, 0x15, 0xdc, 0x9c, 0xd7, 0xf5, 0x5a, 0xa3, 0xd6, 0x3c,
- 0xaf, 0xe9, 0xf5, 0x4a, 0xad, 0x5a, 0xb4, 0x70, 0x95, 0xb9, 0xf6, 0xef, 0xf7, 0xc3, 0xb6, 0x7a,
- 0x0d, 0x38, 0xe3, 0xa7, 0xaf, 0xd6, 0xb0, 0xa0, 0x39, 0x8b, 0xa4, 0x9b, 0xaa, 0x45, 0xf2, 0xcf,
- 0x59, 0x90, 0xab, 0x7b, 0x76, 0x17, 0xfe, 0x58, 0xd8, 0xc1, 0x9c, 0x05, 0xc0, 0x21, 0xbb, 0x3e,
- 0x78, 0x16, 0xc6, 0xe6, 0x65, 0x5c, 0x0a, 0xfc, 0x43, 0xe9, 0xa5, 0xea, 0xb0, 0xcf, 0xb6, 0xbb,
- 0x11, 0xb6, 0xca, 0xf7, 0xe4, 0x7c, 0xf7, 0xa3, 0x09, 0x25, 0xd3, 0xf7, 0x9f, 0x1f, 0x66, 0x31,
- 0x1a, 0x82, 0xd3, 0x1c, 0x6c, 0x58, 0xfe, 0xbe, 0x4a, 0x20, 0xf5, 0x4a, 0x70, 0x45, 0x8f, 0x72,
- 0x11, 0x9d, 0xda, 0x54, 0x1f, 0x09, 0x1e, 0xc1, 0xa9, 0xb7, 0xb6, 0x56, 0x3b, 0xaf, 0x05, 0x8a,
- 0xbc, 0x58, 0x6a, 0x94, 0x8a, 0x5b, 0xf0, 0x33, 0x0a, 0xc8, 0xad, 0xd9, 0x7b, 0xbd, 0x3b, 0x04,
- 0x16, 0xba, 0xcc, 0xad, 0x85, 0xfa, 0xaf, 0xa2, 0xaf, 0xb2, 0x94, 0xd8, 0xd7, 0xa2, 0x77, 0x03,
- 0x3f, 0x9f, 0x4d, 0x22, 0xf6, 0xb5, 0xc3, 0x6e, 0x01, 0xfe, 0xc3, 0x30, 0x62, 0x8f, 0x10, 0x2d,
- 0x52, 0xcf, 0x81, 0xb3, 0xe1, 0x87, 0xca, 0xa2, 0x56, 0x6d, 0x54, 0x96, 0xee, 0x0f, 0x85, 0x5b,
- 0xd1, 0xa5, 0xc4, 0x3f, 0xa8, 0x1b, 0x8b, 0x9f, 0x69, 0x9c, 0x01, 0x27, 0xc3, 0x6f, 0xcb, 0x5a,
- 0xc3, 0xff, 0xf2, 0x00, 0x7c, 0x4e, 0x1e, 0xcc, 0xd0, 0x6e, 0x7d, 0xa3, 0xdb, 0x36, 0x3c, 0x04,
- 0x6f, 0x0f, 0xd1, 0xbd, 0x09, 0x1c, 0xaf, 0xac, 0x2f, 0xd5, 0xeb, 0x9e, 0xed, 0x18, 0x5b, 0xa8,
- 0xd4, 0x6e, 0x3b, 0x4c, 0x5a, 0xbd, 0xc9, 0xf0, 0x3d, 0xd2, 0xeb, 0x7c, 0xe2, 0x50, 0x42, 0xcb,
- 0x8c, 0x40, 0xfd, 0x4b, 0x52, 0xeb, 0x72, 0x12, 0x04, 0x93, 0xa1, 0xff, 0xc0, 0x88, 0xdb, 0x5c,
- 0x34, 0x2e, 0x9b, 0xe7, 0x9e, 0x97, 0x05, 0x53, 0x0d, 0x73, 0x07, 0x3d, 0xd3, 0xb6, 0x90, 0xab,
- 0x4e, 0x00, 0x65, 0x79, 0xad, 0x51, 0x3c, 0x86, 0x1f, 0xb0, 0x51, 0x95, 0x21, 0x0f, 0x1a, 0x2e,
- 0x00, 0x3f, 0x94, 0x1a, 0x45, 0x05, 0x3f, 0xac, 0x69, 0x8d, 0x62, 0x0e, 0x3f, 0x54, 0xb5, 0x46,
- 0x31, 0x8f, 0x1f, 0xd6, 0x57, 0x1b, 0xc5, 0x02, 0x7e, 0xa8, 0xd4, 0x1b, 0xc5, 0x09, 0xfc, 0xb0,
- 0x50, 0x6f, 0x14, 0x27, 0xf1, 0xc3, 0xf9, 0x7a, 0xa3, 0x38, 0x85, 0x1f, 0xca, 0x8d, 0x46, 0x11,
- 0xe0, 0x87, 0xa7, 0xd5, 0x1b, 0xc5, 0x69, 0xfc, 0x50, 0x2a, 0x37, 0x8a, 0x33, 0xe4, 0x41, 0x6b,
- 0x14, 0x67, 0xf1, 0x43, 0xbd, 0xde, 0x28, 0xce, 0x11, 0xca, 0xf5, 0x46, 0xf1, 0x38, 0x29, 0xab,
- 0xd2, 0x28, 0x16, 0xf1, 0xc3, 0x4a, 0xbd, 0x51, 0x3c, 0x41, 0x32, 0xd7, 0x1b, 0x45, 0x95, 0x14,
- 0x5a, 0x6f, 0x14, 0xaf, 0x20, 0x79, 0xea, 0x8d, 0xe2, 0x49, 0x52, 0x44, 0xbd, 0x51, 0x3c, 0x45,
- 0xd8, 0xd0, 0x1a, 0xc5, 0xd3, 0x24, 0x8f, 0xde, 0x28, 0x5e, 0x49, 0x3e, 0x55, 0x1b, 0xc5, 0x33,
- 0x84, 0x31, 0xad, 0x51, 0xbc, 0x8a, 0x3c, 0xe8, 0x8d, 0x22, 0x24, 0x9f, 0x4a, 0x8d, 0xe2, 0xd5,
- 0xf0, 0x11, 0x60, 0x6a, 0x19, 0x79, 0x14, 0x44, 0x58, 0x04, 0xca, 0x32, 0xf2, 0x78, 0x33, 0xfe,
- 0x2b, 0x0a, 0xb8, 0x92, 0x4d, 0xfd, 0x96, 0x1c, 0x7b, 0x67, 0x15, 0x6d, 0x19, 0xad, 0x7d, 0xed,
- 0x41, 0x6c, 0x42, 0xc1, 0xba, 0xb0, 0x74, 0xd5, 0x0d, 0x3b, 0x23, 0xf2, 0x1c, 0x6b, 0x71, 0xfa,
- 0x8b, 0x51, 0x4a, 0xb8, 0x18, 0xc5, 0x2c, 0xb2, 0x7f, 0xe2, 0x35, 0x5a, 0x58, 0x3f, 0xce, 0xf4,
- 0xac, 0x1f, 0xe3, 0x66, 0xd2, 0x45, 0x8e, 0x6b, 0x5b, 0x46, 0xa7, 0xce, 0xb6, 0x4b, 0xe9, 0xaa,
- 0x57, 0x6f, 0xb2, 0xfa, 0x74, 0xbf, 0x65, 0x50, 0xab, 0xec, 0x29, 0x71, 0x33, 0xdc, 0xde, 0x6a,
- 0x46, 0x34, 0x92, 0x4f, 0x04, 0x8d, 0xa4, 0x21, 0x34, 0x92, 0x7b, 0x0f, 0x41, 0x3b, 0x59, 0x7b,
- 0xa9, 0x0c, 0x37, 0xb5, 0x08, 0x9d, 0x09, 0xfd, 0xe5, 0x6a, 0x05, 0x7e, 0x26, 0x0b, 0x4e, 0x6b,
- 0x56, 0x3f, 0x0b, 0x9f, 0xd7, 0x85, 0xb7, 0xf2, 0xd0, 0xac, 0x8b, 0x22, 0xbd, 0xb3, 0x6f, 0xb5,
- 0xfb, 0xd3, 0x8c, 0x90, 0xe8, 0x27, 0x03, 0x89, 0xd6, 0x05, 0x89, 0xde, 0x33, 0x3c, 0xe9, 0x64,
- 0x02, 0xad, 0x8e, 0xb4, 0x03, 0xca, 0xc1, 0x6f, 0xe4, 0xc0, 0x23, 0xa8, 0xc7, 0x03, 0xe3, 0x90,
- 0xb6, 0xb2, 0x92, 0xd5, 0xd6, 0x91, 0xeb, 0x19, 0x8e, 0x27, 0x9c, 0x42, 0xed, 0x99, 0x4a, 0x65,
- 0x52, 0x98, 0x4a, 0x65, 0x07, 0x4e, 0xa5, 0xe0, 0xbb, 0x79, 0xf3, 0xe1, 0x82, 0x88, 0x71, 0xa9,
- 0x7f, 0xff, 0x1f, 0x57, 0xc3, 0x28, 0xa8, 0x03, 0xbb, 0xe2, 0x27, 0x04, 0xa8, 0x97, 0x0e, 0x5d,
- 0x42, 0x32, 0xc4, 0xff, 0x70, 0xb4, 0x76, 0x5e, 0x8e, 0xff, 0x26, 0x1a, 0x25, 0xc5, 0x76, 0xaa,
- 0x06, 0xfa, 0xa7, 0x26, 0xc0, 0x14, 0x69, 0x0b, 0xab, 0xa6, 0x75, 0x09, 0xbe, 0x46, 0x01, 0x33,
- 0x55, 0x74, 0xb9, 0xbc, 0x6d, 0x74, 0x3a, 0xc8, 0xda, 0x42, 0xbc, 0xd9, 0x7e, 0x06, 0x4c, 0x18,
- 0xdd, 0x6e, 0x35, 0xdc, 0x67, 0xf0, 0x5f, 0x59, 0xff, 0xfb, 0xf5, 0xbe, 0x8d, 0x3c, 0x13, 0xd3,
- 0xc8, 0x83, 0x72, 0xe7, 0xf9, 0x32, 0x23, 0x66, 0xc8, 0xd7, 0x81, 0xe9, 0x96, 0x9f, 0x25, 0xf0,
- 0x56, 0xe7, 0x93, 0xe0, 0xd7, 0x12, 0x75, 0x03, 0x52, 0x85, 0x27, 0x53, 0x0a, 0x34, 0x62, 0x3b,
- 0xe4, 0x14, 0x38, 0xd1, 0xa8, 0xd5, 0x9a, 0x6b, 0xa5, 0xea, 0xfd, 0xe1, 0x29, 0xd1, 0x4d, 0xf8,
- 0xf2, 0x1c, 0x98, 0xab, 0xdb, 0x9d, 0x3d, 0x14, 0xc2, 0x54, 0x09, 0x61, 0xea, 0x91, 0x53, 0xe6,
- 0x80, 0x9c, 0xd4, 0xd3, 0xa0, 0x60, 0x58, 0xee, 0x65, 0xe4, 0xdb, 0x86, 0xec, 0x8d, 0xc1, 0xf8,
- 0x7b, 0x7c, 0x3b, 0xd6, 0x45, 0x18, 0xef, 0x1a, 0x20, 0x49, 0x91, 0xab, 0x08, 0x20, 0xcf, 0x81,
- 0x19, 0x97, 0x6e, 0x16, 0x36, 0xb8, 0x3d, 0x61, 0x21, 0x8d, 0xb0, 0x48, 0x77, 0xab, 0x15, 0xc6,
- 0x22, 0x79, 0x83, 0xaf, 0x09, 0x9a, 0xff, 0x86, 0x00, 0x71, 0xe9, 0x30, 0x8c, 0x25, 0x03, 0xf9,
- 0x95, 0xa3, 0x9e, 0xe1, 0x9d, 0x01, 0x27, 0x59, 0xab, 0x6d, 0x96, 0x57, 0x4a, 0xab, 0xab, 0x5a,
- 0x75, 0x59, 0x6b, 0x56, 0x16, 0xe9, 0x56, 0x45, 0x98, 0x52, 0x6a, 0x34, 0xb4, 0xb5, 0xf5, 0x46,
- 0xbd, 0xa9, 0x3d, 0xa3, 0xac, 0x69, 0x8b, 0xc4, 0x11, 0x89, 0x9c, 0x24, 0xf0, 0x5d, 0xc6, 0x4a,
- 0xd5, 0xfa, 0x05, 0x4d, 0x2f, 0x6e, 0x9f, 0x2b, 0x81, 0x69, 0xae, 0x9f, 0xc7, 0xdc, 0x2d, 0xa2,
- 0x4d, 0x63, 0xb7, 0xc3, 0x6c, 0xb5, 0xe2, 0x31, 0xcc, 0x1d, 0x91, 0x4d, 0xcd, 0xea, 0xec, 0x17,
- 0x33, 0x6a, 0x11, 0xcc, 0xf0, 0x5d, 0x7a, 0x31, 0x0b, 0xbf, 0x77, 0x35, 0x98, 0xba, 0x60, 0x3b,
- 0x97, 0x88, 0xf7, 0x18, 0x7c, 0x3f, 0x8d, 0x26, 0xe1, 0x9f, 0xcb, 0xe3, 0x06, 0xf6, 0x57, 0xca,
- 0x7b, 0x0b, 0xf8, 0xd4, 0xe6, 0x07, 0x9e, 0xbd, 0xbb, 0x0e, 0x4c, 0x5f, 0xf6, 0x73, 0x87, 0x2d,
- 0x9d, 0x4b, 0x82, 0xff, 0x45, 0x6e, 0xff, 0x7f, 0x70, 0x91, 0xe9, 0xef, 0x4f, 0xbf, 0x3d, 0x0b,
- 0x0a, 0xcb, 0xc8, 0x2b, 0x75, 0x3a, 0xbc, 0xdc, 0x5e, 0x2a, 0x7d, 0x9e, 0x42, 0xa8, 0x44, 0xa9,
- 0xd3, 0x89, 0x6e, 0x54, 0x9c, 0x80, 0x7c, 0xbf, 0x5f, 0x21, 0x0d, 0xbe, 0x4e, 0xea, 0x24, 0xd4,
- 0x80, 0x02, 0xd3, 0x97, 0xd8, 0x1b, 0x94, 0x60, 0x8f, 0xfb, 0xf9, 0x9c, 0x95, 0xf3, 0xf8, 0x30,
- 0x92, 0x48, 0x26, 0x7e, 0xaf, 0xdc, 0xcf, 0xa7, 0xde, 0x07, 0x26, 0x76, 0x5d, 0x54, 0x36, 0x5c,
- 0x44, 0x78, 0xeb, 0xad, 0x69, 0xed, 0xe2, 0x03, 0xa8, 0xe5, 0xcd, 0x57, 0x76, 0xb0, 0x41, 0xbd,
- 0x41, 0x33, 0x06, 0xc1, 0x39, 0xd8, 0xbb, 0xee, 0x53, 0x80, 0x2f, 0x1c, 0x02, 0xb2, 0xd8, 0xfd,
- 0xde, 0xc8, 0xa3, 0x57, 0x89, 0x81, 0x1a, 0xc1, 0x26, 0xed, 0x30, 0x40, 0x7d, 0x2a, 0x0b, 0x72,
- 0xb5, 0x2e, 0xb2, 0xe4, 0x1c, 0x50, 0x5f, 0x23, 0xef, 0xe5, 0x15, 0x54, 0x0c, 0x53, 0x8f, 0x90,
- 0xde, 0xad, 0x20, 0x67, 0x5a, 0x9b, 0x36, 0x33, 0x30, 0xaf, 0x8e, 0xd8, 0xcc, 0xa9, 0x58, 0x9b,
- 0xb6, 0x4e, 0x32, 0xca, 0x3a, 0x78, 0xc5, 0x95, 0x9d, 0xbe, 0x48, 0xbf, 0x39, 0x09, 0x0a, 0x54,
- 0x2d, 0xe1, 0x4b, 0x14, 0xa0, 0x94, 0xda, 0xed, 0x88, 0x43, 0x1c, 0xd9, 0x03, 0x87, 0x38, 0x6c,
- 0xf2, 0x5b, 0x20, 0xf7, 0xe0, 0x5d, 0x0c, 0x05, 0x21, 0xd9, 0x47, 0xb3, 0xa6, 0x51, 0x6a, 0xb7,
- 0xa3, 0x7d, 0x49, 0x83, 0x02, 0xb3, 0x62, 0x81, 0x7c, 0x4b, 0x55, 0xe4, 0x5a, 0x6a, 0xe2, 0x0e,
- 0x3d, 0x92, 0xbf, 0xf4, 0x21, 0xfa, 0xa7, 0x2c, 0x98, 0x58, 0x35, 0x5d, 0x0f, 0x63, 0x53, 0x92,
- 0xc1, 0xe6, 0x1a, 0x30, 0xe5, 0x8b, 0x06, 0x77, 0x5d, 0xb8, 0x5f, 0x0e, 0x13, 0xe0, 0x6b, 0x79,
- 0x74, 0x9e, 0x26, 0xa2, 0xf3, 0x84, 0xf8, 0xda, 0x33, 0x2e, 0xa2, 0x7d, 0xb4, 0xc3, 0x62, 0xb3,
- 0xbd, 0xc5, 0xbe, 0x25, 0x10, 0xf8, 0x9a, 0x20, 0xf0, 0x3b, 0x86, 0x29, 0x32, 0x7d, 0xa1, 0x7f,
- 0x36, 0x0b, 0x00, 0x2e, 0x9b, 0x1d, 0x84, 0x79, 0xb4, 0x70, 0xbc, 0x35, 0x46, 0xba, 0x2f, 0xe7,
- 0xa5, 0xbb, 0x26, 0x4a, 0xf7, 0x49, 0x83, 0xab, 0x1a, 0x77, 0xe0, 0x45, 0x2d, 0x02, 0xc5, 0x0c,
- 0x44, 0x8b, 0x1f, 0xe1, 0xdb, 0x03, 0xa1, 0xae, 0x0b, 0x42, 0xbd, 0x6b, 0xc8, 0x92, 0xd2, 0x97,
- 0xeb, 0x5f, 0x67, 0xc1, 0x44, 0x1d, 0x79, 0xb8, 0x9b, 0x84, 0xe7, 0x65, 0x8e, 0x9c, 0x70, 0x6d,
- 0x3b, 0x2b, 0xd9, 0xb6, 0xbf, 0x9b, 0x91, 0x0d, 0x93, 0x11, 0x4a, 0x86, 0xf1, 0x14, 0xb1, 0x08,
- 0xf0, 0x7a, 0xa9, 0x30, 0x19, 0x83, 0xa8, 0xa5, 0x2f, 0xdd, 0xb7, 0x66, 0x83, 0x0d, 0xf6, 0xc7,
- 0x08, 0x13, 0x34, 0xde, 0xbc, 0xcd, 0x1c, 0x34, 0x6f, 0xbf, 0x9d, 0x49, 0x6e, 0x6a, 0xc4, 0xed,
- 0x2e, 0x27, 0x36, 0x28, 0x46, 0xb0, 0xf1, 0x3b, 0x8c, 0xbc, 0x9e, 0xad, 0x80, 0x02, 0x5b, 0x21,
- 0xbe, 0x27, 0x7e, 0x85, 0x78, 0xf0, 0x14, 0xe1, 0x7d, 0x43, 0x98, 0x6b, 0x71, 0xcb, 0xb6, 0x01,
- 0x1b, 0x59, 0x8e, 0x8d, 0x5b, 0x40, 0x9e, 0xc4, 0xf1, 0x63, 0xe3, 0x5c, 0xb8, 0x67, 0xef, 0x93,
- 0xd0, 0xf0, 0x57, 0x9d, 0x66, 0x4a, 0x8c, 0xc2, 0x08, 0x56, 0x7a, 0x87, 0x41, 0xe1, 0x9f, 0x3f,
- 0x95, 0x09, 0x8c, 0x90, 0xf7, 0xe5, 0x98, 0x89, 0xf7, 0x31, 0x31, 0xa2, 0x40, 0xcb, 0xb6, 0x3c,
- 0xf4, 0x20, 0xb7, 0xb6, 0x1e, 0x24, 0xc4, 0x5a, 0x06, 0x67, 0xc0, 0x84, 0xe7, 0xf0, 0xeb, 0xed,
- 0xfe, 0x2b, 0xdf, 0xe3, 0xe4, 0xc5, 0x1e, 0xa7, 0x0a, 0xce, 0x99, 0x56, 0xab, 0xb3, 0xdb, 0x46,
- 0x3a, 0xea, 0x18, 0xb8, 0x56, 0x6e, 0xc9, 0x5d, 0x44, 0x5d, 0x64, 0xb5, 0x91, 0xe5, 0x51, 0x3e,
- 0x7d, 0xdf, 0x5a, 0x89, 0x9c, 0xf0, 0xab, 0xbc, 0x62, 0xdc, 0x2d, 0x2a, 0xc6, 0xa3, 0xfb, 0xcd,
- 0x0f, 0x62, 0x8c, 0xd0, 0x3b, 0x00, 0xa0, 0x75, 0x3b, 0x6f, 0xa2, 0xcb, 0xac, 0x43, 0xbc, 0xaa,
- 0xc7, 0x14, 0xad, 0x05, 0x19, 0x74, 0x2e, 0x33, 0xfc, 0x62, 0xa0, 0x0c, 0xf7, 0x0a, 0xca, 0x70,
- 0x8b, 0x24, 0x0b, 0xc9, 0xf4, 0xa0, 0x3b, 0xc4, 0x9a, 0xc5, 0x2c, 0x98, 0x0a, 0x57, 0x1a, 0x15,
- 0xf5, 0x2a, 0x70, 0xca, 0xf7, 0x5d, 0xa8, 0x6a, 0xda, 0x62, 0xbd, 0xb9, 0xb1, 0xbe, 0xac, 0x97,
- 0x16, 0xb5, 0x22, 0x50, 0x55, 0x30, 0x57, 0x5b, 0x78, 0x9a, 0x56, 0x6e, 0x04, 0x2e, 0x07, 0x39,
- 0xf8, 0x97, 0x59, 0x90, 0x27, 0x8e, 0xe1, 0xf0, 0xa7, 0x46, 0xa4, 0x39, 0xae, 0xb0, 0x53, 0x13,
- 0xcc, 0x2b, 0xe4, 0x23, 0xfd, 0x31, 0x61, 0x12, 0xae, 0x0e, 0x15, 0xe9, 0x2f, 0x86, 0x50, 0xfa,
- 0xcd, 0x13, 0x37, 0xc9, 0xfa, 0xb6, 0x7d, 0xf9, 0x47, 0xb9, 0x49, 0xe2, 0xfa, 0x1f, 0x71, 0x93,
- 0xec, 0xc3, 0xc2, 0xd8, 0x9b, 0x64, 0x9f, 0x76, 0x17, 0xd3, 0x4c, 0xe1, 0xb3, 0xf2, 0xc1, 0xc2,
- 0xca, 0xf3, 0xb2, 0x87, 0x5a, 0x58, 0x29, 0x81, 0x59, 0xd3, 0xf2, 0x90, 0x63, 0x19, 0x9d, 0xa5,
- 0x8e, 0xb1, 0xe5, 0x1f, 0x3f, 0xee, 0x9d, 0x85, 0x57, 0xb8, 0x3c, 0xba, 0xf8, 0x87, 0x7a, 0x16,
- 0x00, 0x0f, 0xed, 0x74, 0x3b, 0x86, 0x17, 0xaa, 0x1e, 0x97, 0xc2, 0x6b, 0x5f, 0x4e, 0xd4, 0xbe,
- 0xc7, 0x81, 0x2b, 0x28, 0x68, 0x8d, 0xfd, 0x2e, 0xda, 0xb0, 0xcc, 0x9f, 0xde, 0x25, 0x01, 0x68,
- 0xa8, 0x8e, 0xf6, 0xfb, 0x84, 0xf5, 0xff, 0xb2, 0xe9, 0x6d, 0x97, 0xb7, 0x0d, 0xdf, 0xb3, 0x2f,
- 0x78, 0x87, 0xff, 0x5d, 0xfa, 0x88, 0xa5, 0xdf, 0xea, 0x07, 0x1c, 0xb1, 0x0c, 0x5a, 0x9a, 0xd2,
- 0xd3, 0xd2, 0x02, 0x63, 0x21, 0x27, 0x61, 0x2c, 0xf0, 0xa8, 0xe4, 0x25, 0x0d, 0xed, 0x57, 0x4b,
- 0x9d, 0xe1, 0x8c, 0xab, 0xc6, 0x18, 0x26, 0x72, 0x0a, 0x98, 0xa3, 0x45, 0x2f, 0xd8, 0xf6, 0xa5,
- 0x1d, 0xc3, 0xb9, 0x04, 0x9d, 0x43, 0xa9, 0x62, 0xec, 0x9a, 0x48, 0x80, 0xba, 0xd2, 0x83, 0xfa,
- 0x27, 0x79, 0xd4, 0x97, 0x45, 0xd4, 0x1f, 0x1f, 0x2d, 0x2e, 0x9f, 0xe7, 0xf1, 0x2c, 0x8a, 0xbc,
- 0x29, 0xc0, 0xf3, 0x69, 0x02, 0x9e, 0x4f, 0x4c, 0xcc, 0x60, 0xfa, 0xb8, 0xfe, 0x71, 0x80, 0xab,
- 0xdf, 0xd1, 0xf3, 0xf3, 0xc9, 0x51, 0xe2, 0x0a, 0xbf, 0x34, 0x1c, 0x76, 0x3e, 0x5f, 0x43, 0x60,
- 0x57, 0x04, 0xca, 0xa5, 0x60, 0x2b, 0x0a, 0x3f, 0xf2, 0x15, 0xca, 0xa5, 0x87, 0x66, 0x04, 0xcb,
- 0x63, 0x41, 0xf3, 0xa4, 0xc8, 0x42, 0xad, 0x9b, 0x2a, 0xa6, 0x5f, 0x90, 0x5e, 0xa7, 0xe9, 0x2b,
- 0x20, 0xca, 0xdd, 0x78, 0x5a, 0xa5, 0xdc, 0x22, 0x8f, 0x3c, 0x9b, 0xe9, 0xa3, 0xf9, 0x82, 0x3c,
- 0x98, 0xf2, 0x0f, 0xc1, 0x92, 0xc8, 0xd8, 0x01, 0x86, 0xa7, 0x41, 0xc1, 0xb5, 0x77, 0x9d, 0x16,
- 0x62, 0x2b, 0x67, 0xec, 0x6d, 0x88, 0x55, 0x9e, 0x81, 0xe3, 0xf9, 0x01, 0x93, 0x21, 0x97, 0xd8,
- 0x64, 0x88, 0x36, 0x48, 0xe3, 0x06, 0xf8, 0x17, 0x4a, 0x87, 0x33, 0x14, 0x30, 0xab, 0x23, 0xef,
- 0xe1, 0x38, 0xc6, 0xff, 0x81, 0xd4, 0x1a, 0xc2, 0x80, 0x9a, 0x24, 0x53, 0xb9, 0xda, 0x10, 0x86,
- 0xea, 0xd5, 0xe0, 0x4a, 0x3f, 0x07, 0xb3, 0x50, 0x89, 0x45, 0xba, 0xa1, 0xaf, 0x16, 0x15, 0xf8,
- 0xec, 0x1c, 0x28, 0x52, 0xd6, 0x6a, 0x81, 0xb1, 0x06, 0x5f, 0x9a, 0x39, 0x6a, 0x8b, 0x34, 0x7a,
- 0x8a, 0xf9, 0xe9, 0xac, 0x6c, 0xc8, 0x24, 0x41, 0xf0, 0x61, 0xed, 0x22, 0x34, 0x69, 0x88, 0x66,
- 0x16, 0xa3, 0x7c, 0xf0, 0x37, 0x33, 0x32, 0x11, 0x98, 0xe4, 0x58, 0x4c, 0xbf, 0x57, 0xfa, 0x5c,
- 0xce, 0x8f, 0x65, 0xb0, 0xe4, 0xd8, 0x3b, 0x1b, 0x4e, 0x07, 0xfe, 0xdf, 0x52, 0x01, 0xee, 0x22,
- 0xcc, 0xff, 0x6c, 0xb4, 0xf9, 0x5f, 0x04, 0xca, 0xae, 0xd3, 0xf1, 0x87, 0xef, 0x5d, 0xa7, 0x33,
- 0xc4, 0xf0, 0xad, 0xde, 0x08, 0xe6, 0x8c, 0x76, 0x7b, 0xdd, 0xd8, 0x42, 0x65, 0x3c, 0xaf, 0xb6,
- 0x3c, 0x76, 0xce, 0xb9, 0x27, 0x35, 0xb6, 0x2b, 0xfa, 0xaa, 0xf4, 0x4e, 0x9c, 0x00, 0x12, 0x93,
- 0xcf, 0x58, 0x86, 0x37, 0x3c, 0x24, 0xb4, 0xb6, 0x8d, 0x30, 0xea, 0x02, 0x7b, 0x93, 0xdc, 0xa1,
- 0x93, 0xe0, 0x3b, 0x7d, 0xcd, 0xfa, 0x9d, 0x2c, 0x98, 0xc0, 0xf2, 0x2e, 0xb5, 0xdb, 0xf0, 0x51,
- 0x42, 0x70, 0x92, 0xc8, 0x3d, 0xd2, 0xe7, 0x4b, 0x6f, 0x4e, 0xfb, 0x35, 0xa4, 0xf4, 0x23, 0x30,
- 0x09, 0x85, 0x98, 0x15, 0x84, 0x28, 0xb7, 0x07, 0x1d, 0x5b, 0x44, 0xfa, 0xe2, 0xfb, 0x44, 0x16,
- 0xcc, 0xfa, 0xf3, 0x88, 0x25, 0xe4, 0xb5, 0xb6, 0xe1, 0x1d, 0xb2, 0x0b, 0x4d, 0xac, 0xa5, 0x65,
- 0x83, 0x96, 0x06, 0x7f, 0x90, 0x49, 0xa8, 0xf2, 0x42, 0xc9, 0x11, 0xab, 0x74, 0x89, 0x74, 0x31,
- 0x8e, 0x60, 0xfa, 0xc2, 0xfc, 0x62, 0x16, 0x80, 0x86, 0x1d, 0xcc, 0x75, 0x0f, 0x21, 0xc9, 0x17,
- 0x4b, 0x47, 0x9b, 0x67, 0x15, 0x0f, 0x8b, 0x4d, 0xde, 0x73, 0x48, 0x6e, 0xb1, 0x0d, 0x2a, 0x69,
- 0x2c, 0x6d, 0x7d, 0x6a, 0x71, 0xb7, 0xdb, 0x31, 0x5b, 0x86, 0xd7, 0xbb, 0x2f, 0x1c, 0x2d, 0x5e,
- 0x72, 0x6d, 0x4c, 0x22, 0xa3, 0x30, 0x28, 0x23, 0x42, 0x96, 0xf4, 0xd0, 0x6c, 0xd6, 0x3f, 0x34,
- 0x2b, 0xb9, 0xd7, 0x33, 0x80, 0xf8, 0x18, 0xd4, 0x53, 0x01, 0xc7, 0x6b, 0x5d, 0x64, 0x2d, 0x38,
- 0xc8, 0x68, 0xb7, 0x9c, 0xdd, 0x9d, 0x8b, 0x2e, 0xef, 0xd4, 0x10, 0xaf, 0xa3, 0xdc, 0xd2, 0x71,
- 0x56, 0x58, 0x3a, 0x86, 0xcf, 0x55, 0x64, 0x8f, 0x70, 0x73, 0x1b, 0x1c, 0x1c, 0x0f, 0x43, 0x0c,
- 0x75, 0x89, 0xb6, 0xe2, 0x7a, 0x56, 0x89, 0x73, 0x49, 0x56, 0x89, 0xdf, 0x2c, 0x75, 0x20, 0x5c,
- 0xaa, 0x5e, 0x63, 0xd9, 0x51, 0x9d, 0xab, 0x23, 0x2f, 0x02, 0xde, 0x1b, 0xc0, 0xec, 0xc5, 0xf0,
- 0x4b, 0x00, 0xb1, 0x98, 0xd8, 0xc7, 0xcf, 0xe1, 0xad, 0x49, 0x57, 0x60, 0x44, 0x16, 0x22, 0xd0,
- 0x0d, 0x10, 0xcc, 0xca, 0x6c, 0xa6, 0x26, 0x5a, 0x4e, 0x89, 0x2d, 0x3f, 0x7d, 0x14, 0x3e, 0x92,
- 0x05, 0xd3, 0xe4, 0x32, 0x9c, 0x85, 0x7d, 0xe2, 0x65, 0x2f, 0x69, 0x94, 0xbc, 0x80, 0x17, 0xb3,
- 0x0a, 0x72, 0x1d, 0xd3, 0xba, 0xe4, 0xef, 0x82, 0xe3, 0xe7, 0xf0, 0x6a, 0x85, 0x6c, 0x9f, 0xab,
- 0x15, 0x82, 0x7d, 0x8a, 0xa0, 0xdc, 0x43, 0xdd, 0xf5, 0x35, 0x90, 0x5c, 0xfa, 0x62, 0xfc, 0xfb,
- 0x1c, 0x28, 0xd4, 0x91, 0xe1, 0xb4, 0xb6, 0xe1, 0xfb, 0xb2, 0x7d, 0xa7, 0x0a, 0x93, 0xe2, 0x54,
- 0x61, 0x09, 0x4c, 0x6c, 0x9a, 0x1d, 0x0f, 0x39, 0xd4, 0x33, 0x88, 0xef, 0xda, 0x69, 0x13, 0x5f,
- 0xe8, 0xd8, 0xad, 0x4b, 0xf3, 0xcc, 0x74, 0x9f, 0xf7, 0x83, 0x42, 0xcd, 0x2f, 0x91, 0x9f, 0x74,
- 0xff, 0x67, 0x6c, 0x10, 0xba, 0xb6, 0xe3, 0x45, 0x45, 0x59, 0x8d, 0xa0, 0x52, 0xb7, 0x1d, 0x4f,
- 0xa7, 0x3f, 0x62, 0x98, 0x37, 0x77, 0x3b, 0x9d, 0x06, 0x7a, 0xd0, 0xf3, 0xa7, 0x6d, 0xfe, 0x3b,
- 0x36, 0x16, 0xed, 0xcd, 0x4d, 0x17, 0xd1, 0x45, 0x83, 0xbc, 0xce, 0xde, 0xd4, 0x93, 0x20, 0xdf,
- 0x31, 0x77, 0x4c, 0x3a, 0xd1, 0xc8, 0xeb, 0xf4, 0x45, 0xbd, 0x19, 0x14, 0xc3, 0x39, 0x0e, 0x65,
- 0xf4, 0x4c, 0x81, 0x34, 0xcd, 0x03, 0xe9, 0x58, 0x67, 0x2e, 0xa1, 0x7d, 0xf7, 0xcc, 0x04, 0xf9,
- 0x4e, 0x9e, 0x45, 0x37, 0x4c, 0x99, 0xfd, 0x0e, 0x2a, 0xf1, 0xe8, 0x19, 0xac, 0x83, 0x5a, 0xb6,
- 0xd3, 0xf6, 0x65, 0x13, 0x3d, 0xc1, 0x60, 0xf9, 0x92, 0xed, 0x52, 0xf4, 0x2d, 0x3c, 0x7d, 0x4d,
- 0x7b, 0x77, 0x01, 0x77, 0x9b, 0xb8, 0xe8, 0x0b, 0xa6, 0xb7, 0xbd, 0x86, 0x3c, 0x03, 0xfe, 0xbd,
- 0xd2, 0x57, 0xe3, 0xa6, 0xff, 0xb7, 0xc6, 0x0d, 0xd0, 0x38, 0x7a, 0xdc, 0xdf, 0xdb, 0x75, 0x2c,
- 0x2c, 0x47, 0x16, 0x60, 0x8b, 0x4b, 0x51, 0xef, 0x02, 0x57, 0x85, 0x6f, 0xfe, 0x52, 0xe9, 0x22,
- 0x9b, 0xb6, 0x4e, 0x91, 0xec, 0xd1, 0x19, 0xd4, 0x75, 0x70, 0x3d, 0xfd, 0xb8, 0xd2, 0x58, 0x5b,
- 0x5d, 0x31, 0xb7, 0xb6, 0x3b, 0xe6, 0xd6, 0xb6, 0xe7, 0x56, 0x2c, 0xd7, 0x43, 0x46, 0xbb, 0xb6,
- 0xa9, 0xd3, 0xf8, 0xc8, 0x80, 0xd0, 0x91, 0xc9, 0x2a, 0x7a, 0x0e, 0xc9, 0x8d, 0x6e, 0xbc, 0xa6,
- 0x44, 0xb4, 0x94, 0x27, 0xe2, 0x96, 0xe2, 0xee, 0x76, 0x02, 0x4c, 0xaf, 0xe9, 0xc1, 0x34, 0x54,
- 0xf5, 0xdd, 0x0e, 0x69, 0x2e, 0x24, 0x73, 0xd2, 0x71, 0x2e, 0x86, 0x93, 0xf4, 0x9b, 0xcd, 0xff,
- 0x57, 0x00, 0xf9, 0x65, 0xc7, 0xe8, 0x6e, 0xc3, 0x67, 0x73, 0xfd, 0xf3, 0xa8, 0xda, 0x44, 0xa0,
- 0x9d, 0xd9, 0x41, 0xda, 0xa9, 0x0c, 0xd0, 0xce, 0x1c, 0xa7, 0x9d, 0xd1, 0x8b, 0xca, 0xe7, 0xc0,
- 0x4c, 0xcb, 0xee, 0x74, 0x50, 0x0b, 0xcb, 0xa3, 0xd2, 0x26, 0xab, 0x39, 0x53, 0xba, 0x90, 0x46,
- 0x02, 0xe7, 0x21, 0xaf, 0x4e, 0xd7, 0xd0, 0xa9, 0xd2, 0x87, 0x09, 0xf0, 0xa5, 0x59, 0x90, 0xd3,
- 0xda, 0x5b, 0x48, 0x58, 0x67, 0xcf, 0x70, 0xeb, 0xec, 0xa7, 0x41, 0xc1, 0x33, 0x9c, 0x2d, 0xe4,
- 0xf9, 0xeb, 0x04, 0xf4, 0x2d, 0x88, 0xe7, 0xa7, 0x70, 0xf1, 0xfc, 0x9e, 0x04, 0x72, 0x58, 0x66,
- 0x2c, 0x52, 0xce, 0xf5, 0xfd, 0xe0, 0x27, 0xb2, 0x9f, 0xc7, 0x25, 0xce, 0xe3, 0x5a, 0xeb, 0xe4,
- 0x87, 0x5e, 0xac, 0xf3, 0x07, 0xb0, 0x26, 0x57, 0xbd, 0xb4, 0x6c, 0xab, 0xb2, 0x63, 0x6c, 0x21,
- 0x56, 0xcd, 0x30, 0xc1, 0xff, 0xaa, 0xed, 0xd8, 0x0f, 0x98, 0x2c, 0xb4, 0x5e, 0x98, 0x80, 0xab,
- 0xb0, 0x6d, 0xb6, 0xdb, 0xc8, 0x62, 0x2d, 0x9b, 0xbd, 0x9d, 0x3b, 0x0b, 0x72, 0x98, 0x07, 0xac,
- 0x3f, 0xd8, 0x58, 0x28, 0x1e, 0x53, 0x67, 0x70, 0xb3, 0xa2, 0x8d, 0xb7, 0x98, 0x11, 0xd7, 0x54,
- 0x65, 0xdc, 0x76, 0x68, 0xe5, 0xfa, 0x37, 0xae, 0xc7, 0x82, 0xbc, 0x65, 0xb7, 0xd1, 0xc0, 0x41,
- 0x88, 0xe6, 0x52, 0x9f, 0x00, 0xf2, 0xa8, 0x8d, 0x7b, 0x05, 0x85, 0x64, 0x3f, 0x1b, 0x2f, 0x4b,
- 0x9d, 0x66, 0x4e, 0xe6, 0x1b, 0xd4, 0x8f, 0xdb, 0xf4, 0x1b, 0xe0, 0x2f, 0x4e, 0x80, 0xe3, 0xb4,
- 0x0f, 0xa8, 0xef, 0x5e, 0xc4, 0xa4, 0x2e, 0x22, 0xf8, 0xfa, 0xfe, 0x03, 0xd7, 0x71, 0x51, 0xd9,
- 0x4f, 0x82, 0xbc, 0xbb, 0x7b, 0x31, 0x30, 0x42, 0xe9, 0x0b, 0xdf, 0x74, 0xb3, 0x23, 0x19, 0xce,
- 0x94, 0x61, 0x87, 0x33, 0x61, 0x68, 0x52, 0xfc, 0xc6, 0x1f, 0x0e, 0x64, 0x05, 0x92, 0xec, 0x0f,
- 0x64, 0xfd, 0x86, 0xa1, 0x33, 0x60, 0xc2, 0xd8, 0xf4, 0x90, 0x13, 0x9a, 0x89, 0xec, 0x15, 0x0f,
- 0x95, 0x17, 0xd1, 0xa6, 0xed, 0x60, 0xb1, 0x4c, 0xd1, 0xa1, 0xd2, 0x7f, 0xe7, 0x5a, 0x2e, 0x10,
- 0x76, 0xc8, 0x6e, 0x01, 0x27, 0x2c, 0x7b, 0x11, 0x75, 0x99, 0x9c, 0x29, 0x8a, 0xb3, 0xa4, 0x05,
- 0x1c, 0xfc, 0x70, 0xa0, 0x2b, 0x99, 0x3b, 0xd8, 0x95, 0xc0, 0x4f, 0x25, 0x9d, 0x33, 0xf7, 0x00,
- 0x3d, 0x32, 0x0b, 0x4d, 0x7d, 0x0a, 0x98, 0x69, 0x33, 0x17, 0xad, 0x96, 0x19, 0xb4, 0x92, 0xc8,
- 0xff, 0x84, 0xcc, 0xa1, 0x22, 0xe5, 0x78, 0x45, 0x5a, 0x06, 0x93, 0xe4, 0x40, 0x0e, 0xd6, 0xa4,
- 0x7c, 0x4f, 0xdc, 0x41, 0x32, 0xad, 0x0b, 0x2a, 0xc5, 0x89, 0x6d, 0xbe, 0xcc, 0x7e, 0xd1, 0x83,
- 0x9f, 0x93, 0xcd, 0xbe, 0xe3, 0x25, 0x94, 0x7e, 0x73, 0x7c, 0x4b, 0x01, 0x5c, 0x55, 0x76, 0x6c,
- 0xd7, 0x25, 0xd1, 0x24, 0x7a, 0x1b, 0xe6, 0x1b, 0xb3, 0x42, 0x64, 0xdf, 0x87, 0x75, 0xf3, 0xeb,
- 0xd7, 0xa0, 0xc6, 0xd7, 0x34, 0xbe, 0x2a, 0x7d, 0x24, 0x39, 0xd8, 0x7f, 0x88, 0x10, 0xfa, 0x8f,
- 0x46, 0x23, 0x79, 0x77, 0x46, 0xe6, 0x94, 0x74, 0x42, 0x59, 0xa5, 0xdf, 0x5c, 0xbe, 0x90, 0x05,
- 0x57, 0xf7, 0x72, 0xb3, 0x61, 0xb9, 0x41, 0x83, 0xb9, 0x76, 0x40, 0x7b, 0x11, 0x4f, 0xd5, 0xc6,
- 0xde, 0x64, 0x12, 0x51, 0x77, 0xae, 0xb4, 0x88, 0xc5, 0x92, 0xf7, 0x66, 0x64, 0x6e, 0x32, 0x49,
- 0x4c, 0x3e, 0x7d, 0xe1, 0x7e, 0x3a, 0x07, 0x8e, 0x2f, 0x3b, 0xf6, 0x6e, 0xd7, 0x0d, 0x7b, 0xa0,
- 0xbf, 0xed, 0xbf, 0xe1, 0x5a, 0x90, 0x31, 0x0d, 0xae, 0x03, 0xd3, 0x0e, 0xb3, 0xe6, 0xc2, 0xed,
- 0x57, 0x3e, 0x89, 0xef, 0xbd, 0x94, 0xc3, 0xf4, 0x5e, 0x61, 0x3f, 0x93, 0x13, 0xfa, 0x99, 0xde,
- 0x9e, 0x23, 0xdf, 0xa7, 0xe7, 0xf8, 0x9b, 0x6c, 0xc2, 0x41, 0xb5, 0x47, 0x44, 0x11, 0xfd, 0x45,
- 0x19, 0x14, 0xb6, 0x48, 0x46, 0xd6, 0x5d, 0x3c, 0x46, 0xae, 0x66, 0x84, 0xb8, 0xce, 0x7e, 0x0d,
- 0xe5, 0xaa, 0xf0, 0x3a, 0x9c, 0x68, 0x80, 0x8b, 0xe7, 0x36, 0x7d, 0xa5, 0x7a, 0x4d, 0x0e, 0xcc,
- 0x04, 0xa5, 0x57, 0xda, 0x2e, 0x7c, 0x41, 0x7f, 0x8d, 0x9a, 0x95, 0xd1, 0xa8, 0x03, 0xeb, 0xcc,
- 0xc1, 0xa8, 0xa3, 0x70, 0xa3, 0x4e, 0xdf, 0xd1, 0x65, 0x26, 0x62, 0x74, 0x81, 0xcf, 0x52, 0x64,
- 0x63, 0xe3, 0x8b, 0x5d, 0x2b, 0xa9, 0xcd, 0xc3, 0x79, 0xb0, 0x90, 0x8c, 0xd0, 0x3f, 0xb8, 0x56,
- 0xe9, 0x2b, 0xc9, 0x07, 0xb3, 0xe0, 0xc4, 0xc1, 0xce, 0xfc, 0x91, 0xa2, 0x17, 0x1a, 0xae, 0x93,
- 0x1b, 0x78, 0xa1, 0x91, 0x37, 0x71, 0x93, 0x2e, 0xf6, 0x68, 0xac, 0x60, 0xef, 0x0d, 0xee, 0xc4,
- 0xe5, 0x0e, 0xbf, 0x4a, 0x12, 0x4d, 0x5f, 0x80, 0xbf, 0xa2, 0x80, 0xa9, 0x3a, 0xf2, 0x56, 0x8d,
- 0x7d, 0x7b, 0xd7, 0x83, 0x86, 0xec, 0xf6, 0xdc, 0x93, 0x41, 0xa1, 0x43, 0x7e, 0x61, 0x17, 0x3d,
- 0x5e, 0xd7, 0x77, 0x7f, 0x8b, 0xf8, 0xfe, 0x50, 0xd2, 0x3a, 0xcb, 0x2f, 0x9e, 0x49, 0x96, 0xd9,
- 0x1d, 0x0d, 0xb8, 0x1b, 0xc9, 0xd6, 0x4e, 0xa2, 0xbd, 0xd3, 0xa8, 0xa2, 0xd3, 0x87, 0xe5, 0xb9,
- 0x0a, 0x98, 0xad, 0x23, 0xaf, 0xe2, 0x2e, 0x19, 0x7b, 0xb6, 0x63, 0x7a, 0x88, 0xbf, 0x73, 0x28,
- 0x1e, 0x9a, 0xb3, 0x00, 0x98, 0xc1, 0x6f, 0xec, 0xd2, 0x09, 0x2e, 0x05, 0xfe, 0x66, 0x52, 0x47,
- 0x21, 0x81, 0x8f, 0x91, 0x80, 0x90, 0xc8, 0xc7, 0x22, 0xae, 0xf8, 0xf4, 0x81, 0xf8, 0x7c, 0x96,
- 0x01, 0x51, 0x72, 0x5a, 0xdb, 0xe6, 0x1e, 0x6a, 0x27, 0x04, 0xc2, 0xff, 0x2d, 0x04, 0x22, 0x20,
- 0x94, 0xd8, 0x7d, 0x45, 0xe0, 0x63, 0x14, 0xee, 0x2b, 0x71, 0x04, 0xc7, 0x12, 0xec, 0x00, 0x77,
- 0x3d, 0x6c, 0x3d, 0xf3, 0x1e, 0x59, 0xb1, 0x86, 0x26, 0x5b, 0x96, 0x37, 0xd9, 0x86, 0xea, 0x58,
- 0x68, 0xd9, 0x83, 0x74, 0x3a, 0x97, 0x46, 0xc7, 0xd2, 0xb7, 0xe8, 0xf4, 0x85, 0xfe, 0x5e, 0x05,
- 0x9c, 0x0a, 0x4e, 0x01, 0xd7, 0x91, 0xb7, 0x68, 0xb8, 0xdb, 0x17, 0x6d, 0xc3, 0x69, 0xf3, 0x17,
- 0x80, 0x0e, 0x7d, 0xe2, 0x0f, 0x7e, 0x8e, 0x07, 0xa1, 0x2a, 0x82, 0xd0, 0xd7, 0x55, 0xb4, 0x2f,
- 0x2f, 0xa3, 0xe8, 0x64, 0x62, 0xbd, 0x59, 0x7f, 0x2b, 0x00, 0xeb, 0xe9, 0x02, 0x58, 0x77, 0x0f,
- 0xcb, 0x62, 0xfa, 0xc0, 0xfd, 0x1a, 0x1d, 0x11, 0x38, 0xaf, 0xe6, 0xfb, 0x65, 0x01, 0x8b, 0xf0,
- 0x6a, 0x55, 0x22, 0xbd, 0x5a, 0x87, 0x1a, 0x23, 0x06, 0x7a, 0x24, 0xa7, 0x3b, 0x46, 0x1c, 0xa1,
- 0xb7, 0xf1, 0x3b, 0x15, 0x50, 0x24, 0x61, 0x20, 0x38, 0x8f, 0x6f, 0xf8, 0x80, 0x2c, 0x3a, 0x07,
- 0xbc, 0xcb, 0x27, 0x92, 0x7a, 0x97, 0xc3, 0x77, 0x24, 0xf5, 0x21, 0xef, 0xe5, 0x76, 0x24, 0x88,
- 0x25, 0x72, 0x11, 0x1f, 0xc0, 0x41, 0xfa, 0xa0, 0xfd, 0x27, 0x05, 0x00, 0xdc, 0xa0, 0xd9, 0xd9,
- 0x87, 0x67, 0xc8, 0xc2, 0x75, 0x2b, 0xef, 0x57, 0x8f, 0x81, 0x3a, 0xd5, 0x03, 0x14, 0xa5, 0x18,
- 0x9e, 0xaa, 0x78, 0x7d, 0x52, 0xdf, 0xca, 0x90, 0xab, 0x91, 0xc0, 0x92, 0xc8, 0xdb, 0x32, 0xb2,
- 0xec, 0xf4, 0x01, 0xf9, 0xaf, 0x59, 0x90, 0x6f, 0xd8, 0x75, 0xe4, 0x1d, 0xde, 0x14, 0x48, 0x7c,
- 0x6c, 0x9f, 0x94, 0x3b, 0x8a, 0x63, 0xfb, 0xfd, 0x08, 0xa5, 0x2f, 0xba, 0xf7, 0x64, 0xc1, 0x4c,
- 0xc3, 0x2e, 0x07, 0x8b, 0x53, 0xf2, 0xbe, 0xaa, 0xf2, 0xf7, 0xfb, 0x05, 0x15, 0x0c, 0x8b, 0x39,
- 0xd4, 0xfd, 0x7e, 0x83, 0xe9, 0xa5, 0x2f, 0xb7, 0x3b, 0xc0, 0xf1, 0x0d, 0xab, 0x6d, 0xeb, 0xa8,
- 0x6d, 0xb3, 0x95, 0x6e, 0x55, 0x05, 0xb9, 0x5d, 0xab, 0x6d, 0x13, 0x96, 0xf3, 0x3a, 0x79, 0xc6,
- 0x69, 0x0e, 0x6a, 0xdb, 0xcc, 0x37, 0x80, 0x3c, 0xc3, 0xaf, 0x2a, 0x20, 0x87, 0xff, 0x95, 0x17,
- 0xf5, 0x3b, 0x95, 0x84, 0x81, 0x08, 0x30, 0xf9, 0x91, 0x58, 0x42, 0xf7, 0x70, 0x6b, 0xff, 0xd4,
- 0x83, 0xf5, 0xfa, 0xa8, 0xf2, 0x38, 0x51, 0x84, 0x6b, 0xfe, 0xea, 0x19, 0x30, 0x71, 0xb1, 0x63,
- 0xb7, 0x2e, 0x85, 0xe7, 0xe5, 0xd9, 0xab, 0x7a, 0x33, 0xc8, 0x3b, 0x86, 0xb5, 0x85, 0xd8, 0x9e,
- 0xc2, 0xc9, 0x9e, 0xbe, 0x90, 0x78, 0xbd, 0xe8, 0x34, 0x0b, 0x7c, 0x47, 0x92, 0x10, 0x08, 0x7d,
- 0x2a, 0x9f, 0x4c, 0x1f, 0x16, 0x87, 0x38, 0x59, 0x56, 0x04, 0x33, 0xe5, 0x12, 0xbd, 0x49, 0x73,
- 0xad, 0x76, 0x5e, 0x2b, 0x2a, 0x04, 0x66, 0x2c, 0x93, 0x14, 0x61, 0xc6, 0xe4, 0x7f, 0x64, 0x61,
- 0xee, 0x53, 0xf9, 0xa3, 0x80, 0xf9, 0x13, 0x59, 0x30, 0xbb, 0x6a, 0xba, 0x5e, 0x94, 0xb7, 0x7f,
- 0x4c, 0x14, 0xb8, 0x17, 0x26, 0x35, 0x95, 0x85, 0x72, 0xa4, 0xc3, 0xbf, 0x25, 0x32, 0x87, 0xe3,
- 0x8a, 0x18, 0xcf, 0xb1, 0x14, 0xc2, 0x01, 0xbd, 0xfd, 0x4e, 0x5a, 0x92, 0x89, 0x0d, 0xa5, 0xb0,
- 0x90, 0xf1, 0x1b, 0x4a, 0x91, 0x65, 0xa7, 0x2f, 0xdf, 0xaf, 0x66, 0xc1, 0x09, 0x5c, 0x7c, 0xdc,
- 0xb2, 0x54, 0xb4, 0x98, 0x07, 0x2e, 0x4b, 0x25, 0x5e, 0x19, 0x3f, 0xc0, 0xcb, 0x28, 0x56, 0xc6,
- 0x07, 0x11, 0x1d, 0xb3, 0x98, 0x23, 0x96, 0x61, 0x07, 0x89, 0x39, 0x66, 0x19, 0x76, 0x78, 0x31,
- 0xc7, 0x2f, 0xc5, 0x0e, 0x29, 0xe6, 0x23, 0x5b, 0x60, 0x7d, 0x9d, 0x12, 0x88, 0x39, 0x72, 0x6d,
- 0x23, 0x46, 0xcc, 0x89, 0x4f, 0xec, 0xc2, 0x77, 0x0d, 0x29, 0xf8, 0x11, 0xaf, 0x6f, 0x0c, 0x03,
- 0xd3, 0x11, 0xae, 0x71, 0xfc, 0xba, 0x02, 0xe6, 0x18, 0x17, 0xfd, 0xa7, 0xcc, 0x31, 0x18, 0x25,
- 0x9e, 0x32, 0x27, 0x3e, 0x03, 0x24, 0x72, 0x36, 0xfe, 0x33, 0x40, 0xb1, 0xe5, 0xa7, 0x0f, 0xce,
- 0xd7, 0x73, 0xe0, 0x34, 0x66, 0x61, 0xcd, 0x6e, 0x9b, 0x9b, 0xfb, 0x94, 0x8b, 0xf3, 0x46, 0x67,
- 0x17, 0xb9, 0xf0, 0xfd, 0x59, 0x59, 0x94, 0xfe, 0x1d, 0x00, 0x76, 0x17, 0x39, 0x34, 0x90, 0x1a,
- 0x03, 0xea, 0xae, 0xa8, 0xca, 0x1e, 0x2c, 0x29, 0x08, 0x6e, 0x5e, 0xf3, 0x89, 0xe8, 0x1c, 0x3d,
- 0x6c, 0x15, 0x4e, 0x05, 0x5f, 0x7a, 0x1d, 0x3c, 0x32, 0x07, 0x1d, 0x3c, 0x6e, 0x02, 0x8a, 0xd1,
- 0x6e, 0x07, 0x50, 0xf5, 0x6e, 0x66, 0x93, 0x32, 0x75, 0x9c, 0x05, 0xe7, 0x74, 0x51, 0x78, 0x34,
- 0x2f, 0x22, 0xa7, 0x8b, 0x3c, 0x75, 0x1e, 0x14, 0xe8, 0x4d, 0x80, 0xc1, 0x8a, 0x7e, 0xff, 0xcc,
- 0x2c, 0x97, 0x68, 0xda, 0xd5, 0x44, 0x35, 0xbc, 0x23, 0x91, 0x64, 0xfa, 0xf5, 0xd3, 0xa1, 0x9d,
- 0xac, 0x0b, 0x0a, 0xf6, 0xd4, 0xa1, 0x29, 0x8f, 0x67, 0x37, 0xac, 0xd4, 0xed, 0x76, 0xf6, 0x1b,
- 0x2c, 0xf8, 0x4a, 0xa2, 0xdd, 0x30, 0x2e, 0x86, 0x4b, 0xb6, 0x37, 0x86, 0x4b, 0xf2, 0xdd, 0x30,
- 0x81, 0x8f, 0x51, 0xec, 0x86, 0xc5, 0x11, 0x1c, 0xc3, 0x7a, 0x64, 0x9e, 0x5a, 0xcd, 0x2c, 0x46,
- 0xed, 0x9b, 0xfa, 0x1f, 0x42, 0x03, 0xa2, 0xb3, 0x4b, 0xbf, 0xf0, 0xb5, 0xb1, 0xb1, 0xb9, 0xd5,
- 0x27, 0x80, 0xc2, 0xa6, 0xed, 0xec, 0x18, 0xfe, 0xc6, 0x7d, 0xef, 0x49, 0x11, 0x16, 0x17, 0x76,
- 0x89, 0xe4, 0xd1, 0x59, 0x5e, 0x3c, 0x1f, 0x79, 0xa6, 0xd9, 0x65, 0x51, 0x17, 0xf1, 0xa3, 0x7a,
- 0x03, 0x98, 0x65, 0xc1, 0x17, 0xab, 0xc8, 0xf5, 0x50, 0x9b, 0x45, 0xac, 0x10, 0x13, 0xd5, 0x73,
- 0x60, 0x86, 0x25, 0x2c, 0x99, 0x1d, 0xe4, 0xb2, 0xa0, 0x15, 0x42, 0x9a, 0x7a, 0x1a, 0x14, 0x4c,
- 0xf7, 0x69, 0xae, 0x6d, 0x11, 0xff, 0xff, 0x49, 0x9d, 0xbd, 0xa9, 0x37, 0x81, 0xe3, 0x2c, 0x5f,
- 0x60, 0xac, 0xd2, 0x03, 0x3b, 0xbd, 0xc9, 0xf0, 0x33, 0xc3, 0x4c, 0x1c, 0x12, 0xc7, 0xe3, 0xc5,
- 0x28, 0xec, 0xb6, 0x5a, 0x08, 0xb5, 0xd9, 0xc9, 0x26, 0xff, 0x35, 0x61, 0xa4, 0xde, 0xc4, 0xd3,
- 0x8c, 0x23, 0x0a, 0xd5, 0xfb, 0xa1, 0x53, 0xa0, 0x40, 0xaf, 0xaf, 0x80, 0x2f, 0x99, 0xeb, 0xab,
- 0x8c, 0x73, 0xa2, 0x32, 0x6e, 0x80, 0x19, 0xcb, 0xc6, 0xc5, 0xad, 0x1b, 0x8e, 0xb1, 0xe3, 0xc6,
- 0xad, 0x22, 0x52, 0xba, 0xc1, 0x90, 0x51, 0xe5, 0x7e, 0x5b, 0x39, 0xa6, 0x0b, 0x64, 0xd4, 0xff,
- 0x03, 0x1c, 0xbf, 0xc8, 0x22, 0x00, 0xb8, 0x8c, 0x72, 0x36, 0xda, 0xc7, 0xae, 0x87, 0xf2, 0x82,
- 0xf8, 0xe7, 0xca, 0x31, 0xbd, 0x97, 0x98, 0xfa, 0x93, 0x60, 0x0e, 0xbf, 0xb6, 0xed, 0xcb, 0x3e,
- 0xe3, 0x4a, 0xb4, 0xa1, 0xd1, 0x43, 0x7e, 0x4d, 0xf8, 0x71, 0xe5, 0x98, 0xde, 0x43, 0x4a, 0xad,
- 0x01, 0xb0, 0xed, 0xed, 0x74, 0x18, 0xe1, 0x5c, 0xb4, 0x4a, 0xf6, 0x10, 0x5e, 0x09, 0x7e, 0x5a,
- 0x39, 0xa6, 0x73, 0x24, 0xd4, 0x55, 0x30, 0xe5, 0x3d, 0xe8, 0x31, 0x7a, 0xf9, 0xe8, 0xcd, 0xed,
- 0x1e, 0x7a, 0x0d, 0xff, 0x9f, 0x95, 0x63, 0x7a, 0x48, 0x40, 0xad, 0x80, 0xc9, 0xee, 0x45, 0x46,
- 0xac, 0xd0, 0xe7, 0xca, 0xfe, 0xfe, 0xc4, 0xd6, 0x2f, 0x06, 0xb4, 0x82, 0xdf, 0x31, 0x63, 0x2d,
- 0x77, 0x8f, 0xd1, 0x9a, 0x90, 0x66, 0xac, 0xec, 0xff, 0x83, 0x19, 0x0b, 0x08, 0xa8, 0x15, 0x30,
- 0xe5, 0x5a, 0x46, 0xd7, 0xdd, 0xb6, 0x3d, 0xf7, 0xcc, 0x64, 0x8f, 0x1f, 0x64, 0x34, 0xb5, 0x3a,
- 0xfb, 0x47, 0x0f, 0xff, 0x56, 0x9f, 0x00, 0x4e, 0xed, 0x92, 0x6b, 0x40, 0xb5, 0x07, 0x4d, 0xd7,
- 0x33, 0xad, 0x2d, 0x3f, 0x86, 0x2c, 0xed, 0x4d, 0xfa, 0x7f, 0x54, 0xe7, 0xd9, 0x89, 0x28, 0x40,
- 0xda, 0x26, 0xec, 0xdd, 0x8c, 0xa3, 0xc5, 0x72, 0x07, 0xa1, 0x9e, 0x02, 0x72, 0xf8, 0x13, 0x39,
- 0xb3, 0x39, 0xd7, 0x7f, 0xa1, 0xaf, 0x57, 0x77, 0x48, 0x03, 0xc6, 0x3f, 0xe1, 0xb1, 0xd1, 0xb2,
- 0xd7, 0x1d, 0x7b, 0xcb, 0x41, 0xae, 0xcb, 0x1c, 0x0e, 0xb9, 0x14, 0xdc, 0xc0, 0x4d, 0x77, 0xcd,
- 0xdc, 0xa2, 0xd6, 0x13, 0xf3, 0x77, 0xe7, 0x93, 0xe8, 0x6c, 0xb3, 0x8a, 0x2e, 0x13, 0x87, 0x60,
- 0x72, 0xfe, 0x86, 0xcc, 0x36, 0xfd, 0x14, 0x78, 0x23, 0x98, 0xe1, 0x1b, 0x19, 0xbd, 0x03, 0xcb,
- 0x0c, 0x6d, 0x2f, 0xf6, 0x06, 0x6f, 0x00, 0x73, 0xa2, 0x4e, 0x73, 0x43, 0x8c, 0xe2, 0x77, 0x85,
- 0xf0, 0x7a, 0x70, 0xbc, 0xa7, 0x61, 0xf9, 0x31, 0x45, 0x32, 0x61, 0x4c, 0x91, 0xeb, 0x00, 0x08,
- 0xb5, 0xb8, 0x2f, 0x99, 0x6b, 0xc1, 0x54, 0xa0, 0x97, 0x7d, 0x33, 0x7c, 0x39, 0x03, 0x26, 0x7d,
- 0x65, 0xeb, 0x97, 0x01, 0x8f, 0x2f, 0x16, 0xb7, 0x81, 0xc0, 0xa6, 0xd9, 0x42, 0x1a, 0x1e, 0x47,
- 0x42, 0xb7, 0xdd, 0x86, 0xe9, 0x75, 0xfc, 0xa3, 0x6f, 0xbd, 0xc9, 0xea, 0x3a, 0x00, 0x26, 0xc1,
- 0xa8, 0x11, 0x9e, 0x85, 0x7b, 0x5c, 0x82, 0xf6, 0x40, 0xf5, 0x81, 0xa3, 0x71, 0xee, 0x91, 0xec,
- 0xa0, 0xda, 0x14, 0xc8, 0xd7, 0xd7, 0x4b, 0x65, 0xad, 0x78, 0x4c, 0x9d, 0x03, 0x40, 0x7b, 0xc6,
- 0xba, 0xa6, 0x57, 0xb4, 0x6a, 0x59, 0x2b, 0x66, 0xe0, 0xcb, 0xb2, 0x60, 0x2a, 0x68, 0x04, 0x7d,
- 0x2b, 0xa9, 0x31, 0xd5, 0x1a, 0x78, 0xcd, 0xd0, 0xc1, 0x46, 0xc5, 0x2b, 0xd9, 0x93, 0xc1, 0x95,
- 0xbb, 0x2e, 0x5a, 0x32, 0x1d, 0xd7, 0xd3, 0xed, 0xcb, 0x4b, 0xb6, 0x13, 0x44, 0x4d, 0xf6, 0xaf,
- 0xd3, 0x8f, 0xf8, 0x8c, 0x2d, 0x8a, 0x36, 0x22, 0x87, 0xa2, 0x90, 0xc3, 0x56, 0x86, 0xc3, 0x04,
- 0x4c, 0xd7, 0xa3, 0xf7, 0xd7, 0xbb, 0x48, 0xb7, 0x2f, 0xbb, 0x25, 0xab, 0x5d, 0xb6, 0x3b, 0xbb,
- 0x3b, 0x96, 0xcb, 0x6c, 0x82, 0xa8, 0xcf, 0x58, 0x3a, 0xe4, 0x12, 0xb1, 0x39, 0x00, 0xca, 0xb5,
- 0xd5, 0x55, 0xad, 0xdc, 0xa8, 0xd4, 0xaa, 0xc5, 0x63, 0x58, 0x5a, 0x8d, 0xd2, 0xc2, 0x2a, 0x96,
- 0xce, 0x4f, 0x81, 0x49, 0xbf, 0x4d, 0xb3, 0x30, 0x28, 0x19, 0x3f, 0x0c, 0x8a, 0x5a, 0x02, 0x93,
- 0x7e, 0x2b, 0x67, 0x23, 0xc2, 0xa3, 0x7a, 0x8f, 0xbd, 0xee, 0x18, 0x8e, 0x47, 0xfc, 0xa5, 0x7d,
- 0x22, 0x0b, 0x86, 0x8b, 0xf4, 0xe0, 0xb7, 0x73, 0x8f, 0x65, 0x1c, 0xa8, 0x60, 0xae, 0xb4, 0xba,
- 0xda, 0xac, 0xe9, 0xcd, 0x6a, 0xad, 0xb1, 0x52, 0xa9, 0x2e, 0xd3, 0x11, 0xb2, 0xb2, 0x5c, 0xad,
- 0xe9, 0x1a, 0x1d, 0x20, 0xeb, 0xc5, 0x0c, 0xbd, 0xc4, 0x6e, 0x61, 0x12, 0x14, 0xba, 0x44, 0xba,
- 0xf0, 0x0b, 0x4a, 0xc2, 0xf3, 0xee, 0x01, 0x4e, 0x11, 0xd7, 0x6c, 0x09, 0x3e, 0xe7, 0xd9, 0x3e,
- 0x67, 0x42, 0xcf, 0x81, 0x19, 0x6a, 0xcb, 0xb9, 0x64, 0xf9, 0x9e, 0xdd, 0x54, 0x2b, 0xa4, 0xc1,
- 0x8f, 0x64, 0x13, 0x1c, 0x82, 0xef, 0xcb, 0x51, 0x32, 0xe3, 0xe2, 0x2f, 0x86, 0xb9, 0xb4, 0x4e,
- 0x05, 0x73, 0x95, 0x6a, 0x43, 0xd3, 0xab, 0xa5, 0x55, 0x96, 0x45, 0x51, 0xcf, 0x80, 0x93, 0xd5,
- 0x1a, 0x8b, 0xe9, 0x57, 0x27, 0xd7, 0x63, 0xaf, 0xad, 0xd7, 0xf4, 0x46, 0x31, 0xaf, 0x9e, 0x06,
- 0x2a, 0x7d, 0x16, 0x6e, 0x97, 0x2f, 0xa8, 0x8f, 0x06, 0xd7, 0xaf, 0x56, 0xd6, 0x2a, 0x8d, 0x66,
- 0x6d, 0xa9, 0xa9, 0xd7, 0x2e, 0xd4, 0x31, 0x82, 0xba, 0xb6, 0x5a, 0xc2, 0x8a, 0xc4, 0x5d, 0x66,
- 0x37, 0xa1, 0x5e, 0x01, 0x8e, 0x93, 0x8b, 0x2a, 0xc9, 0x0d, 0xf5, 0xb4, 0xbc, 0x49, 0xf5, 0x1a,
- 0x70, 0xa6, 0x52, 0xad, 0x6f, 0x2c, 0x2d, 0x55, 0xca, 0x15, 0xad, 0xda, 0x68, 0xae, 0x6b, 0xfa,
- 0x5a, 0xa5, 0x5e, 0xc7, 0xff, 0x16, 0xa7, 0xe0, 0x87, 0x14, 0x50, 0xa0, 0x7d, 0x26, 0x7c, 0x9f,
- 0x02, 0x66, 0xcf, 0x1b, 0x1d, 0x13, 0x0f, 0x14, 0xe4, 0x0e, 0xc1, 0x9e, 0xe3, 0x22, 0x1e, 0xb9,
- 0x6b, 0x90, 0x39, 0x9c, 0x93, 0x17, 0xf8, 0x73, 0x4a, 0xc2, 0xe3, 0x22, 0x0c, 0x08, 0x5a, 0xe2,
- 0xbc, 0x50, 0x5a, 0xc4, 0xe4, 0xe6, 0xd5, 0xd9, 0x04, 0xc7, 0x45, 0xe4, 0xc9, 0x27, 0x03, 0xff,
- 0x37, 0x46, 0x05, 0x7e, 0x11, 0xcc, 0x6c, 0x54, 0x4b, 0x1b, 0x8d, 0x95, 0x9a, 0x5e, 0xf9, 0x09,
- 0x12, 0x6d, 0x7c, 0x16, 0x4c, 0x2d, 0xd5, 0xf4, 0x85, 0xca, 0xe2, 0xa2, 0x56, 0x2d, 0xe6, 0xd5,
- 0x2b, 0xc1, 0x15, 0x75, 0x4d, 0x3f, 0x5f, 0x29, 0x6b, 0xcd, 0x8d, 0x6a, 0xe9, 0x7c, 0xa9, 0xb2,
- 0x4a, 0xfa, 0x88, 0x42, 0xcc, 0xfd, 0x87, 0x13, 0xf0, 0x67, 0x72, 0x00, 0xd0, 0xaa, 0x63, 0x4b,
- 0x9a, 0xbf, 0x25, 0xef, 0x2f, 0x93, 0x4e, 0x1a, 0x42, 0x32, 0x11, 0xed, 0xb7, 0x02, 0x26, 0x1d,
- 0xf6, 0x81, 0x2d, 0x9f, 0x0c, 0xa2, 0x43, 0x1f, 0x7d, 0x6a, 0x7a, 0xf0, 0x3b, 0x7c, 0x7f, 0x92,
- 0x39, 0x42, 0x24, 0x63, 0xc9, 0x90, 0x5c, 0x1a, 0x0d, 0x90, 0xf0, 0x05, 0x19, 0x30, 0x27, 0x56,
- 0x0c, 0x57, 0x82, 0x18, 0x53, 0x72, 0x95, 0x10, 0x7f, 0xe6, 0x8c, 0xac, 0x73, 0xb7, 0xb3, 0xe1,
- 0x14, 0xf8, 0x2d, 0x93, 0x9e, 0xfc, 0xf6, 0x2d, 0x96, 0x62, 0x06, 0x33, 0x8f, 0x8d, 0x0e, 0x7a,
- 0x45, 0x7a, 0xe3, 0x41, 0xaf, 0xa8, 0xc0, 0xf7, 0xe4, 0xc0, 0xac, 0x70, 0x0d, 0x1f, 0xfc, 0x76,
- 0x46, 0xe6, 0x6a, 0x2d, 0xee, 0x82, 0xbf, 0xcc, 0x61, 0x2f, 0xf8, 0x3b, 0xf7, 0xb3, 0x19, 0x30,
- 0xc1, 0x12, 0x89, 0x80, 0x6b, 0x55, 0x6c, 0x0b, 0x1c, 0x07, 0xd3, 0xcb, 0x5a, 0xa3, 0x59, 0x6f,
- 0x94, 0xf4, 0x86, 0xb6, 0x58, 0xcc, 0xa8, 0xa7, 0xc0, 0x89, 0x75, 0x4d, 0xaf, 0xd7, 0xb0, 0x3c,
- 0xd7, 0xf5, 0x1a, 0xe9, 0x08, 0xa9, 0x98, 0x31, 0x0c, 0xab, 0xda, 0xe2, 0xb2, 0xd6, 0x5c, 0x28,
- 0xd5, 0xb5, 0xa2, 0x82, 0xff, 0xad, 0xd6, 0x1a, 0x5a, 0xbd, 0xb9, 0x58, 0x29, 0xe9, 0xf7, 0x17,
- 0x73, 0xf8, 0xdf, 0x7a, 0x43, 0x2f, 0x35, 0xb4, 0xe5, 0x4a, 0x99, 0x5c, 0x2c, 0x8f, 0x5b, 0x40,
- 0x1e, 0x0f, 0xa6, 0xda, 0xda, 0x7a, 0xe3, 0xfe, 0x62, 0x21, 0xb9, 0x57, 0x5f, 0x6f, 0xe5, 0xc6,
- 0xec, 0xd5, 0x17, 0x57, 0xfc, 0x18, 0x6e, 0x20, 0x54, 0x40, 0x91, 0x72, 0xa0, 0x3d, 0xd8, 0x45,
- 0x8e, 0x89, 0xac, 0x16, 0x82, 0x97, 0x64, 0xa2, 0x88, 0x1e, 0x88, 0xaf, 0x47, 0xc6, 0x08, 0xce,
- 0xf2, 0xa4, 0x2f, 0x3d, 0x46, 0x7b, 0xee, 0x80, 0xd1, 0xfe, 0xc9, 0xa4, 0x6e, 0x7d, 0xbd, 0xec,
- 0x8e, 0x04, 0xb2, 0x8f, 0x27, 0x71, 0xeb, 0x1b, 0xc0, 0xc1, 0x58, 0x82, 0x03, 0x47, 0x8c, 0xe9,
- 0x45, 0x05, 0xbe, 0x7d, 0x0a, 0x14, 0x29, 0xa3, 0x9c, 0xaf, 0xd4, 0xaf, 0xb0, 0xbb, 0x10, 0x9b,
- 0x09, 0x42, 0xd3, 0xf9, 0x87, 0xfd, 0xb3, 0xe2, 0x61, 0x7f, 0x61, 0xe9, 0x4d, 0xe9, 0xdd, 0xdf,
- 0x4e, 0xda, 0xfc, 0x38, 0xc7, 0xa8, 0xe8, 0x68, 0xa0, 0xe9, 0x35, 0xbf, 0xd8, 0xe2, 0xc7, 0x73,
- 0x5f, 0x17, 0xbb, 0x91, 0x4f, 0x93, 0x45, 0x26, 0xfe, 0x5a, 0xc2, 0xa4, 0x5e, 0xb2, 0x82, 0x63,
- 0x5a, 0xcc, 0x5d, 0x7d, 0xe9, 0x79, 0xc9, 0x0e, 0xe2, 0x20, 0x7d, 0x14, 0x7e, 0x90, 0x05, 0xb9,
- 0xba, 0xed, 0x78, 0xa3, 0xc2, 0x20, 0xe9, 0xce, 0x1e, 0x27, 0x81, 0x7a, 0xf4, 0xcc, 0x29, 0xbd,
- 0x9d, 0xbd, 0xf8, 0xf2, 0xc7, 0x10, 0xdd, 0xef, 0x38, 0x98, 0xa3, 0x9c, 0x04, 0x57, 0x5f, 0x7c,
- 0x3f, 0x4b, 0xfb, 0xab, 0xfb, 0x64, 0x11, 0x39, 0x07, 0x66, 0xb8, 0x9d, 0xb5, 0xe0, 0xfa, 0x66,
- 0x3e, 0x0d, 0xbe, 0x91, 0xc7, 0x65, 0x51, 0xc4, 0xa5, 0xdf, 0xbc, 0x31, 0xb8, 0x3d, 0x62, 0x54,
- 0x3d, 0x53, 0x92, 0x40, 0x81, 0x31, 0x85, 0xa7, 0x8f, 0xc8, 0x73, 0x14, 0x50, 0x60, 0x9e, 0x4d,
- 0x23, 0x45, 0x20, 0x69, 0xcb, 0x08, 0x84, 0x20, 0xe7, 0x01, 0xa5, 0x8c, 0xba, 0x65, 0xc4, 0x97,
- 0x9f, 0x3e, 0x0e, 0xff, 0xca, 0x5c, 0xf6, 0x4a, 0x7b, 0x86, 0xd9, 0x31, 0x2e, 0x76, 0x12, 0x04,
- 0xe8, 0xfd, 0x48, 0xc2, 0x43, 0x4a, 0x41, 0x55, 0x85, 0xf2, 0x22, 0x24, 0xfe, 0xe3, 0x60, 0xca,
- 0x09, 0x16, 0xd6, 0xfc, 0x33, 0xdc, 0x3d, 0xee, 0x92, 0xec, 0xbb, 0x1e, 0xe6, 0x4c, 0x74, 0x22,
- 0x49, 0x8a, 0x9f, 0xb1, 0x9c, 0xa0, 0x98, 0x2e, 0xb5, 0xdb, 0x4b, 0xc8, 0xf0, 0x76, 0x1d, 0xd4,
- 0x4e, 0x34, 0x44, 0x88, 0x22, 0x9a, 0xe2, 0x25, 0x21, 0x84, 0xc8, 0x5b, 0x15, 0xd1, 0x79, 0xe2,
- 0x80, 0xde, 0xc0, 0xe7, 0x65, 0x24, 0x5d, 0xd2, 0xdb, 0x02, 0x48, 0x6a, 0x02, 0x24, 0x4f, 0x19,
- 0x8e, 0x89, 0xf4, 0x01, 0xf9, 0x55, 0x05, 0xcc, 0x51, 0x3b, 0x61, 0xd4, 0x98, 0xfc, 0x6e, 0x42,
- 0x4f, 0x08, 0xee, 0x72, 0x21, 0x9e, 0x9d, 0x91, 0xc0, 0x92, 0xc4, 0x6f, 0x42, 0x8e, 0x8f, 0xf4,
- 0x91, 0xf9, 0x4c, 0x01, 0x00, 0xce, 0xbb, 0xed, 0x23, 0x85, 0x30, 0x5c, 0x1d, 0x7c, 0x07, 0x9b,
- 0x7f, 0xd4, 0x85, 0xd8, 0xc9, 0x9c, 0xe7, 0x5a, 0xb0, 0xad, 0x22, 0x26, 0x4a, 0x8d, 0x2a, 0x7f,
- 0x91, 0xd0, 0xe6, 0x65, 0xbe, 0x65, 0x03, 0x07, 0xf7, 0x21, 0x7b, 0xb9, 0x8f, 0x26, 0x30, 0x7e,
- 0x07, 0xb1, 0x92, 0x0c, 0xb5, 0xd5, 0x21, 0xe6, 0x92, 0x67, 0xc0, 0x49, 0x5d, 0x2b, 0x2d, 0xd6,
- 0xaa, 0xab, 0xf7, 0xf3, 0x37, 0xcd, 0x14, 0x15, 0x7e, 0x72, 0x92, 0x0a, 0x6c, 0xaf, 0x4d, 0xd8,
- 0x07, 0x8a, 0xb2, 0x8a, 0x9b, 0xad, 0x70, 0xd3, 0xf9, 0xc1, 0xbd, 0x9a, 0x04, 0xd9, 0xa3, 0x44,
- 0xe1, 0xcd, 0x53, 0x5c, 0x33, 0x7a, 0xbe, 0x02, 0x8a, 0xe1, 0x65, 0xe7, 0xec, 0x4a, 0xb1, 0x9a,
- 0xe8, 0xfc, 0xd6, 0xa5, 0xbb, 0x28, 0xa1, 0xf3, 0x9b, 0x9f, 0xa0, 0xde, 0x08, 0xe6, 0x5a, 0xdb,
- 0xa8, 0x75, 0xa9, 0x62, 0xf9, 0xbb, 0xc3, 0x74, 0x2b, 0xb1, 0x27, 0x55, 0x04, 0xe6, 0x3e, 0x11,
- 0x18, 0x71, 0x12, 0x2d, 0x0c, 0xd2, 0x3c, 0x53, 0x11, 0xb8, 0xfc, 0x51, 0x80, 0x4b, 0x55, 0xc0,
- 0xe5, 0xce, 0xa1, 0xa8, 0x26, 0x83, 0xa5, 0x3a, 0x04, 0x2c, 0x10, 0x9c, 0xae, 0xad, 0x37, 0x2a,
- 0xb5, 0x6a, 0x73, 0xa3, 0xae, 0x2d, 0x36, 0x17, 0x7c, 0x70, 0xea, 0x45, 0x05, 0x7e, 0x23, 0x0b,
- 0x26, 0x28, 0x5b, 0x6e, 0xcf, 0xe5, 0xe4, 0xf1, 0x5e, 0x7f, 0xf0, 0xed, 0xd2, 0x67, 0xf8, 0x03,
- 0x41, 0xb0, 0x72, 0x22, 0xfa, 0xa9, 0x27, 0x83, 0x09, 0x0a, 0xb2, 0xef, 0x34, 0x72, 0x36, 0xa2,
- 0x97, 0x62, 0x64, 0x74, 0x3f, 0xbb, 0xe4, 0x79, 0xfe, 0x01, 0x6c, 0xa4, 0x3f, 0xb2, 0xbc, 0x41,
- 0xa1, 0x66, 0xf0, 0x05, 0xd3, 0xdb, 0x26, 0x4e, 0x81, 0xf0, 0xe9, 0x32, 0x4b, 0x94, 0xb7, 0x80,
- 0xfc, 0x1e, 0xce, 0x3d, 0xc0, 0xc1, 0x92, 0x66, 0x82, 0x7f, 0x20, 0x1d, 0xe9, 0x4a, 0xd0, 0xcf,
- 0x80, 0xa7, 0xe8, 0x0d, 0xcf, 0x41, 0x3d, 0xa1, 0x0a, 0x85, 0x43, 0x4d, 0xca, 0x4d, 0x4a, 0xe2,
- 0x78, 0x8d, 0x52, 0x2c, 0xa5, 0x0f, 0xd4, 0xff, 0x7b, 0x1c, 0x4c, 0xac, 0x98, 0xae, 0x67, 0x3b,
- 0xfb, 0xf0, 0xf5, 0x19, 0x30, 0x71, 0x1e, 0x39, 0xae, 0x69, 0x5b, 0x07, 0x76, 0xb5, 0xaf, 0x03,
- 0xd3, 0x5d, 0x07, 0xed, 0x99, 0xf6, 0xae, 0x1b, 0xae, 0xa0, 0xf0, 0x49, 0x58, 0x24, 0xc6, 0xae,
- 0xb7, 0x6d, 0x3b, 0x61, 0x60, 0x03, 0xff, 0x5d, 0x3d, 0x0b, 0x00, 0x7d, 0xae, 0x1a, 0x3b, 0x88,
- 0xed, 0xd5, 0x73, 0x29, 0xaa, 0x0a, 0x72, 0x9e, 0xb9, 0x83, 0x58, 0xa4, 0x53, 0xf2, 0x8c, 0xb5,
- 0x84, 0x44, 0x0d, 0x63, 0xd1, 0xd9, 0x14, 0xdd, 0x7f, 0x85, 0x9f, 0x53, 0xc0, 0xf4, 0x32, 0xf2,
- 0x18, 0xab, 0x2e, 0x7c, 0x61, 0x46, 0xea, 0x72, 0x01, 0x3c, 0x10, 0x76, 0x0c, 0xd7, 0xff, 0x2f,
- 0x58, 0x27, 0x15, 0x13, 0xc3, 0xb0, 0xab, 0x0a, 0x1f, 0x73, 0x99, 0xc4, 0xe0, 0xf2, 0x2a, 0xd4,
- 0xc5, 0x8f, 0x65, 0x66, 0x6b, 0xe3, 0x07, 0x3f, 0xc0, 0xf7, 0x64, 0x65, 0xcf, 0xaf, 0x32, 0xd9,
- 0xcf, 0x73, 0xf5, 0x89, 0xec, 0x33, 0x26, 0xf7, 0x58, 0x8e, 0x03, 0xe1, 0xb4, 0x79, 0x4a, 0x8c,
- 0x8c, 0x1e, 0xe4, 0x96, 0x3c, 0xf9, 0x3a, 0x98, 0x93, 0xf4, 0xb5, 0xf1, 0xbb, 0x0a, 0x98, 0xae,
- 0x6f, 0xdb, 0x97, 0x7d, 0x39, 0xfe, 0x94, 0x1c, 0xb0, 0xd7, 0x80, 0xa9, 0xbd, 0x1e, 0x50, 0xc3,
- 0x84, 0xe8, 0xeb, 0xbe, 0xe1, 0x43, 0x4a, 0x52, 0x98, 0x38, 0xe6, 0x46, 0x7e, 0x19, 0xb7, 0xfa,
- 0x44, 0x30, 0xc1, 0xb8, 0x66, 0xeb, 0x22, 0xf1, 0x00, 0xfb, 0x99, 0xf9, 0x0a, 0xe6, 0xc4, 0x0a,
- 0x26, 0x43, 0x3e, 0xba, 0x72, 0xe9, 0x23, 0xff, 0xa7, 0x59, 0x12, 0xf7, 0xc0, 0x07, 0xbe, 0x3c,
- 0x02, 0xe0, 0xe1, 0xf7, 0x32, 0xb2, 0xab, 0x87, 0x81, 0x04, 0x02, 0x0e, 0x0e, 0x75, 0x71, 0xc8,
- 0x40, 0x72, 0xe9, 0xcb, 0xf3, 0x65, 0x39, 0x30, 0xb3, 0x68, 0x6e, 0x6e, 0x06, 0x9d, 0xe4, 0x8b,
- 0x24, 0x3b, 0xc9, 0xe8, 0x9d, 0x67, 0x6c, 0x8c, 0xee, 0x3a, 0x0e, 0xb2, 0xfc, 0x4a, 0xb1, 0xe6,
- 0xd4, 0x93, 0xaa, 0xde, 0x04, 0x8e, 0xfb, 0xe3, 0x02, 0xdf, 0x51, 0x4e, 0xe9, 0xbd, 0xc9, 0xf0,
- 0x3b, 0xd2, 0x5b, 0x4f, 0xbe, 0x44, 0xf9, 0x2a, 0x45, 0x34, 0xc0, 0xbb, 0xc0, 0xec, 0x36, 0xcd,
- 0x4d, 0xe6, 0xe7, 0x7e, 0x67, 0x79, 0xba, 0x27, 0xae, 0xec, 0x1a, 0x72, 0x5d, 0x63, 0x0b, 0xe9,
- 0x62, 0xe6, 0x9e, 0xe6, 0xab, 0x24, 0xb9, 0x25, 0x49, 0x6e, 0x17, 0x4b, 0xa2, 0x26, 0xe9, 0x6b,
- 0xc7, 0x57, 0x1e, 0x09, 0x72, 0x4b, 0x66, 0x07, 0xc1, 0x9f, 0xcf, 0x82, 0x29, 0x1d, 0xb5, 0x6c,
- 0xab, 0x85, 0xdf, 0x38, 0x3f, 0x94, 0x7f, 0xcc, 0xc8, 0xde, 0x0e, 0x88, 0xe9, 0xcc, 0x07, 0x34,
- 0x22, 0xda, 0x8d, 0xdc, 0x2d, 0x80, 0xb1, 0xa4, 0xc6, 0x70, 0x97, 0x03, 0x9e, 0x1f, 0x6c, 0x6e,
- 0x76, 0x6c, 0x43, 0x58, 0xa1, 0xea, 0x35, 0x85, 0x6e, 0x06, 0x45, 0xff, 0x38, 0x81, 0xed, 0xad,
- 0x9b, 0x96, 0x15, 0x9c, 0x57, 0x3d, 0x90, 0x2e, 0x6e, 0xae, 0xc6, 0x86, 0xfc, 0x20, 0x75, 0x67,
- 0xa5, 0x47, 0x68, 0xf6, 0x8d, 0x60, 0xee, 0xe2, 0xbe, 0x87, 0x5c, 0x96, 0x8b, 0x15, 0x9b, 0xd3,
- 0x7b, 0x52, 0xb9, 0x80, 0xbd, 0x71, 0xa1, 0x41, 0x62, 0x0a, 0x4c, 0x26, 0xea, 0x95, 0x21, 0xa6,
- 0x69, 0x27, 0x41, 0xb1, 0x5a, 0x5b, 0xd4, 0x88, 0x5b, 0x94, 0xef, 0x67, 0xb2, 0x05, 0x5f, 0xac,
- 0x80, 0x19, 0xe2, 0x63, 0xe0, 0xa3, 0x70, 0xbd, 0xc4, 0xa4, 0x01, 0x7e, 0x51, 0xda, 0x65, 0x8a,
- 0x54, 0x99, 0x2f, 0x20, 0x5a, 0xd0, 0x9b, 0x66, 0xa7, 0x57, 0xd0, 0x79, 0xbd, 0x27, 0xb5, 0x0f,
- 0x20, 0x4a, 0x5f, 0x40, 0x7e, 0x5b, 0xca, 0x6f, 0x6a, 0x10, 0x77, 0x47, 0x85, 0xca, 0xef, 0x28,
- 0x60, 0x1a, 0x4f, 0x52, 0x7c, 0x50, 0x6a, 0x02, 0x28, 0xb6, 0xd5, 0xd9, 0x0f, 0xd7, 0x2e, 0xfc,
- 0xd7, 0x44, 0x8d, 0xe4, 0xaf, 0xa5, 0xa7, 0xd7, 0x44, 0x44, 0x1c, 0x2f, 0x63, 0xc2, 0xef, 0x03,
- 0x52, 0x93, 0xee, 0x01, 0xcc, 0x1d, 0x15, 0x7c, 0x6f, 0xc9, 0x83, 0xc2, 0x46, 0x97, 0x20, 0xf7,
- 0xd5, 0xac, 0x4c, 0xf0, 0xeb, 0x03, 0x3e, 0xf3, 0xd8, 0xcc, 0xea, 0xd8, 0x2d, 0xa3, 0xb3, 0x1e,
- 0x1e, 0x3e, 0x0a, 0x13, 0xd4, 0x3b, 0x99, 0x1b, 0x1d, 0x3d, 0xb9, 0x75, 0x63, 0x6c, 0x5c, 0x68,
- 0x22, 0x23, 0xee, 0x7c, 0xc2, 0x2d, 0xe0, 0x44, 0xdb, 0x74, 0x8d, 0x8b, 0x1d, 0xa4, 0x59, 0x2d,
- 0x67, 0x9f, 0x8a, 0x83, 0x4d, 0xab, 0x0e, 0x7c, 0x50, 0xef, 0x06, 0x79, 0xd7, 0xdb, 0xef, 0xd0,
- 0x79, 0x22, 0x7f, 0x9c, 0x21, 0xb2, 0xa8, 0x3a, 0xce, 0xae, 0xd3, 0xbf, 0xf8, 0xab, 0x81, 0x27,
- 0x24, 0xaf, 0x06, 0xbe, 0x1d, 0x14, 0x6c, 0xc7, 0xdc, 0x32, 0xe9, 0x55, 0x2f, 0x73, 0x07, 0xc2,
- 0x9f, 0x51, 0x53, 0xa0, 0x46, 0xb2, 0xe8, 0x2c, 0x2b, 0xfc, 0x40, 0x56, 0x36, 0xd6, 0x0a, 0xe1,
- 0x91, 0x82, 0x33, 0x9e, 0x9b, 0xfc, 0x5f, 0x29, 0x15, 0x05, 0x25, 0x9a, 0xad, 0xf4, 0x07, 0xe1,
- 0xcf, 0x66, 0xc1, 0xe4, 0xa2, 0x7d, 0xd9, 0x22, 0x0a, 0x7b, 0x87, 0x9c, 0xcd, 0xda, 0xe7, 0x5c,
- 0x9c, 0x78, 0x93, 0x60, 0xac, 0x13, 0x3c, 0xa9, 0xad, 0x5f, 0x64, 0x04, 0x0c, 0xb1, 0x2d, 0x40,
- 0xf2, 0x7e, 0xb7, 0xb8, 0x72, 0xd2, 0x97, 0xeb, 0x9f, 0x29, 0x20, 0xb7, 0xe8, 0xd8, 0x5d, 0xf8,
- 0xb6, 0x4c, 0x02, 0xff, 0x80, 0xb6, 0x63, 0x77, 0x1b, 0xe4, 0x82, 0xa6, 0xd0, 0xf3, 0x9f, 0x4f,
- 0x53, 0xef, 0x00, 0x93, 0x5d, 0xdb, 0x35, 0x3d, 0x7f, 0x3a, 0x30, 0x77, 0xdb, 0x23, 0xfa, 0xb6,
- 0xca, 0x75, 0x96, 0x49, 0x0f, 0xb2, 0xe3, 0xde, 0x97, 0x88, 0x10, 0xcb, 0x05, 0x8b, 0xd1, 0xbf,
- 0xa4, 0xaa, 0x27, 0x15, 0xbe, 0x84, 0x47, 0xf2, 0x29, 0x22, 0x92, 0x8f, 0xea, 0x23, 0x61, 0xc7,
- 0xee, 0x8e, 0x64, 0x47, 0xef, 0xe5, 0x01, 0xaa, 0x4f, 0x15, 0x50, 0xbd, 0x59, 0xaa, 0xcc, 0xf4,
- 0x11, 0xfd, 0x40, 0x0e, 0x00, 0x62, 0x2e, 0x6c, 0xe0, 0x89, 0x8c, 0x9c, 0xad, 0xf4, 0xdc, 0x1c,
- 0x27, 0xcb, 0x92, 0x28, 0xcb, 0xc7, 0x44, 0x58, 0x23, 0x84, 0x7c, 0x84, 0x44, 0x4b, 0x20, 0xbf,
- 0x8b, 0x3f, 0x33, 0x89, 0x4a, 0x92, 0x20, 0xaf, 0x3a, 0xfd, 0x13, 0xfe, 0x69, 0x06, 0xe4, 0x49,
- 0x82, 0x7a, 0x16, 0x00, 0x32, 0x40, 0xd3, 0x33, 0x24, 0x19, 0x32, 0x14, 0x73, 0x29, 0x44, 0x5b,
- 0xcd, 0x36, 0xfb, 0x4c, 0x4d, 0xdf, 0x30, 0x01, 0xff, 0x4d, 0x86, 0x6d, 0x42, 0x8b, 0x0d, 0xe4,
- 0x5c, 0x0a, 0xfe, 0x9b, 0xbc, 0xad, 0xa2, 0x4d, 0x1a, 0x3b, 0x37, 0xa7, 0x87, 0x09, 0xc1, 0xdf,
- 0xab, 0xc1, 0x8d, 0x4b, 0xfe, 0xdf, 0x24, 0x05, 0x4f, 0x6a, 0x89, 0x5a, 0x2e, 0x84, 0x45, 0x14,
- 0x48, 0xa6, 0xde, 0x64, 0xf8, 0xda, 0x40, 0x6d, 0x16, 0x05, 0xb5, 0x79, 0x5c, 0x02, 0xf1, 0xa6,
- 0xaf, 0x3c, 0x5f, 0xce, 0x83, 0xa9, 0xaa, 0xdd, 0x66, 0xba, 0xc3, 0x4d, 0xfc, 0x3e, 0x9e, 0x4f,
- 0x34, 0xf1, 0x0b, 0x68, 0x44, 0x28, 0xc8, 0xbd, 0xa2, 0x82, 0xc8, 0x51, 0xe0, 0xf5, 0x43, 0x5d,
- 0x00, 0x05, 0xa2, 0xbd, 0x07, 0xaf, 0xf2, 0x89, 0x23, 0x41, 0x44, 0xab, 0xb3, 0x3f, 0xff, 0xcd,
- 0xe9, 0xd8, 0x7f, 0x04, 0x79, 0x52, 0xc1, 0x98, 0xad, 0x14, 0xb1, 0xa2, 0xd9, 0xf8, 0x8a, 0x2a,
- 0xf1, 0x15, 0xcd, 0xf5, 0x56, 0x34, 0xc9, 0x7c, 0x3e, 0x4a, 0x43, 0xd2, 0xd7, 0xf1, 0xff, 0x3e,
- 0x01, 0x40, 0xd5, 0xd8, 0x33, 0xb7, 0xe8, 0x56, 0xec, 0xe7, 0xfc, 0x79, 0x0c, 0xdb, 0x34, 0xfd,
- 0x4f, 0xdc, 0x40, 0x78, 0x07, 0x98, 0x60, 0xe3, 0x1e, 0xab, 0xc8, 0xb5, 0x42, 0x45, 0x42, 0x2a,
- 0xd4, 0xbc, 0x7c, 0xd0, 0xd3, 0xfd, 0xfc, 0xc2, 0xad, 0xa3, 0xd9, 0x9e, 0x5b, 0x47, 0xfb, 0xef,
- 0x25, 0x44, 0xdc, 0x45, 0x0a, 0xdf, 0x2b, 0xbd, 0x9f, 0xc5, 0xf1, 0xc3, 0xd5, 0x28, 0xa2, 0x09,
- 0xde, 0x0e, 0x26, 0xec, 0x60, 0xf7, 0x58, 0x89, 0x5c, 0xcf, 0xaa, 0x58, 0x9b, 0xb6, 0xee, 0xe7,
- 0x94, 0xdc, 0xc4, 0x92, 0xe2, 0x63, 0x2c, 0x67, 0x22, 0x4e, 0x2f, 0xfb, 0x71, 0x88, 0x70, 0x3d,
- 0x2e, 0x98, 0xde, 0xf6, 0xaa, 0x69, 0x5d, 0x72, 0xe1, 0xbf, 0x97, 0xb3, 0x20, 0x39, 0xfc, 0xb3,
- 0xc9, 0xf0, 0x17, 0xc3, 0x3c, 0xd4, 0x45, 0xd4, 0xee, 0x8e, 0xa2, 0xd2, 0x9f, 0xdb, 0x08, 0x00,
- 0xef, 0x04, 0x05, 0xca, 0x28, 0xeb, 0x44, 0xcf, 0x45, 0xe2, 0x17, 0x50, 0xd2, 0xd9, 0x1f, 0xf0,
- 0x3d, 0x01, 0x8e, 0xe7, 0x05, 0x1c, 0x17, 0x0e, 0xc5, 0x59, 0xea, 0x90, 0x9e, 0x7b, 0x3c, 0x98,
- 0x60, 0x92, 0x56, 0xe7, 0xf8, 0x56, 0x5c, 0x3c, 0xa6, 0x02, 0x50, 0x58, 0xb3, 0xf7, 0x50, 0xc3,
- 0x2e, 0x66, 0xf0, 0x33, 0xe6, 0xaf, 0x61, 0x17, 0xb3, 0xf0, 0x15, 0x93, 0x60, 0x32, 0x08, 0x00,
- 0xf3, 0xd9, 0x2c, 0x28, 0x96, 0x1d, 0x64, 0x78, 0x68, 0xc9, 0xb1, 0x77, 0x68, 0x8d, 0xe4, 0x5d,
- 0x31, 0x7f, 0x55, 0xda, 0x9f, 0x22, 0x08, 0xcc, 0xd2, 0x5b, 0x58, 0x04, 0x96, 0x74, 0x31, 0x31,
- 0xeb, 0x2f, 0x26, 0xc2, 0xb7, 0x4a, 0xf9, 0x57, 0xc8, 0x96, 0x92, 0x7e, 0x53, 0xfb, 0x64, 0x16,
- 0xe4, 0xcb, 0x1d, 0xdb, 0x42, 0xfc, 0xa5, 0xfa, 0x03, 0x0f, 0xa6, 0xf4, 0xdf, 0x51, 0x80, 0xcf,
- 0xca, 0xca, 0xda, 0x1a, 0xa1, 0x00, 0x70, 0xd9, 0x92, 0xb2, 0x95, 0x1b, 0xa4, 0x62, 0x49, 0xa7,
- 0x2f, 0xd0, 0x6f, 0x64, 0xc1, 0x14, 0x0d, 0xa5, 0x52, 0xea, 0x74, 0xe0, 0x23, 0x42, 0xa1, 0xf6,
- 0x09, 0xa2, 0x03, 0x7f, 0x5b, 0xda, 0x1f, 0x3e, 0xa8, 0x55, 0x40, 0x3b, 0x41, 0x4c, 0x99, 0x64,
- 0xee, 0xd9, 0x72, 0x7b, 0x62, 0x03, 0x19, 0x4a, 0x5f, 0xd4, 0x7f, 0x99, 0xc5, 0x06, 0x80, 0x75,
- 0x69, 0xdd, 0x41, 0x7b, 0x26, 0xba, 0x0c, 0xaf, 0x0e, 0x85, 0x7d, 0x30, 0x4e, 0xc4, 0x9b, 0xa4,
- 0x17, 0x71, 0x38, 0x92, 0x91, 0x5b, 0x52, 0xd3, 0x9d, 0x30, 0x13, 0xeb, 0xc5, 0x7b, 0x83, 0x77,
- 0x70, 0x64, 0x74, 0x3e, 0xbb, 0xe4, 0x9a, 0x4d, 0x34, 0x17, 0xe9, 0x0b, 0xf6, 0xa1, 0x09, 0x30,
- 0xb9, 0x61, 0xb9, 0xdd, 0x8e, 0xe1, 0x6e, 0xc3, 0xef, 0x2b, 0xa0, 0x40, 0x2f, 0x90, 0x82, 0x3f,
- 0x2e, 0x1c, 0x47, 0xff, 0xe9, 0x5d, 0xe4, 0xf8, 0xee, 0x55, 0xf4, 0xa5, 0xff, 0xfd, 0xd6, 0xf0,
- 0x03, 0x8a, 0xec, 0x24, 0xd5, 0x2f, 0x34, 0xfe, 0xc6, 0xfe, 0x0a, 0x98, 0xec, 0x9a, 0x2d, 0x6f,
- 0xd7, 0x09, 0x6e, 0x4b, 0x7e, 0xac, 0x1c, 0x95, 0x75, 0xfa, 0x97, 0x1e, 0xfc, 0x0e, 0x0d, 0x30,
- 0xc1, 0x12, 0x0f, 0x6c, 0x0b, 0x1d, 0x3c, 0x5e, 0x79, 0x1a, 0x14, 0x0c, 0xc7, 0x33, 0x5d, 0xff,
- 0x36, 0x7a, 0xf6, 0x86, 0xbb, 0x4b, 0xfa, 0xb4, 0xe1, 0x74, 0xfc, 0xc0, 0x15, 0x41, 0x02, 0xfc,
- 0x1d, 0xa9, 0xf9, 0x63, 0x7c, 0xcd, 0x93, 0x41, 0x7e, 0xdf, 0x10, 0x6b, 0xcd, 0x57, 0x82, 0x2b,
- 0xf4, 0x52, 0x43, 0x6b, 0xd2, 0x38, 0x07, 0x41, 0x48, 0x83, 0x36, 0xfc, 0x3e, 0xbf, 0x7e, 0x27,
- 0x8e, 0x11, 0x4c, 0x8a, 0xe1, 0x18, 0x11, 0x24, 0xc4, 0x8c, 0x11, 0x6f, 0x91, 0xde, 0xdd, 0x09,
- 0x44, 0x32, 0x60, 0x2d, 0x2f, 0xee, 0xa2, 0x98, 0x0f, 0x4a, 0xed, 0xd4, 0x0c, 0x2a, 0xe9, 0x08,
- 0xc5, 0xff, 0xc6, 0x09, 0x30, 0xb1, 0x6c, 0x74, 0x3a, 0xc8, 0xd9, 0xc7, 0x43, 0x4b, 0xd1, 0xe7,
- 0x70, 0xcd, 0xb0, 0xcc, 0x4d, 0x3c, 0xbf, 0x8f, 0xed, 0xf4, 0xde, 0x2b, 0x1d, 0x84, 0x94, 0x95,
- 0x31, 0xdf, 0x4b, 0x3f, 0x42, 0xe6, 0xb7, 0x82, 0x9c, 0x69, 0x6d, 0xda, 0xac, 0xeb, 0xeb, 0x5d,
- 0x45, 0xf7, 0x7f, 0x26, 0x53, 0x10, 0x92, 0x51, 0x32, 0x0e, 0xa9, 0x24, 0x17, 0xe9, 0xf7, 0x80,
- 0xbf, 0x95, 0x03, 0xb3, 0x3e, 0x13, 0x15, 0xab, 0x8d, 0x1e, 0xe4, 0x97, 0x54, 0x5e, 0x9c, 0x93,
- 0x3d, 0x43, 0xd5, 0x5b, 0x1f, 0x42, 0x2a, 0x42, 0xa4, 0x0d, 0x00, 0x5a, 0x86, 0x87, 0xb6, 0x6c,
- 0xc7, 0x0c, 0xfa, 0xb5, 0x27, 0x24, 0xa1, 0x56, 0xa6, 0x7f, 0xef, 0xeb, 0x1c, 0x1d, 0xf5, 0x6e,
- 0x30, 0x8d, 0x82, 0x63, 0xd2, 0xfe, 0x92, 0x4b, 0x2c, 0x5e, 0x7c, 0x7e, 0xf8, 0x97, 0x52, 0x47,
- 0xb5, 0x64, 0xaa, 0x99, 0x0c, 0xb3, 0xe6, 0x70, 0x6d, 0x68, 0xa3, 0xba, 0x56, 0xd2, 0xeb, 0x2b,
- 0xa5, 0xd5, 0xd5, 0x4a, 0x75, 0x39, 0x88, 0xf9, 0xa1, 0x82, 0xb9, 0xc5, 0xda, 0x85, 0x2a, 0x17,
- 0x94, 0x25, 0x07, 0xd7, 0xc1, 0xa4, 0x2f, 0xaf, 0x7e, 0xbe, 0x91, 0xbc, 0xcc, 0x98, 0x6f, 0x24,
- 0x97, 0x84, 0x8d, 0x2c, 0xb3, 0x15, 0x38, 0xcc, 0x90, 0x67, 0xf8, 0xc7, 0x06, 0xc8, 0x93, 0xb5,
- 0x71, 0xf8, 0x4e, 0x72, 0x5d, 0x7d, 0xb7, 0x63, 0xb4, 0x10, 0xdc, 0x49, 0x60, 0x55, 0xfb, 0x51,
- 0xf1, 0xb3, 0x07, 0xa2, 0xe2, 0x93, 0x47, 0x66, 0xbd, 0x9d, 0xec, 0xb7, 0x1e, 0xaf, 0xd3, 0x2c,
- 0xe2, 0xa9, 0xa6, 0xd8, 0x5d, 0x12, 0xba, 0x8c, 0xcf, 0xd8, 0x8c, 0x50, 0xc9, 0x68, 0x9e, 0x92,
- 0x59, 0x94, 0x72, 0xfb, 0x29, 0x71, 0x1c, 0x8d, 0xe1, 0xe6, 0xe6, 0x1c, 0xc8, 0xd7, 0xbb, 0x1d,
- 0xd3, 0x83, 0xbf, 0x9e, 0x1d, 0x09, 0x66, 0xf4, 0x26, 0x03, 0x65, 0xe0, 0x4d, 0x06, 0xe1, 0x2e,
- 0x68, 0x4e, 0x62, 0x17, 0xb4, 0x81, 0x1e, 0xf4, 0xc4, 0x5d, 0xd0, 0x3b, 0x58, 0xdc, 0x2e, 0xba,
- 0x87, 0xfa, 0xa8, 0x3e, 0x22, 0x25, 0xd5, 0xea, 0x13, 0x10, 0xee, 0xdc, 0xe3, 0x59, 0x5c, 0x2a,
- 0x00, 0x0a, 0x0b, 0xb5, 0x46, 0xa3, 0xb6, 0x56, 0x3c, 0x46, 0x02, 0x9a, 0xd4, 0xd6, 0x8b, 0x19,
- 0x75, 0x0a, 0xe4, 0x2b, 0xd5, 0xaa, 0xa6, 0x17, 0xb3, 0x24, 0x52, 0x56, 0xa5, 0xb1, 0xaa, 0x15,
- 0x15, 0x31, 0xac, 0x75, 0xac, 0x19, 0x2d, 0x96, 0x9d, 0xa6, 0x7a, 0xc9, 0x19, 0xd4, 0xd1, 0xfc,
- 0xa4, 0xaf, 0x5c, 0xff, 0x59, 0x01, 0xf9, 0x35, 0xe4, 0x6c, 0x21, 0xf8, 0xd3, 0x09, 0x36, 0xeb,
- 0x36, 0x4d, 0xc7, 0xa5, 0x71, 0xc5, 0xc2, 0xcd, 0x3a, 0x3e, 0x4d, 0xbd, 0x01, 0xcc, 0xba, 0xa8,
- 0x65, 0x5b, 0x6d, 0x3f, 0x13, 0xed, 0x8f, 0xc4, 0x44, 0xf1, 0x4a, 0x71, 0x09, 0xc8, 0x08, 0xa3,
- 0x23, 0xd9, 0x71, 0x4b, 0x02, 0x4c, 0xbf, 0x52, 0xd3, 0x07, 0xe6, 0x3b, 0x0a, 0xfe, 0xa9, 0xbb,
- 0x0f, 0x5f, 0x2a, 0xbd, 0x8b, 0x7a, 0x0b, 0x28, 0x10, 0x35, 0xf5, 0xc7, 0xe8, 0xfe, 0xfd, 0x31,
- 0xcb, 0xa3, 0x2e, 0x80, 0x13, 0x2e, 0xea, 0xa0, 0x96, 0x87, 0xda, 0xb8, 0xe9, 0xea, 0x03, 0x3b,
- 0x85, 0x83, 0xd9, 0xe1, 0x9f, 0xf3, 0x00, 0xde, 0x25, 0x02, 0x78, 0x63, 0x1f, 0x51, 0xe2, 0x0a,
- 0x45, 0xdb, 0xca, 0xb8, 0x1a, 0xf5, 0x8e, 0x1d, 0x2c, 0x6e, 0xfb, 0xef, 0xf8, 0xdb, 0xb6, 0xb7,
- 0xd3, 0x21, 0xdf, 0x98, 0xc3, 0xbf, 0xff, 0xae, 0xce, 0x83, 0x09, 0xc3, 0xda, 0x27, 0x9f, 0x72,
- 0x31, 0xb5, 0xf6, 0x33, 0xc1, 0x57, 0x04, 0xc8, 0xdf, 0x23, 0x20, 0xff, 0x18, 0x39, 0x76, 0xd3,
- 0x07, 0xfe, 0xe7, 0x26, 0x40, 0x7e, 0xdd, 0x70, 0x3d, 0x04, 0xff, 0x1f, 0x45, 0x16, 0xf9, 0x1b,
- 0xc1, 0xdc, 0xa6, 0xdd, 0xda, 0x75, 0x51, 0x5b, 0x6c, 0x94, 0x3d, 0xa9, 0xa3, 0xc0, 0x5c, 0xbd,
- 0x19, 0x14, 0xfd, 0x44, 0x46, 0xd6, 0xdf, 0x4e, 0x3f, 0x90, 0x4e, 0x82, 0x24, 0xbb, 0xeb, 0x86,
- 0xe3, 0xd5, 0x36, 0x49, 0x5a, 0x10, 0x24, 0x99, 0x4f, 0x14, 0xa0, 0x2f, 0xc4, 0x40, 0x3f, 0x11,
- 0x0d, 0xfd, 0xa4, 0x04, 0xf4, 0x6a, 0x09, 0x4c, 0x6e, 0x9a, 0x1d, 0x44, 0x7e, 0x98, 0x22, 0x3f,
- 0xf4, 0x1b, 0x93, 0x88, 0xec, 0x83, 0x31, 0x69, 0xc9, 0xec, 0x20, 0x3d, 0xf8, 0xcd, 0x9f, 0xc8,
- 0x80, 0x70, 0x22, 0xb3, 0x4a, 0xfd, 0x5b, 0xb1, 0xe1, 0x65, 0x19, 0x3b, 0xc8, 0x5f, 0x44, 0xb3,
- 0xd8, 0x61, 0x93, 0xb6, 0xe1, 0x19, 0x04, 0x8c, 0x19, 0x9d, 0x3c, 0x8b, 0xfe, 0x1d, 0x4a, 0xaf,
- 0x7f, 0xc7, 0xf3, 0x94, 0x64, 0x3d, 0xa2, 0xcf, 0x6c, 0x44, 0x8b, 0xba, 0xe8, 0x03, 0x44, 0x2d,
- 0xc5, 0xe0, 0x1d, 0x03, 0xd3, 0x32, 0x1c, 0xe4, 0xad, 0xf3, 0x1e, 0x15, 0x79, 0x5d, 0x4c, 0x24,
- 0xae, 0x75, 0x6e, 0xdd, 0xd8, 0x41, 0xa4, 0xb0, 0x32, 0xfe, 0xc6, 0x5c, 0xa6, 0x0e, 0xa4, 0x87,
- 0xfd, 0x6f, 0x7e, 0xd4, 0xfd, 0x6f, 0xbf, 0x3a, 0xa6, 0xdf, 0x0c, 0x5f, 0x9d, 0x03, 0x4a, 0x79,
- 0xd7, 0x7b, 0x58, 0x77, 0xbf, 0x3f, 0x90, 0xf6, 0x57, 0x61, 0xfd, 0x59, 0xe4, 0x1d, 0xe2, 0x63,
- 0xea, 0x7d, 0x13, 0x6a, 0x89, 0x9c, 0x5f, 0x4c, 0x54, 0xdd, 0xd2, 0xd7, 0x91, 0xb7, 0x29, 0x81,
- 0xc3, 0xe3, 0x73, 0x32, 0x87, 0x37, 0xcd, 0x21, 0xed, 0x9f, 0xb8, 0x9e, 0x21, 0x78, 0xf7, 0x3b,
- 0x9e, 0x9c, 0x10, 0x52, 0x8d, 0x6c, 0x93, 0x13, 0x51, 0xce, 0xe8, 0xf4, 0x05, 0xbe, 0x4c, 0xda,
- 0x0d, 0x9c, 0x8a, 0x2d, 0xd6, 0x25, 0x30, 0x99, 0x4d, 0x25, 0x77, 0x4f, 0x64, 0x4c, 0xb1, 0xe9,
- 0x03, 0xf6, 0xad, 0xe8, 0x25, 0xc3, 0x61, 0x10, 0x83, 0xaf, 0x94, 0xde, 0x56, 0xa2, 0xd5, 0x1e,
- 0xb0, 0x5e, 0x98, 0x4c, 0xde, 0x72, 0x9b, 0x4e, 0xb1, 0x05, 0xa7, 0x2f, 0xf1, 0x6f, 0x2a, 0xa0,
- 0x40, 0xb7, 0x12, 0xe1, 0x9b, 0x33, 0x09, 0x2e, 0xd8, 0xf6, 0x44, 0x57, 0xc0, 0xe0, 0x3d, 0xc9,
- 0x9a, 0x83, 0xe0, 0x32, 0x98, 0x4b, 0xe4, 0x32, 0x28, 0x9e, 0xab, 0x94, 0x68, 0x47, 0xb4, 0x8e,
- 0x29, 0x4f, 0x27, 0x93, 0xb4, 0xb0, 0xbe, 0x0c, 0xa5, 0x8f, 0xf7, 0xf3, 0xf3, 0x60, 0x86, 0x16,
- 0x7d, 0xc1, 0x6c, 0x6f, 0x21, 0x0f, 0xbe, 0x3b, 0xfb, 0xc3, 0x83, 0xba, 0x5a, 0x05, 0x33, 0x97,
- 0x09, 0xdb, 0xab, 0xc6, 0xbe, 0xbd, 0xeb, 0xb1, 0x95, 0x8b, 0x9b, 0x63, 0xd7, 0x3d, 0x68, 0x3d,
- 0xe7, 0xe9, 0x1f, 0xba, 0xf0, 0x3f, 0x96, 0x31, 0x5d, 0xf0, 0xa7, 0x8e, 0x58, 0x05, 0x62, 0x64,
- 0xf1, 0x49, 0xea, 0x69, 0x50, 0xd8, 0x33, 0xd1, 0xe5, 0x4a, 0x9b, 0x59, 0xb7, 0xec, 0x4d, 0x3c,
- 0x71, 0x1e, 0xbb, 0xff, 0xca, 0xc3, 0xcd, 0x78, 0x49, 0x57, 0x0b, 0xe5, 0x76, 0x61, 0x07, 0xb2,
- 0x35, 0x86, 0x33, 0xbe, 0xe2, 0x3d, 0x8c, 0x49, 0xee, 0xf7, 0x8f, 0x32, 0x9c, 0xc5, 0xf8, 0x17,
- 0xb1, 0x27, 0x48, 0xa8, 0x00, 0x46, 0x7c, 0x45, 0xa3, 0x5c, 0x50, 0x86, 0x01, 0x45, 0xa7, 0x2f,
- 0xf9, 0xd7, 0x2a, 0x60, 0xaa, 0x8e, 0xbc, 0x25, 0x13, 0x75, 0xda, 0x2e, 0x74, 0x0e, 0x6f, 0x1a,
- 0xdd, 0x0a, 0x0a, 0x9b, 0x84, 0xd8, 0xa0, 0xf3, 0x07, 0x2c, 0x1b, 0x7c, 0x75, 0x56, 0x76, 0x67,
- 0x97, 0xad, 0xbe, 0xf9, 0xdc, 0x8e, 0x04, 0x26, 0x39, 0xcf, 0xdc, 0xf8, 0x92, 0xd3, 0x47, 0xe9,
- 0xed, 0x0a, 0x98, 0x61, 0x17, 0xb7, 0x95, 0x3a, 0xe6, 0x96, 0x05, 0x77, 0x47, 0xd0, 0x42, 0xd4,
- 0xc7, 0x81, 0xbc, 0x81, 0xa9, 0x31, 0x27, 0x7d, 0xd8, 0xb7, 0xf3, 0x24, 0xe5, 0xe9, 0x34, 0x63,
- 0x82, 0xd8, 0x8b, 0xa1, 0x62, 0xfb, 0x3c, 0x8f, 0x31, 0xf6, 0xe2, 0xc0, 0xc2, 0xd3, 0x47, 0xec,
- 0x4b, 0x0a, 0x38, 0xc9, 0x18, 0x38, 0x8f, 0x1c, 0xcf, 0x6c, 0x19, 0x1d, 0x8a, 0xdc, 0x0b, 0x32,
- 0xa3, 0x80, 0x6e, 0x05, 0xcc, 0xee, 0xf1, 0x64, 0x19, 0x84, 0xe7, 0xfa, 0x42, 0x28, 0x30, 0xa0,
- 0x8b, 0x3f, 0x26, 0x88, 0x61, 0x27, 0x48, 0x55, 0xa0, 0x39, 0xc6, 0x18, 0x76, 0xd2, 0x4c, 0xa4,
- 0x0f, 0xf1, 0x4b, 0x72, 0x34, 0x9e, 0x4d, 0xd8, 0x7d, 0x7e, 0x4e, 0x1a, 0xdb, 0x0d, 0x30, 0x4d,
- 0xb0, 0xa4, 0x3f, 0xb2, 0x65, 0x88, 0x18, 0x25, 0x0e, 0xfa, 0x1d, 0x76, 0x57, 0x54, 0xf0, 0xaf,
- 0xce, 0xd3, 0x81, 0x17, 0x00, 0x08, 0x3f, 0xf1, 0x9d, 0x74, 0x26, 0xaa, 0x93, 0xce, 0xca, 0x75,
- 0xd2, 0x6f, 0x92, 0x0e, 0x5e, 0xd2, 0x9f, 0xed, 0xc3, 0xab, 0x87, 0x5c, 0xd8, 0x8a, 0xc1, 0xa5,
- 0xa7, 0xaf, 0x17, 0xaf, 0xc8, 0xf5, 0xde, 0xd0, 0xfd, 0x91, 0x91, 0xcc, 0xa7, 0xf8, 0xfe, 0x40,
- 0xe9, 0xe9, 0x0f, 0x0e, 0x61, 0x49, 0xdf, 0x04, 0x8e, 0xd3, 0x22, 0xca, 0x01, 0x5b, 0x79, 0x1a,
- 0x9a, 0xa1, 0x27, 0x19, 0x7e, 0x74, 0x08, 0x25, 0x18, 0x74, 0x7d, 0x78, 0x5c, 0x27, 0x97, 0xcc,
- 0xd8, 0x4d, 0xaa, 0x20, 0x47, 0x77, 0xeb, 0xf8, 0x37, 0x72, 0xd4, 0xda, 0xdd, 0x20, 0xd7, 0x79,
- 0xc1, 0xbf, 0xca, 0x8d, 0x62, 0x44, 0xb8, 0x17, 0xe4, 0x88, 0xab, 0xba, 0x12, 0xb9, 0xa4, 0x11,
- 0x16, 0x19, 0xde, 0xb5, 0x86, 0x1e, 0xf4, 0x56, 0x8e, 0xe9, 0xe4, 0x4f, 0xf5, 0x66, 0x70, 0xfc,
- 0xa2, 0xd1, 0xba, 0xb4, 0xe5, 0xd8, 0xbb, 0xe4, 0xe2, 0x23, 0x9b, 0xdd, 0xa0, 0x44, 0x6e, 0xa2,
- 0x13, 0x3f, 0xa8, 0xb7, 0xf9, 0xa6, 0x43, 0x7e, 0x90, 0xe9, 0xb0, 0x72, 0x8c, 0x19, 0x0f, 0xea,
- 0xe3, 0x83, 0x4e, 0xa7, 0x10, 0xdb, 0xe9, 0xac, 0x1c, 0xf3, 0xbb, 0x1d, 0x75, 0x11, 0x4c, 0xb6,
- 0xcd, 0x3d, 0xb2, 0x55, 0x4d, 0x66, 0x5d, 0x83, 0x8e, 0x12, 0x2f, 0x9a, 0x7b, 0x74, 0x63, 0x7b,
- 0xe5, 0x98, 0x1e, 0xfc, 0xa9, 0x2e, 0x83, 0x29, 0xb2, 0x2d, 0x40, 0xc8, 0x4c, 0x26, 0x3a, 0x26,
- 0xbc, 0x72, 0x4c, 0x0f, 0xff, 0xc5, 0xd6, 0x47, 0x8e, 0x9c, 0xe1, 0xb8, 0xc7, 0xdf, 0x6e, 0xcf,
- 0x24, 0xda, 0x6e, 0xc7, 0xb2, 0xa0, 0x1b, 0xee, 0xa7, 0x41, 0xbe, 0x45, 0x24, 0x9c, 0x65, 0x12,
- 0xa6, 0xaf, 0xea, 0x5d, 0x20, 0xb7, 0x63, 0x38, 0xfe, 0xe4, 0xf9, 0xc6, 0xc1, 0x74, 0xd7, 0x0c,
- 0xe7, 0x12, 0x46, 0x10, 0xff, 0xb5, 0x30, 0x01, 0xf2, 0x44, 0x70, 0xc1, 0x03, 0x7c, 0x5b, 0x8e,
- 0x9a, 0x21, 0x65, 0xdb, 0xc2, 0xc3, 0x7e, 0xc3, 0xf6, 0x0f, 0xba, 0xfc, 0x41, 0x66, 0x34, 0x16,
- 0x64, 0xdf, 0x2b, 0xad, 0x95, 0xc8, 0x2b, 0xad, 0x7b, 0xee, 0x56, 0xcd, 0xf5, 0xde, 0xad, 0x1a,
- 0x2e, 0x1f, 0xe4, 0x07, 0x3b, 0xaa, 0xfc, 0xf9, 0x10, 0xa6, 0x4b, 0xaf, 0x20, 0xa2, 0x67, 0xe0,
- 0x1d, 0xd3, 0xe2, 0xea, 0xec, 0xbf, 0x26, 0xec, 0x94, 0x92, 0x1a, 0x35, 0x03, 0xd8, 0x4b, 0xbf,
- 0x6f, 0xfa, 0xcd, 0x1c, 0x38, 0x43, 0x6f, 0xf0, 0xdd, 0x43, 0x0d, 0x5b, 0xbc, 0x6a, 0x10, 0xfe,
- 0xc9, 0x48, 0x94, 0xa6, 0xcf, 0x80, 0xa3, 0xf4, 0x1d, 0x70, 0x0e, 0x1c, 0x36, 0xce, 0x0d, 0x38,
- 0x6c, 0x9c, 0x4f, 0xb6, 0x72, 0xf8, 0x7b, 0xbc, 0xfe, 0xac, 0x8b, 0xfa, 0x73, 0x67, 0x04, 0x40,
- 0xfd, 0xe4, 0x32, 0x12, 0xfb, 0xe6, 0x9d, 0x81, 0xa6, 0xd4, 0x05, 0x4d, 0xb9, 0x67, 0x78, 0x46,
- 0xd2, 0xd7, 0x96, 0xdf, 0xcd, 0x81, 0x2b, 0x42, 0x66, 0xaa, 0xe8, 0x32, 0x53, 0x94, 0xcf, 0x8e,
- 0x44, 0x51, 0x92, 0xc7, 0x32, 0x48, 0x5b, 0x63, 0xfe, 0x54, 0xfa, 0x0c, 0x50, 0x2f, 0x50, 0x81,
- 0x6c, 0x22, 0x94, 0xe5, 0x34, 0x28, 0xd0, 0x1e, 0x86, 0x41, 0xc3, 0xde, 0x12, 0x76, 0x37, 0x72,
- 0x27, 0x87, 0x64, 0x79, 0x1b, 0x83, 0xfe, 0xb0, 0x75, 0x8d, 0xc6, 0xae, 0x63, 0x55, 0x2c, 0xcf,
- 0x86, 0x3f, 0x3b, 0x12, 0xc5, 0x09, 0xbc, 0xe1, 0x94, 0x61, 0xbc, 0xe1, 0x86, 0x5a, 0xe5, 0xf0,
- 0x6b, 0x70, 0x24, 0xab, 0x1c, 0x11, 0x85, 0xa7, 0x8f, 0xdf, 0x3b, 0x14, 0x7a, 0x9b, 0x7f, 0x1d,
- 0x79, 0x0b, 0xa2, 0x85, 0x08, 0xef, 0x1f, 0x05, 0x90, 0x27, 0x7d, 0x33, 0x89, 0x5d, 0x46, 0x45,
- 0x5e, 0xc4, 0x13, 0x4f, 0xb1, 0x97, 0x22, 0x08, 0xd3, 0xc1, 0x1e, 0x0e, 0x47, 0x82, 0x94, 0xdc,
- 0x5d, 0x08, 0x09, 0xd8, 0x48, 0x1f, 0xb3, 0x17, 0x29, 0xa0, 0xc0, 0x6e, 0x6e, 0xdf, 0x48, 0xc5,
- 0x61, 0x42, 0x0c, 0x8d, 0x2c, 0xb1, 0x23, 0x97, 0xf8, 0x7e, 0xf3, 0xf4, 0xf6, 0xe2, 0x8e, 0xe8,
- 0x02, 0xf3, 0xef, 0x64, 0xc1, 0x74, 0x1d, 0x79, 0x65, 0xc3, 0x71, 0x4c, 0x63, 0x6b, 0x54, 0x1e,
- 0xdf, 0xb2, 0xde, 0xc3, 0xf0, 0xbb, 0x19, 0xd9, 0xf3, 0x34, 0xc1, 0x42, 0xb8, 0xcf, 0x6a, 0x44,
- 0x6c, 0x3f, 0xb9, 0x9b, 0xe3, 0x07, 0x51, 0x1b, 0x83, 0xc7, 0x76, 0x16, 0x4c, 0xf8, 0x67, 0xea,
- 0x6e, 0x15, 0xce, 0x59, 0x6e, 0x7b, 0x3b, 0xfe, 0x31, 0x18, 0xf2, 0x7c, 0xf0, 0x2c, 0x17, 0x7c,
- 0x79, 0x42, 0x47, 0xf9, 0xf8, 0x03, 0x81, 0xc9, 0xda, 0x58, 0x12, 0x77, 0xf8, 0xa3, 0x3a, 0x02,
- 0xf8, 0xdb, 0x13, 0x6c, 0x39, 0x72, 0xd5, 0xf0, 0xd0, 0x83, 0xf0, 0x73, 0x0a, 0x98, 0xa8, 0x23,
- 0x0f, 0x8f, 0xb7, 0x98, 0xfd, 0x43, 0x6b, 0xb8, 0xca, 0xad, 0x78, 0x4c, 0xb1, 0x35, 0x8c, 0xa7,
- 0x81, 0xa9, 0xae, 0x63, 0xb7, 0x90, 0xeb, 0xb2, 0xd5, 0x0b, 0xde, 0x51, 0xad, 0xdf, 0xe8, 0x4f,
- 0x58, 0x9b, 0x5f, 0xf7, 0xff, 0xd1, 0xc3, 0xdf, 0x93, 0x9a, 0x01, 0x94, 0x12, 0xab, 0xe0, 0xb8,
- 0xcd, 0x80, 0xb8, 0xc2, 0xd3, 0x07, 0xfa, 0xd3, 0x0a, 0x98, 0xa9, 0x23, 0x2f, 0x90, 0x62, 0x82,
- 0x4d, 0x8e, 0x68, 0x78, 0x05, 0x28, 0x95, 0xc3, 0x41, 0x29, 0x7f, 0x9f, 0x9e, 0x28, 0xcd, 0x80,
- 0xd8, 0x18, 0xef, 0xd3, 0x93, 0xe3, 0x60, 0x0c, 0xc7, 0xd7, 0x1e, 0x05, 0xa6, 0x08, 0x2f, 0xa4,
- 0xc1, 0xfe, 0x62, 0x2e, 0x6c, 0xbc, 0x9f, 0x4f, 0xa9, 0xf1, 0xde, 0x0d, 0xf2, 0xe4, 0x9e, 0x7e,
- 0xd2, 0x70, 0xa7, 0x65, 0xcc, 0xf6, 0x35, 0x9c, 0x5d, 0xa7, 0x7f, 0xf5, 0xf7, 0xd3, 0xcc, 0x27,
- 0xf3, 0xd3, 0x7c, 0x7d, 0x36, 0xd1, 0x48, 0x48, 0xe7, 0x0e, 0x23, 0x6c, 0xf2, 0x09, 0xc6, 0xcd,
- 0x98, 0xb2, 0xd3, 0x57, 0x8e, 0x17, 0x28, 0x60, 0x12, 0x8f, 0xdb, 0xc4, 0x1e, 0xbf, 0x70, 0x78,
- 0x75, 0xe8, 0x6f, 0xe8, 0x27, 0xec, 0x81, 0x7d, 0x89, 0x8c, 0xce, 0xbc, 0x4f, 0xd0, 0x03, 0xc7,
- 0x15, 0x9e, 0x3e, 0x1e, 0xef, 0xa2, 0x78, 0x90, 0xf6, 0x00, 0xdf, 0xa0, 0x00, 0x65, 0x19, 0x79,
- 0xe3, 0xb6, 0x22, 0xdf, 0x2e, 0x1d, 0xaa, 0x48, 0x10, 0x18, 0xe1, 0x79, 0x7e, 0x19, 0x8d, 0xa6,
- 0x01, 0xc9, 0xc5, 0x28, 0x92, 0x62, 0x20, 0x7d, 0xd4, 0xde, 0x47, 0x51, 0xa3, 0x9b, 0x0b, 0x3f,
- 0x33, 0x82, 0x5e, 0x75, 0xbc, 0x0b, 0x1f, 0xbe, 0x00, 0x09, 0x8d, 0xa3, 0x6a, 0x6f, 0xfd, 0x0a,
- 0x1f, 0xcb, 0xfd, 0x75, 0x00, 0x37, 0xf6, 0x6d, 0xd4, 0xba, 0x84, 0xda, 0xf0, 0x27, 0x0f, 0x0f,
- 0xdd, 0x19, 0x30, 0xd1, 0xa2, 0xd4, 0x08, 0x78, 0x93, 0xba, 0xff, 0x9a, 0xe0, 0x32, 0x66, 0xb1,
- 0x23, 0xa2, 0xbf, 0x8f, 0xf1, 0x32, 0x66, 0x89, 0xe2, 0xc7, 0x60, 0xb6, 0xd0, 0x59, 0x46, 0xa5,
- 0x65, 0x5b, 0xf0, 0x3f, 0x1c, 0x1e, 0x96, 0x6b, 0xc0, 0x94, 0xd9, 0xb2, 0xad, 0xca, 0x8e, 0x1f,
- 0xdc, 0x6f, 0x4a, 0x0f, 0x13, 0xfc, 0xaf, 0xda, 0x8e, 0xfd, 0x80, 0xc9, 0x76, 0xcd, 0xc3, 0x84,
- 0x61, 0x8d, 0x09, 0xcc, 0xfa, 0x51, 0x19, 0x13, 0x7d, 0xca, 0x4e, 0x1f, 0xb2, 0x8f, 0x86, 0xde,
- 0x6d, 0xb4, 0x2b, 0x7c, 0x58, 0xac, 0x02, 0x0f, 0x33, 0x9c, 0xf1, 0xb5, 0x38, 0x92, 0xe1, 0x2c,
- 0x86, 0x81, 0x31, 0xdc, 0x2f, 0x12, 0xe2, 0x98, 0xfa, 0x1a, 0xf0, 0x21, 0xd0, 0x19, 0x9d, 0x79,
- 0x38, 0x24, 0x3a, 0x47, 0x63, 0x22, 0x7e, 0x90, 0x85, 0xba, 0x64, 0x16, 0x0f, 0xfc, 0x8f, 0xa3,
- 0x00, 0xe7, 0xce, 0x61, 0xfc, 0x15, 0xa8, 0xb7, 0x42, 0x82, 0x6b, 0xa4, 0x0f, 0x48, 0x10, 0x53,
- 0x19, 0xe3, 0x05, 0xeb, 0x32, 0xe5, 0xa7, 0x0f, 0xe0, 0x2f, 0x28, 0x60, 0x8e, 0xf8, 0x08, 0x74,
- 0x90, 0xe1, 0xd0, 0x8e, 0x72, 0x24, 0x8e, 0xf2, 0xef, 0x92, 0x0e, 0xf0, 0x23, 0xca, 0x21, 0xe4,
- 0x63, 0x24, 0x50, 0xc8, 0x45, 0xf7, 0x91, 0x64, 0x61, 0x2c, 0xdb, 0x28, 0xc5, 0x80, 0x05, 0xa6,
- 0xe2, 0xa3, 0xc1, 0x23, 0xa1, 0x47, 0xae, 0x28, 0x0c, 0xbf, 0xb1, 0x8d, 0xd9, 0x23, 0x57, 0x86,
- 0x89, 0x31, 0xdc, 0x30, 0xf9, 0x38, 0xb6, 0xe0, 0xdc, 0x20, 0xb7, 0xac, 0xbf, 0x32, 0x17, 0x9c,
- 0x68, 0xfb, 0xf4, 0x48, 0x3c, 0x30, 0x0f, 0x11, 0xd8, 0x5e, 0x05, 0x39, 0xc7, 0xbe, 0x4c, 0x97,
- 0xb6, 0x66, 0x75, 0xf2, 0x4c, 0x4c, 0x7e, 0xbb, 0xb3, 0xbb, 0x63, 0xd1, 0x93, 0xa1, 0xb3, 0xba,
- 0xff, 0xaa, 0xde, 0x00, 0x66, 0x2f, 0x9b, 0xde, 0xf6, 0x0a, 0x32, 0xda, 0xc8, 0xd1, 0xed, 0xcb,
- 0xc4, 0x63, 0x6e, 0x52, 0x17, 0x13, 0x45, 0xff, 0x15, 0x09, 0xfb, 0x92, 0x5c, 0xbd, 0x3e, 0x96,
- 0xe3, 0x6f, 0x49, 0x2c, 0xcf, 0x68, 0xae, 0xd2, 0x57, 0x98, 0xf7, 0x2b, 0x60, 0x4a, 0xb7, 0x2f,
- 0x33, 0x25, 0xf9, 0xbf, 0x8e, 0x56, 0x47, 0x12, 0x4f, 0xf4, 0xe8, 0x55, 0xfa, 0x3e, 0xfb, 0x63,
- 0x9f, 0xe8, 0xc5, 0x16, 0x3f, 0x96, 0x93, 0x4b, 0x33, 0xba, 0x7d, 0xb9, 0x8e, 0x3c, 0xda, 0x22,
- 0x60, 0x73, 0x44, 0x4e, 0xd6, 0xa6, 0x4b, 0x09, 0xb2, 0x79, 0x78, 0xf0, 0x9e, 0x74, 0x17, 0x21,
- 0x10, 0x50, 0xc0, 0xe2, 0xb8, 0x77, 0x11, 0x06, 0x72, 0x30, 0x86, 0x18, 0x29, 0x0a, 0x98, 0xd6,
- 0xed, 0xcb, 0x78, 0x68, 0x58, 0x32, 0x3b, 0x9d, 0xd1, 0x8c, 0x90, 0x49, 0x8d, 0x7f, 0x5f, 0x0c,
- 0x3e, 0x17, 0x63, 0x37, 0xfe, 0x07, 0x30, 0x90, 0x3e, 0x0c, 0xcf, 0xa3, 0x8d, 0xc5, 0x1f, 0xa1,
- 0xad, 0xd1, 0xe0, 0x30, 0x6c, 0x83, 0x08, 0xd8, 0x38, 0xb2, 0x06, 0x11, 0xc5, 0xc1, 0x58, 0x76,
- 0x4e, 0xe6, 0xca, 0x64, 0x98, 0x1f, 0x6d, 0x9b, 0x78, 0x4f, 0x32, 0xd7, 0x44, 0x36, 0xec, 0x0a,
- 0x8c, 0x8c, 0x04, 0x8d, 0x04, 0x2e, 0x88, 0x12, 0x3c, 0xa4, 0x8f, 0xc7, 0x87, 0x14, 0x30, 0x43,
- 0x59, 0x78, 0x98, 0x58, 0x01, 0x43, 0x35, 0x2a, 0xbe, 0x06, 0x47, 0xd3, 0xa8, 0x62, 0x38, 0x18,
- 0xcb, 0x2d, 0x9d, 0xd8, 0x8e, 0x1b, 0xe2, 0xf8, 0x78, 0x14, 0x82, 0x43, 0x1b, 0x63, 0x23, 0x3c,
- 0x42, 0x3e, 0x8c, 0x31, 0x76, 0x44, 0xc7, 0xc8, 0x9f, 0x17, 0xb4, 0xa2, 0x51, 0x62, 0x70, 0x88,
- 0xa6, 0x30, 0x42, 0x18, 0x86, 0x6c, 0x0a, 0x47, 0x84, 0xc4, 0x97, 0x15, 0x00, 0x28, 0x03, 0x6b,
- 0xf6, 0x1e, 0xb9, 0x94, 0x67, 0x04, 0xdd, 0x59, 0xaf, 0x5b, 0xbd, 0x32, 0xc0, 0xad, 0x3e, 0x61,
- 0x08, 0x97, 0xa4, 0x2b, 0x81, 0x9c, 0x94, 0x71, 0x25, 0xc7, 0xbe, 0x12, 0x18, 0x5f, 0x7e, 0xfa,
- 0x18, 0x7f, 0x91, 0x5a, 0x73, 0xe1, 0x01, 0xd3, 0x5f, 0x1b, 0x09, 0xca, 0xdc, 0xec, 0x5f, 0x11,
- 0x67, 0xff, 0x87, 0xc0, 0x76, 0x58, 0x1b, 0x71, 0xd0, 0xc1, 0xd1, 0xf4, 0x6d, 0xc4, 0xa3, 0x3b,
- 0x20, 0xfa, 0x33, 0x39, 0x70, 0x9c, 0x75, 0x22, 0x3f, 0x0c, 0x10, 0x27, 0x3c, 0x87, 0x27, 0x74,
- 0x92, 0x03, 0x50, 0x1e, 0xd5, 0x82, 0x54, 0x92, 0xa5, 0x4c, 0x09, 0xf6, 0xc6, 0xb2, 0xba, 0x51,
- 0xd0, 0x1e, 0xec, 0x1a, 0x56, 0x5b, 0x3e, 0xdc, 0xef, 0x00, 0xe0, 0xfd, 0xb5, 0x46, 0x45, 0x5c,
- 0x6b, 0xec, 0xb3, 0x32, 0x99, 0x78, 0xe7, 0x9a, 0x88, 0x8c, 0xb2, 0x3b, 0xf6, 0x9d, 0xeb, 0xe8,
- 0xb2, 0xd3, 0x47, 0xe9, 0x3d, 0x0a, 0xc8, 0xd5, 0x6d, 0xc7, 0x83, 0x0f, 0x25, 0x69, 0x9d, 0x54,
- 0xf2, 0x21, 0x48, 0xfe, 0xbb, 0x5a, 0x16, 0x6e, 0x4d, 0xbe, 0x35, 0xfe, 0xa8, 0xb3, 0xe1, 0x19,
- 0xc4, 0xab, 0x1b, 0x97, 0xcf, 0x5d, 0x9f, 0x9c, 0x34, 0x9e, 0x0e, 0x95, 0x5f, 0x3d, 0xfa, 0x00,
- 0x46, 0x6a, 0xf1, 0x74, 0x22, 0x4b, 0x4e, 0x1f, 0xb7, 0xff, 0x36, 0xc7, 0x7c, 0x5b, 0x97, 0xcc,
- 0x0e, 0x82, 0x0f, 0x51, 0x97, 0x91, 0xaa, 0xb1, 0x83, 0xe4, 0x8f, 0xc4, 0xc4, 0xba, 0xb6, 0x92,
- 0xf8, 0xb2, 0x4a, 0x18, 0x5f, 0x36, 0x69, 0x83, 0xa2, 0x07, 0xd0, 0x29, 0x4b, 0xe3, 0x6e, 0x50,
- 0x31, 0x65, 0x8f, 0x25, 0x4e, 0xe7, 0x89, 0x3a, 0xf2, 0xa8, 0x51, 0x59, 0xf3, 0x6f, 0x60, 0xf9,
- 0xa9, 0x91, 0x44, 0xec, 0x0c, 0x2e, 0x78, 0x51, 0x7a, 0x2e, 0x78, 0x79, 0x3f, 0x0f, 0xce, 0x9a,
- 0x08, 0xce, 0x93, 0xa2, 0x05, 0x24, 0x32, 0x39, 0x12, 0x98, 0xde, 0x1e, 0xc0, 0xb4, 0x2e, 0xc0,
- 0x74, 0xd7, 0x90, 0x5c, 0xa4, 0x0f, 0xd8, 0xe7, 0xb1, 0xa9, 0x42, 0x26, 0xfd, 0x25, 0xab, 0xcd,
- 0x22, 0xac, 0xfe, 0xd3, 0x51, 0x6f, 0xb6, 0x1d, 0x0c, 0xc1, 0x2a, 0xc4, 0x72, 0xce, 0xf7, 0xde,
- 0x56, 0xbf, 0x40, 0xc3, 0xb9, 0xe2, 0x4e, 0x94, 0xec, 0xb4, 0xc9, 0xdf, 0x58, 0x1f, 0xfc, 0x07,
- 0xff, 0x2c, 0xd9, 0xfa, 0x1b, 0x21, 0xd1, 0x23, 0xb8, 0x94, 0x6d, 0xa0, 0x04, 0x2b, 0x73, 0x12,
- 0xdc, 0xfd, 0x68, 0xb8, 0x85, 0x85, 0x91, 0x40, 0x86, 0x74, 0x0b, 0x23, 0x04, 0x8e, 0xd2, 0x2d,
- 0x6c, 0x10, 0x03, 0x63, 0xb8, 0x65, 0x3e, 0xcf, 0x76, 0xe5, 0x89, 0xcf, 0x24, 0xfc, 0x9b, 0x6c,
- 0xea, 0xa3, 0xed, 0xf7, 0x32, 0x89, 0xfc, 0x98, 0x09, 0x5f, 0xf1, 0xc3, 0x6d, 0x12, 0xcf, 0xe4,
- 0x38, 0x72, 0x63, 0x58, 0xff, 0xc9, 0x12, 0x9f, 0xf2, 0x0b, 0x66, 0xdb, 0xdb, 0x1e, 0xd1, 0xc9,
- 0x8c, 0xcb, 0x98, 0x96, 0x7f, 0x5d, 0x31, 0x79, 0x81, 0xff, 0x92, 0x49, 0x14, 0x0a, 0x2a, 0x10,
- 0x09, 0x61, 0x2b, 0x42, 0xc4, 0x09, 0x02, 0x38, 0xc5, 0xd2, 0x1b, 0xa3, 0x46, 0x9f, 0x37, 0xdb,
- 0xc8, 0x7e, 0x18, 0x6a, 0x34, 0xe1, 0x6b, 0x74, 0x1a, 0x1d, 0x47, 0xee, 0x47, 0x54, 0xa3, 0x03,
- 0x91, 0x8c, 0x48, 0xa3, 0x63, 0xe9, 0xa5, 0x2f, 0xe3, 0x97, 0xcf, 0xb0, 0x09, 0xd1, 0xaa, 0x69,
- 0x5d, 0x82, 0xdf, 0x2e, 0xf8, 0x17, 0x25, 0x5f, 0x30, 0xbd, 0x6d, 0x16, 0xd3, 0xe5, 0x77, 0xa5,
- 0xef, 0x38, 0x19, 0x22, 0x6e, 0x8b, 0x18, 0x16, 0x2a, 0x7f, 0x20, 0x2c, 0x54, 0x09, 0xcc, 0x9a,
- 0x96, 0x87, 0x1c, 0xcb, 0xe8, 0x2c, 0x75, 0x8c, 0x2d, 0xf7, 0xcc, 0x44, 0xdf, 0x4b, 0xe8, 0x2a,
- 0x5c, 0x1e, 0x5d, 0xfc, 0x83, 0xbf, 0x4e, 0x72, 0x52, 0xbc, 0x16, 0x3f, 0x22, 0x8a, 0xd5, 0x54,
- 0x74, 0x14, 0xab, 0x20, 0x4a, 0x15, 0x18, 0x1c, 0xe4, 0x5a, 0xd6, 0xc6, 0x4d, 0x18, 0xb6, 0xef,
- 0x56, 0xc9, 0x68, 0x6a, 0x41, 0x08, 0xc7, 0x57, 0x29, 0x89, 0x56, 0xe9, 0xb0, 0x22, 0xcc, 0xf7,
- 0x2a, 0x41, 0x62, 0x0b, 0x95, 0xaf, 0xbc, 0xd2, 0x53, 0xf9, 0xc0, 0xe4, 0xc9, 0x49, 0x98, 0x3c,
- 0xbc, 0x52, 0xe5, 0xe5, 0x94, 0x2a, 0xc9, 0xa2, 0x9f, 0x4c, 0x6d, 0xc7, 0x70, 0xaa, 0x28, 0x0f,
- 0x4e, 0xf8, 0x51, 0x6b, 0xbb, 0x5d, 0x64, 0x38, 0x86, 0xd5, 0x42, 0xf0, 0xa3, 0xd9, 0x51, 0x98,
- 0xbd, 0x4b, 0x60, 0xd2, 0x6c, 0xd9, 0x56, 0xdd, 0x7c, 0xa6, 0x7f, 0x49, 0x5c, 0x7c, 0xb0, 0x74,
- 0x22, 0x91, 0x0a, 0xfb, 0x43, 0x0f, 0xfe, 0x55, 0x2b, 0x60, 0xaa, 0x65, 0x38, 0x6d, 0x1a, 0x4c,
- 0x2f, 0xdf, 0x73, 0x21, 0x53, 0x24, 0xa1, 0xb2, 0xff, 0x8b, 0x1e, 0xfe, 0xad, 0xd6, 0x44, 0x21,
- 0x16, 0x7a, 0xa2, 0x72, 0x44, 0x12, 0x5b, 0x0c, 0x7f, 0x12, 0x64, 0x8e, 0xa5, 0xe3, 0xa0, 0x0e,
- 0xb9, 0x13, 0x9e, 0xf6, 0x10, 0x53, 0x7a, 0x98, 0x90, 0x74, 0x9a, 0x4f, 0x8a, 0x3a, 0x80, 0xc6,
- 0xb8, 0xa7, 0xf9, 0x52, 0x5c, 0xa4, 0xaf, 0x99, 0xef, 0x2c, 0x80, 0x59, 0xda, 0xab, 0x31, 0x71,
- 0xc2, 0x5f, 0x20, 0x57, 0x3a, 0x7b, 0xf7, 0xa1, 0x7d, 0x58, 0x3f, 0xfc, 0x98, 0x5c, 0x04, 0xca,
- 0xa5, 0x20, 0x70, 0x20, 0x7e, 0x4c, 0xba, 0xff, 0xee, 0xf3, 0x35, 0x4f, 0x79, 0x1a, 0xf7, 0xfe,
- 0x7b, 0x7c, 0xf1, 0xe9, 0xe3, 0xf3, 0xcb, 0x0a, 0x50, 0x4a, 0xed, 0x36, 0x6c, 0x1d, 0x1e, 0x8a,
- 0xeb, 0xc0, 0xb4, 0xdf, 0x66, 0xc2, 0x58, 0x8e, 0x7c, 0x52, 0xd2, 0xc5, 0xcc, 0x40, 0x36, 0xa5,
- 0xf6, 0xd8, 0x77, 0x07, 0x62, 0xca, 0x4e, 0x1f, 0x94, 0x5f, 0x9b, 0x60, 0x8d, 0x66, 0xc1, 0xb6,
- 0x2f, 0x91, 0x23, 0x2f, 0x0f, 0x29, 0x20, 0xbf, 0x84, 0xbc, 0xd6, 0xf6, 0x88, 0xda, 0xcc, 0xae,
- 0xd3, 0xf1, 0xdb, 0xcc, 0x81, 0xfb, 0xe9, 0x07, 0xdb, 0xb0, 0x3e, 0x5b, 0xf3, 0x84, 0xa5, 0x71,
- 0x47, 0x69, 0x8e, 0x2d, 0x3d, 0x7d, 0x70, 0xfe, 0x45, 0x01, 0x73, 0xc1, 0x0a, 0x17, 0xc5, 0xe4,
- 0x97, 0x1e, 0x76, 0xeb, 0x96, 0xf0, 0xb3, 0xc9, 0x42, 0x9d, 0x05, 0x32, 0x15, 0x6b, 0x96, 0xf2,
- 0xc2, 0x62, 0x82, 0x20, 0x68, 0x72, 0x0c, 0x8e, 0x61, 0x06, 0xaf, 0x80, 0x49, 0xc2, 0xd0, 0xa2,
- 0xb9, 0x47, 0x5c, 0x00, 0x85, 0x85, 0xc6, 0x67, 0x8d, 0x64, 0xa1, 0xf1, 0x2e, 0x71, 0xa1, 0x51,
- 0x32, 0x72, 0xb1, 0xbf, 0xce, 0x98, 0xd0, 0x27, 0x06, 0xff, 0x3f, 0xf2, 0x65, 0xc6, 0x04, 0x3e,
- 0x31, 0x03, 0xca, 0x4f, 0x1f, 0xd1, 0x57, 0xfd, 0x3b, 0xd6, 0xd9, 0xfa, 0x1b, 0xa3, 0xf0, 0xbf,
- 0x9d, 0x00, 0xb9, 0xf3, 0xf8, 0xe1, 0x7f, 0x86, 0x37, 0x5b, 0xbd, 0x74, 0x04, 0x41, 0x16, 0x9e,
- 0x0a, 0x72, 0x98, 0x3e, 0x9b, 0xb6, 0xdc, 0x2c, 0xb7, 0x4b, 0x8b, 0x19, 0xd1, 0xc9, 0x7f, 0xea,
- 0x69, 0x50, 0x70, 0xed, 0x5d, 0xa7, 0x85, 0xcd, 0x67, 0xac, 0x31, 0xec, 0x2d, 0x69, 0x70, 0x51,
- 0x81, 0xf4, 0xfc, 0xe8, 0x5c, 0x3f, 0xb9, 0x8b, 0x8e, 0x14, 0xe1, 0xa2, 0xa3, 0x04, 0xfb, 0x07,
- 0x12, 0xbc, 0xa5, 0xaf, 0x11, 0x7f, 0x43, 0xee, 0xfc, 0x6b, 0x8f, 0x0a, 0xf6, 0x08, 0xb1, 0x1c,
- 0x56, 0x1d, 0x92, 0x3a, 0x6e, 0x8b, 0xa2, 0x0d, 0xe2, 0xb9, 0x8f, 0xd5, 0x71, 0x5b, 0x82, 0x87,
- 0xb1, 0x9c, 0x36, 0x2f, 0x30, 0x67, 0xd3, 0xfb, 0x47, 0x89, 0x6e, 0x4e, 0x50, 0xfa, 0x43, 0xa1,
- 0x33, 0x42, 0x27, 0xd4, 0xa1, 0xd1, 0x39, 0x22, 0x37, 0xd4, 0x3f, 0x54, 0x48, 0x44, 0x4b, 0xdf,
- 0xc8, 0x91, 0xbf, 0xb0, 0x28, 0x31, 0x44, 0x78, 0x0c, 0x16, 0xe2, 0x39, 0xcf, 0x0e, 0x1f, 0xe2,
- 0x5b, 0x14, 0x1d, 0xc7, 0xff, 0xb8, 0x43, 0x7c, 0xcb, 0x32, 0x92, 0x3e, 0x90, 0xaf, 0xa3, 0x17,
- 0x84, 0x95, 0x5a, 0x9e, 0xb9, 0x37, 0xe2, 0x96, 0x26, 0x0e, 0x2f, 0x09, 0xa3, 0xfa, 0x1e, 0x90,
- 0x10, 0xe5, 0x70, 0xdc, 0x51, 0x7d, 0xe5, 0xd8, 0x48, 0x1f, 0xa6, 0xaf, 0x15, 0xb0, 0xf4, 0xd8,
- 0xda, 0xcc, 0x1b, 0xd8, 0x6a, 0x00, 0x3a, 0x3c, 0x5a, 0xe7, 0xc0, 0x0c, 0x37, 0xf5, 0xf7, 0x2f,
- 0x9e, 0x11, 0xd2, 0x92, 0x1e, 0x58, 0x0f, 0x44, 0x36, 0xf2, 0x85, 0x81, 0x04, 0x0b, 0xbe, 0x32,
- 0x4c, 0x8c, 0xe5, 0x5e, 0x37, 0x7f, 0x0c, 0x1b, 0x13, 0x56, 0xbf, 0xcb, 0x63, 0x55, 0x13, 0xb1,
- 0xba, 0x43, 0x46, 0x4c, 0x72, 0x63, 0x9a, 0xd4, 0xbc, 0xf1, 0x1d, 0x01, 0x5c, 0xba, 0x00, 0xd7,
- 0x53, 0x87, 0xe6, 0x23, 0x7d, 0xc4, 0x7e, 0x9d, 0x76, 0x87, 0x75, 0x6a, 0xb2, 0x8f, 0xa6, 0x3b,
- 0x64, 0xb3, 0x01, 0x45, 0x98, 0x0d, 0x24, 0xf4, 0x9b, 0x0f, 0xdd, 0x41, 0x7d, 0xe6, 0x06, 0x41,
- 0x94, 0x1b, 0xb1, 0xdf, 0xfc, 0x40, 0x0e, 0xd2, 0x07, 0xe7, 0x1f, 0x15, 0x00, 0x96, 0x1d, 0x7b,
- 0xb7, 0x5b, 0x73, 0xda, 0xc8, 0x81, 0x7f, 0x17, 0x4e, 0x00, 0x5e, 0x3c, 0x82, 0x09, 0xc0, 0x3a,
- 0x00, 0x5b, 0x01, 0x71, 0xa6, 0xe1, 0x8f, 0x93, 0x33, 0xf7, 0x43, 0xa6, 0x74, 0x8e, 0x86, 0x78,
- 0x75, 0xec, 0xd3, 0x45, 0x8c, 0xe3, 0xfa, 0xac, 0x90, 0xdc, 0x28, 0x27, 0x00, 0xef, 0x0a, 0xb0,
- 0x6e, 0x08, 0x58, 0xdf, 0x7b, 0x08, 0x4e, 0xd2, 0xc7, 0xfc, 0x9f, 0x26, 0xc0, 0x34, 0xdd, 0xae,
- 0xa3, 0x32, 0xfd, 0x87, 0x10, 0xf4, 0x5f, 0x1b, 0x01, 0xe8, 0x1b, 0x60, 0xc6, 0x0e, 0xa9, 0xd3,
- 0x3e, 0x95, 0x5f, 0x80, 0x89, 0x85, 0x9d, 0xe3, 0x4b, 0x17, 0xc8, 0xc0, 0x0f, 0xf3, 0xc8, 0xeb,
- 0x22, 0xf2, 0x77, 0xc5, 0xc8, 0x9b, 0xa3, 0x38, 0x4a, 0xe8, 0xdf, 0x1d, 0x40, 0xbf, 0x21, 0x40,
- 0x5f, 0x3a, 0x0c, 0x2b, 0x63, 0x08, 0x9b, 0xaf, 0x80, 0x1c, 0x39, 0xe5, 0xf6, 0x9b, 0x29, 0xce,
- 0xef, 0xcf, 0x80, 0x09, 0xd2, 0x64, 0x83, 0x79, 0x87, 0xff, 0x8a, 0xbf, 0x18, 0x9b, 0x1e, 0x72,
- 0x02, 0x8f, 0x05, 0xff, 0x15, 0xf3, 0xe0, 0x7b, 0x17, 0xbb, 0x67, 0x0a, 0x74, 0x23, 0x32, 0x48,
- 0x18, 0x7a, 0x52, 0xc2, 0x4b, 0x7c, 0x64, 0xe7, 0xde, 0x86, 0x99, 0x94, 0x0c, 0x60, 0x24, 0x7d,
- 0xe0, 0xff, 0x2a, 0x07, 0xce, 0xd0, 0x55, 0xa5, 0x25, 0xc7, 0xde, 0xe9, 0xb9, 0xa5, 0xca, 0x3c,
- 0xbc, 0x2e, 0xdc, 0x08, 0xe6, 0x3c, 0xc1, 0xaf, 0x9a, 0xe9, 0x44, 0x4f, 0x2a, 0xfc, 0x73, 0xde,
- 0xa7, 0xe2, 0x19, 0x22, 0x92, 0x0b, 0x31, 0x02, 0x8c, 0xe2, 0x3d, 0xf1, 0x42, 0xbd, 0x24, 0xa3,
- 0xdc, 0x22, 0x95, 0x32, 0xd4, 0x9a, 0x65, 0xa0, 0x53, 0x79, 0x19, 0x9d, 0xfa, 0x40, 0xa0, 0x53,
- 0x3f, 0x29, 0xe8, 0xd4, 0xf2, 0xe1, 0x45, 0x92, 0xbe, 0x6e, 0xbd, 0x32, 0xd8, 0x18, 0x0a, 0xb6,
- 0xed, 0x76, 0x52, 0xd8, 0xac, 0xe3, 0xfd, 0x91, 0x72, 0x82, 0x3f, 0x92, 0x78, 0xaf, 0x44, 0x82,
- 0x99, 0xb0, 0xc8, 0x75, 0x84, 0x2e, 0xcd, 0x81, 0xac, 0xe9, 0x73, 0x97, 0x35, 0xdb, 0x43, 0xcd,
- 0x75, 0x63, 0x0b, 0x1a, 0xc3, 0xda, 0xd2, 0x1c, 0x28, 0x2c, 0x99, 0x1d, 0x0f, 0x39, 0xf0, 0x8b,
- 0x6c, 0xa6, 0xfb, 0xca, 0x14, 0x07, 0x80, 0x45, 0x50, 0xd8, 0x24, 0xa5, 0x31, 0x93, 0xf9, 0x16,
- 0xb9, 0xd6, 0x43, 0x39, 0xd4, 0xd9, 0xbf, 0x49, 0xa3, 0xec, 0xf5, 0x90, 0x19, 0xd9, 0x14, 0x39,
- 0x41, 0x94, 0xbd, 0xc1, 0x2c, 0x8c, 0xe5, 0x82, 0xa9, 0x82, 0x8e, 0x76, 0xf0, 0x18, 0x7f, 0x29,
- 0x3d, 0x84, 0x8b, 0x40, 0x31, 0xdb, 0x2e, 0xe9, 0x1c, 0xa7, 0x74, 0xfc, 0x98, 0xd4, 0x57, 0xa8,
- 0x57, 0x54, 0x94, 0xe5, 0x71, 0xfb, 0x0a, 0x49, 0x71, 0x91, 0x3e, 0x66, 0xdf, 0x23, 0x8e, 0xa2,
- 0xdd, 0x8e, 0xd1, 0x42, 0x98, 0xfb, 0xd4, 0x50, 0xa3, 0x3d, 0x59, 0xce, 0xef, 0xc9, 0xb8, 0x76,
- 0x9a, 0x3f, 0x44, 0x3b, 0x1d, 0x76, 0x19, 0x32, 0x90, 0x39, 0xa9, 0xf8, 0x91, 0x2d, 0x43, 0xc6,
- 0xb2, 0x31, 0x86, 0xeb, 0x43, 0xfd, 0x03, 0xb1, 0x63, 0x6d, 0xad, 0xc3, 0x6e, 0xd2, 0x30, 0x61,
- 0x8d, 0xec, 0xf0, 0xeb, 0x30, 0x9b, 0x34, 0xd1, 0x3c, 0x8c, 0x01, 0xad, 0x39, 0x86, 0xd6, 0x67,
- 0xd8, 0x30, 0x9a, 0xf2, 0x3e, 0xa9, 0x6b, 0x3b, 0x5e, 0xb2, 0x7d, 0x52, 0xcc, 0x9d, 0x4e, 0xfe,
- 0x4b, 0x7a, 0xf0, 0x4a, 0x3c, 0x1f, 0x3d, 0xaa, 0xe1, 0x33, 0xc1, 0xc1, 0xab, 0x41, 0x0c, 0xa4,
- 0x0f, 0xef, 0x5b, 0x8f, 0x68, 0xf0, 0x1c, 0xb6, 0x39, 0xb2, 0x36, 0x30, 0xb2, 0xa1, 0x73, 0x98,
- 0xe6, 0x18, 0xcd, 0x43, 0xfa, 0x78, 0x7d, 0x8b, 0x1b, 0x38, 0xdf, 0x34, 0xc6, 0x81, 0xd3, 0x6f,
- 0x99, 0xf9, 0x21, 0x5b, 0xe6, 0xb0, 0xfb, 0x3f, 0x4c, 0xd6, 0xa3, 0x1b, 0x30, 0x87, 0xd9, 0xff,
- 0x89, 0x61, 0x22, 0x7d, 0xc4, 0xdf, 0xac, 0x80, 0x7c, 0x7d, 0xfc, 0xe3, 0xe5, 0xb0, 0x73, 0x11,
- 0x22, 0xab, 0xfa, 0xc8, 0x86, 0xcb, 0x61, 0xe6, 0x22, 0x91, 0x2c, 0x8c, 0x21, 0x80, 0xfe, 0x71,
- 0x30, 0x43, 0x96, 0x44, 0xfc, 0x6d, 0xd6, 0x6f, 0xb1, 0x51, 0xf3, 0xf5, 0x29, 0xb6, 0xd5, 0xa7,
- 0x81, 0x49, 0x7f, 0xff, 0x8e, 0x8d, 0x9c, 0xf3, 0x72, 0xed, 0xd3, 0xe7, 0x52, 0x0f, 0xfe, 0x3f,
- 0x94, 0x33, 0xc4, 0xc8, 0xf7, 0x6a, 0x87, 0x75, 0x86, 0x38, 0xd2, 0xfd, 0xda, 0x3f, 0x0b, 0x47,
- 0xd4, 0xff, 0x90, 0x1e, 0xe6, 0xbd, 0xfb, 0xb8, 0xb9, 0x3e, 0xfb, 0xb8, 0x1f, 0xe5, 0xb1, 0xac,
- 0x8b, 0x58, 0xde, 0x2d, 0x2b, 0xc2, 0x11, 0x8e, 0xb5, 0xef, 0x09, 0xe0, 0x3c, 0x2f, 0xc0, 0xb9,
- 0x70, 0x28, 0x5e, 0xc6, 0x70, 0xf0, 0x31, 0x17, 0x8e, 0xb9, 0x1f, 0x4b, 0xb1, 0x1d, 0xf7, 0x9c,
- 0xaa, 0xc8, 0x1d, 0x38, 0x55, 0x21, 0xb4, 0xf4, 0xfc, 0x21, 0x5b, 0xfa, 0xc7, 0x78, 0xed, 0x68,
- 0x88, 0xda, 0xf1, 0x54, 0x79, 0x44, 0x46, 0x37, 0x32, 0xbf, 0x37, 0x50, 0x8f, 0x0b, 0x82, 0x7a,
- 0x94, 0x0f, 0xc7, 0x4c, 0xfa, 0xfa, 0xf1, 0x47, 0xfe, 0x84, 0xf6, 0x88, 0xdb, 0xfb, 0xb0, 0x5b,
- 0xc5, 0x82, 0x10, 0x47, 0x36, 0x72, 0x0f, 0xb3, 0x55, 0x3c, 0x88, 0x93, 0x31, 0xc4, 0x54, 0x9b,
- 0x05, 0xd3, 0x84, 0xa7, 0x0b, 0x66, 0x7b, 0x0b, 0x79, 0xf0, 0x55, 0xd4, 0x47, 0xd1, 0x8f, 0x60,
- 0x39, 0xa2, 0x30, 0x43, 0x51, 0xe7, 0x5d, 0x93, 0x7a, 0x74, 0x50, 0x26, 0xe7, 0x39, 0x06, 0xc7,
- 0x1d, 0x09, 0x71, 0x20, 0x07, 0xe9, 0x43, 0xf6, 0x61, 0xea, 0x6e, 0xb3, 0x6a, 0xec, 0xdb, 0xbb,
- 0x1e, 0x7c, 0xce, 0x08, 0x3a, 0xe8, 0x05, 0x50, 0xe8, 0x10, 0x6a, 0xec, 0x58, 0x46, 0xfc, 0x74,
- 0x87, 0x89, 0x80, 0x96, 0xaf, 0xb3, 0x3f, 0x93, 0x9e, 0xcd, 0x08, 0xe5, 0x48, 0xe9, 0x8c, 0xfb,
- 0x6c, 0xc6, 0x80, 0xf2, 0xc7, 0x72, 0x57, 0xce, 0x24, 0x2e, 0xdd, 0xdc, 0x31, 0xbd, 0x11, 0x45,
- 0x70, 0xe8, 0x60, 0x5a, 0x7e, 0x04, 0x07, 0xf2, 0x92, 0xf4, 0xc4, 0x28, 0x27, 0x15, 0xfc, 0xfb,
- 0xb8, 0x4f, 0x8c, 0xc6, 0x17, 0x9f, 0x3e, 0x26, 0xff, 0x99, 0xb6, 0xac, 0xf3, 0xd4, 0xf9, 0x36,
- 0x45, 0xbf, 0xde, 0xa1, 0x1b, 0x0b, 0x65, 0xed, 0xe8, 0x1a, 0x4b, 0xdf, 0xf2, 0xd3, 0x07, 0xe6,
- 0x37, 0x6e, 0x00, 0xf9, 0x45, 0x74, 0x71, 0x77, 0x0b, 0xde, 0x05, 0x26, 0x1b, 0x0e, 0x42, 0x15,
- 0x6b, 0xd3, 0xc6, 0xd2, 0xf5, 0xf0, 0xb3, 0x0f, 0x09, 0x7b, 0xc3, 0x78, 0x6c, 0x23, 0xa3, 0x1d,
- 0x9e, 0x3f, 0xf3, 0x5f, 0xe1, 0x4b, 0xb3, 0x20, 0x57, 0xf7, 0x0c, 0x0f, 0x4e, 0x05, 0xd8, 0xc2,
- 0xe7, 0xf0, 0x58, 0xdc, 0x25, 0x62, 0x71, 0xa3, 0x20, 0x0b, 0xc2, 0xc1, 0x3c, 0xfe, 0x3f, 0x02,
- 0x00, 0x08, 0x26, 0x1f, 0x70, 0x6d, 0x0b, 0xe7, 0xf0, 0x8f, 0x40, 0xfa, 0xef, 0xf0, 0x15, 0x81,
- 0xb8, 0xef, 0x11, 0xc4, 0xfd, 0x18, 0xb9, 0x22, 0xc6, 0xb0, 0xd2, 0x96, 0x05, 0x53, 0x58, 0xb4,
- 0x2b, 0xc8, 0x68, 0xbb, 0xf0, 0x91, 0xa1, 0xf2, 0x47, 0x88, 0x19, 0x7e, 0x50, 0x3a, 0xa8, 0x26,
- 0xad, 0x55, 0x40, 0x3c, 0xda, 0xa3, 0xc3, 0xdf, 0xfc, 0xcf, 0x8a, 0xc1, 0x48, 0x6e, 0x05, 0x39,
- 0xd3, 0xda, 0xb4, 0x99, 0x7f, 0xe1, 0xd5, 0x11, 0xb4, 0xb1, 0x4e, 0xe8, 0x24, 0xa3, 0x64, 0xc4,
- 0xcd, 0x78, 0xb6, 0xc6, 0x72, 0x79, 0x5d, 0x0e, 0x97, 0x0e, 0xff, 0xcf, 0x81, 0xc2, 0x56, 0x55,
- 0x90, 0xeb, 0x1a, 0xde, 0x36, 0x2b, 0x9a, 0x3c, 0x63, 0x1b, 0x79, 0xd7, 0x32, 0x2c, 0xdb, 0xda,
- 0xdf, 0x31, 0x9f, 0x19, 0xdc, 0x91, 0x2b, 0xa4, 0x61, 0xce, 0xb7, 0x90, 0x85, 0x1c, 0xc3, 0x43,
- 0xf5, 0xbd, 0x2d, 0x32, 0xc7, 0x9a, 0xd4, 0xf9, 0xa4, 0xc4, 0xfa, 0x8f, 0x39, 0x8e, 0xd6, 0xff,
- 0x4d, 0xb3, 0x83, 0x48, 0xa4, 0x26, 0xa6, 0xff, 0xfe, 0x7b, 0x22, 0xfd, 0xef, 0x53, 0x44, 0xfa,
- 0x68, 0x7c, 0x3f, 0x0b, 0x66, 0xea, 0x58, 0xe1, 0xea, 0xbb, 0x3b, 0x3b, 0x86, 0xb3, 0x0f, 0xaf,
- 0x0f, 0x51, 0xe1, 0x54, 0x33, 0x23, 0xfa, 0xa5, 0xfc, 0xa1, 0xf4, 0xf5, 0xd0, 0xac, 0x69, 0x73,
- 0x25, 0x24, 0x6e, 0x07, 0x8f, 0x07, 0x79, 0xac, 0xde, 0xbe, 0xc7, 0x65, 0x6c, 0x43, 0xa0, 0x39,
- 0x25, 0x23, 0x5a, 0x0d, 0xe4, 0x6d, 0x0c, 0xd1, 0x34, 0xb2, 0xe0, 0x78, 0xdd, 0x33, 0x5a, 0x97,
- 0x96, 0x6d, 0xc7, 0xde, 0xf5, 0x4c, 0x0b, 0xb9, 0xf0, 0x11, 0x21, 0x02, 0xbe, 0xfe, 0x67, 0x42,
- 0xfd, 0x87, 0xff, 0x9a, 0x91, 0x1d, 0x45, 0x83, 0x6e, 0x95, 0x27, 0x1f, 0x11, 0xa0, 0x4a, 0x6e,
- 0x5c, 0x94, 0xa1, 0x98, 0xbe, 0xd0, 0xde, 0xa4, 0x80, 0xa2, 0xf6, 0x60, 0xd7, 0x76, 0xbc, 0x55,
- 0xbb, 0x65, 0x74, 0x5c, 0xcf, 0x76, 0x10, 0xac, 0xc5, 0x4a, 0x0d, 0xf7, 0x30, 0x6d, 0xbb, 0x15,
- 0x0e, 0x8e, 0xec, 0x8d, 0x57, 0x3b, 0x45, 0xd4, 0xf1, 0x0f, 0x4b, 0xef, 0x32, 0x52, 0xa9, 0xf4,
- 0x72, 0x14, 0xa1, 0xe7, 0xfd, 0xba, 0xb4, 0x64, 0x87, 0x25, 0xe4, 0x76, 0x1e, 0xa5, 0x98, 0x1a,
- 0xc3, 0x52, 0x79, 0x16, 0xcc, 0xd6, 0x77, 0x2f, 0x06, 0x44, 0x5c, 0xde, 0x08, 0x79, 0xb5, 0x74,
- 0x94, 0x0a, 0xa6, 0x78, 0x3c, 0xa1, 0x08, 0xf9, 0xde, 0x00, 0x66, 0x5d, 0x3e, 0x1b, 0xc3, 0x5b,
- 0x4c, 0x94, 0x8c, 0x4e, 0x31, 0xb8, 0xd4, 0xf4, 0x05, 0xf8, 0xde, 0x2c, 0x98, 0xad, 0x75, 0x91,
- 0x85, 0xda, 0xd4, 0x0b, 0x52, 0x10, 0xe0, 0x4b, 0x13, 0x0a, 0x50, 0x20, 0x14, 0x21, 0xc0, 0xd0,
- 0x63, 0x79, 0xd1, 0x17, 0x5e, 0x98, 0x90, 0x48, 0x70, 0x71, 0xa5, 0xa5, 0x2f, 0xb8, 0x2f, 0x64,
- 0xc1, 0xb4, 0xbe, 0x6b, 0xad, 0x3b, 0x36, 0x1e, 0x8d, 0x1d, 0x78, 0x77, 0xd8, 0x41, 0xdc, 0x02,
- 0x4e, 0xb4, 0x77, 0x1d, 0xb2, 0xfe, 0x54, 0xb1, 0xea, 0xa8, 0x65, 0x5b, 0x6d, 0x97, 0xd4, 0x23,
- 0xaf, 0x1f, 0xfc, 0x70, 0x67, 0xee, 0xa1, 0xaf, 0x2b, 0x19, 0xf8, 0x0b, 0xd2, 0xa1, 0x6e, 0x68,
- 0xe5, 0xb9, 0xa2, 0xe5, 0x7b, 0x02, 0xc9, 0x80, 0x36, 0x83, 0x4a, 0x48, 0x5f, 0xb8, 0x9f, 0xc9,
- 0x02, 0xb5, 0xd4, 0x6a, 0xd9, 0xbb, 0x96, 0x57, 0x47, 0x1d, 0xd4, 0xf2, 0x1a, 0x8e, 0xd1, 0x42,
- 0xbc, 0xfd, 0x5c, 0x04, 0x4a, 0xdb, 0x74, 0x58, 0x1f, 0x8c, 0x1f, 0x99, 0x1c, 0x5f, 0x2a, 0xbd,
- 0xe3, 0x48, 0x6b, 0x79, 0xb0, 0x94, 0x04, 0xe2, 0x94, 0xdb, 0x57, 0x94, 0x2c, 0x68, 0x0c, 0xb7,
- 0xb9, 0x64, 0x41, 0x6e, 0xdd, 0xb4, 0xb6, 0xf8, 0x98, 0x40, 0x27, 0xb1, 0xf5, 0xd3, 0x46, 0x0f,
- 0x32, 0xfd, 0xa4, 0x2f, 0xea, 0x6d, 0xe0, 0xa4, 0xb5, 0xbb, 0x73, 0x11, 0x39, 0xb5, 0x4d, 0x32,
- 0x36, 0xb8, 0x0d, 0xbb, 0x8e, 0x2c, 0x6a, 0x3a, 0xe5, 0xf5, 0xbe, 0xdf, 0x44, 0xc3, 0x41, 0xc2,
- 0xe4, 0xc5, 0x9c, 0x44, 0xc8, 0x3a, 0x60, 0x2a, 0xcb, 0x31, 0x95, 0xc8, 0xd8, 0xed, 0x43, 0x3c,
- 0x7d, 0xf9, 0xfe, 0x71, 0x1e, 0x9c, 0x2a, 0x59, 0xfb, 0x64, 0x24, 0xa4, 0xdd, 0x52, 0x79, 0xdb,
- 0xb0, 0xb6, 0x10, 0xe9, 0xd6, 0x02, 0x89, 0xf3, 0x01, 0xe2, 0x33, 0x62, 0x80, 0x78, 0x55, 0x07,
- 0x13, 0xb6, 0xd3, 0x46, 0xce, 0xc2, 0x3e, 0xe1, 0xa9, 0x77, 0xb1, 0x94, 0x69, 0x52, 0xbf, 0x22,
- 0xe6, 0x19, 0xf9, 0xf9, 0x1a, 0xfd, 0x5f, 0xf7, 0x09, 0x9d, 0xbb, 0x05, 0x4c, 0xb0, 0x34, 0x75,
- 0x06, 0x4c, 0xd6, 0xf4, 0x45, 0x4d, 0x6f, 0x56, 0x16, 0x8b, 0xc7, 0xd4, 0x2b, 0xc0, 0xf1, 0x4a,
- 0x43, 0xd3, 0x4b, 0x8d, 0x4a, 0xad, 0xda, 0x24, 0xe9, 0xc5, 0x0c, 0x7c, 0x5e, 0x4e, 0xd6, 0x1f,
- 0x35, 0x9e, 0x99, 0x7e, 0xb0, 0xea, 0x60, 0xa2, 0x45, 0x33, 0x90, 0x8e, 0x7f, 0x3a, 0x51, 0xed,
- 0x18, 0x41, 0x9a, 0xa0, 0xfb, 0x84, 0xd4, 0xb3, 0x00, 0x5c, 0x76, 0x6c, 0x6b, 0x2b, 0x3c, 0x2b,
- 0x37, 0xa9, 0x73, 0x29, 0xf0, 0x39, 0x19, 0x50, 0xa0, 0xff, 0x90, 0x0b, 0x31, 0xc8, 0x53, 0x28,
- 0x78, 0xff, 0x1d, 0xdb, 0x69, 0x44, 0x5e, 0xe1, 0xf4, 0x80, 0xbd, 0x62, 0x5d, 0xa4, 0x32, 0xa0,
- 0xf6, 0x1b, 0xab, 0xca, 0xad, 0xa0, 0x40, 0xff, 0x65, 0x7b, 0xe5, 0xd1, 0x41, 0x31, 0x69, 0x36,
- 0x49, 0xef, 0x5a, 0x79, 0x99, 0xa6, 0xaf, 0xcd, 0x5f, 0xcd, 0x82, 0x89, 0x35, 0xe4, 0x39, 0x66,
- 0xcb, 0x85, 0x9f, 0xc7, 0x66, 0x16, 0xf2, 0xd6, 0x0d, 0xc7, 0xd8, 0x41, 0x1e, 0x72, 0x5c, 0xa8,
- 0x09, 0x0a, 0xdd, 0xed, 0x18, 0xde, 0xa6, 0xed, 0xec, 0xf8, 0x72, 0xf5, 0xdf, 0xb1, 0x5c, 0xf7,
- 0x90, 0xe3, 0x86, 0x6c, 0xf9, 0xaf, 0xac, 0xbb, 0x96, 0x9f, 0x6d, 0x30, 0x56, 0xe6, 0x05, 0x36,
- 0x0e, 0x35, 0xdb, 0x90, 0xa1, 0x38, 0x96, 0xfb, 0x77, 0x94, 0x55, 0x7b, 0x0b, 0xbe, 0x4c, 0x01,
- 0x39, 0xd2, 0x8f, 0xbe, 0x39, 0x23, 0x4c, 0x91, 0x77, 0x90, 0xeb, 0x1a, 0x5b, 0xc8, 0x9f, 0x22,
- 0xb3, 0x57, 0xf5, 0x0e, 0x90, 0xef, 0xa0, 0x3d, 0xd4, 0x61, 0xfd, 0xc4, 0xf5, 0x42, 0xcd, 0x56,
- 0xed, 0xad, 0x79, 0x4c, 0x2b, 0xe8, 0x14, 0x56, 0x71, 0x56, 0x9d, 0xfe, 0x71, 0xee, 0x69, 0x20,
- 0x4f, 0xde, 0xd5, 0x29, 0x90, 0x5f, 0xd4, 0x16, 0x36, 0x96, 0x8b, 0xc7, 0xf0, 0xa3, 0xcf, 0xdf,
- 0x14, 0xc8, 0x2f, 0x95, 0x1a, 0xa5, 0xd5, 0x62, 0x16, 0xd7, 0xa3, 0x52, 0x5d, 0xaa, 0x15, 0x15,
- 0x9c, 0xb8, 0x5e, 0xaa, 0x56, 0xca, 0xc5, 0x9c, 0x3a, 0x0d, 0x26, 0x2e, 0x94, 0xf4, 0x6a, 0xa5,
- 0xba, 0x5c, 0xcc, 0xc3, 0xaf, 0xf1, 0xf8, 0xdd, 0x29, 0xe2, 0x77, 0x43, 0x14, 0x4f, 0xfd, 0x20,
- 0xfb, 0x8d, 0x00, 0xb2, 0xbb, 0x05, 0xc8, 0x7e, 0x4c, 0x86, 0xc8, 0x18, 0x50, 0xca, 0x82, 0x89,
- 0x75, 0xc7, 0x6e, 0x21, 0xd7, 0x85, 0xbf, 0x9a, 0x05, 0x85, 0xb2, 0x61, 0xb5, 0x50, 0x07, 0x5e,
- 0x15, 0x42, 0x45, 0x7d, 0xdd, 0x32, 0xc1, 0x71, 0x97, 0x7f, 0xe4, 0x25, 0x73, 0xaf, 0x28, 0x99,
- 0x9b, 0x85, 0x4a, 0x31, 0xba, 0xf3, 0x94, 0x66, 0x84, 0x7c, 0x5e, 0x13, 0xc8, 0xa7, 0x2c, 0xc8,
- 0xe7, 0x56, 0x79, 0x52, 0xe9, 0x4b, 0xe9, 0xbb, 0x19, 0x70, 0x72, 0x19, 0x59, 0xc8, 0x31, 0x5b,
- 0x94, 0x79, 0xbf, 0xfe, 0x77, 0x8b, 0xf5, 0x7f, 0xb4, 0xc0, 0x74, 0xbf, 0x3f, 0xc4, 0xca, 0xbf,
- 0x32, 0xa8, 0xfc, 0xbd, 0x42, 0xe5, 0x6f, 0x91, 0xa4, 0x33, 0x86, 0xcb, 0x76, 0xa7, 0xc0, 0x4c,
- 0xd5, 0xf6, 0xcc, 0x4d, 0xb3, 0x45, 0x1d, 0x23, 0x7e, 0x5d, 0x01, 0xb9, 0x55, 0xd3, 0xf5, 0x60,
- 0x29, 0x54, 0x91, 0xeb, 0xc0, 0xb4, 0x69, 0xb5, 0x3a, 0xbb, 0x6d, 0xa4, 0x23, 0x83, 0xea, 0xca,
- 0xa4, 0xce, 0x27, 0x85, 0xfb, 0x4d, 0x98, 0x2d, 0xc5, 0xdf, 0x6f, 0xfa, 0xa4, 0xf4, 0xdc, 0x80,
- 0x67, 0x81, 0x44, 0x49, 0x8b, 0x18, 0x89, 0x4b, 0x60, 0xd6, 0xe2, 0xb2, 0xfa, 0xe3, 0x71, 0x6f,
- 0x94, 0x6b, 0x9e, 0x9c, 0x2e, 0xfe, 0x01, 0xdf, 0x2f, 0x35, 0x95, 0x18, 0xc4, 0x50, 0x32, 0x64,
- 0x96, 0x92, 0x23, 0xa3, 0xaa, 0x60, 0xae, 0x52, 0x6d, 0x68, 0x7a, 0xb5, 0xb4, 0xca, 0xb2, 0x28,
- 0xf0, 0xfb, 0x59, 0x90, 0xd7, 0x51, 0xb7, 0xb3, 0xcf, 0x87, 0x31, 0x65, 0xde, 0x8b, 0x99, 0xc0,
- 0x7b, 0x51, 0x5d, 0x02, 0xc0, 0x68, 0xe1, 0x82, 0xc9, 0x7d, 0x2d, 0xd9, 0xbe, 0xc1, 0xf5, 0x84,
- 0x0a, 0x96, 0x82, 0xdc, 0x3a, 0xf7, 0x27, 0x7c, 0x81, 0xf4, 0x72, 0xa6, 0x40, 0x8d, 0x70, 0x18,
- 0xd1, 0x1d, 0x7c, 0x40, 0x6a, 0x05, 0x72, 0x20, 0xb9, 0xa3, 0x11, 0xff, 0x97, 0xb2, 0x20, 0xd7,
- 0x40, 0xae, 0xb0, 0x61, 0xf4, 0x27, 0xc3, 0xe9, 0x38, 0x26, 0x13, 0xa1, 0xe3, 0xf7, 0x80, 0x19,
- 0x5e, 0x63, 0xd9, 0xfe, 0x5d, 0xac, 0x8a, 0x0b, 0x3f, 0x0c, 0xa3, 0xe1, 0x7d, 0xd8, 0x39, 0x1a,
- 0x11, 0x7f, 0xfc, 0x31, 0x00, 0xac, 0x21, 0x3c, 0x4b, 0x73, 0xb7, 0xcd, 0x2e, 0xfc, 0x7b, 0x05,
- 0x4c, 0x2d, 0x23, 0xaf, 0xee, 0x19, 0xde, 0xae, 0xdb, 0xb3, 0x06, 0x6f, 0xd9, 0x65, 0xa3, 0xb5,
- 0x8d, 0x58, 0x77, 0xe4, 0xbf, 0xc2, 0x77, 0x2b, 0xb2, 0x9b, 0xdc, 0x61, 0x39, 0xf3, 0x41, 0x19,
- 0x11, 0x98, 0x3c, 0x16, 0xe4, 0xda, 0x86, 0x67, 0x30, 0x2c, 0xae, 0xea, 0xc1, 0x22, 0x24, 0xa4,
- 0x93, 0x6c, 0xf0, 0xb7, 0xb2, 0x32, 0xbb, 0xdc, 0x12, 0xe5, 0x27, 0x03, 0xe1, 0xfd, 0x99, 0x21,
- 0x50, 0x38, 0x01, 0x66, 0xab, 0xb5, 0x46, 0x73, 0xb5, 0xb6, 0xbc, 0xac, 0xe1, 0xd4, 0xa2, 0xa2,
- 0x9e, 0x06, 0xea, 0x7a, 0xe9, 0xfe, 0x35, 0xad, 0xda, 0x68, 0x56, 0x6b, 0x8b, 0x1a, 0xfb, 0x33,
- 0xa7, 0x1e, 0x07, 0xd3, 0xe5, 0x52, 0x79, 0xc5, 0x4f, 0xc8, 0xab, 0x67, 0xc0, 0xc9, 0x35, 0x6d,
- 0x6d, 0x41, 0xd3, 0xeb, 0x2b, 0x95, 0xf5, 0x26, 0x26, 0xb3, 0x54, 0xdb, 0xa8, 0x2e, 0x16, 0x0b,
- 0x2a, 0x04, 0xa7, 0xb9, 0x2f, 0x17, 0xf4, 0x5a, 0x75, 0xb9, 0x59, 0x6f, 0x94, 0x1a, 0x5a, 0x71,
- 0x02, 0xcf, 0xdf, 0xca, 0xa5, 0x2a, 0xc9, 0x5e, 0xae, 0x55, 0xab, 0x5a, 0xb9, 0x51, 0x9c, 0x84,
- 0xff, 0x9a, 0x03, 0xd3, 0x15, 0xb7, 0x6a, 0xec, 0xa0, 0xf3, 0x46, 0xc7, 0x6c, 0xc3, 0x5f, 0xe0,
- 0xac, 0xc9, 0x1b, 0xc0, 0xac, 0x43, 0x1f, 0x51, 0xbb, 0x61, 0x22, 0x8a, 0xe6, 0xac, 0x2e, 0x26,
- 0xaa, 0xa7, 0x41, 0xc1, 0x22, 0x04, 0x98, 0x68, 0xd8, 0x9b, 0xba, 0x00, 0x00, 0x7d, 0x6a, 0x84,
- 0x37, 0x07, 0x9e, 0xeb, 0x6d, 0x4d, 0xc6, 0x0e, 0x72, 0x91, 0xb3, 0x67, 0xb6, 0x90, 0x9f, 0x53,
- 0xe7, 0xfe, 0x82, 0x5f, 0x56, 0x64, 0x17, 0xbd, 0x39, 0x50, 0xb9, 0xea, 0x44, 0xf4, 0x86, 0x3f,
- 0xaf, 0xc8, 0x2c, 0x59, 0x4b, 0x91, 0x4c, 0xa6, 0x29, 0x2f, 0xca, 0x0e, 0xa1, 0x29, 0xb3, 0x60,
- 0xaa, 0x51, 0xab, 0x35, 0xeb, 0x2b, 0x35, 0xbd, 0x51, 0x54, 0xf0, 0xa4, 0x1c, 0xbf, 0xae, 0xd6,
- 0xaa, 0xcb, 0xc5, 0x9c, 0x7a, 0x0a, 0x9c, 0x58, 0x29, 0xd5, 0x9b, 0x95, 0xea, 0xf9, 0xd2, 0x6a,
- 0x65, 0xb1, 0x59, 0x5e, 0x29, 0xe9, 0xf5, 0x62, 0x5e, 0xbd, 0x0a, 0x9c, 0x6a, 0x54, 0x34, 0xbd,
- 0xb9, 0xa4, 0x95, 0x1a, 0x1b, 0xba, 0x56, 0x6f, 0x56, 0x6b, 0xcd, 0x6a, 0x69, 0x4d, 0x2b, 0x16,
- 0x70, 0xf3, 0x27, 0x9f, 0x42, 0xb5, 0x99, 0x38, 0xa8, 0x8c, 0x93, 0x11, 0xca, 0x38, 0xd5, 0xab,
- 0x8c, 0x80, 0x57, 0x2b, 0x5d, 0xab, 0x6b, 0xfa, 0x79, 0xad, 0x38, 0xdd, 0x4f, 0xd7, 0x66, 0xd4,
- 0x93, 0xa0, 0x88, 0x79, 0x68, 0x56, 0xea, 0x7e, 0xce, 0xc5, 0xe2, 0x2c, 0xfc, 0x58, 0x01, 0x9c,
- 0xd6, 0xd1, 0x96, 0xe9, 0x7a, 0xc8, 0x59, 0x37, 0xf6, 0x77, 0x90, 0xe5, 0xf9, 0x9d, 0xfc, 0xff,
- 0x4a, 0xac, 0x8c, 0x6b, 0x60, 0xb6, 0x4b, 0x69, 0xac, 0x21, 0x6f, 0xdb, 0x6e, 0xb3, 0x51, 0xf8,
- 0xd1, 0x91, 0x3d, 0xc7, 0xfc, 0x3a, 0x9f, 0x5d, 0x17, 0xff, 0xe6, 0x74, 0x5b, 0x89, 0xd1, 0xed,
- 0xdc, 0x30, 0xba, 0xad, 0x5e, 0x03, 0xa6, 0x76, 0x5d, 0xe4, 0x68, 0x3b, 0x86, 0xd9, 0xf1, 0x6f,
- 0x7e, 0x0b, 0x12, 0xe0, 0x3b, 0x72, 0xb2, 0x6e, 0xd4, 0x5c, 0x5d, 0xfa, 0x8b, 0x31, 0xa2, 0x6f,
- 0x3d, 0x0b, 0x00, 0xab, 0xec, 0x86, 0xd3, 0x61, 0xca, 0xca, 0xa5, 0x60, 0xfe, 0x2e, 0x9a, 0x9d,
- 0x8e, 0x69, 0x6d, 0x05, 0x9b, 0x51, 0x61, 0x02, 0x7c, 0x91, 0x22, 0xe3, 0x56, 0x9d, 0x94, 0xb7,
- 0x64, 0xad, 0xe9, 0x05, 0xd9, 0x31, 0xf7, 0xbb, 0x07, 0x9b, 0x4e, 0x41, 0x2d, 0x82, 0x19, 0x92,
- 0xc6, 0x5a, 0x60, 0x71, 0x02, 0xf7, 0xc1, 0x3e, 0xb9, 0x35, 0xad, 0xb1, 0x52, 0x5b, 0x0c, 0xbe,
- 0x4d, 0x62, 0x92, 0x98, 0x99, 0x52, 0xf5, 0x7e, 0xd2, 0x1a, 0xa7, 0xd4, 0x47, 0x80, 0xab, 0xb8,
- 0x0e, 0xbb, 0xb4, 0xaa, 0x6b, 0xa5, 0xc5, 0xfb, 0x9b, 0xda, 0x33, 0x2a, 0xf5, 0x46, 0x5d, 0x6c,
- 0x5c, 0x7e, 0x3b, 0x9a, 0xc6, 0xfc, 0x6a, 0x6b, 0xa5, 0xca, 0x2a, 0xeb, 0xdf, 0x97, 0x6a, 0xfa,
- 0x5a, 0xa9, 0x51, 0x9c, 0x81, 0x2f, 0x53, 0x40, 0x71, 0x19, 0x79, 0xeb, 0xb6, 0xe3, 0x19, 0x9d,
- 0x55, 0xd3, 0xba, 0xb4, 0xe1, 0x74, 0x78, 0x9b, 0xe9, 0x5f, 0xa4, 0xcf, 0x8e, 0x8b, 0x43, 0xa4,
- 0x40, 0x30, 0x7a, 0x9b, 0xa6, 0x4b, 0xb2, 0x85, 0xca, 0x14, 0x26, 0xc0, 0x67, 0x65, 0x65, 0x56,
- 0xb3, 0xe4, 0x4b, 0x4d, 0xa6, 0x27, 0xcf, 0x1e, 0xf7, 0xf8, 0xdc, 0x07, 0xb5, 0x02, 0x7c, 0x28,
- 0x07, 0x26, 0x97, 0x4c, 0xcb, 0xe8, 0x98, 0xcf, 0x14, 0x82, 0xea, 0x85, 0x7d, 0x4c, 0x26, 0xa6,
- 0x8f, 0xc9, 0x0e, 0x35, 0x7e, 0xfe, 0x8a, 0x22, 0xbb, 0x21, 0xc7, 0xc9, 0xde, 0x67, 0x32, 0x62,
- 0xf0, 0xfc, 0xfd, 0xac, 0xcc, 0x96, 0xdb, 0x60, 0x7a, 0xc9, 0x30, 0xfc, 0xc4, 0x0f, 0x87, 0x8d,
- 0xd5, 0xd3, 0xbe, 0x27, 0xfb, 0xa9, 0xc2, 0x14, 0xfc, 0x0b, 0x05, 0xc0, 0x65, 0xe4, 0x9d, 0x47,
- 0x4e, 0x30, 0x15, 0x20, 0xbd, 0x3e, 0xb3, 0xb7, 0xb9, 0x26, 0xfb, 0x66, 0x1e, 0xc0, 0x0b, 0x22,
- 0x80, 0xa5, 0x98, 0xc6, 0x13, 0x41, 0x3a, 0xa2, 0xf1, 0x56, 0x40, 0xc1, 0x25, 0xdf, 0x99, 0x9a,
- 0x3d, 0x3e, 0x7a, 0xb8, 0x24, 0xc4, 0x78, 0xea, 0x94, 0xb0, 0xce, 0x08, 0xc0, 0xef, 0x05, 0x93,
- 0xa0, 0x9f, 0x10, 0xb4, 0x63, 0xe9, 0xd0, 0xcc, 0x26, 0xd3, 0x17, 0x27, 0x5d, 0x75, 0xe9, 0x67,
- 0xdf, 0xc0, 0xdf, 0xcf, 0x83, 0x93, 0xfd, 0xaa, 0x03, 0x7f, 0x3b, 0x23, 0x6c, 0xa0, 0x21, 0x32,
- 0xe4, 0x67, 0xd8, 0xfe, 0x00, 0x7e, 0x51, 0x9f, 0x00, 0x4e, 0x31, 0x8f, 0x80, 0x8b, 0xa8, 0x61,
- 0x57, 0xd1, 0x65, 0xb7, 0x83, 0x3c, 0x0f, 0x39, 0xa4, 0x6a, 0x93, 0x7a, 0xff, 0x8f, 0xea, 0x93,
- 0xc1, 0x95, 0xa6, 0xe5, 0x9a, 0x6d, 0xe4, 0x34, 0xcc, 0xae, 0x5b, 0xb2, 0xda, 0x8d, 0x5d, 0xcf,
- 0x76, 0x4c, 0x83, 0xdd, 0x6f, 0x36, 0xa9, 0x47, 0x7d, 0x56, 0x6f, 0x06, 0x45, 0xd3, 0xad, 0x59,
- 0x17, 0x6d, 0xc3, 0x69, 0x9b, 0xd6, 0xd6, 0xaa, 0xe9, 0x7a, 0xcc, 0x2d, 0xed, 0x40, 0x3a, 0xfc,
- 0x07, 0x45, 0xf6, 0x84, 0xc7, 0x00, 0x58, 0x23, 0x3a, 0x94, 0xe7, 0x2b, 0x32, 0x67, 0x36, 0x92,
- 0xd1, 0x4e, 0xa6, 0x2c, 0xcf, 0x1b, 0xb7, 0x21, 0xd1, 0x7f, 0x04, 0x27, 0x5d, 0x0b, 0x4d, 0xf7,
- 0x0d, 0x81, 0xf3, 0x9a, 0x5e, 0x59, 0xaa, 0x68, 0xd8, 0xac, 0x38, 0x05, 0x4e, 0x84, 0xdf, 0x16,
- 0xef, 0x6f, 0xd6, 0xb5, 0x6a, 0xa3, 0x38, 0x89, 0xfb, 0x29, 0x9a, 0xbc, 0x54, 0xaa, 0xac, 0x6a,
- 0x8b, 0xcd, 0x46, 0x0d, 0x7f, 0x59, 0x1c, 0xce, 0xb4, 0x80, 0xcf, 0xc9, 0x81, 0xe3, 0x44, 0xb6,
- 0xfb, 0x44, 0xaa, 0x58, 0x28, 0x3d, 0x0e, 0x60, 0x01, 0x40, 0x53, 0x54, 0xbc, 0xf0, 0xd3, 0xd2,
- 0xd7, 0xb7, 0x71, 0x10, 0xf6, 0x94, 0x11, 0xa1, 0x19, 0xdf, 0xcd, 0xca, 0x1c, 0x9b, 0x96, 0x26,
- 0x9b, 0x4c, 0x29, 0xfe, 0x79, 0xdc, 0x23, 0x4e, 0x34, 0xf8, 0xc4, 0xca, 0x2c, 0x93, 0x9f, 0x9f,
- 0xb1, 0x5e, 0xd1, 0x89, 0x3a, 0xcc, 0x01, 0x40, 0x52, 0x88, 0x06, 0x51, 0x3d, 0xe8, 0x3b, 0x5e,
- 0x45, 0xe9, 0x41, 0xa9, 0xdc, 0xa8, 0x9c, 0xd7, 0xa2, 0xf4, 0xe0, 0x53, 0x0a, 0x98, 0x5c, 0x46,
- 0x1e, 0x9e, 0x53, 0xb9, 0xf0, 0x29, 0x12, 0xeb, 0x3f, 0xd8, 0x8c, 0x21, 0xf7, 0x56, 0x07, 0xcb,
- 0x00, 0xf4, 0x0d, 0x3e, 0x77, 0x18, 0x13, 0xc4, 0x2f, 0x3a, 0x62, 0xbc, 0x7a, 0x12, 0xc8, 0x7b,
- 0xf8, 0x33, 0x5b, 0x86, 0x7e, 0x64, 0xe4, 0x70, 0x85, 0x89, 0x2c, 0x1a, 0x9e, 0xa1, 0xd3, 0xfc,
- 0xdc, 0xe8, 0x24, 0x69, 0xbb, 0x44, 0x30, 0xf2, 0xc3, 0x68, 0x7f, 0x7e, 0x4d, 0x01, 0xa7, 0x68,
- 0xfb, 0x28, 0x75, 0xbb, 0x75, 0xcf, 0x76, 0x90, 0x8e, 0x5a, 0xc8, 0xec, 0x7a, 0x3d, 0xeb, 0x7b,
- 0x0e, 0x4d, 0xf5, 0x37, 0x10, 0xd9, 0x2b, 0x7c, 0x83, 0x22, 0x1b, 0x18, 0xf4, 0x40, 0x7b, 0xec,
- 0x29, 0x2f, 0xa2, 0xb1, 0x7f, 0x34, 0x2b, 0x13, 0xea, 0x33, 0x21, 0xf1, 0x64, 0x40, 0x7d, 0xe8,
- 0x08, 0x80, 0xf2, 0x57, 0x6e, 0x74, 0xad, 0xac, 0x55, 0xd6, 0xf1, 0x20, 0x70, 0x2d, 0xb8, 0x7a,
- 0x7d, 0x43, 0x2f, 0xaf, 0x94, 0xea, 0x5a, 0x53, 0xd7, 0x96, 0x2b, 0xf5, 0x06, 0xf3, 0xb9, 0xa0,
- 0x7f, 0x4d, 0xa8, 0xd7, 0x80, 0x33, 0xf5, 0x8d, 0x85, 0x7a, 0x59, 0xaf, 0xac, 0x93, 0x74, 0x5d,
- 0xab, 0x6a, 0x17, 0xd8, 0xd7, 0x49, 0xf8, 0xc1, 0x22, 0x98, 0xc6, 0x13, 0x80, 0x3a, 0x9d, 0x17,
- 0xc0, 0x6f, 0xe6, 0xc0, 0xb4, 0x8e, 0x5c, 0xbb, 0xb3, 0x47, 0xe6, 0x08, 0xe3, 0x9a, 0x7a, 0x7c,
- 0x47, 0x91, 0x3d, 0x54, 0xc8, 0x31, 0x3b, 0xcf, 0x31, 0x1a, 0x3d, 0xd1, 0x34, 0xf6, 0x0c, 0xb3,
- 0x63, 0x5c, 0x64, 0x5d, 0xcd, 0xa4, 0x1e, 0x26, 0xa8, 0xf3, 0x40, 0xb5, 0x2f, 0x5b, 0xc8, 0xa9,
- 0xb7, 0x2e, 0x6b, 0xde, 0x76, 0xa9, 0xdd, 0x76, 0x90, 0xeb, 0xb2, 0xd5, 0x8b, 0x3e, 0x5f, 0xd4,
- 0x9b, 0xc0, 0x71, 0x92, 0xca, 0x65, 0xa6, 0x27, 0xa0, 0x7b, 0x93, 0x83, 0x9c, 0x25, 0x6b, 0xdf,
- 0xcf, 0x99, 0xe7, 0x72, 0x86, 0xc9, 0xbc, 0x0f, 0x6f, 0x41, 0x74, 0x1d, 0xbf, 0x0e, 0x4c, 0x5b,
- 0xc6, 0x0e, 0xd2, 0x1e, 0xec, 0x9a, 0x0e, 0x72, 0xcf, 0x4c, 0x90, 0x4d, 0x3b, 0x3e, 0x09, 0xfe,
- 0xbe, 0xd4, 0x21, 0x48, 0x39, 0x89, 0x25, 0xd3, 0xfd, 0xe5, 0x21, 0x54, 0xbf, 0x4f, 0x3f, 0xa3,
- 0xc0, 0x0f, 0x2a, 0x60, 0x86, 0x31, 0x55, 0xb2, 0xf6, 0x2b, 0x6d, 0x78, 0xad, 0x60, 0xfc, 0x1a,
- 0x38, 0xcd, 0x37, 0x7e, 0xc9, 0x0b, 0xfc, 0x45, 0x45, 0xd6, 0x07, 0xaf, 0x4f, 0xc5, 0x49, 0x19,
- 0xd1, 0x7e, 0x61, 0x9b, 0xf6, 0x2e, 0xf3, 0x43, 0x9b, 0xd4, 0xe9, 0x4b, 0x9a, 0x8b, 0x7a, 0xf0,
- 0x0f, 0xa4, 0x3c, 0xfc, 0x24, 0xab, 0x71, 0x44, 0x00, 0x7e, 0x5c, 0x01, 0x73, 0x8c, 0xab, 0x3a,
- 0x73, 0x3e, 0x97, 0x3a, 0x85, 0xf1, 0x4b, 0xd2, 0x86, 0x60, 0x9f, 0xfa, 0xb3, 0x92, 0x1e, 0x36,
- 0x40, 0x7e, 0x58, 0x2a, 0x62, 0x8f, 0x74, 0x45, 0x8e, 0x08, 0xca, 0x77, 0xe6, 0xc0, 0xf4, 0x86,
- 0x8b, 0x1c, 0xe6, 0x4c, 0x0a, 0x5f, 0x93, 0x03, 0xca, 0x32, 0x12, 0x36, 0x52, 0x5f, 0x28, 0xed,
- 0xc0, 0xc7, 0x57, 0x96, 0x23, 0x8a, 0x6d, 0xa4, 0x08, 0xd8, 0x6e, 0x04, 0x73, 0x54, 0xa4, 0x25,
- 0xcf, 0xc3, 0x46, 0xa2, 0xef, 0x2c, 0xd7, 0x93, 0x3a, 0x8a, 0xad, 0x22, 0x52, 0x16, 0xce, 0x52,
- 0xc6, 0x3c, 0xad, 0xa2, 0x4d, 0x3a, 0x9f, 0xcd, 0xe9, 0x3d, 0xa9, 0xe4, 0x4e, 0xed, 0x2e, 0xa2,
- 0x4e, 0xd5, 0x5c, 0xe6, 0x3c, 0xc9, 0xdc, 0xef, 0x13, 0xfc, 0xa6, 0x94, 0x2b, 0x9e, 0xbc, 0x74,
- 0x92, 0xe9, 0x42, 0x77, 0x34, 0x26, 0xc9, 0x49, 0x50, 0xc4, 0x39, 0xc8, 0xfe, 0x8b, 0xae, 0xd5,
- 0x6b, 0xab, 0xe7, 0xb5, 0xfe, 0xcb, 0x18, 0x79, 0xf8, 0x3c, 0x05, 0x4c, 0x2d, 0x38, 0xb6, 0xd1,
- 0x6e, 0x19, 0xae, 0x07, 0xbf, 0x97, 0x05, 0x33, 0xeb, 0xc6, 0x7e, 0xc7, 0x36, 0xda, 0xc4, 0x7d,
- 0xb7, 0xa7, 0x2f, 0xe8, 0xd2, 0x4f, 0x7e, 0x5f, 0xc0, 0x5e, 0xc5, 0xd3, 0x2a, 0xc1, 0x79, 0x92,
- 0x8c, 0xcc, 0x2d, 0x6f, 0xc1, 0x36, 0x5f, 0xb6, 0x5f, 0x04, 0x3d, 0x9f, 0xaf, 0x79, 0x9e, 0xa7,
- 0x08, 0x8b, 0xf2, 0x83, 0x72, 0x31, 0xf1, 0x64, 0x48, 0x1e, 0xcd, 0xae, 0xfc, 0x43, 0x93, 0xa0,
- 0xb0, 0x88, 0x88, 0x15, 0xf7, 0x5f, 0xb3, 0x60, 0xa2, 0x8e, 0x3c, 0x62, 0xc1, 0xdd, 0x21, 0xf8,
- 0x52, 0xb6, 0x49, 0x86, 0xd0, 0x47, 0xd5, 0x7f, 0xc7, 0x93, 0x75, 0xee, 0x10, 0x20, 0x79, 0x4e,
+ 0x0c, 0x8f, 0xff, 0x38, 0x04, 0x1e, 0xa7, 0xc0, 0x09, 0x1e, 0x0f, 0xe2, 0xcc, 0x11, 0x0d, 0xc3,
+ 0x97, 0x27, 0x41, 0xbe, 0x86, 0xda, 0xa8, 0xe9, 0xc1, 0xb7, 0x72, 0xc6, 0xc4, 0x1c, 0x50, 0x02,
+ 0xe7, 0x01, 0xc5, 0x6a, 0x09, 0xd3, 0x67, 0xa5, 0x67, 0xfa, 0x1c, 0x63, 0x06, 0xa8, 0x89, 0xcc,
+ 0x80, 0x6c, 0x0a, 0x66, 0x40, 0x6e, 0x78, 0x33, 0x20, 0x3f, 0xc8, 0x0c, 0x80, 0xaf, 0xc9, 0x27,
+ 0xed, 0x25, 0xa8, 0xa8, 0x8f, 0x76, 0xf0, 0xff, 0x1f, 0xd9, 0x24, 0xbd, 0x4a, 0x5f, 0x8e, 0x93,
+ 0x69, 0xf1, 0xf7, 0xd5, 0x14, 0x96, 0x1f, 0xb4, 0xeb, 0xc1, 0xb5, 0xe1, 0x7b, 0x43, 0x7f, 0x6a,
+ 0xb9, 0x56, 0xaf, 0x91, 0x11, 0xbf, 0x54, 0x35, 0x8c, 0x8d, 0x75, 0xba, 0x72, 0x77, 0x1a, 0x68,
+ 0x21, 0x15, 0x63, 0xa3, 0x42, 0xc7, 0xf7, 0x2d, 0x91, 0xfa, 0x52, 0xb9, 0xb2, 0xd8, 0x08, 0xda,
+ 0x4c, 0x65, 0xa9, 0x5a, 0xd8, 0xc6, 0x53, 0x36, 0x8e, 0x3a, 0x1e, 0xa0, 0x59, 0x09, 0xc5, 0xca,
+ 0x62, 0x63, 0xad, 0xa2, 0xaf, 0x55, 0x2b, 0xe5, 0x12, 0x49, 0xaf, 0xe9, 0xf5, 0x82, 0x85, 0x07,
+ 0x9a, 0x1e, 0x8b, 0xa2, 0xa6, 0x17, 0x8d, 0xd2, 0x8a, 0x6e, 0xd0, 0x22, 0x1f, 0xd0, 0x6e, 0x04,
+ 0xe7, 0x8a, 0x95, 0x6a, 0x1d, 0xa7, 0x14, 0x2b, 0xf7, 0xd7, 0xef, 0x5f, 0xd7, 0x1b, 0xeb, 0x46,
+ 0xb5, 0xa4, 0xd7, 0x6a, 0xb8, 0x9d, 0x32, 0xfb, 0xa3, 0xd0, 0xd6, 0x9e, 0x0c, 0xee, 0xe4, 0x58,
+ 0xd3, 0xeb, 0x64, 0x9b, 0x68, 0xad, 0x4a, 0x3c, 0x05, 0x16, 0xf5, 0xc6, 0x4a, 0xb1, 0xd6, 0x28,
+ 0x57, 0x4a, 0xd5, 0xb5, 0xf5, 0x62, 0xbd, 0x8c, 0x9b, 0xf3, 0xba, 0x51, 0xad, 0x57, 0x1b, 0xe7,
+ 0x75, 0xa3, 0x56, 0xae, 0x56, 0x0a, 0x36, 0xae, 0x32, 0xd7, 0xfe, 0xfd, 0x7e, 0xd8, 0xd1, 0xae,
+ 0x01, 0x67, 0xfc, 0xf4, 0xd5, 0x2a, 0x16, 0x34, 0x67, 0x91, 0x74, 0x52, 0xb5, 0x48, 0xfe, 0x45,
+ 0x01, 0xd9, 0x9a, 0xe7, 0x74, 0xe0, 0x8f, 0x84, 0x1d, 0xcc, 0x59, 0x00, 0x5c, 0xb2, 0xeb, 0x83,
+ 0x67, 0x61, 0x6c, 0x5e, 0xc6, 0xa5, 0xc0, 0x3f, 0x94, 0x5e, 0xaa, 0x0e, 0xfb, 0x6c, 0xa7, 0x13,
+ 0x61, 0xab, 0x7c, 0x57, 0xce, 0x77, 0x3f, 0x9a, 0x50, 0x32, 0x7d, 0xff, 0x85, 0x61, 0x16, 0xa3,
+ 0x21, 0x38, 0xcd, 0xc1, 0x86, 0xe5, 0xef, 0xab, 0x04, 0xd2, 0xae, 0x04, 0x57, 0xf4, 0x28, 0x17,
+ 0xd1, 0xa9, 0x4d, 0xed, 0x91, 0xe0, 0x11, 0x9c, 0x7a, 0xeb, 0x6b, 0xd5, 0xf3, 0x7a, 0xa0, 0xc8,
+ 0x8b, 0xc5, 0x7a, 0xb1, 0xb0, 0x05, 0x3f, 0xad, 0x82, 0xec, 0x9a, 0xb3, 0xd7, 0xbb, 0x43, 0x60,
+ 0xa3, 0xcb, 0xdc, 0x5a, 0xa8, 0xff, 0x2a, 0xfa, 0x2a, 0x4b, 0x89, 0x7d, 0x2d, 0x7a, 0x37, 0xf0,
+ 0xf3, 0x4a, 0x12, 0xb1, 0xaf, 0x1d, 0x76, 0x0b, 0xf0, 0x1f, 0x86, 0x11, 0x7b, 0x84, 0x68, 0x91,
+ 0x76, 0x0e, 0x9c, 0x0d, 0x3f, 0x94, 0x17, 0xf5, 0x4a, 0xbd, 0xbc, 0x74, 0x7f, 0x28, 0xdc, 0xb2,
+ 0x21, 0x25, 0xfe, 0x41, 0xdd, 0x58, 0xfc, 0x4c, 0xe3, 0x0c, 0x38, 0x19, 0x7e, 0x5b, 0xd6, 0xeb,
+ 0xfe, 0x97, 0x07, 0xe0, 0x33, 0x73, 0x60, 0x86, 0x76, 0xeb, 0x1b, 0x9d, 0x96, 0xe9, 0x21, 0x78,
+ 0x7b, 0x88, 0xee, 0x4d, 0xe0, 0x78, 0x79, 0x7d, 0xa9, 0x56, 0xf3, 0x1c, 0xd7, 0xdc, 0x42, 0xc5,
+ 0x56, 0xcb, 0x65, 0xd2, 0xea, 0x4d, 0x86, 0xef, 0x92, 0x5e, 0xe7, 0x13, 0x87, 0x12, 0x5a, 0x66,
+ 0x04, 0xea, 0x5f, 0x92, 0x5a, 0x97, 0x93, 0x20, 0x98, 0x0c, 0xfd, 0x07, 0x46, 0xdc, 0xe6, 0xa2,
+ 0x71, 0xd9, 0x3c, 0xf7, 0x6c, 0x05, 0x4c, 0xd5, 0xad, 0x1d, 0xf4, 0x34, 0xc7, 0x46, 0x5d, 0x6d,
+ 0x02, 0xa8, 0xcb, 0x6b, 0xf5, 0xc2, 0x31, 0xfc, 0x80, 0x8d, 0xaa, 0x0c, 0x79, 0xd0, 0x71, 0x01,
+ 0xf8, 0xa1, 0x58, 0x2f, 0xa8, 0xf8, 0x61, 0x4d, 0xaf, 0x17, 0xb2, 0xf8, 0xa1, 0xa2, 0xd7, 0x0b,
+ 0x39, 0xfc, 0xb0, 0xbe, 0x5a, 0x2f, 0xe4, 0xf1, 0x43, 0xb9, 0x56, 0x2f, 0x4c, 0xe0, 0x87, 0x85,
+ 0x5a, 0xbd, 0x30, 0x89, 0x1f, 0xce, 0xd7, 0xea, 0x85, 0x29, 0xfc, 0x50, 0xaa, 0xd7, 0x0b, 0x00,
+ 0x3f, 0x3c, 0xa5, 0x56, 0x2f, 0x4c, 0xe3, 0x87, 0x62, 0xa9, 0x5e, 0x98, 0x21, 0x0f, 0x7a, 0xbd,
+ 0x30, 0x8b, 0x1f, 0x6a, 0xb5, 0x7a, 0x61, 0x8e, 0x50, 0xae, 0xd5, 0x0b, 0xc7, 0x49, 0x59, 0xe5,
+ 0x7a, 0xa1, 0x80, 0x1f, 0x56, 0x6a, 0xf5, 0xc2, 0x09, 0x92, 0xb9, 0x56, 0x2f, 0x68, 0xa4, 0xd0,
+ 0x5a, 0xbd, 0x70, 0x05, 0xc9, 0x53, 0xab, 0x17, 0x4e, 0x92, 0x22, 0x6a, 0xf5, 0xc2, 0x29, 0xc2,
+ 0x86, 0x5e, 0x2f, 0x9c, 0x26, 0x79, 0x8c, 0x7a, 0xe1, 0x4a, 0xf2, 0xa9, 0x52, 0x2f, 0x9c, 0x21,
+ 0x8c, 0xe9, 0xf5, 0xc2, 0x55, 0xe4, 0xc1, 0xa8, 0x17, 0x20, 0xf9, 0x54, 0xac, 0x17, 0xae, 0x86,
+ 0x8f, 0x00, 0x53, 0xcb, 0xc8, 0xa3, 0x20, 0xc2, 0x02, 0x50, 0x97, 0x91, 0xc7, 0x9b, 0xf1, 0x5f,
+ 0x51, 0xc1, 0x95, 0x6c, 0xea, 0xb7, 0xe4, 0x3a, 0x3b, 0xab, 0x68, 0xcb, 0x6c, 0xee, 0xeb, 0x0f,
+ 0x62, 0x13, 0x0a, 0xd6, 0x84, 0xa5, 0xab, 0x4e, 0xd8, 0x19, 0x91, 0xe7, 0x58, 0x8b, 0xd3, 0x5f,
+ 0x8c, 0x52, 0xc3, 0xc5, 0x28, 0x66, 0x91, 0xfd, 0x33, 0xaf, 0xd1, 0xc2, 0xfa, 0x71, 0xa6, 0x67,
+ 0xfd, 0x18, 0x37, 0x93, 0x0e, 0x72, 0xbb, 0x8e, 0x6d, 0xb6, 0x6b, 0x6c, 0xbb, 0x94, 0xae, 0x7a,
+ 0xf5, 0x26, 0x6b, 0x3f, 0xe1, 0xb7, 0x0c, 0x6a, 0x95, 0x3d, 0x29, 0x6e, 0x86, 0xdb, 0x5b, 0xcd,
+ 0x88, 0x46, 0xf2, 0xf1, 0xa0, 0x91, 0xd4, 0x85, 0x46, 0x72, 0xef, 0x21, 0x68, 0x27, 0x6b, 0x2f,
+ 0xe5, 0xe1, 0xa6, 0x16, 0xa1, 0x33, 0xa1, 0xbf, 0x5c, 0xad, 0xc2, 0x4f, 0x2b, 0xe0, 0xb4, 0x6e,
+ 0xf7, 0xb3, 0xf0, 0x79, 0x5d, 0x78, 0x33, 0x0f, 0xcd, 0xba, 0x28, 0xd2, 0x3b, 0xfb, 0x56, 0xbb,
+ 0x3f, 0xcd, 0x08, 0x89, 0x7e, 0x22, 0x90, 0x68, 0x4d, 0x90, 0xe8, 0x3d, 0xc3, 0x93, 0x4e, 0x26,
+ 0xd0, 0xca, 0x48, 0x3b, 0xa0, 0x2c, 0xfc, 0x7a, 0x16, 0x3c, 0x82, 0x7a, 0x3c, 0x30, 0x0e, 0x69,
+ 0x2b, 0x2b, 0xda, 0x2d, 0x03, 0x75, 0x3d, 0xd3, 0xf5, 0x84, 0x53, 0xa8, 0x3d, 0x53, 0xa9, 0x4c,
+ 0x0a, 0x53, 0x29, 0x65, 0xe0, 0x54, 0x0a, 0xbe, 0x93, 0x37, 0x1f, 0x2e, 0x88, 0x18, 0x17, 0xfb,
+ 0xf7, 0xff, 0x71, 0x35, 0x8c, 0x82, 0x3a, 0xb0, 0x2b, 0x7e, 0x52, 0x80, 0x7a, 0xe9, 0xd0, 0x25,
+ 0x24, 0x43, 0xfc, 0x0f, 0x47, 0x6b, 0xe7, 0x65, 0xf9, 0x6f, 0xa2, 0x51, 0x52, 0x68, 0xa5, 0x6a,
+ 0xa0, 0x7f, 0x72, 0x02, 0x4c, 0x91, 0xb6, 0xb0, 0x6a, 0xd9, 0x97, 0xe0, 0xab, 0x54, 0x30, 0x53,
+ 0x41, 0x97, 0x4b, 0xdb, 0x66, 0xbb, 0x8d, 0xec, 0x2d, 0xc4, 0x9b, 0xed, 0x67, 0xc0, 0x84, 0xd9,
+ 0xe9, 0x54, 0xc2, 0x7d, 0x06, 0xff, 0x95, 0xf5, 0xbf, 0x5f, 0xeb, 0xdb, 0xc8, 0x33, 0x31, 0x8d,
+ 0x3c, 0x28, 0x77, 0x9e, 0x2f, 0x33, 0x62, 0x86, 0x7c, 0x1d, 0x98, 0x6e, 0xfa, 0x59, 0x02, 0x6f,
+ 0x75, 0x3e, 0x09, 0xfe, 0x5d, 0xa2, 0x6e, 0x40, 0xaa, 0xf0, 0x64, 0x4a, 0x81, 0x46, 0x6c, 0x87,
+ 0x9c, 0x02, 0x27, 0xea, 0xd5, 0x6a, 0x63, 0xad, 0x58, 0xb9, 0x3f, 0x3c, 0x25, 0xba, 0x09, 0x5f,
+ 0x9a, 0x05, 0x73, 0x35, 0xa7, 0xbd, 0x87, 0x42, 0x98, 0xca, 0x21, 0x4c, 0x3d, 0x72, 0xca, 0x1c,
+ 0x90, 0x93, 0x76, 0x1a, 0xe4, 0x4d, 0xbb, 0x7b, 0x19, 0xf9, 0xb6, 0x21, 0x7b, 0x63, 0x30, 0x7e,
+ 0x80, 0x6f, 0xc7, 0x86, 0x08, 0xe3, 0x5d, 0x03, 0x24, 0x29, 0x72, 0x15, 0x01, 0xe4, 0x39, 0x30,
+ 0xd3, 0xa5, 0x9b, 0x85, 0x75, 0x6e, 0x4f, 0x58, 0x48, 0x23, 0x2c, 0xd2, 0xdd, 0x6a, 0x95, 0xb1,
+ 0x48, 0xde, 0xe0, 0xab, 0x82, 0xe6, 0xbf, 0x21, 0x40, 0x5c, 0x3c, 0x0c, 0x63, 0xc9, 0x40, 0x7e,
+ 0xf9, 0xa8, 0x67, 0x78, 0x67, 0xc0, 0x49, 0xd6, 0x6a, 0x1b, 0xa5, 0x95, 0xe2, 0xea, 0xaa, 0x5e,
+ 0x59, 0xd6, 0x1b, 0xe5, 0x45, 0xba, 0x55, 0x11, 0xa6, 0x14, 0xeb, 0x75, 0x7d, 0x6d, 0xbd, 0x5e,
+ 0x6b, 0xe8, 0x4f, 0x2d, 0xe9, 0xfa, 0x22, 0x71, 0x44, 0x22, 0x27, 0x09, 0x7c, 0x97, 0xb1, 0x62,
+ 0xa5, 0x76, 0x41, 0x37, 0x0a, 0xdb, 0xe7, 0x8a, 0x60, 0x9a, 0xeb, 0xe7, 0x31, 0x77, 0x8b, 0x68,
+ 0xd3, 0xdc, 0x6d, 0x33, 0x5b, 0xad, 0x70, 0x0c, 0x73, 0x47, 0x64, 0x53, 0xb5, 0xdb, 0xfb, 0x85,
+ 0x8c, 0x56, 0x00, 0x33, 0x7c, 0x97, 0x5e, 0x50, 0xe0, 0xdb, 0xae, 0x01, 0x53, 0x17, 0x1c, 0xf7,
+ 0x12, 0xf1, 0x1e, 0x83, 0xef, 0xa5, 0xd1, 0x24, 0xfc, 0x73, 0x79, 0xdc, 0xc0, 0xfe, 0x72, 0x79,
+ 0x6f, 0x01, 0x9f, 0xda, 0xfc, 0xc0, 0xb3, 0x77, 0xd7, 0x81, 0xe9, 0xcb, 0x7e, 0xee, 0xb0, 0xa5,
+ 0x73, 0x49, 0xf0, 0xbf, 0xca, 0xed, 0xff, 0x0f, 0x2e, 0x32, 0xfd, 0xfd, 0xe9, 0xb7, 0x2a, 0x20,
+ 0xbf, 0x8c, 0xbc, 0x62, 0xbb, 0xcd, 0xcb, 0xed, 0xc5, 0xd2, 0xe7, 0x29, 0x84, 0x4a, 0x14, 0xdb,
+ 0xed, 0xe8, 0x46, 0xc5, 0x09, 0xc8, 0xf7, 0xfb, 0x15, 0xd2, 0xe0, 0x6b, 0xa4, 0x4e, 0x42, 0x0d,
+ 0x28, 0x30, 0x7d, 0x89, 0x7d, 0x50, 0x0d, 0xf6, 0xb8, 0x5f, 0xcb, 0x59, 0x39, 0x8f, 0x0f, 0x23,
+ 0x89, 0x64, 0xe2, 0xf7, 0xca, 0xfd, 0x7c, 0xda, 0x7d, 0x60, 0x62, 0xb7, 0x8b, 0x4a, 0x66, 0x17,
+ 0x11, 0xde, 0x7a, 0x6b, 0x5a, 0xbd, 0xf8, 0x00, 0x6a, 0x7a, 0xf3, 0xe5, 0x1d, 0x6c, 0x50, 0x6f,
+ 0xd0, 0x8c, 0x41, 0x70, 0x0e, 0xf6, 0x6e, 0xf8, 0x14, 0xf0, 0xa4, 0xe4, 0xb2, 0xe5, 0x6d, 0x97,
+ 0xb6, 0x4d, 0x8f, 0xad, 0x6d, 0x07, 0xef, 0xf0, 0xf9, 0x43, 0xc0, 0x19, 0xbb, 0x17, 0x1c, 0x79,
+ 0x2c, 0x2b, 0x31, 0x88, 0x23, 0xd8, 0xc0, 0x1d, 0x06, 0xc4, 0x7f, 0x54, 0x40, 0xb6, 0xda, 0x41,
+ 0xb6, 0xf4, 0x19, 0x84, 0x40, 0xb6, 0x4a, 0x8f, 0x6c, 0x5f, 0x25, 0xef, 0x1d, 0x16, 0x54, 0x1a,
+ 0x97, 0x1c, 0x21, 0xd9, 0x5b, 0x41, 0xd6, 0xb2, 0x37, 0x1d, 0x66, 0x98, 0x5e, 0x1d, 0xb1, 0x09,
+ 0x54, 0xb6, 0x37, 0x1d, 0x83, 0x64, 0x94, 0x75, 0x0c, 0x8b, 0x2b, 0x3b, 0x7d, 0x71, 0x7f, 0x63,
+ 0x12, 0xe4, 0xa9, 0x3a, 0xc3, 0x17, 0xa9, 0x40, 0x2d, 0xb6, 0x5a, 0x11, 0x82, 0x57, 0x0e, 0x08,
+ 0xde, 0x21, 0xbf, 0x05, 0x98, 0x04, 0xef, 0x62, 0x08, 0x09, 0xc9, 0xbe, 0x9d, 0x35, 0xa9, 0x62,
+ 0xab, 0x15, 0xed, 0x83, 0x1a, 0x14, 0xa8, 0x88, 0x05, 0xf2, 0x2d, 0x5c, 0x95, 0x6b, 0xe1, 0x89,
+ 0x07, 0x82, 0x48, 0xfe, 0xd2, 0x87, 0xe8, 0x9f, 0x15, 0x30, 0xb1, 0x6a, 0x75, 0x3d, 0x8c, 0x4d,
+ 0x51, 0x06, 0x9b, 0x6b, 0xc0, 0x94, 0x2f, 0x1a, 0xdc, 0xe5, 0xe1, 0xfe, 0x3c, 0x4c, 0x80, 0xaf,
+ 0xe6, 0xd1, 0x79, 0x8a, 0x88, 0xce, 0x13, 0xe2, 0x6b, 0xcf, 0xb8, 0x88, 0xf6, 0xed, 0x0e, 0x8b,
+ 0x55, 0x7a, 0x8b, 0x7d, 0x53, 0x20, 0xf0, 0x35, 0x41, 0xe0, 0x77, 0x0c, 0x53, 0x64, 0xfa, 0x42,
+ 0xff, 0x8c, 0x02, 0x00, 0x2e, 0x9b, 0x1d, 0xa0, 0x79, 0xb4, 0x70, 0x2c, 0x36, 0x46, 0xba, 0x2f,
+ 0xe5, 0xa5, 0xbb, 0x26, 0x4a, 0xf7, 0xc7, 0x07, 0x57, 0x35, 0xee, 0xa0, 0x8c, 0x56, 0x00, 0xaa,
+ 0x15, 0x88, 0x16, 0x3f, 0xc2, 0xb7, 0x06, 0x42, 0x5d, 0x17, 0x84, 0x7a, 0xd7, 0x90, 0x25, 0xa5,
+ 0x2f, 0xd7, 0xbf, 0x52, 0xc0, 0x44, 0x0d, 0x79, 0xb8, 0x9b, 0x84, 0xe7, 0x65, 0x7a, 0x78, 0xae,
+ 0x6d, 0x2b, 0x92, 0x6d, 0xfb, 0x3b, 0x19, 0xd9, 0xf0, 0x1a, 0xa1, 0x64, 0x18, 0x4f, 0x11, 0x8b,
+ 0x07, 0xaf, 0x95, 0x0a, 0xaf, 0x31, 0x88, 0x5a, 0xfa, 0xd2, 0x7d, 0xb3, 0x12, 0x6c, 0xcc, 0x3f,
+ 0x46, 0x98, 0xd8, 0xf1, 0x66, 0x71, 0xe6, 0xa0, 0x59, 0xfc, 0xad, 0x4c, 0x72, 0x33, 0x24, 0x6e,
+ 0x57, 0x3a, 0xb1, 0xb1, 0x31, 0x82, 0x0d, 0xe3, 0x61, 0xe4, 0xf5, 0x0c, 0x15, 0xe4, 0xd9, 0xca,
+ 0xf2, 0x3d, 0xf1, 0x2b, 0xcb, 0x83, 0xa7, 0x16, 0xef, 0x19, 0xc2, 0x94, 0x8b, 0x5b, 0xee, 0x0d,
+ 0xd8, 0x50, 0x38, 0x36, 0x6e, 0x01, 0x39, 0x12, 0xff, 0x8f, 0x8d, 0x73, 0xe1, 0x5e, 0xbf, 0x4f,
+ 0x42, 0xc7, 0x5f, 0x0d, 0x9a, 0x29, 0x31, 0x0a, 0x23, 0x58, 0x21, 0x1e, 0x06, 0x85, 0x7f, 0xf9,
+ 0x64, 0x26, 0x30, 0x42, 0xde, 0x93, 0x65, 0xe6, 0xdf, 0x47, 0xc5, 0x48, 0x04, 0x4d, 0xc7, 0xf6,
+ 0xd0, 0x83, 0xdc, 0x9a, 0x7c, 0x90, 0x10, 0x6b, 0x19, 0x9c, 0x01, 0x13, 0x9e, 0xcb, 0xaf, 0xd3,
+ 0xfb, 0xaf, 0x7c, 0x8f, 0x93, 0x13, 0x7b, 0x9c, 0x0a, 0x38, 0x67, 0xd9, 0xcd, 0xf6, 0x6e, 0x0b,
+ 0x19, 0xa8, 0x6d, 0xe2, 0x5a, 0x75, 0x8b, 0xdd, 0x45, 0xd4, 0x41, 0x76, 0x0b, 0xd9, 0x1e, 0xe5,
+ 0xd3, 0xf7, 0xc9, 0x95, 0xc8, 0x09, 0xbf, 0xca, 0x2b, 0xc6, 0xdd, 0xa2, 0x62, 0x3c, 0xba, 0xdf,
+ 0xbc, 0x22, 0xc6, 0x08, 0xbd, 0x03, 0x00, 0x5a, 0xb7, 0xf3, 0x16, 0xba, 0xcc, 0x3a, 0xc4, 0xab,
+ 0x7a, 0x4c, 0xd1, 0x6a, 0x90, 0xc1, 0xe0, 0x32, 0xc3, 0x2f, 0x06, 0xca, 0x70, 0xaf, 0xa0, 0x0c,
+ 0xb7, 0x48, 0xb2, 0x90, 0x4c, 0x0f, 0x3a, 0x43, 0xac, 0x75, 0xcc, 0x82, 0xa9, 0x70, 0x85, 0x52,
+ 0xd5, 0xae, 0x02, 0xa7, 0x7c, 0x9f, 0x87, 0x8a, 0xae, 0x2f, 0xd6, 0x1a, 0x1b, 0xeb, 0xcb, 0x46,
+ 0x71, 0x51, 0x2f, 0x00, 0x4d, 0x03, 0x73, 0xd5, 0x85, 0xa7, 0xe8, 0xa5, 0x7a, 0xe0, 0xaa, 0x90,
+ 0x85, 0x9f, 0x55, 0x40, 0x8e, 0x38, 0x94, 0xc3, 0x9f, 0x1e, 0x91, 0xe6, 0x74, 0x85, 0x1d, 0x9e,
+ 0x60, 0x22, 0x25, 0x1f, 0x21, 0x90, 0x09, 0x93, 0x70, 0x75, 0xa8, 0x08, 0x81, 0x31, 0x84, 0xd2,
+ 0x6f, 0x9e, 0xb8, 0x49, 0xd6, 0xb6, 0x9d, 0xcb, 0x3f, 0xcc, 0x4d, 0x12, 0xd7, 0xff, 0x88, 0x9b,
+ 0x64, 0x1f, 0x16, 0xc6, 0xde, 0x24, 0xfb, 0xb4, 0xbb, 0x98, 0x66, 0x0a, 0x9f, 0x9e, 0x0b, 0x16,
+ 0x64, 0x9e, 0xad, 0x1c, 0x6a, 0x41, 0xa6, 0x08, 0x66, 0x2d, 0xdb, 0x43, 0xae, 0x6d, 0xb6, 0x97,
+ 0xda, 0xe6, 0x96, 0x7f, 0x6c, 0xb9, 0x77, 0x16, 0x5e, 0xe6, 0xf2, 0x18, 0xe2, 0x1f, 0xda, 0x59,
+ 0x00, 0x3c, 0xb4, 0xd3, 0x69, 0x9b, 0x5e, 0xa8, 0x7a, 0x5c, 0x0a, 0xaf, 0x7d, 0x59, 0x51, 0xfb,
+ 0x1e, 0x07, 0xae, 0xa0, 0xa0, 0xd5, 0xf7, 0x3b, 0x68, 0xc3, 0xb6, 0x7e, 0x66, 0x97, 0x04, 0xae,
+ 0xa1, 0x3a, 0xda, 0xef, 0x93, 0xb0, 0x2c, 0x91, 0xef, 0x59, 0x96, 0xf8, 0x47, 0xe9, 0xa3, 0x99,
+ 0x7e, 0xab, 0x1f, 0x70, 0x34, 0x33, 0x68, 0x69, 0x6a, 0x4f, 0x4b, 0x0b, 0x8c, 0x85, 0xac, 0x84,
+ 0xb1, 0xc0, 0xa3, 0x92, 0x93, 0x34, 0xb4, 0x5f, 0x29, 0x75, 0xf6, 0x33, 0xae, 0x1a, 0x63, 0x98,
+ 0xc8, 0xa9, 0x60, 0x8e, 0x16, 0xbd, 0xe0, 0x38, 0x97, 0x76, 0x4c, 0xf7, 0x12, 0x74, 0x0f, 0xa5,
+ 0x8a, 0xb1, 0x6b, 0x22, 0x91, 0x0b, 0x7d, 0x9f, 0xe0, 0x51, 0x5f, 0x16, 0x51, 0x7f, 0x7c, 0xb4,
+ 0xb8, 0x7c, 0x9e, 0xc7, 0xb3, 0x28, 0xf2, 0x86, 0x00, 0xcf, 0xa7, 0x08, 0x78, 0xfe, 0x58, 0x62,
+ 0x06, 0xd3, 0xc7, 0xf5, 0x8f, 0x03, 0x5c, 0xfd, 0x8e, 0x9e, 0x9f, 0x4f, 0x8e, 0x12, 0x57, 0xf8,
+ 0xa5, 0xe1, 0xb0, 0xf3, 0xf9, 0x1a, 0x02, 0xbb, 0x02, 0x50, 0x2f, 0x05, 0x5b, 0x58, 0xf8, 0x91,
+ 0xaf, 0x50, 0x36, 0x3d, 0x34, 0x23, 0x58, 0x1e, 0x0b, 0x9a, 0x27, 0x45, 0x16, 0xaa, 0x9d, 0x54,
+ 0x31, 0xfd, 0x82, 0xf4, 0x3a, 0x4d, 0x5f, 0x01, 0x51, 0xee, 0xc6, 0xd3, 0x2a, 0xe5, 0x16, 0x79,
+ 0xe4, 0xd9, 0x4c, 0x1f, 0xcd, 0xe7, 0xe5, 0xc0, 0x94, 0x7f, 0x78, 0x96, 0x44, 0xd4, 0x0e, 0x30,
+ 0x3c, 0x0d, 0xf2, 0x5d, 0x67, 0xd7, 0x6d, 0x22, 0xb6, 0x72, 0xc6, 0xde, 0x86, 0x58, 0xe5, 0x19,
+ 0x38, 0x9e, 0x1f, 0x30, 0x19, 0xb2, 0x89, 0x4d, 0x86, 0x68, 0x83, 0x34, 0x6e, 0x80, 0x7f, 0xbe,
+ 0x74, 0x18, 0x44, 0x01, 0xb3, 0x1a, 0xf2, 0x1e, 0x8e, 0x63, 0xfc, 0x1f, 0x48, 0xad, 0x21, 0x0c,
+ 0xa8, 0x49, 0x32, 0x95, 0xab, 0x0e, 0x61, 0xa8, 0x5e, 0x0d, 0xae, 0xf4, 0x73, 0x30, 0x0b, 0x95,
+ 0x58, 0xa4, 0x1b, 0xc6, 0x6a, 0x41, 0x85, 0xcf, 0xc8, 0x82, 0x02, 0x65, 0xad, 0x1a, 0x18, 0x6b,
+ 0xf0, 0xc5, 0x99, 0xa3, 0xb6, 0x48, 0xa3, 0xa7, 0x98, 0x9f, 0x52, 0x64, 0x43, 0x2d, 0x09, 0x82,
+ 0x0f, 0x6b, 0x17, 0xa1, 0x49, 0x43, 0x34, 0xb3, 0x18, 0xe5, 0x83, 0xbf, 0x95, 0x91, 0x89, 0xdc,
+ 0x24, 0xc7, 0x62, 0xfa, 0xbd, 0xd2, 0xe7, 0xb2, 0x7e, 0x0c, 0x84, 0x25, 0xd7, 0xd9, 0xd9, 0x70,
+ 0xdb, 0xf0, 0xff, 0x96, 0x0a, 0x8c, 0x17, 0x61, 0xfe, 0x2b, 0xd1, 0xe6, 0x7f, 0x01, 0xa8, 0xbb,
+ 0x6e, 0xdb, 0x1f, 0xbe, 0x77, 0xdd, 0xf6, 0x10, 0xc3, 0xb7, 0x76, 0x23, 0x98, 0x33, 0x5b, 0xad,
+ 0x75, 0x73, 0x0b, 0x95, 0xf0, 0xbc, 0xda, 0xf6, 0xd8, 0xf9, 0xe8, 0x9e, 0xd4, 0xd8, 0xae, 0xe8,
+ 0xab, 0xd2, 0x3b, 0x71, 0x02, 0x48, 0x4c, 0x3e, 0x63, 0x19, 0xde, 0xf0, 0x90, 0xd0, 0xdc, 0x36,
+ 0xc3, 0x68, 0x0d, 0xec, 0x4d, 0x72, 0x87, 0x4e, 0x82, 0xef, 0xf4, 0x35, 0xeb, 0x77, 0x15, 0x30,
+ 0x81, 0xe5, 0x5d, 0x6c, 0xb5, 0xe0, 0xa3, 0x84, 0xa0, 0x26, 0x91, 0x7b, 0xa4, 0xcf, 0x91, 0xde,
+ 0x9c, 0xf6, 0x6b, 0x48, 0xe9, 0x47, 0x60, 0x12, 0x0a, 0x51, 0x11, 0x84, 0x28, 0xb7, 0x07, 0x1d,
+ 0x5b, 0x44, 0xfa, 0xe2, 0xfb, 0xb8, 0x02, 0x66, 0xfd, 0x79, 0xc4, 0x12, 0xf2, 0x9a, 0xdb, 0xf0,
+ 0x0e, 0xd9, 0x85, 0x26, 0xd6, 0xd2, 0x94, 0xa0, 0xa5, 0xc1, 0xef, 0x67, 0x12, 0xaa, 0xbc, 0x50,
+ 0x72, 0xc4, 0x2a, 0x5d, 0x22, 0x5d, 0x8c, 0x23, 0x98, 0xbe, 0x30, 0xbf, 0xa8, 0x00, 0x50, 0x77,
+ 0x82, 0xb9, 0xee, 0x21, 0x24, 0xf9, 0x42, 0xe9, 0x28, 0xf5, 0xac, 0xe2, 0x61, 0xb1, 0xc9, 0x7b,
+ 0x0e, 0xc9, 0x2d, 0xb6, 0x41, 0x25, 0x8d, 0xa5, 0xad, 0x4f, 0x2d, 0xee, 0x76, 0xda, 0x56, 0xd3,
+ 0xf4, 0x7a, 0xf7, 0x85, 0xa3, 0xc5, 0x4b, 0xae, 0x9b, 0x49, 0x64, 0x14, 0x06, 0x65, 0x44, 0xc8,
+ 0x92, 0x1e, 0xb6, 0x55, 0xfc, 0xc3, 0xb6, 0x92, 0x7b, 0x3d, 0x03, 0x88, 0x8f, 0x41, 0x3d, 0x55,
+ 0x70, 0xbc, 0xda, 0x41, 0xf6, 0x82, 0x8b, 0xcc, 0x56, 0xd3, 0xdd, 0xdd, 0xb9, 0xd8, 0xe5, 0x9d,
+ 0x1a, 0xe2, 0x75, 0x94, 0x5b, 0x3a, 0x56, 0x84, 0xa5, 0x63, 0xf8, 0x2c, 0x55, 0xf6, 0xe8, 0x37,
+ 0xb7, 0xc1, 0xc1, 0xf1, 0x30, 0xc4, 0x50, 0x97, 0x68, 0x2b, 0xae, 0x67, 0x95, 0x38, 0x9b, 0x64,
+ 0x95, 0xf8, 0x8d, 0x52, 0x07, 0xc9, 0xa5, 0xea, 0x35, 0x96, 0x1d, 0xd5, 0xb9, 0x1a, 0xf2, 0x22,
+ 0xe0, 0xbd, 0x01, 0xcc, 0x5e, 0x0c, 0xbf, 0x04, 0x10, 0x8b, 0x89, 0x7d, 0xfc, 0x1c, 0xde, 0x9c,
+ 0x74, 0x05, 0x46, 0x64, 0x21, 0x02, 0xdd, 0x00, 0x41, 0x45, 0x66, 0x33, 0x35, 0xd1, 0x72, 0x4a,
+ 0x6c, 0xf9, 0xe9, 0xa3, 0xf0, 0x61, 0x05, 0x4c, 0x93, 0x4b, 0x74, 0x16, 0xf6, 0x89, 0x77, 0xbe,
+ 0xa4, 0x51, 0xf2, 0x3c, 0x5e, 0xcc, 0x1a, 0xc8, 0xb6, 0x2d, 0xfb, 0x92, 0xbf, 0x0b, 0x8e, 0x9f,
+ 0xc3, 0x2b, 0x19, 0x94, 0x3e, 0x57, 0x32, 0x04, 0xfb, 0x14, 0x41, 0xb9, 0x87, 0xba, 0x23, 0x6c,
+ 0x20, 0xb9, 0xf4, 0xc5, 0xf8, 0xf7, 0x59, 0x90, 0xaf, 0x21, 0xd3, 0x6d, 0x6e, 0xc3, 0xf7, 0x28,
+ 0x7d, 0xa7, 0x0a, 0x93, 0xe2, 0x54, 0x61, 0x09, 0x4c, 0x6c, 0x5a, 0x6d, 0x0f, 0xb9, 0xd4, 0x33,
+ 0x88, 0xef, 0xda, 0x69, 0x13, 0x5f, 0x68, 0x3b, 0xcd, 0x4b, 0xf3, 0xcc, 0x74, 0x9f, 0xf7, 0x83,
+ 0x49, 0xcd, 0x2f, 0x91, 0x9f, 0x0c, 0xff, 0x67, 0x6c, 0x10, 0x76, 0x1d, 0xd7, 0x8b, 0x8a, 0xce,
+ 0x1a, 0x41, 0xa5, 0xe6, 0xb8, 0x9e, 0x41, 0x7f, 0xc4, 0x30, 0x6f, 0xee, 0xb6, 0xdb, 0x75, 0xf4,
+ 0xa0, 0xe7, 0x4f, 0xdb, 0xfc, 0x77, 0x6c, 0x2c, 0x3a, 0x9b, 0x9b, 0x5d, 0x44, 0x17, 0x0d, 0x72,
+ 0x06, 0x7b, 0xd3, 0x4e, 0x82, 0x5c, 0xdb, 0xda, 0xb1, 0xe8, 0x44, 0x23, 0x67, 0xd0, 0x17, 0xed,
+ 0x66, 0x50, 0x08, 0xe7, 0x38, 0x94, 0xd1, 0x33, 0x79, 0xd2, 0x34, 0x0f, 0xa4, 0x63, 0x9d, 0xb9,
+ 0x84, 0xf6, 0xbb, 0x67, 0x26, 0xc8, 0x77, 0xf2, 0x2c, 0xba, 0x61, 0xca, 0xec, 0x77, 0x50, 0x89,
+ 0x47, 0xcf, 0x60, 0x5d, 0xd4, 0x74, 0xdc, 0x96, 0x2f, 0x9b, 0xe8, 0x09, 0x06, 0xcb, 0x97, 0x6c,
+ 0x97, 0xa2, 0x6f, 0xe1, 0xe9, 0x6b, 0xda, 0x3b, 0xf3, 0xb8, 0xdb, 0xc4, 0x45, 0x5f, 0xb0, 0xbc,
+ 0xed, 0x35, 0xe4, 0x99, 0xf0, 0xef, 0xd5, 0xbe, 0x1a, 0x37, 0xfd, 0xbf, 0x35, 0x6e, 0x80, 0xc6,
+ 0xd1, 0x30, 0x01, 0xde, 0xae, 0x6b, 0x63, 0x39, 0xb2, 0xc0, 0x5c, 0x5c, 0x8a, 0x76, 0x17, 0xb8,
+ 0x2a, 0x7c, 0xf3, 0x97, 0x4a, 0x17, 0xd9, 0xb4, 0x75, 0x8a, 0x64, 0x8f, 0xce, 0xa0, 0xad, 0x83,
+ 0xeb, 0xe9, 0xc7, 0x95, 0xfa, 0xda, 0xea, 0x8a, 0xb5, 0xb5, 0xdd, 0xb6, 0xb6, 0xb6, 0xbd, 0x6e,
+ 0xd9, 0xee, 0x7a, 0xc8, 0x6c, 0x55, 0x37, 0x0d, 0x1a, 0x57, 0x19, 0x10, 0x3a, 0x32, 0x59, 0x45,
+ 0xcf, 0x21, 0xb9, 0xd1, 0x8d, 0xd7, 0x94, 0x88, 0x96, 0xf2, 0x63, 0xb8, 0xa5, 0x74, 0x77, 0xdb,
+ 0x01, 0xa6, 0xd7, 0xf4, 0x60, 0x1a, 0xaa, 0xfa, 0x6e, 0x9b, 0x34, 0x17, 0x92, 0x39, 0xe9, 0x38,
+ 0x17, 0xc3, 0x49, 0xfa, 0xcd, 0xe6, 0xff, 0xcb, 0x83, 0xdc, 0xb2, 0x6b, 0x76, 0xb6, 0xe1, 0x33,
+ 0xb8, 0xfe, 0x79, 0x54, 0x6d, 0x22, 0xd0, 0x4e, 0x65, 0x90, 0x76, 0xaa, 0x03, 0xb4, 0x33, 0xcb,
+ 0x69, 0x67, 0xf4, 0xa2, 0xf2, 0x39, 0x30, 0xd3, 0x74, 0xda, 0x6d, 0xd4, 0xc4, 0xf2, 0x28, 0xb7,
+ 0xc8, 0x6a, 0xce, 0x94, 0x21, 0xa4, 0x91, 0x80, 0x7b, 0xc8, 0xab, 0xd1, 0x35, 0x74, 0xaa, 0xf4,
+ 0x61, 0x02, 0x7c, 0xb1, 0x02, 0xb2, 0x7a, 0x6b, 0x0b, 0x09, 0xeb, 0xec, 0x19, 0x6e, 0x9d, 0xfd,
+ 0x34, 0xc8, 0x7b, 0xa6, 0xbb, 0x85, 0x3c, 0x7f, 0x9d, 0x80, 0xbe, 0x05, 0x71, 0x00, 0x55, 0x2e,
+ 0x0e, 0xe0, 0x8f, 0x83, 0x2c, 0x96, 0x19, 0x8b, 0xb0, 0x73, 0x7d, 0x3f, 0xf8, 0x89, 0xec, 0xe7,
+ 0x71, 0x89, 0xf3, 0xb8, 0xd6, 0x06, 0xf9, 0xa1, 0x17, 0xeb, 0xdc, 0x01, 0xac, 0xc9, 0x15, 0x31,
+ 0x4d, 0xc7, 0x2e, 0xef, 0x98, 0x5b, 0x88, 0x55, 0x33, 0x4c, 0xf0, 0xbf, 0xea, 0x3b, 0xce, 0x03,
+ 0x16, 0x0b, 0xc9, 0x17, 0x26, 0xe0, 0x2a, 0x6c, 0x5b, 0xad, 0x16, 0xb2, 0x59, 0xcb, 0x66, 0x6f,
+ 0xe7, 0xce, 0x82, 0x2c, 0xe6, 0x01, 0xeb, 0x0f, 0x36, 0x16, 0x0a, 0xc7, 0xb4, 0x19, 0xdc, 0xac,
+ 0x68, 0xe3, 0x2d, 0x64, 0xc4, 0x35, 0x55, 0x19, 0xb7, 0x1d, 0x5a, 0xb9, 0xfe, 0x8d, 0xeb, 0xb1,
+ 0x20, 0x67, 0x3b, 0x2d, 0x34, 0x70, 0x10, 0xa2, 0xb9, 0xb4, 0x27, 0x80, 0x1c, 0x6a, 0xe1, 0x5e,
+ 0x41, 0x25, 0xd9, 0xcf, 0xc6, 0xcb, 0xd2, 0xa0, 0x99, 0x93, 0xf9, 0x06, 0xf5, 0xe3, 0x36, 0xfd,
+ 0x06, 0xf8, 0x8b, 0x13, 0xe0, 0x38, 0xed, 0x03, 0x6a, 0xbb, 0x17, 0x31, 0xa9, 0x8b, 0x08, 0xbe,
+ 0xb6, 0xff, 0xc0, 0x75, 0x5c, 0x54, 0xf6, 0x93, 0x20, 0xd7, 0xdd, 0xbd, 0x18, 0x18, 0xa1, 0xf4,
+ 0x85, 0x6f, 0xba, 0xca, 0x48, 0x86, 0x33, 0x75, 0xd8, 0xe1, 0x4c, 0x18, 0x9a, 0x54, 0xbf, 0xf1,
+ 0x87, 0x03, 0x59, 0x9e, 0x24, 0xfb, 0x03, 0x59, 0xbf, 0x61, 0xe8, 0x0c, 0x98, 0x30, 0x37, 0x3d,
+ 0xe4, 0x86, 0x66, 0x22, 0x7b, 0xc5, 0x43, 0xe5, 0x45, 0xb4, 0xe9, 0xb8, 0x58, 0x2c, 0x53, 0x74,
+ 0xa8, 0xf4, 0xdf, 0xb9, 0x96, 0x0b, 0x84, 0x1d, 0xb2, 0x5b, 0xc0, 0x09, 0xdb, 0x59, 0x44, 0x1d,
+ 0x26, 0x67, 0x8a, 0xe2, 0x2c, 0x69, 0x01, 0x07, 0x3f, 0x1c, 0xe8, 0x4a, 0xe6, 0x0e, 0x76, 0x25,
+ 0xf0, 0x93, 0x49, 0xe7, 0xcc, 0x3d, 0x40, 0x8f, 0xcc, 0x42, 0xd3, 0x9e, 0x04, 0x66, 0x5a, 0xcc,
+ 0x45, 0xab, 0x69, 0x05, 0xad, 0x24, 0xf2, 0x3f, 0x21, 0x73, 0xa8, 0x48, 0x59, 0x5e, 0x91, 0x96,
+ 0xc1, 0x24, 0x39, 0x90, 0x83, 0x35, 0x29, 0xd7, 0x13, 0xaf, 0x90, 0x4c, 0xeb, 0x82, 0x4a, 0x71,
+ 0x62, 0x9b, 0x2f, 0xb1, 0x5f, 0x8c, 0xe0, 0xe7, 0x64, 0xb3, 0xef, 0x78, 0x09, 0xa5, 0xdf, 0x1c,
+ 0xdf, 0x94, 0x07, 0x57, 0x95, 0x5c, 0xa7, 0xdb, 0x25, 0x51, 0x28, 0x7a, 0x1b, 0xe6, 0xeb, 0x15,
+ 0x21, 0x22, 0xf0, 0xc3, 0xba, 0xf9, 0xf5, 0x6b, 0x50, 0xe3, 0x6b, 0x1a, 0x5f, 0x95, 0x3e, 0xca,
+ 0x1c, 0xec, 0x3f, 0x44, 0x08, 0xfd, 0x87, 0xa3, 0x91, 0xbc, 0x33, 0x23, 0x73, 0xba, 0x3a, 0xa1,
+ 0xac, 0xd2, 0x6f, 0x2e, 0x5f, 0x50, 0xc0, 0xd5, 0xbd, 0xdc, 0x6c, 0xd8, 0xdd, 0xa0, 0xc1, 0x5c,
+ 0x3b, 0xa0, 0xbd, 0x88, 0xa7, 0x71, 0x63, 0x6f, 0x40, 0x89, 0xa8, 0x3b, 0x57, 0x5a, 0xc4, 0x62,
+ 0xc9, 0xbb, 0x33, 0x32, 0x37, 0xa0, 0x24, 0x26, 0x9f, 0xbe, 0x70, 0x3f, 0x95, 0x05, 0xc7, 0x97,
+ 0x5d, 0x67, 0xb7, 0xd3, 0x0d, 0x7b, 0xa0, 0xbf, 0xe9, 0xbf, 0xe1, 0x9a, 0x97, 0x31, 0x0d, 0xae,
+ 0x03, 0xd3, 0x2e, 0xb3, 0xe6, 0xc2, 0xed, 0x57, 0x3e, 0x89, 0xef, 0xbd, 0xd4, 0xc3, 0xf4, 0x5e,
+ 0x61, 0x3f, 0x93, 0x15, 0xfa, 0x99, 0xde, 0x9e, 0x23, 0xd7, 0xa7, 0xe7, 0xf8, 0x6b, 0x25, 0xe1,
+ 0xa0, 0xda, 0x23, 0xa2, 0x88, 0xfe, 0xa2, 0x04, 0xf2, 0x5b, 0x24, 0x23, 0xeb, 0x2e, 0x1e, 0x23,
+ 0x57, 0x33, 0x42, 0xdc, 0x60, 0xbf, 0x86, 0x72, 0x55, 0x79, 0x1d, 0x4e, 0x34, 0xc0, 0xc5, 0x73,
+ 0x9b, 0xbe, 0x52, 0xbd, 0x2a, 0x0b, 0x66, 0x82, 0xd2, 0xcb, 0xad, 0x2e, 0x7c, 0x5e, 0x7f, 0x8d,
+ 0x9a, 0x95, 0xd1, 0xa8, 0x03, 0xeb, 0xcc, 0xc1, 0xa8, 0xa3, 0x72, 0xa3, 0x4e, 0xdf, 0xd1, 0x65,
+ 0x26, 0x62, 0x74, 0x81, 0x4f, 0x57, 0x65, 0x63, 0xea, 0x8b, 0x5d, 0x2b, 0xa9, 0xcd, 0xc3, 0x79,
+ 0xb0, 0x90, 0x8c, 0xec, 0x3f, 0xb8, 0x56, 0xe9, 0x2b, 0xc9, 0xfb, 0x15, 0x70, 0xe2, 0x60, 0x67,
+ 0xfe, 0x48, 0xd1, 0x0b, 0x0d, 0xd7, 0xa9, 0x1b, 0x78, 0xa1, 0x91, 0x37, 0x71, 0x93, 0x2e, 0xf6,
+ 0x68, 0xac, 0x60, 0xef, 0x0d, 0xee, 0xc4, 0xe5, 0x0e, 0xbf, 0x4a, 0x12, 0x4d, 0x5f, 0x80, 0xbf,
+ 0xa2, 0x82, 0xa9, 0x1a, 0xf2, 0x56, 0xcd, 0x7d, 0x67, 0xd7, 0x83, 0xa6, 0xec, 0xf6, 0xdc, 0x13,
+ 0x41, 0xbe, 0x4d, 0x7e, 0x61, 0x17, 0x44, 0x5e, 0xd7, 0x77, 0x7f, 0x8b, 0xf8, 0xfe, 0x50, 0xd2,
+ 0x06, 0xcb, 0x2f, 0x9e, 0x49, 0x96, 0xd9, 0x1d, 0x0d, 0xb8, 0x1b, 0xc9, 0xd6, 0x4e, 0xa2, 0xbd,
+ 0xd3, 0xa8, 0xa2, 0xd3, 0x87, 0xe5, 0x59, 0x2a, 0x98, 0xad, 0x21, 0xaf, 0xdc, 0x5d, 0x32, 0xf7,
+ 0x1c, 0xd7, 0xf2, 0x10, 0x7f, 0x57, 0x51, 0x3c, 0x34, 0x67, 0x01, 0xb0, 0x82, 0xdf, 0x58, 0xa4,
+ 0x04, 0x2e, 0x05, 0xfe, 0x56, 0x52, 0x47, 0x21, 0x81, 0x8f, 0x91, 0x80, 0x90, 0xc8, 0xc7, 0x22,
+ 0xae, 0xf8, 0xf4, 0x81, 0xf8, 0xbc, 0xc2, 0x80, 0x28, 0xba, 0xcd, 0x6d, 0x6b, 0x0f, 0xb5, 0x12,
+ 0x02, 0xe1, 0xff, 0x16, 0x02, 0x11, 0x10, 0x4a, 0xec, 0xbe, 0x22, 0xf0, 0x31, 0x0a, 0xf7, 0x95,
+ 0x38, 0x82, 0x63, 0x09, 0x76, 0x80, 0xbb, 0x1e, 0xb6, 0x9e, 0x79, 0x8f, 0xac, 0x58, 0x43, 0x93,
+ 0x4d, 0xe1, 0x4d, 0xb6, 0xa1, 0x3a, 0x16, 0x5a, 0xf6, 0x20, 0x9d, 0xce, 0xa6, 0xd1, 0xb1, 0xf4,
+ 0x2d, 0x3a, 0x7d, 0xa1, 0xbf, 0x5b, 0x05, 0xa7, 0x82, 0x53, 0xc0, 0x35, 0xe4, 0x2d, 0x9a, 0xdd,
+ 0xed, 0x8b, 0x8e, 0xe9, 0xb6, 0xf8, 0x8b, 0x43, 0x87, 0x3e, 0xf1, 0x07, 0x3f, 0xc7, 0x83, 0x50,
+ 0x11, 0x41, 0xe8, 0xeb, 0x2a, 0xda, 0x97, 0x97, 0x51, 0x74, 0x32, 0xb1, 0xde, 0xac, 0xbf, 0x1d,
+ 0x80, 0xf5, 0x13, 0x02, 0x58, 0x77, 0x0f, 0xcb, 0x62, 0xfa, 0xc0, 0xfd, 0x3a, 0x1d, 0x11, 0x38,
+ 0xaf, 0xe6, 0xfb, 0x65, 0x01, 0x8b, 0xf0, 0x6a, 0x55, 0x23, 0xbd, 0x5a, 0x87, 0x1a, 0x23, 0x06,
+ 0x7a, 0x24, 0xa7, 0x3b, 0x46, 0x1c, 0xa1, 0xb7, 0xf1, 0xdb, 0x55, 0x50, 0x20, 0x61, 0x20, 0x38,
+ 0x8f, 0x6f, 0xf8, 0x80, 0x2c, 0x3a, 0x07, 0xbc, 0xcb, 0x27, 0x92, 0x7a, 0x97, 0xc3, 0xb7, 0x25,
+ 0xf5, 0x21, 0xef, 0xe5, 0x76, 0x24, 0x88, 0x25, 0x72, 0x11, 0x1f, 0xc0, 0x41, 0xfa, 0xa0, 0xfd,
+ 0x17, 0x15, 0x00, 0xdc, 0xa0, 0xd9, 0xd9, 0x87, 0xa7, 0xca, 0xc2, 0x75, 0x2b, 0xef, 0x57, 0x8f,
+ 0x81, 0x3a, 0xd5, 0x03, 0x14, 0xa5, 0x18, 0x9e, 0xaa, 0x78, 0x6d, 0x52, 0xdf, 0xca, 0x90, 0xab,
+ 0x91, 0xc0, 0x92, 0xc8, 0xdb, 0x32, 0xb2, 0xec, 0xf4, 0x01, 0xf9, 0x6f, 0x0a, 0xc8, 0xd5, 0x9d,
+ 0x1a, 0xf2, 0x0e, 0x6f, 0x0a, 0x24, 0x3e, 0xb6, 0x4f, 0xca, 0x1d, 0xc5, 0xb1, 0xfd, 0x7e, 0x84,
+ 0xd2, 0x17, 0xdd, 0xbb, 0x14, 0x30, 0x53, 0x77, 0x4a, 0xc1, 0xe2, 0x94, 0xbc, 0xaf, 0xaa, 0xfc,
+ 0xbd, 0x80, 0x41, 0x05, 0xc3, 0x62, 0x0e, 0x75, 0x2f, 0xe0, 0x60, 0x7a, 0xe9, 0xcb, 0xed, 0x0e,
+ 0x70, 0x7c, 0xc3, 0x6e, 0x39, 0x06, 0x6a, 0x39, 0x6c, 0xa5, 0x5b, 0xd3, 0x40, 0x76, 0xd7, 0x6e,
+ 0x39, 0x84, 0xe5, 0x9c, 0x41, 0x9e, 0x71, 0x9a, 0x8b, 0x5a, 0x0e, 0xf3, 0x0d, 0x20, 0xcf, 0xf0,
+ 0xab, 0x2a, 0xc8, 0xe2, 0x7f, 0xe5, 0x45, 0xfd, 0x76, 0x35, 0x61, 0x20, 0x02, 0x4c, 0x7e, 0x24,
+ 0x96, 0xd0, 0x3d, 0xdc, 0xda, 0x3f, 0xf5, 0x60, 0xbd, 0x3e, 0xaa, 0x3c, 0x4e, 0x14, 0xe1, 0x9a,
+ 0xbf, 0x76, 0x06, 0x4c, 0x5c, 0x6c, 0x3b, 0xcd, 0x4b, 0xe1, 0x79, 0x79, 0xf6, 0xaa, 0xdd, 0x0c,
+ 0x72, 0xae, 0x69, 0x6f, 0x21, 0xb6, 0xa7, 0x70, 0xb2, 0xa7, 0x2f, 0x24, 0x5e, 0x2f, 0x06, 0xcd,
+ 0x02, 0xdf, 0x96, 0x24, 0x04, 0x42, 0x9f, 0xca, 0x27, 0xd3, 0x87, 0xc5, 0x21, 0x4e, 0x96, 0x15,
+ 0xc0, 0x4c, 0xa9, 0x48, 0x6f, 0xe0, 0x5c, 0xab, 0x9e, 0xd7, 0x0b, 0x2a, 0x81, 0x19, 0xcb, 0x24,
+ 0x45, 0x98, 0x31, 0xf9, 0x1f, 0x5a, 0x98, 0xfb, 0x54, 0xfe, 0x28, 0x60, 0xfe, 0xb8, 0x02, 0x66,
+ 0x57, 0xad, 0xae, 0x17, 0xe5, 0xed, 0x1f, 0x13, 0x05, 0xee, 0xf9, 0x49, 0x4d, 0x65, 0xa1, 0x1c,
+ 0xe9, 0xf0, 0x6f, 0x89, 0xcc, 0xe1, 0xb8, 0x22, 0xc6, 0x73, 0x2c, 0x85, 0x70, 0x40, 0x6f, 0xcd,
+ 0x93, 0x96, 0x64, 0x62, 0x43, 0x29, 0x2c, 0x64, 0xfc, 0x86, 0x52, 0x64, 0xd9, 0xe9, 0xcb, 0xf7,
+ 0xab, 0x0a, 0x38, 0x81, 0x8b, 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,
+ 0xaf, 0x51, 0x03, 0x31, 0x47, 0xae, 0x6d, 0xc4, 0x88, 0x39, 0xf1, 0x89, 0x5d, 0xf8, 0x8e, 0x21,
+ 0x05, 0x3f, 0xe2, 0xf5, 0x8d, 0x61, 0x60, 0x3a, 0xc2, 0x35, 0x8e, 0xdf, 0x50, 0xc1, 0x1c, 0xe3,
+ 0xa2, 0xff, 0x94, 0x39, 0x06, 0xa3, 0xc4, 0x53, 0xe6, 0xc4, 0x67, 0x80, 0x44, 0xce, 0xc6, 0x7f,
+ 0x06, 0x28, 0xb6, 0xfc, 0xf4, 0xc1, 0xf9, 0x5a, 0x16, 0x9c, 0xc6, 0x2c, 0xac, 0x39, 0x2d, 0x6b,
+ 0x73, 0x9f, 0x72, 0x71, 0xde, 0x6c, 0xef, 0xa2, 0x2e, 0x7c, 0xaf, 0x22, 0x8b, 0xd2, 0x7f, 0x00,
+ 0xc0, 0xe9, 0x20, 0x97, 0x06, 0x52, 0x63, 0x40, 0xdd, 0x15, 0x55, 0xd9, 0x83, 0x25, 0x05, 0x41,
+ 0xd1, 0xab, 0x3e, 0x11, 0x83, 0xa3, 0x87, 0xad, 0xc2, 0xa9, 0xe0, 0x4b, 0xaf, 0x83, 0x47, 0xe6,
+ 0xa0, 0x83, 0xc7, 0x4d, 0x40, 0x35, 0x5b, 0xad, 0x00, 0xaa, 0xde, 0xcd, 0x6c, 0x52, 0xa6, 0x81,
+ 0xb3, 0xe0, 0x9c, 0x5d, 0x14, 0x1e, 0xcd, 0x8b, 0xc8, 0xd9, 0x45, 0x9e, 0x36, 0x0f, 0xf2, 0xf4,
+ 0x06, 0xc1, 0x60, 0x45, 0xbf, 0x7f, 0x66, 0x96, 0x4b, 0x34, 0xed, 0xaa, 0xa2, 0x1a, 0xde, 0x91,
+ 0x48, 0x32, 0xfd, 0xfa, 0xe9, 0xd0, 0x4e, 0x36, 0x04, 0x05, 0x7b, 0xf2, 0xd0, 0x94, 0xc7, 0xb3,
+ 0x1b, 0x56, 0xec, 0x74, 0xda, 0xfb, 0x75, 0x16, 0x7c, 0x25, 0xd1, 0x6e, 0x18, 0x17, 0xc3, 0x45,
+ 0xe9, 0x8d, 0xe1, 0x92, 0x7c, 0x37, 0x4c, 0xe0, 0x63, 0x14, 0xbb, 0x61, 0x71, 0x04, 0xc7, 0xb0,
+ 0x1e, 0x99, 0xa3, 0x56, 0x33, 0x8b, 0x51, 0xfb, 0x86, 0xfe, 0x87, 0xd0, 0x80, 0xe8, 0xec, 0xd2,
+ 0x2f, 0x7c, 0x6d, 0x6c, 0x6c, 0x6e, 0xed, 0x09, 0x20, 0xbf, 0xe9, 0xb8, 0x3b, 0xa6, 0xbf, 0x71,
+ 0xdf, 0x7b, 0x52, 0x84, 0xc5, 0x85, 0x5d, 0x22, 0x79, 0x0c, 0x96, 0x17, 0xcf, 0x47, 0x9e, 0x66,
+ 0x75, 0x58, 0xd4, 0x45, 0xfc, 0xa8, 0xdd, 0x00, 0x66, 0x59, 0xf0, 0xc5, 0x0a, 0xea, 0x7a, 0xa8,
+ 0xc5, 0x22, 0x56, 0x88, 0x89, 0xda, 0x39, 0x30, 0xc3, 0x12, 0x96, 0xac, 0x36, 0xea, 0xb2, 0xa0,
+ 0x15, 0x42, 0x9a, 0x76, 0x1a, 0xe4, 0xad, 0xee, 0x53, 0xba, 0x8e, 0x4d, 0xfc, 0xff, 0x27, 0x0d,
+ 0xf6, 0xa6, 0xdd, 0x04, 0x8e, 0xb3, 0x7c, 0x81, 0xb1, 0x4a, 0x0f, 0xec, 0xf4, 0x26, 0xc3, 0x4f,
+ 0x0f, 0x33, 0x71, 0x48, 0x1c, 0x8f, 0x17, 0xa3, 0xb0, 0xdb, 0x6c, 0x22, 0xd4, 0x62, 0x27, 0x9b,
+ 0xfc, 0xd7, 0x84, 0x91, 0x7a, 0x13, 0x4f, 0x33, 0x8e, 0x28, 0x54, 0xef, 0x07, 0x4f, 0x81, 0x3c,
+ 0xbd, 0xf6, 0x02, 0xbe, 0x68, 0xae, 0xaf, 0x32, 0xce, 0x89, 0xca, 0xb8, 0x01, 0x66, 0x6c, 0x07,
+ 0x17, 0xb7, 0x6e, 0xba, 0xe6, 0x4e, 0x37, 0x6e, 0x15, 0x91, 0xd2, 0x0d, 0x86, 0x8c, 0x0a, 0xf7,
+ 0xdb, 0xca, 0x31, 0x43, 0x20, 0xa3, 0xfd, 0x1f, 0xe0, 0xf8, 0x45, 0x16, 0x01, 0xa0, 0xcb, 0x28,
+ 0x2b, 0xd1, 0x3e, 0x76, 0x3d, 0x94, 0x17, 0xc4, 0x3f, 0x57, 0x8e, 0x19, 0xbd, 0xc4, 0xb4, 0x9f,
+ 0x02, 0x73, 0xf8, 0xb5, 0xe5, 0x5c, 0xf6, 0x19, 0x57, 0xa3, 0x0d, 0x8d, 0x1e, 0xf2, 0x6b, 0xc2,
+ 0x8f, 0x2b, 0xc7, 0x8c, 0x1e, 0x52, 0x5a, 0x15, 0x80, 0x6d, 0x6f, 0xa7, 0xcd, 0x08, 0x67, 0xa3,
+ 0x55, 0xb2, 0x87, 0xf0, 0x4a, 0xf0, 0xd3, 0xca, 0x31, 0x83, 0x23, 0xa1, 0xad, 0x82, 0x29, 0xef,
+ 0x41, 0x8f, 0xd1, 0xcb, 0x45, 0x6f, 0x6e, 0xf7, 0xd0, 0xab, 0xfb, 0xff, 0xac, 0x1c, 0x33, 0x42,
+ 0x02, 0x5a, 0x19, 0x4c, 0x76, 0x2e, 0x32, 0x62, 0xf9, 0x3e, 0x57, 0xfd, 0xf7, 0x27, 0xb6, 0x7e,
+ 0x31, 0xa0, 0x15, 0xfc, 0x8e, 0x19, 0x6b, 0x76, 0xf7, 0x18, 0xad, 0x09, 0x69, 0xc6, 0x4a, 0xfe,
+ 0x3f, 0x98, 0xb1, 0x80, 0x80, 0x56, 0x06, 0x53, 0x5d, 0xdb, 0xec, 0x74, 0xb7, 0x1d, 0xaf, 0x7b,
+ 0x66, 0xb2, 0xc7, 0x0f, 0x32, 0x9a, 0x5a, 0x8d, 0xfd, 0x63, 0x84, 0x7f, 0x6b, 0x4f, 0x00, 0xa7,
+ 0x76, 0xc9, 0xf5, 0xa1, 0xfa, 0x83, 0x56, 0xd7, 0xb3, 0xec, 0x2d, 0x3f, 0x86, 0x2c, 0xed, 0x4d,
+ 0xfa, 0x7f, 0xd4, 0xe6, 0xd9, 0x89, 0x28, 0x40, 0xda, 0x26, 0xec, 0xdd, 0x8c, 0xa3, 0xc5, 0x72,
+ 0x07, 0xa1, 0x9e, 0x04, 0xb2, 0xf8, 0x13, 0x39, 0xb3, 0x39, 0xd7, 0x7f, 0xa1, 0xaf, 0x57, 0x77,
+ 0x48, 0x03, 0xc6, 0x3f, 0xe1, 0xb1, 0xd1, 0x76, 0xd6, 0x5d, 0x67, 0xcb, 0x45, 0xdd, 0x2e, 0x73,
+ 0x38, 0xe4, 0x52, 0x70, 0x03, 0xb7, 0xba, 0x6b, 0xd6, 0x16, 0xb5, 0x9e, 0x98, 0xbf, 0x3b, 0x9f,
+ 0x44, 0x67, 0x9b, 0x15, 0x74, 0x99, 0x38, 0x04, 0x93, 0xf3, 0x37, 0x64, 0xb6, 0xe9, 0xa7, 0xc0,
+ 0x1b, 0xc1, 0x0c, 0xdf, 0xc8, 0xe8, 0xdd, 0x59, 0x56, 0x68, 0x7b, 0xb1, 0x37, 0x78, 0x03, 0x98,
+ 0x13, 0x75, 0x9a, 0x1b, 0x62, 0x54, 0xbf, 0x2b, 0x84, 0xd7, 0x83, 0xe3, 0x3d, 0x0d, 0xcb, 0x8f,
+ 0x29, 0x92, 0x09, 0x63, 0x8a, 0x5c, 0x07, 0x40, 0xa8, 0xc5, 0x7d, 0xc9, 0x5c, 0x0b, 0xa6, 0x02,
+ 0xbd, 0xec, 0x9b, 0xe1, 0xcb, 0x19, 0x30, 0xe9, 0x2b, 0x5b, 0xbf, 0x0c, 0x78, 0x7c, 0xb1, 0xb9,
+ 0x0d, 0x04, 0x36, 0xcd, 0x16, 0xd2, 0xf0, 0x38, 0x12, 0xba, 0xed, 0xd6, 0x2d, 0xaf, 0xed, 0x1f,
+ 0x7d, 0xeb, 0x4d, 0xd6, 0xd6, 0x01, 0xb0, 0x08, 0x46, 0xf5, 0xf0, 0x2c, 0xdc, 0xe3, 0x12, 0xb4,
+ 0x07, 0xaa, 0x0f, 0x1c, 0x8d, 0x73, 0x8f, 0x64, 0x07, 0xd5, 0xa6, 0x40, 0xae, 0xb6, 0x5e, 0x2c,
+ 0xe9, 0x85, 0x63, 0xda, 0x1c, 0x00, 0xfa, 0x53, 0xd7, 0x75, 0xa3, 0xac, 0x57, 0x4a, 0x7a, 0x21,
+ 0x03, 0x5f, 0xa2, 0x80, 0xa9, 0xa0, 0x11, 0xf4, 0xad, 0xa4, 0xce, 0x54, 0x6b, 0xe0, 0xf5, 0x44,
+ 0x07, 0x1b, 0x15, 0xaf, 0x64, 0x4f, 0x04, 0x57, 0xee, 0x76, 0xd1, 0x92, 0xe5, 0x76, 0x3d, 0xc3,
+ 0xb9, 0xbc, 0xe4, 0xb8, 0x41, 0xd4, 0x64, 0xff, 0x1a, 0xfe, 0x88, 0xcf, 0xd8, 0xa2, 0x68, 0x21,
+ 0x72, 0x28, 0x0a, 0xb9, 0x6c, 0x65, 0x38, 0x4c, 0xc0, 0x74, 0x3d, 0x7a, 0xef, 0x7d, 0x17, 0x19,
+ 0xce, 0xe5, 0x6e, 0xd1, 0x6e, 0x95, 0x9c, 0xf6, 0xee, 0x8e, 0xdd, 0x65, 0x36, 0x41, 0xd4, 0x67,
+ 0x2c, 0x1d, 0x72, 0xf9, 0xd8, 0x1c, 0x00, 0xa5, 0xea, 0xea, 0xaa, 0x5e, 0xaa, 0x97, 0xab, 0x95,
+ 0xc2, 0x31, 0x2c, 0xad, 0x7a, 0x71, 0x61, 0x15, 0x4b, 0xe7, 0xa7, 0xc1, 0xa4, 0xdf, 0xa6, 0x59,
+ 0x18, 0x94, 0x8c, 0x1f, 0x06, 0x45, 0x2b, 0x82, 0x49, 0xbf, 0x95, 0xb3, 0x11, 0xe1, 0x51, 0xbd,
+ 0xc7, 0x5e, 0x77, 0x4c, 0xd7, 0x23, 0xfe, 0xd2, 0x3e, 0x91, 0x05, 0xb3, 0x8b, 0x8c, 0xe0, 0xb7,
+ 0x73, 0x8f, 0x65, 0x1c, 0x68, 0x60, 0xae, 0xb8, 0xba, 0xda, 0xa8, 0x1a, 0x8d, 0x4a, 0xb5, 0xbe,
+ 0x52, 0xae, 0x2c, 0xd3, 0x11, 0xb2, 0xbc, 0x5c, 0xa9, 0x1a, 0x3a, 0x1d, 0x20, 0x6b, 0x85, 0x0c,
+ 0xbd, 0xfc, 0x6e, 0x61, 0x12, 0xe4, 0x3b, 0x44, 0xba, 0xf0, 0x0b, 0x6a, 0xc2, 0xf3, 0xee, 0x01,
+ 0x4e, 0x11, 0xd7, 0x73, 0x09, 0x3e, 0xe7, 0x4a, 0x9f, 0x33, 0xa1, 0xe7, 0xc0, 0x0c, 0xb5, 0xe5,
+ 0xba, 0x64, 0xf9, 0x9e, 0xdd, 0x70, 0x2b, 0xa4, 0xc1, 0x0f, 0x2b, 0x09, 0x0e, 0xc1, 0xf7, 0xe5,
+ 0x28, 0x99, 0x71, 0xf1, 0x17, 0xc3, 0x5c, 0x76, 0xa7, 0x81, 0xb9, 0x72, 0xa5, 0xae, 0x1b, 0x95,
+ 0xe2, 0x2a, 0xcb, 0xa2, 0x6a, 0x67, 0xc0, 0xc9, 0x4a, 0x95, 0xc5, 0xf4, 0xab, 0x91, 0x6b, 0xb5,
+ 0xd7, 0xd6, 0xab, 0x46, 0xbd, 0x90, 0xd3, 0x4e, 0x03, 0x8d, 0x3e, 0x0b, 0xb7, 0xd2, 0xe7, 0xb5,
+ 0x47, 0x83, 0xeb, 0x57, 0xcb, 0x6b, 0xe5, 0x7a, 0xa3, 0xba, 0xd4, 0x30, 0xaa, 0x17, 0x6a, 0x18,
+ 0x41, 0x43, 0x5f, 0x2d, 0x62, 0x45, 0xe2, 0x2e, 0xc1, 0x9b, 0xd0, 0xae, 0x00, 0xc7, 0xc9, 0x05,
+ 0x97, 0xe4, 0x66, 0x7b, 0x5a, 0xde, 0xa4, 0x76, 0x0d, 0x38, 0x53, 0xae, 0xd4, 0x36, 0x96, 0x96,
+ 0xca, 0xa5, 0xb2, 0x5e, 0xa9, 0x37, 0xd6, 0x75, 0x63, 0xad, 0x5c, 0xab, 0xe1, 0x7f, 0x0b, 0x53,
+ 0xe4, 0x8a, 0x31, 0xda, 0x67, 0xc2, 0xf7, 0xa8, 0x60, 0xf6, 0xbc, 0xd9, 0xb6, 0xf0, 0x40, 0x41,
+ 0xee, 0x1e, 0xec, 0x39, 0x2e, 0xe2, 0x91, 0x3b, 0x0a, 0x99, 0xc3, 0x39, 0x79, 0x81, 0x3f, 0xaf,
+ 0x26, 0x3c, 0x2e, 0xc2, 0x80, 0xa0, 0x25, 0xce, 0x0b, 0xa5, 0x45, 0x4c, 0x6e, 0x5e, 0xa9, 0x24,
+ 0x38, 0x2e, 0x22, 0x4f, 0x3e, 0x19, 0xf8, 0xbf, 0x39, 0x2a, 0xf0, 0x0b, 0x60, 0x66, 0xa3, 0x52,
+ 0xdc, 0xa8, 0xaf, 0x54, 0x8d, 0xf2, 0x4f, 0x92, 0x68, 0xe3, 0xb3, 0x60, 0x6a, 0xa9, 0x6a, 0x2c,
+ 0x94, 0x17, 0x17, 0xf5, 0x4a, 0x21, 0xa7, 0x5d, 0x09, 0xae, 0xa8, 0xe9, 0xc6, 0xf9, 0x72, 0x49,
+ 0x6f, 0x6c, 0x54, 0x8a, 0xe7, 0x8b, 0xe5, 0x55, 0xd2, 0x47, 0xe4, 0x63, 0xee, 0x4d, 0x9c, 0x80,
+ 0x3f, 0x9b, 0x05, 0x80, 0x56, 0x1d, 0x5b, 0xd2, 0xfc, 0xed, 0x7a, 0x9f, 0x4d, 0x3a, 0x69, 0x08,
+ 0xc9, 0x44, 0xb4, 0xdf, 0x32, 0x98, 0x74, 0xd9, 0x07, 0xb6, 0x7c, 0x32, 0x88, 0x0e, 0x7d, 0xf4,
+ 0xa9, 0x19, 0xc1, 0xef, 0xf0, 0xbd, 0x49, 0xe6, 0x08, 0x91, 0x8c, 0x25, 0x43, 0x72, 0x69, 0x34,
+ 0x40, 0xc2, 0xe7, 0x65, 0xc0, 0x9c, 0x58, 0x31, 0x5c, 0x09, 0x62, 0x4c, 0xc9, 0x55, 0x42, 0xfc,
+ 0x99, 0x33, 0xb2, 0xce, 0xdd, 0xce, 0x86, 0x53, 0xe0, 0xb7, 0x4c, 0x7a, 0xf2, 0xdb, 0xb7, 0x58,
+ 0x0a, 0x19, 0xcc, 0x3c, 0x36, 0x3a, 0xe8, 0xd5, 0xea, 0xf5, 0x07, 0xbd, 0x82, 0x0a, 0xdf, 0x95,
+ 0x05, 0xb3, 0xc2, 0xf5, 0x7d, 0xf0, 0x5b, 0x19, 0x99, 0xab, 0xb5, 0xb8, 0x8b, 0x01, 0x33, 0x87,
+ 0xbd, 0x18, 0xf0, 0xdc, 0xcf, 0x65, 0xc0, 0x04, 0x4b, 0x24, 0x02, 0xae, 0x56, 0xb0, 0x2d, 0x70,
+ 0x1c, 0x4c, 0x2f, 0xeb, 0xf5, 0x46, 0xad, 0x5e, 0x34, 0xea, 0xfa, 0x62, 0x21, 0xa3, 0x9d, 0x02,
+ 0x27, 0xd6, 0x75, 0xa3, 0x56, 0xc5, 0xf2, 0x5c, 0x37, 0xaa, 0xa4, 0x23, 0xa4, 0x62, 0xc6, 0x30,
+ 0xac, 0xea, 0x8b, 0xcb, 0x7a, 0x63, 0xa1, 0x58, 0xd3, 0x0b, 0x2a, 0xfe, 0xb7, 0x52, 0xad, 0xeb,
+ 0xb5, 0xc6, 0x62, 0xb9, 0x68, 0xdc, 0x5f, 0xc8, 0xe2, 0x7f, 0x6b, 0x75, 0xa3, 0x58, 0xd7, 0x97,
+ 0xcb, 0x25, 0x72, 0x21, 0x3d, 0x6e, 0x01, 0x39, 0x3c, 0x98, 0xea, 0x6b, 0xeb, 0xf5, 0xfb, 0x0b,
+ 0xf9, 0xe4, 0x5e, 0x7d, 0xbd, 0x95, 0x1b, 0xb3, 0x57, 0x5f, 0x5c, 0xf1, 0xe9, 0xcf, 0x7f, 0x3f,
+ 0xa9, 0x82, 0x02, 0xe5, 0x40, 0x7f, 0xb0, 0x83, 0x5c, 0x0b, 0xd9, 0x4d, 0x04, 0x2f, 0xc9, 0x44,
+ 0x11, 0x3d, 0x10, 0x5f, 0x8f, 0x8c, 0x11, 0x9c, 0xe5, 0x49, 0x5f, 0x7a, 0x8c, 0xf6, 0xec, 0x01,
+ 0xa3, 0xfd, 0x13, 0x49, 0xdd, 0xfa, 0x7a, 0xd9, 0x1d, 0x09, 0x64, 0x1f, 0x4b, 0xe2, 0xd6, 0x37,
+ 0x80, 0x83, 0xb1, 0x04, 0x07, 0x8e, 0x18, 0xd3, 0x0b, 0x2a, 0x7c, 0xeb, 0x14, 0x28, 0x50, 0x46,
+ 0x39, 0x5f, 0xa9, 0x5f, 0x61, 0x77, 0x21, 0x36, 0x12, 0x84, 0xa6, 0xf3, 0x0f, 0xfb, 0x2b, 0xe2,
+ 0x61, 0x7f, 0x61, 0xe9, 0x4d, 0xed, 0xdd, 0xdf, 0x4e, 0xda, 0xfc, 0x38, 0xc7, 0xa8, 0xe8, 0x68,
+ 0xa0, 0xe9, 0x35, 0xbf, 0xd8, 0xe2, 0xc7, 0x73, 0x5f, 0x17, 0xbb, 0x91, 0x4f, 0x97, 0x45, 0x26,
+ 0xfe, 0x5a, 0xc2, 0xa4, 0x5e, 0xb2, 0x82, 0x63, 0x5a, 0xcc, 0x5d, 0x7d, 0xe9, 0x79, 0xc9, 0x0e,
+ 0xe2, 0x20, 0x7d, 0x14, 0xbe, 0xaf, 0x80, 0x6c, 0xcd, 0x71, 0xbd, 0x51, 0x61, 0x90, 0x74, 0x67,
+ 0x8f, 0x93, 0x40, 0x2d, 0x7a, 0xe6, 0x94, 0xde, 0xce, 0x5e, 0x7c, 0xf9, 0x63, 0x88, 0xee, 0x77,
+ 0x1c, 0xcc, 0x51, 0x4e, 0x82, 0xab, 0x2f, 0xbe, 0xa7, 0xd0, 0xfe, 0xea, 0x3e, 0x59, 0x44, 0xce,
+ 0x81, 0x19, 0x6e, 0x67, 0x2d, 0xb8, 0xf6, 0x99, 0x4f, 0x83, 0xaf, 0xe7, 0x71, 0x59, 0x14, 0x71,
+ 0xe9, 0x37, 0x6f, 0x0c, 0x6e, 0x8f, 0x18, 0x55, 0xcf, 0x94, 0x24, 0x50, 0x60, 0x4c, 0xe1, 0xe9,
+ 0x23, 0xf2, 0x4c, 0x15, 0xe4, 0x99, 0x67, 0xd3, 0x48, 0x11, 0x48, 0xda, 0x32, 0x02, 0x21, 0xc8,
+ 0x79, 0x40, 0xa9, 0xa3, 0x6e, 0x19, 0xf1, 0xe5, 0xa7, 0x8f, 0xc3, 0xbf, 0x31, 0x97, 0xbd, 0xe2,
+ 0x9e, 0x69, 0xb5, 0xcd, 0x8b, 0xed, 0x04, 0x01, 0x7a, 0x3f, 0x9c, 0xf0, 0x90, 0x52, 0x50, 0x55,
+ 0xa1, 0xbc, 0x08, 0x89, 0xff, 0x28, 0x98, 0x72, 0x83, 0x85, 0x35, 0xff, 0x0c, 0x77, 0x8f, 0xbb,
+ 0x24, 0xfb, 0x6e, 0x84, 0x39, 0x13, 0x9d, 0x48, 0x92, 0xe2, 0x67, 0x2c, 0x27, 0x28, 0xa6, 0x8b,
+ 0xad, 0xd6, 0x12, 0x32, 0xbd, 0x5d, 0x17, 0xb5, 0x12, 0x0d, 0x11, 0xa2, 0x88, 0xa6, 0x78, 0x49,
+ 0x08, 0x21, 0xf2, 0x56, 0x45, 0x74, 0x7e, 0x6c, 0x40, 0x6f, 0xe0, 0xf3, 0x32, 0x92, 0x2e, 0xe9,
+ 0x2d, 0x01, 0x24, 0x55, 0x01, 0x92, 0x27, 0x0d, 0xc7, 0x44, 0xfa, 0x80, 0xfc, 0x9a, 0x0a, 0xe6,
+ 0xa8, 0x9d, 0x30, 0x6a, 0x4c, 0x7e, 0x2f, 0xa1, 0x27, 0x04, 0x77, 0xb9, 0x10, 0xcf, 0xce, 0x48,
+ 0x60, 0x49, 0xe2, 0x37, 0x21, 0xc7, 0x47, 0xfa, 0xc8, 0x7c, 0x3a, 0x0f, 0x00, 0xe7, 0xdd, 0xf6,
+ 0xe1, 0x7c, 0x18, 0xae, 0x0e, 0xbe, 0x8d, 0xcd, 0x3f, 0x6a, 0x42, 0xec, 0x64, 0xce, 0x73, 0x2d,
+ 0xd8, 0x56, 0x11, 0x13, 0xa5, 0x46, 0x95, 0xbf, 0x48, 0x68, 0xf3, 0x32, 0xdf, 0xb2, 0x81, 0x83,
+ 0xfb, 0x90, 0xbd, 0xdc, 0x47, 0x12, 0x18, 0xbf, 0x83, 0x58, 0x49, 0x86, 0xda, 0xea, 0x10, 0x73,
+ 0xc9, 0x33, 0xe0, 0xa4, 0xa1, 0x17, 0x17, 0xab, 0x95, 0xd5, 0xfb, 0xf9, 0x9b, 0x66, 0x0a, 0x2a,
+ 0x3f, 0x39, 0x49, 0x05, 0xb6, 0x57, 0x27, 0xec, 0x03, 0x45, 0x59, 0xc5, 0xcd, 0x56, 0xb8, 0xe9,
+ 0xfc, 0xe0, 0x5e, 0x4d, 0x82, 0xec, 0x51, 0xa2, 0xf0, 0xc6, 0x29, 0xae, 0x19, 0x3d, 0x47, 0x05,
+ 0x85, 0xf0, 0xb2, 0x73, 0x76, 0xa5, 0x58, 0x55, 0x74, 0x7e, 0xeb, 0xd0, 0x5d, 0x94, 0xd0, 0xf9,
+ 0xcd, 0x4f, 0xd0, 0x6e, 0x04, 0x73, 0xcd, 0x6d, 0xd4, 0xbc, 0x54, 0xb6, 0xfd, 0xdd, 0x61, 0xba,
+ 0x95, 0xd8, 0x93, 0x2a, 0x02, 0x73, 0x9f, 0x08, 0x8c, 0x38, 0x89, 0x16, 0x06, 0x69, 0x9e, 0xa9,
+ 0x08, 0x5c, 0xfe, 0x28, 0xc0, 0xa5, 0x22, 0xe0, 0x72, 0xe7, 0x50, 0x54, 0x93, 0xc1, 0x52, 0x19,
+ 0x02, 0x16, 0x08, 0x4e, 0x57, 0xd7, 0xeb, 0xe5, 0x6a, 0xa5, 0xb1, 0x51, 0xd3, 0x17, 0x1b, 0x0b,
+ 0x3e, 0x38, 0xb5, 0x82, 0x0a, 0xbf, 0xae, 0x80, 0x09, 0xca, 0x56, 0xb7, 0xe7, 0x72, 0xf2, 0x78,
+ 0xaf, 0x3f, 0xf8, 0x56, 0xe9, 0x33, 0xfc, 0x81, 0x20, 0x58, 0x39, 0x11, 0xfd, 0xd4, 0x13, 0xc1,
+ 0x04, 0x05, 0xd9, 0x77, 0x1a, 0x39, 0x1b, 0xd1, 0x4b, 0x31, 0x32, 0x86, 0x9f, 0x5d, 0xf2, 0x3c,
+ 0xff, 0x00, 0x36, 0xd2, 0x1f, 0x59, 0x5e, 0xa7, 0x52, 0x33, 0xf8, 0x82, 0xe5, 0x6d, 0x13, 0xa7,
+ 0x40, 0xf8, 0x13, 0x32, 0x4b, 0x94, 0xb7, 0x80, 0xdc, 0x1e, 0xce, 0x3d, 0xc0, 0xc1, 0x92, 0x66,
+ 0x82, 0x7f, 0x20, 0x1d, 0xe9, 0x4a, 0xd0, 0xcf, 0x80, 0xa7, 0xe8, 0x0d, 0xcf, 0x41, 0x3d, 0xa1,
+ 0x06, 0x85, 0x43, 0x4d, 0xea, 0x4d, 0x6a, 0xe2, 0x78, 0x8d, 0x52, 0x2c, 0xa5, 0x0f, 0xd4, 0xff,
+ 0x7b, 0x1c, 0x4c, 0xac, 0x58, 0x5d, 0xcf, 0x71, 0xf7, 0xe1, 0x6b, 0x33, 0x60, 0xe2, 0x3c, 0x72,
+ 0xbb, 0x96, 0x63, 0x1f, 0xd8, 0xd5, 0xbe, 0x0e, 0x4c, 0x77, 0x5c, 0xb4, 0x67, 0x39, 0xbb, 0xdd,
+ 0x70, 0x05, 0x85, 0x4f, 0xc2, 0x22, 0x31, 0x77, 0xbd, 0x6d, 0xc7, 0x0d, 0x03, 0x1b, 0xf8, 0xef,
+ 0xda, 0x59, 0x00, 0xe8, 0x73, 0xc5, 0xdc, 0x41, 0x6c, 0xaf, 0x9e, 0x4b, 0xd1, 0x34, 0x90, 0xf5,
+ 0xac, 0x1d, 0xc4, 0x22, 0x9d, 0x92, 0x67, 0xac, 0x25, 0x24, 0x6a, 0x18, 0x8b, 0xce, 0xa6, 0x1a,
+ 0xfe, 0x2b, 0xfc, 0x9c, 0x0a, 0xa6, 0x97, 0x91, 0xc7, 0x58, 0xed, 0xc2, 0xe7, 0x67, 0xa4, 0x2e,
+ 0x17, 0xc0, 0x03, 0x61, 0xdb, 0xec, 0xfa, 0xff, 0x05, 0xeb, 0xa4, 0x62, 0x62, 0x18, 0x76, 0x55,
+ 0xe5, 0x63, 0x2e, 0x93, 0x18, 0x5c, 0x5e, 0x99, 0xba, 0xf8, 0xb1, 0xcc, 0x6c, 0x6d, 0xfc, 0xe0,
+ 0x07, 0xf8, 0x2e, 0x45, 0xf6, 0xfc, 0x2a, 0x93, 0xfd, 0x3c, 0x57, 0x9f, 0xc8, 0x3e, 0x63, 0x72,
+ 0x8f, 0xe5, 0x38, 0x10, 0x4e, 0x9b, 0xa7, 0xc4, 0xc8, 0x18, 0x41, 0x6e, 0xc9, 0x93, 0xaf, 0x83,
+ 0x39, 0x49, 0x5f, 0x1b, 0xbf, 0xa3, 0x82, 0xe9, 0xda, 0xb6, 0x73, 0xd9, 0x97, 0xe3, 0x4f, 0xcb,
+ 0x01, 0x7b, 0x0d, 0x98, 0xda, 0xeb, 0x01, 0x35, 0x4c, 0x88, 0xbe, 0xee, 0x1b, 0x3e, 0xa4, 0x26,
+ 0x85, 0x89, 0x63, 0x6e, 0xe4, 0x97, 0x71, 0x6b, 0x3f, 0x06, 0x26, 0x18, 0xd7, 0x6c, 0x5d, 0x24,
+ 0x1e, 0x60, 0x3f, 0x33, 0x5f, 0xc1, 0xac, 0x58, 0xc1, 0x64, 0xc8, 0x47, 0x57, 0x2e, 0x7d, 0xe4,
+ 0xff, 0x54, 0x21, 0x71, 0x0f, 0x7c, 0xe0, 0x4b, 0x23, 0x00, 0x1e, 0x7e, 0x37, 0x23, 0xbb, 0x7a,
+ 0x18, 0x48, 0x20, 0xe0, 0xe0, 0x50, 0x17, 0x87, 0x0c, 0x24, 0x97, 0xbe, 0x3c, 0x5f, 0x92, 0x05,
+ 0x33, 0x8b, 0xd6, 0xe6, 0x66, 0xd0, 0x49, 0xbe, 0x40, 0xb2, 0x93, 0x8c, 0xde, 0x79, 0xc6, 0xc6,
+ 0xe8, 0xae, 0xeb, 0x22, 0xdb, 0xaf, 0x14, 0x6b, 0x4e, 0x3d, 0xa9, 0xda, 0x4d, 0xe0, 0xb8, 0x3f,
+ 0x2e, 0xf0, 0x1d, 0xe5, 0x94, 0xd1, 0x9b, 0x0c, 0xbf, 0x2d, 0xbd, 0xf5, 0xe4, 0x4b, 0x94, 0xaf,
+ 0x52, 0x44, 0x03, 0xbc, 0x0b, 0xcc, 0x6e, 0xd3, 0xdc, 0x64, 0x7e, 0xee, 0x77, 0x96, 0xa7, 0x7b,
+ 0xe2, 0xca, 0xae, 0xa1, 0x6e, 0xd7, 0xdc, 0x42, 0x86, 0x98, 0xb9, 0xa7, 0xf9, 0xaa, 0x49, 0x6e,
+ 0x49, 0x92, 0xdb, 0xc5, 0x92, 0xa8, 0x49, 0xfa, 0xda, 0xf1, 0x95, 0x47, 0x82, 0xec, 0x92, 0xd5,
+ 0x46, 0xf0, 0x17, 0x14, 0x30, 0x65, 0xa0, 0xa6, 0x63, 0x37, 0xf1, 0x1b, 0xe7, 0x87, 0xf2, 0x4f,
+ 0x19, 0xd9, 0xdb, 0x01, 0x31, 0x9d, 0xf9, 0x80, 0x46, 0x44, 0xbb, 0x91, 0xbb, 0x05, 0x30, 0x96,
+ 0xd4, 0x18, 0xee, 0x72, 0xc0, 0xf3, 0x83, 0xcd, 0xcd, 0xb6, 0x63, 0x0a, 0x2b, 0x54, 0xbd, 0xa6,
+ 0xd0, 0xcd, 0xa0, 0xe0, 0x1f, 0x27, 0x70, 0xbc, 0x75, 0xcb, 0xb6, 0x83, 0xf3, 0xaa, 0x07, 0xd2,
+ 0xc5, 0xcd, 0xd5, 0xd8, 0x90, 0x1f, 0xa4, 0xee, 0xac, 0xf4, 0x08, 0xcd, 0xbe, 0x11, 0xcc, 0x5d,
+ 0xdc, 0xf7, 0x50, 0x97, 0xe5, 0x62, 0xc5, 0x66, 0x8d, 0x9e, 0x54, 0x2e, 0x60, 0x6f, 0x5c, 0x68,
+ 0x90, 0x98, 0x02, 0x93, 0x89, 0x7a, 0x65, 0x88, 0x69, 0xda, 0x49, 0x50, 0xa8, 0x54, 0x17, 0x75,
+ 0xe2, 0x16, 0xe5, 0xfb, 0x99, 0x6c, 0xc1, 0x17, 0xaa, 0x60, 0x86, 0xf8, 0x18, 0xf8, 0x28, 0x5c,
+ 0x2f, 0x31, 0x69, 0x80, 0x5f, 0x94, 0x76, 0x99, 0x22, 0x55, 0xe6, 0x0b, 0x88, 0x16, 0xf4, 0xa6,
+ 0xd5, 0xee, 0x15, 0x74, 0xce, 0xe8, 0x49, 0xed, 0x03, 0x88, 0xda, 0x17, 0x90, 0xdf, 0x91, 0xf2,
+ 0x9b, 0x1a, 0xc4, 0xdd, 0x51, 0xa1, 0xf2, 0xbb, 0x2a, 0x98, 0xc6, 0x93, 0x14, 0x1f, 0x94, 0xaa,
+ 0x00, 0x8a, 0x63, 0xb7, 0xf7, 0xc3, 0xb5, 0x0b, 0xff, 0x35, 0x51, 0x23, 0xf9, 0x2b, 0xe9, 0xe9,
+ 0x35, 0x11, 0x11, 0xc7, 0xcb, 0x98, 0xf0, 0x7b, 0x9f, 0xd4, 0xa4, 0x7b, 0x00, 0x73, 0x47, 0x05,
+ 0xdf, 0x9b, 0x72, 0x20, 0xbf, 0xd1, 0x21, 0xc8, 0x7d, 0x55, 0x91, 0x09, 0x7e, 0x7d, 0xc0, 0x67,
+ 0x1e, 0x9b, 0x59, 0x6d, 0xa7, 0x69, 0xb6, 0xd7, 0xc3, 0xc3, 0x47, 0x61, 0x82, 0x76, 0x27, 0x73,
+ 0xa3, 0xa3, 0x27, 0xb7, 0x6e, 0x8c, 0x8d, 0x0b, 0x4d, 0x64, 0xc4, 0x9d, 0x4f, 0xb8, 0x05, 0x9c,
+ 0x68, 0x59, 0x5d, 0xf3, 0x62, 0x1b, 0xe9, 0x76, 0xd3, 0xdd, 0xa7, 0xe2, 0x60, 0xd3, 0xaa, 0x03,
+ 0x1f, 0xb4, 0xbb, 0x41, 0xae, 0xeb, 0xed, 0xb7, 0xe9, 0x3c, 0x91, 0x3f, 0xce, 0x10, 0x59, 0x54,
+ 0x0d, 0x67, 0x37, 0xe8, 0x5f, 0xfc, 0xd5, 0xc0, 0x13, 0x92, 0x57, 0x03, 0xdf, 0x0e, 0xf2, 0x8e,
+ 0x6b, 0x6d, 0x59, 0xf4, 0xaa, 0x97, 0xb9, 0x03, 0xe1, 0xcf, 0xa8, 0x29, 0x50, 0x25, 0x59, 0x0c,
+ 0x96, 0x15, 0xbe, 0x4f, 0x91, 0x8d, 0xb5, 0x42, 0x78, 0xa4, 0xe0, 0x8c, 0xe7, 0x26, 0xff, 0x97,
+ 0x4b, 0x45, 0x41, 0x89, 0x66, 0x2b, 0xfd, 0x41, 0xf8, 0x33, 0x0a, 0x98, 0x5c, 0x74, 0x2e, 0xdb,
+ 0x44, 0x61, 0xef, 0x90, 0xb3, 0x59, 0xfb, 0x9c, 0x8b, 0x13, 0x6f, 0x12, 0x8c, 0x75, 0x82, 0x27,
+ 0xb5, 0xf5, 0x8b, 0x8c, 0x80, 0x21, 0xb6, 0x05, 0x48, 0xde, 0xef, 0x16, 0x57, 0x4e, 0xfa, 0x72,
+ 0xfd, 0x33, 0x15, 0x64, 0x17, 0x5d, 0xa7, 0x03, 0xdf, 0x92, 0x49, 0xe0, 0x1f, 0xd0, 0x72, 0x9d,
+ 0x4e, 0x9d, 0x5c, 0xd0, 0x14, 0x7a, 0xfe, 0xf3, 0x69, 0xda, 0x1d, 0x60, 0xb2, 0xe3, 0x74, 0x2d,
+ 0xcf, 0x9f, 0x0e, 0xcc, 0xdd, 0xf6, 0x88, 0xbe, 0xad, 0x72, 0x9d, 0x65, 0x32, 0x82, 0xec, 0xb8,
+ 0xf7, 0x25, 0x22, 0xc4, 0x72, 0xc1, 0x62, 0xf4, 0x2f, 0xa9, 0xea, 0x49, 0x85, 0x2f, 0xe2, 0x91,
+ 0x7c, 0x92, 0x88, 0xe4, 0xa3, 0xfa, 0x48, 0xd8, 0x75, 0x3a, 0x23, 0xd9, 0xd1, 0x7b, 0x69, 0x80,
+ 0xea, 0x93, 0x05, 0x54, 0x6f, 0x96, 0x2a, 0x33, 0x7d, 0x44, 0xdf, 0x97, 0x05, 0x80, 0x98, 0x0b,
+ 0x1b, 0x78, 0x22, 0x23, 0x67, 0x2b, 0x3d, 0x2b, 0xcb, 0xc9, 0xb2, 0x28, 0xca, 0xf2, 0x31, 0x11,
+ 0xd6, 0x08, 0x21, 0x1f, 0x21, 0xd1, 0x22, 0xc8, 0xed, 0xe2, 0xcf, 0x4c, 0xa2, 0x92, 0x24, 0xc8,
+ 0xab, 0x41, 0xff, 0x84, 0x7f, 0x9a, 0x01, 0x39, 0x92, 0xa0, 0x9d, 0x05, 0x80, 0x0c, 0xd0, 0xf4,
+ 0x0c, 0x49, 0x86, 0x0c, 0xc5, 0x5c, 0x0a, 0xd1, 0x56, 0xab, 0xc5, 0x3e, 0x53, 0xd3, 0x37, 0x4c,
+ 0xc0, 0x7f, 0x93, 0x61, 0x9b, 0xd0, 0x62, 0x03, 0x39, 0x97, 0x82, 0xff, 0x26, 0x6f, 0xab, 0x68,
+ 0x93, 0xc6, 0xce, 0xcd, 0x1a, 0x61, 0x42, 0xf0, 0xf7, 0x6a, 0x70, 0xe3, 0x92, 0xff, 0x37, 0x49,
+ 0xc1, 0x93, 0x5a, 0xa2, 0x96, 0x0b, 0x61, 0x11, 0x79, 0x92, 0xa9, 0x37, 0x19, 0xbe, 0x3a, 0x50,
+ 0x9b, 0x45, 0x41, 0x6d, 0x1e, 0x97, 0x40, 0xbc, 0xe9, 0x2b, 0xcf, 0x97, 0x73, 0x60, 0xaa, 0xe2,
+ 0xb4, 0x98, 0xee, 0x70, 0x13, 0xbf, 0x8f, 0xe5, 0x12, 0x4d, 0xfc, 0x02, 0x1a, 0x11, 0x0a, 0x72,
+ 0xaf, 0xa8, 0x20, 0x72, 0x14, 0x78, 0xfd, 0xd0, 0x16, 0x40, 0x9e, 0x68, 0xef, 0xc1, 0xab, 0x7c,
+ 0xe2, 0x48, 0x10, 0xd1, 0x1a, 0xec, 0xcf, 0x7f, 0x77, 0x3a, 0xf6, 0x9f, 0x41, 0x8e, 0x54, 0x30,
+ 0x66, 0x2b, 0x45, 0xac, 0xa8, 0x12, 0x5f, 0x51, 0x35, 0xbe, 0xa2, 0xd9, 0xde, 0x8a, 0x26, 0x99,
+ 0xcf, 0x47, 0x69, 0x48, 0xfa, 0x3a, 0xfe, 0x8f, 0x13, 0x00, 0x54, 0xcc, 0x3d, 0x6b, 0x8b, 0x6e,
+ 0xc5, 0x7e, 0xce, 0x9f, 0xc7, 0xb0, 0x4d, 0xd3, 0xff, 0xc2, 0x0d, 0x84, 0x77, 0x80, 0x09, 0x36,
+ 0xee, 0xb1, 0x8a, 0x5c, 0x2b, 0x54, 0x24, 0xa4, 0x42, 0xcd, 0xcb, 0x07, 0x3d, 0xc3, 0xcf, 0x2f,
+ 0xdc, 0x3a, 0xaa, 0xf4, 0xdc, 0x3a, 0xda, 0x7f, 0x2f, 0x21, 0xe2, 0x2e, 0x52, 0xf8, 0x6e, 0xe9,
+ 0xfd, 0x2c, 0x8e, 0x1f, 0xae, 0x46, 0x11, 0x4d, 0xf0, 0x76, 0x30, 0xe1, 0x04, 0xbb, 0xc7, 0x6a,
+ 0xe4, 0x7a, 0x56, 0xd9, 0xde, 0x74, 0x0c, 0x3f, 0xa7, 0xe4, 0x26, 0x96, 0x14, 0x1f, 0x63, 0x39,
+ 0x13, 0x71, 0x7a, 0xd9, 0x8f, 0x43, 0x84, 0xeb, 0x71, 0xc1, 0xf2, 0xb6, 0x57, 0x2d, 0xfb, 0x52,
+ 0x17, 0xfe, 0x47, 0x39, 0x0b, 0x92, 0xc3, 0x5f, 0x49, 0x86, 0xbf, 0x18, 0xe6, 0xa1, 0x26, 0xa2,
+ 0x76, 0x77, 0x14, 0x95, 0xfe, 0xdc, 0x46, 0x00, 0x78, 0x27, 0xc8, 0x53, 0x46, 0x59, 0x27, 0x7a,
+ 0x2e, 0x12, 0xbf, 0x80, 0x92, 0xc1, 0xfe, 0x80, 0xef, 0x0a, 0x70, 0x3c, 0x2f, 0xe0, 0xb8, 0x70,
+ 0x28, 0xce, 0x52, 0x87, 0xf4, 0xdc, 0xe3, 0xc1, 0x04, 0x93, 0xb4, 0x36, 0xc7, 0xb7, 0xe2, 0xc2,
+ 0x31, 0x0d, 0x80, 0xfc, 0x9a, 0xb3, 0x87, 0xea, 0x4e, 0x21, 0x83, 0x9f, 0x31, 0x7f, 0x75, 0xa7,
+ 0xa0, 0xc0, 0x97, 0x4d, 0x82, 0xc9, 0x20, 0x00, 0xcc, 0x67, 0x14, 0x50, 0x28, 0xb9, 0xc8, 0xf4,
+ 0xd0, 0x92, 0xeb, 0xec, 0xd0, 0x1a, 0xc9, 0xbb, 0x62, 0xfe, 0x9a, 0xb4, 0x3f, 0x45, 0x10, 0x98,
+ 0xa5, 0xb7, 0xb0, 0x08, 0x2c, 0xe9, 0x62, 0xa2, 0xe2, 0x2f, 0x26, 0xc2, 0x37, 0x4b, 0xf9, 0x57,
+ 0xc8, 0x96, 0x92, 0x7e, 0x53, 0xfb, 0x84, 0x02, 0x72, 0xa5, 0xb6, 0x63, 0x23, 0xfe, 0x52, 0xfd,
+ 0x81, 0x07, 0x53, 0xfa, 0xef, 0x28, 0xc0, 0xa7, 0x2b, 0xb2, 0xb6, 0x46, 0x28, 0x00, 0x5c, 0xb6,
+ 0xa4, 0x6c, 0xe5, 0x06, 0xa9, 0x58, 0xd2, 0xe9, 0x0b, 0xf4, 0xeb, 0x0a, 0x98, 0xa2, 0xa1, 0x54,
+ 0x8a, 0xed, 0x36, 0x7c, 0x44, 0x28, 0xd4, 0x3e, 0x41, 0x74, 0xe0, 0xef, 0x48, 0xfb, 0xc3, 0x07,
+ 0xb5, 0x0a, 0x68, 0x27, 0x88, 0x29, 0x93, 0xcc, 0x3d, 0x5b, 0x6e, 0x4f, 0x6c, 0x20, 0x43, 0xe9,
+ 0x8b, 0xfa, 0xb3, 0x0a, 0x36, 0x00, 0xec, 0x4b, 0xeb, 0x2e, 0xda, 0xb3, 0xd0, 0x65, 0x78, 0x75,
+ 0x28, 0xec, 0x83, 0x71, 0x22, 0xde, 0x20, 0xbd, 0x88, 0xc3, 0x91, 0x8c, 0xdc, 0x92, 0x9a, 0x6e,
+ 0x87, 0x99, 0x58, 0x2f, 0xde, 0x1b, 0xbc, 0x83, 0x23, 0x63, 0xf0, 0xd9, 0x25, 0xd7, 0x6c, 0xa2,
+ 0xb9, 0x48, 0x5f, 0xb0, 0x0f, 0x4d, 0x80, 0xc9, 0x0d, 0xbb, 0xdb, 0x69, 0x9b, 0xdd, 0x6d, 0xf8,
+ 0x3d, 0x15, 0xe4, 0xe9, 0x05, 0x52, 0xf0, 0x47, 0x85, 0xe3, 0xe8, 0x3f, 0xb3, 0x8b, 0x5c, 0xdf,
+ 0xbd, 0x8a, 0xbe, 0xf4, 0xbf, 0xdf, 0x1a, 0xbe, 0x4f, 0x95, 0x9d, 0xa4, 0xfa, 0x85, 0xc6, 0xdf,
+ 0xd8, 0x5f, 0x06, 0x93, 0x1d, 0xab, 0xe9, 0xed, 0xba, 0xc1, 0x6d, 0xc9, 0x8f, 0x95, 0xa3, 0xb2,
+ 0x4e, 0xff, 0x32, 0x82, 0xdf, 0xa1, 0x09, 0x26, 0x58, 0xe2, 0x81, 0x6d, 0xa1, 0x83, 0xc7, 0x2b,
+ 0x4f, 0x83, 0xbc, 0xe9, 0x7a, 0x56, 0xd7, 0xbf, 0x8d, 0x9e, 0xbd, 0xe1, 0xee, 0x92, 0x3e, 0x6d,
+ 0xb8, 0x6d, 0x3f, 0x70, 0x45, 0x90, 0x00, 0x7f, 0x57, 0x6a, 0xfe, 0x18, 0x5f, 0xf3, 0x64, 0x90,
+ 0xdf, 0x37, 0xc4, 0x5a, 0xf3, 0x95, 0xe0, 0x0a, 0xa3, 0x58, 0xd7, 0x1b, 0x34, 0xce, 0x41, 0x10,
+ 0xd2, 0xa0, 0x05, 0xbf, 0xc7, 0xaf, 0xdf, 0x89, 0x63, 0x04, 0x93, 0x62, 0x38, 0x46, 0x04, 0x09,
+ 0x31, 0x63, 0xc4, 0x9b, 0xa4, 0x77, 0x77, 0x02, 0x91, 0x0c, 0x58, 0xcb, 0x8b, 0xbb, 0x28, 0xe6,
+ 0xfd, 0x52, 0x3b, 0x35, 0x83, 0x4a, 0x3a, 0x42, 0xf1, 0xbf, 0x7e, 0x02, 0x4c, 0x2c, 0x9b, 0xed,
+ 0x36, 0x72, 0xf7, 0xf1, 0xd0, 0x52, 0xf0, 0x39, 0x5c, 0x33, 0x6d, 0x6b, 0x13, 0xcf, 0xef, 0x63,
+ 0x3b, 0xbd, 0x77, 0x4b, 0x07, 0x21, 0x65, 0x65, 0xcc, 0xf7, 0xd2, 0x8f, 0x90, 0xf9, 0xad, 0x20,
+ 0x6b, 0xd9, 0x9b, 0x0e, 0xeb, 0xfa, 0x7a, 0x57, 0xd1, 0xfd, 0x9f, 0xc9, 0x14, 0x84, 0x64, 0x94,
+ 0x8c, 0x43, 0x2a, 0xc9, 0x45, 0xfa, 0x3d, 0xe0, 0x6f, 0x67, 0xc1, 0xac, 0xcf, 0x44, 0xd9, 0x6e,
+ 0xa1, 0x07, 0xf9, 0x25, 0x95, 0x17, 0x66, 0x65, 0xcf, 0x50, 0xf5, 0xd6, 0x87, 0x90, 0x8a, 0x10,
+ 0x69, 0x1d, 0x80, 0xa6, 0xe9, 0xa1, 0x2d, 0xc7, 0xb5, 0x82, 0x7e, 0xed, 0x09, 0x49, 0xa8, 0x95,
+ 0xe8, 0xdf, 0xfb, 0x06, 0x47, 0x47, 0xbb, 0x1b, 0x4c, 0xa3, 0xe0, 0x98, 0xb4, 0xbf, 0xe4, 0x12,
+ 0x8b, 0x17, 0x9f, 0x1f, 0x7e, 0x56, 0xea, 0xa8, 0x96, 0x4c, 0x35, 0x93, 0x61, 0xd6, 0x18, 0xae,
+ 0x0d, 0x6d, 0x54, 0xd6, 0x8a, 0x46, 0x6d, 0xa5, 0xb8, 0xba, 0x5a, 0xae, 0x2c, 0x07, 0x31, 0x3f,
+ 0x34, 0x30, 0xb7, 0x58, 0xbd, 0x50, 0xe1, 0x82, 0xb2, 0x64, 0xe1, 0x3a, 0x98, 0xf4, 0xe5, 0xd5,
+ 0xcf, 0x37, 0x92, 0x97, 0x19, 0xf3, 0x8d, 0xe4, 0x92, 0xb0, 0x91, 0x65, 0x35, 0x03, 0x87, 0x19,
+ 0xf2, 0x0c, 0xff, 0xd8, 0x04, 0x39, 0xb2, 0x36, 0x0e, 0xdf, 0x4e, 0xae, 0xab, 0xef, 0xb4, 0xcd,
+ 0x26, 0x82, 0x3b, 0x09, 0xac, 0x6a, 0x3f, 0x2a, 0xbe, 0x72, 0x20, 0x2a, 0x3e, 0x79, 0x64, 0xd6,
+ 0xdb, 0xc9, 0x7e, 0xeb, 0xf1, 0x06, 0xcd, 0x22, 0x9e, 0x6a, 0x8a, 0xdd, 0x25, 0xa1, 0xcb, 0xf8,
+ 0x8c, 0xcd, 0x08, 0x95, 0x8c, 0xe6, 0x29, 0x99, 0x45, 0x29, 0xb7, 0x9f, 0x12, 0xc7, 0xd1, 0x18,
+ 0x6e, 0x6e, 0xce, 0x82, 0x5c, 0xad, 0xd3, 0xb6, 0x3c, 0xf8, 0x1b, 0xca, 0x48, 0x30, 0xa3, 0x37,
+ 0x19, 0xa8, 0x03, 0x6f, 0x32, 0x08, 0x77, 0x41, 0xb3, 0x12, 0xbb, 0xa0, 0x75, 0xf4, 0xa0, 0x27,
+ 0xee, 0x82, 0xde, 0xc1, 0xe2, 0x76, 0xd1, 0x3d, 0xd4, 0x47, 0xf5, 0x11, 0x29, 0xa9, 0x56, 0x9f,
+ 0x80, 0x70, 0xe7, 0x1e, 0xcf, 0xe2, 0x52, 0x01, 0x90, 0x5f, 0xa8, 0xd6, 0xeb, 0xd5, 0xb5, 0xc2,
+ 0x31, 0x12, 0xd0, 0xa4, 0xba, 0x5e, 0xc8, 0x68, 0x53, 0x20, 0x57, 0xae, 0x54, 0x74, 0xa3, 0xa0,
+ 0x90, 0x48, 0x59, 0xe5, 0xfa, 0xaa, 0x5e, 0x50, 0xc5, 0xb0, 0xd6, 0xb1, 0x66, 0xb4, 0x58, 0x76,
+ 0x9a, 0xea, 0x25, 0x67, 0x50, 0x47, 0xf3, 0x93, 0xbe, 0x72, 0xfd, 0xaa, 0x0a, 0x72, 0x6b, 0xc8,
+ 0xdd, 0x42, 0xf0, 0x67, 0x12, 0x6c, 0xd6, 0x6d, 0x5a, 0x6e, 0x97, 0xc6, 0x15, 0x0b, 0x37, 0xeb,
+ 0xf8, 0x34, 0xed, 0x06, 0x30, 0xdb, 0x45, 0x4d, 0xc7, 0x6e, 0xf9, 0x99, 0x68, 0x7f, 0x24, 0x26,
+ 0x8a, 0x57, 0x8a, 0x4b, 0x40, 0x46, 0x18, 0x1d, 0xc9, 0x8e, 0x5b, 0x12, 0x60, 0xfa, 0x95, 0x9a,
+ 0x3e, 0x30, 0xdf, 0x56, 0xf1, 0x4f, 0x9d, 0x7d, 0xf8, 0x62, 0xe9, 0x5d, 0xd4, 0x5b, 0x40, 0x9e,
+ 0xa8, 0xa9, 0x3f, 0x46, 0xf7, 0xef, 0x8f, 0x59, 0x1e, 0x6d, 0x01, 0x9c, 0xe8, 0xa2, 0x36, 0x6a,
+ 0x7a, 0xa8, 0x85, 0x9b, 0xae, 0x31, 0xb0, 0x53, 0x38, 0x98, 0x1d, 0xfe, 0x39, 0x0f, 0xe0, 0x5d,
+ 0x22, 0x80, 0x37, 0xf6, 0x11, 0x25, 0xae, 0x50, 0xb4, 0xad, 0x8c, 0xab, 0x51, 0x6b, 0x3b, 0xc1,
+ 0xe2, 0xb6, 0xff, 0x8e, 0xbf, 0x6d, 0x7b, 0x3b, 0x6d, 0xf2, 0x8d, 0x39, 0xfc, 0xfb, 0xef, 0xda,
+ 0x3c, 0x98, 0x30, 0xed, 0x7d, 0xf2, 0x29, 0x1b, 0x53, 0x6b, 0x3f, 0x13, 0x7c, 0x59, 0x80, 0xfc,
+ 0x3d, 0x02, 0xf2, 0x8f, 0x91, 0x63, 0x37, 0x7d, 0xe0, 0x7f, 0x7e, 0x02, 0xe4, 0xd6, 0xcd, 0xae,
+ 0x87, 0xe0, 0xff, 0xa3, 0xca, 0x22, 0x7f, 0x23, 0x98, 0xdb, 0x74, 0x9a, 0xbb, 0x5d, 0xd4, 0x12,
+ 0x1b, 0x65, 0x4f, 0xea, 0x28, 0x30, 0xd7, 0x6e, 0x06, 0x05, 0x3f, 0x91, 0x91, 0xf5, 0xb7, 0xd3,
+ 0x0f, 0xa4, 0x93, 0x20, 0xc9, 0xdd, 0x75, 0xd3, 0xf5, 0xaa, 0x9b, 0x24, 0x2d, 0x08, 0x92, 0xcc,
+ 0x27, 0x0a, 0xd0, 0xe7, 0x63, 0xa0, 0x9f, 0x88, 0x86, 0x7e, 0x52, 0x02, 0x7a, 0xad, 0x08, 0x26,
+ 0x37, 0xad, 0x36, 0x22, 0x3f, 0x4c, 0x91, 0x1f, 0xfa, 0x8d, 0x49, 0x44, 0xf6, 0xc1, 0x98, 0xb4,
+ 0x64, 0xb5, 0x91, 0x11, 0xfc, 0xe6, 0x4f, 0x64, 0x40, 0x38, 0x91, 0x59, 0xa5, 0xfe, 0xad, 0xd8,
+ 0xf0, 0xb2, 0xcd, 0x1d, 0xe4, 0x2f, 0xa2, 0xd9, 0xec, 0xb0, 0x49, 0xcb, 0xf4, 0x4c, 0x02, 0xc6,
+ 0x8c, 0x41, 0x9e, 0x45, 0xff, 0x0e, 0xb5, 0xd7, 0xbf, 0xe3, 0xd9, 0x6a, 0xb2, 0x1e, 0xd1, 0x67,
+ 0x36, 0xa2, 0x45, 0x5d, 0xf4, 0x01, 0xa2, 0x96, 0x62, 0xf0, 0x8e, 0x81, 0x69, 0x9a, 0x2e, 0xf2,
+ 0xd6, 0x79, 0x8f, 0x8a, 0x9c, 0x21, 0x26, 0x12, 0xd7, 0xba, 0x6e, 0xcd, 0xdc, 0x41, 0xa4, 0xb0,
+ 0x12, 0xfe, 0xc6, 0x5c, 0xa6, 0x0e, 0xa4, 0x87, 0xfd, 0x6f, 0x6e, 0xd4, 0xfd, 0x6f, 0xbf, 0x3a,
+ 0xa6, 0xdf, 0x0c, 0x5f, 0x99, 0x05, 0x6a, 0x69, 0xd7, 0x7b, 0x58, 0x77, 0xbf, 0xdf, 0x97, 0xf6,
+ 0x57, 0x61, 0xfd, 0x59, 0xe4, 0x1d, 0xe2, 0x63, 0xea, 0x7d, 0x13, 0x6a, 0x89, 0x9c, 0x5f, 0x4c,
+ 0x54, 0xdd, 0xd2, 0xd7, 0x91, 0xb7, 0xa8, 0x81, 0xc3, 0xe3, 0x33, 0x33, 0x87, 0x37, 0xcd, 0x21,
+ 0xed, 0x9f, 0xb8, 0x9e, 0x21, 0x78, 0xf7, 0x3b, 0x9e, 0xac, 0x10, 0x52, 0x8d, 0x6c, 0x93, 0x13,
+ 0x51, 0xce, 0x18, 0xf4, 0x05, 0xbe, 0x44, 0xda, 0x0d, 0x9c, 0x8a, 0x2d, 0xd6, 0x25, 0x30, 0x99,
+ 0x4d, 0x25, 0x77, 0x4f, 0x64, 0x4c, 0xb1, 0xe9, 0x03, 0xf6, 0xcd, 0xe8, 0x25, 0xc3, 0x61, 0x10,
+ 0x83, 0x2f, 0x97, 0xde, 0x56, 0xa2, 0xd5, 0x1e, 0xb0, 0x5e, 0x98, 0x4c, 0xde, 0x72, 0x9b, 0x4e,
+ 0xb1, 0x05, 0xa7, 0x2f, 0xf1, 0x6f, 0xa8, 0x20, 0x4f, 0xb7, 0x12, 0xe1, 0x1b, 0x33, 0x09, 0x2e,
+ 0xd8, 0xf6, 0x44, 0x57, 0xc0, 0xe0, 0x3d, 0xc9, 0x9a, 0x83, 0xe0, 0x32, 0x98, 0x4d, 0xe4, 0x32,
+ 0x28, 0x9e, 0xab, 0x94, 0x68, 0x47, 0xb4, 0x8e, 0x29, 0x4f, 0x27, 0x93, 0xb4, 0xb0, 0xbe, 0x0c,
+ 0xa5, 0x8f, 0xf7, 0x73, 0x72, 0x60, 0x86, 0x16, 0x7d, 0xc1, 0x6a, 0x6d, 0x21, 0x0f, 0xbe, 0x53,
+ 0xf9, 0xc1, 0x41, 0x5d, 0xab, 0x80, 0x99, 0xcb, 0x84, 0xed, 0x55, 0x73, 0xdf, 0xd9, 0xf5, 0xd8,
+ 0xca, 0xc5, 0xcd, 0xb1, 0xeb, 0x1e, 0xb4, 0x9e, 0xf3, 0xf4, 0x0f, 0x43, 0xf8, 0x1f, 0xcb, 0x98,
+ 0x2e, 0xf8, 0x53, 0x47, 0xac, 0x3c, 0x31, 0xb2, 0xf8, 0x24, 0xed, 0x34, 0xc8, 0xef, 0x59, 0xe8,
+ 0x72, 0xb9, 0xc5, 0xac, 0x5b, 0xf6, 0x26, 0x9e, 0x38, 0x8f, 0xdd, 0x7f, 0xe5, 0xe1, 0x66, 0xbc,
+ 0xa4, 0xab, 0x85, 0x72, 0xbb, 0xb0, 0x03, 0xd9, 0x1a, 0xc3, 0x19, 0x5f, 0xf1, 0x1e, 0xc6, 0x24,
+ 0xf7, 0xfb, 0x47, 0x19, 0xce, 0x62, 0xfc, 0x8b, 0xd8, 0x13, 0x24, 0x54, 0x00, 0x23, 0xbe, 0xa2,
+ 0x51, 0x2e, 0x28, 0xc3, 0x80, 0xa2, 0xd3, 0x97, 0xfc, 0xab, 0x55, 0x30, 0x55, 0x43, 0xde, 0x92,
+ 0x85, 0xda, 0xad, 0x2e, 0x74, 0x0f, 0x6f, 0x1a, 0xdd, 0x0a, 0xf2, 0x9b, 0x84, 0xd8, 0xa0, 0xf3,
+ 0x07, 0x2c, 0x1b, 0x7c, 0xa5, 0x22, 0xbb, 0xb3, 0xcb, 0x56, 0xdf, 0x7c, 0x6e, 0x47, 0x02, 0x93,
+ 0x9c, 0x67, 0x6e, 0x7c, 0xc9, 0xe9, 0xa3, 0xf4, 0x56, 0x15, 0xcc, 0xb0, 0x8b, 0xdb, 0x8a, 0x6d,
+ 0x6b, 0xcb, 0x86, 0xbb, 0x23, 0x68, 0x21, 0xda, 0xe3, 0x40, 0xce, 0xc4, 0xd4, 0x98, 0x93, 0x3e,
+ 0xec, 0xdb, 0x79, 0x92, 0xf2, 0x0c, 0x9a, 0x31, 0x41, 0xec, 0xc5, 0x50, 0xb1, 0x7d, 0x9e, 0xc7,
+ 0x18, 0x7b, 0x71, 0x60, 0xe1, 0xe9, 0x23, 0xf6, 0x25, 0x15, 0x9c, 0x64, 0x0c, 0x9c, 0x47, 0xae,
+ 0x67, 0x35, 0xcd, 0x36, 0x45, 0xee, 0x79, 0x99, 0x51, 0x40, 0xb7, 0x02, 0x66, 0xf7, 0x78, 0xb2,
+ 0x0c, 0xc2, 0x73, 0x7d, 0x21, 0x14, 0x18, 0x30, 0xc4, 0x1f, 0x13, 0xc4, 0xb0, 0x13, 0xa4, 0x2a,
+ 0xd0, 0x1c, 0x63, 0x0c, 0x3b, 0x69, 0x26, 0xd2, 0x87, 0xf8, 0x45, 0x59, 0x1a, 0xcf, 0x26, 0xec,
+ 0x3e, 0x3f, 0x27, 0x8d, 0xed, 0x06, 0x98, 0x26, 0x58, 0xd2, 0x1f, 0xd9, 0x32, 0x44, 0x8c, 0x12,
+ 0x07, 0xfd, 0x0e, 0xbb, 0x2b, 0x2a, 0xf8, 0xd7, 0xe0, 0xe9, 0xc0, 0x0b, 0x00, 0x84, 0x9f, 0xf8,
+ 0x4e, 0x3a, 0x13, 0xd5, 0x49, 0x2b, 0x72, 0x9d, 0xf4, 0x1b, 0xa4, 0x83, 0x97, 0xf4, 0x67, 0xfb,
+ 0xf0, 0xea, 0x21, 0x17, 0xb6, 0x62, 0x70, 0xe9, 0xe9, 0xeb, 0xc5, 0xcb, 0xb2, 0xbd, 0x37, 0x74,
+ 0x7f, 0x78, 0x24, 0xf3, 0x29, 0xbe, 0x3f, 0x50, 0x7b, 0xfa, 0x83, 0x43, 0x58, 0xd2, 0x37, 0x81,
+ 0xe3, 0xb4, 0x88, 0x52, 0xc0, 0x56, 0x8e, 0x86, 0x66, 0xe8, 0x49, 0x86, 0x1f, 0x19, 0x42, 0x09,
+ 0x06, 0x5d, 0x1f, 0x1e, 0xd7, 0xc9, 0x25, 0x33, 0x76, 0x93, 0x2a, 0xc8, 0xd1, 0xdd, 0x3a, 0xfe,
+ 0xf5, 0x2c, 0xb5, 0x76, 0x37, 0xc8, 0x75, 0x5e, 0xf0, 0x2f, 0xb3, 0xa3, 0x18, 0x11, 0xee, 0x05,
+ 0x59, 0xe2, 0xaa, 0xae, 0x46, 0x2e, 0x69, 0x84, 0x45, 0x86, 0x77, 0xad, 0xa1, 0x07, 0xbd, 0x95,
+ 0x63, 0x06, 0xf9, 0x53, 0xbb, 0x19, 0x1c, 0xbf, 0x68, 0x36, 0x2f, 0x6d, 0xb9, 0xce, 0x2e, 0xb9,
+ 0xf8, 0xc8, 0x61, 0x37, 0x28, 0x91, 0x9b, 0xe8, 0xc4, 0x0f, 0xda, 0x6d, 0xbe, 0xe9, 0x90, 0x1b,
+ 0x64, 0x3a, 0xac, 0x1c, 0x63, 0xc6, 0x83, 0xf6, 0xf8, 0xa0, 0xd3, 0xc9, 0xc7, 0x76, 0x3a, 0x2b,
+ 0xc7, 0xfc, 0x6e, 0x47, 0x5b, 0x04, 0x93, 0x2d, 0x6b, 0x8f, 0x6c, 0x55, 0x93, 0x59, 0xd7, 0xa0,
+ 0xa3, 0xc4, 0x8b, 0xd6, 0x1e, 0xdd, 0xd8, 0x5e, 0x39, 0x66, 0x04, 0x7f, 0x6a, 0xcb, 0x60, 0x8a,
+ 0x6c, 0x0b, 0x10, 0x32, 0x93, 0x89, 0x8e, 0x09, 0xaf, 0x1c, 0x33, 0xc2, 0x7f, 0xb1, 0xf5, 0x91,
+ 0x25, 0x67, 0x38, 0xee, 0xf1, 0xb7, 0xdb, 0x33, 0x89, 0xb6, 0xdb, 0xb1, 0x2c, 0xe8, 0x86, 0xfb,
+ 0x69, 0x90, 0x6b, 0x12, 0x09, 0x2b, 0x4c, 0xc2, 0xf4, 0x55, 0xbb, 0x0b, 0x64, 0x77, 0x4c, 0xd7,
+ 0x9f, 0x3c, 0xdf, 0x38, 0x98, 0xee, 0x9a, 0xe9, 0x5e, 0xc2, 0x08, 0xe2, 0xbf, 0x16, 0x26, 0x40,
+ 0x8e, 0x08, 0x2e, 0x78, 0x80, 0x6f, 0xc9, 0x52, 0x33, 0xa4, 0xe4, 0xd8, 0x78, 0xd8, 0xaf, 0x3b,
+ 0xfe, 0x41, 0x97, 0x3f, 0xc8, 0x8c, 0xc6, 0x82, 0xec, 0x7b, 0xa5, 0xb5, 0x1a, 0x79, 0xa5, 0x75,
+ 0xcf, 0xdd, 0xaa, 0xd9, 0xde, 0xbb, 0x55, 0xc3, 0xe5, 0x83, 0xdc, 0x60, 0x47, 0x95, 0x3f, 0x1f,
+ 0xc2, 0x74, 0xe9, 0x15, 0x44, 0xf4, 0x0c, 0xbc, 0x6d, 0xd9, 0x5c, 0x9d, 0xfd, 0xd7, 0x84, 0x9d,
+ 0x52, 0x52, 0xa3, 0x66, 0x00, 0x7b, 0xe9, 0xf7, 0x4d, 0xbf, 0x95, 0x05, 0x67, 0xe8, 0x0d, 0xbe,
+ 0x7b, 0xa8, 0xee, 0x88, 0x57, 0x0d, 0xc2, 0x3f, 0x19, 0x89, 0xd2, 0xf4, 0x19, 0x70, 0xd4, 0xbe,
+ 0x03, 0xce, 0x81, 0xc3, 0xc6, 0xd9, 0x01, 0x87, 0x8d, 0x73, 0xc9, 0x56, 0x0e, 0x3f, 0xc0, 0xeb,
+ 0xcf, 0xba, 0xa8, 0x3f, 0x77, 0x46, 0x00, 0xd4, 0x4f, 0x2e, 0x23, 0xb1, 0x6f, 0xde, 0x1e, 0x68,
+ 0x4a, 0x4d, 0xd0, 0x94, 0x7b, 0x86, 0x67, 0x24, 0x7d, 0x6d, 0xf9, 0xbd, 0x2c, 0xb8, 0x22, 0x64,
+ 0xa6, 0x82, 0x2e, 0x33, 0x45, 0xf9, 0xcc, 0x48, 0x14, 0x25, 0x79, 0x2c, 0x83, 0xb4, 0x35, 0xe6,
+ 0x4f, 0xa5, 0xcf, 0x00, 0xf5, 0x02, 0x15, 0xc8, 0x26, 0x42, 0x59, 0x4e, 0x83, 0x3c, 0xed, 0x61,
+ 0x18, 0x34, 0xec, 0x2d, 0x61, 0x77, 0x23, 0x77, 0x72, 0x48, 0x96, 0xb7, 0x31, 0xe8, 0x0f, 0x5b,
+ 0xd7, 0xa8, 0xef, 0xba, 0x76, 0xd9, 0xf6, 0x1c, 0xf8, 0x73, 0x23, 0x51, 0x9c, 0xc0, 0x1b, 0x4e,
+ 0x1d, 0xc6, 0x1b, 0x6e, 0xa8, 0x55, 0x0e, 0xbf, 0x06, 0x47, 0xb2, 0xca, 0x11, 0x51, 0x78, 0xfa,
+ 0xf8, 0xbd, 0x4d, 0xa5, 0xb7, 0xf9, 0xd7, 0x90, 0xb7, 0x20, 0x5a, 0x88, 0xf0, 0xfe, 0x51, 0x00,
+ 0x79, 0xd2, 0x37, 0x93, 0xd8, 0x65, 0x54, 0xe4, 0x45, 0x3c, 0xf1, 0x14, 0x7b, 0x29, 0x82, 0x30,
+ 0x1d, 0xec, 0xe1, 0x70, 0x24, 0x48, 0xc9, 0xdd, 0x85, 0x90, 0x80, 0x8d, 0xf4, 0x31, 0x7b, 0x81,
+ 0x0a, 0xf2, 0xec, 0xe6, 0xf6, 0x8d, 0x54, 0x1c, 0x26, 0xc4, 0xd0, 0xc8, 0x12, 0x3b, 0x72, 0x89,
+ 0xef, 0x37, 0x4f, 0x6f, 0x2f, 0xee, 0x88, 0x2e, 0x30, 0xff, 0xb6, 0x02, 0xa6, 0x6b, 0xc8, 0x2b,
+ 0x99, 0xae, 0x6b, 0x99, 0x5b, 0xa3, 0xf2, 0xf8, 0x96, 0xf5, 0x1e, 0x86, 0xdf, 0xc9, 0xc8, 0x9e,
+ 0xa7, 0x09, 0x16, 0xc2, 0x7d, 0x56, 0x23, 0x62, 0xfb, 0xc9, 0xdd, 0x1c, 0x3f, 0x88, 0xda, 0x18,
+ 0x3c, 0xb6, 0x15, 0x30, 0xe1, 0x9f, 0xa9, 0xbb, 0x55, 0x38, 0x67, 0xb9, 0xed, 0xed, 0xf8, 0xc7,
+ 0x60, 0xc8, 0xf3, 0xc1, 0xb3, 0x5c, 0xf0, 0xa5, 0x09, 0x1d, 0xe5, 0xe3, 0x0f, 0x04, 0x26, 0x6b,
+ 0x63, 0x49, 0xdc, 0xe1, 0x8f, 0xea, 0x08, 0xe0, 0xef, 0x4c, 0xb0, 0xe5, 0xc8, 0x55, 0xd3, 0x43,
+ 0x0f, 0xc2, 0xcf, 0xa9, 0x60, 0xa2, 0x86, 0x3c, 0x3c, 0xde, 0x62, 0xf6, 0x0f, 0xad, 0xe1, 0x1a,
+ 0xb7, 0xe2, 0x31, 0xc5, 0xd6, 0x30, 0x9e, 0x02, 0xa6, 0x3a, 0xae, 0xd3, 0x44, 0xdd, 0x2e, 0x5b,
+ 0xbd, 0xe0, 0x1d, 0xd5, 0xfa, 0x8d, 0xfe, 0x84, 0xb5, 0xf9, 0x75, 0xff, 0x1f, 0x23, 0xfc, 0x3d,
+ 0xa9, 0x19, 0x40, 0x29, 0xb1, 0x0a, 0x8e, 0xdb, 0x0c, 0x88, 0x2b, 0x3c, 0x7d, 0xa0, 0x3f, 0xa5,
+ 0x82, 0x99, 0x1a, 0xf2, 0x02, 0x29, 0x26, 0xd8, 0xe4, 0x88, 0x86, 0x57, 0x80, 0x52, 0x3d, 0x1c,
+ 0x94, 0xf2, 0xf7, 0xe9, 0x89, 0xd2, 0x0c, 0x88, 0x8d, 0xf1, 0x3e, 0x3d, 0x39, 0x0e, 0xc6, 0x70,
+ 0x7c, 0xed, 0x51, 0x60, 0x8a, 0xf0, 0x42, 0x1a, 0xec, 0x2f, 0x66, 0xc3, 0xc6, 0xfb, 0xf9, 0x94,
+ 0x1a, 0xef, 0xdd, 0x20, 0x47, 0xee, 0xe9, 0x27, 0x0d, 0x77, 0x5a, 0xc6, 0x6c, 0x5f, 0xc3, 0xd9,
+ 0x0d, 0xfa, 0x57, 0x7f, 0x3f, 0xcd, 0x5c, 0x32, 0x3f, 0xcd, 0xd7, 0x2a, 0x89, 0x46, 0x42, 0x3a,
+ 0x77, 0x18, 0x61, 0x93, 0x4f, 0x30, 0x6e, 0xc6, 0x94, 0x9d, 0xbe, 0x72, 0x3c, 0x4f, 0x05, 0x93,
+ 0x78, 0xdc, 0x26, 0xf6, 0xf8, 0x85, 0xc3, 0xab, 0x43, 0x7f, 0x43, 0x3f, 0x61, 0x0f, 0xec, 0x4b,
+ 0x64, 0x74, 0xe6, 0x7d, 0x82, 0x1e, 0x38, 0xae, 0xf0, 0xf4, 0xf1, 0x78, 0x07, 0xc5, 0x83, 0xb4,
+ 0x07, 0xf8, 0x3a, 0x15, 0xa8, 0xcb, 0xc8, 0x1b, 0xb7, 0x15, 0xf9, 0x56, 0xe9, 0x50, 0x45, 0x82,
+ 0xc0, 0x08, 0xcf, 0xf3, 0xcb, 0x68, 0x34, 0x0d, 0x48, 0x2e, 0x46, 0x91, 0x14, 0x03, 0xe9, 0xa3,
+ 0xf6, 0x1e, 0x8a, 0x1a, 0xdd, 0x5c, 0xf8, 0xd9, 0x11, 0xf4, 0xaa, 0xe3, 0x5d, 0xf8, 0xf0, 0x05,
+ 0x48, 0x68, 0x1c, 0x55, 0x7b, 0xeb, 0x57, 0xf8, 0x58, 0xee, 0xaf, 0x03, 0xb8, 0xb1, 0x6f, 0xa3,
+ 0xe6, 0x25, 0xd4, 0x82, 0x3f, 0x75, 0x78, 0xe8, 0xce, 0x80, 0x89, 0x26, 0xa5, 0x46, 0xc0, 0x9b,
+ 0x34, 0xfc, 0xd7, 0x04, 0x97, 0x31, 0x8b, 0x1d, 0x11, 0xfd, 0x7d, 0x8c, 0x97, 0x31, 0x4b, 0x14,
+ 0x3f, 0x06, 0xb3, 0x85, 0xce, 0x32, 0xca, 0x4d, 0xc7, 0x86, 0xff, 0xe9, 0xf0, 0xb0, 0x5c, 0x03,
+ 0xa6, 0xac, 0xa6, 0x63, 0x97, 0x77, 0xfc, 0xe0, 0x7e, 0x53, 0x46, 0x98, 0xe0, 0x7f, 0xd5, 0x77,
+ 0x9c, 0x07, 0x2c, 0xb6, 0x6b, 0x1e, 0x26, 0x0c, 0x6b, 0x4c, 0x60, 0xd6, 0x8f, 0xca, 0x98, 0xe8,
+ 0x53, 0x76, 0xfa, 0x90, 0x7d, 0x24, 0xf4, 0x6e, 0xa3, 0x5d, 0xe1, 0xc3, 0x62, 0x15, 0x78, 0x98,
+ 0xe1, 0x8c, 0xaf, 0xc5, 0x91, 0x0c, 0x67, 0x31, 0x0c, 0x8c, 0xe1, 0x7e, 0x91, 0x10, 0xc7, 0xd4,
+ 0xd7, 0x80, 0x0f, 0x81, 0xce, 0xe8, 0xcc, 0xc3, 0x21, 0xd1, 0x39, 0x1a, 0x13, 0xf1, 0xfd, 0x2c,
+ 0xd4, 0x25, 0xb3, 0x78, 0xe0, 0x7f, 0x1e, 0x05, 0x38, 0x77, 0x0e, 0xe3, 0xaf, 0x40, 0xbd, 0x15,
+ 0x12, 0x5c, 0x23, 0x7d, 0x40, 0x82, 0x98, 0xca, 0x18, 0x2f, 0x58, 0x97, 0x29, 0x3f, 0x7d, 0x00,
+ 0x9f, 0xab, 0x82, 0x39, 0xe2, 0x23, 0xd0, 0x46, 0xa6, 0x4b, 0x3b, 0xca, 0x91, 0x38, 0xca, 0xbf,
+ 0x43, 0x3a, 0xc0, 0x8f, 0x28, 0x87, 0x90, 0x8f, 0x91, 0x40, 0x21, 0x17, 0xdd, 0x47, 0x92, 0x85,
+ 0xb1, 0x6c, 0xa3, 0x14, 0x02, 0x16, 0x98, 0x8a, 0x8f, 0x06, 0x8f, 0x84, 0x1e, 0xb9, 0xa2, 0x30,
+ 0xfc, 0xc6, 0x36, 0x66, 0x8f, 0x5c, 0x19, 0x26, 0xc6, 0x70, 0xc3, 0xe4, 0xe3, 0xd8, 0x82, 0x73,
+ 0x9d, 0xdc, 0xb2, 0xfe, 0xf2, 0x6c, 0x70, 0xa2, 0xed, 0x53, 0x23, 0xf1, 0xc0, 0x3c, 0x44, 0x60,
+ 0x7b, 0x0d, 0x64, 0x5d, 0xe7, 0x32, 0x5d, 0xda, 0x9a, 0x35, 0xc8, 0x33, 0x31, 0xf9, 0x9d, 0xf6,
+ 0xee, 0x8e, 0x4d, 0x4f, 0x86, 0xce, 0x1a, 0xfe, 0xab, 0x76, 0x03, 0x98, 0xbd, 0x6c, 0x79, 0xdb,
+ 0x2b, 0xc8, 0x6c, 0x21, 0xd7, 0x70, 0x2e, 0x13, 0x8f, 0xb9, 0x49, 0x43, 0x4c, 0x14, 0xfd, 0x57,
+ 0x24, 0xec, 0x4b, 0x72, 0xf5, 0xfa, 0x58, 0x8e, 0xbf, 0x25, 0xb1, 0x3c, 0xa3, 0xb9, 0x4a, 0x5f,
+ 0x61, 0xde, 0xab, 0x82, 0x29, 0xc3, 0xb9, 0xcc, 0x94, 0xe4, 0xff, 0x3a, 0x5a, 0x1d, 0x49, 0x3c,
+ 0xd1, 0xa3, 0x57, 0xe9, 0xfb, 0xec, 0x8f, 0x7d, 0xa2, 0x17, 0x5b, 0xfc, 0x58, 0x4e, 0x2e, 0xcd,
+ 0x18, 0xce, 0xe5, 0x1a, 0xf2, 0x68, 0x8b, 0x80, 0x8d, 0x11, 0x39, 0x59, 0x5b, 0x5d, 0x4a, 0x90,
+ 0xcd, 0xc3, 0x83, 0xf7, 0xa4, 0xbb, 0x08, 0x81, 0x80, 0x02, 0x16, 0xc7, 0xbd, 0x8b, 0x30, 0x90,
+ 0x83, 0x31, 0xc4, 0x48, 0x51, 0xc1, 0xb4, 0xe1, 0x5c, 0xc6, 0x43, 0xc3, 0x92, 0xd5, 0x6e, 0x8f,
+ 0x66, 0x84, 0x4c, 0x6a, 0xfc, 0xfb, 0x62, 0xf0, 0xb9, 0x18, 0xbb, 0xf1, 0x3f, 0x80, 0x81, 0xf4,
+ 0x61, 0x78, 0x36, 0x6d, 0x2c, 0xfe, 0x08, 0x6d, 0x8f, 0x06, 0x87, 0x61, 0x1b, 0x44, 0xc0, 0xc6,
+ 0x91, 0x35, 0x88, 0x28, 0x0e, 0xc6, 0xb2, 0x73, 0x32, 0x57, 0x22, 0xc3, 0xfc, 0x68, 0xdb, 0xc4,
+ 0xbb, 0x92, 0xb9, 0x26, 0xb2, 0x61, 0x57, 0x60, 0x64, 0x24, 0x68, 0x24, 0x70, 0x41, 0x94, 0xe0,
+ 0x21, 0x7d, 0x3c, 0x3e, 0xa8, 0x82, 0x19, 0xca, 0xc2, 0xc3, 0xc4, 0x0a, 0x18, 0xaa, 0x51, 0xf1,
+ 0x35, 0x38, 0x9a, 0x46, 0x15, 0xc3, 0xc1, 0x58, 0x6e, 0xe9, 0xc4, 0x76, 0xdc, 0x10, 0xc7, 0xc7,
+ 0xa3, 0x10, 0x1c, 0xda, 0x18, 0x1b, 0xe1, 0x11, 0xf2, 0x61, 0x8c, 0xb1, 0x23, 0x3a, 0x46, 0xfe,
+ 0xec, 0xa0, 0x15, 0x8d, 0x12, 0x83, 0x43, 0x34, 0x85, 0x11, 0xc2, 0x30, 0x64, 0x53, 0x38, 0x22,
+ 0x24, 0xbe, 0xac, 0x02, 0x40, 0x19, 0x58, 0x73, 0xf6, 0xc8, 0xa5, 0x3c, 0x23, 0xe8, 0xce, 0x7a,
+ 0xdd, 0xea, 0xd5, 0x01, 0x6e, 0xf5, 0x09, 0x43, 0xb8, 0x24, 0x5d, 0x09, 0xe4, 0xa4, 0x8c, 0x2b,
+ 0x39, 0xf6, 0x95, 0xc0, 0xf8, 0xf2, 0xd3, 0xc7, 0xf8, 0x8b, 0xd4, 0x9a, 0x0b, 0x0f, 0x98, 0xfe,
+ 0xfa, 0x48, 0x50, 0xe6, 0x66, 0xff, 0xaa, 0x38, 0xfb, 0x3f, 0x04, 0xb6, 0xc3, 0xda, 0x88, 0x83,
+ 0x0e, 0x8e, 0xa6, 0x6f, 0x23, 0x1e, 0xdd, 0x01, 0xd1, 0x9f, 0xcd, 0x82, 0xe3, 0xac, 0x13, 0xf9,
+ 0x41, 0x80, 0x38, 0xe1, 0x39, 0x3c, 0xa1, 0x93, 0x1c, 0x80, 0xf2, 0xa8, 0x16, 0xa4, 0x92, 0x2c,
+ 0x65, 0x4a, 0xb0, 0x37, 0x96, 0xd5, 0x8d, 0xbc, 0xfe, 0x60, 0xc7, 0xb4, 0x5b, 0xf2, 0xe1, 0x7e,
+ 0x07, 0x00, 0xef, 0xaf, 0x35, 0xaa, 0xe2, 0x5a, 0x63, 0x9f, 0x95, 0xc9, 0xc4, 0x3b, 0xd7, 0x44,
+ 0x64, 0x94, 0xdd, 0xb1, 0xef, 0x5c, 0x47, 0x97, 0x9d, 0x3e, 0x4a, 0xef, 0x52, 0x41, 0xb6, 0xe6,
+ 0xb8, 0x1e, 0x7c, 0x28, 0x49, 0xeb, 0xa4, 0x92, 0x0f, 0x41, 0xf2, 0xdf, 0xb5, 0x92, 0x70, 0x6b,
+ 0xf2, 0xad, 0xf1, 0x47, 0x9d, 0x4d, 0xcf, 0x24, 0x5e, 0xdd, 0xb8, 0x7c, 0xee, 0xfa, 0xe4, 0xa4,
+ 0xf1, 0x74, 0xa8, 0xfc, 0x6a, 0xd1, 0x07, 0x30, 0x52, 0x8b, 0xa7, 0x13, 0x59, 0x72, 0xfa, 0xb8,
+ 0xfd, 0xf7, 0x39, 0xe6, 0xdb, 0xba, 0x64, 0xb5, 0x11, 0x7c, 0x88, 0xba, 0x8c, 0x54, 0xcc, 0x1d,
+ 0x24, 0x7f, 0x24, 0x26, 0xd6, 0xb5, 0x95, 0xc4, 0x97, 0x55, 0xc3, 0xf8, 0xb2, 0x49, 0x1b, 0x14,
+ 0x3d, 0x80, 0x4e, 0x59, 0x1a, 0x77, 0x83, 0x8a, 0x29, 0x7b, 0x2c, 0x71, 0x3a, 0x4f, 0xd4, 0x90,
+ 0x47, 0x8d, 0xca, 0xaa, 0x7f, 0x03, 0xcb, 0x4f, 0x8f, 0x24, 0x62, 0x67, 0x70, 0xc1, 0x8b, 0xda,
+ 0x73, 0xc1, 0xcb, 0x7b, 0x79, 0x70, 0xd6, 0x44, 0x70, 0x7e, 0x3c, 0x5a, 0x40, 0x22, 0x93, 0x23,
+ 0x81, 0xe9, 0xad, 0x01, 0x4c, 0xeb, 0x02, 0x4c, 0x77, 0x0d, 0xc9, 0x45, 0xfa, 0x80, 0x7d, 0x1e,
+ 0x9b, 0x2a, 0x64, 0xd2, 0x5f, 0xb4, 0x5b, 0x2c, 0xc2, 0xea, 0x3f, 0x1f, 0xf5, 0x66, 0xdb, 0xc1,
+ 0x10, 0xac, 0x42, 0x2c, 0xe7, 0x5c, 0xef, 0x6d, 0xf5, 0x0b, 0x34, 0x9c, 0x2b, 0xee, 0x44, 0xc9,
+ 0x4e, 0x9b, 0xfc, 0x8d, 0xf5, 0xc1, 0x7f, 0xf0, 0xcf, 0x92, 0xad, 0xbf, 0x11, 0x12, 0x3d, 0x82,
+ 0x4b, 0xd9, 0x06, 0x4a, 0xb0, 0x32, 0x27, 0xc1, 0xdd, 0x0f, 0x87, 0x5b, 0x58, 0x18, 0x09, 0x64,
+ 0x48, 0xb7, 0x30, 0x42, 0xe0, 0x28, 0xdd, 0xc2, 0x06, 0x31, 0x30, 0x86, 0x5b, 0xe6, 0x73, 0x6c,
+ 0x57, 0x9e, 0xf8, 0x4c, 0xc2, 0xbf, 0x56, 0x52, 0x1f, 0x6d, 0xbf, 0x9b, 0x49, 0xe4, 0xc7, 0x4c,
+ 0xf8, 0x8a, 0x1f, 0x6e, 0x93, 0x78, 0x26, 0xc7, 0x91, 0x1b, 0xc3, 0xfa, 0x8f, 0x42, 0x7c, 0xca,
+ 0x2f, 0x58, 0x2d, 0x6f, 0x7b, 0x44, 0x27, 0x33, 0x2e, 0x63, 0x5a, 0xfe, 0x75, 0xc5, 0xe4, 0x05,
+ 0xfe, 0x6b, 0x26, 0x51, 0x28, 0xa8, 0x40, 0x24, 0x84, 0xad, 0x08, 0x11, 0x27, 0x08, 0xe0, 0x14,
+ 0x4b, 0x6f, 0x8c, 0x1a, 0x7d, 0xde, 0x6a, 0x21, 0xe7, 0x61, 0xa8, 0xd1, 0x84, 0xaf, 0xd1, 0x69,
+ 0x74, 0x1c, 0xb9, 0x1f, 0x52, 0x8d, 0x0e, 0x44, 0x32, 0x22, 0x8d, 0x8e, 0xa5, 0x97, 0xbe, 0x8c,
+ 0x5f, 0x3a, 0xc3, 0x26, 0x44, 0xab, 0x96, 0x7d, 0x09, 0x7e, 0x2b, 0xef, 0x5f, 0x94, 0x7c, 0xc1,
+ 0xf2, 0xb6, 0x59, 0x4c, 0x97, 0xdf, 0x93, 0xbe, 0xe3, 0x64, 0x88, 0xb8, 0x2d, 0x62, 0x58, 0xa8,
+ 0xdc, 0x81, 0xb0, 0x50, 0x45, 0x30, 0x6b, 0xd9, 0x1e, 0x72, 0x6d, 0xb3, 0xbd, 0xd4, 0x36, 0xb7,
+ 0xba, 0x67, 0x26, 0xfa, 0x5e, 0x42, 0x57, 0xe6, 0xf2, 0x18, 0xe2, 0x1f, 0xfc, 0x75, 0x92, 0x93,
+ 0xe2, 0xb5, 0xf8, 0x11, 0x51, 0xac, 0xa6, 0xa2, 0xa3, 0x58, 0x05, 0x51, 0xaa, 0xc0, 0xe0, 0x20,
+ 0xd7, 0xb2, 0x36, 0x6e, 0xc2, 0xb0, 0x7d, 0xb7, 0x4a, 0x46, 0x53, 0x0b, 0x42, 0x38, 0xbe, 0x42,
+ 0x4d, 0xb4, 0x4a, 0x87, 0x15, 0x61, 0xbe, 0x57, 0x09, 0x12, 0x5b, 0xa8, 0x7c, 0xe5, 0xd5, 0x9e,
+ 0xca, 0x07, 0x26, 0x4f, 0x56, 0xc2, 0xe4, 0xe1, 0x95, 0x2a, 0x27, 0xa7, 0x54, 0x49, 0x16, 0xfd,
+ 0x64, 0x6a, 0x3b, 0x86, 0x53, 0x45, 0x39, 0x70, 0xc2, 0x8f, 0x5a, 0xdb, 0xe9, 0x20, 0xd3, 0x35,
+ 0xed, 0x26, 0x82, 0x1f, 0x51, 0x46, 0x61, 0xf6, 0x2e, 0x81, 0x49, 0xab, 0xe9, 0xd8, 0x35, 0xeb,
+ 0x69, 0xfe, 0x25, 0x71, 0xf1, 0xc1, 0xd2, 0x89, 0x44, 0xca, 0xec, 0x0f, 0x23, 0xf8, 0x57, 0x2b,
+ 0x83, 0xa9, 0xa6, 0xe9, 0xb6, 0x68, 0x30, 0xbd, 0x5c, 0xcf, 0x85, 0x4c, 0x91, 0x84, 0x4a, 0xfe,
+ 0x2f, 0x46, 0xf8, 0xb7, 0x56, 0x15, 0x85, 0x98, 0xef, 0x89, 0xca, 0x11, 0x49, 0x6c, 0x31, 0xfc,
+ 0x49, 0x90, 0x39, 0x96, 0x8e, 0x8b, 0xda, 0xe4, 0x4e, 0x78, 0xda, 0x43, 0x4c, 0x19, 0x61, 0x42,
+ 0xd2, 0x69, 0x3e, 0x29, 0xea, 0x00, 0x1a, 0xe3, 0x9e, 0xe6, 0x4b, 0x71, 0x91, 0xbe, 0x66, 0xbe,
+ 0x3d, 0x0f, 0x66, 0x69, 0xaf, 0xc6, 0xc4, 0x09, 0x9f, 0x4b, 0xae, 0x74, 0xf6, 0xee, 0x43, 0xfb,
+ 0xb0, 0x76, 0xf8, 0x31, 0xb9, 0x00, 0xd4, 0x4b, 0x41, 0xe0, 0x40, 0xfc, 0x98, 0x74, 0xff, 0xdd,
+ 0xe7, 0x6b, 0x9e, 0xf2, 0x34, 0xee, 0xfd, 0xf7, 0xf8, 0xe2, 0xd3, 0xc7, 0xe7, 0x97, 0x55, 0xa0,
+ 0x16, 0x5b, 0x2d, 0xd8, 0x3c, 0x3c, 0x14, 0xd7, 0x81, 0x69, 0xbf, 0xcd, 0x84, 0xb1, 0x1c, 0xf9,
+ 0xa4, 0xa4, 0x8b, 0x99, 0x81, 0x6c, 0x8a, 0xad, 0xb1, 0xef, 0x0e, 0xc4, 0x94, 0x9d, 0x3e, 0x28,
+ 0xbf, 0x3e, 0xc1, 0x1a, 0xcd, 0x82, 0xe3, 0x5c, 0x22, 0x47, 0x5e, 0x1e, 0x52, 0x41, 0x6e, 0x09,
+ 0x79, 0xcd, 0xed, 0x11, 0xb5, 0x99, 0x5d, 0xb7, 0xed, 0xb7, 0x99, 0x03, 0xf7, 0xd3, 0x0f, 0xb6,
+ 0x61, 0x7d, 0xb6, 0xe6, 0x09, 0x4b, 0xe3, 0x8e, 0xd2, 0x1c, 0x5b, 0x7a, 0xfa, 0xe0, 0xfc, 0xab,
+ 0x0a, 0xe6, 0x82, 0x15, 0x2e, 0x8a, 0xc9, 0x2f, 0x3d, 0xec, 0xd6, 0x2d, 0xe1, 0x67, 0x92, 0x85,
+ 0x3a, 0x0b, 0x64, 0x2a, 0xd6, 0x2c, 0xe5, 0x85, 0xc5, 0x04, 0x41, 0xd0, 0xe4, 0x18, 0x1c, 0xc3,
+ 0x0c, 0x5e, 0x05, 0x93, 0x84, 0xa1, 0x45, 0x6b, 0x8f, 0xb8, 0x00, 0x0a, 0x0b, 0x8d, 0x4f, 0x1f,
+ 0xc9, 0x42, 0xe3, 0x5d, 0xe2, 0x42, 0xa3, 0x64, 0xe4, 0x62, 0x7f, 0x9d, 0x31, 0xa1, 0x4f, 0x0c,
+ 0xfe, 0x7f, 0xe4, 0xcb, 0x8c, 0x09, 0x7c, 0x62, 0x06, 0x94, 0x9f, 0x3e, 0xa2, 0xaf, 0xf8, 0x0f,
+ 0xac, 0xb3, 0xf5, 0x37, 0x46, 0xe1, 0x7f, 0x3f, 0x01, 0xb2, 0xe7, 0xf1, 0xc3, 0xff, 0x0c, 0x6f,
+ 0xb6, 0x7a, 0xf1, 0x08, 0x82, 0x2c, 0x3c, 0x19, 0x64, 0x31, 0x7d, 0x36, 0x6d, 0xb9, 0x59, 0x6e,
+ 0x97, 0x16, 0x33, 0x62, 0x90, 0xff, 0xb4, 0xd3, 0x20, 0xdf, 0x75, 0x76, 0xdd, 0x26, 0x36, 0x9f,
+ 0xb1, 0xc6, 0xb0, 0xb7, 0xa4, 0xc1, 0x45, 0x05, 0xd2, 0xf3, 0xa3, 0x73, 0xfd, 0xe4, 0x2e, 0x3a,
+ 0x52, 0x85, 0x8b, 0x8e, 0x12, 0xec, 0x1f, 0x48, 0xf0, 0x96, 0xbe, 0x46, 0xfc, 0x35, 0xb9, 0xf3,
+ 0xaf, 0x35, 0x2a, 0xd8, 0x23, 0xc4, 0x72, 0x58, 0x75, 0x48, 0xea, 0xb8, 0x2d, 0x8a, 0x36, 0x88,
+ 0xe7, 0x3e, 0x56, 0xc7, 0x6d, 0x09, 0x1e, 0xc6, 0x72, 0xda, 0x3c, 0xcf, 0x9c, 0x4d, 0xef, 0x1f,
+ 0x25, 0xba, 0x59, 0x41, 0xe9, 0x0f, 0x85, 0xce, 0x08, 0x9d, 0x50, 0x87, 0x46, 0xe7, 0x88, 0xdc,
+ 0x50, 0xff, 0x50, 0x25, 0x11, 0x2d, 0x7d, 0x23, 0x47, 0xfe, 0xc2, 0xa2, 0xc4, 0x10, 0xe1, 0x31,
+ 0x58, 0x88, 0xe7, 0x3c, 0x3b, 0x7c, 0x88, 0x6f, 0x51, 0x74, 0x1c, 0xff, 0xe3, 0x0e, 0xf1, 0x2d,
+ 0xcb, 0x48, 0xfa, 0x40, 0xbe, 0x86, 0x5e, 0x10, 0x56, 0x6c, 0x7a, 0xd6, 0xde, 0x88, 0x5b, 0x9a,
+ 0x38, 0xbc, 0x24, 0x8c, 0xea, 0x7b, 0x40, 0x42, 0x94, 0xc3, 0x71, 0x47, 0xf5, 0x95, 0x63, 0x23,
+ 0x7d, 0x98, 0xfe, 0x2e, 0x8f, 0xa5, 0xc7, 0xd6, 0x66, 0x5e, 0xc7, 0x56, 0x03, 0xd0, 0xe1, 0xd1,
+ 0x3a, 0x07, 0x66, 0xb8, 0xa9, 0xbf, 0x7f, 0xf1, 0x8c, 0x90, 0x96, 0xf4, 0xc0, 0x7a, 0x20, 0xb2,
+ 0x91, 0x2f, 0x0c, 0x24, 0x58, 0xf0, 0x95, 0x61, 0x62, 0x2c, 0xf7, 0xba, 0xf9, 0x63, 0xd8, 0x98,
+ 0xb0, 0xfa, 0x3d, 0x1e, 0xab, 0xaa, 0x88, 0xd5, 0x1d, 0x32, 0x62, 0x92, 0x1b, 0xd3, 0xa4, 0xe6,
+ 0x8d, 0x6f, 0x0b, 0xe0, 0x32, 0x04, 0xb8, 0x9e, 0x3c, 0x34, 0x1f, 0xe9, 0x23, 0xf6, 0x1b, 0xb4,
+ 0x3b, 0xac, 0x51, 0x93, 0x7d, 0x34, 0xdd, 0x21, 0x9b, 0x0d, 0xa8, 0xc2, 0x6c, 0x20, 0xa1, 0xdf,
+ 0x7c, 0xe8, 0x0e, 0xea, 0x33, 0x37, 0x08, 0xa2, 0xec, 0x88, 0xfd, 0xe6, 0x07, 0x72, 0x90, 0x3e,
+ 0x38, 0xff, 0xa4, 0x02, 0xb0, 0xec, 0x3a, 0xbb, 0x9d, 0xaa, 0xdb, 0x42, 0x2e, 0xfc, 0xdb, 0x70,
+ 0x02, 0xf0, 0xc2, 0x11, 0x4c, 0x00, 0xd6, 0x01, 0xd8, 0x0a, 0x88, 0x33, 0x0d, 0x7f, 0x9c, 0x9c,
+ 0xb9, 0x1f, 0x32, 0x65, 0x70, 0x34, 0xc4, 0xab, 0x63, 0x7f, 0x42, 0xc4, 0x38, 0xae, 0xcf, 0x0a,
+ 0xc9, 0x8d, 0x72, 0x02, 0xf0, 0x8e, 0x00, 0xeb, 0xba, 0x80, 0xf5, 0xbd, 0x87, 0xe0, 0x24, 0x7d,
+ 0xcc, 0xff, 0x79, 0x02, 0x4c, 0xd3, 0xed, 0x3a, 0x2a, 0xd3, 0x7f, 0x08, 0x41, 0xff, 0xf5, 0x11,
+ 0x80, 0xbe, 0x01, 0x66, 0x9c, 0x90, 0x3a, 0xed, 0x53, 0xf9, 0x05, 0x98, 0x58, 0xd8, 0x39, 0xbe,
+ 0x0c, 0x81, 0x0c, 0xfc, 0x10, 0x8f, 0xbc, 0x21, 0x22, 0x7f, 0x57, 0x8c, 0xbc, 0x39, 0x8a, 0xa3,
+ 0x84, 0xfe, 0x9d, 0x01, 0xf4, 0x1b, 0x02, 0xf4, 0xc5, 0xc3, 0xb0, 0x32, 0x86, 0xb0, 0xf9, 0x2a,
+ 0xc8, 0x92, 0x53, 0x6e, 0xbf, 0x95, 0xe2, 0xfc, 0xfe, 0x0c, 0x98, 0x20, 0x4d, 0x36, 0x98, 0x77,
+ 0xf8, 0xaf, 0xf8, 0x8b, 0xb9, 0xe9, 0x21, 0x37, 0xf0, 0x58, 0xf0, 0x5f, 0x31, 0x0f, 0xbe, 0x77,
+ 0x71, 0xf7, 0x4c, 0x9e, 0x6e, 0x44, 0x06, 0x09, 0x43, 0x4f, 0x4a, 0x78, 0x89, 0x8f, 0xec, 0xdc,
+ 0xdb, 0x30, 0x93, 0x92, 0x01, 0x8c, 0xa4, 0x0f, 0xfc, 0x5f, 0x66, 0xc1, 0x19, 0xba, 0xaa, 0xb4,
+ 0xe4, 0x3a, 0x3b, 0x3d, 0xb7, 0x54, 0x59, 0x87, 0xd7, 0x85, 0x1b, 0xc1, 0x9c, 0x27, 0xf8, 0x55,
+ 0x33, 0x9d, 0xe8, 0x49, 0x85, 0x7f, 0xce, 0xfb, 0x54, 0x3c, 0x55, 0x44, 0x72, 0x21, 0x46, 0x80,
+ 0x51, 0xbc, 0x27, 0x5e, 0xa8, 0x97, 0x64, 0x94, 0x5b, 0xa4, 0x52, 0x87, 0x5a, 0xb3, 0x0c, 0x74,
+ 0x2a, 0x27, 0xa3, 0x53, 0xef, 0x0b, 0x74, 0xea, 0xa7, 0x04, 0x9d, 0x5a, 0x3e, 0xbc, 0x48, 0xd2,
+ 0xd7, 0xad, 0x97, 0x07, 0x1b, 0x43, 0xc1, 0xb6, 0xdd, 0x4e, 0x0a, 0x9b, 0x75, 0xbc, 0x3f, 0x52,
+ 0x56, 0xf0, 0x47, 0x12, 0xef, 0x95, 0x48, 0x30, 0x13, 0x16, 0xb9, 0x8e, 0xd0, 0xa5, 0x39, 0xa0,
+ 0x58, 0x3e, 0x77, 0x8a, 0xd5, 0x1a, 0x6a, 0xae, 0x1b, 0x5b, 0xd0, 0x18, 0xd6, 0x96, 0xe6, 0x40,
+ 0x7e, 0xc9, 0x6a, 0x7b, 0xc8, 0x85, 0x5f, 0x64, 0x33, 0xdd, 0x97, 0xa7, 0x38, 0x00, 0x2c, 0x82,
+ 0xfc, 0x26, 0x29, 0x8d, 0x99, 0xcc, 0xb7, 0xc8, 0xb5, 0x1e, 0xca, 0xa1, 0xc1, 0xfe, 0x4d, 0x1a,
+ 0x65, 0xaf, 0x87, 0xcc, 0xc8, 0xa6, 0xc8, 0x09, 0xa2, 0xec, 0x0d, 0x66, 0x61, 0x2c, 0x17, 0x4c,
+ 0xe5, 0x0d, 0xb4, 0x83, 0xc7, 0xf8, 0x4b, 0xe9, 0x21, 0x5c, 0x00, 0xaa, 0xd5, 0xea, 0x92, 0xce,
+ 0x71, 0xca, 0xc0, 0x8f, 0x49, 0x7d, 0x85, 0x7a, 0x45, 0x45, 0x59, 0x1e, 0xb7, 0xaf, 0x90, 0x14,
+ 0x17, 0xe9, 0x63, 0xf6, 0x5d, 0xe2, 0x28, 0xda, 0x69, 0x9b, 0x4d, 0x84, 0xb9, 0x4f, 0x0d, 0x35,
+ 0xda, 0x93, 0x65, 0xfd, 0x9e, 0x8c, 0x6b, 0xa7, 0xb9, 0x43, 0xb4, 0xd3, 0x61, 0x97, 0x21, 0x03,
+ 0x99, 0x93, 0x8a, 0x1f, 0xd9, 0x32, 0x64, 0x2c, 0x1b, 0x63, 0xb8, 0x3e, 0xd4, 0x3f, 0x10, 0x3b,
+ 0xd6, 0xd6, 0x3a, 0xec, 0x26, 0x0d, 0x13, 0xd6, 0xc8, 0x0e, 0xbf, 0x0e, 0xb3, 0x49, 0x13, 0xcd,
+ 0xc3, 0x18, 0xd0, 0x9a, 0x63, 0x68, 0x7d, 0x9a, 0x0d, 0xa3, 0x29, 0xef, 0x93, 0x76, 0x1d, 0xd7,
+ 0x4b, 0xb6, 0x4f, 0x8a, 0xb9, 0x33, 0xc8, 0x7f, 0x49, 0x0f, 0x5e, 0x89, 0xe7, 0xa3, 0x47, 0x35,
+ 0x7c, 0x26, 0x38, 0x78, 0x35, 0x88, 0x81, 0xf4, 0xe1, 0x7d, 0xf3, 0x11, 0x0d, 0x9e, 0xc3, 0x36,
+ 0x47, 0xd6, 0x06, 0x46, 0x36, 0x74, 0x0e, 0xd3, 0x1c, 0xa3, 0x79, 0x48, 0x1f, 0xaf, 0x6f, 0x72,
+ 0x03, 0xe7, 0x1b, 0xc6, 0x38, 0x70, 0xfa, 0x2d, 0x33, 0x37, 0x64, 0xcb, 0x1c, 0x76, 0xff, 0x87,
+ 0xc9, 0x7a, 0x74, 0x03, 0xe6, 0x30, 0xfb, 0x3f, 0x31, 0x4c, 0xa4, 0x8f, 0xf8, 0x1b, 0x55, 0x90,
+ 0xab, 0x8d, 0x7f, 0xbc, 0x1c, 0x76, 0x2e, 0x42, 0x64, 0x55, 0x1b, 0xd9, 0x70, 0x39, 0xcc, 0x5c,
+ 0x24, 0x92, 0x85, 0x31, 0x04, 0xd0, 0x3f, 0x0e, 0x66, 0xc8, 0x92, 0x88, 0xbf, 0xcd, 0xfa, 0x4d,
+ 0x36, 0x6a, 0xbe, 0x36, 0xc5, 0xb6, 0xfa, 0x14, 0x30, 0xe9, 0xef, 0xdf, 0xb1, 0x91, 0x73, 0x5e,
+ 0xae, 0x7d, 0xfa, 0x5c, 0x1a, 0xc1, 0xff, 0x87, 0x72, 0x86, 0x18, 0xf9, 0x5e, 0xed, 0xb0, 0xce,
+ 0x10, 0x47, 0xba, 0x5f, 0xfb, 0x67, 0xe1, 0x88, 0xfa, 0x9f, 0xd2, 0xc3, 0xbc, 0x77, 0x1f, 0x37,
+ 0xdb, 0x67, 0x1f, 0xf7, 0x23, 0x3c, 0x96, 0x35, 0x11, 0xcb, 0xbb, 0x65, 0x45, 0x38, 0xc2, 0xb1,
+ 0xf6, 0x5d, 0x01, 0x9c, 0xe7, 0x05, 0x38, 0x17, 0x0e, 0xc5, 0xcb, 0x18, 0x0e, 0x3e, 0x66, 0xc3,
+ 0x31, 0xf7, 0xa3, 0x29, 0xb6, 0xe3, 0x9e, 0x53, 0x15, 0xd9, 0x03, 0xa7, 0x2a, 0x84, 0x96, 0x9e,
+ 0x3b, 0x64, 0x4b, 0xff, 0x28, 0xaf, 0x1d, 0x75, 0x51, 0x3b, 0x9e, 0x2c, 0x8f, 0xc8, 0xe8, 0x46,
+ 0xe6, 0x77, 0x07, 0xea, 0x71, 0x41, 0x50, 0x8f, 0xd2, 0xe1, 0x98, 0x49, 0x5f, 0x3f, 0xfe, 0xc8,
+ 0x9f, 0xd0, 0x1e, 0x71, 0x7b, 0x1f, 0x76, 0xab, 0x58, 0x10, 0xe2, 0xc8, 0x46, 0xee, 0x61, 0xb6,
+ 0x8a, 0x07, 0x71, 0x32, 0x86, 0x98, 0x6a, 0xb3, 0x60, 0x9a, 0xf0, 0x74, 0xc1, 0x6a, 0x6d, 0x21,
+ 0x0f, 0xbe, 0x82, 0xfa, 0x28, 0xfa, 0x11, 0x2c, 0x47, 0x14, 0x66, 0x28, 0xea, 0xbc, 0x6b, 0x52,
+ 0x8f, 0x0e, 0xca, 0xe4, 0x3c, 0xc7, 0xe0, 0xb8, 0x23, 0x21, 0x0e, 0xe4, 0x20, 0x7d, 0xc8, 0x3e,
+ 0x44, 0xdd, 0x6d, 0x56, 0xcd, 0x7d, 0x67, 0xd7, 0x83, 0xcf, 0x1c, 0x41, 0x07, 0xbd, 0x00, 0xf2,
+ 0x6d, 0x42, 0x8d, 0x1d, 0xcb, 0x88, 0x9f, 0xee, 0x30, 0x11, 0xd0, 0xf2, 0x0d, 0xf6, 0x67, 0xd2,
+ 0xb3, 0x19, 0xa1, 0x1c, 0x29, 0x9d, 0x71, 0x9f, 0xcd, 0x18, 0x50, 0xfe, 0x58, 0xee, 0xca, 0x99,
+ 0xc4, 0xa5, 0x5b, 0x3b, 0x96, 0x37, 0xa2, 0x08, 0x0e, 0x6d, 0x4c, 0xcb, 0x8f, 0xe0, 0x40, 0x5e,
+ 0x92, 0x9e, 0x18, 0xe5, 0xa4, 0x82, 0x7f, 0x1f, 0xf7, 0x89, 0xd1, 0xf8, 0xe2, 0xd3, 0xc7, 0xe4,
+ 0x57, 0x69, 0xcb, 0x3a, 0x4f, 0x9d, 0x6f, 0x53, 0xf4, 0xeb, 0x1d, 0xba, 0xb1, 0x50, 0xd6, 0x8e,
+ 0xae, 0xb1, 0xf4, 0x2d, 0x3f, 0x7d, 0x60, 0xfe, 0xeb, 0x8f, 0x80, 0xdc, 0x22, 0xba, 0xb8, 0xbb,
+ 0x05, 0xef, 0x02, 0x93, 0x75, 0x17, 0xa1, 0xb2, 0xbd, 0xe9, 0x60, 0xe9, 0x7a, 0xf8, 0xd9, 0x87,
+ 0x84, 0xbd, 0x61, 0x3c, 0xb6, 0x91, 0xd9, 0x0a, 0xcf, 0x9f, 0xf9, 0xaf, 0xf0, 0xc5, 0x0a, 0xc8,
+ 0xd6, 0x3c, 0xd3, 0x83, 0x53, 0x01, 0xb6, 0xf0, 0x99, 0x3c, 0x16, 0x77, 0x89, 0x58, 0xdc, 0x28,
+ 0xc8, 0x82, 0x70, 0x30, 0x8f, 0xff, 0x8f, 0x00, 0x00, 0x82, 0xc9, 0x07, 0xba, 0x8e, 0x8d, 0x73,
+ 0xf8, 0x47, 0x20, 0xfd, 0x77, 0xf8, 0xb2, 0x40, 0xdc, 0xf7, 0x08, 0xe2, 0x7e, 0x8c, 0x5c, 0x11,
+ 0x63, 0x58, 0x69, 0x53, 0xc0, 0x14, 0x16, 0xed, 0x0a, 0x32, 0x5b, 0x5d, 0xf8, 0xc8, 0x50, 0xf9,
+ 0x23, 0xc4, 0x0c, 0xdf, 0x2f, 0x1d, 0x54, 0x93, 0xd6, 0x2a, 0x20, 0x1e, 0xed, 0xd1, 0xe1, 0x6f,
+ 0xfe, 0x2b, 0x62, 0x30, 0x92, 0x5b, 0x41, 0xd6, 0xb2, 0x37, 0x1d, 0xe6, 0x5f, 0x78, 0x75, 0x04,
+ 0x6d, 0xac, 0x13, 0x06, 0xc9, 0x28, 0x19, 0x71, 0x33, 0x9e, 0xad, 0xb1, 0x5c, 0x5e, 0x97, 0xc5,
+ 0xa5, 0xc3, 0xff, 0x73, 0xa0, 0xb0, 0x35, 0x0d, 0x64, 0x3b, 0xa6, 0xb7, 0xcd, 0x8a, 0x26, 0xcf,
+ 0xd8, 0x46, 0xde, 0xb5, 0x4d, 0xdb, 0xb1, 0xf7, 0x77, 0xac, 0xa7, 0x05, 0x77, 0xe4, 0x0a, 0x69,
+ 0x98, 0xf3, 0x2d, 0x64, 0x23, 0xd7, 0xf4, 0x50, 0x6d, 0x6f, 0x8b, 0xcc, 0xb1, 0x26, 0x0d, 0x3e,
+ 0x29, 0xb1, 0xfe, 0x63, 0x8e, 0xa3, 0xf5, 0x7f, 0xd3, 0x6a, 0x23, 0x12, 0xa9, 0x89, 0xe9, 0xbf,
+ 0xff, 0x9e, 0x48, 0xff, 0xfb, 0x14, 0x91, 0x3e, 0x1a, 0xdf, 0x53, 0xc0, 0x4c, 0x0d, 0x2b, 0x5c,
+ 0x6d, 0x77, 0x67, 0xc7, 0x74, 0xf7, 0xe1, 0xf5, 0x21, 0x2a, 0x9c, 0x6a, 0x66, 0x44, 0xbf, 0x94,
+ 0x3f, 0x94, 0xbe, 0x1e, 0x9a, 0x35, 0x6d, 0xae, 0x84, 0xc4, 0xed, 0xe0, 0xf1, 0x20, 0x87, 0xd5,
+ 0xdb, 0xf7, 0xb8, 0x8c, 0x6d, 0x08, 0x34, 0xa7, 0x64, 0x44, 0xab, 0x81, 0xbc, 0x8d, 0x21, 0x9a,
+ 0x86, 0x02, 0x8e, 0xd7, 0x3c, 0xb3, 0x79, 0x69, 0xd9, 0x71, 0x9d, 0x5d, 0xcf, 0xb2, 0x51, 0x17,
+ 0x3e, 0x22, 0x44, 0xc0, 0xd7, 0xff, 0x4c, 0xa8, 0xff, 0xf0, 0xdf, 0x32, 0xb2, 0xa3, 0x68, 0xd0,
+ 0xad, 0xf2, 0xe4, 0x23, 0x02, 0x54, 0xc9, 0x8d, 0x8b, 0x32, 0x14, 0xd3, 0x17, 0xda, 0x1b, 0x54,
+ 0x50, 0xd0, 0x1f, 0xec, 0x38, 0xae, 0xb7, 0xea, 0x34, 0xcd, 0x76, 0xd7, 0x73, 0x5c, 0x04, 0xab,
+ 0xb1, 0x52, 0xc3, 0x3d, 0x4c, 0xcb, 0x69, 0x86, 0x83, 0x23, 0x7b, 0xe3, 0xd5, 0x4e, 0x15, 0x75,
+ 0xfc, 0x43, 0xd2, 0xbb, 0x8c, 0x54, 0x2a, 0xbd, 0x1c, 0x45, 0xe8, 0x79, 0xbf, 0x2e, 0x2d, 0xd9,
+ 0x61, 0x09, 0xb9, 0x9d, 0x47, 0x29, 0xa6, 0xc6, 0xb0, 0x54, 0xae, 0x80, 0xd9, 0xda, 0xee, 0xc5,
+ 0x80, 0x48, 0x97, 0x37, 0x42, 0x5e, 0x29, 0x1d, 0xa5, 0x82, 0x29, 0x1e, 0x4f, 0x28, 0x42, 0xbe,
+ 0x37, 0x80, 0xd9, 0x2e, 0x9f, 0x8d, 0xe1, 0x2d, 0x26, 0x4a, 0x46, 0xa7, 0x18, 0x5c, 0x6a, 0xfa,
+ 0x02, 0x7c, 0xb7, 0x02, 0x66, 0xab, 0x1d, 0x64, 0xa3, 0x16, 0xf5, 0x82, 0x14, 0x04, 0xf8, 0xe2,
+ 0x84, 0x02, 0x14, 0x08, 0x45, 0x08, 0x30, 0xf4, 0x58, 0x5e, 0xf4, 0x85, 0x17, 0x26, 0x24, 0x12,
+ 0x5c, 0x5c, 0x69, 0xe9, 0x0b, 0xee, 0x0b, 0x0a, 0x98, 0x36, 0x76, 0xed, 0x75, 0xd7, 0xc1, 0xa3,
+ 0xb1, 0x0b, 0xef, 0x0e, 0x3b, 0x88, 0x5b, 0xc0, 0x89, 0xd6, 0xae, 0x4b, 0xd6, 0x9f, 0xca, 0x76,
+ 0x0d, 0x35, 0x1d, 0xbb, 0xd5, 0x25, 0xf5, 0xc8, 0x19, 0x07, 0x3f, 0xdc, 0x99, 0x7d, 0xe8, 0x6b,
+ 0x6a, 0x06, 0x3e, 0x57, 0x3a, 0xd4, 0x0d, 0xad, 0x3c, 0x57, 0xb4, 0x7c, 0x4f, 0x20, 0x19, 0xd0,
+ 0x66, 0x50, 0x09, 0xe9, 0x0b, 0xf7, 0xd3, 0x0a, 0xd0, 0x8a, 0xcd, 0xa6, 0xb3, 0x6b, 0x7b, 0x35,
+ 0xd4, 0x46, 0x4d, 0xaf, 0xee, 0x9a, 0x4d, 0xc4, 0xdb, 0xcf, 0x05, 0xa0, 0xb6, 0x2c, 0x97, 0xf5,
+ 0xc1, 0xf8, 0x91, 0xc9, 0xf1, 0xc5, 0xd2, 0x3b, 0x8e, 0xb4, 0x96, 0x07, 0x4b, 0x49, 0x20, 0x4e,
+ 0xb9, 0x7d, 0x45, 0xc9, 0x82, 0xd2, 0x97, 0xea, 0x47, 0x15, 0x30, 0xe5, 0xf7, 0xd8, 0x5b, 0x32,
+ 0xc2, 0xfc, 0xd5, 0x84, 0x93, 0x91, 0x80, 0x78, 0x02, 0x19, 0xbe, 0x3d, 0xc1, 0xac, 0x22, 0x8a,
+ 0x7e, 0x32, 0xd1, 0x15, 0x93, 0x8b, 0x0e, 0xbf, 0x56, 0xaa, 0x8d, 0xa5, 0xea, 0xea, 0xa2, 0x6e,
+ 0x14, 0x54, 0xf8, 0x45, 0x05, 0x64, 0xd7, 0x2d, 0x7b, 0x8b, 0x8f, 0xae, 0x74, 0x12, 0xdb, 0x91,
+ 0x2d, 0xf4, 0x20, 0x6b, 0xe9, 0xf4, 0x45, 0xbb, 0x0d, 0x9c, 0xb4, 0x77, 0x77, 0x2e, 0x22, 0xb7,
+ 0xba, 0x49, 0x46, 0xd9, 0x6e, 0xdd, 0xa9, 0x21, 0x9b, 0x1a, 0xa1, 0x39, 0xa3, 0xef, 0x37, 0xd1,
+ 0x04, 0x93, 0x98, 0x3c, 0x60, 0x4e, 0x22, 0x24, 0x1e, 0x30, 0xa5, 0x70, 0x4c, 0x25, 0x9a, 0x36,
+ 0xf4, 0x21, 0x9e, 0xbe, 0xa6, 0xfe, 0x71, 0x0e, 0x9c, 0x2a, 0xda, 0xfb, 0xc4, 0xa6, 0xa0, 0x1d,
+ 0x7c, 0x69, 0xdb, 0xb4, 0xb7, 0x10, 0x19, 0x20, 0x02, 0x89, 0xf3, 0xa1, 0xf6, 0x33, 0x62, 0xa8,
+ 0x7d, 0xcd, 0x00, 0x13, 0x8e, 0xdb, 0x42, 0xee, 0xc2, 0x3e, 0xe1, 0xa9, 0x77, 0xd9, 0x99, 0xb5,
+ 0xc9, 0x7e, 0x45, 0xcc, 0x33, 0xf2, 0xf3, 0x55, 0xfa, 0xbf, 0xe1, 0x13, 0x3a, 0x77, 0x0b, 0x98,
+ 0x60, 0x69, 0xda, 0x0c, 0x98, 0xac, 0x1a, 0x8b, 0xba, 0xd1, 0x28, 0x2f, 0x16, 0x8e, 0x69, 0x57,
+ 0x80, 0xe3, 0xe5, 0xba, 0x6e, 0x14, 0xeb, 0xe5, 0x6a, 0xa5, 0x41, 0xd2, 0x0b, 0x19, 0xf8, 0xec,
+ 0xac, 0xac, 0x67, 0x6f, 0x3c, 0x33, 0xfd, 0x60, 0x35, 0xc0, 0x44, 0x93, 0x66, 0x20, 0x43, 0xe8,
+ 0x74, 0xa2, 0xda, 0x31, 0x82, 0x34, 0xc1, 0xf0, 0x09, 0x69, 0x67, 0x01, 0xb8, 0xec, 0x3a, 0xf6,
+ 0x56, 0x78, 0xea, 0x70, 0xd2, 0xe0, 0x52, 0xe0, 0x33, 0x33, 0x20, 0x4f, 0xff, 0x21, 0x57, 0x8b,
+ 0x90, 0xa7, 0x50, 0xf0, 0xfe, 0x3b, 0xb6, 0x78, 0x89, 0xbc, 0xc2, 0x89, 0x16, 0x7b, 0xc5, 0xba,
+ 0x48, 0x65, 0x40, 0x2d, 0x61, 0x56, 0x95, 0x5b, 0x41, 0x9e, 0xfe, 0xcb, 0xbc, 0x0e, 0xa2, 0xc3,
+ 0x8b, 0xd2, 0x6c, 0x92, 0x7e, 0xca, 0xf2, 0x32, 0x4d, 0x5f, 0x9b, 0x3f, 0xa0, 0x80, 0xc9, 0x0a,
+ 0xf2, 0x4a, 0xdb, 0xa8, 0x79, 0x09, 0x3e, 0x5a, 0x5c, 0x00, 0x6d, 0x5b, 0xc8, 0xf6, 0xee, 0xdf,
+ 0x69, 0x07, 0x0b, 0xa0, 0x7e, 0x02, 0x7c, 0x0e, 0xdf, 0xf9, 0xde, 0x2b, 0xea, 0xcf, 0xcd, 0x7d,
+ 0xea, 0xea, 0x97, 0x10, 0xa1, 0x32, 0xa7, 0x41, 0xde, 0x45, 0xdd, 0xdd, 0xb6, 0xbf, 0x88, 0xc6,
+ 0xde, 0xe0, 0xab, 0x02, 0x71, 0x96, 0x04, 0x71, 0xde, 0x2a, 0x5f, 0xc4, 0x18, 0xe2, 0x95, 0x66,
+ 0xc1, 0x44, 0xd9, 0xb6, 0x3c, 0xcb, 0x6c, 0xc3, 0xe7, 0x66, 0xc1, 0x6c, 0x0d, 0x79, 0xeb, 0xa6,
+ 0x6b, 0xee, 0x20, 0x0f, 0xb9, 0x5d, 0xf8, 0x1d, 0xb1, 0x4f, 0xe8, 0xb4, 0x4d, 0x6f, 0xd3, 0x71,
+ 0x77, 0x7c, 0xd5, 0xf4, 0xdf, 0xb1, 0x6a, 0xee, 0x21, 0xb7, 0x1b, 0xf2, 0xe5, 0xbf, 0xe2, 0x2f,
+ 0x97, 0x1d, 0xf7, 0x12, 0x1e, 0x04, 0xd9, 0x34, 0x8d, 0xbd, 0x62, 0x7a, 0x6d, 0x67, 0x6b, 0x15,
+ 0xed, 0x21, 0x3f, 0x5c, 0x5a, 0xf0, 0x8e, 0xe7, 0x02, 0x2d, 0xa7, 0xe2, 0x78, 0xb8, 0xd3, 0x5e,
+ 0x75, 0xb6, 0x68, 0xbc, 0xd8, 0x49, 0x43, 0x4c, 0x0c, 0x73, 0x99, 0x7b, 0x88, 0xe4, 0xca, 0xf3,
+ 0xb9, 0x58, 0xa2, 0x36, 0x0f, 0xb4, 0xe0, 0xb7, 0x3a, 0x6a, 0xa3, 0x1d, 0xe4, 0xb9, 0xfb, 0x67,
+ 0x26, 0x48, 0xd6, 0x3e, 0x5f, 0xd8, 0x00, 0x2d, 0x3f, 0x59, 0x67, 0xd2, 0x9b, 0x17, 0x24, 0x77,
+ 0xa8, 0xc9, 0xba, 0x0c, 0xc5, 0xb1, 0x5c, 0x5f, 0xa5, 0x62, 0x6b, 0xe6, 0x25, 0x2a, 0xc8, 0x92,
+ 0xc1, 0xf3, 0x8d, 0x19, 0x61, 0x85, 0x69, 0x07, 0x75, 0xbb, 0xe6, 0x16, 0xf2, 0x57, 0x98, 0xd8,
+ 0xab, 0x76, 0x07, 0xc8, 0xb5, 0x09, 0xa6, 0x74, 0x70, 0xb8, 0x5e, 0xa8, 0x19, 0x36, 0x30, 0x30,
+ 0xad, 0x60, 0x24, 0x20, 0x70, 0x1b, 0xf4, 0x8f, 0x73, 0x4f, 0x01, 0x39, 0x0a, 0xff, 0x14, 0xc8,
+ 0x2d, 0xea, 0x0b, 0x1b, 0xcb, 0x85, 0x63, 0xf8, 0xd1, 0xe7, 0x6f, 0x0a, 0xe4, 0x96, 0x8a, 0xf5,
+ 0xe2, 0x6a, 0x41, 0xc1, 0xf5, 0x28, 0x57, 0x96, 0xaa, 0x05, 0x15, 0x27, 0xae, 0x17, 0x2b, 0xe5,
+ 0x52, 0x21, 0xab, 0x4d, 0x83, 0x89, 0x0b, 0x45, 0xa3, 0x52, 0xae, 0x2c, 0x17, 0x72, 0xf0, 0xef,
+ 0x78, 0xfc, 0xee, 0x14, 0xf1, 0xbb, 0x21, 0x8a, 0xa7, 0x7e, 0x90, 0xfd, 0x66, 0x00, 0xd9, 0xdd,
+ 0x02, 0x64, 0x3f, 0x22, 0x43, 0x64, 0x0c, 0x28, 0x29, 0x60, 0x62, 0xdd, 0x75, 0x9a, 0xa8, 0xdb,
+ 0x85, 0xbf, 0xa6, 0x80, 0x7c, 0xc9, 0xb4, 0x9b, 0xa8, 0x0d, 0xaf, 0x0a, 0xa1, 0xa2, 0xae, 0xa2,
+ 0x99, 0xe0, 0xb4, 0xd8, 0x3f, 0x65, 0x64, 0x7b, 0x3f, 0x46, 0x77, 0x9e, 0xd2, 0x8c, 0x90, 0x8f,
+ 0x5c, 0x2f, 0x17, 0x4b, 0x2a, 0x7d, 0x29, 0x7d, 0x27, 0x03, 0x4e, 0x2e, 0x23, 0x1b, 0xb9, 0x56,
+ 0x93, 0x32, 0xef, 0xd7, 0xff, 0x6e, 0xb1, 0xfe, 0x8f, 0x16, 0x98, 0xee, 0xf7, 0x87, 0x58, 0xf9,
+ 0x97, 0x07, 0x95, 0xbf, 0x57, 0xa8, 0xfc, 0x2d, 0x92, 0x74, 0xc6, 0x70, 0x57, 0xf5, 0x14, 0x98,
+ 0xa9, 0x38, 0x9e, 0xb5, 0x69, 0x35, 0xa9, 0x5f, 0xd1, 0x6f, 0xa8, 0x20, 0xbb, 0x6a, 0x75, 0x3d,
+ 0x58, 0x0c, 0x55, 0xe4, 0x3a, 0x30, 0x6d, 0xd9, 0xcd, 0xf6, 0x6e, 0x0b, 0x19, 0xc8, 0xa4, 0xba,
+ 0x32, 0x69, 0xf0, 0x49, 0xe1, 0x76, 0x2d, 0x66, 0x4b, 0xf5, 0xb7, 0x6b, 0x3f, 0x21, 0x3d, 0xb5,
+ 0xe6, 0x59, 0x20, 0x41, 0x06, 0x23, 0xc6, 0xd2, 0x22, 0x98, 0xb5, 0xb9, 0xac, 0xbe, 0x11, 0xd6,
+ 0x1b, 0x24, 0x9e, 0x27, 0x67, 0x88, 0x7f, 0xc0, 0xf7, 0x4a, 0xcd, 0xc4, 0x07, 0x31, 0x94, 0x0c,
+ 0x99, 0xa5, 0x21, 0x26, 0x3e, 0x1a, 0x98, 0x2b, 0x57, 0xea, 0xba, 0x51, 0x29, 0xae, 0xb2, 0x2c,
+ 0x2a, 0xfc, 0x9e, 0x02, 0x72, 0x06, 0xea, 0xb4, 0xf7, 0xf9, 0x28, 0xc0, 0xcc, 0xf9, 0x37, 0x13,
+ 0x38, 0xff, 0x6a, 0x4b, 0x00, 0x98, 0x4d, 0x5c, 0x30, 0xb9, 0xee, 0x48, 0xe9, 0x1b, 0x9b, 0x52,
+ 0xa8, 0x60, 0x31, 0xc8, 0x6d, 0x70, 0x7f, 0xc2, 0xe7, 0x49, 0xef, 0x06, 0x08, 0xd4, 0x08, 0x87,
+ 0x11, 0xdd, 0xc1, 0xfb, 0xa4, 0x16, 0xf0, 0x07, 0x92, 0x3b, 0x1a, 0xf1, 0x7f, 0x49, 0x01, 0xd9,
+ 0x3a, 0xea, 0x0a, 0xfb, 0xad, 0x7f, 0x32, 0x9c, 0x8e, 0x63, 0x32, 0x11, 0x3a, 0x7e, 0x0f, 0x98,
+ 0xe1, 0x35, 0x96, 0x6d, 0x7f, 0xc7, 0xaa, 0xb8, 0xf0, 0xc3, 0x30, 0x1a, 0xde, 0x87, 0x9d, 0xa3,
+ 0x11, 0xf1, 0xc7, 0x1e, 0x03, 0xc0, 0x1a, 0xc2, 0x53, 0xf3, 0xee, 0xb6, 0xd5, 0x81, 0x7f, 0xaf,
+ 0x82, 0xa9, 0x65, 0xe4, 0xd5, 0x3c, 0xd3, 0xdb, 0xed, 0xf6, 0x6c, 0x61, 0xd9, 0x4e, 0xc9, 0x6c,
+ 0x6e, 0x23, 0xd6, 0x1d, 0xf9, 0xaf, 0xf0, 0x9d, 0xaa, 0xac, 0x8f, 0x48, 0x58, 0xce, 0x7c, 0x50,
+ 0x46, 0x04, 0x26, 0x8f, 0x05, 0xd9, 0x96, 0xe9, 0x99, 0x0c, 0x8b, 0xab, 0x7a, 0xb0, 0x08, 0x09,
+ 0x19, 0x24, 0x1b, 0xfc, 0x6d, 0x45, 0xc6, 0x49, 0x44, 0xa2, 0xfc, 0x64, 0x20, 0xbc, 0x37, 0x33,
+ 0x04, 0x0a, 0x27, 0xc0, 0x6c, 0xa5, 0x5a, 0x6f, 0xac, 0x56, 0x97, 0x97, 0x75, 0x9c, 0x5a, 0x50,
+ 0xb5, 0xd3, 0x40, 0x5b, 0x2f, 0xde, 0xbf, 0xa6, 0x57, 0xea, 0x8d, 0x4a, 0x75, 0x51, 0x67, 0x7f,
+ 0x66, 0xb5, 0xe3, 0x60, 0xba, 0x54, 0x2c, 0xad, 0xf8, 0x09, 0x39, 0xed, 0x0c, 0x38, 0xb9, 0xa6,
+ 0xaf, 0x2d, 0xe8, 0x46, 0x6d, 0xa5, 0xbc, 0xde, 0xc0, 0x64, 0x96, 0xaa, 0x1b, 0x95, 0xc5, 0x42,
+ 0x5e, 0x83, 0xe0, 0x34, 0xf7, 0xe5, 0x82, 0x51, 0xad, 0x2c, 0x37, 0x6a, 0xf5, 0x62, 0x5d, 0x2f,
+ 0x4c, 0xe0, 0x49, 0x7b, 0xa9, 0x58, 0x21, 0xd9, 0x4b, 0xd5, 0x4a, 0x45, 0x2f, 0xd5, 0x0b, 0x93,
+ 0xf0, 0xdf, 0xb2, 0x60, 0xba, 0xdc, 0xad, 0x98, 0x3b, 0xe8, 0xbc, 0xd9, 0xb6, 0x5a, 0xf0, 0xb9,
+ 0x9c, 0x35, 0x79, 0x03, 0x98, 0x75, 0xe9, 0x23, 0x6a, 0xd5, 0x2d, 0x44, 0xd1, 0x9c, 0x35, 0xc4,
+ 0x44, 0x3c, 0xcf, 0xb2, 0x09, 0x01, 0x7f, 0x9e, 0x45, 0xdf, 0xb4, 0x05, 0x00, 0xe8, 0x53, 0x3d,
+ 0xbc, 0x78, 0xf3, 0x5c, 0x6f, 0x6b, 0x32, 0x77, 0x50, 0x17, 0xb9, 0x7b, 0x56, 0x13, 0xf9, 0x39,
+ 0x0d, 0xee, 0x2f, 0xf8, 0x65, 0x55, 0x76, 0xcf, 0x88, 0x03, 0x95, 0xab, 0x4e, 0x44, 0x6f, 0xf8,
+ 0x0b, 0xaa, 0xcc, 0x8e, 0x8f, 0x14, 0xc9, 0x64, 0x9a, 0xf2, 0x02, 0x65, 0xb8, 0xa5, 0xb8, 0x7a,
+ 0xb5, 0xda, 0xa8, 0xad, 0x54, 0x8d, 0x7a, 0x41, 0xd5, 0x66, 0xc0, 0x24, 0x7e, 0x5d, 0xad, 0x56,
+ 0x96, 0x0b, 0x59, 0xed, 0x14, 0x38, 0xb1, 0x52, 0xac, 0x35, 0xca, 0x95, 0xf3, 0xc5, 0xd5, 0xf2,
+ 0x62, 0xa3, 0xb4, 0x52, 0x34, 0x6a, 0x85, 0x9c, 0x76, 0x15, 0x38, 0x55, 0x2f, 0xeb, 0x46, 0x63,
+ 0x49, 0x2f, 0xd6, 0x37, 0x0c, 0xbd, 0xd6, 0xa8, 0x54, 0x1b, 0x95, 0xe2, 0x9a, 0x5e, 0xc8, 0xe3,
+ 0xe6, 0x4f, 0x3e, 0x85, 0x6a, 0x33, 0x71, 0x50, 0x19, 0x27, 0x23, 0x94, 0x71, 0xaa, 0x57, 0x19,
+ 0x01, 0xaf, 0x56, 0x86, 0x5e, 0xd3, 0x8d, 0xf3, 0x7a, 0x61, 0xba, 0x9f, 0xae, 0xcd, 0x68, 0x27,
+ 0x41, 0x01, 0xf3, 0xd0, 0x28, 0xd7, 0xfc, 0x9c, 0x8b, 0x85, 0x59, 0xf8, 0xd1, 0x3c, 0x38, 0x6d,
+ 0xa0, 0x2d, 0xab, 0xeb, 0x21, 0x77, 0xdd, 0xdc, 0xdf, 0x41, 0xb6, 0xe7, 0x77, 0xf2, 0xff, 0x2b,
+ 0xb1, 0x32, 0xae, 0x81, 0xd9, 0x0e, 0xa5, 0xb1, 0x86, 0xbc, 0x6d, 0xa7, 0xc5, 0x46, 0xe1, 0x47,
+ 0x47, 0xf6, 0x1c, 0xf3, 0xeb, 0x7c, 0x76, 0x43, 0xfc, 0x9b, 0xd3, 0x6d, 0x35, 0x46, 0xb7, 0xb3,
+ 0xc3, 0xe8, 0xb6, 0x76, 0x0d, 0x98, 0xda, 0xed, 0x22, 0x57, 0xdf, 0x31, 0xad, 0xb6, 0x7f, 0x71,
+ 0x62, 0x90, 0x00, 0xdf, 0x96, 0x95, 0x3d, 0x85, 0xc0, 0xd5, 0xa5, 0xbf, 0x18, 0x23, 0xfa, 0xd6,
+ 0xb3, 0x00, 0xb0, 0xca, 0x6e, 0xb8, 0x6d, 0xa6, 0xac, 0x5c, 0x0a, 0xe6, 0xef, 0xa2, 0xd5, 0x6e,
+ 0x5b, 0xf6, 0x56, 0xb0, 0x97, 0x1b, 0x26, 0xc0, 0x17, 0xa8, 0x32, 0xa7, 0x12, 0x92, 0xf2, 0x96,
+ 0xac, 0x35, 0x3d, 0x4f, 0x19, 0x73, 0xbf, 0x7b, 0xb0, 0xe9, 0xe4, 0xb5, 0x02, 0x98, 0x21, 0x69,
+ 0xac, 0x05, 0x16, 0x26, 0x70, 0x1f, 0xec, 0x93, 0x5b, 0xd3, 0xeb, 0x2b, 0xd5, 0xc5, 0xe0, 0xdb,
+ 0x24, 0x26, 0x89, 0x99, 0x29, 0x56, 0xee, 0x27, 0xad, 0x71, 0x4a, 0x7b, 0x04, 0xb8, 0x8a, 0xeb,
+ 0xb0, 0x8b, 0xab, 0x86, 0x5e, 0x5c, 0xbc, 0xbf, 0xa1, 0x3f, 0xb5, 0x5c, 0xab, 0xd7, 0xc4, 0xc6,
+ 0xe5, 0xb7, 0xa3, 0x69, 0xcc, 0xaf, 0xbe, 0x56, 0x2c, 0xaf, 0xb2, 0xfe, 0x7d, 0xa9, 0x6a, 0xac,
+ 0x15, 0xeb, 0x85, 0x19, 0xf8, 0x12, 0x15, 0x14, 0x96, 0x91, 0xb7, 0xee, 0xb8, 0x9e, 0xd9, 0x5e,
+ 0xb5, 0xec, 0x4b, 0x1b, 0x6e, 0x9b, 0xb7, 0x99, 0xfe, 0x55, 0x3a, 0xf4, 0x82, 0x38, 0x44, 0x0a,
+ 0x04, 0xa3, 0x77, 0x39, 0x3b, 0x24, 0x5b, 0xa8, 0x4c, 0x61, 0x02, 0x7c, 0xba, 0x22, 0xb3, 0x84,
+ 0x29, 0x5f, 0x6a, 0x32, 0x3d, 0x79, 0xc6, 0xb8, 0xc7, 0xe7, 0x3e, 0xa8, 0xe5, 0xe1, 0x43, 0x59,
+ 0x30, 0xb9, 0x64, 0xd9, 0x66, 0xdb, 0x7a, 0x9a, 0x10, 0x93, 0x32, 0xec, 0x63, 0x32, 0x31, 0x7d,
+ 0x8c, 0x32, 0xd4, 0xf8, 0xf9, 0x2b, 0xaa, 0xec, 0x7e, 0x36, 0x27, 0x7b, 0x9f, 0xc9, 0x88, 0xc1,
+ 0xf3, 0xf7, 0x15, 0x99, 0x1d, 0xeb, 0xc1, 0xf4, 0x92, 0x61, 0xf8, 0xf1, 0x1f, 0x0c, 0x1b, 0xab,
+ 0xa7, 0x7d, 0x4f, 0xf6, 0x53, 0x85, 0x29, 0xf8, 0x17, 0x2a, 0x80, 0xcb, 0xc8, 0x3b, 0x8f, 0xdc,
+ 0x60, 0x2a, 0x40, 0x7a, 0x7d, 0x66, 0x6f, 0x73, 0x4d, 0xf6, 0x8d, 0x3c, 0x80, 0x17, 0x44, 0x00,
+ 0x8b, 0x31, 0x8d, 0x27, 0x82, 0x74, 0x44, 0xe3, 0x2d, 0x83, 0x7c, 0x97, 0x7c, 0x67, 0x6a, 0xf6,
+ 0xf8, 0xe8, 0xe1, 0x92, 0x10, 0xe3, 0xa9, 0x53, 0xc2, 0x06, 0x23, 0x00, 0xbf, 0x1b, 0x4c, 0x82,
+ 0x7e, 0x52, 0xd0, 0x8e, 0xa5, 0x43, 0x33, 0x9b, 0x4c, 0x5f, 0xdc, 0x74, 0xd5, 0xa5, 0x9f, 0x7d,
+ 0x03, 0x7f, 0x3f, 0x07, 0x4e, 0xf6, 0xab, 0x0e, 0xfc, 0x9d, 0x8c, 0xb0, 0x6b, 0x8a, 0xc8, 0x90,
+ 0x9f, 0x61, 0x9b, 0x42, 0xf8, 0x45, 0x7b, 0x02, 0x38, 0xc5, 0x1c, 0x6a, 0x2e, 0xa2, 0xba, 0x53,
+ 0x41, 0x97, 0xbb, 0x6d, 0xe4, 0x79, 0xc8, 0x25, 0x55, 0x9b, 0x34, 0xfa, 0x7f, 0xd4, 0x9e, 0x08,
+ 0xae, 0xb4, 0xec, 0xae, 0xd5, 0x42, 0x6e, 0xdd, 0xea, 0x74, 0x8b, 0x76, 0xab, 0xbe, 0xeb, 0x39,
+ 0xae, 0x65, 0xb2, 0xeb, 0x01, 0x27, 0x8d, 0xa8, 0xcf, 0xda, 0xcd, 0xa0, 0x60, 0x75, 0xab, 0xf6,
+ 0x45, 0xc7, 0x74, 0x5b, 0x96, 0xbd, 0xb5, 0x6a, 0x75, 0x3d, 0xe6, 0xd5, 0x79, 0x20, 0x1d, 0xfe,
+ 0x83, 0x2a, 0x7b, 0x40, 0x6a, 0x00, 0xac, 0x11, 0x1d, 0xca, 0x73, 0x54, 0x99, 0x23, 0x4f, 0xc9,
+ 0x68, 0x27, 0x53, 0x96, 0x67, 0x8f, 0xdb, 0x90, 0xe8, 0x3f, 0x82, 0x93, 0xae, 0x85, 0xa6, 0xfb,
+ 0x86, 0xc0, 0x79, 0xdd, 0x28, 0x2f, 0x95, 0x75, 0x6c, 0x56, 0x9c, 0x02, 0x27, 0xc2, 0x6f, 0x8b,
+ 0xf7, 0x37, 0x6a, 0x7a, 0xa5, 0x5e, 0x98, 0xc4, 0xfd, 0x14, 0x4d, 0x5e, 0x2a, 0x96, 0x57, 0xf5,
+ 0xc5, 0x46, 0xbd, 0x8a, 0xbf, 0x2c, 0x0e, 0x67, 0x5a, 0xc0, 0x67, 0x66, 0xc1, 0x71, 0x22, 0xdb,
+ 0x7d, 0x22, 0x55, 0x2c, 0x94, 0x1e, 0xff, 0xc9, 0x00, 0xa0, 0x29, 0x2a, 0x5e, 0xf8, 0x29, 0xe9,
+ 0xdb, 0x0f, 0x39, 0x08, 0x7b, 0xca, 0x88, 0xd0, 0x8c, 0xef, 0x28, 0x32, 0x51, 0x07, 0xa4, 0xc9,
+ 0x26, 0x53, 0x8a, 0x7f, 0x19, 0xf7, 0x88, 0x13, 0x0d, 0x3e, 0xb1, 0x32, 0x4b, 0xe4, 0xe7, 0xa7,
+ 0xae, 0x97, 0x0d, 0xa2, 0x0e, 0x73, 0x00, 0x90, 0x14, 0xa2, 0x41, 0x54, 0x0f, 0xfa, 0x8e, 0x57,
+ 0x51, 0x7a, 0x50, 0x2c, 0xd5, 0xcb, 0xe7, 0xf5, 0x28, 0x3d, 0xf8, 0xa4, 0x0a, 0x26, 0x97, 0x91,
+ 0x87, 0xe7, 0x54, 0x5d, 0xf8, 0x24, 0x89, 0xf5, 0x1f, 0x6c, 0xc6, 0x90, 0x6b, 0xdf, 0x83, 0x65,
+ 0x00, 0xfa, 0x06, 0x9f, 0x35, 0x8c, 0x09, 0xe2, 0x17, 0x1d, 0x31, 0x5e, 0xfd, 0x38, 0xc8, 0x79,
+ 0xf8, 0x33, 0x5b, 0x86, 0x7e, 0x64, 0xe4, 0x70, 0x85, 0x89, 0x2c, 0x9a, 0x9e, 0x69, 0xd0, 0xfc,
+ 0xdc, 0xe8, 0x24, 0x69, 0xbb, 0x44, 0x30, 0xf2, 0x83, 0x68, 0x7f, 0xfe, 0x9d, 0x0a, 0x4e, 0xd1,
+ 0xf6, 0x51, 0xec, 0x74, 0x6a, 0x9e, 0xe3, 0x22, 0x03, 0x35, 0x91, 0xd5, 0xf1, 0x7a, 0xd6, 0xf7,
+ 0x5c, 0x9a, 0xea, 0x6f, 0x20, 0xb2, 0x57, 0xf8, 0x3a, 0x55, 0x36, 0xae, 0xee, 0x81, 0xf6, 0xd8,
+ 0x53, 0x5e, 0x44, 0x63, 0xff, 0x88, 0x22, 0x13, 0x29, 0x37, 0x21, 0xf1, 0x64, 0x40, 0x7d, 0xf0,
+ 0x08, 0x80, 0xf2, 0x57, 0x6e, 0x0c, 0xbd, 0xa4, 0x97, 0xd7, 0xf1, 0x20, 0x70, 0x2d, 0xb8, 0x7a,
+ 0x7d, 0xc3, 0x28, 0xad, 0x14, 0x6b, 0x7a, 0xc3, 0xd0, 0x97, 0xcb, 0xb5, 0x3a, 0x73, 0xb4, 0xa1,
+ 0x7f, 0x4d, 0x68, 0xd7, 0x80, 0x33, 0xb5, 0x8d, 0x85, 0x5a, 0xc9, 0x28, 0xaf, 0x93, 0x74, 0x43,
+ 0xaf, 0xe8, 0x17, 0xd8, 0xd7, 0x49, 0xf8, 0xfe, 0x02, 0x98, 0xc6, 0x13, 0x80, 0x1a, 0x9d, 0x17,
+ 0xc0, 0x6f, 0x64, 0xc1, 0xb4, 0x81, 0xba, 0x4e, 0x7b, 0x8f, 0xcc, 0x11, 0xc6, 0x35, 0xf5, 0xf8,
+ 0xb6, 0x2a, 0x7b, 0x26, 0x97, 0x63, 0x76, 0x9e, 0x63, 0x34, 0x7a, 0xa2, 0x69, 0xee, 0x99, 0x56,
+ 0xdb, 0xbc, 0xc8, 0xba, 0x9a, 0x49, 0x23, 0x4c, 0xd0, 0xe6, 0x81, 0xe6, 0x5c, 0xb6, 0x91, 0x5b,
+ 0x6b, 0x5e, 0xd6, 0xbd, 0xed, 0x62, 0xab, 0xe5, 0xa2, 0x6e, 0x97, 0xad, 0x5e, 0xf4, 0xf9, 0xa2,
+ 0xdd, 0x04, 0x8e, 0x93, 0x54, 0x2e, 0x33, 0x75, 0x7a, 0xe8, 0x4d, 0x0e, 0x72, 0x16, 0xed, 0x7d,
+ 0x3f, 0x67, 0x8e, 0xcb, 0x19, 0x26, 0xf3, 0x2e, 0xf0, 0x79, 0xf1, 0xe4, 0xc5, 0x75, 0x60, 0xda,
+ 0x36, 0x77, 0x90, 0xfe, 0x60, 0xc7, 0x72, 0x51, 0x97, 0x38, 0x3b, 0xa8, 0x06, 0x9f, 0x04, 0x7f,
+ 0x5f, 0xea, 0x0c, 0xb1, 0x9c, 0xc4, 0x92, 0xe9, 0xfe, 0xf2, 0x10, 0xaa, 0xdf, 0xa7, 0x9f, 0x51,
+ 0xe1, 0xfb, 0x55, 0x30, 0xc3, 0x98, 0x2a, 0xda, 0xfb, 0xe5, 0x16, 0xbc, 0x56, 0x30, 0x7e, 0x4d,
+ 0x9c, 0xe6, 0x1b, 0xbf, 0xe4, 0x05, 0xfe, 0xa2, 0x2a, 0xeb, 0xc2, 0xda, 0xa7, 0xe2, 0xa4, 0x8c,
+ 0x68, 0x67, 0xc0, 0x4d, 0x67, 0x97, 0x39, 0x1f, 0x4e, 0x1a, 0xf4, 0x25, 0xcd, 0x45, 0x3d, 0xf8,
+ 0x07, 0x52, 0x0e, 0xb2, 0x92, 0xd5, 0x38, 0x22, 0x00, 0x3f, 0xa6, 0x82, 0x39, 0xc6, 0x55, 0x8d,
+ 0x9d, 0xdd, 0x90, 0x3a, 0xc4, 0xf4, 0x4b, 0xd2, 0x86, 0x60, 0x9f, 0xfa, 0xb3, 0x92, 0x1e, 0x36,
+ 0x40, 0x7e, 0x48, 0x2a, 0xe0, 0x95, 0x74, 0x45, 0x8e, 0x08, 0xca, 0xb7, 0x67, 0xc1, 0xf4, 0x46,
+ 0x17, 0xb9, 0xcc, 0x17, 0x1b, 0xbe, 0x2a, 0x0b, 0xd4, 0x65, 0x24, 0x6c, 0xa4, 0x3e, 0x5f, 0xda,
+ 0x6b, 0x93, 0xaf, 0x2c, 0x47, 0x14, 0xdb, 0x48, 0x11, 0xb0, 0xdd, 0x08, 0xe6, 0xa8, 0x48, 0x8b,
+ 0x9e, 0x87, 0x8d, 0x44, 0xdf, 0x43, 0xb2, 0x27, 0x75, 0x14, 0x5b, 0x45, 0xa4, 0x2c, 0x9c, 0xa5,
+ 0x84, 0x79, 0x5a, 0x45, 0x9b, 0x74, 0x3e, 0x9b, 0x35, 0x7a, 0x52, 0xc9, 0x95, 0xf4, 0x1d, 0x44,
+ 0xcf, 0x24, 0x70, 0x99, 0x73, 0x24, 0x73, 0xbf, 0x4f, 0xf0, 0x1b, 0x52, 0xfe, 0x97, 0xf2, 0xd2,
+ 0x49, 0xa6, 0x0b, 0x9d, 0xd1, 0x98, 0x24, 0x27, 0x41, 0x01, 0xe7, 0x20, 0xfb, 0x2f, 0x86, 0x5e,
+ 0xab, 0xae, 0x9e, 0xd7, 0xfb, 0x2f, 0x63, 0xe4, 0xe0, 0xb3, 0x55, 0x30, 0xb5, 0xe0, 0x3a, 0x66,
+ 0xab, 0x69, 0x76, 0x3d, 0xf8, 0x5d, 0x05, 0xcc, 0xac, 0x9b, 0xfb, 0x6d, 0xc7, 0x6c, 0x11, 0x9f,
+ 0xed, 0x9e, 0xbe, 0xa0, 0x43, 0x3f, 0xf9, 0x7d, 0x01, 0x7b, 0x15, 0x0f, 0x7b, 0x05, 0xc7, 0xb1,
+ 0x32, 0x32, 0x97, 0x24, 0x06, 0xdb, 0x7c, 0x4a, 0xbf, 0x00, 0x94, 0x3e, 0x5f, 0xf3, 0x3c, 0x4f,
+ 0x11, 0x16, 0xe5, 0xfb, 0xe5, 0x42, 0x4a, 0xca, 0x90, 0x3c, 0x9a, 0x5d, 0xf9, 0x87, 0x26, 0x41,
+ 0x7e, 0x11, 0x11, 0x2b, 0xee, 0xbf, 0x29, 0x60, 0xa2, 0x86, 0x3c, 0x62, 0xc1, 0xdd, 0x21, 0x78,
+ 0x7f, 0xb6, 0x48, 0x86, 0xd0, 0x31, 0xd9, 0x7f, 0xc7, 0x93, 0x75, 0xee, 0x0c, 0x2d, 0x79, 0x4e,
0xe0, 0x65, 0x46, 0xcb, 0x9d, 0x67, 0x65, 0x1e, 0xca, 0xcb, 0x2c, 0x96, 0x54, 0xfa, 0xbe, 0x56,
- 0xef, 0xce, 0x32, 0xd7, 0x2a, 0xae, 0xd7, 0x7b, 0x15, 0xaf, 0x9f, 0xb1, 0xde, 0x66, 0x8c, 0xf9,
- 0x18, 0xe7, 0xa8, 0xdb, 0xc1, 0x04, 0x95, 0xb9, 0x3f, 0x1f, 0xed, 0xf5, 0x53, 0xa0, 0x24, 0xc8,
- 0x81, 0x40, 0x3f, 0xa7, 0xa4, 0x8b, 0x5a, 0x74, 0xe1, 0x63, 0x39, 0x18, 0x3b, 0x53, 0x45, 0xde,
- 0x65, 0xdb, 0xb9, 0x54, 0xf7, 0x0c, 0x0f, 0xc1, 0x7f, 0xce, 0x02, 0xa5, 0x8e, 0x3c, 0xfe, 0x48,
- 0x7e, 0x15, 0x9c, 0xa0, 0x15, 0x62, 0x19, 0x49, 0xff, 0x4d, 0x2b, 0x72, 0x5d, 0x5f, 0x21, 0x70,
- 0xf9, 0xf4, 0x83, 0xbf, 0xc2, 0x5f, 0xed, 0x1b, 0x89, 0x24, 0xdb, 0x67, 0xd2, 0xc0, 0x24, 0xc3,
- 0x33, 0x88, 0x15, 0x2c, 0x42, 0x4f, 0x7f, 0x4f, 0xca, 0xac, 0x96, 0xa3, 0x79, 0x34, 0x5d, 0xc1,
- 0x2b, 0xae, 0x02, 0xb9, 0xf2, 0xb6, 0xe1, 0xc1, 0x77, 0x29, 0x00, 0x94, 0xda, 0xed, 0x35, 0xea,
- 0xd7, 0xcb, 0x3b, 0xa4, 0x9d, 0x03, 0x33, 0xad, 0x6d, 0x23, 0x0c, 0xb8, 0x4f, 0xfb, 0x03, 0x21,
- 0x4d, 0x7d, 0x42, 0xe8, 0x20, 0x4c, 0xa5, 0x0a, 0x7b, 0x60, 0xc2, 0x65, 0x30, 0xda, 0x81, 0xf3,
- 0xb0, 0x18, 0x9f, 0x2d, 0xf6, 0x90, 0x39, 0xfe, 0x7d, 0x3e, 0x64, 0x2f, 0x7a, 0x0e, 0xc7, 0x48,
- 0x07, 0xfe, 0xf3, 0x61, 0x42, 0xc2, 0xe3, 0x87, 0x72, 0xa7, 0xcc, 0xe3, 0xf9, 0x1a, 0x4b, 0x3c,
- 0x45, 0x55, 0x6b, 0x9b, 0xbe, 0x68, 0x59, 0x14, 0x17, 0xf8, 0x82, 0x4c, 0x32, 0xf8, 0xe2, 0x05,
- 0x77, 0x2f, 0x98, 0x45, 0x6d, 0xd3, 0x43, 0x7e, 0x2d, 0x99, 0x00, 0xe3, 0x20, 0x16, 0x7f, 0x80,
- 0xcf, 0x96, 0x8e, 0x04, 0x44, 0x04, 0x7a, 0xb0, 0x46, 0x11, 0xed, 0x4f, 0x2e, 0xb6, 0x8f, 0x1c,
- 0xcd, 0xf4, 0xc1, 0x7a, 0xae, 0x02, 0x4e, 0x35, 0xec, 0xad, 0xad, 0x0e, 0xf2, 0xc5, 0x84, 0xa8,
- 0x77, 0x26, 0x34, 0x46, 0x09, 0x17, 0xd9, 0x09, 0xb2, 0x1f, 0x30, 0x83, 0x93, 0x22, 0xf8, 0x05,
- 0x3e, 0x5f, 0x3a, 0x66, 0x29, 0x11, 0x57, 0x5f, 0x3e, 0x23, 0x50, 0x90, 0x8b, 0x42, 0x2a, 0x4d,
- 0x36, 0x7d, 0x20, 0x3e, 0x9f, 0x05, 0xb3, 0xf4, 0x3a, 0x35, 0x5f, 0x41, 0xef, 0x1b, 0x21, 0x00,
- 0xf0, 0x7b, 0x19, 0x59, 0x3f, 0x5b, 0x22, 0x13, 0x81, 0x93, 0x08, 0x11, 0xcb, 0x9d, 0xf4, 0x1f,
- 0x48, 0x2e, 0x7d, 0xd1, 0xfe, 0x17, 0x05, 0x4c, 0x2f, 0x23, 0xbf, 0xa5, 0xb9, 0xfc, 0xdd, 0x34,
- 0x32, 0x82, 0xbd, 0x01, 0xcc, 0x5e, 0x44, 0x9b, 0xb6, 0x83, 0x6a, 0xc2, 0x29, 0x28, 0x31, 0x31,
- 0x22, 0x1c, 0x92, 0x10, 0x77, 0x67, 0x41, 0x14, 0xfb, 0x2d, 0x07, 0xe5, 0xc4, 0x71, 0x19, 0x31,
- 0x9c, 0x3c, 0x11, 0x4c, 0x32, 0x50, 0x7d, 0x0b, 0x2c, 0xae, 0xcb, 0x0b, 0xf2, 0xc2, 0xd7, 0x05,
- 0x60, 0x69, 0x02, 0x58, 0x8f, 0x4f, 0xc2, 0xc4, 0x58, 0xee, 0x13, 0x2e, 0x72, 0xe5, 0x2f, 0xec,
- 0x57, 0xda, 0x2e, 0x5c, 0x4b, 0x86, 0xd7, 0x59, 0x00, 0x02, 0xbd, 0xf7, 0x8f, 0x51, 0x73, 0x29,
- 0x62, 0xa4, 0xe4, 0xd8, 0x73, 0x55, 0xbd, 0xe2, 0x20, 0xec, 0x8c, 0x18, 0x18, 0xb9, 0xf3, 0x58,
- 0x32, 0x9c, 0xa4, 0x8f, 0xce, 0x27, 0x15, 0x70, 0xaa, 0xee, 0xef, 0xce, 0xaf, 0x1a, 0x6e, 0xd8,
- 0xa4, 0xca, 0xc9, 0x20, 0x12, 0xce, 0x72, 0x04, 0x8d, 0xe5, 0x5b, 0xc9, 0x86, 0x83, 0xbe, 0x9c,
- 0x8c, 0x16, 0x1d, 0xf5, 0x16, 0x70, 0xc2, 0xda, 0xdd, 0x09, 0xa4, 0x4e, 0x5a, 0x3c, 0x6b, 0xe1,
- 0x07, 0x3f, 0x24, 0x19, 0x74, 0x64, 0x98, 0x1f, 0xcb, 0x74, 0x71, 0x7a, 0xc3, 0x0a, 0x1c, 0x2e,
- 0xe0, 0x63, 0x13, 0xc1, 0x08, 0xbf, 0x9d, 0x49, 0xd4, 0xbb, 0x71, 0x25, 0x45, 0x0c, 0x29, 0x09,
- 0x7a, 0xa9, 0x68, 0x62, 0xa9, 0x8b, 0xed, 0xdc, 0x04, 0xc8, 0x6b, 0x3b, 0x5d, 0x6f, 0xff, 0xdc,
- 0xa3, 0xc0, 0x6c, 0xdd, 0x73, 0x90, 0xb1, 0xc3, 0x2d, 0xfa, 0x7b, 0xf6, 0x25, 0x64, 0xf9, 0x8b,
- 0xfe, 0xe4, 0xe5, 0xce, 0x3b, 0xc0, 0x84, 0x65, 0x37, 0x8d, 0x5d, 0x6f, 0x5b, 0xbd, 0xf6, 0xc0,
- 0x61, 0x58, 0x06, 0x7e, 0x8d, 0xc5, 0xcc, 0xf8, 0xf2, 0x5d, 0x64, 0xd9, 0xb7, 0x60, 0xd9, 0xa5,
- 0x5d, 0x6f, 0x7b, 0xe1, 0x9a, 0x8f, 0xff, 0xdd, 0xd9, 0xcc, 0xa7, 0xfe, 0xee, 0x6c, 0xe6, 0x4b,
- 0x7f, 0x77, 0x36, 0xf3, 0x4b, 0x5f, 0x39, 0x7b, 0xec, 0x53, 0x5f, 0x39, 0x7b, 0xec, 0xf3, 0x5f,
- 0x39, 0x7b, 0xec, 0x27, 0xb2, 0xdd, 0x8b, 0x17, 0x0b, 0x84, 0xca, 0xed, 0xff, 0x7f, 0x00, 0x00,
- 0x00, 0xff, 0xff, 0x3a, 0x08, 0xa6, 0xb0, 0x3f, 0xf4, 0x01, 0x00,
+ 0xef, 0x54, 0x98, 0x6b, 0x15, 0xd7, 0xeb, 0xbd, 0x82, 0xd7, 0xcf, 0x58, 0x6f, 0x33, 0xc6, 0x7c,
+ 0x8c, 0x73, 0xd4, 0xed, 0x60, 0x82, 0xca, 0xdc, 0x9f, 0x8f, 0xf6, 0xfa, 0x29, 0x50, 0x12, 0xe4,
+ 0x3c, 0xad, 0x9f, 0x53, 0xd2, 0x45, 0x2d, 0xba, 0xf0, 0xb1, 0x9c, 0x2b, 0x9f, 0xa9, 0x20, 0xef,
+ 0xb2, 0xe3, 0x5e, 0xaa, 0x79, 0xa6, 0x87, 0xe0, 0xbf, 0x28, 0x40, 0xad, 0x21, 0x8f, 0x8f, 0x68,
+ 0x51, 0x01, 0x27, 0x68, 0x85, 0x58, 0x46, 0xd2, 0x7f, 0xd3, 0x8a, 0x5c, 0xd7, 0x57, 0x08, 0x5c,
+ 0x3e, 0xe3, 0xe0, 0xaf, 0xf0, 0xd7, 0xfa, 0x06, 0xf2, 0x51, 0xfa, 0x4c, 0x1a, 0x98, 0x64, 0x78,
+ 0x06, 0xb1, 0x82, 0x45, 0xe8, 0xe9, 0x07, 0xa4, 0xcc, 0x6a, 0x39, 0x9a, 0x47, 0xd3, 0x15, 0xbc,
+ 0xec, 0x2a, 0x90, 0x2d, 0x6d, 0x9b, 0x1e, 0x7c, 0x87, 0x0a, 0x40, 0xb1, 0xd5, 0x5a, 0xa3, 0x7e,
+ 0xbd, 0xbc, 0x43, 0xda, 0x39, 0x30, 0xd3, 0xdc, 0x36, 0xc3, 0xfb, 0x2a, 0x68, 0x7f, 0x20, 0xa4,
+ 0x69, 0x4f, 0x08, 0x1d, 0x84, 0xa9, 0x54, 0x61, 0x0f, 0x4c, 0xb8, 0x0c, 0x46, 0x3b, 0x70, 0x1e,
+ 0x16, 0xc3, 0x1b, 0xc6, 0x1e, 0x8b, 0xc2, 0xbf, 0xcf, 0x87, 0xec, 0x45, 0xcf, 0xe1, 0x18, 0xe9,
+ 0xe0, 0xd0, 0x44, 0x98, 0x90, 0xf0, 0xf4, 0xae, 0x5c, 0x90, 0x86, 0x78, 0xbe, 0xc6, 0x12, 0x8e,
+ 0x54, 0xd3, 0x5b, 0x96, 0x2f, 0x5a, 0x16, 0x04, 0x09, 0x3e, 0x2f, 0x93, 0x0c, 0xbe, 0x78, 0xc1,
+ 0xdd, 0x0b, 0x66, 0x51, 0xcb, 0xf2, 0x90, 0x5f, 0x4b, 0x26, 0xc0, 0x38, 0x88, 0xc5, 0x1f, 0xe0,
+ 0x33, 0xa4, 0x03, 0x69, 0x11, 0x81, 0x1e, 0xac, 0x51, 0x44, 0xfb, 0x93, 0x0b, 0x8d, 0x25, 0x47,
+ 0x33, 0x7d, 0xb0, 0x9e, 0xa5, 0x82, 0x53, 0x75, 0x67, 0x6b, 0xab, 0x8d, 0x7c, 0x31, 0x21, 0xea,
+ 0x9d, 0x09, 0xcd, 0x51, 0xc2, 0x45, 0x76, 0x82, 0x9c, 0x07, 0xac, 0xe0, 0x78, 0x10, 0x7e, 0x11,
+ 0x4f, 0xc1, 0xc4, 0xce, 0xa2, 0x88, 0xb8, 0xfa, 0xf2, 0x19, 0x81, 0x82, 0x5c, 0x10, 0x5f, 0x69,
+ 0xb2, 0xe9, 0x03, 0xf1, 0x79, 0x05, 0xcc, 0xd2, 0xdb, 0x08, 0x7d, 0x05, 0xbd, 0x6f, 0x84, 0x00,
+ 0xc0, 0xef, 0x66, 0x64, 0xfd, 0x6c, 0x89, 0x4c, 0x04, 0x4e, 0x22, 0x44, 0x2c, 0x17, 0x28, 0x63,
+ 0x20, 0xb9, 0x31, 0xc4, 0x42, 0x52, 0xc1, 0xf4, 0x32, 0xf2, 0x5b, 0x5a, 0x97, 0xbf, 0xda, 0x49,
+ 0x46, 0xb0, 0x37, 0x80, 0xd9, 0x8b, 0x68, 0xd3, 0x71, 0x51, 0x55, 0x38, 0xfa, 0x26, 0x26, 0x46,
+ 0x44, 0x13, 0x13, 0xc2, 0x56, 0x2d, 0x88, 0x62, 0xbf, 0xe5, 0xa0, 0x9c, 0x38, 0x2e, 0x23, 0x86,
+ 0x93, 0x1f, 0x03, 0x93, 0x0c, 0x54, 0xdf, 0x02, 0x8b, 0xeb, 0xf2, 0x82, 0xbc, 0xf0, 0x35, 0x01,
+ 0x58, 0xba, 0x00, 0xd6, 0xe3, 0x93, 0x30, 0x31, 0x96, 0xeb, 0xb8, 0x0b, 0x5c, 0xf9, 0x0b, 0xfb,
+ 0xe5, 0x56, 0x17, 0xae, 0x25, 0xc3, 0xeb, 0x2c, 0x00, 0x81, 0xde, 0xfb, 0x51, 0x08, 0xb8, 0x14,
+ 0x31, 0xd0, 0x78, 0xec, 0xb9, 0xaa, 0x5e, 0x71, 0x10, 0x76, 0x46, 0x0c, 0x8c, 0xdc, 0x79, 0x2c,
+ 0x19, 0x4e, 0xd2, 0x47, 0xe7, 0x13, 0x2a, 0x38, 0x55, 0xf3, 0x77, 0xe7, 0x57, 0xcd, 0x6e, 0xd8,
+ 0xa4, 0x4a, 0xc9, 0x20, 0x12, 0xce, 0x72, 0x04, 0x8d, 0xe5, 0x9b, 0xc9, 0x86, 0x83, 0xbe, 0x9c,
+ 0x8c, 0x16, 0x1d, 0xed, 0x16, 0x70, 0xc2, 0xde, 0xdd, 0x09, 0xa4, 0x4e, 0x5a, 0x3c, 0x6b, 0xe1,
+ 0x07, 0x3f, 0x24, 0x19, 0x74, 0x64, 0x98, 0x1f, 0xcb, 0x74, 0x71, 0x7a, 0xc3, 0x0e, 0x1c, 0x2e,
+ 0xe0, 0x63, 0x13, 0xc1, 0x08, 0xbf, 0x95, 0x49, 0xd4, 0xbb, 0x71, 0x25, 0x45, 0x0c, 0x29, 0x09,
+ 0x7a, 0xa9, 0x68, 0x62, 0xa9, 0x8b, 0xed, 0xdc, 0x04, 0xc8, 0xe9, 0x3b, 0x1d, 0x6f, 0xff, 0xdc,
+ 0xa3, 0xc0, 0x6c, 0xcd, 0x73, 0x91, 0xb9, 0xc3, 0x2d, 0xfa, 0x7b, 0xce, 0x25, 0x64, 0xfb, 0x8b,
+ 0xfe, 0xe4, 0xe5, 0xce, 0x3b, 0xc0, 0x84, 0xed, 0x34, 0xcc, 0x5d, 0x6f, 0x5b, 0xbb, 0xf6, 0xc0,
+ 0x09, 0x68, 0x06, 0x7e, 0x95, 0x85, 0x9c, 0xf9, 0xf2, 0x5d, 0x64, 0xd9, 0x37, 0x6f, 0x3b, 0xc5,
+ 0x5d, 0x6f, 0x7b, 0xe1, 0x9a, 0x8f, 0xfd, 0xed, 0xd9, 0xcc, 0x27, 0xff, 0xf6, 0x6c, 0xe6, 0x4b,
+ 0x7f, 0x7b, 0x36, 0xf3, 0x4b, 0x5f, 0x39, 0x7b, 0xec, 0x93, 0x5f, 0x39, 0x7b, 0xec, 0xf3, 0x5f,
+ 0x39, 0x7b, 0xec, 0x27, 0x95, 0xce, 0xc5, 0x8b, 0x79, 0x42, 0xe5, 0xf6, 0xff, 0x3f, 0x00, 0x00,
+ 0xff, 0xff, 0xd6, 0xdf, 0xeb, 0x78, 0xb6, 0xf7, 0x01, 0x00,
}
func (m *Rpc) Marshal() (dAtA []byte, err error) {
@@ -75679,6 +76183,16 @@ func (m *RpcWorkspaceCreateRequest) MarshalToSizedBuffer(dAtA []byte) (int, erro
_ = i
var l int
_ = l
+ if m.WithChat {
+ i--
+ if m.WithChat {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x18
+ }
if m.UseCase != 0 {
i = encodeVarintCommands(dAtA, i, uint64(m.UseCase))
i--
@@ -75819,6 +76333,16 @@ func (m *RpcWorkspaceOpenRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)
_ = i
var l int
_ = l
+ if m.WithChat {
+ i--
+ if m.WithChat {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x10
+ }
if len(m.SpaceId) > 0 {
i -= len(m.SpaceId)
copy(dAtA[i:], m.SpaceId)
@@ -108625,6 +109149,136 @@ func (m *RpcDebugAccountSelectTraceResponseError) MarshalToSizedBuffer(dAtA []by
return len(dAtA) - i, nil
}
+func (m *RpcDebugExportLog) 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 *RpcDebugExportLog) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *RpcDebugExportLog) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ return len(dAtA) - i, nil
+}
+
+func (m *RpcDebugExportLogRequest) 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 *RpcDebugExportLogRequest) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *RpcDebugExportLogRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if len(m.Dir) > 0 {
+ i -= len(m.Dir)
+ copy(dAtA[i:], m.Dir)
+ i = encodeVarintCommands(dAtA, i, uint64(len(m.Dir)))
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *RpcDebugExportLogResponse) 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 *RpcDebugExportLogResponse) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *RpcDebugExportLogResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if len(m.Path) > 0 {
+ i -= len(m.Path)
+ copy(dAtA[i:], m.Path)
+ i = encodeVarintCommands(dAtA, i, uint64(len(m.Path)))
+ 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 *RpcDebugExportLogResponseError) 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 *RpcDebugExportLogResponseError) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *RpcDebugExportLogResponseError) 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 *RpcDebugPing) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -108964,7 +109618,7 @@ func (m *RpcDebugAnystoreObjectChangesResponseError) MarshalToSizedBuffer(dAtA [
return len(dAtA) - i, nil
}
-func (m *RpcMetrics) Marshal() (dAtA []byte, err error) {
+func (m *RpcDebugNetCheck) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -108974,12 +109628,12 @@ func (m *RpcMetrics) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *RpcMetrics) MarshalTo(dAtA []byte) (int, error) {
+func (m *RpcDebugNetCheck) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *RpcMetrics) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *RpcDebugNetCheck) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
@@ -108987,7 +109641,7 @@ func (m *RpcMetrics) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
-func (m *RpcMetricsSetParameters) Marshal() (dAtA []byte, err error) {
+func (m *RpcDebugNetCheckRequest) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -108997,12 +109651,119 @@ func (m *RpcMetricsSetParameters) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *RpcMetricsSetParameters) MarshalTo(dAtA []byte) (int, error) {
+func (m *RpcDebugNetCheckRequest) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *RpcMetricsSetParameters) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *RpcDebugNetCheckRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if len(m.ClientYml) > 0 {
+ i -= len(m.ClientYml)
+ copy(dAtA[i:], m.ClientYml)
+ i = encodeVarintCommands(dAtA, i, uint64(len(m.ClientYml)))
+ i--
+ dAtA[i] = 0xa
+ }
+ return len(dAtA) - i, nil
+}
+
+func (m *RpcDebugNetCheckResponse) 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 *RpcDebugNetCheckResponse) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *RpcDebugNetCheckResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if len(m.Result) > 0 {
+ i -= len(m.Result)
+ copy(dAtA[i:], m.Result)
+ i = encodeVarintCommands(dAtA, i, uint64(len(m.Result)))
+ 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 *RpcDebugNetCheckResponseError) 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 *RpcDebugNetCheckResponseError) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *RpcDebugNetCheckResponseError) 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 *RpcInitial) 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 *RpcInitial) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *RpcInitial) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
@@ -109010,7 +109771,7 @@ func (m *RpcMetricsSetParameters) MarshalToSizedBuffer(dAtA []byte) (int, error)
return len(dAtA) - i, nil
}
-func (m *RpcMetricsSetParametersRequest) Marshal() (dAtA []byte, err error) {
+func (m *RpcInitialSetParameters) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -109020,16 +109781,83 @@ func (m *RpcMetricsSetParametersRequest) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *RpcMetricsSetParametersRequest) MarshalTo(dAtA []byte) (int, error) {
+func (m *RpcInitialSetParameters) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *RpcMetricsSetParametersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *RpcInitialSetParameters) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
+ return len(dAtA) - i, nil
+}
+
+func (m *RpcInitialSetParametersRequest) 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 *RpcInitialSetParametersRequest) MarshalTo(dAtA []byte) (int, error) {
+ size := m.Size()
+ return m.MarshalToSizedBuffer(dAtA[:size])
+}
+
+func (m *RpcInitialSetParametersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+ i := len(dAtA)
+ _ = i
+ var l int
+ _ = l
+ if m.DoNotSendTelemetry {
+ i--
+ if m.DoNotSendTelemetry {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x38
+ }
+ if m.DoNotSaveLogs {
+ i--
+ if m.DoNotSaveLogs {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x30
+ }
+ if m.DoNotSendLogs {
+ i--
+ if m.DoNotSendLogs {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x28
+ }
+ if len(m.LogLevel) > 0 {
+ i -= len(m.LogLevel)
+ copy(dAtA[i:], m.LogLevel)
+ i = encodeVarintCommands(dAtA, i, uint64(len(m.LogLevel)))
+ i--
+ dAtA[i] = 0x22
+ }
+ if len(m.Workdir) > 0 {
+ i -= len(m.Workdir)
+ copy(dAtA[i:], m.Workdir)
+ i = encodeVarintCommands(dAtA, i, uint64(len(m.Workdir)))
+ i--
+ dAtA[i] = 0x1a
+ }
if len(m.Version) > 0 {
i -= len(m.Version)
copy(dAtA[i:], m.Version)
@@ -109047,7 +109875,7 @@ func (m *RpcMetricsSetParametersRequest) MarshalToSizedBuffer(dAtA []byte) (int,
return len(dAtA) - i, nil
}
-func (m *RpcMetricsSetParametersResponse) Marshal() (dAtA []byte, err error) {
+func (m *RpcInitialSetParametersResponse) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -109057,12 +109885,12 @@ func (m *RpcMetricsSetParametersResponse) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil
}
-func (m *RpcMetricsSetParametersResponse) MarshalTo(dAtA []byte) (int, error) {
+func (m *RpcInitialSetParametersResponse) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *RpcMetricsSetParametersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *RpcInitialSetParametersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
@@ -109082,7 +109910,7 @@ func (m *RpcMetricsSetParametersResponse) MarshalToSizedBuffer(dAtA []byte) (int
return len(dAtA) - i, nil
}
-func (m *RpcMetricsSetParametersResponseError) Marshal() (dAtA []byte, err error) {
+func (m *RpcInitialSetParametersResponseError) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
@@ -109092,12 +109920,12 @@ func (m *RpcMetricsSetParametersResponseError) Marshal() (dAtA []byte, err error
return dAtA[:n], nil
}
-func (m *RpcMetricsSetParametersResponseError) MarshalTo(dAtA []byte) (int, error) {
+func (m *RpcInitialSetParametersResponseError) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
-func (m *RpcMetricsSetParametersResponseError) MarshalToSizedBuffer(dAtA []byte) (int, error) {
+func (m *RpcInitialSetParametersResponseError) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
@@ -115973,6 +116801,9 @@ func (m *RpcWorkspaceCreateRequest) Size() (n int) {
if m.UseCase != 0 {
n += 1 + sovCommands(uint64(m.UseCase))
}
+ if m.WithChat {
+ n += 2
+ }
return n
}
@@ -116028,6 +116859,9 @@ func (m *RpcWorkspaceOpenRequest) Size() (n int) {
if l > 0 {
n += 1 + l + sovCommands(uint64(l))
}
+ if m.WithChat {
+ n += 2
+ }
return n
}
@@ -130009,6 +130843,61 @@ func (m *RpcDebugAccountSelectTraceResponseError) Size() (n int) {
return n
}
+func (m *RpcDebugExportLog) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ return n
+}
+
+func (m *RpcDebugExportLogRequest) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.Dir)
+ if l > 0 {
+ n += 1 + l + sovCommands(uint64(l))
+ }
+ return n
+}
+
+func (m *RpcDebugExportLogResponse) 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.Path)
+ if l > 0 {
+ n += 1 + l + sovCommands(uint64(l))
+ }
+ return n
+}
+
+func (m *RpcDebugExportLogResponseError) 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 *RpcDebugPing) Size() (n int) {
if m == nil {
return 0
@@ -130153,7 +131042,7 @@ func (m *RpcDebugAnystoreObjectChangesResponseError) Size() (n int) {
return n
}
-func (m *RpcMetrics) Size() (n int) {
+func (m *RpcDebugNetCheck) Size() (n int) {
if m == nil {
return 0
}
@@ -130162,7 +131051,53 @@ func (m *RpcMetrics) Size() (n int) {
return n
}
-func (m *RpcMetricsSetParameters) Size() (n int) {
+func (m *RpcDebugNetCheckRequest) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ l = len(m.ClientYml)
+ if l > 0 {
+ n += 1 + l + sovCommands(uint64(l))
+ }
+ return n
+}
+
+func (m *RpcDebugNetCheckResponse) 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.Result)
+ if l > 0 {
+ n += 1 + l + sovCommands(uint64(l))
+ }
+ return n
+}
+
+func (m *RpcDebugNetCheckResponseError) 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 *RpcInitial) Size() (n int) {
if m == nil {
return 0
}
@@ -130171,7 +131106,16 @@ func (m *RpcMetricsSetParameters) Size() (n int) {
return n
}
-func (m *RpcMetricsSetParametersRequest) Size() (n int) {
+func (m *RpcInitialSetParameters) Size() (n int) {
+ if m == nil {
+ return 0
+ }
+ var l int
+ _ = l
+ return n
+}
+
+func (m *RpcInitialSetParametersRequest) Size() (n int) {
if m == nil {
return 0
}
@@ -130185,10 +131129,27 @@ func (m *RpcMetricsSetParametersRequest) Size() (n int) {
if l > 0 {
n += 1 + l + sovCommands(uint64(l))
}
+ l = len(m.Workdir)
+ if l > 0 {
+ n += 1 + l + sovCommands(uint64(l))
+ }
+ l = len(m.LogLevel)
+ if l > 0 {
+ n += 1 + l + sovCommands(uint64(l))
+ }
+ if m.DoNotSendLogs {
+ n += 2
+ }
+ if m.DoNotSaveLogs {
+ n += 2
+ }
+ if m.DoNotSendTelemetry {
+ n += 2
+ }
return n
}
-func (m *RpcMetricsSetParametersResponse) Size() (n int) {
+func (m *RpcInitialSetParametersResponse) Size() (n int) {
if m == nil {
return 0
}
@@ -130201,7 +131162,7 @@ func (m *RpcMetricsSetParametersResponse) Size() (n int) {
return n
}
-func (m *RpcMetricsSetParametersResponseError) Size() (n int) {
+func (m *RpcInitialSetParametersResponseError) Size() (n int) {
if m == nil {
return 0
}
@@ -146240,6 +147201,26 @@ func (m *RpcWorkspaceCreateRequest) Unmarshal(dAtA []byte) error {
break
}
}
+ case 3:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field WithChat", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowCommands
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.WithChat = bool(v != 0)
default:
iNdEx = preIndex
skippy, err := skipCommands(dAtA[iNdEx:])
@@ -146591,6 +147572,26 @@ func (m *RpcWorkspaceOpenRequest) Unmarshal(dAtA []byte) error {
}
m.SpaceId = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 2:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field WithChat", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowCommands
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.WithChat = bool(v != 0)
default:
iNdEx = preIndex
skippy, err := skipCommands(dAtA[iNdEx:])
@@ -236291,6 +237292,357 @@ func (m *RpcDebugAccountSelectTraceResponseError) Unmarshal(dAtA []byte) error {
}
return nil
}
+func (m *RpcDebugExportLog) 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: ExportLog: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ExportLog: 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 *RpcDebugExportLogRequest) 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 {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Dir", 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.Dir = 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 *RpcDebugExportLogResponse) 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 = &RpcDebugExportLogResponseError{}
+ }
+ 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 Path", 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.Path = 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 *RpcDebugExportLogResponseError) 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 |= RpcDebugExportLogResponseErrorCode(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 *RpcDebugPing) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -237209,7 +238561,7 @@ func (m *RpcDebugAnystoreObjectChangesResponseError) Unmarshal(dAtA []byte) erro
}
return nil
}
-func (m *RpcMetrics) Unmarshal(dAtA []byte) error {
+func (m *RpcDebugNetCheck) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -237232,10 +238584,10 @@ func (m *RpcMetrics) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
- return fmt.Errorf("proto: Metrics: wiretype end group for non-group")
+ return fmt.Errorf("proto: NetCheck: wiretype end group for non-group")
}
if fieldNum <= 0 {
- return fmt.Errorf("proto: Metrics: illegal tag %d (wire type %d)", fieldNum, wire)
+ return fmt.Errorf("proto: NetCheck: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
default:
@@ -237259,7 +238611,358 @@ func (m *RpcMetrics) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *RpcMetricsSetParameters) Unmarshal(dAtA []byte) error {
+func (m *RpcDebugNetCheckRequest) 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 {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ClientYml", 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.ClientYml = 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 *RpcDebugNetCheckResponse) 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 = &RpcDebugNetCheckResponseError{}
+ }
+ 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 Result", 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.Result = 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 *RpcDebugNetCheckResponseError) 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 |= RpcDebugNetCheckResponseErrorCode(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 *RpcInitial) 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: Initial: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: Initial: 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 *RpcInitialSetParameters) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -237309,7 +239012,7 @@ func (m *RpcMetricsSetParameters) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *RpcMetricsSetParametersRequest) Unmarshal(dAtA []byte) error {
+func (m *RpcInitialSetParametersRequest) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -237402,6 +239105,130 @@ func (m *RpcMetricsSetParametersRequest) Unmarshal(dAtA []byte) error {
}
m.Version = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Workdir", 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.Workdir = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field LogLevel", 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.LogLevel = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 5:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field DoNotSendLogs", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowCommands
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.DoNotSendLogs = bool(v != 0)
+ case 6:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field DoNotSaveLogs", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowCommands
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.DoNotSaveLogs = bool(v != 0)
+ case 7:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field DoNotSendTelemetry", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowCommands
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.DoNotSendTelemetry = bool(v != 0)
default:
iNdEx = preIndex
skippy, err := skipCommands(dAtA[iNdEx:])
@@ -237423,7 +239250,7 @@ func (m *RpcMetricsSetParametersRequest) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *RpcMetricsSetParametersResponse) Unmarshal(dAtA []byte) error {
+func (m *RpcInitialSetParametersResponse) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -237482,7 +239309,7 @@ func (m *RpcMetricsSetParametersResponse) Unmarshal(dAtA []byte) error {
return io.ErrUnexpectedEOF
}
if m.Error == nil {
- m.Error = &RpcMetricsSetParametersResponseError{}
+ m.Error = &RpcInitialSetParametersResponseError{}
}
if err := m.Error.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
@@ -237509,7 +239336,7 @@ func (m *RpcMetricsSetParametersResponse) Unmarshal(dAtA []byte) error {
}
return nil
}
-func (m *RpcMetricsSetParametersResponseError) Unmarshal(dAtA []byte) error {
+func (m *RpcInitialSetParametersResponseError) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
@@ -237552,7 +239379,7 @@ func (m *RpcMetricsSetParametersResponseError) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
- m.Code |= RpcMetricsSetParametersResponseErrorCode(b&0x7F) << shift
+ m.Code |= RpcInitialSetParametersResponseErrorCode(b&0x7F) << shift
if b < 0x80 {
break
}
diff --git a/pb/protos/commands.proto b/pb/protos/commands.proto
index 015cdfe07..c09a0ce5b 100644
--- a/pb/protos/commands.proto
+++ b/pb/protos/commands.proto
@@ -1131,6 +1131,7 @@ message Rpc {
message Request {
google.protobuf.Struct details = 1; // object details
anytype.Rpc.Object.ImportUseCase.Request.UseCase useCase = 2; // use case
+ bool withChat = 3; // create space-level chat; temporary solution, should be removed after chats released for all users
}
message Response {
@@ -1154,6 +1155,7 @@ message Rpc {
message Open {
message Request {
string spaceId = 1;
+ bool withChat = 2; // create space-level chat if not exists; temporary solution, should be removed after chats released for all users
}
message Response {
@@ -6523,6 +6525,30 @@ message Rpc {
}
}
+ message ExportLog {
+ message Request {
+ option (no_auth) = true;
+ string dir = 1; // empty means using OS-provided temp dir
+ }
+
+ message Response {
+ Error error = 1;
+ string path = 2;
+
+ message Error {
+ Code code = 1;
+ string description = 2;
+
+ enum Code {
+ NULL = 0;
+ UNKNOWN_ERROR = 1;
+ BAD_INPUT = 2;
+ NO_FOLDER = 3;
+ }
+ }
+ }
+ }
+
message Ping {
message Request {
int32 index = 1;
@@ -6581,14 +6607,41 @@ message Rpc {
}
}
}
+
+ message NetCheck {
+ message Request {
+ string clientYml = 1;
+ }
+
+ message Response {
+ Error error = 1;
+ string result = 2;
+
+ message Error {
+ Code code = 1;
+ string description = 2;
+
+ enum Code {
+ NULL = 0;
+ UNKNOWN_ERROR = 1;
+ BAD_INPUT = 2;
+ }
+ }
+ }
+ }
}
- message Metrics {
+ message Initial {
message SetParameters {
message Request {
option (no_auth) = true;
string platform = 1;
string version = 2;
+ string workdir = 3;
+ string logLevel = 4;
+ bool doNotSendLogs = 5;
+ bool doNotSaveLogs = 6;
+ bool doNotSendTelemetry = 7;
}
message Response {
diff --git a/pb/protos/service/service.proto b/pb/protos/service/service.proto
index 1f74aedca..73fdf9505 100644
--- a/pb/protos/service/service.proto
+++ b/pb/protos/service/service.proto
@@ -311,8 +311,10 @@ service ClientCommands {
rpc DebugRunProfiler (anytype.Rpc.Debug.RunProfiler.Request) returns (anytype.Rpc.Debug.RunProfiler.Response);
rpc DebugAccountSelectTrace (anytype.Rpc.Debug.AccountSelectTrace.Request) returns (anytype.Rpc.Debug.AccountSelectTrace.Response);
rpc DebugAnystoreObjectChanges (anytype.Rpc.Debug.AnystoreObjectChanges.Request) returns (anytype.Rpc.Debug.AnystoreObjectChanges.Response);
+ rpc DebugNetCheck (anytype.Rpc.Debug.NetCheck.Request) returns (anytype.Rpc.Debug.NetCheck.Response);
+ rpc DebugExportLog (anytype.Rpc.Debug.ExportLog.Request) returns (anytype.Rpc.Debug.ExportLog.Response);
- rpc MetricsSetParameters (anytype.Rpc.Metrics.SetParameters.Request) returns (anytype.Rpc.Metrics.SetParameters.Response);
+ rpc InitialSetParameters (anytype.Rpc.Initial.SetParameters.Request) returns (anytype.Rpc.Initial.SetParameters.Response);
// used only for lib-server via grpc
rpc ListenSessionEvents (anytype.StreamRequest) returns (stream anytype.Event);
diff --git a/pb/service/service.pb.go b/pb/service/service.pb.go
index ebaede39a..92418b469 100644
--- a/pb/service/service.pb.go
+++ b/pb/service/service.pb.go
@@ -26,330 +26,332 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
func init() { proto.RegisterFile("pb/protos/service/service.proto", fileDescriptor_93a29dc403579097) }
var fileDescriptor_93a29dc403579097 = []byte{
- // 5164 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x9d, 0x5b, 0x6f, 0x24, 0x49,
- 0x56, 0xf8, 0xa7, 0x5e, 0xfe, 0xf3, 0x27, 0x97, 0x1d, 0xa0, 0x06, 0x86, 0xd9, 0x61, 0xb7, 0xbb,
- 0xa7, 0x6f, 0xee, 0x6e, 0xdb, 0xe9, 0x9e, 0xee, 0xe9, 0x99, 0xd5, 0x2e, 0x12, 0x72, 0xdb, 0x6d,
- 0x8f, 0x59, 0xdb, 0x6d, 0x5c, 0xe5, 0x6e, 0x69, 0x24, 0x24, 0xc2, 0x99, 0xe1, 0x72, 0xe2, 0xac,
- 0x8c, 0xdc, 0xcc, 0xa8, 0x72, 0xd7, 0x22, 0x10, 0x08, 0x04, 0x02, 0x81, 0x58, 0x71, 0x7b, 0x45,
- 0xe2, 0x89, 0x8f, 0xc2, 0xe3, 0x3e, 0xf2, 0x88, 0x66, 0xf8, 0x20, 0x28, 0x23, 0x22, 0xe3, 0x72,
- 0x32, 0x4e, 0x64, 0x7a, 0x9f, 0xba, 0x55, 0xe7, 0x77, 0xce, 0x89, 0xeb, 0x89, 0x13, 0x91, 0x91,
- 0xe9, 0xe8, 0x76, 0x79, 0xbe, 0x55, 0x56, 0x8c, 0xb3, 0x7a, 0xab, 0xa6, 0xd5, 0x32, 0x4b, 0x68,
- 0xfb, 0x6f, 0x2c, 0x7e, 0x1e, 0xbf, 0x4f, 0x8a, 0x15, 0x5f, 0x95, 0xf4, 0x93, 0x8f, 0x0d, 0x99,
- 0xb0, 0xf9, 0x9c, 0x14, 0x69, 0x2d, 0x91, 0x4f, 0x3e, 0x32, 0x12, 0xba, 0xa4, 0x05, 0x57, 0xbf,
- 0x3f, 0xfb, 0xcf, 0xff, 0x1d, 0x45, 0x1f, 0xec, 0xe4, 0x19, 0x2d, 0xf8, 0x8e, 0xd2, 0x18, 0x7f,
- 0x1d, 0x7d, 0x77, 0xbb, 0x2c, 0xf7, 0x29, 0x7f, 0x43, 0xab, 0x3a, 0x63, 0xc5, 0xf8, 0x5e, 0xac,
- 0x1c, 0xc4, 0xa7, 0x65, 0x12, 0x6f, 0x97, 0x65, 0x6c, 0x84, 0xf1, 0x29, 0xfd, 0xe9, 0x82, 0xd6,
- 0xfc, 0x93, 0xfb, 0x61, 0xa8, 0x2e, 0x59, 0x51, 0xd3, 0xf1, 0x45, 0xf4, 0x1b, 0xdb, 0x65, 0x39,
- 0xa1, 0x7c, 0x97, 0x36, 0x15, 0x98, 0x70, 0xc2, 0xe9, 0x78, 0xad, 0xa3, 0xea, 0x02, 0xda, 0xc7,
- 0xa3, 0x7e, 0x50, 0xf9, 0x99, 0x46, 0xdf, 0x69, 0xfc, 0x5c, 0x2e, 0x78, 0xca, 0xae, 0x8b, 0xf1,
- 0xa7, 0x5d, 0x45, 0x25, 0xd2, 0xb6, 0xef, 0x86, 0x10, 0x65, 0xf5, 0x6d, 0xf4, 0xab, 0x6f, 0x49,
- 0x9e, 0x53, 0xbe, 0x53, 0xd1, 0xa6, 0xe0, 0xae, 0x8e, 0x14, 0xc5, 0x52, 0xa6, 0xed, 0xde, 0x0b,
- 0x32, 0xca, 0xf0, 0xd7, 0xd1, 0x77, 0xa5, 0xe4, 0x94, 0x26, 0x6c, 0x49, 0xab, 0xb1, 0x57, 0x4b,
- 0x09, 0x91, 0x26, 0xef, 0x40, 0xd0, 0xf6, 0x0e, 0x2b, 0x96, 0xb4, 0xe2, 0x7e, 0xdb, 0x4a, 0x18,
- 0xb6, 0x6d, 0x20, 0x65, 0xfb, 0x6f, 0x47, 0xd1, 0xf7, 0xb7, 0x93, 0x84, 0x2d, 0x0a, 0x7e, 0xc8,
- 0x12, 0x92, 0x1f, 0x66, 0xc5, 0xd5, 0x31, 0xbd, 0xde, 0xb9, 0x6c, 0xf8, 0x62, 0x46, 0xc7, 0xcf,
- 0xdd, 0x56, 0x95, 0x68, 0xac, 0xd9, 0xd8, 0x86, 0xb5, 0xef, 0xcf, 0x6f, 0xa6, 0xa4, 0xca, 0xf2,
- 0x8f, 0xa3, 0xe8, 0x16, 0x2c, 0xcb, 0x84, 0xe5, 0x4b, 0x6a, 0x4a, 0xf3, 0xa2, 0xc7, 0xb0, 0x8b,
- 0xeb, 0xf2, 0x7c, 0x71, 0x53, 0x35, 0x55, 0xa2, 0x3c, 0xfa, 0xd0, 0x1e, 0x2e, 0x13, 0x5a, 0x8b,
- 0xe9, 0xf4, 0x18, 0x1f, 0x11, 0x0a, 0xd1, 0x9e, 0x9f, 0x0c, 0x41, 0x95, 0xb7, 0x2c, 0x1a, 0x2b,
- 0x6f, 0x39, 0xab, 0xb5, 0xb3, 0x47, 0x5e, 0x0b, 0x16, 0xa1, 0x7d, 0x3d, 0x1e, 0x40, 0x2a, 0x57,
- 0x7f, 0x14, 0xfd, 0xda, 0x5b, 0x56, 0x5d, 0xd5, 0x25, 0x49, 0xa8, 0x9a, 0x0a, 0x0f, 0x5c, 0xed,
- 0x56, 0x0a, 0x67, 0xc3, 0xc3, 0x3e, 0xcc, 0x1a, 0xb4, 0xad, 0xf0, 0x75, 0x49, 0x61, 0x0c, 0x32,
- 0x8a, 0x8d, 0x10, 0x1b, 0xb4, 0x10, 0x52, 0xb6, 0xaf, 0xa2, 0xb1, 0xb1, 0x7d, 0xfe, 0xc7, 0x34,
- 0xe1, 0xdb, 0x69, 0x0a, 0x7b, 0xc5, 0xe8, 0x0a, 0x22, 0xde, 0x4e, 0x53, 0xac, 0x57, 0xfc, 0xa8,
- 0x72, 0x76, 0x1d, 0x7d, 0x04, 0x9c, 0x1d, 0x66, 0xb5, 0x70, 0xb8, 0x19, 0xb6, 0xa2, 0x30, 0xed,
- 0x34, 0x1e, 0x8a, 0x2b, 0xc7, 0x7f, 0x3e, 0x8a, 0xbe, 0xe7, 0xf1, 0x7c, 0x4a, 0xe7, 0x6c, 0x49,
- 0xc7, 0x4f, 0xfb, 0xad, 0x49, 0x52, 0xfb, 0xff, 0xec, 0x06, 0x1a, 0x9e, 0x61, 0x32, 0xa1, 0x39,
- 0x4d, 0x38, 0x3a, 0x4c, 0xa4, 0xb8, 0x77, 0x98, 0x68, 0xcc, 0x9a, 0x61, 0xad, 0x70, 0x9f, 0xf2,
- 0x9d, 0x45, 0x55, 0xd1, 0x82, 0xa3, 0x7d, 0x69, 0x90, 0xde, 0xbe, 0x74, 0x50, 0x4f, 0x7d, 0xf6,
- 0x29, 0xdf, 0xce, 0x73, 0xb4, 0x3e, 0x52, 0xdc, 0x5b, 0x1f, 0x8d, 0x29, 0x0f, 0x49, 0xf4, 0xeb,
- 0x56, 0x8b, 0xf1, 0x83, 0xe2, 0x82, 0x8d, 0xf1, 0xb6, 0x10, 0x72, 0xed, 0x63, 0xad, 0x97, 0xf3,
- 0x54, 0xe3, 0xd5, 0xbb, 0x92, 0x55, 0x78, 0xb7, 0x48, 0x71, 0x6f, 0x35, 0x34, 0xa6, 0x3c, 0xfc,
- 0x61, 0xf4, 0x81, 0x8a, 0x92, 0xed, 0x7a, 0x76, 0xdf, 0x1b, 0x42, 0xe1, 0x82, 0xf6, 0xa0, 0x87,
- 0x32, 0xc1, 0x41, 0xc9, 0x54, 0xf0, 0xb9, 0xe7, 0xd5, 0x03, 0xa1, 0xe7, 0x7e, 0x18, 0xea, 0xd8,
- 0xde, 0xa5, 0x39, 0x45, 0x6d, 0x4b, 0x61, 0x8f, 0x6d, 0x0d, 0x29, 0xdb, 0x55, 0xf4, 0x5b, 0xba,
- 0x59, 0x9a, 0x75, 0x54, 0xc8, 0x9b, 0x20, 0xbd, 0x8e, 0xd4, 0xdb, 0x86, 0xb4, 0xaf, 0x8d, 0x61,
- 0x70, 0xa7, 0x3e, 0x6a, 0x06, 0xfa, 0xeb, 0x03, 0xe6, 0xdf, 0xfd, 0x30, 0xa4, 0x6c, 0xff, 0xdd,
- 0x28, 0xfa, 0x81, 0x92, 0xbd, 0x2a, 0xc8, 0x79, 0x4e, 0xc5, 0x92, 0x78, 0x4c, 0xf9, 0x35, 0xab,
- 0xae, 0x26, 0xab, 0x22, 0x41, 0x96, 0x7f, 0x3f, 0xdc, 0xb3, 0xfc, 0xa3, 0x4a, 0x56, 0xc6, 0xa7,
- 0x2a, 0xca, 0x59, 0x09, 0x33, 0xbe, 0xb6, 0x06, 0x9c, 0x95, 0x58, 0xc6, 0xe7, 0x22, 0x1d, 0xab,
- 0x47, 0x4d, 0xd8, 0xf4, 0x5b, 0x3d, 0xb2, 0xe3, 0xe4, 0xdd, 0x10, 0x62, 0xc2, 0x56, 0x3b, 0x80,
- 0x59, 0x71, 0x91, 0xcd, 0xce, 0xca, 0xb4, 0x19, 0xc6, 0x8f, 0xfd, 0x23, 0xd4, 0x42, 0x90, 0xb0,
- 0x85, 0xa0, 0xca, 0xdb, 0x3f, 0x98, 0xc4, 0x48, 0x4d, 0xa5, 0xbd, 0x8a, 0xcd, 0x0f, 0xe9, 0x8c,
- 0x24, 0x2b, 0x35, 0xff, 0x3f, 0x0f, 0x4d, 0x3c, 0x48, 0xeb, 0x42, 0xbc, 0xb8, 0xa1, 0x96, 0x2a,
- 0xcf, 0xbf, 0x8f, 0xa2, 0xfb, 0x6d, 0xf5, 0x2f, 0x49, 0x31, 0xa3, 0xaa, 0x3f, 0x65, 0xe9, 0xb7,
- 0x8b, 0xf4, 0x94, 0xd6, 0x9c, 0x54, 0x7c, 0xfc, 0x23, 0x7f, 0x25, 0x43, 0x3a, 0xba, 0x6c, 0x3f,
- 0xfe, 0xa5, 0x74, 0x4d, 0xaf, 0x4f, 0x9a, 0xc0, 0xa6, 0x42, 0x80, 0xdb, 0xeb, 0x42, 0x02, 0x03,
- 0xc0, 0xdd, 0x10, 0x62, 0x7a, 0x5d, 0x08, 0x0e, 0x8a, 0x65, 0xc6, 0xe9, 0x3e, 0x2d, 0x68, 0xd5,
- 0xed, 0x75, 0xa9, 0xea, 0x22, 0x48, 0xaf, 0x23, 0xa8, 0x09, 0x36, 0x8e, 0x37, 0xbd, 0x38, 0xae,
- 0x07, 0x8c, 0x74, 0x96, 0xc7, 0x8d, 0x61, 0xb0, 0xd9, 0xdd, 0x59, 0x3e, 0x4f, 0xe9, 0x92, 0x5d,
- 0xc1, 0xdd, 0x9d, 0x6d, 0x42, 0x02, 0xc8, 0xee, 0xce, 0x0b, 0x9a, 0x15, 0xcc, 0xf2, 0xf3, 0x26,
- 0xa3, 0xd7, 0x60, 0x05, 0xb3, 0x95, 0x1b, 0x31, 0xb2, 0x82, 0x79, 0x30, 0xe5, 0xe1, 0x38, 0xfa,
- 0x15, 0x21, 0xfc, 0x7d, 0x96, 0x15, 0xe3, 0xdb, 0x1e, 0xa5, 0x46, 0xa0, 0xad, 0xde, 0xc1, 0x01,
- 0x50, 0xe2, 0xe6, 0xd7, 0x1d, 0x52, 0x24, 0x34, 0xf7, 0x96, 0xd8, 0x88, 0x83, 0x25, 0x76, 0x30,
- 0x93, 0x3a, 0x08, 0x61, 0x13, 0xbf, 0x26, 0x97, 0xa4, 0xca, 0x8a, 0xd9, 0xd8, 0xa7, 0x6b, 0xc9,
- 0x91, 0xd4, 0xc1, 0xc7, 0x81, 0x21, 0xac, 0x14, 0xb7, 0xcb, 0xb2, 0x6a, 0xc2, 0xa2, 0x6f, 0x08,
- 0xbb, 0x48, 0x70, 0x08, 0x77, 0x50, 0xbf, 0xb7, 0x5d, 0x9a, 0xe4, 0x59, 0x11, 0xf4, 0xa6, 0x90,
- 0x21, 0xde, 0x0c, 0x0a, 0x06, 0xef, 0x21, 0x25, 0x4b, 0xda, 0xd6, 0xcc, 0xd7, 0x32, 0x36, 0x10,
- 0x1c, 0xbc, 0x00, 0x34, 0xfb, 0x34, 0x21, 0x3e, 0x22, 0x57, 0xb4, 0x69, 0x60, 0xda, 0xac, 0x6b,
- 0x63, 0x9f, 0xbe, 0x43, 0x20, 0xfb, 0x34, 0x3f, 0xa9, 0x5c, 0x2d, 0xa2, 0x8f, 0x84, 0xfc, 0x84,
- 0x54, 0x3c, 0x4b, 0xb2, 0x92, 0x14, 0x6d, 0xfe, 0xef, 0x9b, 0xd7, 0x1d, 0x4a, 0xbb, 0xdc, 0x1c,
- 0x48, 0x2b, 0xb7, 0xff, 0x36, 0x8a, 0x3e, 0x85, 0x7e, 0x4f, 0x68, 0x35, 0xcf, 0xc4, 0x36, 0xb2,
- 0x96, 0x41, 0x78, 0xfc, 0x65, 0xd8, 0x68, 0x47, 0x41, 0x97, 0xe6, 0x87, 0x37, 0x57, 0x54, 0x05,
- 0xfb, 0x83, 0x28, 0x92, 0xdb, 0x15, 0xb1, 0xa5, 0x74, 0x67, 0xad, 0xda, 0xc7, 0x38, 0xfb, 0xc9,
- 0x4f, 0x03, 0x84, 0x59, 0x2a, 0xe4, 0xef, 0x62, 0xa7, 0x3c, 0xf6, 0x6a, 0x08, 0x11, 0xb2, 0x54,
- 0x00, 0x04, 0x16, 0x74, 0x72, 0xc9, 0xae, 0xfd, 0x05, 0x6d, 0x24, 0xe1, 0x82, 0x2a, 0xc2, 0x9c,
- 0x5d, 0xa9, 0x82, 0xfa, 0xce, 0xae, 0xda, 0x62, 0x84, 0xce, 0xae, 0x20, 0xa3, 0x0c, 0xb3, 0xe8,
- 0x37, 0x6d, 0xc3, 0x2f, 0x19, 0xbb, 0x9a, 0x93, 0xea, 0x6a, 0xfc, 0x04, 0x57, 0x6e, 0x19, 0xed,
- 0x68, 0x7d, 0x10, 0x6b, 0xc2, 0x82, 0xed, 0xb0, 0x49, 0x34, 0xce, 0xaa, 0x1c, 0x84, 0x05, 0xc7,
- 0x86, 0x42, 0x90, 0xb0, 0x80, 0xa0, 0x26, 0x72, 0xdb, 0xde, 0x26, 0x14, 0xee, 0x96, 0x1c, 0xf5,
- 0x09, 0xc5, 0x76, 0x4b, 0x1e, 0x0c, 0x0e, 0xa1, 0xfd, 0x8a, 0x94, 0x97, 0xfe, 0x21, 0x24, 0x44,
- 0xe1, 0x21, 0xd4, 0x22, 0xb0, 0xbf, 0x27, 0x94, 0x54, 0xc9, 0xa5, 0xbf, 0xbf, 0xa5, 0x2c, 0xdc,
- 0xdf, 0x9a, 0x81, 0xfd, 0x2d, 0x05, 0x6f, 0x33, 0x7e, 0x79, 0x44, 0x39, 0xf1, 0xf7, 0xb7, 0xcb,
- 0x84, 0xfb, 0xbb, 0xc3, 0x9a, 0x4c, 0xc6, 0x76, 0x38, 0x59, 0x9c, 0xd7, 0x49, 0x95, 0x9d, 0xd3,
- 0x71, 0xc0, 0x8a, 0x86, 0x90, 0x4c, 0x06, 0x85, 0x95, 0xcf, 0x9f, 0x8f, 0xa2, 0xdb, 0x6d, 0xb7,
- 0xb3, 0xba, 0x96, 0x2b, 0x2b, 0x70, 0xff, 0xc2, 0xdf, 0xbf, 0x08, 0x8e, 0x9c, 0x26, 0x0e, 0x50,
- 0xb3, 0xa2, 0xaa, 0xbf, 0x48, 0x67, 0x45, 0xad, 0x0b, 0xf5, 0xe5, 0x10, 0xeb, 0x96, 0x02, 0x12,
- 0x55, 0x07, 0x29, 0x9a, 0x05, 0x4d, 0xf5, 0x4f, 0x2b, 0x3b, 0x48, 0x6b, 0xb0, 0xa0, 0xb5, 0xed,
- 0x6d, 0x11, 0xc8, 0x82, 0xe6, 0x27, 0xe1, 0x50, 0xd8, 0xaf, 0xd8, 0xa2, 0xac, 0x7b, 0x86, 0x02,
- 0x80, 0xc2, 0x43, 0xa1, 0x0b, 0x2b, 0x9f, 0xef, 0xa2, 0xdf, 0xb6, 0x87, 0x9f, 0xdd, 0xd8, 0x9b,
- 0xf8, 0x98, 0xf2, 0x35, 0x71, 0x3c, 0x14, 0x37, 0x29, 0x5d, 0xeb, 0x99, 0xef, 0x52, 0x4e, 0xb2,
- 0xbc, 0x1e, 0x3f, 0xf4, 0xdb, 0x68, 0xe5, 0x48, 0x4a, 0xe7, 0xe3, 0x60, 0x7c, 0xdb, 0x5d, 0x94,
- 0x79, 0x96, 0x74, 0xcf, 0x72, 0x95, 0xae, 0x16, 0x87, 0xe3, 0x9b, 0x8d, 0xc1, 0x78, 0x3d, 0xa1,
- 0x5c, 0xfe, 0x67, 0xba, 0x2a, 0xa9, 0x3f, 0x5e, 0x3b, 0x48, 0x38, 0x5e, 0x43, 0x14, 0xd6, 0x67,
- 0x42, 0xf9, 0x21, 0x59, 0xb1, 0x05, 0x12, 0xaf, 0xb5, 0x38, 0x5c, 0x1f, 0x1b, 0x33, 0x59, 0x95,
- 0xf6, 0x70, 0x50, 0x70, 0x5a, 0x15, 0x24, 0xdf, 0xcb, 0xc9, 0xac, 0x1e, 0x23, 0x31, 0xc6, 0xa5,
- 0x90, 0xac, 0x0a, 0xa7, 0x3d, 0xcd, 0x78, 0x50, 0xef, 0x91, 0x25, 0xab, 0x32, 0x8e, 0x37, 0xa3,
- 0x41, 0x7a, 0x9b, 0xd1, 0x41, 0xbd, 0xde, 0xb6, 0xab, 0xe4, 0x32, 0x5b, 0xd2, 0x34, 0xe0, 0xad,
- 0x45, 0x06, 0x78, 0xb3, 0x50, 0x4f, 0xa7, 0x4d, 0xd8, 0xa2, 0x4a, 0x28, 0xda, 0x69, 0x52, 0xdc,
- 0xdb, 0x69, 0x1a, 0x53, 0x1e, 0xfe, 0x6a, 0x14, 0xfd, 0x8e, 0x94, 0xda, 0x07, 0xac, 0xbb, 0xa4,
- 0xbe, 0x3c, 0x67, 0xa4, 0x4a, 0xc7, 0x9f, 0xf9, 0xec, 0x78, 0x51, 0xed, 0xfa, 0xd9, 0x4d, 0x54,
- 0x60, 0xb3, 0x1e, 0x66, 0xb5, 0x35, 0xe3, 0xbc, 0xcd, 0xea, 0x20, 0xe1, 0x66, 0x85, 0x28, 0x0c,
- 0x20, 0x42, 0x2e, 0x0f, 0x33, 0x1e, 0xa2, 0xfa, 0xee, 0x89, 0xc6, 0x5a, 0x2f, 0x07, 0xe3, 0x63,
- 0x23, 0x74, 0x47, 0xcb, 0x26, 0x66, 0xc3, 0x3f, 0x62, 0xe2, 0xa1, 0x38, 0xea, 0x59, 0xcf, 0x8a,
- 0xb0, 0xe7, 0xce, 0xcc, 0x88, 0x87, 0xe2, 0x88, 0x67, 0x2b, 0xac, 0x85, 0x3c, 0x7b, 0x42, 0x5b,
- 0x3c, 0x14, 0x87, 0xd9, 0x97, 0x62, 0xda, 0x75, 0xe1, 0x49, 0xc0, 0x0e, 0x5c, 0x1b, 0xd6, 0x07,
- 0xb1, 0xca, 0xe1, 0xdf, 0x8c, 0xa2, 0xef, 0x1b, 0x8f, 0x47, 0x2c, 0xcd, 0x2e, 0x56, 0x12, 0x7a,
- 0x43, 0xf2, 0x05, 0xad, 0xc7, 0xcf, 0x30, 0x6b, 0x5d, 0x56, 0x97, 0xe0, 0xf9, 0x8d, 0x74, 0xe0,
- 0xdc, 0xd9, 0x2e, 0xcb, 0x7c, 0x35, 0xa5, 0xf3, 0x32, 0x47, 0xe7, 0x8e, 0x83, 0x84, 0xe7, 0x0e,
- 0x44, 0x61, 0x56, 0x3e, 0x65, 0x4d, 0xce, 0xef, 0xcd, 0xca, 0x85, 0x28, 0x9c, 0x95, 0xb7, 0x08,
- 0xcc, 0x95, 0xa6, 0x6c, 0x87, 0xe5, 0x39, 0x4d, 0x78, 0xf7, 0x21, 0xad, 0xd6, 0x34, 0x44, 0x38,
- 0x57, 0x02, 0xa4, 0x39, 0xcf, 0x68, 0xf7, 0x90, 0xa4, 0xa2, 0x2f, 0x57, 0x87, 0x59, 0x71, 0x35,
- 0xf6, 0xa7, 0x05, 0x06, 0x40, 0xce, 0x33, 0xbc, 0x20, 0xdc, 0xab, 0x9e, 0x15, 0x29, 0xf3, 0xef,
- 0x55, 0x1b, 0x49, 0x78, 0xaf, 0xaa, 0x08, 0x68, 0xf2, 0x94, 0x62, 0x26, 0x1b, 0x49, 0xd8, 0xa4,
- 0x22, 0x7c, 0xa1, 0x50, 0x9d, 0x7a, 0xa3, 0xa1, 0x10, 0x9c, 0x73, 0xaf, 0xf5, 0x72, 0x70, 0x84,
- 0xb6, 0x9b, 0xd6, 0x3d, 0xca, 0x93, 0x4b, 0xff, 0x08, 0x75, 0x90, 0xf0, 0x08, 0x85, 0x28, 0xac,
- 0xd2, 0x94, 0xe9, 0x4d, 0xf7, 0x43, 0xff, 0xf8, 0xe8, 0x6c, 0xb8, 0xd7, 0x7a, 0x39, 0xb8, 0x8d,
- 0x3c, 0x98, 0x8b, 0x36, 0xf3, 0x0e, 0x72, 0x29, 0x0b, 0x6f, 0x23, 0x35, 0x03, 0x4b, 0x2f, 0x05,
- 0x4d, 0x73, 0xfa, 0x4b, 0x6f, 0xe4, 0xe1, 0xd2, 0x3b, 0x9c, 0x72, 0xf2, 0x2f, 0x7a, 0x1b, 0x27,
- 0xa5, 0xc7, 0xac, 0x99, 0x23, 0x6f, 0x48, 0x9e, 0xa5, 0x84, 0xd3, 0x29, 0xbb, 0xa2, 0x85, 0x7f,
- 0xc7, 0xa4, 0x4a, 0x2b, 0xf9, 0xd8, 0x51, 0x08, 0xef, 0x98, 0xc2, 0x8a, 0x70, 0x9c, 0x48, 0xfa,
- 0xac, 0xa6, 0x3b, 0xa4, 0x46, 0x22, 0x99, 0x83, 0x84, 0xc7, 0x09, 0x44, 0x61, 0xbe, 0x2a, 0xe5,
- 0xaf, 0xde, 0x95, 0xb4, 0xca, 0x68, 0x91, 0x50, 0x7f, 0xbe, 0x0a, 0xa9, 0x70, 0xbe, 0xea, 0xa1,
- 0x3b, 0xc7, 0x34, 0x3a, 0x38, 0x75, 0xef, 0x59, 0x40, 0x22, 0x70, 0xcf, 0x02, 0x41, 0x61, 0x25,
- 0x0d, 0xe0, 0x3d, 0xea, 0xec, 0x58, 0x09, 0x1e, 0x75, 0xe2, 0x74, 0xe7, 0xf0, 0x4b, 0x33, 0x93,
- 0x66, 0x9a, 0xf4, 0x14, 0x7d, 0x62, 0x4f, 0x97, 0xf5, 0x41, 0xac, 0xff, 0xb4, 0xed, 0x94, 0xe6,
- 0x44, 0x2c, 0x21, 0x81, 0x23, 0xad, 0x96, 0x19, 0x72, 0xda, 0x66, 0xb1, 0xca, 0xe1, 0x5f, 0x8c,
- 0xa2, 0x4f, 0x7c, 0x1e, 0x5f, 0x97, 0xc2, 0xef, 0xd3, 0x7e, 0x5b, 0x92, 0x44, 0x2e, 0x92, 0x84,
- 0x35, 0x54, 0x19, 0xfe, 0x24, 0xfa, 0xb8, 0x15, 0x99, 0x7b, 0x26, 0xaa, 0x00, 0x6e, 0x02, 0xa5,
- 0xcb, 0x0f, 0x39, 0xed, 0x7e, 0x6b, 0x30, 0x6f, 0xf6, 0x26, 0x6e, 0xb9, 0x6a, 0xb0, 0x37, 0xd1,
- 0x36, 0x94, 0x18, 0xd9, 0x9b, 0x78, 0x30, 0x73, 0xaa, 0x61, 0x57, 0xef, 0x6d, 0xc6, 0x2f, 0x45,
- 0xee, 0x03, 0x4e, 0x35, 0x9c, 0xb2, 0x6a, 0x08, 0x39, 0xd5, 0x40, 0x61, 0x98, 0x1d, 0xb4, 0x60,
- 0x33, 0x37, 0x7d, 0x71, 0x55, 0x1b, 0xb2, 0x67, 0xe6, 0xa3, 0x7e, 0x10, 0x8e, 0xd7, 0x56, 0xac,
- 0xb6, 0x21, 0x4f, 0x42, 0x16, 0xc0, 0x56, 0x64, 0x7d, 0x10, 0xab, 0x1c, 0xfe, 0x59, 0xf4, 0xbd,
- 0x4e, 0xc5, 0xf6, 0x28, 0xe1, 0x8b, 0x8a, 0xa6, 0xe3, 0xad, 0x9e, 0x72, 0xb7, 0xa0, 0x76, 0xfd,
- 0x74, 0xb8, 0x42, 0x27, 0x5f, 0x6e, 0x39, 0x39, 0xac, 0x74, 0x19, 0x9e, 0x85, 0x4c, 0xba, 0x6c,
- 0x30, 0x5f, 0xc6, 0x75, 0x3a, 0x5b, 0x5e, 0x7b, 0x74, 0x6d, 0x2f, 0x49, 0x96, 0x8b, 0x47, 0x4e,
- 0x9f, 0x85, 0x8c, 0x3a, 0x68, 0x70, 0xcb, 0x8b, 0xaa, 0x74, 0x22, 0xb3, 0x98, 0xe3, 0xd6, 0x56,
- 0x69, 0x03, 0x8f, 0x04, 0x9e, 0x9d, 0xd2, 0xe6, 0x40, 0x5a, 0xb9, 0xe5, 0xed, 0x51, 0x61, 0xf3,
- 0xb3, 0x3d, 0xc8, 0x7d, 0x5e, 0x95, 0xaa, 0x67, 0xa4, 0x6f, 0x0e, 0xa4, 0x95, 0xd7, 0x3f, 0x8d,
- 0x3e, 0xee, 0x7a, 0x55, 0x0b, 0xd1, 0x56, 0xaf, 0x29, 0xb0, 0x16, 0x3d, 0x1d, 0xae, 0x60, 0xb6,
- 0x17, 0x5f, 0x65, 0x35, 0x67, 0xd5, 0x6a, 0x72, 0xc9, 0xae, 0xdb, 0xfb, 0xdb, 0xee, 0x6c, 0x55,
- 0x40, 0x6c, 0x11, 0xc8, 0xf6, 0xc2, 0x4f, 0x76, 0x5c, 0x99, 0x7b, 0xde, 0x35, 0xe2, 0xca, 0x22,
- 0x7a, 0x5c, 0xb9, 0xa4, 0x89, 0x55, 0x6d, 0xad, 0xcc, 0xa5, 0xf4, 0x35, 0x7f, 0x51, 0xbb, 0x17,
- 0xd3, 0x1f, 0xf5, 0x83, 0x26, 0x63, 0x51, 0xe2, 0xdd, 0xec, 0xe2, 0x42, 0xd7, 0xc9, 0x5f, 0x52,
- 0x1b, 0x41, 0x32, 0x16, 0x04, 0x35, 0x09, 0xf0, 0x5e, 0x96, 0x53, 0x71, 0xba, 0xfe, 0xfa, 0xe2,
- 0x22, 0x67, 0x24, 0x05, 0x09, 0x70, 0x23, 0x8e, 0x6d, 0x39, 0x92, 0x00, 0xfb, 0x38, 0x73, 0xfd,
- 0xab, 0x91, 0x9e, 0xd2, 0x84, 0x15, 0x49, 0x96, 0xc3, 0xeb, 0x6c, 0x42, 0x53, 0x0b, 0x91, 0xeb,
- 0x5f, 0x1d, 0xc8, 0x2c, 0x8c, 0x8d, 0xa8, 0x99, 0xf6, 0x6d, 0xf9, 0x1f, 0x74, 0x15, 0x2d, 0x31,
- 0xb2, 0x30, 0x7a, 0x30, 0xb3, 0x0f, 0x6c, 0x84, 0x67, 0xa5, 0x30, 0x7e, 0xa7, 0xab, 0x25, 0x25,
- 0xc8, 0x3e, 0xd0, 0x25, 0xcc, 0x7e, 0xa6, 0xf9, 0x7d, 0x97, 0x5d, 0x17, 0xc2, 0xe8, 0xdd, 0xae,
- 0x4a, 0x2b, 0x43, 0xf6, 0x33, 0x90, 0x51, 0x86, 0x7f, 0x12, 0xfd, 0x7f, 0x61, 0xb8, 0x62, 0xe5,
- 0xf8, 0x96, 0x47, 0xa1, 0xb2, 0x6e, 0x9e, 0xdd, 0x46, 0xe5, 0xe6, 0x02, 0xa5, 0x1e, 0x1b, 0x67,
- 0x35, 0x99, 0xd1, 0xf1, 0x7d, 0xa4, 0xc7, 0x85, 0x14, 0xb9, 0x40, 0xd9, 0xa5, 0xdc, 0x51, 0x71,
- 0xcc, 0x52, 0x65, 0xdd, 0x53, 0x43, 0x2d, 0x0c, 0x8d, 0x0a, 0x1b, 0x32, 0xc9, 0xcc, 0x31, 0x59,
- 0x66, 0x33, 0xbd, 0xe0, 0xc8, 0xb8, 0x55, 0x83, 0x64, 0xc6, 0x30, 0xb1, 0x05, 0x21, 0xc9, 0x0c,
- 0x0a, 0x2b, 0x9f, 0xff, 0x3c, 0x8a, 0xee, 0x18, 0x66, 0xbf, 0x3d, 0x39, 0x3b, 0x28, 0x2e, 0x58,
- 0x93, 0xfa, 0x1c, 0x66, 0xc5, 0x55, 0x3d, 0xfe, 0x02, 0x33, 0xe9, 0xe7, 0x75, 0x51, 0xbe, 0xbc,
- 0xb1, 0x9e, 0xc9, 0x5a, 0xdb, 0x63, 0x25, 0xf3, 0x6c, 0x59, 0x6a, 0x80, 0xac, 0x55, 0x9f, 0x3e,
- 0x41, 0x0e, 0xc9, 0x5a, 0x43, 0xbc, 0xe9, 0x62, 0xed, 0x3c, 0x67, 0x05, 0xec, 0x62, 0x63, 0xa1,
- 0x11, 0x22, 0x5d, 0xdc, 0x81, 0x4c, 0x3c, 0x6e, 0x45, 0xf2, 0x04, 0x64, 0x3b, 0xcf, 0x41, 0x3c,
- 0xd6, 0xaa, 0x1a, 0x40, 0xe2, 0xb1, 0x17, 0x54, 0x7e, 0x4e, 0xa3, 0xef, 0x34, 0x4d, 0x7a, 0x52,
- 0xd1, 0x65, 0x46, 0xe1, 0x35, 0x08, 0x4b, 0x82, 0xcc, 0x7f, 0x97, 0x30, 0x33, 0xeb, 0xac, 0xa8,
- 0xcb, 0x9c, 0xd4, 0x97, 0xea, 0xc1, 0xb8, 0x5b, 0xe7, 0x56, 0x08, 0x1f, 0x8d, 0x3f, 0xe8, 0xa1,
- 0x4c, 0x50, 0x6f, 0x65, 0x3a, 0xc4, 0x3c, 0xf4, 0xab, 0x76, 0xc2, 0xcc, 0x5a, 0x2f, 0x67, 0x4e,
- 0x9f, 0xf7, 0x49, 0x9e, 0xd3, 0x6a, 0xd5, 0xca, 0x8e, 0x48, 0x91, 0x5d, 0xd0, 0x9a, 0x83, 0xd3,
- 0x67, 0x45, 0xc5, 0x10, 0x43, 0x4e, 0x9f, 0x03, 0xb8, 0xc9, 0xe6, 0x81, 0xe7, 0x83, 0x22, 0xa5,
- 0xef, 0x40, 0x36, 0x0f, 0xed, 0x08, 0x06, 0xc9, 0xe6, 0x31, 0xd6, 0x9c, 0xc2, 0xbe, 0xcc, 0x59,
- 0x72, 0xa5, 0x96, 0x00, 0xb7, 0x83, 0x85, 0x04, 0xae, 0x01, 0x77, 0x43, 0x88, 0x59, 0x04, 0x84,
- 0xe0, 0x94, 0x96, 0x39, 0x49, 0xe0, 0x5d, 0x18, 0xa9, 0xa3, 0x64, 0xc8, 0x22, 0x00, 0x19, 0x50,
- 0x5c, 0x75, 0xc7, 0xc6, 0x57, 0x5c, 0x70, 0xc5, 0xe6, 0x6e, 0x08, 0x31, 0xcb, 0xa0, 0x10, 0x4c,
- 0xca, 0x3c, 0xe3, 0x60, 0x1a, 0x48, 0x0d, 0x21, 0x41, 0xa6, 0x81, 0x4b, 0x00, 0x93, 0x47, 0xb4,
- 0x9a, 0x51, 0xaf, 0x49, 0x21, 0x09, 0x9a, 0x6c, 0x09, 0x73, 0x65, 0x52, 0xd6, 0x9d, 0x95, 0x2b,
- 0x70, 0x65, 0x52, 0x55, 0x8b, 0x95, 0x2b, 0xe4, 0xca, 0xa4, 0x03, 0x80, 0x22, 0x9e, 0x90, 0x9a,
- 0xfb, 0x8b, 0x28, 0x24, 0xc1, 0x22, 0xb6, 0x84, 0x59, 0xa3, 0x65, 0x11, 0x17, 0x1c, 0xac, 0xd1,
- 0xaa, 0x00, 0xd6, 0xd3, 0xe0, 0xdb, 0xa8, 0xdc, 0x44, 0x12, 0xd9, 0x2b, 0x94, 0xef, 0x65, 0x34,
- 0x4f, 0x6b, 0x10, 0x49, 0x54, 0xbb, 0xb7, 0x52, 0x24, 0x92, 0x74, 0x29, 0x30, 0x94, 0xd4, 0x59,
- 0xb5, 0xaf, 0x76, 0xe0, 0x98, 0xfa, 0x6e, 0x08, 0x31, 0xf1, 0xa9, 0x2d, 0xf4, 0x0e, 0xa9, 0xaa,
- 0xac, 0x59, 0xfc, 0x1f, 0xfa, 0x0b, 0xd4, 0xca, 0x91, 0xf8, 0xe4, 0xe3, 0xc0, 0xf4, 0x6a, 0x03,
- 0xb7, 0xaf, 0x60, 0x30, 0x74, 0xdf, 0x0b, 0x32, 0x26, 0xe3, 0x14, 0x12, 0xeb, 0x71, 0xa6, 0xaf,
- 0x35, 0x3d, 0x4f, 0x33, 0x1f, 0xf6, 0x61, 0xd6, 0x2b, 0x0d, 0xda, 0xc5, 0x11, 0x5b, 0xd2, 0x29,
- 0x7b, 0xf5, 0x2e, 0xab, 0x79, 0x56, 0xcc, 0xd4, 0xca, 0xfd, 0x1c, 0xb1, 0xe4, 0x83, 0x91, 0x57,
- 0x1a, 0x7a, 0x95, 0x4c, 0x02, 0x01, 0xca, 0x72, 0x4c, 0xaf, 0xbd, 0x09, 0x04, 0xb4, 0xa8, 0x39,
- 0x24, 0x81, 0x08, 0xf1, 0xe6, 0x1c, 0x45, 0x3b, 0x57, 0xef, 0x7d, 0x4e, 0x59, 0x9b, 0xcb, 0x61,
- 0xd6, 0x20, 0x88, 0x6c, 0x65, 0x83, 0x0a, 0x66, 0x7f, 0xa9, 0xfd, 0x9b, 0x29, 0xf6, 0x08, 0xb1,
- 0xd3, 0x9d, 0x66, 0x8f, 0x07, 0x90, 0x1e, 0x57, 0xe6, 0x99, 0x3c, 0xe6, 0xaa, 0xfb, 0x48, 0xfe,
- 0xf1, 0x00, 0xd2, 0x3a, 0x93, 0xb1, 0xab, 0xf5, 0x92, 0x24, 0x57, 0xb3, 0x8a, 0x2d, 0x8a, 0x74,
- 0x87, 0xe5, 0xac, 0x02, 0x67, 0x32, 0x4e, 0xa9, 0x01, 0x8a, 0x9c, 0xc9, 0xf4, 0xa8, 0x98, 0x0c,
- 0xce, 0x2e, 0xc5, 0x76, 0x9e, 0xcd, 0xe0, 0x8e, 0xda, 0x31, 0x24, 0x00, 0x24, 0x83, 0xf3, 0x82,
- 0x9e, 0x41, 0x24, 0x77, 0xdc, 0x3c, 0x4b, 0x48, 0x2e, 0xfd, 0x6d, 0xe1, 0x66, 0x1c, 0xb0, 0x77,
- 0x10, 0x79, 0x14, 0x3c, 0xf5, 0x9c, 0x2e, 0xaa, 0xe2, 0xa0, 0xe0, 0x0c, 0xad, 0x67, 0x0b, 0xf4,
- 0xd6, 0xd3, 0x02, 0x41, 0x58, 0x9d, 0xd2, 0x77, 0x4d, 0x69, 0x9a, 0x7f, 0x7c, 0x61, 0xb5, 0xf9,
- 0x3d, 0x56, 0xf2, 0x50, 0x58, 0x05, 0x1c, 0xa8, 0x8c, 0x72, 0x22, 0x07, 0x4c, 0x40, 0xdb, 0x1d,
- 0x26, 0x8f, 0xfa, 0x41, 0xbf, 0x9f, 0x09, 0x5f, 0xe5, 0x34, 0xe4, 0x47, 0x00, 0x43, 0xfc, 0xb4,
- 0xa0, 0x39, 0x6e, 0x71, 0xea, 0x73, 0x49, 0x93, 0xab, 0xce, 0x15, 0x23, 0xb7, 0xa0, 0x12, 0x41,
- 0x8e, 0x5b, 0x10, 0xd4, 0xdf, 0x45, 0x07, 0x09, 0x2b, 0x42, 0x5d, 0xd4, 0xc8, 0x87, 0x74, 0x91,
- 0xe2, 0xcc, 0xe6, 0x57, 0x4b, 0xd5, 0xc8, 0x94, 0xdd, 0xb4, 0x8e, 0x58, 0xb0, 0x21, 0x64, 0xf3,
- 0x8b, 0xc2, 0x26, 0x27, 0x87, 0x3e, 0x8f, 0xba, 0xf7, 0xaf, 0x3b, 0x56, 0x8e, 0xf0, 0xfb, 0xd7,
- 0x18, 0x8b, 0x57, 0x52, 0x8e, 0x91, 0x1e, 0x2b, 0xee, 0x38, 0xd9, 0x18, 0x06, 0x9b, 0x2d, 0x8f,
- 0xe3, 0x73, 0x27, 0xa7, 0xa4, 0x92, 0x5e, 0x37, 0x03, 0x86, 0x0c, 0x86, 0x6c, 0x79, 0x02, 0x38,
- 0x08, 0x61, 0x8e, 0xe7, 0x1d, 0x56, 0x70, 0x5a, 0x70, 0x5f, 0x08, 0x73, 0x8d, 0x29, 0x30, 0x14,
- 0xc2, 0x30, 0x05, 0x30, 0x6e, 0xc5, 0x79, 0x10, 0xe5, 0xc7, 0x64, 0xee, 0xcd, 0xd8, 0xe4, 0x59,
- 0x8f, 0x94, 0x87, 0xc6, 0x2d, 0xe0, 0xac, 0x87, 0x7c, 0xb6, 0x97, 0x29, 0xa9, 0x66, 0xfa, 0x74,
- 0x23, 0x1d, 0x3f, 0xc5, 0xed, 0xb8, 0x24, 0xf2, 0x90, 0x2f, 0xac, 0x01, 0xc2, 0xce, 0xc1, 0x9c,
- 0xcc, 0x74, 0x4d, 0x3d, 0x35, 0x10, 0xf2, 0x4e, 0x55, 0x1f, 0xf5, 0x83, 0xc0, 0xcf, 0x9b, 0x2c,
- 0xa5, 0x2c, 0xe0, 0x47, 0xc8, 0x87, 0xf8, 0x81, 0x20, 0xc8, 0xde, 0x9a, 0x7a, 0xcb, 0x1d, 0xdd,
- 0x76, 0x91, 0xaa, 0x7d, 0x6c, 0x8c, 0x34, 0x0f, 0xe0, 0x42, 0xd9, 0x1b, 0xc2, 0x83, 0x39, 0xda,
- 0x1e, 0xd0, 0x86, 0xe6, 0xa8, 0x3e, 0x7f, 0x1d, 0x32, 0x47, 0x7d, 0xb0, 0xf2, 0xf9, 0x33, 0x35,
- 0x47, 0x77, 0x09, 0x27, 0x4d, 0xde, 0xfe, 0x26, 0xa3, 0xd7, 0x6a, 0x23, 0xec, 0xa9, 0x6f, 0x4b,
- 0xc5, 0xe2, 0xc5, 0x3b, 0xb0, 0x2b, 0xde, 0x1a, 0xcc, 0x07, 0x7c, 0xab, 0x1d, 0x42, 0xaf, 0x6f,
- 0xb0, 0x55, 0xd8, 0x1a, 0xcc, 0x07, 0x7c, 0xab, 0x37, 0x7a, 0x7b, 0x7d, 0x83, 0xd7, 0x7a, 0xb7,
- 0x06, 0xf3, 0xca, 0xf7, 0x5f, 0xb6, 0x13, 0xd7, 0x76, 0xde, 0xe4, 0x61, 0x09, 0xcf, 0x96, 0xd4,
- 0x97, 0x4e, 0xba, 0xf6, 0x34, 0x1a, 0x4a, 0x27, 0x71, 0x15, 0xeb, 0x33, 0x30, 0xbe, 0x52, 0x9c,
- 0xb0, 0x3a, 0x13, 0x0f, 0xe9, 0x9f, 0x0f, 0x30, 0xda, 0xc2, 0xa1, 0x4d, 0x53, 0x48, 0xc9, 0x3c,
- 0x6e, 0x74, 0x50, 0x73, 0xa3, 0x78, 0x23, 0x60, 0xaf, 0x7b, 0xb1, 0x78, 0x73, 0x20, 0x6d, 0x1e,
- 0xfc, 0x39, 0x8c, 0xfd, 0xc4, 0x31, 0xd4, 0xab, 0xde, 0x87, 0x8e, 0x4f, 0x87, 0x2b, 0x28, 0xf7,
- 0x7f, 0xdd, 0xee, 0x2b, 0xa0, 0x7f, 0x35, 0x09, 0x9e, 0x0d, 0xb1, 0x08, 0x26, 0xc2, 0xf3, 0x1b,
- 0xe9, 0xa8, 0x82, 0xfc, 0x7d, 0xbb, 0x81, 0x6e, 0x51, 0xf1, 0x5e, 0xc5, 0xeb, 0x2a, 0xa5, 0x95,
- 0x9a, 0x13, 0xa1, 0x6e, 0x35, 0x30, 0x9c, 0x19, 0x2f, 0x6e, 0xa8, 0x65, 0x7d, 0x14, 0xc8, 0x81,
- 0xd5, 0xfb, 0x7f, 0x56, 0x79, 0x42, 0x96, 0x2d, 0x1a, 0x16, 0xe8, 0x8b, 0x9b, 0xaa, 0x61, 0x73,
- 0xc5, 0x82, 0xc5, 0x37, 0x06, 0x9e, 0x0f, 0x34, 0xec, 0x7c, 0x75, 0xe0, 0xf3, 0x9b, 0x29, 0xa9,
- 0xb2, 0xfc, 0xc7, 0x28, 0x7a, 0xe0, 0xb0, 0xe6, 0x79, 0x02, 0x38, 0xf5, 0xf8, 0x71, 0xc0, 0x3e,
- 0xa6, 0xa4, 0x0b, 0xf7, 0xbb, 0xbf, 0x9c, 0xb2, 0xf9, 0x82, 0x8e, 0xa3, 0xb2, 0x97, 0xe5, 0x9c,
- 0x56, 0xdd, 0x2f, 0xe8, 0xb8, 0x76, 0x25, 0x15, 0xe3, 0x5f, 0xd0, 0x09, 0xe0, 0xd6, 0x17, 0x74,
- 0x3c, 0x9e, 0xbd, 0x5f, 0xd0, 0xf1, 0x5a, 0x0b, 0x7e, 0x41, 0x27, 0xac, 0x81, 0x85, 0xf7, 0xb6,
- 0x08, 0xf2, 0xdc, 0x7a, 0x90, 0x45, 0xf7, 0x18, 0xfb, 0xd9, 0x4d, 0x54, 0x90, 0x05, 0x4e, 0x72,
- 0xe2, 0x9e, 0xdb, 0x80, 0x36, 0x75, 0xee, 0xba, 0x6d, 0x0d, 0xe6, 0x95, 0xef, 0x9f, 0xaa, 0xdd,
- 0x8d, 0x0e, 0xe7, 0xac, 0x12, 0x5f, 0x4f, 0x5a, 0x0f, 0x85, 0xe7, 0xc6, 0x82, 0xdd, 0xf3, 0x1b,
- 0xc3, 0x60, 0xa4, 0xba, 0x0d, 0xa1, 0x3a, 0x3d, 0xee, 0x33, 0x04, 0xba, 0x7c, 0x6b, 0x30, 0x8f,
- 0x2c, 0x23, 0xd2, 0xb7, 0xec, 0xed, 0x01, 0xc6, 0xdc, 0xbe, 0x7e, 0x3a, 0x5c, 0x41, 0xb9, 0x5f,
- 0xaa, 0xb4, 0xd1, 0x76, 0x2f, 0xfa, 0x79, 0xb3, 0xcf, 0xd4, 0xc4, 0xe9, 0xe6, 0x78, 0x28, 0x1e,
- 0x4a, 0x20, 0xec, 0x25, 0xb4, 0x2f, 0x81, 0xf0, 0x2e, 0xa3, 0x9f, 0xdf, 0x4c, 0x49, 0x95, 0xe5,
- 0x9f, 0x46, 0xd1, 0x6d, 0xb4, 0x2c, 0x6a, 0x1c, 0x7c, 0x31, 0xd4, 0x32, 0x18, 0x0f, 0x5f, 0xde,
- 0x58, 0x4f, 0x15, 0xea, 0x5f, 0x47, 0xd1, 0x9d, 0x40, 0xa1, 0xe4, 0x00, 0xb9, 0x81, 0x75, 0x77,
- 0xa0, 0xfc, 0xf0, 0xe6, 0x8a, 0xd8, 0x72, 0x6f, 0xe3, 0x93, 0xee, 0xa7, 0x65, 0x02, 0xb6, 0x27,
- 0xf8, 0xa7, 0x65, 0xfa, 0xb5, 0xe0, 0x21, 0x0f, 0x39, 0x6f, 0x37, 0x5d, 0xde, 0x43, 0x1e, 0x71,
- 0x43, 0x0d, 0xec, 0x39, 0xd6, 0x7a, 0x39, 0x9f, 0x93, 0x57, 0xef, 0x4a, 0x52, 0xa4, 0xb8, 0x13,
- 0x29, 0xef, 0x77, 0xa2, 0x39, 0x78, 0x38, 0xd6, 0x48, 0x4f, 0x59, 0xbb, 0x91, 0x7a, 0x8c, 0xe9,
- 0x6b, 0x24, 0x78, 0x38, 0xd6, 0x41, 0x11, 0x6f, 0x2a, 0x6b, 0x0c, 0x79, 0x03, 0xc9, 0xe2, 0x93,
- 0x21, 0x28, 0x48, 0xd1, 0xb5, 0x37, 0x7d, 0xe6, 0xbe, 0x11, 0xb2, 0xd2, 0x39, 0x77, 0xdf, 0x1c,
- 0x48, 0x23, 0x6e, 0x27, 0x94, 0x7f, 0x45, 0x49, 0x4a, 0xab, 0xa0, 0x5b, 0x4d, 0x0d, 0x72, 0x6b,
- 0xd3, 0x3e, 0xb7, 0x3b, 0x2c, 0x5f, 0xcc, 0x0b, 0xd5, 0x99, 0xa8, 0x5b, 0x9b, 0xea, 0x77, 0x0b,
- 0x68, 0x78, 0x2c, 0x68, 0xdc, 0x8a, 0xf4, 0xf2, 0x49, 0xd8, 0x8c, 0x93, 0x55, 0xae, 0x0f, 0x62,
- 0xf1, 0x7a, 0xaa, 0x61, 0xd4, 0x53, 0x4f, 0x30, 0x92, 0x36, 0x07, 0xd2, 0xf0, 0x7c, 0xce, 0x72,
- 0xab, 0xc7, 0xd3, 0x56, 0x8f, 0xad, 0xce, 0x90, 0x7a, 0x3a, 0x5c, 0x01, 0x9e, 0x86, 0xaa, 0x51,
- 0x75, 0x98, 0xd5, 0x7c, 0x2f, 0xcb, 0xf3, 0xf1, 0x7a, 0x60, 0x98, 0xb4, 0x50, 0xf0, 0x34, 0xd4,
- 0x03, 0x23, 0x23, 0xb9, 0x3d, 0x3d, 0x2c, 0xc6, 0x7d, 0x76, 0x04, 0x35, 0x68, 0x24, 0xdb, 0x34,
- 0x38, 0xd1, 0xb2, 0x9a, 0x5a, 0xd7, 0x36, 0x0e, 0x37, 0x5c, 0xa7, 0xc2, 0x5b, 0x83, 0x79, 0xf0,
- 0xb8, 0x5d, 0x50, 0x62, 0x65, 0xb9, 0x8f, 0x99, 0x70, 0x56, 0x92, 0x07, 0x3d, 0x14, 0x38, 0x15,
- 0x94, 0xd3, 0xe8, 0x6d, 0x96, 0xce, 0x28, 0xf7, 0x3e, 0x29, 0xb2, 0x81, 0xe0, 0x93, 0x22, 0x00,
- 0x82, 0xae, 0x93, 0xbf, 0xeb, 0xe3, 0xd0, 0x83, 0xd4, 0xd7, 0x75, 0x4a, 0xd9, 0xa2, 0x42, 0x5d,
- 0xe7, 0xa5, 0x41, 0x34, 0xd0, 0x6e, 0xd5, 0xab, 0xf1, 0x4f, 0x42, 0x66, 0xc0, 0xfb, 0xf1, 0xeb,
- 0x83, 0x58, 0xb0, 0xa2, 0x18, 0x87, 0xd9, 0x3c, 0xe3, 0xbe, 0x15, 0xc5, 0xb2, 0xd1, 0x20, 0xa1,
- 0x15, 0xa5, 0x8b, 0x62, 0xd5, 0x6b, 0x72, 0x84, 0x83, 0x34, 0x5c, 0x3d, 0xc9, 0x0c, 0xab, 0x9e,
- 0x66, 0x3b, 0x0f, 0x36, 0x0b, 0x3d, 0x64, 0xf8, 0xa5, 0xda, 0x2c, 0x7b, 0xc6, 0xb6, 0x78, 0x65,
- 0x12, 0x82, 0xa1, 0xa8, 0x83, 0x29, 0xc0, 0x03, 0xfb, 0x86, 0x6b, 0x9f, 0xbd, 0x96, 0x25, 0x25,
- 0x15, 0x29, 0x12, 0xef, 0xe6, 0x54, 0x18, 0xec, 0x90, 0xa1, 0xcd, 0x29, 0xaa, 0x01, 0x1e, 0x9b,
- 0xbb, 0x2f, 0x3b, 0x7a, 0xa6, 0x82, 0x7e, 0xab, 0xd0, 0x7d, 0xd7, 0xf1, 0xf1, 0x00, 0x12, 0x3e,
- 0x36, 0x6f, 0x01, 0x7d, 0xf0, 0x2d, 0x9d, 0x7e, 0x16, 0x30, 0xe5, 0xa2, 0xa1, 0x8d, 0x30, 0xae,
- 0x02, 0x06, 0xb5, 0x4e, 0x70, 0x29, 0xff, 0x09, 0x5d, 0xf9, 0x06, 0xb5, 0xc9, 0x4f, 0x05, 0x12,
- 0x1a, 0xd4, 0x5d, 0x14, 0xe4, 0x99, 0xf6, 0x3e, 0xe8, 0x61, 0x40, 0xdf, 0xde, 0xfa, 0xac, 0xf5,
- 0x72, 0x60, 0xe6, 0xec, 0x66, 0x4b, 0xe7, 0x39, 0x81, 0xa7, 0xa0, 0xbb, 0xd9, 0xd2, 0xff, 0x98,
- 0x60, 0x7d, 0x10, 0x0b, 0x1f, 0xc9, 0x13, 0x4e, 0xdf, 0xb5, 0xcf, 0xca, 0x3d, 0xc5, 0x15, 0xf2,
- 0xce, 0xc3, 0xf2, 0x47, 0xfd, 0xa0, 0xb9, 0x00, 0x7b, 0x52, 0xb1, 0x84, 0xd6, 0xb5, 0xfa, 0xde,
- 0x9e, 0x7b, 0xc3, 0x48, 0xc9, 0x62, 0xf0, 0xb5, 0xbd, 0xfb, 0x61, 0x48, 0xd9, 0xfe, 0x2a, 0x7a,
- 0xff, 0x90, 0xcd, 0x26, 0xb4, 0x48, 0xc7, 0x3f, 0x70, 0xaf, 0x9c, 0xb2, 0x59, 0xdc, 0xfc, 0xac,
- 0xed, 0xdd, 0xc2, 0xc4, 0xe6, 0xd2, 0xdc, 0x2e, 0x3d, 0x5f, 0xcc, 0x26, 0x9c, 0x70, 0x70, 0x69,
- 0x4e, 0xfc, 0x1e, 0x37, 0x02, 0xe4, 0xd2, 0x9c, 0x03, 0x00, 0x7b, 0xd3, 0x8a, 0x52, 0xaf, 0xbd,
- 0x46, 0x10, 0xb4, 0xa7, 0x00, 0xb3, 0xea, 0x6a, 0x7b, 0x4d, 0x62, 0x0b, 0x2f, 0xb9, 0x19, 0x1d,
- 0x21, 0x45, 0x56, 0xdd, 0x2e, 0x65, 0x06, 0x83, 0xac, 0xbe, 0xf8, 0x62, 0xc6, 0x62, 0x3e, 0x27,
- 0xd5, 0x0a, 0x0c, 0x06, 0x55, 0x4b, 0x0b, 0x40, 0x06, 0x83, 0x17, 0x34, 0xa3, 0xbc, 0x6d, 0xe6,
- 0xe4, 0x6a, 0x9f, 0x55, 0x6c, 0xc1, 0xb3, 0x82, 0xc2, 0xaf, 0x26, 0xe8, 0x06, 0xb5, 0x19, 0x64,
- 0x94, 0x63, 0xac, 0xc9, 0x0a, 0x05, 0x21, 0xef, 0xdf, 0x89, 0xaf, 0xd6, 0xd6, 0x9c, 0x55, 0xf0,
- 0xf9, 0x9b, 0xb4, 0x02, 0x21, 0x24, 0x2b, 0x44, 0x61, 0xd0, 0xf7, 0x27, 0x59, 0x31, 0xf3, 0xf6,
- 0xfd, 0x89, 0xfd, 0xcd, 0xc7, 0x3b, 0x38, 0x60, 0xe2, 0xbb, 0x6c, 0x34, 0xf9, 0x65, 0x22, 0xf5,
- 0xee, 0xa3, 0xb7, 0xd1, 0x6d, 0x02, 0x89, 0xef, 0x7e, 0x12, 0xb8, 0x7a, 0x5d, 0xd2, 0x82, 0xa6,
- 0xed, 0x2d, 0x33, 0x9f, 0x2b, 0x87, 0x08, 0xba, 0x82, 0xa4, 0x89, 0xaa, 0x42, 0x7e, 0xba, 0x28,
- 0x4e, 0x2a, 0x76, 0x91, 0xe5, 0xb4, 0x02, 0x51, 0x55, 0xaa, 0x5b, 0x72, 0x24, 0xaa, 0xfa, 0x38,
- 0x73, 0x5d, 0x41, 0x48, 0x9d, 0x4f, 0x2f, 0x4f, 0x2b, 0x92, 0xc0, 0xeb, 0x0a, 0xd2, 0x46, 0x17,
- 0x43, 0x4e, 0xd2, 0x02, 0xb8, 0x95, 0x18, 0x48, 0xd7, 0xc5, 0x4a, 0x8c, 0x0f, 0xf5, 0xee, 0x9d,
- 0xf8, 0x12, 0x62, 0x0d, 0x12, 0x03, 0x65, 0xce, 0x47, 0x22, 0x89, 0x41, 0x58, 0xc3, 0xcc, 0xb6,
- 0x23, 0xca, 0xab, 0x2c, 0xa9, 0x27, 0x94, 0x9f, 0x90, 0x8a, 0xcc, 0x29, 0xa7, 0x15, 0x9c, 0x6d,
- 0x0a, 0x89, 0x1d, 0x06, 0x99, 0x6d, 0x18, 0xab, 0x1c, 0xfe, 0x5e, 0xf4, 0x61, 0xb3, 0xd8, 0xd0,
- 0x42, 0xfd, 0xa5, 0x82, 0x57, 0xe2, 0x4f, 0x9c, 0x8c, 0x3f, 0xd2, 0x36, 0x26, 0xbc, 0xa2, 0x64,
- 0xde, 0xda, 0xfe, 0x40, 0xff, 0x2e, 0xc0, 0xa7, 0xa3, 0x66, 0x50, 0x1c, 0x33, 0x9e, 0x5d, 0x34,
- 0x7b, 0x3b, 0xf5, 0xda, 0x0a, 0x18, 0x14, 0xb6, 0x38, 0x0e, 0x7c, 0x8c, 0xc0, 0xc7, 0x99, 0x60,
- 0x67, 0x4b, 0x4f, 0x69, 0x99, 0xc3, 0x60, 0xe7, 0x68, 0x0b, 0x00, 0x09, 0x76, 0x5e, 0xd0, 0x8c,
- 0x70, 0x5b, 0x3c, 0xa5, 0xe1, 0xca, 0x4c, 0xe9, 0xb0, 0xca, 0x4c, 0x9d, 0x37, 0x01, 0xf2, 0xe8,
- 0xc3, 0x23, 0x3a, 0x3f, 0xa7, 0x55, 0x7d, 0x99, 0x95, 0xfb, 0xcd, 0x2a, 0x4f, 0xf8, 0x02, 0xbe,
- 0x2b, 0x67, 0x88, 0x58, 0x23, 0x48, 0x2a, 0x84, 0xa0, 0x26, 0x9c, 0x1a, 0xe0, 0xa0, 0x3e, 0x26,
- 0x73, 0x2a, 0x3e, 0xad, 0x30, 0x5e, 0xc7, 0x8c, 0x58, 0x10, 0x12, 0x4e, 0x51, 0xd8, 0x7a, 0xa9,
- 0xc8, 0x30, 0xa7, 0x74, 0xd6, 0x8c, 0xb0, 0xea, 0x84, 0xac, 0xe6, 0xb4, 0xe0, 0xca, 0x24, 0x38,
- 0x08, 0xb6, 0x4c, 0xfa, 0x79, 0xe4, 0x20, 0x78, 0x88, 0x9e, 0x35, 0xbf, 0x9d, 0x86, 0x3f, 0x61,
- 0x15, 0x97, 0x7f, 0x87, 0xe4, 0xac, 0xca, 0xc1, 0xfc, 0x76, 0x1b, 0xd5, 0x21, 0x91, 0xf9, 0x1d,
- 0xd6, 0xb0, 0x3e, 0xe0, 0xed, 0x94, 0xe1, 0x0d, 0xad, 0xf4, 0x38, 0x79, 0x35, 0x27, 0x59, 0xae,
- 0x46, 0xc3, 0x8f, 0x02, 0xb6, 0x11, 0x1d, 0xe4, 0x03, 0xde, 0x43, 0x75, 0xad, 0x4f, 0x9e, 0x87,
- 0x4b, 0x08, 0xce, 0xa5, 0x7b, 0xec, 0x23, 0xe7, 0xd2, 0xfd, 0x5a, 0x66, 0xbb, 0x68, 0x58, 0xc1,
- 0xad, 0x04, 0xb1, 0xc3, 0x52, 0x78, 0x48, 0x65, 0xd9, 0x04, 0x20, 0xb2, 0x5d, 0x0c, 0x2a, 0x98,
- 0xf5, 0xd5, 0x60, 0x7b, 0x59, 0x41, 0xf2, 0xec, 0x67, 0xf0, 0x86, 0xb3, 0x65, 0xa7, 0x25, 0x90,
- 0xf5, 0xd5, 0x4f, 0xfa, 0x5c, 0xed, 0x53, 0x3e, 0xcd, 0x9a, 0xd0, 0xff, 0x28, 0xd0, 0x6e, 0x82,
- 0xe8, 0x77, 0x65, 0x91, 0xd6, 0x47, 0x3a, 0x61, 0xb3, 0x6e, 0x97, 0xe5, 0xa4, 0x59, 0x9a, 0x4e,
- 0x69, 0x42, 0xb3, 0x92, 0x8f, 0x5f, 0x84, 0xdb, 0x0a, 0xe0, 0xc8, 0xd3, 0xfd, 0x01, 0x6a, 0xd6,
- 0x33, 0xe3, 0x26, 0x96, 0x4c, 0xe4, 0x1f, 0xe8, 0x3a, 0xab, 0x69, 0xa5, 0x56, 0xeb, 0x7d, 0xca,
- 0xc1, 0xec, 0xb4, 0xb8, 0xd8, 0x02, 0x9b, 0x8a, 0x22, 0xb3, 0x33, 0xac, 0x61, 0x4e, 0x98, 0x2c,
- 0xee, 0x94, 0xd6, 0x2c, 0x5f, 0x52, 0x71, 0xc9, 0x6d, 0x03, 0x35, 0x66, 0x51, 0xc8, 0x09, 0x13,
- 0x4e, 0x9b, 0x94, 0xa7, 0xeb, 0x76, 0xbb, 0x58, 0x1d, 0xc0, 0xe7, 0xf4, 0x1e, 0x4b, 0x02, 0x43,
- 0x52, 0x9e, 0x00, 0x6e, 0x9d, 0xc0, 0x56, 0x8c, 0xa4, 0x09, 0xa9, 0xf9, 0x09, 0x59, 0xe5, 0x8c,
- 0xa4, 0x62, 0x5d, 0x87, 0x27, 0xb0, 0x2d, 0x13, 0xdb, 0x10, 0x76, 0x02, 0x8b, 0xc1, 0x66, 0x77,
- 0xa9, 0xfe, 0xee, 0x98, 0xba, 0x40, 0x78, 0x0f, 0xa4, 0x49, 0xa2, 0xbc, 0xf0, 0xf2, 0xe0, 0xfd,
- 0x30, 0x64, 0x5e, 0x7c, 0x92, 0x22, 0x91, 0x86, 0xdc, 0xf1, 0xe9, 0x38, 0x09, 0xc8, 0xa7, 0x01,
- 0xc2, 0x7c, 0x0c, 0x41, 0xfe, 0xde, 0xfe, 0xe9, 0x0c, 0xae, 0x3e, 0x65, 0xbc, 0xe1, 0xd3, 0xb5,
- 0xa1, 0xd8, 0xfe, 0xc2, 0xd9, 0xe6, 0x40, 0xda, 0x6c, 0x1e, 0x77, 0x2e, 0x09, 0xdf, 0x4e, 0xd3,
- 0x23, 0x5a, 0x7b, 0xde, 0x62, 0x6e, 0x84, 0xb1, 0x91, 0x22, 0x9b, 0xc7, 0x2e, 0x65, 0x06, 0x7a,
- 0x23, 0x7b, 0x95, 0x66, 0x5c, 0xc9, 0xda, 0x6b, 0xb9, 0x1b, 0x5d, 0x03, 0x5d, 0x0a, 0xa9, 0x15,
- 0x4e, 0x9b, 0x58, 0xde, 0x30, 0x53, 0x36, 0x9b, 0xe5, 0x54, 0x41, 0xa7, 0x94, 0xc8, 0x2f, 0xb9,
- 0x6d, 0x75, 0x6d, 0x79, 0x41, 0x24, 0x96, 0x07, 0x15, 0x4c, 0x1a, 0xd9, 0x60, 0xf2, 0x39, 0x48,
- 0xdb, 0xb0, 0x6b, 0x5d, 0x33, 0x0e, 0x80, 0xa4, 0x91, 0x5e, 0xd0, 0xbc, 0x6c, 0xd5, 0x88, 0xf7,
- 0x69, 0xdb, 0x12, 0xf0, 0xbb, 0x37, 0x42, 0xd9, 0x12, 0x23, 0x2f, 0x5b, 0x79, 0x30, 0xb3, 0x4f,
- 0x00, 0x1e, 0x5e, 0xae, 0x0e, 0x52, 0xb8, 0x4f, 0x80, 0xfa, 0x82, 0x41, 0xf6, 0x09, 0x18, 0xeb,
- 0x76, 0x9d, 0xfe, 0xc8, 0xef, 0x21, 0xa9, 0x4d, 0xe5, 0x3c, 0x5d, 0xe7, 0x05, 0x43, 0x5d, 0x87,
- 0x29, 0xb8, 0x4d, 0x6a, 0x7f, 0x42, 0xd8, 0xd3, 0xa4, 0xbe, 0x4f, 0x07, 0x3f, 0xec, 0xc3, 0x4c,
- 0x5c, 0xd2, 0x9b, 0x32, 0x71, 0x4f, 0xc6, 0xff, 0x09, 0x77, 0x29, 0x44, 0xe2, 0x52, 0x07, 0x92,
- 0xb6, 0x5f, 0x7e, 0xfa, 0x5f, 0xdf, 0xdc, 0x1a, 0xfd, 0xe2, 0x9b, 0x5b, 0xa3, 0xff, 0xf9, 0xe6,
- 0xd6, 0xe8, 0xe7, 0xdf, 0xde, 0x7a, 0xef, 0x17, 0xdf, 0xde, 0x7a, 0xef, 0xbf, 0xbf, 0xbd, 0xf5,
- 0xde, 0xd7, 0xef, 0xab, 0xbf, 0x47, 0x79, 0xfe, 0xff, 0xc4, 0x5f, 0x95, 0x7c, 0xfe, 0x7f, 0x01,
- 0x00, 0x00, 0xff, 0xff, 0xe5, 0xb3, 0x13, 0x72, 0xb3, 0x72, 0x00, 0x00,
+ // 5189 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x9d, 0xdd, 0x6f, 0x1d, 0x49,
+ 0x56, 0xc0, 0xc7, 0x2f, 0x0c, 0xf4, 0xb2, 0x03, 0xdc, 0x81, 0x61, 0x76, 0xd8, 0xcd, 0xd7, 0x24,
+ 0x71, 0x12, 0xdb, 0xd7, 0x99, 0x64, 0x32, 0xb3, 0xda, 0x45, 0x42, 0x8e, 0x1d, 0x7b, 0xcc, 0xda,
+ 0x8e, 0xf1, 0xb5, 0x13, 0x69, 0x24, 0x24, 0xca, 0xdd, 0xe5, 0xeb, 0xc6, 0x7d, 0xbb, 0x7a, 0xbb,
+ 0xeb, 0x5e, 0xe7, 0x2e, 0x02, 0x81, 0x40, 0x20, 0x10, 0x88, 0x15, 0x5f, 0xaf, 0x48, 0xfc, 0x35,
+ 0x3c, 0xee, 0x23, 0x8f, 0x68, 0x46, 0xfc, 0x1f, 0xa8, 0xeb, 0xbb, 0x4e, 0xd7, 0xa9, 0x6e, 0xef,
+ 0x53, 0xa2, 0x7b, 0x7e, 0xe7, 0x9c, 0xfa, 0x3c, 0x75, 0xaa, 0xba, 0xba, 0x9d, 0xdc, 0xae, 0xce,
+ 0x37, 0xab, 0x9a, 0x71, 0xd6, 0x6c, 0x36, 0xb4, 0x5e, 0xe4, 0x29, 0xd5, 0xff, 0x8e, 0xc5, 0xcf,
+ 0xa3, 0xf7, 0x49, 0xb9, 0xe4, 0xcb, 0x8a, 0x7e, 0xf2, 0xb1, 0x25, 0x53, 0x36, 0x9b, 0x91, 0x32,
+ 0x6b, 0x24, 0xf2, 0xc9, 0x47, 0x56, 0x42, 0x17, 0xb4, 0xe4, 0xea, 0xf7, 0x67, 0xdf, 0xfe, 0xdf,
+ 0x4a, 0xf2, 0xc1, 0x76, 0x91, 0xd3, 0x92, 0x6f, 0x2b, 0x8d, 0xd1, 0xd7, 0xc9, 0x77, 0xb7, 0xaa,
+ 0x6a, 0x8f, 0xf2, 0x37, 0xb4, 0x6e, 0x72, 0x56, 0x8e, 0x3e, 0x1d, 0x2b, 0x07, 0xe3, 0x93, 0x2a,
+ 0x1d, 0x6f, 0x55, 0xd5, 0xd8, 0x0a, 0xc7, 0x27, 0xf4, 0xa7, 0x73, 0xda, 0xf0, 0x4f, 0xee, 0xc7,
+ 0xa1, 0xa6, 0x62, 0x65, 0x43, 0x47, 0x17, 0xc9, 0x6f, 0x6d, 0x55, 0xd5, 0x84, 0xf2, 0x1d, 0xda,
+ 0x56, 0x60, 0xc2, 0x09, 0xa7, 0xa3, 0xd5, 0x8e, 0xaa, 0x0f, 0x18, 0x1f, 0x8f, 0xfa, 0x41, 0xe5,
+ 0xe7, 0x34, 0xf9, 0x4e, 0xeb, 0xe7, 0x72, 0xce, 0x33, 0x76, 0x5d, 0x8e, 0xee, 0x76, 0x15, 0x95,
+ 0xc8, 0xd8, 0xbe, 0x17, 0x43, 0x94, 0xd5, 0xb7, 0xc9, 0xaf, 0xbf, 0x25, 0x45, 0x41, 0xf9, 0x76,
+ 0x4d, 0xdb, 0x82, 0xfb, 0x3a, 0x52, 0x34, 0x96, 0x32, 0x63, 0xf7, 0xd3, 0x28, 0xa3, 0x0c, 0x7f,
+ 0x9d, 0x7c, 0x57, 0x4a, 0x4e, 0x68, 0xca, 0x16, 0xb4, 0x1e, 0x05, 0xb5, 0x94, 0x10, 0x69, 0xf2,
+ 0x0e, 0x04, 0x6d, 0x6f, 0xb3, 0x72, 0x41, 0x6b, 0x1e, 0xb6, 0xad, 0x84, 0x71, 0xdb, 0x16, 0x52,
+ 0xb6, 0xff, 0x7e, 0x25, 0xf9, 0xfe, 0x56, 0x9a, 0xb2, 0x79, 0xc9, 0x0f, 0x58, 0x4a, 0x8a, 0x83,
+ 0xbc, 0xbc, 0x3a, 0xa2, 0xd7, 0xdb, 0x97, 0x2d, 0x5f, 0x4e, 0xe9, 0xe8, 0xb9, 0xdf, 0xaa, 0x12,
+ 0x1d, 0x1b, 0x76, 0xec, 0xc2, 0xc6, 0xf7, 0xe7, 0x37, 0x53, 0x52, 0x65, 0xf9, 0xe7, 0x95, 0xe4,
+ 0x16, 0x2c, 0xcb, 0x84, 0x15, 0x0b, 0x6a, 0x4b, 0xf3, 0xa2, 0xc7, 0xb0, 0x8f, 0x9b, 0xf2, 0x7c,
+ 0x71, 0x53, 0x35, 0x55, 0xa2, 0x22, 0xf9, 0xd0, 0x1d, 0x2e, 0x13, 0xda, 0x88, 0xe9, 0xf4, 0x18,
+ 0x1f, 0x11, 0x0a, 0x31, 0x9e, 0x9f, 0x0c, 0x41, 0x95, 0xb7, 0x3c, 0x19, 0x29, 0x6f, 0x05, 0x6b,
+ 0x8c, 0xb3, 0x47, 0x41, 0x0b, 0x0e, 0x61, 0x7c, 0x3d, 0x1e, 0x40, 0x2a, 0x57, 0x7f, 0x92, 0xfc,
+ 0xc6, 0x5b, 0x56, 0x5f, 0x35, 0x15, 0x49, 0xa9, 0x9a, 0x0a, 0x0f, 0x7c, 0x6d, 0x2d, 0x85, 0xb3,
+ 0xe1, 0x61, 0x1f, 0xe6, 0x0c, 0x5a, 0x2d, 0x7c, 0x5d, 0x51, 0x18, 0x83, 0xac, 0x62, 0x2b, 0xc4,
+ 0x06, 0x2d, 0x84, 0x94, 0xed, 0xab, 0x64, 0x64, 0x6d, 0x9f, 0xff, 0x29, 0x4d, 0xf9, 0x56, 0x96,
+ 0xc1, 0x5e, 0xb1, 0xba, 0x82, 0x18, 0x6f, 0x65, 0x19, 0xd6, 0x2b, 0x61, 0x54, 0x39, 0xbb, 0x4e,
+ 0x3e, 0x02, 0xce, 0x0e, 0xf2, 0x46, 0x38, 0xdc, 0x88, 0x5b, 0x51, 0x98, 0x71, 0x3a, 0x1e, 0x8a,
+ 0x2b, 0xc7, 0x7f, 0xb9, 0x92, 0x7c, 0x2f, 0xe0, 0xf9, 0x84, 0xce, 0xd8, 0x82, 0x8e, 0x9e, 0xf6,
+ 0x5b, 0x93, 0xa4, 0xf1, 0xff, 0xd9, 0x0d, 0x34, 0x02, 0xc3, 0x64, 0x42, 0x0b, 0x9a, 0x72, 0x74,
+ 0x98, 0x48, 0x71, 0xef, 0x30, 0x31, 0x98, 0x33, 0xc3, 0xb4, 0x70, 0x8f, 0xf2, 0xed, 0x79, 0x5d,
+ 0xd3, 0x92, 0xa3, 0x7d, 0x69, 0x91, 0xde, 0xbe, 0xf4, 0xd0, 0x40, 0x7d, 0xf6, 0x28, 0xdf, 0x2a,
+ 0x0a, 0xb4, 0x3e, 0x52, 0xdc, 0x5b, 0x1f, 0x83, 0x29, 0x0f, 0x69, 0xf2, 0x9b, 0x4e, 0x8b, 0xf1,
+ 0xfd, 0xf2, 0x82, 0x8d, 0xf0, 0xb6, 0x10, 0x72, 0xe3, 0x63, 0xb5, 0x97, 0x0b, 0x54, 0xe3, 0xd5,
+ 0xbb, 0x8a, 0xd5, 0x78, 0xb7, 0x48, 0x71, 0x6f, 0x35, 0x0c, 0xa6, 0x3c, 0xfc, 0x71, 0xf2, 0x81,
+ 0x8a, 0x92, 0x7a, 0x3d, 0xbb, 0x1f, 0x0c, 0xa1, 0x70, 0x41, 0x7b, 0xd0, 0x43, 0xd9, 0xe0, 0xa0,
+ 0x64, 0x2a, 0xf8, 0x7c, 0x1a, 0xd4, 0x03, 0xa1, 0xe7, 0x7e, 0x1c, 0xea, 0xd8, 0xde, 0xa1, 0x05,
+ 0x45, 0x6d, 0x4b, 0x61, 0x8f, 0x6d, 0x03, 0x29, 0xdb, 0x75, 0xf2, 0x3b, 0xa6, 0x59, 0xda, 0x75,
+ 0x54, 0xc8, 0xdb, 0x20, 0xbd, 0x86, 0xd4, 0xdb, 0x85, 0x8c, 0xaf, 0xf5, 0x61, 0x70, 0xa7, 0x3e,
+ 0x6a, 0x06, 0x86, 0xeb, 0x03, 0xe6, 0xdf, 0xfd, 0x38, 0xa4, 0x6c, 0xff, 0xc3, 0x4a, 0xf2, 0x03,
+ 0x25, 0x7b, 0x55, 0x92, 0xf3, 0x82, 0x8a, 0x25, 0xf1, 0x88, 0xf2, 0x6b, 0x56, 0x5f, 0x4d, 0x96,
+ 0x65, 0x8a, 0x2c, 0xff, 0x61, 0xb8, 0x67, 0xf9, 0x47, 0x95, 0x9c, 0x8c, 0x4f, 0x55, 0x94, 0xb3,
+ 0x0a, 0x66, 0x7c, 0xba, 0x06, 0x9c, 0x55, 0x58, 0xc6, 0xe7, 0x23, 0x1d, 0xab, 0x87, 0x6d, 0xd8,
+ 0x0c, 0x5b, 0x3d, 0x74, 0xe3, 0xe4, 0xbd, 0x18, 0x62, 0xc3, 0x96, 0x1e, 0xc0, 0xac, 0xbc, 0xc8,
+ 0xa7, 0x67, 0x55, 0xd6, 0x0e, 0xe3, 0xc7, 0xe1, 0x11, 0xea, 0x20, 0x48, 0xd8, 0x42, 0x50, 0xe5,
+ 0xed, 0x9f, 0x6c, 0x62, 0xa4, 0xa6, 0xd2, 0x6e, 0xcd, 0x66, 0x07, 0x74, 0x4a, 0xd2, 0xa5, 0x9a,
+ 0xff, 0x9f, 0xc7, 0x26, 0x1e, 0xa4, 0x4d, 0x21, 0x5e, 0xdc, 0x50, 0x4b, 0x95, 0xe7, 0x3f, 0x57,
+ 0x92, 0xfb, 0xba, 0xfa, 0x97, 0xa4, 0x9c, 0x52, 0xd5, 0x9f, 0xb2, 0xf4, 0x5b, 0x65, 0x76, 0x42,
+ 0x1b, 0x4e, 0x6a, 0x3e, 0xfa, 0x51, 0xb8, 0x92, 0x31, 0x1d, 0x53, 0xb6, 0x1f, 0xff, 0x52, 0xba,
+ 0xb6, 0xd7, 0x27, 0x6d, 0x60, 0x53, 0x21, 0xc0, 0xef, 0x75, 0x21, 0x81, 0x01, 0xe0, 0x5e, 0x0c,
+ 0xb1, 0xbd, 0x2e, 0x04, 0xfb, 0xe5, 0x22, 0xe7, 0x74, 0x8f, 0x96, 0xb4, 0xee, 0xf6, 0xba, 0x54,
+ 0xf5, 0x11, 0xa4, 0xd7, 0x11, 0xd4, 0x06, 0x1b, 0xcf, 0x9b, 0x59, 0x1c, 0xd7, 0x22, 0x46, 0x3a,
+ 0xcb, 0xe3, 0xfa, 0x30, 0xd8, 0xee, 0xee, 0x1c, 0x9f, 0x27, 0x74, 0xc1, 0xae, 0xe0, 0xee, 0xce,
+ 0x35, 0x21, 0x01, 0x64, 0x77, 0x17, 0x04, 0xed, 0x0a, 0xe6, 0xf8, 0x79, 0x93, 0xd3, 0x6b, 0xb0,
+ 0x82, 0xb9, 0xca, 0xad, 0x18, 0x59, 0xc1, 0x02, 0x98, 0xf2, 0x70, 0x94, 0xfc, 0x9a, 0x10, 0xfe,
+ 0x21, 0xcb, 0xcb, 0xd1, 0xed, 0x80, 0x52, 0x2b, 0x30, 0x56, 0xef, 0xe0, 0x00, 0x28, 0x71, 0xfb,
+ 0xeb, 0x36, 0x29, 0x53, 0x5a, 0x04, 0x4b, 0x6c, 0xc5, 0xd1, 0x12, 0x7b, 0x98, 0x4d, 0x1d, 0x84,
+ 0xb0, 0x8d, 0x5f, 0x93, 0x4b, 0x52, 0xe7, 0xe5, 0x74, 0x14, 0xd2, 0x75, 0xe4, 0x48, 0xea, 0x10,
+ 0xe2, 0xc0, 0x10, 0x56, 0x8a, 0x5b, 0x55, 0x55, 0xb7, 0x61, 0x31, 0x34, 0x84, 0x7d, 0x24, 0x3a,
+ 0x84, 0x3b, 0x68, 0xd8, 0xdb, 0x0e, 0x4d, 0x8b, 0xbc, 0x8c, 0x7a, 0x53, 0xc8, 0x10, 0x6f, 0x16,
+ 0x05, 0x83, 0xf7, 0x80, 0x92, 0x05, 0xd5, 0x35, 0x0b, 0xb5, 0x8c, 0x0b, 0x44, 0x07, 0x2f, 0x00,
+ 0xed, 0x3e, 0x4d, 0x88, 0x0f, 0xc9, 0x15, 0x6d, 0x1b, 0x98, 0xb6, 0xeb, 0xda, 0x28, 0xa4, 0xef,
+ 0x11, 0xc8, 0x3e, 0x2d, 0x4c, 0x2a, 0x57, 0xf3, 0xe4, 0x23, 0x21, 0x3f, 0x26, 0x35, 0xcf, 0xd3,
+ 0xbc, 0x22, 0xa5, 0xce, 0xff, 0x43, 0xf3, 0xba, 0x43, 0x19, 0x97, 0x1b, 0x03, 0x69, 0xe5, 0xf6,
+ 0x3f, 0x56, 0x92, 0xbb, 0xd0, 0xef, 0x31, 0xad, 0x67, 0xb9, 0xd8, 0x46, 0x36, 0x32, 0x08, 0x8f,
+ 0xbe, 0x8c, 0x1b, 0xed, 0x28, 0x98, 0xd2, 0xfc, 0xf0, 0xe6, 0x8a, 0xaa, 0x60, 0x7f, 0x94, 0x24,
+ 0x72, 0xbb, 0x22, 0xb6, 0x94, 0xfe, 0xac, 0x55, 0xfb, 0x18, 0x6f, 0x3f, 0x79, 0x37, 0x42, 0xd8,
+ 0xa5, 0x42, 0xfe, 0x2e, 0x76, 0xca, 0xa3, 0xa0, 0x86, 0x10, 0x21, 0x4b, 0x05, 0x40, 0x60, 0x41,
+ 0x27, 0x97, 0xec, 0x3a, 0x5c, 0xd0, 0x56, 0x12, 0x2f, 0xa8, 0x22, 0xec, 0xd9, 0x95, 0x2a, 0x68,
+ 0xe8, 0xec, 0x4a, 0x17, 0x23, 0x76, 0x76, 0x05, 0x19, 0x65, 0x98, 0x25, 0xbf, 0xed, 0x1a, 0x7e,
+ 0xc9, 0xd8, 0xd5, 0x8c, 0xd4, 0x57, 0xa3, 0x27, 0xb8, 0xb2, 0x66, 0x8c, 0xa3, 0xb5, 0x41, 0xac,
+ 0x0d, 0x0b, 0xae, 0xc3, 0x36, 0xd1, 0x38, 0xab, 0x0b, 0x10, 0x16, 0x3c, 0x1b, 0x0a, 0x41, 0xc2,
+ 0x02, 0x82, 0xda, 0xc8, 0xed, 0x7a, 0x9b, 0x50, 0xb8, 0x5b, 0xf2, 0xd4, 0x27, 0x14, 0xdb, 0x2d,
+ 0x05, 0x30, 0x38, 0x84, 0xf6, 0x6a, 0x52, 0x5d, 0x86, 0x87, 0x90, 0x10, 0xc5, 0x87, 0x90, 0x46,
+ 0x60, 0x7f, 0x4f, 0x28, 0xa9, 0xd3, 0xcb, 0x70, 0x7f, 0x4b, 0x59, 0xbc, 0xbf, 0x0d, 0x03, 0xfb,
+ 0x5b, 0x0a, 0xde, 0xe6, 0xfc, 0xf2, 0x90, 0x72, 0x12, 0xee, 0x6f, 0x9f, 0x89, 0xf7, 0x77, 0x87,
+ 0xb5, 0x99, 0x8c, 0xeb, 0x70, 0x32, 0x3f, 0x6f, 0xd2, 0x3a, 0x3f, 0xa7, 0xa3, 0x88, 0x15, 0x03,
+ 0x21, 0x99, 0x0c, 0x0a, 0x2b, 0x9f, 0x3f, 0x5f, 0x49, 0x6e, 0xeb, 0x6e, 0x67, 0x4d, 0x23, 0x57,
+ 0x56, 0xe0, 0xfe, 0x45, 0xb8, 0x7f, 0x11, 0x1c, 0x39, 0x4d, 0x1c, 0xa0, 0xe6, 0x44, 0xd5, 0x70,
+ 0x91, 0xce, 0xca, 0xc6, 0x14, 0xea, 0xcb, 0x21, 0xd6, 0x1d, 0x05, 0x24, 0xaa, 0x0e, 0x52, 0xb4,
+ 0x0b, 0x9a, 0xea, 0x1f, 0x2d, 0xdb, 0xcf, 0x1a, 0xb0, 0xa0, 0xe9, 0xf6, 0x76, 0x08, 0x64, 0x41,
+ 0x0b, 0x93, 0x70, 0x28, 0xec, 0xd5, 0x6c, 0x5e, 0x35, 0x3d, 0x43, 0x01, 0x40, 0xf1, 0xa1, 0xd0,
+ 0x85, 0x95, 0xcf, 0x77, 0xc9, 0xef, 0xba, 0xc3, 0xcf, 0x6d, 0xec, 0x0d, 0x7c, 0x4c, 0x85, 0x9a,
+ 0x78, 0x3c, 0x14, 0xb7, 0x29, 0x9d, 0xf6, 0xcc, 0x77, 0x28, 0x27, 0x79, 0xd1, 0x8c, 0x1e, 0x86,
+ 0x6d, 0x68, 0x39, 0x92, 0xd2, 0x85, 0x38, 0x18, 0xdf, 0x76, 0xe6, 0x55, 0x91, 0xa7, 0xdd, 0xb3,
+ 0x5c, 0xa5, 0x6b, 0xc4, 0xf1, 0xf8, 0xe6, 0x62, 0x30, 0x5e, 0x4f, 0x28, 0x97, 0xff, 0x39, 0x5d,
+ 0x56, 0x34, 0x1c, 0xaf, 0x3d, 0x24, 0x1e, 0xaf, 0x21, 0x0a, 0xeb, 0x33, 0xa1, 0xfc, 0x80, 0x2c,
+ 0xd9, 0x1c, 0x89, 0xd7, 0x46, 0x1c, 0xaf, 0x8f, 0x8b, 0xd9, 0xac, 0xca, 0x78, 0xd8, 0x2f, 0x39,
+ 0xad, 0x4b, 0x52, 0xec, 0x16, 0x64, 0xda, 0x8c, 0x90, 0x18, 0xe3, 0x53, 0x48, 0x56, 0x85, 0xd3,
+ 0x81, 0x66, 0xdc, 0x6f, 0x76, 0xc9, 0x82, 0xd5, 0x39, 0xc7, 0x9b, 0xd1, 0x22, 0xbd, 0xcd, 0xe8,
+ 0xa1, 0x41, 0x6f, 0x5b, 0x75, 0x7a, 0x99, 0x2f, 0x68, 0x16, 0xf1, 0xa6, 0x91, 0x01, 0xde, 0x1c,
+ 0x34, 0xd0, 0x69, 0x13, 0x36, 0xaf, 0x53, 0x8a, 0x76, 0x9a, 0x14, 0xf7, 0x76, 0x9a, 0xc1, 0x94,
+ 0x87, 0xbf, 0x59, 0x49, 0x7e, 0x4f, 0x4a, 0xdd, 0x03, 0xd6, 0x1d, 0xd2, 0x5c, 0x9e, 0x33, 0x52,
+ 0x67, 0xa3, 0xcf, 0x42, 0x76, 0x82, 0xa8, 0x71, 0xfd, 0xec, 0x26, 0x2a, 0xb0, 0x59, 0x0f, 0xf2,
+ 0xc6, 0x99, 0x71, 0xc1, 0x66, 0xf5, 0x90, 0x78, 0xb3, 0x42, 0x14, 0x06, 0x10, 0x21, 0x97, 0x87,
+ 0x19, 0x0f, 0x51, 0x7d, 0xff, 0x44, 0x63, 0xb5, 0x97, 0x83, 0xf1, 0xb1, 0x15, 0xfa, 0xa3, 0x65,
+ 0x03, 0xb3, 0x11, 0x1e, 0x31, 0xe3, 0xa1, 0x38, 0xea, 0xd9, 0xcc, 0x8a, 0xb8, 0xe7, 0xce, 0xcc,
+ 0x18, 0x0f, 0xc5, 0x11, 0xcf, 0x4e, 0x58, 0x8b, 0x79, 0x0e, 0x84, 0xb6, 0xf1, 0x50, 0x1c, 0x66,
+ 0x5f, 0x8a, 0xd1, 0xeb, 0xc2, 0x93, 0x88, 0x1d, 0xb8, 0x36, 0xac, 0x0d, 0x62, 0x95, 0xc3, 0xbf,
+ 0x5b, 0x49, 0xbe, 0x6f, 0x3d, 0x1e, 0xb2, 0x2c, 0xbf, 0x58, 0x4a, 0xe8, 0x0d, 0x29, 0xe6, 0xb4,
+ 0x19, 0x3d, 0xc3, 0xac, 0x75, 0x59, 0x53, 0x82, 0xe7, 0x37, 0xd2, 0x81, 0x73, 0x67, 0xab, 0xaa,
+ 0x8a, 0xe5, 0x29, 0x9d, 0x55, 0x05, 0x3a, 0x77, 0x3c, 0x24, 0x3e, 0x77, 0x20, 0x0a, 0xb3, 0xf2,
+ 0x53, 0xd6, 0xe6, 0xfc, 0xc1, 0xac, 0x5c, 0x88, 0xe2, 0x59, 0xb9, 0x46, 0x60, 0xae, 0x74, 0xca,
+ 0xb6, 0x59, 0x51, 0xd0, 0x94, 0x77, 0x1f, 0xd2, 0x1a, 0x4d, 0x4b, 0xc4, 0x73, 0x25, 0x40, 0xda,
+ 0xf3, 0x0c, 0xbd, 0x87, 0x24, 0x35, 0x7d, 0xb9, 0x3c, 0xc8, 0xcb, 0xab, 0x51, 0x38, 0x2d, 0xb0,
+ 0x00, 0x72, 0x9e, 0x11, 0x04, 0xe1, 0x5e, 0xf5, 0xac, 0xcc, 0x58, 0x78, 0xaf, 0xda, 0x4a, 0xe2,
+ 0x7b, 0x55, 0x45, 0x40, 0x93, 0x27, 0x14, 0x33, 0xd9, 0x4a, 0xe2, 0x26, 0x15, 0x11, 0x0a, 0x85,
+ 0xea, 0xd4, 0x1b, 0x0d, 0x85, 0xe0, 0x9c, 0x7b, 0xb5, 0x97, 0x83, 0x23, 0x54, 0x6f, 0x5a, 0x77,
+ 0x29, 0x4f, 0x2f, 0xc3, 0x23, 0xd4, 0x43, 0xe2, 0x23, 0x14, 0xa2, 0xb0, 0x4a, 0xa7, 0xcc, 0x6c,
+ 0xba, 0x1f, 0x86, 0xc7, 0x47, 0x67, 0xc3, 0xbd, 0xda, 0xcb, 0xc1, 0x6d, 0xe4, 0xfe, 0x4c, 0xb4,
+ 0x59, 0x70, 0x90, 0x4b, 0x59, 0x7c, 0x1b, 0x69, 0x18, 0x58, 0x7a, 0x29, 0x68, 0x9b, 0x33, 0x5c,
+ 0x7a, 0x2b, 0x8f, 0x97, 0xde, 0xe3, 0x94, 0x93, 0x7f, 0x33, 0xdb, 0x38, 0x29, 0x3d, 0x62, 0xed,
+ 0x1c, 0x79, 0x43, 0x8a, 0x3c, 0x23, 0x9c, 0x9e, 0xb2, 0x2b, 0x5a, 0x86, 0x77, 0x4c, 0xaa, 0xb4,
+ 0x92, 0x1f, 0x7b, 0x0a, 0xf1, 0x1d, 0x53, 0x5c, 0x11, 0x8e, 0x13, 0x49, 0x9f, 0x35, 0x74, 0x9b,
+ 0x34, 0x48, 0x24, 0xf3, 0x90, 0xf8, 0x38, 0x81, 0x28, 0xcc, 0x57, 0xa5, 0xfc, 0xd5, 0xbb, 0x8a,
+ 0xd6, 0x39, 0x2d, 0x53, 0x1a, 0xce, 0x57, 0x21, 0x15, 0xcf, 0x57, 0x03, 0x74, 0xe7, 0x98, 0xc6,
+ 0x04, 0xa7, 0xee, 0x3d, 0x0b, 0x48, 0x44, 0xee, 0x59, 0x20, 0x28, 0xac, 0xa4, 0x05, 0x82, 0x47,
+ 0x9d, 0x1d, 0x2b, 0xd1, 0xa3, 0x4e, 0x9c, 0xee, 0x1c, 0x7e, 0x19, 0x66, 0xd2, 0x4e, 0x93, 0x9e,
+ 0xa2, 0x4f, 0xdc, 0xe9, 0xb2, 0x36, 0x88, 0x0d, 0x9f, 0xb6, 0x9d, 0xd0, 0x82, 0x88, 0x25, 0x24,
+ 0x72, 0xa4, 0xa5, 0x99, 0x21, 0xa7, 0x6d, 0x0e, 0xab, 0x1c, 0xfe, 0xd5, 0x4a, 0xf2, 0x49, 0xc8,
+ 0xe3, 0xeb, 0x4a, 0xf8, 0x7d, 0xda, 0x6f, 0x4b, 0x92, 0xc8, 0x45, 0x92, 0xb8, 0x86, 0x2a, 0xc3,
+ 0x9f, 0x25, 0x1f, 0x6b, 0x91, 0xbd, 0x67, 0xa2, 0x0a, 0xe0, 0x27, 0x50, 0xa6, 0xfc, 0x90, 0x33,
+ 0xee, 0x37, 0x07, 0xf3, 0x76, 0x6f, 0xe2, 0x97, 0xab, 0x01, 0x7b, 0x13, 0x63, 0x43, 0x89, 0x91,
+ 0xbd, 0x49, 0x00, 0xb3, 0xa7, 0x1a, 0x6e, 0xf5, 0xde, 0xe6, 0xfc, 0x52, 0xe4, 0x3e, 0xe0, 0x54,
+ 0xc3, 0x2b, 0xab, 0x81, 0x90, 0x53, 0x0d, 0x14, 0x86, 0xd9, 0x81, 0x06, 0xdb, 0xb9, 0x19, 0x8a,
+ 0xab, 0xc6, 0x90, 0x3b, 0x33, 0x1f, 0xf5, 0x83, 0x70, 0xbc, 0x6a, 0xb1, 0xda, 0x86, 0x3c, 0x89,
+ 0x59, 0x00, 0x5b, 0x91, 0xb5, 0x41, 0xac, 0x72, 0xf8, 0x17, 0xc9, 0xf7, 0x3a, 0x15, 0xdb, 0xa5,
+ 0x84, 0xcf, 0x6b, 0x9a, 0x8d, 0x36, 0x7b, 0xca, 0xad, 0x41, 0xe3, 0xfa, 0xe9, 0x70, 0x85, 0x4e,
+ 0xbe, 0xac, 0x39, 0x39, 0xac, 0x4c, 0x19, 0x9e, 0xc5, 0x4c, 0xfa, 0x6c, 0x34, 0x5f, 0xc6, 0x75,
+ 0x3a, 0x5b, 0x5e, 0x77, 0x74, 0x6d, 0x2d, 0x48, 0x5e, 0x88, 0x47, 0x4e, 0x9f, 0xc5, 0x8c, 0x7a,
+ 0x68, 0x74, 0xcb, 0x8b, 0xaa, 0x74, 0x22, 0xb3, 0x98, 0xe3, 0xce, 0x56, 0x69, 0x1d, 0x8f, 0x04,
+ 0x81, 0x9d, 0xd2, 0xc6, 0x40, 0x5a, 0xb9, 0xe5, 0xfa, 0xa8, 0xb0, 0xfd, 0xd9, 0x1d, 0xe4, 0x21,
+ 0xaf, 0x4a, 0x35, 0x30, 0xd2, 0x37, 0x06, 0xd2, 0xca, 0xeb, 0x9f, 0x27, 0x1f, 0x77, 0xbd, 0xaa,
+ 0x85, 0x68, 0xb3, 0xd7, 0x14, 0x58, 0x8b, 0x9e, 0x0e, 0x57, 0xb0, 0xdb, 0x8b, 0xaf, 0xf2, 0x86,
+ 0xb3, 0x7a, 0x39, 0xb9, 0x64, 0xd7, 0xfa, 0xfe, 0xb6, 0x3f, 0x5b, 0x15, 0x30, 0x76, 0x08, 0x64,
+ 0x7b, 0x11, 0x26, 0x3b, 0xae, 0xec, 0x3d, 0xef, 0x06, 0x71, 0xe5, 0x10, 0x3d, 0xae, 0x7c, 0xd2,
+ 0xc6, 0x2a, 0x5d, 0x2b, 0x7b, 0x29, 0x7d, 0x35, 0x5c, 0xd4, 0xee, 0xc5, 0xf4, 0x47, 0xfd, 0xa0,
+ 0xcd, 0x58, 0x94, 0x78, 0x27, 0xbf, 0xb8, 0x30, 0x75, 0x0a, 0x97, 0xd4, 0x45, 0x90, 0x8c, 0x05,
+ 0x41, 0x6d, 0x02, 0xbc, 0x9b, 0x17, 0x54, 0x9c, 0xae, 0xbf, 0xbe, 0xb8, 0x28, 0x18, 0xc9, 0x40,
+ 0x02, 0xdc, 0x8a, 0xc7, 0xae, 0x1c, 0x49, 0x80, 0x43, 0x9c, 0xbd, 0xfe, 0xd5, 0x4a, 0x4f, 0x68,
+ 0xca, 0xca, 0x34, 0x2f, 0xe0, 0x75, 0x36, 0xa1, 0x69, 0x84, 0xc8, 0xf5, 0xaf, 0x0e, 0x64, 0x17,
+ 0xc6, 0x56, 0xd4, 0x4e, 0x7b, 0x5d, 0xfe, 0x07, 0x5d, 0x45, 0x47, 0x8c, 0x2c, 0x8c, 0x01, 0xcc,
+ 0xee, 0x03, 0x5b, 0xe1, 0x59, 0x25, 0x8c, 0xdf, 0xe9, 0x6a, 0x49, 0x09, 0xb2, 0x0f, 0xf4, 0x09,
+ 0xbb, 0x9f, 0x69, 0x7f, 0xdf, 0x61, 0xd7, 0xa5, 0x30, 0x7a, 0xaf, 0xab, 0xa2, 0x65, 0xc8, 0x7e,
+ 0x06, 0x32, 0xca, 0xf0, 0x4f, 0x92, 0x5f, 0x15, 0x86, 0x6b, 0x56, 0x8d, 0x6e, 0x05, 0x14, 0x6a,
+ 0xe7, 0xe6, 0xd9, 0x6d, 0x54, 0x6e, 0x2f, 0x50, 0x9a, 0xb1, 0x71, 0xd6, 0x90, 0x29, 0x1d, 0xdd,
+ 0x47, 0x7a, 0x5c, 0x48, 0x91, 0x0b, 0x94, 0x5d, 0xca, 0x1f, 0x15, 0x47, 0x2c, 0x53, 0xd6, 0x03,
+ 0x35, 0x34, 0xc2, 0xd8, 0xa8, 0x70, 0x21, 0x9b, 0xcc, 0x1c, 0x91, 0x45, 0x3e, 0x35, 0x0b, 0x8e,
+ 0x8c, 0x5b, 0x0d, 0x48, 0x66, 0x2c, 0x33, 0x76, 0x20, 0x24, 0x99, 0x41, 0x61, 0xe5, 0xf3, 0x5f,
+ 0x57, 0x92, 0x3b, 0x96, 0xd9, 0xd3, 0x27, 0x67, 0xfb, 0xe5, 0x05, 0x6b, 0x53, 0x9f, 0x83, 0xbc,
+ 0xbc, 0x6a, 0x46, 0x5f, 0x60, 0x26, 0xc3, 0xbc, 0x29, 0xca, 0x97, 0x37, 0xd6, 0xb3, 0x59, 0xab,
+ 0x3e, 0x56, 0xb2, 0xcf, 0x96, 0xa5, 0x06, 0xc8, 0x5a, 0xcd, 0xe9, 0x13, 0xe4, 0x90, 0xac, 0x35,
+ 0xc6, 0xdb, 0x2e, 0x36, 0xce, 0x0b, 0x56, 0xc2, 0x2e, 0xb6, 0x16, 0x5a, 0x21, 0xd2, 0xc5, 0x1d,
+ 0xc8, 0xc6, 0x63, 0x2d, 0x92, 0x27, 0x20, 0x5b, 0x45, 0x01, 0xe2, 0xb1, 0x51, 0x35, 0x00, 0x12,
+ 0x8f, 0x83, 0xa0, 0xf2, 0x73, 0x92, 0x7c, 0xa7, 0x6d, 0xd2, 0xe3, 0x9a, 0x2e, 0x72, 0x0a, 0xaf,
+ 0x41, 0x38, 0x12, 0x64, 0xfe, 0xfb, 0x84, 0x9d, 0x59, 0x67, 0x65, 0x53, 0x15, 0xa4, 0xb9, 0x54,
+ 0x0f, 0xc6, 0xfd, 0x3a, 0x6b, 0x21, 0x7c, 0x34, 0xfe, 0xa0, 0x87, 0xb2, 0x41, 0x5d, 0xcb, 0x4c,
+ 0x88, 0x79, 0x18, 0x56, 0xed, 0x84, 0x99, 0xd5, 0x5e, 0xce, 0x9e, 0x3e, 0xef, 0x91, 0xa2, 0xa0,
+ 0xf5, 0x52, 0xcb, 0x0e, 0x49, 0x99, 0x5f, 0xd0, 0x86, 0x83, 0xd3, 0x67, 0x45, 0x8d, 0x21, 0x86,
+ 0x9c, 0x3e, 0x47, 0x70, 0x9b, 0xcd, 0x03, 0xcf, 0xfb, 0x65, 0x46, 0xdf, 0x81, 0x6c, 0x1e, 0xda,
+ 0x11, 0x0c, 0x92, 0xcd, 0x63, 0xac, 0x3d, 0x85, 0x7d, 0x59, 0xb0, 0xf4, 0x4a, 0x2d, 0x01, 0x7e,
+ 0x07, 0x0b, 0x09, 0x5c, 0x03, 0xee, 0xc5, 0x10, 0xbb, 0x08, 0x08, 0xc1, 0x09, 0xad, 0x0a, 0x92,
+ 0xc2, 0xbb, 0x30, 0x52, 0x47, 0xc9, 0x90, 0x45, 0x00, 0x32, 0xa0, 0xb8, 0xea, 0x8e, 0x4d, 0xa8,
+ 0xb8, 0xe0, 0x8a, 0xcd, 0xbd, 0x18, 0x62, 0x97, 0x41, 0x21, 0x98, 0x54, 0x45, 0xce, 0xc1, 0x34,
+ 0x90, 0x1a, 0x42, 0x82, 0x4c, 0x03, 0x9f, 0x00, 0x26, 0x0f, 0x69, 0x3d, 0xa5, 0x41, 0x93, 0x42,
+ 0x12, 0x35, 0xa9, 0x09, 0x7b, 0x65, 0x52, 0xd6, 0x9d, 0x55, 0x4b, 0x70, 0x65, 0x52, 0x55, 0x8b,
+ 0x55, 0x4b, 0xe4, 0xca, 0xa4, 0x07, 0x80, 0x22, 0x1e, 0x93, 0x86, 0x87, 0x8b, 0x28, 0x24, 0xd1,
+ 0x22, 0x6a, 0xc2, 0xae, 0xd1, 0xb2, 0x88, 0x73, 0x0e, 0xd6, 0x68, 0x55, 0x00, 0xe7, 0x69, 0xf0,
+ 0x6d, 0x54, 0x6e, 0x23, 0x89, 0xec, 0x15, 0xca, 0x77, 0x73, 0x5a, 0x64, 0x0d, 0x88, 0x24, 0xaa,
+ 0xdd, 0xb5, 0x14, 0x89, 0x24, 0x5d, 0x0a, 0x0c, 0x25, 0x75, 0x56, 0x1d, 0xaa, 0x1d, 0x38, 0xa6,
+ 0xbe, 0x17, 0x43, 0x6c, 0x7c, 0xd2, 0x85, 0xde, 0x26, 0x75, 0x9d, 0xb7, 0x8b, 0xff, 0xc3, 0x70,
+ 0x81, 0xb4, 0x1c, 0x89, 0x4f, 0x21, 0x0e, 0x4c, 0x2f, 0x1d, 0xb8, 0x43, 0x05, 0x83, 0xa1, 0xfb,
+ 0xd3, 0x28, 0x63, 0x33, 0x4e, 0x21, 0x71, 0x1e, 0x67, 0x86, 0x5a, 0x33, 0xf0, 0x34, 0xf3, 0x61,
+ 0x1f, 0xe6, 0xbc, 0xd2, 0x60, 0x5c, 0x1c, 0xb2, 0x05, 0x3d, 0x65, 0xaf, 0xde, 0xe5, 0x0d, 0xcf,
+ 0xcb, 0xa9, 0x5a, 0xb9, 0x9f, 0x23, 0x96, 0x42, 0x30, 0xf2, 0x4a, 0x43, 0xaf, 0x92, 0x4d, 0x20,
+ 0x40, 0x59, 0x8e, 0xe8, 0x75, 0x30, 0x81, 0x80, 0x16, 0x0d, 0x87, 0x24, 0x10, 0x31, 0xde, 0x9e,
+ 0xa3, 0x18, 0xe7, 0xea, 0xbd, 0xcf, 0x53, 0xa6, 0x73, 0x39, 0xcc, 0x1a, 0x04, 0x91, 0xad, 0x6c,
+ 0x54, 0xc1, 0xee, 0x2f, 0x8d, 0x7f, 0x3b, 0xc5, 0x1e, 0x21, 0x76, 0xba, 0xd3, 0xec, 0xf1, 0x00,
+ 0x32, 0xe0, 0xca, 0x3e, 0x93, 0xc7, 0x5c, 0x75, 0x1f, 0xc9, 0x3f, 0x1e, 0x40, 0x3a, 0x67, 0x32,
+ 0x6e, 0xb5, 0x5e, 0x92, 0xf4, 0x6a, 0x5a, 0xb3, 0x79, 0x99, 0x6d, 0xb3, 0x82, 0xd5, 0xe0, 0x4c,
+ 0xc6, 0x2b, 0x35, 0x40, 0x91, 0x33, 0x99, 0x1e, 0x15, 0x9b, 0xc1, 0xb9, 0xa5, 0xd8, 0x2a, 0xf2,
+ 0x29, 0xdc, 0x51, 0x7b, 0x86, 0x04, 0x80, 0x64, 0x70, 0x41, 0x30, 0x30, 0x88, 0xe4, 0x8e, 0x9b,
+ 0xe7, 0x29, 0x29, 0xa4, 0xbf, 0x4d, 0xdc, 0x8c, 0x07, 0xf6, 0x0e, 0xa2, 0x80, 0x42, 0xa0, 0x9e,
+ 0xa7, 0xf3, 0xba, 0xdc, 0x2f, 0x39, 0x43, 0xeb, 0xa9, 0x81, 0xde, 0x7a, 0x3a, 0x20, 0x08, 0xab,
+ 0xa7, 0xf4, 0x5d, 0x5b, 0x9a, 0xf6, 0x9f, 0x50, 0x58, 0x6d, 0x7f, 0x1f, 0x2b, 0x79, 0x2c, 0xac,
+ 0x02, 0x0e, 0x54, 0x46, 0x39, 0x91, 0x03, 0x26, 0xa2, 0xed, 0x0f, 0x93, 0x47, 0xfd, 0x60, 0xd8,
+ 0xcf, 0x84, 0x2f, 0x0b, 0x1a, 0xf3, 0x23, 0x80, 0x21, 0x7e, 0x34, 0x68, 0x8f, 0x5b, 0xbc, 0xfa,
+ 0x5c, 0xd2, 0xf4, 0xaa, 0x73, 0xc5, 0xc8, 0x2f, 0xa8, 0x44, 0x90, 0xe3, 0x16, 0x04, 0x0d, 0x77,
+ 0xd1, 0x7e, 0xca, 0xca, 0x58, 0x17, 0xb5, 0xf2, 0x21, 0x5d, 0xa4, 0x38, 0xbb, 0xf9, 0x35, 0x52,
+ 0x35, 0x32, 0x65, 0x37, 0xad, 0x21, 0x16, 0x5c, 0x08, 0xd9, 0xfc, 0xa2, 0xb0, 0xcd, 0xc9, 0xa1,
+ 0xcf, 0xc3, 0xee, 0xfd, 0xeb, 0x8e, 0x95, 0x43, 0xfc, 0xfe, 0x35, 0xc6, 0xe2, 0x95, 0x94, 0x63,
+ 0xa4, 0xc7, 0x8a, 0x3f, 0x4e, 0xd6, 0x87, 0xc1, 0x76, 0xcb, 0xe3, 0xf9, 0xdc, 0x2e, 0x28, 0xa9,
+ 0xa5, 0xd7, 0x8d, 0x88, 0x21, 0x8b, 0x21, 0x5b, 0x9e, 0x08, 0x0e, 0x42, 0x98, 0xe7, 0x79, 0x9b,
+ 0x95, 0x9c, 0x96, 0x3c, 0x14, 0xc2, 0x7c, 0x63, 0x0a, 0x8c, 0x85, 0x30, 0x4c, 0x01, 0x8c, 0x5b,
+ 0x71, 0x1e, 0x44, 0xf9, 0x11, 0x99, 0x05, 0x33, 0x36, 0x79, 0xd6, 0x23, 0xe5, 0xb1, 0x71, 0x0b,
+ 0x38, 0xe7, 0x21, 0x9f, 0xeb, 0xe5, 0x94, 0xd4, 0x53, 0x73, 0xba, 0x91, 0x8d, 0x9e, 0xe2, 0x76,
+ 0x7c, 0x12, 0x79, 0xc8, 0x17, 0xd7, 0x00, 0x61, 0x67, 0x7f, 0x46, 0xa6, 0xa6, 0xa6, 0x81, 0x1a,
+ 0x08, 0x79, 0xa7, 0xaa, 0x8f, 0xfa, 0x41, 0xe0, 0xe7, 0x4d, 0x9e, 0x51, 0x16, 0xf1, 0x23, 0xe4,
+ 0x43, 0xfc, 0x40, 0x10, 0x64, 0x6f, 0x6d, 0xbd, 0xe5, 0x8e, 0x6e, 0xab, 0xcc, 0xd4, 0x3e, 0x76,
+ 0x8c, 0x34, 0x0f, 0xe0, 0x62, 0xd9, 0x1b, 0xc2, 0x83, 0x39, 0xaa, 0x0f, 0x68, 0x63, 0x73, 0xd4,
+ 0x9c, 0xbf, 0x0e, 0x99, 0xa3, 0x21, 0x58, 0xf9, 0xfc, 0x99, 0x9a, 0xa3, 0x3b, 0x84, 0x93, 0x36,
+ 0x6f, 0x7f, 0x93, 0xd3, 0x6b, 0xb5, 0x11, 0x0e, 0xd4, 0x57, 0x53, 0x63, 0xf1, 0xe2, 0x1d, 0xd8,
+ 0x15, 0x6f, 0x0e, 0xe6, 0x23, 0xbe, 0xd5, 0x0e, 0xa1, 0xd7, 0x37, 0xd8, 0x2a, 0x6c, 0x0e, 0xe6,
+ 0x23, 0xbe, 0xd5, 0x1b, 0xbd, 0xbd, 0xbe, 0xc1, 0x6b, 0xbd, 0x9b, 0x83, 0x79, 0xe5, 0xfb, 0xaf,
+ 0xf5, 0xc4, 0x75, 0x9d, 0xb7, 0x79, 0x58, 0xca, 0xf3, 0x05, 0x0d, 0xa5, 0x93, 0xbe, 0x3d, 0x83,
+ 0xc6, 0xd2, 0x49, 0x5c, 0xc5, 0xf9, 0x0c, 0x4c, 0xa8, 0x14, 0xc7, 0xac, 0xc9, 0xc5, 0x43, 0xfa,
+ 0xe7, 0x03, 0x8c, 0x6a, 0x38, 0xb6, 0x69, 0x8a, 0x29, 0xd9, 0xc7, 0x8d, 0x1e, 0x6a, 0x6f, 0x14,
+ 0xaf, 0x47, 0xec, 0x75, 0x2f, 0x16, 0x6f, 0x0c, 0xa4, 0xed, 0x83, 0x3f, 0x8f, 0x71, 0x9f, 0x38,
+ 0xc6, 0x7a, 0x35, 0xf8, 0xd0, 0xf1, 0xe9, 0x70, 0x05, 0xe5, 0xfe, 0x6f, 0xf5, 0xbe, 0x02, 0xfa,
+ 0x57, 0x93, 0xe0, 0xd9, 0x10, 0x8b, 0x60, 0x22, 0x3c, 0xbf, 0x91, 0x8e, 0x2a, 0xc8, 0x3f, 0xea,
+ 0x0d, 0xb4, 0x46, 0xc5, 0x7b, 0x15, 0xaf, 0xeb, 0x8c, 0xd6, 0x6a, 0x4e, 0xc4, 0xba, 0xd5, 0xc2,
+ 0x70, 0x66, 0xbc, 0xb8, 0xa1, 0x96, 0xf3, 0x51, 0x20, 0x0f, 0x56, 0xef, 0xff, 0x39, 0xe5, 0x89,
+ 0x59, 0x76, 0x68, 0x58, 0xa0, 0x2f, 0x6e, 0xaa, 0x86, 0xcd, 0x15, 0x07, 0x16, 0xdf, 0x18, 0x78,
+ 0x3e, 0xd0, 0xb0, 0xf7, 0xd5, 0x81, 0xcf, 0x6f, 0xa6, 0xa4, 0xca, 0xf2, 0x5f, 0x2b, 0xc9, 0x03,
+ 0x8f, 0xb5, 0xcf, 0x13, 0xc0, 0xa9, 0xc7, 0x8f, 0x23, 0xf6, 0x31, 0x25, 0x53, 0xb8, 0xdf, 0xff,
+ 0xe5, 0x94, 0xed, 0x17, 0x74, 0x3c, 0x95, 0xdd, 0xbc, 0xe0, 0xb4, 0xee, 0x7e, 0x41, 0xc7, 0xb7,
+ 0x2b, 0xa9, 0x31, 0xfe, 0x05, 0x9d, 0x08, 0xee, 0x7c, 0x41, 0x27, 0xe0, 0x39, 0xf8, 0x05, 0x9d,
+ 0xa0, 0xb5, 0xe8, 0x17, 0x74, 0xe2, 0x1a, 0x58, 0x78, 0xd7, 0x45, 0x90, 0xe7, 0xd6, 0x83, 0x2c,
+ 0xfa, 0xc7, 0xd8, 0xcf, 0x6e, 0xa2, 0x82, 0x2c, 0x70, 0x92, 0x13, 0xf7, 0xdc, 0x06, 0xb4, 0xa9,
+ 0x77, 0xd7, 0x6d, 0x73, 0x30, 0xaf, 0x7c, 0xff, 0x54, 0xed, 0x6e, 0x4c, 0x38, 0x67, 0xb5, 0xf8,
+ 0x7a, 0xd2, 0x5a, 0x2c, 0x3c, 0xb7, 0x16, 0xdc, 0x9e, 0x5f, 0x1f, 0x06, 0x23, 0xd5, 0x6d, 0x09,
+ 0xd5, 0xe9, 0xe3, 0x3e, 0x43, 0xa0, 0xcb, 0x37, 0x07, 0xf3, 0xc8, 0x32, 0x22, 0x7d, 0xcb, 0xde,
+ 0x1e, 0x60, 0xcc, 0xef, 0xeb, 0xa7, 0xc3, 0x15, 0x94, 0xfb, 0x85, 0x4a, 0x1b, 0x5d, 0xf7, 0xa2,
+ 0x9f, 0x37, 0xfa, 0x4c, 0x4d, 0xbc, 0x6e, 0x1e, 0x0f, 0xc5, 0x63, 0x09, 0x84, 0xbb, 0x84, 0xf6,
+ 0x25, 0x10, 0xc1, 0x65, 0xf4, 0xf3, 0x9b, 0x29, 0xa9, 0xb2, 0xfc, 0xcb, 0x4a, 0x72, 0x1b, 0x2d,
+ 0x8b, 0x1a, 0x07, 0x5f, 0x0c, 0xb5, 0x0c, 0xc6, 0xc3, 0x97, 0x37, 0xd6, 0x53, 0x85, 0xfa, 0xf7,
+ 0x95, 0xe4, 0x4e, 0xa4, 0x50, 0x72, 0x80, 0xdc, 0xc0, 0xba, 0x3f, 0x50, 0x7e, 0x78, 0x73, 0x45,
+ 0x6c, 0xb9, 0x77, 0xf1, 0x49, 0xf7, 0xd3, 0x32, 0x11, 0xdb, 0x13, 0xfc, 0xd3, 0x32, 0xfd, 0x5a,
+ 0xf0, 0x90, 0x87, 0x9c, 0xeb, 0x4d, 0x57, 0xf0, 0x90, 0x47, 0xdc, 0x50, 0x03, 0x7b, 0x8e, 0xd5,
+ 0x5e, 0x2e, 0xe4, 0xe4, 0xd5, 0xbb, 0x8a, 0x94, 0x19, 0xee, 0x44, 0xca, 0xfb, 0x9d, 0x18, 0x0e,
+ 0x1e, 0x8e, 0xb5, 0xd2, 0x13, 0xa6, 0x37, 0x52, 0x8f, 0x31, 0x7d, 0x83, 0x44, 0x0f, 0xc7, 0x3a,
+ 0x28, 0xe2, 0x4d, 0x65, 0x8d, 0x31, 0x6f, 0x20, 0x59, 0x7c, 0x32, 0x04, 0x05, 0x29, 0xba, 0xf1,
+ 0x66, 0xce, 0xdc, 0xd7, 0x63, 0x56, 0x3a, 0xe7, 0xee, 0x1b, 0x03, 0x69, 0xc4, 0xed, 0x84, 0xf2,
+ 0xaf, 0x28, 0xc9, 0x68, 0x1d, 0x75, 0x6b, 0xa8, 0x41, 0x6e, 0x5d, 0x3a, 0xe4, 0x76, 0x9b, 0x15,
+ 0xf3, 0x59, 0xa9, 0x3a, 0x13, 0x75, 0xeb, 0x52, 0xfd, 0x6e, 0x01, 0x0d, 0x8f, 0x05, 0xad, 0x5b,
+ 0x91, 0x5e, 0x3e, 0x89, 0x9b, 0xf1, 0xb2, 0xca, 0xb5, 0x41, 0x2c, 0x5e, 0x4f, 0x35, 0x8c, 0x7a,
+ 0xea, 0x09, 0x46, 0xd2, 0xc6, 0x40, 0x1a, 0x9e, 0xcf, 0x39, 0x6e, 0xcd, 0x78, 0xda, 0xec, 0xb1,
+ 0xd5, 0x19, 0x52, 0x4f, 0x87, 0x2b, 0xc0, 0xd3, 0x50, 0x35, 0xaa, 0x0e, 0xf2, 0x86, 0xef, 0xe6,
+ 0x45, 0x31, 0x5a, 0x8b, 0x0c, 0x13, 0x0d, 0x45, 0x4f, 0x43, 0x03, 0x30, 0x32, 0x92, 0xf5, 0xe9,
+ 0x61, 0x39, 0xea, 0xb3, 0x23, 0xa8, 0x41, 0x23, 0xd9, 0xa5, 0xc1, 0x89, 0x96, 0xd3, 0xd4, 0xa6,
+ 0xb6, 0xe3, 0x78, 0xc3, 0x75, 0x2a, 0xbc, 0x39, 0x98, 0x07, 0x8f, 0xdb, 0x05, 0x25, 0x56, 0x96,
+ 0xfb, 0x98, 0x09, 0x6f, 0x25, 0x79, 0xd0, 0x43, 0x81, 0x53, 0x41, 0x39, 0x8d, 0xde, 0xe6, 0xd9,
+ 0x94, 0xf2, 0xe0, 0x93, 0x22, 0x17, 0x88, 0x3e, 0x29, 0x02, 0x20, 0xe8, 0x3a, 0xf9, 0xbb, 0x39,
+ 0x0e, 0xdd, 0xcf, 0x42, 0x5d, 0xa7, 0x94, 0x1d, 0x2a, 0xd6, 0x75, 0x41, 0x1a, 0x44, 0x03, 0xe3,
+ 0x56, 0xbd, 0x1a, 0xff, 0x24, 0x66, 0x06, 0xbc, 0x1f, 0xbf, 0x36, 0x88, 0x05, 0x2b, 0x8a, 0x75,
+ 0x98, 0xcf, 0x72, 0x1e, 0x5a, 0x51, 0x1c, 0x1b, 0x2d, 0x12, 0x5b, 0x51, 0xba, 0x28, 0x56, 0xbd,
+ 0x36, 0x47, 0xd8, 0xcf, 0xe2, 0xd5, 0x93, 0xcc, 0xb0, 0xea, 0x19, 0xb6, 0xf3, 0x60, 0xb3, 0x34,
+ 0x43, 0x86, 0x5f, 0xaa, 0xcd, 0x72, 0x60, 0x6c, 0x8b, 0x57, 0x26, 0x21, 0x18, 0x8b, 0x3a, 0x98,
+ 0x02, 0x3c, 0xb0, 0x6f, 0x39, 0xfd, 0xec, 0xb5, 0xaa, 0x28, 0xa9, 0x49, 0x99, 0x06, 0x37, 0xa7,
+ 0xc2, 0x60, 0x87, 0x8c, 0x6d, 0x4e, 0x51, 0x0d, 0xf0, 0xd8, 0xdc, 0x7f, 0xd9, 0x31, 0x30, 0x15,
+ 0xcc, 0x5b, 0x85, 0xfe, 0xbb, 0x8e, 0x8f, 0x07, 0x90, 0xf0, 0xb1, 0xb9, 0x06, 0xcc, 0xc1, 0xb7,
+ 0x74, 0xfa, 0x59, 0xc4, 0x94, 0x8f, 0xc6, 0x36, 0xc2, 0xb8, 0x0a, 0x18, 0xd4, 0x26, 0xc1, 0xa5,
+ 0xfc, 0x27, 0x74, 0x19, 0x1a, 0xd4, 0x36, 0x3f, 0x15, 0x48, 0x6c, 0x50, 0x77, 0x51, 0x90, 0x67,
+ 0xba, 0xfb, 0xa0, 0x87, 0x11, 0x7d, 0x77, 0xeb, 0xb3, 0xda, 0xcb, 0x81, 0x99, 0xb3, 0x93, 0x2f,
+ 0xbc, 0xe7, 0x04, 0x81, 0x82, 0xee, 0xe4, 0x8b, 0xf0, 0x63, 0x82, 0xb5, 0x41, 0x2c, 0x7c, 0x24,
+ 0x4f, 0x38, 0x7d, 0xa7, 0x9f, 0x95, 0x07, 0x8a, 0x2b, 0xe4, 0x9d, 0x87, 0xe5, 0x8f, 0xfa, 0x41,
+ 0x7b, 0x01, 0xf6, 0xb8, 0x66, 0x29, 0x6d, 0x1a, 0xf5, 0xbd, 0x3d, 0xff, 0x86, 0x91, 0x92, 0x8d,
+ 0xc1, 0xd7, 0xf6, 0xee, 0xc7, 0x21, 0x65, 0xfb, 0xab, 0xe4, 0xfd, 0x03, 0x36, 0x9d, 0xd0, 0x32,
+ 0x1b, 0xfd, 0xc0, 0xbf, 0x72, 0xca, 0xa6, 0xe3, 0xf6, 0x67, 0x63, 0xef, 0x16, 0x26, 0xb6, 0x97,
+ 0xe6, 0x76, 0xe8, 0xf9, 0x7c, 0x3a, 0xe1, 0x84, 0x83, 0x4b, 0x73, 0xe2, 0xf7, 0x71, 0x2b, 0x40,
+ 0x2e, 0xcd, 0x79, 0x00, 0xb0, 0x77, 0x5a, 0x53, 0x1a, 0xb4, 0xd7, 0x0a, 0xa2, 0xf6, 0x14, 0x60,
+ 0x57, 0x5d, 0x63, 0xaf, 0x4d, 0x6c, 0xe1, 0x25, 0x37, 0xab, 0x23, 0xa4, 0xc8, 0xaa, 0xdb, 0xa5,
+ 0xec, 0x60, 0x90, 0xd5, 0x17, 0x5f, 0xcc, 0x98, 0xcf, 0x66, 0xa4, 0x5e, 0x82, 0xc1, 0xa0, 0x6a,
+ 0xe9, 0x00, 0xc8, 0x60, 0x08, 0x82, 0x76, 0x94, 0xeb, 0x66, 0x4e, 0xaf, 0xf6, 0x58, 0xcd, 0xe6,
+ 0x3c, 0x2f, 0x29, 0xfc, 0x6a, 0x82, 0x69, 0x50, 0x97, 0x41, 0x46, 0x39, 0xc6, 0xda, 0xac, 0x50,
+ 0x10, 0xf2, 0xfe, 0x9d, 0xf8, 0x6a, 0x6d, 0xc3, 0x59, 0x0d, 0x9f, 0xbf, 0x49, 0x2b, 0x10, 0x42,
+ 0xb2, 0x42, 0x14, 0x06, 0x7d, 0x7f, 0x9c, 0x97, 0xd3, 0x60, 0xdf, 0x1f, 0xbb, 0xdf, 0x7c, 0xbc,
+ 0x83, 0x03, 0x36, 0xbe, 0xcb, 0x46, 0x93, 0x5f, 0x26, 0x52, 0xef, 0x3e, 0x06, 0x1b, 0xdd, 0x25,
+ 0x90, 0xf8, 0x1e, 0x26, 0x81, 0xab, 0xd7, 0x15, 0x2d, 0x69, 0xa6, 0x6f, 0x99, 0x85, 0x5c, 0x79,
+ 0x44, 0xd4, 0x15, 0x24, 0x6d, 0x54, 0x15, 0xf2, 0x93, 0x79, 0x79, 0x5c, 0xb3, 0x8b, 0xbc, 0xa0,
+ 0x35, 0x88, 0xaa, 0x52, 0xdd, 0x91, 0x23, 0x51, 0x35, 0xc4, 0xd9, 0xeb, 0x0a, 0x42, 0xea, 0x7d,
+ 0x7a, 0xf9, 0xb4, 0x26, 0x29, 0xbc, 0xae, 0x20, 0x6d, 0x74, 0x31, 0xe4, 0x24, 0x2d, 0x82, 0x3b,
+ 0x89, 0x81, 0x74, 0x5d, 0x2e, 0xc5, 0xf8, 0x50, 0xef, 0xde, 0x89, 0x2f, 0x21, 0x36, 0x20, 0x31,
+ 0x50, 0xe6, 0x42, 0x24, 0x92, 0x18, 0xc4, 0x35, 0x6c, 0xe8, 0x15, 0xdc, 0x91, 0xba, 0x86, 0x03,
+ 0x42, 0xaf, 0xb4, 0xa1, 0x85, 0x48, 0xe8, 0xed, 0x40, 0x20, 0x20, 0xe9, 0x69, 0x30, 0x0d, 0x06,
+ 0x24, 0x23, 0x8d, 0x06, 0x24, 0x97, 0xb2, 0x81, 0x62, 0xbf, 0xcc, 0x79, 0x4e, 0x8a, 0x09, 0xe5,
+ 0xc7, 0xa4, 0x26, 0x33, 0xca, 0x69, 0x0d, 0x03, 0x85, 0x42, 0xc6, 0x1e, 0x83, 0x04, 0x0a, 0x8c,
+ 0x55, 0x0e, 0xff, 0x20, 0xf9, 0xb0, 0x5d, 0x27, 0x69, 0xa9, 0xfe, 0xc8, 0xc2, 0x2b, 0xf1, 0xd7,
+ 0x59, 0x46, 0x1f, 0x19, 0x1b, 0x13, 0x5e, 0x53, 0x32, 0xd3, 0xb6, 0x3f, 0x30, 0xbf, 0x0b, 0xf0,
+ 0xe9, 0x4a, 0x3b, 0x9e, 0x8f, 0x18, 0xcf, 0x2f, 0xda, 0x6d, 0xa9, 0x7a, 0xe3, 0x06, 0x8c, 0x67,
+ 0x57, 0x3c, 0x8e, 0x7c, 0x47, 0x21, 0xc4, 0xd9, 0x38, 0xed, 0x4a, 0x4f, 0x68, 0x55, 0xc0, 0x38,
+ 0xed, 0x69, 0x0b, 0x00, 0x89, 0xd3, 0x41, 0xd0, 0x4e, 0x4e, 0x57, 0x7c, 0x4a, 0xe3, 0x95, 0x39,
+ 0xa5, 0xc3, 0x2a, 0x73, 0xea, 0xbd, 0xc4, 0x50, 0x24, 0x1f, 0x1e, 0xd2, 0xd9, 0x39, 0xad, 0x9b,
+ 0xcb, 0xbc, 0xda, 0x6b, 0x13, 0x14, 0xc2, 0xe7, 0xf0, 0x35, 0x3f, 0x4b, 0x8c, 0x0d, 0x82, 0x64,
+ 0x71, 0x08, 0x6a, 0x57, 0x02, 0x0b, 0xec, 0x37, 0x47, 0x64, 0x46, 0xc5, 0x57, 0x21, 0xc0, 0x4a,
+ 0xe0, 0x18, 0x71, 0x20, 0x64, 0x25, 0x40, 0x61, 0xe7, 0x7d, 0x28, 0xcb, 0x9c, 0xd0, 0x69, 0x3b,
+ 0xc2, 0xea, 0x63, 0xb2, 0x9c, 0xd1, 0x92, 0x2b, 0x93, 0xe0, 0x0c, 0xdb, 0x31, 0x19, 0xe6, 0x91,
+ 0x33, 0xec, 0x21, 0x7a, 0x4e, 0x68, 0xf2, 0x1a, 0xfe, 0x98, 0xd5, 0x5c, 0xfe, 0x09, 0x95, 0xb3,
+ 0xba, 0x00, 0xa1, 0xc9, 0x6f, 0x54, 0x8f, 0x44, 0x42, 0x53, 0x5c, 0xc3, 0xf9, 0xf6, 0xb8, 0x57,
+ 0x86, 0x37, 0xb4, 0x36, 0xe3, 0xe4, 0xd5, 0x8c, 0xe4, 0x85, 0x1a, 0x0d, 0x3f, 0x8a, 0xd8, 0x46,
+ 0x74, 0x90, 0x6f, 0x8f, 0x0f, 0xd5, 0x75, 0xbe, 0xd6, 0x1e, 0x2f, 0x21, 0x38, 0x52, 0xef, 0xb1,
+ 0x8f, 0x1c, 0xa9, 0xf7, 0x6b, 0xd9, 0x9d, 0xae, 0x65, 0x05, 0xb7, 0x14, 0xc4, 0x36, 0xcb, 0xe0,
+ 0xf9, 0x9a, 0x63, 0x13, 0x80, 0xc8, 0x4e, 0x37, 0xaa, 0x60, 0x53, 0x03, 0x8b, 0xed, 0xe6, 0x25,
+ 0x29, 0xf2, 0x9f, 0xc1, 0xcb, 0xd9, 0x8e, 0x1d, 0x4d, 0x20, 0xa9, 0x41, 0x98, 0x0c, 0xb9, 0xda,
+ 0xa3, 0xfc, 0x34, 0x6f, 0x43, 0xff, 0xa3, 0x48, 0xbb, 0x09, 0xa2, 0xdf, 0x95, 0x43, 0x3a, 0xdf,
+ 0x17, 0x85, 0xcd, 0xba, 0x55, 0x55, 0x93, 0x76, 0x55, 0x3d, 0xa1, 0x29, 0xcd, 0x2b, 0x3e, 0x7a,
+ 0x11, 0x6f, 0x2b, 0x80, 0x23, 0x17, 0x13, 0x06, 0xa8, 0x39, 0x8f, 0xbb, 0xdb, 0x58, 0x32, 0x91,
+ 0x7f, 0x5b, 0xec, 0xac, 0xa1, 0xb5, 0x4a, 0x34, 0xf6, 0x28, 0x07, 0xb3, 0xd3, 0xe1, 0xc6, 0x0e,
+ 0xd8, 0x56, 0x14, 0x99, 0x9d, 0x71, 0x0d, 0x7b, 0x38, 0xe6, 0x70, 0x27, 0xb4, 0x61, 0xc5, 0x82,
+ 0x8a, 0xfb, 0x79, 0xeb, 0xa8, 0x31, 0x87, 0x42, 0x0e, 0xc7, 0x70, 0xda, 0x66, 0x6b, 0x5d, 0xb7,
+ 0x5b, 0xe5, 0x72, 0x1f, 0x5e, 0x31, 0x08, 0x58, 0x12, 0x18, 0x92, 0xad, 0x45, 0x70, 0xe7, 0xf0,
+ 0xb8, 0x66, 0x24, 0x4b, 0x49, 0xc3, 0x8f, 0xc9, 0xb2, 0x60, 0x24, 0x13, 0xeb, 0x3a, 0x3c, 0x3c,
+ 0xd6, 0xcc, 0xd8, 0x85, 0xb0, 0xc3, 0x63, 0x0c, 0x76, 0xb3, 0x33, 0xf1, 0x27, 0xd3, 0xd4, 0xdd,
+ 0x47, 0x98, 0x9d, 0x89, 0xf2, 0xc2, 0x7b, 0x8f, 0xf7, 0xe3, 0x90, 0x7d, 0x67, 0x4b, 0x8a, 0x44,
+ 0x1a, 0x72, 0x27, 0xa4, 0xe3, 0x25, 0x20, 0x77, 0x23, 0x84, 0xfd, 0x8e, 0x83, 0xfc, 0x5d, 0xff,
+ 0xd5, 0x0f, 0xae, 0xbe, 0xc2, 0xbc, 0x1e, 0xd2, 0x75, 0xa1, 0xb1, 0xfb, 0x71, 0xb6, 0x8d, 0x81,
+ 0xb4, 0x4d, 0x33, 0xb7, 0x2f, 0x09, 0xdf, 0xca, 0xb2, 0x43, 0xda, 0x04, 0x5e, 0xc0, 0x6e, 0x85,
+ 0x63, 0x2b, 0x45, 0xd2, 0xcc, 0x2e, 0x65, 0x07, 0x7a, 0x2b, 0x7b, 0x95, 0xe5, 0x5c, 0xc9, 0xf4,
+ 0x8d, 0xe2, 0xf5, 0xae, 0x81, 0x2e, 0x85, 0xd4, 0x0a, 0xa7, 0x6d, 0x2c, 0x6f, 0x99, 0x53, 0x36,
+ 0x9d, 0x16, 0x54, 0x41, 0x27, 0x94, 0xc8, 0x8f, 0xd0, 0x6d, 0x76, 0x6d, 0x05, 0x41, 0x24, 0x96,
+ 0x47, 0x15, 0x6c, 0x1a, 0xd9, 0x62, 0xf2, 0x11, 0x8e, 0x6e, 0xd8, 0xd5, 0xae, 0x19, 0x0f, 0x40,
+ 0xd2, 0xc8, 0x20, 0x68, 0xdf, 0x13, 0x6b, 0xc5, 0x7b, 0x54, 0xb7, 0x04, 0xfc, 0x64, 0x8f, 0x50,
+ 0x76, 0xc4, 0xc8, 0x7b, 0x62, 0x01, 0xcc, 0xee, 0x13, 0x80, 0x87, 0x97, 0xcb, 0xfd, 0x0c, 0xee,
+ 0x13, 0xa0, 0xbe, 0x60, 0x90, 0x7d, 0x02, 0xc6, 0xfa, 0x5d, 0x67, 0xbe, 0x4f, 0x7c, 0x40, 0x1a,
+ 0x5b, 0xb9, 0x40, 0xd7, 0x05, 0xc1, 0x58, 0xd7, 0x61, 0x0a, 0x7e, 0x93, 0xba, 0x5f, 0x3f, 0x0e,
+ 0x34, 0x69, 0xe8, 0xab, 0xc7, 0x0f, 0xfb, 0x30, 0x1b, 0x97, 0xcc, 0x7e, 0x52, 0x5c, 0xf1, 0x09,
+ 0x7f, 0x7d, 0x5e, 0x0a, 0x91, 0xb8, 0xd4, 0x81, 0xa4, 0xed, 0x97, 0x77, 0xff, 0xfb, 0x9b, 0x5b,
+ 0x2b, 0xbf, 0xf8, 0xe6, 0xd6, 0xca, 0xff, 0x7e, 0x73, 0x6b, 0xe5, 0xe7, 0xdf, 0xde, 0x7a, 0xef,
+ 0x17, 0xdf, 0xde, 0x7a, 0xef, 0x7f, 0xbe, 0xbd, 0xf5, 0xde, 0xd7, 0xef, 0xab, 0x3f, 0xa5, 0x79,
+ 0xfe, 0x2b, 0xe2, 0x0f, 0x62, 0x3e, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xbb, 0xf9, 0xe5,
+ 0xb2, 0x6e, 0x73, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@@ -636,7 +638,9 @@ type ClientCommandsClient interface {
DebugRunProfiler(ctx context.Context, in *pb.RpcDebugRunProfilerRequest, opts ...grpc.CallOption) (*pb.RpcDebugRunProfilerResponse, error)
DebugAccountSelectTrace(ctx context.Context, in *pb.RpcDebugAccountSelectTraceRequest, opts ...grpc.CallOption) (*pb.RpcDebugAccountSelectTraceResponse, error)
DebugAnystoreObjectChanges(ctx context.Context, in *pb.RpcDebugAnystoreObjectChangesRequest, opts ...grpc.CallOption) (*pb.RpcDebugAnystoreObjectChangesResponse, error)
- MetricsSetParameters(ctx context.Context, in *pb.RpcMetricsSetParametersRequest, opts ...grpc.CallOption) (*pb.RpcMetricsSetParametersResponse, error)
+ DebugNetCheck(ctx context.Context, in *pb.RpcDebugNetCheckRequest, opts ...grpc.CallOption) (*pb.RpcDebugNetCheckResponse, error)
+ DebugExportLog(ctx context.Context, in *pb.RpcDebugExportLogRequest, opts ...grpc.CallOption) (*pb.RpcDebugExportLogResponse, error)
+ InitialSetParameters(ctx context.Context, in *pb.RpcInitialSetParametersRequest, opts ...grpc.CallOption) (*pb.RpcInitialSetParametersResponse, error)
// used only for lib-server via grpc
ListenSessionEvents(ctx context.Context, in *pb.StreamRequest, opts ...grpc.CallOption) (ClientCommands_ListenSessionEventsClient, error)
NotificationList(ctx context.Context, in *pb.RpcNotificationListRequest, opts ...grpc.CallOption) (*pb.RpcNotificationListResponse, error)
@@ -2786,9 +2790,27 @@ func (c *clientCommandsClient) DebugAnystoreObjectChanges(ctx context.Context, i
return out, nil
}
-func (c *clientCommandsClient) MetricsSetParameters(ctx context.Context, in *pb.RpcMetricsSetParametersRequest, opts ...grpc.CallOption) (*pb.RpcMetricsSetParametersResponse, error) {
- out := new(pb.RpcMetricsSetParametersResponse)
- err := c.cc.Invoke(ctx, "/anytype.ClientCommands/MetricsSetParameters", in, out, opts...)
+func (c *clientCommandsClient) DebugNetCheck(ctx context.Context, in *pb.RpcDebugNetCheckRequest, opts ...grpc.CallOption) (*pb.RpcDebugNetCheckResponse, error) {
+ out := new(pb.RpcDebugNetCheckResponse)
+ err := c.cc.Invoke(ctx, "/anytype.ClientCommands/DebugNetCheck", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *clientCommandsClient) DebugExportLog(ctx context.Context, in *pb.RpcDebugExportLogRequest, opts ...grpc.CallOption) (*pb.RpcDebugExportLogResponse, error) {
+ out := new(pb.RpcDebugExportLogResponse)
+ err := c.cc.Invoke(ctx, "/anytype.ClientCommands/DebugExportLog", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *clientCommandsClient) InitialSetParameters(ctx context.Context, in *pb.RpcInitialSetParametersRequest, opts ...grpc.CallOption) (*pb.RpcInitialSetParametersResponse, error) {
+ out := new(pb.RpcInitialSetParametersResponse)
+ err := c.cc.Invoke(ctx, "/anytype.ClientCommands/InitialSetParameters", in, out, opts...)
if err != nil {
return nil, err
}
@@ -3362,7 +3384,9 @@ type ClientCommandsServer interface {
DebugRunProfiler(context.Context, *pb.RpcDebugRunProfilerRequest) *pb.RpcDebugRunProfilerResponse
DebugAccountSelectTrace(context.Context, *pb.RpcDebugAccountSelectTraceRequest) *pb.RpcDebugAccountSelectTraceResponse
DebugAnystoreObjectChanges(context.Context, *pb.RpcDebugAnystoreObjectChangesRequest) *pb.RpcDebugAnystoreObjectChangesResponse
- MetricsSetParameters(context.Context, *pb.RpcMetricsSetParametersRequest) *pb.RpcMetricsSetParametersResponse
+ DebugNetCheck(context.Context, *pb.RpcDebugNetCheckRequest) *pb.RpcDebugNetCheckResponse
+ DebugExportLog(context.Context, *pb.RpcDebugExportLogRequest) *pb.RpcDebugExportLogResponse
+ InitialSetParameters(context.Context, *pb.RpcInitialSetParametersRequest) *pb.RpcInitialSetParametersResponse
// used only for lib-server via grpc
ListenSessionEvents(*pb.StreamRequest, ClientCommands_ListenSessionEventsServer)
NotificationList(context.Context, *pb.RpcNotificationListRequest) *pb.RpcNotificationListResponse
@@ -4116,7 +4140,13 @@ func (*UnimplementedClientCommandsServer) DebugAccountSelectTrace(ctx context.Co
func (*UnimplementedClientCommandsServer) DebugAnystoreObjectChanges(ctx context.Context, req *pb.RpcDebugAnystoreObjectChangesRequest) *pb.RpcDebugAnystoreObjectChangesResponse {
return nil
}
-func (*UnimplementedClientCommandsServer) MetricsSetParameters(ctx context.Context, req *pb.RpcMetricsSetParametersRequest) *pb.RpcMetricsSetParametersResponse {
+func (*UnimplementedClientCommandsServer) DebugNetCheck(ctx context.Context, req *pb.RpcDebugNetCheckRequest) *pb.RpcDebugNetCheckResponse {
+ return nil
+}
+func (*UnimplementedClientCommandsServer) DebugExportLog(ctx context.Context, req *pb.RpcDebugExportLogRequest) *pb.RpcDebugExportLogResponse {
+ return nil
+}
+func (*UnimplementedClientCommandsServer) InitialSetParameters(ctx context.Context, req *pb.RpcInitialSetParametersRequest) *pb.RpcInitialSetParametersResponse {
return nil
}
func (*UnimplementedClientCommandsServer) ListenSessionEvents(req *pb.StreamRequest, srv ClientCommands_ListenSessionEventsServer) {
@@ -8390,20 +8420,56 @@ func _ClientCommands_DebugAnystoreObjectChanges_Handler(srv interface{}, ctx con
return interceptor(ctx, in, info, handler)
}
-func _ClientCommands_MetricsSetParameters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(pb.RpcMetricsSetParametersRequest)
+func _ClientCommands_DebugNetCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(pb.RpcDebugNetCheckRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
- return srv.(ClientCommandsServer).MetricsSetParameters(ctx, in), nil
+ return srv.(ClientCommandsServer).DebugNetCheck(ctx, in), nil
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/anytype.ClientCommands/MetricsSetParameters",
+ FullMethod: "/anytype.ClientCommands/DebugNetCheck",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ClientCommandsServer).MetricsSetParameters(ctx, req.(*pb.RpcMetricsSetParametersRequest)), nil
+ return srv.(ClientCommandsServer).DebugNetCheck(ctx, req.(*pb.RpcDebugNetCheckRequest)), nil
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _ClientCommands_DebugExportLog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(pb.RpcDebugExportLogRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ClientCommandsServer).DebugExportLog(ctx, in), nil
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/anytype.ClientCommands/DebugExportLog",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ClientCommandsServer).DebugExportLog(ctx, req.(*pb.RpcDebugExportLogRequest)), nil
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _ClientCommands_InitialSetParameters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(pb.RpcInitialSetParametersRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ClientCommandsServer).InitialSetParameters(ctx, in), nil
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/anytype.ClientCommands/InitialSetParameters",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ClientCommandsServer).InitialSetParameters(ctx, req.(*pb.RpcInitialSetParametersRequest)), nil
}
return interceptor(ctx, in, info, handler)
}
@@ -9885,8 +9951,16 @@ var _ClientCommands_serviceDesc = grpc.ServiceDesc{
Handler: _ClientCommands_DebugAnystoreObjectChanges_Handler,
},
{
- MethodName: "MetricsSetParameters",
- Handler: _ClientCommands_MetricsSetParameters_Handler,
+ MethodName: "DebugNetCheck",
+ Handler: _ClientCommands_DebugNetCheck_Handler,
+ },
+ {
+ MethodName: "DebugExportLog",
+ Handler: _ClientCommands_DebugExportLog_Handler,
+ },
+ {
+ MethodName: "InitialSetParameters",
+ Handler: _ClientCommands_InitialSetParameters_Handler,
},
{
MethodName: "NotificationList",
diff --git a/pkg/lib/bundle/systemTypes.gen.go b/pkg/lib/bundle/systemTypes.gen.go
index 1cfec0d5e..2e233fbc9 100644
--- a/pkg/lib/bundle/systemTypes.gen.go
+++ b/pkg/lib/bundle/systemTypes.gen.go
@@ -6,7 +6,7 @@ package bundle
import domain "github.com/anyproto/anytype-heart/core/domain"
-const SystemTypesChecksum = "e68b37f73baf858d7101257403a3a0605e09090dbe11432919e1e7a6d4668b67"
+const SystemTypesChecksum = "bf5fb329802ba479e21c98306b1bda3226c17c6cae83b280ede6954d9c012185"
// SystemTypes contains types that have some special biz logic depends on them in some objects
// they shouldn't be removed or edited in any way
@@ -17,6 +17,5 @@ var SystemTypes = append(InternalTypes, []domain.TypeKey{
TypeKeyCollection,
TypeKeySet,
TypeKeyBookmark,
- TypeKeyChat,
TypeKeyChatDerived,
}...)
diff --git a/pkg/lib/bundle/systemTypes.json b/pkg/lib/bundle/systemTypes.json
index 5cd14e033..bd0534f6f 100644
--- a/pkg/lib/bundle/systemTypes.json
+++ b/pkg/lib/bundle/systemTypes.json
@@ -18,6 +18,5 @@
"collection",
"set",
"bookmark",
- "chat",
"chatDerived"
]
diff --git a/pkg/lib/bundle/types.gen.go b/pkg/lib/bundle/types.gen.go
index 72341c576..06d220a79 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 = "f3ae9931142aa23ec9696ccb60fe1a68b4fdafcc345e307e0a26d4fb98a0686c"
+const TypeChecksum = "5458717a4167a70b8a8e3148147e192263a645484359ec155b6856a8996e8ec8"
const (
TypePrefix = "_ot"
)
@@ -84,10 +84,11 @@ var (
},
TypeKeyChat: {
- Description: "A chat",
+ Description: "A chat [deprecated]",
+ Hidden: true,
IconEmoji: "💬",
Layout: model.ObjectType_chat,
- Name: "Chat",
+ Name: "Chat [deprecated]",
Readonly: true,
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag), MustGetRelationLink(RelationKeyDescription)},
Types: []model.SmartBlockType{model.SmartBlockType_ChatObject},
@@ -143,7 +144,7 @@ var (
Description: "Gregorian calendar date",
Hidden: true,
IconEmoji: "📅",
- Layout: model.ObjectType_basic,
+ Layout: model.ObjectType_date,
Name: "Date",
Readonly: true,
RelationLinks: []*model.RelationLink{MustGetRelationLink(RelationKeyTag)},
diff --git a/pkg/lib/bundle/types.json b/pkg/lib/bundle/types.json
index d88c80bff..3a2e3e32e 100644
--- a/pkg/lib/bundle/types.json
+++ b/pkg/lib/bundle/types.json
@@ -70,7 +70,7 @@
],
"emoji": "📅",
"hidden": true,
- "layout": "basic",
+ "layout": "date",
"relations": [
"tag"
],
@@ -459,18 +459,18 @@
},
{
"id": "chat",
- "name": "Chat",
+ "name": "Chat [deprecated]",
"types": [
"ChatObject"
],
"emoji": "💬",
- "hidden": false,
+ "hidden": true,
"layout": "chat",
"relations": [
"tag",
"description"
],
- "description": "A chat"
+ "description": "A chat [deprecated]"
},
{
"id": "chatDerived",
diff --git a/pkg/lib/core/smartblock/smartblock.go b/pkg/lib/core/smartblock/smartblock.go
index aec43f972..ce55b923f 100644
--- a/pkg/lib/core/smartblock/smartblock.go
+++ b/pkg/lib/core/smartblock/smartblock.go
@@ -27,7 +27,7 @@ const (
SmartBlockTypeAnytypeProfile = SmartBlockType(model.SmartBlockType_AnytypeProfile)
SmartBlockTypeDate = SmartBlockType(model.SmartBlockType_Date)
SmartBlockTypeIdentity = SmartBlockType(model.SmartBlockType_Identity)
- SmartBlockTypeChatObject = SmartBlockType(model.SmartBlockType_ChatObject) // Container for any-store based chats
+ SmartBlockTypeChatObject = SmartBlockType(model.SmartBlockType_ChatObject) // deprecated. Container for any-store based chats
SmartBlockTypeChatDerivedObject = SmartBlockType(model.SmartBlockType_ChatDerivedObject) // Any-store based object for chat
SmartBlockTypeAccountObject = SmartBlockType(model.SmartBlockType_AccountObject)
@@ -72,10 +72,9 @@ func (sbt SmartBlockType) IsOneOf(sbts ...SmartBlockType) bool {
// Indexable determines if the object of specific type need to be proceeded by the indexer in order to appear in sets
func (sbt SmartBlockType) Indexable() (details, outgoingLinks bool) {
switch sbt {
- case SmartBlockTypeDate, SmartBlockTypeAccountOld, SmartBlockTypeArchive,
- SmartBlockTypeHome, SmartBlockTypeNotificationObject, SmartBlockTypeDevicesObject:
+ case SmartBlockTypeDate, SmartBlockTypeAccountOld, SmartBlockTypeNotificationObject, SmartBlockTypeDevicesObject:
return false, false
- case SmartBlockTypeWidget:
+ case SmartBlockTypeWidget, SmartBlockTypeArchive, SmartBlockTypeHome:
return true, false
default:
return true, true
diff --git a/pkg/lib/environment/environment.go b/pkg/lib/environment/environment.go
new file mode 100644
index 000000000..bd67c66e4
--- /dev/null
+++ b/pkg/lib/environment/environment.go
@@ -0,0 +1,4 @@
+package environment
+
+var ROOT_PATH = ""
+var LOG_PATH = ""
diff --git a/pkg/lib/localstore/ftsearch/autobatchertantivy.go b/pkg/lib/localstore/ftsearch/autobatchertantivy.go
index 968739103..dfc747fa0 100644
--- a/pkg/lib/localstore/ftsearch/autobatchertantivy.go
+++ b/pkg/lib/localstore/ftsearch/autobatchertantivy.go
@@ -2,6 +2,7 @@ package ftsearch
import (
"fmt"
+ "sync"
tantivy "github.com/anyproto/tantivy-go"
"github.com/blevesearch/bleve/v2/search"
@@ -12,6 +13,7 @@ const docLimit = 10000
func (f *ftSearchTantivy) NewAutoBatcher(maxDocs int, maxSizeBytes uint64) AutoBatcher {
return &ftIndexBatcherTantivy{
index: f.index,
+ mu: &f.mu,
}
}
@@ -37,10 +39,12 @@ func (f *ftSearchTantivy) Iterate(objectId string, fields []string, shouldContin
dm.Fields = make(map[string]any)
dm.Fields[fieldSpace] = string(value.GetStringBytes(fieldSpace))
dm.Fields[fieldText] = string(value.GetStringBytes(fieldText))
+ dm.Fields[fieldTextZh] = string(value.GetStringBytes(fieldTextZh))
dm.Fields[fieldTitle] = string(value.GetStringBytes(fieldTitle))
+ dm.Fields[fieldTitleZh] = string(value.GetStringBytes(fieldTitleZh))
return dm, nil
},
- fieldId, fieldSpace, fieldTitle, fieldText,
+ fieldId, fieldSpace, fieldTitle, fieldTitleZh, fieldText, fieldTextZh,
)
if err != nil {
return err
@@ -49,9 +53,15 @@ func (f *ftSearchTantivy) Iterate(objectId string, fields []string, shouldContin
var text, title, spaceId string
for _, hit := range searchResult {
if hit.Fields != nil {
+ if hit.Fields[fieldTextZh] != nil {
+ text, _ = hit.Fields[fieldTextZh].(string)
+ }
if hit.Fields[fieldText] != nil {
text, _ = hit.Fields[fieldText].(string)
}
+ if hit.Fields[fieldTitleZh] != nil {
+ title, _ = hit.Fields[fieldTitleZh].(string)
+ }
if hit.Fields[fieldTitle] != nil {
title, _ = hit.Fields[fieldTitle].(string)
}
@@ -76,6 +86,7 @@ type ftIndexBatcherTantivy struct {
index *tantivy.TantivyContext
deleteIds []string
updateDocs []*tantivy.Document
+ mu *sync.Mutex // original mutex, temporary solution
}
// Add adds a update operation to the batcher. If the batch is reaching the size limit, it will be indexed and reset.
@@ -109,11 +120,21 @@ func (f *ftIndexBatcherTantivy) UpdateDoc(searchDoc SearchDoc) error {
return err
}
+ err = doc.AddField(fieldTitleZh, searchDoc.Title, f.index)
+ if err != nil {
+ return err
+ }
+
err = doc.AddField(fieldText, searchDoc.Text, f.index)
if err != nil {
return err
}
+ err = doc.AddField(fieldTextZh, searchDoc.Text, f.index)
+ if err != nil {
+ return err
+ }
+
f.updateDocs = append(f.updateDocs, doc)
if len(f.updateDocs) >= docLimit {
@@ -124,6 +145,8 @@ func (f *ftIndexBatcherTantivy) UpdateDoc(searchDoc SearchDoc) error {
// Finish indexes the remaining documents in the batch.
func (f *ftIndexBatcherTantivy) Finish() error {
+ f.mu.Lock()
+ defer f.mu.Unlock()
err := f.index.DeleteDocuments(fieldIdRaw, f.deleteIds...)
if err != nil {
return err
diff --git a/pkg/lib/localstore/ftsearch/ftsearchbleve.go b/pkg/lib/localstore/ftsearch/ftsearchbleve.go
index 04518cccf..7f66375e7 100644
--- a/pkg/lib/localstore/ftsearch/ftsearchbleve.go
+++ b/pkg/lib/localstore/ftsearch/ftsearchbleve.go
@@ -28,10 +28,12 @@ import (
const (
CName = "fts"
ftsDir = "fts"
- ftsVer = "6"
+ ftsVer = "7"
fieldTitle = "Title"
+ fieldTitleZh = "TitleZh"
fieldText = "Text"
+ fieldTextZh = "TextZh"
fieldSpace = "SpaceID"
fieldTitleNoTerms = "TitleNoTerms"
fieldTextNoTerms = "TextNoTerms"
diff --git a/pkg/lib/localstore/ftsearch/ftsearchtantivy.go b/pkg/lib/localstore/ftsearch/ftsearchtantivy.go
index ffaacac49..984b51f33 100644
--- a/pkg/lib/localstore/ftsearch/ftsearchtantivy.go
+++ b/pkg/lib/localstore/ftsearch/ftsearchtantivy.go
@@ -19,6 +19,7 @@ import (
"os"
"path/filepath"
"strings"
+ "sync"
"time"
"github.com/anyproto/any-sync/app"
@@ -49,12 +50,15 @@ type ftSearchTantivy struct {
index *tantivy.TantivyContext
schema *tantivy.Schema
parserPool *fastjson.ParserPool
+ mu sync.Mutex
}
func (f *ftSearchTantivy) BatchDeleteObjects(ids []string) error {
if len(ids) == 0 {
return nil
}
+ f.mu.Lock()
+ defer f.mu.Unlock()
start := time.Now()
defer func() {
spentMs := time.Since(start).Milliseconds()
@@ -74,6 +78,8 @@ func (f *ftSearchTantivy) BatchDeleteObjects(ids []string) error {
}
func (f *ftSearchTantivy) DeleteObject(objectId string) error {
+ f.mu.Lock()
+ defer f.mu.Unlock()
return f.index.DeleteDocuments(fieldIdRaw, objectId)
}
@@ -146,6 +152,15 @@ func (f *ftSearchTantivy) Run(context.Context) error {
tantivy.TokenizerNgram,
)
+ err = builder.AddTextField(
+ fieldTitleZh,
+ true,
+ true,
+ false,
+ tantivy.IndexRecordOptionWithFreqsAndPositions,
+ tantivy.TokenizerJieba,
+ )
+
err = builder.AddTextField(
fieldText,
true,
@@ -155,6 +170,15 @@ func (f *ftSearchTantivy) Run(context.Context) error {
tantivy.TokenizerSimple,
)
+ err = builder.AddTextField(
+ fieldTextZh,
+ true,
+ true,
+ false,
+ tantivy.IndexRecordOptionWithFreqsAndPositions,
+ tantivy.TokenizerJieba,
+ )
+
schema, err := builder.BuildSchema()
if err != nil {
return err
@@ -175,6 +199,11 @@ func (f *ftSearchTantivy) Run(context.Context) error {
return err
}
+ err = index.RegisterTextAnalyzerJieba(tantivy.TokenizerJieba, 40)
+ if err != nil {
+ return err
+ }
+
err = index.RegisterTextAnalyzerSimple(tokenizerId, 1000, tantivy.English)
if err != nil {
return err
@@ -206,6 +235,8 @@ func (f *ftSearchTantivy) tryToBuildSchema(schema *tantivy.Schema) (*tantivy.Tan
}
func (f *ftSearchTantivy) Index(doc SearchDoc) error {
+ f.mu.Lock()
+ defer f.mu.Unlock()
metrics.ObjectFTUpdatedCounter.Inc()
tantivyDoc, err := f.convertDoc(doc)
if err != nil {
@@ -234,10 +265,18 @@ func (f *ftSearchTantivy) convertDoc(doc SearchDoc) (*tantivy.Document, error) {
if err != nil {
return nil, err
}
+ err = document.AddField(fieldTitleZh, doc.Title, f.index)
+ if err != nil {
+ return nil, err
+ }
err = document.AddField(fieldText, doc.Text, f.index)
if err != nil {
return nil, err
}
+ err = document.AddField(fieldTextZh, doc.Text, f.index)
+ if err != nil {
+ return nil, err
+ }
return document, nil
}
@@ -256,7 +295,9 @@ func (f *ftSearchTantivy) BatchIndex(ctx context.Context, docs []SearchDoc, dele
l.Debugf("ft index done")
}
}()
+ f.mu.Lock()
err = f.index.DeleteDocuments(fieldIdRaw, deletedDocs...)
+ f.mu.Unlock()
if err != nil {
return err
}
@@ -268,6 +309,8 @@ func (f *ftSearchTantivy) BatchIndex(ctx context.Context, docs []SearchDoc, dele
}
tantivyDocs = append(tantivyDocs, tantivyDoc)
}
+ f.mu.Lock()
+ defer f.mu.Unlock()
return f.index.AddAndConsumeDocuments(tantivyDocs...)
}
@@ -280,7 +323,9 @@ func (f *ftSearchTantivy) Search(spaceIds []string, highlightFormatter Highlight
if spaceIdsQuery != "" {
query = fmt.Sprintf("%s AND %s", spaceIdsQuery, query)
}
- result, err := f.index.Search(query, 100, true, fieldId, fieldSpace, fieldTitle, fieldText)
+ result, err := f.index.Search(query, 100, true,
+ fieldId, fieldSpace, fieldTitle, fieldTitleZh, fieldText, fieldTextZh,
+ )
if err != nil {
return nil, wrapError(err)
}
@@ -301,9 +346,9 @@ func (f *ftSearchTantivy) Search(spaceIds []string, highlightFormatter Highlight
for _, val := range highlights {
object := val.GetObject()
fieldName := string(object.Get("field_name").GetStringBytes())
- if fieldName == fieldTitle {
+ if fieldName == fieldTitle || fieldName == fieldTitleZh {
// fragments[fieldTitle] = append(fragments[fieldTitle], string(object.Get("fragment").MarshalTo(nil)))
- } else if fieldName == fieldText {
+ } else if fieldName == fieldText || fieldName == fieldTextZh {
fragments[fieldText] = append(fragments[fieldText], string(object.Get("fragment").MarshalTo(nil)))
}
}
diff --git a/pkg/lib/localstore/ftsearch/ftsearchtantivy_test.go b/pkg/lib/localstore/ftsearch/ftsearchtantivy_test.go
index 5aa81b764..bf80290c2 100644
--- a/pkg/lib/localstore/ftsearch/ftsearchtantivy_test.go
+++ b/pkg/lib/localstore/ftsearch/ftsearchtantivy_test.go
@@ -117,6 +117,9 @@ func TestNewFTSearch(t *testing.T) {
{
name: "assertFoundCaseSensitivePartsOfTheWords",
tester: assertFoundCaseSensitivePartsOfTheWords,
+ }, {
+ name: "assertChineseFound",
+ tester: assertChineseFound,
},
{
name: "assertMultiSpace",
@@ -176,27 +179,21 @@ func assertChineseFound(t *testing.T, tmpDir string) {
require.NoError(t, ft.Index(SearchDoc{
Id: "1",
Title: "",
- Text: "你好",
+ Text: "张华考上了北京大学;李萍进了中等技术学校;我在百货公司当售货员:我们都有光明的前途",
}))
+
require.NoError(t, ft.Index(SearchDoc{
Id: "2",
- Title: "",
- Text: "交代",
- }))
- require.NoError(t, ft.Index(SearchDoc{
- Id: "3",
- Title: "",
- Text: "长江大桥",
+ Title: "张华考上了北京大学;李萍进了中等技术学校;我在百货公司当售货员:我们都有光明的前途",
+ Text: "",
}))
queries := []string{
- "你好世界",
- "亲口交代",
- "长江",
+ "售货员",
}
for _, qry := range queries {
- validateSearch(t, ft, "", qry, 1)
+ validateSearch(t, ft, "", qry, 2)
}
_ = ft.Close(nil)
@@ -388,7 +385,7 @@ func assertMultiSpace(t *testing.T, tmpDir string) {
validateSearch(t, ft, "", "Advanced", 1)
validateSearch(t, ft, "", "dash", 2)
validateSearch(t, ft, "", "space", 4)
- validateSearch(t, ft, "", "of", 0)
+ validateSearch(t, ft, "", "of", 4)
_ = ft.Close(nil)
}
diff --git a/pkg/lib/localstore/objectstore/fixture.go b/pkg/lib/localstore/objectstore/fixture.go
index 069a2ef43..cc98324c2 100644
--- a/pkg/lib/localstore/objectstore/fixture.go
+++ b/pkg/lib/localstore/objectstore/fixture.go
@@ -30,7 +30,7 @@ func (fx *StoreFixture) TechSpaceId() string {
type detailsFromId struct {
}
-func (d *detailsFromId) DetailsFromIdBasedSource(id string) (*domain.Details, error) {
+func (d *detailsFromId) DetailsFromIdBasedSource(id domain.FullID) (*domain.Details, error) {
return nil, fmt.Errorf("not found")
}
diff --git a/pkg/lib/localstore/objectstore/service.go b/pkg/lib/localstore/objectstore/service.go
index 74d21b799..6e943045f 100644
--- a/pkg/lib/localstore/objectstore/service.go
+++ b/pkg/lib/localstore/objectstore/service.go
@@ -47,6 +47,7 @@ type CrossSpace interface {
type ObjectStore interface {
app.ComponentRunnable
+ IterateSpaceIndex(func(store spaceindex.Store) error) error
SpaceIndex(spaceId string) spaceindex.Store
GetCrdtDb(spaceId string) anystore.DB
@@ -116,6 +117,21 @@ type dsObjectStore struct {
componentCtxCancel context.CancelFunc
}
+func (s *dsObjectStore) IterateSpaceIndex(f func(store spaceindex.Store) error) error {
+ s.Lock()
+ spaceIndexes := make([]spaceindex.Store, 0, len(s.spaceIndexes))
+ for _, store := range s.spaceIndexes {
+ spaceIndexes = append(spaceIndexes, store)
+ }
+ s.Unlock()
+ for _, store := range s.spaceIndexes {
+ if err := f(store); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
func New() ObjectStore {
ctx, cancel := context.WithCancel(context.Background())
return &dsObjectStore{
diff --git a/pkg/lib/localstore/objectstore/spaceindex/fixture.go b/pkg/lib/localstore/objectstore/spaceindex/fixture.go
index 0ba240f1d..da5cf3e57 100644
--- a/pkg/lib/localstore/objectstore/spaceindex/fixture.go
+++ b/pkg/lib/localstore/objectstore/spaceindex/fixture.go
@@ -32,7 +32,7 @@ const spaceName = "space1"
type detailsFromId struct {
}
-func (d *detailsFromId) DetailsFromIdBasedSource(id string) (*domain.Details, error) {
+func (d *detailsFromId) DetailsFromIdBasedSource(id domain.FullID) (*domain.Details, error) {
return nil, fmt.Errorf("not found")
}
diff --git a/pkg/lib/localstore/objectstore/spaceindex/objects.go b/pkg/lib/localstore/objectstore/spaceindex/objects.go
index a2ada8bfe..398a20fb1 100644
--- a/pkg/lib/localstore/objectstore/spaceindex/objects.go
+++ b/pkg/lib/localstore/objectstore/spaceindex/objects.go
@@ -78,7 +78,10 @@ func (s *dsObjectStore) GetInfosByIds(ids []string) ([]*database.ObjectInfo, err
}
func (s *dsObjectStore) getObjectInfo(ctx context.Context, id string) (*database.ObjectInfo, error) {
- details, err := s.sourceService.DetailsFromIdBasedSource(id)
+ details, err := s.sourceService.DetailsFromIdBasedSource(domain.FullID{
+ ObjectID: id,
+ SpaceID: s.SpaceId(),
+ })
if err == nil {
details.SetString(bundle.RelationKeyId, id)
return &database.ObjectInfo{
diff --git a/pkg/lib/localstore/objectstore/spaceindex/queries.go b/pkg/lib/localstore/objectstore/spaceindex/queries.go
index 2480c3f21..39ecf0a05 100644
--- a/pkg/lib/localstore/objectstore/spaceindex/queries.go
+++ b/pkg/lib/localstore/objectstore/spaceindex/queries.go
@@ -178,7 +178,10 @@ func (s *dsObjectStore) QueryFromFulltext(results []database.FulltextResult, par
// Don't use spaceID because expected objects are virtual
if sbt, err := typeprovider.SmartblockTypeFromID(res.Path.ObjectId); err == nil {
if indexDetails, _ := sbt.Indexable(); !indexDetails && s.sourceService != nil {
- details, err := s.sourceService.DetailsFromIdBasedSource(res.Path.ObjectId)
+ details, err := s.sourceService.DetailsFromIdBasedSource(domain.FullID{
+ ObjectID: res.Path.ObjectId,
+ SpaceID: s.SpaceId(),
+ })
if err != nil {
log.Errorf("QueryByIds failed to GetDetailsFromIdBasedSource id: %s", res.Path.ObjectId)
continue
@@ -443,7 +446,10 @@ func (s *dsObjectStore) QueryByIds(ids []string) (records []database.Record, err
// Don't use spaceID because expected objects are virtual
if sbt, err := typeprovider.SmartblockTypeFromID(id); err == nil {
if indexDetails, _ := sbt.Indexable(); !indexDetails && s.sourceService != nil {
- details, err := s.sourceService.DetailsFromIdBasedSource(id)
+ details, err := s.sourceService.DetailsFromIdBasedSource(domain.FullID{
+ ObjectID: id,
+ SpaceID: s.SpaceId(),
+ })
if err != nil {
log.Errorf("QueryByIds failed to GetDetailsFromIdBasedSource id: %s", id)
continue
diff --git a/pkg/lib/localstore/objectstore/spaceindex/queries_test.go b/pkg/lib/localstore/objectstore/spaceindex/queries_test.go
index 6b8fb3f2f..5297c7d11 100644
--- a/pkg/lib/localstore/objectstore/spaceindex/queries_test.go
+++ b/pkg/lib/localstore/objectstore/spaceindex/queries_test.go
@@ -1036,7 +1036,7 @@ type dummySourceService struct {
objectToReturn TestObject
}
-func (s dummySourceService) DetailsFromIdBasedSource(id string) (*domain.Details, error) {
+func (s dummySourceService) DetailsFromIdBasedSource(id domain.FullID) (*domain.Details, error) {
return makeDetails(s.objectToReturn), nil
}
diff --git a/pkg/lib/localstore/objectstore/spaceindex/store.go b/pkg/lib/localstore/objectstore/spaceindex/store.go
index c11fbde21..6040b8276 100644
--- a/pkg/lib/localstore/objectstore/spaceindex/store.go
+++ b/pkg/lib/localstore/objectstore/spaceindex/store.go
@@ -90,7 +90,7 @@ type Store interface {
}
type SourceDetailsFromID interface {
- DetailsFromIdBasedSource(id string) (*domain.Details, error)
+ DetailsFromIdBasedSource(id domain.FullID) (*domain.Details, error)
}
type FulltextQueue interface {
@@ -100,8 +100,6 @@ type FulltextQueue interface {
}
type dsObjectStore struct {
- initErr error
-
spaceId string
db anystore.DB
objects anystore.Collection
@@ -157,8 +155,7 @@ func New(componentCtx context.Context, spaceId string, deps Deps) Store {
var err error
err = s.openDatabase(componentCtx, deps.DbPath)
if err != nil {
- s.initErr = err
- return s
+ return NewInvalidStore(err)
}
return s
diff --git a/pkg/lib/localstore/objectstore/spaceindex/store_test.go b/pkg/lib/localstore/objectstore/spaceindex/store_test.go
new file mode 100644
index 000000000..408ddca4a
--- /dev/null
+++ b/pkg/lib/localstore/objectstore/spaceindex/store_test.go
@@ -0,0 +1,18 @@
+package spaceindex
+
+import (
+ "context"
+ "testing"
+
+ "github.com/stretchr/testify/require"
+)
+
+func TestNewWithError(t *testing.T) {
+ spaceIndex := New(context.Background(), "space1", Deps{
+ // Crazy path to force an error
+ DbPath: "....\\\\\\....///////****",
+ })
+
+ _, err := spaceIndex.ListIds()
+ require.Error(t, err)
+}
diff --git a/pkg/lib/logging/logging.go b/pkg/lib/logging/logging.go
index 430a802d4..fef03d278 100644
--- a/pkg/lib/logging/logging.go
+++ b/pkg/lib/logging/logging.go
@@ -2,16 +2,21 @@ package logging
import (
"fmt"
+ "net/url"
"os"
+ "path/filepath"
"strings"
"github.com/anyproto/any-sync/app/logger"
"go.uber.org/zap"
+ "gopkg.in/natefinch/lumberjack.v2"
+ "github.com/anyproto/anytype-heart/pkg/lib/environment"
"github.com/anyproto/anytype-heart/util/vcs"
)
const DefaultLogLevels = "common.commonspace.headsync=INFO;core.block.editor.spaceview=INFO;*=WARN"
+const lumberjackScheme = "lumberjack"
var DefaultCfg = logger.Config{
Production: false,
@@ -69,18 +74,70 @@ func SetLogLevels(levels string) {
cfg.ApplyGlobal()
}
-func init() {
- if os.Getenv("ANYTYPE_LOG_NOGELF") == "1" {
- DefaultCfg.Format = logger.ColorizedOutput
+type lumberjackSink struct {
+ *lumberjack.Logger
+}
+
+func (s *lumberjackSink) Sync() error {
+ return nil
+}
+
+func newLumberjackSink(u *url.URL) (zap.Sink, error) {
+ return &lumberjackSink{
+ Logger: &lumberjack.Logger{
+ Filename: u.Path,
+ MaxSize: 1,
+ MaxAge: 28,
+ },
+ }, nil
+}
+
+func Init(root string, logLevels string, sendLogs bool, saveLogs bool) {
+ if root != "" {
+ environment.ROOT_PATH = filepath.Join(root, "common")
+ err := os.Mkdir(environment.ROOT_PATH, 0755)
+ if err != nil {
+ fmt.Println("failed to create global dir", err)
+ }
+ }
+
+ if os.Getenv("ANYTYPE_LOG_NOGELF") == "1" || !sendLogs {
+ if !saveLogs {
+ DefaultCfg.Format = logger.ColorizedOutput
+ }
} else {
registerGelfSink(&DefaultCfg)
info := vcs.GetVCSInfo()
SetVersion(info.Version())
}
- logLevels := os.Getenv("ANYTYPE_LOG_LEVEL")
+ if saveLogs {
+ registerLumberjackSink(environment.ROOT_PATH, &DefaultCfg)
+ }
+ envLogLevels := os.Getenv("ANYTYPE_LOG_LEVEL")
+ if logLevels == "" {
+ logLevels = envLogLevels
+ }
if logLevels == "" {
logLevels = DefaultLogLevels
}
SetLogLevels(logLevels)
}
+
+func registerLumberjackSink(globalRoot string, config *logger.Config) {
+ if globalRoot == "" {
+ fmt.Println("globalRoot dir is not set")
+ return
+ }
+ err := zap.RegisterSink(lumberjackScheme, newLumberjackSink)
+ if err != nil {
+ fmt.Println("failed to register lumberjack sink", err)
+ }
+ logsDir := filepath.Join(globalRoot, "logs")
+ err = os.Mkdir(logsDir, 0755)
+ if err != nil {
+ fmt.Println("failed to create globalRoot dir", err)
+ }
+ environment.LOG_PATH = filepath.Join(logsDir, "anytype.log")
+ config.AddOutputPaths = append(config.AddOutputPaths, lumberjackScheme+":"+environment.LOG_PATH)
+}
diff --git a/pkg/lib/pb/model/models.pb.go b/pkg/lib/pb/model/models.pb.go
index 71d3fd496..95297191f 100644
--- a/pkg/lib/pb/model/models.pb.go
+++ b/pkg/lib/pb/model/models.pb.go
@@ -5376,6 +5376,7 @@ type AccountInfo struct {
ArchiveObjectId string `protobuf:"bytes,3,opt,name=archiveObjectId,proto3" json:"archiveObjectId,omitempty"`
ProfileObjectId string `protobuf:"bytes,4,opt,name=profileObjectId,proto3" json:"profileObjectId,omitempty"`
MarketplaceWorkspaceId string `protobuf:"bytes,11,opt,name=marketplaceWorkspaceId,proto3" json:"marketplaceWorkspaceId,omitempty"`
+ WorkspaceObjectId string `protobuf:"bytes,15,opt,name=workspaceObjectId,proto3" json:"workspaceObjectId,omitempty"`
DeviceId string `protobuf:"bytes,8,opt,name=deviceId,proto3" json:"deviceId,omitempty"`
AccountSpaceId string `protobuf:"bytes,9,opt,name=accountSpaceId,proto3" json:"accountSpaceId,omitempty"`
WidgetsId string `protobuf:"bytes,10,opt,name=widgetsId,proto3" json:"widgetsId,omitempty"`
@@ -5449,6 +5450,13 @@ func (m *AccountInfo) GetMarketplaceWorkspaceId() string {
return ""
}
+func (m *AccountInfo) GetWorkspaceObjectId() string {
+ if m != nil {
+ return m.WorkspaceObjectId
+ }
+ return ""
+}
+
func (m *AccountInfo) GetDeviceId() string {
if m != nil {
return m.DeviceId
@@ -9400,547 +9408,548 @@ func init() {
}
var fileDescriptor_98a910b73321e591 = []byte{
- // 8632 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7d, 0x4b, 0x90, 0x24, 0x49,
- 0x76, 0x50, 0xe5, 0x3f, 0xf3, 0x65, 0x7d, 0xbc, 0xbc, 0x7f, 0xb9, 0x39, 0xad, 0x56, 0x2b, 0x77,
- 0x76, 0xa6, 0xb7, 0x77, 0xb6, 0x7a, 0xa6, 0xe7, 0xbb, 0xa3, 0x9d, 0x99, 0xad, 0x4f, 0x56, 0x57,
- 0x4e, 0xd7, 0x6f, 0x22, 0xb3, 0xbb, 0x77, 0xc7, 0x24, 0x1a, 0xaf, 0x0c, 0xaf, 0xcc, 0x98, 0x8a,
- 0x8c, 0xc8, 0x8d, 0xf0, 0xac, 0xae, 0x1a, 0x03, 0x4c, 0x80, 0x90, 0xd0, 0x6d, 0x91, 0x21, 0x3e,
- 0x07, 0x4c, 0xbb, 0x37, 0x0c, 0xad, 0x81, 0x71, 0x58, 0x63, 0xc1, 0x90, 0x19, 0xe8, 0x82, 0xcc,
- 0xb8, 0x2c, 0x70, 0x00, 0x4e, 0x60, 0x3b, 0x47, 0x4c, 0xc8, 0xc4, 0x49, 0x86, 0x71, 0xc0, 0xde,
- 0x73, 0x8f, 0x4f, 0x7e, 0xaa, 0x3a, 0x7b, 0x24, 0x61, 0x9c, 0x2a, 0xfc, 0xc5, 0x7b, 0x2f, 0xfc,
- 0xf3, 0xfc, 0xf9, 0xfb, 0x79, 0x16, 0xbc, 0x3c, 0x3c, 0xe9, 0xdd, 0x73, 0x9d, 0xa3, 0x7b, 0xc3,
- 0xa3, 0x7b, 0x03, 0xdf, 0x96, 0xee, 0xbd, 0x61, 0xe0, 0x2b, 0x3f, 0xd4, 0x8d, 0x70, 0x8d, 0x5a,
- 0x7c, 0x49, 0x78, 0xe7, 0xea, 0x7c, 0x28, 0xd7, 0x08, 0x5a, 0xbf, 0xd9, 0xf3, 0xfd, 0x9e, 0x2b,
- 0x35, 0xea, 0xd1, 0xe8, 0xf8, 0x5e, 0xa8, 0x82, 0x51, 0x57, 0x69, 0xe4, 0xc6, 0xcf, 0xf2, 0x70,
- 0xbd, 0x3d, 0x10, 0x81, 0xda, 0x70, 0xfd, 0xee, 0x49, 0xdb, 0x13, 0xc3, 0xb0, 0xef, 0xab, 0x0d,
- 0x11, 0x4a, 0xfe, 0x1a, 0x14, 0x8f, 0x10, 0x18, 0xd6, 0x32, 0xb7, 0x73, 0x77, 0xaa, 0xf7, 0xaf,
- 0xae, 0x8d, 0x31, 0x5e, 0x23, 0x0a, 0xcb, 0xe0, 0xf0, 0x37, 0xa0, 0x64, 0x4b, 0x25, 0x1c, 0x37,
- 0xac, 0x65, 0x6f, 0x67, 0xee, 0x54, 0xef, 0xdf, 0x58, 0xd3, 0x1f, 0x5e, 0x8b, 0x3e, 0xbc, 0xd6,
- 0xa6, 0x0f, 0x5b, 0x11, 0x1e, 0x7f, 0x17, 0xca, 0xc7, 0x8e, 0x2b, 0x1f, 0xca, 0xf3, 0xb0, 0x96,
- 0xbb, 0x94, 0x66, 0x23, 0x5b, 0xcb, 0x58, 0x31, 0x32, 0xdf, 0x84, 0x65, 0x79, 0xa6, 0x02, 0x61,
- 0x49, 0x57, 0x28, 0xc7, 0xf7, 0xc2, 0x5a, 0x9e, 0x7a, 0x78, 0x63, 0xa2, 0x87, 0xd1, 0x7b, 0x22,
- 0x9f, 0x20, 0xe1, 0xb7, 0xa1, 0xea, 0x1f, 0x7d, 0x26, 0xbb, 0xaa, 0x73, 0x3e, 0x94, 0x61, 0xad,
- 0x70, 0x3b, 0x77, 0xa7, 0x62, 0xa5, 0x41, 0xfc, 0x5b, 0x50, 0xed, 0xfa, 0xae, 0x2b, 0xbb, 0xfa,
- 0x1b, 0xc5, 0xcb, 0x87, 0x95, 0xc6, 0xe5, 0x6f, 0xc1, 0xb5, 0x40, 0x0e, 0xfc, 0x53, 0x69, 0x6f,
- 0xc6, 0x50, 0x1a, 0x67, 0x99, 0x3e, 0x33, 0xfb, 0x25, 0x5f, 0x87, 0xa5, 0xc0, 0xf4, 0x6f, 0xd7,
- 0xf1, 0x4e, 0xc2, 0x5a, 0x89, 0x86, 0xf5, 0xd2, 0x05, 0xc3, 0x42, 0x1c, 0x6b, 0x9c, 0x82, 0x33,
- 0xc8, 0x9d, 0xc8, 0xf3, 0x5a, 0xe5, 0x76, 0xe6, 0x4e, 0xc5, 0xc2, 0x47, 0xfe, 0x3e, 0xd4, 0xfc,
- 0xc0, 0xe9, 0x39, 0x9e, 0x70, 0x37, 0x03, 0x29, 0x94, 0xb4, 0x3b, 0xce, 0x40, 0x86, 0x4a, 0x0c,
- 0x86, 0x35, 0xb8, 0x9d, 0xb9, 0x93, 0xb3, 0x2e, 0x7c, 0xcf, 0xdf, 0xd4, 0x2b, 0xd4, 0xf2, 0x8e,
- 0xfd, 0x5a, 0xd5, 0x0c, 0x7f, 0xbc, 0x2f, 0xdb, 0xe6, 0xb5, 0x15, 0x23, 0x36, 0xfe, 0x34, 0x0b,
- 0xc5, 0xb6, 0x14, 0x41, 0xb7, 0x5f, 0xff, 0xcd, 0x0c, 0x14, 0x2d, 0x19, 0x8e, 0x5c, 0xc5, 0xeb,
- 0x50, 0xd6, 0x73, 0xdb, 0xb2, 0x6b, 0x19, 0xea, 0x5d, 0xdc, 0xfe, 0x32, 0xb2, 0xb3, 0x06, 0xf9,
- 0x81, 0x54, 0xa2, 0x96, 0xa3, 0x19, 0xaa, 0x4f, 0xf4, 0x4a, 0x7f, 0x7e, 0x6d, 0x4f, 0x2a, 0x61,
- 0x11, 0x5e, 0xfd, 0x8b, 0x0c, 0xe4, 0xb1, 0xc9, 0x6f, 0x42, 0xa5, 0xef, 0xf4, 0xfa, 0xae, 0xd3,
- 0xeb, 0x2b, 0xd3, 0x91, 0x04, 0xc0, 0x3f, 0x84, 0x95, 0xb8, 0x61, 0x09, 0xaf, 0x27, 0xb1, 0x47,
- 0xb3, 0x84, 0x9f, 0x5e, 0x5a, 0x93, 0xc8, 0xbc, 0x06, 0x25, 0xda, 0x0f, 0x2d, 0x9b, 0x24, 0xba,
- 0x62, 0x45, 0x4d, 0x14, 0xb7, 0x68, 0xa5, 0x1e, 0xca, 0xf3, 0x5a, 0x9e, 0xde, 0xa6, 0x41, 0x7c,
- 0x1d, 0x56, 0xa2, 0xe6, 0x96, 0x99, 0x8d, 0xc2, 0xe5, 0xb3, 0x31, 0x89, 0xdf, 0xf8, 0xcf, 0x2d,
- 0x28, 0xd0, 0xb6, 0xe4, 0xcb, 0x90, 0x75, 0xa2, 0x89, 0xce, 0x3a, 0x36, 0xbf, 0x07, 0xc5, 0x63,
- 0x47, 0xba, 0xf6, 0x73, 0x67, 0xd8, 0xa0, 0xf1, 0x26, 0x2c, 0x06, 0x32, 0x54, 0x81, 0x63, 0xa4,
- 0x5f, 0x6f, 0xd0, 0x5f, 0x9a, 0xa5, 0x03, 0xd6, 0xac, 0x14, 0xa2, 0x35, 0x46, 0x86, 0xc3, 0xee,
- 0xf6, 0x1d, 0xd7, 0x0e, 0xa4, 0xd7, 0xb2, 0xf5, 0x3e, 0xad, 0x58, 0x69, 0x10, 0xbf, 0x03, 0x2b,
- 0x47, 0xa2, 0x7b, 0xd2, 0x0b, 0xfc, 0x91, 0x87, 0x1b, 0xc2, 0x0f, 0x68, 0xd8, 0x15, 0x6b, 0x12,
- 0xcc, 0x5f, 0x87, 0x82, 0x70, 0x9d, 0x9e, 0x47, 0x3b, 0x71, 0x79, 0x6a, 0xd1, 0x75, 0x5f, 0xd6,
- 0x11, 0xc3, 0xd2, 0x88, 0x7c, 0x07, 0x96, 0x4e, 0x65, 0xa0, 0x9c, 0xae, 0x70, 0x09, 0x5e, 0x2b,
- 0x11, 0x65, 0x63, 0x26, 0xe5, 0xe3, 0x34, 0xa6, 0x35, 0x4e, 0xc8, 0x5b, 0x00, 0x21, 0xaa, 0x49,
- 0x5a, 0x4e, 0xb3, 0x17, 0x5e, 0x9d, 0xc9, 0x66, 0xd3, 0xf7, 0x94, 0xf4, 0xd4, 0x5a, 0x3b, 0x46,
- 0xdf, 0x59, 0xb0, 0x52, 0xc4, 0xfc, 0x5d, 0xc8, 0x2b, 0x79, 0xa6, 0x6a, 0xcb, 0x97, 0xcc, 0x68,
- 0xc4, 0xa4, 0x23, 0xcf, 0xd4, 0xce, 0x82, 0x45, 0x04, 0x48, 0x88, 0x9b, 0xac, 0xb6, 0x32, 0x07,
- 0x21, 0xee, 0x4b, 0x24, 0x44, 0x02, 0xfe, 0x01, 0x14, 0x5d, 0x71, 0xee, 0x8f, 0x54, 0x8d, 0x11,
- 0xe9, 0x57, 0x2f, 0x25, 0xdd, 0x25, 0xd4, 0x9d, 0x05, 0xcb, 0x10, 0xf1, 0xb7, 0x20, 0x67, 0x3b,
- 0xa7, 0xb5, 0x55, 0xa2, 0xbd, 0x7d, 0x29, 0xed, 0x96, 0x73, 0xba, 0xb3, 0x60, 0x21, 0x3a, 0xdf,
- 0x84, 0xf2, 0x91, 0xef, 0x9f, 0x0c, 0x44, 0x70, 0x52, 0xe3, 0x44, 0xfa, 0xb5, 0x4b, 0x49, 0x37,
- 0x0c, 0xf2, 0xce, 0x82, 0x15, 0x13, 0xe2, 0x90, 0x9d, 0xae, 0xef, 0xd5, 0xae, 0xcc, 0x31, 0xe4,
- 0x56, 0xd7, 0xf7, 0x70, 0xc8, 0x48, 0x80, 0x84, 0xae, 0xe3, 0x9d, 0xd4, 0xae, 0xce, 0x41, 0x88,
- 0x9a, 0x13, 0x09, 0x91, 0x00, 0xbb, 0x6d, 0x0b, 0x25, 0x4e, 0x1d, 0xf9, 0xac, 0x76, 0x6d, 0x8e,
- 0x6e, 0x6f, 0x19, 0x64, 0xec, 0x76, 0x44, 0x88, 0x4c, 0xa2, 0xad, 0x59, 0xbb, 0x3e, 0x07, 0x93,
- 0x48, 0xa3, 0x23, 0x93, 0x88, 0x90, 0xff, 0x25, 0x58, 0x3d, 0x96, 0x42, 0x8d, 0x02, 0x69, 0x27,
- 0x07, 0xdd, 0x0d, 0xe2, 0xb6, 0x76, 0xf9, 0xda, 0x4f, 0x52, 0xed, 0x2c, 0x58, 0xd3, 0xac, 0xf8,
- 0xfb, 0x50, 0x70, 0x85, 0x92, 0x67, 0xb5, 0x1a, 0xf1, 0x6c, 0x3c, 0x47, 0x28, 0x94, 0x3c, 0xdb,
- 0x59, 0xb0, 0x34, 0x09, 0xff, 0x2e, 0xac, 0x28, 0x71, 0xe4, 0xca, 0x83, 0x63, 0x83, 0x10, 0xd6,
- 0xbe, 0x42, 0x5c, 0x5e, 0xbb, 0x5c, 0x9c, 0xc7, 0x69, 0x76, 0x16, 0xac, 0x49, 0x36, 0xd8, 0x2b,
- 0x02, 0xd5, 0xea, 0x73, 0xf4, 0x8a, 0xf8, 0x61, 0xaf, 0x88, 0x84, 0xef, 0x42, 0x95, 0x1e, 0x36,
- 0x7d, 0x77, 0x34, 0xf0, 0x6a, 0x2f, 0x11, 0x87, 0x3b, 0xcf, 0xe7, 0xa0, 0xf1, 0x77, 0x16, 0xac,
- 0x34, 0x39, 0x2e, 0x22, 0x35, 0x2d, 0xff, 0x59, 0xed, 0xe6, 0x1c, 0x8b, 0xd8, 0x31, 0xc8, 0xb8,
- 0x88, 0x11, 0x21, 0x6e, 0xbd, 0x67, 0x8e, 0xdd, 0x93, 0xaa, 0xf6, 0x0b, 0x73, 0x6c, 0xbd, 0x27,
- 0x84, 0x8a, 0x5b, 0x4f, 0x13, 0xa1, 0x18, 0x77, 0xfb, 0x42, 0xd5, 0x6e, 0xcd, 0x21, 0xc6, 0x9b,
- 0x7d, 0x41, 0xba, 0x02, 0x09, 0xea, 0x9f, 0xc3, 0x62, 0x5a, 0x2b, 0x73, 0x0e, 0xf9, 0x40, 0x0a,
- 0x7d, 0x22, 0x94, 0x2d, 0x7a, 0x46, 0x98, 0xb4, 0x1d, 0x45, 0x27, 0x42, 0xd9, 0xa2, 0x67, 0x7e,
- 0x1d, 0x8a, 0xda, 0x36, 0x21, 0x85, 0x5f, 0xb6, 0x4c, 0x0b, 0x71, 0xed, 0x40, 0xf4, 0xe8, 0xdc,
- 0x2a, 0x5b, 0xf4, 0x8c, 0xb8, 0x76, 0xe0, 0x0f, 0x0f, 0x3c, 0x52, 0xd8, 0x65, 0xcb, 0xb4, 0xea,
- 0xff, 0xea, 0x7d, 0x28, 0x99, 0x4e, 0xd5, 0xff, 0x51, 0x06, 0x8a, 0x5a, 0xa1, 0xf0, 0x8f, 0xa0,
- 0x10, 0xaa, 0x73, 0x57, 0x52, 0x1f, 0x96, 0xef, 0x7f, 0x7d, 0x0e, 0x25, 0xb4, 0xd6, 0x46, 0x02,
- 0x4b, 0xd3, 0x35, 0x2c, 0x28, 0x50, 0x9b, 0x97, 0x20, 0x67, 0xf9, 0xcf, 0xd8, 0x02, 0x07, 0x28,
- 0xea, 0xc5, 0x62, 0x19, 0x04, 0x6e, 0x39, 0xa7, 0x2c, 0x8b, 0xc0, 0x1d, 0x29, 0x6c, 0x19, 0xb0,
- 0x1c, 0x5f, 0x82, 0x4a, 0xb4, 0x2c, 0x21, 0xcb, 0x73, 0x06, 0x8b, 0xa9, 0x05, 0x0f, 0x59, 0xa1,
- 0xfe, 0xbf, 0xf2, 0x90, 0xc7, 0xfd, 0xcf, 0x5f, 0x86, 0x25, 0x25, 0x82, 0x9e, 0xd4, 0x86, 0x70,
- 0x6c, 0xa4, 0x8c, 0x03, 0xf9, 0x07, 0xd1, 0x18, 0xb2, 0x34, 0x86, 0x57, 0x9f, 0xab, 0x57, 0xc6,
- 0x46, 0x90, 0x3a, 0x85, 0x73, 0xf3, 0x9d, 0xc2, 0xdb, 0x50, 0x46, 0x75, 0xd6, 0x76, 0x3e, 0x97,
- 0x34, 0xf5, 0xcb, 0xf7, 0xef, 0x3e, 0xff, 0x93, 0x2d, 0x43, 0x61, 0xc5, 0xb4, 0xbc, 0x05, 0x95,
- 0xae, 0x08, 0x6c, 0xea, 0x0c, 0xad, 0xd6, 0xf2, 0xfd, 0x6f, 0x3c, 0x9f, 0xd1, 0x66, 0x44, 0x62,
- 0x25, 0xd4, 0xfc, 0x00, 0xaa, 0xb6, 0x0c, 0xbb, 0x81, 0x33, 0x24, 0xf5, 0xa6, 0xcf, 0xe2, 0x6f,
- 0x3e, 0x9f, 0xd9, 0x56, 0x42, 0x64, 0xa5, 0x39, 0xa0, 0x45, 0x16, 0xc4, 0xfa, 0xad, 0x44, 0x06,
- 0x42, 0x02, 0x68, 0xbc, 0x0b, 0xe5, 0x68, 0x3c, 0x7c, 0x11, 0xca, 0xf8, 0x77, 0xdf, 0xf7, 0x24,
- 0x5b, 0xc0, 0xb5, 0xc5, 0x56, 0x7b, 0x20, 0x5c, 0x97, 0x65, 0xf8, 0x32, 0x00, 0x36, 0xf7, 0xa4,
- 0xed, 0x8c, 0x06, 0x2c, 0xdb, 0xf8, 0xe5, 0x48, 0x5a, 0xca, 0x90, 0x3f, 0x14, 0x3d, 0xa4, 0x58,
- 0x84, 0x72, 0xa4, 0xae, 0x59, 0x06, 0xe9, 0xb7, 0x44, 0xd8, 0x3f, 0xf2, 0x45, 0x60, 0xb3, 0x2c,
- 0xaf, 0x42, 0x69, 0x3d, 0xe8, 0xf6, 0x9d, 0x53, 0xc9, 0x72, 0x8d, 0x7b, 0x50, 0x4d, 0xf5, 0x17,
- 0x59, 0x98, 0x8f, 0x56, 0xa0, 0xb0, 0x6e, 0xdb, 0xd2, 0x66, 0x19, 0x24, 0x30, 0x03, 0x64, 0xd9,
- 0xc6, 0x37, 0xa0, 0x12, 0xcf, 0x16, 0xa2, 0xe3, 0xc1, 0xcd, 0x16, 0xf0, 0x09, 0xc1, 0x2c, 0x83,
- 0x52, 0xd9, 0xf2, 0x5c, 0xc7, 0x93, 0x2c, 0x5b, 0xff, 0xcb, 0x24, 0xaa, 0xfc, 0xdb, 0xe3, 0x1b,
- 0xe2, 0x95, 0xe7, 0x9d, 0xac, 0xe3, 0xbb, 0xe1, 0xa5, 0xd4, 0xf8, 0x76, 0x1d, 0xea, 0x5c, 0x19,
- 0xf2, 0x5b, 0xbe, 0x0a, 0x59, 0xa6, 0xfe, 0x3f, 0xb2, 0x50, 0x8e, 0x0e, 0x54, 0xf4, 0x09, 0x46,
- 0x81, 0x6b, 0x04, 0x1a, 0x1f, 0xf9, 0x55, 0x28, 0x28, 0x47, 0x19, 0x31, 0xae, 0x58, 0xba, 0x81,
- 0xb6, 0x5a, 0x7a, 0x65, 0xb5, 0x01, 0x3b, 0xb9, 0x54, 0xce, 0x40, 0xf4, 0xe4, 0x8e, 0x08, 0xfb,
- 0xc6, 0x84, 0x4d, 0x00, 0x48, 0x7f, 0x2c, 0x4e, 0x51, 0xe6, 0xe8, 0xbd, 0xb6, 0xe2, 0xd2, 0x20,
- 0xfe, 0x26, 0xe4, 0x71, 0x80, 0x46, 0x68, 0x7e, 0x71, 0x62, 0xc0, 0x28, 0x26, 0x87, 0x81, 0xc4,
- 0xe5, 0x59, 0x43, 0x0f, 0xcc, 0x22, 0x64, 0xfe, 0x0a, 0x2c, 0xeb, 0x4d, 0x78, 0x10, 0xf9, 0x0f,
- 0x25, 0xe2, 0x3c, 0x01, 0xe5, 0xeb, 0x38, 0x9d, 0x42, 0xc9, 0x5a, 0x79, 0x0e, 0xf9, 0x8e, 0x26,
- 0x67, 0xad, 0x8d, 0x24, 0x96, 0xa6, 0x6c, 0xbc, 0x8d, 0x73, 0x2a, 0x94, 0xc4, 0x65, 0x6e, 0x0e,
- 0x86, 0xea, 0x5c, 0x0b, 0xcd, 0xb6, 0x54, 0xdd, 0xbe, 0xe3, 0xf5, 0x58, 0x46, 0x4f, 0x31, 0x2e,
- 0x22, 0xa1, 0x04, 0x81, 0x1f, 0xb0, 0x5c, 0xbd, 0x0e, 0x79, 0x94, 0x51, 0x54, 0x92, 0x9e, 0x18,
- 0x48, 0x33, 0xd3, 0xf4, 0x5c, 0xbf, 0x02, 0xab, 0x53, 0xe7, 0x71, 0xfd, 0x5f, 0x16, 0xb5, 0x84,
- 0x20, 0x05, 0xd9, 0x82, 0x86, 0x82, 0xcc, 0xbc, 0x17, 0xd2, 0x31, 0xc8, 0x65, 0x5c, 0xc7, 0x7c,
- 0x00, 0x05, 0x1c, 0x58, 0xa4, 0x62, 0xe6, 0x20, 0xdf, 0x43, 0x74, 0x4b, 0x53, 0xa1, 0x07, 0xd3,
- 0xed, 0xcb, 0xee, 0x89, 0xb4, 0x8d, 0xae, 0x8f, 0x9a, 0x28, 0x34, 0xdd, 0x94, 0x79, 0xae, 0x1b,
- 0x24, 0x12, 0x5d, 0xdf, 0x6b, 0x0e, 0xfc, 0xcf, 0x1c, 0x5a, 0x57, 0x14, 0x89, 0x08, 0x10, 0xbd,
- 0x6d, 0xa1, 0x8c, 0x98, 0x65, 0x4b, 0x00, 0xf5, 0x26, 0x14, 0xe8, 0xdb, 0xb8, 0x13, 0x74, 0x9f,
- 0x75, 0xa4, 0xe1, 0x95, 0xf9, 0xfa, 0x6c, 0xba, 0x5c, 0xff, 0x71, 0x16, 0xf2, 0xd8, 0xe6, 0x77,
- 0xa1, 0x10, 0xa0, 0x1f, 0x46, 0xd3, 0x79, 0x91, 0xcf, 0xa6, 0x51, 0xf8, 0x47, 0x46, 0x14, 0xb3,
- 0x73, 0x08, 0x4b, 0xfc, 0xc5, 0xb4, 0x58, 0x5e, 0x85, 0xc2, 0x50, 0x04, 0x62, 0x60, 0xf6, 0x89,
- 0x6e, 0x34, 0x7e, 0x98, 0x81, 0x3c, 0x22, 0xf1, 0x55, 0x58, 0x6a, 0xab, 0xc0, 0x39, 0x91, 0xaa,
- 0x1f, 0xf8, 0xa3, 0x5e, 0x5f, 0x4b, 0xd2, 0x43, 0x79, 0xae, 0xf5, 0x8d, 0x56, 0x08, 0x4a, 0xb8,
- 0x4e, 0x97, 0x65, 0x51, 0xaa, 0x36, 0x7c, 0xd7, 0x66, 0x39, 0xbe, 0x02, 0xd5, 0x47, 0x9e, 0x2d,
- 0x83, 0xb0, 0xeb, 0x07, 0xd2, 0x66, 0x79, 0xb3, 0xbb, 0x4f, 0x58, 0x81, 0xce, 0x32, 0x79, 0xa6,
- 0xc8, 0x17, 0x62, 0x45, 0x7e, 0x05, 0x56, 0x36, 0xc6, 0x1d, 0x24, 0x56, 0x42, 0x9d, 0xb4, 0x27,
- 0x3d, 0x14, 0x32, 0x56, 0xd6, 0x42, 0xec, 0x7f, 0xe6, 0xb0, 0x0a, 0x7e, 0x4c, 0xef, 0x13, 0x06,
- 0x8d, 0x7f, 0x9d, 0x89, 0x34, 0xc7, 0x12, 0x54, 0x0e, 0x45, 0x20, 0x7a, 0x81, 0x18, 0x62, 0xff,
- 0xaa, 0x50, 0xd2, 0x07, 0xe7, 0x1b, 0x5a, 0xbb, 0xe9, 0xc6, 0x7d, 0xad, 0x1b, 0x75, 0xe3, 0x4d,
- 0x96, 0x4b, 0x1a, 0x6f, 0xb1, 0x3c, 0x7e, 0xe3, 0x93, 0x91, 0xaf, 0x24, 0x2b, 0x90, 0xae, 0xf3,
- 0x6d, 0xc9, 0x8a, 0x08, 0xec, 0xa0, 0x46, 0x61, 0x25, 0x1c, 0xf3, 0x26, 0xca, 0xcf, 0x91, 0x7f,
- 0xc6, 0xca, 0xd8, 0x0d, 0x9c, 0x46, 0x69, 0xb3, 0x0a, 0xbe, 0xd9, 0x1f, 0x0d, 0x8e, 0x24, 0x0e,
- 0x13, 0xf0, 0x4d, 0xc7, 0xef, 0xf5, 0x5c, 0xc9, 0xaa, 0x38, 0x07, 0x29, 0xe5, 0xcb, 0x16, 0x49,
- 0xd3, 0x0a, 0xd7, 0xf5, 0x47, 0x8a, 0x2d, 0xd5, 0xff, 0x34, 0x07, 0x79, 0xf4, 0x6e, 0x70, 0xef,
- 0xf4, 0x51, 0xcf, 0x98, 0xbd, 0x83, 0xcf, 0xf1, 0x0e, 0xcc, 0x26, 0x3b, 0x90, 0xbf, 0x6f, 0x56,
- 0x3a, 0x37, 0x87, 0x96, 0x45, 0xc6, 0xe9, 0x45, 0xe6, 0x90, 0x1f, 0x38, 0x03, 0x69, 0x74, 0x1d,
- 0x3d, 0x23, 0x2c, 0xc4, 0xf3, 0xb8, 0x40, 0xc1, 0x13, 0x7a, 0xc6, 0x5d, 0x23, 0xf0, 0x58, 0x58,
- 0x57, 0xb4, 0x07, 0x72, 0x56, 0xd4, 0x9c, 0xa1, 0xbd, 0x2a, 0x33, 0xb5, 0xd7, 0x07, 0x91, 0xf6,
- 0x2a, 0xcd, 0xb1, 0xeb, 0xa9, 0x9b, 0x69, 0xcd, 0x95, 0x28, 0x8d, 0xf2, 0xfc, 0xe4, 0xa9, 0xc3,
- 0x64, 0xcb, 0x48, 0x6d, 0x72, 0xd0, 0x95, 0xf5, 0x2c, 0xb3, 0x0c, 0xae, 0x26, 0x6d, 0x57, 0xad,
- 0xf3, 0x1e, 0x3b, 0xb6, 0xf4, 0x59, 0x8e, 0x0e, 0xc2, 0x91, 0xed, 0xf8, 0x2c, 0x8f, 0x96, 0xd7,
- 0xe1, 0xd6, 0x36, 0x2b, 0x34, 0x5e, 0x49, 0x1d, 0x49, 0xeb, 0x23, 0xe5, 0x6b, 0x36, 0x24, 0xbe,
- 0x19, 0x2d, 0x8d, 0x47, 0xd2, 0x66, 0xd9, 0xc6, 0x3b, 0x33, 0xd4, 0xec, 0x12, 0x54, 0x1e, 0x0d,
- 0x5d, 0x5f, 0xd8, 0x97, 0xe8, 0xd9, 0x45, 0x80, 0xc4, 0xab, 0xae, 0xff, 0xd1, 0x2f, 0x26, 0xc7,
- 0x39, 0xda, 0xa2, 0xa1, 0x3f, 0x0a, 0xba, 0x92, 0x54, 0x48, 0xc5, 0x32, 0x2d, 0xfe, 0x1d, 0x28,
- 0xe0, 0xfb, 0x28, 0x8c, 0x73, 0x77, 0x2e, 0x5f, 0x6e, 0xed, 0xb1, 0x23, 0x9f, 0x59, 0x9a, 0x90,
- 0xdf, 0x02, 0x10, 0x5d, 0xe5, 0x9c, 0x4a, 0x04, 0x9a, 0xcd, 0x9e, 0x82, 0xf0, 0xb7, 0xd3, 0xe6,
- 0xcb, 0xe5, 0x71, 0xc8, 0x94, 0x5d, 0xc3, 0x2d, 0xa8, 0xe2, 0xd6, 0x1d, 0x1e, 0x04, 0xb8, 0xdb,
- 0x6b, 0x8b, 0x44, 0xf8, 0xfa, 0x7c, 0xdd, 0x7b, 0x10, 0x13, 0x5a, 0x69, 0x26, 0xfc, 0x11, 0x2c,
- 0xea, 0x98, 0x9a, 0x61, 0xba, 0x44, 0x4c, 0xdf, 0x98, 0x8f, 0xe9, 0x41, 0x42, 0x69, 0x8d, 0xb1,
- 0x99, 0x0e, 0x4b, 0x16, 0x5e, 0x38, 0x2c, 0xf9, 0x0a, 0x2c, 0x77, 0xc6, 0x77, 0x81, 0x3e, 0x2a,
- 0x26, 0xa0, 0xbc, 0x01, 0x8b, 0x4e, 0x98, 0x44, 0x45, 0x29, 0x46, 0x52, 0xb6, 0xc6, 0x60, 0xf5,
- 0xff, 0x50, 0x84, 0x3c, 0xcd, 0xfc, 0x64, 0x8c, 0x6b, 0x73, 0x4c, 0xa5, 0xdf, 0x9b, 0x7f, 0xa9,
- 0x27, 0x76, 0x3c, 0x69, 0x90, 0x5c, 0x4a, 0x83, 0x7c, 0x07, 0x0a, 0xa1, 0x1f, 0xa8, 0x68, 0x79,
- 0xe7, 0x14, 0xa2, 0xb6, 0x1f, 0x28, 0x4b, 0x13, 0xf2, 0x6d, 0x28, 0x1d, 0x3b, 0xae, 0xc2, 0x45,
- 0xd1, 0x93, 0xf7, 0xda, 0x7c, 0x3c, 0xb6, 0x89, 0xc8, 0x8a, 0x88, 0xf9, 0x6e, 0x5a, 0xd8, 0x8a,
- 0xc4, 0x69, 0x6d, 0x3e, 0x4e, 0xb3, 0x64, 0xf0, 0x2e, 0xb0, 0xae, 0x7f, 0x2a, 0x03, 0x2b, 0x15,
- 0x98, 0xd4, 0x87, 0xf4, 0x14, 0x9c, 0xd7, 0xa1, 0xdc, 0x77, 0x6c, 0x89, 0x76, 0x0e, 0xe9, 0x98,
- 0xb2, 0x15, 0xb7, 0xf9, 0x43, 0x28, 0x93, 0x7f, 0x80, 0x5a, 0xb1, 0xf2, 0xc2, 0x93, 0xaf, 0x5d,
- 0x95, 0x88, 0x01, 0x7e, 0x88, 0x3e, 0xbe, 0xed, 0x28, 0x8a, 0x4f, 0x97, 0xad, 0xb8, 0x8d, 0x1d,
- 0x26, 0x79, 0x4f, 0x77, 0xb8, 0xaa, 0x3b, 0x3c, 0x09, 0xe7, 0x6f, 0xc1, 0x35, 0x82, 0x4d, 0x1c,
- 0x92, 0xb8, 0xd5, 0x90, 0xe9, 0xec, 0x97, 0x68, 0xb0, 0x0c, 0x45, 0x4f, 0xee, 0x3a, 0x03, 0x47,
- 0xd5, 0x96, 0x6e, 0x67, 0xee, 0x14, 0xac, 0x04, 0xc0, 0x5f, 0x83, 0x55, 0x5b, 0x1e, 0x8b, 0x91,
- 0xab, 0x3a, 0x72, 0x30, 0x74, 0x85, 0x92, 0x2d, 0x9b, 0x64, 0xb4, 0x62, 0x4d, 0xbf, 0xe0, 0xaf,
- 0xc3, 0x15, 0x03, 0x3c, 0x88, 0xb3, 0x0a, 0x2d, 0x9b, 0xc2, 0x77, 0x15, 0x6b, 0xd6, 0xab, 0xc6,
- 0x9e, 0x51, 0xc3, 0x78, 0x80, 0xa2, 0x9f, 0x1a, 0x29, 0xd0, 0x50, 0xe9, 0x13, 0xf9, 0x81, 0x70,
- 0x5d, 0x19, 0x9c, 0x6b, 0x27, 0xf7, 0xa1, 0xf0, 0x8e, 0x84, 0xc7, 0x72, 0x74, 0xc6, 0x0a, 0x57,
- 0x7a, 0xb6, 0x08, 0xf4, 0x89, 0xfc, 0x80, 0x0e, 0xf4, 0x42, 0xe3, 0x0e, 0xe4, 0x69, 0x4a, 0x2b,
- 0x50, 0xd0, 0x5e, 0x12, 0x79, 0xcc, 0xc6, 0x43, 0x22, 0x8d, 0xbc, 0x8b, 0xdb, 0x8f, 0x65, 0xeb,
- 0x3f, 0xcd, 0x41, 0x39, 0x9a, 0xbc, 0x28, 0x87, 0x90, 0x49, 0x72, 0x08, 0x68, 0xc6, 0x85, 0x8f,
- 0x9d, 0xd0, 0x39, 0x32, 0x66, 0x69, 0xd9, 0x4a, 0x00, 0x68, 0x09, 0x3d, 0x73, 0x6c, 0xd5, 0xa7,
- 0x3d, 0x53, 0xb0, 0x74, 0x83, 0xdf, 0x81, 0x15, 0x1b, 0xe7, 0xc1, 0xeb, 0xba, 0x23, 0x5b, 0x76,
- 0xf0, 0x14, 0xd5, 0x61, 0x82, 0x49, 0x30, 0xff, 0x1e, 0x80, 0x72, 0x06, 0x72, 0xdb, 0x0f, 0x06,
- 0x42, 0x19, 0xdf, 0xe0, 0x5b, 0x2f, 0x26, 0xd5, 0x6b, 0x9d, 0x98, 0x81, 0x95, 0x62, 0x86, 0xac,
- 0xf1, 0x6b, 0x86, 0x75, 0xe9, 0x4b, 0xb1, 0xde, 0x8a, 0x19, 0x58, 0x29, 0x66, 0x8d, 0x5f, 0x01,
- 0x48, 0xde, 0xf0, 0xeb, 0xc0, 0xf7, 0x7c, 0x4f, 0xf5, 0xd7, 0x8f, 0x8e, 0x82, 0x0d, 0x79, 0xec,
- 0x07, 0x72, 0x4b, 0xe0, 0xb1, 0x76, 0x0d, 0x56, 0x63, 0xf8, 0xfa, 0xb1, 0x92, 0x01, 0x82, 0x69,
- 0xea, 0xdb, 0x7d, 0x3f, 0x50, 0xda, 0xb6, 0xa2, 0xc7, 0x47, 0x6d, 0x96, 0xc3, 0xa3, 0xb4, 0xd5,
- 0x3e, 0x60, 0xf9, 0xc6, 0x1d, 0x80, 0x64, 0x48, 0xe4, 0x83, 0xd0, 0xd3, 0x1b, 0xf7, 0x8d, 0x47,
- 0x42, 0xad, 0xfb, 0x6f, 0xb1, 0x4c, 0xfd, 0x0f, 0x73, 0x90, 0x47, 0x55, 0x83, 0xee, 0x57, 0x7a,
- 0x5f, 0xe8, 0xe5, 0x4b, 0x83, 0xbe, 0x9c, 0x82, 0x44, 0xde, 0x69, 0x05, 0xf9, 0x1e, 0x54, 0xbb,
- 0xa3, 0x50, 0xf9, 0x03, 0x3a, 0x1d, 0x4c, 0x02, 0xe6, 0xfa, 0x54, 0x20, 0xe3, 0xb1, 0x70, 0x47,
- 0xd2, 0x4a, 0xa3, 0xf2, 0xb7, 0xa1, 0x78, 0xac, 0x17, 0x42, 0x87, 0x32, 0x7e, 0xe1, 0x82, 0x03,
- 0xc4, 0x4c, 0xb6, 0x41, 0xc6, 0x71, 0x39, 0x53, 0x42, 0x94, 0x06, 0x99, 0x83, 0xa0, 0x18, 0x1f,
- 0x04, 0xbf, 0x02, 0xcb, 0x12, 0xcd, 0x8a, 0x43, 0x57, 0x74, 0xe5, 0x40, 0x7a, 0xd1, 0xca, 0xbf,
- 0xf5, 0x02, 0x23, 0x26, 0xbb, 0x84, 0x86, 0x3d, 0xc1, 0xab, 0xf1, 0x35, 0xb3, 0x49, 0x4b, 0x90,
- 0x5b, 0x0f, 0xbb, 0xc6, 0xed, 0x96, 0x61, 0x57, 0xdb, 0xf4, 0x9b, 0x34, 0x60, 0x96, 0x6d, 0xbc,
- 0x01, 0x95, 0x98, 0x07, 0x67, 0xb0, 0xb8, 0xef, 0xab, 0xf6, 0x50, 0x76, 0x9d, 0x63, 0x47, 0xda,
- 0x3a, 0x90, 0xd0, 0x56, 0x22, 0x50, 0x3a, 0x72, 0xd5, 0xf4, 0x6c, 0x96, 0xad, 0xff, 0x5e, 0x19,
- 0x8a, 0x5a, 0xe3, 0x9b, 0x21, 0x55, 0xe2, 0x21, 0x7d, 0x02, 0x65, 0x7f, 0x28, 0x03, 0xa1, 0xfc,
- 0xc0, 0x84, 0x0b, 0xde, 0x7e, 0x91, 0x13, 0x64, 0xed, 0xc0, 0x10, 0x5b, 0x31, 0x9b, 0x49, 0x79,
- 0xc9, 0x4e, 0xcb, 0xcb, 0x5d, 0x60, 0xd1, 0x61, 0x71, 0x18, 0x20, 0x9d, 0x3a, 0x37, 0xce, 0xdf,
- 0x14, 0x9c, 0x77, 0xa0, 0xd2, 0xf5, 0x3d, 0xdb, 0x89, 0x43, 0x07, 0xcb, 0xf7, 0xdf, 0x79, 0xa1,
- 0x1e, 0x6e, 0x46, 0xd4, 0x56, 0xc2, 0x88, 0xbf, 0x06, 0x85, 0x53, 0x14, 0x24, 0x92, 0x98, 0x8b,
- 0xc5, 0x4c, 0x23, 0xf1, 0x4f, 0xa1, 0xfa, 0xfd, 0x91, 0xd3, 0x3d, 0x39, 0x48, 0x87, 0xa6, 0xde,
- 0x7b, 0xa1, 0x5e, 0x7c, 0x92, 0xd0, 0x5b, 0x69, 0x66, 0x29, 0xe1, 0x2d, 0xfd, 0x19, 0x84, 0xb7,
- 0x3c, 0x2d, 0xbc, 0x16, 0x2c, 0x79, 0x32, 0x54, 0xd2, 0xde, 0x36, 0x06, 0x02, 0x7c, 0x09, 0x03,
- 0x61, 0x9c, 0x45, 0xe3, 0xab, 0x50, 0x8e, 0x16, 0x9c, 0x17, 0x21, 0xbb, 0x8f, 0x96, 0x78, 0x11,
- 0xb2, 0x07, 0x81, 0x96, 0xb6, 0x75, 0x94, 0xb6, 0xc6, 0x1f, 0x67, 0xa0, 0x12, 0x4f, 0xfa, 0x78,
- 0x88, 0xab, 0xf9, 0xfd, 0x91, 0x70, 0x59, 0x86, 0x7c, 0x34, 0x5f, 0xe9, 0x16, 0x69, 0xaa, 0x07,
- 0x94, 0x21, 0x0e, 0x58, 0x8e, 0xce, 0x25, 0x19, 0x86, 0x2c, 0xcf, 0x39, 0x2c, 0x1b, 0xf0, 0x41,
- 0xa0, 0x51, 0x0b, 0xe8, 0xc2, 0xe1, 0xdb, 0x08, 0x50, 0xd4, 0xc7, 0xd8, 0x89, 0xd4, 0x2e, 0xea,
- 0xbe, 0xaf, 0xa8, 0x51, 0xc6, 0x4e, 0xb5, 0x3c, 0x56, 0xc1, 0x6f, 0xee, 0xfb, 0xaa, 0xe5, 0x31,
- 0x48, 0x7c, 0x82, 0x6a, 0xf4, 0x79, 0x6a, 0x2d, 0x92, 0xc7, 0xe1, 0xba, 0x2d, 0x8f, 0x2d, 0x99,
- 0x17, 0xba, 0xb5, 0x8c, 0x1c, 0x9b, 0x67, 0xa2, 0x8b, 0xe4, 0x2b, 0x7c, 0x19, 0x00, 0x69, 0x4c,
- 0x9b, 0xe1, 0x96, 0x6c, 0x9e, 0x39, 0xa1, 0x0a, 0xd9, 0x6a, 0xe3, 0xdf, 0x67, 0xa0, 0x9a, 0x5a,
- 0x60, 0xf4, 0x39, 0x08, 0x11, 0xf5, 0xb8, 0x76, 0x41, 0xbe, 0x87, 0xd3, 0x18, 0xd8, 0x91, 0x8e,
- 0xee, 0xf8, 0xf8, 0x98, 0xc5, 0xef, 0x75, 0xfc, 0x81, 0x1f, 0x04, 0xfe, 0x33, 0x7d, 0xde, 0xee,
- 0x8a, 0x50, 0x3d, 0x91, 0xf2, 0x84, 0xe5, 0x71, 0xa8, 0x9b, 0xa3, 0x20, 0x90, 0x9e, 0x06, 0x14,
- 0xa8, 0x73, 0xf2, 0x4c, 0xb7, 0x8a, 0xc8, 0x14, 0x91, 0xe9, 0x10, 0x60, 0x25, 0x54, 0x04, 0x06,
- 0x5b, 0x43, 0xca, 0x88, 0x80, 0xe8, 0xba, 0x59, 0x41, 0xb7, 0x5e, 0xbb, 0xc5, 0x07, 0xc7, 0x5b,
- 0xe2, 0x3c, 0x5c, 0xef, 0xf9, 0x0c, 0x26, 0x81, 0xfb, 0xfe, 0x33, 0x56, 0xad, 0x8f, 0x00, 0x12,
- 0x47, 0x00, 0x1d, 0x20, 0x14, 0x88, 0x38, 0x70, 0x6d, 0x5a, 0xfc, 0x00, 0x00, 0x9f, 0x08, 0x33,
- 0xf2, 0x82, 0x5e, 0xc0, 0x3a, 0x23, 0x3a, 0x2b, 0xc5, 0xa2, 0xfe, 0x57, 0xa1, 0x12, 0xbf, 0x40,
- 0xbf, 0x97, 0xec, 0xa8, 0xf8, 0xb3, 0x51, 0x13, 0x8d, 0x02, 0xc7, 0xb3, 0xe5, 0x19, 0xe9, 0x95,
- 0x82, 0xa5, 0x1b, 0xd8, 0xcb, 0xbe, 0x63, 0xdb, 0xd2, 0x8b, 0xd2, 0x0b, 0xba, 0x35, 0x2b, 0x09,
- 0x9c, 0x9f, 0x99, 0x04, 0xae, 0xff, 0x2a, 0x54, 0x53, 0x9e, 0xca, 0x85, 0xc3, 0x4e, 0x75, 0x2c,
- 0x3b, 0xde, 0xb1, 0x9b, 0x50, 0x89, 0x0a, 0x0f, 0x42, 0x3a, 0xbd, 0x2a, 0x56, 0x02, 0xa8, 0xff,
- 0x8b, 0x2c, 0x9a, 0x4f, 0x38, 0xb4, 0x49, 0xef, 0x62, 0x1b, 0x8a, 0xe8, 0x6a, 0x8f, 0xa2, 0x0c,
- 0xfa, 0x9c, 0x1b, 0xb4, 0x4d, 0x34, 0x3b, 0x0b, 0x96, 0xa1, 0xe6, 0x1f, 0x40, 0x4e, 0x89, 0x9e,
- 0x89, 0xce, 0x7d, 0x7d, 0x3e, 0x26, 0x1d, 0xd1, 0xdb, 0x59, 0xb0, 0x90, 0x8e, 0xef, 0x42, 0xb9,
- 0x6b, 0x02, 0x2a, 0x46, 0x29, 0xce, 0xe9, 0x00, 0x44, 0x61, 0x98, 0x9d, 0x05, 0x2b, 0xe6, 0xc0,
- 0xbf, 0x03, 0x79, 0x34, 0x69, 0x4c, 0xa1, 0xc1, 0x9c, 0x8e, 0x0d, 0x6e, 0x97, 0x9d, 0x05, 0x8b,
- 0x28, 0x37, 0x4a, 0x50, 0x20, 0x1d, 0x5c, 0xaf, 0x41, 0x51, 0x8f, 0x75, 0x72, 0xe6, 0xea, 0x37,
- 0x20, 0xd7, 0x11, 0x3d, 0x34, 0x2b, 0x1d, 0x3b, 0x34, 0xfe, 0x39, 0x3e, 0xd6, 0x5f, 0x4e, 0x82,
- 0x43, 0xe9, 0xb8, 0x63, 0x66, 0x2c, 0xee, 0x58, 0x2f, 0x42, 0x1e, 0xbf, 0x58, 0xbf, 0x79, 0x99,
- 0x89, 0x5a, 0xff, 0x27, 0x39, 0xb4, 0x66, 0x95, 0x3c, 0x9b, 0x19, 0x53, 0xfd, 0x18, 0x2a, 0xc3,
- 0xc0, 0xef, 0xca, 0x30, 0xf4, 0x03, 0x63, 0xfe, 0xbc, 0xf6, 0xfc, 0x7c, 0xe7, 0xda, 0x61, 0x44,
- 0x63, 0x25, 0xe4, 0x8d, 0x7f, 0x93, 0x85, 0x4a, 0xfc, 0x42, 0x1b, 0xd1, 0x4a, 0x9e, 0xe9, 0xf8,
- 0xd9, 0x9e, 0x0c, 0x06, 0xc2, 0xb1, 0xb5, 0xf6, 0xd8, 0xec, 0x8b, 0xc8, 0xc2, 0xfb, 0x9e, 0x3f,
- 0x52, 0xa3, 0x23, 0xa9, 0xe3, 0x26, 0x8f, 0x9d, 0x81, 0xf4, 0x59, 0x9e, 0x32, 0x16, 0x28, 0xd8,
- 0x5d, 0xd7, 0x1f, 0xd9, 0xac, 0x80, 0xed, 0x07, 0x74, 0xbc, 0xed, 0x89, 0x61, 0xa8, 0x75, 0xe6,
- 0x9e, 0x13, 0xf8, 0xac, 0x84, 0x44, 0xdb, 0x4e, 0x6f, 0x20, 0x58, 0x19, 0x99, 0x75, 0x9e, 0x39,
- 0x0a, 0x95, 0x70, 0x85, 0xaf, 0xc2, 0xd2, 0xc1, 0x50, 0x7a, 0x6d, 0x15, 0x48, 0xa9, 0xf6, 0xc4,
- 0x50, 0x07, 0xd2, 0x2c, 0x69, 0xdb, 0x8e, 0xd2, 0xfa, 0x73, 0x5b, 0x74, 0xe5, 0x91, 0xef, 0x9f,
- 0xb0, 0x45, 0x54, 0x34, 0x2d, 0x2f, 0x54, 0xa2, 0x17, 0x88, 0x81, 0xd6, 0xa1, 0x1d, 0xe9, 0x4a,
- 0x6a, 0x2d, 0xd3, 0xb7, 0x1d, 0xd5, 0x1f, 0x1d, 0x3d, 0x40, 0x67, 0x63, 0x45, 0x27, 0x37, 0x6c,
- 0x39, 0x94, 0xa8, 0x43, 0x17, 0xa1, 0xbc, 0xe1, 0xb8, 0xce, 0x91, 0xe3, 0x3a, 0x6c, 0x15, 0x51,
- 0x9b, 0x67, 0x5d, 0xe1, 0x3a, 0x76, 0x20, 0x9e, 0x31, 0x8e, 0x9d, 0x7b, 0x18, 0xf8, 0x27, 0x0e,
- 0xbb, 0x82, 0x88, 0xe4, 0x7b, 0x9c, 0x3a, 0x9f, 0xb3, 0xab, 0x94, 0xa0, 0x39, 0x91, 0xaa, 0xdb,
- 0x3f, 0x16, 0x47, 0xec, 0x5a, 0x12, 0x47, 0xba, 0x5e, 0x5f, 0x85, 0x95, 0x89, 0x54, 0x70, 0xbd,
- 0x64, 0x5c, 0x9e, 0xfa, 0x12, 0x54, 0x53, 0x39, 0xba, 0xfa, 0x2b, 0x50, 0x8e, 0x32, 0x78, 0xe8,
- 0x1a, 0x3a, 0xa1, 0x8e, 0x3d, 0x1a, 0x21, 0x89, 0xdb, 0xf5, 0xdf, 0xcf, 0x40, 0x51, 0xa7, 0x4f,
- 0xf9, 0x46, 0x5c, 0xee, 0x90, 0x99, 0x23, 0x65, 0xa6, 0x89, 0x4c, 0xc2, 0x31, 0xae, 0x79, 0xb8,
- 0x0a, 0x05, 0x97, 0x7c, 0x40, 0xa3, 0xbe, 0xa8, 0x91, 0xd2, 0x36, 0xb9, 0xb4, 0xb6, 0x69, 0xac,
- 0xc7, 0x49, 0xce, 0x28, 0xde, 0x45, 0x56, 0x61, 0x27, 0x90, 0x52, 0xc7, 0xb2, 0xc8, 0x85, 0xcb,
- 0xd2, 0x59, 0xe1, 0x0f, 0x86, 0xa2, 0xab, 0x08, 0x40, 0xa7, 0x28, 0x2a, 0x53, 0x96, 0x47, 0x29,
- 0xdf, 0xec, 0x0b, 0xd5, 0x38, 0x86, 0xf2, 0xa1, 0x1f, 0x4e, 0x9e, 0xc9, 0x25, 0xc8, 0x75, 0xfc,
- 0xa1, 0xb6, 0x30, 0x37, 0x7c, 0x45, 0x16, 0xa6, 0x3e, 0x82, 0x8f, 0x95, 0x16, 0x2a, 0xcb, 0xe9,
- 0xf5, 0x95, 0x76, 0xff, 0x5a, 0x9e, 0x27, 0x03, 0x56, 0xc0, 0x35, 0xb4, 0xe4, 0x10, 0xed, 0x56,
- 0x56, 0xc4, 0x55, 0x23, 0xf8, 0xb6, 0x13, 0x84, 0x8a, 0x95, 0x1a, 0x2d, 0x3c, 0x4d, 0x9d, 0x1e,
- 0x1d, 0x82, 0xf4, 0x40, 0xac, 0x16, 0xb0, 0x8b, 0xd4, 0xdc, 0x94, 0x1e, 0xca, 0x18, 0xe5, 0xd5,
- 0x74, 0x45, 0x0c, 0x7d, 0x20, 0x8b, 0x27, 0x18, 0xb5, 0x3f, 0x1e, 0x85, 0xca, 0x39, 0x3e, 0x67,
- 0xb9, 0xc6, 0x13, 0x58, 0x1a, 0xab, 0x9d, 0xe1, 0x57, 0x81, 0x8d, 0x01, 0xb0, 0xeb, 0x0b, 0xfc,
- 0x06, 0x5c, 0x19, 0x83, 0xee, 0x39, 0xb6, 0x4d, 0x01, 0xc6, 0xc9, 0x17, 0xd1, 0x00, 0x37, 0x2a,
- 0x50, 0xea, 0xea, 0x55, 0x6a, 0x1c, 0xc2, 0x12, 0x2d, 0xdb, 0x9e, 0x54, 0xe2, 0xc0, 0x73, 0xcf,
- 0xff, 0xcc, 0x05, 0x4e, 0x8d, 0x6f, 0x40, 0x81, 0x12, 0x02, 0xa8, 0x2f, 0x8e, 0x03, 0x7f, 0x40,
- 0xbc, 0x0a, 0x16, 0x3d, 0x23, 0x77, 0xe5, 0x9b, 0xb5, 0xcf, 0x2a, 0xbf, 0xf1, 0x45, 0x19, 0x4a,
- 0xeb, 0xdd, 0xae, 0x3f, 0xf2, 0xd4, 0xd4, 0x97, 0xdf, 0x86, 0x62, 0xd7, 0xf7, 0x8e, 0x9d, 0x9e,
- 0xd1, 0xc7, 0x93, 0x96, 0xa1, 0xa1, 0x43, 0x81, 0x3b, 0x76, 0x7a, 0x96, 0x41, 0x46, 0x32, 0x73,
- 0x9e, 0x14, 0x2e, 0x25, 0xd3, 0x4a, 0x35, 0x3e, 0x3e, 0xee, 0x41, 0xde, 0xf1, 0x8e, 0x7d, 0x53,
- 0x8d, 0xf8, 0xd2, 0x05, 0x44, 0x54, 0x92, 0x47, 0x88, 0xf5, 0xff, 0x96, 0x81, 0xa2, 0xfe, 0x34,
- 0x7f, 0x05, 0x96, 0xa5, 0x87, 0x9b, 0x29, 0x52, 0xe5, 0x66, 0x17, 0x4d, 0x40, 0xd1, 0x68, 0x35,
- 0x10, 0x79, 0x34, 0xea, 0x19, 0x87, 0x3f, 0x0d, 0xe2, 0xef, 0xc1, 0x0d, 0xdd, 0x3c, 0x0c, 0x64,
- 0x20, 0x5d, 0x29, 0x42, 0xb9, 0xd9, 0x17, 0x9e, 0x27, 0x5d, 0x73, 0xb0, 0x5f, 0xf4, 0x9a, 0x37,
- 0x60, 0x51, 0xbf, 0x6a, 0x0f, 0x45, 0x57, 0x86, 0x26, 0xc9, 0x34, 0x06, 0xe3, 0xdf, 0x84, 0x02,
- 0x15, 0x6b, 0xd6, 0xec, 0xcb, 0x97, 0x52, 0x63, 0xd5, 0xfd, 0xf8, 0xe4, 0x59, 0x07, 0xd0, 0xd3,
- 0x84, 0x4e, 0x97, 0xd9, 0xfd, 0xbf, 0x74, 0xe9, 0xbc, 0x92, 0x87, 0x97, 0x22, 0xc2, 0xfe, 0xd9,
- 0xd2, 0x95, 0x54, 0x55, 0x87, 0x27, 0x63, 0x96, 0xc2, 0xf9, 0x63, 0xb0, 0xfa, 0xaf, 0xe7, 0x21,
- 0x8f, 0x33, 0x8c, 0xc8, 0x7d, 0x7f, 0x20, 0xe3, 0xa0, 0xa6, 0x36, 0x35, 0xc6, 0x60, 0x68, 0xda,
- 0x08, 0x9d, 0x57, 0x8e, 0xd1, 0xb4, 0xf2, 0x98, 0x04, 0x23, 0xe6, 0x30, 0xf0, 0x8f, 0x1d, 0x37,
- 0xc1, 0x34, 0x46, 0xd0, 0x04, 0x98, 0xbf, 0x03, 0xd7, 0x07, 0x22, 0x38, 0x91, 0x8a, 0x76, 0xf7,
- 0x13, 0x3f, 0x38, 0x09, 0x71, 0xe6, 0x5a, 0xb6, 0x89, 0x86, 0x5d, 0xf0, 0x16, 0x15, 0xa8, 0x2d,
- 0x4f, 0x1d, 0xc2, 0x2c, 0xeb, 0x22, 0xcc, 0xa8, 0x8d, 0xc2, 0x21, 0xf4, 0xd4, 0xb4, 0x0d, 0x2f,
- 0x93, 0xa8, 0x18, 0x87, 0xa2, 0xfd, 0xa4, 0x8b, 0x53, 0xc2, 0x96, 0x4d, 0x01, 0xba, 0x8a, 0x95,
- 0x00, 0x50, 0x74, 0xe8, 0x63, 0x8f, 0xb5, 0x9a, 0x5c, 0xd2, 0x4e, 0x65, 0x0a, 0x84, 0x18, 0x4a,
- 0x76, 0xfb, 0xd1, 0x47, 0x74, 0xf4, 0x2c, 0x0d, 0xe2, 0xb7, 0x00, 0x7a, 0x42, 0xc9, 0x67, 0xe2,
- 0xfc, 0x51, 0xe0, 0xd6, 0xa4, 0x8e, 0xb8, 0x27, 0x10, 0x74, 0x4b, 0x5d, 0xbf, 0x2b, 0xdc, 0xb6,
- 0xf2, 0x03, 0xd1, 0x93, 0x87, 0x42, 0xf5, 0x6b, 0x3d, 0xed, 0x96, 0x4e, 0xc2, 0x71, 0xc4, 0xca,
- 0x19, 0xc8, 0x4f, 0x7d, 0x4f, 0xd6, 0xfa, 0x7a, 0xc4, 0x51, 0x1b, 0x7b, 0x22, 0x3c, 0xe1, 0x9e,
- 0x2b, 0xa7, 0x8b, 0x63, 0x71, 0x74, 0x4f, 0x52, 0x20, 0x1c, 0xab, 0x27, 0xd5, 0x33, 0x3f, 0x38,
- 0x69, 0xd9, 0xb5, 0xcf, 0xf4, 0x58, 0x63, 0x40, 0xe3, 0x00, 0x20, 0x11, 0x22, 0xd4, 0xcc, 0xeb,
- 0x94, 0x15, 0x60, 0x0b, 0x68, 0xaf, 0x1f, 0x4a, 0xcf, 0x76, 0xbc, 0xde, 0x96, 0x91, 0x1b, 0x96,
- 0x41, 0x20, 0x79, 0xfc, 0xd2, 0x8e, 0x81, 0x64, 0x1b, 0x50, 0x4b, 0xda, 0x2c, 0xd7, 0xf8, 0x3f,
- 0x19, 0xa8, 0xa6, 0x92, 0xe0, 0x7f, 0x8e, 0x89, 0x7b, 0x3c, 0x39, 0xf1, 0xec, 0xc5, 0x09, 0xd5,
- 0x32, 0x15, 0xb7, 0x71, 0xba, 0x4d, 0x8e, 0x1e, 0xdf, 0x6a, 0xff, 0x3e, 0x05, 0xf9, 0x52, 0x49,
- 0xfb, 0xc6, 0x7d, 0x13, 0x24, 0xa9, 0x42, 0xe9, 0x91, 0x77, 0xe2, 0xf9, 0xcf, 0x3c, 0x7d, 0x24,
- 0x52, 0x25, 0xc6, 0x58, 0x4e, 0x29, 0x2a, 0x96, 0xc8, 0x35, 0xfe, 0x69, 0x7e, 0xa2, 0x68, 0xa9,
- 0x09, 0x45, 0x6d, 0x99, 0x93, 0xd1, 0x38, 0x5d, 0x65, 0x92, 0x46, 0x36, 0xf9, 0x8b, 0x14, 0xc8,
- 0x32, 0xc4, 0x68, 0x32, 0xc7, 0x25, 0x7d, 0xd9, 0x99, 0x79, 0x96, 0x31, 0x46, 0x91, 0x1a, 0x1c,
- 0xab, 0x6a, 0x8d, 0x39, 0xd4, 0xff, 0x56, 0x06, 0xae, 0xce, 0x42, 0x49, 0xd7, 0xfe, 0x66, 0xc6,
- 0x6b, 0x7f, 0xdb, 0x13, 0xb5, 0xb4, 0x59, 0x1a, 0xcd, 0xbd, 0x17, 0xec, 0xc4, 0x78, 0x65, 0x6d,
- 0xe3, 0xc7, 0x19, 0x58, 0x9d, 0x1a, 0x73, 0xca, 0x64, 0x00, 0x28, 0x6a, 0xc9, 0xd2, 0xa5, 0x2e,
- 0x71, 0xf1, 0x81, 0x0e, 0x1e, 0xd3, 0x61, 0x1a, 0xea, 0x6c, 0xae, 0xa9, 0x1e, 0xd6, 0x16, 0x29,
- 0xae, 0x1a, 0xea, 0xea, 0x9e, 0x64, 0x05, 0x3c, 0xeb, 0xb5, 0x5d, 0x63, 0x20, 0x45, 0x6d, 0x35,
- 0xea, 0x08, 0x37, 0x2b, 0x51, 0x09, 0xcd, 0x68, 0xe8, 0x3a, 0x5d, 0x6c, 0x96, 0x79, 0x1d, 0xae,
- 0xeb, 0x12, 0x72, 0xe3, 0xa1, 0x1d, 0x77, 0xfa, 0x0e, 0x6d, 0x0e, 0x56, 0x69, 0x58, 0x70, 0x65,
- 0xc6, 0x98, 0xa8, 0x97, 0x8f, 0x4d, 0x8f, 0x97, 0x01, 0xb6, 0x1e, 0x47, 0xfd, 0x64, 0x19, 0xce,
- 0x61, 0x79, 0xeb, 0x71, 0x9a, 0xa1, 0xd9, 0x2f, 0x8f, 0x51, 0x93, 0x84, 0x2c, 0xd7, 0xf8, 0x8d,
- 0x4c, 0x94, 0xd6, 0xae, 0xff, 0x15, 0x58, 0xd2, 0x7d, 0x3c, 0x14, 0xe7, 0xae, 0x2f, 0x6c, 0xde,
- 0x84, 0xe5, 0x30, 0xbe, 0xd7, 0x90, 0x3a, 0x0e, 0x26, 0x8f, 0xd9, 0xf6, 0x18, 0x92, 0x35, 0x41,
- 0x14, 0x39, 0x1a, 0xd9, 0x24, 0x16, 0xce, 0xc9, 0x65, 0x12, 0xb4, 0xcb, 0x16, 0xc9, 0x09, 0x12,
- 0x8d, 0x6f, 0xc2, 0x2a, 0x29, 0x2f, 0xdd, 0x19, 0x6d, 0x91, 0xa2, 0x3c, 0x68, 0xbd, 0xbb, 0x15,
- 0xc9, 0x83, 0x69, 0x36, 0xfe, 0x53, 0x11, 0x20, 0x89, 0xfb, 0xcf, 0xd8, 0xe6, 0xb3, 0xd2, 0xd8,
- 0x53, 0x59, 0xb8, 0xdc, 0x0b, 0x67, 0xe1, 0xde, 0x8b, 0x0d, 0x63, 0x1d, 0x80, 0x9d, 0xac, 0xe5,
- 0x4d, 0xfa, 0x34, 0x69, 0x0e, 0x8f, 0x55, 0x79, 0x14, 0x26, 0xab, 0x3c, 0x6e, 0x4f, 0x97, 0x84,
- 0x4d, 0xe8, 0x9f, 0xc4, 0xef, 0x2f, 0x8d, 0xf9, 0xfd, 0x75, 0x28, 0x07, 0x52, 0xd8, 0xbe, 0xe7,
- 0x9e, 0x47, 0xc9, 0x9e, 0xa8, 0xcd, 0xdf, 0x84, 0x82, 0xa2, 0xab, 0x19, 0x65, 0xda, 0x2e, 0xcf,
- 0x59, 0x38, 0x8d, 0x8b, 0xca, 0xcc, 0x09, 0x4d, 0x1d, 0x97, 0x3e, 0xc1, 0xca, 0x56, 0x0a, 0xc2,
- 0xd7, 0x80, 0x3b, 0xe8, 0x04, 0xb9, 0xae, 0xb4, 0x37, 0xce, 0xb7, 0x74, 0x0e, 0x86, 0x4e, 0xcd,
- 0xb2, 0x35, 0xe3, 0x4d, 0xb4, 0xfe, 0x8b, 0xc9, 0xfa, 0x53, 0x97, 0x4f, 0x9d, 0x10, 0x47, 0xba,
- 0x44, 0xc6, 0x41, 0xdc, 0xc6, 0x73, 0x39, 0xda, 0xa3, 0x7a, 0x2e, 0x49, 0x7a, 0x93, 0x44, 0xe6,
- 0x05, 0x6f, 0x1b, 0x7f, 0x90, 0x8d, 0x1d, 0x88, 0x0a, 0x14, 0x8e, 0x44, 0xe8, 0x74, 0xb5, 0x3f,
- 0x69, 0x0e, 0x7e, 0xed, 0x44, 0x28, 0xdf, 0xf6, 0x59, 0x16, 0x7d, 0x81, 0x50, 0xa2, 0xd5, 0xbf,
- 0x0c, 0x90, 0x5c, 0x57, 0x61, 0x79, 0xdc, 0x9b, 0xd1, 0x7a, 0xeb, 0x72, 0x0c, 0x22, 0xa5, 0x10,
- 0x94, 0x1d, 0x17, 0xba, 0x91, 0x33, 0x49, 0xba, 0x9f, 0x95, 0x11, 0xc7, 0xf3, 0x95, 0xd4, 0x01,
- 0x38, 0x92, 0x4e, 0x06, 0xc8, 0x26, 0xaa, 0xbf, 0x66, 0x55, 0x34, 0xce, 0x23, 0xa6, 0x3a, 0x6a,
- 0x16, 0x92, 0xeb, 0xb2, 0x88, 0xbb, 0x73, 0xfc, 0x05, 0x5b, 0xc2, 0x1e, 0x25, 0xb7, 0x60, 0xd8,
- 0x32, 0x72, 0x15, 0x54, 0x24, 0xb0, 0x82, 0x8f, 0xa7, 0x54, 0x3a, 0xc0, 0xf0, 0xab, 0x36, 0x2a,
- 0x8c, 0x55, 0xec, 0x59, 0x6c, 0x1a, 0x30, 0x8e, 0xbe, 0xc7, 0x50, 0xa0, 0x23, 0xe0, 0x0c, 0x85,
- 0xa7, 0xd8, 0x15, 0x1c, 0xea, 0xd0, 0x3e, 0x66, 0x57, 0x91, 0xa4, 0xdb, 0x17, 0x8a, 0x5d, 0x43,
- 0x1c, 0x7c, 0xda, 0x92, 0x01, 0xae, 0x27, 0xbb, 0x8e, 0x38, 0x4a, 0xf4, 0xd8, 0x8d, 0xc6, 0xef,
- 0x24, 0xa5, 0xa6, 0xaf, 0xc7, 0x26, 0xfa, 0x3c, 0x42, 0x8e, 0x46, 0xfc, 0xac, 0x1d, 0xd7, 0x84,
- 0xd5, 0x40, 0x7e, 0x7f, 0xe4, 0x8c, 0x15, 0x60, 0xe7, 0x2e, 0xcf, 0xf0, 0x4f, 0x53, 0x34, 0x4e,
- 0x61, 0x35, 0x6a, 0x3c, 0x71, 0x54, 0x9f, 0xa2, 0x25, 0xfc, 0xcd, 0x54, 0x85, 0x78, 0x66, 0xe6,
- 0xcd, 0x9a, 0x98, 0x65, 0x52, 0x11, 0x1e, 0x47, 0xc3, 0xb3, 0x73, 0x44, 0xc3, 0x1b, 0xff, 0xbb,
- 0x98, 0x0a, 0x98, 0x68, 0xa7, 0xc5, 0x8e, 0x9d, 0x96, 0xe9, 0x1c, 0x5f, 0x12, 0xe0, 0xce, 0xbe,
- 0x48, 0x80, 0x7b, 0x56, 0xbe, 0xfc, 0x7d, 0xb4, 0xa1, 0x69, 0xff, 0x3c, 0x9e, 0x23, 0x78, 0x3f,
- 0x86, 0xcb, 0x37, 0x28, 0x63, 0x27, 0xda, 0xba, 0x98, 0xa3, 0x30, 0xf3, 0xbe, 0x46, 0x3a, 0x35,
- 0x67, 0x30, 0xad, 0x14, 0x55, 0x4a, 0xdb, 0x14, 0x67, 0x69, 0x1b, 0xf4, 0x1f, 0x8d, 0x1e, 0x8a,
- 0xdb, 0x3a, 0xd7, 0xa1, 0x9f, 0x23, 0xf6, 0x94, 0xa9, 0x2d, 0x5b, 0x53, 0x70, 0xb4, 0xc2, 0x06,
- 0x23, 0x57, 0x39, 0x26, 0x9c, 0xaf, 0x1b, 0x93, 0x17, 0xca, 0x2a, 0xd3, 0x17, 0xca, 0x3e, 0x04,
- 0x08, 0x25, 0xee, 0x8e, 0x2d, 0xa7, 0xab, 0x4c, 0xc9, 0xc7, 0xad, 0x8b, 0xc6, 0x66, 0x92, 0x10,
- 0x29, 0x0a, 0xec, 0xff, 0x40, 0x9c, 0x6d, 0xa2, 0x35, 0x6e, 0x72, 0xd3, 0x71, 0x7b, 0x52, 0x07,
- 0x2f, 0x4f, 0xeb, 0xe0, 0x37, 0xa1, 0x10, 0x76, 0xfd, 0xa1, 0xa4, 0x3b, 0x11, 0x17, 0xaf, 0xef,
- 0x5a, 0x1b, 0x91, 0x2c, 0x8d, 0x4b, 0x61, 0x39, 0xd4, 0x52, 0x7e, 0x40, 0xb7, 0x21, 0x2a, 0x56,
- 0xd4, 0x1c, 0xd3, 0x83, 0xd7, 0xc7, 0xf5, 0x60, 0xdd, 0x86, 0xa2, 0x09, 0xb1, 0x4f, 0x3a, 0xcb,
- 0x51, 0x70, 0x2e, 0x9b, 0x0a, 0xce, 0xc5, 0x85, 0x85, 0xb9, 0x74, 0x61, 0xe1, 0xc4, 0x85, 0xa9,
- 0xc2, 0xd4, 0x85, 0xa9, 0xc6, 0xa7, 0x50, 0xa0, 0xbe, 0xa2, 0x11, 0xa1, 0xa7, 0x59, 0xdb, 0x98,
- 0x38, 0x28, 0x96, 0xe1, 0x57, 0x81, 0x85, 0x92, 0x8c, 0x10, 0xd9, 0x16, 0x03, 0x49, 0x4a, 0x32,
- 0xcb, 0x6b, 0x70, 0x55, 0xe3, 0x86, 0xe3, 0x6f, 0xc8, 0x12, 0x72, 0x9d, 0xa3, 0x40, 0x04, 0xe7,
- 0x2c, 0xdf, 0xf8, 0x90, 0xb2, 0xbb, 0x91, 0x40, 0x55, 0xe3, 0x0b, 0x6a, 0x5a, 0x2d, 0xdb, 0x46,
- 0xfb, 0x50, 0x52, 0xde, 0xf8, 0x47, 0xba, 0x54, 0x89, 0x1c, 0x10, 0x8a, 0x89, 0x2c, 0xa6, 0x4f,
- 0xe2, 0x3f, 0xb7, 0xfd, 0xd6, 0xd8, 0x48, 0x99, 0x72, 0xe3, 0xb5, 0x47, 0x99, 0x79, 0x6b, 0x8f,
- 0x1a, 0x0f, 0x61, 0xc5, 0x1a, 0xd7, 0xe9, 0xfc, 0x3d, 0x28, 0xf9, 0xc3, 0x34, 0x9f, 0xe7, 0xc9,
- 0x65, 0x84, 0xde, 0xf8, 0x49, 0x06, 0x16, 0x5b, 0x9e, 0x92, 0x81, 0x27, 0xdc, 0x6d, 0x57, 0xf4,
- 0xf8, 0xbb, 0x91, 0x96, 0x9a, 0xed, 0x7f, 0xa7, 0x71, 0xc7, 0x15, 0x96, 0x6b, 0x42, 0xc9, 0xfc,
- 0x1a, 0xac, 0x4a, 0xdb, 0x51, 0x7e, 0xa0, 0x0d, 0xd8, 0xa8, 0x44, 0xec, 0x2a, 0x30, 0x0d, 0x6e,
- 0xd3, 0x96, 0xe8, 0xe8, 0x65, 0xae, 0xc1, 0xd5, 0x31, 0x68, 0x64, 0x9d, 0x66, 0xf9, 0x4d, 0xa8,
- 0x25, 0xa7, 0xd1, 0x96, 0xef, 0xa9, 0x96, 0x67, 0xcb, 0x33, 0x32, 0x85, 0x58, 0xae, 0xf1, 0x5b,
- 0xa5, 0xc8, 0x08, 0x7b, 0x6c, 0x0a, 0xc8, 0x02, 0xdf, 0x4f, 0x6e, 0x27, 0x9a, 0x56, 0xea, 0x16,
- 0x6c, 0x76, 0x8e, 0x5b, 0xb0, 0x1f, 0x26, 0x37, 0x19, 0xf5, 0x41, 0xf1, 0xf2, 0xcc, 0xd3, 0x87,
- 0xea, 0x5e, 0x8c, 0xd9, 0xdd, 0x96, 0xa9, 0x6b, 0x8d, 0x6f, 0x18, 0x5f, 0x2b, 0x3f, 0x8f, 0xad,
- 0xaa, 0xf3, 0xf1, 0x6f, 0x4f, 0x96, 0xcf, 0xcf, 0x57, 0x7f, 0x36, 0x65, 0x4e, 0xc2, 0x0b, 0x9b,
- 0x93, 0x1f, 0x4d, 0xb8, 0x35, 0xe5, 0x99, 0x21, 0xa9, 0x4b, 0x2e, 0x07, 0x7e, 0x04, 0xa5, 0xbe,
- 0x13, 0x2a, 0x3f, 0xd0, 0x17, 0x56, 0xa7, 0x2f, 0xd8, 0xa4, 0x66, 0x6b, 0x47, 0x23, 0x52, 0xb1,
- 0x50, 0x44, 0xc5, 0xbf, 0x0b, 0xab, 0x34, 0xf1, 0x87, 0x89, 0xd5, 0x10, 0xd6, 0xaa, 0x33, 0x8b,
- 0xb4, 0x52, 0xac, 0x36, 0x26, 0x48, 0xac, 0x69, 0x26, 0xf5, 0x1e, 0x40, 0xb2, 0x3e, 0x53, 0x5a,
- 0xec, 0x4b, 0x5c, 0x58, 0xbd, 0x0e, 0xc5, 0x70, 0x74, 0x94, 0xe4, 0x9c, 0x4c, 0xab, 0x7e, 0x06,
- 0xf5, 0x29, 0xeb, 0xe0, 0x50, 0x06, 0xba, 0xbb, 0x97, 0xde, 0x9a, 0xfd, 0x30, 0xbd, 0xf0, 0x5a,
- 0x38, 0x6f, 0x5f, 0xb0, 0x7a, 0x31, 0xe7, 0x94, 0x04, 0xd4, 0xdf, 0x86, 0x6a, 0x6a, 0x52, 0x51,
- 0x33, 0x8f, 0x3c, 0xdb, 0x8f, 0xc2, 0xa0, 0xf8, 0xac, 0x6f, 0x0d, 0xd9, 0x51, 0x20, 0x94, 0x9e,
- 0xeb, 0x16, 0xb0, 0xc9, 0x09, 0xbc, 0xc4, 0xf5, 0x7d, 0x19, 0x96, 0x52, 0x26, 0x5d, 0x1c, 0x22,
- 0x1b, 0x07, 0x36, 0x4e, 0xe1, 0xa5, 0x14, 0xbb, 0x43, 0x19, 0x0c, 0x9c, 0x10, 0x0f, 0x12, 0xed,
- 0xd2, 0x51, 0xf4, 0xc2, 0x96, 0x9e, 0x72, 0x54, 0xa4, 0x41, 0xe3, 0x36, 0xff, 0x65, 0x28, 0x0c,
- 0x65, 0x30, 0x08, 0x8d, 0x16, 0x9d, 0x94, 0xa0, 0x99, 0x6c, 0x43, 0x4b, 0xd3, 0x34, 0xfe, 0x71,
- 0x06, 0xca, 0x7b, 0x52, 0x09, 0xb4, 0x1d, 0xf8, 0xde, 0xc4, 0x57, 0xa6, 0xf3, 0xa4, 0x11, 0xea,
- 0x9a, 0x71, 0x32, 0xd7, 0x5a, 0x06, 0xdf, 0xb4, 0x77, 0x16, 0x92, 0x8e, 0xd5, 0x37, 0xa0, 0x64,
- 0xc0, 0xf5, 0x77, 0x61, 0x65, 0x02, 0x93, 0xe6, 0x45, 0xdb, 0xf6, 0xed, 0xf3, 0x41, 0x54, 0xae,
- 0xb3, 0x68, 0x8d, 0x03, 0x37, 0x2a, 0x50, 0x1a, 0x6a, 0x82, 0xc6, 0x1f, 0x5c, 0xa3, 0x12, 0x12,
- 0xe7, 0x18, 0x9d, 0xed, 0x59, 0x27, 0xeb, 0x2d, 0x00, 0x3a, 0x9a, 0x75, 0xa1, 0x81, 0x0e, 0x5b,
- 0xa6, 0x20, 0xfc, 0xfd, 0x38, 0xde, 0x9c, 0x9f, 0x69, 0x54, 0xa5, 0x99, 0x4f, 0x06, 0x9d, 0x6b,
- 0x50, 0x72, 0xc2, 0x5d, 0x3c, 0xda, 0x4c, 0xf9, 0x4d, 0xd4, 0xe4, 0xdf, 0x86, 0xa2, 0x33, 0x18,
- 0xfa, 0x81, 0x32, 0x01, 0xe9, 0x4b, 0xb9, 0xb6, 0x08, 0x73, 0x67, 0xc1, 0x32, 0x34, 0x48, 0x2d,
- 0xcf, 0x88, 0xba, 0xfc, 0x7c, 0xea, 0xe6, 0x59, 0x44, 0xad, 0x69, 0xf8, 0x27, 0xb0, 0xd4, 0xd3,
- 0x05, 0x71, 0x9a, 0xb1, 0x51, 0x22, 0x5f, 0xbf, 0x8c, 0xc9, 0x83, 0x34, 0xc1, 0xce, 0x82, 0x35,
- 0xce, 0x01, 0x59, 0xa2, 0x01, 0x2f, 0x43, 0xd5, 0xf1, 0x3f, 0xf6, 0x1d, 0x8f, 0x9c, 0xd2, 0xe7,
- 0xb0, 0xb4, 0xd2, 0x04, 0xc8, 0x72, 0x8c, 0x03, 0x7f, 0x07, 0x2d, 0x9e, 0x50, 0x99, 0x3b, 0xc3,
- 0xb7, 0x2f, 0xe3, 0xd4, 0x91, 0xa1, 0xb9, 0xed, 0x1b, 0x2a, 0x7e, 0x06, 0xf5, 0xd4, 0x26, 0x31,
- 0x1f, 0x59, 0x1f, 0x0e, 0x03, 0x1f, 0x3d, 0xdb, 0x25, 0xe2, 0xf6, 0xce, 0x65, 0xdc, 0x0e, 0x2f,
- 0xa4, 0xde, 0x59, 0xb0, 0x2e, 0xe1, 0xcd, 0x3b, 0xe8, 0xd9, 0x99, 0x21, 0xec, 0x4a, 0x71, 0x1a,
- 0xdd, 0x38, 0xbe, 0x3b, 0xd7, 0x2c, 0x10, 0xc5, 0xce, 0x82, 0x35, 0xc1, 0x83, 0xff, 0x2a, 0xac,
- 0x8e, 0x7d, 0x93, 0x2e, 0x19, 0xea, 0xfb, 0xc8, 0xdf, 0x9c, 0x7b, 0x18, 0x48, 0xb4, 0xb3, 0x60,
- 0x4d, 0x73, 0xe2, 0x23, 0xf8, 0xca, 0xf4, 0x90, 0xb6, 0x64, 0xd7, 0x75, 0x3c, 0x69, 0xae, 0x2e,
- 0xbf, 0xfd, 0x62, 0xb3, 0x65, 0x88, 0x77, 0x16, 0xac, 0x8b, 0x39, 0xf3, 0xbf, 0x06, 0x37, 0x87,
- 0x33, 0x55, 0x8c, 0x56, 0x5d, 0xe6, 0xe6, 0xf3, 0x7b, 0x73, 0x7e, 0x79, 0x8a, 0x7e, 0x67, 0xc1,
- 0xba, 0x94, 0x3f, 0xda, 0xce, 0xe4, 0x41, 0x9b, 0xba, 0x5d, 0xdd, 0xe0, 0x37, 0xa1, 0x22, 0xba,
- 0xee, 0x8e, 0x14, 0x76, 0x1c, 0x61, 0x4f, 0x00, 0xf5, 0x3f, 0xca, 0x40, 0xd1, 0xc8, 0xfb, 0xcd,
- 0x38, 0x2f, 0x1e, 0xab, 0xee, 0x04, 0xc0, 0x3f, 0x80, 0x8a, 0x0c, 0x02, 0x3f, 0xd8, 0xf4, 0xed,
- 0xa8, 0x68, 0x70, 0x32, 0xfc, 0xab, 0xf9, 0xac, 0x35, 0x23, 0x34, 0x2b, 0xa1, 0xe0, 0xef, 0x03,
- 0xe8, 0x7d, 0xde, 0x49, 0xae, 0x5f, 0xd4, 0x67, 0xd3, 0xeb, 0x34, 0x4c, 0x82, 0x9d, 0x04, 0xcf,
- 0xa2, 0x1c, 0x48, 0xd4, 0x8c, 0x1d, 0xce, 0x42, 0xca, 0xe1, 0xbc, 0x69, 0xe2, 0x08, 0xfb, 0xf8,
- 0xc2, 0x5c, 0x42, 0x8a, 0x01, 0xf5, 0x7f, 0x9b, 0x81, 0xa2, 0x56, 0x1e, 0xbc, 0x39, 0x3d, 0xa2,
- 0x57, 0x9f, 0xaf, 0x73, 0xd6, 0x26, 0x47, 0xf6, 0x6d, 0x00, 0xad, 0x83, 0x52, 0x23, 0xbb, 0x39,
- 0xc1, 0xc7, 0x90, 0x46, 0x95, 0xa3, 0x09, 0x7e, 0xe3, 0xbe, 0xbe, 0x28, 0x43, 0xb1, 0xda, 0x47,
- 0xbb, 0xbb, 0x6c, 0x81, 0xaf, 0xc2, 0xd2, 0xa3, 0xfd, 0x87, 0xfb, 0x07, 0x4f, 0xf6, 0x9f, 0x36,
- 0x2d, 0xeb, 0xc0, 0xd2, 0x21, 0xdb, 0x8d, 0xf5, 0xad, 0xa7, 0xad, 0xfd, 0xc3, 0x47, 0x1d, 0x96,
- 0xad, 0xff, 0x34, 0x03, 0x4b, 0x63, 0xba, 0xeb, 0x2f, 0x76, 0xe9, 0x52, 0xd3, 0x9f, 0x9b, 0x3d,
- 0xfd, 0xf9, 0x8b, 0xa6, 0xbf, 0x30, 0x39, 0xfd, 0xbf, 0x97, 0x81, 0xa5, 0x31, 0x1d, 0x99, 0xe6,
- 0x9e, 0x19, 0xe7, 0x9e, 0x3e, 0xe9, 0xb3, 0x13, 0x27, 0x7d, 0x03, 0x16, 0xa3, 0xe7, 0xfd, 0x24,
- 0xe2, 0x30, 0x06, 0x4b, 0xe3, 0x50, 0xa5, 0x7a, 0x7e, 0x1c, 0x87, 0xaa, 0xd5, 0x2f, 0xef, 0x2d,
- 0xdd, 0xcc, 0x0b, 0xe9, 0xe2, 0x72, 0xfd, 0x62, 0x0d, 0x7a, 0xc9, 0x10, 0x1e, 0x40, 0x75, 0x98,
- 0x6c, 0xd3, 0x17, 0x33, 0x4b, 0xd2, 0x94, 0xcf, 0xe9, 0xe7, 0x8f, 0x33, 0xb0, 0x3c, 0xae, 0x73,
- 0xff, 0xbf, 0x9e, 0xd6, 0x7f, 0x96, 0x81, 0xd5, 0x29, 0x4d, 0x7e, 0xa9, 0x61, 0x37, 0xd9, 0xaf,
- 0xec, 0x1c, 0xfd, 0xca, 0xcd, 0xe8, 0xd7, 0xc5, 0x9a, 0xe4, 0xf2, 0x1e, 0xb7, 0xe1, 0x2b, 0x17,
- 0x9e, 0x09, 0x97, 0x4c, 0xf5, 0x18, 0xd3, 0xdc, 0x24, 0xd3, 0xdf, 0xcd, 0xc0, 0xcd, 0xcb, 0xf4,
- 0xfd, 0xff, 0x73, 0xb9, 0x9a, 0xec, 0x61, 0xe3, 0xdd, 0x38, 0x99, 0x5e, 0x85, 0x92, 0xf9, 0x41,
- 0x20, 0x53, 0xae, 0xdc, 0xf7, 0x9f, 0x79, 0x3a, 0x12, 0x6d, 0x49, 0x61, 0xae, 0x4c, 0x5b, 0x72,
- 0xe8, 0x3a, 0x94, 0xbc, 0xbc, 0x01, 0xb0, 0x4e, 0x7e, 0x5d, 0x74, 0x83, 0x61, 0x73, 0xf7, 0xa0,
- 0xdd, 0x64, 0x0b, 0x69, 0x23, 0xf6, 0xd3, 0x48, 0x11, 0x37, 0x0e, 0xa1, 0x98, 0xd4, 0xb6, 0xef,
- 0x89, 0xe0, 0xc4, 0xd6, 0x29, 0xc2, 0x45, 0x28, 0x1f, 0x1a, 0x17, 0x4a, 0x7f, 0xea, 0xe3, 0xf6,
- 0xc1, 0xbe, 0x0e, 0x7a, 0x6f, 0x1d, 0x74, 0x74, 0x85, 0x7c, 0xfb, 0xf1, 0x03, 0x9d, 0xab, 0x7a,
- 0x60, 0xad, 0x1f, 0xee, 0x3c, 0x25, 0x8c, 0x42, 0xe3, 0xa7, 0xd9, 0xe8, 0x54, 0x6b, 0x58, 0x26,
- 0xf9, 0x08, 0x50, 0x44, 0x6d, 0xee, 0x1b, 0xc6, 0xf1, 0x67, 0xa8, 0xb0, 0xb5, 0x79, 0xa6, 0xe3,
- 0x10, 0x2c, 0xcb, 0x8b, 0x90, 0x3d, 0x3c, 0xd2, 0xd5, 0x38, 0x3b, 0x6a, 0xe0, 0xea, 0x2b, 0x6d,
- 0x9d, 0x33, 0xc5, 0x0a, 0xf8, 0xb0, 0x19, 0x9e, 0xb2, 0x62, 0xe3, 0xbf, 0x66, 0xa0, 0x12, 0xab,
- 0xca, 0x17, 0x51, 0xdd, 0x9c, 0xc3, 0x72, 0x6b, 0xbf, 0xd3, 0xb4, 0xf6, 0xd7, 0x77, 0x0d, 0x4a,
- 0x8e, 0xd7, 0xe0, 0xea, 0xfe, 0xc1, 0xd3, 0x83, 0x8d, 0x8f, 0x9b, 0x9b, 0x9d, 0xf6, 0xd3, 0xce,
- 0xc1, 0xd3, 0xd6, 0xde, 0xe1, 0x81, 0xd5, 0x61, 0x05, 0x7e, 0x1d, 0xb8, 0x7e, 0x7e, 0xda, 0x6a,
- 0x3f, 0xdd, 0x5c, 0xdf, 0xdf, 0x6c, 0xee, 0x36, 0xb7, 0x58, 0x91, 0xbf, 0x0a, 0x5f, 0xdd, 0x6d,
- 0xed, 0xb5, 0x3a, 0x4f, 0x0f, 0xb6, 0x9f, 0x5a, 0x07, 0x4f, 0xda, 0x4f, 0x0f, 0xac, 0xa7, 0x56,
- 0x73, 0x77, 0xbd, 0xd3, 0x3a, 0xd8, 0x6f, 0x3f, 0x6d, 0x7e, 0x77, 0xb3, 0xd9, 0xdc, 0x6a, 0x6e,
- 0xb1, 0x12, 0xbf, 0x02, 0x2b, 0xdb, 0xad, 0xdd, 0xe6, 0xd3, 0xdd, 0x83, 0xf5, 0x2d, 0xf3, 0xbd,
- 0x32, 0xbf, 0x09, 0xb5, 0xd6, 0x7e, 0xfb, 0xd1, 0xf6, 0x76, 0x6b, 0xb3, 0xd5, 0xdc, 0xef, 0x3c,
- 0x3d, 0x6c, 0x5a, 0x7b, 0xad, 0x76, 0x1b, 0x69, 0x59, 0xa5, 0xf1, 0x1d, 0x28, 0xb6, 0xbc, 0x53,
- 0x47, 0x91, 0xf8, 0x99, 0xb5, 0x32, 0x0e, 0x49, 0xd4, 0x24, 0xa9, 0x71, 0x7a, 0x1e, 0xdd, 0x64,
- 0x26, 0xe1, 0x5b, 0xb4, 0x12, 0x40, 0xe3, 0x9f, 0x67, 0x61, 0x49, 0xb3, 0x88, 0x1c, 0x9c, 0x3b,
- 0xb0, 0x62, 0x22, 0x85, 0xad, 0xf1, 0x1d, 0x3e, 0x09, 0xa6, 0x9f, 0x08, 0xd2, 0xa0, 0xd4, 0x3e,
- 0x4f, 0x83, 0x28, 0xfb, 0x44, 0xcc, 0xd1, 0x51, 0xd2, 0x79, 0xb7, 0x04, 0xf0, 0x65, 0x37, 0x38,
- 0x2a, 0x0f, 0x8d, 0xd8, 0xf5, 0xbd, 0xcd, 0xf8, 0xfe, 0xc0, 0x18, 0x8c, 0x7f, 0x0a, 0x37, 0xe2,
- 0x76, 0xd3, 0xeb, 0x06, 0xe7, 0xc3, 0xf8, 0x97, 0xbc, 0x4a, 0x33, 0x3d, 0xee, 0x6d, 0xc7, 0x95,
- 0x63, 0x88, 0xd6, 0x45, 0x0c, 0x1a, 0x7f, 0x9c, 0x49, 0xb9, 0x85, 0xda, 0xed, 0xbb, 0x54, 0x21,
- 0xce, 0x4a, 0x51, 0xa0, 0x63, 0x66, 0xba, 0x6f, 0xce, 0x69, 0xd3, 0xe4, 0x87, 0xc0, 0x9d, 0xe9,
- 0x4e, 0xe7, 0xe7, 0xec, 0xf4, 0x0c, 0xda, 0xc9, 0x08, 0x73, 0x61, 0x3a, 0xc2, 0x7c, 0x0b, 0xa0,
- 0xe7, 0xfa, 0x47, 0xc2, 0x4d, 0xd9, 0x61, 0x29, 0x48, 0xc3, 0x85, 0x72, 0xf4, 0x7b, 0x61, 0xfc,
- 0x3a, 0x14, 0xe9, 0x17, 0xc3, 0xe2, 0x78, 0x9b, 0x6e, 0xf1, 0x1d, 0x58, 0x96, 0xe3, 0x7d, 0xce,
- 0xce, 0xd9, 0xe7, 0x09, 0xba, 0xc6, 0xb7, 0x60, 0x75, 0x0a, 0x09, 0x27, 0x71, 0x28, 0x54, 0x7c,
- 0x69, 0x18, 0x9f, 0xa7, 0x73, 0xbc, 0x8d, 0xff, 0x98, 0x85, 0xc5, 0x3d, 0xe1, 0x39, 0xc7, 0x32,
- 0x54, 0x51, 0x6f, 0xc3, 0x6e, 0x5f, 0x0e, 0x44, 0xd4, 0x5b, 0xdd, 0x32, 0x4e, 0x78, 0x36, 0x1d,
- 0xde, 0x9e, 0xca, 0x86, 0x5c, 0x87, 0xa2, 0x18, 0xa9, 0x7e, 0x5c, 0xd2, 0x6c, 0x5a, 0xb8, 0x76,
- 0xae, 0xd3, 0x95, 0x5e, 0x18, 0xc9, 0x66, 0xd4, 0x4c, 0xaa, 0x3c, 0x8a, 0x97, 0x54, 0x79, 0x94,
- 0xa6, 0xe7, 0xff, 0x36, 0x54, 0xc3, 0x6e, 0x20, 0xa5, 0x17, 0xf6, 0x7d, 0x15, 0xfd, 0xd6, 0x5c,
- 0x1a, 0x44, 0xd5, 0x4d, 0xfe, 0x33, 0x0f, 0x77, 0xe8, 0xae, 0xe3, 0x9d, 0x98, 0x12, 0x9f, 0x31,
- 0x18, 0xca, 0x20, 0x85, 0x20, 0x9c, 0xcf, 0x25, 0xb9, 0xbf, 0x05, 0x2b, 0x6e, 0x53, 0x90, 0x41,
- 0x28, 0xd9, 0xf3, 0x03, 0x47, 0xea, 0x48, 0x5b, 0xc5, 0x4a, 0x41, 0x90, 0xd6, 0x15, 0x5e, 0x6f,
- 0x24, 0x7a, 0xd2, 0xe4, 0x4c, 0xe3, 0x76, 0xe3, 0x7f, 0x16, 0x00, 0xf6, 0xe4, 0xe0, 0x48, 0x06,
- 0x61, 0xdf, 0x19, 0x52, 0x26, 0xc0, 0x31, 0x85, 0x9c, 0x4b, 0x16, 0x3d, 0xf3, 0xf7, 0xc6, 0x6a,
- 0xac, 0xa7, 0x73, 0x77, 0x09, 0xf9, 0x64, 0x84, 0x02, 0x27, 0x47, 0x28, 0x69, 0x0a, 0x6c, 0x68,
- 0xfe, 0xf3, 0x56, 0x1a, 0x44, 0xb5, 0x4f, 0x42, 0xc9, 0xa6, 0x67, 0xeb, 0x08, 0x48, 0xde, 0x8a,
- 0xdb, 0x74, 0x4b, 0x23, 0x5c, 0x1f, 0x29, 0xdf, 0x92, 0x9e, 0x7c, 0x16, 0x5f, 0x31, 0x4a, 0x40,
- 0x7c, 0x0f, 0x96, 0x86, 0xe2, 0x7c, 0x20, 0x3d, 0xb5, 0x27, 0x55, 0xdf, 0xb7, 0x4d, 0x35, 0xcc,
- 0xab, 0x17, 0x77, 0xf0, 0x30, 0x8d, 0x6e, 0x8d, 0x53, 0xa3, 0x4c, 0x78, 0x21, 0xed, 0x12, 0xbd,
- 0x8c, 0xa6, 0xc5, 0x37, 0x00, 0xf4, 0x13, 0x39, 0x16, 0xe5, 0xd9, 0x81, 0x1a, 0x31, 0x90, 0xa1,
- 0x0c, 0x4e, 0x1d, 0xad, 0xc7, 0xb4, 0xeb, 0x94, 0x50, 0xa1, 0xd6, 0x1b, 0x85, 0x32, 0x68, 0x0e,
- 0x84, 0xe3, 0x9a, 0x05, 0x4e, 0x00, 0xfc, 0x2d, 0xb8, 0x16, 0x8e, 0x8e, 0x50, 0x66, 0x8e, 0x64,
- 0xc7, 0xdf, 0x97, 0xcf, 0x42, 0x57, 0x2a, 0x25, 0x03, 0x93, 0x7e, 0x9f, 0xfd, 0xb2, 0xd1, 0x8b,
- 0xad, 0x02, 0xfa, 0x5d, 0x03, 0x7c, 0x4a, 0xca, 0x7a, 0x62, 0x90, 0xa9, 0x79, 0x62, 0x19, 0xce,
- 0x60, 0x51, 0x83, 0x4c, 0x49, 0x54, 0x96, 0x7f, 0x0d, 0x7e, 0x69, 0x0c, 0xc9, 0xd2, 0x79, 0xd2,
- 0x70, 0xdb, 0xf1, 0x84, 0xeb, 0x7c, 0xae, 0xb3, 0xd6, 0xb9, 0xc6, 0x10, 0x96, 0xc6, 0x26, 0x0e,
- 0x8f, 0x79, 0xfd, 0x64, 0x8a, 0x44, 0x18, 0x2c, 0xea, 0x76, 0x5b, 0x05, 0x0e, 0x25, 0x00, 0x62,
- 0xc8, 0x26, 0xee, 0x73, 0x9f, 0x65, 0xf9, 0x55, 0x60, 0x1a, 0xd2, 0xf2, 0xc4, 0x70, 0xb8, 0x3e,
- 0x1c, 0xba, 0x92, 0xe5, 0xe8, 0x2a, 0x5e, 0x02, 0xd5, 0x95, 0xd6, 0x2c, 0xdf, 0xf8, 0x2e, 0xdc,
- 0xa0, 0x99, 0x79, 0x2c, 0x83, 0xd8, 0xef, 0x33, 0x63, 0xbd, 0x06, 0xab, 0xfa, 0x69, 0xdf, 0x57,
- 0xfa, 0x35, 0xd9, 0x42, 0x1c, 0x96, 0x35, 0x18, 0x4d, 0x81, 0xb6, 0xf4, 0x94, 0xae, 0x55, 0xd1,
- 0xb0, 0x18, 0x2f, 0xdb, 0xf8, 0x49, 0x11, 0x78, 0x22, 0x10, 0x1d, 0x47, 0x06, 0x5b, 0x42, 0x89,
- 0x54, 0xe0, 0x6e, 0xe9, 0xc2, 0xd4, 0xf3, 0xf3, 0x2b, 0xba, 0xae, 0x43, 0xd1, 0x09, 0xd1, 0x53,
- 0x31, 0x15, 0x94, 0xa6, 0xc5, 0x77, 0x01, 0x86, 0x32, 0x70, 0x7c, 0x9b, 0x24, 0xa8, 0x30, 0xb3,
- 0xd4, 0x7d, 0xba, 0x53, 0x6b, 0x87, 0x31, 0x8d, 0x95, 0xa2, 0xc7, 0x7e, 0xe8, 0x96, 0x4e, 0xe4,
- 0x16, 0xa9, 0xd3, 0x69, 0x10, 0x7f, 0x1d, 0xae, 0x0c, 0x03, 0xa7, 0x2b, 0xf5, 0x72, 0x3c, 0x0a,
- 0xed, 0x4d, 0xfa, 0x35, 0xb0, 0x12, 0x61, 0xce, 0x7a, 0x85, 0x12, 0x28, 0x3c, 0xb2, 0xdf, 0x43,
- 0x4a, 0x5d, 0x9a, 0xab, 0xa0, 0xba, 0x22, 0x71, 0xc9, 0x9a, 0xfd, 0x92, 0xdf, 0x05, 0x66, 0x5e,
- 0xec, 0x39, 0xde, 0xae, 0xf4, 0x7a, 0xaa, 0x4f, 0xc2, 0xbd, 0x64, 0x4d, 0xc1, 0x49, 0x83, 0xe9,
- 0xdf, 0x5c, 0xd1, 0x69, 0x8d, 0x8a, 0x15, 0xb7, 0xf5, 0xf5, 0x62, 0xd7, 0x0f, 0xda, 0x2a, 0x30,
- 0xc5, 0x92, 0x71, 0x1b, 0x6d, 0x96, 0x90, 0xfa, 0x7a, 0x18, 0xf8, 0xf6, 0x88, 0x82, 0xee, 0x5a,
- 0x89, 0x4d, 0x82, 0x13, 0xcc, 0x3d, 0xe1, 0x99, 0xb2, 0xba, 0xa5, 0x34, 0x66, 0x0c, 0x26, 0x17,
- 0xc5, 0x0f, 0x13, 0x86, 0x2b, 0xc6, 0x45, 0x49, 0xc1, 0x0c, 0x4e, 0xc2, 0x8a, 0xc5, 0x38, 0x09,
- 0x1f, 0x1a, 0xbf, 0x1d, 0xf8, 0x8e, 0x9d, 0xf0, 0x5a, 0xd5, 0x45, 0x8f, 0x93, 0xf0, 0x14, 0x6e,
- 0xc2, 0x93, 0x8f, 0xe1, 0xc6, 0xf0, 0xc6, 0x0f, 0x32, 0x00, 0xc9, 0xe2, 0xa3, 0xc8, 0x27, 0xad,
- 0x64, 0x8b, 0xdf, 0x80, 0x2b, 0x69, 0x30, 0x55, 0xc3, 0x53, 0xfe, 0x93, 0xc3, 0x72, 0xf2, 0x62,
- 0x4b, 0x9c, 0x87, 0x2c, 0xab, 0xab, 0x1f, 0x23, 0xd8, 0x13, 0x29, 0xa9, 0xce, 0xec, 0x2a, 0xb0,
- 0x04, 0x48, 0x97, 0x9d, 0x42, 0x96, 0x1f, 0x47, 0xfd, 0x9e, 0x14, 0x41, 0xc8, 0x0a, 0x8d, 0x1d,
- 0x28, 0xea, 0xdc, 0xcb, 0x8c, 0xac, 0xe9, 0x8b, 0x95, 0x40, 0xfc, 0xed, 0x0c, 0xc0, 0x96, 0x2e,
- 0x70, 0xc5, 0x53, 0x7c, 0x46, 0x32, 0x7a, 0x96, 0x45, 0x25, 0x6c, 0x9b, 0x4a, 0x7f, 0x73, 0xf1,
- 0x2f, 0x79, 0x60, 0x13, 0x25, 0x47, 0x44, 0x85, 0x45, 0x7a, 0xcf, 0xc5, 0x6d, 0x7d, 0x80, 0x6c,
- 0xfa, 0x9e, 0x27, 0xbb, 0x78, 0xfc, 0xc4, 0x07, 0x48, 0x0c, 0x6a, 0xfc, 0xbb, 0x12, 0x54, 0x37,
- 0xfb, 0x42, 0xed, 0xc9, 0x30, 0x14, 0x3d, 0x39, 0xd5, 0x97, 0x1a, 0x94, 0xfc, 0xc0, 0x96, 0x41,
- 0x72, 0x61, 0xc9, 0x34, 0xd3, 0x29, 0xf8, 0xdc, 0x78, 0x0a, 0xfe, 0x26, 0x54, 0x74, 0x80, 0xdf,
- 0x5e, 0xd7, 0x6a, 0x20, 0x67, 0x25, 0x00, 0x3c, 0xab, 0x07, 0xbe, 0x4d, 0xca, 0x68, 0x5d, 0xc7,
- 0xc6, 0x73, 0x56, 0x0a, 0xa2, 0x2b, 0x1e, 0x86, 0xee, 0x79, 0xc7, 0x37, 0x7d, 0x6a, 0xd9, 0xc9,
- 0xed, 0xce, 0x71, 0x38, 0xdf, 0x84, 0xd2, 0x40, 0x37, 0x4c, 0x9c, 0x7f, 0x32, 0x22, 0x9e, 0x1a,
- 0xda, 0x9a, 0xf9, 0x6b, 0x2e, 0x58, 0x58, 0x11, 0x25, 0x7a, 0xb0, 0x42, 0x29, 0xd1, 0xed, 0x0f,
- 0x8c, 0x8a, 0xc8, 0xcd, 0x48, 0xf9, 0xa5, 0x19, 0xad, 0xc7, 0xd8, 0x56, 0x9a, 0x92, 0x6f, 0x40,
- 0x25, 0x90, 0x62, 0x2c, 0xeb, 0xf8, 0xf2, 0x25, 0x6c, 0xac, 0x08, 0xd7, 0x4a, 0xc8, 0xea, 0x3f,
- 0xca, 0xc0, 0xf2, 0x78, 0x47, 0xff, 0x22, 0x7e, 0x8c, 0xe9, 0xdb, 0xc9, 0x8f, 0x31, 0x7d, 0x89,
- 0x1f, 0x36, 0xfa, 0xdd, 0x0c, 0x40, 0x32, 0x07, 0xa8, 0xf2, 0xf5, 0x8f, 0xc6, 0x44, 0x46, 0xa8,
- 0x6e, 0xf1, 0x9d, 0xb1, 0x6b, 0xdd, 0x6f, 0xcd, 0x35, 0xa1, 0xa9, 0xc7, 0x54, 0xd5, 0xee, 0x3d,
- 0x58, 0x1e, 0x87, 0xd3, 0xcf, 0xc0, 0xb4, 0x76, 0x9b, 0x3a, 0x02, 0xd0, 0xda, 0x5b, 0x7f, 0xd0,
- 0x34, 0x17, 0x5a, 0x5a, 0xfb, 0x0f, 0x59, 0xb6, 0xfe, 0x27, 0x19, 0xa8, 0xc4, 0xd3, 0xcb, 0x3f,
- 0x49, 0xaf, 0x8b, 0x2e, 0x23, 0x78, 0x73, 0x9e, 0x75, 0x49, 0x9e, 0x9a, 0x9e, 0x0a, 0xce, 0xd3,
- 0xcb, 0xe4, 0xc3, 0xf2, 0xf8, 0xcb, 0x19, 0x3a, 0xe1, 0xc1, 0xb8, 0x4e, 0x78, 0x63, 0xae, 0x4f,
- 0x46, 0x9e, 0xd7, 0xae, 0x13, 0x2a, 0xa3, 0x2e, 0xde, 0xcf, 0xbe, 0x97, 0xa9, 0xdf, 0x86, 0xc5,
- 0xf4, 0xab, 0xe9, 0x5b, 0x6b, 0x77, 0xff, 0x24, 0x07, 0xcb, 0xe3, 0x99, 0x78, 0xba, 0x23, 0xa3,
- 0xab, 0x40, 0x0e, 0x5c, 0x3b, 0x55, 0xe8, 0xcc, 0xf8, 0x0a, 0x54, 0x8d, 0x6f, 0x47, 0x80, 0x55,
- 0x8a, 0x31, 0xf8, 0x03, 0xc9, 0x6e, 0xa7, 0x7f, 0x70, 0xee, 0x75, 0x0e, 0xd1, 0xed, 0x25, 0x36,
- 0xe4, 0x15, 0xf3, 0xd3, 0x3b, 0xbf, 0x96, 0xe5, 0x4b, 0xa9, 0x72, 0xdb, 0x1f, 0xa2, 0x61, 0xb3,
- 0xb2, 0x31, 0xf2, 0x6c, 0x57, 0xda, 0x31, 0xf4, 0x47, 0x69, 0x68, 0x5c, 0x3c, 0xfb, 0x6b, 0x79,
- 0xbe, 0x0c, 0x95, 0xf6, 0xe8, 0xc8, 0x14, 0xce, 0xfe, 0xf5, 0x3c, 0xbf, 0x0e, 0xab, 0x06, 0x2b,
- 0xa9, 0x80, 0x63, 0x7f, 0x03, 0x55, 0xf0, 0xf2, 0xba, 0x9e, 0x2f, 0xd3, 0x51, 0xf6, 0x37, 0xf3,
- 0xd8, 0x05, 0xba, 0x14, 0xfb, 0xeb, 0xc4, 0x27, 0xbe, 0x42, 0xc0, 0x7e, 0x23, 0xcf, 0x57, 0x00,
- 0xda, 0x9d, 0xf8, 0x43, 0xbf, 0x95, 0xe7, 0x55, 0x28, 0xb6, 0x3b, 0xc4, 0xed, 0x07, 0x79, 0x7e,
- 0x0d, 0x58, 0xf2, 0xd6, 0xd4, 0x05, 0xfe, 0x1d, 0xdd, 0x99, 0xb8, 0xd0, 0xef, 0xb7, 0xf3, 0x38,
- 0xae, 0x68, 0x96, 0xd9, 0xdf, 0xcd, 0x73, 0x06, 0xd5, 0x54, 0xe4, 0x8a, 0xfd, 0xbd, 0x3c, 0xe7,
- 0xb0, 0xb4, 0xe7, 0x84, 0xa1, 0xe3, 0xf5, 0xcc, 0x08, 0x7e, 0x93, 0xbe, 0xbc, 0x1d, 0xdf, 0x82,
- 0x60, 0xbf, 0x93, 0xe7, 0x37, 0x80, 0xa7, 0xa3, 0xf5, 0xe6, 0xc5, 0xdf, 0x27, 0x6a, 0xad, 0xf6,
- 0x43, 0x03, 0xfb, 0x07, 0x44, 0x8d, 0x92, 0x60, 0x00, 0xff, 0x90, 0x26, 0x64, 0x33, 0xa9, 0x24,
- 0x34, 0xf0, 0x1f, 0x12, 0x71, 0xb4, 0x98, 0x1a, 0xf6, 0xa3, 0xfc, 0xdd, 0x9f, 0x50, 0xb4, 0x35,
- 0x5d, 0x90, 0xc3, 0x17, 0xa1, 0xec, 0xfa, 0x5e, 0x4f, 0xe9, 0x1f, 0xfa, 0x5b, 0x82, 0x4a, 0xd8,
- 0xf7, 0x03, 0x45, 0x4d, 0xba, 0xa6, 0xe5, 0xd1, 0x85, 0x5d, 0x5d, 0x6d, 0xad, 0x9d, 0x14, 0x1d,
- 0xbd, 0x52, 0xa2, 0xc7, 0xaa, 0x71, 0x0d, 0x64, 0x3e, 0xae, 0xd3, 0xa4, 0x8b, 0xc3, 0xd1, 0xc5,
- 0x4c, 0x56, 0x44, 0xd4, 0x51, 0xe0, 0xea, 0x7a, 0x4d, 0x89, 0x06, 0xaa, 0xfe, 0x45, 0xaf, 0x61,
- 0x1f, 0xed, 0xe0, 0x8a, 0x86, 0xfa, 0x9f, 0x39, 0xfa, 0xca, 0x9f, 0x29, 0x7f, 0xb2, 0xb1, 0x1f,
- 0x71, 0x86, 0x9f, 0xc9, 0xbb, 0xbf, 0x9d, 0x81, 0xc5, 0xe8, 0xba, 0xac, 0xd3, 0x73, 0x3c, 0x5d,
- 0xf1, 0x19, 0xfd, 0x7c, 0x62, 0xd7, 0x75, 0x86, 0xd1, 0xcf, 0x91, 0xad, 0x40, 0xd5, 0x0e, 0x44,
- 0x6f, 0xdd, 0xb3, 0xb7, 0x02, 0x7f, 0xa8, 0xbb, 0xad, 0xf3, 0x31, 0xba, 0xd2, 0xf4, 0x99, 0x3c,
- 0x42, 0xf4, 0xa1, 0x0c, 0x58, 0x9e, 0x4a, 0xab, 0xfa, 0x22, 0x70, 0xbc, 0x5e, 0xf3, 0x4c, 0x49,
- 0x2f, 0xd4, 0x15, 0xa7, 0x55, 0x28, 0x8d, 0x42, 0xd9, 0x15, 0xa1, 0x64, 0x45, 0x6c, 0x1c, 0x8d,
- 0x1c, 0x57, 0x39, 0x9e, 0xfe, 0x15, 0xb0, 0xb8, 0xa4, 0xb4, 0x7c, 0xf7, 0xf7, 0x33, 0x50, 0x25,
- 0x69, 0x48, 0x02, 0x8d, 0x89, 0xa5, 0x51, 0x85, 0xd2, 0x6e, 0xfc, 0x2b, 0x50, 0x45, 0xc8, 0x1e,
- 0x9c, 0xe8, 0x40, 0xa3, 0x91, 0x06, 0x7d, 0xd9, 0x4d, 0xff, 0x20, 0x54, 0x9e, 0x7f, 0x05, 0xae,
- 0x59, 0x72, 0xe0, 0x2b, 0xf9, 0x44, 0x38, 0x2a, 0x7d, 0xdb, 0xa2, 0x80, 0x4e, 0x89, 0x7e, 0x15,
- 0x5d, 0xaf, 0x28, 0x92, 0x53, 0x82, 0x9f, 0x8d, 0x20, 0x25, 0x1c, 0x34, 0x41, 0x8c, 0x97, 0x52,
- 0x8e, 0x51, 0x3e, 0xf6, 0x1d, 0x0f, 0xbf, 0x46, 0x57, 0x2c, 0x09, 0x42, 0x11, 0x6b, 0x04, 0xc1,
- 0xdd, 0x7d, 0xb8, 0x3e, 0x3b, 0xce, 0xaa, 0x2f, 0x5f, 0xd2, 0x4f, 0x8f, 0x52, 0xfd, 0xfd, 0x93,
- 0xc0, 0xd1, 0x77, 0xe8, 0x2a, 0x50, 0x38, 0x78, 0xe6, 0x91, 0x34, 0xac, 0xc2, 0xd2, 0xbe, 0x9f,
- 0xa2, 0x61, 0xb9, 0xbb, 0xdd, 0xb1, 0xd0, 0x78, 0x32, 0x29, 0x51, 0x27, 0x16, 0x52, 0x77, 0x4b,
- 0x32, 0x3a, 0xe8, 0x4a, 0xbf, 0x1e, 0xaf, 0x2f, 0xa6, 0x9b, 0x90, 0xb4, 0xad, 0x2f, 0xa6, 0xc7,
- 0xdd, 0xcc, 0xeb, 0x9f, 0x85, 0xf1, 0xba, 0xd2, 0x95, 0x36, 0x2b, 0xdc, 0x7d, 0x0f, 0x56, 0xcc,
- 0x50, 0xbb, 0x32, 0x0c, 0xa3, 0xbb, 0x19, 0x87, 0x81, 0x73, 0xaa, 0x2f, 0xbf, 0x2f, 0x42, 0xf9,
- 0x50, 0x06, 0xa1, 0xef, 0xd1, 0xc5, 0x7f, 0x80, 0x62, 0xbb, 0x2f, 0x02, 0xfc, 0xc6, 0xdd, 0x6f,
- 0x40, 0x85, 0xee, 0x6a, 0x3c, 0x74, 0x3c, 0x1b, 0x47, 0xb2, 0x61, 0xca, 0x93, 0x2b, 0x50, 0xd8,
- 0xf4, 0x4f, 0x69, 0x7c, 0x65, 0xfd, 0x03, 0x88, 0x2c, 0x7b, 0xf7, 0x23, 0xe0, 0x3a, 0xc4, 0x63,
- 0xcb, 0x33, 0xc7, 0xeb, 0xc5, 0x37, 0x82, 0x81, 0xae, 0xf7, 0xdb, 0xf2, 0x8c, 0x3c, 0xa8, 0x2a,
- 0x94, 0xa2, 0x46, 0xf4, 0x23, 0x03, 0xdb, 0xfe, 0xc8, 0xc3, 0xaf, 0x3d, 0x86, 0xab, 0x5a, 0x36,
- 0xf0, 0xf3, 0x74, 0x27, 0xec, 0x42, 0xbf, 0x53, 0x5f, 0xa8, 0x51, 0xa3, 0x30, 0xc6, 0x65, 0x19,
- 0x7e, 0x1d, 0x78, 0xec, 0xb3, 0x25, 0xf0, 0xec, 0xdd, 0x06, 0x5c, 0x99, 0xe1, 0x38, 0x93, 0x12,
- 0xd6, 0xee, 0x03, 0x5b, 0xb8, 0xfb, 0x21, 0xac, 0x6a, 0xb5, 0xb1, 0xaf, 0xef, 0xf8, 0x44, 0x27,
- 0xe0, 0x93, 0xd6, 0x76, 0x4b, 0x4f, 0xd1, 0x66, 0x73, 0x77, 0xf7, 0xd1, 0xee, 0xba, 0xc5, 0x32,
- 0xb4, 0x90, 0x07, 0x9d, 0xa7, 0x9b, 0x07, 0xfb, 0xfb, 0xcd, 0xcd, 0x4e, 0x73, 0x8b, 0x65, 0x37,
- 0xee, 0xfe, 0xe1, 0xcf, 0x6f, 0x65, 0x7e, 0xf6, 0xf3, 0x5b, 0x99, 0xff, 0xfe, 0xf3, 0x5b, 0x99,
- 0x1f, 0x7c, 0x71, 0x6b, 0xe1, 0x67, 0x5f, 0xdc, 0x5a, 0xf8, 0x2f, 0x5f, 0xdc, 0x5a, 0xf8, 0x94,
- 0x4d, 0xfe, 0xe7, 0x86, 0xa3, 0x22, 0x59, 0xac, 0x6f, 0xfe, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0x03, 0x05, 0xfb, 0xeb, 0xd4, 0x61, 0x00, 0x00,
+ // 8645 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7d, 0x5b, 0x8c, 0x24, 0xc9,
+ 0x71, 0xd8, 0xf4, 0xbb, 0x3b, 0x7a, 0x1e, 0x39, 0xb9, 0xaf, 0x66, 0xdf, 0x6a, 0xb5, 0x6c, 0x1e,
+ 0xef, 0x96, 0xcb, 0xe3, 0xec, 0xdd, 0xde, 0x93, 0x27, 0xde, 0x1d, 0xe7, 0xd1, 0xb3, 0xd3, 0xb7,
+ 0xf3, 0xba, 0xea, 0xde, 0x5d, 0xf2, 0x20, 0x79, 0x9d, 0xd3, 0x95, 0xd3, 0x5d, 0x37, 0xd5, 0x55,
+ 0xcd, 0xaa, 0xec, 0xd9, 0x99, 0x83, 0x6d, 0xc8, 0x2f, 0xc9, 0xfa, 0xa3, 0x04, 0xcb, 0x8f, 0x0f,
+ 0x43, 0xe4, 0x9f, 0x61, 0x11, 0x36, 0x6c, 0x80, 0x30, 0x6d, 0x58, 0x80, 0xad, 0x1f, 0x0b, 0xf0,
+ 0x0f, 0x6d, 0x7f, 0xd8, 0xfe, 0xb2, 0x41, 0x7e, 0x1a, 0xb2, 0x20, 0x7f, 0x09, 0x86, 0x3f, 0x8c,
+ 0x88, 0xcc, 0x7a, 0xf4, 0x63, 0x66, 0x7b, 0x4f, 0x92, 0xa1, 0xaf, 0xa9, 0x88, 0x8a, 0x88, 0xca,
+ 0x47, 0x64, 0x64, 0x44, 0x64, 0x64, 0x0f, 0xbc, 0x3c, 0x3c, 0xe9, 0xdd, 0x73, 0x9d, 0xa3, 0x7b,
+ 0xc3, 0xa3, 0x7b, 0x03, 0xdf, 0x96, 0xee, 0xbd, 0x61, 0xe0, 0x2b, 0x3f, 0xd4, 0x40, 0xb8, 0x46,
+ 0x10, 0x5f, 0x12, 0xde, 0xb9, 0x3a, 0x1f, 0xca, 0x35, 0xc2, 0xd6, 0x6f, 0xf6, 0x7c, 0xbf, 0xe7,
+ 0x4a, 0x4d, 0x7a, 0x34, 0x3a, 0xbe, 0x17, 0xaa, 0x60, 0xd4, 0x55, 0x9a, 0xb8, 0xf1, 0xd3, 0x3c,
+ 0x5c, 0x6f, 0x0f, 0x44, 0xa0, 0x36, 0x5c, 0xbf, 0x7b, 0xd2, 0xf6, 0xc4, 0x30, 0xec, 0xfb, 0x6a,
+ 0x43, 0x84, 0x92, 0xbf, 0x06, 0xc5, 0x23, 0x44, 0x86, 0xb5, 0xcc, 0xed, 0xdc, 0x9d, 0xea, 0xfd,
+ 0xab, 0x6b, 0x63, 0x82, 0xd7, 0x88, 0xc3, 0x32, 0x34, 0xfc, 0x0d, 0x28, 0xd9, 0x52, 0x09, 0xc7,
+ 0x0d, 0x6b, 0xd9, 0xdb, 0x99, 0x3b, 0xd5, 0xfb, 0x37, 0xd6, 0xf4, 0x87, 0xd7, 0xa2, 0x0f, 0xaf,
+ 0xb5, 0xe9, 0xc3, 0x56, 0x44, 0xc7, 0xdf, 0x85, 0xf2, 0xb1, 0xe3, 0xca, 0x87, 0xf2, 0x3c, 0xac,
+ 0xe5, 0x2e, 0xe5, 0xd9, 0xc8, 0xd6, 0x32, 0x56, 0x4c, 0xcc, 0x37, 0x61, 0x59, 0x9e, 0xa9, 0x40,
+ 0x58, 0xd2, 0x15, 0xca, 0xf1, 0xbd, 0xb0, 0x96, 0xa7, 0x16, 0xde, 0x98, 0x68, 0x61, 0xf4, 0x9e,
+ 0xd8, 0x27, 0x58, 0xf8, 0x6d, 0xa8, 0xfa, 0x47, 0x9f, 0xc9, 0xae, 0xea, 0x9c, 0x0f, 0x65, 0x58,
+ 0x2b, 0xdc, 0xce, 0xdd, 0xa9, 0x58, 0x69, 0x14, 0xff, 0x26, 0x54, 0xbb, 0xbe, 0xeb, 0xca, 0xae,
+ 0xfe, 0x46, 0xf1, 0xf2, 0x6e, 0xa5, 0x69, 0xf9, 0x5b, 0x70, 0x2d, 0x90, 0x03, 0xff, 0x54, 0xda,
+ 0x9b, 0x31, 0x96, 0xfa, 0x59, 0xa6, 0xcf, 0xcc, 0x7e, 0xc9, 0xd7, 0x61, 0x29, 0x30, 0xed, 0xdb,
+ 0x75, 0xbc, 0x93, 0xb0, 0x56, 0xa2, 0x6e, 0xbd, 0x74, 0x41, 0xb7, 0x90, 0xc6, 0x1a, 0xe7, 0xe0,
+ 0x0c, 0x72, 0x27, 0xf2, 0xbc, 0x56, 0xb9, 0x9d, 0xb9, 0x53, 0xb1, 0xf0, 0x91, 0xbf, 0x0f, 0x35,
+ 0x3f, 0x70, 0x7a, 0x8e, 0x27, 0xdc, 0xcd, 0x40, 0x0a, 0x25, 0xed, 0x8e, 0x33, 0x90, 0xa1, 0x12,
+ 0x83, 0x61, 0x0d, 0x6e, 0x67, 0xee, 0xe4, 0xac, 0x0b, 0xdf, 0xf3, 0x37, 0xf5, 0x0c, 0xb5, 0xbc,
+ 0x63, 0xbf, 0x56, 0x35, 0xdd, 0x1f, 0x6f, 0xcb, 0xb6, 0x79, 0x6d, 0xc5, 0x84, 0x8d, 0x3f, 0xc9,
+ 0x42, 0xb1, 0x2d, 0x45, 0xd0, 0xed, 0xd7, 0x7f, 0x3d, 0x03, 0x45, 0x4b, 0x86, 0x23, 0x57, 0xf1,
+ 0x3a, 0x94, 0xf5, 0xd8, 0xb6, 0xec, 0x5a, 0x86, 0x5a, 0x17, 0xc3, 0x5f, 0x44, 0x77, 0xd6, 0x20,
+ 0x3f, 0x90, 0x4a, 0xd4, 0x72, 0x34, 0x42, 0xf5, 0x89, 0x56, 0xe9, 0xcf, 0xaf, 0xed, 0x49, 0x25,
+ 0x2c, 0xa2, 0xab, 0xff, 0x3c, 0x03, 0x79, 0x04, 0xf9, 0x4d, 0xa8, 0xf4, 0x9d, 0x5e, 0xdf, 0x75,
+ 0x7a, 0x7d, 0x65, 0x1a, 0x92, 0x20, 0xf8, 0x87, 0xb0, 0x12, 0x03, 0x96, 0xf0, 0x7a, 0x12, 0x5b,
+ 0x34, 0x4b, 0xf9, 0xe9, 0xa5, 0x35, 0x49, 0xcc, 0x6b, 0x50, 0xa2, 0xf5, 0xd0, 0xb2, 0x49, 0xa3,
+ 0x2b, 0x56, 0x04, 0xa2, 0xba, 0x45, 0x33, 0xf5, 0x50, 0x9e, 0xd7, 0xf2, 0xf4, 0x36, 0x8d, 0xe2,
+ 0xeb, 0xb0, 0x12, 0x81, 0x5b, 0x66, 0x34, 0x0a, 0x97, 0x8f, 0xc6, 0x24, 0x7d, 0xe3, 0xbf, 0xb4,
+ 0xa0, 0x40, 0xcb, 0x92, 0x2f, 0x43, 0xd6, 0x89, 0x06, 0x3a, 0xeb, 0xd8, 0xfc, 0x1e, 0x14, 0x8f,
+ 0x1d, 0xe9, 0xda, 0xcf, 0x1d, 0x61, 0x43, 0xc6, 0x9b, 0xb0, 0x18, 0xc8, 0x50, 0x05, 0x8e, 0xd1,
+ 0x7e, 0xbd, 0x40, 0xbf, 0x3c, 0xcb, 0x06, 0xac, 0x59, 0x29, 0x42, 0x6b, 0x8c, 0x0d, 0xbb, 0xdd,
+ 0xed, 0x3b, 0xae, 0x1d, 0x48, 0xaf, 0x65, 0xeb, 0x75, 0x5a, 0xb1, 0xd2, 0x28, 0x7e, 0x07, 0x56,
+ 0x8e, 0x44, 0xf7, 0xa4, 0x17, 0xf8, 0x23, 0x0f, 0x17, 0x84, 0x1f, 0x50, 0xb7, 0x2b, 0xd6, 0x24,
+ 0x9a, 0xbf, 0x0e, 0x05, 0xe1, 0x3a, 0x3d, 0x8f, 0x56, 0xe2, 0xf2, 0xd4, 0xa4, 0xeb, 0xb6, 0xac,
+ 0x23, 0x85, 0xa5, 0x09, 0xf9, 0x0e, 0x2c, 0x9d, 0xca, 0x40, 0x39, 0x5d, 0xe1, 0x12, 0xbe, 0x56,
+ 0x22, 0xce, 0xc6, 0x4c, 0xce, 0xc7, 0x69, 0x4a, 0x6b, 0x9c, 0x91, 0xb7, 0x00, 0x42, 0x34, 0x93,
+ 0x34, 0x9d, 0x66, 0x2d, 0xbc, 0x3a, 0x53, 0xcc, 0xa6, 0xef, 0x29, 0xe9, 0xa9, 0xb5, 0x76, 0x4c,
+ 0xbe, 0xb3, 0x60, 0xa5, 0x98, 0xf9, 0xbb, 0x90, 0x57, 0xf2, 0x4c, 0xd5, 0x96, 0x2f, 0x19, 0xd1,
+ 0x48, 0x48, 0x47, 0x9e, 0xa9, 0x9d, 0x05, 0x8b, 0x18, 0x90, 0x11, 0x17, 0x59, 0x6d, 0x65, 0x0e,
+ 0x46, 0x5c, 0x97, 0xc8, 0x88, 0x0c, 0xfc, 0x03, 0x28, 0xba, 0xe2, 0xdc, 0x1f, 0xa9, 0x1a, 0x23,
+ 0xd6, 0xaf, 0x5c, 0xca, 0xba, 0x4b, 0xa4, 0x3b, 0x0b, 0x96, 0x61, 0xe2, 0x6f, 0x41, 0xce, 0x76,
+ 0x4e, 0x6b, 0xab, 0xc4, 0x7b, 0xfb, 0x52, 0xde, 0x2d, 0xe7, 0x74, 0x67, 0xc1, 0x42, 0x72, 0xbe,
+ 0x09, 0xe5, 0x23, 0xdf, 0x3f, 0x19, 0x88, 0xe0, 0xa4, 0xc6, 0x89, 0xf5, 0xab, 0x97, 0xb2, 0x6e,
+ 0x18, 0xe2, 0x9d, 0x05, 0x2b, 0x66, 0xc4, 0x2e, 0x3b, 0x5d, 0xdf, 0xab, 0x5d, 0x99, 0xa3, 0xcb,
+ 0xad, 0xae, 0xef, 0x61, 0x97, 0x91, 0x01, 0x19, 0x5d, 0xc7, 0x3b, 0xa9, 0x5d, 0x9d, 0x83, 0x11,
+ 0x2d, 0x27, 0x32, 0x22, 0x03, 0x36, 0xdb, 0x16, 0x4a, 0x9c, 0x3a, 0xf2, 0x59, 0xed, 0xda, 0x1c,
+ 0xcd, 0xde, 0x32, 0xc4, 0xd8, 0xec, 0x88, 0x11, 0x85, 0x44, 0x4b, 0xb3, 0x76, 0x7d, 0x0e, 0x21,
+ 0x91, 0x45, 0x47, 0x21, 0x11, 0x23, 0xff, 0x4b, 0xb0, 0x7a, 0x2c, 0x85, 0x1a, 0x05, 0xd2, 0x4e,
+ 0x36, 0xba, 0x1b, 0x24, 0x6d, 0xed, 0xf2, 0xb9, 0x9f, 0xe4, 0xda, 0x59, 0xb0, 0xa6, 0x45, 0xf1,
+ 0xf7, 0xa1, 0xe0, 0x0a, 0x25, 0xcf, 0x6a, 0x35, 0x92, 0xd9, 0x78, 0x8e, 0x52, 0x28, 0x79, 0xb6,
+ 0xb3, 0x60, 0x69, 0x16, 0xfe, 0x1d, 0x58, 0x51, 0xe2, 0xc8, 0x95, 0x07, 0xc7, 0x86, 0x20, 0xac,
+ 0x7d, 0x89, 0xa4, 0xbc, 0x76, 0xb9, 0x3a, 0x8f, 0xf3, 0xec, 0x2c, 0x58, 0x93, 0x62, 0xb0, 0x55,
+ 0x84, 0xaa, 0xd5, 0xe7, 0x68, 0x15, 0xc9, 0xc3, 0x56, 0x11, 0x0b, 0xdf, 0x85, 0x2a, 0x3d, 0x6c,
+ 0xfa, 0xee, 0x68, 0xe0, 0xd5, 0x5e, 0x22, 0x09, 0x77, 0x9e, 0x2f, 0x41, 0xd3, 0xef, 0x2c, 0x58,
+ 0x69, 0x76, 0x9c, 0x44, 0x02, 0x2d, 0xff, 0x59, 0xed, 0xe6, 0x1c, 0x93, 0xd8, 0x31, 0xc4, 0x38,
+ 0x89, 0x11, 0x23, 0x2e, 0xbd, 0x67, 0x8e, 0xdd, 0x93, 0xaa, 0xf6, 0x0b, 0x73, 0x2c, 0xbd, 0x27,
+ 0x44, 0x8a, 0x4b, 0x4f, 0x33, 0xa1, 0x1a, 0x77, 0xfb, 0x42, 0xd5, 0x6e, 0xcd, 0xa1, 0xc6, 0x9b,
+ 0x7d, 0x41, 0xb6, 0x02, 0x19, 0xea, 0x9f, 0xc3, 0x62, 0xda, 0x2a, 0x73, 0x0e, 0xf9, 0x40, 0x0a,
+ 0xbd, 0x23, 0x94, 0x2d, 0x7a, 0x46, 0x9c, 0xb4, 0x1d, 0x45, 0x3b, 0x42, 0xd9, 0xa2, 0x67, 0x7e,
+ 0x1d, 0x8a, 0xda, 0x37, 0x21, 0x83, 0x5f, 0xb6, 0x0c, 0x84, 0xb4, 0x76, 0x20, 0x7a, 0xb4, 0x6f,
+ 0x95, 0x2d, 0x7a, 0x46, 0x5a, 0x3b, 0xf0, 0x87, 0x07, 0x1e, 0x19, 0xec, 0xb2, 0x65, 0xa0, 0xfa,
+ 0xbf, 0x7e, 0x1f, 0x4a, 0xa6, 0x51, 0xf5, 0x7f, 0x94, 0x81, 0xa2, 0x36, 0x28, 0xfc, 0x23, 0x28,
+ 0x84, 0xea, 0xdc, 0x95, 0xd4, 0x86, 0xe5, 0xfb, 0x5f, 0x9b, 0xc3, 0x08, 0xad, 0xb5, 0x91, 0xc1,
+ 0xd2, 0x7c, 0x0d, 0x0b, 0x0a, 0x04, 0xf3, 0x12, 0xe4, 0x2c, 0xff, 0x19, 0x5b, 0xe0, 0x00, 0x45,
+ 0x3d, 0x59, 0x2c, 0x83, 0xc8, 0x2d, 0xe7, 0x94, 0x65, 0x11, 0xb9, 0x23, 0x85, 0x2d, 0x03, 0x96,
+ 0xe3, 0x4b, 0x50, 0x89, 0xa6, 0x25, 0x64, 0x79, 0xce, 0x60, 0x31, 0x35, 0xe1, 0x21, 0x2b, 0xd4,
+ 0xff, 0x77, 0x1e, 0xf2, 0xb8, 0xfe, 0xf9, 0xcb, 0xb0, 0xa4, 0x44, 0xd0, 0x93, 0xda, 0x11, 0x8e,
+ 0x9d, 0x94, 0x71, 0x24, 0xff, 0x20, 0xea, 0x43, 0x96, 0xfa, 0xf0, 0xea, 0x73, 0xed, 0xca, 0x58,
+ 0x0f, 0x52, 0xbb, 0x70, 0x6e, 0xbe, 0x5d, 0x78, 0x1b, 0xca, 0x68, 0xce, 0xda, 0xce, 0xe7, 0x92,
+ 0x86, 0x7e, 0xf9, 0xfe, 0xdd, 0xe7, 0x7f, 0xb2, 0x65, 0x38, 0xac, 0x98, 0x97, 0xb7, 0xa0, 0xd2,
+ 0x15, 0x81, 0x4d, 0x8d, 0xa1, 0xd9, 0x5a, 0xbe, 0xff, 0xf5, 0xe7, 0x0b, 0xda, 0x8c, 0x58, 0xac,
+ 0x84, 0x9b, 0x1f, 0x40, 0xd5, 0x96, 0x61, 0x37, 0x70, 0x86, 0x64, 0xde, 0xf4, 0x5e, 0xfc, 0x8d,
+ 0xe7, 0x0b, 0xdb, 0x4a, 0x98, 0xac, 0xb4, 0x04, 0xf4, 0xc8, 0x82, 0xd8, 0xbe, 0x95, 0xc8, 0x41,
+ 0x48, 0x10, 0x8d, 0x77, 0xa1, 0x1c, 0xf5, 0x87, 0x2f, 0x42, 0x19, 0xff, 0xee, 0xfb, 0x9e, 0x64,
+ 0x0b, 0x38, 0xb7, 0x08, 0xb5, 0x07, 0xc2, 0x75, 0x59, 0x86, 0x2f, 0x03, 0x20, 0xb8, 0x27, 0x6d,
+ 0x67, 0x34, 0x60, 0xd9, 0xc6, 0x2f, 0x45, 0xda, 0x52, 0x86, 0xfc, 0xa1, 0xe8, 0x21, 0xc7, 0x22,
+ 0x94, 0x23, 0x73, 0xcd, 0x32, 0xc8, 0xbf, 0x25, 0xc2, 0xfe, 0x91, 0x2f, 0x02, 0x9b, 0x65, 0x79,
+ 0x15, 0x4a, 0xeb, 0x41, 0xb7, 0xef, 0x9c, 0x4a, 0x96, 0x6b, 0xdc, 0x83, 0x6a, 0xaa, 0xbd, 0x28,
+ 0xc2, 0x7c, 0xb4, 0x02, 0x85, 0x75, 0xdb, 0x96, 0x36, 0xcb, 0x20, 0x83, 0xe9, 0x20, 0xcb, 0x36,
+ 0xbe, 0x0e, 0x95, 0x78, 0xb4, 0x90, 0x1c, 0x37, 0x6e, 0xb6, 0x80, 0x4f, 0x88, 0x66, 0x19, 0xd4,
+ 0xca, 0x96, 0xe7, 0x3a, 0x9e, 0x64, 0xd9, 0xfa, 0x5f, 0x26, 0x55, 0xe5, 0xdf, 0x1a, 0x5f, 0x10,
+ 0xaf, 0x3c, 0x6f, 0x67, 0x1d, 0x5f, 0x0d, 0x2f, 0xa5, 0xfa, 0xb7, 0xeb, 0x50, 0xe3, 0xca, 0x90,
+ 0xdf, 0xf2, 0x55, 0xc8, 0x32, 0xf5, 0xff, 0x99, 0x85, 0x72, 0xb4, 0xa1, 0x62, 0x4c, 0x30, 0x0a,
+ 0x5c, 0xa3, 0xd0, 0xf8, 0xc8, 0xaf, 0x42, 0x41, 0x39, 0xca, 0xa8, 0x71, 0xc5, 0xd2, 0x00, 0xfa,
+ 0x6a, 0xe9, 0x99, 0xd5, 0x0e, 0xec, 0xe4, 0x54, 0x39, 0x03, 0xd1, 0x93, 0x3b, 0x22, 0xec, 0x1b,
+ 0x17, 0x36, 0x41, 0x20, 0xff, 0xb1, 0x38, 0x45, 0x9d, 0xa3, 0xf7, 0xda, 0x8b, 0x4b, 0xa3, 0xf8,
+ 0x9b, 0x90, 0xc7, 0x0e, 0x1a, 0xa5, 0xf9, 0xc5, 0x89, 0x0e, 0xa3, 0x9a, 0x1c, 0x06, 0x12, 0xa7,
+ 0x67, 0x0d, 0x23, 0x30, 0x8b, 0x88, 0xf9, 0x2b, 0xb0, 0xac, 0x17, 0xe1, 0x41, 0x14, 0x3f, 0x94,
+ 0x48, 0xf2, 0x04, 0x96, 0xaf, 0xe3, 0x70, 0x0a, 0x25, 0x6b, 0xe5, 0x39, 0xf4, 0x3b, 0x1a, 0x9c,
+ 0xb5, 0x36, 0xb2, 0x58, 0x9a, 0xb3, 0xf1, 0x36, 0x8e, 0xa9, 0x50, 0x12, 0xa7, 0xb9, 0x39, 0x18,
+ 0xaa, 0x73, 0xad, 0x34, 0xdb, 0x52, 0x75, 0xfb, 0x8e, 0xd7, 0x63, 0x19, 0x3d, 0xc4, 0x38, 0x89,
+ 0x44, 0x12, 0x04, 0x7e, 0xc0, 0x72, 0xf5, 0x3a, 0xe4, 0x51, 0x47, 0xd1, 0x48, 0x7a, 0x62, 0x20,
+ 0xcd, 0x48, 0xd3, 0x73, 0xfd, 0x0a, 0xac, 0x4e, 0xed, 0xc7, 0xf5, 0x7f, 0x55, 0xd4, 0x1a, 0x82,
+ 0x1c, 0xe4, 0x0b, 0x1a, 0x0e, 0x72, 0xf3, 0x5e, 0xc8, 0xc6, 0xa0, 0x94, 0x71, 0x1b, 0xf3, 0x01,
+ 0x14, 0xb0, 0x63, 0x91, 0x89, 0x99, 0x83, 0x7d, 0x0f, 0xc9, 0x2d, 0xcd, 0x85, 0x11, 0x4c, 0xb7,
+ 0x2f, 0xbb, 0x27, 0xd2, 0x36, 0xb6, 0x3e, 0x02, 0x51, 0x69, 0xba, 0x29, 0xf7, 0x5c, 0x03, 0xa4,
+ 0x12, 0x5d, 0xdf, 0x6b, 0x0e, 0xfc, 0xcf, 0x1c, 0x9a, 0x57, 0x54, 0x89, 0x08, 0x11, 0xbd, 0x6d,
+ 0xa1, 0x8e, 0x98, 0x69, 0x4b, 0x10, 0xf5, 0x26, 0x14, 0xe8, 0xdb, 0xb8, 0x12, 0x74, 0x9b, 0x75,
+ 0xa6, 0xe1, 0x95, 0xf9, 0xda, 0x6c, 0x9a, 0x5c, 0xff, 0x51, 0x16, 0xf2, 0x08, 0xf3, 0xbb, 0x50,
+ 0x08, 0x30, 0x0e, 0xa3, 0xe1, 0xbc, 0x28, 0x66, 0xd3, 0x24, 0xfc, 0x23, 0xa3, 0x8a, 0xd9, 0x39,
+ 0x94, 0x25, 0xfe, 0x62, 0x5a, 0x2d, 0xaf, 0x42, 0x61, 0x28, 0x02, 0x31, 0x30, 0xeb, 0x44, 0x03,
+ 0x8d, 0x1f, 0x64, 0x20, 0x8f, 0x44, 0x7c, 0x15, 0x96, 0xda, 0x2a, 0x70, 0x4e, 0xa4, 0xea, 0x07,
+ 0xfe, 0xa8, 0xd7, 0xd7, 0x9a, 0xf4, 0x50, 0x9e, 0x6b, 0x7b, 0xa3, 0x0d, 0x82, 0x12, 0xae, 0xd3,
+ 0x65, 0x59, 0xd4, 0xaa, 0x0d, 0xdf, 0xb5, 0x59, 0x8e, 0xaf, 0x40, 0xf5, 0x91, 0x67, 0xcb, 0x20,
+ 0xec, 0xfa, 0x81, 0xb4, 0x59, 0xde, 0xac, 0xee, 0x13, 0x56, 0xa0, 0xbd, 0x4c, 0x9e, 0x29, 0x8a,
+ 0x85, 0x58, 0x91, 0x5f, 0x81, 0x95, 0x8d, 0xf1, 0x00, 0x89, 0x95, 0xd0, 0x26, 0xed, 0x49, 0x0f,
+ 0x95, 0x8c, 0x95, 0xb5, 0x12, 0xfb, 0x9f, 0x39, 0xac, 0x82, 0x1f, 0xd3, 0xeb, 0x84, 0x41, 0xe3,
+ 0xdf, 0x64, 0x22, 0xcb, 0xb1, 0x04, 0x95, 0x43, 0x11, 0x88, 0x5e, 0x20, 0x86, 0xd8, 0xbe, 0x2a,
+ 0x94, 0xf4, 0xc6, 0xf9, 0x86, 0xb6, 0x6e, 0x1a, 0xb8, 0xaf, 0x6d, 0xa3, 0x06, 0xde, 0x64, 0xb9,
+ 0x04, 0x78, 0x8b, 0xe5, 0xf1, 0x1b, 0x9f, 0x8c, 0x7c, 0x25, 0x59, 0x81, 0x6c, 0x9d, 0x6f, 0x4b,
+ 0x56, 0x44, 0x64, 0x07, 0x2d, 0x0a, 0x2b, 0x61, 0x9f, 0x37, 0x51, 0x7f, 0x8e, 0xfc, 0x33, 0x56,
+ 0xc6, 0x66, 0xe0, 0x30, 0x4a, 0x9b, 0x55, 0xf0, 0xcd, 0xfe, 0x68, 0x70, 0x24, 0xb1, 0x9b, 0x80,
+ 0x6f, 0x3a, 0x7e, 0xaf, 0xe7, 0x4a, 0x56, 0xc5, 0x31, 0x48, 0x19, 0x5f, 0xb6, 0x48, 0x96, 0x56,
+ 0xb8, 0xae, 0x3f, 0x52, 0x6c, 0xa9, 0xfe, 0x27, 0x39, 0xc8, 0x63, 0x74, 0x83, 0x6b, 0xa7, 0x8f,
+ 0x76, 0xc6, 0xac, 0x1d, 0x7c, 0x8e, 0x57, 0x60, 0x36, 0x59, 0x81, 0xfc, 0x7d, 0x33, 0xd3, 0xb9,
+ 0x39, 0xac, 0x2c, 0x0a, 0x4e, 0x4f, 0x32, 0x87, 0xfc, 0xc0, 0x19, 0x48, 0x63, 0xeb, 0xe8, 0x19,
+ 0x71, 0x21, 0xee, 0xc7, 0x05, 0x4a, 0x9e, 0xd0, 0x33, 0xae, 0x1a, 0x81, 0xdb, 0xc2, 0xba, 0xa2,
+ 0x35, 0x90, 0xb3, 0x22, 0x70, 0x86, 0xf5, 0xaa, 0xcc, 0xb4, 0x5e, 0x1f, 0x44, 0xd6, 0xab, 0x34,
+ 0xc7, 0xaa, 0xa7, 0x66, 0xa6, 0x2d, 0x57, 0x62, 0x34, 0xca, 0xf3, 0xb3, 0xa7, 0x36, 0x93, 0x2d,
+ 0xa3, 0xb5, 0xc9, 0x46, 0x57, 0xd6, 0xa3, 0xcc, 0x32, 0x38, 0x9b, 0xb4, 0x5c, 0xb5, 0xcd, 0x7b,
+ 0xec, 0xd8, 0xd2, 0x67, 0x39, 0xda, 0x08, 0x47, 0xb6, 0xe3, 0xb3, 0x3c, 0x7a, 0x5e, 0x87, 0x5b,
+ 0xdb, 0xac, 0xd0, 0x78, 0x25, 0xb5, 0x25, 0xad, 0x8f, 0x94, 0xaf, 0xc5, 0x90, 0xfa, 0x66, 0xb4,
+ 0x36, 0x1e, 0x49, 0x9b, 0x65, 0x1b, 0xef, 0xcc, 0x30, 0xb3, 0x4b, 0x50, 0x79, 0x34, 0x74, 0x7d,
+ 0x61, 0x5f, 0x62, 0x67, 0x17, 0x01, 0x92, 0xa8, 0xba, 0xfe, 0x87, 0xbf, 0x98, 0x6c, 0xe7, 0xe8,
+ 0x8b, 0x86, 0xfe, 0x28, 0xe8, 0x4a, 0x32, 0x21, 0x15, 0xcb, 0x40, 0xfc, 0xdb, 0x50, 0xc0, 0xf7,
+ 0x51, 0x1a, 0xe7, 0xee, 0x5c, 0xb1, 0xdc, 0xda, 0x63, 0x47, 0x3e, 0xb3, 0x34, 0x23, 0xbf, 0x05,
+ 0x20, 0xba, 0xca, 0x39, 0x95, 0x88, 0x34, 0x8b, 0x3d, 0x85, 0xe1, 0x6f, 0xa7, 0xdd, 0x97, 0xcb,
+ 0xf3, 0x90, 0x29, 0xbf, 0x86, 0x5b, 0x50, 0xc5, 0xa5, 0x3b, 0x3c, 0x08, 0x70, 0xb5, 0xd7, 0x16,
+ 0x89, 0xf1, 0xf5, 0xf9, 0x9a, 0xf7, 0x20, 0x66, 0xb4, 0xd2, 0x42, 0xf8, 0x23, 0x58, 0xd4, 0x39,
+ 0x35, 0x23, 0x74, 0x89, 0x84, 0xbe, 0x31, 0x9f, 0xd0, 0x83, 0x84, 0xd3, 0x1a, 0x13, 0x33, 0x9d,
+ 0x96, 0x2c, 0xbc, 0x70, 0x5a, 0xf2, 0x15, 0x58, 0xee, 0x8c, 0xaf, 0x02, 0xbd, 0x55, 0x4c, 0x60,
+ 0x79, 0x03, 0x16, 0x9d, 0x30, 0xc9, 0x8a, 0x52, 0x8e, 0xa4, 0x6c, 0x8d, 0xe1, 0xea, 0xff, 0xb1,
+ 0x08, 0x79, 0x1a, 0xf9, 0xc9, 0x1c, 0xd7, 0xe6, 0x98, 0x49, 0xbf, 0x37, 0xff, 0x54, 0x4f, 0xac,
+ 0x78, 0xb2, 0x20, 0xb9, 0x94, 0x05, 0xf9, 0x36, 0x14, 0x42, 0x3f, 0x50, 0xd1, 0xf4, 0xce, 0xa9,
+ 0x44, 0x6d, 0x3f, 0x50, 0x96, 0x66, 0xe4, 0xdb, 0x50, 0x3a, 0x76, 0x5c, 0x85, 0x93, 0xa2, 0x07,
+ 0xef, 0xb5, 0xf9, 0x64, 0x6c, 0x13, 0x93, 0x15, 0x31, 0xf3, 0xdd, 0xb4, 0xb2, 0x15, 0x49, 0xd2,
+ 0xda, 0x7c, 0x92, 0x66, 0xe9, 0xe0, 0x5d, 0x60, 0x5d, 0xff, 0x54, 0x06, 0x56, 0x2a, 0x31, 0xa9,
+ 0x37, 0xe9, 0x29, 0x3c, 0xaf, 0x43, 0xb9, 0xef, 0xd8, 0x12, 0xfd, 0x1c, 0xb2, 0x31, 0x65, 0x2b,
+ 0x86, 0xf9, 0x43, 0x28, 0x53, 0x7c, 0x80, 0x56, 0xb1, 0xf2, 0xc2, 0x83, 0xaf, 0x43, 0x95, 0x48,
+ 0x00, 0x7e, 0x88, 0x3e, 0xbe, 0xed, 0x28, 0xca, 0x4f, 0x97, 0xad, 0x18, 0xc6, 0x06, 0x93, 0xbe,
+ 0xa7, 0x1b, 0x5c, 0xd5, 0x0d, 0x9e, 0xc4, 0xf3, 0xb7, 0xe0, 0x1a, 0xe1, 0x26, 0x36, 0x49, 0x5c,
+ 0x6a, 0x28, 0x74, 0xf6, 0x4b, 0x74, 0x58, 0x86, 0xa2, 0x27, 0x77, 0x9d, 0x81, 0xa3, 0x6a, 0x4b,
+ 0xb7, 0x33, 0x77, 0x0a, 0x56, 0x82, 0xe0, 0xaf, 0xc1, 0xaa, 0x2d, 0x8f, 0xc5, 0xc8, 0x55, 0x1d,
+ 0x39, 0x18, 0xba, 0x42, 0xc9, 0x96, 0x4d, 0x3a, 0x5a, 0xb1, 0xa6, 0x5f, 0xf0, 0xd7, 0xe1, 0x8a,
+ 0x41, 0x1e, 0xc4, 0xa7, 0x0a, 0x2d, 0x9b, 0xd2, 0x77, 0x15, 0x6b, 0xd6, 0xab, 0xc6, 0x9e, 0x31,
+ 0xc3, 0xb8, 0x81, 0x62, 0x9c, 0x1a, 0x19, 0xd0, 0x50, 0xe9, 0x1d, 0xf9, 0x81, 0x70, 0x5d, 0x19,
+ 0x9c, 0xeb, 0x20, 0xf7, 0xa1, 0xf0, 0x8e, 0x84, 0xc7, 0x72, 0xb4, 0xc7, 0x0a, 0x57, 0x7a, 0xb6,
+ 0x08, 0xf4, 0x8e, 0xfc, 0x80, 0x36, 0xf4, 0x42, 0xe3, 0x0e, 0xe4, 0x69, 0x48, 0x2b, 0x50, 0xd0,
+ 0x51, 0x12, 0x45, 0xcc, 0x26, 0x42, 0x22, 0x8b, 0xbc, 0x8b, 0xcb, 0x8f, 0x65, 0xeb, 0x3f, 0xc9,
+ 0x41, 0x39, 0x1a, 0xbc, 0xe8, 0x0c, 0x21, 0x93, 0x9c, 0x21, 0xa0, 0x1b, 0x17, 0x3e, 0x76, 0x42,
+ 0xe7, 0xc8, 0xb8, 0xa5, 0x65, 0x2b, 0x41, 0xa0, 0x27, 0xf4, 0xcc, 0xb1, 0x55, 0x9f, 0xd6, 0x4c,
+ 0xc1, 0xd2, 0x00, 0xbf, 0x03, 0x2b, 0x36, 0x8e, 0x83, 0xd7, 0x75, 0x47, 0xb6, 0xec, 0xe0, 0x2e,
+ 0xaa, 0xd3, 0x04, 0x93, 0x68, 0xfe, 0x5d, 0x00, 0xe5, 0x0c, 0xe4, 0xb6, 0x1f, 0x0c, 0x84, 0x32,
+ 0xb1, 0xc1, 0x37, 0x5f, 0x4c, 0xab, 0xd7, 0x3a, 0xb1, 0x00, 0x2b, 0x25, 0x0c, 0x45, 0xe3, 0xd7,
+ 0x8c, 0xe8, 0xd2, 0x17, 0x12, 0xbd, 0x15, 0x0b, 0xb0, 0x52, 0xc2, 0x1a, 0xbf, 0x0c, 0x90, 0xbc,
+ 0xe1, 0xd7, 0x81, 0xef, 0xf9, 0x9e, 0xea, 0xaf, 0x1f, 0x1d, 0x05, 0x1b, 0xf2, 0xd8, 0x0f, 0xe4,
+ 0x96, 0xc0, 0x6d, 0xed, 0x1a, 0xac, 0xc6, 0xf8, 0xf5, 0x63, 0x25, 0x03, 0x44, 0xd3, 0xd0, 0xb7,
+ 0xfb, 0x7e, 0xa0, 0xb4, 0x6f, 0x45, 0x8f, 0x8f, 0xda, 0x2c, 0x87, 0x5b, 0x69, 0xab, 0x7d, 0xc0,
+ 0xf2, 0x8d, 0x3b, 0x00, 0x49, 0x97, 0x28, 0x06, 0xa1, 0xa7, 0x37, 0xee, 0x9b, 0x88, 0x84, 0xa0,
+ 0xfb, 0x6f, 0xb1, 0x4c, 0xfd, 0x0f, 0x72, 0x90, 0x47, 0x53, 0x83, 0xe1, 0x57, 0x7a, 0x5d, 0xe8,
+ 0xe9, 0x4b, 0xa3, 0xbe, 0x98, 0x81, 0x44, 0xd9, 0x69, 0x03, 0xf9, 0x1e, 0x54, 0xbb, 0xa3, 0x50,
+ 0xf9, 0x03, 0xda, 0x1d, 0xcc, 0x01, 0xcc, 0xf5, 0xa9, 0x44, 0xc6, 0x63, 0xe1, 0x8e, 0xa4, 0x95,
+ 0x26, 0xe5, 0x6f, 0x43, 0xf1, 0x58, 0x4f, 0x84, 0x4e, 0x65, 0xfc, 0xc2, 0x05, 0x1b, 0x88, 0x19,
+ 0x6c, 0x43, 0x8c, 0xfd, 0x72, 0xa6, 0x94, 0x28, 0x8d, 0x32, 0x1b, 0x41, 0x31, 0xde, 0x08, 0x7e,
+ 0x19, 0x96, 0x25, 0xba, 0x15, 0x87, 0xae, 0xe8, 0xca, 0x81, 0xf4, 0xa2, 0x99, 0x7f, 0xeb, 0x05,
+ 0x7a, 0x4c, 0x7e, 0x09, 0x75, 0x7b, 0x42, 0x56, 0xe3, 0xab, 0x66, 0x91, 0x96, 0x20, 0xb7, 0x1e,
+ 0x76, 0x4d, 0xd8, 0x2d, 0xc3, 0xae, 0xf6, 0xe9, 0x37, 0xa9, 0xc3, 0x2c, 0xdb, 0x78, 0x03, 0x2a,
+ 0xb1, 0x0c, 0xce, 0x60, 0x71, 0xdf, 0x57, 0xed, 0xa1, 0xec, 0x3a, 0xc7, 0x8e, 0xb4, 0x75, 0x22,
+ 0xa1, 0xad, 0x44, 0xa0, 0x74, 0xe6, 0xaa, 0xe9, 0xd9, 0x2c, 0x5b, 0xff, 0xdd, 0x32, 0x14, 0xb5,
+ 0xc5, 0x37, 0x5d, 0xaa, 0xc4, 0x5d, 0xfa, 0x04, 0xca, 0xfe, 0x50, 0x06, 0x42, 0xf9, 0x81, 0x49,
+ 0x17, 0xbc, 0xfd, 0x22, 0x3b, 0xc8, 0xda, 0x81, 0x61, 0xb6, 0x62, 0x31, 0x93, 0xfa, 0x92, 0x9d,
+ 0xd6, 0x97, 0xbb, 0xc0, 0xa2, 0xcd, 0xe2, 0x30, 0x40, 0x3e, 0x75, 0x6e, 0x82, 0xbf, 0x29, 0x3c,
+ 0xef, 0x40, 0xa5, 0xeb, 0x7b, 0xb6, 0x13, 0xa7, 0x0e, 0x96, 0xef, 0xbf, 0xf3, 0x42, 0x2d, 0xdc,
+ 0x8c, 0xb8, 0xad, 0x44, 0x10, 0x7f, 0x0d, 0x0a, 0xa7, 0xa8, 0x48, 0xa4, 0x31, 0x17, 0xab, 0x99,
+ 0x26, 0xe2, 0x9f, 0x42, 0xf5, 0x7b, 0x23, 0xa7, 0x7b, 0x72, 0x90, 0x4e, 0x4d, 0xbd, 0xf7, 0x42,
+ 0xad, 0xf8, 0x24, 0xe1, 0xb7, 0xd2, 0xc2, 0x52, 0xca, 0x5b, 0xfa, 0x53, 0x28, 0x6f, 0x79, 0x5a,
+ 0x79, 0x2d, 0x58, 0xf2, 0x64, 0xa8, 0xa4, 0xbd, 0x6d, 0x1c, 0x04, 0xf8, 0x02, 0x0e, 0xc2, 0xb8,
+ 0x88, 0xc6, 0x57, 0xa0, 0x1c, 0x4d, 0x38, 0x2f, 0x42, 0x76, 0x1f, 0x3d, 0xf1, 0x22, 0x64, 0x0f,
+ 0x02, 0xad, 0x6d, 0xeb, 0xa8, 0x6d, 0x8d, 0x3f, 0xca, 0x40, 0x25, 0x1e, 0xf4, 0xf1, 0x14, 0x57,
+ 0xf3, 0x7b, 0x23, 0xe1, 0xb2, 0x0c, 0xc5, 0x68, 0xbe, 0xd2, 0x10, 0x59, 0xaa, 0x07, 0x74, 0x42,
+ 0x1c, 0xb0, 0x1c, 0xed, 0x4b, 0x32, 0x0c, 0x59, 0x9e, 0x73, 0x58, 0x36, 0xe8, 0x83, 0x40, 0x93,
+ 0x16, 0x30, 0x84, 0xc3, 0xb7, 0x11, 0xa2, 0xa8, 0xb7, 0xb1, 0x13, 0xa9, 0x43, 0xd4, 0x7d, 0x5f,
+ 0x11, 0x50, 0xc6, 0x46, 0xb5, 0x3c, 0x56, 0xc1, 0x6f, 0xee, 0xfb, 0xaa, 0xe5, 0x31, 0x48, 0x62,
+ 0x82, 0x6a, 0xf4, 0x79, 0x82, 0x16, 0x29, 0xe2, 0x70, 0xdd, 0x96, 0xc7, 0x96, 0xcc, 0x0b, 0x0d,
+ 0x2d, 0xa3, 0xc4, 0xe6, 0x99, 0xe8, 0x22, 0xfb, 0x0a, 0x5f, 0x06, 0x40, 0x1e, 0x03, 0x33, 0x5c,
+ 0x92, 0xcd, 0x33, 0x27, 0x54, 0x21, 0x5b, 0x6d, 0xfc, 0x87, 0x0c, 0x54, 0x53, 0x13, 0x8c, 0x31,
+ 0x07, 0x11, 0xa2, 0x1d, 0xd7, 0x21, 0xc8, 0x77, 0x71, 0x18, 0x03, 0x3b, 0xb2, 0xd1, 0x1d, 0x1f,
+ 0x1f, 0xb3, 0xf8, 0xbd, 0x8e, 0x3f, 0xf0, 0x83, 0xc0, 0x7f, 0xa6, 0xf7, 0xdb, 0x5d, 0x11, 0xaa,
+ 0x27, 0x52, 0x9e, 0xb0, 0x3c, 0x76, 0x75, 0x73, 0x14, 0x04, 0xd2, 0xd3, 0x88, 0x02, 0x35, 0x4e,
+ 0x9e, 0x69, 0xa8, 0x88, 0x42, 0x91, 0x98, 0x36, 0x01, 0x56, 0x42, 0x43, 0x60, 0xa8, 0x35, 0xa6,
+ 0x8c, 0x04, 0x48, 0xae, 0xc1, 0x0a, 0x86, 0xf5, 0x3a, 0x2c, 0x3e, 0x38, 0xde, 0x12, 0xe7, 0xe1,
+ 0x7a, 0xcf, 0x67, 0x30, 0x89, 0xdc, 0xf7, 0x9f, 0xb1, 0x6a, 0x7d, 0x04, 0x90, 0x04, 0x02, 0x18,
+ 0x00, 0xa1, 0x42, 0xc4, 0x89, 0x6b, 0x03, 0xf1, 0x03, 0x00, 0x7c, 0x22, 0xca, 0x28, 0x0a, 0x7a,
+ 0x01, 0xef, 0x8c, 0xf8, 0xac, 0x94, 0x88, 0xfa, 0x5f, 0x85, 0x4a, 0xfc, 0x02, 0xe3, 0x5e, 0xf2,
+ 0xa3, 0xe2, 0xcf, 0x46, 0x20, 0x3a, 0x05, 0x8e, 0x67, 0xcb, 0x33, 0xb2, 0x2b, 0x05, 0x4b, 0x03,
+ 0xd8, 0xca, 0xbe, 0x63, 0xdb, 0xd2, 0x8b, 0x8e, 0x17, 0x34, 0x34, 0xeb, 0x10, 0x38, 0x3f, 0xf3,
+ 0x10, 0xb8, 0xfe, 0x2b, 0x50, 0x4d, 0x45, 0x2a, 0x17, 0x76, 0x3b, 0xd5, 0xb0, 0xec, 0x78, 0xc3,
+ 0x6e, 0x42, 0x25, 0x2a, 0x3c, 0x08, 0x69, 0xf7, 0xaa, 0x58, 0x09, 0xa2, 0xfe, 0x2f, 0xb3, 0xe8,
+ 0x3e, 0x61, 0xd7, 0x26, 0xa3, 0x8b, 0x6d, 0x28, 0x62, 0xa8, 0x3d, 0x8a, 0x4e, 0xd0, 0xe7, 0x5c,
+ 0xa0, 0x6d, 0xe2, 0xd9, 0x59, 0xb0, 0x0c, 0x37, 0xff, 0x00, 0x72, 0x4a, 0xf4, 0x4c, 0x76, 0xee,
+ 0x6b, 0xf3, 0x09, 0xe9, 0x88, 0xde, 0xce, 0x82, 0x85, 0x7c, 0x7c, 0x17, 0xca, 0x5d, 0x93, 0x50,
+ 0x31, 0x46, 0x71, 0xce, 0x00, 0x20, 0x4a, 0xc3, 0xec, 0x2c, 0x58, 0xb1, 0x04, 0xfe, 0x6d, 0xc8,
+ 0xa3, 0x4b, 0x63, 0x0a, 0x0d, 0xe6, 0x0c, 0x6c, 0x70, 0xb9, 0xec, 0x2c, 0x58, 0xc4, 0xb9, 0x51,
+ 0x82, 0x02, 0xd9, 0xe0, 0x7a, 0x0d, 0x8a, 0xba, 0xaf, 0x93, 0x23, 0x57, 0xbf, 0x01, 0xb9, 0x8e,
+ 0xe8, 0xa1, 0x5b, 0xe9, 0xd8, 0xa1, 0x89, 0xcf, 0xf1, 0xb1, 0xfe, 0x72, 0x92, 0x1c, 0x4a, 0xe7,
+ 0x1d, 0x33, 0x63, 0x79, 0xc7, 0x7a, 0x11, 0xf2, 0xf8, 0xc5, 0xfa, 0xcd, 0xcb, 0x5c, 0xd4, 0xfa,
+ 0x3f, 0xc9, 0xa1, 0x37, 0xab, 0xe4, 0xd9, 0xcc, 0x9c, 0xea, 0xc7, 0x50, 0x19, 0x06, 0x7e, 0x57,
+ 0x86, 0xa1, 0x1f, 0x18, 0xf7, 0xe7, 0xb5, 0xe7, 0x9f, 0x77, 0xae, 0x1d, 0x46, 0x3c, 0x56, 0xc2,
+ 0xde, 0xf8, 0xb7, 0x59, 0xa8, 0xc4, 0x2f, 0xb4, 0x13, 0xad, 0xe4, 0x99, 0xce, 0x9f, 0xed, 0xc9,
+ 0x60, 0x20, 0x1c, 0x5b, 0x5b, 0x8f, 0xcd, 0xbe, 0x88, 0x3c, 0xbc, 0xef, 0xfa, 0x23, 0x35, 0x3a,
+ 0x92, 0x3a, 0x6f, 0xf2, 0xd8, 0x19, 0x48, 0x9f, 0xe5, 0xe9, 0xc4, 0x02, 0x15, 0xbb, 0xeb, 0xfa,
+ 0x23, 0x9b, 0x15, 0x10, 0x7e, 0x40, 0xdb, 0xdb, 0x9e, 0x18, 0x86, 0xda, 0x66, 0xee, 0x39, 0x81,
+ 0xcf, 0x4a, 0xc8, 0xb4, 0xed, 0xf4, 0x06, 0x82, 0x95, 0x51, 0x58, 0xe7, 0x99, 0xa3, 0xd0, 0x08,
+ 0x57, 0xf8, 0x2a, 0x2c, 0x1d, 0x0c, 0xa5, 0xd7, 0x56, 0x81, 0x94, 0x6a, 0x4f, 0x0c, 0x75, 0x22,
+ 0xcd, 0x92, 0xb6, 0xed, 0x28, 0x6d, 0x3f, 0xb7, 0x45, 0x57, 0x1e, 0xf9, 0xfe, 0x09, 0x5b, 0x44,
+ 0x43, 0xd3, 0xf2, 0x42, 0x25, 0x7a, 0x81, 0x18, 0x68, 0x1b, 0xda, 0x91, 0xae, 0x24, 0x68, 0x99,
+ 0xbe, 0xed, 0xa8, 0xfe, 0xe8, 0xe8, 0x01, 0x06, 0x1b, 0x2b, 0xfa, 0x70, 0xc3, 0x96, 0x43, 0x89,
+ 0x36, 0x74, 0x11, 0xca, 0x1b, 0x8e, 0xeb, 0x1c, 0x39, 0xae, 0xc3, 0x56, 0x91, 0xb4, 0x79, 0xd6,
+ 0x15, 0xae, 0x63, 0x07, 0xe2, 0x19, 0xe3, 0xd8, 0xb8, 0x87, 0x81, 0x7f, 0xe2, 0xb0, 0x2b, 0x48,
+ 0x48, 0xb1, 0xc7, 0xa9, 0xf3, 0x39, 0xbb, 0x4a, 0x07, 0x34, 0x27, 0x52, 0x75, 0xfb, 0xc7, 0xe2,
+ 0x88, 0x5d, 0x4b, 0xf2, 0x48, 0xd7, 0xeb, 0xab, 0xb0, 0x32, 0x71, 0x14, 0x5c, 0x2f, 0x99, 0x90,
+ 0xa7, 0xbe, 0x04, 0xd5, 0xd4, 0x19, 0x5d, 0xfd, 0x15, 0x28, 0x47, 0x27, 0x78, 0x18, 0x1a, 0x3a,
+ 0xa1, 0xce, 0x3d, 0x1a, 0x25, 0x89, 0xe1, 0xfa, 0xef, 0x65, 0xa0, 0xa8, 0x8f, 0x4f, 0xf9, 0x46,
+ 0x5c, 0xee, 0x90, 0x99, 0xe3, 0xc8, 0x4c, 0x33, 0x99, 0x03, 0xc7, 0xb8, 0xe6, 0xe1, 0x2a, 0x14,
+ 0x5c, 0x8a, 0x01, 0x8d, 0xf9, 0x22, 0x20, 0x65, 0x6d, 0x72, 0x69, 0x6b, 0xd3, 0x58, 0x8f, 0x0f,
+ 0x39, 0xa3, 0x7c, 0x17, 0x79, 0x85, 0x9d, 0x40, 0x4a, 0x9d, 0xcb, 0xa2, 0x10, 0x2e, 0x4b, 0x7b,
+ 0x85, 0x3f, 0x18, 0x8a, 0xae, 0x22, 0x04, 0xed, 0xa2, 0x68, 0x4c, 0x59, 0x1e, 0xb5, 0x7c, 0xb3,
+ 0x2f, 0x54, 0xe3, 0x18, 0xca, 0x87, 0x7e, 0x38, 0xb9, 0x27, 0x97, 0x20, 0xd7, 0xf1, 0x87, 0xda,
+ 0xc3, 0xdc, 0xf0, 0x15, 0x79, 0x98, 0x7a, 0x0b, 0x3e, 0x56, 0x5a, 0xa9, 0x2c, 0xa7, 0xd7, 0x57,
+ 0x3a, 0xfc, 0x6b, 0x79, 0x9e, 0x0c, 0x58, 0x01, 0xe7, 0xd0, 0x92, 0x43, 0xf4, 0x5b, 0x59, 0x11,
+ 0x67, 0x8d, 0xf0, 0xdb, 0x4e, 0x10, 0x2a, 0x56, 0x6a, 0xb4, 0x70, 0x37, 0x75, 0x7a, 0xb4, 0x09,
+ 0xd2, 0x03, 0x89, 0x5a, 0xc0, 0x26, 0x12, 0xb8, 0x29, 0x3d, 0xd4, 0x31, 0x3a, 0x57, 0xd3, 0x15,
+ 0x31, 0xf4, 0x81, 0x2c, 0xee, 0x60, 0x04, 0x7f, 0x3c, 0x0a, 0x95, 0x73, 0x7c, 0xce, 0x72, 0x8d,
+ 0x27, 0xb0, 0x34, 0x56, 0x3b, 0xc3, 0xaf, 0x02, 0x1b, 0x43, 0x60, 0xd3, 0x17, 0xf8, 0x0d, 0xb8,
+ 0x32, 0x86, 0xdd, 0x73, 0x6c, 0x9b, 0x12, 0x8c, 0x93, 0x2f, 0xa2, 0x0e, 0x6e, 0x54, 0xa0, 0xd4,
+ 0xd5, 0xb3, 0xd4, 0x38, 0x84, 0x25, 0x9a, 0xb6, 0x3d, 0xa9, 0xc4, 0x81, 0xe7, 0x9e, 0xff, 0xa9,
+ 0x0b, 0x9c, 0x1a, 0x5f, 0x87, 0x02, 0x1d, 0x08, 0xa0, 0xbd, 0x38, 0x0e, 0xfc, 0x01, 0xc9, 0x2a,
+ 0x58, 0xf4, 0x8c, 0xd2, 0x95, 0x6f, 0xe6, 0x3e, 0xab, 0xfc, 0xc6, 0x6f, 0x56, 0xa0, 0xb4, 0xde,
+ 0xed, 0xfa, 0x23, 0x4f, 0x4d, 0x7d, 0xf9, 0x6d, 0x28, 0x76, 0x7d, 0xef, 0xd8, 0xe9, 0x19, 0x7b,
+ 0x3c, 0xe9, 0x19, 0x1a, 0x3e, 0x54, 0xb8, 0x63, 0xa7, 0x67, 0x19, 0x62, 0x64, 0x33, 0xfb, 0x49,
+ 0xe1, 0x52, 0x36, 0x6d, 0x54, 0xe3, 0xed, 0xe3, 0x1e, 0xe4, 0x1d, 0xef, 0xd8, 0x37, 0xd5, 0x88,
+ 0x2f, 0x5d, 0xc0, 0x44, 0x25, 0x79, 0x44, 0x58, 0xff, 0xef, 0x19, 0x28, 0xea, 0x4f, 0xf3, 0x57,
+ 0x60, 0x59, 0x7a, 0xb8, 0x98, 0x22, 0x53, 0x6e, 0x56, 0xd1, 0x04, 0x16, 0x9d, 0x56, 0x83, 0x91,
+ 0x47, 0xa3, 0x9e, 0x09, 0xf8, 0xd3, 0x28, 0xfe, 0x1e, 0xdc, 0xd0, 0xe0, 0x61, 0x20, 0x03, 0xe9,
+ 0x4a, 0x11, 0xca, 0xcd, 0xbe, 0xf0, 0x3c, 0xe9, 0x9a, 0x8d, 0xfd, 0xa2, 0xd7, 0xbc, 0x01, 0x8b,
+ 0xfa, 0x55, 0x7b, 0x28, 0xba, 0x32, 0x34, 0x87, 0x4c, 0x63, 0x38, 0xfe, 0x0d, 0x28, 0x50, 0xb1,
+ 0x66, 0xcd, 0xbe, 0x7c, 0x2a, 0x35, 0x55, 0xdd, 0x8f, 0x77, 0x9e, 0x75, 0x00, 0x3d, 0x4c, 0x18,
+ 0x74, 0x99, 0xd5, 0xff, 0xe5, 0x4b, 0xc7, 0x95, 0x22, 0xbc, 0x14, 0x13, 0xb6, 0xcf, 0x96, 0xae,
+ 0xa4, 0xaa, 0x3a, 0xdc, 0x19, 0xb3, 0x94, 0xce, 0x1f, 0xc3, 0xd5, 0xff, 0x45, 0x1e, 0xf2, 0x38,
+ 0xc2, 0x48, 0xdc, 0xf7, 0x07, 0x32, 0x4e, 0x6a, 0x6a, 0x57, 0x63, 0x0c, 0x87, 0xae, 0x8d, 0xd0,
+ 0xe7, 0xca, 0x31, 0x99, 0x36, 0x1e, 0x93, 0x68, 0xa4, 0x1c, 0x06, 0xfe, 0xb1, 0xe3, 0x26, 0x94,
+ 0xc6, 0x09, 0x9a, 0x40, 0xf3, 0x77, 0xe0, 0xfa, 0x40, 0x04, 0x27, 0x52, 0xd1, 0xea, 0x7e, 0xe2,
+ 0x07, 0x27, 0x21, 0x8e, 0x5c, 0xcb, 0x36, 0xd9, 0xb0, 0x0b, 0xde, 0xf2, 0xd7, 0x60, 0xf5, 0x59,
+ 0x04, 0xc6, 0xdf, 0xd0, 0xf9, 0xa8, 0xe9, 0x17, 0x68, 0x6e, 0x6d, 0x79, 0xea, 0x90, 0xdc, 0xb2,
+ 0x2e, 0xd9, 0x8c, 0x60, 0x54, 0x25, 0xa1, 0x07, 0xb2, 0x6d, 0xbe, 0x6c, 0x8e, 0x35, 0xc6, 0xb1,
+ 0xe8, 0x6d, 0xe9, 0x52, 0x96, 0xb0, 0x65, 0x53, 0x3a, 0xaf, 0x62, 0x25, 0x08, 0x54, 0x34, 0xfa,
+ 0xe4, 0x63, 0x6d, 0x54, 0x97, 0x74, 0x08, 0x9a, 0x42, 0x21, 0x85, 0x92, 0xdd, 0x7e, 0xf4, 0x11,
+ 0x9d, 0x6b, 0x4b, 0xa3, 0xf8, 0x2d, 0x80, 0x9e, 0x50, 0xf2, 0x99, 0x38, 0x7f, 0x14, 0xb8, 0x35,
+ 0xa9, 0xf3, 0xf3, 0x09, 0x06, 0x83, 0x58, 0xd7, 0xef, 0x0a, 0xb7, 0xad, 0xfc, 0x40, 0xf4, 0xe4,
+ 0xa1, 0x50, 0xfd, 0x5a, 0x4f, 0x07, 0xb1, 0x93, 0x78, 0xec, 0xb1, 0x72, 0x06, 0xf2, 0x53, 0xdf,
+ 0x93, 0xb5, 0xbe, 0xee, 0x71, 0x04, 0x63, 0x4b, 0x84, 0x27, 0xdc, 0x73, 0xe5, 0x74, 0xb1, 0x2f,
+ 0x8e, 0x6e, 0x49, 0x0a, 0x85, 0x7d, 0xf5, 0xa4, 0xc2, 0x71, 0x6c, 0xd9, 0xb5, 0xcf, 0x74, 0x5f,
+ 0x63, 0x44, 0xe3, 0x00, 0x20, 0x51, 0x39, 0xb4, 0xe3, 0xeb, 0x74, 0x86, 0xc0, 0x16, 0xd0, 0xbb,
+ 0x3f, 0x94, 0x9e, 0xed, 0x78, 0xbd, 0x2d, 0xa3, 0x65, 0x2c, 0x83, 0x48, 0xca, 0x0f, 0x48, 0x3b,
+ 0x46, 0x92, 0x27, 0x41, 0x90, 0xb4, 0x59, 0xae, 0xf1, 0x7f, 0x33, 0x50, 0x4d, 0x1d, 0x99, 0xff,
+ 0x19, 0x1e, 0xf3, 0xe3, 0x3e, 0x8b, 0x3b, 0x35, 0x0e, 0xa8, 0xd6, 0xc0, 0x18, 0xc6, 0xe1, 0x36,
+ 0x27, 0xfa, 0xf8, 0x56, 0x67, 0x03, 0x52, 0x98, 0x2f, 0x74, 0xc4, 0xdf, 0xb8, 0x6f, 0x52, 0x2a,
+ 0x55, 0x28, 0x3d, 0xf2, 0x4e, 0x3c, 0xff, 0x99, 0xa7, 0x37, 0x50, 0xaa, 0xdb, 0x18, 0x3b, 0x81,
+ 0x8a, 0x4a, 0x2b, 0x72, 0x8d, 0x7f, 0x9a, 0x9f, 0x28, 0x71, 0x6a, 0x42, 0x51, 0xfb, 0xf1, 0xe4,
+ 0x62, 0x4e, 0xd7, 0xa4, 0xa4, 0x89, 0xcd, 0x69, 0x47, 0x0a, 0x65, 0x19, 0x66, 0x74, 0xb0, 0xe3,
+ 0x02, 0xc0, 0xec, 0xcc, 0x53, 0x99, 0x31, 0x41, 0x91, 0xd1, 0x1c, 0xab, 0x81, 0x8d, 0x25, 0xd4,
+ 0xff, 0x76, 0x06, 0xae, 0xce, 0x22, 0x49, 0x57, 0x0a, 0x67, 0xc6, 0x2b, 0x85, 0xdb, 0x13, 0x95,
+ 0xb7, 0x59, 0xea, 0xcd, 0xbd, 0x17, 0x6c, 0xc4, 0x78, 0x1d, 0x6e, 0xe3, 0x47, 0x19, 0x58, 0x9d,
+ 0xea, 0x73, 0xca, 0xc1, 0x00, 0x28, 0x6a, 0xcd, 0xd2, 0x85, 0x31, 0x71, 0xa9, 0x82, 0x4e, 0x35,
+ 0xd3, 0xd6, 0x1b, 0xea, 0xb3, 0x5f, 0x53, 0x6b, 0xac, 0xfd, 0x57, 0x9c, 0x35, 0xb4, 0xec, 0x3d,
+ 0xc9, 0x0a, 0xe8, 0x19, 0x68, 0x2f, 0xc8, 0x60, 0x8a, 0xda, 0xc7, 0xd4, 0xf9, 0x70, 0x56, 0xa2,
+ 0x82, 0x9b, 0xd1, 0xd0, 0x75, 0xba, 0x08, 0x96, 0x79, 0x1d, 0xae, 0xeb, 0x82, 0x73, 0x13, 0xcf,
+ 0x1d, 0x77, 0xfa, 0x0e, 0x2d, 0x0e, 0x56, 0x69, 0x58, 0x70, 0x65, 0x46, 0x9f, 0xa8, 0x95, 0x8f,
+ 0x4d, 0x8b, 0x97, 0x01, 0xb6, 0x1e, 0x47, 0xed, 0x64, 0x19, 0xce, 0x61, 0x79, 0xeb, 0x71, 0x5a,
+ 0xa0, 0x59, 0x2f, 0x8f, 0xd1, 0x92, 0x84, 0x2c, 0xd7, 0xf8, 0xb5, 0x4c, 0x74, 0x08, 0x5e, 0xff,
+ 0x2b, 0xb0, 0xa4, 0xdb, 0x78, 0x28, 0xce, 0x5d, 0x5f, 0xd8, 0xbc, 0x09, 0xcb, 0x61, 0x7c, 0x0b,
+ 0x22, 0xb5, 0x79, 0x4c, 0x6e, 0xca, 0xed, 0x31, 0x22, 0x6b, 0x82, 0x29, 0x0a, 0x4b, 0xb2, 0x49,
+ 0xe6, 0x9c, 0x53, 0x80, 0x25, 0x68, 0x95, 0x2d, 0x52, 0xc8, 0x24, 0x1a, 0xdf, 0x80, 0xd5, 0x76,
+ 0x62, 0x68, 0xb5, 0xff, 0x8a, 0xfa, 0xa0, 0xad, 0xf4, 0x56, 0xa4, 0x0f, 0x06, 0x6c, 0xfc, 0xe7,
+ 0x22, 0x40, 0x72, 0x4a, 0x30, 0x63, 0x99, 0xcf, 0x3a, 0xf4, 0x9e, 0x3a, 0xb3, 0xcb, 0xbd, 0xf0,
+ 0x99, 0xdd, 0x7b, 0xb1, 0x1b, 0xad, 0xd3, 0xb5, 0x93, 0x95, 0xbf, 0x49, 0x9b, 0x26, 0x9d, 0xe7,
+ 0xb1, 0x9a, 0x90, 0xc2, 0x64, 0x4d, 0xc8, 0xed, 0xe9, 0x02, 0xb2, 0x09, 0xfb, 0x93, 0x64, 0x09,
+ 0x4a, 0x63, 0x59, 0x82, 0x3a, 0x94, 0x03, 0x29, 0x6c, 0xdf, 0x73, 0xcf, 0xa3, 0xa3, 0xa1, 0x08,
+ 0xe6, 0x6f, 0x42, 0x41, 0xd1, 0x45, 0x8e, 0x32, 0x2d, 0x97, 0xe7, 0x4c, 0x9c, 0xa6, 0x45, 0x63,
+ 0xe6, 0x84, 0xa6, 0xea, 0x4b, 0xef, 0x60, 0x65, 0x2b, 0x85, 0xe1, 0x6b, 0xc0, 0x1d, 0x0c, 0x99,
+ 0x5c, 0x57, 0xda, 0x1b, 0xe7, 0x5b, 0xfa, 0xc4, 0x86, 0xf6, 0xd8, 0xb2, 0x35, 0xe3, 0x4d, 0x34,
+ 0xff, 0x8b, 0xc9, 0xfc, 0x53, 0x93, 0x4f, 0x9d, 0x10, 0x7b, 0xba, 0x44, 0xae, 0x44, 0x0c, 0xe3,
+ 0x2e, 0x1e, 0xad, 0x51, 0x3d, 0x96, 0xa4, 0xbd, 0xc9, 0xb1, 0xe7, 0x05, 0x6f, 0x1b, 0xbf, 0x9f,
+ 0x8d, 0xc3, 0x8d, 0x0a, 0x14, 0x8e, 0x44, 0xe8, 0x74, 0x75, 0xf4, 0x69, 0xdc, 0x04, 0x1d, 0x72,
+ 0x28, 0xdf, 0xf6, 0x59, 0x16, 0x23, 0x87, 0x50, 0x62, 0x8c, 0xb0, 0x0c, 0x90, 0x5c, 0x6e, 0x61,
+ 0x79, 0x5c, 0x9b, 0xd1, 0x7c, 0xeb, 0xe2, 0x0d, 0x62, 0xa5, 0x84, 0x95, 0x1d, 0x97, 0xc5, 0x51,
+ 0xe8, 0x49, 0xb6, 0x9f, 0x95, 0x91, 0xc6, 0xf3, 0x95, 0xd4, 0xe9, 0x3a, 0xd2, 0x4e, 0x06, 0x28,
+ 0x26, 0xaa, 0xd6, 0x66, 0x55, 0x74, 0xe5, 0x23, 0xa1, 0x3a, 0xc7, 0x16, 0x52, 0xa0, 0xb3, 0x88,
+ 0xab, 0x73, 0xfc, 0x05, 0x5b, 0xc2, 0x16, 0x25, 0x77, 0x66, 0xd8, 0x32, 0x4a, 0x15, 0x54, 0x52,
+ 0xb0, 0x82, 0x8f, 0xa7, 0x54, 0x68, 0xc0, 0xf0, 0xab, 0x36, 0x1a, 0x8c, 0x55, 0x6c, 0x59, 0xec,
+ 0x1a, 0x30, 0x8e, 0x91, 0xca, 0x50, 0x60, 0xd8, 0xe0, 0x0c, 0x85, 0xa7, 0xd8, 0x15, 0xec, 0xea,
+ 0xd0, 0x3e, 0x66, 0x57, 0x91, 0xa5, 0xdb, 0x17, 0x8a, 0x5d, 0x43, 0x1a, 0x7c, 0xda, 0x92, 0x01,
+ 0xce, 0x27, 0xbb, 0x8e, 0x34, 0x4a, 0xf4, 0xd8, 0x8d, 0xc6, 0x6f, 0x27, 0x85, 0xa9, 0xaf, 0xc7,
+ 0x0e, 0xfd, 0x3c, 0x4a, 0x8e, 0x2e, 0xff, 0xac, 0x15, 0xd7, 0x84, 0xd5, 0x40, 0x7e, 0x6f, 0xe4,
+ 0x8c, 0x95, 0x6b, 0xe7, 0x2e, 0xaf, 0x07, 0x98, 0xe6, 0x68, 0x9c, 0xc2, 0x6a, 0x04, 0x3c, 0x71,
+ 0x54, 0x9f, 0x72, 0x2b, 0xfc, 0xcd, 0x54, 0x3d, 0x79, 0x66, 0xe6, 0x3d, 0x9c, 0x58, 0x64, 0x52,
+ 0x3f, 0x1e, 0xe7, 0xce, 0xb3, 0x73, 0xe4, 0xce, 0x1b, 0xff, 0xa7, 0x98, 0x4a, 0xaf, 0xe8, 0x10,
+ 0xc7, 0x8e, 0x43, 0x9c, 0xe9, 0x13, 0xc1, 0x24, 0x1d, 0x9e, 0x7d, 0x91, 0x74, 0xf8, 0xac, 0xd3,
+ 0xf5, 0xf7, 0xd1, 0xe3, 0xa6, 0xf5, 0xf3, 0x78, 0x8e, 0x54, 0xff, 0x18, 0x2d, 0xdf, 0xa0, 0xf3,
+ 0x3d, 0xd1, 0xd6, 0xa5, 0x1f, 0x85, 0x99, 0xb7, 0x3b, 0xd2, 0x07, 0x79, 0x86, 0xd2, 0x4a, 0x71,
+ 0xa5, 0xac, 0x4d, 0x71, 0x96, 0xb5, 0xc1, 0x68, 0xd3, 0xd8, 0xa1, 0x18, 0xd6, 0x27, 0x23, 0xfa,
+ 0x39, 0x12, 0x4f, 0x7e, 0x74, 0xd9, 0x9a, 0xc2, 0xa3, 0x17, 0x36, 0x18, 0xb9, 0xca, 0x31, 0xc9,
+ 0x7f, 0x0d, 0x4c, 0x5e, 0x3f, 0xab, 0x4c, 0x5f, 0x3f, 0xfb, 0x10, 0x20, 0x94, 0xb8, 0x3a, 0xb6,
+ 0x9c, 0xae, 0x32, 0x05, 0x22, 0xb7, 0x2e, 0xea, 0x9b, 0x39, 0xb2, 0x48, 0x71, 0x60, 0xfb, 0x07,
+ 0xe2, 0x6c, 0x13, 0xbd, 0x71, 0x73, 0x92, 0x1d, 0xc3, 0x93, 0x36, 0x78, 0x79, 0xda, 0x06, 0xbf,
+ 0x09, 0x85, 0xb0, 0xeb, 0x0f, 0x25, 0xdd, 0xa0, 0xb8, 0x78, 0x7e, 0xd7, 0xda, 0x48, 0x64, 0x69,
+ 0x5a, 0x4a, 0xe2, 0xa1, 0x95, 0xf2, 0x03, 0xba, 0x3b, 0x51, 0xb1, 0x22, 0x70, 0xcc, 0x0e, 0x5e,
+ 0x1f, 0xb7, 0x83, 0x75, 0x1b, 0x8a, 0x26, 0x21, 0x3f, 0x19, 0x5a, 0x47, 0xa9, 0xbc, 0x6c, 0x2a,
+ 0x95, 0x17, 0x97, 0x21, 0xe6, 0xd2, 0x65, 0x88, 0x13, 0xd7, 0xab, 0x0a, 0x53, 0xd7, 0xab, 0x1a,
+ 0x9f, 0x42, 0x81, 0xda, 0x8a, 0x4e, 0x84, 0x1e, 0x66, 0xed, 0x63, 0x62, 0xa7, 0x58, 0x86, 0x5f,
+ 0x05, 0x16, 0x4a, 0x72, 0x42, 0x64, 0x5b, 0x0c, 0x24, 0x19, 0xc9, 0x2c, 0xaf, 0xc1, 0x55, 0x4d,
+ 0x1b, 0x8e, 0xbf, 0x21, 0x4f, 0xc8, 0x75, 0x8e, 0x02, 0x11, 0x9c, 0xb3, 0x7c, 0xe3, 0x43, 0x3a,
+ 0x0b, 0x8e, 0x14, 0xaa, 0x1a, 0x5f, 0x67, 0xd3, 0x66, 0xd9, 0x36, 0xd6, 0x87, 0x8e, 0xf0, 0x4d,
+ 0x7c, 0xa4, 0x0b, 0x9b, 0x28, 0x00, 0xa1, 0x0c, 0xca, 0x62, 0x7a, 0x27, 0xfe, 0x33, 0x5b, 0x6f,
+ 0x8d, 0x8d, 0x94, 0x2b, 0x37, 0x5e, 0xa9, 0x94, 0x99, 0xb7, 0x52, 0xa9, 0xf1, 0x10, 0x56, 0xac,
+ 0x71, 0x9b, 0xce, 0xdf, 0x83, 0x92, 0x3f, 0x4c, 0xcb, 0x79, 0x9e, 0x5e, 0x46, 0xe4, 0x8d, 0x1f,
+ 0x67, 0x60, 0xb1, 0xe5, 0x29, 0x19, 0x78, 0xc2, 0xdd, 0x76, 0x45, 0x8f, 0xbf, 0x1b, 0x59, 0xa9,
+ 0xd9, 0xd1, 0x7a, 0x9a, 0x76, 0xdc, 0x60, 0xb9, 0x26, 0xf1, 0xcc, 0xaf, 0xc1, 0xaa, 0xb4, 0x1d,
+ 0xe5, 0x07, 0xda, 0x81, 0x8d, 0x0a, 0xca, 0xae, 0x02, 0xd3, 0xe8, 0x36, 0x2d, 0x89, 0x8e, 0x9e,
+ 0xe6, 0x1a, 0x5c, 0x1d, 0xc3, 0x46, 0xde, 0x69, 0x96, 0xdf, 0x84, 0x5a, 0xb2, 0x1b, 0x6d, 0xf9,
+ 0x9e, 0x6a, 0x79, 0xb6, 0x3c, 0x23, 0x57, 0x88, 0xe5, 0x1a, 0xbf, 0x51, 0x8a, 0x9c, 0xb0, 0xc7,
+ 0xa6, 0xdc, 0x2c, 0xf0, 0xfd, 0xe4, 0x2e, 0xa3, 0x81, 0x52, 0x77, 0x66, 0xb3, 0x73, 0xdc, 0x99,
+ 0xfd, 0x30, 0xb9, 0xf7, 0xa8, 0x37, 0x8a, 0x97, 0x67, 0xee, 0x3e, 0x54, 0x25, 0x63, 0xdc, 0xee,
+ 0xb6, 0x4c, 0x5d, 0x82, 0x7c, 0xc3, 0xc4, 0x5a, 0xf9, 0x79, 0x7c, 0x55, 0x7d, 0x7a, 0xff, 0xf6,
+ 0x64, 0xb1, 0xfd, 0x7c, 0xd5, 0x6a, 0x53, 0xee, 0x24, 0xbc, 0xb0, 0x3b, 0xf9, 0xd1, 0x44, 0x58,
+ 0x53, 0x9e, 0x99, 0xc0, 0xba, 0xe4, 0x2a, 0xe1, 0x47, 0x50, 0xea, 0x3b, 0xa1, 0xf2, 0x03, 0x7d,
+ 0xbd, 0x75, 0xfa, 0x3a, 0x4e, 0x6a, 0xb4, 0x76, 0x34, 0x21, 0x95, 0x16, 0x45, 0x5c, 0xfc, 0x3b,
+ 0xb0, 0x4a, 0x03, 0x7f, 0x98, 0x78, 0x0d, 0x61, 0xad, 0x3a, 0xb3, 0xa4, 0x2b, 0x25, 0x6a, 0x63,
+ 0x82, 0xc5, 0x9a, 0x16, 0x52, 0xef, 0x01, 0x24, 0xf3, 0x33, 0x65, 0xc5, 0xbe, 0xc0, 0xf5, 0xd6,
+ 0xeb, 0x50, 0x0c, 0x47, 0x47, 0xc9, 0x09, 0x95, 0x81, 0xea, 0x67, 0x50, 0x9f, 0xf2, 0x0e, 0x0e,
+ 0x65, 0xa0, 0x9b, 0x7b, 0xe9, 0x1d, 0xdb, 0x0f, 0xd3, 0x13, 0xaf, 0x95, 0xf3, 0xf6, 0x05, 0xb3,
+ 0x17, 0x4b, 0x4e, 0x69, 0x40, 0xfd, 0x6d, 0xa8, 0xa6, 0x06, 0x15, 0x2d, 0xf3, 0xc8, 0xb3, 0xfd,
+ 0x28, 0x69, 0x8a, 0xcf, 0xfa, 0x8e, 0x91, 0x1d, 0xa5, 0x4d, 0xe9, 0xb9, 0x6e, 0x01, 0x9b, 0x1c,
+ 0xc0, 0x4b, 0x42, 0xdf, 0x97, 0x61, 0x29, 0xe5, 0xd2, 0xc5, 0x09, 0xb5, 0x71, 0x64, 0xe3, 0x14,
+ 0x5e, 0x4a, 0x89, 0x3b, 0x94, 0xc1, 0xc0, 0x09, 0x71, 0x23, 0xd1, 0x21, 0x1d, 0x65, 0x2f, 0x6c,
+ 0xe9, 0x29, 0x47, 0x45, 0x16, 0x34, 0x86, 0xf9, 0x2f, 0x41, 0x61, 0x28, 0x83, 0x41, 0x68, 0xac,
+ 0xe8, 0xa4, 0x06, 0xcd, 0x14, 0x1b, 0x5a, 0x9a, 0xa7, 0xf1, 0x8f, 0x33, 0x50, 0xde, 0x93, 0x4a,
+ 0xa0, 0xef, 0xc0, 0xf7, 0x26, 0xbe, 0x32, 0x7d, 0xaa, 0x1a, 0x91, 0xae, 0x99, 0x20, 0x73, 0xad,
+ 0x65, 0xe8, 0x0d, 0xbc, 0xb3, 0x90, 0x34, 0xac, 0xbe, 0x01, 0x25, 0x83, 0xae, 0xbf, 0x0b, 0x2b,
+ 0x13, 0x94, 0x34, 0x2e, 0xda, 0xb7, 0x6f, 0x9f, 0x0f, 0xa2, 0xe2, 0x9e, 0x45, 0x6b, 0x1c, 0xb9,
+ 0x51, 0x81, 0xd2, 0x50, 0x33, 0x34, 0x7e, 0xff, 0x1a, 0x15, 0x9c, 0x38, 0xc7, 0x18, 0x6c, 0xcf,
+ 0xda, 0x59, 0x6f, 0x01, 0xd0, 0xd6, 0xac, 0xcb, 0x12, 0x74, 0x92, 0x33, 0x85, 0xe1, 0xef, 0xc7,
+ 0xd9, 0xe9, 0xfc, 0x4c, 0xa7, 0x2a, 0x2d, 0x7c, 0x32, 0x45, 0x5d, 0x83, 0x92, 0x13, 0xee, 0xe2,
+ 0xd6, 0x66, 0x8a, 0x75, 0x22, 0x90, 0x7f, 0x0b, 0x8a, 0xce, 0x60, 0xe8, 0x07, 0xca, 0xa4, 0xaf,
+ 0x2f, 0x95, 0xda, 0x22, 0xca, 0x9d, 0x05, 0xcb, 0xf0, 0x20, 0xb7, 0x3c, 0x23, 0xee, 0xf2, 0xf3,
+ 0xb9, 0x9b, 0x67, 0x11, 0xb7, 0xe6, 0xe1, 0x9f, 0xc0, 0x52, 0x4f, 0x97, 0xcf, 0x69, 0xc1, 0xc6,
+ 0x88, 0x7c, 0xed, 0x32, 0x21, 0x0f, 0xd2, 0x0c, 0x3b, 0x0b, 0xd6, 0xb8, 0x04, 0x14, 0x89, 0x0e,
+ 0xbc, 0x0c, 0x55, 0xc7, 0xff, 0xd8, 0x77, 0x3c, 0x0a, 0x4a, 0x9f, 0x23, 0xd2, 0x4a, 0x33, 0xa0,
+ 0xc8, 0x31, 0x09, 0xfc, 0x1d, 0xf4, 0x78, 0x42, 0x65, 0x6e, 0x18, 0xdf, 0xbe, 0x4c, 0x52, 0x47,
+ 0x86, 0xe6, 0x6e, 0x70, 0xa8, 0xf8, 0x19, 0xd4, 0x53, 0x8b, 0xc4, 0x7c, 0x64, 0x7d, 0x38, 0x0c,
+ 0x7c, 0x8c, 0x6c, 0x97, 0x48, 0xda, 0x3b, 0x97, 0x49, 0x3b, 0xbc, 0x90, 0x7b, 0x67, 0xc1, 0xba,
+ 0x44, 0x36, 0xef, 0x60, 0x64, 0x67, 0xba, 0xb0, 0x2b, 0xc5, 0x69, 0x74, 0x3f, 0xf9, 0xee, 0x5c,
+ 0xa3, 0x40, 0x1c, 0x3b, 0x0b, 0xd6, 0x84, 0x0c, 0xfe, 0x2b, 0xb0, 0x3a, 0xf6, 0x4d, 0xba, 0x92,
+ 0xa8, 0x6f, 0x2f, 0x7f, 0x63, 0xee, 0x6e, 0x20, 0xd3, 0xce, 0x82, 0x35, 0x2d, 0x89, 0x8f, 0xe0,
+ 0x4b, 0xd3, 0x5d, 0xda, 0x92, 0x5d, 0xd7, 0xf1, 0xa4, 0xb9, 0xe8, 0xfc, 0xf6, 0x8b, 0x8d, 0x96,
+ 0x61, 0xde, 0x59, 0xb0, 0x2e, 0x96, 0xcc, 0xff, 0x1a, 0xdc, 0x1c, 0xce, 0x34, 0x31, 0xda, 0x74,
+ 0x99, 0x7b, 0xd2, 0xef, 0xcd, 0xf9, 0xe5, 0x29, 0xfe, 0x9d, 0x05, 0xeb, 0x52, 0xf9, 0xe8, 0x3b,
+ 0x53, 0x04, 0x6d, 0xaa, 0x7c, 0x35, 0xc0, 0x6f, 0x42, 0x45, 0x74, 0xdd, 0x1d, 0x29, 0xec, 0x38,
+ 0xc3, 0x9e, 0x20, 0xea, 0x7f, 0x98, 0x81, 0xa2, 0xd1, 0xf7, 0x9b, 0xf1, 0x29, 0x7a, 0x6c, 0xba,
+ 0x13, 0x04, 0xff, 0x00, 0x2a, 0x32, 0x08, 0xfc, 0x60, 0xd3, 0xb7, 0xa3, 0x12, 0xc3, 0xc9, 0xf4,
+ 0xaf, 0x96, 0xb3, 0xd6, 0x8c, 0xc8, 0xac, 0x84, 0x83, 0xbf, 0x0f, 0xa0, 0xd7, 0x79, 0x27, 0xb9,
+ 0xac, 0x51, 0x9f, 0xcd, 0xaf, 0x0f, 0x6d, 0x12, 0xea, 0x24, 0x79, 0x16, 0x9d, 0x98, 0x44, 0x60,
+ 0x1c, 0x70, 0x16, 0x52, 0x01, 0xe7, 0x4d, 0x93, 0x47, 0xd8, 0xc7, 0x17, 0xe6, 0xca, 0x52, 0x8c,
+ 0xa8, 0xff, 0xbb, 0x0c, 0x14, 0xb5, 0xf1, 0xe0, 0xcd, 0xe9, 0x1e, 0xbd, 0xfa, 0x7c, 0x9b, 0xb3,
+ 0x36, 0xd9, 0xb3, 0x6f, 0x01, 0x68, 0x1b, 0x94, 0xea, 0xd9, 0xcd, 0x09, 0x39, 0x86, 0x35, 0xaa,
+ 0x33, 0x4d, 0xe8, 0x1b, 0xf7, 0xf5, 0xb5, 0x1a, 0xca, 0xd5, 0x3e, 0xda, 0xdd, 0x65, 0x0b, 0x7c,
+ 0x15, 0x96, 0x1e, 0xed, 0x3f, 0xdc, 0x3f, 0x78, 0xb2, 0xff, 0xb4, 0x69, 0x59, 0x07, 0x96, 0x4e,
+ 0xd9, 0x6e, 0xac, 0x6f, 0x3d, 0x6d, 0xed, 0x1f, 0x3e, 0xea, 0xb0, 0x6c, 0xfd, 0x27, 0x19, 0x58,
+ 0x1a, 0xb3, 0x5d, 0x7f, 0xbe, 0x53, 0x97, 0x1a, 0xfe, 0xdc, 0xec, 0xe1, 0xcf, 0x5f, 0x34, 0xfc,
+ 0x85, 0xc9, 0xe1, 0xff, 0xdd, 0x0c, 0x2c, 0x8d, 0xd9, 0xc8, 0xb4, 0xf4, 0xcc, 0xb8, 0xf4, 0xf4,
+ 0x4e, 0x9f, 0x9d, 0xd8, 0xe9, 0x1b, 0xb0, 0x18, 0x3d, 0xef, 0x27, 0x19, 0x87, 0x31, 0x5c, 0x9a,
+ 0x86, 0xea, 0xda, 0xf3, 0xe3, 0x34, 0x54, 0xdb, 0x7e, 0x79, 0x6b, 0xe9, 0x1e, 0x5f, 0x48, 0xd7,
+ 0x9c, 0xeb, 0x17, 0x5b, 0xd0, 0x4b, 0xba, 0xf0, 0x00, 0xaa, 0xc3, 0x64, 0x99, 0xbe, 0x98, 0x5b,
+ 0x92, 0xe6, 0x7c, 0x4e, 0x3b, 0x7f, 0x94, 0x81, 0xe5, 0x71, 0x9b, 0xfb, 0x17, 0x7a, 0x58, 0xff,
+ 0x59, 0x06, 0x56, 0xa7, 0x2c, 0xf9, 0xa5, 0x8e, 0xdd, 0x64, 0xbb, 0xb2, 0x73, 0xb4, 0x2b, 0x37,
+ 0xa3, 0x5d, 0x17, 0x5b, 0x92, 0xcb, 0x5b, 0xdc, 0x86, 0x2f, 0x5d, 0xb8, 0x27, 0x5c, 0x32, 0xd4,
+ 0x63, 0x42, 0x73, 0x93, 0x42, 0x7f, 0x27, 0x03, 0x37, 0x2f, 0xb3, 0xf7, 0xff, 0xdf, 0xf5, 0x6a,
+ 0xb2, 0x85, 0x8d, 0x77, 0xe3, 0xa3, 0xf7, 0x2a, 0x94, 0xcc, 0xcf, 0x07, 0x99, 0xe2, 0xe6, 0xbe,
+ 0xff, 0xcc, 0xd3, 0x99, 0x68, 0x4b, 0x0a, 0x73, 0xc1, 0xda, 0x92, 0x43, 0xd7, 0xa1, 0xc3, 0xcb,
+ 0x1b, 0x00, 0xeb, 0x14, 0xd7, 0x45, 0xf7, 0x1d, 0x36, 0x77, 0x0f, 0xda, 0x4d, 0xb6, 0x90, 0x76,
+ 0x62, 0x3f, 0x8d, 0x0c, 0x71, 0xe3, 0x10, 0x8a, 0x49, 0x25, 0xfc, 0x9e, 0x08, 0x4e, 0x6c, 0x7d,
+ 0x44, 0xb8, 0x08, 0xe5, 0x43, 0x13, 0x42, 0xe9, 0x4f, 0x7d, 0xdc, 0x3e, 0xd8, 0xd7, 0x49, 0xef,
+ 0xad, 0x83, 0x8e, 0xae, 0xa7, 0x6f, 0x3f, 0x7e, 0xa0, 0xcf, 0xaa, 0x1e, 0x58, 0xeb, 0x87, 0x3b,
+ 0x4f, 0x89, 0xa2, 0xd0, 0xf8, 0x49, 0x36, 0xda, 0xd5, 0x1a, 0x96, 0x39, 0x7c, 0x04, 0x28, 0xa2,
+ 0x35, 0xf7, 0x8d, 0xe0, 0xf8, 0x33, 0x54, 0x06, 0xdb, 0x3c, 0xd3, 0x79, 0x08, 0x96, 0xe5, 0x45,
+ 0xc8, 0x1e, 0x1e, 0xe9, 0xda, 0x9d, 0x1d, 0x35, 0x70, 0xf5, 0x05, 0xb8, 0xce, 0x99, 0x62, 0x05,
+ 0x7c, 0xd8, 0x0c, 0x4f, 0x59, 0xb1, 0xf1, 0xdf, 0x32, 0x50, 0x89, 0x4d, 0xe5, 0x8b, 0x98, 0x6e,
+ 0xce, 0x61, 0xb9, 0xb5, 0xdf, 0x69, 0x5a, 0xfb, 0xeb, 0xbb, 0x86, 0x24, 0xc7, 0x6b, 0x70, 0x75,
+ 0xff, 0xe0, 0xe9, 0xc1, 0xc6, 0xc7, 0xcd, 0xcd, 0x4e, 0xfb, 0x69, 0xe7, 0xe0, 0x69, 0x6b, 0xef,
+ 0xf0, 0xc0, 0xea, 0xb0, 0x02, 0xbf, 0x0e, 0x5c, 0x3f, 0x3f, 0x6d, 0xb5, 0x9f, 0x6e, 0xae, 0xef,
+ 0x6f, 0x36, 0x77, 0x9b, 0x5b, 0xac, 0xc8, 0x5f, 0x85, 0xaf, 0xec, 0xb6, 0xf6, 0x5a, 0x9d, 0xa7,
+ 0x07, 0xdb, 0x4f, 0xad, 0x83, 0x27, 0xed, 0xa7, 0x07, 0xd6, 0x53, 0xab, 0xb9, 0xbb, 0xde, 0x69,
+ 0x1d, 0xec, 0xb7, 0x9f, 0x36, 0xbf, 0xb3, 0xd9, 0x6c, 0x6e, 0x35, 0xb7, 0x58, 0x89, 0x5f, 0x81,
+ 0x95, 0xed, 0xd6, 0x6e, 0xf3, 0xe9, 0xee, 0xc1, 0xfa, 0x96, 0xf9, 0x5e, 0x99, 0xdf, 0x84, 0x5a,
+ 0x6b, 0xbf, 0xfd, 0x68, 0x7b, 0xbb, 0xb5, 0xd9, 0x6a, 0xee, 0x77, 0x9e, 0x1e, 0x36, 0xad, 0xbd,
+ 0x56, 0xbb, 0x8d, 0xbc, 0xac, 0xd2, 0xf8, 0x36, 0x14, 0x5b, 0xde, 0xa9, 0xa3, 0x48, 0xfd, 0xcc,
+ 0x5c, 0x99, 0x80, 0x24, 0x02, 0x49, 0x6b, 0x9c, 0x9e, 0x47, 0xf7, 0x9e, 0x49, 0xf9, 0x16, 0xad,
+ 0x04, 0xd1, 0xf8, 0xe7, 0x59, 0x58, 0xd2, 0x22, 0xa2, 0x00, 0xe7, 0x0e, 0xac, 0x98, 0x4c, 0x61,
+ 0x6b, 0x7c, 0x85, 0x4f, 0xa2, 0xe9, 0x07, 0x85, 0x34, 0x2a, 0xb5, 0xce, 0xd3, 0x28, 0x3a, 0x7d,
+ 0x22, 0xe1, 0x18, 0x28, 0xe9, 0x73, 0xb7, 0x04, 0xf1, 0x45, 0x17, 0x38, 0x1a, 0x0f, 0x4d, 0xd8,
+ 0xf5, 0xbd, 0xcd, 0xf8, 0xb6, 0xc1, 0x18, 0x8e, 0x7f, 0x0a, 0x37, 0x62, 0xb8, 0xe9, 0x75, 0x83,
+ 0xf3, 0x61, 0xfc, 0xbb, 0x5f, 0xa5, 0x99, 0x11, 0xf7, 0xb6, 0xe3, 0xca, 0x31, 0x42, 0xeb, 0x22,
+ 0x01, 0x8d, 0x3f, 0xca, 0xa4, 0xc2, 0x42, 0x1d, 0xf6, 0x5d, 0x6a, 0x10, 0x67, 0x1d, 0x51, 0x60,
+ 0x60, 0x66, 0x9a, 0x6f, 0xf6, 0x69, 0x03, 0xf2, 0x43, 0xe0, 0xce, 0x74, 0xa3, 0xf3, 0x73, 0x36,
+ 0x7a, 0x06, 0xef, 0x64, 0x86, 0xb9, 0x30, 0x9d, 0x61, 0xbe, 0x05, 0xd0, 0x73, 0xfd, 0x23, 0xe1,
+ 0xa6, 0xfc, 0xb0, 0x14, 0xa6, 0xe1, 0x42, 0x39, 0xfa, 0x75, 0x31, 0x7e, 0x1d, 0x8a, 0xf4, 0xfb,
+ 0x62, 0x71, 0xbe, 0x4d, 0x43, 0x7c, 0x07, 0x96, 0xe5, 0x78, 0x9b, 0xb3, 0x73, 0xb6, 0x79, 0x82,
+ 0xaf, 0xf1, 0x4d, 0x58, 0x9d, 0x22, 0xc2, 0x41, 0x1c, 0x0a, 0x15, 0x5f, 0x31, 0xc6, 0xe7, 0xe9,
+ 0x33, 0xde, 0xc6, 0x7f, 0xca, 0xc2, 0xe2, 0x9e, 0xf0, 0x9c, 0x63, 0x19, 0xaa, 0xa8, 0xb5, 0x61,
+ 0xb7, 0x2f, 0x07, 0x22, 0x6a, 0xad, 0x86, 0x4c, 0x10, 0x9e, 0x4d, 0xa7, 0xb7, 0xa7, 0x4e, 0x43,
+ 0xae, 0x43, 0x51, 0x8c, 0x54, 0x3f, 0x2e, 0x80, 0x36, 0x10, 0xce, 0x9d, 0xeb, 0x74, 0xa5, 0x17,
+ 0x46, 0xba, 0x19, 0x81, 0x49, 0x95, 0x47, 0xf1, 0x92, 0x2a, 0x8f, 0xd2, 0xf4, 0xf8, 0xdf, 0x86,
+ 0x6a, 0xd8, 0x0d, 0xa4, 0xf4, 0xc2, 0xbe, 0xaf, 0xa2, 0x5f, 0xa6, 0x4b, 0xa3, 0xa8, 0x16, 0xca,
+ 0x7f, 0xe6, 0xe1, 0x0a, 0xdd, 0x75, 0xbc, 0x13, 0x53, 0xe2, 0x33, 0x86, 0x43, 0x1d, 0xa4, 0x14,
+ 0x84, 0xf3, 0xb9, 0xa4, 0xf0, 0xb7, 0x60, 0xc5, 0x30, 0x25, 0x19, 0x84, 0x92, 0x3d, 0x3f, 0x70,
+ 0xa4, 0xce, 0xb4, 0x55, 0xac, 0x14, 0x06, 0x79, 0x5d, 0xe1, 0xf5, 0x46, 0xa2, 0x27, 0xcd, 0x99,
+ 0x69, 0x0c, 0x37, 0xfe, 0x57, 0x01, 0x60, 0x4f, 0x0e, 0x8e, 0x64, 0x10, 0xf6, 0x9d, 0x21, 0x9d,
+ 0x04, 0x38, 0xa6, 0xec, 0x73, 0xc9, 0xa2, 0x67, 0xfe, 0xde, 0x58, 0x45, 0xf6, 0xf4, 0xd9, 0x5d,
+ 0xc2, 0x3e, 0x99, 0xa1, 0xc0, 0xc1, 0x11, 0x4a, 0x9a, 0x02, 0x1b, 0x1a, 0xff, 0xbc, 0x95, 0x46,
+ 0x51, 0xed, 0x93, 0x50, 0xb2, 0xe9, 0xd9, 0x3a, 0x03, 0x92, 0xb7, 0x62, 0x98, 0xee, 0x74, 0x84,
+ 0xeb, 0x23, 0xe5, 0x5b, 0xd2, 0x93, 0xcf, 0xe2, 0x0b, 0x49, 0x09, 0x8a, 0xef, 0xc1, 0xd2, 0x50,
+ 0x9c, 0x0f, 0xa4, 0xa7, 0xf6, 0xa4, 0xea, 0xfb, 0xb6, 0xa9, 0x86, 0x79, 0xf5, 0xe2, 0x06, 0x1e,
+ 0xa6, 0xc9, 0xad, 0x71, 0x6e, 0xd4, 0x09, 0x2f, 0xa4, 0x55, 0xa2, 0xa7, 0xd1, 0x40, 0x7c, 0x03,
+ 0x40, 0x3f, 0x51, 0x60, 0x51, 0x9e, 0x9d, 0xa8, 0x11, 0x03, 0x19, 0xca, 0xe0, 0xd4, 0xd1, 0x76,
+ 0x4c, 0x87, 0x4e, 0x09, 0x17, 0x5a, 0xbd, 0x51, 0x28, 0x83, 0xe6, 0x40, 0x38, 0xae, 0x99, 0xe0,
+ 0x04, 0xc1, 0xdf, 0x82, 0x6b, 0xe1, 0xe8, 0x08, 0x75, 0xe6, 0x48, 0x76, 0xfc, 0x7d, 0xf9, 0x2c,
+ 0x74, 0xa5, 0x52, 0x32, 0x30, 0xc7, 0xef, 0xb3, 0x5f, 0x36, 0x7a, 0xb1, 0x57, 0x40, 0xbf, 0x82,
+ 0x80, 0x4f, 0x49, 0x59, 0x4f, 0x8c, 0x32, 0x35, 0x4f, 0x2c, 0xc3, 0x19, 0x2c, 0x6a, 0x94, 0x29,
+ 0x89, 0xca, 0xf2, 0xaf, 0xc2, 0x97, 0xc7, 0x88, 0x2c, 0x7d, 0x4e, 0x1a, 0x6e, 0x3b, 0x9e, 0x70,
+ 0x9d, 0xcf, 0xf5, 0xa9, 0x75, 0xae, 0x31, 0x84, 0xa5, 0xb1, 0x81, 0xc3, 0x6d, 0x5e, 0x3f, 0x99,
+ 0x22, 0x11, 0x06, 0x8b, 0x1a, 0x6e, 0xab, 0xc0, 0xa1, 0x03, 0x80, 0x18, 0xb3, 0x89, 0xeb, 0xdc,
+ 0x67, 0x59, 0x7e, 0x15, 0x98, 0xc6, 0xb4, 0x3c, 0x31, 0x1c, 0xae, 0x0f, 0x87, 0xae, 0x64, 0x39,
+ 0xba, 0xb8, 0x97, 0x60, 0x75, 0x5d, 0x36, 0xcb, 0x37, 0xbe, 0x03, 0x37, 0x68, 0x64, 0x1e, 0xcb,
+ 0x20, 0x8e, 0xfb, 0x4c, 0x5f, 0xaf, 0xc1, 0xaa, 0x7e, 0xda, 0xf7, 0x95, 0x7e, 0x4d, 0xbe, 0x10,
+ 0x87, 0x65, 0x8d, 0x46, 0x57, 0xa0, 0x2d, 0x3d, 0xa5, 0x6b, 0x55, 0x34, 0x2e, 0xa6, 0xcb, 0x36,
+ 0x7e, 0x5c, 0x04, 0x9e, 0x28, 0x44, 0xc7, 0x91, 0xc1, 0x96, 0x50, 0x22, 0x95, 0xb8, 0x5b, 0xba,
+ 0xf0, 0xe8, 0xf9, 0xf9, 0x15, 0x5d, 0xd7, 0xa1, 0xe8, 0x84, 0x18, 0xa9, 0x98, 0x7a, 0x4b, 0x03,
+ 0xf1, 0x5d, 0x80, 0xa1, 0x0c, 0x1c, 0xdf, 0x26, 0x0d, 0x2a, 0xcc, 0x2c, 0x8c, 0x9f, 0x6e, 0xd4,
+ 0xda, 0x61, 0xcc, 0x63, 0xa5, 0xf8, 0xb1, 0x1d, 0x1a, 0xd2, 0x07, 0xb9, 0x45, 0x6a, 0x74, 0x1a,
+ 0xc5, 0x5f, 0x87, 0x2b, 0xc3, 0xc0, 0xe9, 0x4a, 0x3d, 0x1d, 0x8f, 0x42, 0x7b, 0x93, 0x7e, 0x3b,
+ 0xac, 0x44, 0x94, 0xb3, 0x5e, 0xa1, 0x06, 0x0a, 0x8f, 0xfc, 0xf7, 0x90, 0x8e, 0x2e, 0xcd, 0xc5,
+ 0x51, 0x5d, 0x91, 0xb8, 0x64, 0xcd, 0x7e, 0xc9, 0xef, 0x02, 0x33, 0x2f, 0xf6, 0x1c, 0x6f, 0x57,
+ 0x7a, 0x3d, 0xd5, 0x27, 0xe5, 0x5e, 0xb2, 0xa6, 0xf0, 0x64, 0xc1, 0xf4, 0x2f, 0xb4, 0xe8, 0x63,
+ 0x8d, 0x8a, 0x15, 0xc3, 0xfa, 0x32, 0xb2, 0xeb, 0x07, 0x6d, 0x15, 0x98, 0xd2, 0xca, 0x18, 0x46,
+ 0x9f, 0x25, 0xa4, 0xb6, 0x1e, 0x06, 0xbe, 0x3d, 0xa2, 0xa4, 0xbb, 0x36, 0x62, 0x93, 0xe8, 0x84,
+ 0x72, 0x4f, 0x78, 0xa6, 0xac, 0x6e, 0x29, 0x4d, 0x19, 0xa3, 0x29, 0x44, 0xf1, 0xc3, 0x44, 0xe0,
+ 0x8a, 0x09, 0x51, 0x52, 0x38, 0x43, 0x93, 0x88, 0x62, 0x31, 0x4d, 0x22, 0x87, 0xfa, 0x6f, 0x07,
+ 0xbe, 0x63, 0x27, 0xb2, 0x56, 0x75, 0xd1, 0xe3, 0x24, 0x3e, 0x45, 0x9b, 0xc8, 0xe4, 0x63, 0xb4,
+ 0x31, 0xbe, 0xf1, 0xfd, 0x0c, 0x40, 0x32, 0xf9, 0xa8, 0xf2, 0x09, 0x94, 0x2c, 0xf1, 0x1b, 0x70,
+ 0x25, 0x8d, 0xa6, 0xda, 0x79, 0x3a, 0xff, 0xe4, 0xb0, 0x9c, 0xbc, 0xd8, 0x12, 0xe7, 0x21, 0xcb,
+ 0xea, 0xea, 0xc7, 0x08, 0xf7, 0x44, 0x4a, 0xaa, 0x33, 0xbb, 0x0a, 0x2c, 0x41, 0xd2, 0xd5, 0xa8,
+ 0x90, 0xe5, 0xc7, 0x49, 0xbf, 0x2b, 0x45, 0x10, 0xb2, 0x42, 0x63, 0x07, 0x8a, 0xfa, 0xec, 0x65,
+ 0xc6, 0xa9, 0xe9, 0x8b, 0x95, 0x40, 0xfc, 0x9d, 0x0c, 0xc0, 0x96, 0x2e, 0x70, 0xc5, 0x5d, 0x7c,
+ 0xc6, 0x61, 0xf4, 0x2c, 0x8f, 0x4a, 0xd8, 0x36, 0x15, 0x0a, 0xe7, 0xe2, 0xdf, 0xfd, 0x40, 0x10,
+ 0x35, 0x47, 0x44, 0x85, 0x45, 0x7a, 0xcd, 0xc5, 0xb0, 0xde, 0x40, 0x36, 0x7d, 0xcf, 0x93, 0x5d,
+ 0xdc, 0x7e, 0xe2, 0x0d, 0x24, 0x46, 0x35, 0xfe, 0x7d, 0x09, 0xaa, 0x9b, 0x7d, 0xa1, 0xf6, 0x64,
+ 0x18, 0x8a, 0x9e, 0x9c, 0x6a, 0x4b, 0x0d, 0x4a, 0x7e, 0x60, 0xcb, 0x20, 0xb9, 0xde, 0x64, 0xc0,
+ 0xf4, 0x11, 0x7c, 0x6e, 0xfc, 0x08, 0xfe, 0x26, 0x54, 0x74, 0x82, 0xdf, 0x5e, 0xd7, 0x66, 0x20,
+ 0x67, 0x25, 0x08, 0xdc, 0xab, 0x07, 0xbe, 0x4d, 0xc6, 0x68, 0x5d, 0xe7, 0xc6, 0x73, 0x56, 0x0a,
+ 0xa3, 0x2b, 0x1e, 0x86, 0xee, 0x79, 0xc7, 0x37, 0x6d, 0x6a, 0xd9, 0xc9, 0x5d, 0xd0, 0x71, 0x3c,
+ 0xdf, 0x84, 0xd2, 0x40, 0x03, 0x26, 0xcf, 0x3f, 0x99, 0x11, 0x4f, 0x75, 0x6d, 0xcd, 0xfc, 0x35,
+ 0xd7, 0x31, 0xac, 0x88, 0x13, 0x23, 0x58, 0xa1, 0x94, 0xe8, 0xf6, 0x07, 0xc6, 0x44, 0xe4, 0x66,
+ 0x1c, 0xf9, 0xa5, 0x05, 0xad, 0xc7, 0xd4, 0x56, 0x9a, 0x93, 0x6f, 0x40, 0x25, 0x90, 0x62, 0xec,
+ 0xd4, 0xf1, 0xe5, 0x4b, 0xc4, 0x58, 0x11, 0xad, 0x95, 0xb0, 0xd5, 0x7f, 0x98, 0x81, 0xe5, 0xf1,
+ 0x86, 0xfe, 0x79, 0xfc, 0x74, 0xd3, 0xb7, 0x92, 0x9f, 0x6e, 0xfa, 0x02, 0x3f, 0x83, 0xf4, 0x3b,
+ 0x19, 0x80, 0x64, 0x0c, 0xd0, 0xe4, 0xeb, 0x9f, 0x98, 0x89, 0x9c, 0x50, 0x0d, 0xf1, 0x9d, 0xb1,
+ 0x4b, 0xe0, 0x6f, 0xcd, 0x35, 0xa0, 0xa9, 0xc7, 0x54, 0xd5, 0xee, 0x3d, 0x58, 0x1e, 0xc7, 0xd3,
+ 0x8f, 0xc6, 0xb4, 0x76, 0x9b, 0x3a, 0x03, 0xd0, 0xda, 0x5b, 0x7f, 0xd0, 0x34, 0xd7, 0x5f, 0x5a,
+ 0xfb, 0x0f, 0x59, 0xb6, 0xfe, 0xc7, 0x19, 0xa8, 0xc4, 0xc3, 0xcb, 0x3f, 0x49, 0xcf, 0x8b, 0x2e,
+ 0x23, 0x78, 0x73, 0x9e, 0x79, 0x49, 0x9e, 0x9a, 0x9e, 0x0a, 0xce, 0xd3, 0xd3, 0xe4, 0xc3, 0xf2,
+ 0xf8, 0xcb, 0x19, 0x36, 0xe1, 0xc1, 0xb8, 0x4d, 0x78, 0x63, 0xae, 0x4f, 0x46, 0x91, 0xd7, 0xae,
+ 0x13, 0x2a, 0x63, 0x2e, 0xde, 0xcf, 0xbe, 0x97, 0xa9, 0xdf, 0x86, 0xc5, 0xf4, 0xab, 0xe9, 0x3b,
+ 0x6e, 0x77, 0xff, 0x38, 0x07, 0xcb, 0xe3, 0x27, 0xf1, 0x74, 0xa3, 0x46, 0x57, 0x81, 0x1c, 0xb8,
+ 0x76, 0xaa, 0xd0, 0x99, 0xf1, 0x15, 0xa8, 0x9a, 0xd8, 0x8e, 0x10, 0xab, 0x94, 0x63, 0xf0, 0x07,
+ 0x92, 0xdd, 0x4e, 0xff, 0x3c, 0xdd, 0xeb, 0x1c, 0xa2, 0xbb, 0x4e, 0x6c, 0xc8, 0x2b, 0xe6, 0x87,
+ 0x7a, 0x7e, 0x35, 0xcb, 0x97, 0x52, 0xe5, 0xb6, 0x3f, 0x40, 0xc7, 0x66, 0x65, 0x63, 0xe4, 0xd9,
+ 0xae, 0xb4, 0x63, 0xec, 0x0f, 0xd3, 0xd8, 0xb8, 0x78, 0xf6, 0x57, 0xf3, 0x7c, 0x19, 0x2a, 0xed,
+ 0xd1, 0x91, 0x29, 0x9c, 0xfd, 0xeb, 0x79, 0x7e, 0x1d, 0x56, 0x0d, 0x55, 0x52, 0x01, 0xc7, 0xfe,
+ 0x06, 0x9a, 0xe0, 0xe5, 0x75, 0x3d, 0x5e, 0xa6, 0xa1, 0xec, 0x6f, 0xe6, 0xb1, 0x09, 0x74, 0x85,
+ 0xf6, 0x6f, 0x91, 0x9c, 0xf8, 0xc2, 0x01, 0xfb, 0xb5, 0x3c, 0x5f, 0x01, 0x68, 0x77, 0xe2, 0x0f,
+ 0xfd, 0x46, 0x9e, 0x57, 0xa1, 0xd8, 0xee, 0x90, 0xb4, 0xef, 0xe7, 0xf9, 0x35, 0x60, 0xc9, 0x5b,
+ 0x53, 0x17, 0xf8, 0x9b, 0xba, 0x31, 0x71, 0xa1, 0xdf, 0x6f, 0xe5, 0xb1, 0x5f, 0xd1, 0x28, 0xb3,
+ 0xbf, 0x9b, 0xe7, 0x0c, 0xaa, 0xa9, 0xcc, 0x15, 0xfb, 0x7b, 0x79, 0xce, 0x61, 0x69, 0xcf, 0x09,
+ 0x43, 0xc7, 0xeb, 0x99, 0x1e, 0xfc, 0x3a, 0x7d, 0x79, 0x3b, 0xbe, 0x33, 0xc1, 0x7e, 0x3b, 0xcf,
+ 0x6f, 0x00, 0x4f, 0x67, 0xeb, 0xcd, 0x8b, 0xbf, 0x4f, 0xdc, 0xda, 0xec, 0x87, 0x06, 0xf7, 0x0f,
+ 0x88, 0x1b, 0x35, 0xc1, 0x20, 0xfe, 0x21, 0x0d, 0xc8, 0x66, 0x52, 0x49, 0x68, 0xf0, 0x3f, 0x20,
+ 0xe6, 0x68, 0x32, 0x35, 0xee, 0x87, 0xf9, 0xbb, 0x3f, 0xa6, 0x6c, 0x6b, 0xba, 0x20, 0x87, 0x2f,
+ 0x42, 0xd9, 0xf5, 0xbd, 0x9e, 0xd2, 0x3f, 0x0b, 0xb8, 0x04, 0x95, 0xb0, 0xef, 0x07, 0x8a, 0x40,
+ 0xba, 0xd4, 0xe5, 0xd1, 0xf5, 0x5e, 0x5d, 0x6d, 0xad, 0x83, 0x14, 0x9d, 0xbd, 0x52, 0xa2, 0xc7,
+ 0xaa, 0x71, 0x0d, 0x64, 0x3e, 0xae, 0xd3, 0xa4, 0x6b, 0xc6, 0xd1, 0x35, 0x4e, 0x56, 0x44, 0xd2,
+ 0x51, 0xe0, 0xea, 0x7a, 0x4d, 0x89, 0x0e, 0xaa, 0xfe, 0xfd, 0xaf, 0x61, 0x1f, 0xfd, 0xe0, 0x8a,
+ 0xc6, 0xfa, 0x9f, 0x39, 0xfa, 0x82, 0xa0, 0x29, 0x7f, 0xb2, 0xb1, 0x1d, 0xf1, 0x09, 0x3f, 0x93,
+ 0x77, 0x7f, 0x2b, 0x03, 0x8b, 0xd1, 0xe5, 0x5a, 0xa7, 0xe7, 0x78, 0xba, 0xe2, 0x33, 0xfa, 0xb1,
+ 0xc5, 0xae, 0xeb, 0x0c, 0xa3, 0x1f, 0x2f, 0x5b, 0x81, 0xaa, 0x1d, 0x88, 0xde, 0xba, 0x67, 0x6f,
+ 0x05, 0xfe, 0x50, 0x37, 0x5b, 0x9f, 0xc7, 0xe8, 0x4a, 0xd3, 0x67, 0xf2, 0x08, 0xc9, 0x87, 0x32,
+ 0x60, 0x79, 0x2a, 0xad, 0xea, 0x8b, 0xc0, 0xf1, 0x7a, 0xcd, 0x33, 0x25, 0xbd, 0x50, 0x57, 0x9c,
+ 0x56, 0xa1, 0x34, 0x0a, 0x65, 0x57, 0x84, 0x92, 0x15, 0x11, 0x38, 0x1a, 0x39, 0xae, 0x72, 0x3c,
+ 0xfd, 0x9b, 0x61, 0x71, 0x49, 0x69, 0xf9, 0xee, 0xef, 0x65, 0xa0, 0x4a, 0xda, 0x90, 0x24, 0x1a,
+ 0x13, 0x4f, 0xa3, 0x0a, 0xa5, 0xdd, 0xf8, 0x37, 0xa3, 0x8a, 0x90, 0x3d, 0x38, 0xd1, 0x89, 0x46,
+ 0xa3, 0x0d, 0xfa, 0x6a, 0x9c, 0xfe, 0xf9, 0xa8, 0x3c, 0xff, 0x12, 0x5c, 0xb3, 0xe4, 0xc0, 0x57,
+ 0xf2, 0x89, 0x70, 0x54, 0xfa, 0xb6, 0x45, 0x01, 0x83, 0x12, 0xfd, 0x2a, 0xba, 0x5e, 0x51, 0xa4,
+ 0xa0, 0x04, 0x3f, 0x1b, 0x61, 0x4a, 0xd8, 0x69, 0xc2, 0x98, 0x28, 0xa5, 0x1c, 0x93, 0x7c, 0xec,
+ 0x3b, 0x1e, 0x7e, 0x8d, 0x2e, 0x64, 0x12, 0x86, 0x32, 0xd6, 0x88, 0x82, 0xbb, 0xfb, 0x70, 0x7d,
+ 0x76, 0x9e, 0x55, 0x5f, 0xd5, 0xa4, 0x1f, 0x2a, 0xa5, 0xfa, 0xfb, 0x27, 0x81, 0xa3, 0x6f, 0xdc,
+ 0x55, 0xa0, 0x70, 0xf0, 0xcc, 0x23, 0x6d, 0x58, 0x85, 0xa5, 0x7d, 0x3f, 0xc5, 0xc3, 0x72, 0x77,
+ 0xbb, 0x63, 0xa9, 0xf1, 0x64, 0x50, 0xa2, 0x46, 0x2c, 0xa4, 0xee, 0x96, 0x64, 0x74, 0xd2, 0x95,
+ 0x7e, 0x6b, 0x5e, 0x5f, 0x63, 0x37, 0x29, 0x69, 0x5b, 0x5f, 0x63, 0x8f, 0x9b, 0x99, 0xd7, 0x3f,
+ 0x22, 0xe3, 0x75, 0xa5, 0x2b, 0x6d, 0x56, 0xb8, 0xfb, 0x1e, 0xac, 0x98, 0xae, 0x76, 0x65, 0x18,
+ 0x46, 0x77, 0x33, 0x0e, 0x03, 0xe7, 0x54, 0x5f, 0x95, 0x5f, 0x84, 0xf2, 0xa1, 0x0c, 0x42, 0xdf,
+ 0xa3, 0x9f, 0x09, 0x00, 0x28, 0xb6, 0xfb, 0x22, 0xc0, 0x6f, 0xdc, 0xfd, 0x3a, 0x54, 0xe8, 0xae,
+ 0xc6, 0x43, 0xc7, 0xb3, 0xb1, 0x27, 0x1b, 0xa6, 0x3c, 0xb9, 0x02, 0x85, 0x4d, 0xff, 0x94, 0xfa,
+ 0x57, 0xd6, 0x3f, 0x97, 0xc8, 0xb2, 0x77, 0x3f, 0x02, 0xae, 0x53, 0x3c, 0xb6, 0x3c, 0x73, 0xbc,
+ 0x5e, 0x7c, 0x7f, 0x18, 0xe8, 0xc7, 0x00, 0x6c, 0x79, 0x46, 0x11, 0x54, 0x15, 0x4a, 0x11, 0x10,
+ 0xfd, 0x24, 0xc1, 0xb6, 0x3f, 0xf2, 0xf0, 0x6b, 0x8f, 0xe1, 0xaa, 0xd6, 0x0d, 0xfc, 0x3c, 0xdd,
+ 0x20, 0xbb, 0x30, 0xee, 0xd4, 0x17, 0x6a, 0xd4, 0x28, 0x8c, 0x69, 0x59, 0x86, 0x5f, 0x07, 0x1e,
+ 0xc7, 0x6c, 0x09, 0x3e, 0x7b, 0xb7, 0x01, 0x57, 0x66, 0x04, 0xce, 0x64, 0x84, 0x75, 0xf8, 0xc0,
+ 0x16, 0xee, 0x7e, 0x08, 0xab, 0xda, 0x6c, 0xec, 0xeb, 0x3b, 0x3e, 0xd1, 0x0e, 0xf8, 0xa4, 0xb5,
+ 0xdd, 0xd2, 0x43, 0xb4, 0xd9, 0xdc, 0xdd, 0x7d, 0xb4, 0xbb, 0x6e, 0xb1, 0x0c, 0x4d, 0xe4, 0x41,
+ 0xe7, 0xe9, 0xe6, 0xc1, 0xfe, 0x7e, 0x73, 0xb3, 0xd3, 0xdc, 0x62, 0xd9, 0x8d, 0xbb, 0x7f, 0xf0,
+ 0xb3, 0x5b, 0x99, 0x9f, 0xfe, 0xec, 0x56, 0xe6, 0x7f, 0xfc, 0xec, 0x56, 0xe6, 0xfb, 0x3f, 0xbf,
+ 0xb5, 0xf0, 0xd3, 0x9f, 0xdf, 0x5a, 0xf8, 0xaf, 0x3f, 0xbf, 0xb5, 0xf0, 0x29, 0x9b, 0xfc, 0x3f,
+ 0x0f, 0x47, 0x45, 0xf2, 0x58, 0xdf, 0xfc, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x19, 0xcf, 0x22,
+ 0x07, 0x02, 0x62, 0x00, 0x00,
}
func (m *SmartBlockSnapshotBase) Marshal() (dAtA []byte, err error) {
@@ -12792,6 +12801,13 @@ func (m *AccountInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i--
dAtA[i] = 0xaa
}
+ if len(m.WorkspaceObjectId) > 0 {
+ i -= len(m.WorkspaceObjectId)
+ copy(dAtA[i:], m.WorkspaceObjectId)
+ i = encodeVarintModels(dAtA, i, uint64(len(m.WorkspaceObjectId)))
+ i--
+ dAtA[i] = 0x7a
+ }
if len(m.TechSpaceId) > 0 {
i -= len(m.TechSpaceId)
copy(dAtA[i:], m.TechSpaceId)
@@ -17242,6 +17258,10 @@ func (m *AccountInfo) Size() (n int) {
if l > 0 {
n += 1 + l + sovModels(uint64(l))
}
+ l = len(m.WorkspaceObjectId)
+ if l > 0 {
+ n += 1 + l + sovModels(uint64(l))
+ }
l = len(m.GatewayUrl)
if l > 0 {
n += 2 + l + sovModels(uint64(l))
@@ -26157,6 +26177,38 @@ func (m *AccountInfo) Unmarshal(dAtA []byte) error {
}
m.TechSpaceId = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 15:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field WorkspaceObjectId", 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.WorkspaceObjectId = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
case 101:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field GatewayUrl", wireType)
diff --git a/pkg/lib/pb/model/protos/models.proto b/pkg/lib/pb/model/protos/models.proto
index 899a580b5..e69d07598 100644
--- a/pkg/lib/pb/model/protos/models.proto
+++ b/pkg/lib/pb/model/protos/models.proto
@@ -639,6 +639,7 @@ message Account {
string archiveObjectId = 3; // archive block id
string profileObjectId = 4; // profile block id
string marketplaceWorkspaceId = 11; // marketplace workspace id
+ string workspaceObjectId = 15; // workspace object id. used for space-level chat
string deviceId = 8;
string accountSpaceId = 9;
@@ -762,7 +763,7 @@ message ObjectType {
participant = 19;
pdf = 20;
- chat = 21;
+ chat = 21; // deprecated
chatDerived = 22;
tag = 23;
}
diff --git a/space/clientspace/mock_clientspace/mock_Space.go b/space/clientspace/mock_clientspace/mock_Space.go
index 02fd49bba..a4bff49ae 100644
--- a/space/clientspace/mock_clientspace/mock_Space.go
+++ b/space/clientspace/mock_clientspace/mock_Space.go
@@ -273,7 +273,7 @@ func (_c *MockSpace_CreateTreeObject_Call) RunAndReturn(run func(context.Context
}
// CreateTreeObjectWithPayload provides a mock function with given fields: ctx, payload, initFunc
-func (_m *MockSpace) CreateTreeObjectWithPayload(ctx context.Context, payload treestorage.TreeStorageCreatePayload, initFunc func(string) *smartblock.InitContext) (smartblock.SmartBlock, error) {
+func (_m *MockSpace) CreateTreeObjectWithPayload(ctx context.Context, payload treestorage.TreeStorageCreatePayload, initFunc objectcache.InitFunc) (smartblock.SmartBlock, error) {
ret := _m.Called(ctx, payload, initFunc)
if len(ret) == 0 {
@@ -282,10 +282,10 @@ func (_m *MockSpace) CreateTreeObjectWithPayload(ctx context.Context, payload tr
var r0 smartblock.SmartBlock
var r1 error
- if rf, ok := ret.Get(0).(func(context.Context, treestorage.TreeStorageCreatePayload, func(string) *smartblock.InitContext) (smartblock.SmartBlock, error)); ok {
+ if rf, ok := ret.Get(0).(func(context.Context, treestorage.TreeStorageCreatePayload, objectcache.InitFunc) (smartblock.SmartBlock, error)); ok {
return rf(ctx, payload, initFunc)
}
- if rf, ok := ret.Get(0).(func(context.Context, treestorage.TreeStorageCreatePayload, func(string) *smartblock.InitContext) smartblock.SmartBlock); ok {
+ if rf, ok := ret.Get(0).(func(context.Context, treestorage.TreeStorageCreatePayload, objectcache.InitFunc) smartblock.SmartBlock); ok {
r0 = rf(ctx, payload, initFunc)
} else {
if ret.Get(0) != nil {
@@ -293,7 +293,7 @@ func (_m *MockSpace) CreateTreeObjectWithPayload(ctx context.Context, payload tr
}
}
- if rf, ok := ret.Get(1).(func(context.Context, treestorage.TreeStorageCreatePayload, func(string) *smartblock.InitContext) error); ok {
+ if rf, ok := ret.Get(1).(func(context.Context, treestorage.TreeStorageCreatePayload, objectcache.InitFunc) error); ok {
r1 = rf(ctx, payload, initFunc)
} else {
r1 = ret.Error(1)
@@ -310,14 +310,14 @@ type MockSpace_CreateTreeObjectWithPayload_Call struct {
// CreateTreeObjectWithPayload is a helper method to define mock.On call
// - ctx context.Context
// - payload treestorage.TreeStorageCreatePayload
-// - initFunc func(string) *smartblock.InitContext
+// - initFunc objectcache.InitFunc
func (_e *MockSpace_Expecter) CreateTreeObjectWithPayload(ctx interface{}, payload interface{}, initFunc interface{}) *MockSpace_CreateTreeObjectWithPayload_Call {
return &MockSpace_CreateTreeObjectWithPayload_Call{Call: _e.mock.On("CreateTreeObjectWithPayload", ctx, payload, initFunc)}
}
-func (_c *MockSpace_CreateTreeObjectWithPayload_Call) Run(run func(ctx context.Context, payload treestorage.TreeStorageCreatePayload, initFunc func(string) *smartblock.InitContext)) *MockSpace_CreateTreeObjectWithPayload_Call {
+func (_c *MockSpace_CreateTreeObjectWithPayload_Call) Run(run func(ctx context.Context, payload treestorage.TreeStorageCreatePayload, initFunc objectcache.InitFunc)) *MockSpace_CreateTreeObjectWithPayload_Call {
_c.Call.Run(func(args mock.Arguments) {
- run(args[0].(context.Context), args[1].(treestorage.TreeStorageCreatePayload), args[2].(func(string) *smartblock.InitContext))
+ run(args[0].(context.Context), args[1].(treestorage.TreeStorageCreatePayload), args[2].(objectcache.InitFunc))
})
return _c
}
@@ -327,7 +327,7 @@ func (_c *MockSpace_CreateTreeObjectWithPayload_Call) Return(sb smartblock.Smart
return _c
}
-func (_c *MockSpace_CreateTreeObjectWithPayload_Call) RunAndReturn(run func(context.Context, treestorage.TreeStorageCreatePayload, func(string) *smartblock.InitContext) (smartblock.SmartBlock, error)) *MockSpace_CreateTreeObjectWithPayload_Call {
+func (_c *MockSpace_CreateTreeObjectWithPayload_Call) RunAndReturn(run func(context.Context, treestorage.TreeStorageCreatePayload, objectcache.InitFunc) (smartblock.SmartBlock, error)) *MockSpace_CreateTreeObjectWithPayload_Call {
_c.Call.Return(run)
return _c
}
diff --git a/space/internal/spacecontroller/mock_spacecontroller/mock_SpaceController.go b/space/internal/spacecontroller/mock_spacecontroller/mock_SpaceController.go
index 583d58553..b3bc7b8a6 100644
--- a/space/internal/spacecontroller/mock_spacecontroller/mock_SpaceController.go
+++ b/space/internal/spacecontroller/mock_spacecontroller/mock_SpaceController.go
@@ -71,19 +71,19 @@ func (_c *MockSpaceController_Close_Call) RunAndReturn(run func(context.Context)
}
// Current provides a mock function with given fields:
-func (_m *MockSpaceController) Current() interface{} {
+func (_m *MockSpaceController) Current() any {
ret := _m.Called()
if len(ret) == 0 {
panic("no return value specified for Current")
}
- var r0 interface{}
- if rf, ok := ret.Get(0).(func() interface{}); ok {
+ var r0 any
+ if rf, ok := ret.Get(0).(func() any); ok {
r0 = rf()
} else {
if ret.Get(0) != nil {
- r0 = ret.Get(0).(interface{})
+ r0 = ret.Get(0).(any)
}
}
@@ -107,12 +107,12 @@ func (_c *MockSpaceController_Current_Call) Run(run func()) *MockSpaceController
return _c
}
-func (_c *MockSpaceController_Current_Call) Return(_a0 interface{}) *MockSpaceController_Current_Call {
+func (_c *MockSpaceController_Current_Call) Return(_a0 any) *MockSpaceController_Current_Call {
_c.Call.Return(_a0)
return _c
}
-func (_c *MockSpaceController_Current_Call) RunAndReturn(run func() interface{}) *MockSpaceController_Current_Call {
+func (_c *MockSpaceController_Current_Call) RunAndReturn(run func() any) *MockSpaceController_Current_Call {
_c.Call.Return(run)
return _c
}
diff --git a/tantivity_sha256.txt b/tantivity_sha256.txt
index dc2759fc2..38466aa62 100644
--- a/tantivity_sha256.txt
+++ b/tantivity_sha256.txt
@@ -1,11 +1,11 @@
-a05bdf7ce60a330211418df7bfdabd865aedd892d46d9f143de1e00f79935d55 deps/libs/android-386.tar.gz
-f196e7f219cbb4d1b1a040de89bf6d9a7bb9c1ad2754386f680c2df368e2907a deps/libs/android-amd64.tar.gz
-19e522f5562399ea5e182e30b06ad6df6d131cdf1b4d9289b5e5e9c9856ba0f4 deps/libs/android-arm.tar.gz
-99ad41537a4c3c539c161c3cb2348c4c4890cff67515a06879f2b5ebdead0a84 deps/libs/android-arm64.tar.gz
-72c95ba004dfc3af2682f789b3065af42c7fbc2a0a58296477249682fa071838 deps/libs/darwin-amd64.tar.gz
-c1ae66952d6849a3061126993824eb8d1dae8af695f2cff6a62bb417ba1e5c22 deps/libs/darwin-arm64.tar.gz
-a8601bcf050a4133f694942b4dc5dcd19a54b5559708450a0173e2e7ee72f9e2 deps/libs/ios-amd64.tar.gz
-7342b454aacc13ca4b0245be94e1572d22dc2bd5987890d1ae0da9be4e13ee21 deps/libs/ios-arm64.tar.gz
-3e54c74d47dd8486155dc10eb22f414224aefd104c10572456e213cfa7613851 deps/libs/ios-arm64-sim.tar.gz
-f3216e5ef28c474d3200df560d2188a7456a10da39616bcbf09d3d14ab713932 deps/libs/linux-amd64-musl.tar.gz
-66309ec91b9f03d2c1f9becff01cc40e6a81b3b082b975f90fd8341e3ad78949 deps/libs/windows-amd64.tar.gz
+51756cec01c0d1867464d6fedf19df2e5e1859f7fc1784f35b4750dcf53ebb54 deps/libs/android-386.tar.gz
+bce360c33af6559cf978539a546ce07cdf32b212b73ce93d655b8ba78ad923a6 deps/libs/android-amd64.tar.gz
+7881478a39ff6b85e37ad4339aed3756a82d8cbf11bf56efe9c9530c6b4ed602 deps/libs/android-arm.tar.gz
+0b129c76883a33700195ce971ad073b7855dc69e90418769b80259ec3125e2e0 deps/libs/android-arm64.tar.gz
+71331b6b034a2f81ad4feed195d18cd0c039719cab4f015cfa5bb6eac298b7a7 deps/libs/darwin-amd64.tar.gz
+96ab3f803b781bd6489e1d7172dfa2e13d251280db22d686b545baf5a99c7da3 deps/libs/darwin-arm64.tar.gz
+3ce3f3933202dee68e106215772a102a5742b7915a6773d7a8aecddc66d2be10 deps/libs/ios-amd64.tar.gz
+1ab4b2fdb6bf229bd63ce74bae7a25c4bd8ae895db192a096058035c7057b6ad deps/libs/ios-arm64.tar.gz
+b38b025ef58c44240265f01b75a469b5003c63cbae78b9337ce6b9c48aa2e5ef deps/libs/ios-arm64-sim.tar.gz
+2b8c84cb0e2a7309b7d130bc64217a3abcd086428403cc5343dad2534bbd7e7d deps/libs/linux-amd64-musl.tar.gz
+99b8d647de1783f5362e603a1e5187895c49ae453895b17e132876c6eb4c66f1 deps/libs/windows-amd64.tar.gz
diff --git a/util/pbtypes/pbtypes.go b/util/pbtypes/pbtypes.go
index 6397b9d5b..b035c91d7 100644
--- a/util/pbtypes/pbtypes.go
+++ b/util/pbtypes/pbtypes.go
@@ -65,7 +65,7 @@ func IntList(ints ...int) *types.Value {
}
}
-func FloatList(floats []float64) *types.Value {
+func Float64List(floats []float64) *types.Value {
var vals = make([]*types.Value, 0, len(floats))
for _, f := range floats {
vals = append(vals, Float64(f))